:root{
  --ground:#faf9f5;--paper:#fff;--ink:#30302e;--secondary:#6b6862;--muted:#6b6862;
  --accent:#30302e;--accent-hover:#141413;--clay:#d97757;--link:#935237;--wash:#f0eee6;
  --line:#dedcd1;--rule:#c2c0b6;--focus:#965238;--correct:#33613d;--incorrect:#a23c33;
  --ui:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;
  --serif:Georgia,"Times New Roman","Songti SC","SimSun",serif;
  --selected:#e8e6dc;--selection:#e3dacc;--control-line:#8c8980;--panel:#fdfcf9;--correct-bg:#e9f1e5;--incorrect-bg:#f9e8e3;--scroll-thumb:#b0aea5;
  color:var(--ink);background:var(--ground);font:16px/1.65 var(--ui);accent-color:var(--accent);
  scrollbar-color:var(--scroll-thumb) var(--ground);color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink)}
button,input,select,textarea{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
button,select{cursor:pointer}
button{min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:9px;background:transparent;line-height:1.5;transition:background .15s,border-color .15s,color .15s}
button:hover{background:var(--wash);border-color:var(--rule)}
button:disabled{cursor:default;opacity:.55}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--ground)}
button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
a{color:var(--link);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
::selection{background:var(--selection);color:var(--ink)}
textarea,input{caret-color:var(--link)}
[hidden]{display:none!important}
h1,h2,h3,h4{color:var(--ink);line-height:1.4;text-wrap:balance}
h1{font:400 36px/1.45 var(--serif);margin:0 0 16px}
h2{font:400 25px/1.5 var(--serif);margin:30px 0 16px}
h3{font:550 20px/1.5 var(--ui);margin:34px 0 16px}
h4{font-size:18px;margin:24px 0 12px}
p{margin:0 0 16px}
.muted,.meta{color:var(--secondary)}
.small{font-size:14px}
main#app{max-width:none;margin:0 auto 40px}
.ui-icon{width:22px;height:22px;flex:none;vertical-align:middle}
.appbar{width:100%;margin:0 auto;padding:20px 42px;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink);flex:none}
.brand-text{font:600 20px/1.4 var(--ui);letter-spacing:.035em;min-height:44px}
.brand-mark{display:flex;align-items:center;justify-content:center;width:25px;height:29px;color:var(--clay)}
.brand-mark svg{width:25px;height:29px}
.brand-name{font:550 19px/1.4 var(--ui);letter-spacing:-.02em}
.brand-caption{display:none}
.app-actions{display:flex;align-items:center;gap:5px}
.quiet-button{border-color:transparent;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;color:var(--secondary)}
.quiet-button:hover{background:var(--wash);border-color:transparent;color:var(--ink)}
.quiet-button svg{width:19px;height:19px}
.appbar button[hidden]{display:none!important}
.font-mark{font:21px var(--serif)}
.records-short{display:none}
.records-control{white-space:nowrap}
.boot{padding:50px 24px;text-align:center;color:var(--secondary)}
.home-book{max-width:1056px;padding:36px 40px;margin:20px auto 60px}
.home-book.simple-home{max-width:760px;padding:0;margin:70px auto 60px}
.simple-home-header{text-align:center;margin-bottom:37px}
.simple-home-header h1{font:400 39px/1.45 var(--serif);margin:0}
.home-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.simple-home .simple-mode-card{min-height:78px;padding:0 22px;display:flex;align-items:center;gap:15px;text-align:left;border-radius:12px;background:transparent;color:var(--ink);border-color:var(--line)}
.simple-mode-card strong{flex:1;font:450 17px/1.5 var(--ui)}
.simple-mode-card .mode-arrow{width:17px;height:17px;color:var(--secondary)}
.simple-home .simple-mode-card.primary{background:var(--accent);border-color:var(--accent);color:var(--ground)}
.simple-home .simple-mode-card.primary:hover{background:var(--accent-hover)}
.simple-home .simple-mode-card.primary .mode-arrow{color:var(--ground)}
.home-activity{margin-top:58px;padding-top:27px;border-top:1px solid var(--selected);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}
.home-section h2{font:550 14px/1.6 var(--ui);margin:0}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:13px}
.section-title-row button{font-size:12px;min-height:44px;padding:0 5px;border:0;color:var(--secondary);white-space:nowrap}
.home-empty{font:14px/1.8 var(--ui);color:var(--secondary);margin:0;padding:4px 0 0}
.home-list>div{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--selected)}
.home-list strong{display:block;font:500 15px/1.65 var(--ui)}
.home-list small{display:block;font:12px/1.8 var(--ui);color:var(--secondary);margin-top:5px}
.home-list button{flex:none;font-size:12px;padding:6px 10px;max-width:110px}
.local-memory-note{margin:34px 0 0;padding-top:20px;font:14px/1.8 var(--ui);color:var(--secondary)}
.simple-home>.local-memory-note{text-align:center;font-size:12px;margin-top:50px;padding-top:0}
.text-button{border:0;padding-left:0;text-decoration:underline;text-underline-offset:4px;font-size:14px;color:var(--secondary)}
.back-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid var(--rule);border-radius:9px;background:var(--paper);color:var(--ink);font:500 14px/1.5 var(--ui);text-decoration:none;margin-bottom:15px}
.back-button:hover{background:var(--wash);border-color:var(--secondary)}
.back-button .ui-icon{width:18px;height:18px;transform:rotate(180deg)}
.page-back-row{display:flex;align-items:center;gap:16px;padding:0 40px 6px}
.page-back-row .back-button{margin:0}
.quiet-home{border-color:transparent;color:var(--secondary);font-size:13px}
.catalog-book,.records{max-width:1056px;margin:20px auto 60px;padding:36px 40px;background:transparent}
.catalog-book .intro{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:0 0 25px}
.catalog-book .intro h1{font:400 34px/1.4 var(--serif);margin:8px 0 10px}
.intro p{color:var(--secondary);font-size:15px;margin-bottom:0}
.scope-note{text-align:right;font-size:14px!important;line-height:1.9}
.catalog{padding:0;background:transparent}
.filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--line)}
.filters label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--secondary)}
.filters input,.filters select,.history-filter select{min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:15px;color:var(--ink)}
.filters input{width:260px}
input::placeholder,textarea::placeholder{color:var(--secondary);opacity:1}
.filters .count{font-size:14px;color:var(--secondary);margin-left:auto;padding-bottom:9px}
.table-scroll{max-width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}
th{padding:13px 12px;border-bottom:1px solid var(--rule);font:500 13px/1.7 var(--ui);color:var(--secondary)}
td{padding:18px 12px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.7}
td:first-child{font-weight:500}
td:last-child{text-align:right}
.year-row td{font:500 19px/1.5 var(--ui);padding:25px 12px 13px;color:var(--ink);text-align:left!important}
.catalog td:first-child{font-size:17px}
.catalog td button,.shared-table button{font-size:13px;white-space:nowrap}
.catalog-history-meta{display:block;font:13px/1.8 var(--ui);white-space:normal;color:var(--secondary);max-width:270px;margin-top:6px}
.catalog-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.catalog-row-actions button{min-height:44px}
.history-link{border-color:transparent;font-size:13px}
.catalog-footnote{font-size:14px;color:var(--secondary);line-height:1.8;margin:24px 0 0}
.empty{padding:40px 0;color:var(--secondary)}
.shared-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.shared-heading h1{font:400 36px/1.5 var(--serif);margin:9px 0}
.shared-heading p{font-size:15px;margin:0;color:var(--secondary)}
.shared-score{text-align:right;min-width:130px}
.shared-score strong{display:block;font:400 32px/1.4 var(--serif)}
.shared-score span{font-size:13px;color:var(--secondary)}
.shared-explanation{font-size:15px;line-height:1.9;margin:24px 0;color:var(--secondary)}
.shared-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}
.shared-scope-card{min-height:78px;padding:18px;text-align:center;background:transparent}
.shared-scope-card strong{font:500 17px/1.6 var(--ui)}
.shared-topic-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 10px}
.shared-topic-tabs button{font-size:14px}
.shared-topic-tabs button[aria-current=page]{background:var(--wash);border-color:var(--rule);color:var(--ink);font-weight:550}
.shared-table td:first-child{font-size:17px}
.shared-table td small{display:block;font:13px/1.8 var(--ui);color:var(--secondary);margin-top:6px}
.shared-table td:nth-child(2){font-size:14px;white-space:nowrap;color:var(--secondary)}
.shared-table td:last-child{width:150px}
.book{max-width:976px;margin:26px auto 50px;position:relative}
.book-header{padding:22px 40px 18px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.edition-description{font-size:13px;line-height:1.6;color:var(--secondary);margin:5px 0 0}
.book h1.edition-title{font:400 31px/1.5 var(--serif);margin:0;letter-spacing:0}
.edition-side{font-size:13px;line-height:1.85;text-align:right;color:var(--secondary);flex:none}
.edition-side strong{font-weight:500;color:var(--ink)}
.scope-parts{margin-top:3px}
.edition-notice{font-size:14px;line-height:1.9;color:var(--secondary);padding:0 40px 16px;margin:0}
.exam-history-bar{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;padding:0 40px 22px}
.exam-history-bar button{font-size:13px;color:var(--secondary);border:0;padding:5px 0;min-height:44px}
.exam-history-bar button:hover{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.book .partnav{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));gap:4px;padding:10px 40px;background:var(--ground);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.part-tab{border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 8px;color:var(--secondary);min-height:52px}
.part-tab.is-active{background:var(--selected);color:var(--ink);font-weight:550}
.part-index{font:16px var(--serif);color:inherit}
.part-label{display:flex;align-items:baseline;gap:8px}
.part-zh{font-size:15px}
.part-en{font:13px var(--serif);color:inherit}
.working-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;padding:13px 40px 17px;border-bottom:1px solid var(--selected)}
.reading-tools{display:flex;gap:3px;align-items:center}
.section-tab{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;font-size:13px;min-height:44px;border-color:transparent;color:var(--secondary)}
.section-tab b{font:16px var(--serif)}
.section-tab.is-active{background:var(--wash);color:var(--ink)}
.time-tools{margin-left:auto;display:flex;align-items:center;gap:13px;flex-wrap:wrap;font-size:13px}
.answer-progress{font-size:12px;white-space:nowrap;color:var(--secondary);font-variant-numeric:tabular-nums}
.skip-toggle{min-height:44px;display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;cursor:pointer}
.skip-toggle input{height:17px;width:17px}
.timer-group{display:flex;align-items:center;gap:9px}
.timer-group .timer{font:20px/1.4 var(--ui);font-variant-numeric:tabular-nums;min-width:58px}
.timer-button{padding:0 5px;border-color:transparent;color:var(--secondary);font-size:12px;white-space:nowrap}
.submit-button{font-size:13px}
.book .paper{max-width:820px;margin:auto;padding:40px 32px 45px;min-height:60vh;font:19px/1.9 var(--serif);--reading-size:19px}
.part-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.part-heading h2{font:400 27px/1.5 var(--serif);margin:0}
.part-heading>span{font:13px var(--ui);color:var(--secondary);white-space:nowrap}
.content-meta{font:500 13px/1.6 var(--ui);color:var(--secondary);margin:6px 0 0}
.directions{font:italic 17px/1.85 var(--serif);color:var(--secondary);margin:0 0 25px}
.passage{white-space:pre-wrap;font:var(--reading-size)/1.9 var(--serif);margin:18px 0 28px;overflow-wrap:break-word}
.passage p{margin:0 0 20px}
.passage.inline-passage{white-space:normal;line-height:2.1}
.paragraph-label{font-weight:700;margin-right:8px}
.article-title{font:400 24px/1.5 var(--serif);margin:26px 0 22px}
.passage-label{font:400 22px/1.5 var(--serif);margin:40px 0 20px;padding-top:23px;border-top:1px solid var(--line)}
.wordbank{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px 16px;border-bottom:1px solid var(--line);padding:14px 0 22px;margin:0 0 26px;font:16px/1.65 var(--serif)}
.wordbank span{display:flex;align-items:baseline;gap:8px;min-width:0;overflow-wrap:anywhere}
.wordbank b{min-width:17px;flex:none;font:500 12px var(--ui);color:var(--secondary)}
.question{margin:28px 0 32px;padding-bottom:26px;border-bottom:1px solid var(--line);font:var(--reading-size)/1.75 var(--serif);break-inside:avoid;scroll-margin-top:100px;min-width:0}
.question fieldset{border:0;margin:0;padding:0;min-width:0}
.question legend{width:100%;padding:0;margin-bottom:13px;font-weight:600;white-space:normal}
.options{display:flex;flex-direction:column;gap:3px}
.option{display:flex;align-items:flex-start;gap:12px;cursor:pointer;min-height:46px;padding:9px 12px;margin:1px -12px;line-height:1.65;border-radius:8px}
.option:hover{background:var(--wash)}
.option:has(input:checked){background:var(--selected)}
.option.chosen{color:var(--ink);font-weight:550}
.option input{height:18px;width:18px;flex:none;margin:7px 0 0}
.q-select{font:16px var(--ui);min-height:44px;min-width:62px;max-width:260px;padding:5px;margin:0 4px;border:1px solid var(--rule);border-radius:7px;background:var(--wash);color:var(--ink)}
.match-statement{display:flex;align-items:flex-start;gap:13px}
.match-statement .q-select{flex:none}
.number{font-weight:700}
.group-header{font-style:italic;font-weight:550;margin-top:34px}
.answer-area{margin-top:30px}
.answer-area label{display:block;font:500 16px/1.7 var(--ui);margin:0 0 12px}
.answer-area textarea{display:block;width:100%;min-height:390px;resize:vertical;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px 24px;font:var(--reading-size)/1.9 var(--serif)}
.word-count{text-align:right;font:13px/1.7 var(--ui);color:var(--secondary);margin-top:8px}
.illustration{display:block;max-width:100%;height:auto;margin:22px auto}
.audio-panel{padding:0 0 25px;margin-bottom:24px;border-bottom:1px solid var(--line);font:14px/1.8 var(--ui)}
.audio-panel audio{width:100%;margin:14px 0 0;display:block}
.notice{font:15px/1.9 var(--ui);color:var(--secondary);padding:12px 0}
.part-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font:14px var(--ui)}
.book-note{max-width:896px;padding:0 18px;margin:0 auto 40px;display:flex;justify-content:space-between;gap:20px;color:var(--secondary);font-size:12px}
.receipt{margin:0 40px 20px;padding:25px 28px;background:var(--wash);border-radius:12px}
.receipt h2{font:400 25px/1.5 var(--serif);margin:0 0 8px}
.receipt .total{font:400 33px/1.5 var(--serif);margin:0 0 9px}
.score-list{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px}
.review{margin:20px 0;padding:20px;background:var(--wash);border-radius:10px;font:16px/1.9 var(--ui)}
.verdict{font:550 14px/1.7 var(--ui);color:var(--incorrect)}
.verdict.correct{color:var(--correct)}
.review .expl,.review .distr{white-space:pre-wrap;margin-top:13px}
.review blockquote{margin:20px 0 12px;padding:0 0 0 16px;border-left:1px solid var(--rule);font-family:var(--serif);font-size:17px}
.review .location{font:13px/1.7 var(--ui);color:var(--secondary);margin-bottom:5px}
.reference{margin-top:32px;padding-top:13px;border-top:1px solid var(--line);font:16px/1.9 var(--ui)}
summary{cursor:pointer;padding:9px 0;min-height:44px;font:500 16px/1.75 var(--ui)}
.reference-text{white-space:pre-wrap;margin:13px 0 22px}
.rating{font:15px/1.85 var(--ui);margin:24px 0;padding:20px 0;border-top:1px solid var(--line)}
.rating select{min-height:44px;padding:8px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);margin-left:10px;max-width:100%}
.rating p{font-size:14px;line-height:1.8;color:var(--secondary);margin-top:12px}
.scan-window{overflow-x:auto;margin:20px -16px 30px;max-width:calc(100% + 32px)}
.scan-page{position:relative;min-width:calc(750px * var(--scan-scale,1));width:calc(100% * var(--scan-scale,1));overflow:hidden;background:#fff}
.scan-page>img{position:absolute;left:0;width:100%;height:auto;display:block}
.scan-caption{text-align:right;font:12px/1.7 var(--ui);color:var(--secondary);margin:4px 0 13px}
.pin{position:absolute;z-index:2;transform:translate(-100%,-1px);font:15px/1.4 var(--ui);display:flex;gap:2px;align-items:flex-start;min-width:44px;min-height:44px}
.pin select{font:16px/1.3 var(--ui);padding:0;width:43px;height:25px;background:var(--wash);border:1px solid var(--control-line);border-radius:3px}
.pin:focus-within{z-index:4}
.pin.cloze{transform:translate(0,-4px)}
.pin.cloze select{height:23px;width:45px}
.pin span{font-size:12px;background:var(--paper)}
.pin.correct select{background:var(--correct-bg);border-color:var(--correct)}
.pin.incorrect select{background:var(--incorrect-bg);border-color:var(--incorrect)}
.scan-reference{margin-top:24px}
.scan-reference img{display:block;width:100%;height:auto;margin-bottom:20px}
.source-feedback{font:15px/1.9 var(--ui);margin:22px 0}
.source-feedback p{margin:10px 0}
.source-feedback button{font-size:13px;padding:7px 10px;min-height:44px}
.scan-hint{font:14px/1.9 var(--ui);color:var(--secondary)}
.history-page h1{margin:9px 0 14px;overflow-wrap:anywhere}
.record-tools{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.record-tools button{font-size:14px}
.history-filter{display:flex;align-items:center;gap:15px;font:14px/1.8 var(--ui);margin:22px 0}
.history-summary{display:flex;gap:25px;flex-wrap:wrap;padding:21px 0;margin:24px 0;border-block:1px solid var(--line);font:14px/1.7 var(--ui);color:var(--secondary)}
.history-summary strong{font:400 26px/1.4 var(--serif);color:var(--ink);margin:0 4px}
.history-summary small{display:block;font-size:12px}
.attempt-table{min-width:610px}
.attempt-table td{white-space:normal;font-size:14px}
.attempt-table strong{font:500 16px/1.7 var(--ui)}
.history-note{display:block;font-size:12px;color:var(--secondary);margin-top:5px}
.wrong-count,.unanswered-count{display:block}
.wrong-count{color:var(--incorrect)}
.unanswered-count{color:var(--secondary)}
.attempt-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.attempt-heading h1{margin-bottom:9px}
.attempt-heading p{margin:0}
.attempt-heading .attempt-date{font:14px/1.8 var(--ui);margin:6px 0 10px;color:var(--secondary)}
.attempt-heading button{flex:none}
.attempt-score{padding:24px 26px;background:var(--wash);border-radius:12px;margin-top:25px}
.attempt-score>strong{font:400 30px/1.5 var(--serif);display:block}
.attempt-score>span{font:14px/1.9 var(--ui);display:block;margin-top:8px}
.result-totals{display:flex;flex-wrap:wrap;gap:18px 30px;padding:22px 0;border-bottom:1px solid var(--line);font:14px/1.8 var(--ui)}
.result-totals strong{font:400 25px/1.5 var(--serif);margin-left:8px}
.attempt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:24px 0}
.result-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 18px}
.result-filters button{font-size:14px}
.result-filters button[aria-pressed=true]{background:var(--wash);border-color:var(--rule);font-weight:550}
.question-results{min-width:510px}
.question-results td{font:15px/1.8 var(--ui);white-space:normal}
.question-results small{font:12px/1.8 var(--ui);display:block;color:var(--secondary)}
.question-results .status-wrong{color:var(--incorrect);font-weight:550}
.question-results .status-correct{color:var(--correct)}
.question-results .status-unanswered,.question-results .status-skipped{color:var(--secondary)}
.history-target{scroll-margin-top:105px}
.toast{position:fixed;z-index:30;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);background:var(--ink);color:var(--ground);padding:13px 20px;border-radius:10px;font:14px/1.7 var(--ui)}
.focus-mode .book-header,.focus-mode .edition-notice,.focus-mode .book-note,.focus-mode .exam-history-bar{display:none}
.focus-mode .appbar{min-height:64px;padding-top:10px;padding-bottom:10px}
.focus-mode .app-actions>.quiet-button:not(#focus-button){display:none}
.focus-mode #focus-button{display:inline-flex!important}
.focus-mode .book{margin-top:0}
@media(max-width:1100px){
  .book{margin:18px 24px 40px}.catalog-book,.records,.shared-hub{margin:20px 24px 50px;padding:30px 24px}
  .page-back-row{padding-inline:24px}
  .book-header{padding-inline:24px}.edition-notice,.exam-history-bar{padding-inline:24px}.book .partnav{padding-inline:24px}
  .working-bar{padding-inline:24px}.receipt{margin-inline:24px}.time-tools{gap:10px}.part-en{display:none}
}
@media(max-width:800px){
  .appbar{padding:14px 24px;min-height:72px}.brand-name{font-size:17px}.brand-mark{width:23px;height:26px}
  .quiet-button{padding:0 10px}.directory-text{display:none}.directory{min-width:44px}.tool-name{display:none}
  .home-book.simple-home{margin:54px auto 40px;padding:0 24px;max-width:808px}
  .simple-home-header{margin-bottom:28px}.simple-home-header h1{font-size:30px}
  .home-mode-grid{gap:10px}.simple-home .simple-mode-card{min-height:78px;padding:0 15px;gap:10px}
  .simple-mode-card strong{font-size:15px}.simple-mode-card .ui-icon{width:20px;height:20px}.simple-mode-card .mode-arrow{display:none}
  .home-activity{grid-template-columns:1fr;gap:28px;margin-top:38px}
  .simple-home>.local-memory-note{margin-top:38px;font-size:12px}
}
@media(max-width:700px){
  .appbar{padding:11px 18px;gap:8px;min-height:68px}.brand{gap:8px}.brand-name{font-size:16px}
  .brand-text{font-size:18px}.page-back-row{padding:0 20px 10px;gap:10px}
  .app-actions{gap:0}.app-actions .quiet-button{min-width:44px;padding:0 7px;font-size:13px}
  .records-full{display:none}.records-short{display:inline}
  main#app{margin-bottom:20px}.book{margin:14px 0 30px}
  .book-header{padding:20px 20px 14px;align-items:flex-start;gap:14px}.book h1.edition-title{font-size:25px}
  .edition-kicker,.edition-side{font-size:12px}.edition-side{max-width:120px}.scope-parts{font-size:12px}
  .edition-notice{padding:0 20px 15px;font-size:14px}.exam-history-bar{padding:0 20px 15px;gap:4px 14px}
  .exam-history-bar button{font-size:12px}
  .book .partnav{padding:8px 15px;gap:3px}.part-tab{gap:6px;min-height:48px;padding:9px 4px}
  .part-index{font-size:14px}.part-zh{font-size:14px}.part-label{gap:0}.part-en{display:none}
  .working-bar{padding:10px 20px 15px;display:block}
  .reading-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .reading-tools:has(>button:only-child){display:flex}
  .section-tab{padding:7px 4px;gap:6px;font-size:12px}.section-tab b{font-size:15px}
  .time-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px 8px;margin-top:9px}
  .time-tools .answer-progress{grid-column:1;grid-row:1;font-size:12px}
  .time-tools .timer-group{grid-column:2;grid-row:1;justify-content:flex-end;gap:5px}
  .timer-group .timer{font-size:18px;min-width:53px}.timer-group .timer-button{font-size:12px}
  .time-tools .skip-toggle{grid-column:1;grid-row:2;font-size:12px}
  .time-tools .submit-button{grid-column:2;grid-row:2;justify-self:end;font-size:12px;padding:8px 12px}
  .book .paper{padding:28px 24px 34px}
  .part-heading{gap:10px;align-items:flex-start;padding-bottom:16px}.part-heading h2{font-size:24px}.part-heading>span{font-size:12px;margin-top:7px}
  .directions{font-size:17px}.wordbank{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
  .question{font-size:var(--reading-size);margin:25px 0}.option{padding:9px 8px;margin-inline:-8px;gap:10px}
  .q-select{min-width:58px;max-width:110px}.match-statement{gap:10px}
  .answer-area textarea{min-height:350px;padding:17px}.review{padding:16px;font-size:16px}
  .receipt{margin:0 20px 18px;padding:21px 22px}.receipt .total{font-size:28px}.score-list{gap:10px 18px}
  .rating select{display:block;margin:10px 0 0;max-width:100%}.book-note{padding:0 24px;display:block;font-size:12px}
  .book-note span{display:block;margin-bottom:4px}
  .catalog-book,.records,.shared-hub{margin:15px 0 35px;padding:24px}
  .catalog-book .intro{display:block;padding-bottom:20px}.catalog-book .intro h1{font-size:29px}
  .catalog-book .scope-note{text-align:left;font-size:14px!important;margin-top:16px}
  .filters{gap:12px;padding-top:20px}.filters label:first-child{width:100%}.filters input{width:100%}.filters .count{margin-left:0}
  .catalog td,.catalog th{padding-inline:7px}.catalog td:first-child{font-size:16px}.catalog td button{padding:7px 9px;font-size:13px}
  .catalog td:nth-child(3),.catalog th:nth-child(3){display:none}
  .catalog-history-meta{font-size:12px;max-width:150px}
  .shared-heading{align-items:flex-start;gap:15px}.shared-heading h1{font-size:28px}.shared-heading p{font-size:14px}
  .shared-score{min-width:86px;margin-top:55px}.shared-score strong{font-size:27px}.shared-score span{font-size:12px}
  .shared-explanation{font-size:14px}.shared-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shared-topic-tabs{gap:6px}.shared-topic-tabs button{font-size:12px;padding:7px 9px}
  .shared-table td,.shared-table th{padding:16px 6px}.shared-table td:first-child{font-size:16px}.shared-table td small{font-size:12px;max-width:145px}
  .shared-table td:nth-child(2){font-size:12px}.shared-table td:last-child{width:95px}.shared-table button{font-size:12px;padding:7px 9px;white-space:nowrap}
  .shared-table th{font-size:12px}.history-filter{display:block}.history-filter select{display:block;margin-top:8px;width:100%}
  .history-page h1{font-size:27px}.history-summary{gap:18px}.history-summary strong{font-size:23px}
  .record-tools button{font-size:13px}.attempt-heading{display:block}.attempt-heading>button{margin-top:18px}
  .attempt-score{padding:20px}.attempt-score>strong{font-size:26px}.attempt-actions{align-items:flex-start;flex-direction:column;gap:10px}
  .result-filters{gap:6px}.result-filters button{font-size:13px;padding:7px 10px}
  .history-page .attempt-table{min-width:0;width:100%}.attempt-table thead{display:none}
  .attempt-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}
  .attempt-table td{display:block;border:0;padding:0}.attempt-table td:first-child,.attempt-table td:last-child{grid-column:1/-1}
  .attempt-table .catalog-row-actions{flex-direction:row;align-items:center;gap:12px}.attempt-table .catalog-row-actions button{flex:1}
  .history-page .question-results{min-width:0;width:100%;table-layout:auto}
  .question-results th,.question-results td{padding:12px 4px;font-size:12px;white-space:normal}
  .question-results td:first-child{font-size:13px}.question-results button{min-width:44px;padding:7px 4px;font-size:12px}
  .scan-window{margin-inline:-10px;max-width:calc(100% + 20px)}
}
@media(min-width:701px) and (max-width:1100px){
  .appbar{padding:18px 28px;min-height:80px}
  .brand-name{font-size:19px}
  .home-book.simple-home{max-width:808px;margin:62px auto 46px;padding:0 40px}
  .simple-home-header h1{font-size:34px}
  .simple-home .simple-mode-card{min-height:80px;padding:0 20px;gap:14px}
  .simple-mode-card strong{font-size:17px}
  .simple-mode-card .mode-arrow{display:block}
  .home-activity{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:48px}
  .book-header{padding:24px 28px 18px}
  .book h1.edition-title{font-size:28px}
  .book .paper{max-width:820px;padding:34px 36px 40px}
  .book .partnav{padding-inline:24px}
  .part-tab{min-height:54px}
  .home-list>div{flex-wrap:wrap;gap:9px}
  .home-list button{max-width:none}
}
@media(min-width:701px) and (max-width:900px){
  .working-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 24px 16px}
  .reading-tools{justify-content:flex-start}
  .time-tools{justify-content:space-between;margin-left:0;gap:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none}}
@media print{body{background:white}.appbar,.working-bar,.partnav,.book-note,.exam-history-bar,.part-footer{display:none}.book{margin:0;max-width:none}.book .paper{max-width:none;padding:0}.question,.review{break-inside:avoid}.scan-window{overflow:visible}.scan-page{min-width:0;width:100%}main#app{margin:0}.book-header{padding:10px 0}}

/* Question navigation: inline answers, right rail on desktop, collapsible on small screens. */
.exam-layout{max-width:1376px;margin:26px auto 50px;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.exam-layout>.book{width:100%;min-width:0;max-width:none;margin:0}
.question-nav{position:sticky;top:20px;border:1px solid var(--line);border-radius:20px;background:var(--panel);overflow:hidden;font:14px/1.6 var(--ui)}
.question-nav-content{display:flex;flex-direction:column;max-height:calc(100dvh - 132px)}
.question-nav-header{padding:22px 20px 17px;flex:none;border-bottom:1px solid var(--line)}
.question-nav-title{font-size:15px;line-height:1.6;font-weight:550;margin:0 0 16px;text-wrap:pretty}
.nav-progress-row{display:flex;justify-content:space-between;color:var(--secondary);font-size:12px;margin-bottom:7px;font-variant-numeric:tabular-nums}
.nav-progress{display:block;border:0;width:100%;height:6px;border-radius:10px;overflow:hidden;background:var(--wash);accent-color:var(--accent)}
.nav-progress::-webkit-progress-bar{background:var(--wash);border-radius:10px}.nav-progress::-webkit-progress-value{background:var(--accent);border-radius:10px}.nav-progress::-moz-progress-bar{background:var(--accent);border-radius:10px}
.nav-legend{display:flex;gap:16px;font-size:11px;color:var(--secondary);margin:10px 0 0}.nav-legend span{display:flex;align-items:center;gap:5px}.nav-legend i{width:9px;height:9px;border:1px solid var(--rule);border-radius:50%}.nav-legend i.answered{background:var(--accent);border-color:var(--accent)}
.question-nav-groups{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-block:2px}
.question-nav-group{padding:17px 16px 18px;border-bottom:1px solid var(--line)}.question-nav-group:last-child{border-bottom:0}
.question-nav-group h3{font-size:14px;font-weight:550;display:flex;align-items:center;gap:9px;margin:0 0 12px;line-height:1.5}
.nav-roman{font-size:12px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:var(--wash);color:var(--secondary)}.is-current-part .nav-roman{background:var(--accent);color:var(--ground)}
.question-number-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 4px}
.question-number{width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--control-line);border-radius:50%;justify-self:center;background:transparent;font-size:14px;line-height:1;font-variant-numeric:tabular-nums}
.question-number.is-answered{background:var(--accent);border-color:var(--accent);color:var(--ground)}.question-number:hover{border-color:var(--accent)}.question-number.is-answered:hover{background:var(--accent-hover)}
.question-number.is-current{outline:2px solid var(--focus);outline-offset:2px}.question-number:disabled{opacity:.36;background:var(--wash);color:var(--secondary);border-style:dashed}
.question-subjective{width:100%;border:1px solid var(--control-line);border-radius:24px;min-height:44px;padding:8px 14px;font-size:14px}.question-subjective.is-answered{background:var(--accent);border-color:var(--accent);color:var(--ground)}.question-subjective[aria-current=location]{outline:2px solid var(--focus);outline-offset:2px}
.question-nav-actions{flex:none;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}.question-nav-actions button{border-radius:24px;padding:9px 8px;font-size:14px}.question-nav-actions [data-save-draft]{background:var(--wash);border-color:transparent}.question-nav-actions button:disabled{opacity:.45}
.question-nav-toggle{display:none}.question-target{scroll-margin-block:100px}.question-nav [aria-current=location]:focus-visible{outline-width:3px}
@media(min-width:1200px) and (max-width:1399px){.exam-layout{gap:20px;padding-inline:20px}.exam-layout .book-header,.exam-layout .working-bar{padding-inline:24px}.exam-layout .book .partnav{padding-inline:20px}.exam-layout .time-tools{gap:8px}.exam-layout .timer-button{padding-inline:6px}}
@media(max-width:1199px){
 .exam-layout{max-width:1024px;display:flex;flex-direction:column;gap:18px;margin:18px auto 40px;padding:0 24px}.exam-layout>.book{order:2}.question-nav{order:1;position:sticky;top:0;z-index:21;width:100%;border-radius:12px;overflow:hidden}
 .question-nav-toggle{display:flex;width:100%;align-items:center;gap:10px;border:0;border-radius:12px;padding:12px 16px;text-align:left;background:var(--panel)}.nav-mobile-progress{color:var(--secondary);font-size:12px;margin-left:auto;font-variant-numeric:tabular-nums}.nav-toggle-label{font-size:12px;color:var(--secondary)}
 .question-nav-content{display:none;max-height:min(72dvh,760px)}.question-nav.is-open .question-nav-content{display:flex}.question-nav-header{padding:16px 20px}.question-nav-groups{display:grid;grid-template-columns:1fr 1fr}.question-nav-group:nth-child(odd){border-right:1px solid var(--line)}.question-nav-group:last-child{border-bottom:1px solid var(--line)}.question-number-grid{gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))}.question-nav-title{margin-bottom:10px}
}
@media(max-width:700px){.exam-layout{padding:0;margin:12px 0 30px;gap:12px}.question-nav{width:calc(100% - 40px);margin:0 20px}.question-nav-groups{display:block}.question-nav-group:nth-child(odd){border-right:0}.question-number-grid{gap:8px 4px}.question-nav-group{padding:16px}.question-nav-content{max-height:70dvh}.question-nav-actions{padding:12px 16px}.question-nav-header{padding:16px}}
@media print{.question-nav{display:none!important}.exam-layout{display:block;padding:0;margin:0;max-width:none}}

/* Display controls, paired dark palette, and unified interaction feedback. */
:root[data-theme="dark"]{
 --ground:#1e1e1c;--paper:#262624;--ink:#e8e6df;--secondary:#b3b0a6;--muted:#b3b0a6;
 --accent:#e8e6df;--accent-hover:#fffaf0;--clay:#e29a7b;--link:#e3ad8f;--wash:#2b2b28;
 --line:#40403b;--rule:#66665d;--focus:#e6ac8e;--correct:#a1c79b;--incorrect:#f4a39c;
 --selected:#3c3b35;--selection:#5c4b3c;--control-line:#8a887d;--panel:#242421;
 --correct-bg:#243828;--incorrect-bg:#442e2b;--scroll-thumb:#747268;color-scheme:dark;
}
.theme-sun{display:none}:root[data-theme="dark"] .theme-moon{display:none}:root[data-theme="dark"] .theme-sun{display:block}
.font-control{position:relative;flex:none}
.font-panel{position:absolute;z-index:50;right:0;top:calc(100% + 10px);width:286px;max-width:calc(100vw - 32px);background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:20px;box-shadow:0 10px 28px #00000018}
.range-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font:500 14px/1.6 var(--ui)}
.range-heading output{font:500 15px/1.6 var(--ui);font-variant-numeric:tabular-nums;color:var(--ink)}
.appearance-range{appearance:none;-webkit-appearance:none;display:block;cursor:ew-resize;touch-action:pan-y;width:100%;height:44px;margin:8px 0 0;padding:0;background:transparent;accent-color:var(--accent)}
.appearance-range::-webkit-slider-runnable-track{height:5px;background:var(--line);border-radius:5px}.appearance-range::-moz-range-track{height:5px;background:var(--line);border-radius:5px}
.appearance-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8.5px;border:3px solid var(--paper);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--rule)}
.appearance-range::-moz-range-thumb{width:16px;height:16px;border:3px solid var(--paper);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--rule)}
.range-ends{display:flex;justify-content:space-between;color:var(--secondary);font:12px/1.6 var(--ui);margin-top:-2px}.zoom-row{padding-top:18px;margin-top:16px;border-top:1px solid var(--line)}
.font-panel .font-reset{width:100%;margin-top:18px;font-size:13px;min-height:44px;color:var(--secondary)}
button{transition:background .14s,border-color .14s,color .14s,transform .1s,box-shadow .1s}
button:not(:disabled):is(:active,.is-pressing){transform:translateY(1px) scale(.975);box-shadow:inset 0 0 0 1px var(--control-line)}
button:not(:disabled).press-feedback{box-shadow:inset 0 0 0 2px var(--focus)}
button[aria-pressed="true"],.app-actions button[aria-current="page"],#font-button[aria-expanded="true"]{background:var(--selected);border-color:var(--rule);color:var(--ink)}
button:not(:disabled):focus-visible{outline:2px solid var(--focus);outline-offset:4px}
summary:active{background:var(--wash)}details[open]>summary{color:var(--link)}
.option:active,.skip-toggle:active{background:var(--selected)}
.book .paper{font-size:var(--reading-size)}.paper .directions,.paper .wordbank{font-size:var(--reading-size)}
.paper .review,.paper .reference{font-size:calc(var(--reading-size) - 2px)}.paper .review blockquote{font-size:var(--reading-size)}
.focus-mode #theme-button,.focus-mode .font-control{display:inline-flex!important}.focus-mode .font-control[hidden]{display:none!important}
:root[data-theme="dark"] .scan-page{background:#fff}:root[data-theme="dark"] .scan-page>img,:root[data-theme="dark"] .scan-reference img{filter:brightness(.86)}
:root[data-theme="dark"] .pin{color:var(--ink)}:root[data-theme="dark"] .pin select{color:var(--ink)}
@media(max-width:700px){
 .appbar{flex-wrap:wrap;gap:4px 8px}.app-actions{margin-left:auto;gap:0;max-width:100%}.app-actions .quiet-button{padding-inline:6px;min-width:44px}.theme-label{display:none}
 .font-control{position:static}.font-panel{position:absolute;right:16px;top:64px}.appbar{position:relative;z-index:30}.theme-button svg{width:19px;height:19px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}button:not(:disabled):is(:active,.is-pressing){transform:none}}
@media print{:root[data-theme="dark"]{--ground:#fff;--paper:#fff;--ink:#20201e;--secondary:#555;--line:#ddd;--wash:#f5f5f5;color-scheme:light}.font-panel{display:none!important}:root[data-theme="dark"] .scan-page>img,:root[data-theme="dark"] .scan-reference img{filter:none}}

/* Wrong-answer notebook: existing study records, separate mastery/retry memory. */
/* Learning closure: secondary study surfaces keep the eight launch cards unchanged. */
.resource-status{position:fixed;z-index:90;bottom:18px;left:50%;transform:translateX(-50%);width:min(340px,calc(100% - 40px));padding:12px 18px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);color:var(--ink);font:13px/1.7 var(--ui)}.resource-status progress{display:block;width:100%;height:4px;margin-top:8px;accent-color:var(--accent)}
.review-home{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:32px 0 0;padding:24px 0;border-block:1px solid var(--line)}.review-home h2{margin:0 0 8px;font:550 18px/1.6 var(--ui)}.review-home p{margin:0;color:var(--secondary);font-size:13px}.review-home>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.review-home button{font-size:13px}.backup-reminder{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--secondary);font:12px/1.7 var(--ui);margin:22px 0 0}.backup-reminder button{font-size:12px}
.backup-preview table{margin-block:26px}.restore-options{border:0;padding:16px 0;margin:0}.restore-options legend{font-weight:550;margin-bottom:10px}.restore-options label{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:14px}.restore-options input{margin-top:6px}.backup-preview .record-tools{margin-top:22px}.backup-preview #restore-error{margin-top:20px}
.queue-options,.analysis-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:28px 0 22px}.queue-options label,.analysis-filters label{display:grid;gap:7px;font:13px/1.7 var(--ui);color:var(--secondary);min-width:150px}.queue-options select,.analysis-filters select{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.due-list{margin-top:26px;border-top:1px solid var(--line)}.due-list>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.due-list small{color:var(--secondary);flex:none}.future-reviews{margin-top:26px}.future-reviews summary{cursor:pointer;font-size:14px}.future-reviews p{font-size:13px;color:var(--secondary)}.queue-progress{color:var(--secondary);font-size:13px;margin:28px 0 16px}.word-review h1{font:400 38px/1.5 var(--serif);overflow-wrap:anywhere}.word-review-context{font:21px/1.9 var(--serif);margin:28px 0;max-width:65ch}.word-review #word-review-meaning{border-top:1px solid var(--line);margin-top:28px;padding-top:8px}.queue-grade{margin:24px 0 28px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:14px var(--ui)}.queue-grade p{width:100%;margin:0 0 8px;color:var(--secondary)}.queue-finished>button{margin:12px 8px 0 0}.learning-analysis h2{margin-top:38px}.study-suggestion{margin:20px 0 30px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.study-suggestion p{margin-top:0}.study-suggestion button{margin:0 8px 8px 0;font-size:13px}.repeat-list>div{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.repeat-list small{margin-left:auto;color:var(--secondary)}.repeat-list button{font-size:13px}.resume-audio button{font:inherit;padding:0 6px;min-height:32px;text-decoration:underline;text-underline-offset:4px;border:0;color:var(--link)}.supplement-reference{margin:20px 0}.supplement-reference .scan-window{margin-bottom:20px}.learning-analysis .table-scroll{margin-top:18px}.learning-analysis th{white-space:nowrap}
@media(max-width:700px){.review-home{align-items:flex-start;gap:16px;flex-direction:column;margin-top:24px}.review-home>div:last-child{width:100%}.review-home button{flex:1}.backup-reminder{align-items:flex-start}.backup-reminder button{flex:none}.queue-options,.analysis-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.queue-options label,.analysis-filters label{min-width:0}.queue-options label:last-child{grid-column:1/-1}.queue-options select,.analysis-filters select{width:100%}.due-list>div{display:block}.due-list small{display:block;margin-top:6px}.queue-grade button{width:100%}.repeat-list>div{display:grid;grid-template-columns:1fr auto;gap:8px}.repeat-list small{margin:0}.repeat-list button{grid-column:2;grid-row:1/3}.word-review h1{font-size:32px}.word-review-context{font-size:19px}}
/* Study tools share the existing warm paper palette in light and dark modes. */
.quick-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:20px 0 24px}.quick-filters label{display:grid;gap:6px;min-width:120px;font:13px/1.5 var(--ui);color:var(--secondary)}.quick-filters select{padding:9px 12px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.quick-filters button{font-size:13px}
.reference-mode{margin:0;line-height:1.9}.reference-mode small{font-size:12px;color:var(--secondary)}.comparison-reference-only{margin-block:24px}.comparison-reference-only h3{margin-top:0}
.view-switch{display:flex;gap:6px;margin-bottom:18px}.view-switch button{font-size:13px}.wrong-material{border-bottom:1px solid var(--rule)}.wrong-material>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0 4px}.wrong-material>header p{margin:0;color:var(--secondary);font-size:12px}.wrong-material>header h2{margin:4px 0;font:550 17px/1.65 var(--ui)}.wrong-material>header button{font-size:13px;flex:none}.wrong-material .wrongbook-row:last-child{border-bottom:0}.note-preview{margin:8px 0 0;font-size:13px;color:var(--link);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.material-questions>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:18px 0;font:14px var(--ui)}.material-questions>div>span{color:var(--secondary);margin-right:auto}
.error-note{margin:32px 0;padding:24px;background:var(--wash);border-radius:10px;font:14px/1.8 var(--ui)}.error-note h3{margin:0 0 16px;font-size:18px}.error-note>label{display:grid;gap:7px;margin:12px 0;color:var(--secondary)}.error-note select,.error-note textarea{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:7px;padding:10px;resize:vertical}.error-note select{max-width:240px;min-height:44px}.note-save-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.note-status{font-size:12px;color:var(--secondary)}
.listening-lab{margin-bottom:36px}.listening-lab .audio-panel{margin-bottom:12px}.listen-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:13px var(--ui);margin-top:14px}.listen-controls label{display:flex;align-items:center;gap:7px}.listen-controls select{border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:8px;min-height:44px}.listen-controls button{font-size:13px;padding:8px 11px}.ab-status{display:block;width:100%;font:12px/1.8 var(--ui);color:var(--secondary);margin-top:3px}.listen-note{font:13px/1.8 var(--ui);color:var(--secondary);margin:14px 0 20px}.book-transcripts,.asr-captions{border-block:1px solid var(--line);margin-block:14px;font-size:var(--reading-size,19px)}.book-transcripts>summary,.asr-captions>summary{cursor:pointer;padding:14px 0;font:500 14px/1.8 var(--ui)}.transcript-group{padding:12px 0 24px;border-top:1px solid var(--line)}.transcript-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.transcript-heading h3{font:550 16px/1.8 var(--ui);margin:8px 0 18px}.transcript-heading button{font:12px var(--ui);margin-bottom:10px}.transcript-text{white-space:normal;line-height:1.95;font-family:var(--serif);overflow-wrap:anywhere}.caption-follow{display:flex;gap:8px;align-items:center;font:13px var(--ui);padding-block:6px 18px}.caption-list{position:relative;max-height:350px;overflow:auto;overscroll-behavior:contain;margin-bottom:20px;border:1px solid var(--line);border-radius:8px}.caption-list button{display:grid;grid-template-columns:52px 1fr;width:100%;gap:12px;text-align:left;border:0;border-radius:0;border-bottom:1px solid var(--line);padding:13px;line-height:1.7;font-family:var(--serif);font-size:calc(var(--reading-size,19px) - 2px)}.caption-list button:last-child{border-bottom:0}.caption-list time{font:12px/2 var(--ui);color:var(--secondary)}.caption-list .is-current{background:var(--selected);box-shadow:inset 3px 0 var(--link)}
.selection-tools{position:fixed;z-index:100;display:flex;gap:4px;border:1px solid var(--rule);border-radius:9px;background:var(--paper);padding:5px;box-shadow:0 4px 16px #0002}.selection-tools button{font:13px var(--ui);min-height:40px}.selection-tools [data-close-selection]{padding-inline:12px}.vocab-add{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:28px 0}.vocab-add label,.vocab-filters label,.vocab-meaning{display:grid;gap:7px;color:var(--secondary);font:13px/1.7 var(--ui)}.vocab-add input,.vocab-filters input,.vocab-filters select,.vocab-meaning textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:15px/1.7 var(--ui)}.vocab-filters{display:grid;grid-template-columns:1fr 160px;gap:14px;margin:20px 0 28px}.vocab-row{padding:22px 0 28px;border-top:1px solid var(--line)}.vocab-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.vocab-heading h2{font:400 25px/1.5 var(--serif);margin:0;overflow-wrap:anywhere}.vocab-heading button,.vocab-row>button{font-size:13px}.vocab-meaning{margin-bottom:10px}.vocab-meaning textarea{resize:vertical}.vocab-contexts{margin-top:22px}.vocab-contexts summary{cursor:pointer;font-size:13px;color:var(--secondary)}.vocab-contexts>div{border-left:2px solid var(--line);padding-left:18px;margin-top:18px}.vocab-contexts p{font:17px/1.9 var(--serif);overflow-wrap:anywhere;margin:0 0 10px}.vocab-contexts button{font:12px/1.7 var(--ui);padding:6px 10px}
.comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.comparison-heading h3{margin:0;font-size:20px}.comparison-heading label{display:grid;gap:6px;color:var(--secondary);font:12px/1.6 var(--ui)}.comparison-heading select{max-width:340px;min-width:190px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--paper);color:var(--ink)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border-block:1px solid var(--line)}.comparison-column{min-width:0;padding:20px 22px 26px 0}.comparison-column+.comparison-column{border-left:1px solid var(--line);padding-left:22px;padding-right:0}.comparison-column>h4{font:500 13px/1.8 var(--ui);color:var(--secondary);margin:0 0 18px}.comparison-column h4>span{display:block;font-weight:400;font-variant-numeric:tabular-nums}.my-answer,.comparison-content{font-family:var(--serif);line-height:1.95;overflow-wrap:anywhere}.comparison-content h4{font:550 15px/1.8 var(--ui)}.comparison-content .reference-text{font-size:inherit}.self-checks{border:0;padding:22px 0 4px;margin:0;font:14px/1.8 var(--ui)}.self-checks legend{float:left;width:100%;font-weight:550;margin-bottom:14px}.self-checks label{display:flex;align-items:flex-start;gap:9px;clear:both;padding:8px 0;cursor:pointer}.self-checks input{margin-top:6px;flex:none}.subjective-review .rating{margin-top:20px}.comparison-reference-only .scan-reference img{max-width:100%}
@media(max-width:1000px){.comparison-grid{grid-template-columns:1fr}.comparison-column{padding-right:0}.comparison-column+.comparison-column{border-left:0;border-top:1px solid var(--line);padding-left:0}.comparison-content{max-height:560px;overflow:auto;overscroll-behavior:contain}.vocab-label{display:none}}
@media(max-width:700px){.app-actions .directory{display:none}.vocab-control{min-width:44px}.font-panel{top:calc(100% + 8px)}.quick-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-filters label{min-width:0}.quick-filters button{align-self:end}.home-record-links{gap:8px;flex-wrap:wrap;justify-content:flex-end}.home-record-links button{font-size:12px}.wrong-material>header{align-items:flex-start}.wrong-material>header h2{font-size:15px}.error-note{padding:18px}.vocab-add{grid-template-columns:1fr}.vocab-filters{grid-template-columns:1fr 120px}.vocab-heading{align-items:flex-start}.vocab-heading h2{font-size:23px}.comparison-heading{align-items:flex-start;flex-direction:column}.comparison-heading label{width:100%}.comparison-heading select{width:100%;max-width:100%}.transcript-heading{align-items:flex-start;flex-direction:column;gap:0}.caption-list button{grid-template-columns:42px 1fr;gap:8px;padding:12px 10px}.listen-controls button{flex:1;white-space:nowrap}.listen-controls label{width:100%;justify-content:space-between}.listen-controls select{flex:1;max-width:160px}}
.home-record-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
/* Deliberate practice: quiet supplemental controls, original paper stays uncluttered. */
.mark-panel{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:18px 0 28px;padding:16px 0;border-block:1px solid var(--line);font:13px/1.7 var(--ui)}.mark-panel>label{display:flex;align-items:center;gap:8px}.mark-panel>div{display:flex;gap:8px;flex-wrap:wrap}.mark-panel select,.dictation-picker select,.dictation-controls select,.page-note-panel select{min-height:44px;padding:8px 10px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:7px;font:14px var(--ui)}.mark-panel button,.flag-summary-button,.active-listening-entry button{font-size:13px}.mark-panel p{flex-basis:100%;margin:0;color:var(--secondary);font-size:12px}.mark-panel button[aria-pressed=true],.flag-sheet button[aria-pressed=true]{background:var(--selected);border-color:var(--secondary)}.flag-summary-button{margin-top:16px}.flag-sheet{margin:20px 0 32px;padding:20px 0;border-block:1px solid var(--line);font:14px/1.8 var(--ui)}.flag-sheet header{display:flex;align-items:center;justify-content:space-between;gap:16px}.flag-sheet h3{margin:0;font-size:17px}.flag-sheet>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.flag-sheet>div span{margin-right:auto;color:var(--secondary)}.flag-sheet button{font-size:13px}.question-number.is-uncertain{text-decoration:underline;text-underline-offset:5px}.question-number.is-later{position:relative}.question-number.is-later:after{content:'';position:absolute;right:1px;top:1px;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.annotation-mark{color:inherit;background:transparent;text-decoration:underline;text-decoration-color:var(--link);text-decoration-thickness:1.5px;text-underline-offset:5px;cursor:pointer;border:0;border-radius:0;padding:0}.annotation-mark:focus-visible{outline:2px solid var(--link);outline-offset:3px}.annotation-editor,.page-note-panel{font:14px/1.85 var(--ui);margin:28px 0;padding:24px 0;border-block:1px solid var(--line)}.annotation-editor h3{margin-top:0;font-size:19px}.annotation-editor blockquote,.annotation-book blockquote{margin:18px 0;padding-left:18px;border-left:2px solid var(--line);font:20px/1.9 var(--serif);overflow-wrap:anywhere}.annotation-editor label,.page-note-panel label,.revision-view label,.dictation-answer{display:grid;gap:9px;color:var(--secondary);font:14px/1.8 var(--ui)}.annotation-editor textarea,.page-note-panel textarea,.revision-view textarea,.dictation-answer textarea{width:100%;min-width:0;padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;resize:vertical;font:var(--reading-size,19px)/1.9 var(--serif)}.annotation-editor>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.annotation-editor button,.page-note-panel button{font-size:13px}.page-note-panel summary{cursor:pointer;font-weight:500}.page-note-panel label{margin-top:18px}.page-note-panel select{max-width:160px}.page-note-panel button{margin-top:14px}.annotation-book article{padding:18px 0 26px;border-bottom:1px solid var(--line)}.annotation-book article header{color:var(--secondary);font:13px/1.8 var(--ui)}.annotation-book article>p{white-space:pre-wrap;overflow-wrap:anywhere}.annotation-book article button{font-size:13px}.selection-tools{max-width:calc(100vw - 24px);flex-wrap:wrap}.selection-tools button{min-height:44px}.active-listening-entry{margin:0 0 14px}
.dictation-view #paper,.revision-view #paper{padding-block:28px}.dictation-picker{display:grid;gap:8px;color:var(--secondary);font:13px/1.7 var(--ui)}.dictation-picker select{width:100%;max-width:100%;text-overflow:ellipsis}.dictation-view audio{display:block;width:100%;margin-top:22px}.dictation-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 30px;font:13px/1.8 var(--ui)}.dictation-controls button{font-size:13px}.dictation-controls label{display:flex;align-items:center;gap:7px}.dictation-controls input{width:17px;height:17px}.dictation-controls #dictation-window{width:100%;color:var(--secondary);font-variant-numeric:tabular-nums}.dictation-actions,.revision-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}.dictation-actions button,.revision-actions button{font-size:14px}.dictation-feedback,.revision-diff{border-top:1px solid var(--line);padding-top:20px;margin-top:26px}.dictation-feedback h3,.revision-diff h3{font:500 19px/1.7 var(--ui)}.dictation-feedback p{font:14px/1.9 var(--ui)}.dictation-feedback .reference-text{font:var(--reading-size,19px)/1.95 var(--serif)}.word-diff{font:var(--reading-size,19px)/2.2 var(--serif)!important;overflow-wrap:anywhere}.word-diff del{color:var(--secondary);text-decoration-thickness:1px}.word-diff ins{color:var(--link);text-underline-offset:5px;text-decoration-thickness:1.5px}.dictation-history{border-top:1px solid var(--line);padding:18px 0;margin-top:26px;font:13px/1.9 var(--ui);color:var(--secondary)}.dictation-history summary{cursor:pointer;color:var(--ink)}
.revision-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}.revision-grid>section{min-width:0}.revision-grid h3{font:500 14px/1.8 var(--ui);margin:0 0 9px;color:var(--secondary)}.revision-grid .reference-text{white-space:pre-wrap;font:var(--reading-size,19px)/1.9 var(--serif);overflow-wrap:anywhere;padding:14px 0}.revision-reason{margin:22px 0}.revision-reason textarea{font:15px/1.8 var(--ui)}.revision-list{padding-top:22px;margin-top:24px;border-top:1px solid var(--line);font:13px/1.8 var(--ui)}.revision-list h3{font-size:18px}.revision-list>div{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:15px}.revision-list button{font-size:13px}.paper:focus-visible{outline:0}.uncertain-review .question{outline:0}
@media(max-width:1000px){.revision-grid{grid-template-columns:1fr}.revision-grid>section+section{padding-top:20px;border-top:1px solid var(--line)}}
@media(max-width:700px){.mark-panel{gap:12px}.mark-panel>div{width:100%;gap:7px}.mark-panel button{padding-inline:11px}.mark-panel>div>button{flex:1;white-space:nowrap}.flag-sheet>div span{width:calc(100% - 100px);font-size:12px}.dictation-controls{gap:8px}.dictation-controls button{flex:1;white-space:nowrap;padding-inline:10px}.dictation-controls label{min-height:44px}.dictation-controls label:last-of-type{margin-left:auto}.dictation-actions button,.revision-actions button{flex:1;min-width:130px}.dictation-view #paper,.revision-view #paper{padding-block:20px}.annotation-editor blockquote,.annotation-book blockquote{font-size:18px}.revision-list>div{align-items:flex-start;flex-direction:column;gap:8px}.home-record-links{justify-content:flex-start}}
.wrongbook-viewbar{display:flex;justify-content:flex-end;margin:0 0 16px;padding-top:18px}.wrongbook-viewbar .view-switch{display:inline-flex;gap:4px;padding:4px;margin:0;border:1px solid var(--line);border-radius:11px;background:var(--wash)}.wrongbook-viewbar .view-switch button{min-width:88px;min-height:44px;font:500 13px/1.5 var(--ui);padding:9px 16px;border-color:transparent;border-radius:7px;color:var(--secondary)}.wrongbook-viewbar .view-switch button[aria-pressed=true]{color:var(--ink);background:var(--paper);border-color:var(--rule)}.wrongbook-viewbar .view-switch button:hover{color:var(--ink)}
:root{--annotation-highlight:#f7e6a2}:root[data-theme=dark]{--annotation-highlight:#665729}.annotation-mark.annotation-highlight{background:var(--annotation-highlight);color:var(--ink);text-decoration:none;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.annotation-popover{position:fixed;z-index:110;width:340px;max-width:calc(100vw - 24px);margin:0;padding:16px 18px;border:1px solid var(--rule);border-radius:12px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;font:14px/1.7 var(--ui);scrollbar-width:thin}.annotation-popover>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.annotation-popover h3{font:550 16px/1.6 var(--ui);margin:0}.annotation-popover>header>button{min-width:44px;min-height:44px;padding:6px;font-size:22px;line-height:1;border:0;margin:-6px -8px -6px 0}.annotation-style-switch{display:flex;gap:6px;margin:14px 0 12px}.annotation-style-switch button{min-height:44px;min-width:74px;font:13px var(--ui)}.annotation-style-switch button[aria-pressed=true]{background:var(--selected);border-color:var(--rule)}.annotation-popover blockquote{border:0;margin:10px 0 16px;padding:0;max-height:5.1em;overflow:auto;white-space:pre-wrap;font:16px/1.7 var(--serif);color:var(--secondary)}.annotation-popover>label{display:block;margin:0 0 7px;color:var(--secondary);font:13px/1.7 var(--ui)}.annotation-popover textarea{display:block;width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--ground);color:var(--ink);resize:vertical;font:16px/1.7 var(--ui);min-height:94px}.annotation-popover .annotation-sentence{display:flex;align-items:center;gap:9px;margin:14px 0 8px;min-height:28px;color:var(--ink);cursor:pointer}.annotation-sentence input{width:17px;height:17px;flex:none}.annotation-popover #annotation-save-status{font:12px/1.6 var(--ui);margin:6px 0 14px;min-height:20px;color:var(--secondary)}.annotation-popover footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.annotation-popover footer button{font:13px var(--ui);min-height:44px;padding:9px 13px}.annotation-popover footer [data-remove-annotation]{border-color:transparent;color:var(--secondary)}
@media(max-width:700px){.wrongbook-viewbar{justify-content:flex-start}.annotation-popover{width:340px;padding:14px 16px}.selection-tools{gap:2px}.selection-tools button{padding-inline:10px;font-size:12px}}
.wrongbook-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.wrongbook-heading h1{margin-bottom:8px}.wrongbook-heading p{margin:0;font-size:14px}.wrongbook-heading>button{font-size:13px;flex:none}
.wrongbook-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 20px}.wrongbook-tabs button{font-size:14px}.wrongbook-tabs button>span{margin-left:10px;font-variant-numeric:tabular-nums;color:var(--secondary)}
.wrongbook-filters{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,1.5fr) minmax(120px,.8fr);gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.wrongbook-filters label{display:flex;flex-direction:column;gap:7px;font:13px/1.6 var(--ui);color:var(--secondary);min-width:0}.wrongbook-filters input,.wrongbook-filters select{min-height:44px;width:100%;min-width:0;padding:9px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;font:15px/1.6 var(--ui)}
.wrongbook-rule{margin:16px 0 24px}.wrongbook-result-count{font-size:13px;color:var(--secondary);margin:16px 0 0}.wrongbook-list{border-top:1px solid var(--line);margin-top:12px}
.wrongbook-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.wrongbook-row-body{min-width:0;flex:1}.wrongbook-row h2{font:550 18px/1.7 var(--ui);margin:5px 0 10px}.wrongbook-row h2 span{display:block;font:400 17px/1.7 var(--serif);margin-top:8px;max-width:68ch;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wrongbook-item-meta,.wrongbook-item-history{font:13px/1.8 var(--ui);color:var(--secondary);margin:0}.wrongbook-item-history>span{display:inline-block;margin-left:14px;color:var(--ink)}.wrongbook-row-actions{display:flex;flex-direction:column;gap:8px;flex:none;min-width:108px}.wrongbook-row-actions button{font-size:13px;padding:8px 12px;white-space:nowrap}
.wrongbook-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}.wrongbook-pagination>span{font-size:13px;color:var(--secondary);font-variant-numeric:tabular-nums}.wrongbook-pagination:empty{display:none}.wrongbook-empty{padding:48px 0}.wrongbook-empty h2{font:400 25px/1.5 var(--serif);margin:0 0 12px}.wrongbook-empty p{color:var(--secondary);font-size:14px;margin:0 0 20px}
.wrong-question-view .book-header{align-items:flex-start}.wrong-question-view .book-header>button{font-size:13px;flex:none}.wrong-practice-note{font:13px/1.8 var(--ui);padding:0 40px;color:var(--secondary);margin:0}.wrong-practice-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;font:14px var(--ui)}.wrong-practice-result{font:14px/1.8 var(--ui);color:var(--secondary);margin:20px 0 0}.wrong-choice-label{font:15px var(--ui)}.wrong-passage-blank{white-space:nowrap;border-bottom:1px solid var(--rule);font-weight:550}.wrong-passage-blank.target-blank{background:var(--selected);padding:3px 7px;border-radius:4px}.wrong-passage{margin-bottom:35px}.wrong-passage h3{font:400 24px/1.5 var(--serif);margin:0 0 20px}.wrong-single-question{scroll-margin-top:24px}.wrong-source-question{margin-bottom:28px}.wrong-history ul{list-style:none;margin:12px 0 0;padding:0}.wrong-history li{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font:13px/1.8 var(--ui);color:var(--secondary)}.wrong-history button{font-size:12px;flex:none}
@media(max-width:700px){.wrongbook-label,.records-short{display:none}.wrongbook-heading{display:block}.wrongbook-heading>button{margin-top:18px}.wrongbook-filters{grid-template-columns:1fr 1fr;gap:12px}.wrongbook-filters label:first-child{grid-column:1/-1}.wrongbook-row{display:block;padding:22px 0}.wrongbook-row-actions{margin-top:16px;flex-direction:row;flex-wrap:wrap;gap:8px}.wrongbook-row-actions button{flex:1}.wrongbook-row h2{font-size:17px}.wrongbook-item-history{font-size:12px}.wrongbook-tabs{gap:6px}.wrongbook-tabs button{font-size:13px;padding:8px 12px}.wrongbook-tabs button>span{margin-left:6px}.wrong-question-view .book-header{display:block}.wrong-question-view .book-header>button{margin-top:16px}.wrong-practice-note{padding-inline:20px}.wrong-history li{align-items:flex-start;flex-direction:column}.wrong-practice-actions button{flex:1}.wrongbook-heading h1{font-size:29px}}

/* Clear controls and a separate, wrapping learning-tools row. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
button{border-color:var(--control-line);background:var(--paper)}
button:not(:disabled):hover{border-color:var(--control-line)}
.app-actions{gap:6px}
.quiet-button,.quiet-home{border:1px solid var(--control-line);background:var(--paper);color:var(--ink)}
.quiet-button:hover,.quiet-home:hover{border-color:var(--control-line);background:var(--wash)}
.part-tab,.section-tab,.timer-button{border:1px solid var(--control-line);background:var(--paper)}
.part-tab.is-active,.section-tab.is-active{border-color:var(--control-line);background:var(--selected)}
.timer-button{padding:7px 10px;min-height:44px}
.exam-history-bar button{border:1px solid var(--control-line);background:var(--paper);padding:8px 13px;color:var(--ink)}
.exam-history-bar button:hover{background:var(--wash);text-decoration:none;border-color:var(--control-line)}
.book-header>div{min-width:0}.book-header{position:relative}
.home-activity{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px;padding-top:0;border-top:0}
.home-section{min-width:0}.home-section h2{white-space:nowrap;font:550 18px/1.6 var(--ui)}
.home-section .section-title-row{gap:20px;margin-bottom:12px;align-items:center}
.home-section .section-title-row>button{flex:none;padding:8px 13px;border:1px solid var(--control-line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:13px}
.home-resume{padding-bottom:24px;border-bottom:1px solid var(--line)}
.home-list>div{gap:16px}.home-list>div>span,.home-list>div>strong{min-width:0;overflow-wrap:anywhere}
.home-record-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.home-record-links button{font:500 13px/1.5 var(--ui);min-height:46px;padding:10px 7px;white-space:normal}
.review-home{margin-top:30px;padding-block:24px}
.question-nav-actions [data-save-draft]{border-color:var(--control-line)}
@media(max-width:700px){
 .app-actions{gap:5px}.app-actions .quiet-button{min-width:40px;padding-inline:6px}
 .appbar{gap:6px;padding-inline:18px}
 .home-activity{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
 .home-section .section-title-row h2{font-size:18px}
 .home-record-links{gap:8px;margin-top:22px;padding-top:22px}
 .home-record-links button{font-size:12px}
 .time-tools .timer-button{padding-inline:10px}
 .book-header{display:block;padding-block:22px 14px}
}

.simple-mode-card:not(.primary){border-color:var(--control-line)}

/* User reference: filled controls without a permanent outer stroke. */
:root #app button,:root .appbar button,:root #font-panel button,:root .annotation-popover button,:root .selection-tools button,:root #opening-cover button{border-width:0;box-shadow:none}
:root #app .simple-mode-card:not(.primary),:root .appbar .quiet-button,:root #app .back-button,:root #app .quiet-home,:root #app .home-record-links button,:root #app .section-title-row button,:root #app .catalog-row-actions button,:root #app .exam-history-bar button,:root #app .part-tab:not(.is-active),:root #app .section-tab:not(.is-active),:root #app .timer-button{background:var(--wash);color:var(--ink)}
:root #app .catalog-row-actions>button:first-child{background:var(--accent);color:var(--ground)}
:root #app button:not(:disabled):hover,:root .appbar button:not(:disabled):hover{background:var(--selected)}
:root #app button.primary:not(:disabled):hover,:root #app .catalog-row-actions>button:first-child:not(:disabled):hover{background:var(--accent-hover);color:var(--ground)}
:root #app .question-number:not(.is-answered){background:var(--wash)}
:root #app .question-number.is-current{outline:0;text-decoration:underline;text-underline-offset:5px;font-weight:650}
:root #app .question-number.is-current:not(.is-answered){background:var(--selected)}
:root #app .question-number:focus-visible{outline:2px solid var(--focus);outline-offset:3px}


/* User-selected C: lightly raised controls, no permanent button outline. */
:root{--c-button-shadow:0 2px 7px #00000013;--c-button-hover:0 3px 9px #0000001c}
:root[data-theme=dark]{--c-button-shadow:0 2px 8px #00000040;--c-button-hover:0 3px 10px #0000004d}
:root #app button,:root .appbar button,:root #font-panel button,:root .annotation-popover button,:root .selection-tools button,:root #opening-cover button{border-width:0;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:var(--c-button-shadow)}
:root #app button:not(:disabled):hover,:root .appbar button:not(:disabled):hover{background:var(--wash);box-shadow:var(--c-button-hover)}
:root #app button.primary,:root #opening-cover button.primary,:root #app button.is-active,:root #app button[aria-pressed=true],:root #app button[aria-current=page],:root .appbar button[aria-current=page],:root .appbar button[aria-pressed=true]{background:var(--accent);color:var(--ground)}
:root #app button.primary:not(:disabled):hover,:root #app button.is-active:not(:disabled):hover,:root #app button[aria-pressed=true]:not(:disabled):hover,:root #app button[aria-current=page]:not(:disabled):hover{background:var(--accent-hover);color:var(--ground)}
:root #app button:disabled,:root .appbar button:disabled{box-shadow:none}
:root #app .simple-mode-card{border-radius:14px}
:root #app .question-number{border-radius:50%}
:root #app .question-number.is-answered{background:var(--accent);color:var(--ground)}
:root #app .question-number.is-current:not(.is-answered){background:var(--selected);color:var(--ink)}
.c-catalog{max-width:920px;margin:20px auto 70px;padding:24px 40px}
.catalog-header{margin-bottom:27px}.catalog-header .back-button{margin-bottom:24px}.catalog-header h1{font:400 34px/1.4 var(--serif);margin:0}
.year-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,90px));gap:10px;margin:0 0 22px}
.year-picker button{font:500 13px/1.5 var(--ui);padding:10px 8px;min-height:44px;white-space:nowrap;min-width:0}
.catalog-count{font:13px/1.7 var(--ui);color:var(--secondary);margin:0 0 20px}
.catalog-folds{display:grid;gap:14px}.catalog-year-heading{font:600 17px/1.6 var(--ui);margin:16px 0 0}.catalog-year-heading:first-child{margin-top:0}
.catalog-fold{min-width:0;background:var(--paper);border:0;border-radius:12px;overflow:hidden}
.catalog-fold>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;min-height:78px;cursor:pointer}
.catalog-fold>summary::-webkit-details-marker{display:none}.catalog-fold>summary:hover{background:var(--wash)}
.catalog-fold>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-3px;border-radius:12px}
.catalog-fold-title{display:grid;gap:6px;min-width:0}.catalog-fold-title strong{font:550 18px/1.6 var(--ui);overflow-wrap:anywhere}
.catalog-fold-title small{font:12px/1.7 var(--ui);color:var(--secondary);overflow-wrap:anywhere}
.catalog-chevron{width:18px;height:18px;flex:none;transform:rotate(90deg);transition:transform .15s}
.catalog-fold[open] .catalog-chevron{transform:rotate(-90deg)}.catalog-fold[open]>summary{border-bottom:1px solid var(--line)}
.catalog-fold-body{padding:20px 24px 24px;display:grid;gap:12px}
.catalog-start{width:100%;font:550 14px/1.6 var(--ui)}
.catalog-fold-secondary{display:flex;gap:10px;flex-wrap:wrap}.catalog-fold-secondary button{flex:1;min-width:100px;min-height:44px;font:13px/1.6 var(--ui);padding:10px 12px}
.catalog-empty{font:14px/1.8 var(--ui);color:var(--secondary);padding:24px 0;margin:0}
.shared-selected-paper{font:14px/1.7 var(--ui);color:var(--secondary);margin:12px 0 0}
.c-catalog .shared-topic-tabs{margin:24px 0;gap:9px;flex-wrap:wrap}.c-catalog .shared-scope-grid{margin-top:28px}
@media(max-width:700px){.c-catalog{padding:20px 24px;margin-top:8px}.catalog-header{margin-bottom:24px}.catalog-header h1{font-size:29px}.year-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.year-picker button{font-size:12px;padding-inline:5px}.catalog-fold>summary{padding:20px 17px;gap:12px;min-height:74px}.catalog-fold-title strong{font-size:17px}.catalog-fold-body{padding:17px}.catalog-fold-secondary{gap:9px}.catalog-fold-secondary button{min-width:85px;padding-inline:8px;font-size:12px}.c-catalog .shared-topic-tabs button{font-size:12px}}
@media(min-width:701px) and (max-width:1100px){.c-catalog{padding-inline:32px}.catalog-fold>summary{padding-block:22px}}
@media(prefers-reduced-motion:reduce){.catalog-chevron{transition:none}}
.catalog-fold>summary{color:var(--ink)}

/* Give raised controls breathing room without changing the working paper width. */
.app-actions{gap:14px;flex-wrap:wrap}
.app-actions .quiet-button{min-width:44px;min-height:44px}
.book .partnav{gap:14px}
.home-mode-grid{gap:16px}
.home-record-links,.year-picker,.catalog-fold-secondary,.c-catalog .shared-topic-tabs,.reading-tools,.record-tools,.mark-panel>div{gap:12px}
.exam-history-bar,.page-back-row{gap:14px}
.app-actions svg,.simple-mode-card>.ui-icon,.question-nav-toggle>.ui-icon,.part-index{transform-box:fill-box;transform-origin:center}
@media(min-width:701px) and (max-width:1100px){.app-actions{gap:12px}.book .partnav{gap:12px}}
@media(max-width:700px){
 .appbar{align-items:flex-start;gap:12px;padding-block:14px}
 .appbar .brand{min-height:44px;display:inline-flex;align-items:center}
 .app-actions{gap:10px;max-width:calc(100% - 82px);justify-content:flex-end}
 .app-actions .quiet-button{min-width:44px;min-height:44px;padding-inline:10px}
 .book .partnav{gap:10px}
 .part-tab{padding-inline:5px;gap:5px}
 .home-mode-grid{gap:14px}
 .home-record-links,.year-picker,.catalog-fold-secondary,.c-catalog .shared-topic-tabs,.reading-tools,.record-tools,.mark-panel>div{gap:12px}
}

/* Full-viewport, silent editorial montage using accepted paper imagery. */
.opening-cover{position:fixed;inset:0;z-index:200;overflow:hidden;isolation:isolate;background:var(--ground);color:var(--ink);opacity:1;transition:opacity .22s ease;min-height:100svh;--sheet-x:16vw;--sheet-turn:7deg;--roman-x:0px;--roman-turn:-8deg}
.opening-active body{overflow:hidden}.opening-active .appbar,.opening-active #app,.opening-active #resource-status{visibility:hidden}
.opening-documents{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.2;transition:opacity .45s cubic-bezier(.16,1,.3,1)}
.opening-documents img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 42%;opacity:0;transform:scale(1.025);filter:grayscale(1) contrast(.82);transition:opacity .16s linear;user-select:none;-webkit-user-drag:none}
.opening-documents img.is-current{opacity:1}
.opening-composition{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s cubic-bezier(.16,1,.3,1)}
.opening-running-brand{position:absolute;left:5vw;top:32px;font:600 18px/1.5 var(--ui);letter-spacing:.02em}
.opening-orbits{position:absolute;left:50%;top:49%;width:min(82vw,1000px);height:min(95svh,1000px);transform:translate(-50%,-50%) rotate(calc(var(--montage-progress,0) * 40deg));stroke:var(--ink);stroke-width:.7;opacity:.3}
.opening-axis{stroke-dasharray:2 8;opacity:.5}
.opening-roman{position:absolute;left:7vw;top:18%;font:400 clamp(230px,37vw,600px)/.9 var(--serif);letter-spacing:-.035em;opacity:.16;transform:translateX(var(--roman-x)) rotate(var(--roman-turn));transition:transform .35s cubic-bezier(.16,1,.3,1)}
.opening-sheet{position:absolute;left:50%;top:48%;width:min(38vw,440px);height:min(65svh,610px);background:var(--paper);transform:translate(calc(-50% + var(--sheet-x)),-50%) rotate(var(--sheet-turn));transition:transform .35s cubic-bezier(.16,1,.3,1);box-shadow:0 16px 60px #0000001c}
.opening-sheet img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:grayscale(1) contrast(1.05);user-select:none;-webkit-user-drag:none}
.opening-registration{position:absolute;left:-13px;top:-13px;width:24px;height:24px;border-top:1px solid var(--ink);border-left:1px solid var(--ink);opacity:.6}.opening-registration.bottom{left:auto;top:auto;right:-13px;bottom:-13px;transform:rotate(180deg)}
.opening-caption{position:absolute;left:8vw;top:19%;display:grid;gap:16px;transform:translateY(0);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.opening-caption span{width:max-content;padding:3px 9px;background:var(--clay);color:#211c19;font:550 11px/1.5 var(--ui);letter-spacing:.13em}
.opening-caption strong{font:400 clamp(32px,5vw,72px)/1.25 var(--serif);letter-spacing:.03em}
.opening-range{position:absolute;left:8vw;bottom:23%;font:400 clamp(24px,3vw,44px)/1.4 var(--serif);letter-spacing:.06em}
.opening-part-track{position:absolute;right:5vw;top:32px;display:flex;align-items:center;gap:22px;font:14px/1.5 var(--serif);color:var(--secondary)}
.opening-part-track span{min-width:22px;text-align:center;opacity:.45;transition:opacity .18s,color .18s}.opening-part-track span.is-current{opacity:1;color:var(--ink);text-decoration:underline;text-underline-offset:7px}
.opening-cover[data-scene="1"]{--sheet-x:-4vw;--sheet-turn:-4deg;--roman-x:53vw;--roman-turn:7deg}
.opening-cover[data-scene="1"] .opening-sheet{width:min(54vw,740px);height:min(58svh,540px)}.opening-cover[data-scene="1"] .opening-caption{transform:translateY(-4vh)}
.opening-cover[data-scene="2"]{--sheet-x:-17vw;--sheet-turn:-7deg;--roman-x:47vw;--roman-turn:-5deg}
.opening-cover[data-scene="2"] .opening-caption{left:65vw;top:28%}.opening-cover[data-scene="2"] .opening-range{left:65vw;bottom:28%}
.opening-cover[data-scene="3"]{--sheet-x:12vw;--sheet-turn:2deg;--roman-x:2vw;--roman-turn:0deg}
.opening-cover[data-scene="3"] .opening-sheet{width:min(47vw,660px);height:min(56svh,530px)}.opening-cover[data-scene="3"] .opening-caption{transform:translateY(6vh)}
.opening-content{position:absolute;left:50%;top:43%;width:calc(100% - 48px);max-width:1120px;transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.opening-content h1{font:500 clamp(76px,14vw,190px)/1.1 var(--serif);letter-spacing:.025em;margin:0;opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(10px);transition:clip-path .5s cubic-bezier(.16,1,.3,1),opacity .3s,transform .5s cubic-bezier(.16,1,.3,1)}.opening-content h1:focus{outline:0}
.opening-entry{position:absolute;left:50%;bottom:max(9svh,40px);transform:translateX(-50%);text-align:center;z-index:2}
.opening-entry button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;min-width:186px;padding:13px 26px;font:500 14px/1.6 var(--ui);border-radius:12px;white-space:nowrap}.opening-entry button svg{width:20px;height:20px;flex:none}.opening-entry button:disabled{cursor:wait}
.opening-entry progress{display:block;appearance:none;width:186px;height:2px;border:0;margin:18px auto 0;background:var(--line);accent-color:var(--ink)}.opening-entry progress::-webkit-progress-bar{background:var(--line)}.opening-entry progress::-webkit-progress-value{background:var(--ink)}.opening-entry progress::-moz-progress-bar{background:var(--ink)}
.opening-replay{position:absolute;right:5vw;bottom:max(24px,env(safe-area-inset-bottom));min-height:44px;min-width:60px;padding:10px 14px;font:13px/1.6 var(--ui);opacity:0;transition:opacity .3s}
.opening-cover[data-phase=loading] .opening-documents{opacity:.07}.opening-cover[data-phase=loading] h1{opacity:1;clip-path:inset(0);transform:none}
.opening-cover[data-phase=playing] .opening-composition{opacity:1}.opening-cover[data-phase=playing] .opening-replay{opacity:1}
.opening-cover:is([data-phase=settling],[data-phase=ready]) .opening-documents{opacity:.07}.opening-cover:is([data-phase=settling],[data-phase=ready]) h1{opacity:1;clip-path:inset(0);transform:none}.opening-cover:is([data-phase=settling],[data-phase=ready]) .opening-replay{opacity:1}
.opening-cover[data-phase=leaving]{opacity:0;pointer-events:none}
:root[data-theme=dark] .opening-documents{opacity:.12}:root[data-theme=dark] .opening-sheet{box-shadow:0 16px 60px #00000040}
@media(max-width:700px){.opening-running-brand{left:24px;top:24px;font-size:17px}.opening-part-track{right:20px;top:25px;gap:14px;font-size:12px}.opening-orbits{width:145vw;height:76svh}.opening-sheet{width:69vw;height:48svh;top:47%}.opening-caption{left:7vw;top:16%;gap:11px}.opening-caption strong{font-size:38px}.opening-caption span{font-size:10px}.opening-roman{left:1vw;top:24%;font-size:67vw}.opening-range{left:8vw;bottom:26%;font-size:27px}.opening-cover[data-scene="1"]{--sheet-x:-1vw;--roman-x:28vw}.opening-cover[data-scene="1"] .opening-sheet{width:88vw;height:44svh}.opening-cover[data-scene="1"] .opening-caption{transform:translateY(0)}.opening-cover[data-scene="2"]{--sheet-x:-15vw;--roman-x:25vw}.opening-cover[data-scene="2"] .opening-caption{left:62vw;top:21%}.opening-cover[data-scene="2"] .opening-range{left:61vw;bottom:25%;font-size:23px}.opening-cover[data-scene="3"] .opening-sheet{width:78vw;height:43svh}.opening-cover[data-scene="3"] .opening-caption{transform:translateY(1vh)}.opening-content{top:43%}.opening-content h1{font-size:clamp(70px,20vw,116px)}.opening-entry{bottom:max(11svh,70px)}.opening-replay{right:18px;bottom:max(18px,env(safe-area-inset-bottom))}}
@media(max-height:520px) and (min-width:701px){.opening-entry{bottom:24px}.opening-sheet{height:64svh}.opening-caption{top:19%}.opening-range{bottom:25%}.opening-replay{bottom:20px}}
@media(prefers-reduced-motion:reduce){.opening-cover,.opening-documents,.opening-documents img,.opening-content h1,.opening-composition,.opening-roman,.opening-sheet,.opening-caption,.opening-part-track span,.opening-replay{transition:none!important}.opening-composition{display:none!important}}
@media print{.opening-cover{display:none!important}.opening-active .appbar,.opening-active #app{visibility:visible}}
