:root{--p46v: #a01c2f;--p46v-hi: #d0414f;--p46v-lo: #5f0d1a;--p46v-t: #e05a6b;--p45p: #85898e;--p45p-hi: #a9adb2;--p45p-lo: #54575b;--p45p-t: #b0b4b9;--p47c: #566269;--p47c-hi: #79868f;--p47c-lo: #333d43;--p47c-t: #9fb0b5;--p45b: #2e5a8b;--p45b-hi: #4a7fb8;--p45b-lo: #17304d;--p45b-t: #6ea3dd;--p46g: #55585a;--p46g-hi: #777b7e;--p46g-lo: #323436;--p46g-t: #9da2a6;--p25d: #f3f2ed;--p25d-hi: #ffffff;--p25d-lo: #cfceca;--p25d-t: #f3f2ed;--p42m: #1c2f4e;--p42m-hi: #33507e;--p42m-lo: #0e1728;--p42m-t: #7f9dcb;--p41w: #121316;--p41w-hi: #2c2e33;--p41w-lo: #000000;--p41w-t: #aab2bd;--ink-dark: #14161a;--paint: var(--p46g);--paint-hi: var(--p46g-hi);--paint-lo: var(--p46g-lo);--accent: var(--p46g-t);--cta-text: #fff;--bg: color-mix(in srgb, var(--paint) 18%, #04060a);--hair: color-mix(in srgb, var(--accent) 26%, transparent);--hair-strong: color-mix(in srgb, var(--accent) 44%, transparent);--card: #07080a;--card-line: rgba(255, 255, 255, .07);--card-shadow: 0 16px 34px rgba(2, 5, 10, .5);--text: rgba(255, 255, 255, .93);--dim: #a9aeb8;--faint: #7e8695;--warn: #e8a13c;--warn-hair: color-mix(in srgb, var(--warn) 36%, transparent);--body: "Inter", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--col: 58rem;--gutter: 1.4rem;--edge: max(var(--gutter), calc((100vw - var(--col)) / 2))}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:4.2rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:radial-gradient(80rem 42rem at 74% -12rem,color-mix(in srgb,var(--paint-hi) 30%,transparent),transparent 70%) no-repeat,var(--bg);color:var(--dim);font-family:var(--body);font-size:1.02rem;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .45s ease}::selection{background:var(--paint);color:var(--cta-text)}a{color:var(--text);text-decoration:underline;text-decoration-color:var(--hair-strong);text-underline-offset:3px}a:hover{text-decoration-color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:6px}strong{color:var(--text);font-weight:600}code{font-family:var(--mono)}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--card);color:var(--text);padding:.6rem 1rem;border-radius:0 0 .6rem}.skip:focus-visible{left:0}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.4rem;padding:1.05rem var(--edge) .95rem;border-bottom:1px solid var(--hair);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background-color .45s ease}@supports not (backdrop-filter: blur(1px)){.topbar{background:var(--bg)}}.topbar .id{font-family:"Audiowide",var(--body);font-size:.92rem;letter-spacing:.02em;color:var(--text);text-decoration:none}.topbar nav{display:flex;align-items:baseline;gap:1.35rem;flex-wrap:wrap;font-size:.78rem;letter-spacing:.05em}.topbar nav a{color:var(--faint);text-decoration:none}.topbar nav a:hover{color:var(--text)}.topbar nav a[aria-current=true]{color:var(--accent)}.topbar nav a.wiki:after{content:"↗";margin-left:.3em;font-size:.85em;opacity:.7}.topbar nav a.build{font-family:var(--mono);color:var(--accent)}.topbar nav a.build:hover{color:var(--text)}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:2.5rem 4rem;padding:4.2rem var(--edge) 3.4rem}h1.mark{margin-top:.7rem;font-family:"Audiowide",var(--body);font-weight:400;letter-spacing:-.01em;line-height:1;font-size:clamp(2.6rem,6.5vw,4.6rem);color:var(--text)}.hero-copy .tagline{margin-top:1rem;font-size:clamp(1.1rem,2vw,1.3rem);font-weight:600;color:var(--text);letter-spacing:-.01em}.hero-copy p.lede{margin-top:1.1rem;max-width:32em;font-size:.98rem}.cta-row{margin-top:1.8rem;display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}.cta,.urlbar button{font-weight:600;color:var(--cta-text);background:linear-gradient(180deg,var(--paint-hi),var(--paint) 55%,var(--paint-lo));border-radius:999px}.cta:hover,.urlbar button:hover{filter:brightness(1.1)}.cta{display:inline-block;text-decoration:none;font-size:.96rem;padding:.85rem 2.2rem;box-shadow:0 6px 22px color-mix(in srgb,var(--paint) 40%,transparent),inset 0 1px #ffffff47}.cta-row .alt{font-size:.8rem;color:var(--faint)}.paintwall{justify-self:end;width:min(26rem,100%)}.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.chip{position:relative;aspect-ratio:1;border:0;border-radius:1rem;cursor:pointer;background:linear-gradient(150deg,var(--ch),var(--cb) 52%,var(--cl));box-shadow:0 10px 22px #02050a73,inset 0 1px #ffffff38;transition:transform .18s ease,box-shadow .18s ease}.chip:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,#ffffff4d,#fff0 46%);pointer-events:none}.chip:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(rgba(255,255,255,.5) .5px,transparent .6px);background-size:3px 3px;opacity:.1;pointer-events:none}.chip:hover{transform:translateY(-4px);box-shadow:0 16px 30px #02050a8c,inset 0 1px #ffffff47}.chip[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--text),0 10px 22px #02050a80}.chip .code{position:absolute;left:.65rem;bottom:.5rem;font-size:.6rem;letter-spacing:.1em;color:var(--ink, #fff);opacity:.55}.c46v{--cb: var(--p46v);--ch: var(--p46v-hi);--cl: var(--p46v-lo)}.c45p{--cb: var(--p45p);--ch: var(--p45p-hi);--cl: var(--p45p-lo)}.c47c{--cb: var(--p47c);--ch: var(--p47c-hi);--cl: var(--p47c-lo)}.c45b{--cb: var(--p45b);--ch: var(--p45b-hi);--cl: var(--p45b-lo)}.c46g{--cb: var(--p46g);--ch: var(--p46g-hi);--cl: var(--p46g-lo)}.c25d{--cb: var(--p25d);--ch: var(--p25d-hi);--cl: var(--p25d-lo)}.c42m{--cb: var(--p42m);--ch: var(--p42m-hi);--cl: var(--p42m-lo)}.c41w{--cb: var(--p41w);--ch: var(--p41w-hi);--cl: var(--p41w-lo)}.c45p,.c25d{--ink: var(--ink-dark)}.wearing{margin-top:1rem;font-size:.78rem;letter-spacing:.06em;color:var(--text);text-align:right}.wearing:before{content:"wearing ";color:var(--faint)}@keyframes boot{0%{opacity:0;transform:translateY(7px)}}.chips .chip{animation:boot .4s both}.chips .chip:nth-child(2){animation-delay:.05s}.chips .chip:nth-child(3){animation-delay:.1s}.chips .chip:nth-child(4){animation-delay:.15s}.chips .chip:nth-child(5){animation-delay:.2s}.chips .chip:nth-child(6){animation-delay:.25s}.chips .chip:nth-child(7){animation-delay:.3s}.chips .chip:nth-child(8){animation-delay:.35s}@media(prefers-reduced-motion:reduce){.chips .chip{animation:none}.chip,.chip:hover{transition:none;transform:none}}.secindex{padding:0 var(--edge)}.secindex .secindex-label{font-size:.72rem;letter-spacing:.14em;color:var(--faint);text-transform:uppercase}.secindex-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.6rem}.secindex-grid a{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.6rem;padding:.65rem .8rem;border:1px solid var(--hair);border-radius:.7rem;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.secindex-grid a:hover{border-color:var(--hair-strong);background:color-mix(in srgb,var(--paint) 8%,transparent)}.secindex-grid .n{font-family:var(--mono);font-size:.68rem;color:var(--accent)}.secindex-grid .t{font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}main section{padding:3.1rem var(--edge) .4rem}.sec .idx{font-size:.75rem;letter-spacing:.14em;color:var(--accent)}.sec h2{margin-top:.45rem;font-weight:700;letter-spacing:-.02em;line-height:1.05;font-size:clamp(1.55rem,3.2vw,2.05rem);color:var(--text)}.sec .intro{margin-top:.7rem;max-width:42em;font-size:.96rem}.wiki-more{margin-top:1.3rem;font-size:.85rem;color:var(--faint)}.wiki-more a{color:var(--accent)}dl.ledger{margin-top:1.5rem;border-top:1px solid var(--hair)}dl.ledger>div{display:grid;grid-template-columns:minmax(11rem,15rem) 1fr;gap:.4rem 2.2rem;padding:1.05rem 0 1.15rem;border-bottom:1px solid var(--hair)}dl.ledger dt{font-weight:600;color:var(--text);letter-spacing:-.01em}dl.ledger dd{font-size:.94rem;line-height:1.58;max-width:40em}dl.ledger dd code{font-size:.85em;color:var(--accent)}.alpha-sec h2{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.alpha-tag{font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn-hair);border-radius:999px;padding:.2rem .6rem}.alpha-warn{margin-top:1.3rem;max-width:44em;border:1px solid var(--warn-hair);border-left:3px solid var(--warn);border-radius:.7rem;background:color-mix(in srgb,var(--warn) 7%,transparent);padding:1rem 1.25rem 1.1rem;font-size:.93rem}.alpha-warn .warn-label{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--warn)}.alpha-warn>p+p{margin-top:.55rem}.alpha-sec .credit{margin-top:1.3rem;max-width:42em;font-size:.88rem;color:var(--faint)}.demo{margin-top:1.6rem;max-width:52rem}.settings-mock{background:#000;border:1px solid var(--card-line);border-radius:1.5rem;box-shadow:var(--card-shadow);padding:1.4rem 1.5rem 1.2rem;font-size:.9rem}.settings-mock .mock-title{font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;color:var(--faint);margin-bottom:.6rem}.settings-mock ol{list-style:none}.settings-mock li{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:.55rem 0;border-top:1px solid rgba(255,255,255,.06)}.settings-mock li .lbl{color:var(--text)}.settings-mock li .sub{display:block;font-size:.76rem;color:var(--faint)}.toggle{flex:0 0 auto;width:2.3rem;height:1.25rem;border-radius:999px;position:relative;border:1px solid rgba(255,255,255,.14)}.toggle:after{content:"";position:absolute;top:.14rem;left:.16rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--faint)}.toggle.on{background:linear-gradient(180deg,var(--paint-hi),var(--paint));border-color:transparent}.toggle.on:after{left:auto;right:.16rem;background:#fff}ol.steps{list-style:none;max-width:44em;margin-top:1.5rem;border-top:1px solid var(--hair);counter-reset:step}ol.steps li{counter-increment:step;display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;padding:.95rem 0 1.05rem;border-bottom:1px solid var(--hair)}ol.steps li:before{content:counter(step,decimal-leading-zero);font-size:.8rem;color:var(--accent);padding-top:.25rem}ol.steps strong{display:block}ol.steps span{font-size:.93rem}.device-screen{margin-top:1.6rem;max-width:42rem;background:radial-gradient(120% 90% at 50% 0%,#ffffff0b,#fff0 55%),var(--card);border:1px solid var(--card-line);border-radius:2.2rem;padding:1.7rem 1.7rem 1.6rem;box-shadow:var(--card-shadow)}.device-screen .screen-label{font-size:.72rem;letter-spacing:.09em;color:var(--faint)}.urlbar{margin-top:1rem;background:#000;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.85rem .85rem .85rem 1.4rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.urlbar code{font-size:.95rem;color:var(--text);flex:1 1 15rem;word-break:break-all}.urlbar code:before{content:"> ";color:var(--faint)}.urlbar button{cursor:pointer;border:0;font-family:var(--body);font-size:.88rem;padding:.65rem 1.4rem;box-shadow:inset 0 1px #ffffff40}.device-screen .hint{margin-top:.9rem;font-size:.88rem}.setup-note,.warn{border-left:2px solid var(--hair-strong);padding-left:1rem}.setup-note{margin-top:1.4rem;max-width:42em;font-size:.93rem}.warn{margin-top:1.6rem;max-width:42rem;font-size:.9rem}.log-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;max-width:46em}.log-head .stamp{font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;color:var(--accent);text-decoration:none}.log-head .stamp:hover{color:var(--text)}.log-head .stamp:before{content:"build ";color:var(--faint)}ol.log{list-style:none;margin-top:1.5rem;max-width:46em;border-top:1px solid var(--hair)}ol.log>li{display:grid;grid-template-columns:7.2rem 1fr;gap:1.1rem;padding:.95rem 0 1.05rem;border-bottom:1px solid var(--hair)}ol.log time{font-family:var(--mono);font-size:.76rem;letter-spacing:.05em;color:var(--accent);padding-top:.25rem}ol.log .rel{display:grid;align-content:start;gap:.1rem;padding-top:.25rem}ol.log .rel .ver{font-family:var(--mono);font-size:.76rem;font-weight:500;letter-spacing:.05em;color:var(--accent)}ol.log .rel time{font-size:.7rem;color:var(--faint);padding-top:0}ol.log strong{display:block}ol.log>li>div>span{font-size:.92rem}ol.log ul{list-style:none;margin-top:.85rem;display:grid;gap:.5rem}ol.log ul li{display:block;position:relative;padding:0 0 0 1rem;border:0;font-size:.92rem;line-height:1.55}ol.log ul li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.65}ol.log ul b{color:var(--text);font-weight:600}ol.log ul ul{margin-top:.5rem}.paintline{margin-top:5rem;height:3px;background:linear-gradient(90deg,var(--p46v) 0 12.5%,var(--p45p) 0 25%,var(--p47c) 0 37.5%,var(--p45b) 0 50%,var(--p46g) 0 62.5%,var(--p25d) 0 75%,var(--p42m) 0 87.5%,var(--p41w) 0 100%)}.foot{padding:2.3rem var(--edge) 3.2rem;font-size:.9rem}.foot .thanks{max-width:44em}.foot p+p{margin-top:.8em}.foot .signoff{margin-top:2rem;font-size:.78rem;letter-spacing:.08em;color:var(--accent)}@media(max-width:860px){.hero{grid-template-columns:1fr;padding-top:3rem;padding-bottom:2.6rem}.paintwall{justify-self:start;width:min(21rem,100%)}.chips{display:none}.wearing{text-align:left}dl.ledger>div{grid-template-columns:1fr;gap:.25rem}ol.log>li{grid-template-columns:1fr;gap:.3rem}ol.log time{padding-top:0}ol.log .rel{display:flex;gap:.5rem;align-items:baseline;padding-top:0}main section{padding-top:2.6rem}.topbar{padding-top:.85rem;padding-bottom:.8rem}html{scroll-padding-top:5.4rem}}@font-face{font-family:Audiowide;src:url(/fonts/Audiowide-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
