:root {
  --blueprint-dark:#0d3a5c;
  --ink-bright:#fff;
  --ink-strong:rgba(255,255,255,.84);
  --ink:rgba(255,255,255,.70);
  --ink-soft:rgba(255,255,255,.58);
  --ink-faint:rgba(255,255,255,.48);
  --line-outline:rgba(255,255,255,.55);
  --line-pad:rgba(255,255,255,.45);
  --line-module:rgba(255,255,255,.35);
  --ground:#0d3a5c;
  --accent:#00e5ff;
  --accent-strong:rgba(0,229,255,.45);
  --accent-mid:rgba(0,229,255,.32);
  --accent-soft:rgba(0,229,255,.18);
  --accent-faint:rgba(0,229,255,.09);
  --gold-lit:#d9c37a;
  --gold-deep:#8d7434;
  --gold-warm:#c9b268;
  --gold-root:#5b4a20;
  --solder:#5d3a1f;
  --face-sheen:rgba(255,255,255,.055);
  --spectrum-blue:#5bbce6;
  --spectrum-green:#34d399;
  --spectrum-amber:#fbbf24;
  --spectrum-violet:#a78bfa;
  --spectrum-red:#f87171;
  --surface:rgba(21,70,108,.97);
  --rule:rgba(255,255,255,.26);
  --rule-faint:rgba(255,255,255,.10);
  --frame-inset:24px;
  --frame-gap:8px;
  --safe-t:env(safe-area-inset-top,0px);
  --safe-r:env(safe-area-inset-right,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-l:env(safe-area-inset-left,0px);
  --frame-edge:calc(var(--frame-inset) + var(--frame-gap));
}
@media (max-width:520px){
  :root{--frame-inset:13px;--frame-gap:6px}
}
:root{
  --avail:calc(100vw - 2 * var(--frame-edge) - var(--safe-l) - var(--safe-r));
  --plate:min(var(--avail), 400px);
  --key-size:clamp(1.5rem, calc(var(--plate) / 13), 1.85rem);
  --measure:30rem;
  --chip-ratio:1.7241;
  --chip-chamfer:2.5%;
  --chip-chamfer-v:calc(var(--chip-chamfer) * var(--chip-ratio));
  --emboss-soft:0 1px 2px rgba(0,0,0,.55);
  --glow-dim:0 0 6px rgba(255,255,255,.20);
  --glow-mid:0 0 8px rgba(255,255,255,.35);
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
@font-face{
  font-family:'JetBrains Mono';
  src:url('/type/jetbrains-mono-latin.woff2') format('woff2');
  font-weight:300 500;
  font-style:normal;
  font-display:optional;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,
    U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,
    U+2215,U+FEFF,U+FFFD;
}
*,*::before,*::after{box-sizing:border-box}
html{height:100%;color-scheme:dark;-webkit-text-size-adjust:100%}
body{
  height:100%; overflow:hidden;
  margin:0; font-family:var(--mono); font-weight:300; color:var(--ink-bright);
  background:var(--blueprint-dark);
}
.noise-overlay{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;
  opacity:.10;mix-blend-mode:overlay}
.page{position:fixed;inset:0;z-index:3;
  display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;
  grid-template-columns:minmax(0,1fr);
  justify-items:center;align-items:center;
  text-align:center;
  padding:calc(var(--frame-edge) + var(--safe-t)) calc(var(--frame-edge) + var(--safe-r))
          calc(var(--frame-edge) + var(--safe-b)) calc(var(--frame-edge) + var(--safe-l))}
.scroller{grid-row:3;align-self:stretch;width:100%;min-height:0;
  overflow-y:auto;overscroll-behavior-y:contain;
  scroll-snap-type:y mandatory;scroll-behavior:smooth;
  scrollbar-width:none}
.scroller:focus,.scroller:focus-visible{outline:none}
.scroller::-webkit-scrollbar{display:none}
@media (prefers-reduced-motion:reduce){ .scroller{scroll-behavior:auto} }
.room{scroll-snap-align:center;scroll-snap-stop:always;
  height:100%;display:grid;place-items:center;min-height:0;
  container-type:size}
.room > .stack{display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:min(clamp(1rem,4vh,2.4rem), 9cqh);
  width:100%;height:100%;min-height:0}
.page > *{max-width:min(100%,var(--measure))}
.vignette{position:fixed;inset:0;pointer-events:none;z-index:5;
  background:radial-gradient(ellipse 90% 90% at 50% 50%,transparent 25%,rgba(0,0,0,.55) 100%)}
.frame{position:fixed;pointer-events:none;z-index:6;
  top:calc(var(--frame-inset) + var(--safe-t));right:calc(var(--frame-inset) + var(--safe-r));
  bottom:calc(var(--frame-inset) + var(--safe-b));left:calc(var(--frame-inset) + var(--safe-l));
  border:1px solid var(--rule-faint)}
.frame::before{content:'';position:absolute;inset:-7px;pointer-events:none;
  border:1px solid rgba(255,255,255,.05)}
.chip-frame{position:relative;display:block;width:100%}
.room .stack > .chip-frame{flex:0 1 auto;min-height:0;width:auto;height:auto;
  max-width:var(--plate);max-height:100%;aspect-ratio:4 / 3}
.masthead{grid-row:1;align-self:start;min-height:var(--key-size);
  width:var(--plate);max-width:none;display:flex;align-items:baseline;
  justify-content:space-between;gap:1rem}
.wordmark{margin:0;font:var(--w-display) var(--type-title)/1.2 var(--mono);
  letter-spacing:var(--track-read);color:var(--ink-bright)}
.wordmark .sep{color:var(--accent);margin:0 .18em}
.wordmark.is-mark{text-transform:uppercase;letter-spacing:var(--track-mark);
  font-weight:var(--w-mark);color:var(--ink-bright)}
.wordmark.is-mark .sep{margin:0 .32em;font-weight:300}
.title-pair{display:flex;flex-direction:column;align-items:center;gap:.55rem}
.mark-sub{margin:0;font:400 .42em/1.2 var(--mono);
  letter-spacing:.30em;text-transform:uppercase;
  color:var(--ink-strong);text-shadow:var(--emboss-soft);
  padding-left:.30em}
.title-pair{font-size:min(var(--type-title), calc(var(--column) / 9))}
.title-pair > .wordmark{font-size:1em}
.colophon{grid-row:5;align-self:end;
  width:max(var(--plate), min(var(--avail), 22rem));max-width:none;
  display:flex;justify-content:center}
.legal{display:flex;flex-wrap:wrap;justify-content:center;
  gap:.4rem 1.1rem;align-items:baseline}
.legal a,.legal .rights{
  font:var(--w-label) var(--type-label)/1 var(--mono);
  letter-spacing:var(--track-caps);text-transform:uppercase;
  color:var(--ink-soft);text-shadow:var(--emboss-soft);text-decoration:none}
.legal a{border-bottom:1px solid transparent;padding-bottom:.15em;
  transition:color .18s ease,border-color .18s ease}
.legal a:hover,.legal a:focus-visible{outline:none;
  color:var(--ink-bright);border-bottom-color:var(--accent)}
.legal .rights{color:var(--ink-faint)}
.brand{font:400 clamp(.98rem, calc(var(--plate) / 22), 1.2rem)/1 var(--mono);
  letter-spacing:.30em;text-transform:uppercase;text-decoration:none;
  color:var(--ink-strong);text-shadow:var(--emboss-soft);
  transition:color .2s ease}
.brand:hover,.brand:focus-visible{color:var(--ink-bright);outline:none}
.brand .bar{color:var(--accent);text-shadow:var(--emboss-soft);margin:0 .5em;
  font-weight:300}
@view-transition{navigation:auto}
::view-transition-old(root),
::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
@keyframes vt-out-n{to{opacity:0;transform:translateY(24%)}}
@keyframes vt-in-n{from{opacity:0;transform:translateY(-24%)}}
@keyframes vt-out-s{to{opacity:0;transform:translateY(-24%)}}
@keyframes vt-in-s{from{opacity:0;transform:translateY(24%)}}
@keyframes vt-out-w{to{opacity:0;transform:translateX(24%)}}
@keyframes vt-in-w{from{opacity:0;transform:translateX(-24%)}}
@keyframes vt-out-e{to{opacity:0;transform:translateX(-24%)}}
@keyframes vt-in-e{from{opacity:0;transform:translateX(24%)}}
:active-view-transition-type(n){&::view-transition-old(root){animation-name:vt-out-n}
  &::view-transition-new(root){animation-name:vt-in-n}}
:active-view-transition-type(s){&::view-transition-old(root){animation-name:vt-out-s}
  &::view-transition-new(root){animation-name:vt-in-s}}
:active-view-transition-type(w){&::view-transition-old(root){animation-name:vt-out-w}
  &::view-transition-new(root){animation-name:vt-in-w}}
:active-view-transition-type(e){&::view-transition-old(root){animation-name:vt-out-e}
  &::view-transition-new(root){animation-name:vt-in-e}}
@media (prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
button{-webkit-appearance:none;appearance:none;border-radius:0;
  -webkit-tap-highlight-color:transparent;font:inherit;color:inherit}
a,button,.sitemap-cell{-webkit-tap-highlight-color:transparent}
.lattice-hit{position:absolute;margin:0;padding:0;border:0;background:transparent;
  -webkit-appearance:none;appearance:none;
  cursor:pointer;border-radius:2px;transition:box-shadow .2s ease}
.lattice-hit:hover{box-shadow:0 0 0 1px var(--accent-strong),0 0 18px var(--accent-mid)}
.lattice-hit:focus-visible{outline:none;
  box-shadow:0 0 0 1px var(--accent),0 0 22px var(--accent-strong)}
.plan-key{position:relative;display:block;margin:0;padding:0;border:0;
  background:transparent;-webkit-appearance:none;appearance:none;
  cursor:pointer;line-height:0;color:var(--accent);
  align-self:center;
  transition:color .2s ease,transform .2s ease}
.plan-key::before{content:'';position:absolute;top:50%;left:50%;
  width:44px;height:44px;transform:translate(-50%,-50%)}
.plan-key:hover,.plan-key:focus-visible{outline:none;color:var(--accent);transform:scale(1.06)}
.plan-key-mark{display:block;overflow:visible;
  width:var(--key-size);height:var(--key-size)}
.plan-key-mark path{fill:none;stroke:currentColor;stroke-width:1px;
  vector-effect:non-scaling-stroke}
.plan-key-mark{filter:drop-shadow(0 0 3px var(--accent-mid))}
[hidden]{display:none !important}
.sitemap{position:fixed;z-index:20;display:grid;place-items:center;
  top:calc(var(--frame-edge) + var(--safe-t) + var(--key-size) + .9rem);
  bottom:calc(var(--frame-edge) + var(--safe-b) + 1.9rem);
  left:0;right:0;
  padding:calc(var(--frame-edge) + var(--safe-t)) var(--frame-edge);
  animation:ground-in .22s ease both;
  background:
    radial-gradient(120% 90% at 12% 8%, var(--accent-faint) 0%, transparent 55%),
    linear-gradient(148deg,
      rgba(15,26,36,.88) 0%,
      rgba(10,16,23,.90) 52%,
      rgba(5,8,12,.93) 100%);
  -webkit-backdrop-filter:blur(9px) saturate(.85);
  backdrop-filter:blur(9px) saturate(.85)}
.sitemap::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(104deg,transparent 30%,var(--face-sheen) 46%,transparent 62%)}
.sitemap > *{position:relative}
.sitemap-inner{width:min(var(--avail),44rem);display:flex;flex-direction:column;
  gap:1.1rem;align-items:center;text-align:center}
.sitemap-title{margin:0;font-size:var(--type-label);font-weight:var(--w-label);
  letter-spacing:var(--track-caps);text-transform:uppercase;
  color:var(--ink-soft);text-shadow:var(--glow-dim)}
@keyframes ground-in{ from{opacity:0} to{opacity:1} }
@keyframes lattice-expand{
  from{opacity:0;transform:scale(.42)}
  to{opacity:1;transform:none}
}
.sitemap-plan{position:relative;aspect-ratio:1;
  width:min(var(--avail), 64vh, 30rem);
  width:min(var(--avail), 64dvh, 30rem);
  animation:lattice-expand .30s cubic-bezier(.2,.8,.3,1) both}
.sitemap-title,.sitemap-close{animation:lattice-expand .30s .06s cubic-bezier(.2,.8,.3,1) both}
@media (prefers-reduced-motion:reduce){
  .sitemap-plan,.sitemap-title,.sitemap-close,.sitemap{animation:none}
}
.sitemap-cell{position:relative;display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;border:1px solid transparent;background-clip:padding-box;
  overflow:hidden;padding:.18rem;text-align:center;text-decoration:none;
  font:var(--w-label) var(--type-label)/1.2 var(--mono);
  letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink);
  transition:color .18s ease,background .18s ease,box-shadow .18s ease}
.sitemap-cell > span{display:block;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.sitemap-cell:hover,.sitemap-cell:focus-visible{outline:none;
  color:var(--ink-bright);text-shadow:var(--glow-mid);
  background:var(--accent-soft)}
.sitemap-cell.is-home{color:var(--ink-bright)}
.sitemap-cell.is-external{background:rgba(255,255,255,.05);
  color:var(--ink-strong);letter-spacing:var(--track-caps)}
.sitemap-cell.is-external:hover,.sitemap-cell.is-external:focus-visible{
  background:rgba(255,255,255,.11);color:var(--ink-bright)}
.sitemap-close{animation:lattice-expand .30s .06s cubic-bezier(.2,.8,.3,1) both}
@media (prefers-reduced-motion:reduce){
  .sitemap-plan,.sitemap-title,.sitemap-close,.sitemap{animation:none}
}
.sitemap-close{margin-top:.2rem;font:300 .58rem/1 var(--mono);letter-spacing:.24em;
  text-transform:uppercase;color:var(--ink);cursor:pointer;
  background:none;border:1px solid var(--rule);padding:.5rem 1.1rem}
.sitemap-close:hover{color:var(--ink-bright);border-color:var(--accent)}
.chip{display:block;width:100%;height:auto;overflow:visible}
.ink{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.outline  {stroke:var(--line-outline);stroke-width:1.6px;filter:url(#glow-outline)}
.pad      {stroke:var(--line-pad);stroke-width:1.6px;filter:url(#glow-pad)}
.module   {stroke:var(--line-module);stroke-width:1px;  filter:url(#glow-module)}
.pen-heavy.outline,
.pen-heavy.pad      {stroke-width:3.11px}
.pen-heavy.module,
.pen-heavy.lattice,
.pen-heavy.connector{stroke-width:1.94px}
.ink.trace{fill:none;stroke:var(--accent-mid);stroke-width:1.1px;
  stroke-linejoin:round;stroke-linecap:round}
.ink.via  {fill:none;stroke:var(--accent-mid);stroke-width:1.1px}
.lattice  {stroke:var(--accent-strong);  stroke-width:1px}
.connector{stroke:var(--accent-mid);  stroke-width:1px;  filter:url(#glow-connector)}
body.plan-open .page{pointer-events:none}
body.plan-open .scroller{opacity:.06}
body.plan-open .masthead,
body.plan-open .colophon{pointer-events:auto}
.solid{position:absolute;z-index:2;
  left:5.375%;top:15.49%;width:89.25%;height:69.02%;overflow:hidden;
  transform:translate(-5.5%,-9%);
  clip-path:polygon(var(--chip-chamfer) 0, 100% 0,
                    100% calc(100% - var(--chip-chamfer-v)),
                    calc(100% - var(--chip-chamfer)) 100%,
                    0 100%, 0 var(--chip-chamfer-v));
  --face:linear-gradient(148deg, #0f1a24 0%, #0a1017 52%, #05080c 100%);
  --face-tint:radial-gradient(120% 90% at 12% 8%, var(--accent-faint) 0%, transparent 55%);
  --face-rim:rgba(255,255,255,.14);
  --face-rim-side:rgba(255,255,255,.09);
  --face-lift:rgba(255,255,255,.10);
  --face-lift-side:rgba(255,255,255,.05);
  --face-fall:rgba(0,0,0,.6);
  --face-fall-side:rgba(0,0,0,.42);
  --face-scribe:rgba(255,255,255,.06);
  --face-crown:rgba(255,255,255,.07);
  background:
    linear-gradient(to top,    var(--face-rim),       rgba(255,255,255,0) 1.6%),
    linear-gradient(to left,   var(--face-rim-side),  rgba(255,255,255,0) 1.1%),
    linear-gradient(to bottom, var(--face-lift),      rgba(255,255,255,0) 6%),
    linear-gradient(to right,  var(--face-lift-side), rgba(255,255,255,0) 4%),
    linear-gradient(to top,    var(--face-fall),      rgba(0,0,0,0) 9%),
    linear-gradient(to left,   var(--face-fall-side), rgba(0,0,0,0) 6%),
    var(--face-tint),
    var(--face);
  box-shadow:inset 0 1px 0 var(--face-crown);
  container-type:inline-size}
.lift{position:absolute;inset:0;z-index:2;
  filter:drop-shadow(1px 2px 2px rgba(0,0,0,.28))
         drop-shadow(2px 6px 7px rgba(0,0,0,.2))
         drop-shadow(5px 14px 15px rgba(0,0,0,.2))}
a.solid{display:block;text-decoration:none;color:inherit;cursor:pointer;
  transition:box-shadow .2s ease}
a.solid:hover{box-shadow:inset 0 0 0 1px var(--accent-strong),
  inset 0 0 18px var(--accent-soft), inset 0 1px 0 var(--face-crown)}
a.solid:focus-visible{outline:none;
  box-shadow:inset 0 0 0 1px var(--accent), inset 0 0 22px var(--accent-mid),
             inset 0 1px 0 var(--face-crown)}
.lift{transition:filter .2s ease}
.lift:has(a.solid:hover),
.lift:has(a.solid:focus-visible){filter:drop-shadow(1px 2px 2px rgba(0,0,0,.28))
  drop-shadow(2px 6px 7px rgba(0,0,0,.2))
  drop-shadow(5px 14px 15px rgba(0,0,0,.2))
  drop-shadow(0 0 7px var(--accent-mid))}
.solid::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(104deg,transparent 30%,var(--face-sheen) 46%,transparent 62%)}
.solid::after{content:'';position:absolute;inset:5px;pointer-events:none;
  border:1px solid var(--face-scribe);
  clip-path:polygon(var(--chip-chamfer) 0, 100% 0,
                    100% calc(100% - var(--chip-chamfer-v)),
                    calc(100% - var(--chip-chamfer)) 100%,
                    0 100%, 0 var(--chip-chamfer-v))}
.solid > *{position:relative;z-index:1}
.pass-card{padding:5.2% 5.6%;display:flex;flex-direction:column;text-align:left}
.pass-card p{margin:0}
.pass-card .issuer{font:400 4.4cqw/1 var(--mono);letter-spacing:.3em;
  text-transform:uppercase;color:var(--ink-soft)}
.pass-card .issuer .sep{color:var(--accent);margin:0 .22em}
.pass-card .mid{flex:1;display:flex;align-items:center;gap:4.5cqw}
.pass-card .plate{flex:none;width:13cqw;aspect-ratio:1.32;border-radius:1cqw;
  background:linear-gradient(150deg,var(--gold-lit),var(--gold-deep) 60%,var(--gold-warm));
  box-shadow:inset 0 0 0 .3cqw rgba(0,0,0,.35)}
.pass-card .at .lbl{display:block;font:300 3.3cqw/1.4 var(--mono);
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}
.pass-card .at .val{display:block;font:400 5cqw/1.3 var(--mono);color:var(--ink-bright)}
.pass-card .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:4cqw}
.pass-card .foot .lbl{display:block;font:300 3.1cqw/1.4 var(--mono);
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}
.pass-card .foot .val{display:block;font:400 4.2cqw/1.3 var(--mono);color:var(--ink-strong)}
.pass-card .foot .val.holder{text-transform:uppercase;letter-spacing:.09em}
.stack > .specimens,
.stack > .palette{flex:1 1 0;min-height:0;justify-content:center}
.stack > .document{min-height:0;overflow-y:auto;overscroll-behavior:auto;
  scrollbar-width:thin;scrollbar-color:var(--rule) transparent}
.stack > .document::-webkit-scrollbar{width:3px}
.stack > .document::-webkit-scrollbar-thumb{background:var(--rule)}
.prism-6,.prism-4,.prism-3{stroke:var(--line-outline);stroke-width:1.6px}
.g-prism path{fill:none;vector-effect:non-scaling-stroke}
.prism-issuer{font:400 11px var(--mono);letter-spacing:.3em;
  fill:var(--ink-soft);text-shadow:none}
.prism-issuer .sep{fill:var(--accent)}
.contacts{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;
  pointer-events:none;overflow:visible}
.contacts .trace{fill:none;stroke:var(--accent-soft);stroke-width:1;
  stroke-linecap:round;stroke-linejoin:round}
.contacts .trace.bus{stroke:var(--accent-faint);stroke-width:1.6}
.contacts .via{fill:none;stroke:var(--accent-soft);stroke-width:1}
.contacts .g-prong{filter:drop-shadow(1px 2px 1.5px rgba(0,0,0,.7))
  drop-shadow(2px 5px 6px rgba(0,0,0,.5))}
.contacts .g-prong rect{stroke:rgba(0,0,0,.5);stroke-width:.7}
.contacts .g-solder rect{fill:var(--solder);stroke:rgba(0,0,0,.42);stroke-width:.6}
.prism-solid{display:block;
  --face:linear-gradient(#2e353b,#2e353b);
  --face-tint:none;
  --face-crown:rgba(255,255,255,.11);
  --face-rim:rgba(255,255,255,.09);
  --face-rim-side:rgba(255,255,255,.05);
  --face-lift:rgba(255,255,255,.05);
  --face-lift-side:rgba(255,255,255,.028);
  --face-fall:rgba(0,0,0,.24);
  --face-fall-side:rgba(0,0,0,.17);
  --face-scribe:transparent}
.prism-slate{--face:linear-gradient(#243240,#243240)}
.prism-umber{--face:linear-gradient(#2a2622,#2a2622)}
.prism-solid .prism-6,
.prism-solid .prism-4,
.prism-solid .prism-3{stroke:var(--line-outline)}
.prism-solid .g-shelves{filter:none}
.prism-mark{display:block;width:100%;height:100%}
.solid > .etch{position:absolute;inset:0;width:100%;height:100%;z-index:0;
  pointer-events:none}
.etch-run{fill:none;stroke:var(--accent-soft);stroke-width:1;
  stroke-linecap:round;stroke-linejoin:round}
.etch-run.lit{stroke:var(--accent-mid)}
.etch-via{fill:none;stroke:var(--accent-soft);stroke-width:1}
.etch-pad{fill:none;stroke:var(--accent-soft);stroke-width:1}
.shelf{stroke-width:2.2px;vector-effect:non-scaling-stroke}
.shelf-violet{stroke:var(--spectrum-violet)}
.shelf-blue  {stroke:var(--spectrum-blue)}
.shelf-green {stroke:var(--spectrum-green)}
.shelf-amber {stroke:var(--spectrum-amber)}
.shelf-red   {stroke:var(--spectrum-red)}
.titleblock{display:grid;grid-template-columns:auto auto;
  font:var(--w-label) var(--type-label)/1 var(--mono);
  letter-spacing:var(--track-caps);text-transform:uppercase;
  color:var(--ink);text-shadow:var(--emboss-soft);
  margin-top:calc(.85rem - clamp(1rem, 4vh, 2.4rem))}
.titleblock dt,.titleblock dd{margin:0;padding:.57em 1.07em;
  border-bottom:1px solid var(--rule)}
.titleblock dt{text-align:left;letter-spacing:var(--track-caps);color:var(--ink-faint);
  border-right:1px solid var(--rule);padding-right:1em;padding-left:0;
  min-width:4.6em}
.titleblock dd{text-align:right;padding-right:0;
  font-size:var(--type-value);font-weight:var(--w-value);
  letter-spacing:var(--track-read);text-transform:none;color:var(--ink-bright)}
.titleblock dt:nth-last-of-type(1),
.titleblock dd:nth-last-of-type(1){border-bottom:0;padding-bottom:0}
.titleblock .accent{color:var(--accent)}
.page.is-document > .wordmark{align-self:center}
.document{width:var(--plate);max-width:none;min-height:0;
  margin-block:clamp(.9rem, 3vh, 2rem);
  overflow-y:auto;overscroll-behavior:auto;
  text-align:left;padding-right:.9rem;
  scrollbar-width:thin;scrollbar-color:var(--rule) transparent}
.document::-webkit-scrollbar{width:3px}
.document::-webkit-scrollbar-thumb{background:var(--rule)}
.document::-webkit-scrollbar-track{background:transparent}
.document:focus-visible{outline:1px solid var(--accent-strong);outline-offset:.5rem}
.document h2{margin:1.6rem 0 .5rem;
  font:var(--w-subhead) var(--type-subhead)/1.3 var(--mono);
  letter-spacing:var(--track-caps);text-transform:uppercase;
  color:var(--ink-bright);text-shadow:var(--emboss-soft)}
.document h2:first-child{margin-top:0}
.document h3{margin:1.1rem 0 .4rem;
  font:400 clamp(.68rem, calc(var(--plate) / 38), .8rem)/1.3 var(--mono);
  letter-spacing:.1em;color:var(--ink-strong)}
.document p{margin:0 0 .8rem;
  font:var(--w-body) var(--type-body)/1.65 var(--mono);
  letter-spacing:var(--track-read);color:var(--ink)}
.document p.item{padding-left:1.1rem;position:relative}
.document p.item::before{content:'·';position:absolute;left:.3rem;color:var(--accent-strong)}
.document a{color:var(--ink-bright);text-decoration:none;
  border-bottom:1px solid var(--accent-mid)}
.document a:hover,.document a:focus-visible{outline:none;border-bottom-color:var(--accent)}
:root{--column:min(76vw, 110rem, var(--avail))}
@media (max-width:700px){:root{--column:min(94vw, var(--avail))}}
.page > *{max-width:var(--column)}
.page .masthead,
.page .colophon{width:var(--column)}
.page .brand{font-size:var(--type-brand);font-weight:var(--w-brand);
  letter-spacing:var(--track-caps)}
.page{--key-size:clamp(1.75rem, calc(var(--column) / 26), 2.75rem)}
.page{--title-rule-gap:min(.55rem, 1.1vh)}
:root{
  --type-title:min(max(calc(var(--column) / 26), 2.6rem),
                   calc(var(--column) / 7), 8vh);
  --w-title:500;
  --w-display:300;
  --w-mark:400;
  --type-brand:max(.8rem, min(max(calc(var(--column) / 42), 1.6rem), 6vh));  --w-brand:400;
  --type-subhead:min(max(calc(var(--column) / 56), 1.25rem), 6cqh);  --w-subhead:400;
  --type-body:min(max(calc(var(--column) / 64), 1.05rem), 5cqh);     --w-body:300;
  --type-value:min(max(calc(var(--column) / 90), .75rem), 4cqh);     --w-value:400;
  --type-label:min(max(calc(var(--column) / 110), .62rem), 3.5cqh);  --w-label:300;
  --track-read:.01em; --track-caps:.22em; --track-mark:.12em}
.page .colophon{font-size:min(clamp(.72rem, calc(var(--column) / 110), .95rem), 1.3vh)}
.sheet{
  --paper:#e8e4da;
  --ink-bright:#000;
  --ink-strong:rgba(0,0,0,.86);
  --ink:rgba(0,0,0,.74);
  --ink-soft:rgba(0,0,0,.60);
  --ink-faint:rgba(0,0,0,.46);
  --rule:rgba(0,0,0,.22);
  --rule-faint:rgba(0,0,0,.12);
  --accent:#0e6f8a;
  --accent-strong:rgba(14,111,138,.80);
  --accent-mid:rgba(14,111,138,.62);
  --accent-soft:rgba(14,111,138,.30);
  --line-outline:rgba(0,0,0,.68);
  --line-module:rgba(0,0,0,.44);
  --line-pad:rgba(0,0,0,.58);
  --emboss-soft:none;
  --t-title:var(--type-brand); --t-title-track:var(--track-caps);
  --t-head:var(--type-subhead); --t-head-track:var(--track-caps);
  --t-body:var(--type-body);   --t-lh:1.62;
  --t-cap:var(--type-value);   --t-cap-track:var(--track-read);
  width:var(--column); max-width:100%;
  box-sizing:border-box;
  padding:2.2rem clamp(1.6rem, 4vw, 3.4rem);
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 1px 2px rgba(0,0,0,.30), 0 6px 18px rgba(0,0,0,.28);
  scrollbar-color:rgba(0,0,0,.30) transparent;
}
.sheet [filter]{filter:none}
.sheet::-webkit-scrollbar-thumb{background:rgba(0,0,0,.30)}
.sheet h1{margin:0 0 6px;font-weight:400;font-size:var(--t-title);line-height:1;
  font-family:var(--mono);letter-spacing:var(--t-title-track);
  text-transform:uppercase;color:var(--ink-strong);text-shadow:none}
.sheet h2{margin:34px 0 14px;padding-bottom:10px;font-weight:400;
  font-size:var(--t-head);line-height:1;font-family:var(--mono);
  letter-spacing:var(--t-head-track);text-transform:uppercase;
  color:var(--ink-soft);border-bottom:1px solid var(--rule-faint);text-shadow:none}
.sheet p{margin:0 0 1rem;font-weight:var(--w-body);font-size:var(--t-body);
  line-height:var(--t-lh);font-family:var(--mono);letter-spacing:normal;
  color:var(--ink);text-align:left;text-shadow:none}
.sheet p.lead{margin-bottom:26px}
.sheet .plates{display:grid;justify-content:center;gap:1.5rem 1.2rem;
  margin:1.1rem 0 .4rem;
  grid-template-columns:repeat(auto-fit, minmax(300px, 420px))}
.sheet figure{margin:0;min-width:0;display:flex;flex-direction:column;gap:.55rem}
.sheet figure > svg{display:block;width:100%;height:auto}
.sheet figcaption{font-weight:400;font-size:var(--t-cap);line-height:var(--t-lh);
  font-family:var(--mono);letter-spacing:var(--t-cap-track);
  color:var(--ink-soft);text-align:center}
.sheet figcaption .n{display:block;color:var(--accent);margin-bottom:.3em}
.sheet figure.heavy .outline,.sheet figure.heavy .pad{stroke-width:3.11px}
.sheet figure.heavy .module,.sheet figure.heavy .lattice,
.sheet figure.heavy .connector{stroke-width:1.94px}
.sheet .trace,.sheet .via{fill:none;stroke:var(--accent-mid);stroke-width:1.1px;
  stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.step{z-index:4;
  display:grid;place-items:center;
  width:clamp(1.4rem, 6.2vh, 2.6rem);height:clamp(.9rem, 4vh, 1.7rem);
  padding:0;border:0;background:transparent;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  transition:opacity .2s ease}
.step svg{width:clamp(.85rem, 3.5vh, 1.5rem);height:auto;display:block;overflow:visible}
.step path{fill:var(--accent);
  filter:drop-shadow(0 0 3px var(--accent-strong)) drop-shadow(0 0 7px var(--accent-mid))}
.band-top{grid-row:2;position:relative;width:var(--column);
  text-align:left;
  margin-top:clamp(.3rem, 1.6vh, .9rem)}
.band-top .step-up{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  margin-top:0}
.page-label:empty::after{content:'\00a0'}
.page-label:empty::before{visibility:hidden}
.step-down{grid-row:4;margin-bottom:clamp(.45rem, 3.3vh, 1.875rem)}
.page-label{
  display:inline-block;margin:0;
  font-weight:var(--w-title);font-size:var(--type-title);
  line-height:1.15;font-family:var(--mono);letter-spacing:var(--track-mark);
  text-transform:uppercase;color:var(--ink-bright);text-shadow:none}
.page-label::before{
  content:'';display:block;height:1px;margin-bottom:var(--title-rule-gap);
  width:min(calc(100% + 6ch), var(--column));
  background:linear-gradient(to right,
    var(--rule) 0, var(--rule) calc(100% - 7ch), transparent 100%)}
.room.is-sheet .stack{gap:0}
.document.sheet{margin-block:min(1.35rem, 3.6cqh) min(1.1rem, 3cqh)}
.step:hover path,.step:focus-visible path{fill:var(--ink-bright);
  filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 0 10px var(--accent-strong))}
.step:focus-visible{outline:1px solid var(--accent-strong);outline-offset:.35rem}
.step[disabled]{opacity:.22;cursor:default}
.step[disabled] path{fill:var(--ink-faint);filter:none}
