/* ====== base: reset · voices · motion ====== */
@layer base{

*{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}
html{scroll-behavior:auto}
body{background:var(--canvas);color:var(--ink);font:15.5px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--ember);color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;text-align:left}
input{font:inherit;color:inherit;background:none;border:none;outline:none}
svg{display:block}
b{font-weight:700}
mark.play-mark{display:inline;padding:.02em .13em .06em;background:linear-gradient(transparent 18%,var(--play-mark) 18% 91%,transparent 91%);color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* voices */
.disp{font-family:var(--sans);font-variation-settings:"wdth" 110;font-weight:830;text-transform:uppercase;line-height:.95;letter-spacing:-.005em}
.lab{font:700 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.val{font-size:32px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}
.num{font-variant-numeric:tabular-nums}
.dim{opacity:.72}
.sig{color:var(--sigc,var(--ember))}
.pruf{font-weight:var(--pw,830);opacity:calc(var(--po,100)/100)}
.pruf.hollow{color:transparent;-webkit-text-stroke:1.4px currentColor;opacity:.8}

/* motion — PRINT + SETTLE only (guide §5) */
@keyframes print{0%,49%{opacity:0}50%,100%{opacity:1}}
.printed{animation:print .16s steps(2,end) both;animation-delay:calc(var(--i,0)*42ms)}
.settle{transition:background .24s,color .24s,opacity .24s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

}
