/* Hallmark · macrostructure: Index-First / Map-Diagram / Long Document · theme: Studio · nav: N9 · footer: Ft2 · enrichment: semantic diagrams · audience: engineers · use: read technical notes · tone: precise */
@import url('./tokens.css');
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-body);font:var(--text-md)/1.75 var(--font-body)}a{color:var(--color-accent);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}a:active{opacity:.75}h1,h2,h3{color:var(--color-ink);font-style:normal}h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.05;margin:0 0 var(--space-lg);overflow-wrap:anywhere;min-width:0}h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2;margin:0 0 var(--space-md)}h3{font-size:var(--text-lg);line-height:1.45;margin:0 0 var(--space-sm)}p{margin:0 0 var(--space-lg)}.wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--space-lg)}.review{font:var(--text-sm)/1.5 var(--font-mono);padding:var(--space-sm) var(--space-lg);background:var(--color-surface);border-bottom:var(--rule-width) solid var(--color-rule);display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.review a,.nav a,.footer a{white-space:nowrap}.nav{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:var(--rule-width) solid var(--color-rule)}.wordmark{font-family:var(--font-display);font-size:var(--text-xl);text-decoration:none;color:var(--color-ink);letter-spacing:-.04em}.nav .about{font-size:var(--text-sm)}.hero{padding-block:var(--space-3xl) var(--space-2xl);max-width:900px}.meta{font:var(--text-sm)/1.6 var(--font-mono);color:var(--color-muted);margin-bottom:var(--space-lg)}.lede{font-size:var(--text-lg);max-width:60ch}.topics{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);font:var(--text-sm)/1.6 var(--font-mono);color:var(--color-muted);padding:0;margin:0;list-style:none}.library{display:grid;gap:var(--space-2xl);padding-block:var(--space-lg) var(--space-3xl)}.entries{min-width:0}.entry{display:block;padding-block:var(--space-lg);border-top:var(--rule-width) solid var(--color-rule);text-decoration:none}.entry .meta{display:block;margin-bottom:var(--space-sm)}.entry h3{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl)}.entry p{color:var(--color-body);margin:0;max-width:64ch}.entry .read{display:inline-block;margin-top:var(--space-sm);font-size:var(--text-sm);text-decoration:underline}.aside{padding:var(--space-lg);background:var(--color-surface);align-self:start}.aside p{font-size:.95rem}.aside p:last-child{margin-bottom:0}.figure{margin:0 0 var(--space-lg);color:var(--color-accent)}svg{display:block;width:100%;height:auto}svg text{font-family:var(--font-mono);font-size:12px;fill:currentColor}.diagram-line{fill:none;stroke:currentColor;stroke-width:1.5}.diagram-panel{fill:var(--color-paper);stroke:currentColor;stroke-width:1.2}.protocol-map{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-block:var(--space-md) var(--space-2xl)}.protocol-map a{flex:1 1 220px;border:var(--rule-width) solid var(--color-rule);padding:var(--space-lg);text-decoration:none}.protocol-map strong{display:block;font-size:var(--text-lg);margin-bottom:var(--space-sm)}.protocol-map span{color:var(--color-body);font-size:.9rem}.about-section{max-width:65ch;padding-block:var(--space-xl) var(--space-3xl)}.about-section h2{font-size:var(--text-xl)}.footer{border-top:var(--rule-width) solid var(--color-rule);padding-block:var(--space-lg) var(--space-xl);font-size:var(--text-sm);display:flex;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.article{max-width:760px;margin-inline:auto;padding-block:var(--space-2xl) var(--space-3xl)}.article h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.15}.article .intro{font-size:var(--text-lg);margin-bottom:var(--space-2xl)}.article h2{font-family:var(--font-body);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600;margin-top:var(--space-xl)}.sources{border-top:var(--rule-width) solid var(--color-rule);margin-top:var(--space-2xl);padding-top:var(--space-lg)}.sources li{margin-bottom:var(--space-md)}.sources a{overflow-wrap:anywhere}.index-title{font-size:clamp(2.2rem,5vw,4rem)}.preview-entry{padding-block:var(--space-lg);border-top:var(--rule-width) solid var(--color-rule)}.preview-entry a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-lg);white-space:nowrap}.skip{position:absolute;inset-block-start:-100px}.skip:focus{inset-block-start:var(--space-lg);background:var(--color-paper);padding:var(--space-md)}
@media(min-width:48rem){.wrap{padding-inline:var(--space-2xl)}.library{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--space-3xl)}.hero{padding-top:var(--space-4xl)}.hardware .hero{max-width:100%;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-2xl);align-items:center}.hardware .hero h1{font-size:clamp(3rem,5vw,4.6rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Final reading and keyboard-accessibility pass. */
a{text-underline-offset:2px}h2,h3{overflow-wrap:anywhere;min-width:0}
.article{max-width:68ch}.review,.footer{align-items:center}
.nav a,.review a,.footer a,.sources a{display:inline-flex;align-items:center;min-height:44px}
.review{padding-block:0}.hero{padding-block:var(--space-3xl) var(--space-4xl)}
a[aria-disabled="true"]{opacity:.55;cursor:not-allowed;text-decoration:none}
@media(min-width:48rem){.hero{padding-top:var(--space-3xl)}}
