:root{--bg0: #08090b;--bg1: #0d0f12;--bg2: #12151a;--bg3: #181c22;--bg4: #1e232b;--line: #232830;--line2: #2e3540;--tx: #c7ccd3;--tx-dim: #848c96;--tx-faint: #575f69;--sig: #c19a5b;--sig-bright: #dcb878;--sig-dim: rgba(193, 154, 91, .14);--red: #b4453f;--red-dim: rgba(180, 69, 63, .12);--ok: #7da184;--sans: "Inter", -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg0);color:var(--tx);font-family:var(--sans);font-size:14px;line-height:1.5;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@supports (height: 100dvh){html,body,#root{height:100dvh}}::selection{background:#c19a5b40}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line2);border-radius:0}::-webkit-scrollbar-thumb:hover{background:#3a424e}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer}input{font-family:var(--mono);color:var(--tx);background:none;border:none;outline:none}.mono{font-family:var(--mono)}.fx-grain:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:400;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}.fx-vignette:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:399;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.42) 100%)}.coldopen{height:100%;display:flex;align-items:center;justify-content:center;background:#000;cursor:pointer}.cursor-blink{display:inline-block;width:9px;height:18px;background:var(--tx-dim);animation:blink 1.06s steps(1) infinite;vertical-align:-3px}@keyframes blink{50%{opacity:0}}.boot{height:100%;background:#000;padding:12vh 10vw;font-family:var(--mono);font-size:13px;color:var(--tx-dim);overflow:hidden}.boot-line{white-space:pre;min-height:20px;letter-spacing:.02em}.boot-line.hl{color:var(--tx)}.boot-line.sig{color:var(--sig)}.boot-line.warn{color:var(--red)}.boot-title{margin-top:40px;font-family:var(--sans);font-size:42px;font-weight:700;letter-spacing:.34em;color:var(--tx);animation:bootTitle 1.4s cubic-bezier(.2,.7,.2,1) both}@keyframes bootTitle{0%{opacity:0;letter-spacing:.6em;filter:blur(6px)}to{opacity:1;letter-spacing:.34em;filter:blur(0)}}.boot-sub{color:var(--tx-faint);letter-spacing:.28em;font-size:11px;margin-top:6px}.audio-gate{margin-top:56px;display:flex;gap:14px;animation:fadeUp .5s .3s both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.btn{font-family:var(--mono);font-size:12px;letter-spacing:.18em;padding:11px 22px;border:1px solid var(--line2);color:var(--tx-dim);background:#ffffff04;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.btn:hover{border-color:var(--sig);color:var(--tx);background:var(--sig-dim)}.btn.primary{border-color:var(--sig);color:var(--sig-bright)}.btn.primary:hover{background:var(--sig-dim)}.btn.danger:hover{border-color:var(--red);color:var(--red);background:var(--red-dim)}.btn:disabled{opacity:.35;cursor:default}.btn:disabled:hover{border-color:var(--line2);color:var(--tx-dim);background:#ffffff04}.menu{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#000}.menu h1{font-size:30px;letter-spacing:.4em;font-weight:700;margin-bottom:4px}.menu .sub{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--tx-faint);margin-bottom:42px}.menu .btn{width:280px;text-align:center}.shell{height:100%;display:grid;grid-template-columns:176px 1fr;grid-template-rows:44px 1fr 26px;grid-template-areas:"top top" "rail main" "status status";background:var(--bg0);animation:shellIn .7s cubic-bezier(.2,.7,.2,1) both}@keyframes shellIn{0%{opacity:0}to{opacity:1}}.topbar{grid-area:top;display:flex;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg1);font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--tx-dim)}.topbar .brand{color:var(--tx);font-weight:600;letter-spacing:.3em;font-size:12px}.topbar .sep{width:1px;height:16px;background:var(--line2)}.topbar .grow{flex:1}.topbar .iconbtn{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--tx-faint);padding:5px 10px;border:1px solid transparent;white-space:nowrap}.topbar .iconbtn:hover{color:var(--tx);border-color:var(--line2)}.timer{font-size:15px;letter-spacing:.12em;color:var(--tx);font-variant-numeric:tabular-nums}.timer.low{color:var(--red);animation:timerPulse 1s steps(2) infinite}.timer.overtime{color:var(--red)}@keyframes timerPulse{50%{opacity:.55}}.timer-label{font-size:9px;color:var(--tx-faint);letter-spacing:.2em}.rail{grid-area:rail;border-right:1px solid var(--line);background:var(--bg1);padding:14px 0;display:flex;flex-direction:column;gap:2px}.rail-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--tx-dim);border-left:2px solid transparent;text-align:left;position:relative;transition:color .12s,background .12s}.rail-item:hover{color:var(--tx);background:#ffffff05}.rail-item.active{color:var(--sig-bright);border-left-color:var(--sig);background:linear-gradient(90deg,var(--sig-dim),transparent 80%)}.rail-item.locked{color:var(--tx-faint);cursor:default}.rail-item.locked:hover{background:none;color:var(--tx-faint)}.rail-item .glyph{width:14px;text-align:center;font-size:12px;opacity:.9}.rail-badge{position:absolute;right:12px;min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center;background:var(--sig);color:#0a0b0d;font-size:10px;font-weight:700;letter-spacing:0;border-radius:1px;animation:badgeIn .25s cubic-bezier(.2,.9,.3,1.2) both}@keyframes badgeIn{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.rail-new{position:absolute;right:14px;width:5px;height:5px;background:var(--sig);border-radius:50%}.rail-footer{margin-top:auto;padding:12px 16px;font-family:var(--mono);font-size:9px;color:var(--tx-faint);letter-spacing:.12em;line-height:1.8}.main{grid-area:main;min-width:0;min-height:0;overflow:hidden;position:relative;background:var(--bg0)}.module-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;animation:modIn .28s cubic-bezier(.2,.8,.2,1) both}@keyframes modIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.statusbar{grid-area:status;display:flex;align-items:center;gap:24px;padding:0 16px;border-top:1px solid var(--line);background:var(--bg1);font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--tx-faint);white-space:nowrap;overflow:hidden}.statusbar .live{color:var(--sig)}.ticker{overflow:hidden;flex:1;position:relative;height:100%;display:flex;align-items:center}.ticker-inner{color:var(--tx-faint);animation:fadeUp .4s both}.mod-header{display:flex;align-items:baseline;gap:14px;padding:18px 24px 12px;border-bottom:1px solid var(--line)}.mod-title{font-size:16px;font-weight:600;letter-spacing:.26em}.mod-sub{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--tx-faint)}.mod-body{flex:1;min-height:0;display:flex}.empty-note{margin:auto;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--tx-faint);text-align:center;line-height:2.2}.signal{display:flex;flex:1;min-height:0}.chan-list{width:190px;border-right:1px solid var(--line);padding:10px 0;overflow-y:auto}.chan{width:100%;text-align:left;padding:12px 16px;display:flex;flex-direction:column;gap:2px;border-left:2px solid transparent}.chan:hover{background:#ffffff05}.chan.active{border-left-color:var(--sig);background:linear-gradient(90deg,var(--sig-dim),transparent)}.chan-name{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--tx);display:flex;justify-content:space-between;align-items:center}.chan-status{font-size:10px;color:var(--tx-faint);letter-spacing:.08em;font-family:var(--mono)}.chan-unread{background:var(--sig);color:#0a0b0d;font-size:9px;font-weight:700;min-width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;border-radius:1px}.thread{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.thread-scroll{flex:1;overflow-y:auto;padding:22px 28px;display:flex;flex-direction:column;gap:14px}.msg{max-width:68%;animation:msgIn .3s cubic-bezier(.2,.8,.2,1) both}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.msg .msg-from{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:var(--tx-faint);margin-bottom:4px}.msg .msg-body{padding:10px 14px;background:var(--bg2);border:1px solid var(--line);font-size:13.5px;line-height:1.55;white-space:pre-wrap}.msg.in .msg-body{border-left:2px solid var(--sig)}.msg.out{align-self:flex-end}.msg.out .msg-body{background:var(--bg3);border-right:2px solid var(--line2)}.msg.out .msg-from{text-align:right}.msg.sys{align-self:center;max-width:90%}.msg.sys .msg-body{background:none;border:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--tx-faint);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-align:center;padding:6px 18px}.typing{align-self:flex-start;font-family:var(--mono);font-size:10px;color:var(--tx-faint);letter-spacing:.2em;padding:4px 0;animation:blinkSoft 1.2s ease infinite}@keyframes blinkSoft{50%{opacity:.35}}.choices{border-top:1px solid var(--line);padding:14px 24px 18px;display:flex;flex-direction:column;gap:8px;background:var(--bg1)}.choices .prompt{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--tx-faint);margin-bottom:4px}.choice-btn{text-align:left;padding:10px 14px;border:1px solid var(--line2);font-size:13px;color:var(--tx);background:var(--bg2);transition:border-color .12s,background .12s}.choice-btn:hover{border-color:var(--sig);background:var(--sig-dim)}.choice-btn .pre{color:var(--sig);font-family:var(--mono);font-size:11px;margin-right:10px}.commit-panel{border-top:1px solid var(--sig);background:var(--bg1);padding:18px 24px 20px}.commit-panel h3{font-family:var(--mono);font-size:11px;letter-spacing:.26em;color:var(--sig);margin-bottom:12px}.commit-opt{display:block;width:100%;text-align:left;border:1px solid var(--line2);background:var(--bg2);padding:12px 16px;margin-bottom:8px;transition:border-color .12s,background .12s}.commit-opt:hover{border-color:var(--sig);background:var(--sig-dim)}.commit-opt.armed{border-color:var(--red);background:var(--red-dim)}.commit-opt .co-title{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--tx)}.commit-opt .co-desc{font-size:12px;color:var(--tx-dim);margin-top:3px}.files{display:flex;flex:1;min-height:0}.file-list{width:264px;border-right:1px solid var(--line);overflow-y:auto;padding:10px 0 24px}.file-group{font-family:var(--mono);font-size:9px;letter-spacing:.26em;color:var(--tx-faint);padding:14px 16px 6px}.file-item{width:100%;text-align:left;padding:8px 16px;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;color:var(--tx-dim);border-left:2px solid transparent}.file-item:hover{color:var(--tx);background:#ffffff05}.file-item.active{color:var(--tx);border-left-color:var(--sig);background:linear-gradient(90deg,var(--sig-dim),transparent)}.file-item .fk{font-size:9px;color:var(--tx-faint);letter-spacing:.1em;border:1px solid var(--line2);padding:0 4px}.file-item.unseen:after{content:"";width:5px;height:5px;background:var(--sig);border-radius:50%;margin-left:auto;flex-shrink:0}.file-item.locked{color:var(--tx-faint)}.doc-pane{flex:1;min-width:0;overflow-y:auto}.doc{max-width:760px;margin:28px auto 60px;background:var(--bg2);border:1px solid var(--line);padding:36px 44px 44px;animation:docIn .35s cubic-bezier(.2,.8,.2,1) both}@keyframes docIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.doc-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--sig);margin-bottom:8px}.doc h2{font-size:19px;font-weight:600;letter-spacing:.06em;margin-bottom:4px}.doc .doc-meta{font-family:var(--mono);font-size:10px;color:var(--tx-faint);letter-spacing:.12em;margin-bottom:26px}.doc-line{position:relative;padding:2px 0;font-size:13.5px;color:var(--tx)}.doc-line.dim{color:var(--tx-dim)}.doc-line.h{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;color:var(--tx-faint);margin:20px 0 6px}.doc-line.gap{height:10px}.doc-line.markable{cursor:pointer;padding-left:14px;margin-left:-14px;border-left:2px solid transparent;transition:background .1s,border-color .1s}.doc-line.markable:hover{background:#c19a5b0f;border-left-color:var(--line2)}.doc-line.marked{background:var(--sig-dim);border-left-color:var(--sig)}.doc-line.marked:after{content:"MARKED";font-family:var(--mono);font-size:8px;letter-spacing:.2em;color:var(--sig);margin-left:10px;vertical-align:1px}.mark-hint{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--tx-faint);margin-top:28px;border-top:1px solid var(--line);padding-top:12px}.imgview{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.imgstage{margin:24px auto 0;width:min(640px,calc(100% - 60px));aspect-ratio:4 / 3;background:#060708;border:1px solid var(--line);overflow:hidden;position:relative;cursor:zoom-in;flex-shrink:0}.imgstage.zoomed{cursor:zoom-out}.imgstage svg{width:100%;height:100%;display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.img-tag{position:absolute;left:10px;top:8px;font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:#c8cdd499;z-index:2;pointer-events:none}.img-meta{max-width:640px;width:calc(100% - 60px);margin:14px auto 40px}.hotspot-flash{position:absolute;border:1px solid var(--sig);box-shadow:0 0 0 1px #c19a5b4d;animation:hsFlash 1.4s ease both;pointer-events:none}@keyframes hsFlash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.zoom-note{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;color:var(--tx-faint);text-align:center;margin-top:8px}.audiolab{flex:1;display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:30px 20px 50px}.lab-box{width:min(620px,100%);background:var(--bg2);border:1px solid var(--line);padding:28px 34px 34px}.lab-box h3{font-family:var(--mono);font-size:11px;letter-spacing:.26em;color:var(--tx);margin-bottom:4px}.lab-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--tx-faint);margin-bottom:24px}.wave{width:100%;height:90px;background:#07080a;border:1px solid var(--line);margin-bottom:22px}.lab-row{display:flex;align-items:center;gap:16px;margin-bottom:18px}.lab-row label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--tx-dim);width:130px}.lab-row input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:var(--line2);outline:none}.lab-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--bg1);border:1px solid var(--sig);cursor:ew-resize}.lab-row .val{font-family:var(--mono);font-size:11px;color:var(--tx);width:76px;text-align:right;font-variant-numeric:tabular-nums}.lab-meter{display:flex;align-items:center;gap:12px;margin:6px 0 20px}.lab-meter .bar{flex:1;height:4px;background:var(--bg4);position:relative;overflow:hidden}.lab-meter .bar i{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;background:var(--sig);display:block;transition:transform .2s}.lab-meter span{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--tx-faint)}.lab-transcript{border-top:1px solid var(--line);padding-top:18px;font-family:var(--mono);font-size:12.5px;line-height:2;color:var(--tx-dim);min-height:80px;white-space:pre-wrap}.lab-transcript .locked-word{color:var(--sig-bright)}.lab-controls{display:flex;gap:10px;margin-bottom:22px}.terminal{flex:1;display:flex;flex-direction:column;min-height:0;background:#07080a}.term-scroll{flex:1;overflow-y:auto;padding:20px 24px 8px;font-family:var(--mono);font-size:12.5px;line-height:1.75}.term-line{white-space:pre-wrap;word-break:break-word;color:var(--tx-dim)}.term-line.cmd{color:var(--tx)}.term-line.cmd:before{content:"❯ ";color:var(--sig)}.term-line.out{color:var(--tx-dim)}.term-line.hl{color:var(--tx)}.term-line.sig{color:var(--sig)}.term-line.err{color:var(--red)}.term-line.ok{color:var(--ok)}.term-inputrow{display:flex;align-items:center;padding:10px 24px 18px;gap:10px;border-top:1px solid var(--line)}.term-prompt{font-family:var(--mono);font-size:12.5px;color:var(--sig)}.term-inputrow input{flex:1;font-size:12.5px;caret-color:var(--sig)}.term-hintbar{font-family:var(--mono);font-size:9.5px;color:var(--tx-faint);letter-spacing:.1em;padding:0 24px 12px}.gridmod{flex:1;display:flex;min-height:0}.map-wrap{flex:1;min-width:0;position:relative;background:#090b0e;overflow:hidden}.map-wrap svg{width:100%;height:100%;display:block}.map-side{width:300px;border-left:1px solid var(--line);overflow-y:auto;padding:18px 18px 30px}.side-h{font-family:var(--mono);font-size:9.5px;letter-spacing:.26em;color:var(--tx-faint);margin:16px 0 8px}.side-h:first-child{margin-top:0}.veh-card{border:1px solid var(--line);background:var(--bg2);padding:10px 12px;margin-bottom:8px}.veh-card .veh-id{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--tx);display:flex;justify-content:space-between}.veh-card .veh-desc{font-size:11.5px;color:var(--tx-dim);margin-top:3px}.veh-card .veh-state{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--sig)}.veh-card.committed{border-color:var(--sig)}.map-node-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;fill:var(--tx-dim)}.map-node-label.major{fill:var(--tx)}.route-line{fill:none;stroke:var(--line2);stroke-width:1.4}.route-line.hot{stroke:var(--sig);stroke-dasharray:5 7;animation:routeFlow 1.4s linear infinite}@keyframes routeFlow{to{stroke-dashoffset:-12}}.grid-commit{margin-top:10px}.grid-commit .btn{width:100%;text-align:center}.eye{flex:1;display:flex;min-height:0}.cam-grid{flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:1px;background:var(--line);padding:1px;overflow:hidden}.cam-cell{position:relative;background:#060708;overflow:hidden;min-height:0}.cam-cell canvas{width:100%;height:100%;display:block;object-fit:cover}.cam-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px)}.cam-label{position:absolute;left:10px;top:8px;right:96px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:#d2d6dcd9;text-shadow:0 1px 2px #000}.cam-ts{position:absolute;right:10px;top:8px;font-family:var(--mono);font-size:10px;color:#d2d6dcb3;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000}.cam-state{position:absolute;left:10px;bottom:8px;font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:var(--tx-faint)}.cam-state.rec{color:var(--red)}.cam-state.rec:before{content:"●";margin-right:6px;animation:blinkSoft 1.4s infinite}.eye-side{width:300px;border-left:1px solid var(--line);overflow-y:auto;padding:18px 18px 30px}.sight{border-left:2px solid var(--line2);padding:6px 10px;margin-bottom:10px}.sight .s-ts{font-family:var(--mono);font-size:9px;color:var(--tx-faint);letter-spacing:.12em}.sight .s-tx{font-size:12px;color:var(--tx-dim);margin-top:2px}.sight.hot{border-left-color:var(--sig)}.sight.hot .s-tx{color:var(--tx)}.archive{flex:1;overflow-y:auto;padding:26px 32px 50px}.arch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;max-width:1000px}.clue-card{border:1px solid var(--line);background:var(--bg2);padding:14px 16px;position:relative;animation:docIn .3s both}.clue-card .cl-id{font-family:var(--mono);font-size:9px;letter-spacing:.24em;color:var(--sig);margin-bottom:6px}.clue-card h4{font-size:13.5px;font-weight:600;margin-bottom:4px}.clue-card p{font-size:12px;color:var(--tx-dim)}.clue-card .pin-btn{position:absolute;top:10px;right:10px;font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;color:var(--tx-faint);border:1px solid var(--line2);padding:2px 7px}.clue-card .pin-btn:hover{color:var(--sig);border-color:var(--sig)}.clue-card.pinned{border-color:var(--sig)}.clue-card.pinned .pin-btn{color:var(--sig);border-color:var(--sig)}.frag-row{display:flex;gap:10px;margin:4px 0 26px;flex-wrap:wrap}.frag{font-family:var(--mono);font-size:13px;letter-spacing:.22em;border:1px solid var(--sig);color:var(--sig-bright);padding:8px 16px;background:var(--sig-dim)}.frag.unknown{border-color:var(--line2);color:var(--tx-faint);background:none}.bbmod{flex:1;overflow-y:auto;display:flex}.bb-inner{margin:auto;width:min(660px,calc(100% - 80px));padding:40px 0 60px}.bb-frame{border:1px solid var(--red);background:#b4453f0a;padding:34px 40px;animation:docIn .5s both}.bb-frame h2{font-family:var(--mono);font-size:13px;letter-spacing:.3em;color:var(--red);margin-bottom:22px}.bb-kv{display:grid;grid-template-columns:190px 1fr;gap:6px 18px;font-family:var(--mono);font-size:12px}.bb-kv dt{color:var(--tx-faint);letter-spacing:.1em}.bb-kv dd{color:var(--tx)}.bb-kv dd.red{color:var(--red)}.bb-kv dd.sig{color:var(--sig-bright)}.bb-note{margin-top:26px;border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:var(--tx-dim);line-height:1.7}.ending{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#000;display:flex;align-items:center;justify-content:center;animation:endFade 1.8s ease both}@keyframes endFade{0%{opacity:0}to{opacity:1}}.ending-inner{width:min(720px,calc(100% - 80px));font-family:var(--mono);font-size:14px;line-height:2.1;color:var(--tx-dim)}.ending-line{min-height:30px;white-space:pre-wrap}.ending-line.hl{color:var(--tx)}.ending-line.sig{color:var(--sig-bright)}.ending-line.red{color:var(--red)}.ending-line.big{font-family:var(--sans);font-size:26px;letter-spacing:.2em;font-weight:600;color:var(--tx);margin:18px 0}.del-bar{height:3px;background:var(--bg4);margin:22px 0;position:relative;overflow:hidden}.del-bar i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--red);transform-origin:left;display:block}.debrief{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--bg0);overflow-y:auto;animation:endFade 1.2s both}.debrief-inner{max-width:720px;margin:8vh auto 10vh;padding:0 30px}.debrief h1{font-size:24px;letter-spacing:.3em;font-weight:700;margin-bottom:6px}.debrief .d-sub{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--sig);margin-bottom:40px}.d-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:36px}.d-stat{border:1px solid var(--line);background:var(--bg2);padding:14px 16px}.d-stat .k{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:var(--tx-faint)}.d-stat .v{font-size:20px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}.d-findings{margin-bottom:40px}.d-findings h3{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:var(--tx-faint);margin-bottom:12px}.d-find{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.d-find .fd-name{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--sig);min-width:190px}.d-find.miss .fd-name,.d-find.miss{color:var(--tx-faint)}.d-actions{display:flex;gap:12px}.act-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:450;background:#000;pointer-events:none;animation:actFlash .9s ease both}@keyframes actFlash{0%{opacity:1}to{opacity:0}}@media (max-width: 900px) and (min-width: 761px){.shell{grid-template-columns:64px 1fr}.rail-item span.lbl{display:none}.map-side,.eye-side{width:230px}.chan-list{width:130px}}@media (hover: none){.doc-line.markable{border-left-color:var(--line2);background:#c19a5b0b}.lab-row input[type=range]{height:4px}.lab-row input[type=range]::-webkit-slider-thumb{width:26px;height:26px}}@media (max-width: 760px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top" "main" "rail"}.hide-m{display:none!important}.topbar{padding:0 10px;padding-top:env(safe-area-inset-top);height:calc(44px + env(safe-area-inset-top));gap:8px;min-width:0;overflow:hidden}.topbar .brand{letter-spacing:.18em}.topbar .iconbtn{padding:5px 6px}.timer{font-size:14px}.timer-label{display:none}.rail{flex-direction:row;border-right:none;border-top:1px solid var(--line);padding:0 2px;padding-bottom:env(safe-area-inset-bottom);align-items:stretch;gap:0}.rail-item{flex:1;min-width:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:9px 0 8px;border-left:none;border-top:2px solid transparent;font-size:7px;letter-spacing:.03em}.rail-item span.lbl{display:block;max-width:100%;overflow:hidden}.rail-item .glyph{font-size:15px;width:auto}.rail-item.active{border-left-color:transparent;border-top-color:var(--sig);background:linear-gradient(180deg,var(--sig-dim),transparent 85%)}.rail-badge{right:auto;left:calc(50% + 6px);top:4px}.rail-new{right:auto;left:calc(50% + 8px);top:6px}.rail-item .lockdot,.rail-footer,.statusbar{display:none}.mod-header{padding:12px 14px 9px;gap:10px}.mod-title{font-size:13px}.mod-sub{display:none}.signal{flex-direction:column}.chan-list{width:100%;display:flex;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);padding:0;flex:none}.chan{width:auto;flex:0 0 auto;padding:10px 14px;border-left:none;border-bottom:2px solid transparent}.chan.active{border-left-color:transparent;border-bottom-color:var(--sig);background:none}.chan-status{display:none}.thread-scroll{padding:16px 14px;gap:12px}.msg{max-width:88%}.choices{padding:12px 14px 14px}.commit-panel{padding:14px 14px 16px}.commit-panel h3{font-size:10px;letter-spacing:.14em}.commit-opt .co-title{font-size:11px;letter-spacing:.1em}.commit-opt .co-desc{font-size:11.5px}.file-list{width:100%;border-right:none}.mobile-back{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--sig);background:var(--bg1);flex:none}.doc{margin:14px 12px 44px;padding:22px 18px 28px}.doc h2{font-size:16px}.doc-line{font-size:13px}.imgstage,.img-meta{width:calc(100% - 24px)}.audiolab{padding:16px 12px 40px}.lab-box{padding:20px 16px 24px}.lab-row label{width:92px;font-size:9px}.lab-row .val{width:62px;font-size:10px}.term-scroll{padding:14px 14px 8px;font-size:12px}.term-inputrow{padding:8px 14px 10px}.term-inputrow input{font-size:16px}.term-hintbar{display:none}.term-chips{display:flex;gap:6px;overflow-x:auto;padding:0 14px 12px;flex:none}.term-chips button{flex:0 0 auto;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--tx-dim);border:1px solid var(--line2);padding:6px 12px;background:var(--bg2)}.term-chips button:active{border-color:var(--sig);color:var(--sig-bright)}.gridmod{flex-direction:column;overflow-y:auto}.map-wrap{flex:none;height:44vh;min-height:260px}.map-node-label{font-size:15px}.map-side{width:100%;border-left:none;border-top:1px solid var(--line);flex:none;padding:14px 14px 40px}.grid-commit .btn{padding:13px 22px}.eye{flex-direction:column;overflow-y:auto}.cam-grid{flex:none;grid-template-columns:1fr 1fr;grid-auto-rows:auto}.cam-cell{aspect-ratio:16 / 10}.cam-label,.cam-ts{font-size:8px}.eye-side{width:100%;border-left:none;border-top:1px solid var(--line);flex:none;padding:14px 14px 40px}.archive{padding:16px 14px 44px}.arch-grid{grid-template-columns:1fr}.bb-inner{width:calc(100% - 28px);padding:20px 0 44px}.bb-frame{padding:22px 18px}.bb-kv{grid-template-columns:1fr;gap:2px 0;font-size:11px}.bb-kv dt{margin-top:10px}.boot{padding:9vh 6vw;font-size:10px}.boot-title{font-size:26px;letter-spacing:.28em}@keyframes bootTitle{0%{opacity:0;letter-spacing:.5em;filter:blur(6px)}to{opacity:1;letter-spacing:.28em;filter:blur(0)}}.menu .btn{width:min(280px,80vw)}.ending-inner{width:calc(100% - 44px);font-size:12.5px;line-height:1.9}.ending-line.big{font-size:19px;letter-spacing:.14em}.debrief-inner{margin:5vh auto 8vh;padding:0 16px}.d-find{flex-direction:column;gap:2px}.d-find .fd-name{min-width:0}.d-actions{flex-wrap:wrap}.d-actions .btn{flex:1 1 100%;text-align:center}.btn{padding:12px 20px}.choice-btn{padding:12px 14px}}
