@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff");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:Qomra Arabic;src:url(/fonts/qomra-arabic.woff2)format("woff2"),url(/fonts/qomra-arabic.otf)format("opentype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyah-sans-400.woff2)format("woff2");font-weight:300 400;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyah-sans-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyah-sans-700.woff2)format("woff2");font-weight:600 900;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Serif Display;src:url(/fonts/thmanyah-serif-display-700.woff2)format("woff2");font-weight:600 900;font-style:normal;font-display:swap}:root{--bg:oklch(17% .03 255);--panel:oklch(21% .032 255);--surface-2:oklch(25% .034 255);--border:oklch(32% .035 255);--border-bright:oklch(44% .045 255);--map-bg:oklch(15% .028 255);--fg:oklch(95% .01 255);--fg-dim:oklch(74% .022 255);--ink-faint:oklch(60% .02 255);--live:oklch(79% .17 150);--dead:oklch(52% .02 255);--fault:oklch(66% .2 25);--warn:oklch(82% .16 85);--accent:oklch(76% .14 230);--smart:oklch(76% .14 230);--manual:oklch(73% .16 55);--served:oklch(42% .11 150);--outage:oklch(30% .02 255);--shed:oklch(30% .02 255);--sw-closed:oklch(60% .15 150);--shell:oklch(21% .035 235);--blade:oklch(95% .012 220);--tie-live:oklch(72% .13 250);--tie-dead:oklch(56% .06 250);--glow-live:drop-shadow(0 0 5px color-mix(in oklch, var(--live) 55%, transparent));--glow-fault:drop-shadow(0 0 6px color-mix(in oklch, var(--fault) 60%, transparent));--glow-accent:drop-shadow(0 0 6px color-mix(in oklch, var(--accent) 55%, transparent));--font-ui:"Qomra Arabic", "Thmanyah Sans", "Segoe UI", Tahoma, system-ui, sans-serif;--font-display:"Thmanyah Serif Display", "Thmanyah Sans", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--z-sticky:10;--z-overlay:40;font-family:var(--font-ui);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(120% 90% at 50% -10%, oklch(24% .04 255) 0%, transparent 55%), var(--bg);color:var(--fg);margin:0}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.app{flex-direction:column;height:100vh;display:flex}.hud{background:linear-gradient(180deg, var(--surface-2), var(--panel));border-bottom:1px solid var(--border);box-shadow:0 1px 0 color-mix(in oklch, var(--border-bright) 40%, transparent) inset, 0 6px 20px oklch(10% .02 255/.5);z-index:var(--z-sticky);align-items:center;gap:24px;padding:10px 18px;display:flex;position:relative}.hud-title{white-space:nowrap;letter-spacing:.01em;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.logo{color:var(--warn);filter:drop-shadow(0 0 6px color-mix(in oklch, var(--warn) 60%, transparent))}.hud-stats{flex:1;gap:10px;display:flex}.stat{background:color-mix(in oklch, var(--bg) 55%, transparent);border:1px solid var(--border);border-radius:9px;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:5px 12px;display:flex}.stat-label{color:var(--fg-dim);font-size:.66rem;font-weight:500}.stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.stat-value small{color:var(--ink-faint);font-size:.66rem;font-weight:400}.stat-danger{border-color:color-mix(in oklch, var(--fault) 55%, var(--border));background:color-mix(in oklch, var(--fault) 12%, var(--bg))}.stat-danger .stat-value{color:var(--fault)}@keyframes stat-critical{50%{box-shadow:0 0 16px color-mix(in oklch, var(--fault) 55%, transparent);transform:scale(1.04)}}.stat-critical{animation:1s ease-in-out infinite stat-critical}.hud-actions{gap:8px;display:flex}.btn{background:var(--surface-2);color:var(--fg);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 15px;font-family:inherit;font-size:.82rem;font-weight:500;transition:border-color .15s,background .15s,transform .1s}.btn:hover{border-color:var(--border-bright);background:color-mix(in oklch, var(--surface-2) 80%, var(--accent))}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:oklch(20% .04 255);box-shadow:0 0 18px color-mix(in oklch, var(--accent) 30%, transparent);border-color:#0000;font-weight:700}.btn-primary:hover{background:color-mix(in oklch, var(--accent) 88%, white);border-color:#0000}.btn-danger{background:color-mix(in oklch, var(--fault) 22%, var(--surface-2));border-color:color-mix(in oklch, var(--fault) 45%, var(--border))}.btn-danger:hover{background:color-mix(in oklch, var(--fault) 35%, var(--surface-2));border-color:var(--fault)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-icon{padding:8px 11px;font-size:.95rem;line-height:1}.layout{flex:1;min-height:0;display:flex}.diagram-wrap{flex-direction:column;flex:1;min-width:0;padding:14px;display:flex}.diagram-stage{flex:1;min-height:0;display:flex;position:relative}.diagram{background:linear-gradient(oklch(35% .045 240/.06) 1px, transparent 1px), linear-gradient(90deg, oklch(35% .045 240/.06) 1px, transparent 1px), radial-gradient(90% 70% at 50% 40%, oklch(20% .035 255) 0%, var(--bg) 100%);border:1px solid var(--border);touch-action:none;direction:ltr;background-size:32px 32px,32px 32px,100% 100%;border-radius:14px;flex:1;width:100%;box-shadow:inset 0 0 60px oklch(10% .02 255/.6),0 10px 30px oklch(10% .02 255/.35)}.zoom-controls{inset-inline-end:12px;z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px}.zoom-btn{border:1px solid var(--border);background:color-mix(in oklch, var(--surface-2) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:40px;height:40px;color:var(--fg);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;line-height:1;display:flex}.zoom-btn:hover{border-color:var(--border-bright)}.zoom-btn:active{transform:scale(.94)}.legend{color:var(--fg-dim);flex-wrap:wrap;gap:8px 26px;padding:12px 8px 2px;font-size:.78rem;line-height:1.5;display:flex}.legend span{align-items:center;gap:2px;display:inline-flex}.dot{border-radius:50%;width:10px;height:10px;margin-inline-end:5px;display:inline-block}.dot-live{background:var(--live);box-shadow:0 0 6px var(--live)}.dot-dead{background:var(--dead)}.dot-fault,.dot-efi{background:var(--fault);box-shadow:0 0 6px var(--fault)}.dot-tie{background:var(--tie-dead)}.dot-smart{background:var(--smart)}.dot-manual{background:var(--manual)}.svg-label,.svg-load,.svg-rmu,.svg-kva,.svg-tag,.svg-efi,.svg-slbs{paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}.svg-label{fill:var(--fg-dim);font-size:12.5px;font-family:var(--font-ui);letter-spacing:.02em}.svg-tag{fill:var(--ink-faint);font-size:9.5px;font-family:var(--font-ui);letter-spacing:.04em}.svg-load{font-size:11px;font-weight:600;font-family:var(--font-mono)}.svg-kva{fill:#fff;font-size:11px;font-weight:700;font-family:var(--font-mono);pointer-events:none}.svg-rmu{fill:var(--fg);letter-spacing:.02em;pointer-events:none;font-size:9.5px;font-weight:600}.svg-source{fill:var(--fg);letter-spacing:.02em;font-size:13px;font-weight:700}.edge-lit{filter:var(--glow-live)}.edge-fault{filter:var(--glow-fault)}@keyframes edge-restored{0%{stroke-width:6px;filter:drop-shadow(0 0 14px var(--live))}to{}}.edge-restored{animation:1.2s ease-out edge-restored}@keyframes tx-restored{0%{filter:drop-shadow(0 0 18px var(--live)) brightness(1.6)}to{}}.tx-restored{animation:1.3s ease-out tx-restored}@keyframes tx-bloom{0%{r:20;opacity:.9}to{r:44;opacity:0}}.tx-bloom{pointer-events:none;animation:1.1s ease-out forwards tx-bloom}@keyframes grid-back{0%{opacity:0;transform:scale(.2)}35%{opacity:.5}to{opacity:0;transform:scale(1)}}.grid-back-sweep{contain:paint;pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 50%, color-mix(in oklch, var(--live) 30%, transparent) 0%, transparent 60%);border-radius:14px;animation:1.6s ease-out both grid-back;position:absolute;inset:0;overflow:clip}@keyframes pip-pulse{0%,to{opacity:1}50%{opacity:.45}}.pip-live{filter:drop-shadow(0 0 3px var(--live));animation:1.6s ease-in-out infinite pip-pulse}@keyframes stat-pop{0%{color:var(--live);transform:scale(1.35)}to{}}.stat-pop{animation:.45s ease-out stat-pop;display:inline-block}.dot-small{width:7px;height:7px}.svg-tooltip rect{fill:color-mix(in oklch, var(--panel) 94%, transparent);stroke:var(--border-bright);stroke-width:1px;filter:drop-shadow(0 6px 18px oklch(8% .02 255/.6))}.svg-tooltip .tt-title{fill:var(--fg);font-size:12px;font-weight:700;font-family:var(--font-ui)}.svg-tooltip .tt-line{fill:var(--fg-dim);font-size:11px;font-family:var(--font-ui)}.switch-box{transition:filter .15s}.switch-box:hover .switch-ring{filter:brightness(1.5)}.edge-tie-lit{filter:drop-shadow(0 0 6px color-mix(in oklch, var(--tie-live) 60%, transparent))}@keyframes fault-dash{to{stroke-dashoffset:-20px}}.edge-fault-dash{animation:.7s linear infinite fault-dash}@keyframes fault-pulse{50%{opacity:.5}}.fault-flash{fill:var(--fault);filter:drop-shadow(0 0 8px color-mix(in oklch, var(--fault) 75%, transparent));animation:1.1s ease-in-out infinite fault-pulse}.svg-rmutype{letter-spacing:.08em;font-size:6.5px;font-weight:700;font-family:var(--font-ui);pointer-events:none}.svg-slbs{letter-spacing:.06em;font-size:7.5px;font-weight:700;font-family:var(--font-mono);pointer-events:none}.efi-lit{filter:drop-shadow(0 0 4px color-mix(in oklch, var(--fault) 75%, transparent));animation:1.1s ease-in-out infinite pip-pulse}.svg-efi{letter-spacing:.08em;font-size:7px;font-weight:700;font-family:var(--font-mono);fill:var(--fault);filter:drop-shadow(0 0 5px color-mix(in oklch, var(--fault) 65%, transparent))}@keyframes op-step{50%{transform:translateY(-1.6px)}}.op-walk .op-body{animation:.45s ease-in-out infinite op-step}@keyframes op-crank{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)translateY(-1px)}}.op-operate .op-body{transform-box:fill-box;transform-origin:50% 90%;animation:.7s ease-in-out infinite op-crank}@keyframes boom-flash{0%{opacity:1;transform:scale(.25)}60%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(2.4)}}.boom-flash{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out forwards boom-flash}@keyframes boom-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(4)}}.boom-ring{transform-box:fill-box;transform-origin:50%;animation:1.3s ease-out forwards boom-ring}@keyframes boom-smoke{0%{opacity:0;transform:translateY(0)scale(.5)}25%{opacity:.55}to{opacity:0;transform:translateY(-16px)scale(1.5)}}.boom-smoke{transform-box:fill-box;transform-origin:50%;opacity:0;animation:2.2s ease-out .5s infinite boom-smoke}.boom-smoke-2{animation-duration:2.6s;animation-delay:1.2s}@keyframes op-fall{0%{opacity:0}40%{opacity:0}to{opacity:1}}.op-down{animation:.9s ease-in forwards op-fall}.svg-srcsub{fill:var(--ink-faint);letter-spacing:.2em;font-size:6px;font-family:var(--font-ui);pointer-events:none}@keyframes edge-flash{0%{stroke:var(--accent);filter:var(--glow-accent)}to{}}.edge-flash{animation:.5s ease-out edge-flash}.sidebar{border-inline-start:1px solid var(--border);background:linear-gradient(180deg, var(--panel), var(--bg));flex-direction:column;gap:11px;width:330px;padding:14px;display:flex;overflow-y:auto}.card,.map-panel{background:var(--panel);border:1px solid var(--border);box-shadow:0 1px 0 color-mix(in oklch, var(--border-bright) 35%, transparent) inset;border-radius:12px;padding:12px 13px}.panel-title{color:var(--accent);letter-spacing:.02em;align-items:center;gap:7px;margin-bottom:9px;font-size:.78rem;font-weight:700;display:flex}.panel-title:before{content:"";background:var(--accent);width:3px;height:13px;box-shadow:0 0 8px color-mix(in oklch, var(--accent) 60%, transparent);border-radius:2px}.map-panel svg{direction:ltr;border-radius:8px;width:100%}.crew-row{justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}.crew-status{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:600}.crew-travelling{background:color-mix(in oklch, var(--accent) 24%, var(--bg));border-color:color-mix(in oklch, var(--accent) 40%, var(--border));color:var(--accent)}.crew-working{background:color-mix(in oklch, var(--manual) 24%, var(--bg));border-color:color-mix(in oklch, var(--manual) 40%, var(--border));color:var(--manual)}.crew-onsite{background:color-mix(in oklch, var(--live) 22%, var(--bg));border-color:color-mix(in oklch, var(--live) 40%, var(--border));color:var(--live)}.crew-loc{color:var(--fg-dim);font-variant-numeric:tabular-nums;font-size:.78rem}.progress{background:var(--bg);border:1px solid var(--border);border-radius:3px;height:6px;margin-top:9px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), color-mix(in oklch, var(--accent) 70%, white));height:100%;box-shadow:0 0 10px var(--accent);transition:width 1s linear}.card .btn{width:100%;margin-top:9px}.hint{color:var(--fg-dim);margin-top:4px;font-size:.78rem;line-height:1.75}.way-list{flex-direction:column;gap:7px;margin-top:10px;display:flex}.way-btn{background:var(--surface-2);border:1px solid var(--border);width:100%;min-height:42px;color:var(--fg);text-align:start;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:.78rem;transition:border-color .15s,background .15s,transform .1s;display:flex}.way-btn:hover{border-color:var(--border-bright);background:color-mix(in oklch, var(--surface-2) 82%, var(--accent))}.way-btn:active{transform:translateY(1px)}.way-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.way-name{min-width:0}.way-state{flex-shrink:0;font-size:.72rem;font-weight:600}.way-open .way-state{color:var(--warn)}.way-closed .way-state{color:var(--live)}.alarms{flex-direction:column;flex:1;min-height:150px;display:flex}.alarm-list{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.alarm{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;align-items:baseline;gap:9px;padding:7px 10px;font-size:.76rem;line-height:1.6;animation:.28s cubic-bezier(.22,1,.36,1) alarm-in;display:flex}@keyframes alarm-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.alarm:before{flex-shrink:0;font-size:.8rem;line-height:1.4}.alarm-time{color:var(--ink-faint);font-family:var(--font-mono);flex-shrink:0;font-size:.72rem}.alarm-danger{background:color-mix(in oklch, var(--fault) 15%, var(--surface-2));border-color:color-mix(in oklch, var(--fault) 40%, var(--border))}.alarm-danger:before{content:"⚠";color:var(--fault)}.alarm-warning{background:color-mix(in oklch, var(--warn) 13%, var(--surface-2));border-color:color-mix(in oklch, var(--warn) 35%, var(--border))}.alarm-warning:before{content:"▲";color:var(--warn)}.alarm-info{background:var(--surface-2)}.alarm-info:before{content:"›";color:var(--accent);font-weight:700}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-overlay);background:oklch(10% .02 255/.78);justify-content:center;align-items:center;animation:.25s ease-out overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.end-screen{background:linear-gradient(180deg, var(--panel), var(--bg));border:1px solid var(--border-bright);text-align:center;border-radius:18px;width:470px;max-height:88vh;padding:30px 36px;animation:.4s cubic-bezier(.22,1,.36,1) end-rise;overflow-y:auto;box-shadow:0 30px 80px oklch(8% .02 255/.7)}@keyframes end-rise{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.rating{font-family:var(--font-mono);font-size:4rem;font-weight:700;line-height:1;animation:.45s cubic-bezier(.34,1.4,.5,1) .1s both rating-stamp}@keyframes rating-stamp{0%{opacity:0;filter:blur(4px);transform:scale(1.6)}to{opacity:1;filter:blur();transform:scale(1)}}.rating-S{color:var(--warn);text-shadow:0 0 24px color-mix(in oklch, var(--warn) 55%, transparent)}.rating-A{color:var(--live);text-shadow:0 0 20px color-mix(in oklch, var(--live) 45%, transparent)}.rating-B{color:var(--accent)}.rating-C{color:var(--fg-dim)}.rating-Fail{color:var(--fault);text-shadow:0 0 20px color-mix(in oklch, var(--fault) 45%, transparent)}.end-screen h2{margin:10px 0 2px;font-size:1.35rem}.end-reason{color:var(--fg-dim);margin:0 0 18px;font-size:.82rem}.score-grid{text-align:start;flex-direction:column;gap:7px;margin-bottom:20px;display:flex}.score-grid hr{border:none;border-top:1px solid var(--border);width:100%;margin:2px 0}.score-row{justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.score-row span:last-child{font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.score-neg{color:var(--fault)}.end-actions{flex-wrap:wrap;gap:10px;display:flex}.end-actions .btn{flex:45%;padding:12px}.end-stars{letter-spacing:.12em;margin:2px 0 4px;font-size:1.9rem}@keyframes star-stamp{0%{opacity:0;transform:scale(2.2)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}.end-stars .star-on{color:var(--warn);text-shadow:0 0 14px color-mix(in oklch, var(--warn) 60%, transparent);animation:.4s cubic-bezier(.34,1.4,.5,1) both star-stamp;display:inline-block}.end-stars .star-off,.level-stars .star-off{color:color-mix(in oklch, var(--fg-dim) 40%, transparent)}.level-stars .star-on{color:var(--warn)}.level-grid-wrap{flex:1;padding:22px;overflow-y:auto}.level-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-width:980px;margin:0 auto;display:grid}.level-tile{background:var(--panel);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:13px;flex-direction:column;align-items:center;gap:7px;padding:16px 10px 13px;font-family:inherit;transition:border-color .15s,transform .12s,background .15s;display:flex}.level-tile:hover:not(:disabled){border-color:var(--accent);background:color-mix(in oklch, var(--accent) 8%, var(--panel));transform:translateY(-2px)}.level-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.level-current{border-color:color-mix(in oklch, var(--accent) 60%, var(--border));box-shadow:0 0 16px color-mix(in oklch, var(--accent) 25%, transparent)}.level-locked{opacity:.45;cursor:not-allowed}.level-storm{border-color:color-mix(in oklch, var(--fault) 55%, var(--border));background:color-mix(in oklch, var(--fault) 7%, var(--panel))}.level-storm:hover:not(:disabled){border-color:var(--fault);background:color-mix(in oklch, var(--fault) 13%, var(--panel))}.level-storm .level-name{color:color-mix(in oklch, var(--fault) 55%, var(--fg-dim))}.level-num{font-size:1.2rem;font-weight:700}.level-name{color:var(--fg-dim);font-size:.8rem}.level-stars{letter-spacing:.1em;font-size:.95rem}.wasted-overlay{-webkit-backdrop-filter:grayscale()brightness(.5)blur(1px);backdrop-filter:grayscale()brightness(.5)blur(1px);background:0 0;flex-direction:column;animation:1.1s ease-out both wasted-fade}@keyframes wasted-fade{0%{-webkit-backdrop-filter:grayscale(0)brightness()blur();backdrop-filter:grayscale(0)brightness()blur();opacity:0}to{-webkit-backdrop-filter:grayscale()brightness(.5)blur(1px);backdrop-filter:grayscale()brightness(.5)blur(1px);opacity:1}}.wasted-vignette{background:radial-gradient(#0000 30%,oklch(30% .13 25/.45) 70%,oklch(14% .1 25/.9) 100%);animation:.9s ease-out both overlay-in;position:absolute;inset:0}.wasted-content{text-align:center;padding:0 20px;position:relative}.wasted-title{color:oklch(56% .21 25);letter-spacing:.06em;text-shadow:0 3px oklch(22% .09 25),0 0 46px oklch(50% .2 25/.85);font-size:clamp(2.6rem,9vw,4.6rem);font-weight:700;animation:.85s cubic-bezier(.16,1.3,.3,1) .4s both wasted-stamp}@keyframes wasted-stamp{0%{opacity:0;filter:blur(12px);transform:scale(2.6)}60%{filter:blur()}to{opacity:1;filter:blur();transform:scale(1)}}.wasted-sub{color:var(--fg-dim);margin-top:14px;max-width:460px;margin-inline:auto;font-size:.92rem;line-height:1.8;animation:.6s ease-out 1.4s both overlay-in}.wasted-continue{margin-top:28px;padding:12px 38px;font-size:.95rem;animation:.5s ease-out both overlay-in}.level-badge{color:var(--accent);border:1px solid color-mix(in oklch, var(--accent) 45%, var(--border));background:color-mix(in oklch, var(--accent) 12%, transparent);border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:600}.editor-name{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:8px;flex:1;min-width:120px;max-width:280px;padding:8px 12px;font-family:inherit;font-size:.86rem;font-weight:600}.editor-name:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.editor-statusbar{color:var(--fg-dim);min-height:22px;padding:2px 6px 9px;font-size:.78rem}.editor-canvas.placing{cursor:crosshair}.palette{grid-template-columns:1fr 1fr;gap:7px;display:grid}.palette-item{background:var(--surface-2);border:1px solid var(--border);color:var(--fg);cursor:pointer;text-align:center;border-radius:9px;padding:11px 6px;font-family:inherit;font-size:.76rem;font-weight:500;transition:border-color .15s,background .15s,transform .1s}.palette-item:hover{border-color:var(--border-bright);transform:translateY(-1px)}.palette-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palette-item.armed{border-color:var(--accent);background:color-mix(in oklch, var(--accent) 20%, var(--surface-2));box-shadow:0 0 0 1px var(--accent), 0 0 16px color-mix(in oklch, var(--accent) 35%, transparent)}.field{color:var(--fg-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:.78rem;display:flex}.field input,.field select{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:7px;width:152px;padding:7px 9px;font-family:inherit;font-size:.78rem}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.field-check{cursor:pointer;justify-content:flex-start}.field-check input{width:auto;accent-color:var(--accent)}@keyframes call-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(11deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}.call-ring{z-index:var(--z-overlay);color:var(--warn);background:color-mix(in oklch, var(--warn) 12%, var(--panel));border:1px solid color-mix(in oklch, var(--warn) 45%, var(--border));border-radius:999px;padding:10px 18px;font-size:.85rem;font-weight:600;animation:.5s ease-in-out infinite call-shake;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 10px 34px oklch(8% .02 255/.5)}.call-overlay{background:oklch(10% .02 255/.55)}.call-modal{border-color:color-mix(in oklch, var(--warn) 50%, var(--border))}.call-modal .confirm-icon.call-shake{animation:.6s ease-in-out 3 call-shake;display:inline-block}.call-clock-note{color:var(--fault);margin-top:12px;font-size:.7rem;font-weight:600}.call-header{justify-content:center;align-items:center;gap:14px;display:flex}.call-phone{filter:drop-shadow(0 0 12px color-mix(in oklch, var(--warn) 55%, transparent));font-size:2.2rem;display:inline-block}@keyframes face-rage{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-1.5px,1px)rotate(-2.5deg)}75%{transform:translate(1.5px,-1px)rotate(2.5deg)}}.angry-face-svg{animation:.3s linear infinite face-rage;overflow:visible}.angry-skin{fill:oklch(75% .12 45);stroke:oklch(35% .08 35);stroke-width:2.5px}.angry-flush{fill:var(--fault);opacity:.4}.angry-brows line{stroke:oklch(25% .05 35);stroke-width:6px}.angry-eye{fill:oklch(18% .03 255)}@keyframes mouth-chatter{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.angry-mouth{transform-origin:50px 73px;transform-box:view-box;animation:.22s ease-in-out infinite mouth-chatter}.angry-mouth-cavity{fill:oklch(30% .12 25);stroke:oklch(22% .06 25);stroke-width:2px}.angry-teeth{fill:oklch(96% .01 90)}.angry-teeth-gap{stroke:oklch(60% .03 60);stroke-width:1.2px}@keyframes vein-pulse{0%,to{opacity:.95;transform:scale(1)}50%{opacity:.45;transform:scale(1.25)}}.angry-vein{stroke:var(--fault);stroke-width:4px;transform-origin:78px 19px;transform-box:view-box;animation:.55s ease-in-out infinite vein-pulse}@keyframes steam-rise{0%{opacity:0;transform:translateY(4px)scale(.7)}40%{opacity:.7}to{opacity:0;transform:translateY(-9px)scale(1.25)}}.angry-steam{fill:oklch(80% .02 255);animation:1.1s ease-out infinite steam-rise}.angry-steam.s2{animation-delay:.4s}.confirm-modal{background:linear-gradient(180deg, var(--panel), var(--bg));border:1px solid color-mix(in oklch, var(--warn) 40%, var(--border));text-align:center;border-radius:16px;width:min(420px,92vw);padding:24px 26px;animation:.28s cubic-bezier(.22,1,.36,1) end-rise;box-shadow:0 24px 70px oklch(8% .02 255/.7)}.confirm-icon{color:var(--warn);filter:drop-shadow(0 0 12px color-mix(in oklch, var(--warn) 55%, transparent));font-size:2.4rem}.confirm-modal h3{margin:8px 0 6px;font-size:1.1rem}.confirm-modal p{color:var(--fg-dim);margin:0 0 20px;font-size:.9rem;line-height:1.7}.confirm-actions{gap:10px;display:flex}.confirm-actions .btn{flex:1;padding:12px}@media (width<=860px){.app{height:100dvh}.hud{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));flex-wrap:wrap;gap:10px 14px}.hud-title{flex:1;order:1;font-size:.9rem}.hud-actions{order:2}.hud-stats{scrollbar-width:none;flex:1 0 100%;order:3;gap:8px;padding-bottom:2px;overflow-x:auto}.hud-stats::-webkit-scrollbar{display:none}.stat{flex:1 0 auto;min-width:76px;padding:4px 10px}.layout{flex-direction:column}.diagram-wrap{flex:auto;min-height:48vh;padding:8px}.legend{display:none}.sidebar{border-inline-start:none;border-top:1px solid var(--border);width:100%;max-height:42vh;padding:10px;padding-bottom:max(10px, env(safe-area-inset-bottom));flex:none;gap:9px}.alarms{min-height:110px}.btn{padding:9px 13px}.switch-box rect{transform-box:fill-box}}@media (width<=520px){.hud-title{flex:1 0 100%;order:3}.end-screen{padding:24px 20px}.rating{font-size:3.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.progress-fill{transition:none}}.ui-icon{vertical-align:middle;flex:none}.btn{justify-content:center;align-items:center;gap:7px;min-height:40px;display:inline-flex}button:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.btn-quiet{box-shadow:none;background:0 0;border-color:#0000}.eyebrow{color:var(--accent);margin:0 0 10px;font-size:.78rem;font-weight:600}.campaign-app{height:100dvh}.campaign-hud{flex-shrink:0;gap:24px}.campaign-hud .hud-title{flex:1}.brand-ar{color:var(--fg-dim);border-inline-start:1px solid var(--border);padding-inline-start:12px;font-size:.85rem;font-weight:400}.campaign-total{color:var(--fg-dim);align-items:center;gap:7px;font-size:.8rem;display:flex}.campaign-total .ui-icon{color:var(--warn)}.campaign-total b{color:var(--fg);font-size:1rem}.campaign-main{flex:1;padding:36px max(24px,50vw - 580px);overflow-y:auto}.campaign-intro{justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px;display:flex}.campaign-intro h1{margin:0 0 12px;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:600}.campaign-intro p:not(.eyebrow){color:var(--fg-dim);margin:0;font-size:.95rem}.campaign-progress{min-width:235px;color:var(--fg-dim);flex-direction:column;gap:12px;font-size:.85rem;display:flex}.campaign-progress b{color:var(--fg)}.campaign-progress progress{background:var(--surface-2);border:0;border-radius:4px;width:100%;height:4px;overflow:hidden}.campaign-progress progress::-webkit-progress-bar{background:var(--surface-2)}.campaign-progress progress::-webkit-progress-value{background:var(--live)}.campaign-progress progress::-moz-progress-bar{background:var(--live)}.campaign-progress .btn{align-self:flex-start;padding-inline:18px}.campaign-groups{border-block:1px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.group-button{color:var(--fg-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:12px;padding:15px 8px;font-size:.86rem;display:flex}.group-button b{opacity:.8;font-size:.8rem;font-weight:400}.group-button[aria-pressed=true]{color:var(--accent);background:color-mix(in oklch, var(--accent) 7%, transparent);border-bottom-color:var(--accent)}.group-button:hover{background:var(--surface-2)}.campaign-section-title{justify-content:space-between;align-items:center;margin:25px 0 14px;display:flex}.campaign-section-title h2{margin:0;font-size:1rem;font-weight:500}.campaign-section-title>span{color:var(--fg-dim);font-size:.8rem}.campaign-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.campaign-level{--preview-color:var(--smart);border:1px solid var(--border);background:linear-gradient(160deg, var(--panel), var(--bg));min-width:0;color:var(--fg);text-align:start;cursor:pointer;border-radius:12px;flex-direction:column;padding:16px;font-family:inherit;transition:border-color .18s,background .18s;display:flex}.campaign-level:hover:not(:disabled){border-color:var(--accent);background:var(--panel)}.level-card-top,.level-card-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.level-card-top>b{font-size:1rem;font-weight:500}.level-family{color:var(--fg-dim);font-size:.75rem}.network-preview{width:100%;height:92px;color:var(--preview-color,var(--smart));margin-block:15px;display:block}.preview-tie{opacity:.55}.campaign-level-name{font-size:1rem;font-weight:600;line-height:1.6}.level-card-bottom{color:var(--fg-dim);margin-top:9px;font-size:.72rem}.level-star-icons{color:var(--ink-faint);gap:4px;display:flex}.level-star-icons .earned{fill:var(--warn);stroke:var(--warn)}.level-completed{color:var(--live)}.campaign-storm{--preview-color:var(--warn);border-color:color-mix(in oklch, var(--warn) 35%, var(--border))}.storm-badge{color:var(--warn);align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.campaign-locked{opacity:.5;cursor:not-allowed}.campaign-footer{color:var(--fg-dim);justify-content:space-between;align-items:center;padding:24px 0 8px;font-size:.8rem;display:flex}.campaign-player{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.beta-gate{background:radial-gradient(circle at 50% 25%, color-mix(in oklch, var(--accent) 12%, transparent), transparent 42%), var(--bg);place-items:center;min-height:100dvh;padding:20px;display:grid}.beta-card{border:1px solid var(--border-bright);background:var(--panel);text-align:center;border-radius:16px;width:min(420px,100%);padding:28px;box-shadow:0 24px 80px #000a}.beta-card .logo{color:var(--accent)}.beta-card h1{margin:5px 0 9px;font-size:1.65rem}.beta-card>p:not(.eyebrow){color:var(--fg-dim)}.beta-card form{text-align:start;gap:10px;margin-top:22px;display:grid}.beta-card label{color:var(--fg-dim);font-size:.8rem}.beta-card input{border:1px solid var(--border-bright);background:var(--bg);color:var(--fg);font:600 1rem var(--font-mono);text-align:center;letter-spacing:.06em;direction:ltr;border-radius:9px;padding:12px}.beta-card small{color:var(--fault)}.beta-checking{color:var(--accent);margin-top:22px}.leaderboard-overlay{padding:18px}.leaderboard-panel{border:1px solid var(--border-bright);background:var(--panel);direction:rtl;border-radius:16px;width:min(720px,100%);max-height:min(760px,100dvh - 36px);padding:22px;overflow:auto;box-shadow:0 22px 70px #000a}.leaderboard-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.leaderboard-header h2{margin:2px 0 0;font-size:1.45rem}.player-name-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:7px;margin:20px 0;padding:14px;display:grid}.player-name-row>label,.leaderboard-level label{color:var(--fg-dim);font-size:.78rem}.player-name-row>div{gap:8px;display:flex}.player-name-row input,.leaderboard-level select{border:1px solid var(--border-bright);background:var(--bg);min-width:0;color:var(--fg);font:inherit;border-radius:8px;flex:1;padding:9px 11px}.player-name-row small{color:var(--live)}.leaderboard-level{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.leaderboard-level label{gap:5px;display:grid}.leaderboard-mode,.leaderboard-rule{color:var(--fg-dim);font-size:.75rem;line-height:1.7}.leaderboard-table{border:1px solid var(--border);border-radius:10px;margin-top:12px;overflow:hidden}.leaderboard-row{border-top:1px solid var(--border);grid-template-columns:34px minmax(110px,1fr) 75px 58px 58px;align-items:center;gap:8px;min-height:45px;padding:4px 12px;font-size:.8rem;display:grid}.leaderboard-row:first-child{border-top:0}.leaderboard-columns{color:var(--fg-dim);background:var(--surface-2);font-size:.7rem}.leaderboard-row>span:nth-child(3){color:var(--warn)}.leaderboard-me{background:color-mix(in oklch, var(--accent) 9%, transparent);color:var(--accent)}.leaderboard-empty,.leaderboard-table>p{text-align:center;color:var(--fg-dim);padding:22px}.game-hud{flex:none;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding:12px 18px;display:grid}.game-hud .hud-title{grid-column:1;min-width:0;font-size:1rem}.game-scenario{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-hud .hud-actions{grid-area:1/2}.game-hud .hud-stats{grid-column:1/-1;grid-template-columns:1fr 1.35fr 1fr 1fr 1fr;gap:8px;padding:0;display:grid;overflow:visible}.game-hud .stat{flex:initial;min-width:0;padding:7px 12px}.game-hud .stat-label{font-size:.77rem}.game-hud .stat-value{font-size:1.15rem;line-height:1.5}.game-hud .stat-value small{color:var(--fg-dim);font-size:.72rem}.stat-time{order:0}.stat-restoration{order:1}.stat-violations{order:2}.stat-operations{order:3}.stat-rating{order:4}.game-hud .rating-pending{font-family:var(--font-ui);color:var(--fg-dim);font-size:.9rem;font-weight:500}.game-options{position:relative}.game-options-panel{top:calc(100% + 10px);border:1px solid var(--border-bright);background:var(--panel);z-index:20;border-radius:12px;gap:5px;width:210px;padding:8px;display:grid;position:absolute;inset-inline-end:0;box-shadow:0 14px 40px #0008}.game-options-panel .btn{background:0 0;border-color:#0000;justify-content:flex-start}.game-options-panel .btn:hover{background:var(--surface-2)}.game-options-panel .finish-action{border-top:1px solid var(--border);color:var(--fg-dim);border-radius:0 0 7px 7px}.network-view{flex-direction:column;flex:1;min-height:0;display:flex}.network-toolbar{justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 2px 8px;display:flex}.network-hint{color:var(--fg-dim);font-size:.8rem}.network-tools{align-items:center;gap:6px;display:flex}.network-tools .zoom-btn{border-radius:7px;width:36px;height:36px}.diagram-scroll{direction:ltr;flex:1;min-width:0;min-height:0;display:flex}.game-diagram-stage .diagram{height:100%;min-height:0}.game-app .svg-label{font-family:var(--font-mono);fill:var(--fg-dim);letter-spacing:0;font-size:12px}.game-app .svg-rmu{font-family:var(--font-mono);letter-spacing:-.35px;font-size:10px}.game-app .svg-rmutype{letter-spacing:0;font-size:8.5px}.game-app .svg-efi{font-family:var(--font-mono);letter-spacing:0;font-size:9px}.game-app .svg-source{font-family:var(--font-mono);letter-spacing:0;font-size:12px}.rmu-selected .svg-rmu{fill:var(--accent);font-weight:700}.game-app .hint,.editor-app .hint{font-size:.85rem;line-height:1.7}.game-app .alarm,.editor-app .alarm{font-size:.83rem;line-height:1.65}.legend-bar{flex:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 0 0;display:flex;position:relative}.legend-summary{color:var(--fg-dim);gap:16px;font-size:.8rem;display:flex}.legend-summary>span{align-items:center;display:inline-flex}.legend-help .btn{padding:7px 9px;font-size:.8rem}.legend-panel{bottom:calc(100% + 8px);border:1px solid var(--border-bright);background:var(--panel);z-index:5;border-radius:12px;width:min(340px,100%);max-height:min(65dvh,500px);padding:18px;position:absolute;inset-inline-end:0;overflow-y:auto;box-shadow:0 12px 40px #0008}.legend-panel h3{margin:0 0 14px;font-size:1rem}.legend-panel p{border-top:1px solid var(--border);color:var(--fg-dim);align-items:center;gap:12px;margin:0;padding:10px 0;font-size:.8rem;line-height:1.7;display:flex}.legend-panel b{color:var(--fg);font-weight:500;display:block}.legend-panel .dot{flex:none;margin:0 5px}.legend-line{border-top:3px solid var(--live);flex:none;width:20px}.legend-line.dead{border-color:var(--dead)}.legend-line.tie{border-color:var(--tie-dead);border-top-style:dashed}.legend-smart{color:var(--smart)}.legend-manual{color:var(--manual)}.editor-app .palette-item{justify-content:flex-start;align-items:center;gap:9px;padding:12px 10px;font-size:.85rem;display:flex}.editor-app .palette-item .ui-icon{color:var(--accent)}.editor-app .editor-statusbar{font-size:.85rem;line-height:1.65}.editor-empty{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.editor-empty>.network-preview{opacity:.8;max-width:230px;height:125px;margin:0 0 22px}.editor-empty h2{margin:0 0 10px;font-size:1.75rem;font-weight:600}.editor-empty>p:not(.eyebrow){color:var(--fg-dim);margin:0 0 22px;font-size:.95rem}.editor-empty-actions{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (width>=1500px){.game-hud{grid-template-columns:minmax(250px,1fr) minmax(590px,1.5fr) auto}.game-hud .hud-stats{grid-area:1/2}.game-hud .hud-actions{grid-column:3}}@media (width<=1100px){.campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.group-button{gap:6px}}@media (width<=860px),(orientation:landscape) and (height<=600px) and (pointer:coarse){.campaign-hud{flex-wrap:wrap;gap:12px;display:flex}.campaign-hud .hud-title{flex:1 0 100%;order:0;font-size:1rem}.campaign-total{flex:1}.campaign-main{padding:24px 18px}.campaign-intro{gap:20px}.campaign-progress{min-width:185px}.group-button{flex-direction:column;gap:6px;font-size:.78rem}.game-hud{gap:8px;padding:8px 10px;display:grid}.game-hud .hud-title{order:0;gap:6px;font-size:.88rem}.game-hud .hud-actions{order:0;gap:5px}.game-hud .hud-actions .btn{padding:8px}.game-hud .hud-stats{order:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.game-hud .stat{border-radius:7px;grid-column:span 2;padding:4px 6px}.game-hud .stat-operations,.game-hud .stat-rating{background:0 0;border:0;flex-direction:row;grid-column:span 3;justify-content:center;gap:10px;padding-block:3px}.game-hud .stat-value{font-size:1.05rem}.game-hud .stat-restoration .stat-value{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.game-hud .stat-value small{font-size:.65rem}.game-hud .stat-label{font-size:.72rem}.game-hud .rating-pending{font-size:.82rem}.game-hud .level-badge{padding:2px 6px;font-size:.64rem}.game-app .layout{overflow-y:auto}.game-app .diagram-wrap{flex:none;min-height:0;padding:8px 10px}.game-app .network-view{flex:none}.network-toolbar{gap:6px;padding-bottom:6px}.network-hint{font-size:.76rem}.network-tools{gap:4px}.network-tools .zoom-btn{width:40px;height:44px}.network-tools .view-mode{min-height:44px;padding:6px 8px;font-size:.75rem}.game-diagram-stage{flex:none;height:clamp(300px,49dvh,470px)}.diagram-scroll{border:1px solid var(--border);background:var(--bg);overscroll-behavior:contain;border-radius:12px;overflow:auto}.network-detail .diagram{touch-action:pan-x pan-y;border:0;border-radius:0;flex:none;max-width:none}.network-overview .diagram{touch-action:auto}.game-app .sidebar{flex:none;max-height:none;overflow:visible}.game-app .alarms{min-height:160px;max-height:310px}.game-app .legend-bar{padding-top:5px}.game-app .legend-help summary{min-height:44px}.game-app .legend-panel{max-height:min(43dvh,360px)}.editor-app .layout{overflow-y:auto}.editor-app .hud{flex:none;grid-template-columns:auto minmax(0,1fr);gap:10px;display:grid}.editor-app .hud-title{order:0;flex:initial;grid-area:1/1;font-size:.88rem}.editor-app .editor-name{grid-area:1/2;width:100%;min-width:0;max-width:none}.editor-app .hud-actions{grid-area:2/1/auto/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.editor-app .hud-actions .btn{min-height:44px;padding:6px 4px;font-size:.76rem}.editor-app .hud-actions .ui-icon{display:none}.editor-app .diagram-wrap{flex:none;min-height:500px}.editor-app .sidebar{flex:none;max-height:none;overflow:visible}.editor-empty h2{font-size:1.5rem}}@media (width<=560px){.campaign-player{max-width:145px}.leaderboard-overlay{align-items:stretch;padding:0}.leaderboard-panel{width:100%;max-height:100dvh;padding:16px 12px max(16px, env(safe-area-inset-bottom));border-radius:0}.leaderboard-level{grid-template-columns:1fr 1fr}.leaderboard-level label{grid-area:1/1/auto/-1}.leaderboard-row{grid-template-columns:25px minmax(90px,1fr) 58px 48px 48px;gap:5px;padding-inline:7px;font-size:.7rem}.campaign-main{padding:24px 14px}.brand-ar{font-size:.75rem}.campaign-intro{flex-direction:column;align-items:stretch;gap:22px;padding-bottom:24px}.campaign-intro h1{font-size:1.85rem}.campaign-intro p:not(.eyebrow){font-size:.88rem}.campaign-progress{grid-template-columns:1fr auto;align-items:center;gap:8px 16px;min-width:0;display:grid}.campaign-progress .btn{grid-area:1/2/3;font-size:.8rem}.campaign-progress span{font-size:.75rem}.campaign-groups{gap:0}.group-button{padding:13px 3px;font-size:.7rem}.group-button b{font-size:.68rem}.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.campaign-level{padding:12px}.campaign-level .network-preview{height:75px;margin-block:13px}.level-card-top>b{font-size:.9rem}.level-family{font-size:.65rem}.campaign-level-name{font-size:.9rem}.level-card-bottom{flex-direction:column;align-items:flex-start;gap:8px;font-size:.7rem}.campaign-section-title>span{font-size:.72rem}.campaign-footer{align-items:flex-start;gap:14px;font-size:.75rem}.editor-empty{padding:18px}.editor-empty-actions{flex-direction:column}.editor-empty>.network-preview{height:90px;margin-bottom:16px}}@media (prefers-reduced-motion:reduce){.campaign-level,.group-button{transition:none}}.switch-box:focus-visible .switch-ring{stroke:var(--accent);stroke-width:4px}.game-app .diagram-wrap{position:relative}.field-equipment-panel{z-index:9;border:1px solid color-mix(in oklch, var(--manual) 68%, var(--border));background:color-mix(in oklch, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);direction:rtl;border-radius:14px;width:min(390px,100% - 48px);padding:16px;animation:.16s ease-out field-panel-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 55px oklch(8% .025 255/.72),inset 0 0 0 1px oklch(100% 0 0/.03)}.field-equipment-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.field-equipment-header h3{color:var(--fg);margin:2px 0 0;font-size:1.02rem}.field-kicker{color:var(--manual);font-size:.7rem;font-weight:700}.field-close{border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--fg-dim);cursor:pointer;border-radius:9px;flex:none;place-items:center;display:grid}.field-close:hover{color:var(--fg);border-color:var(--border-bright)}.field-copy{color:var(--fg-dim);margin:14px 0 10px;font-size:.8rem;line-height:1.7}.field-primary{justify-content:center;width:100%}.field-status{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:flex}.field-status>svg{flex:none}.field-status div{flex-direction:column;min-width:0;display:flex}.field-status strong{font-size:.8rem}.field-status span{color:var(--fg-dim);font-size:.72rem}.field-status-travel{color:var(--accent)}.field-status-work{color:var(--manual)}.field-status-ready{color:var(--live)}.field-progress{background:var(--bg);border-radius:5px;height:5px;margin-top:13px;overflow:hidden}.field-progress span{border-radius:inherit;background:var(--accent);height:100%;box-shadow:0 0 9px var(--accent);transition:width 1s linear;display:block}.field-commands{gap:8px;max-height:210px;margin-top:10px;display:grid;overflow-y:auto}.field-command{border:1px solid var(--border);background:var(--surface-2);color:var(--fg);font:inherit;text-align:start;cursor:pointer;border-radius:10px;grid-template-columns:66px 1fr;align-items:center;gap:2px 10px;padding:10px 12px;display:grid}.field-command:hover{border-color:var(--border-bright)}.field-command-code{font:700 .76rem var(--font-mono);letter-spacing:.04em;grid-row:1/3}.field-command small{color:var(--fg-dim);font-size:.67rem}.field-command-open .field-command-code{color:var(--manual)}.field-command-close .field-command-code{color:var(--live)}@keyframes field-panel-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}}@media (width<=860px),(orientation:landscape) and (height<=600px) and (pointer:coarse){.field-equipment-panel{top:auto;left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));width:auto;z-index:var(--z-overlay);border-radius:16px;animation-name:field-sheet-in;position:fixed;transform:none}@keyframes field-sheet-in{0%{opacity:0;transform:translateY(12px)}}}@media (prefers-reduced-motion:reduce){.field-equipment-panel{animation:none}.field-progress span{transition:none}}.mobile-details-toggle,.mobile-crew{display:none}@media (width<=860px),(orientation:landscape) and (height<=600px) and (pointer:coarse){.game-app{height:100dvh;overflow:hidden}.game-app .layout{flex:1;min-height:0;position:relative;overflow:hidden}.game-app .diagram-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.game-app .network-view,.game-app .game-diagram-stage{flex:1;height:auto;min-height:0}.game-app .diagram-scroll{touch-action:pan-x pan-y;min-height:0}.game-hud .hud-stats{grid-template-columns:1fr 1fr}.game-hud .stat{grid-column:auto}.game-hud .stat-rating,.game-hud .stat-operations,.game-hud .stat-violations,.game-hud .stat-restoration .stat-value small{display:none}.mobile-crew{background:0 0;grid-column:1/-1;min-height:36px;padding:3px 8px;font-size:.75rem;display:flex}.mobile-details-toggle{display:flex}.game-app .sidebar{display:none}.game-app .sidebar.mobile-details-open{box-sizing:border-box;z-index:15;background:var(--panel);flex-direction:column;width:auto;max-height:100%;padding:14px;display:flex;position:absolute;inset:0;overflow-y:auto}.game-app .field-equipment-panel{box-sizing:border-box;border-radius:14px;flex:none;width:100%;max-height:43dvh;margin-top:6px;padding:10px 12px;position:relative;inset:auto;overflow-y:auto;transform:none}.field-close{width:44px;height:44px}.field-primary,.field-command{min-height:48px}.field-copy,.field-status{margin-top:6px}.field-commands{max-height:none}.network-toolbar{flex-wrap:wrap}.network-hint{flex:1;min-width:100px;font-size:.68rem}.network-overview .svg-load,.network-overview .svg-rmutype,.network-overview .svg-kva{display:none}.game-app .legend-summary{gap:8px;font-size:.65rem}.game-app .diagram-wrap{padding-bottom:max(4px, env(safe-area-inset-bottom))}}@media (width<=860px) and (orientation:landscape),(orientation:landscape) and (height<=600px) and (pointer:coarse){.game-hud{grid-template-columns:minmax(0,1fr) auto auto;gap:4px 10px;padding:4px 10px}.game-hud .hud-title{grid-column:1}.game-hud .hud-stats{grid-area:1/2}.game-hud .hud-actions{grid-column:3}.game-hud .stat{flex-direction:row;gap:6px;padding:2px 6px}.mobile-crew{grid-column:1/-1;min-height:28px}.game-app .field-equipment-panel{width:290px;max-height:calc(100% - 60px);position:absolute;bottom:8px;left:auto;right:10px}.game-app .diagram-wrap:has(.field-equipment-panel) .network-view{margin-right:300px}.game-app .legend-bar{bottom:6px;left:max(14px, env(safe-area-inset-left));z-index:5;padding:0;position:absolute}.game-app .legend-summary{display:none}.game-app .legend-panel{inset-inline-end:auto;width:min(320px,75vw);max-height:60dvh;left:0}.game-app .legend-help summary{background:var(--panel)}.game-app .diagram-wrap{padding-inline:max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right))}.game-app .network-tools .zoom-btn{min-width:44px;min-height:44px}.game-hud .hud-title{min-width:0}.game-hud .hud-stats{gap:4px}.game-hud .stat-label{white-space:nowrap}.game-app .field-equipment-panel{right:max(10px, env(safe-area-inset-right))}.game-app .diagram-scroll{box-sizing:border-box;padding-bottom:46px}}.mobile-details-menu{display:none}@media (width<=860px),(orientation:landscape) and (height<=600px) and (pointer:coarse){.game-hud{padding:max(4px, env(safe-area-inset-top)) 8px 5px;grid-template-rows:42px 44px;grid-template-columns:minmax(0,1fr) auto;gap:4px 6px}.game-hud .hud-title{grid-area:1/1;min-width:0;font-size:.82rem}.game-hud .logo{width:18px;height:18px}.game-hud .level-badge{flex:none}.game-hud .hud-actions{grid-area:1/2;align-self:stretch;gap:4px}.game-hud .hud-actions>.btn,.game-hud .game-options>summary{justify-content:center;width:42px;height:42px;min-height:42px;padding:0}.game-hud .action-label{display:none}.mobile-details-menu{display:flex}.game-hud .hud-stats{grid-area:2/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0;display:grid}.game-hud .stat{border-radius:9px;justify-content:center;min-height:44px;padding:3px 7px}.game-hud .stat-label{font-size:.62rem;line-height:1.1}.game-hud .stat-value{font-size:.95rem;line-height:1.25}.game-hud .stat-restoration .stat-value{display:block}.mobile-crew{border-color:var(--border);background:var(--surface-2);grid-area:2/2;justify-content:center;gap:6px;width:auto;max-width:148px;min-height:44px;padding:3px 9px;display:flex}.mobile-crew .crew-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-app .diagram-wrap{padding:5px 8px max(5px, env(safe-area-inset-bottom))}.network-toolbar{flex-wrap:nowrap;min-height:42px;padding:0 1px 4px}.network-hint{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.network-tools .zoom-btn,.network-tools .view-mode{height:40px;min-height:40px}.game-app .legend-bar{bottom:max(7px, env(safe-area-inset-bottom));left:max(10px, env(safe-area-inset-left));z-index:5;padding:0;position:absolute}.game-app .legend-summary{display:none}.game-app .legend-help summary{background:color-mix(in oklch, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:40px;padding:7px 9px;box-shadow:0 5px 18px #0006}.game-app .legend-panel{inset-inline-end:auto;width:min(330px,100vw - 28px);max-height:min(58dvh,420px);left:0}}@media (width<=860px) and (orientation:landscape),(orientation:landscape) and (height<=600px) and (pointer:coarse){.game-hud{padding:max(3px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 3px max(8px, env(safe-area-inset-left));grid-template-rows:44px;grid-template-columns:minmax(110px,1fr) minmax(174px,220px) minmax(44px,150px) auto;gap:5px}.game-hud .hud-title{grid-area:1/1}.game-hud .hud-stats{grid-area:1/2}.game-hud .stat{flex-direction:column;gap:0;min-height:44px}.mobile-crew{grid-area:1/3;min-width:44px;min-height:44px}.game-hud .hud-actions{grid-area:1/4}.game-app .diagram-wrap{padding-top:3px}.network-toolbar{min-height:40px}}@media (width<=620px) and (orientation:landscape){.game-hud .game-scenario,.mobile-crew .crew-label{display:none}.game-hud .hud-title{justify-content:center}.mobile-crew{padding-inline:0}}.report-overlay{align-items:flex-start;padding:16px;overflow:auto}.report{background:var(--panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:18px;width:min(1120px,100%);margin:auto;padding:22px 24px;display:flex;box-shadow:0 24px 70px #0000008c}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.report-id{flex-direction:column;gap:5px;min-width:260px;display:flex}.report-eyebrow{letter-spacing:.12em;color:var(--accent);font-size:.7rem;font-weight:600}.report-head h2{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:700;line-height:1.4}.report-reason{color:var(--fg-dim);margin:0;font-size:.84rem;line-height:1.6}.report-badge{align-items:center;gap:11px;display:flex}.report-badge-text{gap:2px;display:grid}.report-badge-text b{font-size:.92rem;font-weight:600}.report-stars{color:var(--warn);letter-spacing:3px;font-size:.95rem}.report-stars .star-off{color:color-mix(in oklch, var(--fg-dim) 45%, transparent)}.report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.report-metric{background:color-mix(in oklch, var(--bg) 55%, transparent);border:1px solid var(--border);border-radius:11px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.report-metric-label{color:var(--fg-dim);font-size:.72rem}.report-metric-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:600}.report-metric-note{color:var(--ink-faint);font-size:.68rem;line-height:1.5}.report-metric-bad{border-color:color-mix(in oklch, var(--fault) 55%, var(--border))}.report-metric-bad .report-metric-value{color:var(--fault)}.report-body{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:14px;display:grid}.report-sequence{flex-direction:column;gap:8px;min-height:0;display:flex}.report-log{flex-direction:column;max-height:292px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.report-log-row{border-top:1px solid color-mix(in oklch, var(--border) 55%, transparent);grid-template-columns:44px minmax(0,1fr);align-items:baseline;gap:9px;padding:6px 0;font-size:.82rem;line-height:1.55;display:grid}.report-log-row:first-child{border-top:0}.report-log-time{color:var(--ink-faint);font-size:.72rem}.report-log-danger .report-log-text{color:var(--fault)}.report-log-warning .report-log-text{color:var(--warn)}.report-ops{border-top:1px solid var(--border);color:var(--fg-dim);margin:0;padding-top:8px;font-size:.76rem}.report-side{flex-direction:column;gap:14px;display:flex}.report-curve{direction:ltr;width:100%;height:auto;display:block}.report-axis{font-family:var(--font-mono);fill:var(--ink-faint);font-size:10px}.report-loads{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.report-load{border:1px solid var(--border);color:var(--fg-dim);border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:.7rem;display:inline-flex}.report-load-on{border-color:color-mix(in oklch, var(--live) 45%, var(--border));background:color-mix(in oklch, var(--live) 10%, transparent)}.report-load-off{border-color:color-mix(in oklch, var(--fault) 40%, var(--border));background:color-mix(in oklch, var(--fault) 8%, transparent);color:var(--ink-faint)}.report-loads-note{color:var(--ink-faint);margin:9px 0 0;font-size:.74rem;line-height:1.65}.report-curve-key{color:var(--ink-faint);gap:16px;margin-top:6px;font-size:.72rem;display:flex}.report-curve-key span{align-items:center;gap:7px;display:inline-flex}.report-key-line{flex:none;width:20px}.report-key-you{border-top:2px solid var(--live)}.report-key-ref{border-top:2px dashed var(--fg-dim)}.report-delta-good{color:var(--live)}.report-delta-bad{color:var(--warn,var(--manual))}.report-debrief{margin-top:12px}.report-debrief-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.report-debrief-point b{color:var(--fg);margin-bottom:5px;font-size:.86rem;font-weight:500;display:block}.report-debrief-point p{color:var(--fg-dim);margin:0;font-size:.78rem;line-height:1.75}.report-cause{border-top:1px solid var(--border);color:var(--ink-faint);margin:14px 0 0;padding-top:12px;font-size:.78rem;line-height:1.75}.report-cause b{color:var(--fg-dim);font-weight:500}.report-actions{flex-wrap:wrap;gap:9px;display:flex}.report-actions .btn{min-height:44px}@media (width<=900px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-body{grid-template-columns:minmax(0,1fr)}.report-log{max-height:210px}}@media (width<=620px){.report-overlay{padding:10px}.report{border-radius:14px;gap:14px;padding:16px 15px}.report-head h2{font-size:1.2rem}.report-metric-value{font-size:1.45rem}.report-actions .btn{flex-grow:1;justify-content:center}}@media (width<=860px) and (orientation:portrait){.game-app .layout{flex-direction:column;overflow:hidden auto}.game-app .diagram-wrap,.game-app .network-view{flex:none}.game-app .network-overview.game-diagram-stage{flex:none;height:auto;max-height:46dvh}.game-app .network-overview .diagram{width:100%;height:100%}.game-app .sidebar{background:0 0;flex:none;gap:8px;width:auto;max-height:none;padding:0 10px 10px;display:flex;overflow:visible}.game-app .sidebar .card{padding:10px 12px}.game-app .sidebar .panel-title{margin-bottom:6px}.game-app .sidebar .alarms{max-height:190px;overflow-y:auto}.game-app .mobile-details-toggle,.game-app .sidebar>p.mobile-details-toggle{display:none}.game-app .field-equipment-panel{max-height:34dvh}.game-app .sidebar .btn,.game-app .way-toggle{min-height:44px}.game-app .legend-bar{justify-content:flex-start;padding:6px 0 0;display:flex;position:static}.game-app .legend-help summary{background:var(--surface-2);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.game-app .legend-panel{top:calc(100% + 8px);bottom:auto;left:0;width:min(330px,100vw - 28px);inset-inline-end:auto}}.authored-band{margin:0 0 6px}.authored-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.authored-card{text-align:start;border:1px solid var(--border-bright);background:linear-gradient(180deg, color-mix(in oklch, var(--panel) 96%, var(--live) 4%), var(--panel));cursor:pointer;border-radius:14px;flex-direction:column;gap:9px;padding:18px 20px;transition:border-color .18s,transform .18s;display:flex}.authored-card:hover{border-color:var(--live);transform:translateY(-2px)}.authored-card:focus-visible{outline:2px solid var(--live);outline-offset:2px}.authored-eyebrow{letter-spacing:.06em;color:var(--ink-faint);align-items:center;gap:7px;font-size:.7rem;display:inline-flex}.authored-name{color:var(--fg);font-size:1.02rem;font-weight:500;line-height:1.5}.authored-summary{color:var(--fg-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.8;display:-webkit-box;overflow:hidden}.authored-foot{color:var(--ink-faint);gap:12px;margin-top:2px;font-size:.7rem;display:flex}.authored-ref{color:var(--live)}.brief-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brief{border:1px solid var(--border-bright);background:var(--panel);border-radius:16px;width:min(560px,100vw - 32px);padding:30px 32px;box-shadow:0 24px 70px #000a}.brief-eyebrow{letter-spacing:.06em;color:var(--ink-faint);margin:0 0 6px;font-size:.72rem}.brief h2{margin:0 0 16px;font-size:1.35rem;font-weight:500;line-height:1.5}.brief-summary{color:var(--fg-dim);margin:0 0 14px;font-size:.88rem;line-height:2}.brief-conditions{color:var(--ink-faint);margin:0 0 18px;font-size:.8rem;line-height:1.85}.brief-conditions b{color:var(--fg-dim);font-weight:500}.brief-facts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-bottom:22px;padding:14px 0;display:flex}.brief-facts span{color:var(--ink-faint);flex:140px;font-size:.74rem}.brief-facts b{color:var(--fg);font-size:1.25rem;font-weight:500;display:block}.brief .btn{justify-content:center;width:100%;min-height:46px}@media (width<=860px){.brief{padding:22px 18px}.brief h2{font-size:1.12rem}.authored-grid{grid-template-columns:1fr}}.game-diagram-stage{isolation:isolate}@media (width<=860px) and (orientation:portrait){.game-app .network-detail.game-diagram-stage{flex:none;height:clamp(260px,42dvh,390px)}.game-app .sidebar.mobile-details-open{z-index:auto;max-height:none;position:static;inset:auto;overflow:visible}.authored-grid{grid-template-columns:minmax(0,1fr)}}.tutorial-run .stat-time,.tutorial-run .finish-action{display:none}.tut-layer{pointer-events:none;z-index:45;position:fixed;inset:0}.tut-ring{border:2px solid var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent), 0 0 22px color-mix(in oklch, var(--accent) 45%, transparent);border-radius:12px;animation:1.5s ease-in-out infinite tut-pulse;position:fixed}@keyframes tut-pulse{0%,to{opacity:1}50%{opacity:.42}}@media (prefers-reduced-motion:reduce){.tut-ring,.tut-dot{animation:none}}.tut-card{background:color-mix(in oklch, var(--panel) 94%, black);border:1px solid var(--border-bright);z-index:46;border-radius:14px;width:min(560px,100vw - 20px);padding:12px 14px 14px;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px #00000080}.tut-card-top{top:84px;bottom:auto}.tut-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tut-step{font-family:var(--font-mono);color:var(--accent);background:color-mix(in oklch, var(--accent) 14%, transparent);border-radius:999px;flex:none;padding:2px 8px;font-size:.74rem;font-weight:600}.tut-title{color:var(--fg);font-size:1rem;font-weight:700}.tut-skip{cursor:pointer;color:var(--ink-faint);font:inherit;background:0 0;border:0;flex:none;margin-inline-start:auto;padding:2px 4px;font-size:.78rem;text-decoration:underline}.tut-skip:hover{color:var(--fg-dim)}.tut-body{color:var(--fg-dim);margin:0;font-size:.9rem;line-height:1.75}.tut-hint{color:var(--warn);background:color-mix(in oklch, var(--warn) 12%, transparent);border-inline-start:3px solid var(--warn);border-radius:9px;margin:8px 0 0;padding:7px 10px;font-size:.84rem;line-height:1.6}.tut-next{justify-content:center;width:100%;margin-top:10px}.tut-wait{color:var(--accent);align-items:center;gap:8px;margin:10px 0 0;font-size:.82rem;display:flex}.tut-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%;flex:none;animation:1.2s ease-in-out infinite tut-pulse}.tut-overlay{z-index:50}.tut-done{text-align:start;max-width:520px}.tut-done-mark{width:46px;height:46px;color:var(--live);background:color-mix(in oklch, var(--live) 15%, transparent);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.tut-done-lede{color:var(--fg-dim);margin:0 0 6px}.tut-rules{gap:6px;margin:0 0 10px;padding-inline-start:18px;display:grid}.tut-rules li{color:var(--fg);font-size:.9rem;line-height:1.7}.tut-note{color:var(--ink-faint);margin:0;font-size:.82rem;line-height:1.65}.tutorial-cta{background:color-mix(in oklch, var(--panel) 80%, transparent);border:1px dashed var(--border-bright);cursor:pointer;width:100%;color:var(--fg);font:inherit;text-align:start;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.tutorial-cta:hover{border-color:var(--accent);border-style:solid}.tutorial-cta span{gap:2px;display:grid}.tutorial-cta b{font-size:.92rem}.tutorial-cta small{color:var(--ink-faint);font-size:.76rem}.tutorial-cta-first{border-style:solid;border-color:var(--accent);background:color-mix(in oklch, var(--accent) 12%, transparent)}@media (width<=720px){.tut-card{padding:10px 12px 12px;bottom:8px}.tut-card-top{top:64px}.tut-body{font-size:.85rem;line-height:1.7}.tut-title{font-size:.92rem}}
