/* M-109 新生测评的开始页与诊断式报告（home/assess-report.js）。沿用 home.css 的 token（暖白底、石油蓝、火山橙）；
   家长看的页面不套教师端规矩，但对比度 ≥ 4.5:1（图形 ≥ 3:1）、字号下限照旧。类名都带 ar- 前缀，不碰 home.css 原有的测评样式。 */
.ar{--c-solid:#1f7a55;--c-unsure:#b7791f;--c-weak:#c94a1f;--r-sm:10px;--r-md:14px;--r-lg:22px}
.ar .num{font-variant-numeric:tabular-nums}
.ar h1:focus{outline:none}
.ar-eyebrow{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--fire-ink);letter-spacing:.02em}

/* ---------- 开始页 ---------- */
.ar-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:center;padding:8px 0}
.ar-hero h1{font-size:clamp(28px,4.4vw,38px);line-height:1.25;margin:0 0 16px}
.ar-hero h1 em{font-style:normal;color:var(--fire-ink)}
.ar-lead{font-size:18px;color:var(--muted);margin:0 0 20px}
.ar-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ar-facts li{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:8px 14px;font-size:14px;color:var(--muted)}
.ar-facts b{display:block;color:var(--ink);font-size:16px}
.ar-go{margin:20px 0 0}
.ar-sample{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.07)}
.ar-sample figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}
.ar-sample figcaption small{color:var(--faint);font-size:12px}
.ar-s-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;background:var(--fire-s);border-radius:var(--r-md);padding:10px 14px;margin-bottom:8px}
.ar-s-head small{width:100%;color:var(--fire-ink);font-weight:700;font-size:12px}
.ar-s-head b{font-size:18px}
.ar-s-head span{color:var(--muted);font-size:14px}
.ar-s-more{margin:8px 0 0;font-size:14px;color:var(--pri);font-weight:600}
.ar-pick{margin-top:32px}
.ar-pick h2{font-size:24px;margin:0 0 4px}
.ar-pick>p.muted{margin:0}
@media (max-width:820px){.ar-hero{grid-template-columns:1fr}}

/* ---------- 报告头 ---------- */
.ar-head{background:var(--ink);color:#fff;border-radius:24px;padding:24px;margin:8px 0;box-shadow:0 1px 2px rgba(31,42,51,.06),0 8px 24px rgba(31,42,51,.06)}
.ar-head .ar-eyebrow{color:#f6c9b5}
.ar-head h1{font-size:24px;line-height:1.5;margin:0 0 20px;font-weight:700}
.ar-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ar-kpis div{background:rgba(255,255,255,.08);border-radius:var(--r-md);padding:10px 12px}
.ar-kpis b{display:block;font-size:30px;line-height:1.2}
.ar-kpis b small{font-size:16px;font-weight:600;color:#c8d2d8}
.ar-kpis span{font-size:14px;color:#c8d2d8}
.ar-startc{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;background:#fff;color:var(--ink);border-radius:var(--r-md);padding:12px 16px;margin-top:12px}
.ar-startc small{width:100%;color:var(--fire-ink);font-weight:700;font-size:14px}
.ar-startc b{font-size:20px}
.ar-startc span{color:var(--muted)}
.ar-head .ar-fine{color:#c8d2d8;margin:12px 0 0}
.ar-fine{font-size:14px;color:var(--faint);margin:10px 0 0}
@media (max-width:640px){.ar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ar-head{padding:20px}.ar-head h1{font-size:20px}.ar-kpis b{font-size:24px}}

/* ---------- 各段 ---------- */
.ar-sec{margin:32px 0}
.ar-sec h2{font-size:20px;margin:0 0 4px}
.ar-sub{margin:0 0 12px;color:var(--muted);font-size:14px;max-width:40em}
.ar-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.ar-tbar{padding:10px 0}
.ar-tbar+.ar-tbar{border-top:1px dashed var(--line)}
.ar-t-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px}
.ar-t-top b{font-size:16px}
.ar-t-top .num{color:var(--muted);font-size:14px}
.ar-t-top .ar-band{margin-left:auto}
.ar-stack{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--soft)}
.ar-stack i{display:block;height:100%}
.ar-stack i+i{box-shadow:inset 2px 0 0 #fff}
.ar-t-break{margin:6px 0 0;font-size:14px;color:var(--muted)}
.ar .solid{background:var(--c-solid)}.ar .unsure{background:var(--c-unsure)}.ar .weak{background:var(--c-weak)}
.ar-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:14px;color:var(--muted)}
.ar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.ar-bandnote{font-size:14px;color:var(--muted);margin:10px 0 0;line-height:1.9}
.ar-band{font-style:normal;font-size:12px;font-weight:700;border-radius:8px;padding:2px 8px;white-space:nowrap}
.ar-band.b1{background:var(--ok-s);color:var(--ok)}.ar-band.b2{background:var(--pri-s);color:var(--pri-d)}
.ar-band.b3{background:var(--gold-s);color:var(--gold-ink)}.ar-band.b4{background:var(--fire-s);color:var(--fire-ink)}
.ar-band.b0{background:var(--soft);color:var(--muted);font-weight:500}

.ar-wcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:12px;break-inside:avoid}
.ar-wcard header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px}
.ar-wcard header b{font-size:18px}
.ar-wcard header small{color:var(--faint);font-size:14px}
.ar-wcard dl{margin:0;display:grid;gap:8px}
.ar-wcard dl div{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:12px}
.ar-wcard dt{font-size:14px;font-weight:700;color:var(--muted);padding-top:1px}
.ar-wcard dd{margin:0;font-size:16px}
@media (max-width:560px){.ar-wcard dl div{grid-template-columns:1fr;gap:0}}
.ar-st{display:inline-block;font-size:12px;font-weight:700;border-radius:6px;padding:0 6px;margin-left:4px;vertical-align:1px}
.ar-st.solid{background:var(--ok-s);color:var(--ok)}.ar-st.unsure{background:var(--gold-s);color:var(--gold-ink)}.ar-st.weak{background:var(--fire-s);color:var(--fire-ink)}
.ar-st.none{background:var(--soft);color:var(--muted);font-weight:500}

.ar-route{list-style:none;margin:0;padding:0}
.ar-route>li{position:relative;padding:0 0 16px;break-inside:avoid}
.ar-route>li:not(:last-child)::before{content:"";position:absolute;left:17px;top:40px;bottom:0;width:2px;background:var(--line2)}
.ar-step{display:flex;gap:14px}
.ar-step .no{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.ar-step b{font-size:16px;display:block;margin:5px 0 4px}
.ar-step ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ar-step ul li{font-size:16px}
.ar-step ul small{display:block;font-size:14px;color:var(--muted)}

.ar-chap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;break-inside:avoid}
.ar-chap h3{margin:0 0 8px;font-size:16px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.ar-chap h3 small{color:var(--faint);font-weight:500;font-size:12px}
.ar-kps{display:flex;flex-wrap:wrap;gap:6px}
.ar-kp{font-size:14px;border-radius:var(--r-sm);padding:3px 10px}
.ar-kp a{color:inherit;text-decoration:none}
.ar-kp a:hover{text-decoration:underline}
.ar .ar-kp.solid{background:var(--ok-s);color:var(--ok)}.ar .ar-kp.unsure{background:var(--gold-s);color:var(--gold-ink)}.ar .ar-kp.weak{background:var(--fire-s);color:var(--fire-ink);font-weight:700}

.ar-review summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:44px}
.ar-review summary::-webkit-details-marker{display:none}
.ar-review summary::after{content:"展开";font-size:14px;color:var(--pri);font-weight:600}
.ar-review[open] summary::after{content:"收起"}
.ar-review summary h2{margin:0}
.ar-rv{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;margin-top:10px;font-size:16px;break-inside:avoid}
.ar-rv p{margin:6px 0 0}
.ar-rv .ar-st-q{font-weight:600;margin:0}
.ar-rv .me{color:var(--fire-ink);font-weight:600}.ar-rv .ans{color:var(--ok);font-weight:700}

.ar-lead>p.muted{margin:0}
.ar-lead .consent{align-items:center;min-height:44px;cursor:pointer}
.ar-lead .consent input{margin-top:0}
.ar-acts{display:flex;gap:10px;flex-wrap:wrap}
.ar-printfoot{display:none}
.ar-dock{display:none}
@media (max-width:640px){
  .ar-dock{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(250,248,243,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
  .ar-dock .btn{flex:1}
  body.ar-on .as{padding-bottom:96px}
}

/* 打印：A4 竖版，深色头卡改白底黑字，条形图与状态色强制打出来；不打印留资卡、按钮和逐题回看（选错的题「卡在哪」里已经写了） */
@media print{
  @page{size:A4;margin:14mm 12mm}
  body.ar-on .top,body.ar-on .foot,.ar-lead,.ar-noprint,.ar-dock,.ar-sec-review{display:none!important}
  body.ar-on{background:#fff;font-size:14px}
  body.ar-on .as{max-width:none;padding:0}
  .ar-head{background:#fff;color:var(--ink);border:2px solid var(--ink);box-shadow:none;padding:16px 18px}
  .ar-head .ar-eyebrow{color:var(--fire-ink)}
  .ar-head .ar-fine,.ar-kpis span,.ar-kpis b small{color:var(--muted)}
  .ar-head h1{font-size:18px;margin-bottom:12px}.ar-kpis b{font-size:20px}
  .ar-kpis div{background:var(--soft)}
  .ar-kpis div,.ar-stack,.ar-stack i,.ar-legend i,.ar-band,.ar-st,.ar-kp,.ar-startc,.ar-step .no{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .ar-startc{border:1px solid var(--line2)}
  .ar-sec{margin:14px 0}
  .ar-sec h2,.ar-sub{break-after:avoid}
  .ar-chaps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ar-chaps .ar-chap{margin:0}
  .ar-wcard,.ar-panel,.ar-chap{padding:10px 14px}
  .ar-wcard{margin-bottom:8px}
  .ar-tbar{padding:6px 0}.ar-route>li{padding-bottom:8px}.ar-step .no{width:28px;height:28px}.ar-route>li:not(:last-child)::before{left:13px;top:32px}
  .ar-wcard dd,.ar-step ul li{font-size:14px}
  .ar-printfoot{display:block;font-size:12px;color:var(--faint);border-top:1px solid var(--line);padding-top:8px;margin-top:16px}
}
