@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_Fallback_595324;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:__IBM_Plex_Mono_595324,__IBM_Plex_Mono_Fallback_595324;font-style:normal}.__variable_595324{--font-plex-mono:"__IBM_Plex_Mono_595324","__IBM_Plex_Mono_Fallback_595324"}:root{--bg:#f6f4ee;--bg-2:#efebe0;--surface:#fffffe;--surface-2:#faf8f2;--surface-3:#f1ede2;--ink:#15140f;--ink-2:#353128;--ink-3:#6a6356;--ink-4:#968d7e;--ink-5:#bfb7a8;--rule:#dcd5c2;--rule-2:#c4bca5;--rule-strong:#15140f;--accent:#b53322;--accent-2:#8e2718;--accent-tint:#f2e2dd;--pos:#2e6b43;--pos-tint:#ddead8;--neg:#b53322;--warn:#8a6a1f;--warn-tint:#f2e7c8;--info:#1f4e75;--info-tint:#dce5ee;--font-sans:var(--font-inter),"Inter","IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-plex-mono),"IBM Plex Mono","JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--r-0:0px;--r-1:2px;--r-2:4px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:48px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:12.5px;line-height:1.45;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11","tnum"}a{text-decoration:none}a,button{color:inherit}button{font:inherit}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.app{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr}.topbar{display:grid;grid-template-columns:220px 1fr auto;align-items:stretch;border-bottom:1px solid var(--rule-strong);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar__brand{display:flex;align-items:center;gap:10px;padding:0 var(--s-5);border-right:1px solid var(--rule);font-weight:600;letter-spacing:-.02em;font-size:13px}.topbar__mark{width:16px;height:16px;background:var(--ink);display:inline-block;position:relative}.topbar__mark:after{content:"";position:absolute;inset:4px;background:var(--accent)}.topbar__brand-version{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);letter-spacing:.04em;margin-left:6px;border-left:1px solid var(--rule);padding-left:8px}.topbar__nav{display:flex;align-items:stretch}.topbar__nav a,.topbar__nav button{background:transparent;border:none;border-right:1px solid var(--rule);padding:0 var(--s-5);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.02em;transition:color .1s,background .1s;height:100%}.topbar__nav a:hover,.topbar__nav button:hover{color:var(--ink);background:var(--surface-2)}.topbar__nav a.is-active,.topbar__nav button.is-active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);font-weight:500}.topbar__nav .num{font-family:var(--font-mono);font-size:10px;color:var(--ink-4);letter-spacing:.06em}.topbar__meta{display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-5);border-left:1px solid var(--rule);font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.topbar__meta strong{color:var(--ink);font-weight:500}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--pos)}.dot.live{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.dot.warn{background:var(--warn)}.dot.err{background:var(--accent)}.kpi-strip{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--rule-strong);background:var(--surface)}.kpi{padding:var(--s-4) var(--s-5);border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:6px;min-width:0}.kpi:last-child{border-right:none}.kpi__label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:6px}.kpi__label,.kpi__value{font-family:var(--font-mono)}.kpi__value{font-size:20px;font-weight:500;letter-spacing:-.03em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.kpi__sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);display:flex;gap:6px;align-items:center}.kpi__delta-pos{color:var(--pos)}.kpi__delta-neg{color:var(--accent)}.sparks{display:inline-flex;align-items:end;gap:2px;height:14px}.sparks span{width:3px;background:var(--ink-4);display:block}@media (max-width:1100px){.kpi-strip{grid-template-columns:repeat(3,1fr)}.kpi:nth-child(3){border-right:none}.kpi:nth-child(n+4){border-top:1px solid var(--rule)}}@media (max-width:640px){.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi{border-right:1px solid var(--rule)!important}.kpi:nth-child(2n){border-right:none!important}.kpi:nth-child(n+3){border-top:1px solid var(--rule)}}.canvas{padding:var(--s-6);max-width:1480px;margin:0 auto;width:100%}@media (max-width:720px){.canvas{padding:var(--s-4)}}.s-head{display:flex;align-items:center;gap:var(--s-3);padding-bottom:var(--s-3);margin-bottom:var(--s-4);border-bottom:1px solid var(--rule);flex-wrap:wrap}.s-head h1,.s-head h2{margin:0;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--ink);font-family:var(--font-sans)}.s-head .crumb{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.s-head .grow{flex:1 1}.s-head__desc{font-size:12px;color:var(--ink-3);margin-top:2px;flex-basis:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);font-size:12px;font-weight:500;padding:7px 12px;border-radius:var(--r-1);cursor:pointer;transition:background .1s,color .1s,border-color .1s,transform 80ms;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);white-space:nowrap;height:30px}.btn:hover:not(:disabled){background:var(--bg-2);border-color:var(--ink-4)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn--accent,.btn--primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn--accent{color:#fff}.btn--accent:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.btn--ghost{background:transparent;border-color:transparent;color:var(--ink-3)}.btn--ghost:hover:not(:disabled){color:var(--ink);background:var(--surface-2);border-color:var(--rule)}.btn--icon{width:30px;padding:0}.btn--sm{height:24px;padding:4px 8px;font-size:11px}.btn--full{width:100%}.btn-group{display:inline-flex;border:1px solid var(--rule-2);border-radius:var(--r-1);overflow:hidden;background:var(--surface);height:30px}.btn-group>a,.btn-group>button{background:transparent;border:none;padding:0 12px;font-size:11px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-3);cursor:pointer;border-right:1px solid var(--rule);display:inline-flex;align-items:center;gap:6px}.btn-group>a:last-child,.btn-group>button:last-child{border-right:none}.btn-group>a.is-active,.btn-group>button.is-active{background:var(--ink);color:var(--bg)}.btn-group>a:not(.is-active):hover,.btn-group>button:not(.is-active):hover{background:var(--surface-2);color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:var(--s-6);gap:var(--s-6);align-items:start}@media (max-width:980px){.form-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-1)}.card__head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--rule);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2)}.card__head .grow{flex:1 1}.card__body{padding:var(--s-5)}.card__body--tight{padding:var(--s-3) var(--s-5)}.card__body--flush{padding:0}.card+.card{margin-top:var(--s-4)}.field{display:grid;grid-template-columns:160px 1fr;grid-gap:var(--s-5);gap:var(--s-5);padding:var(--s-4) 0;border-bottom:1px solid var(--rule);align-items:start}.field:last-child{border-bottom:none}.field:first-child{padding-top:0}@media (max-width:720px){.field{grid-template-columns:1fr;gap:var(--s-2)}}.field__label{display:flex;flex-direction:column;gap:4px;padding-top:6px}.field__label strong{font-weight:600;font-size:12.5px;letter-spacing:-.01em;color:var(--ink)}.field__label span{font-size:12px;color:var(--ink-3);line-height:1.4}.field__req{font-family:var(--font-mono);font-size:9px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.input,.select,.textarea{width:100%;font-family:var(--font-sans);font-size:13px;background:var(--surface);color:var(--ink);border:1px solid var(--rule-2);border-radius:var(--r-1);padding:8px 10px;transition:border-color .1s,background .1s;-webkit-appearance:none;height:32px}.textarea{height:auto;min-height:64px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px;cursor:pointer}.input--mono{font-family:var(--font-mono);font-size:12px}.input::placeholder{color:var(--ink-4)}.input:hover{border-color:var(--ink-4)}.input:focus{background:#fff;box-shadow:0 0 0 3px var(--accent-tint);outline:none}.input.is-invalid,.input:focus{border-color:var(--accent)}.input.is-valid{border-color:var(--pos)}.input:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-2)}.input-group{display:flex;align-items:stretch;border:1px solid var(--rule-2);border-radius:var(--r-1);background:var(--surface);overflow:hidden;transition:border-color .1s,box-shadow .1s}.input-group:hover{border-color:var(--ink-4)}.input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.input-group.is-invalid{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.input-group .input{border:none!important;background:transparent!important;box-shadow:none!important;flex:1 1;border-radius:0}.input-group__prefix,.input-group__suffix{display:inline-flex;align-items:center;padding:0 10px;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:var(--surface-2)}.input-group__prefix{border-right:1px solid var(--rule)}.input-group__suffix{border-left:1px solid var(--rule)}.input-group__btn{border:none;border-left:1px solid var(--rule);background:var(--surface-2);padding:0 10px;cursor:pointer;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);display:inline-flex;align-items:center;gap:5px}.input-group__btn:hover{color:var(--accent);background:var(--surface)}.helper{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}.helper--ok{color:var(--pos)}.helper--warn{color:var(--warn)}.helper--err{color:var(--accent)}.meter-bar{width:80px;height:3px;background:var(--rule);position:relative;overflow:hidden}.meter-bar>span{position:absolute;inset:0 auto 0 0;background:var(--ink);transition:width .2s}.meter-bar>span.pos{background:var(--pos)}.meter-bar>span.warn{background:var(--warn)}.meter-bar>span.err{background:var(--accent)}.error-inline{display:flex;gap:var(--s-3);margin-top:var(--s-2);padding:8px 10px;background:var(--accent-tint);border-left:3px solid var(--accent);font-size:12px;color:var(--ink-2);border-radius:0;align-items:flex-start}.error-inline__lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-2)}.chip{gap:6px;padding:3px 8px 3px 6px;border:1px solid var(--rule-2);background:var(--surface-2);font-family:var(--font-mono);font-size:11px;border-radius:var(--r-1);color:var(--ink)}.chip,.chip__avatar{display:inline-flex;align-items:center}.chip__avatar{width:14px;height:14px;background:var(--ink);color:var(--bg);justify-content:center;font-size:8px;font-weight:600;text-transform:uppercase;border-radius:1px}.chip__close{background:none;border:none;cursor:pointer;color:var(--ink-3);padding:0;font-size:12px;line-height:1}.chip__close:hover{color:var(--accent)}.aside-stat{display:grid;grid-template-columns:1fr auto;grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule);font-size:12px}.aside-stat:last-child{border-bottom:none}.aside-stat__lbl{color:var(--ink-3)}.aside-stat__val{font-family:var(--font-mono);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.steps{list-style:none;padding:0;margin:0;counter-reset:step}.steps li{counter-increment:step;display:grid;grid-template-columns:22px 1fr;grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px dashed var(--rule);font-size:12px;color:var(--ink-2)}.steps li:last-child{border-bottom:none}.steps li:before{content:counter(step,decimal-leading-zero);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--accent);padding-top:2px}.toolbar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);background:var(--surface);border:1px solid var(--rule);border-bottom:none;border-radius:var(--r-1) var(--r-1) 0 0;flex-wrap:wrap}.toolbar .grow{flex:1 1}.toolbar__title{font-size:12.5px;font-weight:600;letter-spacing:-.01em;font-family:var(--font-sans)}.toolbar__sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.search{position:relative;display:inline-flex;align-items:center;height:30px}.search>svg{position:absolute;left:8px;color:var(--ink-3);pointer-events:none}.search>input{height:30px;padding:0 10px 0 28px;border:1px solid var(--rule-2);border-radius:var(--r-1);font-family:var(--font-mono);font-size:12px;background:var(--surface);color:var(--ink);width:200px}.search>input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.table-wrap{border:1px solid var(--rule);border-radius:0 0 var(--r-1) var(--r-1);background:var(--surface);overflow:auto;max-height:70vh}.table-wrap--unbounded{max-height:none}.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.dt thead th{background:var(--surface-2);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;text-align:left;padding:9px var(--s-4);border-bottom:1px solid var(--rule-strong);position:-webkit-sticky;position:sticky;top:0;z-index:2;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dt thead th.is-sortable,.dt thead th[aria-sort]{cursor:pointer}.dt thead th.is-sortable:hover,.dt thead th[aria-sort]:hover{color:var(--ink);background:var(--surface-3)}.dt thead th[aria-sort=ascending]{color:var(--ink)}.dt thead th[aria-sort=ascending]:after{content:" ↑";color:var(--accent)}.dt thead th[aria-sort=descending]{color:var(--ink)}.dt thead th[aria-sort=descending]:after{content:" ↓";color:var(--accent)}.dt tbody tr{border-bottom:1px solid var(--rule);transition:background 80ms}.dt tbody tr:hover{background:var(--surface-2)}.dt tbody tr:last-child{border-bottom:none}.dt tbody tr.is-rank-1{box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,var(--accent-tint),transparent 60%)}.dt tbody tr.is-rank-1:hover{background:linear-gradient(90deg,var(--accent-tint),var(--surface-2) 60%)}.dt td{padding:10px var(--s-4);vertical-align:middle}.dt td.num,.dt th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;width:56px;gap:6px}.rank,.rank__medal{display:inline-flex;align-items:center}.rank__medal{justify-content:center;width:18px;height:18px;font-size:11px;font-weight:600;border-radius:50%;font-family:var(--font-mono)}.rank__medal--1{background:var(--accent);color:#fff}.rank__medal--2{background:var(--ink);color:var(--bg)}.rank__medal--3{background:var(--ink-3);color:var(--bg)}.rank__delta{font-family:var(--font-mono);font-size:9px;color:var(--ink-4);letter-spacing:0}.rank__delta.up{color:var(--pos)}.rank__delta.down{color:var(--accent)}.team-cell{display:flex;align-items:center;gap:10px;min-width:0}.team-avatar{width:26px;height:26px;border:1px solid var(--rule-2);background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;border-radius:var(--r-1);flex-shrink:0}.team-avatar,.team-name{font-weight:600;color:var(--ink)}.team-name{font-family:var(--font-sans);font-size:12.5px;letter-spacing:-.01em;line-height:1.2}.team-meta{font-size:10px;color:var(--ink-3);letter-spacing:.04em;margin-top:1px}.repo-link,.team-meta{font-family:var(--font-mono)}.repo-link{font-size:12px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;border-bottom:1px dotted transparent;padding-bottom:1px}.repo-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.repo-link svg{color:var(--ink-4)}.num{font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink)}.num--muted{color:var(--ink-3)}.num--sm{font-size:12px}.score{display:inline-flex;align-items:baseline;gap:3px;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;font-size:15px;letter-spacing:-.02em;color:var(--ink);line-height:1}.score__suffix{font-size:10px;letter-spacing:.02em;color:var(--ink-4);font-weight:400}.score--rank1{color:var(--accent);font-size:17px;font-weight:600}.score--lg{font-size:22px}.bar-track{width:80px;height:4px;background:var(--rule);border-radius:2px;overflow:hidden;margin-top:4px}.bar-track>span{display:block;height:100%;background:var(--ink);transition:width .3s}.bar-track>span.acc{background:var(--accent)}.bar-track>span.pos{background:var(--pos)}.bar-track>span.warn{background:var(--warn)}.bar-track>span.err{background:var(--accent)}.pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:2px;border:1px solid;white-space:nowrap}.pill--ok{color:var(--pos);border-color:var(--pos);background:var(--pos-tint)}.pill--warn{color:var(--warn);border-color:var(--warn);background:var(--warn-tint)}.pill--err{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}.pill--info{color:var(--info);border-color:var(--info);background:var(--info-tint)}.pill--ghost{color:var(--ink-3);border-color:var(--rule-2);background:var(--surface)}.skel{display:inline-block;background:var(--surface-3);border-radius:2px;position:relative;overflow:hidden}.skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);animation:shimmer 1.4s infinite}.skel--block{height:12px}.skel--block,.skel--row{display:block;width:100%}.skel--row{height:38px;border-bottom:1px solid var(--rule)}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.state{text-align:center;padding:var(--s-8) var(--s-5);background:var(--surface);border:1px dashed var(--rule-2);border-radius:var(--r-1)}.state--err{border-color:var(--accent);border-style:solid;background:var(--accent-tint)}.state__eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.state__rule{width:32px;height:2px;background:var(--accent);margin:var(--s-3) auto var(--s-4)}.state h3{margin:0 0 var(--s-2);font-size:14px;font-weight:600;letter-spacing:-.01em;font-family:var(--font-sans)}.state p{margin:0 auto var(--s-5);font-size:13px;color:var(--ink-3);max-width:460px;line-height:1.5}.toggle{display:inline-flex;align-items:center;gap:8px;padding:0 12px;height:30px;border:1px solid var(--rule-2);background:var(--surface);cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--ink-2);border-radius:var(--r-1)}.toggle:hover{border-color:var(--ink-4)}.toggle__sw{display:inline-block;width:24px;height:12px;background:var(--rule-2);position:relative;border-radius:6px;transition:background .14s}.toggle__sw:after{content:"";position:absolute;top:1px;left:1px;width:10px;height:10px;background:#fff;border-radius:50%;transition:transform .14s}.toggle.is-on .toggle__sw{background:var(--accent)}.toggle.is-on .toggle__sw:after{transform:translateX(12px)}@media (max-width:820px){.dt thead{display:none}.dt,.dt tbody,.dt td,.dt tr{display:block;width:100%}.dt tbody tr{padding:var(--s-4);display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"rank team score" "rank repo score" "meta meta meta";grid-column-gap:var(--s-4);column-gap:var(--s-4);grid-row-gap:var(--s-2);row-gap:var(--s-2);align-items:center}.dt td{padding:0;border:none}.dt td.col-rank{grid-area:rank}.dt td.col-team{grid-area:team}.dt td.col-repo{grid-area:repo}.dt td.col-score{grid-area:score;text-align:right}.dt td.col-meta{grid-area:meta;display:flex;gap:var(--s-5);padding-top:var(--s-2);border-top:1px dashed var(--rule);margin-top:4px}}.toast{position:fixed;bottom:var(--s-5);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;border-left:3px solid var(--pos);z-index:100;border-radius:var(--r-1);animation:toastIn .2s ease-out;display:inline-flex;align-items:center;gap:8px}.toast--err{border-left-color:var(--accent)}.toast--warn{border-left-color:var(--warn)}.toast--info{border-left-color:var(--info)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.row--end{justify-content:flex-end}.row--between{justify-content:space-between}.kbd{font-family:var(--font-mono);font-size:10px;border:1px solid var(--rule-2);padding:1px 5px;border-radius:2px;background:var(--surface);color:var(--ink-3)}.divider{height:16px;width:1px;background:var(--rule);display:inline-block}.env-strip{display:flex;align-items:center;justify-content:center;gap:var(--s-3);padding:6px var(--s-5);background:var(--accent-tint);border-bottom:1px solid var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.env-strip strong{color:var(--accent);font-weight:600}.app-footer{border-top:1px solid var(--rule);background:var(--surface);padding:var(--s-3) var(--s-5);font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.app-footer__row{max-width:1480px;margin:0 auto;display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.app-footer__row .grow{flex:1 1}.app-footer a:hover{color:var(--ink)}.bs-grid-2{grid-template-columns:1fr 1fr;grid-gap:var(--s-4)}.bs-grid-2,.bs-grid-3{display:grid;gap:var(--s-4)}.bs-grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--s-4)}@media (max-width:820px){.bs-grid-2,.bs-grid-3{grid-template-columns:1fr}}.bs-stack>*+*{margin-top:var(--s-4)}.bs-stack-tight>*+*{margin-top:var(--s-2)}.bs-mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bs-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.bs-eyebrow,.bs-muted{color:var(--ink-3)}.bs-hidden{display:none}.bs-grow{flex:1 1}.bs-center{display:flex;align-items:center;justify-content:center}.bs-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}