/* A 仪器台：内容读数与量程，不再使用印刷卡片与金句海报。 */
.hero { padding: 30px 0; min-height: 0; border-bottom: 1px solid var(--line); }
.hero-grid { grid-template-columns: minmax(0,5fr) minmax(0,7fr); align-items: start; gap: 48px; }
.hero-grid.has-history .spec-card { margin-top: 0; }
#view-home::before, #view-home::after, .hero::after { display: none; }
.issue-line { margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.issue-line .label { color: var(--mute); font-size: 14px; letter-spacing: 0; text-transform: none; }
.thought-card { padding: 18px 0 22px; background: transparent; border: 0; box-shadow: none; max-width: 34em; }
.thought-card::before, .thought-card::after, .thought-gem { display: none; }
#thought-hero.thought-hero { font: 500 18px/1.9 var(--sans) !important; letter-spacing: 0; }
.thought-sign { font-size: 12px; letter-spacing: 0; color: var(--mute); }
.thought-sign::before { display: none; }
.thought-link:hover, #thought-hero.thought-hero:hover { color: var(--signal); border-color: var(--signal); }
.hero .sub { margin-top: 12px; font-size: 15px; max-width: 34em; }
.hero-meta { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); padding: 16px 0; gap: 12px; }
.hero-meta b, .hero-meta div:first-child b { font: 500 26px/1.5 var(--mono); color: var(--ink); }
.hero-meta b small { font-size: 12px; }
.spec-card { display: block; padding: 24px 20px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); box-shadow: none; }
.spec-card::before { background: var(--panel); color: var(--mute); font-size: 12px; letter-spacing: 0; }
.spec-card .chart-paper { background: none; }
.dim-lbl, .dim-plate-k { font-size: 12px; }
.hex-in { fill: color-mix(in srgb,var(--signal) 6%, transparent); }
.dim-needle { stroke: var(--signal); }
.dim-plate { border-top: 1px solid var(--line); }
.sec-head { margin-bottom: 18px; gap: 12px; }
.sec-head h2 { font-size: 20px; font-weight: 600; }
.sec-head .no, .sec-head > .label { display: none; }
.steps { border: 0; border-block: 1px solid var(--line); background: transparent; }
.step { padding: 20px; border-color: var(--line); }
.step .glyph { font: 14px var(--mono); color: var(--faint); }
.step p { font-size: 14px; }
.hl-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
.hl-card { background: transparent; border: 0; border-bottom: 1px solid var(--line); box-shadow: none; padding: 18px 0; }
.hl-card:hover { box-shadow: none; background: var(--panel); }
.hl-banner { background: var(--panel); border-color: var(--line); box-shadow: none; }
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .hero { display: block; padding: 24px 0; min-height: 0; }
  .hero-grid .spec-card, .hero-grid.has-history .spec-card { display: block; margin-top: 0; }
  .cta-row { flex-wrap: wrap; }
  .cta-row .btn.primary { flex: 1 0 100%; }
  .hero-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  section.home-sec:not(.home-learn-sec) { min-height: 0; }
  .hl-grid { grid-template-columns: 1fr; }
  .brand .mark { font-size: 16px; }
  .bank-switch { max-width: 135px; }
}


/* 答题：同一张操作台，保留题型、作答与解析的真实状态类。 */
.quiz-wrap { padding: 28px 0 72px; }
.exam-sheet { max-width: 1000px; background: transparent; border: 0; box-shadow: none; padding: 12px 40px 32px; }
.exam-top { border-bottom: 1px solid var(--line); padding-bottom: 16px; margin-bottom: 0; flex-wrap: wrap; gap: 12px; }
.exam-top .tags { flex-wrap: wrap; }
.tag { border-color: var(--line-2); color: var(--mute); border-radius: var(--radius-control); font-size: 12px; letter-spacing: 0; }
.tag.red { background: var(--panel); color: var(--ink); border-color: var(--line-2); }
.progress-track { margin-bottom: 28px; background: var(--line); height: 3px; }
.progress-fill { background: var(--signal); }
#q-progress-label { font-family: var(--mono); color: var(--mute); }
.scenario { background: var(--panel); border: 1px solid var(--line); border-left: 2px solid var(--signal); padding: 24px; font-size: 16px; line-height: 1.9; }
.q-text { font-size: 21px; line-height: 1.65; margin: 24px 0 18px; font-weight: 600; }
.opt { background: var(--panel); border-color: var(--line); border-radius: var(--radius-control); padding: 18px 22px; font-size: 15px; box-shadow: none; }
.opt .key { font-family: var(--mono); border-radius: var(--radius-control); color: var(--mute); border-color: var(--line-2); font-size: 14px; }
.opt.selected { background: var(--raise); border-color: var(--signal); }
.opt.selected .key, .opt.correct .key { background: var(--signal-fill); border-color: var(--signal-fill); color: var(--on-signal); }
.opt.correct { background: color-mix(in srgb,var(--signal) 7%,var(--panel)); border-color: var(--signal); border-left-width: 3px; }
.opt.wrong { background: color-mix(in srgb,var(--warn) 7%,var(--panel)); border-color: var(--warn); border-left-width: 3px; }
.opt.wrong .key, .opt.bw-worst .key { background: var(--warn); border-color: var(--warn); color: var(--void); }
.opt.dim-out { opacity: 1; color: var(--mute); }
.opt .bw-badge { font-size: 12px; border-color: var(--signal); color: var(--signal); background: var(--raise); box-shadow: none; }
.opt .bw-badge.worst { border-color: var(--warn); color: var(--warn); }
.diagnosis { background: var(--panel); border: 1px solid var(--line); padding: 24px; border-radius: var(--radius-control); }
.diagnosis .takeaway { border-top-style: solid; }
.quiz-footer .hint { font-size: 12px; }
@media (max-width: 640px) {
  .quiz-wrap { padding-top: 20px; padding-bottom: calc(100px + var(--safe-bottom)); }
  .exam-sheet { padding: 0 0 24px; }
  .scenario { padding: 18px; font-size: 15px; }
  .q-text { font-size: 19px; }
  .opt { padding: 16px; }
  .diagnosis { padding: 18px; }
}
@media (max-width: 640px) {
  .instrument-rail { transition: transform .22s ease; }
}

/* 报告：大读数、量程、分维行与建议；数据仍由 renderReport 计算。 */
.report-wrap { padding: 28px 0 64px; }
.report { background: transparent; border: 0; box-shadow: none; }
.report-head { border-bottom: 1px solid var(--line); padding: 12px 0 28px; align-items: center; }
.report-head h3 { font-size: 25px; font-weight: 600; }
.report-head .sub { font-size: 12px; line-height: 1.8; }
.grade { text-align: left; width: min(340px,100%); }
.grade .score { font: 500 clamp(76px,9vw,136px)/1 var(--mono); color: var(--ink); }
.grade .score small { font: 14px var(--mono); color: var(--mute); }
.grade .title-line { font-size: 14px; color: var(--mute); font-weight: 400; }
.report-range { position: relative; height: 30px; margin: 20px 0 12px; border-bottom: 1px solid var(--line-2); background: repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 10%); }
.report-range span { position: absolute; bottom: 3px; font: 11px/1 var(--mono); color: var(--faint); font-variant-numeric: tabular-nums; }
.report-range span:first-child { left: 0; }
.report-range span:last-child { right: 0; }
.report-range::after { content: ""; position: absolute; left: var(--reading); bottom: -1px; border: 5px solid transparent; border-top: 7px solid var(--signal); transform: translateX(-50%); }
.report-body { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 32px; }
.report-left, .report-right { padding: 28px 0; border: 0; min-width: 0; }
.report-left { padding-right: 28px; border-right: 1px solid var(--line); }
.report-left > .label, .report-right > .label { font-size: 12px; letter-spacing: 0; }
.ability-row .meta { font-size: 14px; }
.ability-row .meta b { font-size: 14px; font-weight: 500; }
.ability-row .meta span, .dim-row .val { font-family: var(--mono); }
.bar { height: 8px; background: var(--line); }
.bar i { background: var(--signal); background-image: repeating-linear-gradient(90deg,transparent 0 9px,var(--panel) 9px 10px); }
.dim-row { border-bottom: 1px solid var(--line); padding: 14px 0; }
.dim-row .val { font-size: 14px; }
.rx-head .rx { display: none; }
.rx-head h4 { font-size: 19px; font-weight: 600; }
.rx-card { background: var(--panel); border: 1px solid var(--line); border-left: 2px solid var(--signal); border-radius: var(--radius-control); padding: 22px; }
.rx-card .fw { font-weight: 600; }
.rx-card .fw .label { color: var(--mute); font-size: 12px; letter-spacing: 0; }
.rx-card .trigger, .rx-card .case, .rx-check { font-size: 14px; }
.rx-card .case { background: transparent; border-left-color: var(--line-2); }
.lesion-chips .chip { color: var(--mute); border-color: var(--line-2); background: transparent; }
.history-list li { padding: 10px 0; border-bottom-style: solid; }
.history-list li span:last-child { font-family: var(--mono); }
.wr-card { background: var(--panel); border-color: var(--line); box-shadow: none; border-radius: var(--radius-control); }
@media (max-width: 860px) {
  .report-body { grid-template-columns: 1fr; gap: 0; }
  .report-left { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .report-head { padding: 0 0 24px; gap: 24px; }
  .grade .score { font-size: 88px; }
  .rx-card { padding: 18px; }
}

/* 学习中心：26 个真实框架组成目录，速查信息只在展开时占行。 */
.handbook-wrap { padding-top: 28px; }
.hb-head h2 { font-size: 27px; font-weight: 600; }
.learn-tabbar { margin-bottom: 24px; }
.learn-tabbar .learn-tab-row::after { height: 1px; background: var(--line); }
.learn-tab { border: 0; border-bottom: 2px solid transparent; font-size: 14px; min-height: 44px; padding: 8px 20px; }
.learn-tab.active, .learn-tab:hover { background: transparent; color: var(--ink); -webkit-text-fill-color: var(--ink); border-bottom-color: var(--signal); }
.framework-filter { display: flex; gap: 6px; flex-wrap: wrap; padding-bottom: 24px; }
.framework-filter button { background: transparent; color: var(--mute); border: 1px solid var(--line); border-radius: var(--radius-control); padding: 8px 10px; min-height: 44px; cursor: pointer; font: 12px var(--sans); }
.framework-filter button small { font: 12px var(--mono); padding-left: 8px; color: var(--faint); }
.framework-filter button[aria-pressed="true"] { border-color: var(--signal); color: var(--signal); background: var(--green-soft); }
#learn-grid-root .hb-dim-sec { margin-bottom: 26px; }
#learn-grid-root .sec-head { padding-bottom: 10px; margin-bottom: 0; border-bottom: 1px solid var(--line); }
#learn-grid-root .sec-head .no { display: inline; font: 12px var(--mono); color: var(--signal); }
#learn-grid-root .sec-head h2 { font-size: 15px; font-weight: 500; }
#learn-grid-root .fw-grid { display: flex; flex-direction: column; gap: 0; }
#learn-grid-root .fw-card { display: grid; grid-template-columns: minmax(200px, .9fr) minmax(0,1.4fr) auto; align-items: center; gap: 12px 24px; padding: 17px 8px; border: 0; border-bottom: 1px solid var(--line); background: transparent; box-shadow: none; border-radius: 0; }
#learn-grid-root .fw-card:hover { background: var(--panel); box-shadow: none; }
#learn-grid-root .fw-name { font-size: 15px; font-weight: 500; }
#learn-grid-root .fw-name > .label { display: none; }
#learn-grid-root .learn-badge { display: inline-block; font-size: 12px; border: 0; padding: 0; vertical-align: baseline; font-weight: 400; background: transparent; }
#learn-grid-root .one-liner { font-size: 14px; line-height: 1.7; margin: 0; color: var(--mute); }
.fw-row-actions { display: flex; align-items: center; gap: 14px; }
.fw-expand, #learn-grid-root .fw-enter { background: transparent; border: 0; border-bottom: 1px solid var(--line-2); color: var(--mute); cursor: pointer; font: 12px var(--sans); padding: 8px 0; margin: 0; min-height: 44px; }
#learn-grid-root .fw-enter { color: var(--signal); }
.fw-preview { grid-column: 1 / -1; border-top: 1px dashed var(--line-2); padding: 16px 8px; }
.fw-preview dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.fw-preview dt { color: var(--faint); font-size: 12px; margin-bottom: 6px; }
.fw-preview dd { font-size: 14px; color: var(--ink); line-height: 1.85; }
#learn-map-root { margin-top: 36px; border: 1px solid var(--line); background: var(--panel); box-shadow: none; border-radius: var(--radius-control); }
.lm-card, .lm-node.rec .lm-card { box-shadow: none; border-color: var(--line); background: var(--panel); }
#learn-quickref-root { grid-template-columns: repeat(2,minmax(0,1fr)); }
.qr-card { background: transparent; border: 0; border-top: 1px solid var(--line); padding: 20px 0; }
.qr-card .qr-steps, .qr-card .qr-ask, .qr-card .qr-pit { font-size: 14px; }
.wiki-grid { grid-template-columns: 1fr; }
.lesion-entry { background: transparent; border: 0; border-bottom: 1px solid var(--line); padding: 18px 0; box-shadow: none; }
.lesion-entry p { font-size: 14px; }
.wiki-dim-head { border-color: var(--line); }

/* 全框架学习页：原正文/练习在左，原图解与速查在右；不复制演示内容。 */
#fw-head h2 { font-size: 38px; font-weight: 600; line-height: 1.3; margin: 12px 0; }
#fw-head .hb-sub { font-size: 17px; max-width: 40em; }
.fw-sticky { border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.fw-nav button { min-height: 44px; border: 0; border-bottom: 2px solid transparent; font-size: 13px; padding: 8px 12px; }
.fw-nav button:hover, .fw-nav button:active { background: transparent; color: var(--signal); -webkit-text-fill-color: var(--signal); border-bottom-color: var(--signal); }
#fw-learn-root { display: grid; grid-template-columns: minmax(0,8fr) minmax(0,4fr); gap: 0; align-items: start; }
.fw-reading-main { min-width: 0; padding: 0 36px 24px 0; border-right: 1px solid var(--line); }
.fw-reading-side { min-width: 0; padding-left: 28px; position: sticky; top: calc(var(--topbar-h) + var(--subbar-h) + 24px); }
.fw-sec { margin: 0 0 32px; padding-top: 18px; border-top: 1px solid var(--line); }
.fw-sec > .sec-head { margin-bottom: 18px; }
.fw-sec > .sec-head h2 { font-size: 18px; }
.fw-sec > .sec-head .no { display: inline; font: 12px var(--mono); color: var(--signal); }
.qr-panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-control); padding: 20px; box-shadow: none; }
.qr-panel .qr-mantra { font-size: 18px; font-weight: 500; }
.qr-cols { grid-template-columns: 1fr; gap: 14px; margin-top: 16px; }
.qr-cols ol, .qr-cols ul { font-size: 14px; margin-top: 8px; }
.fw-def { font-size: 16px; line-height: 1.95; }
.fw-def .key-sent { background: none; font-weight: 500; }
.cmp-table { font-size: 14px; }
.case-grid { grid-template-columns: 1fr; }
.case-card { background: transparent; border: 0; border-top: 1px solid var(--line); border-left: 2px solid var(--line-2); box-shadow: none; }
.case-hook { background: var(--panel); color: var(--ink); font-weight: 500; }
.case-body .case-title { font-size: 12px; letter-spacing: 0; }
.example-box, .pit-card { background: var(--panel); border-color: var(--line); box-shadow: none; border-radius: var(--radius-control); }
.pit-card { border-left: 2px solid var(--warn); }
.pit-line { font-size: 14px; }
.how-step { border-bottom-style: solid; }
.how-step .how-no { font: 14px var(--mono); color: var(--signal); }
.fw-diagram { margin: 0 0 24px; border-color: var(--line); box-shadow: none; background: var(--panel); }
.fw-diagram-stage { min-width: 0; }
.fw-page-navigation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding: 24px 0; border-top: 1px solid var(--line); }
.fw-page-navigation button { text-align: left; border: 0; background: transparent; color: var(--ink); cursor: pointer; min-height: 60px; }
.fw-page-navigation button:last-child { text-align: right; }
.fw-page-navigation span { display: block; font-size: 12px; color: var(--mute); margin-bottom: 6px; }
.fw-page-navigation b { font-size: 16px; font-weight: 500; }
@media (max-width: 1180px) {
  #fw-learn-root { grid-template-columns: 1fr; }
  .fw-reading-main { padding-right: 0; border-right: 0; }
  .fw-reading-side { position: static; padding-left: 0; }
  .fw-reading-side .fw-diagrams { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (max-width: 860px) {
  #learn-grid-root .fw-card { grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; }
  #learn-grid-root .one-liner { grid-column: 1; }
  .fw-row-actions { grid-column: 2; grid-row: 1 / 3; flex-direction: column; align-items: end; gap: 0; }
  .fw-preview dl { grid-template-columns: 1fr; gap: 14px; }
  .learn-tabbar, .fw-sticky { top: calc(var(--topbar-h) + var(--safe-top) + 52px); }
}
@media (max-width: 640px) {
  #learn-quickref-root { grid-template-columns: 1fr; }
  .fw-reading-side .fw-diagrams { display: block; }
  .framework-filter button { padding: 6px 8px; }
  #fw-head h2 { font-size: 30px; }
  .learn-tab { padding-inline: 8px; }
}

.resume-layer, .share-layer, .wn-layer, .ig-layer { background: var(--scrim); }
.resume-card, .share-modal, .practice-picker-all, .wn-card, .ig-card, .account-card { background: var(--raise); color: var(--ink); border-color: var(--line-2); border-radius: var(--radius-control); box-shadow: 0 20px 80px color-mix(in srgb,var(--ink) 12%,transparent); }
.resume-card p, .share-modal p, .wn-summary, .wn-feat p, .ig-sub, .ig-success p { font-size: 14px; color: var(--mute); }
.wn-head, .wn-head[data-tone], .wn-head.tone-rust, .wn-head.tone-green { background: var(--panel); color: var(--ink); }
.wn-head h2, .wn-head .wn-title { color: var(--ink); }
.wn-kicker { color: var(--signal); }
.wn-art { color: var(--ink); }
.bp-card { background: var(--raise); box-shadow: none; border: 1px solid var(--line-2); border-radius: var(--radius-control); }
.bp-card .bc-desc { font-size: 12px; color: var(--mute); }
.bp-card .bc-ico { background: var(--panel); color: var(--signal); box-shadow: none; }
.bp-tier-opt i, .bp-tier-opt span { font-size: 12px; }
.share-tip { font-size: 14px; }
.wb-card, .wb-empty, .suggest-card, .feedback-card { background: var(--panel); border-color: var(--line); border-radius: var(--radius-control); box-shadow: none; }
.pw-card, .pw-modal { background: var(--raise); border-color: var(--line-2); border-radius: var(--radius-control); box-shadow: none; }
.pw-price b { color: var(--signal); font-family: var(--mono); }
.pw-desc, .pw-feat, .pw-sub { color: var(--mute); font-size: 14px; }
.thought-big-card { background: var(--raise); box-shadow: none; border-color: var(--line-2); }
.new-tag { display: none; background: var(--panel); color: var(--signal); border: 1px solid var(--line-2); box-shadow: none; transform: none; font-size: 12px; }
.wn-hero { background: var(--panel); color: var(--ink); }
.wn-hero::before, .wn-hero::after { display: none; }
.wn-hero .wn-kicker, .wn-hero .wn-title { color: var(--ink); }
.wn-art text { fill: var(--ink); }
.wn-art [stroke="#FFFFFF"] { stroke: var(--ink); }
.wn-layer { backdrop-filter: none; -webkit-backdrop-filter: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-delay: 0ms !important; transition-delay: 0ms !important; }
  #view-coach *, #view-coach *::before, #view-coach *::after { animation: none !important; transition: none !important; }
}
/* 英文较长的分维说明与学习入口必须换行，不能撑出窄屏。 */
.skill-strip { flex-wrap: wrap; }
.strip-btns { display: flex; flex-wrap: wrap; min-width: 0; max-width: 100%; }
.strip-btns .mini-btn { white-space: normal; }
@media (max-width: 640px) {
  .dim-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
  .dim-row .val { white-space: normal; text-align: right; overflow-wrap: anywhere; }
}

/* 首页：状态条、真实历史量程、档位与读数轨迹。 */
.home-status { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--line); }
.home-status > div { padding: 16px 20px; border-right: 1px solid var(--line); min-width: 0; }
.home-status > div:first-child { padding-left: 0; }
.home-status > div:last-child { border-right: 0; }
.home-status span { display: block; font-size: 12px; color: var(--faint); margin-bottom: 6px; }
.home-status b { display: block; font: 400 14px/1.6 var(--mono); color: var(--ink); }
.hero-grid { grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 40px; }
.hero-grid > div:first-child { border-right: 1px solid var(--line); padding-right: 36px; }
.hero .btn.ghost { border: 0; border-bottom: 1px solid var(--line-2); padding-inline: 0; font-size: 14px; }
.home-tier-picker { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.home-tier-picker > span { font-size: 12px; color: var(--mute); margin-right: 8px; }
.home-tier-picker button { padding: 8px 12px; min-height: 44px; font-size: 12px; border: 1px solid var(--line-2); color: var(--mute); background: transparent; border-radius: var(--radius-control); cursor: pointer; }
.home-tier-picker button b { font: 12px var(--mono); }
.home-tier-picker button[aria-pressed="true"] { color: var(--signal); border-color: var(--signal); background: var(--green-soft); }
.home-radar-result { fill: var(--signal); fill-opacity: .12; stroke: var(--signal); stroke-width: 1.6; }
.home-dim-reading { font: 14px var(--mono); color: var(--signal); margin-bottom: 8px; }
.hex-in { fill: none; }
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-grid > div:first-child { border-right: 0; padding-right: 0; }
}
@media (max-width: 640px) {
  .home-status { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-status > div { padding: 12px; }
  .home-status > div:nth-child(odd) { padding-left: 0; }
  .home-status > div:nth-child(even) { border-right: 0; }
  .home-status b { font-size: 14px; }
}

/* 答题主操作列与真实 session 答题卡分列，窄屏在操作之后阅读。 */
.exam-sheet { display: grid; grid-template-columns: minmax(0,8fr) minmax(0,4fr); max-width: none; padding: 12px 0 32px; }
.quiz-main { min-width: 0; padding-right: 36px; border-right: 1px solid var(--line); }
.quiz-aside { min-width: 0; padding-left: 28px; }
.quiz-aside h2 { font-size: 14px; font-weight: 500; color: var(--mute); margin: 4px 0 18px; }
.quiz-sheet { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 5px; }
.quiz-sheet-cell { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; min-height: 30px; padding: 0; position: relative; appearance: none; font: 12px var(--mono); border: 1px solid var(--line); color: var(--faint); cursor: pointer; transition: background .16s ease, border-color .16s ease, color .16s ease; }
.quiz-sheet-cell.pending { background: transparent; }
.quiz-sheet-cell.pending:hover { background: var(--panel); border-color: var(--signal); color: var(--ink); }
.quiz-sheet-cell.done,
.quiz-sheet-cell.answered { background: var(--green-soft); color: var(--signal); border-color: color-mix(in srgb, var(--signal) 35%, var(--line)); font-weight: 700; }
.quiz-sheet-cell.answered::after { content: ""; position: absolute; top: 4px; right: 4px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.quiz-sheet-cell.current { background: var(--signal-fill); color: var(--on-signal); border-color: var(--signal-fill); }
.quiz-sheet-cell.current::after { display: none; }
.quiz-sheet-cell:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.quiz-sheet-legend { font-size: 12px; color: var(--mute); line-height: 1.8; margin: 14px 0 24px; }
.quiz-current-meta { border-top: 1px solid var(--line); padding-top: 18px; }
.quiz-current-meta > span { color: var(--signal); font: 12px var(--mono); }
.quiz-current-meta h3 { font-size: 17px; font-weight: 500; margin: 10px 0 6px; }
.quiz-current-meta p { font-size: 14px; color: var(--mute); }
@media (max-width: 860px) {
  .exam-sheet { grid-template-columns: 1fr; }
  .quiz-main { padding-right: 0; border-right: 0; }
  .quiz-aside { padding: 24px 0 0; border-top: 1px solid var(--line); margin-top: 24px; }
}
.account-card, .practice-picker, #resume-layer .resume-card { position: relative; }
.a-dialog-close { position: absolute; right: 12px; top: 10px; width: 44px; height: 44px; padding: 0; font-size: 24px; border: 0; background: transparent; color: var(--mute); cursor: pointer; }
.account-card .ac-label, .practice-picker > .label, #resume-layer .resume-card > .label { padding-right: 36px; }
.account-card .ac-sub, .account-card .ac-msg { font-size: 14px; }
.account-tabs button, .ac-actions .btn { min-height: 44px; }
.top-account { display: inline-flex; align-items: center; gap: 8px; }
.account-avatar, .ac-avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; overflow: hidden; border: 1px solid var(--line-2); border-radius: 50%; object-fit: cover; background: var(--panel); color: var(--ink); font-family: var(--mono); }
.account-avatar { width: 30px; height: 30px; font-size: 12px; }
.ac-avatar { width: 72px; height: 72px; font-size: 24px; }
.ac-avatar-row { display: flex; align-items: center; gap: 16px; margin: 18px 0; }
.ac-avatar-change { cursor: pointer; }
body:has(#view-quiz.show) #suggest-fab { bottom: calc(94px + var(--safe-bottom)) !important; }
footer.site .site-foot-note { opacity: 1; }
.framework-filter button[aria-pressed="true"] small { color: inherit; }
.learn-map-head p { font-size: 14px; }
@media (max-width: 640px) { .dim-lbl { font-size: 20px; } }
.fw-diagram-stage [class$="-tag"] { font-size: 12px; }
.fw-diagram-stage [class$="-hint"], .fw-diagram-stage [class$="-cap"] { font-size: 14px; }
.fw-diagram-stage { overflow: visible; max-width: 100%; }
#paywall-modal .pw-note { font-size: 14px; }
.fw-diagram-stage .dg-grey1-sw-label.dg-grey1-active { background: var(--signal-fill); color: var(--on-signal); }
.sample-note, .ability-note { font-size: 14px; }
.chip small { font-size: 12px; opacity: 1; }
.report-aha .aha-title { color: var(--ink); }
#view-coach .mcard.is-done .m-go { opacity: 1; }
.daily-badge, .daily-tag, .daily-date { font-size: 12px; }
.daily-opt, .daily-result p, .daily-takeaway, .daily-done { font-size: 14px; }
#daily-card-root .daily-badge, #daily-card-root .daily-tag, #daily-card-root .daily-date { font-size: 12px; }
#suggest-overlay .sub, .resume-layer .resume-info, #bank-picker-layer .bp-sub { font-size: 14px; }
#suggest-count, #bank-picker-layer .hint-shift { font-size: 12px; }
.thought-card-layer .thought-big-qr-note { color: var(--mute); }
#bp-tier-opts .bp-tier-opt.selected span { color: var(--mute); }
/* 报告总分在左、说明在右，与 A 的读数骨架一致。 */
.report-head { flex-direction: row-reverse; }
.report-head .grade { flex: 1; width: auto; border-right: 1px solid var(--line); padding-right: 32px; }
.report-head > div:not(.grade) { flex: 1; padding-left: 12px; }
.dim-row { display: grid; grid-template-columns: minmax(0,1fr) 80px minmax(100px, .8fr); align-items: center; }
.dim-row .dim-code { display: inline-block; margin-right: 10px; color: var(--mute); font: 12px var(--mono); }
.dim-meter { height: 5px; background: var(--line); position: relative; }
.dim-meter i { height: 100%; display: block; background: var(--signal); }
.dim-meter::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,var(--void) 0 1px,transparent 1px 10%); }
.dim-row .val { white-space: normal; text-align: right; }
@media (max-width: 640px) {
  .report-head { flex-direction: column-reverse; align-items: stretch; }
  .report-head .grade { border-right: 0; padding-right: 0; }
  .report-head > div:not(.grade) { padding-left: 0; }
  .dim-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .dim-meter { display: none; }
}
.ig-card .ig-benefit, .resume-layer .resume-tier-note { font-size: 14px; }
.weak-badge { color: var(--mute); background: var(--panel); border: 1px solid var(--line-2); }
.dim-row .val.s-bad, .dim-row .val.s-weak { color: var(--ink); }
.dim-row.is-lowest .val { color: var(--warn); }
.ability .bar i.low { background-color: var(--signal); }
.ability-note b { color: var(--ink); }
.coach-preserved-entry { display: inline-block; font-size: 14px; color: var(--signal); padding: 10px 0; text-decoration-color: var(--line-2); }

/* October feedback: actions own the space; the radar is supporting context. */
.hero-grid { grid-template-columns: minmax(0,1.618fr) minmax(0,1fr); gap: 32px; }
.hero-grid > div:first-child { padding-right: 32px; }
.home-support { min-width: 0; display: grid; gap: 24px; }
.home-actions { display: grid; gap: 10px; }
.home-actions .btn.ghost { margin: 0; width: 100%; min-height: 58px; text-align: left; padding: 14px 18px; border: 1px solid var(--line-2); background: var(--panel); font-size: 16px; justify-content: space-between; }
.home-actions .btn::after { content: '↗'; margin-left: auto; color: var(--signal); }
.home-actions #btn-coach-home { color: var(--signal); border-color: var(--signal); background: var(--green-soft); font-weight: 600; }
.home-actions .btn:hover { border-color: var(--signal); background: var(--green-soft); }
.home-support .spec-card { padding: 20px 16px 12px; }
.home-support .dial { max-width: 240px; margin: 0 auto; }
.home-support .dim-plate { padding-top: 12px; margin-top: 0; }
.home-support .dim-plate-name { font-size: 18px; }
.home-status > button { position: relative; text-align: left; padding: 16px 28px 16px 20px; border: 0; border-right: 1px solid var(--line); background: transparent; min-width: 0; cursor: pointer; }
.home-status > button:first-child { padding-left: 0; }
.home-status > button:last-child { border-right: 0; }
.home-status > button:hover { background: var(--panel); }
.home-status > button:hover b { color: var(--signal); }
.home-status i { position: absolute; right: 12px; top: 18px; font-style: normal; color: var(--signal); }
/* Scene color belongs to the scene, independent of personal action accent. */
.bp-card { background: color-mix(in srgb,var(--bc) 9%,var(--raise)); border-top: 4px solid var(--bc); }
.bp-card .bc-ico { background: color-mix(in srgb,var(--bc) 14%,var(--raise)); color: var(--bc); }
.bp-card .bc-name { color: var(--ink); }
:root[data-theme="dark"] .bp-card .bc-ico { color: color-mix(in srgb,var(--bc) 45%,white); }
/* Diagram panels get a reading-width column; every SVG shrinks inside it. */
#fw-learn-root { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.fw-diagram-stage { overflow: visible; width: 100%; max-width: 100%; }
.fw-diagram-stage svg { min-width: 0 !important; max-width: 100%; height: auto; }
.fw-diagram-stage > div { max-width: 100%; min-width: 0; }
@media(max-width:1180px){
  #fw-learn-root { grid-template-columns: 1fr; }
  .fw-reading-side .fw-diagrams { display: block; }
}
@media(max-width:860px){
  .hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .hero-grid > div:first-child { padding-right: 0; }
  .home-support { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
  .home-status > button { padding: 14px 25px 14px 12px; }
}
@media(max-width:540px){
  .home-support { grid-template-columns: 1fr; }
  .home-status > button:nth-child(odd) { padding-left: 0; }
  .home-status > button:nth-child(even) { border-right: 0; }
}
/* Settings remain available in both documents and both themes. */
.accent-settings { min-height: 44px; min-width: 44px; border: 0; background: transparent; color: var(--mute); font: 12px var(--sans); cursor: pointer; }
.accent-settings:hover { color: var(--signal); }
.appearance-dialog { position: fixed; inset: 0; margin: auto; width: min(440px,calc(100% - 32px)); padding: 28px; border: 1px solid var(--line-2); border-radius: var(--radius-surface); background: var(--raise); color: var(--ink); }
.appearance-dialog::backdrop { background: var(--scrim); }
.appearance-head { display: flex; align-items: center; justify-content: space-between; }
.appearance-head h2 { font-size: 20px; }
.appearance-close { width: 44px; height: 44px; border: 0; background: transparent; font-size: 26px; cursor: pointer; }
.appearance-dialog p { color: var(--mute); font-size: 14px; margin: 8px 0 24px; }
.accent-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.accent-choices button { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px; background: var(--panel); border: 1px solid var(--line-2); cursor: pointer; font-size: 14px; }
.accent-choices i { width: 20px; height: 20px; background: var(--swatch); border-radius: 50%; }
.accent-choices span { margin-left: auto; visibility: hidden; }
.accent-choices [aria-pressed="true"] { border-color: var(--signal); color: var(--signal); }
.accent-choices [aria-pressed="true"] span { visibility: visible; }
@media(max-width:860px){.instrument-rail .accent-settings { min-width: 40px; padding: 0 2px; }}
/* Query diagram width rather than window width: a desktop side column is narrow too. */
.fw-diagram-stage { container-type: inline-size; }
@container (max-width:700px) {
  .fw-diagram-stage .dg-fp1-grid { grid-template-columns: minmax(0,1fr); }
  .fw-diagram-stage .dg-fp1-bars { gap: 10px; }
  .fw-diagram-stage .dg-fp1-bar { flex-shrink: 1; min-width: 28px; }
  .fw-diagram-stage .dg-fp1-arrow { flex-shrink: 1; }
  .fw-diagram-stage .dg-fp1-sub { white-space: normal; width: 88px; max-width: 110%; }
  .fw-diagram-stage .dg-inv2-stamp { max-width: 100%; white-space: normal; transform: none; }
}
/* Learning navigation and comparisons reflow instead of using a horizontal track. */
.fw-nav, .learn-tab-row { flex-wrap: wrap; overflow: visible; }
.fw-nav::after { display: none; }
.table-scroll { overflow: visible; }
.cmp-table { table-layout: fixed; width: 100%; }
.cmp-table td, .cmp-table th { overflow-wrap: anywhere; white-space: normal; }
@media(max-width:860px){
  .fw-sticky { padding-bottom: 8px; }
  .fw-sticky-row { flex-wrap: wrap; }
  .fw-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
  .fw-nav button { min-width: 0; padding: 8px 4px; min-height: 44px; white-space: normal; }
  .learn-tab-row { gap: 4px; }
}
@media(max-width:860px){
  .hero-grid > div > .home-actions { margin-top: 16px; }
  .home-support { grid-template-columns: minmax(0,1fr); }
  .home-support .spec-card { width: 100%; }
}
