:root{font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;color:#1c2d3d;background:#f3f6f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible{outline:3px solid #f59b45;outline-offset:2px}h1,h2,p{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary,.secondary{min-height:46px;border-radius:8px;padding:10px 18px;font-weight:700}.primary{background:#14639c;color:#fff;border:1px solid #14639c}.primary:not(:disabled):hover{background:#0f527f}.secondary{background:#fff;border:1px solid #a8b8c7;color:#23415c}.secondary:not(:disabled):hover{background:#edf5fb}.brand-link,.text-button,.restart-link{border:0;background:none;color:#205c88;font-weight:700}.brand-link{white-space:nowrap}.error-banner{position:sticky;top:0;z-index:50;background:#fff2ed;border-bottom:1px solid #dd8a68;padding:12px 22px;color:#863b24;display:flex;gap:8px;align-items:center}.error-banner button{margin-left:auto;background:transparent;border:0;font-size:24px}.loading-page,.error-page{max-width:720px;margin:10vh auto;padding:32px}.eyebrow{text-transform:uppercase;font-size:.88rem;font-weight:800;letter-spacing:.08em;color:#2b668e}.home-page{max-width:1120px;margin:0 auto;padding:48px 28px 80px}.home-header h1{font-size:clamp(1.7rem,3vw,2.4rem);margin:10px 0 12px;color:#17324f}.home-header p{font-size:1.1rem;color:#526575}.home-header{margin-bottom:32px}.info-panel,.paper-card,.stats-panel,.score-summary,.question-panel,.review-panel{background:#fff;border:1px solid #dce5ed;border-radius:12px;box-shadow:0 3px 14px #233f5810}.info-panel{padding:28px}.info-panel h2,.paper-list h2{font-size:1.35rem}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.info-grid>div{border-left:3px solid #6f9ebb;padding:4px 12px;display:flex;flex-direction:column;gap:5px}.info-grid strong{font-size:1.45rem;color:#173c5e}.info-grid span,.info-note{color:#5e6d79}.type-summary{margin:26px 0 10px;line-height:1.8;font-weight:650}.info-note{margin:0;line-height:1.7}.paper-list{margin-top:36px}.paper-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.paper-card{padding:23px;display:flex;flex-direction:column;gap:20px;min-width:0}.paper-card>div{display:flex;flex-direction:column;gap:7px}.paper-label{font-size:1.2rem;font-weight:750}.paper-status{color:#607788}.restart-link{text-decoration:underline;padding:4px 0;min-height:38px;text-align:center}.exam-header,.result-header{position:sticky;top:0;z-index:20;min-height:76px;background:#17324f;color:#fff;display:flex;align-items:center;gap:24px;padding:10px max(28px,calc((100vw - 1440px)/2 + 28px));box-shadow:0 2px 12px #17324f26}.exam-header .brand-link,.result-header .brand-link{color:#e3f1ff}.exam-header-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer{margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap;color:#fff}.timer small{font-size:.85rem}.timer strong{font-variant-numeric:tabular-nums;font-size:1.55rem;letter-spacing:.03em}.timer.low{color:#ffcc68}.timer.critical{color:#ff9e87}.submit-button{background:#f8fbff;color:#174d73;border-color:#f8fbff;white-space:nowrap}.submit-button:not(:disabled):hover{background:#deeffa}.sheet-toggle{display:none}.exam-layout,.review-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;padding:24px 28px}.desktop-sheet{min-width:0}.answer-sheet{background:#fff;border:1px solid #dce5ed;border-radius:12px;padding:18px;min-width:0}.exam-layout>.desktop-sheet .answer-sheet,.review-layout>.desktop-sheet .answer-sheet{position:sticky;top:100px;max-height:calc(100vh - 124px);overflow:auto}.sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sheet-heading h2{font-size:1.2rem;margin:0}.sheet-heading span{color:#637688}.sheet-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:18px;color:#4e6173;font-size:.83rem}.sheet-legend span{display:flex;align-items:center;gap:5px}.swatch{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid #aebbc7}.swatch.unanswered{background:#e8edf2}.swatch.answered{background:#cfe7fa;border-color:#2e78b3}.swatch.flagged{background:#fff0da;border-color:#ce8420}.swatch.correct{background:#d9f1e5;border-color:#32855e}.swatch.wrong{background:#ffe0dc;border-color:#bd5547}.sheet-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.sheet-number{height:44px;min-width:0;position:relative;background:#edf1f4;color:#344a5b;border:2px solid transparent;border-radius:7px;font-weight:700}.sheet-number.answered{background:#d4eaff;color:#185480}.sheet-number.correct{background:#daf2e6;color:#156b41}.sheet-number.wrong{background:#ffe2dd;color:#a73c32}.sheet-number.is-flagged{border-color:#d28a21}.sheet-number.is-current{outline:2px solid #183a58;outline-offset:2px}.flag-dot{position:absolute;right:1px;top:-5px;font-size:12px;color:#b76b00}.exam-main,.review-panel{min-width:0}.question-panel,.review-panel{padding:34px clamp(24px,4vw,50px)}.question-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#637486;margin-bottom:22px}.question-meta strong{font-size:1.26rem;color:#1b3e5c}.question-meta span{border-left:1px solid #bdcbd5;padding-left:14px}.question-stem{font-size:1.25rem;font-weight:650;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:26px}.choices{padding:0;border:0;display:grid;gap:12px;margin:0}.choice,.review-choice{display:flex;align-items:flex-start;gap:15px;padding:16px 18px;border:1px solid #d7e1e9;border-radius:9px;line-height:1.65;min-width:0;overflow-wrap:anywhere;background:#fff}.choice{cursor:pointer;min-height:58px}.choice:hover{border-color:#639bc2}.choice.selected{background:#edf7ff;border-color:#2582bc}.choice input{width:20px;height:20px;flex:none;margin:3px 0 0;accent-color:#14639c}.choice-key{font-weight:800;color:#225d85;min-width:23px;flex:none}.choice-text{min-width:0;flex:1}.question-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px}.text-button{min-height:44px;padding:9px}.flag-button{border:1px solid #d79c45;color:#875711;background:#fff8ed;border-radius:7px;padding:10px 17px;min-height:44px;font-weight:700}.flag-button[aria-pressed=true]{background:#ffedd0}.question-navigation{display:flex;justify-content:space-between;gap:16px;margin-top:30px;padding-top:23px;border-top:1px solid #e3e9ee}.question-navigation button{min-width:110px}.dialog-backdrop,.drawer-overlay{position:fixed;inset:0;background:#0b233ca8;z-index:40;display:flex;align-items:center;justify-content:center;padding:18px}.confirm-dialog{background:#fff;border-radius:12px;width:min(100%,490px);padding:28px;box-shadow:0 20px 60px #081a2e50}.confirm-dialog h2{font-size:1.5rem}.dialog-body{line-height:1.75}.dialog-warning{color:#9c421f;font-weight:700}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px;flex-wrap:wrap}.result-header strong{margin-left:auto}.result-content{max-width:1440px;margin:auto;padding:24px 28px 80px}.score-summary{padding:26px 32px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}.score-summary h1{font-size:1.45rem;color:#536879;margin:6px 0 10px}.score-summary h1 strong{font-size:2.8rem;color:#173e5e}.pass-badge{font-weight:800;border-radius:20px;padding:5px 14px}.pass-badge.pass{background:#e0f1e5;color:#207144}.pass-badge.fail{background:#fff0e8;color:#a54b31}.result-facts{display:flex;flex-wrap:wrap;gap:12px 26px;margin-left:auto;color:#40586a;font-weight:600}.timeout-note{flex-basis:100%;margin:0;color:#a74631}.statistics-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.stats-panel{padding:24px 28px;min-width:0}.stats-panel h2{font-size:1.24rem;margin-bottom:16px}.section-list>div,.type-stats>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #e5ecf0;line-height:1.55}.section-list>div:last-child,.type-stats>div:last-child{border-bottom:0}.section-list strong{white-space:nowrap;color:#1d5d88}.overall-stats{font-weight:700;color:#224e70}.type-stats>div{flex-wrap:wrap}.type-stats span{color:#526678}.review-layout{padding:0;grid-template-columns:300px minmax(0,1fr)}.review-panel h2{font-size:1.3rem}.review-choices{display:grid;gap:10px}.review-choice.is-correct{border-color:#5ba37c;background:#f0fbf4}.review-choice.is-chosen:not(.is-correct){border-color:#d98274;background:#fff2f0}.choice-tags{display:flex;gap:5px;flex-wrap:wrap;align-self:center}.choice-tags em{font-style:normal;font-size:.78rem;border-radius:4px;padding:3px 6px;background:#e5eef6;color:#245877;white-space:nowrap}.review-choice.is-correct .choice-tags em:last-child{background:#d4efdf;color:#187346}.review-summary{background:#f5f8fa;border-radius:9px;padding:18px;margin-top:24px;line-height:1.75;overflow-wrap:anywhere}.review-summary p:last-child{margin-bottom:0}.outcome.correct{color:#177047}.outcome.wrong{color:#b44338}.outcome.unanswered{color:#5b6b79}.review-flag{margin-left:12px;color:#a56b18}.drawer-overlay{display:none}@media(max-width:900px){.exam-layout,.review-layout{display:block;padding:18px}.desktop-sheet{display:none}.sheet-toggle{display:inline-flex;align-items:center}.exam-header,.result-header{padding:10px 18px;gap:12px}.exam-header-title{display:none}.drawer-overlay{display:flex;justify-content:flex-end;padding:0}.mobile-drawer{width:min(420px,100%);height:100%;background:#f3f6f9;display:flex;flex-direction:column;box-shadow:-8px 0 30px #0a213b52}.drawer-header{background:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce5ed}.drawer-header button{min-height:40px}.mobile-drawer .answer-sheet{overflow:auto;flex:1;border:0;border-radius:0}.mobile-drawer .sheet-heading{display:none}.mobile-drawer .sheet-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.mobile-drawer .sheet-number{height:48px}.statistics-grid{grid-template-columns:1fr 1fr}.review-panel{padding:25px}.paper-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.home-page{padding:30px 16px 60px}.home-header{margin-bottom:24px}.home-header h1{font-size:1.65rem}.info-panel{padding:20px}.info-grid{grid-template-columns:repeat(2,1fr);gap:18px 8px}.info-grid strong{font-size:1.27rem}.paper-cards{grid-template-columns:1fr}.paper-card{padding:18px;gap:13px}.exam-header,.result-header{min-height:66px;padding:8px 12px;gap:8px}.exam-header .brand-link{font-size:.9rem;padding:6px 0}.timer{gap:0;flex-direction:column;align-items:center}.timer small{font-size:.69rem}.timer strong{font-size:1.13rem}.submit-button,.sheet-toggle{min-height:42px;padding:8px 10px;font-size:.9rem}.exam-layout,.review-layout{padding:12px}.question-panel,.review-panel{padding:23px 18px}.question-stem{font-size:1.13rem;line-height:1.75}.choice,.review-choice{padding:15px 12px;gap:11px}.question-navigation{gap:10px}.question-navigation button{min-width:0;flex:1}.result-header strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-content{padding:12px 12px 50px}.score-summary{padding:20px;gap:15px}.result-facts{margin:0;flex-direction:column;gap:6px}.statistics-grid{grid-template-columns:1fr;gap:12px;margin:12px 0}.stats-panel{padding:20px}.mobile-drawer .sheet-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.confirm-dialog{padding:22px}.dialog-actions button{flex:1;min-width:120px}}.landing-page>h1,.study-completed>h1,.study-progress>h1{color:#17324f;margin:12px 0}.landing-grid,.study-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.landing-grid .info-panel,.study-mode-grid .info-panel{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.landing-grid .info-panel p,.study-mode-grid .info-panel p{line-height:1.7;color:#526575;flex:1}.exam-back{max-width:1120px;margin:20px auto -35px;padding:0 28px}.study-home>.text-button:first-child{margin-bottom:26px}.study-filters{margin:26px 0}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.filter-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#294962}.filter-grid select{width:100%;min-height:46px;border:1px solid #a8b8c7;border-radius:8px;padding:8px;background:#fff;color:#24394b}.filter-summary{margin:20px 0;color:#385b70}.resume-card{background:#eaf5fc}.study-actions{display:flex;gap:12px;flex-wrap:wrap}.progress-link{margin-top:27px;font-size:1.05rem}.practice-counter{margin-left:auto;white-space:nowrap}.practice-header .sheet-toggle{margin-left:0}.practice-page .desktop-sheet .answer-sheet{position:sticky;top:100px;max-height:calc(100vh - 124px);overflow:auto}.practice-page .choices:disabled .choice{cursor:default}.practice-page .choices:disabled .choice input{opacity:1}.practice-correct-choice{border-color:#4d9c70;background:#f1fbf5}.confirm-answer{margin:18px 0 5px}.practice-feedback{margin-top:20px;padding:20px 22px;border-radius:10px;border:1px solid #4b9974;background:#eefaf3;overflow-wrap:anywhere}.practice-feedback.wrong{border-color:#c17265;background:#fff1ef}.practice-feedback h2{margin:0 0 12px;font-size:1.25rem;color:#186545}.practice-feedback.wrong h2{color:#9d3d34}.practice-feedback p{margin:5px 0;line-height:1.7}.study-completed .completion-grid{background:#fff;border:1px solid #dce5ed;border-radius:12px;padding:26px;margin:25px 0}.study-completed .info-panel{margin-bottom:22px}.progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 32px}.progress-grid .info-panel{display:flex;flex-direction:column;padding:20px;gap:8px}.progress-grid strong{font-size:1.7rem;color:#195d89}.progress-grid span{color:#536879}.section-progress{display:grid;gap:12px}.section-progress .info-panel{padding:18px 22px}.section-progress h3{margin:0 0 8px}.section-progress p{margin:0;color:#526575;line-height:1.6}@media(max-width:900px){.filter-grid,.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-page .desktop-sheet{display:none}}@media(max-width:600px){.landing-grid,.study-mode-grid,.filter-grid{grid-template-columns:1fr}.exam-back{padding:0 16px}.practice-counter{font-size:.82rem}.practice-header .brand-link{font-size:.9rem}.practice-header .sheet-toggle,.practice-header .submit-button{font-size:.8rem;padding:7px;min-height:40px}.study-completed .completion-grid{padding:18px}.study-completed .info-grid strong{font-size:1.5rem}.study-actions button{flex:1}.progress-grid .info-panel{padding:15px}.section-progress .info-panel{padding:16px}}select{font:inherit}.settings-page>.text-button:first-child{margin-bottom:28px}.settings-card{margin:18px 0}.settings-card>p{line-height:1.7;color:#526575}.settings-alert,.settings-success{padding:13px 16px;border-radius:8px;background:#fff0e8;color:#8b3b24;line-height:1.6}.settings-success{background:#eaf8ef;color:#17663b}.backup-preview{margin-top:24px;padding:22px;border:1px solid #b6cad9;border-radius:10px;background:#f5f9fc}.backup-preview h3{margin:0 0 16px}.backup-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}.backup-preview dl div{padding:9px;background:#fff;border-radius:6px;min-width:0}.backup-preview dt{color:#5b6b79;font-size:.88rem}.backup-preview dd{margin:5px 0 0;font-weight:700;overflow-wrap:anywhere}.danger-button{color:#a43c30;border-color:#c58a83}.landing-header-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.pwa-update-banner{position:sticky;top:0;z-index:30;background:#fff4df;border-bottom:1px solid #c99032;display:flex;align-items:center;justify-content:center;gap:14px;padding:9px 16px;flex-wrap:wrap}.pwa-update-banner button{min-height:36px}.pwa-update-banner p{margin:0}@media(max-width:600px){.settings-card{padding:20px}.backup-preview{padding:14px}.backup-preview dl{grid-template-columns:1fr 1fr}.settings-page .study-actions button{flex:1}.pwa-update-banner{font-size:.9rem}}
