:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--lightningcss-light,oklch(99.2% .002 275))var(--lightningcss-dark,oklch(13.5% .004 275));--bg-sunk:var(--lightningcss-light,oklch(97.5% .003 275))var(--lightningcss-dark,oklch(16% .005 275));--surface:var(--lightningcss-light,oklch(100% 0 0))var(--lightningcss-dark,oklch(19% .006 275));--surface-2:var(--lightningcss-light,oklch(97.5% .003 275))var(--lightningcss-dark,oklch(22.5% .007 275));--ink:var(--lightningcss-light,oklch(16% .005 275))var(--lightningcss-dark,oklch(97.5% .003 275));--ink-2:var(--lightningcss-light,oklch(33% .009 275))var(--lightningcss-dark,oklch(86% .006 275));--muted:var(--lightningcss-light,oklch(50% .01 275))var(--lightningcss-dark,oklch(72% .008 275));--line:var(--lightningcss-light,oklch(92% .005 275))var(--lightningcss-dark,oklch(27% .008 275));--line-2:var(--lightningcss-light,oklch(86% .006 275))var(--lightningcss-dark,oklch(37% .01 275));--line-strong:oklch(60% .01 275);--accent:oklch(56.5% .16 277);--accent-ink:var(--lightningcss-light,oklch(52% .16 277))var(--lightningcss-dark,oklch(78% .1 277));--accent-hover:oklch(52% .16 277);--accent-wash:var(--lightningcss-light,oklch(97% .014 277))var(--lightningcss-dark,oklch(30% .085 277));--accent-glow:var(--lightningcss-light,oklch(56.5% .16 277/.12))var(--lightningcss-dark,oklch(56.5% .16 277/.28));--on-accent:oklch(100% 0 0);--ok:var(--lightningcss-light,oklch(48% .11 158))var(--lightningcss-dark,oklch(80% .12 158));--ok-wash:var(--lightningcss-light,oklch(97% .02 158))var(--lightningcss-dark,oklch(30% .06 158));--bad:var(--lightningcss-light,oklch(50% .17 25))var(--lightningcss-dark,oklch(78% .11 25));--bad-wash:var(--lightningcss-light,oklch(97% .012 25))var(--lightningcss-dark,oklch(30% .08 25));--gate:var(--lightningcss-light,oklch(75% .15 72))var(--lightningcss-dark,oklch(84% .12 72));--gate-ink:var(--lightningcss-light,oklch(52% .11 72))var(--lightningcss-dark,oklch(84% .12 72));--gate-wash:var(--lightningcss-light,oklch(97.5% .018 72))var(--lightningcss-dark,oklch(32% .06 72));--info:var(--lightningcss-light,oklch(50% .11 238))var(--lightningcss-dark,oklch(78% .09 238));--info-wash:var(--lightningcss-light,oklch(97% .015 238))var(--lightningcss-dark,oklch(30% .06 238));--sp:var(--lightningcss-light,oklch(55% .17 340))var(--lightningcss-dark,oklch(76% .13 340));--gs:var(--lightningcss-light,oklch(60% .13 65))var(--lightningcss-dark,oklch(80% .12 72));--gsd:var(--lightningcss-light,oklch(55% .11 222))var(--lightningcss-dark,oklch(78% .1 222));--bi:var(--lightningcss-light,oklch(55% .01 275))var(--lightningcss-dark,oklch(68% .01 275));--code-bg:var(--lightningcss-light,oklch(95.5% .004 275))var(--lightningcss-dark,oklch(22.5% .007 275));--pre-bg:var(--lightningcss-light,oklch(16% .005 275))var(--lightningcss-dark,oklch(11.5% .004 275));--pre-ink:oklch(93% .004 275);--pre-dim:oklch(68% .008 275);--pre-line:var(--lightningcss-light,oklch(16% .005 275))var(--lightningcss-dark,oklch(25% .008 275));--focus:var(--lightningcss-light,oklch(56.5% .16 277))var(--lightningcss-dark,oklch(70% .13 277));--scrim:var(--lightningcss-light,oklch(20% .01 275/.32))var(--lightningcss-dark,oklch(0% 0 0/.62));--hi:var(--lightningcss-light,oklch(100% 0 0/0))var(--lightningcss-dark,oklch(100% 0 0/.05));--shadow-1:var(--lightningcss-light,0 1px 2px oklch(20% .01 275/.06))var(--lightningcss-dark,inset 0 1px 0 oklch(100% 0 0/.04));--shadow-2:0 1px 2px var(--lightningcss-light,oklch(20% .01 275/.06))var(--lightningcss-dark,oklch(0% 0 0/.3)), 0 8px 24px -12px var(--lightningcss-light,oklch(20% .01 275/.18))var(--lightningcss-dark,oklch(0% 0 0/.6));--shadow-3:0 2px 4px var(--lightningcss-light,oklch(20% .01 275/.06))var(--lightningcss-dark,oklch(0% 0 0/.4)), 0 24px 64px -16px var(--lightningcss-light,oklch(20% .02 275/.3))var(--lightningcss-dark,oklch(0% 0 0/.8));--font:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--w-med:510;--w-bold:600;--t-xs:.75rem;--t-sm:.8125rem;--t-md:.9375rem;--t-lg:1.0625rem;--t-xl:1.375rem;--t-2xl:clamp(1.875rem, 1.4rem + 1.6vw, 2.5rem);--t-hero:clamp(2.5rem, 1.5rem + 3.6vw, 4rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;--r1:4px;--r2:6px;--r3:10px;--r4:14px;--ease:cubic-bezier(.25, .1, .25, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--fast:.15s;--top:52px;--nav:256px;--toc:216px;--measure:72ch}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + var(--s4));background:var(--bg)}body{background:var(--bg);min-height:100dvh;color:var(--ink);font:400 var(--t-md)/1.62 var(--font);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 100% at 50% 0%, var(--accent-glow), transparent 70%);height:560px;position:absolute;inset:0 0 auto}::selection{background:var(--accent-wash);color:var(--ink)}a{color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, var(--accent-ink) 35%, transparent);text-decoration-color:color-mix(in oklab, var(--accent-ink) 35%, transparent);text-underline-offset:.2em;transition:color var(--fast) var(--ease), text-decoration-color var(--fast) var(--ease)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r1)}[tabindex="-1"]:focus{outline:none}h1,h2,h3,h4{color:var(--ink);font-weight:var(--w-bold);text-wrap:balance;margin:0}h1{font-size:var(--t-2xl);letter-spacing:-.032em;line-height:1.1}h2{font-size:var(--t-xl);letter-spacing:-.022em;line-height:1.25}h3{font-size:var(--t-lg);letter-spacing:-.012em;margin:var(--s6) 0 var(--s2);line-height:1.35}h4{font-size:var(--t-md);margin:var(--s5) 0 var(--s2);line-height:1.4}p{margin:0 0 var(--s4)}strong,b{font-weight:var(--w-bold)}ul,ol{margin:0 0 var(--s4);padding-left:1.25rem}li{margin:.3rem 0}li::marker{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:var(--s7) 0}code,kbd,pre,.mono{font-family:var(--mono);font-variant-ligatures:none;letter-spacing:0}code{background:var(--code-bg);color:var(--ink);border-radius:var(--r1);border:1px solid var(--line);overflow-wrap:anywhere;padding:.1em .36em;font-size:.86em}pre{background:var(--pre-bg);color:var(--pre-ink);font:400 .8125rem/1.65 var(--mono);padding:var(--s4);border-radius:var(--r3);border:1px solid var(--pre-line);margin:var(--s3) 0 var(--s4);tab-size:2;max-width:100%;overflow:auto;box-shadow:inset 0 1px oklch(100% 0 0/.04)}pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}kbd{font:500 .6875rem/1 var(--font);text-align:center;min-width:20px;height:20px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r1);place-items:center;padding:0 .32em;display:inline-grid}table{border-collapse:collapse;width:100%;font-size:var(--t-sm);font-variant-numeric:tabular-nums}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.6rem .8rem}th{font-weight:var(--w-med);font-size:var(--t-xs);color:var(--muted);letter-spacing:.01em}.muted{color:var(--muted)}mark{background:var(--accent-wash);color:inherit;border-radius:2px;padding:0 .1em}button{font:inherit;color:inherit;letter-spacing:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:-999px;top:var(--s2);z-index:99;background:var(--ink);color:var(--bg);padding:var(--s2) var(--s3);border-radius:var(--r2);position:absolute}.skip:focus{left:var(--s2)}.ui-top{z-index:30;height:var(--top);background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.ui-top-in{align-items:center;gap:var(--s3);height:100%;padding:0 var(--s5);max-width:1600px;margin:0 auto;display:flex}.ui-brand{color:var(--ink);font-weight:var(--w-bold);letter-spacing:-.02em;flex:none;align-items:center;gap:.5rem;font-size:.9375rem;text-decoration:none;display:inline-flex}.ui-brand svg{width:22px;height:22px;color:var(--ink)}.ui-brand .ver{font:500 .6875rem/1 var(--mono);color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r1);letter-spacing:0;padding:.2rem .4rem}.ui-top-in{position:relative}.ui-switch{border:1px solid var(--line);background:var(--bg-sunk);border-radius:999px;flex:none;gap:2px;padding:3px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.ui-switch a{height:28px;font-size:var(--t-sm);font-weight:var(--w-med);color:var(--muted);white-space:nowrap;transition:color var(--fast) var(--ease), background-color var(--fast) var(--ease);border-radius:999px;align-items:center;padding:0 .85rem;text-decoration:none;display:inline-flex}.ui-switch a:hover{color:var(--ink)}.ui-switch a[aria-current=page]{color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-2), 0 1px 2px oklch(0% 0 0/.12)}.ui-tools{border:1px solid var(--line);background:var(--bg-sunk);border-radius:999px;flex:none;gap:2px;padding:2px;display:inline-flex}.ui-tools .ui-icon{border-radius:999px;width:30px;height:30px}.ui-top .grow{flex:1}.ui-searchbtn{align-items:center;gap:var(--s2);border:1px solid var(--line);background:var(--surface);width:min(260px,22vw);height:34px;color:var(--muted);cursor:pointer;font-size:var(--t-sm);text-align:left;box-shadow:var(--shadow-1);transition:border-color var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:999px;padding:0 .4rem 0 .75rem;display:inline-flex}.ui-searchbtn:hover{border-color:var(--line-2);color:var(--ink-2)}.ui-searchbtn svg{flex:none;width:15px;height:15px}.ui-searchbtn .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-searchbtn kbd{flex:none}.ui-icon{border-radius:var(--r2);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:color var(--fast) var(--ease), background-color var(--fast) var(--ease);background:0 0;border:0;flex:none;place-items:center;text-decoration:none;display:inline-grid}.ui-icon:hover{color:var(--ink);background:var(--surface-2)}.ui-icon svg{width:16px;height:16px}.ui-menu{display:none}.ui-shell{z-index:1;grid-template-columns:var(--nav) minmax(0, 1fr);max-width:1600px;margin:0 auto;display:grid;position:relative}.ui-shell>*{min-width:0}.ui-nav{top:var(--top);height:calc(100dvh - var(--top));overscroll-behavior:contain;padding:var(--s5) var(--s3) var(--s7) var(--s4);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;align-self:start;position:sticky;overflow-y:auto}.ui-nav .nav-switch{display:none}.ui-nav-g+.ui-nav-g{margin-top:var(--s4)}.ui-nav-t{width:100%;font:var(--w-med) var(--t-xs)/1.2 var(--font);color:var(--muted);cursor:pointer;text-align:left;border-radius:var(--r2);letter-spacing:.01em;background:0 0;border:0;align-items:center;gap:.3rem;margin:0 0 2px;padding:.35rem .5rem;display:flex}.ui-nav-t:hover{color:var(--ink-2)}.ui-nav-t svg{opacity:0;width:12px;height:12px;transition:transform var(--fast) var(--ease), opacity var(--fast) var(--ease);order:2}.ui-nav-t:hover svg,.ui-nav-t:focus-visible svg,.ui-nav-t[aria-expanded=false] svg{opacity:1}.ui-nav-t[aria-expanded=false] svg{transform:rotate(-90deg)}.ui-nav a{border-radius:var(--r2);min-height:30px;color:var(--ink-2);font-size:var(--t-sm);font-weight:var(--w-med);transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease);align-items:center;gap:.55rem;margin:1px 0;padding:.3rem .5rem;line-height:1.3;text-decoration:none;display:flex}.ui-nav a:hover{background:var(--surface-2);color:var(--ink)}.ui-nav a[aria-current=page]{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.ui-nav a .n{font:500 .6875rem/1 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.4em}.ui-nav a[aria-current=page] .n{color:var(--accent-ink)}.ui-nav a .sw{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.ui-nav .foot{margin-top:var(--s6);font-size:var(--t-xs);color:var(--muted);padding:0 .5rem}.ui-scrim{display:none}main#main{min-width:0}.ui-page{grid-template-columns:minmax(0, 1fr) var(--toc);gap:var(--s7);padding:var(--s7) var(--s6) var(--s8) var(--s7);display:grid}.ui-page.full{grid-template-columns:minmax(0,1fr)}.ui-page>article{overflow-wrap:break-word;min-width:0}:where(.ui-page article)>:where(p,ul,ol,dl,.lede),:where(.ui-page article>section)>:where(p,ul){max-width:var(--measure)}:where(.ui-page article) :where(p,li){color:var(--ink-2)}:where(.ui-page article) :where(p,li) :where(strong,b){color:var(--ink)}.crumb{font:500 .6875rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:var(--s4)}.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--ink)}.lede{color:var(--muted);margin:var(--s4) 0 var(--s6);letter-spacing:-.01em;font-size:1.0625rem;line-height:1.6}:where(.ui-page article) h2{margin:var(--s7) 0 var(--s3);scroll-margin-top:calc(var(--top) + var(--s4))}:where(.ui-page article) h3{scroll-margin-top:calc(var(--top) + var(--s4))}:where(.ui-page article)>h2:first-child,:where(.ui-page article>section:first-child)>h2:first-child{margin-top:0}.ui-anchor{color:var(--muted);text-underline-offset:.15em;opacity:0;transition:opacity var(--fast) var(--ease);margin-left:.4rem;font-weight:400;text-decoration:underline;text-decoration-thickness:1px}h2:hover>.ui-anchor,h3:hover>.ui-anchor,.ui-anchor:focus-visible{opacity:1}.ui-anchor:hover{color:var(--accent-ink)}@media (hover:none){.ui-anchor{opacity:.55}}.ui-toc{top:calc(var(--top) + var(--s7));max-height:calc(100dvh - var(--top) - var(--s8));font-size:var(--t-sm);scrollbar-width:thin;align-self:start;position:sticky;overflow-y:auto}.ui-toc .t{font-weight:var(--w-med);font-size:var(--t-xs);color:var(--muted);margin-bottom:var(--s3);letter-spacing:.01em;display:block}.ui-toc a{color:var(--muted);border-left:1px solid var(--line);transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);padding:.28rem 0 .28rem .85rem;line-height:1.35;text-decoration:none;display:block}.ui-toc a:hover{color:var(--ink)}.ui-toc a[aria-current=true]{color:var(--ink);border-left-color:var(--accent);box-shadow:inset 1px 0 0 var(--accent)}.ui-toc .extra{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}.ui-toc-inline{margin:0 0 var(--s5);border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);display:none}.ui-toc-inline summary{cursor:pointer;padding:var(--s3) var(--s4);font-weight:var(--w-med);font-size:var(--t-sm);justify-content:space-between;list-style:none;display:flex}.ui-toc-inline summary::-webkit-details-marker{display:none}.ui-toc-inline summary:after{content:"+";font-family:var(--mono);color:var(--muted)}.ui-toc-inline[open] summary:after{content:"−"}.ui-toc-inline nav{padding:0 var(--s4) var(--s3);columns:2 14rem;column-gap:var(--s5)}.ui-toc-inline a{font-size:var(--t-sm);color:var(--ink-2);break-inside:avoid;padding:.22rem 0;text-decoration:none;display:block}.ui-pager{gap:var(--s3);margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.ui-pager a{padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r3);color:var(--ink);background:var(--surface);font-weight:var(--w-med);font-size:var(--t-md);box-shadow:var(--shadow-1);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);text-decoration:none;display:block}.ui-pager a:hover{border-color:var(--line-2);background:var(--surface-2)}.ui-pager a span{font-size:var(--t-xs);color:var(--muted);margin-bottom:.15rem;font-weight:400;display:block}.ui-pager .next{text-align:right;grid-column:2}.ui-foot{z-index:1;border-top:1px solid var(--line);padding:var(--s5);color:var(--muted);font-size:var(--t-sm);position:relative}.ui-foot>div{max-width:1600px;padding-left:calc(var(--nav) + var(--s7) - var(--s5));margin:0 auto}.ui-foot a{color:var(--ink-2)}.btn{min-height:36px;font-size:var(--t-sm);font-weight:var(--w-med);border-radius:var(--r2);border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-1);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);justify-content:center;align-items:center;gap:.45rem;padding:.45rem .95rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--line-strong);background:var(--surface)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px oklch(100% 0 0/.16),0 1px 2px oklch(0% 0 0/.2)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled{opacity:.45;cursor:default;border-color:var(--line-2)}.btn svg{width:15px;height:15px}.cb{margin:var(--s3) 0 var(--s4);position:relative}.cb .cap{font:500 var(--t-xs)/1.3 var(--mono);color:var(--muted);margin-bottom:.35rem}.cb pre{margin:0;padding-right:4.5rem}.cb .copy-btn{bottom:auto;right:.5rem;top:calc(var(--cap,0px) + .5rem);font:500 .6875rem/1 var(--font);border-radius:var(--r1);cursor:pointer;min-height:26px;color:var(--pre-ink);opacity:.8;transition:opacity var(--fast) var(--ease), border-color var(--fast) var(--ease);background:oklch(100% 0 0/.06);border:1px solid oklch(100% 0 0/.12);align-items:center;gap:.3rem;padding:.35rem .5rem;display:inline-flex;position:absolute}.cb:hover .copy-btn,.cb .copy-btn:focus-visible{opacity:1}.cb .copy-btn:hover{border-color:oklch(100% 0 0/.28)}.cb .copy-btn svg{width:12px;height:12px}.cb.has-cap{--cap:1.35rem}.cmd{align-items:flex-start;gap:var(--s2);background:var(--pre-bg);max-width:100%;color:var(--pre-ink);border-radius:var(--r2);border:1px solid var(--pre-line);font:400 .8125rem/1.4 var(--mono);padding:.3rem .35rem .3rem .8rem;display:flex}.cmd .p{color:var(--pre-dim);-webkit-user-select:none;user-select:none;padding:.2rem 0}.cmd code{min-width:0;color:inherit;font-size:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;flex:1;padding:.2rem 0}.cmd .copy-btn{font:500 .6875rem/1 var(--font);border-radius:var(--r1);min-height:26px;color:var(--pre-ink);cursor:pointer;background:oklch(100% 0 0/.06);border:1px solid oklch(100% 0 0/.12);flex:none;align-items:center;gap:.3rem;padding:.35rem .5rem;display:inline-flex}.cmd .copy-btn:hover{border-color:oklch(100% 0 0/.28)}.cmd .copy-btn svg{width:12px;height:12px}.callout,.note{border:1px solid var(--line);background:color-mix(in oklab, var(--c,var(--accent)) 5%, var(--surface));padding:var(--s3) var(--s4) var(--s3) calc(var(--s4) + 6px);border-radius:var(--r3);margin:var(--s4) 0;max-width:var(--measure);color:var(--ink-2);font-size:var(--t-md);box-shadow:var(--shadow-1);position:relative}.callout:before,.note:before{content:"";background:var(--c,var(--accent));border-radius:0 2px 2px 0;width:2px;position:absolute;top:12px;bottom:12px;left:0}.callout>:last-child,.note>:last-child{margin-bottom:0}.callout strong:first-child,.note>strong:first-child{color:var(--ink);margin-bottom:.2em;display:block}.callout b,.note b{color:var(--ink)}.note.warn,.callout.warn,.note.brass{--c:var(--gate)}.note.signal,.callout.bad{--c:var(--bad)}.note.jade,.callout.ok{--c:var(--ok)}.tbl-wrap,.tablewrap{border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);margin:var(--s4) 0 var(--s5);box-shadow:var(--shadow-1);overflow-x:auto}.tbl-wrap table,.tablewrap table{min-width:36rem}.tbl-wrap th,.tablewrap th{background:var(--bg-sunk)}.tbl-wrap td,.tablewrap td{color:var(--ink-2)}.tbl-wrap tr:last-child td,.tablewrap tr:last-child td{border-bottom:0}.tbl-wrap tbody tr,.tablewrap tbody tr{transition:background-color var(--fast) var(--ease)}.tbl-wrap tbody tr:hover,.tablewrap tbody tr:hover{background:color-mix(in oklab, var(--ink) 3%, transparent)}.tbl-wrap th:first-child,.tbl-wrap td:first-child,.tablewrap th:first-child,.tablewrap td:first-child{padding-left:var(--s4)}.tbl-wrap code,.tablewrap code{font-size:.78rem}.card{padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);text-decoration:none;display:block}a.card{transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease)}a.card:hover{border-color:var(--line-2);background:var(--surface-2)}.card h3,.card h4{font-size:var(--t-md);letter-spacing:-.01em;margin:0 0 .3rem;line-height:1.35}.card p{margin:0 0 var(--s2);color:var(--muted);font-size:var(--t-sm)}.card .meta{font-size:var(--t-xs);color:var(--muted)}.tag{font:var(--w-med) .75rem/1 var(--font);border-radius:var(--r2);border:1px solid var(--line);color:var(--ink-2);background:var(--surface);white-space:nowrap;vertical-align:middle;letter-spacing:0;align-items:center;gap:.4rem;padding:.3rem .5rem;display:inline-flex}.tag.dot:before{content:"";background:var(--c,var(--muted));border-radius:50%;width:7px;height:7px}.eyebrow{font:500 .6875rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 var(--s3);display:block}.tabs{gap:var(--s5);border-bottom:1px solid var(--line);margin:var(--s5) 0;scrollbar-width:none;display:flex;overflow-x:auto}.tabs>a,.tabs>button{cursor:pointer;min-height:36px;font-size:var(--t-sm);font-weight:var(--w-med);color:var(--muted);white-space:nowrap;transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);background:0 0;border:0;border-bottom:1px solid #0000;align-items:center;gap:.4rem;margin-bottom:-1px;padding:0 0 .55rem;text-decoration:none;display:inline-flex;position:relative}.tabs>a:hover,.tabs>button:hover{color:var(--ink)}.tabs>[aria-current=page],.tabs>[aria-current=true],.tabs>[aria-selected=true],.tabs>[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.tabs .count{font:500 .6875rem/1 var(--mono);color:var(--muted)}.seg{border:1px solid var(--line);background:var(--bg-sunk);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg>a,.seg>button{cursor:pointer;min-height:28px;font-size:var(--t-sm);font-weight:var(--w-med);color:var(--muted);white-space:nowrap;transition:color var(--fast) var(--ease), background-color var(--fast) var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;padding:0 .75rem;text-decoration:none;display:inline-flex}.seg>a:hover,.seg>button:hover{color:var(--ink)}.seg>[aria-current=page],.seg>[aria-current=true],.seg>[aria-selected=true],.seg>[aria-pressed=true]{color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-2), 0 1px 2px oklch(0% 0 0/.12)}.tiles{gap:var(--s4);margin:var(--s4) 0 var(--s6);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));display:grid}.tile{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);transition:border-color var(--fast) var(--ease), transform .24s var(--ease-enter);border-radius:20px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}a.tile:hover{border-color:var(--line-2);transform:translateY(-2px)}.tile-stage{min-height:168px;padding:var(--s4);background:var(--bg-sunk);border:1px solid var(--line);border-radius:15px;place-items:center;margin:6px 6px 0;display:grid;position:relative;overflow:hidden}.tile-stage:after{content:"";pointer-events:none;background:radial-gradient(80% 60% at 50% 0%, var(--hi), transparent);position:absolute;inset:0}.tile-body{padding:var(--s3) var(--s4) var(--s4)}.tile-body b{font-size:var(--t-md);font-weight:var(--w-bold);letter-spacing:-.012em;display:block}.tile-body span{font-size:var(--t-sm);color:var(--muted);margin-top:.15rem;line-height:1.5;display:block}.stepc{border:1px solid var(--line);border-radius:var(--r4);background:var(--surface);padding:var(--s4);box-shadow:var(--shadow-1)}.stepc .of{font:500 .6875rem/1 var(--mono);color:var(--muted);margin-bottom:var(--s2)}.stepc h3,.stepc h4{font-size:var(--t-md);margin:0 0 .25rem}.stepc p{color:var(--muted);font-size:var(--t-sm);margin:0}.dot:not(.tag){background:var(--c,var(--muted));vertical-align:middle;border-radius:50%;width:7px;height:7px;display:inline-block}.dot.ok{--c:var(--ok)}.dot.bad{--c:var(--bad)}.dot.gate{--c:var(--gate)}.dot.accent{--c:var(--accent)}@media (prefers-reduced-motion:no-preference){.ui-page>article{animation:ui-rise .36s var(--ease-enter) both}}@keyframes ui-rise{0%{opacity:0;transform:translateY(6px)}}.ui-palette{border:1px solid var(--line-2);border-radius:var(--r4);background:var(--surface-2);width:min(680px,100vw - 2rem);max-height:min(72dvh,600px);color:var(--ink);box-shadow:var(--shadow-3), inset 0 1px 0 var(--hi);margin:12dvh auto auto;padding:0;overflow:hidden}.ui-palette[open]{animation:ui-pop .16s var(--ease-enter);flex-direction:column;display:flex}.ui-palette::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes ui-pop{0%{opacity:0;transform:translateY(6px)scale(.985)}}.ui-palette .in{align-items:center;gap:var(--s3);padding:0 var(--s4);border-bottom:1px solid var(--line);display:flex}.ui-palette .in svg{width:17px;height:17px;color:var(--muted);flex:none}.ui-palette input{min-width:0;height:52px;color:var(--ink);font:400 1rem var(--font);letter-spacing:-.01em;background:0 0;border:0;flex:1}.ui-palette input:focus{outline:none}.ui-palette input::placeholder{color:var(--muted)}.ui-palette .ui-results{padding:var(--s2);overscroll-behavior:contain;overflow-y:auto}.ui-palette .g{font:var(--w-med) var(--t-xs)/1 var(--font);color:var(--muted);padding:var(--s3) var(--s3) var(--s2)}.ui-palette [role=option]{gap:0 var(--s3);padding:.45rem var(--s3);border-radius:var(--r2);color:var(--ink);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.ui-palette [role=option] b{font-weight:var(--w-med);font-size:var(--t-md);overflow-wrap:anywhere}.ui-palette [role=option] b.m{font:500 .8125rem/1.35 var(--mono)}.ui-palette [role=option] small{color:var(--muted);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;grid-column:1;line-height:1.4;display:block;overflow:hidden}.ui-palette [role=option] .where{font-size:var(--t-xs);color:var(--muted);grid-area:1/2/span 2}.ui-palette [role=option][aria-selected=true]{background:color-mix(in oklab, var(--ink) 7%, transparent)}.ui-palette [role=option][aria-selected=true] b{color:var(--ink)}.ui-palette .none{padding:var(--s5) var(--s4);color:var(--muted);font-size:var(--t-md)}.ui-palette .hint{gap:var(--s2) var(--s4);padding:var(--s2) var(--s4);border-top:1px solid var(--line);background:var(--surface);font-size:var(--t-xs);color:var(--muted);flex-wrap:wrap;display:flex}.ui-palette .hint span{align-items:center;gap:.3rem;display:inline-flex}@media (width<=1279px){.ui-page{padding-left:var(--s6);grid-template-columns:minmax(0,1fr)}.ui-toc{display:none}.ui-toc-inline{display:block}}@media (width<=1099px){.ui-switch{display:none}.ui-nav .nav-switch{border-radius:var(--r3);position:static;transform:none}.ui-nav .nav-switch a{border-radius:var(--r2)}.ui-nav .nav-switch{margin:0 0 var(--s4);border:1px solid var(--line);border-radius:var(--r3);background:var(--bg-sunk);padding:3px;display:flex}.ui-nav .nav-switch.ui-switch{display:flex}.ui-nav .nav-switch a{flex:1;justify-content:center}}@media (width<=899px){:root{--top:52px}.ui-top-in{padding:0 var(--s4);gap:var(--s2)}.ui-menu{display:inline-grid}.ui-icon,.ui-tools .ui-icon{width:40px;height:40px}.ui-brand .ver{display:none}.ui-searchbtn{flex:1;width:auto;min-width:0;height:36px}.ui-searchbtn kbd,.ui-top .grow{display:none}.ui-shell{grid-template-columns:minmax(0,1fr)}.ui-nav{z-index:40;background:var(--bg-sunk);border-right:1px solid var(--line);width:min(86vw,320px);height:100dvh;padding:var(--s4) var(--s3) var(--s6);visibility:hidden;transition:transform .24s var(--ease-enter), visibility 0s linear .24s;box-shadow:var(--shadow-3);position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.ui-nav.open{visibility:visible;transition:transform .24s var(--ease-enter), visibility 0s;transform:none}.ui-nav a{min-height:40px;font-size:var(--t-md)}.ui-nav .drawer-head{display:flex}.ui-scrim{z-index:35;background:var(--scrim);display:block;position:fixed;inset:0}.ui-page{padding:var(--s5) var(--s4) var(--s7)}.ui-pager{grid-template-columns:minmax(0,1fr)}.ui-pager .next{grid-column:1}.ui-foot>div{padding-left:0}.ui-palette{margin-top:var(--s3);max-height:calc(100dvh - 1.5rem)}.ui-palette [role=option]{grid-template-columns:minmax(0,1fr)}.ui-palette [role=option] .where{display:none}}@media (width<=599px){.ui-top .gh{display:none}}.drawer-head{margin-bottom:var(--s4);justify-content:space-between;align-items:center;padding:0 .25rem;display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.ui-top,.ui-nav,.ui-toc,.ui-toc-inline,.ui-pager,.ui-anchor,.copy-btn{display:none!important}body:before{display:none}.ui-shell,.ui-page{padding:0;display:block}body{color:#000;background:#fff;font-size:11pt}}.c-bearing{--c:var(--accent)}.c-sp{--c:var(--sp)}.c-gs{--c:var(--gs)}.c-gsd{--c:var(--gsd)}.c-bi{--c:var(--bi)}.window,.rows,.glance,.file-list,.walk-step,.card-step,.faq{--panel-hi:inset 0 1px 0 var(--hi)}.skillname{font:var(--w-med) .92em/1.3 var(--mono);color:var(--ink);letter-spacing:-.01em;background:0 0;border:0;padding:0;text-decoration:none}a.skillname:hover{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.list{gap:0 var(--s6);margin:var(--s4) 0 var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.list>div{padding:var(--s4) 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--t-md);line-height:1.55}.list>div b{color:var(--ink);font-weight:var(--w-bold);font-size:var(--t-md);letter-spacing:-.01em;margin-bottom:var(--s1);display:block}.list.rules>div b{padding-left:1.1rem;position:relative}.list.rules>div b:before{content:"";background:var(--line-strong);border-radius:2px;width:6px;height:6px;position:absolute;top:.5em;left:0}.kv{gap:0 var(--s5);margin:var(--s4) 0;grid-template-columns:minmax(12rem,max-content) minmax(0,1fr);display:grid;max-width:none!important}.kv dt,.kv dd{padding:var(--s3) 0;border-top:1px solid var(--line)}.kv dt{font:var(--w-med) var(--t-sm)/1.5 var(--mono);color:var(--ink);overflow-wrap:anywhere}.kv dd{color:var(--ink-2);font-size:var(--t-md);margin:0}.kv dd small{color:var(--muted);font-size:var(--t-sm);display:block}.faq{max-width:var(--measure);border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);box-shadow:var(--panel-hi);margin:var(--s4) 0;overflow:hidden}.faq details+details{border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:var(--w-med);color:var(--ink);gap:var(--s3);min-height:44px;padding:var(--s3) var(--s4);transition:background-color var(--fast) var(--ease);align-items:baseline;list-style:none;display:flex}.faq summary:hover{background:var(--surface-2)}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";font:400 var(--t-md)/1 var(--mono);color:var(--muted);flex:none;width:1rem}.faq details[open] summary:before{content:"−"}.faq summary:focus-visible{outline-offset:-2px}.faq details>div{padding:0 var(--s4) var(--s4) calc(var(--s4) + 1rem + var(--s3));color:var(--ink-2);font-size:var(--t-md)}.faq details>div>:last-child{margin-bottom:0}.empty{padding:var(--s6);text-align:center;color:var(--muted);font-size:var(--t-md);border:1px dashed var(--line-2);border-radius:var(--r3);background:var(--bg-sunk)}.steps{gap:var(--s3);margin:var(--s4) 0 var(--s5);grid-template-columns:minmax(0,1fr);padding:0;list-style:none;display:grid;max-width:52rem!important}.steps>li{min-width:0;margin:0}.stepc h3{margin-bottom:var(--s2)}.stepc p{line-height:1.55}.stepc p+p{margin-top:var(--s2)}.stepc .cb{margin:var(--s3) 0}.stepc .cb pre{font-size:var(--t-xs)}.pack-grid{gap:var(--s3);margin:var(--s4) 0 var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.pack .eyebrow{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.pack h3{margin:0 0 var(--s2)}.pack p{color:var(--ink-2);line-height:1.55}.pack .meta{margin:0}.hero{padding:var(--s5) 0 var(--s7)}.hero .eyebrow{margin-bottom:var(--s4)}.hero h1{font-size:var(--t-hero);letter-spacing:-.045em;max-width:15ch;line-height:1.02;font-weight:var(--w-bold);text-wrap:balance}.hero-lede{max-width:56ch;margin:var(--s5) 0 var(--s6);font-size:var(--t-lg);color:var(--muted);letter-spacing:-.012em;line-height:1.55}.hero-cta{gap:var(--s2);flex-wrap:wrap;display:flex}.hero-cta .btn{min-height:38px;padding-inline:1.05rem}.hero-cta .arr{width:14px;height:14px;color:var(--muted)}.facts{margin:var(--s7) 0 0;border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid;max-width:none!important}.facts li{padding:var(--s4) var(--s4) 0 0;color:var(--muted);font-size:var(--t-sm);margin:0;line-height:1.4}.facts li+li{padding-left:var(--s4);border-left:1px solid var(--line)}.facts b{color:var(--ink);font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-bottom:var(--s1);line-height:1.1;display:block}.window{border:1px solid var(--line);border-radius:var(--r4);background:var(--surface);box-shadow:var(--panel-hi), var(--shadow-2);overflow:hidden}.window-bar{align-items:baseline;gap:var(--s2) var(--s4);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:var(--bg-sunk);flex-wrap:wrap;display:flex}.window-bar h2{font-size:var(--t-sm);font-weight:var(--w-bold);letter-spacing:-.005em;margin:0!important}.window-bar .muted{font-size:var(--t-sm)}.window-list{padding:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--rows,6), auto);column-gap:var(--s2);grid-auto-flow:column;margin:0;list-style:none;display:grid;max-width:none!important}.window-list li{min-width:0;margin:0}.window-list a{gap:var(--s3);min-height:40px;padding:0 var(--s3);border-radius:var(--r2);color:var(--ink-2);transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease);grid-template-columns:2rem minmax(0,1fr) auto 14px;align-items:center;text-decoration:none;display:grid}.window-list a:hover{background:var(--surface-2);color:var(--ink)}.window-list i{font:var(--w-med) var(--t-xs)/1 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.window-list span{font-weight:var(--w-med);font-size:var(--t-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;overflow:hidden}.window-list small{font-size:var(--t-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.window-list .arr{width:14px;height:14px;color:var(--muted);opacity:0;transition:opacity var(--fast) var(--ease)}.window-list a:hover .arr,.window-list a:focus-visible .arr{opacity:1}.window-list a:focus-visible{outline-offset:-2px}.window-foot{padding:var(--s3) var(--s4);border-top:1px solid var(--line);font-size:var(--t-sm);margin:0;line-height:1.55;color:var(--muted)!important;max-width:none!important}.window-foot b{color:var(--ink);font-weight:var(--w-med)}.sec-head{margin:var(--s8) 0 var(--s4)}.sec-head .eyebrow{margin-bottom:var(--s2)}.sec-head h2{font-size:var(--t-xl);letter-spacing:-.028em;margin:0!important}.sec-head p{margin:var(--s2) 0 0;font-size:var(--t-md);max-width:62ch;color:var(--muted)!important}.thumb{z-index:1;gap:var(--s2);flex-direction:column;width:100%;max-width:300px;display:flex;position:relative}.thumb>small{font:500 .6875rem/1 var(--mono);color:var(--muted);letter-spacing:.02em}.thumb .mini{width:100%;height:12px;margin-bottom:var(--s1)}.thumb-rows{gap:4px;margin:0;padding:0;list-style:none;display:grid;max-width:none!important}.thumb-rows li{align-items:center;gap:var(--s2);border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);box-shadow:inset 0 1px 0 var(--hi);transition:transform .32s var(--ease-enter), border-color var(--fast) var(--ease);grid-template-columns:auto minmax(0,1fr) auto;margin:0;padding:.4rem .55rem;display:grid}.thumb-rows span{font-size:.75rem;font-weight:var(--w-med);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thumb-rows code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:8rem;padding:.05rem .3rem;font-size:.625rem;overflow:hidden}.thumb-rows.num i{font:500 .625rem/1 var(--mono);color:var(--muted);font-style:normal}a.tile:hover .thumb-rows li:nth-child(2){transform:translate(3px)}a.tile:hover .thumb-rows li:nth-child(3){transform:translate(6px)}a.tile:hover .thumb-rows li:nth-child(4){transform:translate(9px)}.thumb-card{padding:var(--s3);border:1px solid var(--line-2);border-radius:var(--r3);background:var(--surface);box-shadow:var(--shadow-1), inset 0 1px 0 var(--hi);transition:transform .32s var(--ease-enter)}a.tile:hover .thumb-card{transform:translateY(-3px)}.thumb-card .head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.thumb-card .skillname{font-size:.8125rem}.thumb-card .tag{padding:.15rem .35rem;font-size:.625rem}.thumb-card p{margin:var(--s2) 0;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.6875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.thumb-card code{font-size:.625rem}.thumb-chips{flex-wrap:wrap;gap:4px;display:flex}.thumb-chips span{font-size:.625rem;font-weight:var(--w-med);color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.15rem .45rem}.thumb-tree{padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);font:400 .6875rem/1.5 var(--mono);box-shadow:inset 0 1px 0 var(--hi);gap:2px;margin:0;list-style:none;display:grid;max-width:none!important}.thumb-tree li{justify-content:space-between;gap:var(--s2);color:var(--ink-2);margin:0;display:flex}.thumb-tree li:before{content:"";border:1px solid var(--line-strong);border-radius:1px;flex:none;width:6px;height:6px;margin-top:.45em}.thumb-tree li.dir:before{background:var(--line-strong)}.thumb-tree span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.thumb-tree small{color:var(--muted);font-size:.625rem}.home-also{margin-top:calc(var(--s3) * -1);font-size:var(--t-sm)}.seg.scope{margin-bottom:var(--s4);scrollbar-width:none;max-width:100%;overflow-x:auto}.seg .n,.seg .muted{font:500 .6875rem/1 var(--mono);color:var(--muted);margin-left:.4rem}.scope-sum{max-width:78ch}.player{gap:var(--s2);padding:var(--s2);border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);box-shadow:inset 0 1px 0 var(--hi);flex-wrap:wrap;align-items:center;width:fit-content;max-width:100%;display:flex}.player .btn{min-height:32px;padding:.3rem .75rem}.player .pos{font:var(--w-med) var(--t-xs)/1 var(--mono);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;min-width:4.5rem}.legend{gap:var(--s2) var(--s4);font-size:var(--t-xs);color:var(--muted);margin:var(--s4) 0 var(--s5);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:.4rem;display:inline-flex}.legend i{background:var(--c);border-radius:50%;width:7px;height:7px}.legend span:last-child{flex-basis:100%}.diagram{--spine:11px;--pad:36px;--lane-m:14px;--lane-p:var(--s5);--pin:9px;--pin-top:17px;padding-left:var(--pad);max-width:1040px;position:relative}.diagram .spine{left:var(--spine);background:var(--line-2);width:1px;position:absolute;top:8px;bottom:8px}.diagram .spine-fill{left:calc(var(--spine) - .5px);background:var(--line-strong);transform-origin:top;border-radius:2px;width:2px;position:absolute;top:8px}.node{margin:0 0 var(--s2);position:relative}.node .pin{left:calc(var(--spine) - var(--pin) / 2 + .5px - var(--pad));top:calc(var(--pin-top) + .5px);width:var(--pin);height:var(--pin);background:var(--c,var(--accent));box-shadow:0 0 0 3px var(--bg);z-index:1;transition:box-shadow var(--fast) var(--ease);border-radius:50%;position:absolute}.node.optional .pin{background:var(--bg);border:1.5px solid var(--c,var(--accent))}.node.active .pin{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px color-mix(in oklab, var(--c) 45%, transparent)}.card-step{border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);box-shadow:var(--panel-hi);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);position:relative;overflow:hidden}.card-step:hover{border-color:var(--line-2)}.node.active .card-step{border-color:var(--line-2);background:var(--surface-2)}.card-step>button{all:unset;box-sizing:border-box;gap:var(--s1) var(--s4);width:100%;padding:var(--s2) var(--s3) var(--s2) var(--s4);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:44px;display:grid}.card-step>button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:var(--r3)}.card-step .t{font-weight:var(--w-med);font-size:var(--t-md);color:var(--ink);letter-spacing:-.01em;line-height:1.35}.card-step .t small{font-weight:var(--w-med);color:var(--muted);margin-left:var(--s2);font-size:var(--t-xs);border:1px solid var(--line);border-radius:var(--r1);padding:.1rem .35rem}.card-step .sk{align-items:center;gap:var(--s2);flex-wrap:wrap;justify-self:end;display:flex}.card-step .sk code{font:var(--w-med) var(--t-sm)/1.2 var(--mono);color:var(--ink-2);background:0 0;border:0;padding:0}.card-step .chev{width:14px;height:14px;color:var(--muted);transition:transform var(--fast) var(--ease)}.card-step[data-open=true] .chev{transform:rotate(180deg)}.card-step .body{padding:0 var(--s4) var(--s4);gap:var(--s2) var(--s5);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.card-step .body>div{padding-top:var(--s3)}.card-step .body h4{font-size:var(--t-xs);color:var(--muted);font-weight:var(--w-med);letter-spacing:.01em;margin:0 0 .2rem}.card-step .body p{color:var(--ink-2);font-size:var(--t-sm);margin:0;line-height:1.55}.card-step .acts{gap:var(--s2) var(--s3);font-size:var(--t-sm);padding-top:var(--s3);border-top:1px solid var(--line);margin-top:var(--s2);flex-wrap:wrap;grid-column:1/-1;align-items:center;display:flex}.phase{font-size:var(--t-xs);font-weight:var(--w-med);color:var(--muted);letter-spacing:.01em;margin:var(--s5) 0 var(--s2);position:relative}.phase:before{content:"";left:calc(var(--spine) - var(--pad));width:calc(var(--pad) - var(--spine) - var(--s2));background:var(--line-2);height:1px;position:absolute;top:50%}.branch{margin:var(--s4) 0;position:relative}.branch .q{align-items:center;gap:var(--s3);font-weight:var(--w-med);font-size:var(--t-md);color:var(--ink);border:1px dashed var(--line-2);border-radius:var(--r2);background:var(--bg-sunk);max-width:100%;padding:.45rem .8rem;display:inline-flex;position:relative}.branch .q:before{content:"";left:calc(var(--spine) - 4.5px + .5px - var(--pad));background:var(--bg);border:1.5px solid var(--ink-2);width:9px;height:9px;box-shadow:0 0 0 3px var(--bg);border-radius:2px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.branch .opts{gap:var(--s2) var(--s3);margin:var(--s2) 0 var(--s3);flex-wrap:wrap;align-items:center;max-width:100%;display:flex}.branch .opts .seg{border-radius:18px;flex-wrap:wrap;max-width:100%}.branch .opts .seg>button{gap:.3rem}.branch .opts .hint{font-size:var(--t-xs)}.branch .lane{border-left:1px dashed var(--line-2);margin-left:var(--lane-m);padding-left:var(--lane-p)}.branch .lane .lbl{font-size:var(--t-xs);font-weight:var(--w-med);color:var(--muted);margin:var(--s2) 0}.branch .lane .node .pin{left:calc(var(--spine) - var(--pin) / 2 + .5px - var(--pad) - var(--lane-m) - 1px - var(--lane-p))}.linknode{align-items:center;gap:var(--s3);min-height:44px;padding:var(--s2) var(--s4);border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);color:var(--ink);font-weight:var(--w-med);font-size:var(--t-md);box-shadow:var(--panel-hi);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);text-decoration:none;display:flex}.linknode:after{content:"→";color:var(--muted);margin-left:auto}.linknode:hover{border-color:var(--line-2);background:var(--surface-2)}.stage-rail{margin:0 0 var(--s6);grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;padding:0;list-style:none;display:grid;max-width:none!important}.stage-rail li{min-width:0;margin:0}.stage-rail a{border-top:2px solid var(--line);color:var(--muted);font-size:var(--t-xs);min-height:44px;transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);flex-direction:column;gap:.35rem;padding:.5rem .1rem 0 0;line-height:1.25;text-decoration:none;display:flex}.stage-rail a b{font:var(--w-med) .6875rem/1 var(--mono);font-variant-numeric:tabular-nums}.stage-rail a span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.stage-rail a:hover{color:var(--ink);border-top-color:var(--line-2)}.stage-rail a.past{border-top-color:var(--line-strong);color:var(--ink-2)}.stage-rail a.on{border-top-color:var(--accent);color:var(--ink);font-weight:var(--w-med)}.stage-rail a.on b{color:var(--accent-ink)}.rows{border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);box-shadow:var(--panel-hi);display:grid;overflow:hidden}.row{gap:var(--s1) var(--s5);padding:var(--s4) var(--s5);transition:background-color var(--fast) var(--ease);grid-template-columns:minmax(0,16rem) minmax(0,1fr);display:grid;position:relative}.row+.row{border-top:1px solid var(--line)}.row:hover{background:color-mix(in oklab, var(--ink) 2.5%, transparent)}.row .when{font-weight:var(--w-med);font-size:var(--t-md);color:var(--ink);letter-spacing:-.01em;grid-row:span 2;line-height:1.4}.row .use{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.row .out{color:var(--muted);font-size:var(--t-sm);grid-column:2;margin:0;line-height:1.55}.stage-notes{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line)}.stage-notes h2{font-size:var(--t-lg)!important;margin:0 0 var(--s3)!important}.stage-notes p{font-size:var(--t-md)}.stage-notes ul{columns:2 26rem;column-gap:var(--s7);max-width:none!important}.stage-notes li{break-inside:avoid;font-size:var(--t-sm);line-height:1.55}.filters{top:var(--top);z-index:5;margin-bottom:var(--s3);padding-top:var(--s2);background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);position:sticky}.filters .tabs{margin:0}.filter-row{align-items:center;gap:var(--s2) var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.filter-row .seg{scrollbar-width:none;max-width:100%;overflow-x:auto}.filter-row .shown{font:500 var(--t-xs)/1 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.cat-h{align-items:baseline;gap:var(--s2);display:flex;font-size:var(--t-lg)!important;margin:var(--s7) 0 var(--s2)!important}.cat-h .n{font:var(--w-med) var(--t-xs)/1 var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:var(--r1);padding:.2rem .4rem}.cat-list{gap:0 var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));display:grid}.item{border-top:1px solid var(--line);padding:var(--s3) var(--s2);margin:0 calc(var(--s2) * -1);color:inherit;transition:background-color var(--fast) var(--ease);border-radius:0;text-decoration:none;display:block}.item:hover{background:var(--surface)}.item:hover .skillname{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.item:focus-visible{outline-offset:-2px}.item .head{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.item .tag{padding:.2rem .4rem;font-size:.6875rem}.item p{font-size:var(--t-sm);color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0 0;line-height:1.5;display:-webkit-box;overflow:hidden}.sk-name{font-family:var(--mono);font-weight:var(--w-med);letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(1.6rem,1.15rem + 1.6vw,2.25rem)}.glance{background:var(--line);border:1px solid var(--line);border-radius:var(--r4);margin:0 0 var(--s6);box-shadow:var(--panel-hi);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.glance>section{padding:var(--s4) var(--s5);background:var(--surface);min-width:0}.glance h2{font-weight:var(--w-med);color:var(--muted);letter-spacing:.01em;font-size:var(--t-xs)!important;margin:0 0 var(--s2)!important}.glance p{color:var(--ink-2);font-size:var(--t-md);margin:0}.glance .cmd{margin-top:var(--s1)}.glance small{margin-top:var(--s2);color:var(--muted);font-size:var(--t-sm);display:block}.meta-tags{gap:var(--s2);margin:calc(var(--s3) * -1) 0 var(--s5);flex-wrap:wrap;display:flex}.phr{gap:var(--s2);margin:var(--s3) 0 var(--s4);flex-wrap:wrap;display:flex}.phr span{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);font-size:var(--t-sm);color:var(--ink-2);padding:.2rem .55rem}.walk-step{border:1px solid var(--line);background:var(--surface);box-shadow:var(--panel-hi);border-radius:0;margin:0}.walk-step+.walk-step{border-top:0}.walk-step:first-of-type{border-top-left-radius:var(--r3);border-top-right-radius:var(--r3);margin-top:var(--s4)}.walk-step:last-of-type{border-bottom-left-radius:var(--r3);border-bottom-right-radius:var(--r3)}.walk-step>summary{cursor:pointer;gap:var(--s3);padding:var(--s3) var(--s4);font-weight:var(--w-med);font-size:var(--t-md);color:var(--ink);min-height:44px;transition:background-color var(--fast) var(--ease);align-items:baseline;list-style:none;display:flex}.walk-step>summary:hover{background:var(--surface-2)}.walk-step>summary:focus-visible{outline-offset:-2px}.walk-step>summary::-webkit-details-marker{display:none}.walk-step>summary i{font:var(--w-med) .6875rem/1 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;width:4.5rem;font-style:normal}.walk-step>summary:after{content:"+";font-family:var(--mono);color:var(--muted);margin-left:auto}.walk-step[open]>summary:after{content:"−"}.walk-step[open]>summary{border-bottom:1px solid var(--line)}.walk-step .body{padding:var(--s4) var(--s4) var(--s3) calc(var(--s4) + 4.5rem + var(--s3));font-size:var(--t-md)}.walk-step .body pre{font-size:var(--t-xs);max-height:440px}.files{gap:var(--s6);margin-top:var(--s4);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.file-list{top:calc(var(--top) + var(--s4));max-height:calc(100dvh - var(--top) - var(--s6));border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);padding:var(--s2);box-shadow:var(--panel-hi);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;position:sticky;overflow:auto}.file-list .fl-g{font-size:var(--t-xs);font-weight:var(--w-med);color:var(--muted);padding:var(--s3) var(--s2) var(--s1);letter-spacing:.01em}.file-list button{all:unset;box-sizing:border-box;width:100%;padding:.35rem var(--s2);border-radius:var(--r2);font:400 var(--t-sm)/1.4 var(--mono);color:var(--ink-2);cursor:pointer;overflow-wrap:anywhere;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease);display:block}.file-list button:hover{background:var(--surface-2);color:var(--ink)}.file-list button[aria-current=true]{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}.file-list button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.fv-path{letter-spacing:-.03em;overflow-wrap:anywhere;font:var(--w-med) clamp(1.1rem, .95rem + .7vw, 1.4rem)/1.25 var(--mono)!important;margin:0 0 var(--s4)!important}.fv-meta{gap:0 var(--s4);margin:0 0 var(--s5);font-size:var(--t-md);border-bottom:1px solid var(--line);grid-template-columns:9rem minmax(0,1fr);display:grid}.fv-meta dt,.fv-meta dd{padding:var(--s2) 0;border-top:1px solid var(--line)}.fv-meta dt{color:var(--muted);font-size:var(--t-sm)}.fv-meta dd{color:var(--ink-2);margin:0}.fv-bar{font:var(--w-med) var(--t-xs)/1 var(--mono);color:var(--muted)}.file-view pre{max-height:640px;font-size:var(--t-xs)}@media (width<=1099px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts li:nth-child(3){border-left:0;padding-left:0}.facts li:nth-child(n+3){margin-top:var(--s4);border-top:1px solid var(--line)}.files{grid-template-columns:minmax(0,1fr)}.file-list{max-height:260px;position:static}.stage-rail{row-gap:var(--s2);grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=899px){.hero{padding:var(--s4) 0 var(--s6)}.hero h1{letter-spacing:-.04em}.hero-lede{font-size:var(--t-md)}.facts{margin-top:var(--s6)}.window-list{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-flow:row}.window-list span{white-space:normal}.sec-head{margin-top:var(--s7)}.glance{grid-template-columns:minmax(0,1fr)}.row{padding:var(--s3) var(--s4);grid-template-columns:minmax(0,1fr)}.row .when{grid-row:auto}.row .out{grid-column:1}.card-step>button{grid-template-columns:minmax(0,1fr)}.card-step .sk{justify-self:start}.kv{grid-template-columns:minmax(0,1fr)}.kv dd{border-top:0;padding-top:0}.fv-meta{grid-template-columns:minmax(0,1fr)}.fv-meta dd{border-top:0;padding-top:0}.diagram{--spine:7px;--pad:26px;--lane-m:4px;--lane-p:var(--s3)}.stage-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-row .shown{width:100%;margin-left:0}.filters{-webkit-backdrop-filter:none;position:static}}@media (width<=560px){.facts b{font-size:var(--t-lg)}.walk-step .body{padding-left:var(--s4)}}@media print{.filters,.stage-rail,.player,.tabs{display:none!important}.window,.tile{box-shadow:none}}
