:root{font-family:Segoe UI,Microsoft YaHei,Arial,sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;--ink: #172033;--muted: #68748a;--line: #e2e7ef;--accent: #4359d8;--accent-dark: #3348c4;--green: #16794c;--red: #b63a3a;--abort-hover-bg: rgba(182, 58, 58, .08)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 15% 0%,rgba(67,89,216,.08),transparent 25rem),#f5f7fb}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{width:min(100% - 2rem,920px);min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 0 .35rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);font-size:1.2rem;font-weight:700;text-decoration:none}.brand-mark{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.75rem;background:var(--accent);color:#fff;font-family:Noto Sans SC,sans-serif}.header-actions{display:flex;align-items:center;gap:1rem}.username,.muted,.app-subtitle,.app-footer{color:var(--muted)}.username{font-size:.9rem}.text-button{border:0;background:transparent;color:var(--accent);font-weight:600}.text-button:hover{color:var(--accent-dark);text-decoration:underline}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.abort-button{min-height:2.9rem;padding:.75rem 1.1rem;border:1px solid var(--red);border-radius:.7rem;background:transparent;color:var(--red);font-weight:700}.abort-button:hover:not(:disabled){background:var(--abort-hover-bg)}.app-subtitle{margin:.25rem 0 1.5rem}.card{width:min(100%,720px);margin:1rem auto 2rem;padding:clamp(1.25rem,4vw,2.5rem);border:1px solid rgba(226,231,239,.9);border-radius:1.25rem;background:#fffffff5;box-shadow:0 1.5rem 4rem #202d5014}.login-card{max-width:470px}.eyebrow{margin-bottom:.35rem;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:1rem;font-size:clamp(1.55rem,4vw,2.1rem);letter-spacing:-.035em}.stack{display:grid;gap:1rem}.stack>label,.display-toggle{display:grid;gap:.45rem;color:#354158;font-size:.9rem;font-weight:600}input:not([type=checkbox]):not([type=radio]),select{width:100%;min-height:2.8rem;padding:.65rem .8rem;border:1px solid #d5dce8;border-radius:.65rem;background:#fff;color:var(--ink)}input:focus,select:focus,button:focus-visible{outline:3px solid rgba(67,89,216,.23);outline-offset:2px}fieldset{min-width:0;margin:0;padding:0;border:0}legend,.prompt-label{margin-bottom:.55rem;color:#46536b;font-size:.82rem;font-weight:700}.check-row{display:flex;align-items:center;gap:.6rem;margin:.5rem 0;color:#45516a;font-size:.92rem}.check-row input{width:1rem;height:1rem;accent-color:var(--accent)}.tag-list{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:.35rem 0 0 1.45rem}.tag-choice{padding:.35rem .1rem}.primary-button{min-height:2.9rem;padding:.75rem 1.1rem;border:0;border-radius:.7rem;background:var(--accent);color:#fff;font-weight:700;transition:background .12s ease,transform .12s ease}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--accent-dark)}.auto-continue{position:relative;overflow:hidden}.auto-continue:after{position:absolute;inset:auto 0 0;height:.25rem;background:#ffffffbf;content:"";pointer-events:none;transform:scaleX(0);transform-origin:left center;animation:auto-continue-progress 2s linear forwards}@keyframes auto-continue-progress{to{transform:scaleX(1)}}.notice,.global-error{margin:.75rem 0;padding:.75rem .9rem;border:1px solid #dfe5f8;border-radius:.65rem;background:#f4f6ff;color:#3a4b8e;font-size:.9rem}.notice.error,.global-error{border-color:#f0d1d1;background:#fff5f5;color:#9c2e2e}.global-error{width:min(100%,720px);margin:0 auto .5rem}.question-card{max-width:780px}.question-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.question-count{margin-bottom:0;color:var(--muted);font-size:.9rem}.display-toggle{width:min(12rem,42%);font-size:.77rem}.display-toggle select{min-height:2.5rem;font-size:.88rem}.question-id{margin:1rem 0 1.4rem;color:#7a8496;font-size:.76rem}.question-id code{color:#58647c;font-size:inherit}.passage-panel,.prompt-panel{margin:1rem 0;padding:1.1rem 1.2rem;border-radius:.85rem;background:#f7f8fc}.passage-panel{border:1px solid #e8ebf3}.passage-lines p{margin:.3rem 0;font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif;font-size:1.15rem;line-height:1.7;overflow-wrap:anywhere}.passage-lines.pinyin p,.pinyin{color:#667187;font-family:Segoe UI,Arial,sans-serif;font-size:.96em;font-weight:400}.passage-lines.pinyin{margin-top:.6rem;padding-top:.55rem;border-top:1px solid #e4e8f0}.speaker{color:var(--accent);font-family:Segoe UI,Arial,sans-serif;font-size:.78rem;font-weight:700}.large-chinese{font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif;font-size:clamp(1.55rem,5vw,2.2rem);line-height:1.65;overflow-wrap:anywhere}.large-chinese .pinyin{font-size:.54em}.english-prompt{margin-bottom:0;font-size:1.3rem;font-weight:600}.question-heading{margin:1.2rem 0;font-size:clamp(1.2rem,3.5vw,1.65rem);line-height:1.45}.question-instruction{margin:1rem 0;font-size:1.03rem;line-height:1.6}.options-list{display:grid;gap:.65rem;margin:1.5rem 0}.answer-option{display:flex;align-items:center;gap:.75rem;min-height:3.45rem;padding:.75rem .9rem;border:1px solid #dce2ec;border-radius:.75rem;background:#fff;cursor:pointer;transition:border-color .12s ease,background .12s ease}.answer-option:hover{border-color:#aab5e9;background:#fafbff}.answer-option input{width:1rem;height:1rem;flex:0 0 auto;accent-color:var(--accent)}.option-letter{display:grid;width:1.7rem;height:1.7rem;flex:0 0 auto;place-items:center;border-radius:50%;background:#f0f2f7;color:#56627a;font-size:.8rem;font-weight:700}.answer-option .option-chinese,.answer-option>span:not(.option-letter){font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif;font-size:1.1rem;line-height:1.5;overflow-wrap:anywhere}.answer-option .option-chinese .pinyin{font-size:.7em}.answer-option.selected{border-color:var(--accent);background:#f4f5ff}.answer-option.correct-option{border-color:#65b88e;background:#f0fbf5}.answer-option.wrong-option{border-color:#df8d8d;background:#fff4f4}.feedback{margin:1rem 0;padding:1rem 1.1rem;border:1px solid;border-radius:.8rem;line-height:1.55}.feedback h2{margin-bottom:.35rem;font-size:1.15rem}.feedback p:last-child{margin-bottom:0}.feedback-correct{border-color:#c3e8d2;background:#f0fbf5;color:#165f3d}.feedback-wrong{border-color:#f0d1d1;background:#fff6f6;color:#833333}.feedback .pinyin{color:inherit}.summary-card{max-width:560px;text-align:center}.score-line{margin:1.8rem 0 .3rem;font-size:1.45rem;font-weight:700}.score-percent{margin-bottom:1.8rem;color:var(--accent);font-size:2.2rem;font-weight:700}.app-footer{margin:auto 0 1.25rem;padding-top:1rem;text-align:center;font-size:.8rem}.loading-screen{display:grid;min-height:100vh;place-items:center;color:var(--muted)}@media(max-width:600px){.app-shell{width:min(100% - 1rem,920px)}.app-header{padding-top:1rem}.app-subtitle{margin-bottom:.8rem;font-size:.9rem}.card{margin:.6rem auto 1.3rem;padding:1.2rem 1rem;border-radius:1rem}.question-topline{flex-direction:column}.display-toggle{width:100%;max-width:16rem}.passage-panel,.prompt-panel{padding:.85rem}.answer-option{gap:.5rem;padding:.7rem}.username{max-width:7rem;overflow:hidden;text-overflow:ellipsis}}:root[data-theme=dark]{color-scheme:dark;color:#e4eaf5;background:#101722;--ink: #e4eaf5;--muted: #a4b0c1;--line: #354258;--accent: #a4b0ff;--accent-dark: #c4cbff;--red: #ff9da5;--abort-hover-bg: rgba(255, 157, 165, .08);--page-glow: rgba(142, 159, 255, .1);--page-bg: #101722;--surface: #1b2636;--surface-soft: #202c3d;--surface-hover: #27364b;--field-border: #45536b;--label: #d4ddeb;--label-secondary: #c2cde0;--check-label: #c3cee0;--question-id: #9aa8be;--code-color: #c3cee0;--pinyin-color: #b3bfd2;--separator: #39485e;--option-border: #46546b;--option-hover-border: #7887d2;--letter-bg: #303d51;--letter-ink: #d1dbea;--selected-bg: #2c3557;--option-correct-bg: #20392f;--option-correct-border: #4d9b70;--option-wrong-bg: #39272d;--option-wrong-border: #90545d;--notice-bg: #202e45;--notice-border: #40527c;--notice-ink: #c8d3ff;--error-bg: #3a252b;--error-border: #70434a;--error-ink: #ffc2c6;--feedback-correct-bg: #20392f;--feedback-correct-border: #396c52;--feedback-correct-ink: #b6efce;--feedback-wrong-bg: #3b262b;--feedback-wrong-border: #70434a;--feedback-wrong-ink: #ffc7c8}:root[data-theme=dark] body{background:radial-gradient(circle at 15% 0%,var(--page-glow),transparent 25rem),var(--page-bg)}:root[data-theme=dark] .card{border-color:#2d3b50;background:#192434f7;box-shadow:0 1.5rem 4rem #00000052}:root[data-theme=dark] .stack>label,:root[data-theme=dark] .display-toggle{color:var(--label)}:root[data-theme=dark] input:not([type=checkbox]):not([type=radio]),:root[data-theme=dark] select{border-color:var(--field-border);background:var(--surface);color:var(--ink)}:root[data-theme=dark] legend,:root[data-theme=dark] .prompt-label{color:var(--label-secondary)}:root[data-theme=dark] .check-row{color:var(--check-label)}:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] button:focus-visible{outline-color:#a4b0ff66}:root[data-theme=dark] .notice,:root[data-theme=dark] .global-error{border-color:var(--notice-border);background:var(--notice-bg);color:var(--notice-ink)}:root[data-theme=dark] .notice.error,:root[data-theme=dark] .global-error{border-color:var(--error-border);background:var(--error-bg);color:var(--error-ink)}:root[data-theme=dark] .question-id{color:var(--question-id)}:root[data-theme=dark] .question-id code{color:var(--code-color)}:root[data-theme=dark] .passage-panel,:root[data-theme=dark] .prompt-panel{background:var(--surface-soft)}:root[data-theme=dark] .passage-panel{border-color:var(--line)}:root[data-theme=dark] .passage-lines.pinyin p,:root[data-theme=dark] .pinyin{color:var(--pinyin-color)}:root[data-theme=dark] .passage-lines.pinyin{border-color:var(--separator)}:root[data-theme=dark] .answer-option{border-color:var(--option-border);background:var(--surface)}:root[data-theme=dark] .answer-option:hover{border-color:var(--option-hover-border);background:var(--surface-hover)}:root[data-theme=dark] .option-letter{background:var(--letter-bg);color:var(--letter-ink)}:root[data-theme=dark] .answer-option.selected{background:var(--selected-bg)}:root[data-theme=dark] .answer-option.correct-option{border-color:var(--option-correct-border);background:var(--option-correct-bg)}:root[data-theme=dark] .answer-option.wrong-option{border-color:var(--option-wrong-border);background:var(--option-wrong-bg)}:root[data-theme=dark] .feedback-correct{border-color:var(--feedback-correct-border);background:var(--feedback-correct-bg);color:var(--feedback-correct-ink)}:root[data-theme=dark] .feedback-wrong{border-color:var(--feedback-wrong-border);background:var(--feedback-wrong-bg);color:var(--feedback-wrong-ink)}:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .primary-button{background:#5265ce}:root[data-theme=dark] .primary-button:hover:not(:disabled){background:#6377e4}
