.mock-app{max-width:1050px;margin:auto}.mock-app button,.mock-app a,.mock-app input,.mock-app select{touch-action:manipulation}.mock-app button{min-height:44px;padding:10px 16px;margin:4px;border:1px solid #79563d;background:#fffaf0;color:#27251f;border-radius:3px;font:inherit;cursor:pointer}.mock-app button.primary{background:#6b3038;color:#fffaf0}.mock-app button:disabled{opacity:.6;cursor:default}.mock-app :focus-visible{outline:3px solid #79563d;outline-offset:3px}.mock-status{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;background:#f4efe4;border-bottom:1px solid #79563d}.mock-clock{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:bold}.mock-nav{display:flex;flex-wrap:wrap;gap:4px;margin:18px 0}.mock-nav [aria-current=true]{border:2px solid #6b3038;background:#e9dfce}.mock-table{overflow:auto;max-width:100%;margin:20px 0;border:1px solid #c9bca8}.mock-table table{min-width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.mock-table th,.mock-table td{padding:10px;border:1px solid #c9bca8;white-space:pre-line;min-width:80px}.mock-table caption{text-align:left;padding:12px;font-weight:bold}.mock-table th{background:#e9dfce}.mock-question{white-space:pre-line;line-height:1.9}.mock-input{display:grid;grid-template-columns:minmax(160px,1fr) minmax(100px,250px);gap:12px;align-items:center;margin:18px 0}.mock-app input,.mock-app select{box-sizing:border-box;min-width:0;width:100%;padding:12px;background:#fffaf0;color:#27251f;border:1px solid #9f8b72;border-radius:3px;font:inherit}.mock-row{display:grid;grid-template-columns:110px minmax(130px,1fr) minmax(100px,1fr);gap:12px;border:1px solid #c9bca8;padding:12px;margin:12px 0;min-width:0}.mock-row label{display:flex;flex-direction:column;gap:6px;min-width:0}.mock-row legend{font-size:.85em}.mock-error{border-left:4px solid #6b3038;padding:12px;color:#6b3038;font-weight:bold}.mock-answer{padding:16px;border:1px solid #c9bca8;margin:20px 0}.mock-app [hidden]{display:none!important}.mock-app details{margin:18px 0;padding:16px;border-top:1px solid #c9bca8}.mock-app summary{cursor:pointer;padding:10px 0}.mock-app pre{white-space:pre-wrap;overflow-wrap:anywhere}.mock-app h2:focus{outline:2px solid #79563d;outline-offset:5px}.mock-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:24px 0}.mock-app p,.mock-app li{line-height:1.8;overflow-wrap:anywhere}.mock-app .scope-note{font-size:.9rem}.mock-app .mock-flag{display:inline-flex;align-items:center;gap:8px}.mock-flag input{width:auto;min-height:24px;min-width:24px}@media(max-width:700px){.mock-row,.mock-input{grid-template-columns:1fr}.mock-status{font-size:.9rem}.mock-app button{margin:2px;padding:9px 12px}.mock-table th,.mock-table td{padding:8px}.mock-app h2{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){.mock-app *{scroll-behavior:auto!important}}

/* Phrase boundaries preserve Japanese words without shrinking body text. */
h1.mock-page-title{font-size:clamp(24px,3.2vw,36px);line-height:1.65}h1.mock-page-title span{display:inline-block;white-space:nowrap}
