@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0B0F14;--surface: #121820;--raised: #18202B;--border: #243040;--text: #E6EDF3;--muted: #8B98A5;--faint: #5B6878;--accent: #F5A524;--accent-ink: #1A1206;--good: #3FB950;--bad: #F85149;--series2: #4B5563;--hostile: #FF4D4D;--unknown: #F5D90A;--friendly: #4DA3FF;--neutral: #7ADB8B;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--fs-label: 12px;--fs-body: 14px;--fs-value: 20px;--fs-hero: 32px;--w-regular: 400;--w-strong: 600;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s6: 24px;--radius: 6px;--gutter: 16px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:var(--w-regular) var(--fs-body)/1.45 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:var(--w-strong)}p{margin:0}.mono,code,kbd,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.strong{font-weight:var(--w-strong)}.muted,.muted-num{color:var(--muted)}.small{font-size:var(--fs-label)}.spacer{flex:1}.pad{padding:var(--s4)}.label{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:var(--w-regular)}.delta{font-size:var(--fs-label);font-weight:var(--w-strong)}.delta.good{color:var(--good)}.delta.bad{color:var(--bad)}.warn-text{color:var(--unknown)}kbd{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:3px;padding:0 4px}button{font:inherit;color:var(--text);background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;cursor:pointer;line-height:1.3}button:hover:not(:disabled){border-color:var(--muted)}button:focus-visible,input:focus-visible,select:focus-visible{outline:1px solid var(--accent);outline-offset:1px}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:var(--w-strong)}button.primary:hover:not(:disabled){border-color:var(--text)}button.ghost{background:transparent}button.icon{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;font-size:13px}button.link{background:none;border:none;padding:0;color:var(--accent);font-size:var(--fs-label)}button.link:hover{text-decoration:underline}button.small{padding:3px 8px;font-size:var(--fs-label)}.btn-group{display:inline-flex;gap:var(--s1)}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;width:100%}input[type=range]{padding:0;accent-color:var(--accent)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.seg button{border:none;border-radius:0;background:transparent;color:var(--muted);padding:5px 12px}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--raised);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.app{display:flex;flex-direction:column;height:100%}.app>main{flex:1;min-height:0;overflow:auto}.app.is-live>main{overflow:hidden}.topbar{display:flex;align-items:center;gap:var(--s6);height:48px;padding:0 var(--s6);background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:var(--s2);font-weight:var(--w-strong);letter-spacing:.12em;text-transform:uppercase;font-size:13px}.tabs{display:flex;align-self:stretch}.tabs button{background:none;border:none;border-radius:0;color:var(--muted);padding:0 var(--s4);border-bottom:2px solid transparent}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.who{display:flex;align-items:center;gap:var(--s3);color:var(--muted);font-size:13px}.page{max-width:1840px;margin:0 auto;padding:var(--s4) var(--s6) var(--s6);display:flex;flex-direction:column;gap:var(--s4)}.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s4);align-items:start}.span4{grid-column:span 4}.span5{grid-column:span 5}.span6{grid-column:span 6}.span7{grid-column:span 7}.span8{grid-column:span 8}.span12{grid-column:span 12}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.card-head{display:flex;align-items:center;gap:var(--s2);min-height:44px;padding:var(--s2) var(--s4);border-bottom:1px solid var(--border)}.card-body{padding:var(--s4)}.strip{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:13px;color:var(--muted)}.strip>span+span:before{content:"·";margin:0 var(--s2);color:var(--faint)}.strip-name{color:var(--text);font-weight:var(--w-strong)}.band{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr) minmax(220px,2.4fr)}.band-main{padding:var(--s4) var(--s6);display:flex;flex-direction:column;gap:var(--s3);border-right:1px solid var(--border)}.hero{display:flex;align-items:flex-end;gap:var(--s6)}.hero-num{font-size:var(--fs-hero);font-weight:var(--w-strong);line-height:1.1}.vs{padding-bottom:6px}.hero-delta{display:flex;flex-direction:column;gap:2px;padding-bottom:6px}.compare{display:flex;flex-direction:column;gap:6px;max-width:520px}.compare-row{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:var(--s2)}.bar{height:6px;background:var(--raised);border-radius:3px;overflow:hidden}.bar i{display:block;height:100%}.band-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:var(--s4) var(--s6);gap:var(--s4);align-content:center;border-right:1px solid var(--border)}.stat{display:flex;flex-direction:column;gap:var(--s1)}.stat .label{min-height:2.6em}.stat-val{font-size:var(--fs-value);font-weight:var(--w-strong)}.band-next{padding:var(--s4) var(--s6);display:flex;flex-direction:column;gap:var(--s2);justify-content:center;font-size:13px}.band-next button{align-self:flex-start}.map-card{display:flex;flex-direction:column}.map-body{height:clamp(420px,calc(100vh - 400px),780px);position:relative;background:#0e141b}.tmap{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.tmap:active{cursor:grabbing}.tmap svg{display:block;-webkit-user-select:none;user-select:none}.radar-view{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface)}.replay{border-top:1px solid var(--border);padding:var(--s3) var(--s4) var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.replay-controls{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.timecode{font-size:15px;min-width:120px;text-align:right}.map-legend{display:inline-flex;gap:var(--s3);font-size:var(--fs-label);color:var(--muted)}.map-legend span{display:inline-flex;align-items:center;gap:var(--s1)}.timeline{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s2)}.tl-labels{display:grid;grid-template-rows:repeat(3,16px) 18px;row-gap:2px}.tl-labels .label{font-size:11px;line-height:16px}.tl-track{position:relative;display:grid;grid-template-rows:repeat(3,16px) 18px;row-gap:2px;cursor:pointer}.tl-lane{position:relative;background:var(--raised);border-radius:2px}.tl-tick{position:absolute;top:2px;bottom:2px;width:2px;padding:0;border:none;border-radius:0;background:var(--text);transform:translate(-1px)}.tl-tick:hover{background:var(--accent);width:4px}.tl-axis{position:relative;font:11px var(--mono);color:var(--faint)}.tl-axis span{position:absolute;top:3px;transform:translate(-50%)}.tl-axis span:first-child{transform:none}.tl-axis span:last-child{transform:translate(-100%)}.tl-playhead{position:absolute;top:-4px;bottom:16px;width:2px;background:var(--accent);transform:translate(-1px);pointer-events:none}.tl-playhead:before{content:"";position:absolute;top:0;left:-4px;border:5px solid transparent;border-top-color:var(--accent)}.side-stack{display:flex;flex-direction:column;gap:var(--s4);align-self:stretch;height:0;min-height:100%}.side-stack .grow{flex:1;min-height:160px;display:flex;flex-direction:column;overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:var(--w-regular);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.table td{padding:6px var(--s3);border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table .num{text-align:right}.table tbody tr{cursor:pointer;box-shadow:inset 3px 0 0 transparent}.table tbody tr:hover{background:var(--raised)}.table tbody tr.selected{background:var(--raised);box-shadow:inset 3px 0 0 var(--accent)}.table td:first-child,.table th:first-child{width:36px;padding-right:0}.milsym{display:block;flex:none}.side-stack>.card:first-child{flex:none;max-height:45%;overflow-y:auto}.dtree{display:flex;flex-direction:column;padding:var(--s3) var(--s4) var(--s4);gap:var(--s3);overflow-y:auto;flex:1;min-height:0}.dtree-head{display:flex;gap:var(--s3);align-items:flex-start}.dtree-title{flex:1;display:flex;flex-direction:column;gap:2px}.label-row{display:flex;gap:var(--s3);font-size:13px}.stepper{list-style:none;margin:0;padding:0}.stepper>li{display:grid;grid-template-columns:20px 1fr;gap:var(--s3);position:relative;padding-bottom:var(--s3)}.stepper>li:not(:last-child):before{content:"";position:absolute;left:9.5px;top:22px;bottom:2px;width:1px;background:var(--border)}.step-icon{width:20px;height:20px;display:grid;place-items:center;font-size:11px;border:1px solid var(--border);border-radius:50%;color:var(--muted);background:var(--surface)}.stepper>li.lost .step-icon{color:var(--bad);border-color:var(--bad)}.step-q{font-size:var(--fs-label);color:var(--muted)}.step-a{display:flex;gap:var(--s2);align-items:baseline;font-weight:var(--w-strong)}.step-why{font-size:13px;color:var(--muted)}.step-ai{font-size:var(--fs-label);color:var(--faint);margin-top:2px}.step-opts{list-style:none;margin:var(--s2) 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius)}.step-opts li{display:flex;justify-content:space-between;padding:3px var(--s2);font-size:var(--fs-label);color:var(--muted)}.step-opts li+li{border-top:1px solid var(--border)}.step-opts li.taken{color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.key{display:inline-flex;gap:var(--s3);font-size:var(--fs-label);color:var(--muted)}.key i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.debrief{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);max-height:340px;overflow-y:auto}.dcard{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:6px}.dcard h4{display:flex;align-items:center;gap:var(--s2);font-size:13px}.dcard p{font-size:13px;color:#c9d2db;line-height:1.55}.dcard footer{display:flex;justify-content:space-between;align-items:center}.live{display:grid;grid-template-rows:48px minmax(0,1fr);height:100%}.hud{display:flex;align-items:center;gap:var(--s3);padding:0 var(--s4);background:var(--surface);border-bottom:1px solid var(--border);min-width:0}.hud .strip{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;min-width:0}.hud-clock{font:var(--w-strong) var(--fs-value) var(--mono);color:var(--text);font-variant-numeric:tabular-nums}.hud-alert{color:var(--hostile);font:var(--w-strong) var(--fs-label) var(--mono);letter-spacing:.08em}.live-body{display:grid;grid-template-columns:minmax(0,1fr) 400px;min-height:0}.live-left{display:grid;grid-template-rows:minmax(0,1fr) 212px;min-height:0;border-right:1px solid var(--border)}.live-bottom{display:grid;grid-template-columns:212px minmax(0,1fr);min-height:0;border-top:1px solid var(--border);background:var(--surface)}.live-bottom .radar-box{padding:0;border-right:1px solid var(--border)}.viewport{position:relative;min-height:0;background:#000}.viewport-note{position:absolute;left:var(--s3);top:var(--s3)}.eventlog{overflow-y:auto;padding:var(--s2) var(--s4);font:12px/1.6 var(--mono);background:var(--surface)}.eventlog .warn{color:var(--unknown)}.eventlog .alert{color:var(--hostile)}.eventlog .t{color:var(--faint);margin-right:var(--s2)}.live-side{overflow-y:auto;display:flex;flex-direction:column;background:var(--surface)}.live-side>section{border-bottom:1px solid var(--border)}.live-side .sec-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4) var(--s2)}.radar-box{display:grid;place-items:center;padding:var(--s2) 0 var(--s3)}.tracks{max-height:30vh;overflow-y:auto}.tracks .table td{padding:4px var(--s3)}.cues{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1) var(--s4);padding:0 var(--s4) var(--s3);font-size:13px}.cues .k{color:var(--muted);font-size:var(--fs-label);display:block}.classify{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 var(--s4) var(--s4)}.classify button{display:flex;align-items:center;gap:var(--s2);text-align:left;font-size:13px;padding:5px var(--s2);white-space:nowrap;overflow:hidden}.classify button>span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.classify button.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.effectors{display:flex;flex-direction:column;gap:var(--s2);padding:0 var(--s4) var(--s4)}.eff{border:1px solid var(--border);border-radius:var(--radius);padding:var(--s2) var(--s3);display:grid;grid-template-columns:1fr auto;gap:2px var(--s3);align-items:center;background:var(--raised)}.eff-name{font-weight:var(--w-strong);font-size:13px}.eff-meta{font-size:var(--fs-label);color:var(--muted)}.eff-meta .in{color:var(--text)}.eff-risk{grid-column:1 / -1;font-size:var(--fs-label);color:var(--unknown)}.cooldown{grid-column:1 / -1;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.cooldown span{display:block;height:100%;background:var(--muted)}.eff button{grid-row:span 2}.hud-overlay-pause{position:absolute;inset:0;display:grid;place-items:center;background:#0b0f148c;pointer-events:none}.hud-overlay-pause span{font:var(--w-strong) var(--fs-value) var(--mono);letter-spacing:.2em;color:var(--text);border:1px solid var(--border);background:var(--surface);padding:var(--s2) var(--s4);border-radius:var(--radius)}.label3d{font:11px var(--mono);color:var(--text);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 3px #000,0 0 2px #000}.sym3d{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transform:translateY(-50%)}.sym3d .label3d{pointer-events:none}.sym3d.sel .label3d{color:var(--accent)}.setup .form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s6);padding:var(--s4)}.field{display:flex;flex-direction:column;gap:var(--s2)}.field .row{display:flex;gap:var(--s2)}.field .row input{flex:1;min-width:0}.scripts{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4)}.script{display:flex;flex-direction:column;gap:var(--s1);text-align:left;padding:var(--s3) var(--s4);background:var(--surface)}.script.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.brief .card-body{display:flex;flex-direction:column;gap:var(--s4)}.brief dl{display:grid;grid-template-columns:120px 1fr;gap:var(--s2) var(--s3);margin:0;font-size:13px}.brief dt{color:var(--muted)}.brief dd{margin:0}.cue-table td{font-size:13px}.dash-head{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}.dash-head h2{font-size:var(--fs-value)}.center{display:grid;place-items:center;min-height:80vh;padding:var(--s6)}.login{width:min(420px,100%)}.login form{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s6)}.login .field>span{font-size:var(--fs-label);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.notice{border:1px solid var(--border);border-left:3px solid var(--unknown);background:var(--raised);padding:var(--s3);border-radius:var(--radius);font-size:13px;display:flex;flex-direction:column;gap:var(--s2)}@media(max-width:1200px){.span4,.span5,.span6,.span7,.span8{grid-column:span 12}.band{grid-template-columns:1fr 1fr}.band-main{grid-column:1 / -1;border-right:none;border-bottom:1px solid var(--border)}.live-body{grid-template-columns:minmax(0,1fr) 340px}}.table tr.dim td{opacity:.5}.table.static tbody tr{cursor:default}.table.static tbody tr:hover{background:none}.dash .band{grid-template-columns:minmax(0,8fr) minmax(0,4fr) minmax(260px,3fr)}.brief h2{font-size:var(--fs-value)}.brief .strip{font-size:var(--fs-label)}input.mono{font-family:var(--mono)}.dash .grid12{align-items:stretch}.coach-card{position:absolute;left:var(--s4);top:var(--s4);width:min(420px,calc(100% - 32px));background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.coach-card h3{font-size:16px}.coach-card p{font-size:14px;line-height:1.55;color:var(--text)}.coach-head{display:flex;align-items:center}.coach-hold{color:var(--accent)}.coach-actions{display:flex;gap:var(--s2);align-items:center}.coach-target{outline:2px solid var(--accent)!important;outline-offset:2px;border-radius:var(--radius)}.next-step{margin:0 var(--s4) var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:var(--radius);background:var(--raised)}.next-step.act{border-left-color:var(--accent)}.next-step p{font-size:13px;line-height:1.5;margin-top:2px}.shot-feedback{padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--radius);background:var(--raised)}.shot-feedback strong{font-size:13px}.shot-feedback.hit strong{color:var(--good)}.shot-feedback.miss strong{color:var(--bad)}.shot-feedback p{font-size:13px;line-height:1.5;margin-top:2px}.suit{margin-left:var(--s2);font:var(--w-regular) 11px var(--sans);letter-spacing:.04em;padding:1px 6px;border-radius:3px;border:1px solid var(--border);color:var(--muted)}.suit-optimal{color:var(--text);border-color:var(--muted)}.suit-poor{text-decoration:line-through}button.on-toggle{color:var(--accent)}.verdict{font-size:var(--fs-label);color:var(--muted)}.lessons ol{list-style:none;margin:0;padding:var(--s2) var(--s4);display:flex;flex-direction:column}.lessons li{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:var(--s3);align-items:center;padding:var(--s2) 0}.lessons li+li{border-top:1px solid var(--border)}.lessons li p{font-size:14px;line-height:1.5}.scoring{font-size:13px}.scoring-body{margin-top:var(--s2);padding:var(--s3);background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--s2);max-width:640px}.scoring-body ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.dtree-summary{font-size:14px;line-height:1.55;padding:var(--s2) var(--s3);background:var(--raised);border-radius:var(--radius);border:1px solid var(--border)}.howto{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:var(--s4);align-items:center;padding:var(--s4)}.howto-step{display:flex;flex-direction:column;gap:2px;font-size:13px}.howto-step .n{font:var(--w-strong) 12px var(--mono);color:var(--accent)}.howto-step strong{font-size:14px}.howto-step span{color:var(--muted)}.feedback-sec{padding:var(--s3) var(--s4)}.row-between{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2)}.eff-name{display:flex;align-items:center;gap:var(--s2)}.eff-cap{margin-left:auto;font-size:11px;color:var(--muted);font-weight:var(--w-regular)}.suit{margin-left:0}.coach-card{z-index:40}.hud-overlay-pause{z-index:30}.clues{display:flex;flex-direction:column;gap:6px;padding:0 var(--s4) var(--s3)}.clue{display:grid;grid-template-columns:76px minmax(0,1fr) 128px;align-items:center;gap:var(--s3);font-size:13px;min-height:22px}.clue .k{color:var(--muted);font-size:var(--fs-label)}.clue .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clue .v.wide{grid-column:2 / -1;display:flex;align-items:center;gap:var(--s2);white-space:normal}.meter{height:6px;background:var(--raised);border:1px solid var(--border);border-radius:3px;overflow:hidden}.meter i{display:block;height:100%;background:var(--text);opacity:.75}.lamp{width:8px;height:8px;border-radius:50%;border:1px solid var(--muted);flex:none}.lamp.on{background:var(--text);border-color:var(--text)}.chips{gap:6px!important}.chip{font-size:11px;padding:1px 8px;border-radius:99px;border:1px solid var(--border);color:var(--faint)}.chip.on{color:var(--text);border-color:var(--muted);background:var(--raised)}.classify button{gap:6px}.cl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.fit{display:inline-flex;gap:2px;font-size:12px;line-height:1;flex:none}.fit .f-yes{color:var(--text);font-style:normal}.fit .f-no,.fit .f-unknown{color:var(--faint);font-style:normal}.fit-key{padding:0 var(--s4) var(--s3)}.coach-target{outline-offset:-2px}.coach-card.wide{width:min(600px,calc(100% - 32px))}.coach-table td,.coach-table th{padding:4px 8px;font-size:12px}.coach-table td:first-child,.coach-table th:first-child{width:auto;padding-right:8px}.span3{grid-column:span 3}.span9{grid-column:span 9}.guide-head{display:flex;align-items:center;gap:var(--s4)}.guide-head h2{font-size:var(--fs-value)}.guide-toc{position:sticky;top:var(--s4)}.guide-toc ol{list-style:none;margin:0;padding:var(--s3) var(--s4) var(--s4);display:flex;flex-direction:column;gap:6px;font-size:13px}.guide-toc a{color:var(--text);text-decoration:none}.guide-toc a:hover{color:var(--accent)}.md{padding:var(--s4) var(--s6) var(--s6);max-width:980px;line-height:1.6}.md h1{font-size:26px;margin:var(--s2) 0 var(--s3)}.md h2{font-size:var(--fs-value);margin:var(--s6) 0 var(--s3);scroll-margin-top:var(--s4)}.md h3{font-size:16px;margin:var(--s4) 0 var(--s2)}.md p{margin:0 0 var(--s3);color:#c9d2db}.md ul,.md ol{margin:0 0 var(--s3);padding-left:22px;color:#c9d2db}.md li{margin:3px 0}.md li ul{margin:4px 0 0}.md hr{border:none;border-top:1px solid var(--border);margin:var(--s6) 0}.md strong{color:var(--text)}.md code{font-size:12.5px;background:var(--raised);border:1px solid var(--border);border-radius:4px;padding:0 4px}.md-code{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3);overflow-x:auto;font-size:12.5px;margin:0 0 var(--s3)}.md-code code{background:none;border:none;padding:0}.md-table{overflow-x:auto;margin:0 0 var(--s4);border:1px solid var(--border);border-radius:var(--radius)}.md-table td,.md-table th{vertical-align:top}.md-table td:first-child,.md-table th:first-child{width:auto;padding-right:var(--s3)}.ai-docs{display:flex;flex-direction:column;gap:var(--s4)}.ai-text{padding:var(--s3) var(--s4) 0;font-size:14px;line-height:1.6;color:#c9d2db;max-width:900px}.ai-docs iframe{display:block;width:100%;height:760px;overflow:hidden;border:none;border-top:1px solid var(--border);margin-top:var(--s3);background:#1a1a1a}a.link{color:var(--accent);text-decoration:none}a.link:hover{text-decoration:underline}@media(max-width:1200px){.span3,.span9{grid-column:span 12}.guide-toc{position:static}}.sim3d{position:absolute;inset:0;overflow:hidden;background:#000}.sim3d canvas{display:block}.vp-brackets{position:absolute;inset:10px;pointer-events:none;z-index:25}.vp-brackets:before,.vp-brackets:after{content:"";position:absolute;width:18px;height:18px;border:1px solid rgba(230,237,243,.55)}.vp-brackets:before{top:0;left:0;border-right:0;border-bottom:0}.vp-brackets:after{bottom:0;right:0;border-left:0;border-top:0}.vp-tools{position:absolute;top:var(--s3);right:var(--s3);display:flex;gap:var(--s2);align-items:center;z-index:30}.vp-tools .seg{background:#0b0f14c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.seg.sm button,button.sm{padding:3px 10px;font-size:12px}.vp-tools>button{background:#0b0f14c7}.compass{width:46px;height:46px}.compass circle{fill:#0b0f14b8;stroke:#e6edf366}.compass .n{fill:var(--accent)}.compass text{fill:var(--text);font:600 9px var(--mono)}.vp-telemetry{position:absolute;left:var(--s4);bottom:var(--s3);font-size:11px;letter-spacing:.06em;color:#e6edf3bf;z-index:25;pointer-events:none;text-shadow:0 0 3px #000}.feed{position:absolute;right:var(--s3);bottom:var(--s3);width:min(380px,38%);aspect-ratio:16 / 10;z-index:30;border:1px solid rgba(230,237,243,.45);pointer-events:none;font:10.5px/1.45 var(--mono);color:#f2f5f7;text-shadow:0 0 3px #000,0 0 2px #000;letter-spacing:.05em}.feed:before,.feed:after{content:"";position:absolute;width:14px;height:14px;border:2px solid #f2f5f7}.feed:before{top:-2px;left:-2px;border-right:0;border-bottom:0}.feed:after{bottom:-2px;right:-2px;border-left:0;border-top:0}.feed-tl,.feed-tr,.feed-bl,.feed-br{position:absolute;padding:6px 8px}.feed-tl{top:0;left:0}.feed-tr{top:0;right:0;text-align:right}.feed-bl{bottom:0;left:0}.feed-br{bottom:0;right:0;text-align:right}.feed .rec{color:#ff4d4d;animation:rec 1s steps(2) infinite}@keyframes rec{50%{opacity:0}}.feed-cross{position:absolute;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-50%)}.feed-cross:before,.feed-cross:after{content:"";position:absolute;background:#f2f5f7d9}.feed-cross:before{left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,#f2f5f7 0 35%,transparent 35% 65%,#f2f5f7 65%)}.feed-cross:after{top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,#f2f5f7 0 35%,transparent 35% 65%,#f2f5f7 65%)}.is-lidar .vp-telemetry,.is-night .vp-telemetry{color:#e6edf399}.sym3d .leader{width:1px;height:34px;background:linear-gradient(#e6edf3b3,#e6edf300)}.sym3d{transform:translateY(-30%)}.mission-end{position:absolute;top:70px;left:50%;white-space:nowrap;transform:translate(-50%);z-index:45;display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:#0b0f14e0;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius)}.variant-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px dashed var(--border);border-radius:var(--radius)}.check{display:flex;gap:var(--s2);align-items:flex-start;font-size:13px;cursor:pointer;flex:1}.check input{width:auto;margin-top:3px;accent-color:var(--accent)}.feed{--feed-blur: .3px;--feed-noise: .1;backdrop-filter:blur(var(--feed-blur)) contrast(1.05);-webkit-backdrop-filter:blur(var(--feed-blur))}.feed-noise{position:absolute;inset:0;width:100%;height:100%;opacity:var(--feed-noise);mix-blend-mode:soft-light;pointer-events:none}.feed.ir .feed-noise{mix-blend-mode:screen;opacity:calc(var(--feed-noise) * .6)}.hud-assess{font:var(--w-strong) var(--fs-label) var(--mono);letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:2px 8px}.check.assess{padding:var(--s2) var(--s3);border:1px dashed var(--border);border-radius:var(--radius)}.label-layer{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:hidden}.label-layer .sym3d{pointer-events:auto}
