:root{--bg:#0c1116;--panel:#151d24;--panel-2:#1d272f;--line:#2a3740;--ink:#e8eef3;--ink-2:#9fb0bd;--ink-3:#6d7f8c;--accent:#4db6a0;--accent-ink:#06231d;--input:#1e2a33;--input-focus:#26343e;--warn:#e0a33c;--danger:#e2566d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}.mono{font-family:ui-monospace,Roboto Mono,SF Mono,Menlo,monospace;font-size:.8em}.dim{color:var(--ink-3)}.screen{max-width:34rem;padding:max(1rem, env(safe-area-inset-top)) 1rem calc(1.5rem + env(safe-area-inset-bottom));flex-direction:column;gap:1rem;margin:0 auto;display:flex}.head h1{letter-spacing:-.01em;margin:.25rem 0 .2rem;font-size:1.5rem;font-weight:650}.head .sub{color:var(--ink-3);margin:0;font-size:.83rem}.btn{appearance:none;background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:44px;padding:.7rem 1.15rem;font-weight:650}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn.small{flex:none;padding:.5rem .85rem;font-size:.87rem}.btn.stop{border-color:var(--line);color:var(--ink);background:0 0}.btn.wide{width:100%}.actions{align-items:center;gap:.85rem;display:flex}.pulse{color:var(--accent);font-size:.85rem;animation:1.4s ease-in-out infinite fade}@keyframes fade{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.alert{color:#f4c3ce;background:#33131c;border:1px solid #5c2233;border-radius:8px;padding:.7rem .9rem;font-size:.88rem}.alert.soft{color:#f0d9a6;background:#33280f;border-color:#5c4720}.empty{color:var(--ink-3);margin:0;font-size:.88rem}.list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.dev{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:.85rem;padding:.75rem .9rem;display:flex}.dev.known{background:var(--panel-2);border-color:#2f5850}.devMain{flex:1;min-width:0}.devName{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:600;overflow:hidden}.devMeta{color:var(--ink-3);gap:.6rem;margin-top:.1rem;font-size:.78rem;display:flex}.rssi{font-variant-numeric:tabular-nums;flex:none}.badge{color:var(--accent);margin-top:.35rem;font-size:.78rem}.badge em{color:var(--warn);font-style:normal}.badge.unknown{color:var(--ink-3)}.vitals{grid-template-columns:repeat(2,1fr);gap:.6rem;display:grid}.vital{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.85rem .95rem}.vital.off{opacity:.4}.vLabel{color:var(--ink-2);letter-spacing:.02em;font-size:.78rem}.vValue{font-variant-numeric:tabular-nums;margin-top:.1rem;font-size:2.4rem;font-weight:700;line-height:1.1}.vUnit{color:var(--ink-3);margin-left:.3rem;font-size:.85rem;font-weight:500}.rr{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.15rem;padding:.7rem .9rem;font-size:.85rem;display:flex}.support{border-top:1px solid var(--line);color:var(--ink-2);padding-top:.9rem;font-size:.85rem}.support summary{cursor:pointer;color:var(--ink-2)}.support ul{flex-direction:column;gap:.5rem;margin:.7rem 0 0;padding-left:1.1rem;display:flex}.support b{color:var(--ink);font-weight:600}.modes{border:1px solid var(--line);border-radius:9px;gap:0;display:flex;overflow:hidden}.seg{appearance:none;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;min-height:42px;padding:.6rem .5rem;font-size:.88rem;font-weight:550}.seg.on{background:var(--panel-2);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.seg:disabled{opacity:.5;cursor:default}.seg:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.85rem}.search{appearance:none;background:var(--input);border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;border-radius:8px;min-height:44px;padding:.6rem .8rem;font-size:.92rem}.search:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.btn.ghost{border-color:var(--line);color:var(--ink-2);background:0 0;font-weight:550}.inspect{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.85rem .95rem;display:flex}.inspect.hit{background:var(--panel-2);border-color:#2f5850}.inspectHead{font-size:.95rem;font-weight:600}.inspect.hit .inspectHead{color:var(--accent)}.small{font-size:.8rem}.uuids{width:100%;max-height:9rem;color:var(--ink-2);word-break:break-all;flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.group{flex-direction:column;gap:.5rem;display:flex}.groupHead{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.78rem;font-weight:600}.groupHead .dim{text-transform:none;letter-spacing:0;font-weight:400}.dev.stale{opacity:.45}.apphead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;min-height:40px;padding-bottom:.5rem;display:flex}.brand{letter-spacing:-.01em;font-size:1.05rem}.link{appearance:none;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;min-height:40px;padding:.4rem .2rem;font-size:.92rem}.link.strong{font-weight:650}.link.danger{color:var(--danger)}.link:disabled{opacity:.4}.link:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.saveState{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.76rem}.btn.big{width:100%;padding:.95rem 1.2rem;font-size:1rem}.menu{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.menu button{appearance:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;min-height:48px;padding:.85rem 1rem}.menu button:last-child{border-bottom:0}.menu button.danger{color:var(--danger)}.ptHead h1{letter-spacing:-.015em;margin:.3rem 0 .15rem;font-size:1.45rem;font-weight:650}.ptMeta{color:var(--ink-3);font-size:.83rem}.tags{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.tag{letter-spacing:.05em;text-transform:uppercase;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:4px;padding:.2rem .45rem;font-size:.72rem;font-weight:600}.tag.lock{color:var(--warn);border-color:#5c4720}.tag.small{text-transform:none;letter-spacing:0;font-weight:500}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.card.open{border-color:var(--rule-2,#3a4a55);background:var(--panel-2)}.cardHead{appearance:none;width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;min-height:50px;padding:.85rem .95rem;display:flex}.cardTitle{flex:none;font-size:.98rem;font-weight:600}.cardSummary{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1;font-size:.83rem;overflow:hidden}.cardChevron{color:var(--ink-3);flex:none;margin-left:auto}.card.open .cardChevron{margin-left:0}.cardBody{flex-direction:column;gap:.85rem;padding:.2rem .95rem 1rem;display:flex}.field{flex-direction:column;gap:.25rem;display:flex}.fieldLabel{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-size:.76rem;font-weight:600}.fieldHint{color:var(--ink-3);font-size:.76rem}.fieldHint.warn{color:var(--warn)}.field input,.field textarea{appearance:none;background:var(--input);border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;border-radius:8px;min-height:44px;padding:.6rem .7rem;font-size:1rem}.field textarea{resize:vertical;line-height:1.45}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;background:var(--input-focus)}.field input:disabled,.field textarea:disabled{opacity:.55}.numWrap{align-items:center;gap:.4rem;display:flex}.numWrap input{font-variant-numeric:tabular-nums;flex:1}.unit{color:var(--ink-3);flex:none;font-size:.85rem}.row2{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.row2>*{min-width:0}.field input,.field textarea{max-width:100%}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{appearance:none;background:var(--input);border:1px solid var(--line);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:999px;min-height:38px;padding:.42rem .75rem;font-size:.85rem}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.chip:disabled{opacity:.5}.chip:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.toggle{cursor:pointer;align-items:center;gap:.6rem;min-height:42px;font-size:.92rem;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--accent);flex:none}.sub{border-left:2px solid var(--line);flex-direction:column;gap:.7rem;padding-left:.75rem;display:flex}.vitalList{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.vitalRow{appearance:none;background:var(--input);border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;border-radius:8px;align-items:baseline;gap:.75rem;min-height:46px;padding:.6rem .75rem;display:flex}.vTime{font-variant-numeric:tabular-nums;color:var(--ink-3);flex:none;font-size:.85rem}.vSummary{font-size:.9rem}.noteRow{appearance:none;width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.sheet{z-index:40;background:#04080bb8;align-items:flex-end;display:flex;position:fixed;inset:0}.sheetInner{background:var(--bg);border-top:1px solid var(--line);border-radius:14px 14px 0 0;flex-direction:column;width:100%;max-height:92vh;display:flex;overflow:hidden}.sheetHead{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .9rem;display:flex}.sheetBody{padding:1rem .9rem calc(1.5rem + env(safe-area-inset-bottom));flex-direction:column;gap:.9rem;display:flex;overflow-y:auto}.bodyWrap{flex-direction:column;align-items:center;gap:.75rem;display:flex}.body{width:100%;max-width:300px;height:auto}.zone{fill:var(--panel-2);stroke:var(--line);stroke-width:1px;cursor:pointer;transition:fill .12s}.zone:hover{fill:#4db6a024}.zone.hasFindings{fill:#e0a33c4d;stroke:var(--warn)}.zone.selected{fill:#4db6a052;stroke:var(--accent)}.zone:focus-visible{stroke:var(--ink);stroke-width:2px;outline:none}.badgeG circle{fill:var(--warn)}.badgeG text{fill:#1a1200;text-anchor:middle;font-size:8.5px;font-weight:700}.sideLabel{fill:var(--ink-3);letter-spacing:.08em;text-anchor:middle;font-size:7.5px}.backBtn.hasFindings{background:var(--warn);color:#1a1200;border-color:var(--warn)}.backBtn.selected{background:var(--accent);color:var(--accent-ink)}.backBtn em{font-style:normal}.regionList{margin:.5rem 0 0;padding:0;list-style:none}.regionList li{align-items:center;gap:.3rem;display:flex}.chip.on.alarm{background:var(--warn);border-color:var(--warn);color:#1a1200}.unanswered{color:var(--ink-3);align-self:center;margin-left:.2rem;font-size:.8rem;font-style:italic}.verdict{border:1px solid var(--line);border-left-width:3px;border-radius:8px;padding:.65rem .8rem;font-size:.92rem;font-weight:600}.verdict.protect{border-left-color:var(--danger);color:#f4c3ce;background:#2a1219}.verdict.cleared,.verdict.no-moi{border-left-color:var(--accent);color:#bfe6dc;background:#12241f}.verdict.incomplete{border-left-color:var(--ink-3);color:var(--ink-2);background:var(--panel)}.clearBanner{color:#bfe6dc;background:#12241f;border:1px solid #2f5850;border-radius:8px;padding:.6rem .8rem;font-size:.9rem}.diag{margin-top:.5rem}.diagRow{flex-wrap:wrap;gap:.5rem;margin:.7rem 0 .5rem;display:flex}.diagStat{color:var(--ink-3);font-variant-numeric:tabular-nums;margin:0 0 .6rem;font-size:.8rem}.why{margin:.45rem 0 0;padding-left:1.05rem;font-size:.85rem}.why li{margin-bottom:.3rem}.frames{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:.7rem;padding:.5rem .6rem}.framesHead{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.35rem;font-size:.72rem}.frames ul{max-height:12rem;margin:0;padding:0;list-style:none;overflow-y:auto}.frames li{border-bottom:1px solid var(--line);align-items:baseline;gap:.5rem;padding:.15rem 0;font-size:.74rem;display:flex}.frames li:last-child{border-bottom:0}.fChar{color:var(--accent);flex:none}.fLen{color:var(--ink-3);flex:none}.fHex{color:var(--ink-2);word-break:break-all}.tree{flex-direction:column;gap:.6rem;display:flex}.svc{border-left:2px solid var(--line);padding-left:.6rem}.svcHead{font-size:.85rem}.svc ul{flex-direction:column;gap:.2rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.svc li{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.78rem;display:flex}.props{color:var(--ink-3);font-size:.74rem}.link.small{min-height:0;padding:.1rem .3rem;font-size:.75rem}.recTo{color:var(--accent);margin:.3rem 0 0;font-size:.83rem}.recBox{background:var(--panel-2);border:1px solid #2f5850;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.55rem;padding:.8rem .9rem;display:flex}.recLine{flex-direction:column;gap:.1rem;font-size:.9rem;display:flex}.recLine .dim{font-variant-numeric:tabular-nums;font-size:.8rem}.vitalRow.as-row{cursor:default}.liveBar{z-index:30;appearance:none;color:#bfe6dc;width:100%;font:inherit;padding:max(.55rem, env(safe-area-inset-top)) 1rem .55rem;cursor:pointer;text-align:left;background:#12241f;border:0;border-bottom:1px solid #2f5850;align-items:center;gap:.55rem;min-height:42px;font-size:.85rem;display:flex;position:sticky;top:0}.liveDot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;animation:2s ease-in-out infinite livePulse}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.liveDot{animation:none}}.liveText{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.liveText b{color:#eafaf5;font-variant-numeric:tabular-nums}.liveGo{opacity:.6;flex:none;font-size:1.1rem}.liveBar.liveWarn{color:#f2d9a8;background:#2a1c0c;border-bottom-color:#6b4a17}.liveBar.liveWarn .liveDot{background:#e0a63c}.liveBar.liveWarn .liveText b{color:#ffe9bf}.locField{flex-direction:column;align-items:stretch;gap:.7rem;display:flex}.fixBox{background:var(--input);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:.25rem;padding:.7rem .8rem;display:flex}.fixRow{align-items:baseline;gap:.6rem;display:flex}.fixLabel{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);flex:none;min-width:4.2rem;font-size:.7rem}.fixMeta{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.78rem}.verbal .vsec{flex-direction:column;gap:.5rem;display:flex}.verbal h2{letter-spacing:.09em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line);align-items:baseline;gap:.5rem;margin:.6rem 0 0;padding-bottom:.3rem;font-size:.78rem;font-weight:600;display:flex}.vhint{text-transform:none;letter-spacing:0;color:var(--ink-3);font-size:.75rem;font-weight:400}.vline{color:var(--ink);margin:0;font-size:1.12rem;line-height:1.62}.vline.gap,.vline.gap:first-line{color:var(--ink-2)}.homeActions{gap:.9rem;display:flex}.wordmark{align-items:center;gap:.5rem;display:flex}.wordmarkIcon{color:var(--accent);flex:none;display:block}.wordmarkText{letter-spacing:-.015em;color:var(--ink-2);font-size:1.08rem;font-weight:500}.wordmarkText b{color:var(--ink);font-weight:700}.blank{text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:2.5rem 1rem 1.5rem;display:flex}.blankMark{color:var(--line);flex:none}.blankTitle{color:var(--ink-2);margin:.4rem 0 0;font-size:1.02rem;font-weight:600}.blank .empty{margin:0}.fromFindings{flex-direction:column;gap:.4rem;display:flex}.findingPicks{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.findingPicks li{background:var(--input);border:1px solid var(--line);border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.pickText{color:var(--ink-2);flex:1;font-size:.86rem}.pickText b{color:var(--ink);font-weight:600}.pickTreated{color:var(--ink-3);font-size:.8rem;font-style:normal}.pickAdded{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:.76rem}
