/* =====================================================================
   研读 · 学习体验层（2026-10-13）
   叠加在 style.css 之后：只做覆盖，不改原有类名。
   1) 字号与对比度：长时间阅读，最小正文 12px，灰字达到 WCAG AA
   2) 三种纸面：默认 / 护眼 / 夜间（html[data-theme]）
   3) 答题卡：仿考场答题卡的红色框线与涂卡格
   4) 新增组件：继续学习、练习概况、计时、查词、阅读设置、快捷键
   ===================================================================== */

:root{
  --ink:#22212e; --ink2:#43414f; --muted:#5f5d6e; --faint:#68657b;
  --primary:#5443b8; --primary-ink:#fff; --violet:#eeebfa; --primary-soft:#efecfb;
  --paper:#f6f6f9; --card:#fff; --card2:#f9f9fc; --line:#e3e2ec; --line2:#efeef4;
  --green:#2d7a5c; --ok:#2d7a5c; --ok-soft:#eaf5ef; --bad:#b8433b; --bad-soft:#fcefed;
  --warn-soft:#fdf7ec; --warn:#8a6420;
  --sheet:#c9463c; --sheet-soft:#fdf1ef; --graphite:#2b2a33;
  --zoom:1;
  --sans:'Noto Sans SC','PingFang SC','Microsoft YaHei','Source Han Sans SC',system-ui,sans-serif;
  --serif:'Noto Serif SC','Source Han Serif SC','Songti SC',STSong,SimSun,serif;
  --en:Charter,'Iowan Old Style','Palatino Linotype',Georgia,'Noto Serif SC',serif;
  color-scheme:light;
}
html[data-theme=eye]{
  --paper:#e7ede0; --card:#f4f7ef; --card2:#edf2e6; --line:#d3dccb; --line2:#e2e9da;
  --violet:#e4e8f3; --primary-soft:#e4e8f3; --ink:#24291f; --ink2:#3d4336; --muted:#555d4c; --faint:#727b67;
  --sheet-soft:#f6ece6;
}
html[data-theme=dark]{
  --paper:#16161d; --card:#1f1f28; --card2:#262631; --line:#34333f; --line2:#2b2a35;
  --ink:#e8e6f0; --ink2:#cdcad9; --muted:#a7a4b6; --faint:#8a879b;
  --primary:#ab9ff2; --primary-ink:#16161d; --violet:#2c2946; --primary-soft:#2c2946;
  --green:#71c7a0; --ok:#71c7a0; --ok-soft:#1d3229; --bad:#ef8b80; --bad-soft:#3a2223;
  --warn-soft:#332a1a; --warn:#e2bd7c; --sheet:#e48074; --sheet-soft:#33201f; --graphite:#e8e6f0;
  color-scheme:dark;
}

/* ---------- 基础：不再依赖 Google Fonts（国内常加载失败，阻塞首屏） ---------- */
body{font-size:15px;line-height:1.85;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main{zoom:var(--zoom)}
::selection{background:#d9d2fb;color:#1d1a33}
html[data-theme=dark] ::selection{background:#4a4380;color:#fff}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2.5px solid var(--primary);outline-offset:3px;border-radius:4px}

/* ---------- 字号与对比度 ---------- */
.brand small{font-size:10px;color:var(--faint);letter-spacing:.6px}
.nav-label{font-size:12px;color:var(--faint);letter-spacing:.5px;margin-top:34px}
.nav-link{font-size:14px;color:var(--ink2);padding:9px 13px;margin:2px 0;transition:background .15s,color .15s}
.nav-link:hover{background:var(--card2);color:var(--ink)}
.nav-link.active{background:var(--primary-soft);color:var(--primary)}
.nav-link small{font-size:12px;color:var(--muted)}
.nav-divider{margin:12px 12px}
.progress-caption{font-size:12.5px;color:var(--muted)}
.side-bottom p,.side-bottom>a{font-size:12px;color:var(--faint)}
.side-bottom>a:hover{color:var(--primary)}
.breadcrumb{font-size:13px;color:var(--muted)}
#search{font-size:13.5px;width:210px}
#search-form{background:var(--card2);border-color:var(--line)}
#search-form button{font-size:12.5px}
.edition{font-size:12px;color:var(--muted);border-color:var(--line)}
.eyebrow{font-size:12px;letter-spacing:1px}
.page-heading p{font-size:14px;color:var(--muted)}
.tiny-note{font-size:12px;color:var(--faint)}
.hero-copy>p{font-size:14px;color:var(--muted);max-width:420px}
.button{font-size:14px;padding:10px 18px;gap:10px;color:var(--primary-ink)}
.button.secondary{background:var(--card);color:var(--primary);border-color:var(--line)}
.button.secondary:hover{background:var(--primary-soft)}
.text-link{font-size:14px}
.text-link:hover{text-decoration:underline;text-underline-offset:3px}
.stat span{font-size:12px;color:var(--muted)}
.section-heading h2{font-size:18px}
.section-heading h2 small{font-size:11px;color:var(--faint)}
.section-heading>a{font-size:13px;color:var(--muted)}
.section-heading>a:hover{color:var(--primary)}
.lesson-card p{font-size:13px;color:var(--muted)}
.tags span,.chip{font-size:11.5px;color:var(--muted);background:var(--card2)}
.card-foot{font-size:12px;color:var(--faint)}
.example-row h3{font-size:14px}.example-row p{font-size:12.5px;color:var(--muted)}
.route-steps h3{font-size:14px}.route-steps p{font-size:12.5px;color:var(--muted)}
.page-intro{font-size:14.5px;color:var(--muted)}
.lesson-banner p{font-size:14px;color:var(--muted)}
.lesson-metrics span{font-size:12px;color:var(--muted)}
.tab{font-size:14px;color:var(--muted)}
.tab:hover{color:var(--ink)}
.article{font-size:15px}
.article p{color:var(--ink2)}
.aside-panel h3{font-size:15px}
.aside-panel p,.aside-panel li,.aside-panel label{font-size:13px;color:var(--muted)}
.aside-panel .button{font-size:13px}
.disclaimer{font-size:13px;color:var(--muted)}
.filters select{font-size:13.5px;color:var(--ink2);background:var(--card)}
.case-meta{font-size:12.5px;color:var(--muted)}
.case-prompt{font-size:14px;color:var(--ink2)}
.case-card summary{font-size:14px}
.answer{font-size:14px}.trap{font-size:13.5px}
.source-link{font-size:12.5px;color:var(--muted)}
.practice-label{font-size:12px;color:var(--faint);letter-spacing:.5px}
.note-status{font-size:12.5px;color:var(--muted)}
.review-card p{font-size:13.5px;color:var(--muted)}
.review-card pre{font-size:13px;color:var(--ink2)}
footer{font-size:12px;color:var(--faint)}
.time-list{font-size:12.5px;color:var(--muted)}
.search-result p{font-size:13.5px}
.paper-meta{font-size:12.5px;color:var(--muted)}
.badge{font-size:11px}
.strip-legend{font-size:12.5px;color:var(--muted)}
.part-meta{font-size:12.5px;color:var(--muted)}
.fact-list{font-size:13.5px;color:var(--ink2)}
.chip-link{font-size:13.5px;color:var(--ink2)}
.reading-card p{font-size:13.5px;color:var(--muted)}
.callout-head{font-size:12.5px}
.toc-title{font-size:12px;color:var(--faint)}
.toc-link{font-size:13.5px;color:var(--ink2)}
.toc-link:hover{background:var(--card2)}
.drill-range{font-size:12px;color:var(--faint)}
.ans-cell i{font-size:11px;color:var(--faint)}
.trans-list summary{font-size:13.5px;color:var(--ink2)}
.word-group{font-size:12.5px}
.word-hit span{font-size:14px;color:var(--ink2)}
.results-count{font-size:12.5px}
/* 仍有对比度不足的具体规则：序号、卡片脚注、callout 标签 */
.method-step>span{color:var(--primary);background:var(--primary-soft)}
.route-steps li>span{color:var(--muted)}
.reading-card .card-foot{font-size:13px;color:var(--muted)}
.callout-head{color:var(--muted)}
.callout-kind{color:var(--ink2)}
.ans-cell i{color:var(--muted)}
.score{color:var(--muted)}
.paper-go,.example-row>span:last-child,.card-foot>b{color:var(--muted)}
.edition{color:var(--muted)}
/* 首页与示范页里偏浅的字/图标，压深一档（夜间由上面的主题规则接管） */
html:not([data-theme=dark]) .lesson-card:nth-child(1) .subject-icon{color:#5f47a8}
html:not([data-theme=dark]) .lesson-card:nth-child(2) .subject-icon{color:#2f6b52}
html:not([data-theme=dark]) .lesson-card:nth-child(3) .subject-icon{color:#44618f}
html:not([data-theme=dark]) .lesson-card:nth-child(4) .subject-icon{color:#8a6440}
html:not([data-theme=dark]) .lesson-card:nth-child(5) .subject-icon{color:#8c5471}
html:not([data-theme=dark]) .lesson-card:nth-child(6) .subject-icon{color:#40657f}
.original-foot{font-size:12.5px;color:var(--muted)}
.evidence-chain{color:var(--muted)}
html:not([data-theme=dark]) .annotation-note{color:#6d5a97}
.sheet-label,.annotation-sheet .sheet-label{color:var(--faint)}
html:not([data-theme=dark]) .year{color:#63509b}
html:not([data-theme=dark]) .trap{color:#7a5c47}
html:not([data-theme=dark]) .badge-key{color:#2b6553}
html:not([data-theme=dark]) .badge-ans{color:#7a5716}
html:not([data-theme=dark]) .evidence-chain span:last-child{color:#3f6b5c}

/* 对比度收尾：搜索图标、打印、选项字母、页脚小字、目录三级、答题卡红字 */
#search-form>span{color:var(--muted)}
.print-button{color:var(--muted)}
.quiz-option>span{color:var(--ink2)}
.article .note,.note{color:var(--muted)}
.case-meta>b{color:var(--primary)}
.toc-link.lv3{color:var(--muted)}
.toc-link.active{color:var(--primary);font-weight:600}
.skip{background:var(--primary);color:var(--primary-ink)}
html:not([data-theme=dark]) .drill-panel>.ans-sub,
html:not([data-theme=dark]) .drill-cell i{color:#a8352c}
html:not([data-theme=dark]) .drill-key{color:#2b6553}
html:not([data-theme=dark]) .drill-cell.wrong .drill-key{color:#a8352c}
html:not([data-theme=dark]) .original-tag{background:var(--primary)}
html:not([data-theme=dark]) .badge-read{color:#4a3aa0}
html:not([data-theme=dark]) .badge-none{color:var(--muted)}
/* 时间分配的色条：夜间改成深色，文字随之转为浅色 */
html[data-theme=dark] .timing span{color:#16161d}
html[data-theme=dark] .time-list i{opacity:.85}
html[data-theme=eye] .timing span{color:#2a2f22}
.annotation-note,.evidence-chain{font-size:12px}
.sheet-label{font-size:10.5px}
.mistake-group h3 small{font-size:12px}
.link-button{font-size:13px}
.mistake-cell{font-size:13px}
.year-chip{font-size:13px}
.empty{color:var(--muted);font-size:14.5px;line-height:2}
.empty .button{margin:6px 4px}
.quiz-option{font-size:14.5px}

/* 英文原文：更适合长读的字体、行长与行高 */
.drill-source,.text-article{font-family:var(--en);font-size:16.5px;line-height:1.95;color:var(--ink)}
.drill-source .paper-line,.text-article .paper-line{max-width:72ch}
.translation-original{font-family:var(--en);font-size:17px}
.article .english,.annotation-sheet>p{font-family:var(--en)}
.reading-article{font-size:15.5px}
.reading-article p,.reading-article li{color:var(--ink2)}
.drill-chunk{font-family:var(--serif)}

/* ---------- 纸面：所有卡片表面跟随主题变量 ---------- */
.sidebar,.stats,.lesson-card,.panel,.article,.aside-panel,.case-card,.quiz-option,.review-card,.empty,.search-result,.paper-block,.chip-link:not(.active),.reading-card,.text-toc,.drill-source,.drill-panel,.mistake-row,.pdf-local,.paper-figure,.study-details,.annotation-sheet,.lookup-row input,.vocab-filter input{background:var(--card);border-color:var(--line)}
.topbar{background:color-mix(in srgb,var(--card) 88%,transparent);border-color:var(--line);backdrop-filter:saturate(1.2) blur(8px)}
.sidebar{border-color:var(--line)}
.year-chip,.pick,.ans-cell,.trans-list details,.mistake-cell,.case-prompt,.original,.translation-flow span,.md-table th{background:var(--card2);border-color:var(--line)}
.study-draft,.note-input{background:var(--card);border-color:var(--line);color:var(--ink)}
.study-draft:focus,.note-input:focus{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:1px;border-color:var(--primary)}
.hero,.lesson-banner{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 18%,var(--line))}
.paper-row,.drill-row,.example-row,.part-list li,.word-hit,.md-table td,.card-foot,.reading-card .card-foot,.mistake-cell{border-color:var(--line2)}
.paper-row:hover,.drill-row:hover,.md-table tr:hover td{background:var(--card2)}
.article details,.case-card details,.tabs,.text-chunk-title,.drill-chunk,.drill-result,.sheet-label,.reading-article h4,.vocab-article h3{border-color:var(--line)}
.lesson-card:hover,.reading-card:hover,.search-result:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}
.search-result{transition:border-color .15s}

/* ---------- 夜间：把写死的灰字、浅底统一换成主题色 ---------- */
html[data-theme=dark] body{color:var(--ink)}
html[data-theme=dark] :is(.article p,.article li,.article b,.article .note,.case-prompt,.original-body p.stem,.option-list li,.option-rows .opt-row span,.annotation-sheet>p,.stat b,.score b,.lesson-metrics b,.case-meta>b,.year,.review-card pre,.quote-line,.reading-article h4,.vocab-article h4,.vocab-article blockquote,.md-table td,.word-hit b,.mistake-head b,.trans-list p,.paper-main b,.viewer-name,.ans-sub,.study-draft,.note-input,.translation-original,.lesson-card h3,.example-row h3,.route-steps h3,.search-result h2,.reading-card h3,.paper-block h2,.article h2,.article h3,.article h4,.text-chunk-title,.drill-chunk){color:var(--ink)}
html[data-theme=dark] :is(.score,.card-foot,.lesson-card p,.subject-icon,.route-steps li>span,.method-step>span,.annotation-note,.evidence-chain,.sheet-label,.case-meta,.source-link,.practice-label,.review-card p,.time-list,.mistake-cell b,.drill-cell i,.paper-go,.example-row>span:last-child,.option-list li,.original-foot,.callout-head,.disclaimer,.tiny-note,.lesson-banner p,.hero-copy>p){color:var(--muted)}
html[data-theme=dark] :is(.subject-icon,.route-steps li>span,.method-step>span,.evidence-chain span,.tags span,.chip,.callout,.callout-kind,.article .english,.vocab-article blockquote,.word-hit.exact,.study-callout,.fact-list code,.reading-article code,.pdf-local code){background:var(--card2)!important;color:var(--ink2)}
html[data-theme=dark] .article .english{border-left-color:var(--primary)}
html[data-theme=dark] :is(.answer,.drill-cell.right,.callout-success,.callout-tip,.badge-key,.year-chip.has-key){background:var(--ok-soft)!important;color:var(--ok)!important;border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
html[data-theme=dark] :is(.drill-cell.wrong,.callout-failure,.mistake-cell .mine){background:var(--bad-soft)!important;color:var(--bad)}
html[data-theme=dark] :is(.trap,.drill-warn,.callout-warning,.badge-ans){background:var(--warn-soft)!important;color:var(--warn)!important;border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
html[data-theme=dark] :is(.badge-read,.year-chip.has-read,.original-tag){background:var(--primary-soft)!important;color:var(--primary)!important}
html[data-theme=dark] .badge-none{background:var(--card2);color:var(--muted)}
html[data-theme=dark] .reading-article mark,html[data-theme=dark] .annotation-sheet mark{background:#4a4120;color:#f5e6b0}
html[data-theme=dark] .paper-figure img{background:#fff}
html[data-theme=dark] .pdf-frame{background:#fff}
html[data-theme=dark] .quiz-option.correct{background:var(--ok-soft);border-color:var(--ok)}
html[data-theme=dark] .quiz-option.wrong{background:var(--bad-soft);border-color:var(--bad)}
html[data-theme=dark] .quiz-option.selected,html[data-theme=dark] .quiz-option:hover{background:var(--primary-soft)}
html[data-theme=dark] #toast{background:#e8e6f0;color:#16161d}
html[data-theme=dark] .brand-icon{color:#16161d}
html[data-theme=dark] .chip-link.active{color:#16161d}
html[data-theme=eye] :is(.subject-icon,.tags span,.chip,.route-steps li>span,.method-step>span){background:var(--card2)}

/* ---------- 答题卡：本站最“像考场”的地方 ---------- */
.drill-panel{padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--sheet) 35%,var(--line))}
.drill-panel>.ans-sub{margin:0;padding:13px 18px 11px;font:600 15px/1.4 var(--serif);color:var(--sheet);background:var(--sheet-soft);border-bottom:1.5px solid var(--sheet);display:flex;align-items:baseline;gap:8px}
.drill-panel>.disclaimer{margin:12px 18px 0}
.drill-panel>.drill-grid,.drill-panel>.drill-result,.drill-panel>.actions,.drill-panel>.trans-list,.drill-panel>.pdf-actions{margin-left:18px;margin-right:18px}
.drill-panel>.drill-result{margin-bottom:16px}
.drill-panel>.actions{margin-bottom:18px}
.drill-panel>.trans-list{margin-top:12px}
.drill-panel>.pdf-actions{margin-bottom:16px}
.drill-grid{gap:2px 14px;margin-top:12px;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,20),auto)}
.drill-grid[data-cols="2"]{grid-template-columns:1fr 1fr}
.drill-grid .drill-cell:nth-child(5n):not(:last-child){margin-bottom:8px}
.drill-cell{padding:3px 6px;gap:8px;border-radius:6px;cursor:default;transition:background .12s}
.drill-cell i{font:600 12px/1 var(--sans);color:var(--sheet);min-width:20px;cursor:pointer}
.drill-cell.cur{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}
.drill-opts{gap:4px}
.pick{width:30px;height:20px;border-radius:10px;border:1.3px solid color-mix(in srgb,var(--sheet) 70%,transparent);background:var(--card);color:var(--sheet);font:600 11px/1 var(--sans);letter-spacing:.3px;transition:background .1s,color .1s,transform .1s}
.pick:hover{border-color:var(--sheet);background:var(--sheet-soft);color:var(--sheet)}
.pick:active{transform:scale(.92)}
.pick.on{background:var(--graphite);border-color:var(--graphite);color:var(--card)}
.drill-cell.right .pick.on{background:var(--ok);border-color:var(--ok);color:#fff}
.drill-cell.wrong .pick.on{background:var(--bad);border-color:var(--bad);color:#fff;text-decoration:line-through}
.drill-cell.right{background:var(--ok-soft);border-color:transparent}
.drill-cell.wrong{background:var(--bad-soft);border-color:transparent}
.drill-cell.blank{background:var(--warn-soft)}
.drill-key{font-size:13px}
.drill-result b{color:var(--primary)}
.enh-sheet-meta{margin-left:auto;font:500 12px/1 var(--sans);color:var(--muted)}
.enh-fill{height:3px;background:var(--line2);margin:0}
.enh-fill>i{display:block;height:100%;background:var(--sheet);transition:width .25s}
.enh-sheet-tip{margin:10px 18px 0;font-size:12px;color:var(--faint);line-height:1.7}
.enh-sheet-tip kbd{font:600 11px/1 var(--sans);padding:2px 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--card2);color:var(--ink2)}
.drill-side{max-height:calc(100vh - 32px);overflow:auto;scrollbar-width:thin}

/* 涂卡格收窄一点：两栏时 A–D 必须排在一行 */
.drill-grid[data-cols="2"]{gap:2px 10px}
.drill-grid[data-cols="2"] .drill-cell{gap:6px;padding:3px 4px}
.drill-grid[data-cols="2"] .drill-cell i{min-width:18px}
.drill-grid[data-cols="2"] .drill-opts{gap:3px;flex-wrap:nowrap}
.drill-grid[data-cols="2"] .pick{width:27px}
.drill-cell.cur .pick{border-color:var(--sheet)}

/* 当前题卡片：题干 + 选项原文，点选项直接涂卡 */
.enh-q{margin:12px 18px 4px;padding:12px 14px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card2)}
.enh-q:empty{display:none}
.enh-q-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.enh-q-head>b{font:600 14px/1.3 var(--sans);color:var(--ink)}
.enh-q-head .v{font-size:12.5px;font-weight:600;padding:2px 8px;border-radius:999px}
.enh-q-head .v.right{background:var(--ok-soft);color:var(--ok)}
.enh-q-head .v.wrong{background:var(--bad-soft);color:var(--bad)}
.enh-q-head .v.blank{background:var(--warn-soft);color:var(--warn)}
.enh-q-nav{margin-left:auto;display:flex;gap:4px}
.enh-q-nav button{width:26px;height:26px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink2);font-size:16px;line-height:1}
.enh-q-nav button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.enh-q-nav button:disabled{opacity:.35;cursor:default}
.enh-q-stem{margin:0 0 9px;font:15px/1.65 var(--en);color:var(--ink)}
.enh-q-stem u{text-decoration:none;border-bottom:1.5px solid var(--primary);color:var(--primary);font:600 12px/1 var(--sans);padding:0 2px}
.enh-q-opts{display:grid;gap:5px}
.enh-q-opts.short{grid-template-columns:1fr 1fr}
.enh-q-min{display:none;width:auto!important;padding:0 8px;font-size:12px!important}
.enh-q-opts.bare{grid-template-columns:repeat(auto-fit,minmax(34px,1fr))}
.enh-opt{display:flex;align-items:baseline;gap:9px;width:100%;text-align:left;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:14.5px/1.45 var(--en);transition:border-color .12s,background .12s}
.enh-q-opts.bare .enh-opt{justify-content:center;padding:6px 0}
.enh-opt>span{flex:none;font:600 12px/1 var(--sans);color:var(--sheet);min-width:12px}
button.enh-opt:hover{border-color:var(--primary);background:var(--primary-soft)}
.enh-opt.on{border-color:var(--graphite);background:var(--graphite);color:var(--card)}
.enh-opt.on>span{color:var(--card)}
.enh-opt.is-key{border-color:var(--ok);background:var(--ok-soft)}
.enh-opt.is-key>span{color:var(--ok)}
.enh-opt.is-wrong{border-color:var(--bad);background:var(--bad-soft);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--bad) 60%,transparent)}
.enh-opt.is-wrong>span{color:var(--bad)}
.enh-q-miss{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.6}
/* 原文里的题干：可点，当前题高亮 */
.drill-source [data-q]{cursor:pointer;border-radius:4px;transition:background .12s;margin-left:-6px;padding-left:6px}
.drill-source [data-q]:hover{background:var(--card2)}
.drill-source [data-q].is-cur{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}

/* 展开块里的内容别贴边（.article details 的 0 左右内边距压过了 .study-details） */
.article details.study-details{padding:14px 18px}
.article details.study-details:last-child{padding-bottom:14px}

/* 原文里的空格：显示涂的选项，可点击定位到答题卡 */
.drill-source .blank[data-n]{cursor:pointer;min-width:38px;padding:1px 3px;border-radius:3px 3px 0 0;transition:background .12s}
.drill-source .blank[data-n]:hover{background:var(--primary-soft)}
.blank em{font-style:normal;margin-left:3px;padding:0 4px;border-radius:3px;background:var(--graphite);color:var(--card);font-size:11px}
.blank.is-right em{background:var(--ok);color:#fff}
.blank.is-wrong em{background:var(--bad);color:#fff}
.blank.is-cur{background:var(--primary-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 35%,transparent)}
@keyframes enh-flash{0%{background:#ffe58a}100%{background:transparent}}
.enh-flash{animation:enh-flash 1.2s ease-out}

/* ---------- 练习工具条：计时 / 进度 ---------- */
.enh-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 18px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--muted)}
.enh-clock{font:600 18px/1 var(--en);font-variant-numeric:tabular-nums;color:var(--ink);min-width:62px}
.enh-clock.over{color:var(--bad)}
.enh-tools .sep{width:1px;height:18px;background:var(--line)}
.enh-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card2);color:var(--ink2);font-size:13px;line-height:1}
.enh-chip:hover{border-color:var(--primary);color:var(--primary)}
.enh-chip.on{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}
.enh-tools .grow{flex:1}
.enh-time-note{font-size:12.5px}

/* 草稿字数 */
.enh-count{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.enh-count b{font:600 14px/1 var(--en);color:var(--ink)}
.enh-count .ok b{color:var(--ok)}.enh-count .low b{color:var(--warn)}.enh-count .high b{color:var(--bad)}
.enh-meter{flex:1;max-width:160px;height:4px;border-radius:4px;background:var(--line2);overflow:hidden}
.enh-meter>i{display:block;height:100%;background:var(--primary);transition:width .2s}

/* ---------- 首页：继续学习 / 练习概况 ---------- */
.enh-home{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;margin:0 0 26px}
.enh-resume,.enh-overview{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.enh-resume h2,.enh-overview h2{font:600 16px/1.4 var(--sans);margin:0 0 12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.enh-resume h2 small,.enh-overview h2 small{font-weight:400;font-size:12.5px;color:var(--faint)}
.enh-main-resume{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:10px;background:var(--primary-soft);color:var(--ink)}
.enh-main-resume:hover{background:color-mix(in srgb,var(--primary) 16%,var(--card))}
.enh-main-resume .t{flex:1;min-width:0}
.enh-main-resume b{display:block;font:600 17px/1.5 var(--serif)}
.enh-main-resume span{font-size:12.5px;color:var(--muted)}
.enh-main-resume .go{font-size:13.5px;color:var(--primary);font-weight:600;white-space:nowrap}
.enh-recent{list-style:none;margin:10px 0 0;padding:0}
.enh-recent a{display:flex;justify-content:space-between;gap:12px;padding:7px 4px;border-bottom:1px solid var(--line2);font-size:13.5px;color:var(--ink2)}
.enh-recent li:last-child a{border:0}
.enh-recent a:hover{color:var(--primary)}
.enh-recent time{font-size:12px;color:var(--faint);white-space:nowrap}
.enh-days{display:flex;gap:4px;margin:2px 0 14px}
.enh-days i{flex:1;height:22px;border-radius:4px;background:var(--line2);position:relative}
.enh-days i.l1{background:color-mix(in srgb,var(--primary) 30%,var(--card))}
.enh-days i.l2{background:color-mix(in srgb,var(--primary) 60%,var(--card))}
.enh-days i.l3{background:var(--primary)}
.enh-days i.today{box-shadow:inset 0 0 0 1.5px var(--primary)}
.enh-days i.today::after{content:'今天';position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:3px;font:10px/1 var(--sans);color:var(--faint);white-space:nowrap;font-style:normal}
.enh-days{margin-bottom:22px}
.enh-resume{display:flex;flex-direction:column}
.enh-exam{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--ink2)}
.enh-resume>.enh-exam{margin-top:18px}
.enh-exam b{font:600 22px/1 var(--en);color:var(--primary);margin:0 3px}
.enh-exam .d{font-size:12px;color:var(--faint)}
.enh-exam .text-link{font-size:12.5px;padding:0;background:none;border:0;color:var(--primary);cursor:pointer}
.enh-exam label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.enh-exam input{font:13px var(--sans);padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}
.enh-type{display:grid;grid-template-columns:4.5em 1fr auto;align-items:center;gap:10px;padding:5px 0;font-size:13px;color:var(--ink2)}
.enh-type:hover{color:var(--primary)}
.enh-bar{height:6px;border-radius:6px;background:var(--line2);overflow:hidden}
.enh-bar>i{display:block;height:100%;background:var(--primary);border-radius:6px}
.enh-type em{font-style:normal;font-size:12px;color:var(--muted);min-width:7.5em;text-align:right;font-variant-numeric:tabular-nums}
.enh-empty-hint{font-size:13.5px;color:var(--muted);margin:0}

/* ---------- 按题型刷真题：题型卡进度 / 年份格子 ---------- */
.drill-type-card .card-foot{display:flex;justify-content:space-between;gap:10px}
.drill-type-card .card-foot>span{color:var(--faint)}
.drill-type-bar{display:block;height:5px;border-radius:5px;background:var(--line2);overflow:hidden;margin:4px 0 14px}
.drill-type-bar>i{display:block;height:100%;background:var(--primary);border-radius:5px}
.drill-summary{display:flex;align-items:center;gap:34px;flex-wrap:wrap;padding:16px 22px;margin-bottom:18px}
.drill-summary>div{display:flex;align-items:baseline;gap:7px}
.drill-summary>div b{font:600 28px/1 var(--en);color:var(--ink)}
.drill-summary>div span{font-size:13px;color:var(--muted)}
.drill-summary p{margin:0 0 0 auto;display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted)}
.drill-summary .button{padding:8px 16px}
.drill-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.drill-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s;overflow:hidden}
.drill-tile:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));transform:translateY(-1px);box-shadow:0 6px 18px rgba(30,20,80,.06)}
.drill-tile>b{font:600 20px/1.2 var(--en);color:var(--primary)}
.drill-tile .t{font-size:13px;line-height:1.5;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}
.drill-tile .m{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.drill-tile .bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--line2)}
.drill-tile .bar>i{display:block;height:100%;background:var(--primary)}
.drill-tile.s-good .bar>i{background:var(--ok)}.drill-tile.s-good .m{color:var(--ok);font-weight:600}
.drill-tile.s-mid .bar>i{background:#c99a2e}.drill-tile.s-mid .m{color:var(--warn);font-weight:600}
.drill-tile.s-low .bar>i{background:var(--bad)}.drill-tile.s-low .m{color:var(--bad);font-weight:600}
.drill-tile.s-doing .m{color:var(--primary)}
.drill-hub-note{margin-top:18px;font-size:13px}
@media(max-width:650px){.drill-tiles{grid-template-columns:repeat(2,1fr);gap:8px}.drill-summary{gap:18px}.drill-summary p{margin:0}}

/* 翻译跳题条 */
.enh-tjump{position:sticky;top:10px;z-index:15;display:flex;align-items:center;gap:6px;margin:0 0 16px;padding:8px 12px;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px rgba(30,20,80,.05);font-size:13px;color:var(--muted)}
.enh-tjump>span{margin-right:4px}
.enh-tjump button{min-width:40px;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--card2);color:var(--ink2);font:600 13px/1 var(--en)}
.enh-tjump button:hover{border-color:var(--primary);color:var(--primary)}
.enh-tjump button.done{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}
.enh-tjump button.done::after{content:' ✓';font-size:11px}
.enh-tjump em{margin-left:auto;font-style:normal;font-size:12.5px}
.enh-tjump em b{color:var(--ink)}
.translation-card{scroll-margin-top:70px}

/* ---------- 顶栏：阅读设置 ---------- */
.enh-top-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink2);font-size:13px;white-space:nowrap}
.enh-top-btn:hover,.enh-top-btn[aria-expanded=true]{border-color:var(--primary);color:var(--primary)}
.enh-top-btn b{font:600 15px/1 var(--en)}
.enh-pop{position:fixed;z-index:60;width:300px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 48px rgba(20,16,50,.16);padding:16px 18px;color:var(--ink)}
.enh-pop[hidden]{display:none}
.enh-pop h3{font-size:13px;color:var(--muted);font-weight:500;margin:12px 0 8px}
.enh-pop h3:first-child{margin-top:0}
.enh-seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.enh-seg button{flex:1;padding:8px 4px;font-size:13px;color:var(--ink2);border-right:1px solid var(--line)}
.enh-seg button:last-child{border-right:0}
.enh-seg button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);font-weight:600}
.enh-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;border:1px solid rgba(0,0,0,.15)}
.enh-switch{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;margin-top:12px}
.enh-switch input{accent-color:var(--primary);width:16px;height:16px}
.enh-pop .enh-foot{font-size:12px;color:var(--faint);margin:12px 0 0;line-height:1.7}

/* 专注模式：收起侧栏，内容更宽 */
body.enh-focus .sidebar{transform:translateX(-100%);visibility:hidden}
body.enh-focus .shell{margin-left:0}
body.enh-focus main,body.enh-focus footer{max-width:1560px}
.sidebar,.shell{transition:transform .2s ease,margin-left .2s ease}

/* ---------- 查词气泡 ---------- */
.enh-word{position:absolute;z-index:70;max-width:340px;min-width:200px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(20,16,50,.18);padding:12px 14px 10px;font:14px/1.75 var(--sans)}
.enh-word b{font:600 17px/1.3 var(--en);color:var(--primary)}
.enh-word .lemma{font-size:12px;color:var(--faint);margin-left:6px}
.enh-word p{margin:4px 0 6px;color:var(--ink2)}
.enh-word .acts{display:flex;gap:12px;font-size:12.5px;border-top:1px solid var(--line2);padding-top:7px}
.enh-word .acts a,.enh-word .acts button{color:var(--primary);font-size:12.5px;padding:0}
.enh-word .miss{color:var(--muted)}

/* ---------- 回到顶部 / 阅读进度 / 快捷键说明 ---------- */
.enh-progress{position:fixed;left:0;top:0;height:3px;background:var(--primary);z-index:80;width:0;transition:width .1s linear;pointer-events:none}
.enh-top{position:fixed;right:24px;bottom:24px;z-index:40;width:42px;height:42px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--ink2);font-size:18px;box-shadow:0 6px 18px rgba(20,16,50,.1);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}
.enh-top.show{opacity:1;pointer-events:auto;transform:none}
.enh-top:hover{color:var(--primary);border-color:var(--primary)}
.enh-keys{position:fixed;inset:0;z-index:90;background:rgba(16,14,30,.4);display:grid;place-items:center;padding:20px}
.enh-keys[hidden]{display:none}
.enh-keys>div{width:min(460px,100%);background:var(--card);color:var(--ink);border-radius:14px;padding:22px 26px;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.enh-keys h2{font-size:17px;margin:0 0 12px}
.enh-keys dl{display:grid;grid-template-columns:auto 1fr;gap:9px 18px;margin:0;font-size:14px}
.enh-keys dt{white-space:nowrap}
.enh-keys dd{margin:0;color:var(--ink2)}
.enh-keys kbd{font:600 12px/1 var(--sans);padding:3px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--card2);color:var(--ink)}
.enh-keys .close{margin-top:16px}

/* 移动端侧栏遮罩 */
.enh-backdrop{position:fixed;inset:0;background:rgba(16,14,30,.35);z-index:25;opacity:0;pointer-events:none;transition:opacity .2s}
.enh-backdrop.show{opacity:1;pointer-events:auto}

@media(max-width:1150px){.enh-home{grid-template-columns:1fr}#search{width:150px}}
/* 窄屏时答题卡排到了原文后面：当前题卡片浮在底部，边读边答 */
@media(max-width:1150px){
  .drill-panel .enh-q{position:fixed;left:calc(215px + 16px);right:16px;bottom:12px;z-index:30;margin:0;max-height:42vh;overflow:auto;background:var(--card);border-color:color-mix(in srgb,var(--sheet) 40%,var(--line));box-shadow:0 14px 40px rgba(20,16,50,.18)}
  body.enh-focus .drill-panel .enh-q{left:16px}
  .enh-q-min{display:inline-block}
  .drill-panel .enh-q.min>:not(.enh-q-head){display:none}
  .drill-panel .enh-q.min .enh-q-head{margin:0}
  .drill-layout:has(.enh-q) .drill-source{padding-bottom:44vh}
  body:has(.drill-panel .enh-q) .enh-top{bottom:calc(42vh + 24px)}
}
@media(max-width:650px){.drill-panel .enh-q{left:8px;right:8px;bottom:8px;max-height:46vh;padding:10px 12px}.enh-q-stem{font-size:14px}.enh-opt{padding:5px 9px;font-size:14px}}
@media(max-width:650px){
  body{font-size:15px}
  .topbar{gap:6px;padding:0 12px}
  .breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
  #search{width:88px}
  #search-form{flex:1;min-width:0}
  .enh-top-btn span{display:none}
  .enh-top-btn{padding:0 9px}
  .drill-grid{grid-auto-flow:row;grid-template-rows:none}
  .drill-grid[data-cols="2"]{grid-template-columns:1fr 1fr;gap:2px 8px}
  .drill-cell g,.drill-cell{padding:3px 4px}
  .pick{width:26px;height:19px}
  .enh-tools{gap:8px}
  .enh-tools .grow{display:none}
  .enh-pop{left:12px!important;right:12px;width:auto}
  .enh-top{right:14px;bottom:14px}
  .drill-source,.text-article{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.enh-flash{animation:none}}
@media print{.enh-tools,.enh-top,.enh-progress,.enh-word,.enh-pop,.enh-home,.enh-top-btn,.enh-count .enh-meter{display:none!important}}

/* =====================================================================
   逐题讲解面板（explain.js）
   ===================================================================== */
.enh-xp-btn{display:block;width:100%;margin-top:10px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:8px;background:var(--primary-soft);color:var(--primary);font:600 13.5px/1.3 var(--sans);text-align:center}
.enh-xp-btn:hover{background:var(--primary);color:var(--primary-ink)}
.enh-xp-all{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 18px 16px}
.enh-xp-all .button{padding:9px 16px}
.drill-panel>.drill-result{margin-bottom:10px}

.xp-mask{position:fixed;inset:0;z-index:84;background:rgba(16,14,30,.18)}
.xp-mask[hidden],.xp[hidden]{display:none}
.xp{position:fixed;top:0;right:0;bottom:0;z-index:85;width:min(560px,100vw);display:flex;flex-direction:column;background:var(--card);color:var(--ink);border-left:1px solid var(--line);box-shadow:-24px 0 60px rgba(20,16,50,.16);transform:translateX(24px);opacity:0;transition:transform .2s ease,opacity .2s ease}
.xp.show{transform:none;opacity:1}
.xp-head{display:flex;align-items:center;gap:12px;padding:16px 20px 14px;border-bottom:1px solid var(--line)}
.xp-title small{display:block;font-size:12px;color:var(--muted);letter-spacing:.3px}
.xp-title h2{margin:2px 0 0;font:600 20px/1.3 var(--serif);color:var(--ink)}
.xp-verdict{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.xp-verdict i{font-style:normal;font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px}
.xp-verdict .ok{background:var(--ok-soft);color:var(--ok)}
.xp-verdict .bad{background:var(--bad-soft);color:var(--bad)}
.xp-verdict .none{background:var(--warn-soft);color:var(--warn)}
.xp-close{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--card2);color:var(--ink2);font-size:20px;line-height:1;flex:none}
.xp-close:hover{border-color:var(--primary);color:var(--primary)}
.xp-body{flex:1;overflow:auto;padding:18px 22px 26px;font-size:14.5px;line-height:1.85;outline:none}
.xp-loading{color:var(--muted)}
.xp-q{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card2);margin-bottom:18px}
.xp-stem{margin:0 0 10px;font:15.5px/1.7 var(--en);color:var(--ink)}
.xp-stem u{text-decoration:none;border-bottom:1.5px solid var(--primary);color:var(--primary);font:600 12px/1 var(--sans);padding:0 2px}
.xp-opts{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.xp-opts li{display:flex;align-items:baseline;gap:9px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);font:14.5px/1.5 var(--en)}
.xp-opts li b{font:600 12px/1 var(--sans);color:var(--muted);min-width:12px}
.xp-opts li em{margin-left:auto;font:600 11.5px/1 var(--sans);font-style:normal;white-space:nowrap}
.xp-opts li.key{border-color:var(--ok);background:var(--ok-soft)}.xp-opts li.key b,.xp-opts li.key em{color:var(--ok)}
.xp-opts li.mine{border-color:var(--bad);background:var(--bad-soft)}.xp-opts li.mine b,.xp-opts li.mine em{color:var(--bad)}
.xp-ex h3{font:600 15px/1.4 var(--sans);margin:0 0 8px;color:var(--ink)}
.xp-ex p{margin:0 0 9px;color:var(--ink2)}
.xp-ex p.xp-optline{margin:0 0 3px;font-family:var(--en);color:var(--muted)}
.xp-ex .xp-tag{display:inline-block;margin-right:6px;padding:0 7px;border-radius:5px;background:var(--primary-soft);color:var(--primary);font-size:12.5px;line-height:1.75}
.xp-ex mark{background:color-mix(in srgb,var(--ok) 16%,transparent);color:inherit;border-radius:3px;padding:0 2px}
.xp-none p{color:var(--muted)}
.xp-rich p{margin:0 0 10px;color:var(--ink2)}
.xp-rich code{font:600 13px var(--en);background:var(--card2);padding:1px 5px;border-radius:4px;color:var(--ink)}
.xp-rich .callout{margin:12px 0;padding:10px 14px;border-radius:9px;border:1px solid var(--line);background:var(--card2)}
.xp-rich .callout-head{margin:0 0 4px;font:600 13px/1.5 var(--sans);color:var(--muted)}
.xp-rich .callout-quote{border-left:3px solid var(--primary)}
.xp-rich .callout-quote p:not(.callout-head){font:15px/1.7 var(--en);color:var(--ink)}
.xp-rich .callout-success{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}
.xp-rich .callout-success .callout-head{color:var(--ok)}
.xp-rich .callout-failure .callout-head{color:var(--bad)}
.xp-rich ul{margin:4px 0 0;padding-left:18px}
.xp-rich li{margin:4px 0;color:var(--ink2)}
.xp-rich mark{background:#fff0b3;color:inherit;padding:0 1px}
html[data-theme=dark] .xp-rich mark{background:#4a4120;color:#f5e6b0}
.xp-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 10px}
.xp-actions .button{padding:8px 14px}
.xp-src{font-size:12px;color:var(--faint);line-height:1.7;margin:8px 0 0;border-top:1px dashed var(--line);padding-top:10px}
.xp-foot{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:var(--card2);font-size:13px;color:var(--muted)}
.xp-foot button{padding:7px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink2);font-size:13.5px}
.xp-foot button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.xp-foot button:disabled{opacity:.4;cursor:default}
.xp-foot #xp-pos{font-variant-numeric:tabular-nums}
.xp-only{margin-left:auto;display:flex;align-items:center;gap:6px;cursor:pointer}
.xp-only[hidden]{display:none}
.xp-only input{accent-color:var(--primary)}
.xp-foot button[data-xp-step="1"]{margin-left:0}
/* 打开讲解时，原文里的证据句 */
.drill-source .paper-line.enh-evidence{background:color-mix(in srgb,#ffd84d 35%,transparent);box-shadow:inset 3px 0 0 #e0a800;border-radius:4px;margin-left:-6px;padding-left:6px}
html[data-theme=dark] .drill-source .paper-line.enh-evidence{background:#4a4120}
/* 面板在右侧时，给左边原文让出位置 */
@media(min-width:1280px){body.xp-open .shell{margin-right:560px}body.xp-open .xp-mask{display:none}body.xp-open .drill-side{display:none}body.xp-open .drill-layout{grid-template-columns:1fr}}
@media(max-width:1279px){body.xp-open{overflow:hidden}}
@media(max-width:650px){.xp{width:100vw;top:auto;height:88vh;border-radius:16px 16px 0 0;border-left:0;transform:translateY(30px)}.xp-body{padding:14px 16px 20px}.xp-foot{padding:10px 12px;gap:8px}.xp-foot button{padding:7px 10px}}
@media print{.xp,.xp-mask,.enh-xp-all,.enh-xp-btn{display:none!important}}

/* 错题本：每道错题可点开讲解 */
button.mistake-cell{font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}
button.mistake-cell:hover{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}
.mistake-review{margin-left:12px;font-size:13px}
.xp-ex p.xp-optline.key{color:var(--ok);font-weight:600}
.xp-ex p.xp-optline.mine{color:var(--bad);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--bad) 50%,transparent)}
