:root{--paper: #EFEAE0;--paper-2: #F6F1E4;--paper-3: #E9E4D6;--paper-dim: #E0D9C6;--ink: #26241E;--ink-2: #4D483D;--brown: #6B5B44;--faint: #736E5D;--line: #C9C7C4;--line-soft: #DAD4C4;--red: #C33427;--red-ink: #A02818;--blue: #2B4C8C;--green: #3F7A45;--amber: #C07A17;--amber-deep: #7A5D00;--violet: #6E4A7E;--orange: #A05A22;--gold: #8F6A1F;--patrol: #C99700;--patrol-deep: #7A5D00;--rack: #2A2924;--serif: "Songti SC", "STSong", "Noto Serif SC", serif;--sans: "PingFang SC", -apple-system, "Helvetica Neue", "Microsoft YaHei", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg: var(--paper);--panel: var(--paper);--card: var(--paper-2);--inset: var(--paper-3);--border: var(--line);--border-soft: var(--line-soft);--text: var(--ink);--text2: var(--ink-2);--hostile: var(--red);--friendly: var(--blue);--ok: var(--green);--warn: var(--amber);--hud: var(--ink)}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:13.5px/1.55 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:var(--ink);color:var(--paper-2)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--ink-2)}.small{font-size:11px}.spacer{flex:1}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--line)}*::-webkit-scrollbar-thumb:hover{background:var(--brown)}*::-webkit-scrollbar-track{background:transparent}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:1.5px dashed var(--brown);outline-offset:2px}button{cursor:pointer;border:1.3px solid var(--brown);border-radius:0;background:var(--paper-2);color:var(--ink);padding:6px 14px;font:500 12.5px var(--sans);letter-spacing:.08em}button:hover{border-color:var(--ink);background:#fffdf6}button:disabled{opacity:.45;cursor:not-allowed}input,select{border-radius:0}input[type=checkbox]{accent-color:var(--ink)}.go{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:var(--paper-2);font-weight:700;border:1.3px solid var(--ink);padding:12px 20px;font-size:14.5px;letter-spacing:.28em;text-indent:.28em}.go:hover{background:#3a372e;border-color:#3a372e}.ghost{background:transparent}.icon-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1.8px solid var(--ink);background:#fffdf68c}.icon-btn:hover{background:var(--paper-2);border-color:var(--ink)}button.ghost{display:inline-flex;align-items:center;gap:6px}.panel-h,.events h3,.home-card h3,.runs h4{font:700 11.5px var(--sans);letter-spacing:.32em;color:var(--ink)}.home-card,.new-card,.sm-panel,.scn-map,.rec-row,.stat-cell,.kpi,.fn-step,.psec,.wcard,.pcard{border-radius:0}.wizard{max-width:1180px;margin:0 auto;padding:40px 24px}.wizard h1{font-size:22px;margin:0;letter-spacing:.1em}.wizard header p{color:var(--ink-2);margin:4px 0 24px}.wiz-row{display:flex;gap:20px;align-items:stretch}.wiz-scenarios{flex:1;display:grid;gap:12px}.scn-card{text-align:left;display:grid;gap:4px;padding:14px 16px;background:var(--paper-2);border:1.3px solid var(--line);border-radius:0}.scn-card.on{border-color:var(--ink);border-width:1.5px;background:#fffdf6;box-shadow:2px 3px 8px #26241e24}.scn-card b{font-size:15px}.wiz-side{width:320px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:0;padding:18px;display:flex;flex-direction:column;gap:12px}.wiz-side h3{margin:0 0 4px;font-size:12px;color:var(--ink);letter-spacing:.32em}.wiz-side label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}.wiz-side input[type=number]{background:var(--paper-3);border:1.3px solid var(--brown);border-radius:0;color:var(--ink);padding:7px 10px;font-size:13px}.wiz-side .chk{flex-direction:row;align-items:center;gap:8px}.battle{display:flex;flex-direction:column;height:100vh;height:100dvh}.bar{display:flex;align-items:center;gap:18px;height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;background:var(--paper-2);border-bottom:2px solid var(--brown)}.brand{font-weight:700;letter-spacing:.1em}.chip{padding:2px 10px;border:1.3px solid var(--brown);border-radius:0;color:var(--ink-2);background:var(--paper-3);font-size:11.5px;letter-spacing:.06em}.stat{color:var(--ink-2);font-size:12.5px;letter-spacing:.02em}.stat b{color:var(--ink);font-size:14px}.ok b{color:var(--green)}.bad b{color:var(--red)}.main{flex:1;display:flex;min-height:0}.map-wrap{flex:1;position:relative;display:grid;place-items:center;background:repeating-linear-gradient(0deg,rgba(107,91,68,.06) 0 1px,transparent 1px 90px),repeating-linear-gradient(90deg,rgba(107,91,68,.06) 0 1px,transparent 1px 90px)}canvas{max-width:100%;max-height:100%}.map-wrap canvas{touch-action:none;background:var(--paper);box-shadow:2px 3px 10px #26241e29}.overlay{position:absolute}.events{width:328px;background:var(--paper-2);border-left:2px solid var(--brown);padding:0 0 0 12px;overflow:hidden;display:flex;flex-direction:column}.events h3{margin:10px 0 4px;padding:6px 12px 6px 0;border-bottom:1.3px solid var(--ink);display:flex;gap:8px;justify-content:space-between;align-items:baseline}.events h3 .h3n{font:500 9px var(--mono);color:var(--faint);letter-spacing:.3em}.ev-list{flex:1;min-height:200px;overflow-y:auto;padding-right:12px}.ev{margin:0 12px 6px 0;padding:6px 8px 6px 9px;font-size:12px;cursor:pointer;color:var(--ink-2);background:#fffdf6;border:1px solid var(--line-soft);border-left-width:3px;border-left-color:var(--line);line-height:1.45}.ev:hover{border-color:var(--brown)}.ev .mono{font-weight:700}.ev.kill{border-left-color:var(--green)}.ev.kill .mono,.ev.kill b{color:var(--green)}.ev.impact{border-left-color:var(--red)}.ev.impact .mono{color:var(--red)}.ev.escape{border-left-color:var(--amber)}.ev.escape .mono{color:var(--amber-deep)}.ev.wave{border-left-color:var(--red)}.ev.wave .mono{color:var(--red-ink)}.ev.detect{border-left-color:var(--blue)}.ev.detect .mono{color:var(--blue)}.ev.predict{border-left-color:var(--violet)}.ev.predict .mono{color:var(--violet)}.ev.alloc{border-left-color:var(--green)}.ev.alloc .mono{color:var(--green)}.ev.leak{border-left-color:var(--orange)}.ev.leak .mono{color:var(--orange)}.ev.radar_down{border-left-color:var(--red)}.ev.radar_down .mono{color:var(--red)}.ev.fault{border-left-color:var(--amber)}.ev.fault .mono{color:var(--amber-deep)}.ev.replan{border-left-color:var(--blue)}.ev.replan .mono{color:var(--blue)}.ev.fault_ground{border-left-color:var(--faint)}.ev.fault_ground .mono{color:var(--faint)}.ev-filter{display:flex;align-items:center;gap:6px;margin:8px 12px 10px 0}.deck{display:flex;align-items:center;gap:14px;height:calc(64px + env(safe-area-inset-bottom,0px));padding:0 20px env(safe-area-inset-bottom,0px);background:var(--paper-2);border-top:2px solid var(--brown)}.deck .icon-btn{width:44px;height:44px}.timeline{flex:1;position:relative}.deck input[type=range]{width:100%;accent-color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background:transparent}.deck input[type=range]::-webkit-slider-runnable-track{height:2.5px;background:var(--brown)}.deck input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-5.5px;background:var(--paper-2);border:2.2px solid var(--red);border-radius:0}.deck input[type=range]::-moz-range-track{height:2.5px;background:var(--brown)}.deck input[type=range]::-moz-range-thumb{width:10px;height:10px;background:var(--paper-2);border:2.2px solid var(--red);border-radius:0}.seg{display:flex;border:1.3px solid var(--brown);border-radius:0;overflow:hidden}.seg button{border:none;border-radius:0;padding:6px 10px;color:var(--faint);background:transparent;font-size:11.5px}.seg button+button{border-left:1px solid var(--line-soft)}.seg button.on{background:var(--ink);color:var(--paper-2);font-weight:700}.ticks{position:absolute;left:0;right:0;top:-3px;height:18px;pointer-events:none}.tick{position:absolute;top:5px;width:8px;height:8px;padding:0;border:none;background:var(--green);transform:rotate(45deg);pointer-events:auto;cursor:pointer}.tick:after{content:"";position:absolute;top:-16px;right:-14px;bottom:-16px;left:-14px;transform:rotate(-45deg)}.tick.kill{background:var(--green)}.tick.impact{background:var(--red)}.tick.escape{background:var(--amber)}.tick.detect{background:var(--blue)}.tick.predict{background:var(--violet)}.tick.alloc{background:var(--green)}.tick.leak{background:var(--orange)}.tick.wave{background:var(--red)}.tick.fault{background:var(--amber)}.tick.replan{background:var(--blue)}.tick.radar_down{background:var(--red)}.tick.fault_ground{background:var(--faint)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#26241e57;display:grid;place-items:center;z-index:40}.modal{width:min(860px,92vw);background:var(--paper-2);border:1.5px solid var(--ink);border-radius:0;box-shadow:6px 8px 20px #26241e47;overflow:hidden}.modal header{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--paper-3);border-bottom:1.5px solid var(--ink);font-weight:700;letter-spacing:.12em}.modal .x{border:none;background:none;color:var(--ink-2);font-size:15px;padding:2px 6px}.modal .x:hover{color:var(--red)}.modal-body{display:flex;min-height:340px}.modal nav{width:170px;border-right:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:4px;background:var(--paper-3)}.modal nav button{text-align:left;border:none;background:none;color:var(--ink-2);padding:8px 10px;border-radius:0;letter-spacing:.04em}.modal nav button.on{background:var(--paper-2);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--red)}.form{flex:1;padding:16px 20px;display:grid;gap:10px;grid-template-columns:1fr 1fr;align-content:start}.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}.field input,.field select{background:var(--paper-3);border:1.3px solid var(--brown);color:var(--ink);padding:7px 10px}.modal footer{display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--paper-3);border-top:1px solid var(--line)}.modal.final .verdict{margin:16px 18px 0;padding:10px 14px;font-weight:700;letter-spacing:.04em;border:1.3px solid;border-left-width:4px;border-radius:0;background:#3f7a4512}.kpis{display:flex;gap:0;padding:14px 18px}.kpi{flex:1;background:#fffdf699;border:1.3px solid var(--ink);border-left:none;padding:11px 16px 9px}.kpi:first-child{border-left:1.3px solid var(--ink)}.kpi-head{display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.22em;color:var(--brown)}.kpi-value{font-size:30px;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums;line-height:1.2}.asset-row{display:flex;gap:8px;padding:0 18px 8px;flex-wrap:wrap}.asset{font-size:12px;color:var(--gold);background:#8f6a1f12;border:1.3px solid var(--gold);border-radius:0;padding:4px 10px}.asset.down{color:var(--red);border-color:var(--red);background:#c3342712;text-decoration:line-through}.rec-ops{display:flex;align-items:center;gap:10px;padding:4px 18px 10px}a.ghost{text-decoration:none;display:inline-block}.runs{padding:0 18px 16px}.runs h4{margin:10px 0 6px;color:var(--brown);font-size:11px;letter-spacing:.32em}.run-row{display:flex;gap:14px;font-size:12px;padding:4px 0;border-bottom:1px dashed var(--line)}.modal.md-view{width:min(780px,92vw);max-height:88vh;display:flex;flex-direction:column}.md-body{overflow-y:auto;padding:6px 22px 22px;font-size:13px;line-height:1.75;color:var(--ink-2)}.md-body h1{font-size:18px;margin:14px 0 10px;color:var(--ink);letter-spacing:.06em}.md-body h2{font-size:12px;margin:20px 0 8px;letter-spacing:.32em;color:var(--brown);border-bottom:1.3px solid var(--ink);padding-bottom:5px}.md-body h3{font-size:13.5px;margin:16px 0 4px;color:var(--amber-deep)}.md-body h4{font-size:12.5px;margin:12px 0 4px;color:var(--ink-2)}.md-body ul{margin:4px 0;padding-left:20px}.md-body ul ul{margin:2px 0;padding-left:18px;list-style-type:circle}.md-body li{margin:3px 0}.md-body code{font-family:var(--mono);font-size:12px;background:var(--paper-3);border:1px solid var(--line-soft);padding:0 5px}.md-body hr{border:none;border-top:1px solid var(--line);margin:14px 0}.scn-head{display:flex;align-items:center;gap:8px;color:var(--ink)}.scn-head b{color:var(--ink);font-size:14.5px}.scn-head svg{color:var(--gold)}.view-toggle{position:absolute;top:10px;right:10px;z-index:6;opacity:.96}.view-toggle button{padding:4px 12px;font-size:11.5px;font-family:var(--mono);letter-spacing:.08em}.live-pill{display:inline-flex;align-items:center;gap:7px;color:var(--red);border:1.4px solid var(--red);background:#c3342712;border-radius:0;padding:3px 12px;font-size:11.5px;font-weight:700;letter-spacing:.2em}.live-pill svg{animation:pulse 1.6s infinite}@keyframes pulse{50%{opacity:.3}}.live-strip{flex:1;display:flex;align-items:center;height:16px;gap:3px;position:relative;overflow:hidden}.live-strip .tick{position:static;top:auto;width:7px;height:7px;margin:1px;flex:none;transform:rotate(45deg)}.live-strip .tick:after{display:none}.replay-tag{color:var(--ink-2);font-size:11px}.modal header .x{display:grid;place-items:center}.home{display:flex;flex-direction:column;height:100vh;height:100dvh;background:repeating-linear-gradient(0deg,rgba(107,91,68,.05) 0 1px,transparent 1px 90px),repeating-linear-gradient(90deg,rgba(107,91,68,.05) 0 1px,transparent 1px 90px)}.home-bar{display:flex;align-items:center;gap:14px;height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;background:var(--paper-2);border-bottom:2px solid var(--brown)}.home-main{flex:1;display:flex;gap:16px;padding:16px;min-height:0;align-items:stretch;flex-wrap:wrap}.home-main .wizard{flex:1;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.home-right{width:460px;display:flex;flex-direction:column;gap:14px;min-height:0}.home-card{background:#fffdf699;border:1.5px solid var(--ink);padding:12px 14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-width:0}.home-card-h{display:flex;align-items:center;gap:10px}.home-card h3{margin:0;font-size:11.5px;color:var(--ink);letter-spacing:.32em;padding-bottom:6px;border-bottom:1.3px solid var(--ink);flex:1}.rec-row{display:flex;flex-direction:column;gap:3px;padding:7px 9px;background:#fffdf6;border:1px solid var(--line-soft);font-size:11.5px}.rec-top,.rec-bot{display:flex;align-items:center;gap:8px}.cyan-s{color:var(--brown);font-size:9.5px}.vw-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:62px;height:24px;padding:0 10px;font-size:10.5px;color:var(--blue);background:#2b4c8c0f;border-color:var(--blue)}.vw-btn:disabled{color:var(--faint);border-color:var(--line-soft);background:transparent}.mini-chip{height:22px;padding:0 9px;font-size:10.5px;border-radius:0;color:var(--ink-2);background:transparent;position:relative}.mini-chip:after{content:"";position:absolute;top:-9px;right:-8px;bottom:-9px;left:-8px}.mini-chip.on{color:var(--ink);border-color:var(--ink);background:var(--ink);color:var(--paper-2);font-weight:700}.mini-chip.on.warn{background:var(--amber);border-color:var(--amber);color:#fffdf6}.ov-row{display:flex;align-items:center;font-size:11.5px;color:var(--ink-2);padding:4px 0;border-bottom:1px dashed var(--line)}.ov-row:last-child{border-bottom:0}.ok-c{color:var(--green)}.gold-c{color:var(--gold)}.bad-c{color:var(--red)}.strat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.strat-grid label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--ink-2)}.strat-grid select{background:var(--paper-3);border:1.3px solid var(--brown);color:var(--ink);padding:5px 6px;font-size:11.5px;font-family:var(--mono)}.op-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;min-width:120px;padding:0 16px;border:1.3px solid var(--brown);background:var(--paper-2);color:var(--ink-2);font-size:12.5px;letter-spacing:.1em;text-decoration:none;cursor:pointer}.op-btn:hover{border-color:var(--ink);color:var(--ink)}.op-btn.primary{background:var(--ink);color:var(--paper-2);font-weight:700;border-color:var(--ink)}.op-btn.primary:hover{background:#3a372e}.new-card{flex:1;display:flex;flex-direction:column;gap:14px;background:#fffdf699;border:1.5px solid var(--ink);padding:18px;min-width:0;min-height:0;overflow:hidden}.nc-head{display:flex;align-items:center;gap:12px;font-weight:700;font-size:13px;letter-spacing:.18em}.steps4{display:flex;gap:6px}.steps4 .st{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--faint);background:var(--paper-3);border:1.3px solid var(--line-soft);padding:3px 8px;font-weight:400;cursor:pointer}.steps4 .st.on{color:var(--paper-2);border-color:var(--ink);background:var(--ink);font-weight:700}.steps4 .st i{font-style:normal;font-family:var(--mono);font-size:9px;width:15px;height:15px;display:grid;place-items:center;background:var(--line);color:var(--ink)}.steps4 .st.on i{background:var(--paper-2);color:var(--ink);font-weight:700}.steps4 .st.did{color:var(--green);border-color:#3f7a4580}.steps4 .st.did i{background:#3f7a4529;color:var(--green)}.scn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:clamp(190px,28vh,300px);overflow-y:auto;padding-right:4px}.scn-cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 14px;background:#fffdf6;border:1.3px solid var(--line-soft);text-align:left;cursor:pointer}.scn-cell:hover{border-color:var(--brown)}.scn-cell.on{border:1.5px solid var(--ink);background:var(--paper-2);box-shadow:2px 3px 8px #26241e24}.scn-cell .scn-head b{font-size:13.5px}.scn-cell .small{font-size:10.5px;line-height:1.4}.nc-settings{display:flex;align-items:center;gap:16px;row-gap:10px;flex-wrap:wrap}.nc-settings label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--ink-2)}.nc-settings label.chk{flex-direction:row;align-items:center;justify-content:center;gap:8px;height:48px;white-space:nowrap}.nc-settings label.inline{flex-direction:row;align-items:center;justify-content:center;gap:8px;min-height:44px;white-space:nowrap;font-size:11.5px}.nc-settings input[type=number]{width:110px;background:var(--paper-3);border:1.3px solid var(--brown);color:var(--ink);padding:5px 8px;font-size:12px}.new-card .strat-grid{margin-top:-4px}.new-card .go{align-self:center;width:auto;min-width:220px;height:42px;padding:0 30px;font-size:14px}.sm-rail{width:292px;flex:0 0 292px;min-width:260px}.sm-panel{background:#fffdf699;border:1.5px solid var(--ink);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.sm-panel svg{display:block}.phases{display:flex;gap:6px}.ph{font-size:10px;font-family:var(--mono);color:var(--ink-2);border:1.3px solid var(--brown);padding:2.5px 8px;letter-spacing:.1em;white-space:nowrap}.ph.on{color:var(--paper-2);border-color:var(--ink);background:var(--ink)}.left-rail{width:352px;flex:0 0 352px;display:flex;flex-direction:column;gap:14px;min-height:0}.left-rail .home-card{flex:1;min-height:0;overflow-y:auto}.right-rail .sm-panel{flex:0 0 auto}.right-rail{width:300px;flex:0 0 300px;display:flex;flex-direction:column;gap:14px}.scn-map{background:#fffdf6;border:1.3px solid var(--line);padding:10px 12px 8px;display:flex;flex-direction:column;gap:6px;flex:1 1 0;min-height:200px;max-height:540px;overflow:hidden}.scn-map-slot{flex:1 1 0;min-height:0;position:relative}.scn-map-h{display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--ink-2);letter-spacing:.14em}.compact .bar{height:44px;padding-top:0;gap:10px}.compact .deck{height:48px;padding-bottom:0;gap:8px}.compact .events{width:240px;flex:0 0 240px;padding:10px 0 10px 10px}.compact .phases{display:none}.compact .brand{font-size:13px}.compact .stat{font-size:12px}.compact .home-bar{height:44px;padding-top:0}.compact .home-main{gap:12px;padding:12px}.compact .left-rail{flex:0 0 300px;width:300px}.compact .right-rail{width:260px;flex:0 0 260px}.compact .rec-top .cyan-s{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact .sm-panel svg{max-width:200px;margin:0 auto}.m-battle .bar{height:calc(48px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 8px 0 14px;gap:8px;background:var(--paper-2)}.m-battle .brand{font-size:14px;white-space:nowrap}.m-battle .stat{font-size:12.5px;white-space:nowrap}.m-map{flex:0 0 46%;min-height:0}.m-tabs{display:flex;align-items:center;gap:4px;padding:0 10px;height:44px;background:var(--paper-2);border-top:1.3px solid var(--ink);border-bottom:1.3px solid var(--ink);flex:0 0 auto}.m-tabs button{border:none;background:none;color:var(--ink-2);font-size:13.5px;height:100%;padding:0 12px;position:relative;letter-spacing:.06em}.m-tabs button.on{color:var(--ink);font-weight:700}.m-tabs button.on:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2.5px;background:var(--ink)}.m-pane{flex:1;min-height:0;overflow-y:auto;padding:10px 12px 16px;background:var(--paper-2);scrollbar-width:none}.m-pane::-webkit-scrollbar{display:none}.m-deck{height:calc(56px + env(safe-area-inset-bottom,0px));padding:0 8px env(safe-area-inset-bottom,0px);gap:6px}.speed-cycle{min-width:48px;height:40px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px}.m-menu-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:transparent}.m-menu{position:absolute;top:calc(52px + env(safe-area-inset-top,0px));right:8px;min-width:200px;background:var(--paper-2);border:1.5px solid var(--ink);padding:8px;display:flex;flex-direction:column;gap:4px;box-shadow:5px 7px 18px #26241e4d}.m-menu .phases{padding:2px 6px 8px;flex-wrap:wrap;border-bottom:1px dashed var(--line)}.m-menu button{text-align:left;border:none;background:none;padding:11px 10px;font-size:13.5px;display:flex;align-items:center;gap:8px}.m-menu button:active{background:var(--paper-3)}.modal-mask.sheet-mask{align-items:flex-end}.modal.final.sheet{width:100%;max-width:none;max-height:86dvh;border-radius:0;border-bottom:none;display:flex;flex-direction:column}.modal.final.sheet .sh-body{flex:1;min-height:0;overflow-y:auto;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.modal.final.sheet .kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal.final.sheet .kpi{border-left:1.3px solid var(--ink)}.modal.final.sheet header{gap:8px;font-size:15px}.modal.final.sheet header>span{white-space:nowrap}.modal.final.sheet header .mono.dim{font-size:10.5px}.grabber{width:40px;height:4px;background:var(--brown);margin:8px auto 0;flex:0 0 auto;touch-action:none}.modal.sheet-full{width:100%;height:100dvh;max-height:none;border-radius:0;border:none;display:flex;flex-direction:column}.modal.sheet-full .modal-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:visible}.modal.sheet-full nav{width:auto;flex:0 0 auto;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);scrollbar-width:none}.modal.sheet-full nav::-webkit-scrollbar{display:none}.modal.sheet-full nav button{white-space:nowrap;padding:12px 14px}.modal.sheet-full .form{grid-template-columns:1fr;overflow-y:auto;flex:1;padding:14px 16px calc(20px + env(safe-area-inset-bottom,0px))}.modal.sheet-full .form .field input,.modal.sheet-full .form .field select{padding:11px 12px;font-size:14px}.modal.sheet-full footer{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.modal.sheet-full .md-body{flex:1;min-height:0;overflow-y:auto;padding:6px 18px calc(24px + env(safe-area-inset-bottom,0px));font-size:13.5px}.modal.sheet-full .modal>header,.modal.sheet-full header{padding-top:calc(12px + env(safe-area-inset-top,0px))}.modal.sheet-full header .dim{display:none}.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-cell{background:#fffdf6;border:1.3px solid var(--line-soft);padding:10px 12px}.stat-cell .k{font-size:11px;color:var(--brown);letter-spacing:.14em}.stat-cell .v{font-size:21px;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums}.m-home{position:relative}.m-home .home-bar{height:calc(48px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0;gap:10px}.m-home .brand{font-size:14.5px;white-space:nowrap}.m-live-strip-btn{display:flex;align-items:center;gap:8px;margin:10px 12px 0;padding:11px 12px;background:#c3342712;border:1.3px solid var(--red);color:var(--red);font-size:13px;font-weight:700}.m-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:12px 12px 108px;scrollbar-width:none}.m-scroll::-webkit-scrollbar{display:none}.m-scroll .scn-grid{grid-template-columns:1fr}.m-scroll .new-card{padding:14px}.m-scroll .scn-cell .small{font-size:11.5px}.m-cta{position:absolute;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#efeae0f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:2px solid var(--brown);z-index:30}.m-cta .go{width:100%;height:48px;font-size:15px}.m-scroll .home-card h3{font-size:11.5px}.m-scroll .rec-row{font-size:12px}.m-scroll .ov-row{font-size:13px;padding:5px 0}.modal.params-dialog{width:min(1080px,96vw);max-height:92vh;max-height:92dvh;display:flex;flex-direction:column}.params-dialog .params-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px}.pload{padding:60px 0;text-align:center}.params-common{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--paper-3);border:1.3px solid var(--line);padding:8px 12px}.pcommon-t{font-size:11px;color:var(--brown);letter-spacing:.32em;font-weight:700}.pcommon-f{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2)}.pcommon-f .pinput{width:90px}.pcommon-f b{display:inline-flex;align-items:center;gap:6px}.params-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.pcard{background:#fffdf699;overflow:hidden}.pcard.red{border:1.5px solid rgba(195,52,39,.55)}.pcard.blue{border:1.5px solid rgba(43,76,140,.5)}.pcard-h{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;letter-spacing:.12em}.pcard.red .pcard-h{background:#c3342712;border-bottom:1px solid rgba(195,52,39,.3)}.pcard.blue .pcard-h{background:#2b4c8c0f;border-bottom:1px solid rgba(43,76,140,.3)}.pcard-b{padding:10px 12px 14px;display:flex;flex-direction:column;gap:10px}.psec{background:#fffdf6;border:1px solid var(--line-soft);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.psec-h{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em}.psec-h b{color:var(--ink);font-size:12px}.hostile-t{color:var(--red)!important}.warn-t{color:var(--amber-deep)!important}.pfield{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--ink-2);border-bottom:1px dashed var(--line);padding:4px 0}.pfield:last-child{border-bottom:0}.pfield-bad .pctrl b,.pfield-bad label{color:var(--red)}.pctrl{display:flex;align-items:center;gap:8px}.pinput{background:var(--paper-3);border:1.3px solid var(--brown);color:var(--ink);padding:5px 8px;font-size:12px;width:110px}select.pinput{width:130px}.pinput-ro{background:transparent;border-color:var(--line-soft);color:var(--ink)}.pinput-bad{border-color:var(--red)}.ppoint{display:inline-flex;align-items:center;gap:4px}.ppoint .pinput{width:78px}.perr{color:var(--red);font-size:11.5px;margin:0}.pfield-adv{opacity:.85}.padv{font-size:12px}.padv summary{cursor:pointer;color:var(--faint);font-size:11px;padding:3px 0;-webkit-user-select:none;user-select:none}.padv summary:hover{color:var(--ink-2)}.padv[open]{display:flex;flex-direction:column;gap:6px}.badge-ov{display:inline-block;font-size:9.5px;color:var(--amber-deep);border:1px solid rgba(192,122,23,.55);background:#c07a1717;border-radius:0;padding:0 6px;line-height:16px;white-space:nowrap}.wcard{border:1px dashed rgba(195,52,39,.4);padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:#c3342708}.add-wave{align-self:flex-start;border-style:dashed;color:var(--red);border-color:#c3342780;background:transparent}.pick-map{display:flex;flex-direction:column;gap:4px}.params-dialog.review .pinput{background:transparent}.yaml-raw{font-size:11.5px}.yaml-raw summary{cursor:pointer;color:var(--faint);-webkit-user-select:none;user-select:none}.yaml-raw pre{max-height:240px;overflow:auto;background:var(--paper-3);border:1px solid var(--line-soft);padding:10px;font-size:10.5px;line-height:1.5}.primary-apply{background:var(--ink);color:var(--paper-2);font-weight:700;border:1.3px solid var(--ink);padding:8px 22px;letter-spacing:.2em}.primary-apply:disabled{opacity:.4;cursor:not-allowed}.chips-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.pchip{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-2);border:1.3px solid var(--line);background:#fffdf6;padding:3px 9px;white-space:nowrap}.pchip b{color:var(--ink)}.modal.params-dialog.sheet-full{width:100%;height:100dvh;max-height:none;border-radius:0;border:none}.modal.params-dialog.sheet-full .params-cols{grid-template-columns:1fr}.modal.params-dialog.sheet-full .params-common{flex-wrap:wrap}.modal.params-dialog.sheet-full .pcommon-f .pinput{width:110px}.modal.params-dialog.sheet-full header .dim{display:none}.funnel{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;padding:4px 0}.funnel-item{display:inline-flex;align-items:center;gap:6px}.fn-step{display:inline-flex;align-items:baseline;gap:4px;font-size:12px;color:var(--ink-2);background:#fffdf6;border:1px solid var(--line-soft);padding:3px 9px;white-space:nowrap}.fn-step b{color:var(--ink);font-size:13px}.login-wrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(1100px 560px at 50% -12%,#F4EFE4 0%,var(--paper) 58%),repeating-linear-gradient(0deg,rgba(107,91,68,.07) 0 1px,transparent 1px 90px),repeating-linear-gradient(90deg,rgba(107,91,68,.07) 0 1px,transparent 1px 90px)}.login-card{width:min(380px,92vw);background:#fffdf6eb;border:1.5px solid var(--ink);border-radius:0;box-shadow:5px 7px 18px #26241e38;padding:32px 28px 16px;display:flex;flex-direction:column;gap:14px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.login-brand h1{margin:0;font-size:18px;letter-spacing:.18em}.login-brand p{margin:0;font-family:var(--serif);color:var(--brown);letter-spacing:.5em;text-indent:.5em}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:var(--brown);letter-spacing:.2em}.login-card input{background:var(--paper-3);border:1.3px solid var(--brown);padding:10px 12px;color:var(--ink);font-size:14px;outline:none;border-radius:0}.login-card input:focus{border-color:var(--ink)}.login-card input:disabled{opacity:.55}.login-err{margin:0;color:var(--red);font-size:12px;background:#c3342712;border:1.3px solid rgba(195,52,39,.45);padding:8px 10px}.login-card .go{width:100%;height:42px}.login-card .go:disabled{opacity:.55}.login-hint{text-align:center;margin:0;font-size:11px;color:var(--faint)}.login-icp{margin:2px -4px 0;padding-top:10px;border-top:1px dashed var(--line);text-align:center;font-size:11px;color:var(--faint);letter-spacing:.02em}.rec-top,.rec-bot{flex-wrap:wrap;row-gap:4px}.rec-top .cyan-s{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-card-h{flex-wrap:wrap;row-gap:4px}.rec-top .vw-btn{flex:0 0 auto}.m-scroll .rec-top .spacer{flex:0 0 100%;height:0}.m-scroll>*{flex:0 0 auto}.fm-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;padding:7px 14px;border:1.4px solid var(--amber);border-radius:0;background:#fffdf6f2;color:var(--amber-deep);font-size:12.5px;white-space:nowrap;box-shadow:3px 4px 12px #26241e33}.fm-card{position:absolute;left:12px;bottom:12px;z-index:5;width:300px;max-width:calc(100% - 24px);padding:12px;border:1.5px solid var(--amber);border-radius:0;background:#fffdf6f7;display:flex;flex-direction:column;gap:7px;box-shadow:4px 6px 16px #26241e40}.fm-h{color:var(--amber-deep);font-weight:700;font-size:12.5px;letter-spacing:.1em}.fm-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink)}.fm-row .spacer{flex:1}.fm-lv{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fm-lv .mini-chip.on.track{background:var(--orange);border-color:var(--orange);color:#fffdf6}.fm-note{font-size:10px}.fm-btns{display:flex;gap:8px;margin-top:2px}.fm-btns .primary-apply{flex:1}.fm-err{color:var(--red);font-size:11px}.fm-empty{padding:4px 0}.fm-funnels{display:flex;gap:18px;margin-top:6px}.rack{background:var(--rack);margin:12px 12px 0 0;padding:10px 12px 8px;max-height:44%;overflow-y:auto;scrollbar-color:#55524a var(--rack)}.rack::-webkit-scrollbar-thumb{background:#55524a}.rhead{display:flex;justify-content:space-between;color:#cfc8b8;font-size:9.5px;letter-spacing:.24em;margin-bottom:8px}.strip{background:var(--strip, #FAF8F2);border-left:4px solid var(--ink);padding:5px 9px 5px 10px;margin-bottom:5px;box-shadow:0 0 0 1px #171613,0 2px #171613;animation:stripIn .5s ease-out}.strip:last-child{margin-bottom:0}@keyframes stripIn{0%{background:#f3e3b9}to{background:#faf8f2}}.strip .r1{display:flex;justify-content:space-between;align-items:baseline}.strip .id{font-size:15px;font-weight:700}.strip .eta{font-size:11.5px;font-weight:700;color:var(--red)}.strip .r2{display:flex;gap:10px;font-size:10.5px;color:var(--ink-2);margin-top:1px;align-items:baseline}.strip .r2 b{font-weight:700}.strip.r{border-left-color:var(--red)}.strip.y{border-left-color:var(--patrol)}.strip.y .eta,.strip.y .r2 b{color:var(--patrol-deep)}.strip.r .r2 b{color:var(--red-ink)}.strip.dim{border-left-color:#8f897b;opacity:.62}.strip .stamp{font-style:normal;border:1px solid var(--red);color:var(--red);font-size:9px;padding:0 4px;transform:rotate(-3deg);display:inline-block}.m-rack-slot{padding:2px 0 6px}.m-rack-slot .rack{margin:0}.bar.v2{height:auto;flex-direction:column;padding:0 20px;padding-top:env(safe-area-inset-top,0px)}.bar.v2 .bar-top{display:flex;align-items:center;gap:22px;min-height:calc(70px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.brand-blk{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.brand-sub{font-size:11px;color:var(--faint);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clock{display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--line);padding-left:20px}.clock .k{font-size:9.5px;letter-spacing:.3em;color:var(--faint)}.clock .big{font-size:44px;font-weight:700;line-height:.9;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.bar.v2 .stats{display:flex;border-left:1px solid var(--line)}.bar.v2 .stat{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:0 16px;border-left:1px solid var(--line)}.bar.v2 .stat:first-child{border-left:none}.bar.v2 .stat b{font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.bar.v2 .stat b em{font-style:normal;font-size:14px;color:var(--ink-2)}.bar.v2 .stat span{font-size:10px;letter-spacing:.22em;color:var(--faint)}.bar.v2 .stat.alert b{color:var(--red)}.bar.v2 .sq{display:inline-block;width:7px;height:7px;margin-right:5px}.sq.r{background:var(--red)}.sq.b{background:var(--blue)}.sq.g{background:var(--green)}.sq.k{background:var(--ink)}.bar-chain{display:flex;align-items:center;gap:7px;height:30px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-2)}.bar-chain .lab{font-size:9.5px;letter-spacing:.3em;color:var(--faint);margin-right:4px}.bar-chain .step{display:flex;align-items:center;gap:5px;padding:1px 6px}.bar-chain .step i{font-style:normal;font-size:9px;width:14px;height:14px;border:1px solid var(--ink);display:grid;place-items:center}.bar-chain .step.done i{background:var(--ink);color:var(--paper-2)}.bar-chain .step.cur{background:var(--ink);color:var(--paper-2);font-weight:700}.bar-chain .step.cur i{border-color:var(--paper-2)}.bar-chain .arr{color:var(--line)}.bar-chain .meta{margin-left:auto;font-size:10.5px;letter-spacing:.1em;color:var(--faint)}.compact .bar.v2 .bar-top{min-height:52px;gap:12px}.compact .clock .big{font-size:32px}.compact .bar.v2 .stat b{font-size:19px}.compact .bar.v2 .stat{padding:0 9px}.compact .bar-chain{height:26px}.compact .bar-chain .step:not(.cur):not(.done){display:none}.map-legend{position:absolute;top:44px;left:14px;z-index:4;width:186px;background:#faf8f2f0;border:1px solid var(--ink);padding:7px 10px 8px;font-size:10.5px;line-height:1.85;color:var(--ink-2);pointer-events:none}.map-legend h5{font-size:9.5px;font-weight:700;letter-spacing:.3em;display:flex;justify-content:space-between;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:3px;margin-bottom:3px}.map-legend .lr{display:flex;align-items:center;white-space:nowrap}.map-legend .sy{width:22px;display:grid;place-items:center;font-size:12px;flex:none}.map-legend .sy.r{color:var(--red)}.map-legend .sy.b{color:var(--blue)}.map-legend .sy.g{color:var(--green)}.map-legend .gl{width:16px;border-top:2px dashed var(--pair)}.map-legend .rc{width:11px;height:11px;border:1.3px dashed var(--brown);border-radius:50%}.compact .map-legend{display:none}.tl-ph{position:absolute;top:6px;bottom:4px;width:2.5px;background:var(--red);pointer-events:none}.tl-ph b{position:absolute;top:-4px;left:7px;font-size:11px;color:var(--red);font-weight:700;white-space:nowrap}.cmdlog{max-height:264px;overflow-y:auto;border:1px solid var(--line);background:#fffdf6;padding:4px 10px}.cl-row{padding:6px 0 5px;border-bottom:1px dashed var(--line)}.cl-row:last-child{border-bottom:0}.cl-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.cl-head b{font-size:13px;font-weight:700}.cl-tag{border:1.2px solid var(--green);color:var(--green);font-size:10.5px;padding:0 6px;white-space:nowrap}.cl-tag.decoy{border-color:var(--amber);color:var(--amber-deep)}.cl-tag.none{border-color:var(--brown);color:var(--ink-2)}.cl-tag.patrol{border-color:var(--patrol);color:var(--patrol-deep)}.cl-tag.fault{border-color:var(--red);color:var(--red)}.cl-line{margin-top:3px;font-size:11px;color:var(--ink-2);line-height:1.8}.cl-cmd{white-space:nowrap;margin-right:10px}.cl-cmd em{font-style:normal;font-size:9.5px;border:1px solid var(--red);color:var(--red);padding:0 3px;margin-right:4px}.cl-cmd em.cl-upd{border-color:var(--line);color:var(--faint)}.launch{display:flex;align-items:center;gap:14px;border-top:1px dashed var(--line);padding-top:12px}.launch .go{min-width:232px;height:46px;flex:none}.launch-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.launch-side.ta-r{text-align:right;align-items:flex-end}.launch-side b{font-size:13px;letter-spacing:.04em}.launch-side .sub{font-size:10.5px;color:var(--ink-2);letter-spacing:.04em}.events,.m-pane{position:relative}.ev-new{position:absolute;left:50%;transform:translate(-50%);bottom:12px;z-index:6;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--paper-2);color:var(--red);border:1.4px solid var(--red);font-size:12px;font-weight:700;letter-spacing:.1em;box-shadow:2px 3px 10px #26241e47}.ev-new:hover{background:#fffdf6;border-color:var(--red-ink)}.trace-final-summary{padding-top:0}.trace-final-head{display:flex;align-items:center;gap:12px}.trace-final-head h4{flex:1;margin:10px 0 6px}.trace-final-head .op-btn{min-width:0;flex:none;height:32px;font-size:11px}.trace-final-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:240px;overflow-y:auto;padding:2px}.trace-final-chit{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;padding:7px 9px;text-align:left;letter-spacing:0;background:#fffdf6;border:1px solid var(--line);border-left:4px solid var(--red)}.trace-final-chit.patrol{border-left-color:var(--patrol)}.trace-final-line{display:flex;align-items:baseline;justify-content:space-between;gap:7px}.trace-final-line b{font-size:14px}.trace-final-line span{color:var(--brown);font-size:9.5px}.trace-final-latest,.trace-final-state{color:var(--ink-2);font-size:10.5px;overflow-wrap:anywhere}.trace-final-proof{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:6px 2px 0;color:var(--faint);font-size:9.5px}.trace-state{display:flex;align-items:center;justify-content:center;gap:12px;min-height:92px;padding:18px;color:var(--ink-2);text-align:center}.trace-error{color:var(--red-ink);flex-wrap:wrap}.command-trace-page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);background-color:var(--paper);background-image:repeating-linear-gradient(0deg,rgba(107,91,68,.045) 0 1px,transparent 1px 90px),repeating-linear-gradient(90deg,rgba(107,91,68,.045) 0 1px,transparent 1px 90px)}.trace-top{height:64px;flex:0 0 64px;display:flex;align-items:stretch;border-bottom:1.5px solid var(--ink);background:#f6f1e4f7}.trace-brand{width:224px;flex:0 0 224px;padding:11px 16px;border-right:1.5px solid var(--ink)}.trace-brand b{display:block;font-size:15px;letter-spacing:.2em;white-space:nowrap}.trace-brand span{display:block;margin-top:2px;font:9px var(--mono);color:var(--brown);letter-spacing:.1em;white-space:nowrap}.trace-run{flex:1;min-width:0;display:flex;align-items:center;gap:18px;padding:0 20px}.trace-run .name{font-size:16px;font-weight:700;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-run .meta{margin-top:3px;color:var(--ink-2);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-legacy{flex:none;border:1px solid var(--brown);padding:2px 7px;color:var(--brown);font-size:10px;letter-spacing:.1em}.trace-back{border:0;border-left:1px solid var(--brown);background:var(--ink);color:var(--paper-2);font-weight:700;letter-spacing:.1em}.trace-back:hover{background:#3a372e}.trace-top>.trace-back:first-child{display:none}.trace-back-desktop{flex:0 0 auto;padding:0 20px}.trace-summary{height:58px;flex:0 0 58px;display:grid;grid-template-columns:1.25fr repeat(4,1fr);border-bottom:1px solid var(--ink);background:#faf8f2c2}.trace-summary .cell{min-width:0;display:flex;align-items:center;gap:9px;padding:0 16px;color:var(--ink-2);font-size:10.5px}.trace-summary .cell+.cell{border-left:1px solid var(--line)}.trace-summary .cell b{color:var(--ink);font-size:15px;white-space:nowrap}.trace-summary .cell.selected b{color:var(--blue);font-size:18px}.trace-workspace{flex:1;min-height:0;display:grid;grid-template-columns:224px 316px minmax(0,1fr)}.trace-rack{min-height:0;overflow-y:auto;padding:12px 11px;background:var(--rack)}.trace-rack-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px 10px;color:#cfc8b8}.trace-rack-head b{font-size:11px;letter-spacing:.2em}.trace-rack-head span{font-size:10px}.trace-rack-note{border-top:1px solid rgba(207,200,184,.25);padding:9px 2px 10px;color:#cfc8b8;font-size:10px}.trace-rack-strip{position:relative;display:block;width:100%;margin:0 0 8px;padding:8px 9px 7px;text-align:left;letter-spacing:0;color:var(--ink);background:#faf8f2;border:0;border-left:4px solid var(--red);box-shadow:0 0 0 1px #171613,0 2px #171613}.trace-rack-strip:hover{background:#fffdf6}.trace-rack-strip.patrol{border-left-color:var(--patrol)}.trace-rack-strip.fault{border-left-color:#8f897b;opacity:.74}.trace-rack-strip.active{outline:2px solid #fffdf6;outline-offset:2px}.trace-rack-strip .r1{display:flex;align-items:baseline;gap:7px}.trace-rack-strip .id{font-size:15px}.trace-rack-strip .mode{font-size:9px;letter-spacing:.04em}.trace-rack-strip .state{margin-left:auto;color:var(--green);font-size:10px;font-weight:700}.trace-rack-strip.fault .state{color:var(--red-ink)}.trace-rack-strip .target{display:block;margin-top:4px;color:var(--ink-2);font-size:10.5px;overflow-wrap:anywhere}.trace-rack-strip .count{display:block;margin-top:5px;padding-top:4px;border-top:1px dashed var(--line);color:var(--faint);font-size:9.5px}.trace-rack-state{padding:16px 4px;color:#cfc8b8;font-size:11px;line-height:1.7}.trace-commands-panel{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1.5px solid var(--ink);background:#f6f1e4e6}.trace-commands-head{padding:13px 13px 10px;border-bottom:1px solid var(--ink)}.trace-commands-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.trace-commands-title b{font-size:12px;letter-spacing:.2em}.trace-commands-title span{color:var(--faint);font-size:10px}.trace-commands-head .seg{margin-top:10px}.trace-commands-head .seg button{flex:1}.trace-filter-note{margin-top:7px;color:var(--faint);font-size:10px}.trace-command-list{flex:1;min-height:0;overflow-y:auto;padding:8px}.trace-command{display:flex;flex-direction:column;align-items:stretch;width:100%;margin:0 0 7px;padding:8px 9px;text-align:left;letter-spacing:0;color:var(--ink);background:#faf8f2c7;border:1px solid var(--line-soft);border-left:4px solid var(--red)}.trace-command.patrol{border-left-color:var(--patrol)}.trace-command.kill{border-left-color:var(--green)}.trace-command.active{background:#fffdf6;border-top-color:var(--ink);border-right-color:var(--ink);border-bottom-color:var(--ink)}.trace-command-top{display:flex;align-items:center;gap:8px;font-size:10px}.trace-command-top time{color:var(--red-ink);font-size:12px;font-weight:700}.trace-command.patrol .trace-command-top time{color:var(--patrol-deep)}.trace-command.kill .trace-command-top time{color:var(--green)}.trace-command-top>span:last-child{color:var(--faint);font-size:9px}.trace-command-title{margin-top:4px;font-size:12px;font-weight:700;overflow-wrap:anywhere}.trace-command-meta{margin-top:3px;color:var(--ink-2);font-size:10.5px;overflow-wrap:anywhere}.trace-command-outcome{margin-top:5px;padding-top:4px;border-top:1px dashed var(--line);color:var(--green);font-size:10px}.trace-neighbors{display:flex;gap:8px;padding:0 10px 9px}.trace-neighbors button{flex:1;color:var(--blue)}.trace-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--ink);color:var(--ink-2);font-size:9.5px}.trace-pager button{padding:5px 8px;font-size:10px}.trace-pager span{text-align:center}.trace-evidence{min-width:0;min-height:0;overflow-y:auto;background:#faf8f2d6}.trace-evidence-head{display:flex;align-items:flex-start;gap:12px;padding:16px 20px 13px}.trace-evidence-head h1{margin:0;font-size:20px;line-height:1.25;letter-spacing:.03em}.trace-evidence-head p{margin:4px 0 0;color:var(--ink-2);font-size:10.5px}.trace-badges{margin-left:auto;display:flex;gap:6px;flex:none;flex-wrap:wrap}.trace-source{display:inline-flex;align-items:center;width:fit-content;padding:2px 6px;border:1px solid var(--brown);color:var(--brown);background:#faf8f299;font:9.5px/1.5 var(--sans);white-space:nowrap}.trace-source.raw{color:var(--blue);border-color:var(--blue)}.trace-source.derived{color:var(--amber-deep);border-color:var(--amber-deep)}.trace-source.missing{color:var(--red-ink);border-color:var(--red-ink)}.trace-source.unmarked{color:var(--faint);border-color:var(--line)}.trace-map{position:relative;height:218px;margin:0 20px 14px;overflow:hidden;border:1.3px solid var(--ink);background:var(--paper)}.trace-map svg{display:block;width:100%;height:100%}.trace-map-caption{position:absolute;z-index:1;top:8px;left:12px;color:var(--brown);font-size:9.5px;letter-spacing:.08em;pointer-events:none}.trace-map-legend{position:absolute;right:9px;bottom:7px;padding:4px 7px;border:1px solid var(--line);background:#faf8f2f0;color:var(--ink-2);font-size:9px}.trace-map-point text{font-family:var(--mono);pointer-events:none}.trace-map-empty{display:grid;place-items:center}.trace-section{padding:15px 20px 16px;border-top:1.5px solid var(--ink)}.trace-section h2{display:flex;align-items:baseline;gap:9px;margin:0 0 10px;font-size:12px;letter-spacing:.16em}.trace-section h2 .n{color:var(--brown);font-size:11px;letter-spacing:0}.trace-section h2 .trace-source{margin-left:auto;letter-spacing:0}.trace-section h3{margin:0 0 7px;color:var(--ink-2);font-size:11px}.trace-missing{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;border:1px dashed var(--line);color:var(--faint);font-size:11px}.trace-data{margin:0;border:1px solid var(--line);background:#fffdf673}.trace-data-row{display:grid;grid-template-columns:minmax(120px,.34fr) minmax(0,1fr)}.trace-data-row+.trace-data-row{border-top:1px solid var(--line-soft)}.trace-data-row dt,.trace-data-row dd{margin:0;padding:6px 8px;overflow-wrap:anywhere}.trace-data-row dt{color:var(--faint);font-size:10px;border-right:1px solid var(--line-soft)}.trace-data-row dd{color:var(--ink-2);font-size:11px;min-width:0}.trace-data-row dd>.trace-data{border:0}.trace-data-list{display:grid;gap:5px}.trace-data-index{display:grid;grid-template-columns:32px minmax(0,1fr);gap:5px}.trace-data-index>span{color:var(--faint);font-size:10px}.trace-value{overflow-wrap:anywhere;white-space:pre-wrap}.trace-stage{margin-bottom:12px}.trace-stage+.trace-stage{padding-top:10px;border-top:1px dashed var(--brown)}.trace-candidates{margin-top:12px}.trace-candidate-note{margin-bottom:6px;color:var(--faint);font-size:10px}.trace-table-scroll{max-width:100%;overflow-x:auto}.trace-table-scroll table{width:100%;border-collapse:collapse;font-size:10.5px}.trace-candidate-table th:first-child,.trace-candidate-table td:first-child{min-width:150px}.trace-candidate-table th:nth-child(2),.trace-candidate-table td:nth-child(2){min-width:140px}.trace-candidate-table th,.trace-candidate-table td{white-space:nowrap}.trace-table-scroll th{padding:5px 7px;border-bottom:1px solid var(--brown);color:var(--faint);text-align:left;font-weight:500;letter-spacing:.05em;white-space:nowrap}.trace-table-scroll td{padding:6px 7px;border-bottom:1px solid var(--line-soft);color:var(--ink-2);vertical-align:top;overflow-wrap:anywhere}.trace-table-scroll tr.selected{background:#2b4c8c12}.trace-table-scroll tr.selected td{color:var(--ink)}.trace-table-scroll .pass{color:var(--green);font-weight:700}.trace-section details{margin-top:9px}.trace-section summary{min-height:32px;display:flex;align-items:center;color:var(--blue);cursor:pointer;font-size:11px;font-weight:700}.trace-section details>*:not(summary){margin-top:8px}.trace-issued{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ink)}.trace-issued>div{min-width:0;padding:8px 10px;border-bottom:1px solid var(--line)}.trace-issued>div:not(:nth-child(3n+1)){border-left:1px solid var(--line)}.trace-issued>div:nth-last-child(-n+3){border-bottom:0}.trace-issued span{display:block;color:var(--faint);font-size:9px}.trace-issued b{display:block;margin-top:2px;font-size:11px;overflow-wrap:anywhere}.trace-json{max-height:340px;overflow:auto;margin-bottom:0;padding:10px;border:1px solid var(--line-soft);background:var(--paper-3);font:10.5px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.trace-result-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;padding:8px 10px;border:1.3px solid var(--green);background:#3f7a4512}.trace-result-banner b{color:var(--green);letter-spacing:.05em}.trace-result-banner span{color:var(--ink-2);font-size:10.5px}.trace-result-grid{display:grid;grid-template-columns:1fr 1fr;margin-bottom:10px;border:1px solid var(--line)}.trace-result-grid>div{min-width:0;padding:7px 9px;border-bottom:1px solid var(--line)}.trace-result-grid>div:nth-child(2n){border-left:1px solid var(--line)}.trace-result-grid>div:nth-last-child(-n+2){border-bottom:0}.trace-result-grid span{display:block;color:var(--faint);font-size:9px}.trace-result-grid b{display:block;margin-top:2px;font-size:11px;overflow-wrap:anywhere}.trace-position-table td{padding:0}.trace-coordinate{display:grid;grid-template-columns:72px minmax(100px,1fr) minmax(150px,1.3fr) auto;align-items:center;gap:7px;width:100%;min-height:36px;padding:5px 7px;border:0;background:transparent;text-align:left;letter-spacing:0;font-size:10.5px}.trace-coordinate:hover{background:#2b4c8c0f}.trace-source-footer{padding:12px 20px 20px;border-top:1px dashed var(--brown);color:var(--faint);font-size:9.5px;line-height:1.8}.trace-bottom{display:none}@media(max-width:1200px)and (min-width:769px){.trace-workspace{grid-template-columns:190px 276px minmax(0,1fr)}.trace-brand{width:190px;flex-basis:190px;padding-left:12px}.trace-brand b{font-size:13px}.trace-brand span{font-size:8px}.trace-summary .cell{padding:0 10px}}.command-trace-page.mobile .trace-top{height:calc(56px + env(safe-area-inset-top,0px));flex-basis:calc(56px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.command-trace-page.mobile .trace-top>.trace-back:first-child{display:grid;place-items:center;width:64px;flex:0 0 64px;padding:0;border-left:0;border-right:1px solid var(--brown);font-size:11px}.command-trace-page.mobile .trace-back-desktop{display:none}.command-trace-page.mobile .trace-brand{flex:1;width:auto;min-width:0;padding:9px 10px;border-right:0}.command-trace-page.mobile .trace-brand b{font-size:14px;letter-spacing:.1em}.command-trace-page.mobile .trace-brand span{display:none}.command-trace-page.mobile .trace-run{flex:0 1 112px;padding:0 8px 0 0}.command-trace-page.mobile .trace-run .name,.command-trace-page.mobile .trace-legacy{display:none}.command-trace-page.mobile .trace-run .meta{font-size:8px;white-space:normal;overflow-wrap:anywhere}.command-trace-page.mobile .trace-summary{height:40px;flex-basis:40px;display:flex;overflow-x:auto;overflow-y:hidden}.command-trace-page.mobile .trace-summary .cell{flex:0 0 132px;gap:6px;padding:3px 8px;font-size:9px;line-height:1.35}.command-trace-page.mobile .trace-summary .cell b{font-size:12px}.command-trace-page.mobile .trace-summary .cell.selected b{font-size:14px}.command-trace-page.mobile .trace-workspace{display:block;min-height:0;overflow-x:hidden;overflow-y:auto;scroll-padding-bottom:24px}.command-trace-page.mobile .trace-rack{overflow:visible;padding:10px 10px 11px}.command-trace-page.mobile .trace-rack-head{padding-bottom:8px}.command-trace-page.mobile .trace-rack-note{display:none}.command-trace-page.mobile .trace-rack-items{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px}.command-trace-page.mobile .trace-rack-strip{flex:0 0 154px;width:154px;min-height:76px;margin:0;padding:7px 9px}.command-trace-page.mobile .trace-rack-strip .count{font-size:9px}.command-trace-page.mobile .trace-commands-panel{border-right:0;border-bottom:1.5px solid var(--ink)}.command-trace-page.mobile .trace-commands-head{padding:10px 11px}.command-trace-page.mobile .trace-commands-title b{font-size:11px}.command-trace-page.mobile .trace-command-list{flex:none;overflow:visible;padding:8px 10px}.command-trace-page.mobile .trace-command{margin:0;padding:9px 10px;background:#fffdf6}.command-trace-page.mobile .trace-command-title{font-size:15px}.command-trace-page.mobile .trace-pager{flex-wrap:wrap}.command-trace-page.mobile .trace-pager span{order:-1;flex:0 0 100%}.command-trace-page.mobile .trace-pager button{flex:1}.command-trace-page.mobile .trace-evidence{overflow:visible}.command-trace-page.mobile .trace-evidence-head{padding:13px 12px 11px;flex-wrap:wrap}.command-trace-page.mobile .trace-evidence-head h1{font-size:16px}.command-trace-page.mobile .trace-badges{margin-left:0}.command-trace-page.mobile .trace-map{height:190px;margin:0 0 12px;border-left:0;border-right:0}.command-trace-page.mobile .trace-map-legend{left:8px;right:8px;text-align:center}.command-trace-page.mobile .trace-section{padding:14px 12px 15px}.command-trace-page.mobile .trace-section h2{letter-spacing:.1em;flex-wrap:wrap}.command-trace-page.mobile .trace-section h2 .trace-source{margin-left:0}.command-trace-page.mobile .trace-data-row{grid-template-columns:minmax(84px,.36fr) minmax(0,1fr)}.command-trace-page.mobile .trace-data-row dt,.command-trace-page.mobile .trace-data-row dd{padding:6px;font-size:10.5px}.command-trace-page.mobile .trace-issued{grid-template-columns:1fr 1fr}.command-trace-page.mobile .trace-issued>div{padding:7px 8px}.command-trace-page.mobile .trace-issued>div:not(:nth-child(3n+1)){border-left:0}.command-trace-page.mobile .trace-issued>div:nth-child(2n){border-left:1px solid var(--line)}.command-trace-page.mobile .trace-issued>div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.command-trace-page.mobile .trace-issued>div:nth-last-child(-n+2){border-bottom:0}.command-trace-page.mobile .trace-result-grid b{font-size:10px}.command-trace-page.mobile .trace-position-table thead{display:none}.command-trace-page.mobile .trace-position-table td{display:block}.command-trace-page.mobile .trace-coordinate{grid-template-columns:64px minmax(0,1fr);gap:4px 7px;padding:7px 5px}.command-trace-page.mobile .trace-coordinate>:nth-child(3),.command-trace-page.mobile .trace-coordinate>:last-child{grid-column:1 / -1}.command-trace-page.mobile .trace-source-footer{padding:12px 12px 22px}.command-trace-page.mobile .trace-bottom{display:flex;flex:0 0 auto;min-height:calc(56px + env(safe-area-inset-bottom,0px));padding:0 max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px));border-top:1.5px solid var(--ink);background:var(--paper-2)}.command-trace-page.mobile .trace-bottom button{flex:1;min-height:44px;border:0}.command-trace-page.mobile .trace-bottom button+button{border-left:1px solid var(--line)}.command-trace-page.mobile button,.command-trace-page.mobile summary{min-height:44px}.command-trace-page.mobile .trace-state{min-height:72px}.modal.final.sheet .trace-final-head{align-items:stretch;flex-direction:column;gap:6px}.modal.final.sheet .trace-final-head .op-btn{width:100%;min-height:44px}.modal.final.sheet .trace-final-list{grid-template-columns:1fr;max-height:300px}.modal.final.sheet .trace-final-chit{min-height:44px}.modal.final.sheet .trace-final-proof{flex-direction:column;gap:3px}
