/* Reading bench. Kit tokens (kit/iso.css), light by default; dark follows the app's html.dark or the system setting. */
.asai-bench{
  --anatomy-page:#f2f2ef;--anatomy-card:#fbfbfa;--anatomy-text:#57575a;--anatomy-strong:#18181a;--anatomy-muted:#6b6b70;
  --anatomy-paper:#fbfbfa;--anatomy-face:#ffffff;--anatomy-top:#ffffff;
  --anatomy-shade-0:#dcdcd9;--anatomy-shade-1:#e5e5e2;--anatomy-shade-2:#ededea;--anatomy-shade-3:#f4f4f1;
  --anatomy-lit-top:#ffffff;--anatomy-lit-shade:#eeeeeb;
  --anatomy-hi:#26262a;--anatomy-mid:#8a8a8f;--anatomy-lo:#b4b4b8;--anatomy-faint:#d4d4d6;--anatomy-lit:#000000;
  --anatomy-halo:#8a8a80;--anatomy-halo-opacity:.32;--anatomy-dot:#3a3a3e;
  --anatomy-red:#e5484d;--anatomy-green:#30a46c;--anatomy-blue:#3e63dd;
  --anatomy-weight:.6px;--anatomy-ease:cubic-bezier(.32,.72,0,1);
  --anatomy-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --bench-flag:#ff7200;--bench-flag-top:#ff9a45;--bench-flag-shade:#e56600;--bench-lens:#7aa7c71f;--bench-window:#26262a;--bench-digits:#f4f4f1;
  color-scheme:light;
}
html.dark .asai-bench{
  --anatomy-page:#0b0e14;--anatomy-card:#11151d;--anatomy-text:#a3a7b0;--anatomy-strong:#e8eaee;--anatomy-muted:#8a90a0;
  --anatomy-paper:#11151d;--anatomy-face:#1a1f29;--anatomy-top:#1b202a;
  --anatomy-shade-0:#0d1017;--anatomy-shade-1:#10141b;--anatomy-shade-2:#13171f;--anatomy-shade-3:#161b24;
  --anatomy-lit-top:#262c38;--anatomy-lit-shade:#1d222c;
  --anatomy-hi:#d6d9de;--anatomy-mid:#6b707b;--anatomy-lo:#3e434d;--anatomy-faint:#2a2e37;--anatomy-lit:#ffffff;
  --anatomy-halo:#030407;--anatomy-halo-opacity:.9;--anatomy-dot:#e6e8ec;
  --bench-flag:#ff7a12;--bench-flag-top:#ff9a45;--bench-flag-shade:#b85200;--bench-lens:#9cc4e01a;--bench-window:#05070a;--bench-digits:#ffb070;
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){html:not(.light):not(.dark) .asai-bench{
  --anatomy-page:#0b0e14;--anatomy-card:#11151d;--anatomy-text:#a3a7b0;--anatomy-strong:#e8eaee;--anatomy-muted:#8a90a0;
  --anatomy-paper:#11151d;--anatomy-face:#1a1f29;--anatomy-top:#1b202a;
  --anatomy-shade-0:#0d1017;--anatomy-shade-1:#10141b;--anatomy-shade-2:#13171f;--anatomy-shade-3:#161b24;
  --anatomy-lit-top:#262c38;--anatomy-lit-shade:#1d222c;
  --anatomy-hi:#d6d9de;--anatomy-mid:#6b707b;--anatomy-lo:#3e434d;--anatomy-faint:#2a2e37;--anatomy-lit:#ffffff;
  --anatomy-halo:#030407;--anatomy-halo-opacity:.9;--anatomy-dot:#e6e8ec;
  --bench-flag:#ff7a12;--bench-flag-top:#ff9a45;--bench-flag-shade:#b85200;--bench-lens:#9cc4e01a;--bench-window:#05070a;--bench-digits:#ffb070;
  color-scheme:dark;
}}
.iso-svg{display:block;width:100%;height:auto;overflow:visible}
.iso-svg path,.iso-svg circle{vector-effect:non-scaling-stroke}
.iso-fill{fill:var(--anatomy-paper);stroke:none}
.iso-solid[data-lit]>.iso-fill{fill:var(--anatomy-face)}
.iso-shade,.iso-top{stroke:none}
.iso-shade[data-shade="0"]{fill:var(--anatomy-shade-0)}
.iso-shade[data-shade="1"]{fill:var(--anatomy-shade-1)}
.iso-shade[data-shade="2"]{fill:var(--anatomy-shade-2)}
.iso-shade[data-shade="3"]{fill:var(--anatomy-shade-3)}
.iso-top{fill:var(--anatomy-top)}
.iso-solid[data-lit]>.iso-top{fill:var(--anatomy-lit-top)}
.iso-solid[data-lit]>.iso-shade{fill:var(--anatomy-lit-shade)}
.iso-solid[data-seamless]>.iso-shade,.iso-solid[data-seamless]>.iso-top{stroke-width:.4;stroke-linejoin:round}
.iso-solid[data-seamless]>.iso-shade[data-shade="0"]{stroke:var(--anatomy-shade-0)}
.iso-solid[data-seamless]>.iso-shade[data-shade="1"]{stroke:var(--anatomy-shade-1)}
.iso-solid[data-seamless]>.iso-shade[data-shade="2"]{stroke:var(--anatomy-shade-2)}
.iso-solid[data-seamless]>.iso-shade[data-shade="3"]{stroke:var(--anatomy-shade-3)}
.iso-solid[data-seamless]>.iso-top{stroke:var(--anatomy-top)}
.iso-solid[data-seamless][data-lit]>.iso-top{stroke:var(--anatomy-lit-top)}
.iso-solid[data-seamless][data-lit]>.iso-shade{stroke:var(--anatomy-lit-shade)}
.iso-solid[data-lit]>.iso-edge{stroke:var(--anatomy-lit)}
.iso-halo{fill:var(--anatomy-halo);stroke:none;filter:blur(9px);opacity:var(--anatomy-halo-opacity);transform:translateY(3px)}
.iso-line{fill:none;stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight);stroke-linecap:round;stroke-linejoin:round}
.iso-line[data-tone="hi"]{stroke:var(--anatomy-hi)}
.iso-line[data-tone="mid"]{stroke:var(--anatomy-mid)}
.iso-line[data-tone="lo"]{stroke:var(--anatomy-lo)}
.iso-line[data-tone="faint"]{stroke:var(--anatomy-faint)}
.iso-line[data-tone="lit"]{stroke:var(--anatomy-lit)}
.iso-line[data-tone="red"]{stroke:var(--anatomy-red)}
.iso-line[data-tone="green"]{stroke:var(--anatomy-green)}
.iso-line[data-tone="blue"]{stroke:var(--anatomy-blue)}
.iso-line[data-dotted]{stroke-dasharray:.01 3.5;stroke-width:1}
.iso-line[data-dashed]{stroke-dasharray:3 3}
.iso-line[data-flow]{stroke-dasharray:2 6}
.iso-wire-end{fill:var(--anatomy-paper);stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight)}
.iso-wire[data-tone="hi"] .iso-wire-end{stroke:var(--anatomy-hi)}
.iso-wire[data-tone="mid"] .iso-wire-end{stroke:var(--anatomy-mid)}
.iso-wire[data-tone="faint"] .iso-wire-end{stroke:var(--anatomy-faint)}
.iso-wire[data-tone="lit"] .iso-wire-end{stroke:var(--anatomy-lit)}
.iso-dots circle{fill:var(--anatomy-dot);stroke:none;opacity:.32}
.iso-dots[data-tone="hi"] circle{opacity:.85}
.iso-dots[data-tone="mid"] circle{opacity:.45}
.iso-dots[data-tone="lo"] circle{opacity:.22}
.iso-dots[data-tone="faint"] circle{opacity:.12}
.iso-face-text{fill:var(--anatomy-mid);font-family:var(--anatomy-mono);letter-spacing:.04em}
.iso-face-text[data-tone="hi"]{fill:var(--anatomy-hi)}
.iso-face-text[data-tone="lo"]{fill:var(--anatomy-lo)}
.iso-face-text[data-tone="faint"]{fill:var(--anatomy-faint)}
.tb-body{fill:var(--anatomy-shade-2);stroke:none}
.tb-shine{fill:var(--anatomy-top);stroke:none}
.tb-shade{fill:var(--anatomy-shade-0);stroke:none}
.tb-ring{fill:none;stroke:var(--anatomy-lo);stroke-width:.45;stroke-linecap:butt;stroke-linejoin:round}
.tb-ring[data-tone="mid"]{stroke:var(--anatomy-mid)}
.tb-ring[data-tone="faint"]{stroke:var(--anatomy-faint)}
.tb-ring[data-tone="hi"]{stroke:var(--anatomy-hi)}
@keyframes iso-flow{to{stroke-dashoffset:-32}}
@keyframes iso-pulse{0%,100%{opacity:.18}12%{opacity:1}40%{opacity:.18}}
.iso-line[data-flow]{animation:iso-flow 1600ms linear infinite}
.iso-dots circle[data-pulse]{animation:iso-pulse 1600ms steps(1,end) infinite;animation-delay:var(--pulse-at,0ms)}
.iso-figure{margin:1rem 0 0}
.iso-plate{position:relative;padding:52px 24px;border-radius:0;background:var(--anatomy-card);box-shadow:0 0 0 1px var(--anatomy-mid);--anatomy-paper:var(--anatomy-card)}
.iso-plate-corners{position:absolute;inset:18px 20px;pointer-events:none}
.iso-plate-corner{position:absolute;color:var(--anatomy-muted);font-family:var(--anatomy-mono);font-size:10.5px;line-height:1;letter-spacing:.04em;white-space:nowrap}
.iso-plate-corner[data-corner="fig"]{top:0;left:0;color:var(--anatomy-text)}
.iso-plate-corner[data-corner="title"]{top:0;right:0;text-transform:uppercase;letter-spacing:.1em}
.iso-plate-corner[data-corner="hint"]{bottom:0;left:0;text-transform:uppercase;letter-spacing:.1em}
.iso-plate-corner[data-corner="readout"]{right:0;bottom:0;color:var(--anatomy-text);font-variant-numeric:tabular-nums}
.iso-plate .iso-svg{margin:0 auto}
.iso-legend{display:grid;gap:8px;margin-top:12px;color:var(--anatomy-muted);font-size:13px;line-height:1.55}
.iso-keys{display:flex;flex-wrap:wrap;gap:6px 18px}
.iso-key{display:inline-flex;align-items:center;gap:7px}
.iso-swatch{width:16px;height:10px;flex:none;overflow:visible}
.iso-swatch path{fill:none;stroke:var(--anatomy-hi);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.iso-swatch[data-mark="raised"] path,.iso-swatch[data-mark="flat"] path{stroke:var(--anatomy-mid)}
.iso-swatch[data-mark="lit"] path{stroke:var(--anatomy-lit)}
.iso-swatch[data-mark="dim"] path{stroke:var(--anatomy-lo)}
.iso-swatch[data-mark="dotted"] path{stroke-dasharray:.01 3;stroke-width:1.4}
.iso-swatch[data-mark="dashed"] path{stroke-dasharray:3 2.5}
.iso-swatch[data-mark="red"] path{stroke:var(--anatomy-red)}
.iso-swatch[data-mark="green"] path{stroke:var(--anatomy-green)}
.iso-swatch[data-mark="blue"] path{stroke:var(--anatomy-blue)}
.iso-swatch-crease{stroke:var(--anatomy-lo)!important}
@media (max-width:560px){.iso-plate{padding:48px 12px 70px}.iso-plate-corner[data-corner="hint"]{bottom:18px}}
@media (prefers-reduced-motion:reduce){.iso-line[data-flow],.iso-dots circle[data-pulse]{animation:none}}


/* the plate inside the app card */
.asai-bench .iso-plate{border-radius:.75rem;box-shadow:0 0 0 1px color-mix(in srgb,var(--anatomy-mid) 45%,transparent);padding:44px 18px;overflow:hidden;outline:none}
.asai-bench .iso-plate:focus-visible{box-shadow:0 0 0 1px var(--anatomy-mid),0 0 0 3px color-mix(in srgb,var(--primary) 45%,transparent)}
.asai-bench .iso-plate-corners{inset:16px 18px}
.asai-bench-stretch{margin:0 -2%}
@media (max-width:560px){.asai-bench .iso-plate{padding:36px 8px 44px}.asai-bench-stretch{margin:0 -14%}.asai-bench .iso-plate-corner[data-corner="hint"]{display:none}.asai-bench .iso-plate-corner[data-corner="readout"]{left:0;bottom:0;white-space:normal;text-align:right;line-height:1.35}}

/* parts */
.bench-flag>.iso-fill{fill:var(--bench-flag)}
.bench-flag>.iso-top{fill:var(--bench-flag-top)}
.bench-flag>.iso-shade{fill:var(--bench-flag-shade)!important}
.bench-flag>.iso-edge{stroke:var(--anatomy-hi)}
.bench-span>.iso-fill{fill:color-mix(in srgb,var(--bench-flag) 55%,var(--anatomy-paper))}
.bench-span>.iso-edge{stroke:color-mix(in srgb,var(--bench-flag) 70%,var(--anatomy-hi))}
.bench-lens{fill:var(--bench-lens);stroke:none}
.bench-window{fill:var(--bench-window);stroke:var(--anatomy-mid);stroke-width:.25}
.bench-counter{fill:var(--bench-digits);font-family:var(--anatomy-mono);font-size:4.6px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.bench-mark{fill:var(--anatomy-mid);stroke:none}
.bench-mark[data-tone="hi"]{fill:var(--anatomy-hi)}
.bench-hub{fill:var(--anatomy-hi);stroke:none}
.bench-needle{stroke-width:.9px}
.bench-verdict{fill:var(--bench-flag);stroke:var(--anatomy-hi);stroke-width:.4px}
.asai-bench [data-ref="verdict"]{stroke-width:1px}

/* card text and controls */
.asai-bench-swatch{display:inline-block;width:14px;height:9px;border-radius:2px;border:1px solid var(--anatomy-hi);background:var(--anatomy-face)}
.asai-bench-swatch[data-mark="lit"]{border-color:var(--anatomy-lit);background:var(--anatomy-lit-top)}
.asai-bench-swatch[data-mark="flag"]{background:var(--bench-flag);border-color:var(--anatomy-hi)}
.asai-bench-swatch[data-mark="possible"]{background:var(--anatomy-shade-1);border-color:var(--anatomy-mid)}
.asai-bench-swatch[data-mark="dotted"]{background:none;border:1px dotted var(--anatomy-mid)}
.asai-bench .iso-legend{font-size:.72rem;color:var(--dark-gray)}
.asai-bench-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-top:1rem}
.asai-bench-step{display:flex;align-items:flex-start;gap:.5rem;border:1px solid var(--light-gray);border-radius:.5rem;padding:.6rem .65rem;text-align:left;color:var(--dark-gray);transition:border-color .15s,background .15s,color .15s}
.asai-bench-step:hover,.asai-bench-step[data-active="true"]{border-color:color-mix(in srgb,var(--primary) 55%,var(--light-gray));background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--text)}
.asai-bench-step-number{color:var(--primary);font-size:.7rem;font-variant-numeric:tabular-nums;padding-top:.1rem}
.asai-bench-step strong,.asai-bench-step small{display:block}
.asai-bench-step strong{font-size:.78rem;font-weight:600}
.asai-bench-step small{margin-top:.15rem;font-size:.66rem;line-height:1.35;color:var(--dark-gray)}
.asai-bench-copy{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.82rem;line-height:1.55}
.asai-bench-copy p{max-width:44rem}
.asai-bench-copy>span{flex:0 0 auto;color:var(--dark-gray);font-size:.72rem}
.asai-bench-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}
.asai-bench-facts article{border-top:2px solid color-mix(in srgb,var(--primary) 45%,var(--light-gray));padding-top:.55rem}
.asai-bench-facts strong{display:block;font-size:.72rem;font-weight:650}
.asai-bench-facts p{margin-top:.25rem;color:var(--dark-gray);font-size:.72rem;line-height:1.5}
@media (max-width:900px){.asai-bench-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.asai-bench-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.asai-bench-copy{display:block}.asai-bench-copy>span{display:block;margin-top:.55rem}.asai-bench-facts{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.asai-bench-step{transition:none}}
.bench-print{stroke-width:.85px}
[data-ref="lamp"][data-on] .bench-lamp>.iso-top{fill:var(--bench-flag-top)}
[data-ref="lamp"] .bench-lamp>.iso-top{transition:fill .25s}
/* Landing-page bridge: maps the app tokens the bench CSS reads onto the site's own palette. */
#reading-bench { --primary: var(--accent); --text: var(--ink); --dark-gray: var(--muted); --light-gray: var(--line); margin: 0 0 36px; }
#reading-bench .asai-bench-step { background: none; font: inherit; cursor: pointer; }
#reading-bench .iso-plate { background: var(--surface); }
#reading-bench p { margin: 0; }
#reading-bench a { color: var(--accent); }
