@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--paper:#f6f7f2;--white:#fff;--ink:#203a33;--muted:#79847e;--green:#1c4d3f;--light:#eaf0e8;--line:#e1e6dd;--orange:#e58c49;--soft:#fdf1e4;--radius:16px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans','Noto Sans SC',system-ui,sans-serif;font-size:14px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{border:0;background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e4a573;outline-offset:3px}.header{height:86px;display:flex;align-items:center;padding:0 5.5%;gap:28px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;gap:10px;align-items:center;white-space:nowrap}.brand-icon{display:grid;place-items:center;background:var(--green);color:white;width:35px;height:38px;border-radius:9px;font-size:27px;font-family:Georgia,serif}.brand strong{font-size:22px;letter-spacing:-1px}.brand strong span{font-weight:400;margin-left:2px}.brand-label{font-size:9px;letter-spacing:1.2px;border-left:1px solid var(--line);padding-left:13px;margin-left:5px;color:var(--muted)}nav{display:flex;gap:8px;margin-left:auto}.nav-button{padding:9px 21px;border-radius:8px;color:#728077}.nav-button.active{background:var(--light);color:var(--green);font-weight:600}.header-note{font-size:11px;color:var(--muted);margin-left:auto}.icon-button{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;font-family:Georgia,serif;font-size:17px}main{max-width:1370px;margin:auto;padding:48px 5.5% 70px;min-height:calc(100vh - 165px)}.eyebrow{color:var(--green);font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:8px}.eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--orange)}h1{font-size:clamp(28px,3.3vw,41px);letter-spacing:-1.4px;font-weight:600;line-height:1.35;margin:15px 0}h1 em{font-style:normal;color:var(--green);position:relative}h1 em:after{content:'';height:5px;background:#d5dfb4;position:absolute;bottom:0;left:0;right:0;z-index:-1}h2{font-size:20px;line-height:1.5;margin:0 0 14px;font-weight:600}h3{font-size:16px;margin:0 0 10px}p{margin:8px 0}.muted{color:var(--muted)}.small{font-size:12px}.intro{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:35px}.intro p{font-size:13px;color:var(--muted)}.intro-visual{position:relative;width:240px;height:120px;display:grid;place-items:center;color:#92a48c;font-size:48px;font-family:Georgia,serif;flex-shrink:0}.intro-visual:before{content:'';position:absolute;inset:12px 24px;border:1px solid #dce4d6;border-radius:50%;transform:rotate(-22deg)}.intro-visual:after{content:'x² + y² = r²';position:absolute;right:-7px;bottom:3px;font-size:12px;color:#a0aa9c;transform:rotate(-9deg)}.intro-visual small{font-size:22px;color:#e3ad7f;position:absolute;left:4px;top:2px}.summary{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:14px;margin-top:22px}.summary b{font-size:18px;font-weight:600;margin-right:5px}.summary span{font-size:11px;color:var(--muted)}.summary .dot{height:24px;width:1px;background:var(--line)}.unit-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.unit-tab{border:1px solid var(--line);border-radius:10px;padding:10px 17px;background:#fff;min-width:71px;text-align:left}.unit-tab b{display:block;font-size:15px}.unit-tab small{display:block;font-size:9px;letter-spacing:.3px;color:var(--muted)}.unit-tab.active{background:var(--green);color:white;border-color:var(--green)}.unit-tab.active small{color:#bfd0bf}.workspace{display:grid;grid-template-columns:214px 1fr;gap:30px}.sidebar{align-self:start}.sidebar-title{font-size:10px;letter-spacing:1px;color:var(--muted);padding:12px 11px}.chapter-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 11px;margin:3px 0;border-radius:9px;text-align:left;font-size:12px;gap:8px}.chapter-button.active{background:#e8eee2;color:var(--green);font-weight:600}.chapter-button:hover{background:#edf1e8}.chapter-button .count{font-size:10px;font-weight:400;color:#809176}.side-note{font-size:11px;color:#899280;padding:17px 12px;border-top:1px solid var(--line);margin-top:22px;line-height:1.9}.filters{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.search{flex:1;min-width:140px;position:relative}.search input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 13px 10px 35px;background:#fff;color:var(--ink);font-size:12px}.search:before{content:'⌕';position:absolute;left:12px;top:3px;font-size:23px;color:#8a9689}select{border:1px solid var(--line);border-radius:9px;padding:10px 28px 10px 12px;background:white;color:#61715f;font-size:12px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.list-heading h2{font-size:15px;margin:0}.list-heading span{font-size:11px;color:var(--muted)}.question-card{background:var(--white);border:1px solid var(--line);border-radius:13px;margin-bottom:12px;padding:21px 23px;transition:transform .15s,border-color .15s}.question-card:hover{border-color:#b9c8ae;transform:translateY(-1px)}.question-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.source{font-size:10px;color:#899484;letter-spacing:.2px}.source .source-unit{color:var(--green);background:#edf2e9;padding:3px 6px;border-radius:4px;margin-right:8px;font-weight:600}.q-marks{font-size:10px;color:#829076;white-space:nowrap}.question-title{font-size:16px;font-weight:600;text-align:left;padding:0}.question-bottom{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:14px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:10px;color:#7b8874;border:1px solid #e5e9e0;border-radius:4px;padding:2px 7px;background:#fafbf8}.tag-major{color:#517348;background:#edf3e5;border-color:#edf3e5}.part-preview{font-size:11px;color:#88917f;margin-top:11px;line-height:1.9}.part-preview b{color:#6f7c67;font-weight:500}.start-link{color:var(--green);font-size:11px;font-weight:600;white-space:nowrap;padding:7px 0 7px 12px}.start-link span{padding-left:15px}.done-label{font-size:10px;color:#6a895c}.pagination{display:flex;justify-content:center;gap:8px;margin-top:27px}.pagination button{border:1px solid var(--line);padding:7px 12px;background:white;border-radius:7px;font-size:11px}.pagination button.active{background:var(--green);color:white}.notice{background:#eef2e8;border:1px solid #e0e8d8;border-radius:10px;padding:12px 16px;font-size:11px;color:#6f7c64;line-height:1.9;margin-bottom:22px}.notice.warm{background:var(--soft);border-color:#f2ddc7;color:#98724e}.empty{background:#fff;border:1px dashed #d7dfd0;border-radius:12px;text-align:center;padding:60px 24px;color:var(--muted)}.empty h3{color:var(--ink)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 20px;border-radius:8px;font-size:12px;font-weight:500}.primary{background:var(--green);color:white}.primary:hover{background:#2d604e}.secondary{border:1px solid var(--line);background:white}.pill{font-size:10px;padding:3px 8px;border-radius:5px;background:#edf3e5;color:#67825d}.pill.orange{background:var(--soft);color:#a77a4c}.paper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.paper-card{background:white;border:1px solid var(--line);border-radius:13px;padding:23px}.paper-card .paper-glyph{width:41px;height:48px;border:1px solid #d9e2d1;border-radius:5px;display:grid;place-items:center;font-family:Georgia,serif;font-size:24px;color:#6e8a61;margin:0 0 22px;position:relative;background:#f5f8f0}.paper-card .paper-glyph:after{position:absolute;content:'';bottom:8px;width:17px;height:1px;background:#d1ddc5}.paper-card h3{font-size:18px;margin:7px 0}.paper-card .paper-meta{display:flex;gap:12px;font-size:11px;color:#8c9684;margin:16px 0}.paper-card .primary{width:100%;margin-top:15px}.paper-status{font-size:10px;color:#89967d}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:23px}.back{font-size:12px;color:#6d7e64;padding:0}.detail-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:24px;align-items:start}.question-sheet{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.sheet-meta{padding:18px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px}.question-images{padding:15px}.question-images img{display:block;width:100%;height:auto;background:#fff}.question-images figcaption{font-size:9px;text-align:right;color:#a0aa96;padding:2px 5px 13px}.question-images figure{margin:0}.answer-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:25px;min-width:0}.answer-panel h2{font-size:18px}.part-label{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:21px 0 10px}.part-label strong{font-size:13px;min-width:20px}.steps{margin:0;padding:0 0 0 23px;font-size:13px}.steps li{padding-left:5px;margin-bottom:13px}.steps li::marker{color:#90a081;font-size:11px}.final-answer{background:#f1f5eb;padding:13px 15px;border-radius:8px;font-size:13px;margin:15px 0;overflow-x:auto}.tip{padding:11px 14px;margin:12px 0;border-left:2px solid #d8a26a;background:#fcf7ef;font-size:11px;color:#8b7455}.tip b{display:block;margin-bottom:3px;color:#876942}.pitfall{font-size:11px;color:#8a8175;margin:10px 0}.verification{border-top:1px solid var(--line);padding-top:14px;margin-top:20px;color:#7e8e70;font-size:10px}.answer-hidden{text-align:center;padding:48px 10px}.answer-hidden .symbol{font-family:Georgia,serif;font-size:39px;color:#9cae8a;margin-bottom:15px}.answer-hidden p{font-size:12px;color:var(--muted);margin:10px 0 23px}.answer-tools{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:10px}.notes-label{display:block;font-size:11px;color:#7f8d74;margin-bottom:7px}textarea{resize:vertical;min-height:135px;width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fdfefa;font-size:13px;line-height:1.8}.notes-area{border-top:1px solid var(--line);padding:19px 22px}.exam-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.exam-top h1{font-size:26px;margin:3px 0}.timer{font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:1px;color:var(--green)}.timer.low{color:#b56338}.timer-label{font-size:9px;color:var(--muted);text-align:right}.exam-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:25px}.exam-nav{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;align-self:start;position:sticky;top:20px}.question-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0 20px}.question-nav button{border:1px solid var(--line);border-radius:6px;padding:5px;font-size:12px;position:relative}.question-nav button.answered{background:#e7efdf;border-color:#c8d6bb}.question-nav button.current{background:var(--green);color:white;border-color:var(--green)}.question-nav button.flagged:after{content:'';position:absolute;right:2px;top:2px;width:5px;height:5px;background:var(--orange);border-radius:50%}.exam-nav .primary{width:100%;padding:9px}.exam-nav .small{font-size:10px}.exam-content{min-width:0}.exam-content .question-sheet{max-width:850px}.exam-actions{display:flex;justify-content:space-between;gap:12px;margin:18px 0}.exam-actions button{min-width:90px}#exam-banner{background:#e5edde;border-bottom:1px solid #d7e2cc;padding:8px 5.5%;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}#exam-banner[hidden]{display:none}.result-score{font-size:30px;margin:0 0 10px}.score-input{width:66px;border:1px solid var(--line);border-radius:6px;padding:5px 8px}.score-row{display:flex;gap:10px;align-items:center;margin-top:15px;font-size:12px}.result-row{display:flex;gap:15px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin:10px 0}.result-row h3{font-size:13px;margin:0}.result-row .small{font-size:10px}footer{max-width:1370px;margin:auto;border-top:1px solid var(--line);padding:22px 5.5%;display:flex;justify-content:space-between;gap:15px;color:#98a08e;font-size:10px}footer b{color:#7c8c70;font-weight:500}dialog{border:1px solid var(--line);border-radius:18px;padding:35px;max-width:580px;width:calc(100% - 30px);color:var(--ink);box-shadow:0 25px 100px #17382e25}dialog::backdrop{background:#133d3155;backdrop-filter:blur(3px)}.modal-close{position:absolute;right:15px;top:15px}.modal-buttons{display:flex;gap:10px;margin-top:23px}#modal-content h2{margin-right:20px}#modal-content p{font-size:13px;color:#74826b}#modal-content li{font-size:12px;margin-bottom:10px}#toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,20px);opacity:0;background:#203e33;color:#fff;border-radius:9px;padding:11px 21px;font-size:12px;transition:.2s;pointer-events:none;z-index:10;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}.loading{padding:120px;text-align:center;color:var(--muted)}.katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0;max-width:100%}.katex{font-size:1.08em}.error-box{padding:35px;background:white;border:1px solid #e4c7b1;border-radius:12px}
@media(min-width:1500px){main{padding-left:55px;padding-right:55px}.header{padding-left:max(5.5%,calc((100vw - 1260px)/2));padding-right:max(5.5%,calc((100vw - 1260px)/2))}}
@media(max-width:1000px){.header-note,.brand-label{display:none}.header{padding:0 4%;height:76px}main{padding:35px 4% 50px}.workspace{grid-template-columns:180px 1fr;gap:18px}.paper-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr}.answer-panel{padding:25px}.intro-visual{width:170px}.detail-layout .question-sheet{max-width:800px}.exam-layout{grid-template-columns:155px minmax(0,1fr)}}
@media(max-width:650px){body{font-size:13px}.header{height:72px;gap:10px}.brand strong{font-size:18px}.brand-icon{width:28px;height:31px;font-size:22px}.header .icon-button{display:grid;width:25px;height:25px;font-size:15px}.nav-button{padding:8px 11px;font-size:11px}nav{gap:3px}.intro{margin-bottom:25px}.intro-visual{display:none}h1{font-size:29px}.intro p{font-size:11px}.summary{gap:17px}.summary b{font-size:16px}.unit-tabs{gap:6px;margin-bottom:20px}.unit-tab{padding:8px 11px;min-width:54px}.unit-tab b{font-size:13px}.unit-tab small{font-size:8px}.workspace{display:block}.sidebar{margin-bottom:18px}.sidebar-title,.side-note{display:none}.chapter-list{display:flex;gap:6px;overflow:auto;padding-bottom:9px}.chapter-button{width:auto;flex-shrink:0;padding:7px 10px;border:1px solid var(--line);background:white;font-size:11px}.chapter-button .count{margin-left:4px}.question-card{padding:17px}.question-title{font-size:14px}.question-card-top{align-items:flex-start}.question-bottom{gap:5px}.part-preview{font-size:10px}.source{font-size:9px}.filters{gap:6px}.search{min-width:130px}select{font-size:11px;padding:10px 23px 10px 9px}.paper-grid{grid-template-columns:1fr}.paper-card{padding:20px}.paper-card .paper-glyph{float:right;margin:5px 0 0}.paper-card .primary{margin-top:7px}.detail-header{flex-wrap:wrap}.detail-layout{gap:16px}.answer-panel{padding:20px}.question-images{padding:5px}.sheet-meta{padding:14px;font-size:10px}.exam-layout{display:flex;flex-direction:column}.exam-nav{position:static;width:100%;padding:13px}.exam-nav h3{display:none}.question-nav{display:flex;flex-wrap:wrap;margin:0 0 12px;gap:6px}.question-nav button{min-width:32px}.exam-nav .primary{width:auto;float:right;margin-top:-26px}.exam-nav .small{max-width:65%}.exam-top h1{font-size:21px}.timer{font-size:23px}.exam-content{width:100%}.notes-area{padding:15px}.primary,.secondary{padding:10px 15px}.result-row{gap:8px;flex-wrap:wrap}.result-row .primary{font-size:10px;padding:8px}footer{display:block;padding:18px 4%}footer span{display:block;margin:5px 0}.loading{padding:80px 15px}dialog{padding:28px 22px}.intro .summary span{font-size:10px}.list-heading{gap:8px}}

.part-knowledge{background:#edf2e7;border:1px solid #e1e8d8;padding:13px 20px;border-radius:11px;margin:-4px 0 23px}.part-knowledge .part-label{margin:9px 0 4px}.part-knowledge .part-label strong{font-size:11px}.part-knowledge .tag{background:#f8fbf4}

/* Topic facets, a persistent question set, and a theme that follows the reader. */
:root{--surface:#fff;--surface-alt:#eef2e8;--soft-text:#536c60;--accent-text:#1c4d3f;--warm-text:#885c32;--warm-bg:#fbf0df;--shadow:0 12px 45px #173b2e14;color-scheme:light}
[data-theme="dark"]{--paper:#111c19;--surface:#192923;--surface-alt:#22392f;--white:#192923;--ink:#e1eae1;--muted:#a2b4a8;--green:#a1d9b2;--accent-text:#c0e9c6;--soft-text:#bdcec1;--light:#284334;--line:#31493c;--orange:#eeb781;--soft:#3a3021;--warm-text:#f0c395;--warm-bg:#30291e;--shadow:0 12px 45px #0004;color-scheme:dark}
.header{gap:20px;background:var(--surface);height:auto;min-height:86px;padding-top:15px;padding-bottom:15px;flex-wrap:wrap}
.header-tools{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.header nav{margin-left:auto}
.selection-button,.theme-toggle{font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;white-space:nowrap;background:var(--surface);color:var(--ink)}
.selection-button span{display:inline-grid;place-items:center;background:var(--light);color:var(--accent-text);min-width:22px;padding:0 5px;margin-left:4px;border-radius:5px;font-variant-numeric:tabular-nums}.theme-toggle{min-width:75px}
.bank-coverage{margin-bottom:25px;font-size:12px}.workspace>section{min-width:0}
.question-card,.paper-card,.question-sheet,.answer-panel,.exam-nav,.result-row,.selected-row,.error-box,dialog{background:var(--surface);border-color:var(--line)}
.question-card.is-selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.card-selection{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--soft-text);margin-top:17px;padding-top:12px;border-top:1px solid var(--line);width:fit-content}
.card-selection input{width:17px;height:17px;accent-color:var(--green);margin:0;flex-shrink:0;cursor:pointer}.card-selection input:checked{accent-color:#28744e}
.selection-actions{display:flex;align-items:center;gap:12px;margin:0 0 15px;flex-wrap:wrap}.selection-actions .secondary{font-size:11px;padding:7px 11px}
.text-button{font-size:12px;color:var(--soft-text);text-decoration:underline;text-underline-offset:4px;padding:7px 3px}
.list-heading>div{display:grid;gap:3px}.list-heading select{padding:7px 25px 7px 10px;font-size:11px}
.topic-picker{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 18px;overflow:hidden}
.topic-picker summary{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-size:13px;font-weight:600}
.topic-picker summary::-webkit-details-marker{display:none}.topic-picker summary:after{content:'＋';font-size:16px;color:var(--muted)}.topic-picker[open] summary:after{content:'−'}
.topic-picker summary .small{font-weight:400;margin-left:auto;font-size:10px}.topic-toolbar{display:flex;gap:12px;border-top:1px solid var(--line);padding:12px 16px 0;align-items:center}
.topic-toolbar input{width:100%;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:11px;color:var(--ink)}.topic-toolbar .text-button{flex-shrink:0;font-size:11px}
.topic-groups{max-height:300px;overflow:auto;padding:4px 16px 16px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.topic-group-title{color:var(--muted);font-size:10px;margin:13px 0 8px}.topic-options{display:flex;flex-wrap:wrap;gap:7px}
.topic-option{display:flex;align-items:center;gap:10px;font-size:11px;border:1px solid var(--line);border-radius:7px;padding:7px 9px;text-align:left;background:var(--surface)}
.topic-option span{font-size:10px;color:var(--muted);min-width:12px;text-align:center}.topic-option.active{background:var(--light);color:var(--accent-text);border-color:var(--green)}
.active-topics{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 18px}.active-topics button{background:var(--light);color:var(--accent-text);font-size:11px;padding:5px 9px;border-radius:6px}
.tag-ready{background:var(--light)!important;color:var(--accent-text)!important}.tag-pending{background:var(--warm-bg)!important;color:var(--warm-text)!important}
.selection-bar{position:fixed;z-index:6;bottom:18px;left:50%;transform:translateX(-50%);width:min(850px,calc(100% - 32px));background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;padding:13px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.selection-bar[hidden]{display:none}.selection-bar b{font-size:13px;display:block}.selection-bar span{font-size:10px}.selection-bar .primary{font-size:12px;padding:10px 15px}.has-selection{padding-bottom:80px}
.selection-start{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.selected-row{display:flex;align-items:center;gap:20px;border:1px solid var(--line);padding:18px;border-radius:12px;margin:12px 0}
.selected-number{font-size:20px;color:var(--muted);font-family:Georgia,serif;width:25px;flex-shrink:0}.selected-info{flex:1;min-width:0}.selected-info .tags{margin-top:8px}.selected-info .question-title{font-size:15px;margin-top:5px}
.selected-order{display:flex;gap:5px;flex-shrink:0}.selected-order button{border:1px solid var(--line);border-radius:6px;width:30px;height:30px;font-size:15px}
.session-navigation{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:15px 0 26px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.session-navigation span{color:var(--muted);font-size:12px}.session-navigation button{font-size:12px}
.detail-title{font-size:27px;margin-bottom:25px}.detail-actions{display:flex;align-items:center;gap:20px}.detail-actions .card-selection{border:0;padding:0;margin:0}.answer-panel h2{margin-top:9px}
.unit-tab,select,.search input,textarea,input.score-input,.chapter-button{background:var(--surface);color:var(--ink)}.chapter-button.active,.chapter-button:hover{background:var(--light);color:var(--accent-text)}
.part-knowledge{background:var(--surface-alt);border-color:var(--line)}.part-knowledge .tag{background:var(--surface)}
.notice{background:var(--surface-alt);color:var(--soft-text);border-color:var(--line)}.notice.warm{background:var(--warm-bg);color:var(--warm-text)}
[data-theme="dark"] .primary{background:#a1d9b2;color:#13291c}[data-theme="dark"] .secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .unit-tab.active{background:#a1d9b2;color:#142a1b}[data-theme="dark"] .unit-tab.active small{color:#355c40}
[data-theme="dark"] .brand-icon{background:#a1d9b2;color:#13291c}[data-theme="dark"] .nav-button.active{background:var(--light);color:var(--accent-text)}
[data-theme="dark"] .source,[data-theme="dark"] .q-marks,[data-theme="dark"] .paper-status,[data-theme="dark"] footer,[data-theme="dark"] .side-note{color:var(--muted)}
[data-theme="dark"] .tag,[data-theme="dark"] .pill,[data-theme="dark"] .source-unit{background:var(--light);color:var(--accent-text)}[data-theme="dark"] .pill.orange{background:var(--warm-bg);color:var(--warm-text)}
[data-theme="dark"] .final-answer{background:var(--surface-alt);border-color:var(--line);color:var(--ink)}[data-theme="dark"] .tip{background:#243a2b;color:#c6dfbf}[data-theme="dark"] .pitfall{color:var(--warm-text)}
[data-theme="dark"] .sheet-meta,[data-theme="dark"] .notes-area,[data-theme="dark"] .verification,[data-theme="dark"] .answer-tools{border-color:var(--line);color:var(--muted)}
[data-theme="dark"] .question-images figure{background:#1e2a23}[data-theme="dark"] .question-images img{filter:invert(.87) hue-rotate(180deg)}[data-theme="dark"] .question-images figcaption{background:var(--surface);color:var(--muted)}
[data-theme="dark"] .question-nav button.answered{background:var(--light);border-color:var(--line)}[data-theme="dark"] .question-nav button.current{background:var(--green);color:#12261a}
[data-theme="dark"] #exam-banner{background:var(--light);border-color:var(--line)}[data-theme="dark"] #modal-content p,[data-theme="dark"] .steps,[data-theme="dark"] .part-preview{color:var(--soft-text)}
[data-theme="dark"] .exam-nav p,[data-theme="dark"] .answer-hidden p{color:var(--muted)}[data-theme="dark"] .answer-hidden .symbol{color:var(--green)}[data-theme="dark"] .paper-glyph{background:var(--light);color:var(--green)}
[data-theme="dark"] .intro-visual{color:#7eab8a}[data-theme="dark"] .intro-visual:before{border-color:var(--line)}[data-theme="dark"] .intro-visual:after{color:#8aa992}
[data-theme="dark"] h1 em:after{background:#3e6545}[data-theme="dark"] dialog{box-shadow:0 25px 100px #0008}
@media(max-width:1000px){.header{gap:12px}.brand-label{display:none}.header-tools{gap:6px}.selection-button,.theme-toggle{font-size:11px;padding:7px 9px}.header nav{gap:3px}.nav-button{padding:8px 11px}}
@media(max-width:650px){.header{padding:13px 4%;gap:12px;min-height:72px}.header nav{order:3;width:100%;justify-content:center;margin:0;border-top:1px solid var(--line);padding-top:9px}.header-tools{margin-left:auto}.header .icon-button{display:grid;width:25px;height:25px;font-size:15px}.selection-button,.theme-toggle{padding:6px 8px;font-size:10px}.theme-toggle{min-width:63px}main{padding-top:26px}.intro h1{font-size:27px}.summary{gap:14px}.summary b{font-size:17px}.summary span{font-size:9px}.topic-picker summary{padding:12px}.topic-picker summary .small{max-width:53%;font-size:9px}.topic-toolbar{padding:10px 12px 0}.topic-groups{padding:0 12px 12px;max-height:250px}.topic-option{font-size:10px;padding:6px 8px;gap:7px}.detail-actions{gap:12px}.detail-actions .card-selection{font-size:10px}.detail-title{font-size:23px}.selected-row{padding:14px;gap:10px}.selected-info .question-title{font-size:13px}.selected-order{flex-direction:column}.selected-order button{width:26px;height:26px}.selected-number{font-size:17px;width:18px}.selection-bar{padding:11px 13px;bottom:10px}.selection-bar span{display:none}.selection-bar .primary{font-size:10px;padding:9px 11px}.selection-bar b{font-size:12px}.selection-start button{font-size:11px}.session-navigation{gap:8px}.session-navigation button{font-size:10px;padding:9px 12px}.session-navigation span{font-size:10px}.card-selection{font-size:11px}.question-bottom{align-items:center}.question-bottom .tags{gap:4px}.list-heading select{max-width:107px}}

/* English first, Chinese support. Keep source labels and saved IDs unchanged. */
.bilingual{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;line-height:1.45;text-align:left;vertical-align:middle;min-width:0}
.bilingual>small[lang="zh-CN"]{font-size:.76em;font-weight:400;color:var(--muted);line-height:1.5;letter-spacing:0;text-transform:none}
.bilingual.inline{display:inline}.bilingual.inline>small{margin-left:.5em}
.nav-button small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:1px;line-height:1.3}
.selection-button>small{font-size:9px;color:var(--muted);font-weight:400}.selection-button #selection-count{font-size:11px}
.intro .hero-zh{font-size:12px;margin:12px 0 5px;color:var(--muted)}
.intro h1{max-width:780px}.intro-visual{flex-shrink:0}
.chapter-button>.bilingual{flex:1}.chapter-button{align-items:center;gap:8px;text-align:left}
.topic-option>.bilingual{font-size:inherit;text-align:left;color:inherit;flex:1}
.topic-option>.bilingual>span{font-size:inherit;text-align:left;color:inherit}
.topic-option>.bilingual>small{font-size:9px;text-align:left;color:var(--muted)}
.topic-option{max-width:100%;align-items:center}.topic-option>span:last-child:not(.bilingual){flex-shrink:0}
.part-preview .bilingual{margin:3px 0}.part-preview .bilingual>small{font-size:9px}
.question-title>.bilingual>small{font-size:11px;margin-top:4px}.question-title{line-height:1.5}
.tags{flex-wrap:wrap}.tag{white-space:normal}.tag>.bilingual{font-size:inherit}.tag>.bilingual>small{font-size:9px}
.detail-title>.bilingual>small{font-size:14px;margin-top:6px}.eyebrow .bilingual{letter-spacing:0;text-transform:none}
.topic-group-title>.bilingual>small{font-size:9px}.active-topics button{display:inline-flex;align-items:center;gap:6px;text-align:left}
.list-heading{flex-wrap:wrap}.question-bottom{flex-wrap:wrap}.start-link{margin-left:auto}.filters select{max-width:100%}
footer small{font-size:10px}.header-tools{min-width:0}
@media(max-width:650px){
 .header-tools{gap:5px}.selection-button>small{display:none}.selection-button,.theme-toggle{font-size:10px;padding:6px 7px}
 .nav-button{min-width:135px}.nav-button small{font-size:9px}
 .intro h1{font-size:28px;letter-spacing:-.8px}.intro .hero-zh{font-size:10px}.intro p{font-size:12px}
 .summary{gap:10px;flex-wrap:wrap}.summary>div{gap:5px}.summary span{max-width:80px;line-height:1.4}
 .chapter-button>.bilingual{max-width:170px}.chapter-button{max-width:210px;white-space:normal}
 .filters{flex-wrap:wrap}.filters .search{flex-basis:100%}.filters select{flex:1;min-width:0;font-size:10px}
 .topic-picker summary{align-items:flex-start;flex-wrap:wrap;gap:6px}.topic-picker summary .small{max-width:100%;margin-left:0;flex-basis:100%;font-size:10px}
 .topic-toolbar{flex-wrap:wrap;gap:5px}.topic-toolbar input{flex:1;min-width:150px}.topic-toolbar .text-button{font-size:10px}
 .topic-option{font-size:11px}.topic-option .bilingual>small{font-size:9px}
 .question-card-top{gap:8px}.q-marks{flex-shrink:0}.source{overflow-wrap:anywhere}
 .question-title{font-size:15px}.part-preview .bilingual{max-width:100%}.tag-ready{font-size:9px}
 .selection-bar{gap:8px}.selection-bar .primary{max-width:56%;font-size:10px}.selection-bar b{font-size:11px}
 .detail-title{font-size:22px}.detail-actions{flex-wrap:wrap}.session-navigation span{max-width:35%;text-align:center}
 .exam-nav .primary{float:none;margin-top:10px}.exam-nav .small{max-width:100%}.paper-card .primary{width:100%}
 .result-row>div{max-width:100%;flex-wrap:wrap}.answer-tools{flex-wrap:wrap;gap:10px}
}
