/* =========================================================
   Form ZA-01 — AI Opportunity Check (/check)
   Loaded after site.css. The tool's component rules were authored
   against a second set of token names; the bridge below maps them
   onto this site's tokens so the tool wears the site's identity
   rather than carrying its own palette.
   ========================================================= */

/* ============ TOKEN BRIDGE ============ */
:root {
  /* surfaces the tool needs that site.css doesn't name */
  --card: #10151f;
  --field: #0d121c;
  --bg-2: var(--bg-raise);
  --line-strong: rgba(255, 255, 255, 0.16);

  /* the tool's accent role -> this site's violet */
  --brass: var(--accent);
  --brass-stroke: var(--accent);
  --brass-deep: var(--accent-300);
  --brass-tint: rgba(167, 139, 250, 0.32);

  /* type roles */
  --serif: var(--display);
  --sans: var(--body);
}

/* ============ PAGE BASE (site.css leaves these to the page) ============ */
#main h1, #main h2, #main h3, #main h4 {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.01em;
}
#main p { margin: 0 0 1em; }
#main a:not(.btn) {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
#main a:not(.btn):hover { color: var(--accent-300); }
/* site.css puts `position: fixed; height: 72px` on the header and a blanket
   `section { padding: 120px 0 }` on every section element — neither of which
   suits a tool page, so both are restated here for this page only. */
#main { padding-top: 104px; }
#main section { padding: 0; }
#main .zc-sheet { padding: 0 0 44px; }
#main .tool { margin: 8px 0 64px; }

/* ============ SHEET HEADER ============
   .zc-sheet / .zc-foot are namespaced: site.css already owns .hero
   (a 100vh flex hero) and .foot__bottom. */
.hero-meta {
  display: flex; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap;
  font-family: var(--mono); font-size: 11.5px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ink-4);
  padding-bottom: 16px; border-bottom: 1px solid var(--line);
}
.kicker {
  font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--accent);
  margin: 26px 0 14px;
}
.zc-sheet h1 { font-size: clamp(34px, 5.4vw, 60px); line-height: 1.06; font-weight: 600; }
.dek { margin-top: 20px; font-size: 17px; line-height: 1.7; color: var(--ink-2); max-width: 62ch; }
.dek strong { color: var(--ink); font-weight: 600; }

/* ============ THE TOOL PANEL — a site card, not a paper sheet ============ */
.tool {
  border: 1px solid var(--line); border-radius: 14px;
  background: rgba(255, 255, 255, 0.015); overflow: hidden;
}
.tool__head { background: rgba(255, 255, 255, 0.03); border-bottom: 1px solid var(--line); color: var(--ink-3); }
.tool__ref { color: var(--ink-4); }
.ticks i { background: var(--line-strong); }
.ticks i.on { background: var(--accent); }

/* ============ QUESTIONS ============ */
.q legend { font-family: var(--display); color: var(--ink); font-weight: 600; }
.q__help { color: var(--ink-3); }
.opt {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line); border-radius: 10px; color: var(--ink-2);
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}
.opt:hover { border-color: var(--line-strong); background: rgba(255, 255, 255, 0.04); color: var(--ink); }
.opt.is-on { border-color: var(--accent); background: rgba(167, 139, 250, 0.08); color: var(--ink); }
.opt__mark { border-color: var(--line-strong); }
.opt.is-on .opt__mark { border-color: var(--accent); background: var(--accent); }

/* ============ SLIDERS ============ */
.sld__label { font-family: var(--display); color: var(--ink); font-weight: 600; }
.sld input[type="range"] { accent-color: var(--accent); }
.sld output { font-family: var(--mono); color: var(--accent); }

/* ============ RESULTS ============ */
.card, .panel, .rate, .start {
  background: rgba(255, 255, 255, 0.015);
  border: 1px solid var(--line); border-radius: 12px;
}
.notes { border-top: 1px solid var(--line); }
.nk { color: var(--accent); }
.price, .figure { font-family: var(--display); color: var(--ink); }
.num, .price { font-variant-numeric: tabular-nums; }

/* ============ TOOL COMPONENTS ============ */
/* =========================================================
   Form ZA-01 — AI Opportunity Check (/check) page styles.
   Loaded after site-v2.css (interior-v2.css is NOT used here); v2 tokens only.
   Fonts, base element rules, buttons, and the nav shell come
   from site-v2.css — this sheet carries only what the tool
   adds, ported from the artifact build's page CSS.
   ========================================================= */

/* ============ PAGE COLUMN + UTILITIES ============ */
.wrap{max-width:1040px;margin-inline:auto;padding-inline:var(--gutter)}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ============ BUTTON ADDITIONS (base .btn lives in site-v2.css) ============ */
.arr--l{display:inline-block;transform:scaleX(-1)}
.btn:hover .arr--l{transform:scaleX(-1) translateX(3px)}
.btn--sm{padding:9px 14px;min-height:40px;font-size:13.5px}

/* ============ SHEET HEADER ============
   .zc-sheet / .zc-foot are namespaced: site.css already owns .hero
   (a 100vh flex hero) and .foot__bottom. */
/* .hero-meta comes from site-v2.css unchanged; only the hero padding differs here */
.zc-sheet{padding:0 0 44px}
.kicker{font:500 11px/1.6 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:44px 0 0}
.zc-sheet h1{font-size:clamp(34px,6vw,56px);font-weight:585;line-height:1.05;letter-spacing:-.012em;margin:10px 0 0;text-wrap:balance}
.zc-sheet .dek{font-size:17.5px;max-width:62ch;margin:18px 0 0}
.zc-sheet .dek strong{color:var(--ink);font-weight:600}

/* ============ THE TOOL CARD ============ */
.tool{border:1px solid var(--line-strong);background:var(--card);margin:8px 0 64px}
.tool__head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  padding:10px 16px;background:var(--bg-2);border-bottom:1px solid var(--line-strong);
  font:500 10.5px/1.6 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink);
}
.tool__ref{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.ticks{display:inline-flex;gap:5px;margin-right:10px;vertical-align:1px}
.tick{width:20px;height:4px;border:1px solid var(--line-strong);background:transparent}
.tick--done{background:var(--ink);border-color:var(--ink)}
.tick--cur{background:var(--brass-stroke);border-color:var(--brass-stroke)}
.tool__body{padding:clamp(20px,4vw,36px)}
.scr-title{font-size:clamp(23px,3.4vw,28px);font-weight:600;letter-spacing:-.005em;margin:0 0 6px}
.scr-title:focus-visible{outline:2px solid var(--brass);outline-offset:4px}

/* questions */
.q{border:0;padding:0;margin:26px 0 0}
fieldset.q{border-top:1px solid var(--line);padding-top:20px}
.q legend{font:600 19px/1.3 var(--serif);color:var(--ink);padding:0 0 2px}
fieldset.q legend{float:left;width:100%}
fieldset.q legend + *{clear:both}
.q-help{font-size:14px;color:var(--ink-3);margin:4px 0 12px;max-width:64ch}
.q-count{font-size:11.5px;letter-spacing:.06em;color:var(--brass);margin:0 0 10px}
.q-err{font-size:12.5px;letter-spacing:.03em;color:var(--brass);margin:10px 0 0}
.q-err::before{content:"→ "}
.opts{display:grid;grid-template-columns:1fr;gap:8px}
.opts--2col{grid-template-columns:1fr 1fr}
@media (max-width:640px){.opts--2col{grid-template-columns:1fr}}
.opt{
  position:relative;display:flex;align-items:center;gap:12px;
  border:1px solid var(--line-strong);background:var(--card);border-radius:2px;
  padding:11px 14px;min-height:48px;cursor:pointer;
  font:400 15px/1.4 var(--sans);color:var(--ink);
  transition:border-color .14s ease,background-color .14s ease;
}
.opt:hover{border-color:var(--brass-stroke)}
.opt input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.opt__box{
  width:16px;height:16px;flex:none;border:1px solid var(--ink);background:var(--card);
  display:grid;place-items:center;
}
.opt input[type=radio] + .opt__box{border-radius:50%}
.opt__box::after{
  content:"";width:8px;height:8px;background:var(--ink);transform:scale(0);transition:transform .12s ease;
}
.opt input[type=radio] + .opt__box::after{border-radius:50%}
.opt:has(input:checked){border-color:var(--ink);background:var(--bg-2)}
.opt:has(input:checked) .opt__box::after{transform:scale(1)}
.opt:has(input:focus-visible){outline:2px solid var(--brass);outline-offset:2px}

/* slider */
.sld__label{display:block;font:600 19px/1.3 var(--serif);color:var(--ink)}
.sld{border-top:1px solid var(--line);padding-top:20px}
.sld__row{display:flex;align-items:center;gap:18px}
.sld__row output{font:500 14px/1.4 var(--mono);color:var(--ink);min-width:9ch;text-align:right;white-space:nowrap}
input[type=range]{-webkit-appearance:none;appearance:none;flex:1;height:44px;background:transparent;cursor:pointer;margin:0;min-width:0}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--ink-3)} /* 5.5:1 — clears the 3:1 non-text floor */
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;margin-top:-8px;border-radius:50%;
  background:var(--card);border:2px solid var(--ink);transition:border-color .14s ease,background-color .14s ease;
}
input[type=range]:hover::-webkit-slider-thumb{border-color:var(--brass)}
input[type=range]:active::-webkit-slider-thumb{background:var(--ink)}
input[type=range]::-moz-range-track{height:2px;background:var(--ink-3)}
input[type=range]::-moz-range-thumb{
  width:14px;height:14px;border-radius:50%;background:var(--card);border:2px solid var(--ink);
  transition:border-color .14s ease,background-color .14s ease;
}
input[type=range]:hover::-moz-range-thumb{border-color:var(--brass)}
input[type=range]:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* card footer */
.tool__foot{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:32px;padding-top:22px;
}

/* ============ RESULTS BRIEF ============ */
.brief__sub{font-size:12px;letter-spacing:.06em;color:var(--ink-3);margin:0 0 18px}
.brief__framing{font-size:15.5px;max-width:66ch}
.r-inputs{margin:22px 0 12px}
.tblock__head{
  display:flex;justify-content:space-between;gap:10px;align-items:baseline;
  padding:9px 14px;background:var(--bg-2);border-bottom:1px solid var(--line-strong);
  font:500 10.5px/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink);
}
.tblock{border:1px solid var(--line-strong);background:var(--card)}
.tblock__head .rev{color:var(--ink-3);white-space:nowrap}
.tblock__row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line)}
.tblock__row:last-child{border-bottom:0}
.tblock__k{font:400 10.5px/1.7 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.tblock__v{font:500 14px/1.5 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:480px){.tblock__row{grid-template-columns:1fr;gap:2px;padding:8px 14px}}
.brief__edit{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 8px}

.r-head{display:flex;align-items:center;gap:14px;margin:44px 0 14px;padding-top:22px;border-top:1px solid var(--line-strong)}
.r-no{
  font:500 12px/1 var(--mono);color:var(--ink);border:1px solid var(--ink);
  width:30px;height:30px;display:grid;place-items:center;flex:none;background:var(--card);
}
.r-label{font:500 11px/1.5 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink);margin:0;max-width:34ch}
.r-rule{flex:1;border-top:1px solid var(--line)}
.r-fig{font:400 10.5px/1.4 var(--mono);color:var(--ink-3);letter-spacing:.04em}
@media (max-width:640px){.r-head .r-fig{display:none}}
.r-intro{font-size:15px;max-width:66ch}
.r-note{font-size:14px;color:var(--ink-3);max-width:66ch;border-left:2px solid var(--brass-stroke);padding-left:12px}

/* opportunity cards */
.opp{border:1px solid var(--line-strong);background:var(--card);padding:18px 18px 14px;margin:0 0 12px}
.opp__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 14px;align-items:baseline}
.opp__idx{font-size:12px;color:var(--ink-3)}
.opp__title{font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.003em}
.opp__rung{text-align:right;white-space:nowrap}
.opp__step{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.opp__price{display:block;font-size:15px;font-weight:500;color:var(--ink);margin-top:2px}
.opp__blurb{font-size:14.5px;margin:12px 0 10px;max-width:68ch}
.opp__sv{font-size:14.5px;color:var(--ink);max-width:68ch;margin:0 0 6px}
.opp__pb{font-size:12.5px;color:var(--brass);letter-spacing:.01em;margin:0 0 10px;font-variant-numeric:tabular-nums}
.opp__credit{font-size:11.5px;color:var(--ink-3);letter-spacing:.02em;margin:0 0 10px}
.opp__meta{font-size:11px;letter-spacing:.04em;color:var(--ink-3);border-top:1px dashed var(--line);padding-top:10px;margin:0;font-variant-numeric:tabular-nums}
@media (max-width:560px){
  .opp__top{grid-template-columns:auto minmax(0,1fr)}
  .opp__rung{grid-column:2;text-align:left;white-space:normal}
  .opp__price{display:inline;margin-left:8px}
  .opp__step{display:inline}
}

/* chart */
.chart{border:1px solid var(--line-strong);background:var(--card);padding:16px 18px 12px;margin:14px 0 0}
.ch-leg{display:flex;gap:22px;flex-wrap:wrap;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.ch-leg > span{display:inline-flex;align-items:center;gap:7px}
.sw{width:14px;height:8px;display:inline-block;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.sw--pair{display:inline-flex;flex:none}
.sw--pair .sw{width:7px}
.sw--lo{background:var(--brass-stroke)}
.sw--hi{background:var(--brass-tint)}
.sw--price{width:2px;height:12px;background:var(--ink)}
.sw--dash{width:18px;height:0;background:transparent;border-top:1px dashed var(--ink)}
.ch-row{margin:0 0 12px}
.ch-lab{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--ink-2);letter-spacing:.02em;margin-bottom:3px}
.ch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-pb{color:var(--brass);white-space:nowrap}
.ch-svg{display:block;overflow:visible} /* a price marker at the scale max sits at x=100%; overflow keeps its 2px stroke whole */
.ch-grid{stroke:var(--line);stroke-width:1}
.ch-hi{fill:var(--brass-tint)}
.ch-lo{fill:var(--brass-stroke)}
.ch-pr{stroke:var(--ink);stroke-width:2}
.ch-pr--join{stroke-width:1;stroke-dasharray:3 3}
.ch-hi,.ch-lo{transition:width .2s ease}
.ch-axis{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-3);letter-spacing:.04em;border-top:1px solid var(--line);padding-top:6px;margin-top:2px}
.ch-cap{margin:10px 0 0;font-size:10.5px}

/* assumptions */
.assume{border:1px solid var(--line-strong);background:var(--card);margin:14px 0 0;padding:0 18px 16px}
.assume__head{
  display:flex;justify-content:space-between;gap:10px;margin:0 -18px 4px;padding:9px 14px;
  background:var(--bg-2);border-bottom:1px solid var(--line-strong);
  font:500 10.5px/1.6 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink);
}
.assume__head span:last-child{color:var(--ink-3)}
.assume__intro{margin-top:12px}
.assume .sld{margin-top:14px;padding-top:14px}
.assume .sld:first-of-type{border-top:0}
.assume .sld__label{font-size:16px}
.assume .q-help{margin-bottom:4px}
.assume__fixed{margin:18px 0 0;border-top:1px solid var(--line);padding-top:4px}
.assume__fixed > div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line)}
.assume__fixed dt{font:500 10.5px/1.8 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.assume__fixed dd{margin:0;font-size:13.5px;color:var(--ink-2)}
@media (max-width:520px){.assume__fixed > div{grid-template-columns:1fr;gap:2px}}
.honesty{font-size:14.5px;color:var(--ink);border-top:1px solid var(--line);padding-top:14px;margin:14px 0 0}

/* starting point (rate-card treatment) */
.startpt{border:1px solid var(--ink);background:var(--card)}
.startpt__head{
  display:flex;justify-content:space-between;gap:10px;padding:9px 16px;background:var(--ink);color:var(--bg);
  font:500 10.5px/1.6 var(--mono);letter-spacing:.13em;text-transform:uppercase;
}
.startpt__body{padding:18px 18px 14px}
.startpt__title{font-size:21px;font-weight:600;letter-spacing:-.003em;margin:0 0 10px;font-variant-numeric:tabular-nums}
.startpt__body > p{font-size:14.5px;max-width:68ch}
.startpt__why{font-size:12px;color:var(--brass);letter-spacing:.02em}
.startpt__ai{color:var(--ink-3)}
.startpt__go{margin:16px 0 10px}
.startpt__body .q-help{margin-bottom:0}

/* worry */
.worry h4{font-size:19px;font-weight:600;margin:0 0 8px}
.worry p{font-size:14.5px;max-width:68ch}
.worry__link{font-size:12.5px}

/* actions */
.acts{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 16px}
.acts__alt{font-size:14px;max-width:70ch}
.acts__meta{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.privacy{font-size:11.5px;color:var(--ink-3);letter-spacing:.02em;border-top:1px dashed var(--line);padding-top:12px;margin-top:18px}
.printfoot{display:none}

/* toast */
.toast{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;
  background:var(--ink);color:var(--bg);font-size:12px;letter-spacing:.03em;
  padding:10px 16px;border-radius:2px;max-width:90vw;
}

/* noscript */
.nojs{padding:clamp(20px,4vw,36px)}
.nojs h2{font-size:22px;margin-bottom:10px}
.nojs p{max-width:64ch}
.nojs ul{margin:14px 0 0;padding-left:20px}
.nojs li{margin:6px 0}

/* ============ FOOTER NOTES (the tool's, not the site footer) ============ */
.notes{border-top:1px solid var(--line-strong);padding:28px 0 20px}
.notes .tbl-notes{margin:0;padding:0;list-style:none;max-width:78ch}
.notes .tbl-notes li{
  display:grid;grid-template-columns:84px 1fr;gap:14px;
  font:400 12.5px/1.75 var(--mono);color:var(--ink-2);letter-spacing:.01em;
  padding:9px 0;border-top:1px dashed var(--line);
}
.notes .tbl-notes li:first-child{border-top:0}
.notes .tbl-notes .nk{color:var(--ink-3);letter-spacing:.1em;white-space:nowrap}
@media (max-width:480px){.notes .tbl-notes li{grid-template-columns:1fr;gap:2px}}
.notes .zc-foot{
  border-top:1px solid var(--line);margin-top:18px;padding:16px 0 26px;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font:400 11.5px/1.8 var(--mono);letter-spacing:.04em;color:var(--ink-3);
}

/* ============ VIEW TRANSITIONS ============ */
.tool{view-transition-name:zc-screen}
::view-transition-old(zc-screen){animation:zc-out .2s ease-out both}
::view-transition-new(zc-screen){animation:zc-in .2s ease-out both}
@keyframes zc-out{to{opacity:0}}
@keyframes zc-in{from{opacity:0;transform:translateY(12px)}}

/* ============ MOTION ============ */
/* the global kill-switch lives in site-v2.css; only the view-transition
   pseudo-elements (not reachable by *) need covering here */
@media (prefers-reduced-motion:reduce){
  ::view-transition-old(zc-screen),::view-transition-new(zc-screen){animation:none !important}
}

/* ============ PRINT (a tight, stamped 1–2 page brief) ============
   site-v2.css already hides .nav/.foot/.cookie-banner/.skip-link in print */
@media print{
  @page{margin:12mm}
  body{background:#fff;font-size:10px;line-height:1.45;color:#222}
  .nav,.tool__foot,.brief__edit,.acts,.toast,.skip-link,.hero-meta,.notes,.zc-foot,
  .sld input,.assume__intro,.q-err,.kicker,.zc-sheet .dek,.ch-cap,.noprint{display:none !important}
  .wrap{max-width:100%;padding:0}
  .zc-sheet{padding-bottom:4px}
  .zc-sheet h1{font-size:18px;margin:0}
  .scr-title{font-size:15px}
  .brief__sub{margin-bottom:8px}
  .brief__framing,.r-intro,.r-note,.opp__blurb,.opp__sv,.worry p,
  .startpt__body > p,.assume__fixed dd,.honesty,.acts__alt{font-size:10px;margin-bottom:6px}
  .opp__pb,.opp__meta,.opp__credit,.startpt__why,.q-help{font-size:8.5px}
  .opp__title,.startpt__title,.worry h4{font-size:12px}
  .opp__price{font-size:11px}
  .opp__step{font-size:8px}
  .brief__sub{font-size:9px}
  .acts__meta{font-size:8.5px}
  .sld__label,.assume .sld__label{font-size:11px}
  .sld,.assume .sld{margin-top:5px;padding-top:5px}
  .sld__row output{text-align:left;font-size:10px}
  .tool,.opp,.chart,.assume,.startpt,.tblock{border-color:#999;background:#fff}
  .tool{margin:0}
  .tool__body{padding:12px 14px}
  .opp{padding:8px 10px;margin-bottom:6px}
  .chart,.assume{padding:8px 10px 6px}
  .assume__head{margin:0 -10px 2px}
  .startpt__body{padding:8px 10px}
  .startpt__go .btn{padding:4px 8px;min-height:0;border-width:1px;font-size:10px}
  .tool__head,.assume__head,.tblock__head{background:#eee;padding:4px 10px}
  .startpt__head{background:#fff;color:#000;border-bottom:1px solid #999;padding:4px 10px}
  .tblock__row{padding:2px 10px}
  .tblock__v{font-size:10px}
  .r-inputs{margin:8px 0 6px}
  .r-head{margin:12px 0 6px;padding-top:6px;break-after:avoid}
  .r-no{width:18px;height:18px;font-size:8px}
  .r-label{font-size:8.5px}
  .r-fig{font-size:8px}
  .ch-row{margin-bottom:6px}
  .ch-lab{font-size:8.5px}
  .ch-leg{font-size:8px;margin-bottom:8px}
  .ch-axis{font-size:8px}
  /* no .ch-svg height override: the SVG has a fixed 26px viewport and no
     viewBox, so shrinking it would crop the price markers, not scale them */
  .assume__fixed > div{padding:4px 0}
  .privacy{font-size:8.5px;margin-top:8px;padding-top:6px}
  .opp,.startpt,.chart,.worry{break-inside:avoid}
  a{color:#222;text-decoration:none}
  .printfoot{display:block;font-size:8.5px;color:#444;border-top:1px solid #999;padding-top:6px;margin-top:10px}
}
