:root{--color-bg:#f2f2f3;--color-surface:#e9e9ea;--color-text:#1d1f20;--color-accent:#5980a6;--color-accent-2:#728fab;--color-divider:#1d1f2029;--color-neutral-100:#f5f5f8;--color-neutral-200:#e7e7ea;--color-neutral-300:#d4d4d7;--color-neutral-400:#b7b7ba;--color-neutral-500:#98989b;--color-neutral-600:#7a7a7d;--color-neutral-700:#5d5d60;--color-neutral-800:#424244;--color-neutral-900:#2b2b2d;--color-accent-100:#eef6ff;--color-accent-200:#d6ebff;--color-accent-300:#b5d9fd;--color-accent-400:#94bce3;--color-accent-500:#749dc4;--color-accent-600:#597ea3;--color-accent-700:#416180;--color-accent-800:#2c455d;--color-accent-900:#1d2d3d;--font-heading:"Barlow Condensed", system-ui, sans-serif;--font-heading-weight:600;--font-body:"Barlow", system-ui, sans-serif;--font-mono:ui-monospace, Menlo, Consolas, monospace;--space-1:3.4px;--space-2:6.8px;--space-3:10.2px;--space-4:13.6px;--space-6:20.4px;--space-8:27.2px;--radius-sm:2px;--radius-md:4px;--radius-lg:7px;--shadow-sm:0 1px 2px #2b2b2d24;--shadow-md:0 3px 10px #2b2b2d29;--shadow-lg:0 12px 32px #2b2b2d38;--fx-ease-apple:cubic-bezier(.22, 1, .36, 1);--fx-ease-ferrari:cubic-bezier(.9, .02, .1, 1);--fx-ease-snap:cubic-bezier(.85, 0, .15, 1);--fx-ease-micro:cubic-bezier(.34, 1.56, .64, 1);--fx-dur-micro:.14s;--fx-dur-fast:.32s;--fx-dur-base:.62s;--fx-dur-slow:1.1s;--bg:var(--color-bg);--surface:var(--color-surface);--surface-muted:var(--color-neutral-100);--ink:var(--color-text);--ink-soft:var(--color-neutral-700);--accent:var(--color-accent);--accent-2:var(--color-accent-700);--grid:color-mix(in srgb, var(--color-accent) 12%, transparent);--code-bg:var(--color-accent-900);--code-ink:var(--color-bg);--inline-code-bg:var(--color-accent-100);--quote-bg:color-mix(in srgb, var(--color-accent) 7%, transparent);--chip-bg:var(--color-accent-100);--link-bg:transparent;--input-bg:var(--color-surface);--diagram-bg:transparent;--border-heavy:1px solid var(--color-divider);--radius:0;--shadow-brut:none;--max-width:1180px}:root[data-theme=dark]{--color-bg:#1d2d3d;--color-surface:#2c455d;--color-text:#f2f2f3;--color-accent:#94bce3;--color-accent-2:#b5d9fd;--color-divider:#f2f2f333;--color-neutral-100:#232f3b;--color-neutral-200:#2c3a48;--color-neutral-300:#3a4a5a;--color-neutral-400:#55677a;--color-neutral-500:#74869a;--color-neutral-600:#9aabbd;--color-neutral-700:#bccadb;--color-neutral-800:#dbe4ee;--color-neutral-900:#eef2f7;--color-accent-700:#94bce3;--color-accent-800:#b5d9fd;--ink-soft:#f2f2f3ad;--surface-muted:#f2f2f30f;--code-bg:#121c26;--code-ink:#f2f2f3;--inline-code-bg:#f2f2f31f;--chip-bg:#94bce329;--shadow-sm:0 1px 2px #0006;--shadow-md:0 3px 10px #00000073;--shadow-lg:0 12px 32px #0000008c}:root[data-theme=artist]{--color-bg:#08090f;--color-surface:#101627;--color-text:#f7f7ff;--color-accent:#46f1ff;--color-accent-2:#ff6fcf;--color-divider:#8fa7ff57;--color-neutral-100:#141a2c;--color-neutral-200:#1c2438;--color-neutral-300:#2a3350;--color-neutral-400:#45507a;--color-neutral-500:#6b76a0;--color-neutral-600:#9aa3c8;--color-neutral-700:#c5c9e7;--color-neutral-800:#e3e5f5;--color-neutral-900:#f7f7ff;--color-accent-700:#46f1ff;--color-accent-800:#8ff7ff;--ink-soft:#c5c9e7;--surface-muted:#1a2239;--code-bg:#090d18;--code-ink:#e9f2ff;--inline-code-bg:#27345b;--chip-bg:#17203b;--input-bg:#131b32}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;position:relative}html,body{background:var(--color-bg);min-height:100%;color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);overflow-wrap:break-word;letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-700);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{margin-top:var(--space-1);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:11px}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}.hr{height:1px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.skip-link{z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-accent-700);color:var(--color-bg);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-4);top:var(--space-2)}.blueprint{border:1px solid var(--color-divider);border-radius:0;position:relative}.blueprint>.corner{width:11px;height:11px;color:color-mix(in srgb, var(--color-text) 55%, transparent);pointer-events:none;position:absolute}.blueprint>.corner:before,.blueprint>.corner:after{content:"";background:currentColor;position:absolute}.blueprint>.corner:before{width:1px;height:100%;top:0;left:5px}.blueprint>.corner:after{width:100%;height:1px;top:5px;left:0}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text);border:1px solid var(--color-divider);padding:var(--space-2) calc(var(--space-3) * 1.2);transition:background-color var(--fx-dur-micro) ease, border-color var(--fx-dur-micro) ease, transform var(--fx-dur-micro) var(--fx-ease-apple);background:0 0;border-radius:0;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent-700);color:var(--color-bg);border-color:var(--color-accent-700)}.btn-primary:hover{background:var(--color-accent-800);border-color:var(--color-accent-800)}.btn-primary:active{background:var(--color-accent-900);border-color:var(--color-accent-900)}:root[data-theme=dark] .btn-primary,:root[data-theme=artist] .btn-primary{color:var(--color-accent-900)}:root[data-theme=dark] .btn-primary:hover{background:var(--color-accent-300);border-color:var(--color-accent-300)}:root[data-theme=dark] .btn-primary:active{background:var(--color-accent-500);border-color:var(--color-accent-500)}.btn-secondary{border-color:var(--color-text)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent-700);padding-inline:var(--space-1);border-color:#0000}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.btn-sm{padding:5px var(--space-3);font-size:12px}.tag{letter-spacing:.02em;border-radius:0;align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent-700)}:root[data-theme=dark] .tag-accent,:root[data-theme=dark] .tag-neutral,:root[data-theme=artist] .tag-accent,:root[data-theme=artist] .tag-neutral{background:color-mix(in srgb, var(--color-text) 10%, transparent);color:var(--color-text)}.input{width:100%;min-height:36px;font-family:var(--font-body);color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;padding:6px 10px;font-size:14px}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}select.input{cursor:pointer}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.seg{border:1px solid var(--color-divider);border-radius:0;flex-wrap:wrap;display:inline-flex}.seg-opt{cursor:pointer;color:inherit;font-size:13px;font-family:var(--font-body);background:0 0;border:0;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt[aria-pressed=true],.seg-opt.is-active{background:var(--color-accent-700);color:var(--color-bg)}:root[data-theme=dark] .seg-opt[aria-pressed=true],:root[data-theme=dark] .seg-opt.is-active{color:var(--color-accent-900)}.seg-opt:not([aria-pressed=true]):not(.is-active):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-divider);transition:transform var(--fx-dur-fast) var(--fx-ease-apple), border-color var(--fx-dur-fast) ease;background:0 0;border-radius:0;flex-direction:column;grid-column:span 6;display:flex}.card:hover,.is-liftable:hover{border-color:var(--color-accent);transform:translateY(-2px)}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-700);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin:0;font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.card h3{margin:0 0 var(--space-2);font-size:20px}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider);font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb, var(--color-text) 8%, transparent)}.table tbody tr:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}html.js [data-fx]{opacity:0;will-change:transform, opacity;transition:transform var(--fx-dur-base) var(--fx-ease-apple), opacity var(--fx-dur-base) ease, clip-path var(--fx-dur-base) var(--fx-ease-snap)}html.js [data-fx=fade-up]{transform:translateY(34px)}html.js [data-fx=slide-diagonal]{transition-timing-function:var(--fx-ease-ferrari);transform:translate(-42px,26px)skew(-3deg)}html.js [data-fx=scale-in]{transition-timing-function:var(--fx-ease-micro);transform:scale(.9)}html.js [data-fx=panel-reveal]{clip-path:inset(0 100% 0 0);opacity:1;transform:none}html.js [data-fx].fx-in{opacity:1;clip-path:inset(0);transform:none}html.js [data-fx-stagger]>*{transition:transform var(--fx-dur-base) var(--fx-ease-apple), opacity var(--fx-dur-base) ease}html.theme-shift body,html.theme-shift .panel,html.theme-shift .card,html.theme-shift .blueprint{transition:background-color .42s,color .42s,border-color .42s}.page-shell{max-width:var(--max-width);padding:var(--space-6) var(--space-4) var(--space-8);margin:0 auto}.site-header{z-index:40;background:var(--color-bg);transition:border-color var(--fx-dur-fast) ease, box-shadow var(--fx-dur-fast) ease;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-stuck{border-bottom-color:var(--color-text);box-shadow:var(--shadow-sm)}.site-header-inner{max-width:var(--max-width);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);margin:0 auto;display:flex}.site-brand{align-items:center;gap:var(--space-2);color:var(--color-text);font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:.04em;text-transform:uppercase;font-size:19px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--color-text);flex:none;width:15px;height:15px}.site-nav{align-items:center;gap:var(--space-4);margin-left:var(--space-3);display:flex}.nav-link{color:var(--color-neutral-700);cursor:pointer;font-size:14px;font-family:var(--font-body);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:4px;padding-bottom:2px;text-decoration:none;display:inline-flex;position:relative}:root[data-theme=dark] .nav-link,:root[data-theme=artist] .nav-link{color:var(--ink-soft)}.nav-link:hover{color:var(--color-text)}.nav-link.is-current{color:var(--color-text);border-bottom-color:var(--color-accent)}.nav-dropdown{position:relative}.nav-menu{top:calc(100% + var(--space-3));left:calc(var(--space-3) * -1);min-width:220px;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-text);z-index:50;gap:2px;display:grid;position:absolute}.nav-menu a{padding:5px var(--space-2);color:var(--color-text);font-size:14px;text-decoration:none;display:block}.nav-menu a:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.nav-menu-sep{height:1px;margin:var(--space-2) 0;background:var(--color-divider)}.header-right{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.gh-stat{padding:3px var(--space-2);border:1px solid var(--color-divider);font-family:var(--font-mono);color:var(--color-neutral-700);align-items:center;gap:5px;font-size:11px;text-decoration:none;display:inline-flex}:root[data-theme=dark] .gh-stat,:root[data-theme=artist] .gh-stat{color:var(--ink-soft)}.gh-stat:hover{border-color:var(--color-accent);color:var(--color-accent-700)}.theme-control{align-items:center;gap:var(--space-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-700);font-size:10px;display:inline-flex}.theme-control select{min-height:26px;padding:2px var(--space-2);font-family:var(--font-mono);color:var(--color-text);border:1px solid var(--color-divider);cursor:pointer;background:0 0;border-radius:0;font-size:11px}.site-footer{border-top:1px solid var(--color-text);margin-top:var(--space-8)}.site-footer-inner{max-width:var(--max-width);padding:var(--space-8) var(--space-4);gap:var(--space-8);grid-template-columns:1.4fr repeat(3,1fr);margin:0 auto;display:grid}.footer-col{gap:var(--space-2);align-content:start;display:grid}.footer-col a{color:var(--color-neutral-700);font-size:13px;text-decoration:none}:root[data-theme=dark] .footer-col a,:root[data-theme=artist] .footer-col a{color:var(--ink-soft)}.footer-col a:hover{color:var(--color-accent-700)}.footer-colophon{max-width:var(--max-width);padding:var(--space-3) var(--space-4) var(--space-6);justify-content:space-between;gap:var(--space-4);font-family:var(--font-mono);color:var(--ink-soft);border-top:1px solid var(--color-divider);flex-wrap:wrap;margin:0 auto;font-size:11px;display:flex}.eyebrow{margin:0 0 var(--space-3);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:400}.kicker{margin:0 0 var(--space-2);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.big-title{letter-spacing:-.02em;max-width:18ch;margin:0;font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:.98}.chapter-title{max-width:18ch;margin:0;font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.02}.lede{max-width:68ch;color:var(--ink-soft);font-size:17px;line-height:1.6}.panel{border:1px solid var(--color-divider);padding:var(--space-6);background:0 0}.grid{gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.band{padding:var(--space-8) 0;border-bottom:1px solid var(--color-divider)}.band-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.two-up{gap:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.three-up{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.four-up{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cta-cluster{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.cta-primary,.cta-secondary{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:.05em;text-transform:uppercase;padding:var(--space-2) calc(var(--space-3) * 1.2);border:1px solid var(--color-divider);transition:background-color var(--fx-dur-micro) ease, border-color var(--fx-dur-micro) ease;justify-content:center;align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.cta-primary{background:var(--color-accent-700);border-color:var(--color-accent-700);color:var(--color-bg)}.cta-primary:hover{background:var(--color-accent-800);border-color:var(--color-accent-800)}.cta-secondary{color:var(--color-text);border-color:var(--color-text)}.cta-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.meta-row{gap:var(--space-2);margin-top:var(--space-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;font-size:11px;display:flex}.meta-chip{padding:2px var(--space-2);border:1px solid var(--color-divider);color:var(--color-neutral-700)}:root[data-theme=dark] .meta-chip,:root[data-theme=artist] .meta-chip{color:var(--ink-soft)}.spec-grid{gap:var(--space-4);margin:var(--space-6) 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.spec-group{border:1px solid var(--color-divider);padding:var(--space-4)}.shortcut-key{border:1px solid var(--color-divider);font-family:var(--font-mono);text-transform:uppercase;padding:1px 5px;font-size:11px;display:inline-block}.source-note{font-family:var(--font-mono);color:var(--color-accent-700);font-size:11px;text-decoration:none}.hero{padding:var(--space-8) 0 calc(var(--space-8) * 1.6);border-bottom:1px solid var(--color-divider);isolation:isolate;position:relative;overflow:hidden}.hero-field{z-index:-2;pointer-events:none;background:repeating-linear-gradient(0deg, transparent 0 31px, var(--grid) 31px 32px), repeating-linear-gradient(90deg, transparent 0 31px, var(--grid) 31px 32px);position:absolute;inset:-10% -5%;-webkit-mask-image:radial-gradient(120% 90% at 30% 30%,#000 0%,#0000 78%);mask-image:radial-gradient(120% 90% at 30% 30%,#000 0%,#0000 78%)}.hero-canvas{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-inner{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.hero-copy{max-width:34rem}.mascot-slot{flex:none;width:168px;height:168px}.pipeline{align-items:center;gap:var(--space-2);overscroll-behavior-x:contain;display:flex;overflow-x:auto}.pipeline-node{padding:var(--space-2) var(--space-3);border:1px solid var(--color-text);font-family:var(--font-mono);color:var(--color-text);transition:background-color var(--fx-dur-fast) var(--fx-ease-apple), color var(--fx-dur-fast) ease, border-color var(--fx-dur-fast) ease;background:0 0;flex:none;font-size:12px}.pipeline-node.is-lit{background:var(--color-accent-700);border-color:var(--color-accent-700);color:var(--color-bg)}:root[data-theme=dark] .pipeline-node.is-lit,:root[data-theme=artist] .pipeline-node.is-lit{color:var(--color-accent-900)}.pipeline-rule{background:color-mix(in srgb, var(--color-text) 25%, transparent);transform-origin:0;min-width:12px;height:1px;transition:background-color var(--fx-dur-fast) ease;flex:1}.pipeline-rule.is-lit{background:var(--color-accent)}.pipeline-vertical{flex-direction:column;align-items:stretch}.pipeline-vertical .pipeline-rule{align-self:center;width:1px;min-height:14px}.carousel{cursor:grab;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 88%,#0000 100%);mask-image:linear-gradient(90deg,#000 0 88%,#0000 100%)}.carousel.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.carousel-track{gap:var(--space-4);will-change:transform;display:flex}.carousel-card{width:268px;padding:var(--space-4);border:1px solid var(--color-divider);gap:var(--space-2);color:inherit;transition:border-color var(--fx-dur-fast) ease, background var(--fx-dur-fast) ease, transform var(--fx-dur-fast) var(--fx-ease-apple);flex:none;grid-template-rows:auto auto 1fr auto;text-decoration:none;display:grid}.carousel-card:hover{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 6%, transparent);transform:translateY(-2px)}.card-go{align-items:center;gap:var(--space-2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-700);font-size:11px;display:flex}.card-go-arrow{transition:transform var(--fx-dur-fast) var(--fx-ease-apple)}.carousel-card:hover .card-go-arrow{transform:translate(4px)}.card-doclist{padding:var(--space-2) 0 var(--space-2) 0;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);align-content:start;gap:4px;min-height:68px;margin:0;list-style:none;display:grid}.card-doclist li{color:var(--color-neutral-700);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.card-doclist li:before{content:"·";color:var(--color-accent);margin-right:6px}.card-mark{fill:none;stroke:var(--color-accent);stroke-width:1.5px;stroke-linecap:square;overflow:visible}.card-mark .mark-fill{fill:var(--color-accent);stroke:none}.card-mark .mark-inner{transform-origin:12px 12px;transition:transform var(--fx-dur-base) var(--fx-ease-apple)}.blueprint:hover .card-mark .mark-inner{transform:rotate(45deg)}.repo-stats{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.stat-card{border:1px solid var(--color-divider);padding:var(--space-3);gap:2px;display:grid}.stat-value{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-variant-numeric:tabular-nums;font-size:28px;line-height:1}.stat-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}@keyframes cta-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-accent) 45%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--color-accent) 0%, transparent)}}.pulse{animation:cta-pulse 2.6s var(--fx-ease-apple) infinite}.docs-layout{grid-template-columns:232px minmax(0,1fr) 196px;align-items:start;gap:0;display:grid}.docs-layout.is-two-col{grid-template-columns:232px minmax(0,1fr)}.docs-layout.is-two-col .docs-main{border-right:0}.docs-sidebar{max-height:calc(100vh - 80px);padding:var(--space-6) var(--space-4) var(--space-6) 0;border-right:1px solid var(--color-divider);gap:var(--space-6);align-content:start;display:grid;position:sticky;top:64px;overflow-y:auto}.docs-main{min-width:0;padding:var(--space-6) var(--space-6);border-right:1px solid var(--color-divider)}.docs-toc{max-height:calc(100vh - 80px);padding:var(--space-6) 0 var(--space-6) var(--space-4);gap:var(--space-4);align-content:start;display:grid;position:sticky;top:64px;overflow-y:auto}.sidebar-search{gap:var(--space-2);display:flex}.tree-section{margin:0 0 var(--space-3);border:0;padding:0}.tree-toggle{justify-content:space-between;align-items:center;gap:var(--space-2);cursor:pointer;width:100%;font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text);background:0 0;border:0;padding:3px 0;font-size:14px;display:flex}.tree-toggle .sign{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.tree-links{margin-top:var(--space-2);padding-left:var(--space-3);border-left:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);gap:3px;display:grid}.tree-links a{color:var(--color-neutral-700);padding:2px 0;font-size:13px;line-height:1.35;text-decoration:none}.tree-links a:hover{color:var(--color-text)}.tree-links a.is-current{color:var(--color-accent-700);font-weight:500}.tabs{border-bottom:1px solid var(--color-divider);margin:var(--space-4) 0;gap:0;display:flex}.read-progress{z-index:41;pointer-events:none;background:0 0;height:2px;position:fixed;inset:0 0 auto}.read-progress:after{content:"";height:100%;width:var(--read,0%);background:var(--color-accent);display:block}.tab-panel{animation:tab-panel-in var(--fx-dur-fast) var(--fx-ease-apple) both}@keyframes tab-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tab{padding:var(--space-2) var(--space-4);cursor:pointer;font-family:var(--font-body);color:var(--ink-soft);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:14px}.tab:hover{color:var(--color-text)}.tab.is-active{color:var(--color-text);border-bottom-color:var(--color-accent)}.toc-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.toc-list a{padding:2px 0 2px var(--space-2);color:var(--ink-soft);transition:border-color var(--fx-dur-micro) ease, color var(--fx-dur-micro) ease;border-left:2px solid #0000;font-size:12px;line-height:1.35;text-decoration:none;display:block}.toc-list a:hover{color:var(--color-text)}.toc-list a.is-current{color:var(--color-accent-700);border-left-color:var(--color-accent)}.toc-level-3 a{padding-left:var(--space-4)}.toc-level-4 a{padding-left:var(--space-6)}.breadcrumbs{gap:var(--space-2);font-family:var(--font-mono);letter-spacing:.04em;margin-bottom:var(--space-4);color:var(--ink-soft);flex-wrap:wrap;align-items:center;font-size:11px;display:flex}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover,.breadcrumbs .current{color:var(--color-accent-700)}.doc-rail-block{margin:var(--space-6) 0;padding:var(--space-4);border:1px solid var(--color-divider)}.doc-rail-title{margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.04em;font-size:16px}.doc-footer-grid{gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-divider);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.doc-nav-card,.related-doc-link{border:1px solid var(--color-divider);padding:var(--space-3);color:inherit;transition:border-color var(--fx-dur-fast) ease;background:0 0;text-decoration:none;display:block}.doc-nav-card:hover,.related-doc-link:hover{border-color:var(--color-accent)}.doc-nav-label{margin-bottom:var(--space-1);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);overflow-wrap:anywhere;font-size:10px;display:block}.related-docs-list{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.code-panel{background:var(--code-bg);color:var(--code-ink);padding:var(--space-4);position:relative;overflow-x:auto}.code-panel pre,.code-panel code{font-family:var(--font-mono);color:inherit;white-space:pre;background:0 0;margin:0;font-size:13px;line-height:1.6}.code-copy{right:var(--space-2);top:var(--space-2);padding:2px var(--space-2);color:#ffffffbf;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #fff6;font-size:10px;position:absolute}.code-copy:hover{color:#fff;border-color:#fff}.pg-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-divider);flex-wrap:wrap;display:flex}.pg-split{border-bottom:1px solid var(--color-divider);grid-template-columns:1fr 1fr;min-height:22rem;display:grid}.pg-editor{background:var(--code-bg);padding:var(--space-4);gap:var(--space-2);border-right:1px solid var(--color-text);grid-template-rows:auto 1fr;display:grid}.pg-editor textarea{resize:vertical;width:100%;min-height:18rem;color:var(--code-ink);caret-color:var(--color-accent-300);font-family:var(--font-mono);tab-size:2;background:0 0;border:0;font-size:13px;line-height:1.6}.pg-editor textarea:focus-visible{outline:1px solid var(--color-accent-400);outline-offset:4px}.pane-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.pg-editor .pane-label{color:#ffffff73}.pg-right{grid-template-rows:1fr auto;min-width:0;display:grid}.pg-output{padding:var(--space-4);gap:var(--space-2);border-bottom:1px solid var(--color-divider);align-content:start;min-width:0;display:grid}.pg-output pre{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--color-text);margin:0;font-size:13px;line-height:1.6}.pg-stats{gap:var(--space-6);padding:var(--space-3) var(--space-4);display:flex}.pg-stat{gap:2px;display:grid}.pg-stat .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.pg-hint{border:1px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, transparent);padding:var(--space-3);font-size:13px}.showcase-split{border-bottom:1px solid var(--color-divider);grid-template-columns:1.4fr 1fr;display:grid}.showcase-featured{padding:var(--space-6);border-right:1px solid var(--color-divider);gap:var(--space-4);align-content:start;display:grid}.showcase-plate{border:1px solid var(--color-text);background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--color-accent) 18%, transparent) 5px 6px);min-height:13rem;display:block;position:relative;overflow:hidden}.showcase-plate.has-code{background:var(--code-bg)}.plate-code{pointer-events:none}.plate-code pre{padding:var(--space-4);color:var(--code-ink);white-space:pre;background:0 0;border:0;margin:0;font-size:12px;line-height:1.55;overflow:hidden}.plate-code,.plate-outline{-webkit-mask-image:linear-gradient(#000 68%,#0000 100%);mask-image:linear-gradient(#000 68%,#0000 100%)}.plate-code .code-block:after{display:none}.chart-shell{margin:var(--space-6) 0;padding:var(--space-4);border:1px solid var(--color-divider);background:var(--diagram-bg)}.chart-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);margin-bottom:var(--space-4);font-size:13px;font-weight:600}.chart-rows{gap:5px;display:grid}.chart-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(84px,22%) 1fr auto;display:grid}.chart-label{color:var(--color-neutral-700);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.chart-track{border:1px solid var(--color-divider);background:color-mix(in srgb, var(--color-text) 3%, transparent);height:14px;position:relative}.chart-bar{width:var(--w);background:var(--color-accent);transform-origin:0;position:absolute;inset:0 auto 0 0}.chart-value{font-family:var(--font-mono);color:var(--color-accent-700);text-align:right;min-width:3ch;font-size:12px}html.js .chart-bar{transition:transform var(--fx-dur-slow) var(--fx-ease-apple);transition-delay:calc(var(--i,0) * 26ms);transform:scaleX(0)}html.js [data-fx].fx-in .chart-bar{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){html.js .chart-bar{transition:none;transform:none}}.plate-outline{padding:var(--space-4) var(--space-4) var(--space-4) calc(var(--space-4) + 18px);counter-reset:plate;pointer-events:none;gap:6px;margin:0;list-style:none;display:grid}.plate-outline li{font-family:var(--font-mono);color:var(--code-ink);white-space:nowrap;text-overflow:ellipsis;counter-increment:plate;font-size:12px;line-height:1.5;position:relative;overflow:hidden}.plate-outline li:before{content:counter(plate, decimal-leading-zero);color:var(--color-accent-400);position:absolute;left:-22px}.showcase-side{grid-template-rows:repeat(3,1fr);display:grid}.showcase-side-item{padding:var(--space-4);gap:var(--space-2);color:inherit;border-bottom:1px solid var(--color-divider);transition:background var(--fx-dur-fast) ease;align-content:space-between;text-decoration:none;display:grid}.showcase-side-item:hover{background:color-mix(in srgb, var(--color-accent) 7%, transparent)}.showcase-side-item:last-child{border-bottom:0}.plate-stamp{right:var(--space-3);bottom:var(--space-3);padding:3px var(--space-2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--code-ink);background:#00000061;border:1px solid #ffffff47;font-size:10px;position:absolute}.showcase-plate:not(.has-code) .plate-stamp{color:var(--color-text);border-color:var(--color-text);background:var(--color-bg)}.plate-sweep{pointer-events:none;background:linear-gradient(115deg,#0000 42%,#ffffff24 50%,#0000 58%);position:absolute;inset:0;transform:translate(-100%)}html.js .showcase-plate:hover .plate-sweep{animation:plate-sweep .9s var(--fx-ease-apple)}@keyframes plate-sweep{to{transform:translate(100%)}}.side-kind{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent-700);font-size:10px}.side-foot{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.side-arrow{color:var(--color-accent);opacity:0;transition:transform var(--fx-dur-fast) var(--fx-ease-apple), opacity var(--fx-dur-fast) ease;transform:translate(-5px)}.showcase-side-item:hover .side-arrow,.showcase-side-item:focus-visible .side-arrow{opacity:1;transform:none}.showcase-swap{animation:showcase-swap-in var(--fx-dur-base) var(--fx-ease-apple) both}@keyframes showcase-swap-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ext-split{border-bottom:1px solid var(--color-divider);grid-template-columns:1fr 1.15fr;display:grid}.ext-copy{padding:var(--space-8) var(--space-6);border-right:1px solid var(--color-divider)}.copy-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-divider);font-family:var(--font-mono);font-size:12px;display:flex}.copy-row button{cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-700);background:0 0;border:0;font-size:10px}.editor-mock{background:var(--code-bg);color:var(--code-ink);padding:var(--space-6);gap:var(--space-3);font-family:var(--font-mono);align-content:start;font-size:12.5px;line-height:1.7;display:grid}.editor-dots{gap:5px;display:flex}.editor-dots i{background:#ffffff4d;border-radius:50%;width:7px;height:7px}.editor-body{gap:var(--space-3);display:flex}.editor-gutter{color:#ffffff4d;text-align:right;flex:none;gap:0;min-width:1.4rem;display:grid}.editor-lines{flex:1;min-width:0}.editor-lines .kw{color:var(--color-accent-300)}.editor-lines .dim{color:#ffffff8c}.editor-suggest{padding:var(--space-2) var(--space-3);color:#ffffffb3;border:1px solid #ffffff40;gap:3px;font-size:11.5px;display:grid}.stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.step{gap:var(--space-2);padding-right:var(--space-4);align-content:start;display:grid}.step-head{align-items:center;gap:0;display:flex}.step-num{border:1px solid var(--color-text);width:24px;height:24px;font-family:var(--font-mono);flex:none;place-items:center;font-size:11px;display:grid}.step-num.is-done{background:var(--color-accent-700);border-color:var(--color-accent-700);color:var(--color-bg)}.step-rule{background:color-mix(in srgb, var(--color-text) 25%, transparent);flex:1;height:1px}.step-rule.is-done{background:var(--color-accent)}.step-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin:0;font-size:16px}.step-body{color:var(--ink-soft);margin:0;font-size:13px}.doc-content{color:var(--color-text);font-size:15.5px;line-height:1.75}.doc-content h2,.doc-content h3,.doc-content h4{margin-top:var(--space-8);letter-spacing:.01em;scroll-margin-top:72px;line-height:1.15}#panel-diagrams [data-fx]{opacity:1;clip-path:none;transform:none}.diagram-mermaid :is(.node,.cluster) :is(rect,polygon,circle,ellipse,path){fill:var(--color-surface)!important;stroke:var(--color-accent-700)!important}.diagram-mermaid :is(.nodeLabel,.edgeLabel,.cluster-label,.label){color:var(--color-text)!important;fill:var(--color-text)!important}.diagram-mermaid .edgeLabel :is(rect,.labelBkg,foreignObject>div){background-color:var(--color-bg)!important;fill:var(--color-bg)!important}.diagram-mermaid :is(.edgePath .path,.flowchart-link,.messageLine0,.messageLine1){stroke:var(--color-accent-700)!important}.diagram-mermaid :is(.marker,.arrowMarkerPath){fill:var(--color-accent-700)!important;stroke:var(--color-accent-700)!important}.diagram-mermaid .edgePath .path{fill:none!important}.heading-anchor{margin-left:var(--space-2);font-family:var(--font-mono);color:var(--color-accent-700);opacity:0;transition:opacity var(--fx-dur-fast) ease;font-size:.7em;text-decoration:none}.doc-content :is(h2,h3,h4):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.doc-content>:first-child{margin-top:0}.doc-content pre{padding:var(--space-4);background:var(--code-bg);color:var(--code-ink);font-family:var(--font-mono);border:1px solid var(--color-divider);font-size:13px;line-height:1.6;overflow-x:auto}.doc-content code{font-family:var(--font-mono);background:var(--inline-code-bg);padding:.1em .3em;font-size:.92em}.doc-content pre code{background:0 0;padding:0}.code-block{margin:var(--space-4) 0;position:relative}.code-block pre{margin:0}.code-block[data-lang]:after{content:attr(data-lang);font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-300);background:var(--code-bg);border-left:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);pointer-events:none;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:0;right:0}.doc-content pre.shiki:not([style*=color]){color:var(--code-ink)}.doc-content blockquote{border-left:2px solid var(--color-accent);padding:var(--space-1) var(--space-4);background:var(--quote-bg);margin-left:0}.doc-content table{border-collapse:collapse;width:100%;margin:var(--space-6) 0;font-size:14px;display:block;overflow-x:auto}.doc-content th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider);font-size:11px}.doc-content td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb, var(--color-text) 8%, transparent);vertical-align:top}.doc-content img{max-width:100%;height:auto}.diagram-shell{margin:var(--space-6) 0;padding:var(--space-4);border:1px solid var(--color-divider);background:var(--diagram-bg);overflow-x:auto}.diagram-shell figcaption{margin-top:var(--space-2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:10px}.diagram-mermaid{min-height:2.5rem}.diagram-image{max-width:100%;height:auto;display:block}.diagram-error{padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);margin:0;font-size:14px}.quick-search{gap:var(--space-2);align-items:center;display:flex}.search-form-grid{gap:var(--space-3);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.search-field{gap:var(--space-1);grid-column:span 3;display:grid}.search-field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:10px}.search-field input,.search-field select,.quick-search input{min-height:34px;padding:5px var(--space-3);font-family:var(--font-body);color:var(--color-text);background:var(--input-bg);border:1px solid var(--color-divider);border-radius:0;font-size:14px}.search-actions{grid-column:span 12;justify-content:flex-end;display:flex}.search-snippet{margin:0 0 var(--space-2);color:var(--ink-soft);font-size:14px}.search-snippet mark{background:color-mix(in srgb, var(--color-accent) 32%, transparent);color:var(--color-text);padding:.05rem .15rem}@media (width<=1080px){.docs-layout{grid-template-columns:208px minmax(0,1fr)}.docs-toc{display:none}.docs-main{border-right:0}}@media (width<=900px){.site-header-inner{gap:var(--space-3);flex-wrap:wrap}.site-nav{width:100%;padding-bottom:var(--space-1);order:3;margin-left:0;overflow-x:auto}.header-right{margin-left:auto}.hero-inner{grid-template-columns:minmax(0,1fr)}.mascot-slot{width:120px;height:120px}.two-up,.three-up,.four-up,.repo-stats,.stepper,.showcase-split,.ext-split,.pg-split{grid-template-columns:minmax(0,1fr)}.showcase-featured,.ext-copy,.pg-editor{border-right:0;border-bottom:1px solid var(--color-divider)}.step{padding-right:0;padding-bottom:var(--space-4)}.step-rule{display:none}.docs-layout{grid-template-columns:minmax(0,1fr)}.docs-sidebar{border-right:0;border-bottom:1px solid var(--color-divider);max-height:none;padding:var(--space-4) 0;position:static}.docs-main{padding:var(--space-6) 0}.site-footer-inner{gap:var(--space-6);grid-template-columns:1fr 1fr}.card,.search-field{grid-column:span 12}.cta-cluster{flex-direction:column;align-items:stretch}.cta-primary,.cta-secondary{width:100%}.search-actions{justify-content:stretch}.quick-search{width:100%}.quick-search input{flex:1}}@media (width<=560px){.site-footer-inner{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}html.js [data-fx]{opacity:1;clip-path:none;transform:none}}
