[hidden]{display:none!important}.wrap{max-width:1200px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.test-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px}.test-main{min-width:0}#pages{align-self:start;position:sticky;top:90px;display:grid;gap:5px}#pages button{text-align:left;padding:10px;border:0;border-left:3px solid transparent;border-radius:0;background:transparent;font-size:15px}#pages button[aria-current=page]{background:#e8f2ee;border-color:var(--jade);font-weight:700}
.mode{display:flex;margin:0;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}.mode label{display:flex;align-items:center;gap:5px;padding:8px}.mode label:has(:checked){background:#e8f2ee}.speed{white-space:nowrap}.progress-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:20px;color:var(--soft)}
.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.question-item{min-width:0;border-bottom:1px solid var(--line);padding:10px 0 18px}.prompt{display:block;font:22px/1.8 var(--cjk);margin:0 0 10px}.question-number{font:600 14px system-ui;color:var(--gold);margin-right:8px}.answer-input{width:100%;min-height:46px;padding:8px 10px;border:1px solid #b8b5a9;border-radius:6px;background:var(--paper);color:var(--ink);font:22px/1.5 var(--cjk)}.review-answer{min-height:90px;resize:vertical}.feedback{line-height:1.65}.answer-input[aria-invalid=true]{border-color:var(--red)}.answer-input.correct{border-color:var(--jade)}
.word-bank{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.bank-word{font-size:21px;background:transparent;border-bottom:1px dotted var(--gold);padding:2px 6px}.passage{font:22px/2.7 var(--cjk)}.passage p{margin:16px 0}.passage select{font:20px var(--cjk);max-width:100%;min-width:85px;height:42px;border:1px solid var(--gold);background:var(--paper);margin:3px;padding:3px;border-radius:4px}.passage .tapword{line-height:2.3}
.order-question{margin:16px 0 30px}.tokens,.built-sentence{display:flex;flex-wrap:wrap;gap:8px}.tokens button,.built-sentence button{font:21px/1.5 var(--cjk);padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.tokens button:disabled{opacity:.4}.built-sentence{min-height:64px;margin:12px 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:2px solid var(--gold)}.built-sentence button{background:#e8f2ee}.order-actions{display:flex;gap:8px}.page-actions,.submit-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:24px 0}.page-actions button:disabled{opacity:.4;cursor:default}.submit-row{justify-content:flex-start;padding-top:20px;border-top:1px solid var(--line)}
.calendar-wrap{overflow:auto}.calendar{width:100%;table-layout:fixed;border-collapse:collapse;min-width:440px}.calendar td{vertical-align:top;border:1px solid var(--line);height:100px;padding:6px;font:16px/1.6 var(--cjk)}.calendar strong{display:block;font:600 15px system-ui;margin-bottom:8px}.calendar .tapword{font-size:16px}.listen-option{display:flex;align-items:flex-start;gap:10px;margin:10px 0;font:21px var(--cjk)}.listen-option input{flex-shrink:0;margin-top:4px}.picture-reference{max-width:460px;margin:12px 0}.picture-reference img{width:100%;height:auto}.reference{font-size:15px;color:var(--soft)}#photo{display:block;width:100%;max-width:720px;height:auto;margin:16px auto}#photo.sideways{image-orientation:from-image}.hint-button{font-size:14px;border:0;border-bottom:1px dotted var(--gold);background:transparent;padding:6px;color:var(--soft)}#result-pages{display:flex;flex-wrap:wrap;gap:8px}#result-pages button{padding:8px;border:1px solid var(--line);background:var(--paper);border-radius:6px}
body:not(.show-pinyin) rt{display:none}#page h2:focus{outline:none}.group-note{font-size:15px;color:var(--soft)}
@media(max-width:760px){.test-layout{grid-template-columns:1fr;gap:16px}#pages{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.question-grid{grid-template-columns:1fr}.toolbar{position:static}.speed{flex:0 0 auto}.wrap{padding:16px}.page-actions{justify-content:flex-start}h1{font-size:27px}}
@media print{.test-layout{display:block}#pages,.toolbar,.page-actions,.submit-row,#original,.hint-button,.order-actions,#results,.progress-line,.wordbar,footer{display:none!important}.question-grid{grid-template-columns:1fr 1fr}.question-item,.order-question{break-inside:avoid}.review-answer{display:block!important}.answer-input{background:white}.calendar td{height:80px}}
