@font-face{font-family:'Geist';font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/geist.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(../assets/fonts/geist-mono.woff2) format('woff2')}
@font-face{font-family:'Patrick Hand';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/patrick-hand.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/instrument-sans.woff2) format('woff2')}
:root{
  --bone:#F7F6F2; --paper:#FFFFFF; --ink:#16150F; --ink2:#44423B; --soft:#696660;
  --faint:#B4B0A6; --rule:#E4E0D6; --rule2:#EFEBE1;
  --slate:#3E6B8A; --sage:#2F6B57; --ochre:#7A6A46; --plum:#8C5B6B; --violet:#6B4E8A;
  --accent:var(--slate); --accent-soft:color-mix(in oklab,var(--accent) 12%,transparent);
  --code-bg:#151A21; --code-ink:#E6EBF2; --code-dim:#8C97A6;
  --ok:#2F6B57; --warn:#945B0B; --stop:#8C3B3B;
  --sw-ink:#16150F; --sw-on:#FFFFFF;
  --ease:cubic-bezier(.22,1,.36,1);
  --t-fast:150ms; --t-base:250ms; --t-slow:400ms; --t-draw:600ms;
  --wrap:1280px; --rail:248px; --toc:208px; --gut:24px;
  --r-box:16px; --r-in:11px; --r-tile:20px;
  --f-display:"Instrument Sans",Inter,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:Geist,Inter,-apple-system,"SF Pro Text","Segoe UI",Roboto,sans-serif;
  --f-mono:"Geist Mono","SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;
}
:root{color-scheme:light}
@media screen{
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bone:#121316; --paper:#181A1E; --ink:#ECEAE4; --ink2:#C3C0B8; --soft:#93908A;
    --faint:#5E5C57; --rule:#2B2E34; --rule2:#22252A;
    --slate:#7FA9CC; --sage:#63B394; --ochre:#C0A96F; --plum:#C98CA0; --violet:#A98CD0;
    --ok:#6BBE8B; --warn:#D9A94A; --stop:#DE8A8A;
    --code-bg:#0E1116; --code-ink:#DDE4EC;
    --sw-ink:#ECEAE4; --sw-on:#16150F;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .hd{view-transition-name:hd}
}
body{background:var(--bone);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
p a,li a,td a,dd a,figcaption a,.lede a{text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:color-mix(in oklab,var(--accent) 45%,transparent);text-decoration-thickness:1px}
p a:hover,li a:hover,td a:hover,dd a:hover,.lede a:hover{text-decoration-color:var(--accent)}
.rail a,.toc a,.menu a,.hd a,.pn a,.lc,.lk,.rc,.mix a,.arc a,.who a,.btn,.ba a,.orient .oa a{text-decoration:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
:is(.step>summary,.blk pre,.pic-a,.rl,.ll,.lnav>summary,.lstart,.mp a,.mp summary):focus-visible{outline-offset:-3px}
.blk :focus-visible,.codebox .cp:focus-visible{outline-color:#7FA9CC}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:100;background:var(--paper);padding:10px 14px;border-radius:8px;border:1px solid var(--rule)}
.hd{position:sticky;top:0;z-index:50;background:var(--bone);
  border-bottom:1px solid color-mix(in oklab,var(--rule) 70%,transparent)}
.hd .in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);height:64px;display:flex;align-items:center;gap:10px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);white-space:nowrap;margin-right:auto}
.brand:hover{text-decoration:none}
.brand .mark{width:28px;height:28px;flex:none;color:var(--ink)}
.brand .wm{font-family:var(--f-display);font-weight:700;font-size:18.5px;letter-spacing:-.025em}
.brand small{font-size:13px;color:var(--soft);padding-left:11px;margin-left:1px;border-left:1px solid var(--rule)}
.hd nav{display:flex;align-items:center;gap:2px}
.hd nav>a,.dd>summary{padding:8px 12px;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink2);
  white-space:nowrap;cursor:pointer;transition:color 150ms var(--ease),background 150ms var(--ease)}
.hd nav>a:hover,.dd>summary:hover{color:var(--ink);background:var(--rule2);text-decoration:none}
.hd nav>a[aria-current],.dd.on>summary{color:var(--ink);font-weight:620}
.dd{position:relative}
.dd>summary{list-style:none;display:inline-flex;align-items:center;gap:6px}
.dd>summary::-webkit-details-marker{display:none}
.dd>summary::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:translateY(-2px) rotate(45deg);opacity:.6;transition:transform 150ms var(--ease)}
.dd[open]>summary{color:var(--ink);background:var(--rule2)}
.dd[open]>summary::after{transform:translateY(1px) rotate(225deg)}
.ddp{position:absolute;top:calc(100% + 10px);left:-8px;z-index:60;min-width:290px;padding:8px;border-radius:var(--r-box);
  background:var(--paper);border:1px solid var(--rule);box-shadow:0 24px 60px -20px rgba(8,10,20,.35);
  display:grid;gap:2px}
.dd[open] .ddp{animation:ddin 250ms var(--ease)}
@keyframes ddin{from{opacity:0;transform:translateY(-6px) scale(.97)}}
.ddp a{display:grid;gap:1px;padding:10px 12px;border-radius:10px;color:var(--ink)}
.ddp a:hover{background:var(--rule2);text-decoration:none}
.ddp a b{font-size:14.5px;font-weight:620}
.ddp a small{font-size:12.5px;color:var(--soft);line-height:1.4}
.ddp a[aria-current]{background:var(--accent-soft)}
.ctx{display:flex;align-items:center;gap:2px;margin-left:8px}
.hd .play,.hd .quiet.edge{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 15px 0 12px;border-radius:999px;
  font-size:13.5px;font-weight:620;white-space:nowrap}
.hd .play{background:var(--ink);color:var(--bone);
  transition:transform 150ms var(--ease),background 150ms var(--ease),scale 250ms var(--ease)}
.hd .play svg,.hd .quiet.edge svg{width:14px;height:14px;fill:currentColor;flex:none}
.hd .play .sm{display:none}
.hd .play:hover{text-decoration:none;transform:translateY(-1px);background:color-mix(in oklab,var(--ink) 86%,var(--brand))}
.hd .play:active{scale:.97}
.hd .quiet{padding:8px 11px;border-radius:9px;font-size:13.5px;font-weight:560;color:var(--ink2);white-space:nowrap;
  transition:color 150ms var(--ease),background 150ms var(--ease)}
.hd .quiet:hover{color:var(--ink);background:var(--rule2);text-decoration:none}
.hd .quiet.edge,.hd .play.edge{border:1px solid color-mix(in oklab,var(--ink) 30%,transparent);color:var(--ink);background:none}
.hd .quiet.edge{margin-right:6px}
.hd .quiet.edge:hover,.hd .play.edge:hover{border-color:var(--ink);background:none;transform:none}
@media (max-width:1100px){.hd .quiet:not(.edge){display:none}}
@media (max-width:560px){.hd .quiet.edge{display:none}}
@media (max-width:420px){.hd .play:not(.wide) .lg{display:none}.hd .play:not(.wide) .sm{display:inline}}
@media (max-width:360px){.hd .play.wide .lg{display:none}.hd .play.wide .sm{display:inline}}
.tgl{border:1px solid var(--rule);background:transparent;color:var(--ink2);border-radius:999px;
  width:36px;height:36px;cursor:pointer;display:inline-grid;place-items:center;flex:none;transition:border-color 150ms var(--ease),color 150ms var(--ease)}
.tgl:hover{border-color:var(--ink2);color:var(--ink)}
.tgl path{fill:currentColor;stroke:none}
@media (max-width:1180px){.brand small{display:none}}
@media (max-width:860px){.hd nav{display:none}.hd .in{padding:0 20px 0 15px;height:58px;gap:8px}
  body[data-page=simulator] .brand .wm{display:none}body[data-page=simulator] .brand small{display:inline;border:0;padding:0;margin:0;font:700 18.5px var(--f-display);letter-spacing:-.025em;color:var(--ink)}}
@media (max-width:420px){.hd .play{padding:0 12px 0 11px}.ctx{margin-left:0}.brand .wm,body[data-page=simulator] .brand small{font-size:17px}}
@media (min-width:1001px) and (max-width:1320px){:root{--gut:40px}}
@media (max-width:820px){:root{--gut:20px}}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.cols{display:grid;grid-template-columns:var(--rail) minmax(0,1fr) var(--toc);gap:40px;
  max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);align-items:start}
.rail,.toc{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto;padding:26px 0 40px;
  scrollbar-width:thin}
main{padding:26px 0 36px;min-width:0}
@media (max-width:1180px){.cols{grid-template-columns:var(--rail) minmax(0,1fr)}.toc{display:none}}
@media (max-width:900px){.cols{grid-template-columns:1fr;gap:0}
  .rail{position:static;max-height:none;padding:16px 0;border-bottom:1px solid var(--rule)}}
.rail h2,.toc h2{font-size:12.5px;font-weight:650;color:var(--soft);margin:0 0 10px}
.rail ol{list-style:none;display:grid;gap:1px}
.rl{display:flex;gap:11px;align-items:baseline;padding:7px 10px;border-radius:9px;color:var(--ink2);
  font-size:14px;line-height:1.35;border-left:2px solid transparent}
.rl:hover{background:var(--rule2);text-decoration:none;color:var(--ink)}
.rl.on{background:var(--accent-soft);border-left-color:var(--accent);color:var(--ink);font-weight:600}
.rl .rn{font-family:var(--f-mono);font-size:11.5px;color:var(--soft);flex:none;width:14px}
.rl.on .rn{color:var(--accent)}
@media (max-width:900px){
  .rail ol{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .rail ol li{flex:0 0 auto}
  .rail .rl{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}
  .rail .rl.on{border-left:0;border-bottom-color:var(--accent)}
  .rail .rl .rn{margin-right:2px}
}
.toc ul{list-style:none;display:grid;gap:2px;font-size:13.5px}
.toc a{color:var(--soft);display:block;padding:3px 0 3px 11px;border-left:2px solid var(--rule)}
.toc a:hover{color:var(--ink);border-left-color:var(--accent);text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.021em;line-height:1.15;color:var(--ink)}
h1{font-size:clamp(28px,4.2vw,44px);font-weight:680;margin:0 0 12px;text-wrap:balance}
h2,h3{text-wrap:balance}
p,li,dd,figcaption{text-wrap:pretty}
h2{font-size:clamp(21px,2.2vw,27px);font-weight:620;margin:0 0 10px}
h3{font-size:18px;font-weight:640;margin:0 0 8px}
h4,.h4{font-size:14.5px;font-weight:650;margin:0 0 6px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
p{margin:0 0 14px;max-width:70ch}
.lede{font-size:clamp(17px,2vw,19.5px);line-height:1.56;color:var(--ink2);max-width:66ch;margin-bottom:18px}
strong,b{font-weight:650;color:var(--ink)}
code{font-family:var(--f-mono);font-size:.875em;background:var(--rule2);padding:.12em .38em;
  border-radius:5px;border:1px solid var(--rule);color:var(--ink)}
hr{border:0;border-top:1px solid var(--rule);margin:40px 0}
.sec{margin:0 0 42px}
.card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-box);padding:22px 24px}
.note{border-left:3px solid var(--accent);background:var(--accent-soft);padding:14px 18px;
  border-radius:0 var(--r-box) var(--r-box) 0;margin:0 0 16px}
.note p:last-child{margin-bottom:0}
.note.warn{border-left-color:var(--warn);background:color-mix(in oklab,var(--warn) 9%,transparent)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;
  font-weight:600;background:var(--rule2);color:var(--ink2);border:1px solid var(--rule)}
.pill.acc{background:var(--accent-soft);color:color-mix(in oklab,var(--accent) 86%,var(--ink));border-color:color-mix(in oklab,var(--accent) 28%,transparent)}
.tw{position:relative;overflow-x:auto;margin:0 0 18px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:14.5px}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--rule2);vertical-align:top}
thead th{font-size:12.5px;font-weight:650;color:var(--ink2);
  background:var(--rule2);border-bottom:1px solid var(--rule);white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:color-mix(in oklab,var(--accent) 4%,transparent)}
.tw .num{text-align:right;font-variant-numeric:tabular-nums}
.ticks{list-style:none;display:grid;gap:9px;margin:0 0 16px}
.ticks li{position:relative;padding-left:26px;font-size:15px;color:var(--ink2);max-width:70ch}
.ticks li::before{content:"";position:absolute;left:6px;top:.62em;width:7px;height:7px;border-radius:50%;
  background:var(--accent)}
.ticks.no li::before{background:none;border:1.5px solid var(--faint);width:8px;height:8px;top:.58em;left:5px}
.step{margin:0 0 20px;background:var(--paper);border:1px solid var(--rule);
  border-radius:var(--r-box);overflow:hidden}
.step > summary{list-style:none;cursor:pointer;padding:20px 24px;display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center}
.step > summary::-webkit-details-marker{display:none}
.step > summary:hover{background:color-mix(in oklab,var(--accent) 4%,transparent)}
.sn{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:var(--f-display);
  font-weight:680;font-size:17px;background:var(--accent-soft);
  color:color-mix(in oklab,var(--accent) 86%,var(--ink));
  border:1px solid color-mix(in oklab,var(--accent) 26%,transparent)}
.sh .ph{font-size:12.5px;font-weight:700;color:var(--accent)}
.sh h3{margin:2px 0 3px;font-size:19.5px}
.sh .wh{font-size:13px;color:var(--soft)}
.chev{color:var(--soft);font-size:13px;transition:transform 250ms var(--ease)}
.step[open] .chev{transform:rotate(180deg)}
.step[open] > summary{border-bottom:1px solid var(--rule);background:color-mix(in oklab,var(--accent) 4%,transparent)}
.sb{padding:22px 24px 26px}
.sb > section{margin:0 0 26px}
.sb > section:last-child{margin-bottom:0}
.lbl{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650;color:var(--ink2);margin:0 0 11px}
.lbl::after{content:"";flex:1;height:1px;background:var(--rule)}
@media (max-width:640px){.step > summary{grid-template-columns:36px minmax(0,1fr);padding:16px}
  .sn{width:36px;height:36px;font-size:15px}.chev{display:none}.sb{padding:18px 16px 22px}}
.sb :is(.blk,.calc,.card){border-radius:var(--r-in)}
.sb .note{border-radius:0 var(--r-in) var(--r-in) 0}
.acts{list-style:none;counter-reset:a;display:grid;gap:13px}
.acts li{counter-increment:a;display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 12px;align-items:start}
.acts li::before{content:counter(a);font-family:var(--f-mono);font-size:11px;color:var(--accent);
  background:var(--accent-soft);border-radius:6px;width:24px;height:22px;display:grid;place-items:center;
  font-weight:600;margin-top:1px}
.acts li::before{grid-column:1;grid-row:1}
.acts li > *{grid-column:2;min-width:0}
.acts b{display:block;font-size:15px;color:var(--ink);margin-bottom:2px}
.acts span{font-size:14.5px;color:var(--ink2);display:block;max-width:66ch}
.acts li > [data-lens]{margin-top:8px;margin-bottom:0}
.ai td:first-child{white-space:nowrap;font-weight:600;font-size:13.5px}
.ai tr.dont td:first-child{color:var(--stop)}
.ai tr.dont{background:color-mix(in oklab,var(--stop) 5%,transparent)}
.ai .cau{display:block;margin-top:5px;font-size:13px;color:var(--warn)}
.ai .cau::before{content:"⚠ ";opacity:.8}
.blk{border-radius:var(--r-box);overflow:hidden;border:1px solid var(--rule);margin:0 0 14px;background:var(--code-bg)}
.blk .bh{display:flex;align-items:center;gap:10px;padding:9px 12px 9px 15px;
  background:color-mix(in oklab,var(--code-bg) 82%,#fff);border-bottom:1px solid rgba(255,255,255,.08)}
.blk .bt{font-size:13px;font-weight:600;color:var(--code-ink)}
.blk .bw{font-size:12px;color:color-mix(in oklab,var(--code-ink) 82%,var(--code-bg));margin-left:auto;text-align:right}
.cp{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:var(--code-ink);
  border-radius:8px;padding:4px 11px;font-size:12px;font-weight:600;cursor:pointer;flex:none;font-family:var(--f-body)}
.cp:hover{background:rgba(255,255,255,.15)}
.cp.done{display:inline-block;gap:0;padding:4px 11px;background:var(--ok);border-color:var(--ok);color:#fff}
.blk pre{margin:0;padding:15px;overflow-x:auto;background:var(--code-bg)}
.blk code{font-family:var(--f-mono);font-size:13.4px;line-height:1.62;color:var(--code-ink);
  background:none;border:0;padding:0;white-space:pre}
@media (max-width:640px){.blk code{font-size:12px}.blk .bw{display:none}}
.art{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;align-items:baseline;
  border:1px solid var(--rule);border-radius:12px;padding:15px 18px;background:var(--rule2)}
.art dt{font-size:12.5px;font-weight:650;color:var(--soft);white-space:nowrap}
.art dd{font-size:14.5px;color:var(--ink2)}
.done{display:flex;gap:12px;align-items:flex-start;border:1px solid color-mix(in oklab,var(--ok) 34%,transparent);
  background:color-mix(in oklab,var(--ok) 8%,transparent);border-radius:var(--r-in);padding:14px 17px}
.done .k{font-size:12.5px;font-weight:700;color:var(--ok);white-space:nowrap;padding-top:2px}
.done p{margin:0;font-size:15px;color:var(--ink)}
.eg{border:1px solid var(--rule);border-left:3px solid var(--ochre);border-radius:0 12px 12px 0;
  padding:15px 19px;background:color-mix(in oklab,var(--ochre) 6%,transparent)}
.eg h4{color:var(--ochre)}
.eg p{margin:0;font-size:15px;color:var(--ink2)}
.arc{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:7px;margin:0 0 26px}
.arc a{padding:11px 12px;border-radius:11px;border:1px solid var(--rule);
  background:var(--paper);color:var(--ink2);font-size:14px;font-weight:600;text-align:center;position:relative}
.arc a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.arc a .an{display:block;font-family:var(--f-mono);font-size:10.5px;color:var(--soft);font-weight:400;margin-bottom:2px}
.dgw{background:var(--paper);border:1px solid var(--rule);border-radius:15px;padding:18px 20px;margin:0 0 16px;overflow-x:auto}
.dg{width:100%;min-width:620px;height:auto;color:var(--ink)}
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(224px,1fr));gap:14px;margin:0 0 28px}
@media (max-width:1140px){.roles{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}}
@media (max-width:1000px){.roles{grid-template-columns:1fr 1fr}.roles .rc:nth-child(5){grid-column:1/-1}}
@media (max-width:560px){.roles{grid-template-columns:1fr}.roles .rc:nth-child(5){grid-column:auto}}
.rc{display:block;background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:24px;
  transition:border-color 150ms var(--ease),background 150ms var(--ease)}
.rc:hover{border-color:var(--rc);background:color-mix(in oklab,var(--rc) 4%,var(--paper));text-decoration:none}
.rc .rt{font-family:var(--f-display);font-size:20px;font-weight:660;color:var(--ink);margin:10px 0 5px}
.rc .rg{font-size:14.5px;color:var(--ink2);margin-bottom:14px}
.rc .rb{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-family:var(--f-display);
  font-weight:700;font-size:13px;background:color-mix(in oklab,var(--rc) 14%,transparent);
  color:color-mix(in oklab,var(--rc) 86%,var(--ink));
  border:1px solid color-mix(in oklab,var(--rc) 30%,transparent)}
.rc .rs{font-size:13px;color:var(--soft);display:flex;gap:6px;flex-wrap:wrap}
.rc .rs i{font-style:normal;padding:2px 8px;border-radius:6px;background:var(--rule2);border:1px solid var(--rule)}
.rc.soon{opacity:.62}
.rc.soon:hover{transform:none;box-shadow:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.two{grid-template-columns:1fr}}
.gutter-grid > *{grid-column:2;min-width:0}
.gutter-grid::before{grid-column:1;grid-row:1}
.ft{border-top:1px solid var(--rule);background:var(--paper);margin-top:26px;padding:40px 0 64px}
.ft .in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);display:grid;
  grid-template-columns:1.5fr 1fr 1fr;gap:34px}
@media (max-width:820px){.ft .in{grid-template-columns:1fr 1fr;gap:26px 30px}.ft .in>section:first-of-type{grid-column:1/-1}}
@media (max-width:520px){.ft .in{grid-template-columns:1fr}}
.ft a,.ft .ftb{color:var(--ink2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:color-mix(in oklab,var(--ink) 28%,transparent)}
.ft a:hover,.ft .ftb:hover{color:var(--ink);text-decoration-color:var(--ink)}
.ft .ftb{appearance:none;background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left}
.ft h2{font-size:13px;font-weight:650;color:var(--soft);margin-bottom:11px}
.ft p{font-size:14px;color:var(--ink2);max-width:58ch}
.ft ul{list-style:none;display:grid;gap:8px;font-size:14px}
.ft .lg{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:16px;font-size:12.5px;color:var(--soft);
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
@media print{
  .hd,.rail,.toc,.cp,.ft .lg{display:none}
  .cols{display:block;padding:0}
  .step{break-inside:avoid;border:1px solid #ccc}
  .step > summary{background:none}
  body{background:#fff;font-size:11pt}
  .blk{background:#f6f6f6}.blk code{color:#111}
}
.lens{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--rule);border-radius:10px;background:var(--rule2)}
.lens button{border:0;background:none;font:600 12.5px/1 var(--f-body);color:var(--soft);padding:7px 13px;
  border-radius:7px;cursor:pointer;display:flex;align-items:center;gap:6px}
.lens button[aria-pressed="true"]{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(20,18,12,.09)}
.lens button:hover{color:var(--ink)}
.lens .sw{width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor}
.lens button[data-lens-set="black"] .sw{background:currentColor}
:root[data-lens-mode="black"] [data-lens="white"]{display:none}
:root[data-lens-mode="white"] [data-lens="black"]{display:none}
.lens button{display:flex!important}
[data-lens]{border-left:3px solid var(--rule);padding-left:15px;margin:0 0 15px}
[data-lens="black"]{border-left-color:var(--accent)}
[data-lens="white"]{border-left-color:var(--sage)}
[data-lens] .lk{font-size:12px;font-weight:700;color:var(--soft);display:block;margin-bottom:5px}
[data-lens="black"] .lk{color:var(--accent)}
[data-lens="white"] .lk{color:var(--sage)}
.calc{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-box);overflow:hidden;margin:0 0 18px}
.calc .ch{padding:13px 18px;border-bottom:1px solid var(--rule);background:var(--rule2);
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.calc .ch b{font-family:var(--f-display);font-size:15px}
.calc .ch span{font-size:12.5px;color:var(--soft)}
.calc .cg{display:grid;grid-template-columns:1fr 1fr;gap:0}
@media (max-width:760px){.calc .cg{grid-template-columns:1fr}}
.calc .ci{padding:16px 18px;display:grid;gap:11px;border-right:1px solid var(--rule)}
@media (max-width:760px){.calc .ci{border-right:0;border-bottom:1px solid var(--rule)}}
.calc label{display:grid;gap:4px;font-size:13px;color:var(--ink2)}
.calc label .lv{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.calc label .lv b{font-family:var(--f-mono);font-size:12.5px;color:var(--accent);font-weight:600}
.calc input[type="range"]{width:100%;accent-color:var(--accent);height:20px}
.calc input[type="number"],.calc select{font:14px var(--f-body);color:var(--ink);background:var(--bone);
  border:1px solid var(--rule);border-radius:8px;padding:7px 10px;width:100%}
.calc .co{padding:16px 18px;display:grid;gap:9px;align-content:start;background:var(--rule2)}
.calc .cr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px;color:var(--ink2)}
.calc .cr output{font-family:var(--f-mono);font-size:13.5px;font-weight:600;color:var(--ink)}
.calc .cr.big{padding-top:9px;border-top:1px solid var(--rule);font-size:15px}
.calc .cr.big output{font-size:19px;font-family:var(--f-display)}
.calc output.ok{color:var(--ok)} .calc output.warn{color:var(--warn)} .calc output.stop{color:var(--stop)}
.calc .cv{font-size:13px;line-height:1.5;color:var(--ink2);border-top:1px solid var(--rule);
  padding-top:10px;margin-top:2px}
.calc .cf{padding:9px 18px;border-top:1px solid var(--rule);font-family:var(--f-mono);font-size:11.5px;
  color:var(--soft);background:var(--paper)}
.chk{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-box);padding:20px 22px;margin:0 0 18px}
.chk ul{list-style:none;display:grid;gap:10px;margin:0 0 16px}
.chk li{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start}
.chk input[type="checkbox"]{width:17px;height:17px;margin-top:2px;accent-color:var(--accent);cursor:pointer}
.chk label{font-size:14.5px;color:var(--ink2);cursor:pointer}
.chk label b{display:block;color:var(--ink);font-weight:600}
.chk label span{font-size:13px;color:var(--soft)}
.chk .cs{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:14px}
.chk .cs .n{font-family:var(--f-display);font-size:26px;font-weight:680;color:var(--accent)}
.chk .cs .v{font-size:14.5px;color:var(--ink);font-weight:600}
.chk .nx{font-size:13.5px;color:var(--ink2);margin-top:9px}
.chk .nx b{color:var(--warn)}
.stp{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-box);overflow:hidden;margin:0 0 18px}
.stp .sh2{padding:12px 18px;border-bottom:1px solid var(--rule);background:var(--rule2);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.stp .sl{font-size:12.5px;font-weight:600;color:var(--ink2)}
.stp [data-step-dots]{display:flex;gap:13px;margin-left:auto}
.stp-dot{position:relative;width:11px;height:11px;border-radius:50%;border:1.5px solid var(--faint);background:none;
  padding:0;cursor:pointer}
.stp-dot::after{content:"";position:absolute;inset:calc(50% - 12px)}
.stp-dot.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 1.2px var(--accent)}
.stp-dot.done{background:var(--faint);border-color:var(--faint)}
.stp [data-step]{padding:20px 22px}
.stp .sn2{padding:11px 18px;border-top:1px solid var(--rule);display:flex;gap:9px;justify-content:flex-end}
.stp .sn2 button{border:1px solid var(--rule);background:var(--bone);color:var(--ink2);font:600 13px var(--f-body);cursor:pointer}
.stp .sn2 button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.stp .sn2 button:disabled{opacity:.42;cursor:default}
@media print{.stp [data-step]{display:block!important}.stp .sn2,.stp [data-step-dots]{display:none}}
.mix{list-style:none;counter-reset:mx;display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:8px;margin:0 0 30px}
.mix li{counter-increment:mx}
.mix a{display:grid;grid-template-columns:22px minmax(0,1fr);gap:2px 10px;align-content:start;
  padding:10px 13px;border-radius:11px;border:1px solid var(--rule);background:var(--paper);height:100%}
.mix a:hover{border-color:var(--accent);text-decoration:none}
.mix a::before{content:counter(mx);grid-column:1;grid-row:1;font-family:var(--f-mono);font-size:11px;
  color:var(--faint);padding-top:2px}
.mix a > *{grid-column:2;min-width:0}
.mix b{display:block;font-size:15px;color:var(--ink);font-weight:600;line-height:1.3}
.mix span{display:block;font-size:13.5px;color:var(--soft);margin-top:2px;line-height:1.45}
.mm{display:grid;grid-template-columns:284px minmax(0,1fr);gap:28px;align-items:start;
  padding:26px 0;border-top:1px solid var(--rule)}
.mm:first-of-type{border-top:0}
@media (max-width:900px){.mm{grid-template-columns:1fr;gap:16px}}
.mmg{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:14px;
  position:static}
@media (max-width:900px){.mmg{position:static}}
.mg{width:100%;height:auto;display:block;color:var(--ink)}
.mmb .mo{font-size:16.5px;line-height:1.5;color:var(--ink);font-weight:500;max-width:62ch;margin:0 0 16px}
.mmb p{font-size:14.8px;max-width:66ch}
.mmb .ml{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;
  border:1px solid color-mix(in oklab,var(--ok) 32%,transparent);
  background:color-mix(in oklab,var(--ok) 7%,transparent);border-radius:11px;padding:12px 15px;
  font-size:14.5px;color:var(--ink2);margin:4px 0 12px;max-width:none}
.mmb .ml span:first-child{font-size:12.5px;font-weight:700;color:var(--ok);white-space:nowrap}
.mmb .mw{font-size:13px;color:var(--soft);margin:0}
.fig{margin:14px 0 0;padding:0;container-type:inline-size}
.fig svg{width:100%;height:auto;display:block;background:var(--bone);border:1px solid var(--rule);
  border-radius:var(--r-in);padding:12px;color:var(--ink)}
.fig svg.n{display:none;max-width:372px;padding:10px 8px}
@container (max-width:519px){.fig svg.w{display:none}.fig svg.n{display:block}}
@supports not (container-type:inline-size){@media (max-width:640px){.fig svg.w{display:none}.fig svg.n{display:block}}}
.fig .fn{font-size:13.5px;line-height:1.5;color:var(--ink2);margin:8px 2px 0;max-width:64ch}
.fig .fn.hot{color:color-mix(in oklab,var(--dg-rose) 82%,var(--ink))}
.fig figcaption{font-size:13.5px;color:var(--soft);margin-top:8px;line-height:1.5;max-width:64ch}
html.js .fig[data-play] .ln{stroke-dasharray:1;animation:ad var(--t) linear both}
html.js .fig[data-play] .at{animation:ao 250ms var(--ease) var(--d) both}
html.js .fig[data-play] .bar{transform-box:fill-box;transform-origin:50% 0;animation:ay 300ms var(--ease) var(--d) both}
html.js .fig[data-play] .bx{transform-box:fill-box;transform-origin:0 50%;animation:ax 400ms var(--ease) var(--d) both}
:root{
  --dg-slate:#4A6076; --dg-indigo:#3F51C4; --dg-teal:#0E7F7C; --dg-amber:#9C6803;
  --dg-green:#2C7A4B; --dg-violet:#6A4BA8; --dg-rose:#A93F3F; --dg-sky:#1E7FA8;
  --dg-on:#FFFFFF;         
  --dg-fill:9%;            
  --dg-soft:16%;           
  --dg-line:38%;           
  --dg-text:78%;           
  --mg-text:74%;           
}
@media screen{:root:not([data-theme="light"]){
  --dg-slate:#8FA8BE; --dg-indigo:#8E9BF0; --dg-teal:#4FBDB6; --dg-amber:#D9A94A;
  --dg-green:#6BBE8B; --dg-violet:#AE93E0; --dg-rose:#DE8A8A; --dg-sky:#6FB9D9;
  --dg-on:#14140F; --dg-fill:13%; --dg-soft:20%; --dg-line:44%;
  --dg-text:100%;          
  --mg-text:82%;           
}}
.dgb{margin:0 0 40px;padding:0}
.dgb > figcaption{margin:0 0 18px;max-width:78ch}
.dgb .bk{display:block;font-size:13px;font-weight:600;color:var(--soft);margin-bottom:7px}
.dgb .bt{display:block;font-family:var(--f-display);font-size:25px;font-weight:700;
  letter-spacing:-.022em;line-height:1.2;color:var(--ink)}
.dgb .bs{display:block;font-size:15.5px;line-height:1.55;color:var(--ink2);margin-top:7px}
.dgb .bn{font-size:13.5px;line-height:1.6;color:var(--soft);margin:14px 0 0;max-width:72ch}
.dgb .bn b{color:var(--ink2);font-weight:600}
.dgf{display:grid;align-items:stretch;gap:0}
.dgc{border:1.5px dashed color-mix(in oklab,var(--c) var(--dg-line),transparent);
  background:color-mix(in oklab,var(--c) var(--dg-fill),transparent);
  border-radius:var(--r-box);padding:0 0 14px;display:flex;flex-direction:column;min-width:0}
.dgc .ch{background:var(--c);color:var(--dg-on);border-radius:var(--r-box) var(--r-box) 0 0;margin:-1.5px -1.5px 0;
  padding:11px 15px;display:flex;align-items:center;gap:9px;min-height:44px}
.dgc .ch svg{flex:none;width:21px;height:21px;stroke:var(--dg-on);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;opacity:.92}
.dgc .ch b{font-family:var(--f-display);font-size:16px;font-weight:700;letter-spacing:-.01em;
  line-height:1.2}
.dgc .cw{margin:0;padding:8px 15px 0;font-size:11.5px;font-weight:600;color:var(--soft)}
.dgc .cw b{color:color-mix(in oklab,var(--c) 78%,var(--ink));font-weight:700}
.dgc .ct{font-size:13.5px;line-height:1.45;color:var(--ink);font-weight:600;
  padding:6px 15px 0;margin:0}
.dgc .co{list-style:none;counter-reset:dgs;margin:10px 0 0;padding:0 15px;display:grid;
  gap:9px;align-content:start;flex:1}
.dgc .co li{counter-increment:dgs;display:grid;grid-template-columns:21px minmax(0,1fr);
  gap:2px 9px;align-items:start}
.dgc .co li::before{content:counter(dgs);grid-column:1;grid-row:1 / span 2;
  width:21px;height:21px;border-radius:50%;background:var(--c);color:var(--dg-on);
  font:700 11.5px/21px var(--f-body);text-align:center;margin-top:1px}
.dgc .co li > *{grid-column:2;min-width:0}
.dgc .co b{font-size:13.5px;font-weight:650;color:var(--ink);line-height:1.32}
.dgc .co span{font-size:12.5px;color:var(--soft);line-height:1.42;display:block;margin-top:1px}
.dgc .cb{margin:14px 15px 0;padding:11px 13px;border-radius:var(--r-in);
  background:color-mix(in oklab,var(--c) var(--dg-soft),var(--paper))}
.dgc .cb .bl{display:block;font-size:11.5px;font-weight:700;color:color-mix(in oklab,var(--c) 84%,var(--ink));
  text-align:center;margin-bottom:8px}
.dgc .cb ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dgc .cb li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;
  font-size:13px;line-height:1.38;color:var(--ink2)}
.dgc .cb li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c);
  margin-top:6px}
.dgx{align-self:center;justify-self:center;width:42px;height:22px;position:relative;
  display:grid;place-items:center}
.dgx i{display:block;width:28px;height:2.5px;
  background-image:repeating-linear-gradient(90deg,currentColor 0 5px,transparent 5px 10px);
  background-size:10px 2.5px;color:color-mix(in oklab,var(--ink2) 62%,transparent);
  }
.dgx b{position:absolute;right:3px;top:50%;width:0;height:0;margin-top:-5px;
  border:5px solid transparent;border-left:7px solid color-mix(in oklab,var(--ink2) 62%,transparent)}
.dgx.gate{align-self:stretch;width:auto;height:auto;padding:0 6px;gap:7px;
  grid-auto-rows:min-content;align-content:center;justify-items:center}
.dgx.gate::before{content:"";position:absolute;top:8px;bottom:8px;left:50%;width:0;
  border-left:2.5px dashed color-mix(in oklab,var(--dg-rose) 58%,transparent);transform:translateX(-50%)}
.dgx.gate .gl{position:relative;width:34px;height:34px;border-radius:10px;background:var(--dg-rose);
  display:grid;place-items:center;box-shadow:0 0 0 5px var(--bone)}
.dgx.gate .gl svg{width:18px;height:18px;stroke:var(--dg-on);fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.dgx.gate .gt{position:relative;font-size:12.5px;font-weight:700;color:color-mix(in oklab,var(--dg-rose) 88%,var(--ink));
  text-align:center;line-height:1.3;
  background:var(--bone);padding:2px 0}
.dgf .dgx.gate .gt{font-size:12.5px}   
.dgx.gate .gt span{display:block;font-size:11px;font-weight:600;white-space:nowrap}
@keyframes dgmarch{to{background-position:120px 0}}
.dgr{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;
  margin:9px 0 0;padding:0 12px}
.dgr i{display:block;height:2px;
  background-image:repeating-linear-gradient(270deg,currentColor 0 5px,transparent 5px 10px);
  background-size:10px 2px;color:color-mix(in oklab,var(--dg-amber) 62%,transparent);
  }
.dgr span{font-size:11.5px;font-weight:600;color:var(--ink2);white-space:nowrap}
.dgr b{width:0;height:0;border:4px solid transparent;
  border-right:6px solid color-mix(in oklab,var(--dg-amber) 62%,transparent)}
.dgr em{font-style:normal;width:0;height:0;border:4px solid transparent;border-left:0}
@keyframes dgmarchr{to{background-position:-120px 0}}
@media (max-width:900px){
  .dgr{grid-template-columns:auto minmax(0,1fr);padding:0;align-items:start}
  .dgr i{display:none}
  .dgr b{margin-top:5px}
  .dgr span{white-space:normal;line-height:1.45}
}
@media (prefers-reduced-motion: reduce){.dgx i,.dgr i{animation:none}}
@media print{.dgx i,.dgr i{animation:none}.dgb{break-inside:avoid}}
@media (max-width:1040px){
  .dgf{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px}
  .dgf .dgx{display:none}
  .dgf .dgx.gate{display:grid;grid-column:1 / -1;align-self:center;grid-auto-flow:column;
    justify-content:center;align-items:center;gap:9px;width:max-content;margin:0 auto;
    padding:5px 15px 5px 5px;border-radius:999px;
    background:color-mix(in oklab,var(--dg-rose) 9%,transparent);
    border:1.5px dashed color-mix(in oklab,var(--dg-rose) 46%,transparent)}
  .dgf .dgx.gate::before{display:none}
  .dgf .dgx.gate .gl{box-shadow:none;width:30px;height:30px;border-radius:9px}
  .dgf .dgx.gate .gt{background:none;padding:0}
  .dgf .dgx.gate .gt span{display:inline;font-size:12.5px}
}
@media (max-width:640px){
  .dgf{grid-template-columns:minmax(0,1fr)!important}
  .dgb .bt{font-size:21px}
}
.dgc .ch b,.dgm .mh b,.dglb .lr b{color:var(--dg-on)}
.dgt{display:inline-block;background:var(--ink);color:var(--bone);border-radius:6px;
  padding:3px 10px;font-size:11.5px;font-weight:700;line-height:1.4}
.dgsb{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px;margin:22px 0 16px}
.dgsb::before,.dgsb::after{content:"";height:1px;background:var(--rule)}
.dgmw{margin:0 -2px;padding:2px;max-width:100%;min-width:0;container-type:inline-size}
.dgm{display:grid;grid-template-columns:minmax(132px,190px) repeat(var(--n),minmax(0,1fr));gap:7px;
  min-width:0}
.dgm .mc{}
.dgm .mph{display:none;font-style:normal;font-size:11.5px;font-weight:700;line-height:1.3;
  color:color-mix(in oklab,var(--p) 78%,var(--ink))}
@container (max-width:759px){
  .dgm{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dgm .mc,.dgm .mh{display:none}
  .dgm .mr{grid-column:1 / -1;margin-top:12px}
  .dgm .mr:first-of-type{margin-top:0}
  .dgm .mph{display:block}
}
@container (max-width:479px){.dgm{grid-template-columns:minmax(0,1fr)}}
.dgm .mh{background:var(--c);color:var(--dg-on);border-radius:var(--r-in);padding:9px 13px;min-width:0}
.dgm .mh b{display:block;font-family:var(--f-display);font-size:14.5px;font-weight:700;line-height:1.25}
.dgm .mh span{display:block;font-size:12.5px;line-height:1.35;margin-top:2px}
.dgm .mr{border-radius:var(--r-in);padding:9px 13px;min-width:0;
  background:color-mix(in oklab,var(--c) var(--dg-fill),transparent);
  border:1.5px solid color-mix(in oklab,var(--c) var(--dg-line),transparent)}
.dgm .mr b{display:block;font-size:13.5px;font-weight:650;color:var(--ink);line-height:1.25}
.dgm .mr span{display:block;font-size:12.5px;color:var(--soft);line-height:1.38;margin-top:2px}
.dgm .md{border:1px solid var(--rule);border-radius:var(--r-in);background:var(--paper);padding:9px 12px;
  min-width:0;display:grid;align-content:start;gap:2px}
.dgm .md b{font-size:13.5px;font-weight:650;color:var(--ink);line-height:1.3}
.dgm .md span{font-size:12.5px;color:var(--ink2);line-height:1.42}
.dgm .md.own{border-color:color-mix(in oklab,var(--c) 52%,transparent);
  box-shadow:inset 3px 0 0 var(--c);padding-left:14px}
.dgm .md .ok{font-size:10.5px;font-weight:700;color:var(--c);line-height:1.2}
.dgmk{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 0;font-size:12px;color:var(--soft)}
.dgmk span{display:flex;align-items:center;gap:6px}
.dgmk i{display:block;width:13px;height:13px;border-radius:3px;border:1px solid var(--rule);
  background:var(--paper);box-shadow:inset 3px 0 0 var(--ink2);flex:none}
.dgl{display:grid;gap:11px}
.dglb{display:grid;grid-template-columns:200px minmax(0,1fr);border-radius:var(--r-box);overflow:hidden;
  border:1.5px solid color-mix(in oklab,var(--c) var(--dg-line),transparent);
  background:color-mix(in oklab,var(--c) 4%,var(--paper))}
.dglb .lr{background:var(--c);color:var(--dg-on);padding:15px 16px;display:grid;align-content:start;gap:3px}
.dglb .lr .lkey{font-size:13px;font-weight:700;line-height:1.3}
.dglb .lr b{font-family:var(--f-display);font-size:17px;font-weight:700;line-height:1.2}
.dglb .lr .ls{font-size:12.5px;line-height:1.45;margin-top:3px}
.dglb .dgll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--rule);padding:1px}
.dglb .lane{background:var(--paper);padding:12px 14px;display:grid;align-content:start;gap:8px;
  min-width:0}
.dglb .lane .lt{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--l)}
.dglb .lane .lt::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--l);flex:none}
.dglb .lane ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dglb .lane li{font-size:13px;line-height:1.42;color:var(--ink2);padding-left:11px;position:relative}
.dglb .lane li::before{content:"";position:absolute;left:0;top:7px;width:4px;height:4px;
  border-radius:50%;background:color-mix(in oklab,var(--l) 55%,transparent)}
.dglb .lane.stop{background:color-mix(in oklab,var(--dg-rose) 6%,var(--paper))}
.dglb .lane.stop li{color:var(--ink)}
@media (max-width:880px){
  .dglb{grid-template-columns:minmax(0,1fr)}
  .dglb .dgll{grid-template-columns:minmax(0,1fr)}
}
.dgm .md.q{border-style:dashed;background:transparent}
.dgm .md.q b{color:var(--soft);font-weight:600}
.dgm .md.q span{color:var(--soft)}
a.md{text-decoration:none}
a.md:hover{border-color:color-mix(in oklab,var(--c) 60%,transparent);text-decoration:none}
a.md:hover b{color:var(--c)}
.dgs{margin:0;container-type:inline-size}
.dgs svg{width:100%;height:auto;display:block;color:var(--ink);overflow:visible}
.dgs svg.n{display:none;margin:0 auto}
@container (max-width:899px){.dgs.dgs2 svg.w{display:none}.dgs.dgs2 svg.n{display:block}}
@supports not (container-type:inline-size){@media (max-width:940px){.dgs.dgs2 svg.w{display:none}.dgs.dgs2 svg.n{display:block}}}
.dgs .fl{stroke-dasharray:7 5}
@keyframes dgflow{to{stroke-dashoffset:-144}}
@media (prefers-reduced-motion: reduce){.dgs .fl{animation:none}}
@media print{.dgs .fl{animation:none}}
.dgcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:12px}
.dgcard{border:1.5px solid color-mix(in oklab,var(--c) var(--dg-line),transparent);
  border-radius:var(--r-box);padding:14px 16px 12px;
  background:color-mix(in oklab,var(--c) 5%,var(--paper))}
.dgcard header{display:flex;align-items:baseline;gap:9px;margin:0 0 7px}
.dgcard .ck{font-family:var(--f-mono);font-size:10.5px;font-weight:700;
  color:var(--dg-on);background:var(--c);border-radius:5px;padding:2px 7px;flex:none}
.dgcard header b{font-family:var(--f-display);font-size:16px;font-weight:700;color:var(--ink)}
.dgcard p{font-size:14px;line-height:1.5;color:var(--ink2);margin:0 0 10px}
.dgcard dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:0;
  border-top:1px solid color-mix(in oklab,var(--c) 22%,transparent);padding-top:9px}
.dgcard dt{font-size:11px;font-weight:650;color:var(--soft);padding-top:1px}
.dgcard dd{font-size:13px;color:var(--ink);margin:0;line-height:1.35}
.dgm[data-hot] [data-row],.dgm[data-hot] [data-col]{transition:opacity 150ms var(--ease)}
.dgm[data-hot] [data-row]:not(.lit),.dgm[data-hot] [data-col]:not(.lit){opacity:.34}
.dgm [data-row]:focus-visible,.dgm [data-col]:focus-visible{outline:2px solid var(--c);
  outline-offset:2px}
.dgs g[data-loop],.dgcard[data-loop]{transition:opacity 150ms var(--ease)}
.dgb[data-loop-hot] .dgs g[data-loop],
.dgb[data-loop-hot] .dgcard[data-loop]{opacity:.22}
.dgb[data-loop-hot="cost"] .dgs g[data-loop="cost"],
.dgb[data-loop-hot="cost"] .dgcard[data-loop="cost"],
.dgb[data-loop-hot="incident"] .dgs g[data-loop="incident"],
.dgb[data-loop-hot="incident"] .dgcard[data-loop="incident"],
.dgb[data-loop-hot="governance"] .dgs g[data-loop="governance"],
.dgb[data-loop-hot="governance"] .dgcard[data-loop="governance"]{opacity:1}
.dgcard[data-loop]{cursor:default}
@media (prefers-reduced-motion: reduce){
  .dgs g[data-loop],.dgcard[data-loop],.dgm[data-hot] [data-row]{transition:none}
}
.step .ph .pd{font-style:normal;font-family:var(--f-mono);font-size:9.5px;font-weight:700;
  margin-left:7px;padding:1px 5px;border-radius:4px;vertical-align:1px;
  color:var(--dg-on);background:var(--soft)}
.step .ph .pd[title^="P0"]{background:var(--dg-slate)}
.step .ph .pd[title^="P1"]{background:var(--dg-indigo)}
.step .ph .pd[title^="P2"]{background:var(--dg-teal)}
.step .ph .pd[title^="P3"]{background:var(--dg-amber)}
.lcols{grid-template-columns:var(--rail) minmax(0,1fr)}
@media (max-width:900px){.lcols{grid-template-columns:1fr}}
.otp{border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper);padding:12px 16px;
  margin:0 0 30px;max-width:70ch}
.otp>summary{cursor:pointer;font-size:12.5px;font-weight:650;color:var(--soft);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.otp>summary::-webkit-details-marker{display:none}
.otp>summary::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;rotate:45deg;translate:0 -2px;transition:rotate var(--t-fast) var(--ease)}
.otp[open]>summary::after{rotate:225deg;translate:0 2px}
.otp[open]>summary{margin-bottom:8px}
.otp>ol{margin:0;padding-left:20px;columns:2 220px;column-gap:28px;font-size:14px;line-height:1.45}
.otp>ol>li{break-inside:avoid;margin:0 0 3px;color:var(--soft)}
.otp>ol a{color:var(--ink2)}
.otp>ol a:hover{color:var(--ink)}
.prose .dgb>figcaption .bs{display:none}
.lnav>summary{display:none}
.lstart{display:block;padding:7px 10px;margin:0 0 14px;border-radius:9px;font-weight:650;font-size:14px;
  color:var(--ink);border-left:2px solid transparent}
.lstart:hover{background:var(--rule2);text-decoration:none}
.lstart[aria-current]{background:var(--accent-soft);border-left-color:var(--accent)}
.lt{margin:0 0 16px}
.lt h3{font-size:12.5px;font-weight:650;margin:0 0 5px;padding:0 10px;letter-spacing:0}
.lt h3 a{color:var(--soft)}
.lt h3 a:hover{color:var(--ink);text-decoration:none}
.lt.on h3 a{color:var(--ink)}
.lt ol{list-style:none;counter-reset:ll;display:grid;gap:1px;margin:0;padding:0 0 0 10px}
.lt li{counter-increment:ll}
.ll{display:flex;gap:9px;align-items:baseline;padding:5px 10px 5px 0;border-radius:8px;color:var(--ink2);
  font-size:14px;line-height:1.35;border-left:2px solid transparent;text-decoration:none}
.ll::before{content:counter(ll);font-family:var(--f-mono);font-size:11px;color:var(--soft);flex:none;
  width:15px;text-align:right}
.ll:hover{background:var(--rule2);color:var(--ink)}
.ll[aria-current]{background:var(--accent-soft);border-left-color:var(--accent);color:var(--ink);font-weight:600}
@media (max-width:900px){
  .lnav>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;
    font-size:13px;font-weight:650;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;
    background:var(--paper);color:var(--ink);list-style:none}
  .lnav>summary::-webkit-details-marker{display:none}
  .lnav>summary::after{content:"▾";color:var(--soft)}
  .lnav[open]>summary{margin-bottom:12px}
  .lrail{padding:14px 0}
}
.lesson h1{max-width:24ch}
.lmeta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:var(--soft);margin:0 0 28px;
  padding:0 0 18px;border-bottom:1px solid var(--rule);max-width:none}
.lmeta b{color:var(--ink2);font-weight:650}
.lmeta:has(+.lcards){border-bottom:0;padding-bottom:0;margin-bottom:20px}   
.lmeta a{color:var(--soft);text-decoration:underline;text-underline-offset:2px}
.prose{font-size:16.5px;line-height:1.66}
.prose>h2{margin:44px 0 12px}
.prose>h3{margin:28px 0 8px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px;max-width:70ch}
.prose li{margin:0 0 6px}
.prose li>ul,.prose li>ol{margin:6px 0 0}
.prose blockquote{border-left:3px solid var(--rule);padding:2px 0 2px 16px;margin:0 0 16px;color:var(--ink2)}
.prose blockquote>:last-child{margin-bottom:0}
.prose .callout{border-left:3px solid var(--accent);background:var(--accent-soft);padding:14px 18px 4px;
  border-radius:0 var(--r-box) var(--r-box) 0;margin:0 0 22px}
.prose .callout.tip{border-left-color:var(--dg-teal);background:color-mix(in oklab,var(--dg-teal) 8%,transparent)}
.prose .callout.warning,.prose .callout.caution{border-left-color:var(--dg-amber);
  background:color-mix(in oklab,var(--dg-amber) 9%,transparent)}
.prose .callout .ct{font-size:12.5px;font-weight:700;color:var(--ink2);margin:0 0 6px}
.prose .tw{overflow-x:auto;margin:0 0 20px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper)}
.tw{background:linear-gradient(90deg,var(--paper) 30%,transparent) 0 0/36px 100% no-repeat local,
    linear-gradient(270deg,var(--paper) 30%,transparent) 100% 0/36px 100% no-repeat local,
    linear-gradient(90deg,color-mix(in oklab,var(--ink) 16%,transparent),transparent) 0 0/14px 100% no-repeat scroll,
    linear-gradient(270deg,color-mix(in oklab,var(--ink) 16%,transparent),transparent) 100% 0/14px 100% no-repeat scroll,var(--paper)}
@media (max-width:700px){.tw table{min-width:560px}.tw table:has(th:nth-child(4)){min-width:680px}.tw th,.tw td{padding:9px 12px}}
@media (max-width:600px){
  div.tw.stack>table{min-width:0}
  .tw.stack :is(table,tbody,tr,td){display:block;width:auto}
  .tw.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tw.stack tr{padding:11px 14px 12px;border-bottom:1px solid var(--rule2)}
  .tw.stack tr:last-child{border-bottom:0}
  .tw.stack td{padding:0;border:0;text-align:left;white-space:normal}
  .tw.stack td:first-child{font-weight:650;color:var(--ink)}
  .tw.stack td[data-h]:not(:first-child)::before{content:attr(data-h);display:block;margin:8px 0 2px;font:500 12px var(--f-mono);color:var(--soft)}
}
@media (max-width:420px){.tw th,.tw td{padding:9px 10px}.lead .rpt :is(th,td){padding-inline:6px}}
.prose pre{background:var(--code-bg);color:var(--code-ink);padding:14px 16px;border-radius:var(--r-box);
  overflow-x:auto;font-size:13px;line-height:1.55;margin:0 0 20px}
.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
.prose details{border:1px solid var(--rule);border-radius:var(--r-box);padding:12px 16px;margin:0 0 18px;
  background:var(--paper)}
.prose details[open]>summary{margin-bottom:10px}
.prose summary{cursor:pointer;font-weight:650;color:var(--ink)}
.prose details>:last-child{margin-bottom:0}
.prose figure.mmd{margin:6px 0 26px;padding:20px 18px;border:1px solid var(--rule);border-radius:var(--r-box);
  background:var(--paper);overflow-x:auto}
.prose pre.mermaid{background:none;color:var(--soft);font-size:12px;padding:0;margin:0;white-space:pre-wrap}
.prose pre.mermaid.drawn{display:none}
.prose .mm-out svg{display:block;margin:0 auto;max-width:100%;height:auto}
.prose .mm-out foreignObject{overflow:visible}
.prose img{max-width:100%;height:auto;border-radius:var(--r-box)}
.prose p:has(>img:only-child)>img{display:block;border:1px solid var(--rule);margin:4px auto 6px}
.prose figure.lmodel{margin:6px 0 26px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-box)}
.prose>section,.prose>.dgb,.prose>figure{margin-inline:0}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:52px 0 18px;max-width:none}
.pn a{display:grid;gap:3px;border:1px solid var(--rule);border-radius:var(--r-box);padding:14px 18px;
  background:var(--paper);color:var(--ink)}
.pn a:hover{border-color:var(--accent);text-decoration:none}
.pn .k{font-size:12px;font-weight:650;color:var(--soft)}
.pn b{font-size:15px}
.pn small{font-size:12px;color:var(--soft)}
.pn .nx{text-align:right}
.pn .pv .k::before{content:"← "}
.pn .nx .k::after{content:" →"}
@media (max-width:560px){.pn{grid-template-columns:1fr}.pn .nx{text-align:left}}
.lalt{font-size:13.5px;color:var(--soft);max-width:none}
.lalt a{color:var(--soft);text-decoration:underline;text-underline-offset:2px}
.lcards,.lkeys{list-style:none;display:grid;gap:12px;margin:0 0 28px;padding:0}
.lc,.lk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;
  border:1px solid var(--rule);border-radius:14px;padding:16px 18px;background:var(--paper);color:var(--ink)}
.lc:hover,.lk:hover{border-color:var(--accent);text-decoration:none}
.lcn,.lkn{font-family:var(--f-mono);font-size:12px;font-weight:600;color:var(--soft);min-width:22px;
  padding-top:2px}
.lcb,.lkb{display:grid;gap:4px}
.lcb b,.lkb b{font-size:16px;line-height:1.3}
.lcb span,.lkb span{font-size:14px;color:var(--ink2);line-height:1.5}
.lcb small,.lkb small{font-size:12.5px;color:var(--soft)}
.shots{display:grid;gap:40px;padding:24px;max-width:1120px;margin:0 auto;justify-items:start}
.shot{background:var(--bone);padding:18px;width:100%}
.shot.narrow{max-width:760px}
.shot.model{max-width:480px}
.shot.sheet{max-width:796px;--sk-paper:#FFFFFF}
.shot.sheet .sketch{max-width:none;margin:0}
.shot.sheet .sk-paper{border-radius:0;box-shadow:none}
.shot .dgb>figcaption .bs{display:none}
.menu{position:relative;flex:none}
.menu>summary{list-style:none;cursor:pointer;display:inline-grid;place-items:center;width:36px;height:36px;
  border-radius:999px;color:var(--ink2);margin-left:-8px}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary svg,.tgl svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.menu>summary:hover{background:var(--rule2);color:var(--ink)}
.menu[open]::before{content:"";position:fixed;inset:0;z-index:80;background:rgba(12,14,18,.38);backdrop-filter:blur(2px)}
.menu .mp{position:fixed;top:0;left:0;bottom:0;z-index:90;width:min(340px,92vw);background:var(--paper);border-right:1px solid var(--rule);
  box-shadow:20px 0 60px rgba(0,0,0,.18);overflow-y:auto;padding:14px 18px 28px;display:grid;gap:4px;align-content:start}
.menu[open] .mp{animation:menuin 250ms var(--ease)}
@keyframes menuin{from{transform:translateX(-24px);opacity:0}}
.menu .mph{display:flex;align-items:center;justify-content:space-between;padding:6px 0 12px;border-bottom:1px solid var(--rule);margin-bottom:4px}
.menu .mph b{font-family:var(--f-display);font-size:15px}
.menu .mtour{display:none;margin-left:auto;margin-right:10px;border:1px solid var(--rule);background:none;color:var(--ink2);font:600 12.5px var(--f-body);cursor:pointer}
.menu .mtour:hover{color:var(--ink);border-color:var(--ink2)}
.has-tour .menu .mtour{display:inline-flex;align-items:center}
.menu .mx{border:0;background:var(--rule2);color:var(--ink2);width:36px;height:36px;border-radius:var(--r-in);font-size:20px;line-height:1;cursor:pointer}
.menu .mx:hover{color:var(--ink);background:var(--rule)}
.menu .mp details{border-bottom:1px solid var(--rule2);padding:2px 0 8px}
.menu .mp summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;
  font-weight:650;color:var(--ink2);padding:9px 4px 6px}
.menu .mp summary::-webkit-details-marker{display:none}
.menu .mp summary::after{content:"▾";font-size:12px;color:var(--faint);transition:transform 150ms var(--ease)}
.menu .mp details:not([open]) summary::after{transform:rotate(-90deg)}
.menu .mp ul{list-style:none;display:grid;gap:1px}
.menu .mp ul a{display:block;padding:7px 10px;border-radius:8px;color:var(--ink2);font-size:14.5px;border-left:2px solid transparent}
.menu .mp ul a:hover{background:var(--rule2);color:var(--ink);text-decoration:none}
.menu .mp ul a[aria-current]{background:var(--accent-soft);border-left-color:var(--accent);color:var(--ink);font-weight:600}
.crumbs{padding:14px 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 6px;font-size:13.5px;color:var(--soft);align-items:center;margin:0;padding:0}
.crumbs li{display:flex;align-items:center;gap:6px}
.crumbs li+li::before{content:"›";color:var(--faint)}
.crumbs a{color:var(--soft)}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--ink2);font-weight:600}
@media (max-width:900px){.crumbs{padding:12px 0 0}}
.orient{display:grid;grid-template-columns:1fr 1.1fr 1.35fr auto;border:1px solid var(--rule);border-radius:var(--r-box);
  background:var(--paper);margin:0 0 30px;overflow:hidden;max-width:none}
.orient .oi{padding:16px 20px;border-right:1px solid var(--rule2);min-width:0}
.orient .ok{display:block;font-size:12.5px;font-weight:650;color:var(--accent);margin-bottom:6px}
.orient p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink2);max-width:none}
.orient ol{margin:0;padding:0;list-style:none;counter-reset:o;display:grid;gap:5px}
.orient ol li{counter-increment:o;font-size:14px;line-height:1.45;color:var(--ink2);display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start}
.orient ol li>span{min-width:0}
.orient ol li b{color:var(--ink)}
.orient ol li::before{content:counter(o);width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);
  font:700 11px/20px var(--f-body);text-align:center;margin-top:1px}
.orient .oa{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;padding:16px 20px;
  background:color-mix(in oklab,var(--accent) 6%,var(--paper))}
.cols .orient{grid-template-columns:1fr 1fr}
.cols .orient .oi:nth-child(2){border-right:0}
.cols .orient .oi:nth-child(3){grid-column:1/-1;border-top:1px solid var(--rule2);border-right:0}
.cols .orient .oa{grid-column:1/-1;border-top:1px solid var(--rule2);flex-direction:row;flex-wrap:wrap;padding:12px 20px}
.cols .orient .oa .btn{margin-top:0!important}
@media (max-width:1000px){.orient{grid-template-columns:1fr 1fr}.orient .oi:nth-child(3){grid-column:1/-1;border-top:1px solid var(--rule2);border-right:0}
  .orient .oi:nth-child(2){border-right:0}.orient .oa{grid-column:1/-1;border-top:1px solid var(--rule2)}}
@media (max-width:600px){.orient{grid-template-columns:1fr}.orient .oi{border-right:0;border-top:1px solid var(--rule2)}.orient .oi:first-child{border-top:0}}
.tourbtn{display:inline-flex;align-items:center;gap:9px;min-height:36px;padding:0 14px;border-radius:999px;
  border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);background:var(--paper);color:var(--ink);
  font:600 13.5px var(--f-body);cursor:pointer;box-shadow:0 2px 10px rgba(20,18,12,.06);white-space:nowrap;
  transition:transform 150ms var(--ease),border-color 150ms var(--ease)}
.tourbtn:hover{border-color:var(--accent);transform:translateY(-1px)}
.tour-spot{position:fixed;z-index:9700;border-radius:14px;pointer-events:none;
  box-shadow:0 0 0 9999px rgba(8,10,14,.6),0 0 0 3px var(--accent);
  transition:top 350ms var(--ease),left 350ms var(--ease),width 350ms var(--ease),height 350ms var(--ease)}
.tour-card{position:fixed;z-index:9800;width:min(390px,calc(100vw - 32px));background:var(--paper);color:var(--ink);
  border:1px solid var(--rule);border-radius:var(--r-box);padding:14px 16px 12px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:grid;gap:8px}
.tour-card .tc-h{display:flex;align-items:center;gap:10px}
.tour-card .tc-h .tc-l{font-family:var(--f-mono);font-size:11.5px;font-weight:500;color:var(--accent)}
.tour-card .tc-n{font-size:12.5px;color:var(--soft);font-weight:600;margin-left:auto}
.tour-card .tc-x{border:0;background:none;font-size:22px;line-height:1;color:var(--soft);cursor:pointer;padding:0 4px}
.tour-card .tc-x:hover{color:var(--ink)}
.tour-card h3{font-size:16.5px;margin:0}
.tour-card p{font-size:14.5px;line-height:1.5;color:var(--ink2);margin:0;max-width:none}
.tour-card p b,.tour-card p strong{color:var(--ink)}
.tour-card .tc-f{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}
.tour-card .tc-f button{border:1px solid var(--rule);background:var(--bone);color:var(--ink2);font:600 13px var(--f-body);cursor:pointer}
.tour-card .tc-next{background:var(--accent);color:var(--dg-on);border-color:var(--accent)}
.tour-card .tc-prev:disabled{opacity:.4;cursor:default}
.tour-card::after{content:"";position:absolute;width:14px;height:14px;background:var(--paper);border-left:1px solid var(--rule);
  border-top:1px solid var(--rule);transform:rotate(45deg);left:28px;top:-8px}
.tour-card.above::after{top:auto;bottom:-8px;transform:rotate(225deg)}
@media print{.tour-card,.tour-spot,.menu,.crumbs,.tourbtn{display:none!important}}
[data-lens].lens-in{animation:lensin 400ms var(--ease)}
@keyframes lensin{from{opacity:0;transform:translateY(6px)}}
.lensbar{position:static;z-index:20;display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 6px;
  padding:10px 14px;border:1px solid var(--rule);border-radius:14px;
  background:color-mix(in oklab,var(--bone) 92%,transparent);backdrop-filter:blur(8px)}
.lensbar .lh{font-size:13.5px;color:var(--ink2);flex:1 1 280px;min-width:220px}
.lensbar .lh b{color:var(--ink)}
@media (max-width:820px){.lensbar{top:auto;position:static}}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--r-in);font:600 14.5px var(--f-body);
  border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;text-decoration:none;
  transition:transform 150ms var(--ease),border-color 150ms var(--ease),background 150ms var(--ease)}
.btn:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}
.btn:active,.tourbtn:active,.cp:active,.lens button:active{transform:scale(.98)}
.btn.pri{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.btn.pri:hover{background:var(--accent);border-color:var(--accent);color:var(--dg-on)}
@media (max-width:640px){.sw-pill{padding:8px 12px 8px 10px;bottom:12px;right:12px}}
:root{
  --bb-g:var(--dg-slate);--bb-b:var(--dg-indigo);--bb-p:var(--dg-teal);--bb-o:var(--dg-amber);--bb-k:var(--dg-rose);
  --bb-t:var(--dg-violet);--bb-y:var(--dg-green);--bb-u:var(--dg-sky);
  --bb-n:color-mix(in oklab,var(--ink) 84%,var(--paper));--bb-s:var(--soft);
  --bb-g-d:color-mix(in oklab,var(--dg-slate) 72%,var(--ink));--bb-b-d:color-mix(in oklab,var(--dg-indigo) 72%,var(--ink));
  --bb-p-d:color-mix(in oklab,var(--dg-teal) 72%,var(--ink));--bb-o-d:color-mix(in oklab,var(--dg-amber) 72%,var(--ink));
  --bb-k-d:color-mix(in oklab,var(--dg-rose) 72%,var(--ink));--bb-t-d:color-mix(in oklab,var(--dg-violet) 72%,var(--ink));
  --bb-y-d:color-mix(in oklab,var(--dg-green) 72%,var(--ink));--bb-u-d:color-mix(in oklab,var(--dg-sky) 72%,var(--ink));
  --bb-n-d:var(--ink);--bb-s-d:var(--ink2);
  --bb-ink:var(--ink);--bb-ink2:var(--ink2);--bb-node:var(--paper);--bb-tint:10%;--bb-bord:42%;--bb-on:var(--dg-on)}
@media screen{:root:not([data-theme="light"]){--bb-tint:14%;--bb-bord:50%}}
.bbw{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-box);padding:16px 18px 12px;margin:0 0 18px;
  container-type:inline-size}
.bbw>svg.bb{width:100%;height:auto;display:block;margin:0 auto;font-family:var(--f-body)}
.bbw>.bbn{display:none}
@container (max-width:744px){.bbw:not(.solo)>svg.bb{display:none}.bbw>.bbn{display:grid}}
@container (max-width:899px){.bbw.bbw-w:not(.solo)>svg.bb{display:none}.bbw.bbw-w>.bbn{display:grid}}
@supports not (container-type:inline-size){@media (max-width:900px){.bbw:not(.solo)>svg.bb{display:none}.bbw>.bbn{display:grid}}}
@media (max-width:480px){.bbw{padding:12px 12px 10px}}
.bbw figcaption{font-size:13.5px;color:var(--soft);margin:10px 0 0;line-height:1.5;max-width:80ch}
.bbw figcaption b{color:var(--ink2)}
.bbn{gap:9px;font-size:14px;line-height:1.4;color:var(--ink)}
.bbw .bbn p,.bbw .bbn ul,.bbw .bbn ol,.bbw .bbn li{margin:0;max-width:none}
.bbw .bbn ul,.bbw .bbn ol{list-style:none;padding:0}
.bbn .bbn-t{margin:0 0 5px;padding-right:8px;font-family:var(--f-display);font-size:17px;font-weight:650;line-height:1.6;letter-spacing:-.01em}
.bbn-t b{background:var(--c);color:var(--bb-on);border-radius:7px;padding:2px 9px;font-weight:650;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.bbn-b{border:1.5px solid color-mix(in oklab,var(--c) var(--bb-bord),transparent);border-radius:var(--r-in);
  background:color-mix(in oklab,var(--c) var(--bb-tint),transparent);overflow:hidden}
.bbn-b>header{background:var(--c);padding:8px 13px 9px;display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 9px}
.bbn-b>header i,.bbn-b>header b,.bbn-b>header span{color:var(--bb-on)}
.bbn-b>header i{font-style:normal;font-size:12.5px;font-weight:700}
.bbn-b>header b{font-family:var(--f-display);font-size:16px;font-weight:700;line-height:1.25}
.bbn-b>header span{font-size:12.5px;font-weight:550;flex-basis:100%}
.bbw .bbn .bbn-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px;padding:10px}
.bbw .bbn .bbn-g.one{grid-template-columns:minmax(0,1fr);padding:0;gap:9px}
.bbw .bbn .bbn-g.seq{grid-template-columns:minmax(0,1fr)}
.bbn-in{display:grid;gap:8px;padding:0 10px 10px}
.bbn-c{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;border:1.5px solid var(--c);
  border-radius:var(--r-in);background:var(--bb-node);padding:9px 12px}
.bbn-c.bare{grid-template-columns:minmax(0,1fr)}
.bbn-c.q{display:block;border-style:dashed;border-color:color-mix(in oklab,var(--c) var(--bb-bord),transparent);
  background:none;color:var(--ink2);font-size:13.5px}
.bbn-c b{display:block;font-size:14.5px;font-weight:650;line-height:1.3;color:var(--ink)}
.bbn-c small{display:block;font-size:13px;line-height:1.4;color:var(--ink2);margin-top:1px}
.bbn-c>a{display:contents;color:inherit;text-decoration:none}
.bbn-c.bbn-a:hover{border-color:var(--ink)}
.bbn-i{width:28px;height:28px}
.bbn-num{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;
  font-weight:700;background:var(--c);color:var(--bb-on)}
.bbn-via{grid-column:1 / -1;justify-self:start;font-style:normal;font-size:12.5px;font-weight:700;color:var(--ink);
  border:1px solid var(--c);border-radius:999px;padding:1px 9px;margin:-1px 0 1px}
.bbn-x{position:relative;min-height:20px;padding:0 0 3px 26px;font-size:13px;font-weight:650;line-height:1.35;color:var(--ink2);
  display:flex;align-items:center}
.bbn-x::before{content:"";position:absolute;left:11px;top:0;bottom:5px;border-left:2px dashed var(--ink2)}
.bbn-x::after{content:"";position:absolute;left:7px;bottom:0;border:5px solid transparent;border-top:7px solid var(--ink2);border-bottom:0}
.bbn-x.gate{min-height:30px;color:color-mix(in oklab,var(--bb-k) 78%,var(--ink));border-top:3px solid var(--bb-k);padding-top:5px;margin-top:2px}
.bbn-x.gate.soft{color:color-mix(in oklab,var(--bb-o) 78%,var(--ink));border-top:3px dashed var(--bb-o)}
.bbn-e{justify-self:start;border:1.5px solid var(--c);border-radius:var(--r-tile);padding:7px 16px;
  background:color-mix(in oklab,var(--c) var(--bb-tint),var(--bb-node))}
.bbn-e b{display:block;font-size:14.5px;font-weight:650;line-height:1.3;color:var(--ink)}
.bbn-e small{display:block;font-size:13px;color:var(--ink2)}
.bbw .bbn .bbn-f,.bbw .bbn .bbn-ps{display:grid;gap:8px}
.bbn-f .bbn-c.out{margin-left:26px}
.bbn-ph{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13.5px;font-weight:700}
.bbn-ph b{background:var(--c);color:var(--bb-on);border-radius:7px;padding:2px 9px}
.bbn-ph i,.bbn-pair>i{width:18px;height:2px;background:var(--ink2);position:relative;flex:none;justify-self:center}
.bbn-ph i::after,.bbn-pair>i::after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;
  border-left:7px solid var(--ink2);border-right:0}
.bbn-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
@container (max-width:460px){.bbn-pair{grid-template-columns:minmax(0,1fr);gap:0;border-left:3px solid var(--rule);padding-left:9px}
  .bbn-pair>i{width:2px;height:12px;justify-self:start;margin-left:24px}
  .bbn-pair>i::after{right:-4px;top:auto;bottom:-3px;border:5px solid transparent;border-top:7px solid var(--ink2);border-bottom:0}}
.bbn-k{border:1.5px solid color-mix(in oklab,var(--c) var(--bb-bord),transparent);border-radius:var(--r-in);
  background:color-mix(in oklab,var(--c) var(--bb-tint),transparent);padding:10px 13px;font-size:14px;font-weight:600;line-height:1.45}
.bbn-l{border:1.5px solid color-mix(in oklab,var(--c) var(--bb-bord),transparent);border-radius:var(--r-in);padding:10px 13px 11px;
  background:var(--bb-node)}
.bbn-l>b{display:block;font-size:13.5px;font-weight:700;margin:0 0 5px;color:var(--ink)}
.bbw .bbn .bbn-l ol{list-style:decimal;padding-left:20px;display:grid;gap:4px;font-size:13.5px;color:var(--ink)}
.bbn-n{font-size:13px;color:var(--ink2);line-height:1.45}
.bb .bb-flow{stroke-dasharray:7 5}
@keyframes bbflow{to{stroke-dashoffset:-144}}
@media (prefers-reduced-motion:reduce){.bb .bb-flow{animation:none}}
@media print{.bb .bb-flow{animation:none}.bbw{break-inside:avoid}}
.bb a{cursor:pointer}
.bb a:hover rect{stroke-width:2.6}
.bwhy{font-size:13.5px;color:var(--soft);margin:-2px 0 10px;max-width:none}
.tvp .card{position:relative}
.tvp .card.on{border-color:color-mix(in oklab,var(--accent) 50%,transparent);box-shadow:inset 3px 0 0 var(--accent)}
.tvp .card.on::after{content:"this page";position:absolute;top:12px;right:14px;font-size:12px;font-weight:650;color:var(--accent)}
.tvp .card p{font-size:14.5px;color:var(--ink2);margin:0 0 8px}
.tvp .card .eg2{font-size:13px;color:var(--soft);margin:0}
.tvp .card .eg2 code{font-size:12px}
.codebox{position:relative;margin:0 0 20px}
.codebox pre{margin:0}
.codebox .cp{position:absolute;top:8px;right:8px;z-index:1}
.codebox pre{padding-top:46px}
@media (max-width:820px){.codebox pre{padding-top:60px}}
.prose h2 .hl,.prose h3 .hl{margin-left:9px;color:var(--faint);text-decoration:none;font-weight:500;font-size:.85em;opacity:0;transition:opacity 150ms var(--ease)}
.prose h2:hover .hl,.prose h3:hover .hl,.prose .hl:focus-visible{opacity:1}
.rp{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}
.rp i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--accent)}
@media print{.rp,.hl,.codebox .cp,.lfolds{display:none!important}}
.ms{margin:2px 0 6px}
.ms input{width:100%;font:14.5px var(--f-body);padding:9px 12px;border:1px solid var(--rule);border-radius:9px;background:var(--bone);color:var(--ink)}
.ms input::placeholder{color:var(--soft)}
.ms input:focus{outline:2px solid var(--accent);outline-offset:1px}
.mr{list-style:none;margin:6px 0 4px;padding:0;display:grid;gap:2px;max-height:52vh;overflow:auto}
.mr a{display:grid;gap:1px;padding:8px 10px;border-radius:8px;color:var(--ink)}
.mr a:hover,.mr a:focus{background:var(--rule2);text-decoration:none;outline:none}
.mr a:focus-visible{outline:2px solid var(--accent)}
.mr b{font-size:14px;line-height:1.3}
.mr span{font-size:11.5px;color:var(--accent);font-weight:650}
.mr small{font-size:12.5px;color:var(--soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mr .none{padding:8px 10px;font-size:13px;color:var(--soft)}
:root{
  --ic-play:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 8.5v7l5.5-3.5z' fill='%23000'/%3E%3C/svg%3E");
  --ic-calc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M8.5 7.5h7M9 12h.01M12 12h.01M15 12h.01M9 16h.01M12 16h.01M15 16h.01'/%3E%3C/svg%3E");
  --ic-sim:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Cpath d='M6 15V3M18 9a9 9 0 0 1-9 9'/%3E%3C/svg%3E");
  --ic-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.8-3.4 8.4-8 9-4.6-.6-8-4.2-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  --ic-loop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 2l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 22l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E");
  --ic-cols:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='7' height='16' rx='1.5'/%3E%3Crect x='14' y='4' width='7' height='16' rx='1.5'/%3E%3C/svg%3E");
  --ic-pack:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 13l2 2 4-4'/%3E%3C/svg%3E");
  --ic-steps:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h5v-5h5v-5h5V5h3'/%3E%3C/svg%3E");
  --ic-book:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h6a3 3 0 0 1 3 3v13a2 2 0 0 0-2-2H4zM20 4h-6a3 3 0 0 0-3 3v13a2 2 0 0 1 2-2h7z'/%3E%3C/svg%3E");
  --ic-go:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
main a[href*="simulator/"],main a[href*="workbench/"]{--ic:var(--ic-play)}   
main a[href*="workbench/#/toolkit"]{--ic:var(--ic-calc)}
main a[href*="workbench/#/simulations"]{--ic:var(--ic-sim)}
main a[href*="workbench/#/governance"]{--ic:var(--ic-shield)}
main a[href*="workbench/#/loopmap"]{--ic:var(--ic-loop)}
main a[href*="workbench/#/compare"]{--ic:var(--ic-cols)}
main a[href*="workbench/#/evidence"]{--ic:var(--ic-pack)}
main a[href*="workbench/#/process"],main a[href*="workbench/#/pm/"],main a[href*="workbench/#/sa/"],main a[href*="workbench/#/eng/"]{--ic:var(--ic-steps)}
main a[href*="workbench/#/learn"],main a[href*="workbench/#/concepts"],main a[href*="workbench/#/guide"]{--ic:var(--ic-book)}
main a[href*="workbench/#/"]:not(.btn):not(.more)::before{content:"";display:inline-block;width:1.05em;height:1.05em;margin-right:.36em;vertical-align:-.17em;background:currentColor;
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.try{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 22px}
.try .tl{font-size:12.5px;font-weight:600;color:var(--soft);letter-spacing:.01em;margin-right:2px}
@media (max-width:560px){.try .tl{flex-basis:100%}}
.try a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13.5px;font-weight:600;text-decoration:none;line-height:1;
  transition:border-color 150ms var(--ease),background 150ms var(--ease),transform 150ms var(--ease)}
.try a::before{margin-right:0;width:15px;height:15px;color:var(--slate);vertical-align:0}
.try a::after{content:"";width:12px;height:12px;background:var(--soft);-webkit-mask:var(--ic-go) center/contain no-repeat;mask:var(--ic-go) center/contain no-repeat;transition:transform 150ms var(--ease),background 150ms var(--ease)}
.try a:hover{border-color:var(--slate);background:var(--bone);transform:translateY(-1px)}
.try a:hover::after{background:var(--ink);transform:translateX(2px)}
.try a:focus-visible{outline:3px solid var(--slate);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.try a,.try a::after{transition:none}}
.ways .try{margin:6px 0 0}
.ways .try a{font-size:13px;padding:6px 10px 6px 9px}
@media (max-width:480px){.orient{grid-template-columns:1fr!important}}
.roadmap{margin:0 0 30px}
.roadmap .rh h2{margin:0 0 6px}
.roadmap .rh p{margin:0 0 16px;font-size:15px;line-height:1.55;color:var(--ink2);max-width:76ch}
.roadmap .rt{display:flex;gap:10px;align-items:stretch}
.roadmap .rg{flex:var(--n) 1 0;min-width:0;padding:10px 10px 12px;border-radius:var(--r-box);border:1.5px solid color-mix(in oklab,var(--c) 45%,transparent);background:color-mix(in oklab,var(--c) 7%,var(--paper));position:relative}
.roadmap .rg + .rg::before{content:"";position:absolute;left:-12px;top:50%;width:14px;border-top:2px dashed color-mix(in oklab,var(--ink) 35%,transparent)}
.roadmap .rp{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink2);margin:0 0 10px 4px}
.roadmap .rp b{font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--dg-on);background:var(--c);padding:2px 7px;border-radius:6px}
.roadmap .rns{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:8px}
.roadmap .rn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px 10px;border-radius:var(--r-in);border:1px solid var(--rule);background:var(--paper);text-decoration:none;color:var(--ink);text-align:center;position:relative;transition:transform 150ms var(--ease),border-color 150ms var(--ease)}
.roadmap .rn:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--c) 70%,var(--ink));text-decoration:none}
.roadmap .rn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.roadmap .ri{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--c) 14%,var(--paper));color:color-mix(in oklab,var(--c) 75%,#111)}
.roadmap .ri svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.roadmap .rnum{font-family:var(--f-mono);font-size:11px;color:var(--soft)}
.roadmap .rname{font-size:14px;font-weight:600;line-height:1.2}
@media (max-width:900px){.roadmap .rt{flex-direction:column}.roadmap .rg + .rg::before{left:50%;top:-12px;width:0;height:14px;border-top:0;border-left:2px dashed color-mix(in oklab,var(--ink) 35%,transparent)}.roadmap .rns{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}
.mtabs{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:12.5px;color:var(--soft)}
.mtabs .lens button{padding:5px 10px;font-size:12.5px}
.picks{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.picks .chip{font:inherit;font-size:13.5px;font-weight:600;color:var(--ink2);background:var(--paper);border:1px solid var(--rule);border-radius:999px;min-height:36px;padding:0 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.picks .chip b{font-family:var(--f-mono);font-size:11.5px;font-weight:500;color:var(--soft)}
.picks .chip:hover{border-color:var(--accent);color:var(--ink)}
.picks .chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.picks .chip.on b{color:var(--paper);opacity:.75}
.picsec{margin:0 0 34px}
.picsec h2 .cnt{font-family:var(--f-mono);font-size:13px;font-weight:500;color:var(--soft);margin-left:8px}
.pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.pic{margin:0;display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper);overflow:hidden}
.pic .pic-a{display:block;background:var(--rule2);border-bottom:1px solid var(--rule)}
.pic img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;background:var(--paper)}
.pic img.dark{display:none}
@media screen{:root:not([data-theme="light"]) .pic img.light{display:none}:root:not([data-theme="light"]) .pic img.dark{display:block}}
.pic figcaption{padding:12px 14px 13px;display:grid;gap:4px}
.pic figcaption b{font-size:15px;color:var(--ink);line-height:1.3}
.pic figcaption span{font-size:13px;line-height:1.45;color:var(--soft)}
.pic figcaption small{font-size:12px;color:var(--soft);margin-top:4px}
.pic figcaption small a{color:var(--ink2)}
.picpage .lalt,.lalt{font-size:13.5px;color:var(--soft)}
.poster{margin:18px 0 26px;padding:22px 24px 18px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper)}
.poster>figcaption{margin:0 0 16px;max-width:78ch}
.poster .bk{display:block;font-size:13px;font-weight:600;color:var(--soft);margin-bottom:6px}
.poster .bt{display:block;font-family:var(--f-display);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.poster .bs{display:block;font-size:15px;line-height:1.5;color:var(--ink2);margin-top:6px}
.pa-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch;position:relative}
.pa-c{position:relative;border:1.5px solid color-mix(in oklab,var(--c) 55%,transparent);background:color-mix(in oklab,var(--c) 7%,var(--paper));border-radius:var(--r-in);padding:14px 14px 12px;display:grid;gap:6px;align-content:start}
.pa-n{width:26px;height:26px;border-radius:50%;background:var(--c);color:var(--dg-on);font-family:var(--f-mono);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.pa-c b{font-family:var(--f-display);font-size:15.5px;color:var(--ink);line-height:1.2}
.pa-c code{font-size:12.5px;color:color-mix(in oklab,var(--c) 75%,var(--ink));background:var(--paper);border:1px solid color-mix(in oklab,var(--c) 40%,transparent);border-radius:7px;padding:3px 8px;justify-self:start}
.pa-c p{margin:0;font-size:13px;line-height:1.45;color:var(--ink2)}
.pa-arrow{display:none}
.pa-ex{margin:16px 0 0;padding:14px 16px;border-radius:var(--r-in);background:var(--rule2);border:1px solid var(--rule)}
.pa-exl{display:block;font-size:12.5px;font-weight:700;color:var(--soft);margin-bottom:8px}
.pa-ex p{margin:0;display:flex;flex-wrap:wrap;gap:6px 8px;font-family:var(--f-mono);font-size:13px;line-height:1.5}
.pa-ex p span{padding:3px 9px;border-radius:var(--r-in);border-left:4px solid var(--c);background:color-mix(in oklab,var(--c) 9%,var(--paper));color:var(--ink)}
.pa-tk{margin:14px 0 0;font-size:14px;line-height:1.55;color:var(--ink2)}
.pa-tk b{color:var(--ink)}
.pr-grid{display:grid;grid-template-columns:28px repeat(5,minmax(0,1fr));gap:6px;align-items:stretch}
.pr-col{display:contents}
.pr-h{grid-row:1;grid-column:var(--k)}
.pr-c{grid-row:var(--r);grid-column:var(--k)}
.pr-n{grid-column:1;grid-row:var(--r);font-family:var(--f-mono);font-size:12px;color:var(--soft);display:flex;align-items:center;justify-content:center}
.pr-i{display:none;font-style:normal;font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--soft)}
.pr-h{background:var(--c);color:var(--dg-on);border-radius:var(--r-in);padding:9px 11px;display:grid;gap:2px}
.pr-h b,.pr-h span{color:var(--dg-on)}
.pr-h b{font-family:var(--f-display);font-size:14px;line-height:1.2}
.pr-h span{font-size:11.5px}
.pr-c{border:1px solid color-mix(in oklab,var(--c) 45%,transparent);background:color-mix(in oklab,var(--c) 6%,var(--paper));border-radius:var(--r-in);padding:8px 10px;display:grid;gap:3px;align-content:start;min-width:0}
.pr-c.empty{border-style:dashed;background:transparent}
.pr-s{font-size:11px;font-weight:700;color:color-mix(in oklab,var(--c) 75%,var(--ink));display:flex;gap:6px;align-items:center}
.pr-s em{font-style:normal;font-family:var(--f-mono);font-size:10px;font-weight:700;color:var(--dg-on,#fff);background:color-mix(in oklab,var(--c) 70%,#111);padding:1px 5px;border-radius:4px}
.pr-c b{font-size:12.5px;line-height:1.3;color:var(--ink);font-weight:600}
.pr-c small{font-size:11px;color:var(--soft)}
.postersec{margin:0 0 30px}
.pr-s em.p0{background:var(--dg-slate)}
.pr-s em.p1{background:var(--dg-indigo)}
.pr-s em.p2{background:var(--dg-teal)}
.pr-s em.p3{background:var(--dg-amber)}
@media (max-width:900px){.pa-row{grid-template-columns:1fr 1fr}.pr-grid{grid-template-columns:20px repeat(5,minmax(0,1fr))}.pr-c b{font-size:11.5px}.pr-h b{font-size:12.5px}}
@media (max-width:760px){
  .pr-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .pr-col{display:grid;gap:6px}
  .pr-h,.pr-c{grid-row:auto;grid-column:auto}
  .pr-n,.pr-c.empty{display:none}
  .pr-i{display:inline}
  .pr-c b{font-size:13.5px}.pr-s{font-size:12px}.pr-h b{font-size:15px}.pr-c small{font-size:12px}
}
@media (max-width:600px){.pa-row{grid-template-columns:1fr}.pics{grid-template-columns:1fr}.poster{padding:16px 14px 14px}}
.dgb > figcaption{max-width:none}
.dgb .bs{max-width:none}
.dgb .bkey{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 26px;align-items:start;margin:0 0 18px;padding:14px 18px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper)}
.dgb .bkey .bxt{font-size:13.5px;font-weight:650;line-height:1.4;color:var(--ink);padding-top:1px}
.dgb .bkb{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 28px}
.dgb .bkc{font-size:13.5px;line-height:1.5;color:var(--ink2)}
.dgb .bkc b{color:var(--ink);font-weight:650}
.dgb .bkc .bxk{display:block;font-size:11.5px;font-weight:700;color:var(--soft);margin:0 0 6px}
@media (max-width:640px){.mmb .mw,.dgb .bkc{line-height:2}}
.dgb .bxg{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.dgb .bxg i{font-style:normal;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;
  border:1px solid color-mix(in oklab,var(--c,var(--ink2)) 40%,transparent);
  background:color-mix(in oklab,var(--c,var(--ink2)) 9%,transparent);
  color:color-mix(in oklab,var(--c,var(--ink2)) 72%,var(--ink))}
@media (max-width:760px){.dgb .bkey{grid-template-columns:1fr;gap:8px}}
.dgc a.ch{text-decoration:none;position:relative;cursor:pointer;transition:filter 150ms var(--ease)}
.dgc a.ch:hover{filter:brightness(1.07)}
.dgc a.ch:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.dgc .ch b{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.dgc .ch .ckey{font-style:normal;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1}
.dgc .ch .cname{font-size:15px;font-weight:700}
.dgc .ch .tipc{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:6;padding:10px 12px;border-radius:10px;
  background:var(--ink);color:var(--paper);font:500 12.5px/1.45 var(--f-body);letter-spacing:0;
  box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity 150ms var(--ease),transform 150ms var(--ease),visibility 0s 150ms;pointer-events:none}
.dgc a.ch:hover .tipc,.dgc a.ch:focus .tipc{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.dgc a.ch:hover{z-index:7}
@media (hover:none){.dgc .ch .tipc{display:none}}
.rowh{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:14px 40px;align-items:start;margin:0 0 20px}
.rowh h1,.rowh h2{margin-top:0}
.rowh p{max-width:none}
.rowh p:last-child{margin-bottom:0}
.rowa{padding:14px 16px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);font-size:14px;line-height:1.5;color:var(--ink2)}
.rowa>b{display:block;font:500 12.5px var(--f-mono);letter-spacing:.01em;color:var(--soft);margin:0 0 8px}
.rowa ol,.rowa ul{margin:0;padding-left:18px;display:grid;gap:5px}
.rowa .try{margin:0;gap:6px}
@media (max-width:900px){.rowh{grid-template-columns:1fr;gap:12px}}
.phead.rowh{margin:0}
.two .card.yes{background:color-mix(in oklab,var(--ok,#2E7D32) 9%,var(--paper));border-color:color-mix(in oklab,var(--ok,#2E7D32) 32%,transparent)}
.two .card.yes h3{color:color-mix(in oklab,var(--ok,#2E7D32) 70%,var(--ink))}
.two .card.no{background:color-mix(in oklab,var(--stop,#C62828) 8%,var(--paper));border-color:color-mix(in oklab,var(--stop,#C62828) 30%,transparent)}
.two .card.no h3{color:color-mix(in oklab,var(--stop,#C62828) 68%,var(--ink))}
.readsg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.readsg li{margin:0}
.readsg a{display:block;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper);font-size:14px;font-weight:600;color:var(--ink);text-decoration:none}
.readsg a:hover{border-color:var(--accent);background:var(--bone)}
.usewhen{list-style:none;margin:0 0 12px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper);display:grid;gap:6px;font-size:13.5px;line-height:1.5;color:var(--ink2)}
.usewhen li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px}
.usewhen li b{font-size:12px;font-weight:700;color:var(--soft);padding-top:2px}
.usewhen li span{max-width:none}
@media (max-width:560px){.usewhen li{grid-template-columns:1fr;gap:2px}}
.pill.pp0{background:color-mix(in oklab,var(--dg-slate) 16%,var(--paper));border-color:color-mix(in oklab,var(--dg-slate) 45%,transparent);color:color-mix(in oklab,var(--dg-slate) 75%,var(--ink))}
.pill.pp1{background:color-mix(in oklab,var(--dg-indigo) 16%,var(--paper));border-color:color-mix(in oklab,var(--dg-indigo) 45%,transparent);color:color-mix(in oklab,var(--dg-indigo) 75%,var(--ink))}
.pill.pp2{background:color-mix(in oklab,var(--dg-teal) 16%,var(--paper));border-color:color-mix(in oklab,var(--dg-teal) 45%,transparent);color:color-mix(in oklab,var(--dg-teal) 75%,var(--ink))}
.pill.pp3{background:color-mix(in oklab,var(--dg-amber) 16%,var(--paper));border-color:color-mix(in oklab,var(--dg-amber) 45%,transparent);color:color-mix(in oklab,var(--dg-amber) 75%,var(--ink))}
.tmplgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tmplgrid .card{padding:16px 18px}
.tmplgrid .acts{gap:10px}
.tmplgrid .acts li span{font-size:13.5px}
.tmplgrid .ticks li{font-size:14px;max-width:none}
.exblk{margin:0;padding:12px 14px;border-radius:var(--r-in);background:var(--bone);border:1px solid var(--rule);font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-x:auto}
@media (max-width:1000px){.tmplgrid{grid-template-columns:1fr}}
.mm{border-left:4px solid var(--sev,var(--rule));padding-left:18px}
.mk{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;flex-wrap:wrap}
.sevchip{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in oklab,var(--sev) 14%,var(--paper));color:color-mix(in oklab,var(--sev) 45%,var(--ink));border:1px solid color-mix(in oklab,var(--sev) 45%,transparent)}
.mnum{font-size:12px;font-weight:600;color:var(--soft)}
.mmd{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 18px;margin:12px 0 12px}
.mmd dt{font-size:12px;font-weight:700;color:var(--soft);padding-top:3px}
.mmd dd{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink2);max-width:none}
.mmd dd code{font-size:13px}
.mw span{font-size:12px;font-weight:700;color:var(--soft);margin-right:6px}
@media (max-width:640px){.mmd{grid-template-columns:1fr;gap:2px 0}.mmd dd{margin-bottom:8px}.mm{padding-left:14px}}
.allure{font-size:17px;line-height:1.6;color:var(--ink2);max-width:none;margin:0}
.allure em{font-style:italic;color:var(--accent)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:0 0 14px}
.pair>div{padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--paper);font-size:14.5px;line-height:1.55;color:var(--ink2)}
.pair>div p{margin:0 0 8px;max-width:none;font-size:14.5px}
.pair>div p:last-child{margin:0}
.pair .pl{display:block;font:500 12.5px var(--f-mono);letter-spacing:.01em;color:var(--soft);margin:0 0 6px}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.claims{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.three .card,.four .card,.claims .card{padding:16px 18px}
.three .card p,.four .card p,.claims .card p{font-size:14.5px;max-width:none;margin:0 0 8px}
.three .card p:last-child,.four .card p:last-child,.claims .card p:last-child{margin:0}
.claims .mech{font-size:13.5px;color:var(--soft)}
@media (max-width:1000px){.four{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.pair,.three,.four{grid-template-columns:1fr}}
.wide{max-width:none}
.acts.acts2{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
@media (max-width:760px){.acts.acts2{grid-template-columns:1fr}}
.rolehead{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 14px}
.rolehead h2{margin:0}
.rolehead .try{margin:0}
.dgb .bkc a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
@media (max-width:820px){
  .tgl,.menu>summary,.mx,.sw-x,.cp,.rl,.play,.hd .brand{min-height:44px}
  .tgl,.menu>summary,.mx,.sw-x{min-width:44px;display:inline-grid;place-items:center}
  .cp{padding-top:10px;padding-bottom:10px}
}
.ph .pd{font-size:11px}
.orient .ok,.dgcard .ck,.dgx.gate .gt{font-size:11px}
@media (max-width:820px){
  details.step>summary,.btn,.who a,.try a,.readsg a,.picks .chip,.tourbtn,.tour-card .tc-f button,.menu .mtour{min-height:44px}
  .btn{padding-top:11px;padding-bottom:11px}
}
@media (max-width:820px){
  .menu details>summary,.menu li>a,.ll,.lstart,.lnav>summary{min-height:44px;display:flex;align-items:center}
  .menu .mr li>a{display:grid;align-items:start}
}
:root{--brand:var(--dg-indigo);--band:clamp(72px,9.5vw,128px);
  --g-dot:#5E83A8;--g-lit:#12304E;--g-a:#FFFFFF;--g-m:#E2EDF7;--g-b:#B9CFE4;--g-rim:rgba(46,104,160,.6);--g-air:#5C9BDA;--sky-a:26%}
@media screen{:root:not([data-theme="light"]){
  --g-dot:#4F7BAA;--g-lit:#EEF6FF;--g-a:#24487A;--g-m:#0F2038;--g-b:#060A12;--g-rim:rgba(150,200,255,.7);--g-air:#4C8FD8;--sky-a:30%}}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;font-weight:500;letter-spacing:.01em;color:var(--soft);margin:0 0 18px;
  display:flex;align-items:center;gap:10px;max-width:none}
.eyebrow::before{content:"";width:18px;height:1px;background:currentColor;opacity:.7;flex:none}
.phead .eyebrow{color:var(--accent);margin-bottom:16px}
.btn.ghost{background:transparent;border-color:color-mix(in oklab,var(--ink) 22%,transparent)}
.btn.ghost:hover{border-color:var(--ink);background:color-mix(in oklab,var(--ink) 5%,transparent)}
.btn svg{width:15px;height:15px;fill:currentColor;flex:none}
a.more{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;
  padding:6px 0;border-bottom:1px solid color-mix(in oklab,var(--ink) 28%,transparent);transition:border-color 150ms var(--ease)}
a.more i{font-style:normal;transition:transform 250ms var(--ease)}
a.more:hover{text-decoration:none;border-bottom-color:var(--ink)}
a.more:hover i{transform:translateX(4px)}
.hero2{position:relative;isolation:isolate;overflow:hidden;display:grid;align-items:center;
  min-height:min(860px,calc(100svh - 64px));border-bottom:1px solid var(--rule);
  background:
    radial-gradient(52% 70% at 80% 52%,color-mix(in oklab,var(--slate) var(--sky-a),transparent),transparent 70%),
    var(--bone)}
.hero2::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;
  background-image:radial-gradient(1px 1px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 31% 68%,#fff 50%,transparent 51%),
    radial-gradient(1.4px 1.4px at 47% 14%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 58% 82%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 69% 9%,#fff 50%,transparent 51%),radial-gradient(1.4px 1.4px at 84% 18%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 93% 71%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 22% 88%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 76% 93%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 39% 41%,#fff 50%,transparent 51%);
  background-size:520px 420px;-webkit-mask-image:linear-gradient(90deg,transparent 34%,#000 62%);mask-image:linear-gradient(90deg,transparent 34%,#000 62%)}
@media screen{:root:not([data-theme="light"]) .hero2::before{opacity:.5}}
.hero2 .in{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin:0 auto;padding:88px var(--gut) 96px}
.hero2 .hx{max-width:min(640px,48vw)}
.hero2 h1{font-size:clamp(40px,5.1vw,70px);line-height:1;letter-spacing:-.045em;font-weight:620;margin:0 0 26px;max-width:9.2em}
.hero2 h1 em{font-style:normal;color:color-mix(in oklab,var(--ink) 46%,var(--bone))}
.hero2 .lede{font-size:clamp(17px,1.5vw,19.5px);line-height:1.55;max-width:44ch;color:var(--ink2);margin:0 0 34px}
.hero2 .ba{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 40px}
.hero2 .btn{padding:14px 22px;font-size:15.5px}
.hero2 .meta{display:flex;flex-wrap:wrap;gap:6px 30px;margin:0;font-size:13.5px;color:var(--soft);max-width:none}
.hero2 .meta>span{white-space:nowrap}
.hero2 .meta i{font-style:normal}
.hero2 .meta a{color:inherit;text-decoration-color:color-mix(in oklab,var(--ink) 30%,transparent)}
.hero2 .meta a:hover{color:var(--ink)}
@media (max-width:820px){.hero2 .meta a{padding:14px 0}}
.hero2 .meta i+i::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--faint);
  margin:0 11px;vertical-align:middle}
.hero2 .meta b{color:var(--ink2);font-weight:620}
.scene{position:absolute;z-index:1;top:50%;right:max(0px,calc((100vw - var(--wrap)) / 2 + var(--gut) - 5.4% * .5));width:clamp(470px,46.5vw,700px);
  transform:translateY(calc(-50% - 8px));display:grid;justify-items:center}
.sc-stage{position:relative;width:100%;aspect-ratio:1/.845}
.sc-cv{position:relative;display:block;width:100%;height:100%;opacity:0;transition:opacity 250ms var(--ease)}
.sc-stage::before{content:"";position:absolute;left:50%;top:50%;width:68.5%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle at 31% 29%,var(--g-a),var(--g-m) 46%,var(--g-b) 84%);
  box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--g-air) 46%,transparent),0 0 90px 6px color-mix(in oklab,var(--g-air) 26%,transparent)}
.sc-stage.on::before{display:none}
.on .sc-cv{opacity:1}
.on+.sc-foot{position:absolute;right:5%;bottom:7%;margin:0}
.on+.sc-foot .sc-rail{display:none}
.sc-foot{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:-4%;max-width:min(100%,calc(100vw - 2 * var(--gut)))}
.sc-rail{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 20px;margin:0;padding:0;min-width:0;
  font-size:13.5px;color:var(--ink2)}
.sc-rail li{display:flex;align-items:center;gap:8px;white-space:nowrap}
.sc-rail li::before{content:"";width:18px;height:2.5px;border-radius:2px;background:var(--c)}
.sc-rail li b{font:600 12px var(--f-mono);color:var(--c);letter-spacing:.02em}
.sc-rail li.gate{--c:var(--dg-rose);font:500 12px var(--f-mono);gap:6px}
.sc-rail li.gate::before{width:2.5px;height:13px;opacity:.8}
.sc-rail li.back{flex-basis:100%;justify-content:center;font-size:13px}
.sc-rail li.back::before{content:none}
.sc-foot .mpause{position:relative;flex:none;width:44px;height:44px}
@media (max-width:399px){.on+.sc-foot{right:3%;bottom:3%}}
@media (max-width:1000px){
  .hero2{display:flex;flex-direction:column;min-height:0}
  .hero2 .in,.hero2 .hx{display:contents}
  .hero2{align-items:stretch}
  .hero2 .hx>*{margin-left:var(--gut);margin-right:var(--gut)}
  .hero2 .eyebrow{margin-top:40px}
  .hero2 h1{max-width:9.2em;margin-bottom:18px}
  .hero2 .lede{margin-bottom:24px}
  .hero2 .ba{margin-bottom:0}
  .scene{position:relative;top:auto;right:auto;transform:none;order:2;align-self:center;width:min(560px,100vw);margin:-4px 0 0}
  .sc-foot{margin-top:-8px}
  .sc-rail{gap:6px 14px;font-size:13px}
  .hero2 .meta{order:3;margin-top:18px;margin-bottom:34px}
  .hero2 .meta>span:first-child{display:none}
}
@media (max-width:520px){.hero2 .btn{flex:1 1 auto;justify-content:center}.hero2 h1{font-size:clamp(33px,10.3vw,40px)}}
@media (min-width:361px) and (max-width:520px){.hero2 .ba{flex-wrap:nowrap;gap:10px}.hero2 .btn{flex:1 1 0;padding:13px 10px;font-size:14.5px;white-space:nowrap}
}
@media (max-width:520px){.sc-rail li::before{width:12px}.sc-rail li{gap:6px}}
main.home{padding:0}
.band{padding:var(--band) 0}
.band+.band{border-top:1px solid var(--rule2)}
.sec-h{max-width:920px;margin:0 0 clamp(36px,5vw,64px)}
.sec-h h2{font-size:clamp(29px,3.5vw,46px);line-height:1.08;letter-spacing:-.035em;font-weight:600;margin:0}
.sec-h h2 span{color:color-mix(in oklab,var(--ink) 48%,var(--bone))}
.sec-h p:not(.eyebrow){font-size:clamp(16.5px,1.4vw,18.5px);line-height:1.6;color:var(--ink2);max-width:54ch;margin:22px 0 0}
.sec-h.split{max-width:none}
@media (min-width:1001px){.sec-h.split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:0 64px;align-items:start}
  .sec-h.split .eyebrow{grid-column:1/-1}.sec-h.split p:not(.eyebrow){margin:0 0 6px;max-width:46ch;align-self:end}}
.band .links{display:flex;flex-wrap:wrap;gap:14px 36px;margin:44px 0 0;max-width:none}
.band .links a.more{display:block;align-content:center;text-wrap:balance}
.band .links a.more i{position:relative;left:0;margin-left:4px;transition:left 250ms var(--ease)}
.band .links a.more i::before{content:"\2060"}
.band .links a.more:hover i{left:4px}
@media print{.hero2 .scene{display:none}.hero2 .meta{margin-top:0}}
.seats{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.seats a{display:grid;grid-template-columns:64px minmax(190px,1.2fr) minmax(0,2fr) 170px 26px;gap:8px 28px;align-items:center;
  padding:24px 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;
  transition:background 250ms var(--ease),box-shadow 250ms var(--ease)}
.seats a:hover{--t:color-mix(in oklab,var(--rc) 7%,transparent);text-decoration:none;background:var(--t);box-shadow:-12px 0 0 var(--t),12px 0 0 var(--t)}
.s-code{font-family:var(--f-mono);font-size:12.5px;font-weight:600;letter-spacing:.03em;color:color-mix(in oklab,var(--rc) 85%,var(--ink))}
.s-name{font-family:var(--f-display);font-size:clamp(18px,1.7vw,22px);font-weight:620;letter-spacing:-.02em;line-height:1.2}
.s-route{display:flex;flex-wrap:wrap;align-items:baseline;font-size:16px;color:var(--soft);line-height:1.4}
.s-route b{font-weight:560;color:var(--ink)}
.s-route i{font-style:normal;margin:0 10px;color:color-mix(in oklab,var(--rc) 85%,var(--ink))}
.s-meta{font-family:var(--f-mono);font-size:12.5px;color:var(--soft);white-space:nowrap;text-align:right}
.s-go{font-size:18px;color:var(--soft);transition:transform 250ms var(--ease),color 250ms var(--ease)}
.seats a:hover .s-go{transform:translateX(4px);color:var(--ink)}
@media (max-width:900px){.seats a{grid-template-columns:52px minmax(0,1fr) 22px;gap:4px 14px;padding:18px 0}
  .s-route{grid-column:2;grid-row:2;font-size:14.5px}.s-meta{display:none}.s-go{grid-column:3;grid-row:1}
  .seats a:hover{box-shadow:-4px 0 0 var(--t),4px 0 0 var(--t)}}
.band.play{background:linear-gradient(180deg,color-mix(in oklab,var(--paper) 70%,transparent),transparent)}
.band.play .wrap{display:grid;grid-template-columns:minmax(0,1fr) 578px;gap:clamp(32px,6vw,88px);align-items:center}
.play-t h2{font-size:clamp(29px,3.5vw,46px);line-height:1.08;letter-spacing:-.035em;font-weight:600;margin:0 0 22px}
.play-t p:not(.eyebrow){font-size:clamp(16.5px,1.4vw,18.5px);line-height:1.6;color:var(--ink2);max-width:44ch;margin:0}
.play-t .ba{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:34px}
.play-t .ba small{font-size:14px;color:var(--soft)}
.daycard{--n:4;border:1px solid var(--rule);border-radius:var(--r-tile);background:var(--paper);overflow:hidden;
  box-shadow:0 30px 70px -44px rgba(8,10,20,.55)}
.dc-pic{display:grid;justify-content:center;height:calc(52px * var(--n));overflow:hidden;background:#2B2942}
.dc-pic img{display:block;width:calc(144px * var(--n));height:calc(52px * var(--n));max-width:none;image-rendering:pixelated}
.dc-b{padding:22px 26px 24px}
.dc-k{display:flex;align-items:center;gap:9px;margin:0 0 12px;font:500 12.5px var(--f-mono);color:var(--soft);max-width:none}
.dc-k::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--dg-teal)}
.daycard h3{font-family:var(--f-display);font-size:clamp(21px,2vw,25px);line-height:1.18;letter-spacing:-.025em;font-weight:600;margin:0 0 10px;text-wrap:balance}
.dc-c{font-size:15.5px;line-height:1.55;color:var(--ink2);margin:0 0 20px;max-width:none}
.dc-q{font-size:15px;font-weight:620;color:var(--ink);margin:0 0 10px;max-width:none}
.dc-o{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dc-o li{margin:0;max-width:none}
.dc-o a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 14px;border-radius:var(--r-in);
  border:1px solid var(--rule);background:var(--bone);color:var(--ink);font-size:15px;line-height:1.35;text-decoration:none;
  transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.dc-o a:hover{text-decoration:none;border-color:var(--ink2);background:color-mix(in oklab,var(--ink) 5%,var(--bone))}
.dc-o a:active{transform:translateY(1px)}
.dc-o b{flex:none;font:500 12.5px var(--f-mono);color:var(--soft);white-space:nowrap}
.dc-n{font-size:13.5px;color:var(--soft);margin:14px 0 0;max-width:none}
@media (max-width:1000px){.band.play .wrap{grid-template-columns:1fr}.daycard{max-width:578px}}
@media (max-width:640px){.daycard{--n:3}.dc-b{padding:18px 18px 20px}}
.vm{margin:0;--vm-m:248px;--vm-pg:var(--bone);--vm-line:color-mix(in oklab,var(--ink) 24%,transparent);
  --vm-halo:color-mix(in oklab,var(--ink) 13%,var(--bone))}
.vm .hand{font-family:'Patrick Hand','Chalkboard SE','Comic Sans MS',cursive;font-weight:400;color:var(--ink2)}
.vm-hd{position:relative;z-index:3;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:0 var(--vm-m) -13px 18px}
.vm-me,.vm .vm-by,.vm-loop{padding:0 8px;background:var(--vm-pg)}
.vm-me{margin-left:-8px;font:620 21px/1.2 var(--f-display);letter-spacing:-.02em;color:var(--ink)}
.vm .vm-by{margin-left:-14px;font-size:18px}
.vm-loop{display:inline-flex;align-items:center;gap:7px;margin:0 18px 0 auto;font:500 12px var(--f-mono);color:var(--soft)}
.vm-g{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) var(--vm-m);
  grid-template-rows:auto auto repeat(5,36px) 40px auto auto;row-gap:10px;padding:30px 0 22px}
.vm-fr{grid-area:1/1/11/5;margin:-30px 0 -22px;border:1px solid var(--vm-line);border-radius:16px;
  background:linear-gradient(90deg,#0000 calc(25% - .5px),var(--rule) 0 calc(25% + .5px),#0000 0 calc(75% - .5px),var(--rule) 0 calc(75% + .5px),#0000 0)}
.vm-meet{grid-area:3/3/9/4;margin:-6px 3px 0;border-radius:11px;background:color-mix(in oklab,var(--dg-teal) 12%,transparent)}
.vm-so{display:block;position:relative;grid-area:1/3/11/4;margin:-30px 0 -22px -1px;pointer-events:none;
  border-left:2px dashed color-mix(in oklab,var(--dg-rose) 70%,transparent)}
.vm-so em{position:absolute;top:-12px;left:0;transform:translateX(-50%);padding:1px 8px;white-space:nowrap;
  border:1px solid color-mix(in oklab,var(--dg-rose) 45%,transparent);border-radius:999px;background:var(--vm-pg);
  font:500 11px/1.5 var(--f-mono);color:color-mix(in oklab,var(--dg-rose) 80%,var(--ink))}
.vm-so .b{top:auto;bottom:-12px}
.vm-p{grid-row:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 9px;padding:0 18px 4px;color:var(--ink)}
.vm-p::before{content:"";flex:0 0 100%;height:3px;margin:0 0 12px;border-radius:2px;background:var(--c)}
.vm-p .c-key{font:600 12.5px var(--f-mono);color:color-mix(in oklab,var(--c) var(--dg-text),var(--ink))}
.vm-p .c-name{font:620 19px/1.2 var(--f-display);letter-spacing:-.02em}
.vm-p svg{align-self:center;color:var(--c)}
.vm-l{grid-column:1/5;max-width:none;margin:0;padding:8px 18px 2px;font:500 12.5px/1.4 var(--f-mono);color:var(--soft)}
.vm-l1{grid-row:2}
.vm-l2{grid-row:9}
.vm-l span{position:relative;z-index:1;background:var(--vm-pg);box-shadow:0 0 0 3px var(--vm-pg)}
.vm-rows,.vm-r{display:contents}
.vm-pl{grid-area:var(--r)/var(--a)/auto/var(--b);position:relative;display:flex;align-items:center;margin:0 9px;padding:0 13px;
  border:1.5px solid color-mix(in oklab,var(--ink) 46%,transparent);border-radius:11px;background:color-mix(in oklab,var(--ink) 13%,transparent);
  font:600 15.5px var(--f-display);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;text-decoration:none}
.vm-pn,.vm-bar{display:none}
.vm-lt,.vm-ex{grid-area:var(--r)/var(--c1);display:flex;align-items:center;width:calc(50% - 9px);margin:0 9px;padding:0 11px;
  border:1px dashed color-mix(in oklab,var(--ink) 40%,transparent);border-radius:11px;font:500 11.5px var(--f-mono);color:var(--soft)}
.vm-lt.l{justify-self:end;justify-content:flex-end}
.vm-ex{width:auto}
.vm-n{grid-area:var(--r)/var(--e);display:flex;align-items:center;gap:6px;padding-left:2px;font-size:17px;line-height:1.05}
.vm-n svg{flex:none}
.vm .vm-all{grid-area:8/3;flex-direction:column;gap:1px;align-self:start;padding:0}
.vm .vm-none{grid-area:10/5;align-self:start;padding-top:2px}
.vm-q{grid-area:10/1/11/5;display:grid;grid-template-columns:subgrid;max-width:none;margin:0;padding:0;list-style:none}
.vm-q li{display:grid;align-content:start;gap:8px;max-width:none;margin:0;padding:4px 22px 0 18px}
.vm-ask{font-size:15.5px;font-weight:500;line-height:1.4;color:var(--ink)}
.vm-q q{padding-left:11px;border-left:2px solid var(--c);font-size:14px;line-height:1.45;color:var(--ink2)}
.vm figcaption{max-width:78ch;margin:22px 0 0;font-size:13.5px;line-height:1.55;color:var(--soft)}
@media (min-width:761px){.vm-k{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.vm-r{--d:calc((var(--r) - 3)*120ms)}
html.js .vm[data-play] :is(.vm-pl,.vm-bar){transform-origin:0 50%;animation:ax 400ms var(--ease) var(--d) both}
html.js .vm[data-play] .vm-r :is(.vm-pl>*,.vm-lt,.vm-ex,.vm-n){animation:ao 250ms var(--ease) calc(var(--d) + 300ms) both}
html.js .vm[data-play] .vm-so{transform-origin:50% 0;animation:ay var(--t-draw) var(--ease) 900ms both}
html.js .vm[data-play] .vm-so em{animation:ao 250ms var(--ease) 1500ms both}
html.js .vm[data-play] .vm-meet{animation:ao 350ms var(--ease) 1000ms both}
html.js .vm[data-play] .vm-all{animation:ao 250ms var(--ease) 1150ms both}
html.js .vm[data-play] .vm-q li{animation:ao 250ms var(--ease) calc(1300ms + var(--i)*60ms) both}
html.js .vm[data-play] .vm-none{animation:ao 250ms var(--ease) 1500ms both}
@media (min-width:761px) and (max-width:1280px){
  .vm-hd{display:grid;grid-template-columns:auto 1fr;justify-items:start;row-gap:0;margin-bottom:-37px}
  .vm .vm-by{grid-area:2/1;margin:0 0 0 -8px}
  .vm-loop{grid-area:1/2;justify-self:end}
  .vm-g{padding-top:52px}
  .vm-fr,.vm-so{margin-top:-52px}
}
@media (max-width:1180px){
  .vm{--vm-m:0px}
  .vm-n{display:none}
  .vm .vm-all{display:flex}
  .vm-g{grid-template-rows:auto auto repeat(5,auto) 44px auto auto}
  .vm-pl{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:7px 13px 8px;white-space:normal;line-height:1.15;
    text-shadow:0 0 3px var(--vm-halo),0 0 6px var(--vm-halo)}
  .vm-pn{display:block;font-size:16px;letter-spacing:0}
  .vm-lt,.vm-ex{align-self:stretch}
}
@media (max-width:760px){
  .vm-hd{display:block;margin:0 0 12px}
  .vm-me,.vm .vm-by,.vm-loop{margin:0;padding:0;background:none}
  .vm .vm-by{display:block}
  .vm-g{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;row-gap:0;margin:0 -8px;padding:14px 12px 16px;
    border:1px solid var(--vm-line);border-radius:16px}
  .vm-fr,.vm-so .b,.vm .vm-none,.vm-p svg{display:none}
  .vm-meet{grid-area:3/3/5/4;margin:0 1px;border-radius:6px}
  .vm-so{grid-area:1/3/5/4;margin:-14px 0 0 -1px}
  .vm-p{padding:0 4px 8px;align-content:start}
  .vm-p .c-key{flex:0 0 100%}
  .vm-p::before{margin-bottom:8px}
  .vm-p .c-name{font-size:13px}
  .vm-l{grid-column:1/-1;padding:14px 0 6px}
  .vm-l2{grid-row:5}
  .vm-rows{display:grid;grid-area:3/1/4/-1;grid-template-columns:subgrid;margin:0;padding:0;list-style:none}
  .vm-r{display:grid;grid-column:1/-1;grid-template-columns:subgrid;row-gap:6px;padding:10px 0 12px;border-top:1px solid var(--rule)}
  .vm-pl{grid-area:1/1/2/-1;margin:0;padding:0;border:0;background:none;font-size:16px;--vm-halo:var(--vm-pg)}
  .vm-pn{padding-top:2px;font-size:16.5px}
  .vm-bar{display:block;grid-area:2/var(--a)/3/var(--b);height:9px;margin:0 2px;border-radius:3px;background:var(--ink2)}
  .vm-lt,.vm-ex{grid-area:2/var(--c1);width:auto;height:9px;margin:0 2px;padding:0;border-radius:3px}
  .vm-lt{width:50%}
  .vm-lt span,.vm-ex span{display:none}
  .vm .vm-all{grid-area:4/2/5/5;padding:4px 0 2px;font-size:16.5px}
  .vm-q{grid-area:6/1/7/-1;grid-template-columns:1fr;gap:16px;padding-top:4px}
  .vm-q li{grid-column:1!important;gap:4px;padding:0 0 0 12px;border-left:3px solid var(--c)}
  .vm-k{display:block;font:600 12px var(--f-mono);color:color-mix(in oklab,var(--c) var(--dg-text),var(--ink))}
  .vm-q q{padding:0;border:0}
  html.js .vm[data-play] .vm-pl{animation-name:ao}
  .vm-key{display:grid;grid-template-columns:auto 1fr;gap:4px 0;align-items:baseline;margin-top:6px;font:500 12.5px var(--f-mono);color:var(--soft);box-shadow:none}
  .vm-key i{width:20px;height:9px;margin-right:6px;border-radius:3px;background:var(--ink2)}
  .vm-key i.d{background:none;border:1px dashed color-mix(in oklab,var(--ink) 40%,transparent)}
}
@media print{.vm{--vm-pg:#fff;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .vm .hand{color:var(--ink)}}
@media print and (max-width:760px){.vm-q{grid-template-columns:1fr 1fr;gap:14px 28px}.vm-q li{grid-column:auto!important}}
.pk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 34px}
.pk-c{min-width:0;padding-top:18px;border:0;border-top:1px solid var(--ink2)}
.pk-c.me{padding-top:16px;border-top:3px solid;
  border-image:linear-gradient(90deg,var(--dg-slate) 0 25%,var(--dg-indigo) 0 50%,var(--dg-teal) 0 75%,var(--dg-amber) 0) 1}
.pk-q{float:left;width:100%;margin:0 0 12px;font-size:14.5px;font-weight:600;line-height:1.4;color:var(--ink)}
.pk h3{clear:both;margin:0 0 6px;font:620 21px/1.2 var(--f-display);letter-spacing:-.02em}
.pk h3 a{color:var(--ink)}
.pk p:not(.pk-q){margin:0 0 12px;font-size:14.5px;line-height:1.5;color:var(--ink2)}
.yn{display:none}
@media screen{@supports selector(:has(*)){
  .yn{clear:both;display:inline-flex;gap:3px;margin:0 0 14px;padding:3px;border:1px solid var(--rule);border-radius:11px}
  .yn label{position:relative;padding:4px 14px;border-radius:8px;font-size:13.5px;font-weight:500;line-height:20px;color:var(--ink2);cursor:pointer}
  .yn input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
  .yn label:has(:checked){background:var(--ink);color:var(--bone)}
  .yn label:has(:focus-visible){outline:3px solid var(--accent);outline-offset:1px}
  .pk-c:has([value=y]:checked) .n,.pk-c:has([value=n]:checked) .y{display:none}
  .pk-c:has([value=n]:checked) h3 a{color:var(--soft)}
  .pk-c:has(:checked) :is(.y,.n){animation:ao var(--t-base) var(--ease)}
  .yn label{transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
  .pk h3 a{transition:color var(--t-base) var(--ease)}
}}
@media (max-width:1000px){.pk{grid-template-columns:1fr 1fr;gap:34px}}
@media (max-width:820px){.yn label{padding:13px 18px}}
@media (max-width:600px){.pk{grid-template-columns:1fr;gap:30px}}
.qs{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.q{position:relative;display:flex;flex-direction:column}
.q .sk-paper{margin-bottom:18px}
.q-who{font:500 12.5px var(--f-mono);color:var(--soft);margin-bottom:8px}
.q h3{font-size:clamp(19px,1.6vw,22px);line-height:1.2;letter-spacing:-.02em;font-weight:600;margin-bottom:10px;text-wrap:balance}
.q h3+p{font-size:15px;line-height:1.55;color:var(--ink2)}
.q a{margin-top:auto;padding-top:12px;border-top:1px solid var(--rule);font-size:14.5px;font-weight:600;line-height:1.35;color:var(--ink);text-decoration:none}
.q a::after{content:"";position:absolute;inset:0;border-radius:16px}
.q small{display:block;font:500 12px var(--f-mono);color:var(--soft);margin-bottom:3px}
.q i{display:inline-block;font-style:normal;transition:transform 250ms var(--ease)}
.q a:hover{border-top-color:var(--ink)}
.q a:hover i{transform:translateX(4px)}
.q a:focus-visible{outline:0;border-radius:0}
.q a:focus-visible::after{outline:3px solid var(--accent);outline-offset:6px}
.qs+.ba{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;margin-top:48px}
.qs+.ba .btn{padding:14px 22px;font-size:15.5px}
@media (max-width:1180px){.qs{grid-template-columns:1fr 1fr;gap:40px 26px}}
@media (max-width:600px){.qs{grid-template-columns:1fr;gap:40px}}
#simulator .dc-pic{position:relative}
.dc-ex{position:absolute;left:14px;top:12px;font:600 11.5px/1 var(--f-mono);color:#ECEAE4;background:rgba(18,19,22,.7);
  border:1px solid rgba(236,234,228,.2);border-radius:999px;padding:5px 9px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
@media screen and (min-width:1001px){
  #simulator{overflow:clip}
  #simulator .wrap{perspective:1700px}
  #simulator .daycard{transform:rotateY(-9deg) rotateX(3deg);transform-origin:100% 50%;transition:transform var(--t-slow) var(--ease);
    box-shadow:0 70px 110px -58px rgba(4,6,14,.7),0 0 0 6px color-mix(in oklab,var(--ink) 4%,transparent)}
  #simulator .daycard:hover,#simulator .daycard:focus-within{transform:rotateY(-3deg) rotateX(1deg)}
  :root:not([data-theme="light"]) #simulator .daycard{box-shadow:0 80px 120px -50px rgba(0,0,0,.92),0 0 0 6px color-mix(in oklab,var(--ink) 5%,transparent)}
  #simulator .dc-pic::after{content:"";position:absolute;inset:0 0 auto;height:1px;background:rgba(236,234,228,.08)}}
@media print{#simulator .daycard{box-shadow:none}}
.lib{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fl,.shf,.tg .tile{position:relative;display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:20px;background:var(--paper);
  color:var(--ink);transition:border-color 250ms var(--ease),transform 250ms var(--ease)}
.fl:hover,.shf:hover,.tg .tile:hover{text-decoration:none;border-color:color-mix(in oklab,var(--ink) 34%,transparent);transform:translateY(-3px)}
.lib-k{font:500 12.5px/1.5 var(--f-mono);color:var(--soft)}
.fl-b>b,.shf>b{font:620 26px/1.15 var(--f-display);letter-spacing:-.025em;margin:10px 0 8px}
.lib-d,.tg .tile-d{font-size:15px;line-height:1.5;color:var(--ink2)}
.shf{min-height:178px;padding:22px 24px;box-shadow:inset 0 1px color-mix(in oklab,var(--ink) 7%,transparent)}
.shf>b{font-size:21px;margin-top:36px}
.fl-go i,.shf>i,.tg .tile-go{font-style:normal;transition:transform 250ms var(--ease),color 250ms var(--ease)}
.shf>i,.tg .tile-go{position:absolute;right:24px;top:22px;font-size:18px;color:var(--soft)}
.shf>i{line-height:1}
.fl:hover .fl-go i,.shf:hover>i{transform:translateX(4px);color:var(--ink)}
.tg .shelf{display:grid;gap:16px}
.tg .tile{padding:26px 26px 24px}
.tg .tile-k{font:12.5px/1.62 var(--f-mono);color:var(--soft);margin-bottom:auto;padding-bottom:36px}
.tg .tile b{font:620 23px/1.15 var(--f-display);letter-spacing:-.025em;margin-bottom:8px}
.tg .tile-d{max-width:38ch;padding-right:26px}
.tg .tile:hover .tile-go{transform:translate(3px,-3px);color:var(--ink)}
.fl{overflow:hidden;gap:1px;background:var(--rule)}
.fl-p{display:grid;place-items:center start;height:176px;padding:0 24px;overflow:hidden}
.fl-b{display:flex;flex-direction:column;flex:1;padding:20px 24px 22px;background:var(--paper)}
.fl-go{margin-top:auto;padding-top:16px;font-size:15px;font-weight:600}
.fl-wb .fl-p{background:#142131}
.wbc{display:grid;gap:8px;justify-self:stretch;font-size:13px;line-height:16px;color:#C3C0B8}
.wbc-h,.trk i{font:500 11.5px/16px var(--f-mono)}
.wbc-h{color:#93A3B8}
.wbc-r{display:flex;align-items:center;gap:12px}
.wbc-r b{margin-left:auto;font:600 13px/16px var(--f-mono);color:#ECEAE4}
.wbc-m{padding-top:9px;border-top:1px solid #ECEAE41A}
.wbc-m i{flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,#4FBDB6 var(--v),#ECEAE41A 0)}
.fl-learn .fl-p{background:var(--sk-paper)}
.trk{display:grid;gap:2px;font-size:13px;line-height:16px;white-space:nowrap;color:var(--sk-ink)}
.trk i{margin-right:6px;opacity:.7}
.fl-sim .fl-p{place-content:end start;padding:0;background:#2B2942}
.fl-sim img{width:432px;height:auto;image-rendering:pixelated}
@media (min-width:1001px) and (max-width:1199px){.fl .lib-k{min-height:3em}}
@media (max-width:1000px){.lib{grid-template-columns:1fr 1fr}.fl{grid-column:1/-1;flex-direction:row}.fl-p{flex:0 0 44%;height:auto}}
@media (min-width:561px) and (max-width:1000px){.fl-sim .fl-p{container-type:inline-size}
  @container (max-width:289.98px){.fl-sim img{width:288px}}
  @container (min-width:268px) and (max-width:279.98px){.fl-sim img{margin-left:calc(100cqw - 280px)}}}
@media (max-width:560px){.lib{gap:8px}.fl{flex-direction:column}.fl-p{flex:0 0 112px;padding:0 16px}.fl-b{padding:14px 16px 16px}
  .fl-b>b{font-size:23px;margin:4px 0}.fl-go{padding-top:10px}.wbc{gap:5px}.wbc-m{padding-top:7px}
  .fl-sim .fl-p{place-content:end center}.fl-sim img{width:288px}
  .trk{grid:repeat(4,auto)/auto-flow;gap:4px 28px}.trk span span{display:none}.trk>span::after{content:attr(data-s)}
  .shf{min-height:0;padding:12px 16px}.shf .lib-k span,.shf .lib-d,.shf>i{display:none}.shf>b{font-size:16px;margin:2px 0 0}
  .tg .tile-k{padding-bottom:22px}}
@media (max-width:374px){.shf .lib-k{min-height:3em}}
@media print{.fl-p{display:none}.lib>a{break-inside:avoid}}
.cx-in{border:1px solid var(--rule);border-radius:20px;background:var(--paper);padding:clamp(28px,4.45vw,64px)}
.cx .sec-h{margin-bottom:clamp(24px,4vw,48px)}
.cx-o{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.cx-o li{border-top:1px solid color-mix(in oklab,var(--ink) 22%,transparent);padding-top:14px}
.cx-o p{font-size:15px;line-height:1.5;color:var(--ink2);margin:0 0 8px}
.cx-o .cx-k{color:var(--ink);margin:0}
.cx-k span{display:block;font:500 12.5px var(--f-mono);color:var(--soft)}
@media (min-width:601px){.cx-o li{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}}
.cx .ba{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:clamp(28px,4vw,44px)}
.cx .btn{padding:14px 22px;font-size:15.5px}
.cx small{font-size:14px;color:var(--soft)}
@media (max-width:1000px){.cx-o{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.band.cx{padding:48px 0}.cx-in{padding:20px}.cx-o{grid-template-columns:1fr;gap:16px}.cx-k span{display:inline}}
@media print{.cx .btn{color:var(--ink)}.cx .btn::after{content:" " attr(href);font-weight:400}}
main.page{padding:0 0 var(--band)}
.phead{padding:clamp(36px,5vw,64px) 0 clamp(36px,5vw,60px)}
.phead h1{font-size:clamp(34px,4.6vw,58px);line-height:1.02;letter-spacing:-.04em;font-weight:620;margin:0 0 20px;max-width:16ch}
.phead .lede{font-size:clamp(17px,1.5vw,19.5px);max-width:56ch;margin:0;text-wrap:balance}
.jump{list-style:none;margin:clamp(32px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;counter-reset:j}
.jump a{counter-increment:j;display:grid;gap:5px;padding:18px 0 4px;border-top:1px solid var(--rule);color:var(--ink);text-decoration:none;
  transition:border-color 250ms var(--ease)}
.jump a::before{content:"0" counter(j);font-family:var(--f-mono);font-size:12px;color:var(--soft)}
.jump a b{font-family:var(--f-display);font-size:18px;font-weight:620;letter-spacing:-.015em;line-height:1.2}
.jump a span{font-size:13.5px;color:var(--soft);line-height:1.45}
.jump a:hover{text-decoration:none;border-top-color:var(--ink)}
@media (max-width:860px){.jump{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.jump{grid-template-columns:1fr}}
main.page .dgb{margin:0;padding:clamp(48px,6vw,88px) 0 0}
main.page .next{display:flex;flex-wrap:wrap;gap:12px;margin:clamp(48px,6vw,80px) 0 0}
.ft{margin-top:0;padding:56px 0 72px}
.ft .fb{grid-column:1/-1;display:flex;align-items:center;gap:10px;color:var(--ink);padding-bottom:6px}
.ft .fb .mark{width:26px;height:26px}
.ft .fb b{font-family:var(--f-display);font-size:17px;letter-spacing:-.02em}
.ft .fb span{font-size:13px;color:var(--soft);padding-left:11px;border-left:1px solid var(--rule)}
.howto{margin:0 0 34px}
.howto>summary{list-style:none;display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;font-weight:560;color:var(--soft);
  padding:7px 0;transition:color 150ms var(--ease)}
.howto>summary::-webkit-details-marker{display:none}
.howto>summary::before{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:translateY(-1px) rotate(-45deg);transition:transform 150ms var(--ease)}
.howto>summary:hover{color:var(--ink)}
.howto[open]>summary{color:var(--ink);margin-bottom:10px}
.howto[open]>summary::before{transform:translateY(-3px) rotate(45deg)}
.howto .orient{margin:0 0 26px}
.howto>.orient:last-child{margin:0}
@media print{.howto>summary{display:none}}
.phead.in-col{padding:0 0 26px}
.phead.in-col h1{font-size:clamp(32px,4vw,50px);max-width:18ch;margin-bottom:16px}
.phead .ba{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.pmeta{display:flex;flex-wrap:wrap;gap:4px 22px;margin:22px 0 0;font-family:var(--f-mono);font-size:12.5px;color:var(--soft);max-width:none}
.pmeta span{white-space:nowrap}
.pcols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:start}
.pfig{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--rule);background:var(--paper)}
.pfig svg{display:block;width:100%;height:auto}
.twr-key{list-style:none;margin:0;padding:10px 62px 12px 16px;display:flex;flex-wrap:wrap;gap:2px 16px;
  font-size:12.5px;line-height:1.55;color:var(--ink2);border-top:1px solid var(--rule)}
.twr-key li{display:flex;align-items:center;gap:6px;white-space:nowrap}
.twr-key b{font-weight:700;color:color-mix(in oklab,var(--c) 78%,var(--ink))}
.twr-key svg,.pfig .twr-key svg{display:block;width:14px;height:14px;flex:none;fill:none;stroke:color-mix(in oklab,var(--c) 78%,var(--ink));
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.pcols{grid-template-columns:1fr}.pfig{max-width:520px}}
.lesson>h1,.lesson .phead h1{letter-spacing:-.035em;font-weight:620}
.rowa{padding:4px 0 4px 22px;border:0;border-left:1px solid var(--rule);border-radius:0;background:none}
.lkeys.two{grid-template-columns:1fr 1fr}
@media (max-width:900px){.lkeys.two{grid-template-columns:1fr}}
.roadmap .rp{position:static;height:auto;z-index:auto;pointer-events:auto;white-space:nowrap;gap:5px;margin-left:2px}
.roadmap .rg{min-width:138px}
@media (max-width:900px){.roadmap .rg{min-width:0}}
.cols.two-col{grid-template-columns:var(--rail) minmax(0,1fr)}
@media (max-width:900px){.cols.two-col{grid-template-columns:1fr}}
.rowh:has(>div:only-child){grid-template-columns:1fr}
@media (max-width:820px){
  a.more,.howto>summary{min-height:44px}
}
.step .ph .pd,.dgm .md .ok,.pr-s em,.arc a .an,.dgx.gate .gt,.dgcard .ck{font-size:11px}
.pr-s em{background:var(--c)}
@media (max-width:820px){
  .crumbs a,.ft ul a,.ft .lg a,.ft .ftb{display:inline-flex;align-items:center;min-height:44px}
  .otp>summary,.stp .sn2 button{min-height:44px}
  .otp>summary{display:flex;align-items:center}
  .crumbs{padding-top:4px}
  .crumbs li{display:none}
  .crumbs li:nth-last-child(2){display:flex}
  .crumbs li:nth-last-child(2)::before{content:"‹";color:var(--soft)}
}
@media (max-width:360px){.hd .in{gap:3px}.hd .play{padding:0 9px;font-size:13px}}
@media (max-width:340px){.hd .play:not(.wide) svg{display:none}}
.three .card,.four .card,.claims .card,.pair>div{background:none;border:0;border-top:1px solid var(--rule);border-radius:0;padding:18px 0 0}
.three,.four,.claims,.pair{gap:28px 36px}
.mix{gap:0 32px;border-bottom:1px solid var(--rule)}
.mix a{border:0;border-top:1px solid var(--rule);border-radius:0;background:none;padding:16px 4px 18px;transition:background 150ms var(--ease)}
.mix a:hover{background:color-mix(in oklab,var(--accent) 5%,transparent)}
.mix a::before{color:var(--soft)}
.lcards,.lkeys{gap:0}
a.lc,a.lk{border:0;border-top:1px solid var(--rule);border-radius:0;background:none;padding:20px 0;transition:background 150ms var(--ease),box-shadow 150ms var(--ease)}
a.lc:hover,a.lk:hover{--t:color-mix(in oklab,var(--accent) 5%,transparent);background:var(--t);box-shadow:-6px 0 0 var(--t),6px 0 0 var(--t)}
.lcards,.lkeys{border-bottom:1px solid var(--rule)}
.lkeys.two{gap:0 40px}
.lcb b,.lkb b{font-family:var(--f-display);font-size:18px;letter-spacing:-.015em;font-weight:620}
.mmg{background:none;border:0;border-radius:0;padding:0}
.sb .tw{border:0;border-radius:0;background:none;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sb .tw thead th{background:none}
.sb .art{border:0;border-radius:0;background:none;padding:2px 0}
.sb .eg{border:0;border-left:3px solid var(--ochre);border-radius:0;background:none;padding:2px 0 2px 18px}
.sh .jl{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}
.sh .jl a{font-size:12.5px;font-weight:600;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:color-mix(in oklab,var(--accent) 55%,transparent);text-decoration-thickness:1px}
.sh .jl a:hover{color:var(--ink);text-decoration-color:var(--accent)}
.sh .jl a::after{content:" ↓";color:var(--soft)}
.step pre[id]{scroll-margin-top:64px}
main.numbered{counter-reset:sec}
main.numbered>.sec{margin:0 0 clamp(52px,6.5vw,88px)}
main.numbered>.sec[id]{counter-increment:sec}
main.numbered>.sec[id] h2::before{content:counter(sec,decimal-leading-zero);display:block;font:500 12.5px/1 var(--f-mono);
  letter-spacing:0;color:var(--soft);margin:0 0 14px}
main.numbered>.sec>h2,main.numbered .rowh h2{margin-bottom:16px}
main.numbered>.sec>h2+p{font-size:16.5px;color:var(--ink2);max-width:64ch;margin-bottom:22px}
.wideonly .rn{width:20px}
@media (max-width:900px){.wideonly{display:none}}
@media (min-width:901px){.narrowonly{display:none}}
.prose>p,.prose>ul,.prose>ol,.prose>blockquote{max-width:58ch}
.nextup{margin:clamp(48px,6vw,80px) 0 0;padding:30px 0 0;border-top:1px solid var(--rule)}
.nextup p{font-family:var(--f-display);font-size:clamp(19px,2vw,23px);font-weight:560;letter-spacing:-.02em;color:var(--ink);max-width:36ch;margin:0 0 20px;line-height:1.25}
.nextup .ba{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
:root{--sk-paper:#FFFFFF;--sk-ink:#1B1A1E;--sk-r:#C5281C;--sk-o:#E2741A;--sk-ot:#A44F00;--sk-b:#2259C2;--sk-g:#A9A59B;--sk-gt:#6B675F}
@media screen{:root:not([data-theme="light"]){--sk-paper:#D0CBBF;--sk-r:#9E1B10;--sk-ot:#833E00;--sk-b:#1D4AA8;
  --sk-gt:#514D46;--sk-o:#C8640F;--sk-g:#8F8B82}}
.sketch{margin:10px 0 30px;max-width:760px;break-inside:avoid}
.prose>figure.sketch{margin-inline:0;max-width:58ch}
.sk-paper{border-radius:var(--r-box);background:var(--sk-paper);overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--ink) 9%,transparent)}
.sketch figcaption{font-size:14px;line-height:1.5;color:var(--soft);margin:10px 0 0;max-width:62ch}
.sk{display:block;width:100%;height:auto;font-family:'Patrick Hand','Chalkboard SE','Comic Sans MS',cursive;font-size:58px}
.sk .z{fill:none;stroke:var(--sk-ink);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.sk .zt{stroke-width:2.4}.sk .zh{stroke-width:5.2}.sk .zl{stroke-width:5}
.sk .z.zr{stroke:var(--sk-r)}.sk .z.zo{stroke:var(--sk-o)}.sk .z.zb{stroke:var(--sk-b)}.sk .z.zg{stroke:var(--sk-g)}
.sk .zd{stroke-dasharray:18 15}
.sk .zB{fill:var(--sk-ink);stroke:var(--sk-ink);stroke-width:3;stroke-linejoin:round}
.sk .zT{fill:none;stroke:var(--sk-paper);stroke-width:2.4;opacity:.09;stroke-linecap:round}
.sk .zE{fill:#fff}.sk .zH{fill:var(--sk-ink)}
.sk .zfp{fill:var(--sk-paper)}.sk .zfk{fill:var(--sk-ink)}.sk .zfr{fill:var(--sk-r)}.sk .zfo{fill:var(--sk-o)}.sk .zfb{fill:var(--sk-b)}.sk .zfg{fill:var(--sk-g)}
.sk .zw{text-anchor:middle;fill:var(--sk-ink)}.sk .zw.zs{text-anchor:start}.sk .zw.ze{text-anchor:end}
.sk .zw.zr{fill:var(--sk-r)}.sk .zw.zo{fill:var(--sk-ot)}.sk .zw.zb{fill:var(--sk-b)}.sk .zw.zg{fill:var(--sk-gt)}
@media print{.sk-paper{border:1px solid #ddd}.sketch{max-width:110mm}}
figure.sketch{scroll-margin-top:88px}
.lm{--measure:584px;--mx:auto}
main.lm>:is(h1,.lede,.lmeta,.lfolds,.lalt),.lm .prose>:is(.tw:not(.stack),.fig.sm),
.lm .prose>:is(p,ul,ol,blockquote,h2,h3,h4,details,.callout,figure.lmodel,figure.sketch,.lm-try){max-width:var(--measure);
  margin-inline:var(--mx)}
.lm .prose>:is(.bbw,.tw,.codebox,figure.mmd,.fig,.dgb){max-width:none}
.cols.lgrid{grid-template-columns:minmax(0,944px);justify-content:center}
.lm .prose{font-size:17px;line-height:1.58}
main.lm>h1{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.032em;margin-bottom:16px}
.lm>h1 .c{color:color-mix(in oklab,var(--ink) 48%,var(--bone))}
.lm>h1 .nw{white-space:nowrap}
main.lm .prose>*{margin-block:32px}
main.lm .prose>h2{font-size:24px;letter-spacing:-.018em;margin-block:64px 16px}
main.lm .prose>h3{margin-block:32px 8px}
.lm :is(.prose>h3,.lm-try>h2){font-size:19px;line-height:1.3;font-weight:620;letter-spacing:-.004em;word-spacing:.02em}
main.lm .prose>:is(h2,h3)+*{margin-top:16px}
main.lm .prose>:is(p,ul,ol,blockquote){margin-block:0 18px}
main.lm .prose>h2+h3{margin-top:24px}
@media (min-width:901px){
  .lm .prose{font-size:19px}
  .lm>.lede{font-size:22px;line-height:1.48;text-wrap:balance}
  main.lm .prose>h2{font-size:30px}
  .lm :is(.prose>h3,.lm-try>h2){font-size:21px}
  .lm :is(.callout,.lm-try){font-size:18px}
}
.lguide{display:none}
.lfolds{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lfolds>.otp{margin:0;padding:0 12px;max-width:none;min-width:0}
.lfolds>[open]{grid-column:1/-1;padding-bottom:12px}
:is(.lfolds,.lguide) .otp>summary{padding:12px 0;font-size:13.5px;color:var(--ink2)}
.lm .prose figcaption,.lm .prose .fig .fn{font-size:15px;line-height:1.5;margin-inline:0}
.lm .prose .tw table{font-size:15px;line-height:1.58}
.lm .prose .sketch figcaption{max-width:none}
.lm .prose .fig{padding:16px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--bone)}
.lm .prose .fig svg{border:0;border-radius:0;background:none;padding:0}
.lm .prose .fig svg.w{max-width:650px}
.lm .prose .fig svg.n{max-width:300px;margin:0 auto}
.lm .prose .fig .fn,.lm .prose .fig figcaption{max-width:none;margin-top:10px}
@media (max-width:360px){.lm .prose .fig{padding:10px}}
.lm .prose figure.lmodel{display:grid;grid-template-columns:310px minmax(0,1fr);gap:10px 24px;align-items:center;
  padding:14px 20px 14px 14px}
.lm .prose figure.lmodel>svg{width:310px}
.lm .prose figure.lmodel figcaption{margin:0;color:var(--ink2)}
.lm .prose figure.lmodel figcaption span{display:block;margin:0 0 4px;font:500 12.5px var(--f-mono);color:var(--soft)}
@media (max-width:620px){.lm .prose figure.lmodel{grid-template-columns:minmax(0,1fr);padding:14px}
  .lm .prose figure.lmodel>svg{width:100%;max-width:310px;margin:0 auto}}
@media (max-width:360px){.lm .prose figure.lmodel{padding:8px}}
.lm .prose details>figure.lmodel{max-width:none}
.lm .lm-try{padding:20px 22px 2px;border:1px solid var(--rule);border-radius:var(--r-box);background:var(--paper)}
.lm .lm-try>*{margin:0 0 18px}
.lm .lm-try>h2{margin:0 0 8px}
.lm .lm-try details{border-radius:var(--r-in);background:var(--bone)}
.lm .prose summary{margin:-12px -16px;padding:12px 16px}
@media screen{:root:not([data-theme="light"]) .lm .codebox pre{background:var(--paper);border:1px solid var(--rule)}}
.lm .bbw .bbn{gap:7px}
.lm .bbw .bbn .bbn-f{gap:5px}
.lm .bbn-f .bbn-c.out{margin-left:0}
.lm .bbn-x{min-height:16px;padding-bottom:2px}
.lm .bbn-c{padding:7px 11px;gap:2px 9px}
.lm .bbn-i{width:24px;height:24px}
@media (max-width:480px){
  .lm .bbw .bbn .bbn-b .bbn-g{gap:0;padding:2px 12px 4px}
  .lm .bbn-b .bbn-c{border:0;border-radius:0;background:none;padding:7px 0 8px;
    border-top:1px solid color-mix(in oklab,var(--c) 28%,transparent)}
  .lm .bbn-b .bbn-c:first-child{border-top:0}
  .lm .bbn-b .bbn-c b{display:inline}
  .lm .bbn-b .bbn-c small{display:inline;margin-left:7px}
  .lm .bbn-b .bbn-i{width:22px;height:22px}
  .lm .bbn-x{min-height:14px;font-size:12.5px;line-height:14px}
  .lm .bbn .bbn-t{font-size:16px;line-height:1.5}
  .lm .bbn-f>.bbn-c:not(:has(small))>.bbn-i{display:none}
  .lm .bbn-f>.bbn-c:not(:has(small)){grid-template-columns:minmax(0,1fr);padding:6px 11px}
  .lm .bbn-f>.bbn-c.out{position:relative}
  .lm .bbn-f>.bbn-c.out>.bbn-via{position:absolute;top:7px;right:9px;margin:0}
}
@container (min-width:560px){
  .lm .bbw .bbn .bbn-f:has(>.bbn-c.out){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;align-items:center}
  .lm .bbn-f:has(>.bbn-c.out)>*{grid-column:1;margin-bottom:6px}
  .lm .bbn-f:has(>.bbn-c.out)>.bbn-c.out{grid-column:2}
  .lm .bbn-f:not(:has(>.bbn-c.out ~ .bbn-c.out))>.bbn-c.out{grid-row:1 / span 40}
}
@media (max-width:600px){
  .lm .prose .tw table{min-width:0}
  .lm .prose .tw th{white-space:normal}
  .lm .prose .tw.stack :is(table,tbody,tr,td){display:block;width:auto}
  .lm .prose .tw.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lm .prose .tw.stack tr{padding:11px 14px 12px;border-bottom:1px solid var(--rule2)}
  .lm .prose .tw.stack tr:last-child{border-bottom:0}
  .lm .prose .tw.stack td{padding:0;border:0;text-align:left}
  .lm .prose .tw.stack td:first-child{font-weight:650;color:var(--ink)}
  .lm .prose .tw.stack td[data-h]:not(:first-child)::before{content:attr(data-h);display:block;margin:8px 0 2px;
    font:500 12px var(--f-mono);color:var(--soft)}
}
@media (min-width:1280px){
  .cols.lgrid{grid-template-columns:minmax(0,944px) minmax(214px,1fr);gap:0 48px}
  .lm{--mx:0}
  main.lm>h1{--measure:none}
  .lfolds{display:none}
  .lguide{display:block;grid-area:1/2}
  .lg-p{margin:0 0 20px;padding:0 10px 16px;border-bottom:1px solid var(--rule);font-size:13px}
  .lg-p a{display:block;padding:3px 0;color:var(--soft)}
  .lg-p .lg-t{font-size:13.5px;font-weight:650;color:var(--ink)}
  .lg-p p{margin:0;font:500 12.5px var(--f-mono);color:var(--soft)}
  .lg-p .lg-b{display:flex;gap:4px;margin:10px 0 8px}
  .lg-b i{flex:1;height:4px;border-radius:2px;background:var(--rule)}
  .lg-b .on{background:var(--accent)}
  .lguide nav>p{padding:0 10px}
  .lg-h{margin:0 0 6px;font-size:15px;font-weight:650;line-height:1.35}
  .lguide .rl{padding:6px 10px}
  .lguide .otp{margin:18px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--rule);border-radius:0;background:none}
  .lguide .otp>summary{margin-inline:10px;padding:4px 0}
  .lm .prose .fig{display:grid;grid-template-columns:minmax(0,650px) minmax(0,1fr);column-gap:28px;align-items:start}
  .lm .prose .fig>svg{grid-row:1 / span 12}
  .lm .prose .fig>:is(.fn,figcaption){grid-column:2;margin:0 0 10px}
  .lm .prose .fig.sm{display:block}
  .lm .prose .fig.st{display:block}
  .lm .prose .fig.st>:is(.fn,figcaption){max-width:var(--measure);margin:10px 0 0}
}
.mpause{position:absolute;right:76px;bottom:20px;z-index:3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;cursor:pointer;
  border:1px solid color-mix(in oklab,var(--ink) 22%,transparent);background:color-mix(in oklab,var(--paper) 80%,transparent);color:var(--ink2);
  transition:border-color 150ms var(--ease),color 150ms var(--ease)}
.mpause:hover{border-color:var(--ink2);color:var(--ink)}
.mpause input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.mpause:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.mpause i{width:10px;height:12px;border-left:3.5px solid currentColor;border-right:3.5px solid currentColor}
.mpause:has(input:checked) i{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.pfig{position:relative}
.pfig .mpause{right:12px;bottom:12px}
.pfig:has(.mpause input:checked) svg *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.mpause{display:none}}
@media print{.mpause{display:none}}
.cp{transition:background 150ms var(--ease),border-color 150ms var(--ease),color 150ms var(--ease)}
.cp.done::before{content:"";display:inline-block;width:11px;height:6px;margin:0 7px 3px 0;border-left:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg);vertical-align:middle;animation:tick 250ms var(--ease) both}
@keyframes tick{from{opacity:0;scale:.6}}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .dgx i{animation:dgmarch linear both;animation-timeline:view()}
    .dgr i{animation:dgmarchr linear both;animation-timeline:view()}
    .dgs .fl{animation:dgflow linear both;animation-timeline:view()}
    .bb .bb-flow{animation:bbflow linear both;animation-timeline:view()}
  }
}
@media screen and (prefers-reduced-motion:no-preference){
  :is(.prose details,.otp,.step,.howto,.lnav,.lead details.how):not([open])::details-content{opacity:0;transform:translateY(-4px)}
  :is(.prose details,.otp,.step,.howto,.lnav,.lead details.how)[open]::details-content{transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease)}
}
.btn.sm,.stp .sn2 button,.tour-card .tc-f button,.menu .mtour,.orient .oa .btn{padding:8px 14px;border-radius:var(--r-in);font-size:13.5px;line-height:18px}
.howto .hlist{margin:4px 0 0;padding-left:22px;display:grid;gap:2px;font-size:14.5px}
.howto.narrowonly{margin-bottom:8px}
.rail .railh{font-size:12.5px;font-weight:650;color:var(--soft);margin:0 0 10px;max-width:none}
@media (max-width:1180px){.cols .three,.cols .four{grid-template-columns:1fr 1fr}}
@media (max-width:1000px){.cols .three,.cols .four{grid-template-columns:1fr}}
@media (max-width:820px){
  .sh .jl a,.howto .hlist a{display:inline-flex;align-items:center;min-height:44px}
  .sh .jl{gap:0 18px;margin-top:2px}
  .mpause{width:44px;height:44px}
}
body .sw-top{left:auto;right:18px;bottom:70px}
.lead .lead-map{margin:0 0 clamp(52px,6.5vw,88px)}
.lead-map svg.bb a{cursor:pointer;outline:none}
.lead-map svg.bb .hit{fill:transparent;stroke:transparent;stroke-width:2.2;transition:stroke 150ms var(--ease)}
.lead-map svg.bb a:hover .hit{stroke:color-mix(in oklab,var(--ink) 50%,transparent)}
.lead-map svg.bb a:focus-visible .hit{stroke:var(--accent);stroke-width:3}
.lead-map svg.bb .pin path,.lead-map svg.bb .pin text{transition:fill 150ms var(--ease)}
.lead-map svg.bb a:hover .pin path,.lead-map svg.bb a:focus-visible .pin path{fill:var(--bb-ink)}
.lead-map svg.bb a:hover .pin text,.lead-map svg.bb a:focus-visible .pin text{fill:var(--bb-node)}
.lead-map .bbn-num{position:relative;isolation:isolate;background:none;color:var(--ink);width:26px;height:26px;font-size:12.5px}
.lead-map .bbn-num::before{content:"";position:absolute;inset:4px;z-index:-1;border:1.6px solid var(--ink);border-radius:2px;
  background:var(--paper);transform:rotate(45deg)}
.lead-map .bbn-c.bbn-a:hover .bbn-num::before{background:var(--ink)}
.lead-map .bbn-c.bbn-a:hover .bbn-num{color:var(--paper)}
.lead-map .bbn-c.bbn-a:has(a:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.lead .dcard>summary{align-items:start}
.lead .dcard .ph .pd{white-space:nowrap}
.lead .dcard .sh h3{margin:4px 0 12px}
.lead .qa{display:grid;gap:6px}
.lead .qa>span{display:grid;grid-template-columns:128px minmax(0,1fr);gap:2px 14px;font-size:15px;line-height:1.45;color:var(--ink2)}
.lead .qa>span>span{max-width:68ch}
.lead .qa b{font-size:12.5px;font-weight:650;line-height:1.75}
.lead .qa .q b{color:var(--ink)}
.lead .qa .q>span{color:var(--ink);font-weight:560}
.lead .qa .g b{color:var(--ok)}
.lead .qa .x b{color:var(--stop)}
@media (max-width:640px){.lead .qa>span{grid-template-columns:minmax(0,1fr)}.lead .qa b{line-height:1.4}}
.lead .dcard .dlead{font-size:16.5px;line-height:1.6;color:var(--ink2);max-width:64ch;margin:0}
.lead .dcard .sb>section>p{max-width:68ch}
.lead .dcard .sb>section>p.capask{max-width:none}
.lead .dcard .rpth{font-size:16px;margin:28px 0 10px}
.lead .fit{list-style:none;margin:0;padding:0;counter-reset:f}
.lead .fit>li{counter-increment:f;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 26px;align-items:center;
  position:relative;padding:0 0 30px}
.lead .fit>li:last-child{padding-bottom:0}
.lead .fq{position:relative;display:block;border:1.5px solid var(--rule);border-radius:var(--r-in);background:var(--paper);padding:11px 16px 12px 50px}
.lead .fq::before{content:counter(f);position:absolute;left:14px;top:12px;width:24px;height:22px;border-radius:6px;display:grid;place-items:center;
  font:600 11.5px/1 var(--f-mono);background:var(--accent-soft);color:var(--accent)}
.lead .fq b{display:block;font-size:15.5px;line-height:1.35;color:var(--ink)}
.lead .fq>span{display:block;font-size:13.5px;line-height:1.45;color:var(--soft);margin-top:2px}
.lead .fit>li:not(:last-child)::after{content:"yes";position:absolute;left:26px;bottom:4px;height:22px;display:flex;align-items:center;
  padding-left:12px;border-left:2px solid var(--faint);font:500 11.5px/1 var(--f-mono);color:var(--soft)}
.lead .fx{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:baseline;font-size:15px;line-height:1.45;color:var(--ink2)}
.lead .fx i{font:600 11.5px/1 var(--f-mono);font-style:normal;color:var(--soft);white-space:nowrap}
.lead .fx i::after{content:" \2192";color:var(--ink2)}
.lead .fx b{color:var(--ink)}
.lead .fend .fq{border-color:var(--ink2);padding-left:16px}
.lead .fend .fq::before{content:none}
@media (max-width:700px){
  .lead .fit>li{grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:32px}
  .lead .fx{padding-left:18px}
}
.lead .ladder{border:1px solid var(--rule);border-radius:var(--r-in);background:var(--paper);overflow:hidden}
.lead .ladder .lhd,.lead .ladder li{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1.25fr);gap:4px 16px;align-items:baseline;padding:11px 18px}
.lead .ladder .lhd{margin:0;max-width:none;font-size:12.5px;font-weight:650;color:var(--soft);padding-bottom:9px}
.lead .ladder .lhd span:first-child{grid-column:1/3}
.lead .ladder ol{list-style:none;margin:0;padding:0}
.lead .ladder li{border-top:1px solid var(--rule2);font-size:15px;line-height:1.45}
.lead .ladder li b{color:var(--ink)}
.lead .ladder li>span:last-child{color:var(--ink2);font-size:14.5px}
.lead .ladder .lvl{justify-self:start;width:26px;height:22px;border-radius:6px;display:grid;place-items:center;font:600 11.5px/1 var(--f-mono);
  background:var(--rule2);color:var(--ink2);border:1px solid var(--rule)}
.lead .ladder ol[start] .lvl{position:relative;isolation:isolate;background:none;border:0;color:var(--ink)}
.lead .ladder ol[start] .lvl::before{content:"";position:absolute;inset:3px 5px;z-index:-1;border:1.6px solid var(--ink);border-radius:2px;
  background:var(--paper);transform:rotate(45deg)}
.lead .ladder .hinge{margin:0;max-width:none;padding:10px 18px 11px 74px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  background:var(--rule2);font-size:14.5px;line-height:1.45;color:var(--ink2)}
.lead .ladder .hinge b{color:var(--ink)}
@media (max-width:640px){
  .lead .ladder .lhd{display:none}
  .lead .ladder li{grid-template-columns:34px minmax(0,1fr);padding:11px 14px}
  .lead .ladder li>span:last-child{grid-column:2}
  .lead .ladder .hinge{padding:10px 14px}
}
.lead .tw .rpt{min-width:0}
.lead .capask{margin:14px 0 0;padding:12px 16px;border-left:3px solid var(--ink);background:var(--rule2);border-radius:0 var(--r-in) var(--r-in) 0;
  font-size:15px;line-height:1.5;color:var(--ink2);max-width:none}
.lead details.how>summary{list-style:none;display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;font-weight:600;
  color:var(--ink2);padding:6px 0;transition:color 150ms var(--ease)}
.lead details.how>summary::-webkit-details-marker{display:none}
.lead details.how>summary::before{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:translateY(-1px) rotate(-45deg);transition:transform 150ms var(--ease)}
.lead details.how>summary:hover{color:var(--ink)}
.lead details.how[open]>summary::before{transform:translateY(-3px) rotate(45deg)}
.lead details.how .hw{border-left:2px solid var(--rule);padding:2px 0 2px 16px;margin:6px 0 0}
.lead details.how .hw p{font-size:15px;line-height:1.6;color:var(--ink2);max-width:66ch;margin:0}
.lead .sec>details.how{margin:-4px 0 0}
@media (max-width:820px){.lead details.how>summary{min-height:44px}}
.lead .sec>p{max-width:64ch}
.lead .subh{margin:40px 0 8px}
.lead .esc{margin-top:8px}
.lead .seealso{font-size:14.5px;color:var(--ink2)}
.lead .todo{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--rule)}
.lead .todo li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:16px;align-items:start;padding:15px 0;border-bottom:1px solid var(--rule)}
.lead .todo .box{width:18px;height:18px;margin-top:3px;border:1.6px solid var(--ink2);border-radius:4px}
.lead .todo .ct b{display:block;font-size:16px;line-height:1.4;color:var(--ink)}
.lead .todo .ct>span{display:block;font-size:15px;line-height:1.5;color:var(--ink2);max-width:70ch;margin-top:2px}
.lead .fold{margin:0;padding-top:clamp(30px,3.5vw,44px);border-top:1px solid var(--rule)}
.lead .fold>h2{margin:0 0 8px}
.lead .fold>p{color:var(--ink2);max-width:64ch;margin:0 0 20px}
.lead details.ref{margin:0 0 8px}
.lead details.ref>summary{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 20px}
.lead details.ref .sh h3{margin:0 0 2px}
.lead details.ref .sb{padding:20px 20px 24px}
.lead details.ref .wide{max-width:72ch}
.lead details.ref .claims,.lead details.ref .roles{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important}
@media (max-width:640px){.lead details.ref>summary{grid-template-columns:minmax(0,1fr);padding:14px 16px}.lead details.ref .sb{padding:18px 16px 22px}}
.rail li.rl-ref{margin-top:6px;padding-top:6px;border-top:1px solid var(--rule2)}
@media print{
  .lead #first30{break-before:page;break-inside:avoid}
  .lead .todo .box{border-color:#000}
}
.tg .stale{color:color-mix(in oklab,var(--dg-amber) var(--dg-text),var(--ink))}
.tg .pmeta .tg-ck.stale::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;
  background:var(--dg-amber);vertical-align:1px}
.tg-st{display:inline-block;margin-left:7px;padding:2px 7px 3px;border:1px solid var(--rule);border-radius:999px;
  font:500 11px/1.2 var(--f-mono);color:var(--ink2);vertical-align:2px;white-space:nowrap}
.tg a.fn{display:inline;margin:0 1px 0 1px;padding:0 2px;font:600 11px/1 var(--f-mono);vertical-align:super;
  color:var(--soft);text-decoration:none;border-radius:4px}
.tg a.fn:hover,.tg a.fn:focus-visible{color:var(--ink);background:var(--rule2)}
.tg :not(pre)>code{white-space:nowrap}
.tg .phead{padding-bottom:clamp(26px,3.5vw,40px)}
.tg-map{margin:0 0 clamp(56px,7vw,96px)}
.tg-map .tw{margin:0}
.tg-map table{table-layout:fixed;font-size:14px}
.tg-map col.j{width:19%}
.tg-map thead th{padding:13px 18px;font:500 12.5px var(--f-mono);color:var(--ink2);white-space:normal}
.tg-map tbody th{padding:18px 18px 20px;font-weight:400}
.tg-map tbody th b{display:block;font-family:var(--f-display);font-size:17.5px;font-weight:620;letter-spacing:-.018em;line-height:1.25}
.tg-map tbody th span{display:block;margin-top:5px;font-size:13px;line-height:1.45;color:var(--soft)}
.tg-map td{padding:18px 18px 20px}
.tg-map a.tg-t{font-size:15px;font-weight:640;color:var(--ink);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:color-mix(in oklab,var(--ink) 30%,transparent);text-decoration-thickness:1px}
.tg-map a.tg-t:hover{text-decoration-color:var(--ink)}
.tg-map td p{margin:7px 0 0;font-size:13.5px;line-height:1.52;color:var(--ink2);max-width:none}
.tg-map .tg-in{display:inline-block;margin-top:10px;font:500 12.5px var(--f-mono);color:var(--ink2);text-decoration:none}
.tg-map .tg-in::after{content:" →";color:var(--soft)}
.tg-map .tg-in:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.tg-map .tg-old{display:block;margin-top:8px;font:500 12px var(--f-mono)}
.tg-map .tg-more th[colspan]{padding:22px 18px 8px;font:500 12.5px var(--f-mono);color:var(--soft);background:none;
  border-top:1px solid var(--rule)}
.tg-map .tg-more tr:hover{background:none}
.tg-map .tg-more th b{font-size:16px}
.tg-map .tg-src th,.tg-map .tg-src td{padding-top:14px;padding-bottom:16px;border-top:1px solid var(--rule)}
.tg-map .tg-src th b{font-size:15px}
.tg-map .tg-src td a{display:inline-block;margin:2px 18px 2px 0;font:500 12.5px var(--f-mono);color:var(--ink2)}
.tg-map .tg-src tr:hover{background:none}
.tg-key{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 40px;margin:18px 0 0}
.tg-key p{margin:0;font-size:13.5px;line-height:1.55;color:var(--soft);max-width:62ch}
.tg-shelf{margin:0}
.tg-sh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 40px;align-items:end;margin:0 0 26px}
.tg-sh h2{margin:0;max-width:18ch}
.tg-sh p{margin:0;font-size:16px;line-height:1.58;color:var(--ink2);max-width:52ch}
.tg .shelf{grid-template-columns:repeat(2,minmax(0,1fr))}
.tg .shelf .tile{min-height:190px}
.tg-soon{margin:18px 0 0;font-size:14px;color:var(--soft)}
.tg-man .phead .lede{max-width:52ch}
.tg-man>.sec>p{max-width:64ch}
.tg-what{margin:0;font-size:clamp(17px,1.45vw,18.5px);line-height:1.62;color:var(--ink2);max-width:62ch}
.tg-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.tg-list li{margin:0;padding:16px 0 18px;border-top:1px solid var(--rule);font-size:15.5px;line-height:1.6;color:var(--ink2);max-width:none}
.tg-moves{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--rule)}
.tg-move{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:16px 34px;align-items:start;margin:0;
  padding:26px 0 28px;border-top:1px solid var(--rule);max-width:none;scroll-margin-top:84px}
.tg-mw{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 10px;font:500 12.5px var(--f-mono);color:var(--soft)}
.tg-mn{color:var(--ink)}
.tg-ph{color:color-mix(in oklab,var(--c) var(--dg-text),var(--ink))}
.tg-move h3{margin:0 0 10px}
.tg-move .tg-mt>p:not(.tg-mw){margin:0 0 10px;font-size:15.5px;line-height:1.6;color:var(--ink2)}
.tg-lab a{display:inline-flex;gap:6px;font-size:14.5px;font-weight:600;color:var(--ink)}
.tg-lab a i{font-style:normal;transition:transform 250ms var(--ease)}
.tg-lab a:hover i{transform:translateX(3px)}
.tg-move .blk{margin:0}
.blk code,.codebox pre{white-space:pre-wrap;overflow-wrap:anywhere}
.tg-set .tg-sn{margin:0 0 6px;font:500 12.5px var(--f-mono);color:var(--soft)}
.tg-set .card h3{margin:0 0 8px}
.tg-set .card p:not(.tg-sn){font-size:15px;line-height:1.6;color:var(--ink2)}
.tg-facts table{font-size:14px}
.tg-facts td{padding:12px 16px}
.tg-facts td.n{width:52px;font:500 12.5px var(--f-mono);color:var(--soft)}
.tg-facts td.s{width:34%}
.tg-facts td.s a{display:block;font:500 12.5px/1.45 var(--f-mono);color:var(--ink2);overflow-wrap:anywhere;text-decoration:none}
.tg-facts td.s a b{font-weight:600;color:var(--ink)}
.tg-facts td.s a:hover span{text-decoration:underline}
.tg-facts td.s time{display:block;margin-top:4px;font:500 12px var(--f-mono);color:var(--soft)}
.tg-facts td.s time.stale{color:color-mix(in oklab,var(--dg-amber) var(--dg-text),var(--ink))}
.tg-facts tr:target{background:color-mix(in oklab,var(--accent) 10%,transparent)}
.tg-facts tr{scroll-margin-top:84px}
@media (max-width:1100px){.tg-move{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.tg-list,.tg-key,.tg-sh{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.tg-map a.tg-t,.tg-map .tg-in,.tg-map .tg-src td a,.tg-lab a{display:inline-flex;align-items:center;min-height:44px}
  .tg-map .tg-in{margin-top:0}.tg-map td p{margin-top:2px}}
@media (max-width:760px){
  .tg-map .tw,.tg-facts.tw{border:0;border-radius:0;background:none;overflow:visible}
  main.tg .tg-map .tw table,main.tg .tg-facts.tw table{min-width:0}
  .tg-map table,.tg-map tbody,.tg-map tr,.tg-map th,.tg-map td,
  .tg-facts table,.tg-facts tbody,.tg-facts tr,.tg-facts td{display:block;width:auto}
  .tg-map thead,.tg-facts thead,.tg-map colgroup{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tg-map tbody tr{padding:18px 0 4px;border-top:1px solid var(--rule)}
  .tg-map tbody tr:hover{background:none}
  .tg-map tbody th{padding:0 0 6px;border:0}
  .tg-map td{padding:12px 0 14px;border:0;border-top:1px solid var(--rule2)}
  .tg-map td[data-f]::before{content:attr(data-f);display:block;margin-bottom:5px;font:500 12px var(--f-mono);color:var(--soft)}
  .tg-map .tg-more th[colspan]{padding:22px 0 4px}
  .tg-map .tg-more tr.tg-grp{padding:0;border:0}
  .tg-map .tg-src th,.tg-map .tg-src td{border-top:0}
  .tg-map .tg-more td{border-top:0;padding-top:4px}
  .tg-facts tr{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 10px;padding:14px 0;border-top:1px solid var(--rule)}
  .tg-facts td{padding:0;border:0}
  .tg-facts td.s{grid-column:2;width:auto}
  .tg-facts td.n{width:auto}
  .tg .shelf{grid-template-columns:minmax(0,1fr)}
  .tg .shelf .tile{min-height:0}
}
@media print{.tg-map .tw,.tg-facts.tw{overflow:visible}.tg-move{break-inside:avoid}}
@keyframes ax{from{transform:scaleX(0)}}
@keyframes ay{from{transform:scaleY(0)}}
@keyframes ao{from{opacity:0}}
@keyframes ad{from{stroke-dashoffset:1}}
@media print{[data-play] *{animation:none!important}}
html.js [data-play]:not(.play) *{animation-play-state:paused!important}
