@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-2:#f6f6f7;--bg-3:#ededef;--fg:#0a0a0a;--fg-2:#3f3f46;--fg-3:#65656e;--fg-4:#a1a1aa;--line:#e6e6e9;--line-2:#d4d4d8;--accent:#2f5bff;--accent-ink:#fff;--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--good:#15803d;--warn:#b45309;--bad:#dc2626;--good-soft:color-mix(in srgb, var(--good) 9%, transparent);--warn-soft:color-mix(in srgb, var(--warn) 10%, transparent);--bad-soft:color-mix(in srgb, var(--bad) 9%, transparent);--fs-xs:.75rem;--fs-sm:.85rem;--fs-md:.95rem;--fs-lg:1.1rem;--fs-xl:1.35rem;--fs-2xl:1.75rem;--fs-3xl:clamp(2rem, 4.5vw, 2.8rem);--fs-hero:clamp(2.3rem, 5.6vw, 4.1rem);--lh:1.5;--track-tight:-.03em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-24:96px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--shadow-1:0 1px 2px #0000000f;--shadow-2:0 4px 16px -4px #0000001f;--shadow-3:0 20px 60px -20px #0000002e;--t-fast:.12s;--t-med:.2s;--t-slow:.4s;--ease:cubic-bezier(.2, .7, .2, 1);--sidebar:240px;--bottom-nav:64px;--tap:44px;--gutter:clamp(16px, 4vw, 44px);--sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;--focus:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--bg-2:#141416;--bg-3:#1c1c1f;--fg:#fafafa;--fg-2:#d4d4d8;--fg-3:#a1a1aa;--fg-4:#5b5b63;--line:#232326;--line-2:#2e2e33;--accent:#6f8cff;--accent-ink:#0a0a0a;--good:#4ade80;--warn:#fbbf24;--bad:#f87171;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px -4px #00000080;--shadow-3:0 20px 60px -20px #0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--bg-2:#141416;--bg-3:#1c1c1f;--fg:#fafafa;--fg-2:#d4d4d8;--fg-3:#a1a1aa;--fg-4:#5b5b63;--line:#232326;--line-2:#2e2e33;--accent:#6f8cff;--accent-ink:#0a0a0a;--good:#4ade80;--warn:#fbbf24;--bad:#f87171;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px -4px #00000080;--shadow-3:0 20px 60px -20px #0009}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);line-height:var(--lh);min-height:100dvh;margin:0;font-size:15px}h1,h2,h3,h4{letter-spacing:var(--track-tight);margin:0;font-weight:600;line-height:1.15}p{margin:0}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible,summary:focus-visible{box-shadow:var(--focus);border-radius:var(--r-sm);outline:none}code,.mono{font-family:var(--mono);font-size:.9em}.mono{overflow-wrap:anywhere}td .mono,td.mono,.pill.mono{overflow-wrap:normal;white-space:nowrap}.small{font-size:var(--fs-sm)}.muted{color:var(--fg-3)}.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:var(--s-4);z-index:100;padding:var(--s-2) var(--s-4);background:var(--fg);color:var(--bg);border-radius:var(--r-sm);position:absolute;top:-100px}.skip:focus{top:var(--s-4)}::selection{background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{font:inherit;font-size:var(--fs-md);justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-4);border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--bg);color:var(--fg);cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), opacity var(--t-fast);font-weight:500;text-decoration:none;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--bg-2);border-color:var(--fg-4)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover:not(:disabled){background:var(--fg-2);border-color:var(--fg-2)}.btn.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.accent:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.danger{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.btn.danger:hover:not(:disabled){background:var(--bad);color:#fff;border-color:var(--bad)}.btn.ghost{color:var(--fg-2);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--bg-2);color:var(--fg);border-color:#0000}.btn.sm{min-height:36px;padding:0 var(--s-3);font-size:var(--fs-sm)}.btn.lg{min-height:52px;padding:0 var(--s-6);font-size:var(--fs-lg)}.btn.icon{width:var(--tap);padding:0}.btn.loading{color:#0000}.btn.loading:after{content:"";width:16px;height:16px;color:var(--fg-3);border:2px solid;border-right-color:#0000;border-radius:50%;animation:.8s linear infinite spin;position:absolute}.btn.primary.loading:after{color:var(--bg)}@keyframes spin{to{transform:rotate(360deg)}}.btn-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.field{gap:var(--s-1);flex-direction:column;flex:1;min-width:0;display:flex}.field>label,.field-label{font-size:var(--fs-sm);color:var(--fg-2);font-weight:500}.field .hint{font-size:var(--fs-xs);color:var(--fg-3)}.field .err{font-size:var(--fs-xs);color:var(--bad)}.input,.field input,.field textarea,.field select,select{font:inherit;min-height:var(--tap);padding:10px var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg);color:var(--fg);width:100%;transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;font-size:16px}.field textarea{resize:vertical;min-height:96px}.field input:hover,.field textarea:hover,select:hover{border-color:var(--fg-4)}.field input:focus-visible,.field textarea:focus-visible,select:focus-visible{border-color:var(--fg);box-shadow:none}.field input:disabled,.field textarea:disabled,select:disabled{background:var(--bg-2);color:var(--fg-3);cursor:not-allowed}.field[data-invalid=true] input,.field[data-invalid=true] textarea{border-color:var(--bad)}.form-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.search{align-items:center;gap:var(--s-2);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:0 var(--s-4);color:var(--fg-3);min-height:var(--tap);background:var(--bg);flex:1;max-width:480px;display:flex}.search:focus-within{border-color:var(--fg);box-shadow:var(--focus)}.search input{min-width:0;color:var(--fg);background:0 0;border:0;outline:none;flex:1;min-height:0;padding:0;font-size:16px}.pill{align-items:center;gap:var(--s-1);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--fs-xs);white-space:nowrap;color:var(--fg-2);background:var(--bg);padding:2px 10px;font-weight:500;line-height:1.6;display:inline-flex}.pill.good{color:var(--good);border-color:color-mix(in srgb, var(--good) 35%, transparent);background:var(--good-soft)}.pill.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:var(--warn-soft)}.pill.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, transparent);background:var(--bad-soft)}.pill.accent{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft)}.card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);padding:var(--s-5);min-width:0}.card+.card,.stack>*+*{margin-top:var(--s-4)}.card-head{justify-content:space-between;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-3);flex-wrap:wrap;align-items:flex-start;display:flex}.card-head h2{font-size:var(--fs-lg)}.card-head p{color:var(--fg-3);font-size:var(--fs-sm);max-width:70ch;margin-top:2px}.card-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.grid-2{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;display:grid}.grid-3{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;display:grid}.grid-2>.card,.grid-3>.card{margin:0}.stats{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.stat{background:var(--bg-2);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);min-width:0}.stat-label{color:var(--fg-3);font-size:var(--fs-xs);font-weight:500}.stat-value{font-family:var(--mono);font-size:var(--fs-xl);margin-top:var(--s-1);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;font-weight:500}.stat.accent{background:var(--fg);color:var(--bg)}.stat.accent .stat-label{color:color-mix(in srgb, var(--bg) 65%, transparent)}.stat.danger .stat-value{color:var(--bad)}.stat.good .stat-value{color:var(--good)}.kv{gap:var(--s-2) var(--s-5);font-size:var(--fs-sm);grid-template-columns:max-content 1fr;margin:0;display:grid}.kv dt{color:var(--fg-3)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.codeline{align-items:center;gap:var(--s-2);background:var(--fg);color:var(--bg);border-radius:var(--r-md);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);display:flex}.codeline code{white-space:nowrap;font-size:var(--fs-sm);scrollbar-width:thin;flex:1;overflow-x:auto}.codeline .btn{color:inherit;border-color:color-mix(in srgb, var(--bg) 30%, transparent);background:0 0}.codeline .btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg) 12%, transparent)}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 calc(var(--s-2) * -1);padding:0 var(--s-2);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}th,td{text-align:left;padding:10px var(--s-2);border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--fg-3);font-weight:500;font-size:var(--fs-xs);white-space:nowrap}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover td{background:var(--bg-2)}tr.bad td{color:var(--bad)}tr.good td{color:var(--good)}.segmented{border-radius:var(--r-pill);background:var(--bg-2);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{font:inherit;padding:0 var(--s-3);border-radius:var(--r-pill);min-height:36px;font-size:var(--fs-sm);color:var(--fg-3);cursor:pointer;text-transform:capitalize;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0}.segmented button:hover{color:var(--fg)}.segmented button[aria-pressed=true]{background:var(--bg);color:var(--fg);box-shadow:var(--shadow-1)}.tabs{gap:var(--s-1);border-bottom:1px solid var(--line);margin-bottom:var(--s-4);scrollbar-width:none;display:flex;overflow-x:auto}.tabs a,.tabs button{font:inherit;font-size:var(--fs-sm);color:var(--fg-3);padding:var(--s-3) var(--s-3);cursor:pointer;white-space:nowrap;min-height:var(--tap);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500;text-decoration:none}.tabs a:hover,.tabs button:hover{color:var(--fg)}.tabs a[aria-current=page],.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--fg)}.empty{text-align:center;align-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-4);color:var(--fg-3);border:1px dashed var(--line-2);border-radius:var(--r-md);flex-direction:column;display:flex}.empty h3{font-size:var(--fs-md);color:var(--fg)}.empty p{font-size:var(--fs-sm);max-width:44ch}.alert{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-2);font-size:var(--fs-sm);align-items:flex-start;display:flex}.alert.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, transparent);background:var(--bad-soft)}.alert.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:var(--warn-soft)}.alert.good{color:var(--good);border-color:color-mix(in srgb, var(--good) 35%, transparent);background:var(--good-soft)}.alert pre{white-space:pre-wrap;font-family:var(--mono);font-size:var(--fs-xs);margin:0}.skeleton{background:linear-gradient(90deg, var(--bg-2), var(--bg-3), var(--bg-2));border-radius:var(--r-sm);background-size:200% 100%;min-height:1em;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.toaster{bottom:calc(var(--bottom-nav) + var(--s-3) + env(safe-area-inset-bottom));z-index:90;gap:var(--s-2);pointer-events:none;flex-direction:column;width:min(420px,100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--fg);color:var(--bg);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);box-shadow:var(--shadow-2);gap:var(--s-3);animation:rise var(--t-med) var(--ease);align-items:flex-start;display:flex}.toast.bad{background:var(--bad);color:#fff}.toast .btn{color:inherit;border-color:#0000;min-height:32px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.json,.deliverable{font-family:var(--mono);background:var(--bg-2);padding:var(--s-3);white-space:pre-wrap;word-break:break-word;border-radius:var(--r-md);max-height:460px;margin:0;font-size:12px;overflow:auto}.deliverable{font-family:var(--sans);max-height:720px;font-size:13.5px}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:var(--s-2) 0 var(--s-2) var(--s-4);border-left:2px solid var(--line);font-size:var(--fs-sm);gap:var(--s-2);grid-template-columns:150px 1fr;display:grid}.timeline li.good{border-color:var(--good)}.timeline li.warn{border-color:var(--warn)}.timeline li.bad{border-color:var(--bad);color:var(--bad)}.timeline .kind{color:var(--fg-3);font-family:var(--mono);font-size:var(--fs-xs);padding-top:2px}details.disclosure{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4)}details.disclosure summary{cursor:pointer;align-items:center;gap:var(--s-2);min-height:28px;font-weight:500;list-style:none;display:flex}details.disclosure summary::-webkit-details-marker{display:none}details.disclosure summary:before{content:"";width:6px;height:6px;transition:transform var(--t-fast);margin-right:var(--s-1);border-bottom:1.5px solid;border-right:1.5px solid;transform:rotate(-45deg)}details.disclosure[open] summary:before{transform:rotate(45deg)}details.disclosure+details.disclosure{margin-top:var(--s-2)}.bars{gap:var(--s-2);display:grid}.bar{gap:var(--s-3);font-size:var(--fs-sm);grid-template-columns:minmax(80px,140px) 1fr auto;align-items:center;display:grid}.bar .track{background:var(--bg-3);border-radius:var(--r-pill);height:10px;overflow:hidden}.bar .fill{background:var(--fg);border-radius:var(--r-pill);height:100%;transition:width var(--t-slow) var(--ease)}.bar .fill.accent{background:var(--accent)}.bar .fill.bad{background:var(--bad)}.bar .n{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--fg-2)}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);height:100dvh;padding:var(--s-4) var(--s-3);background:var(--bg-2);align-self:start;gap:var(--s-2);flex-direction:column;display:flex;position:sticky;top:0}.side-top{padding:var(--s-1) var(--s-2) var(--s-3);justify-content:space-between;align-items:center;display:flex}.side-nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.side-nav a{align-items:center;gap:var(--s-3);min-height:var(--tap);padding:0 var(--s-3);border-radius:var(--r-md);color:var(--fg-2);font-size:var(--fs-md);transition:background var(--t-fast), color var(--t-fast);text-decoration:none;display:flex}.side-nav a:hover{background:var(--bg-3);color:var(--fg)}.side-nav a[aria-current=page]{background:var(--fg);color:var(--bg)}.side-group{font-size:var(--fs-xs);color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em;padding:var(--s-3) var(--s-3) var(--s-1)}.side-foot{gap:var(--s-1);padding:var(--s-3) var(--s-2) 0;border-top:1px solid var(--line);font-size:var(--fs-sm);flex-direction:column;display:flex}.who{color:var(--fg-3);font-family:var(--mono);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mode{align-items:center;gap:var(--s-2);font-weight:500;display:inline-flex}.mode i{background:var(--warn);border-radius:50%;width:7px;height:7px}.mode.live i{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 20%, transparent)}.content{min-width:0;padding:var(--s-6) var(--gutter) calc(var(--s-16) + env(safe-area-inset-bottom));width:100%;max-width:1280px}.topbar{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);min-height:var(--tap);display:flex}.topbar-left{align-items:center;gap:var(--s-2);min-width:0;display:flex}.crumbs{align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--fg-3);min-width:0;display:flex}.crumbs a{min-height:var(--tap);align-items:center;text-decoration:none;display:inline-flex}.crumbs a:hover{color:var(--fg)}.crumbs span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.page-head{margin-bottom:var(--s-5);justify-content:space-between;align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-2xl)}.page-head p{margin-top:var(--s-1);color:var(--fg-3);max-width:70ch}.bottom-nav{display:none}.kbd{font-family:var(--mono);font-size:var(--fs-xs);border:1px solid var(--line-2);color:var(--fg-3);background:var(--bg);border-radius:6px;padding:1px 6px}.palette-overlay{z-index:80;animation:fade var(--t-fast);background:#0006;position:fixed;inset:0}.palette{z-index:81;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);width:min(620px,100vw - 32px);box-shadow:var(--shadow-3);animation:rise var(--t-med) var(--ease);position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.palette [cmdk-input]{width:100%;font:inherit;padding:var(--s-4) var(--s-5);border:0;border-bottom:1px solid var(--line);color:var(--fg);background:0 0;outline:none;font-size:16px}.palette [cmdk-list]{max-height:min(50vh,420px);padding:var(--s-2);overflow-y:auto}.palette [cmdk-group-heading]{font-size:var(--fs-xs);color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em;padding:var(--s-3) var(--s-3) var(--s-1)}.palette [cmdk-item]{align-items:center;gap:var(--s-3);padding:0 var(--s-3);min-height:var(--tap);border-radius:var(--r-sm);font-size:var(--fs-md);cursor:pointer;color:var(--fg-2);display:flex}.palette [cmdk-item][data-selected=true]{background:var(--bg-2);color:var(--fg)}.palette [cmdk-item] .hint{font-size:var(--fs-xs);color:var(--fg-3);margin-left:auto}.palette [cmdk-empty]{padding:var(--s-6);text-align:center;color:var(--fg-3);font-size:var(--fs-sm)}@keyframes fade{0%{opacity:0}}.dialog-overlay{z-index:80;animation:fade var(--t-fast);background:#00000073;position:fixed;inset:0}.dialog{z-index:81;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-3);padding:var(--s-6);animation:rise var(--t-med) var(--ease);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.dialog h2{font-size:var(--fs-lg);margin-bottom:var(--s-2)}.dialog p{color:var(--fg-2);font-size:var(--fs-sm)}.dialog pre{white-space:pre-wrap;font-size:var(--fs-xs);background:var(--bg-2);padding:var(--s-3);border-radius:var(--r-sm);margin:var(--s-3) 0}.dialog .btn-row{margin-top:var(--s-4);justify-content:flex-end}.landing{overflow-x:clip}.lnav{z-index:10;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--gutter);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:64px;display:flex;position:sticky;top:0}.lnav-links{gap:var(--s-6);font-size:var(--fs-sm);color:var(--fg-2);display:flex}.lnav-links a{min-height:var(--tap);align-items:center;text-decoration:none;display:inline-flex}.lnav-links a:hover{color:var(--fg)}.wordmark{letter-spacing:-.04em;color:inherit;align-items:center;gap:4px;font-weight:650;text-decoration:none;display:inline-flex}.mark{flex:none;display:block}.hero{text-align:center;padding:var(--s-16) var(--s-4) 0;position:relative}.wavefield{width:100%;height:640px;color:var(--fg);pointer-events:none;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.hero-inner{max-width:940px;margin:0 auto;position:relative}.eyebrow{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--bg);color:var(--fg-2);padding:5px 12px;font-weight:500;display:inline-flex}.eyebrow-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.hero h1{font-size:var(--fs-hero);letter-spacing:-.05em;margin:var(--s-5) 0 var(--s-4);font-weight:600}.lede{color:var(--fg-2);max-width:600px;margin:0 auto var(--s-6);font-size:clamp(1rem,1.6vw,1.15rem)}.row.center{justify-content:center}.row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.mockup{max-width:980px;margin:var(--s-12) auto 0;border:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--bg);box-shadow:var(--shadow-3);text-align:left;border-bottom:0;position:relative;overflow:hidden}.mock-bar{border-bottom:1px solid var(--line);font-family:var(--mono);font-size:var(--fs-xs);color:var(--fg-3);align-items:center;gap:6px;padding:10px 14px;display:flex}.mock-bar i{background:var(--line-2);border-radius:50%;width:9px;height:9px}.mock-bar span{margin-left:var(--s-2)}.mock-body{grid-template-columns:160px 1fr;min-height:300px;display:grid}.mock-body aside{background:var(--bg-2);border-right:1px solid var(--line);font-size:var(--fs-xs);color:var(--fg-3);flex-direction:column;gap:4px;padding:14px 10px;display:flex}.mock-body aside .mark{color:var(--fg);margin:0 6px 10px}.mock-body aside span{border-radius:7px;padding:5px 8px}.mock-body aside span.on{background:var(--fg);color:var(--bg)}.mock-main{padding:var(--s-4)}.mock-stats{gap:var(--s-2);grid-template-columns:repeat(4,1fr);display:grid}.mock-stats div{background:var(--bg-2);font-size:var(--fs-xs);color:var(--fg-3);border-radius:10px;flex-direction:column;padding:10px;display:flex}.mock-stats b{font-family:var(--mono);color:var(--fg);font-size:1.6em;font-weight:500}.mock-stats div:nth-child(3){background:var(--fg);color:color-mix(in srgb, var(--bg) 65%, transparent)}.mock-stats div:nth-child(3) b{color:var(--bg)}.mock-main ul{font-size:var(--fs-xs);margin:14px 0 0;padding:0;list-style:none}.mock-main li{gap:var(--s-3);border-left:2px solid var(--line);padding:8px 0 8px 12px;display:flex}.mock-main li code{min-width:112px;color:var(--fg-3)}.mock-main li.bad{border-color:var(--bad);color:var(--bad)}.mock-main li.good{border-color:var(--good)}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s-6) var(--s-4);text-align:center}.strip p{margin:0 0 var(--s-3);font-size:var(--fs-xs);color:var(--fg-3)}.strip-row{justify-content:center;gap:var(--s-3) var(--s-10);letter-spacing:-.02em;color:var(--fg-3);flex-wrap:wrap;font-weight:600;display:flex}.lsection{max-width:1160px;padding:var(--s-24) var(--gutter) 0;margin:0 auto}.lhead{max-width:640px;margin-bottom:var(--s-8)}.kicker{font-family:var(--mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);align-items:center;gap:6px;display:inline-flex}.lsection h2,.cta-band h2{font-size:var(--fs-3xl);letter-spacing:-.045em;margin:var(--s-2) 0 var(--s-3)}.lhead p{color:var(--fg-2)}.bento{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tile{border-radius:var(--r-xl);background:var(--bg-2);padding:var(--s-6);color:var(--fg);flex-direction:column;min-height:320px;display:flex;position:relative;overflow:hidden}.tile svg{color:var(--fg);margin:0 auto var(--s-3);flex:none}.tile-k{font-family:var(--mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2)}.tile h3{margin:var(--s-2) 0;font-size:var(--fs-lg)}.tile p{color:var(--fg-2);font-size:var(--fs-sm)}.tile.span2{align-items:center;gap:var(--s-5);flex-direction:row;grid-column:span 2;justify-content:space-between}.tile.dark{background:var(--fg);color:var(--bg);--art-fill:var(--fg)}.tile.dark svg{color:var(--bg)}.tile.dark .tile-k{color:color-mix(in srgb, var(--bg) 60%, transparent)}.tile.dark h3{font-size:var(--fs-2xl);letter-spacing:-.04em;max-width:380px}.tile.accent-tile{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 4%, var(--bg-2));align-items:center;gap:var(--s-5);flex-direction:row}.tile.accent-tile svg{margin:0}.tile.accent-tile>div{flex-direction:column;display:flex}.ticks{margin:var(--s-4) 0 0;gap:var(--s-2);font-size:var(--fs-sm);padding:0;list-style:none;display:grid}.ticks li{align-items:center;gap:var(--s-2);color:color-mix(in srgb, var(--bg) 85%, transparent);display:flex}.ticks svg{color:var(--accent);margin:0}.stepper{gap:var(--s-4);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.stepper:before{content:"";border-top:1px dashed var(--fg-4);position:absolute;top:22px;left:22px;right:22px}.stepper li{gap:var(--s-3);flex-direction:column;display:flex;position:relative}.step-n{width:44px;height:44px;font-family:var(--mono);font-size:var(--fs-sm);background:var(--bg);border:1px solid var(--fg);border-radius:50%;place-items:center;display:grid}.stepper li:first-child .step-n{background:var(--fg);color:var(--bg)}.stepper li:last-child .step-n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stepper h3{font-size:var(--fs-md);margin-bottom:var(--s-1)}.stepper p{font-size:var(--fs-sm);color:var(--fg-2)}.matrix-band{gap:var(--s-10);border:1px solid var(--line);border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;padding:clamp(20px,4vw,44px);display:grid}.matrix-copy p{color:var(--fg-2)}.matrix-stats{gap:var(--s-3);margin:var(--s-6) 0 var(--s-4);border-top:1px solid var(--line);padding-top:var(--s-4);grid-template-columns:repeat(4,1fr);display:grid}.mstat{font-size:var(--fs-xs);color:var(--fg-3);flex-direction:column;display:flex}.mono-num{font-family:var(--mono);color:var(--fg);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:2.3em;line-height:1.1}.mstat.bad .mono-num{color:var(--bad)}.mstat.muted .mono-num{color:var(--fg-3)}.legend{gap:var(--s-4);font-size:var(--fs-xs);color:var(--fg-3);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:50%;width:8px;height:8px}.dotmatrix{width:100%;max-width:460px;height:auto;margin:0 auto;display:block}.dot-ok,.lg-ok{fill:var(--fg);background:var(--fg)}.dot-warn,.lg-warn{fill:var(--warn);background:var(--warn)}.dot-flagged,.lg-flagged{fill:var(--bad);background:var(--bad)}.dot-offline,.lg-offline{fill:var(--line-2);background:var(--line-2)}.dotmatrix path{animation:dotin var(--t-slow) both}@keyframes dotin{0%{opacity:0}}.matrix-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-2);place-items:center;display:grid}.cta-band{margin:var(--s-24) var(--gutter) 0;background:var(--fg);color:var(--bg);text-align:center;padding:var(--s-16) var(--s-5);--mark-cut:var(--fg);border-radius:28px;flex-direction:column;align-items:center;display:flex}.cta-band .mark{color:var(--bg)}.cta-band p{color:color-mix(in srgb, var(--bg) 70%, transparent);max-width:520px;margin:0 0 var(--s-6)}.cta-band .btn{background:var(--bg);color:var(--fg);border-color:var(--bg)}.lfoot{align-items:center;gap:var(--s-3) var(--s-6);padding:var(--s-8) var(--gutter) calc(var(--s-8) + env(safe-area-inset-bottom));font-size:var(--fs-sm);color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;display:flex}.lfoot .wordmark{color:var(--fg)}.lfoot-links{gap:var(--s-4);display:inline-flex}.lfoot-links a{min-height:var(--tap);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.lfoot-links a:hover{color:var(--fg)}.toast-top{top:var(--s-4);z-index:50;max-width:min(640px,100vw - 32px);position:fixed;left:50%;transform:translate(-50%)}@media (max-width:1100px){.bento{grid-template-columns:1fr 1fr}.tile.span2{grid-column:span 2}}@media (max-width:980px){.stepper{grid-template-columns:1fr}.stepper:before{border-top:0;border-left:1px dashed var(--fg-4);inset:22px auto 22px 22px}.stepper li{flex-direction:row}.matrix-band{grid-template-columns:1fr}}@media (max-width:760px){body{font-size:15px}.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:var(--s-4) var(--s-4) calc(var(--bottom-nav) + var(--s-8) + env(safe-area-inset-bottom))}.page-head h1{font-size:var(--fs-xl)}.bottom-nav{z-index:40;height:calc(var(--bottom-nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{font:inherit;min-height:var(--bottom-nav);color:var(--fg-3);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--fg)}.bottom-nav a[aria-current=page] svg{color:var(--accent)}.lnav-links{display:none}.hero{padding-top:var(--s-10)}.wavefield{opacity:.45}.bento{grid-template-columns:1fr}.tile,.tile.span2,.tile.accent-tile{flex-direction:column;grid-column:auto;min-height:0}.tile.accent-tile svg{margin:0 auto var(--s-3)}.mock-body{grid-template-columns:1fr}.mock-body aside{display:none}.mock-stats,.matrix-stats{grid-template-columns:repeat(2,1fr)}.timeline li,.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:var(--s-2)}.cta-band{margin-left:var(--s-3);margin-right:var(--s-3);padding:var(--s-12) var(--s-4)}.toaster{bottom:calc(var(--bottom-nav) + var(--s-3) + env(safe-area-inset-bottom))}}@media (max-width:380px){.btn{padding:0 var(--s-3)}.stats,.mock-stats,.matrix-stats{grid-template-columns:1fr 1fr}}@media (min-width:1600px){.content{max-width:1440px}:root{--sidebar:264px}}
