/* Author: Loki (subject, framing and direction).
   Contributors: Moiré / Astra (2026-10-07: shared visual foundation under Loki's direction).
   Contributors: Moiré / Astra (2026-10-08: dark/light theme tokens under Loki's direction).
   Palette and type pairing follow the accepted Luna beat by Loki, with Moiré's film design. */
@font-face{font-family:'Space Grotesk';src:url('./fonts/SpaceGrotesk.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Share Tech Mono';src:url('./fonts/ShareTechMono.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--ground:#050507;--surface:#101018;--text:#f0edf3;--muted:#aaa6b8;--rule:#494754;--pink:#ff2d78;--waiting:#aaa6b8;--ready:#f0d58c;--running:#ffffff;--accepted:#81d5ad;--rejected:#ff9c82;--restored:#d3b9ee;--font-prose:'Space Grotesk',sans-serif;--font-mono:'Share Tech Mono',monospace;--measure:68ch;--step-small:.875rem;--step-body:1.125rem;--step-heading:clamp(1.8rem,4vw,3rem);--step-display:clamp(2.4rem,6vw,5rem)}
/* TDA dark is the default (#050507 ground, site pink). Hosts select a
   theme on the root; no media query or stored preference overrides the host.
   Light pink is darkened for text/focus contrast; status words/shapes persist. */
:root[data-theme="tda-light"]{color-scheme:light;--ground:#ffffff;--surface:#f4f3f6;--text:#17151c;--muted:#605968;--rule:#77717e;--pink:#b81550;--waiting:#605968;--ready:#765500;--running:#17151c;--accepted:#17633f;--rejected:#a1351d;--restored:#65408b}
*{box-sizing:border-box}html{background:var(--ground);color:var(--text)}body{margin:0;font:400 var(--step-body)/1.6 var(--font-prose)}main,.page{width:min(100% - 2rem,112rem);margin-inline:auto}header,section,footer{padding-block:2rem}h1,h2,h3{line-height:1.12;font-weight:500;text-wrap:balance}h1{font-size:var(--step-display);max-width:22ch;margin:.5em 0}h2{font-size:var(--step-heading)}h3{font-size:1.4rem}p,li{max-width:var(--measure)}p{margin:1em 0}a{color:var(--text);text-decoration-color:var(--pink);text-underline-offset:.25em}a:hover{color:var(--pink)}button,input,select{font:inherit}button,select{color:var(--text);background:var(--surface);border:1px solid var(--muted);padding:.55em .8em;min-height:44px}button{cursor:pointer}button[aria-pressed=true]{border-color:var(--pink);box-shadow:inset 0 -3px var(--pink)}:focus-visible{outline:3px solid var(--pink);outline-offset:5px}code,.mono{font-family:var(--font-mono)}.muted,small{color:var(--muted)}.measure{max-width:var(--measure)}.byline{font-size:var(--step-small);color:var(--muted)}.controls{display:flex;flex-wrap:wrap;gap:.75rem}figure{margin:1.5rem 0}figcaption{margin-block:1rem;max-width:var(--measure)}.diagram-scroll{overflow:auto;border:1px solid var(--rule);overscroll-behavior-inline:contain}.diagram-scroll canvas{display:block;width:100%;min-width:960px;height:auto;aspect-ratio:16/9}.reading-path{max-width:var(--measure)}details{margin-block:1rem}summary{cursor:pointer;min-height:44px}section+section{border-top:1px solid var(--rule)}.skip-link{position:absolute;top:-100px;background:var(--ground);padding:1rem}.skip-link:focus{top:0}table{border-collapse:collapse}th,td{text-align:left;padding:.6rem;border-bottom:1px solid var(--rule)}
@media(min-width:60rem){main,.page{width:min(100% - 6rem,112rem)}header,section{padding-block:3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
