@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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;--page:#f3f5f8;--surface:#fff;--surface-2:#f2f4f8;--surface-3:#e7ebf1;--text:#0e1726;--text-2:#4a5568;--muted:#5d697c;--grid:#e4e8ee;--axis:#c3ccd8;--border:#dfe4eb;--border-strong:#c8d0db;--accent:#2a62cf;--accent-ink:#fff;--accent-soft:color-mix(in srgb, var(--accent) 10%, var(--surface));--relay:#3b7ddd;--downlink:#e0692f;--calib:#17a377;--idle:#e7ebf1;--plan-alpha:.35;--good:#1f9d55;--good-ink:#137a3e;--warning:#d99a0b;--serious:#e07a4f;--critical:#c33434;--shadow-sm:0 1px 2px #1020400d;--shadow-md:0 6px 24px -6px #10204029, 0 1px 3px #1020400f;--ring:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);--font:"Onest Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Mono", Consolas, monospace;--r-sm:6px;--r-md:8px;--r-lg:12px;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--z-sticky:20;--z-drawer:40;--z-tip:50;--z-toast:60;font-family:var(--font);color:var(--text);background:var(--page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0a0f18;--surface:#111826;--surface-2:#172031;--surface-3:#1f2a3d;--text:#e6ecf5;--text-2:#a5b1c5;--muted:#7f8ca3;--grid:#1e2839;--axis:#33415a;--border:#222d41;--border-strong:#2f3d55;--accent:#5b8fff;--accent-ink:#06101f;--relay:#4f8ff0;--downlink:#ef7b41;--calib:#2cb98b;--idle:#1f2a3d;--good:#34c173;--good-ink:#4fd48a;--warning:#f0b43c;--serious:#ef8a5f;--critical:#f06868;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 10px 30px -8px #0009, 0 1px 3px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0a0f18;--surface:#111826;--surface-2:#172031;--surface-3:#1f2a3d;--text:#e6ecf5;--text-2:#a5b1c5;--muted:#7f8ca3;--grid:#1e2839;--axis:#33415a;--border:#222d41;--border-strong:#2f3d55;--accent:#5b8fff;--accent-ink:#06101f;--relay:#4f8ff0;--downlink:#ef7b41;--calib:#2cb98b;--idle:#1f2a3d;--good:#34c173;--good-ink:#4fd48a;--warning:#f0b43c;--serious:#ef8a5f;--critical:#f06868;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 10px 30px -8px #0009, 0 1px 3px #0006}@media (prefers-contrast:more){:root{--muted:var(--text-2);--border:#b8c1cd;--border-strong:#7d8899;--grid:#cfd6df}:root[data-theme=dark]{--border:#3a4a64;--border-strong:#6f82a0;--grid:#2c3a52}}@media (prefers-contrast:more) and (prefers-color-scheme:dark){:root:not([data-theme=light]){--border:#3a4a64;--border-strong:#6f82a0;--grid:#2c3a52}}.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}*{box-sizing:border-box}html{scroll-behavior:smooth;overscroll-behavior-y:none}body{background:var(--page);overscroll-behavior-y:none;min-height:100dvh;margin:0}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}a{color:var(--accent);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 12px;font-size:22px;font-weight:650;line-height:1.2}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:15px;font-weight:600;line-height:1.3}h3{color:var(--text);margin:16px 0 8px;font-size:13px;font-weight:600}p{text-wrap:pretty}code,.mono{font-family:var(--font-mono);font-size:.92em}.tabnum{font-variant-numeric:tabular-nums}.icon{vertical-align:-.2em;flex:none;display:inline-block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-link{z-index:100;border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);padding:8px 12px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:8px}.topbar{background:color-mix(in srgb, var(--surface) 95%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);height:56px;z-index:var(--z-sticky);align-items:center;gap:24px;padding:0 24px;display:flex;position:sticky;top:0}.topbar .brand{color:var(--text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:15px;font-weight:650;display:inline-flex}.topbar .brand:hover{text-decoration:none}.topbar .brand small{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:450}.topbar nav{gap:2px;height:100%;display:flex}.topbar nav a{color:var(--text-2);transition:color .15s var(--ease);align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex;position:relative}.topbar nav a:hover{color:var(--text);text-decoration:none}.topbar nav a.active{color:var(--text)}.topbar nav a.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.topbar .spacer{flex:1}.topbar .version{font-family:var(--font-mono);color:var(--muted);font-size:11px}.page{max-width:1600px;margin:0 auto;padding:24px 24px 56px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{margin:0;font-size:26px}.page-head .lead{color:var(--text-2);max-width:70ch;margin:6px 0 0}.eyebrow{color:var(--muted);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:500;display:flex}.segmented{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);gap:2px;padding:2px;display:inline-flex}.segmented button{border-radius:var(--r-sm);min-width:28px;height:26px;color:var(--text-2);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.segmented button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:16px;padding:18px 20px 20px}.card.tight{border-radius:var(--r-md);padding:10px 12px}.card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-head h2{margin:0}.card-head .hint{color:var(--muted);font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}@media (width<=1000px){.grid2,.grid3{grid-template-columns:1fr!important}}.muted{color:var(--text-2)}.small{font-size:12px}.right{margin-left:auto}.sep{background:var(--grid);height:1px;margin:16px 0}.help{color:var(--text-2);max-width:90ch;font-size:13px;line-height:1.55}button,.btn{font:inherit;white-space:nowrap;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);height:32px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .1s var(--ease), box-shadow .15s var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--surface-2);border-color:var(--axis);text-decoration:none}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px color-mix(in srgb, var(--accent) 40%, transparent);border-color:#0000}button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--text));border-color:#0000}button.ghost{color:var(--text-2);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:#0000}button.danger{color:var(--critical)}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--critical) 10%, var(--surface));border-color:color-mix(in srgb, var(--critical) 40%, var(--border))}button.icon-only{width:32px;padding:0}button.sm{height:26px;padding:0 8px;font-size:12px}button.icon-only.sm{width:26px}button.lg{border-radius:10px;height:40px;padding:0 18px;font-size:14px}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,.btn:focus-within{box-shadow:var(--ring);outline:none}input,select,textarea{font:inherit;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);height:32px;color:var(--text);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:0 10px;font-size:13px}input:hover,select:hover,textarea:hover{border-color:var(--axis)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}input[type=number]{font-variant-numeric:tabular-nums;width:90px}input[type=checkbox],input[type=radio]{height:auto;accent-color:var(--accent)}select{cursor:pointer;padding-right:6px}textarea{width:100%;height:auto;font-family:var(--font-mono);padding:8px 10px;font-size:12px;line-height:1.5}label.field{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}details>summary{cursor:pointer}details>summary::marker{color:var(--muted)}.ctl-group{border-left:1px solid var(--border);flex-direction:column;gap:6px;padding:0 20px;display:flex}.ctl-group:first-child{border-left:none;padding-left:0}.ctl-group>.ctl-label{color:var(--muted);letter-spacing:.02em;font-size:11px;font-weight:500}.ctl-group>.ctl-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inline-num{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:inline-flex}.inline-num input{width:64px}table.t{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}table.t th,table.t td{border-bottom:1px solid var(--grid);text-align:left;vertical-align:top;padding:7px 10px}table.t th{color:var(--text-2);background:var(--surface-2);z-index:1;white-space:nowrap;font-size:12px;font-weight:500;position:sticky;top:0}table.t th:first-child{border-top-left-radius:var(--r-sm)}table.t th:last-child{border-top-right-radius:var(--r-sm)}table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}table.t tbody tr{transition:background-color .12s var(--ease)}table.t tbody tr:hover td{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}table.t tr.click{cursor:pointer}table.t tr.sel td{background:var(--accent-soft)}table.t tbody tr:last-child td{border-bottom:none}.scroll{border-radius:var(--r-sm);max-height:520px;overflow:auto}.kpis{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid;overflow:hidden}.kpi{min-width:0;box-shadow:1px 0 0 var(--border), 0 1px 0 var(--border);flex-direction:column;gap:4px;padding:12px 16px 14px;display:flex}.kpi .l{color:var(--text-2);order:-1;font-size:12px;line-height:1.3}.kpi .v{letter-spacing:-.02em;white-space:nowrap;font-size:22px;font-weight:600;line-height:1.15}.kpi .s{color:var(--muted);font-size:12px}.kpi.good .v{color:var(--good-ink)}.kpi.bad .v{color:var(--critical)}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs button{height:40px;color:var(--text-2);background:0 0;border:none;border-radius:0;padding:0 12px;font-size:14px;position:relative}.tabs button:hover:not(:disabled){color:var(--text);background:0 0}.tabs button.active{color:var(--text);font-weight:600}.tabs button:active:not(:disabled){transform:none}.badge{border-radius:var(--r-sm);background:var(--surface-2);height:22px;color:var(--text-2);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge.mono{font-family:var(--font-mono);font-size:11.5px}.badge.good{color:var(--good-ink);background:color-mix(in srgb, var(--good) 12%, var(--surface))}.badge.warn{color:var(--text);background:color-mix(in srgb, var(--warning) 18%, var(--surface))}.badge.bad{color:var(--critical);background:color-mix(in srgb, var(--critical) 11%, var(--surface))}.badge.info{color:var(--accent);background:var(--accent-soft)}a.badge:hover{filter:brightness(.97);text-decoration:none}.alert{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 14px 10px 16px;line-height:1.5;display:flex;position:relative;overflow:hidden}.alert:before{content:"";background:var(--axis);width:3px;position:absolute;top:0;bottom:0;left:0}.alert.error{border-color:color-mix(in srgb, var(--critical) 30%, var(--border));background:color-mix(in srgb, var(--critical) 6%, var(--surface))}.alert.error:before{background:var(--critical)}.alert.ok{border-color:color-mix(in srgb, var(--good) 30%, var(--border));background:color-mix(in srgb, var(--good) 6%, var(--surface))}.alert.ok:before{background:var(--good)}.alert.warn{border-color:color-mix(in srgb, var(--warning) 40%, var(--border));background:color-mix(in srgb, var(--warning) 8%, var(--surface))}.alert.warn:before{background:var(--warning)}.alert.info{border-color:color-mix(in srgb, var(--accent) 25%, var(--border));background:var(--accent-soft)}.alert.info:before{background:var(--accent)}.alert .x{width:22px;height:22px;color:var(--muted);background:0 0;border:none;margin-left:auto;padding:0}.alert .x:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.toast{box-shadow:var(--shadow-md);animation:toast-in .22s var(--ease);background:var(--surface)!important}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.progress{background:var(--surface-3);border-radius:2px;height:4px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .4s var(--ease);border-radius:2px}.progress.live>div{background-image:linear-gradient(90deg,#0000,#ffffff59,#0000);background-repeat:no-repeat;background-size:200px 100%;background-color:var(--accent);animation:1.4s linear infinite progress-shine}@keyframes progress-shine{0%{background-position:-200px 0}to{background-position:calc(100% + 200px) 0}}.status-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.status-dot.run{background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent);animation:pulse 1.6s var(--ease) infinite}.status-dot.pause{background:var(--warning)}.status-dot.done{background:var(--good)}.status-dot.err{background:var(--critical)}@keyframes pulse{70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.legend{color:var(--text-2);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.legend .sw{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.gantt-wrap{border-radius:var(--r-sm);position:relative;overflow-x:auto}.gantt-tip{pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:var(--z-tip);max-width:320px;padding:10px 12px;font-size:12px;line-height:1.55;position:fixed}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(620px,100vw);box-shadow:var(--shadow-md);z-index:var(--z-drawer);animation:drawer-in .24s var(--ease);padding:20px 22px;position:fixed;top:0;bottom:0;right:0;overflow:auto}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}.kv{grid-template-columns:170px 1fr;gap:6px 12px;font-size:13px;display:grid}.kv>div:nth-child(odd){color:var(--text-2)}.pill-list{flex-wrap:wrap;gap:4px;display:flex}.verdict{border-radius:var(--r-lg);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);padding:14px 16px;font-size:15px;line-height:1.5}.verdict.tie{border-color:var(--border-strong);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--axis)}.diff-pos{color:var(--good-ink)}.diff-neg{color:var(--critical)}.scn-list{flex-direction:column;gap:2px;display:flex}.scn{text-align:left;border-radius:var(--r-md);white-space:normal;background:0 0;border:1px solid #0000;width:100%;height:auto;padding:10px 12px 11px 14px;font-weight:400;line-height:1.4;display:block;position:relative}.scn:hover:not(:disabled){background:var(--surface-2);border-color:#0000}.scn:active:not(:disabled){transform:none}.scn.on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.scn.on:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.scn .scn-title{font-family:var(--font-mono);color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.scn .scn-sub{color:var(--text-2);margin-top:2px;font-size:12.5px}.scn .scn-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11.5px}.run-item{border-radius:var(--r-md);transition:background-color .12s var(--ease);align-items:center;gap:8px;margin:0 -8px;padding:8px 8px 8px 10px;display:flex}.run-item:hover{background:var(--surface-2)}.run-item a{min-width:0;color:var(--text);flex:1}.run-item a:hover{text-decoration:none}.run-item .run-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.run-item button{opacity:0}.run-item:hover button,.run-item button:focus-visible{opacity:1}.steps-list{counter-reset:s;gap:2px;margin:16px 0;padding:0;list-style:none;display:grid}.steps-list li{counter-increment:s;border-radius:var(--r-md);color:var(--text-2);padding:8px 12px 8px 44px;line-height:1.5;position:relative}.steps-list li:hover{background:var(--surface-2)}.steps-list li:before{content:counter(s);background:var(--surface-3);width:22px;height:22px;color:var(--text);font:600 12px/1 var(--font-mono);border-radius:6px;place-items:center;display:grid;position:absolute;top:8px;left:10px}.steps-list li b{color:var(--text);font-weight:600}.hero-stat{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;gap:28px;padding:14px 18px;display:flex}.hero-stat>div{flex-direction:column;gap:2px;display:flex}.hero-stat .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.hero-stat .l{color:var(--text-2);font-size:12px}.console-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.console-head h1{margin:0;font-size:20px}.clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:flex}.clock .step{letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1}.clock .of{color:var(--muted);font-size:15px}.clock .time{color:var(--text-2);border-radius:var(--r-sm);background:var(--surface-2);padding:3px 7px;font-size:13px}.console-bar{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:0 28px;display:grid}.console-bar>.clock-box{border-right:1px solid var(--border);flex-direction:column;align-self:stretch;gap:10px;padding-right:28px;display:flex}.console-controls{flex-wrap:wrap;gap:14px 28px;display:flex}.console-controls .ctl-group{border-left:none;padding:0}.status-line{color:var(--text-2);align-items:center;gap:8px;margin-top:8px;font-size:12.5px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.topbar{gap:12px;padding:0 16px}.topbar .brand small,.topbar .version{display:none}.page{padding:16px 16px 40px}.ctl-group{border-left:none;padding:0}.console-bar{grid-template-columns:1fr;gap:14px}.console-bar>.clock-box{border-right:none;padding-right:0}.kv{grid-template-columns:1fr}}.empty{border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-2);text-align:center;padding:20px 14px;font-size:13px}.scn .scn-title .badge{font-family:var(--font);font-weight:500}.demo-guide{background:linear-gradient(180deg, var(--accent-soft), var(--surface) 70%);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.demo-pip{background:var(--surface-3);width:20px;height:4px;transition:background-color .3s var(--ease), width .3s var(--ease);border-radius:2px}.demo-pip.done{background:color-mix(in srgb, var(--accent) 55%, var(--surface))}.demo-pip.now{background:var(--accent);width:32px}.impact{box-shadow:inset 3px 0 0 var(--accent);animation:impact-in .32s var(--ease) both}@keyframes impact-in{0%{opacity:0;transform:translateY(8px)}}.impact-stats{border-bottom:1px solid var(--grid);flex-wrap:wrap;gap:12px 32px;margin-bottom:4px;padding-bottom:14px;display:flex}.impact-stats>div{flex-direction:column;gap:2px;display:flex}.impact-stats .l{color:var(--text-2);font-size:12px}.impact-stats .v{letter-spacing:-.01em;font-size:18px;font-weight:600}.impact-stats .v small{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:500}.impact-list{margin-top:12px}.impact-list-title{margin-bottom:6px;font-size:12px;font-weight:600}.impact-list-title span{color:var(--muted);margin-left:4px;font-weight:500}*{scrollbar-width:thin;scrollbar-color:var(--axis) transparent}.scn-row{position:relative}.scn-row .scn{padding-right:44px}.scn-del{min-width:26px;height:26px;color:var(--muted);opacity:0;background:0 0;border-color:#0000;padding:0 6px;position:absolute;top:8px;right:8px}.scn-row:hover .scn-del,.scn-del:focus-visible{opacity:1}.scn-del:hover:not(:disabled){color:var(--critical);background:color-mix(in srgb, var(--critical) 10%, var(--surface));border-color:#0000}@media (hover:none){.scn-del{opacity:1}}.toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper-field{color:var(--text-2);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.stepper-field input{width:76px;font-family:var(--font-mono)}.icon.flip{transform:scaleX(-1)}label.field.inline{flex-direction:row;align-items:center;gap:8px}label.check{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;font-size:13px;line-height:1.55}.panel p{margin:0 0 6px}.panel p:last-child{margin-bottom:0}.panel-title{color:var(--text);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.panel-title .icon{color:var(--muted)}.facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 16px;margin:0;display:grid}.facts dt{color:var(--muted);font-size:11.5px}.facts dd{font-family:var(--font-mono);overflow-wrap:anywhere;margin:2px 0 0;font-size:13px;font-weight:500}.decision{padding:14px 18px}.act .dot{background:var(--muted);border-radius:50%;width:7px;height:7px}.act-job .dot{background:var(--accent)}.act-calibrate .dot{background:var(--calib)}.telemetry{font-family:var(--font-mono);color:var(--text-2);flex-wrap:wrap;gap:4px;font-size:11.5px;display:inline-flex}.telemetry>span{border-radius:var(--r-sm);background:var(--surface-2);white-space:nowrap;padding:2px 7px}.why{margin-top:10px;font-size:13px;line-height:1.55}.export-tiles{align-items:stretch;margin-bottom:16px}.export-tiles .card{margin-bottom:0}.tile{flex-direction:column;display:flex}.tile h2{margin:12px 0 8px}.tile .help{flex:1;margin:0 0 16px}.tile-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.tile-actions{flex-wrap:wrap;gap:8px;display:flex}.btn.primary-btn{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.primary-btn:hover{background:color-mix(in srgb, var(--accent) 88%, var(--text));border-color:#0000}.codeblock{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:12px;padding:10px 10px 10px 14px;display:flex}.codeblock code{white-space:nowrap;flex:1;font-size:12.5px;overflow-x:auto}.codeblock code:before{content:"$ ";color:var(--muted)}.scrim{z-index:calc(var(--z-drawer) - 1);animation:fade-in .2s var(--ease);background:#080e1a59;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.drawer-head{background:var(--surface);border-bottom:1px solid var(--border);z-index:2;align-items:flex-start;gap:12px;margin:-20px -22px 0;padding:18px 22px 14px;display:flex;position:sticky;top:-20px}.drawer h3{margin-top:22px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{height:28px;font-family:var(--font-mono);color:var(--text-2);background:var(--surface);border-radius:999px;padding:0 10px;font-size:12px;font-weight:500}.chip.on{color:var(--text);border-color:var(--chip,var(--accent));background:color-mix(in srgb, var(--chip,var(--accent)) 12%, var(--surface))}.chip .dot{background:var(--chip,var(--accent));border-radius:50%;width:7px;height:7px}label.chip{border:1px solid var(--border-strong);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s var(--ease), border-color .15s var(--ease);align-items:center;gap:6px;display:inline-flex}label.chip:hover{border-color:var(--axis)}label.chip input{width:13px;height:13px;margin:0}.chip.sans{font-family:var(--font);font-size:12.5px}.sat-picker{max-height:132px;padding:2px;overflow:auto}.segmented.wide{flex-wrap:wrap;display:flex}.segmented.wide button{flex:auto;height:30px;font-size:13px}.toast-action{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));flex:none;margin-left:auto;font-weight:600}.toast-action+.x{margin-left:4px}.grid2,.grid3{margin-bottom:16px}.grid2>.card,.grid3>.card,.stack>.card,.grid2>div>.card:last-child,.card .grid2,.card .grid3{margin-bottom:0}.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.stack>.card:last-child{flex:1}.grid2>.card,.grid3>.card,.stack>.card{flex-direction:column;min-width:0;display:flex}.fill{flex:auto;min-height:0}.scroll.fill{max-height:none;min-height:var(--fill-min,180px);flex:1 1 0}.push-bottom{margin-top:auto;padding-top:14px}.strip{-webkit-user-select:none;user-select:none;width:100%;position:relative}.strip svg{display:block;overflow:visible}.strip-fact-bg{fill:color-mix(in srgb, var(--accent) 6%, transparent)}.strip-bar{fill:var(--accent)}.strip-bar.plan{fill:color-mix(in srgb, var(--accent) 32%, var(--surface))}.strip-shade{fill:color-mix(in srgb, var(--text) 55%, var(--surface))}.strip-dl{fill:var(--downlink)}.strip-tick{stroke:var(--grid);stroke-width:1px}.strip-label{fill:var(--muted);font:500 10.5px var(--font-mono)}.strip-now line{stroke:var(--text);stroke-width:2px}.strip-now circle{fill:var(--text)}.strip-hover{fill:color-mix(in srgb, var(--text) 12%, transparent)}.strip-flag line{stroke-width:1.25px;stroke-dasharray:2 2}.strip-flag text{font:600 10.5px var(--font-mono)}.strip-flag.tone-critical{stroke:var(--critical);fill:var(--critical)}.strip-flag.tone-serious{stroke:var(--serious);fill:var(--serious)}.strip-flag.tone-accent{stroke:var(--accent);fill:var(--accent)}.strip-flag text{stroke:none}.strip-tip{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);width:240px;box-shadow:var(--shadow-md);pointer-events:none;z-index:5;padding:8px 10px;font-size:12px;line-height:1.5;position:absolute;top:calc(100% + 6px)}.console-mini{z-index:calc(var(--z-sticky) - 1);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);animation:mini-in .18s var(--ease);position:fixed;top:56px;left:0;right:0}@keyframes mini-in{0%{opacity:0;transform:translateY(-8px)}}.console-mini-inner{align-items:center;gap:14px;max-width:1600px;margin:0 auto;padding:8px 24px;display:flex}.console-mini .clock .step{font-size:18px}.console-mini .clock .of{font-size:12px}.console-mini .clock .time{padding:1px 6px;font-size:11.5px}.mini-name{text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:13px;overflow:hidden}.mini-kpi{color:var(--text-2);border-left:1px solid var(--border);padding-left:14px;font-size:12.5px}.console-mini-progress{background:0 0;height:2px}.console-mini-progress>div{background:var(--accent);height:100%;transition:width .4s var(--ease)}@media (width<=900px){.mini-kpi,.mini-name{display:none}}.strip-legend{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.strip-legend i{border-radius:2px;width:10px;height:8px;margin-left:8px;display:inline-block}.strip-legend .lg-shade{background:color-mix(in srgb, var(--text) 55%, var(--surface))}.strip-legend .lg-bar{background:var(--accent)}.strip-legend .lg-plan{background:color-mix(in srgb, var(--accent) 32%, var(--surface))}.strip-legend .lg-dl{background:var(--downlink)}.card.tool{border-top:3px solid var(--accent);padding-top:16px}.signals{flex-direction:column;gap:6px;display:flex}.signal{border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--axis);align-items:flex-start;gap:10px;padding:8px 12px;font-size:12.5px;line-height:1.5;display:flex}.signal .icon{color:var(--muted);margin-top:2px}.signal.sev-critical{box-shadow:inset 3px 0 0 var(--critical);background:color-mix(in srgb, var(--critical) 6%, var(--surface))}.signal.sev-critical .icon{color:var(--critical)}.signal.sev-warning{box-shadow:inset 3px 0 0 var(--warning);background:color-mix(in srgb, var(--warning) 8%, var(--surface))}.signal.sev-warning .icon{color:color-mix(in srgb, var(--warning) 70%, var(--text))}.signal.sev-info{box-shadow:inset 3px 0 0 var(--accent)}.signal.sev-proof{box-shadow:inset 3px 0 0 var(--muted)}.evlog{margin:0;padding:0 0 0 4px;list-style:none;position:relative}.evlog:before{content:"";background:var(--grid);border-radius:1px;width:2px;position:absolute;top:10px;bottom:10px;left:17px}.evlog-item{gap:12px;padding:6px 0 10px;display:flex;position:relative}.evlog-icon{z-index:1;width:28px;height:28px;color:var(--tone);background:color-mix(in srgb, var(--tone) 12%, var(--surface));box-shadow:0 0 0 3px var(--surface);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.evlog-item.tone-critical{--tone:var(--critical)}.evlog-item.tone-serious{--tone:var(--serious)}.evlog-item.tone-accent{--tone:var(--accent)}.evlog-item.rejected .evlog-icon{color:var(--muted);background:var(--surface-2)}.evlog-body{flex:1;min-width:0;padding-top:3px}.evlog-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px;display:flex}.evlog-step{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}.evlog-detail{color:var(--text-2);overflow-wrap:anywhere;margin:2px 0 4px;font-size:12px}.evlog-err{color:var(--text-2);margin-top:2px;font-size:12px}.proof{border-radius:var(--r-md);background:repeating-linear-gradient(0deg, transparent 0 23px, color-mix(in srgb, var(--grid) 70%, transparent) 23px 24px), var(--surface-2);border:1px solid var(--border-strong);margin-top:14px;padding:16px 18px 14px;position:relative;overflow:hidden}.proof-title{font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.proof-sub{color:var(--muted);max-width:44ch;margin:2px 0 10px;font-size:12px}.proof p{font-family:var(--font-mono);margin:0 0 8px;font-size:12.5px;line-height:1.6}.proof-steps{font:500 11.5px var(--font-mono);color:var(--text-2)}.proof-stamp{border:2px solid var(--critical);color:var(--critical);font:700 11px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;opacity:.85;border-radius:6px;padding:3px 10px;position:absolute;top:12px;right:12px;transform:rotate(-8deg)}.spark{width:100%;height:22px;margin-top:4px;display:block}.spark-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.spark-area{fill:color-mix(in srgb, var(--accent) 10%, transparent);stroke:none}.kpi.bad .spark-line{stroke:var(--critical)}.kpi.bad .spark-area{fill:color-mix(in srgb, var(--critical) 10%, transparent)}.kpi-delta{letter-spacing:0;color:var(--muted);vertical-align:3px;white-space:nowrap;margin-left:8px;font-size:11.5px;font-weight:600}.kpi-delta.up{color:var(--good-ink)}.kpi-delta.down{color:var(--critical)}.kpi .v{white-space:normal}.sat-tiles{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px;display:grid}.sat-tile{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);height:58px;box-shadow:inset 0 3px 0 var(--act,var(--axis));text-align:left;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:6px 8px;font-weight:500;display:flex;position:relative;overflow:hidden}.sat-tile:hover:not(:disabled){background:var(--surface);border-color:var(--axis)}.sat-tile.act-r{--act:var(--relay)}.sat-tile.act-d{--act:var(--downlink)}.sat-tile.act-c{--act:var(--calib)}.sat-tile.act-x{--act:var(--critical)}.sat-tile.off{background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--critical) 9%, transparent) 5px 7px), var(--surface)}.sat-tile.on{border-color:var(--chip);box-shadow:inset 0 3px 0 var(--act,var(--axis)), 0 0 0 2px var(--chip)}.sat-fill{background:color-mix(in srgb, var(--good) 8%, transparent);transition:height .4s var(--ease);position:absolute;bottom:0;left:0;right:0}.sat-fill[data-low]{background:color-mix(in srgb, var(--critical) 16%, transparent)}.sat-id,.sat-soc,.sat-flags{position:relative}.sat-id{font:600 12px var(--font-mono);color:var(--text)}.sat-soc{color:var(--text-2);font-size:11.5px}.sat-flags{color:var(--muted);gap:2px;display:flex;position:absolute;top:7px;right:6px}.sat-legend{color:var(--muted);align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.sat-legend i{background:var(--axis);border-radius:2px;width:12px;height:3px;margin-left:8px}.sat-legend .act-r{background:var(--relay)}.sat-legend .act-d{background:var(--downlink)}.sat-legend .act-c{background:var(--calib)}.miniprof{height:26px;margin-top:8px;display:block}.miniprof svg{width:100%;height:26px;display:block;overflow:visible}.mp-load{fill:color-mix(in srgb, var(--accent) 22%, transparent)}.mp-load.over{fill:color-mix(in srgb, var(--critical) 26%, transparent)}.mp-cap{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.mp-sun{fill:none;stroke:var(--warning);stroke-width:1.5px;stroke-linejoin:round}.scn.on .mp-load{fill:color-mix(in srgb, var(--accent) 32%, transparent)}.duel{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:16px;margin-top:18px;display:grid}.duel-side{border-radius:var(--r-lg);border:1px solid var(--border);background:linear-gradient(var(--side-dir,90deg), color-mix(in srgb, var(--side) 9%, var(--surface)), var(--surface) 70%);min-width:0;padding:16px 18px;position:relative}.duel-side.side-a{--side-dir:90deg;box-shadow:inset 4px 0 0 var(--side)}.duel-side.side-b{--side-dir:270deg;box-shadow:inset -4px 0 0 var(--side);text-align:right}.duel-side.win{border-color:color-mix(in srgb, var(--good) 45%, var(--border))}.duel-tag{align-items:center;gap:8px;display:flex}.side-b .duel-tag{flex-direction:row-reverse;justify-content:flex-end}.duel-letter{background:var(--side);color:#fff;width:26px;height:26px;font:700 13px var(--font-mono);border-radius:8px;place-items:center;display:grid}.duel-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-weight:600;display:block;overflow:hidden}.duel-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.duel-score{letter-spacing:-.03em;margin-top:10px;font-size:34px;font-weight:650;line-height:1}.duel-score span{color:var(--muted);font-size:18px;font-weight:500}.duel-score small{letter-spacing:0;color:var(--text-2);margin-top:4px;font-size:12px;font-weight:500;display:block}.duel-sub{color:var(--text-2);margin-top:6px;font-size:12.5px}.duel-center{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0 4px;display:flex}.duel-vs{font:700 13px var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.duel-bars{flex-direction:column;gap:8px;display:flex}.duel-row{grid-template-columns:110px minmax(0,1fr) 220px minmax(0,1fr) 110px;align-items:center;gap:12px;display:grid}.duel-row .duel-val{color:var(--text-2);font-size:13px}.duel-row .duel-val:first-child{text-align:right}.duel-val.best{color:var(--text);font-weight:650}.duel-label{text-align:center;color:var(--text-2);font-size:12.5px}.duel-bar{background:var(--surface-2);border-radius:5px;height:10px;display:flex;overflow:hidden}.duel-bar.to-a{justify-content:flex-end}.duel-bar i{background:color-mix(in srgb, var(--series,var(--axis)) 35%, var(--surface));height:100%;transition:width .4s var(--ease);border-radius:5px;display:block}.duel-bar.to-a i{--series:var(--relay)}.duel-bar.to-b i{--series:var(--downlink)}.duel-bar i.best{background:var(--series)}@media (width<=900px){.duel{grid-template-columns:1fr}.duel-side.side-b{text-align:left;box-shadow:inset 4px 0 0 var(--side)}.side-b .duel-tag{flex-direction:row;justify-content:flex-start}.duel-row{grid-template-columns:70px 1fr 1fr 70px}.duel-label{text-align:left;order:-1;grid-column:1/-1}}kbd{border:1px solid var(--border-strong);background:var(--surface);height:18px;color:var(--text-2);font:500 10.5px var(--font-mono);white-space:nowrap;border-bottom-width:2px;border-radius:4px;align-items:center;padding:0 5px;display:inline-flex}.palette-btn{color:var(--text-2);gap:6px}.palette-btn kbd{margin-left:2px}.palette-scrim{z-index:70;background:#080e1a73;animation:none}.palette{z-index:71;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(640px,100vw - 32px);max-height:70vh;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 24px 64px -12px #080e1a73}.palette-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:12px 14px;display:flex}.palette-input input{box-shadow:none;background:0 0;border:none;flex:1;height:32px;padding:0;font-size:15px}.palette-input input:focus{box-shadow:none}.palette-list{padding:6px;overflow:auto}.palette-group{color:var(--muted);letter-spacing:.02em;padding:10px 10px 4px;font-size:11px;font-weight:600}.palette-item{border-radius:var(--r-md);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13.5px;display:flex}.palette-item.on{background:var(--accent-soft);color:var(--text)}.palette-foot{border-top:1px solid var(--border);color:var(--muted);gap:16px;padding:8px 14px;font-size:11.5px;display:flex}.palette-foot kbd{margin-right:3px}@media (width<=720px){.palette-btn kbd,.palette-btn{display:none}}.kpi.flash{animation:kpi-flash 1.2s var(--ease)}@keyframes kpi-flash{0%{background-color:var(--accent-soft)}to{background-color:#0000}}.scroll,.drawer,.palette-list,.sat-picker,.gantt-wrap{overscroll-behavior:contain}.tabs{position:relative}.tabs-ind{background:var(--accent);transform-origin:0;width:1px;height:2px;transition:transform .24s var(--ease-in-out);pointer-events:none;border-radius:2px;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}@keyframes enter-up{0%{opacity:0;transform:translateY(6px)}}@keyframes enter-fade{0%{opacity:0}}.tab-panel{animation:enter-up .18s var(--ease-out) both}.panel-swap{animation:enter-up .18s var(--ease-out) both;min-width:0}.route-enter{animation:enter-up .2s var(--ease-out) both}.scn.on:before{animation:bar-in .16s var(--ease-out) both;transform-origin:50%}@keyframes bar-in{0%{opacity:0;transform:scaleY(.4)}}.scn-list>*,.run-item,.kpis>.kpi{animation:enter-up .26s var(--ease-out) both}.scn-list>:nth-child(2),.run-item:nth-child(2),.kpis>.kpi:nth-child(2){animation-delay:40ms}.scn-list>:nth-child(3),.run-item:nth-child(3),.kpis>.kpi:nth-child(3){animation-delay:80ms}.scn-list>:nth-child(4),.run-item:nth-child(4),.kpis>.kpi:nth-child(4){animation-delay:.12s}.scn-list>:nth-child(5),.run-item:nth-child(5),.kpis>.kpi:nth-child(5){animation-delay:.16s}.scn-list>:nth-child(6),.run-item:nth-child(6),.kpis>.kpi:nth-child(6){animation-delay:.2s}.scn-list>:nth-child(n+7),.run-item:nth-child(n+7),.kpis>.kpi:nth-child(n+7){animation-delay:.24s}.kpi.flash{animation:kpi-flash 1.2s var(--ease-out);animation-delay:0s}@media (hover:hover) and (pointer:fine){.sat-tile{transition:transform .16s var(--ease-out), border-color .15s ease}.sat-tile:hover:not(:disabled){transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.tab-panel,.panel-swap,.route-enter,.scn-list>*,.run-item,.kpis>.kpi{animation-name:enter-fade!important;animation-duration:.16s!important}.tabs-ind{transition-duration:.01ms!important}.scn.on:before{animation:none!important}}.welcome{z-index:100;color:#e6ecf5;font-family:var(--font);animation:w-fade .4s var(--ease-out) both;background:radial-gradient(120% 90% at 78% 40%,#122450 0%,#0a1330 38%,#050912 75%);position:fixed;inset:0;overflow:auto}.welcome.leaving{animation:w-leave .26s var(--ease-out) forwards}@keyframes w-fade{0%{opacity:0}}@keyframes w-leave{to{opacity:0;transform:scale(1.015)}}.welcome-sky{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.welcome-sky .twinkle{animation:4s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.15}}.welcome-glow{pointer-events:none;filter:blur(10px);background:radial-gradient(circle,#5b8fff38,#0000 62%);border-radius:50%;width:60vw;max-width:900px;height:60vw;max-height:900px;position:absolute;top:10%;right:-10%}.welcome-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:32px;max-width:1280px;min-height:100dvh;margin:0 auto;padding:48px 32px;display:grid;position:relative}.welcome-text{max-width:620px}.welcome-brand{color:#a5b1c5;--accent:#5b8fff;--surface:#111826;background:#11182699;border:1px solid #e6ecf524;border-radius:999px;align-items:center;gap:10px;padding:6px 12px 6px 8px;font-size:12.5px;display:inline-flex}.welcome-brand svg{color:#e6ecf5}.welcome h1{letter-spacing:-.045em;background:linear-gradient(#fff 30%,#9dbcff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:22px 0 0;font-size:clamp(56px,8vw,104px);font-weight:700;line-height:.95}.welcome-sub{color:#c9d5e8;text-wrap:balance;max-width:30ch;margin:14px 0 0;font-size:clamp(18px,2vw,23px);font-weight:500;line-height:1.35}.welcome-lead{color:#a5b1c5;max-width:58ch;margin:18px 0 0;font-size:15px;line-height:1.65}.welcome-points{gap:14px;margin:26px 0 0;padding:0;list-style:none;display:grid}.welcome-points li{color:#a5b1c5;align-items:flex-start;gap:14px;font-size:14px;line-height:1.55;display:flex}.welcome-points b{color:#e6ecf5;margin-bottom:1px;font-weight:600;display:block}.wp-icon{color:#9dbcff;background:linear-gradient(#5b8fff38,#5b8fff14);border:1px solid #5b8fff47;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.welcome-cta{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.welcome .primary{color:#06101f;background:#5b8fff;box-shadow:0 8px 28px -8px #5b8fffb3}.welcome .primary:hover:not(:disabled){background:#7aa4ff}.welcome-ghost{color:#e6ecf5;background:#1118268c;border-color:#e6ecf52e}.welcome-ghost:hover:not(:disabled){background:#1f2a3dcc;border-color:#e6ecf54d}.welcome :focus-visible{outline-color:#9dbcff}.welcome button:focus-visible{box-shadow:0 0 0 3px #9dbcff73}.welcome-art svg{width:100%;max-width:620px;margin:0 auto;display:block;overflow:visible}.w-orbit{fill:none;stroke:#9dbcff47;stroke-width:1.2px}.w-orbit.o2{stroke-dasharray:2 6}.w-orbit.o3{stroke:#9dbcff33}.w-apogee circle{fill:#f0b43c}.w-apogee .w-apogee-ring{fill:none;stroke:#f0b43c;stroke-opacity:.6;animation:apogee-pulse 2.4s var(--ease-out) infinite;transform-box:fill-box;transform-origin:50%}@keyframes apogee-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.w-apogee text{fill:#f0b43c;font:600 12px var(--font-mono);letter-spacing:.08em}.w-in{animation:w-rise .56s var(--ease-out) both;animation-delay:var(--d,0s)}@keyframes w-rise{0%{opacity:0;transform:translateY(14px)}}@media (width<=900px){.welcome-inner{grid-template-columns:1fr;gap:8px;padding:32px 20px 40px}.welcome-art{order:-1;width:100%;max-width:360px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.w-in{animation-name:enter-fade!important;animation-duration:.2s!important}.welcome-sky .twinkle,.w-apogee .w-apogee-ring{animation:none!important}}.w-grid ellipse{fill:none;stroke:#bcd4ff;stroke-opacity:.16;stroke-width:1px}
