:root{--bg:#040806;--surface:#0a1410;--surface-raised:#11221a;--primary:#39ff88;--primary-dim:#1e8f55;--text:#d8ffe8;--muted:#6f927f;--accent:#ffe27a;--mono:Menlo, "JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--mono)}.logo{letter-spacing:.2em;color:var(--primary);text-shadow:0 0 12px #39ff8880;margin:0;font-size:22px}.logo span{color:var(--text)}.toggle input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.toggle{cursor:pointer;align-items:center;gap:8px;margin:0 8px 8px;font-size:12px;display:flex}.toggle input{accent-color:var(--primary)}.stage{min-width:0;min-height:0;position:relative;overflow:hidden}.game-canvas{position:absolute;inset:0;overflow:hidden}.crt{pointer-events:none;background:repeating-linear-gradient(#00000029 0 1px,#0000 1px 3px),radial-gradient(#0000 45%,#000000c7 100%);animation:5s infinite crt-flicker;position:absolute;inset:0;overflow:hidden}.crt:before{content:"";background:linear-gradient(#0000,#39ff8809 50%,#0000);height:22%;animation:9s linear infinite crt-roll;position:absolute;top:0;left:0;right:0;transform:translateY(-110%)}.crt:after{content:"";opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.5s steps(3,end) infinite crt-grain;position:absolute;inset:-40px}@keyframes crt-flicker{0%,44%,48%,77%,to{opacity:1}46%{opacity:.9}78%{opacity:.95}}@keyframes crt-roll{0%{transform:translateY(-110%)}to{transform:translateY(560%)}}@keyframes crt-grain{0%{transform:translate(0)}33%{transform:translate(-17px,11px)}66%{transform:translate(13px,-19px)}}[data-effects=reduced] .crt{animation:none}[data-effects=reduced] .crt:before,[data-effects=reduced] .crt:after,[data-effects=reduced] .glitch:before,[data-effects=reduced] .glitch:after,[data-effects=off] .crt,[data-effects=off] .glitch:before,[data-effects=off] .glitch:after{display:none}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}[data-text=large]{--text-zoom:1.12}[data-text=larger]{--text-zoom:1.25}.screen-body,.screen-head,.modal,.guide,.hud-panel,.hud-actions,.hud-help{zoom:var(--text-zoom,1)}:where(button,a[href],input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1:focus{outline:none}button{touch-action:manipulation}.skip-link{z-index:100;color:var(--bg);background:var(--accent);border-radius:4px;padding:8px 12px;font-size:12px;position:absolute;top:-100px;left:12px}.skip-link:focus{top:8px}.hud{pointer-events:none;font-size:12px;position:absolute;inset:0}.hud button{font:inherit;pointer-events:auto}.hud-panel{border:1px solid var(--primary-dim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040806d6;border-radius:6px;position:absolute}.hud-level{flex-direction:column;align-items:flex-start;gap:4px;max-width:260px;padding:8px 12px;display:flex;top:14px;left:14px}.hud-depth{color:var(--primary);letter-spacing:.15em;font-weight:700}.hud-mission{color:var(--muted);font-size:11px}.hud-link{letter-spacing:.12em;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:2px;padding:0;font-size:10px}.hud-link:hover,.hud-link:focus-visible{color:var(--primary)}.hud-objectives{pointer-events:auto;width:min(420px,100% - 600px);min-width:280px;top:14px;left:50%;transform:translate(-50%)}.hud-objectives-head{letter-spacing:.2em;width:100%;color:var(--primary);cursor:pointer;background:0 0;border:0;justify-content:space-between;padding:8px 12px;font-size:11px;display:flex}.hud-count{color:var(--muted);letter-spacing:.05em}.hud-objective-list{margin:0;padding:0 12px 10px;list-style:none}.objective{gap:8px;padding:3px 0;font-size:12px;display:flex}.objective-mark{width:12px;color:var(--primary);flex:none}.objective-body{flex-direction:column;gap:2px;display:flex}.objective.done{color:var(--muted)}.objective.done .objective-title{text-decoration:line-through;-webkit-text-decoration-color:var(--primary-dim);text-decoration-color:var(--primary-dim)}.objective.locked{color:#6f927f8c}.objective.locked .objective-mark{color:inherit}.objective.current .objective-title{color:var(--accent)}.objective-progress{color:var(--primary)}.objective-detail{color:var(--muted);font-size:11px}.objective-where{letter-spacing:.08em;color:var(--accent);font-size:10px}.hud-sentinel{--level:var(--primary);width:200px;padding:8px 12px;top:14px;right:14px}.hud-sentinel.warn{--level:#ffb020}.hud-sentinel.alert{--level:#ff3b5c;border-color:#ff3b5c;box-shadow:0 0 18px #ff3b5c59}.sentinel-head{letter-spacing:.2em;color:var(--level);justify-content:space-between;font-size:11px;display:flex}.sentinel-bar{background:#ffffff0f;border-radius:4px;height:8px;margin:6px 0 4px;position:relative;overflow:hidden}.sentinel-fill{background:var(--level);height:100%;box-shadow:0 0 10px var(--level);transition:width .3s ease-out}.sentinel-stealth{background:var(--accent);width:2px;position:absolute;top:-2px;bottom:-2px}.sentinel-foot{color:var(--muted);font-size:10px}.hud-pkt{text-align:left;max-width:min(420px,100% - 300px);color:var(--text);cursor:pointer;border-color:var(--primary);align-items:flex-start;gap:10px;padding:10px 12px;animation:.16s ease-out rise;display:flex;bottom:14px;left:14px}.pkt-drone{width:36px;height:24px;image-rendering:pixelated;flex:none}.pkt-text{flex-direction:column;gap:4px;font-size:12px;line-height:1.45;display:flex}.pkt-text strong{letter-spacing:.2em;color:var(--primary);font-size:10px}.pkt-more{color:var(--muted);font-size:10px}.hud-toast{letter-spacing:.1em;white-space:nowrap;padding:8px 16px;font-size:12px;animation:.18s ease-out toast-in;top:50%;left:50%;transform:translate(-50%,-160px)}.hud-toast.success{color:var(--primary);border-color:var(--primary);box-shadow:0 0 18px #39ff884d}.hud-toast.alert{color:#ff6b80;border-color:#ff3b5c;box-shadow:0 0 18px #ff3b5c4d}.hud-actions{align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:40px;right:14px}.hud-action,.hud-ping{color:var(--bg);background:var(--primary);cursor:pointer;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 20px #39ff8859}.hud-action:hover,.hud-ping:hover:not(:disabled){filter:brightness(1.12)}.hud-action:focus-visible,.hud-ping:focus-visible,.btn:focus-visible,.analyze-line:focus-visible,.modal-close:focus-visible,.hud-pkt:focus-visible,.hud-objectives-head:focus-visible,.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hud-action.locked{color:var(--bg);background:#ffb020;box-shadow:0 0 20px #ffb0204d}.hud-action-label{letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;opacity:.75;max-width:180px;font-size:10px;overflow:hidden}.hud-action-title,.hud-ping-title{letter-spacing:.12em;font-weight:700}.hud-ping{color:var(--primary);border:1px solid var(--primary);background:#040806e0}.hud-ping:disabled{opacity:.4;cursor:default}.hud-ping-cost{color:var(--muted);font-size:10px}.hud-ping-cooldown{pointer-events:none;background:#39ff882e;width:100%;animation:linear forwards cooldown;position:absolute;inset:0 auto 0 0}.hud-key{min-width:18px;color:var(--bg);background:var(--primary);text-align:center;border-radius:3px;margin-right:6px;padding:0 4px;font-size:10px;font-weight:700;display:inline-block}.hud-action .hud-key{color:var(--primary);background:var(--bg)}.hud-help{color:var(--muted);font-size:10px;position:absolute;bottom:12px;right:14px}.hud-alert-flash{pointer-events:none;animation:.9s ease-out forwards alert-flash;position:absolute;inset:0;box-shadow:inset 0 0 140px 20px #ff284699}.modal-scrim{z-index:10;pointer-events:auto;background:#0205049e;justify-content:center;align-items:center;padding:24px;animation:.14s ease-out fade-in;display:flex;position:absolute;inset:0}.modal{background:var(--surface);border:1px solid var(--primary);border-radius:8px;flex-direction:column;width:min(480px,100%);max-height:100%;animation:.18s ease-out rise;display:flex;box-shadow:0 0 40px #39ff882e}.modal.wide{width:min(680px,100%)}.modal.xl{width:min(960px,100%)}.modal-head{border-bottom:1px solid var(--primary-dim);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px 10px;display:flex}.modal-head h2{letter-spacing:.08em;color:var(--primary);margin:0;font-size:16px}.modal-kicker{letter-spacing:.2em;color:var(--muted);margin-bottom:4px;font-size:10px}.modal-close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 6px}.modal-body{padding:14px 18px 18px;font-size:13px;line-height:1.5;overflow-y:auto}.modal-body p{margin:0 0 12px}.modal-subtitle{color:var(--accent)}.modal-prompt,.modal-question{color:var(--text)}.modal-question{letter-spacing:.1em;color:var(--accent)}.modal-explain{color:var(--text);background:var(--surface-raised);border-left:3px solid var(--primary);border-radius:4px;padding:10px 12px}.modal-note{color:var(--muted);font-size:11px}.modal-result.ok{color:var(--primary)}.modal-result.bad{color:#ff8a9b}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;display:flex}.modal-cost{color:var(--muted);font-size:11px}.btn{font:inherit;letter-spacing:.1em;color:var(--primary);border:1px solid var(--primary-dim);cursor:pointer;background:0 0;border-radius:5px;padding:9px 16px;font-size:12px}.btn:hover:not(:disabled){border-color:var(--primary);background:var(--surface-raised)}.btn:disabled{cursor:default}.btn.primary{color:var(--bg);background:var(--primary);border-color:var(--primary);font-weight:700}.btn.primary:hover:not(:disabled){background:var(--primary);filter:brightness(1.1)}.btn.primary:disabled{opacity:.4}.term{font-family:var(--mono);color:var(--text);border:1px solid var(--primary-dim);white-space:pre;background:#020504;border-radius:5px;margin:0 0 12px;padding:12px;font-size:11.5px;line-height:1.5;overflow-x:auto}.term-dim{color:var(--muted)}.term-head,.term-prompt{color:var(--primary)}.role-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px;display:grid}.btn.role.wrong,.btn.choice.wrong{color:#ff8a9b;border-color:#ff3b5c;text-decoration:line-through}.choice-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.btn.choice{text-align:left;letter-spacing:.02em;color:var(--text);flex-direction:column;gap:3px;display:flex}.btn.choice.right{color:var(--primary);border-color:var(--primary)}.choice-detail{color:var(--muted);font-size:11px}.analyze-lines{border:1px solid var(--primary-dim);background:#020504;border-radius:5px;flex-direction:column;gap:2px;margin-bottom:12px;padding:6px;display:flex}.analyze-line{font:inherit;text-align:left;white-space:pre;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:6px 8px;font-size:12px}.analyze-line:hover:not(:disabled){background:var(--surface-raised)}.analyze-line.selected{color:var(--accent);border-color:var(--accent);background:#ffe27a14}.analyze-line:disabled{cursor:default}.builder{grid-template-columns:minmax(0,1fr) 300px;gap:14px;min-height:340px;display:grid}.console-shell{border:1px solid var(--primary-dim);background:#020504 repeating-linear-gradient(#39ff8808 0 1px,#0000 1px 3px);border-radius:8px;flex-direction:column;min-width:0;max-height:60vh;padding:10px 12px;display:flex}.console-shell-bar{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;display:flex}.dot{border-radius:50%;width:8px;height:8px}.dot.red{background:#ff3b5c}.dot.amber{background:#ffb020}.dot.green{background:var(--primary)}.console-shell-log{flex:1;font-size:11.5px;line-height:1.5;overflow-y:auto}.console-shell-line{white-space:pre-wrap;word-break:break-word}.console-shell-line.input,.console-shell-prompt{color:var(--primary)}.console-shell-line.error{color:#ff6b80}.console-shell-line.hint{color:#ffb020}.cursor{vertical-align:text-bottom;background:var(--primary);width:7px;height:13px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.console-shell-explain{background:var(--surface-raised);border:1px solid var(--primary-dim);border-radius:6px;gap:10px;margin-top:10px;padding:10px;display:flex}.console-shell-explain p{margin:0;font-size:12px}.builder-controls{flex-direction:column;gap:10px;min-width:0;display:flex}.builder-head{letter-spacing:.15em;color:var(--primary);justify-content:space-between;font-size:11px;font-weight:700;display:flex}.builder-cost{letter-spacing:.02em;color:var(--muted);font-weight:400}.builder-tip{color:var(--muted);font-size:10px;margin:0 0 4px!important}.chip-pool,.chip-row,.slot-picks{flex-wrap:wrap;gap:6px;display:flex}.chip-pool,.slot-groups{max-height:46vh;overflow-y:auto}.slot-groups{flex-direction:column;gap:12px;display:flex}.chip,.slot-pick{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--primary-dim);cursor:pointer;border-radius:6px;padding:6px 9px;font-size:12px;font-weight:600}.chip:hover:not(:disabled){border-color:var(--primary)}.chip:focus-visible,.slot-pick:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip.picked{color:var(--bg);background:var(--primary)}.chip:disabled{opacity:.45;cursor:default}.chip.picked:disabled{opacity:1}.slot-label{letter-spacing:.12em;color:var(--muted);margin-bottom:5px;font-size:9px;font-weight:700}.slot-label .full{color:var(--primary)}.slot-picks{margin-bottom:6px}.slot-pick{color:var(--muted);background:0 0;border-style:dashed;font-size:11px}.slot-pick.filled{color:var(--bg);background:var(--primary);border-style:solid}.gloss{background:var(--surface-raised);border-left:3px solid var(--primary);border-radius:4px;padding:10px;font-size:11px}.gloss.inherited{border-left-color:var(--primary-dim)}.gloss strong{color:var(--primary)}.gloss span{color:var(--muted)}.gloss p{margin:4px 0 0!important}.gloss-long{color:var(--muted)}.gloss-see{color:var(--primary-dim);font-size:10px}.builder-actions{gap:8px;margin-top:auto;display:flex}.btn.icon{padding:9px 12px}.btn.hint{color:#ffb020;border-color:#ffb02099}.btn.run{flex:1}.builder-done{justify-content:flex-end;margin-top:auto;display:flex}.guide-link{margin-top:4px}.guide-scrim{z-index:20;pointer-events:auto;background:#0000008c;justify-content:flex-end;padding:12px;display:flex;position:absolute;inset:0}.guide{background:var(--bg);border:1px solid var(--primary);border-radius:10px;flex-direction:column;width:min(420px,100%);animation:.18s ease-out slide-in;display:flex}.guide-head{border-bottom:1px solid var(--primary-dim);justify-content:space-between;gap:10px;padding:12px 14px;display:flex}.guide-head h2{color:var(--text);margin:0;font-size:13px}.guide-body{padding:14px;font-size:12px;line-height:1.5;overflow-y:auto}.guide-section{margin-bottom:16px}.guide-section h3{letter-spacing:.15em;color:var(--primary);margin:0 0 8px;font-size:10px}.guide-section p{margin:0 0 6px}.guide-strong{color:var(--primary);font-weight:700}.anatomy-row{background:var(--surface-raised);border-radius:6px;margin-bottom:8px;padding:8px}.anatomy-head{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:4px;display:flex}.anatomy-head .slot-label{margin:0 4px 0 0}.anatomy-token{color:var(--bg);background:var(--primary);border-radius:4px;padding:2px 6px;font-size:11px}.wrong-move code{color:#ff6b80;margin-right:6px;font-weight:700}.attack-tag.warn{color:#ffb020;border-color:#ffb02099;margin-bottom:6px;display:inline-block}.stars{color:#ffffff1f;justify-content:center;gap:12px;margin:4px 0 14px;font-size:38px;display:flex}.star.on{color:var(--accent);text-shadow:0 0 16px #ffe27a99}.stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin:0 0 12px;display:grid}.stat{background:var(--surface-raised);border-radius:5px;padding:8px 10px}.stat dt{letter-spacing:.15em;color:var(--muted);font-size:10px}.stat dd{color:var(--primary);margin:2px 0 0;font-size:16px}.star-reasons{color:var(--muted);margin:0 0 14px;padding:0;font-size:12px;list-style:none}.star-reasons .on{color:var(--accent)}.debrief-section h3{letter-spacing:.2em;color:var(--primary);margin:14px 0 8px;font-size:11px}.debrief-section h4{letter-spacing:.2em;color:var(--muted);margin:0 0 4px;font-size:10px}.debrief-section ul{margin:0;padding-left:16px;font-size:12px}.debrief-columns{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px;display:grid}.loot{list-style:none;padding:0!important}.loot li{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.loot-label{color:var(--accent)}.loot code{color:var(--muted);font-size:11px}.attack{flex-wrap:wrap;gap:6px;display:flex}.attack-tag{color:var(--muted);border:1px solid var(--primary-dim);border-radius:10px;padding:2px 8px;font-size:10px}.briefing-line{color:var(--text)}.segmented{border:1px solid var(--primary-dim);border-radius:5px;display:flex;overflow:hidden}.segmented button{font:inherit;letter-spacing:.1em;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1;padding:7px 0;font-size:10px}.segmented button.active{color:var(--bg);background:var(--primary)}.clearance-blurb{color:var(--muted);margin:8px 0 0;font-size:11px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes fade-in{0%{opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-150px)}}@keyframes blink{50%{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}@keyframes cooldown{to{width:0}}@keyframes alert-flash{0%{opacity:1}to{opacity:0}}@media (width<=720px){.builder{grid-template-columns:1fr}.console-shell{max-height:240px}.hud-level{max-width:calc(100% - 186px)}.hud-sentinel{width:150px;top:14px}.hud-objectives{width:calc(100% - 86px);min-width:0;top:124px;left:14px;transform:none}.hud-pkt{max-width:calc(100% - 28px);bottom:116px}.hud-help{display:none}}.mission-screen{position:fixed;inset:0}.mission-screen .stage{position:absolute;inset:0}.screen{background:radial-gradient(ellipse at 50% -10%, #39ff8817, transparent 60%), var(--bg);min-height:100%}.screen>.crt,.boot>.crt{z-index:50;position:fixed}.screen-head{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040806d9;border-bottom:1px solid #1e8f5580;align-items:center;min-height:48px;padding:10px 20px;display:flex;position:sticky;top:0}.logo.small{font-size:15px}.screen-back{font:inherit;letter-spacing:.15em;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px}.screen-back:hover{text-shadow:0 0 10px #39ff8899}.screen-body{max-width:760px;margin:0 auto;padding:28px 20px 64px}.screen-body.wide{max-width:1100px}.screen-body.narrow{max-width:560px;padding-top:8vh}.screen-kicker,.panel-kicker{letter-spacing:.25em;color:var(--muted);font-size:10px;font-weight:700}.screen-title{letter-spacing:.08em;color:var(--primary);text-shadow:0 0 18px #39ff8873;margin:6px 0 14px;font-size:clamp(28px,6vw,42px);position:relative}.glitch:before,.glitch:after{content:attr(data-text) / "";pointer-events:none;opacity:0;animation:3.2s step-end infinite glitch;position:absolute;inset:0}.glitch:before{color:#ff4d6d;clip-path:inset(0 0 55%)}.glitch:after{color:#3dd8ff;clip-path:inset(55% 0 0);animation-direction:reverse}@keyframes glitch{0%,92%{opacity:0;transform:none}93%{opacity:.8;transform:translate(-3px,1px)}95%{opacity:.6;transform:translate(2px,-1px)}97%{opacity:.8;transform:translate(-1px)}}.lead{color:var(--text);margin:0 0 16px;font-size:14px;line-height:1.55}.muted{color:var(--muted)}.small{font-size:11px}.screen-body p{font-size:13px;line-height:1.55}.section-head{border-bottom:1px solid #1e8f5573;justify-content:space-between;align-items:baseline;margin:30px 0 10px;display:flex}.section-head h2{letter-spacing:.25em;color:var(--primary);margin:0 0 6px;font-size:11px}.section-head span{letter-spacing:.15em;color:var(--muted);font-size:10px}.panel{border:1px solid var(--primary-dim);background:#0a1410d9;border-radius:8px;padding:16px}.pill{letter-spacing:.12em;white-space:nowrap;color:var(--primary);border:1px solid var(--primary-dim);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:10px;font-weight:700;display:inline-flex}.pill.warn{color:#ffb020;border-color:#ffb0208c}.pill.alert{color:#ff4d6d;border-color:#ff4d6d99}.pill.muted{color:var(--muted);border-color:#6f927f73}.pill-row{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.stars-row{color:#ffffff26;vertical-align:middle;gap:2px;display:inline-flex}.stars-row.small{font-size:13px}.stars-row.large{gap:10px;font-size:38px}.meter{background:#39ff881a;border-radius:3px;height:6px;overflow:hidden}.meter-fill{background:var(--primary);height:100%;transition:width .4s;box-shadow:0 0 10px #39ff8899}.btn.big{padding:13px 22px;font-size:13px}.link{font:inherit;color:var(--primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}.empty-state{text-align:center;color:var(--muted);border:1px dashed #1e8f5580;border-radius:8px;padding:28px 16px}.row-list{flex-direction:column;gap:6px;display:flex}.row{width:100%;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:#0a1410cc;border:1px solid #1e8f558c;border-radius:6px;align-items:center;gap:12px;padding:11px 14px;display:flex}.row:hover:not(:disabled){border-color:var(--primary);background:var(--surface-raised)}.row:focus-visible,.tile:focus-visible,.zone-card:focus-visible,.screen-back:focus-visible,.link:focus-visible,.dot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row:disabled,.row.encrypted{cursor:default;opacity:.55}.row-id{letter-spacing:.08em;min-width:64px;color:var(--primary);flex:none;font-size:11px;font-weight:700}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.row-sub{color:var(--muted);font-size:11px}.row-end{flex:none;align-items:center;gap:8px;display:flex}.row-go{color:var(--primary)}.row-lock{opacity:.7;font-size:12px}.row.highlight{border-color:var(--accent);box-shadow:0 0 14px #ffe27a26}.row.highlight .row-id,.row.cleared .row-id{color:var(--accent)}.row.encrypted .row-title{letter-spacing:.2em;color:var(--muted)}.operator-card{flex-direction:column;gap:10px;display:flex}.operator-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.operator-name{font:inherit;letter-spacing:.1em;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;font-size:24px;font-weight:700}.operator-name .edit-mark{color:var(--muted);opacity:0;font-size:13px;transition:opacity .15s}.operator-name:hover .edit-mark,.operator-name:focus-visible .edit-mark{opacity:1}.operator-foot{letter-spacing:.12em;color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.callsign-input{color:var(--primary);background:var(--surface-raised);border:1px solid var(--primary-dim);border-radius:6px;align-items:center;gap:8px;padding:10px 14px;font-size:18px;font-weight:700;display:flex}.callsign-input.inline{margin-top:4px;padding:4px 10px}.callsign-input input{min-width:0;font:inherit;letter-spacing:.1em;color:var(--text);text-transform:uppercase;background:0 0;border:0;outline:none;flex:1}.callsign-field{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.clearance .segmented button{padding:9px 0;font-size:11px}.segmented button:disabled{cursor:not-allowed;opacity:.45}.segmented.tabs{margin-bottom:18px}.zone-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.zone-card{--zone-accent:var(--primary);min-height:150px;font:inherit;text-align:left;color:var(--text);background:linear-gradient(160deg, color-mix(in srgb, var(--zone-accent) 14%, transparent), transparent 60%), #0a1410d9;border:1px solid color-mix(in srgb, var(--zone-accent) 55%, transparent);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;padding:16px;display:flex}.zone-card:hover:not(:disabled){box-shadow:0 0 22px color-mix(in srgb, var(--zone-accent) 25%, transparent)}.zone-card.encrypted{cursor:default;opacity:.6}.zone-discipline{letter-spacing:.22em;color:var(--muted);font-size:10px}.zone-name{letter-spacing:.08em;color:var(--zone-accent);font-size:22px;font-weight:700}.zone-tagline{color:var(--text);flex:1;font-size:12px}.zone-progress{letter-spacing:.12em;color:var(--muted);flex-direction:column;gap:4px;font-size:10px;display:flex}.gear-tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{font:inherit;text-align:left;color:var(--text);border:1px solid var(--primary-dim);cursor:pointer;background:#0a1410d9;border-radius:8px;flex-direction:column;gap:4px;padding:16px;display:flex}.tile:hover{border-color:var(--primary)}.tile-glyph{color:var(--primary);font-size:22px}.tile-title{letter-spacing:.18em;font-size:12px;font-weight:700}.tile-sub{color:var(--muted);font-size:11px}.disclaimer{color:var(--muted);border-left:2px solid #ffb02080;margin-top:32px;padding:12px;font-size:11px!important}.profile-tools{gap:18px;margin-top:18px;display:flex}.hud-link.danger{color:#ff4d6d}.chapter{margin-top:30px}.chapter-head{border-bottom:1px solid #1e8f5573;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}.chapter-index{letter-spacing:.25em;color:var(--muted);font-size:10px}.chapter-title{color:var(--primary);margin:2px 0;font-size:17px}.chapter-sub{color:var(--muted);margin:0!important;font-size:12px!important}.chapter-meta{flex-direction:column;align-items:flex-end;gap:6px;font-size:11px;display:flex}.transmission{border-left:2px solid var(--primary-dim);padding:4px 0 4px 14px}.transmission p{margin:0 0 10px}.brief-objectives{margin:0;padding:0;list-style:none}.brief-objectives li{gap:12px;padding:7px 0;display:flex}.brief-num{color:var(--primary);flex:none;font-size:12px;font-weight:700}.brief-title{font-size:13px;font-weight:700;display:block}.brief-detail,.brief-where{color:var(--muted);margin-top:2px;font-size:11px;display:block}.brief-where{color:var(--accent)}.rating{margin:0 0 8px;padding:0;font-size:12px;line-height:1.9;list-style:none}.deploy{margin-top:26px}.deploy-saved{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.deploy-saved p{margin:0}.confirm{border:1px solid #ff4d6d80;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.pager-dots{flex-wrap:wrap;gap:6px;margin:0 0 20px;display:flex}.pager-dots .dot{cursor:pointer;background:#39ff881f;border:0;border-radius:3px;width:22px;height:6px;padding:0}.pager-dots .dot:disabled{cursor:default}.pager-dots .dot.reached{background:var(--primary-dim)}.pager-dots .dot.current{background:var(--primary);box-shadow:0 0 8px #39ff8899}.pager-page{animation:.25s ease-out page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.pager-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.pager-h{letter-spacing:.25em;color:var(--primary);margin:22px 0 10px;font-size:11px}.section-card-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-card-head h2{color:var(--text);flex:1;margin:0;font-size:16px}.section-num{color:var(--primary);font-size:22px;font-weight:700}.section-idea{font-size:13.5px!important}.bullets{margin:0 0 12px;padding-left:18px;font-size:12px;line-height:1.6}.bullets.ok li::marker{color:var(--primary)}.bullets.warn li::marker{color:#ffb020}.wrap-list,.ref-list{flex-direction:column;gap:8px;margin:0;padding-left:22px;font-size:13px;display:flex}.wrap-list li{align-items:center;gap:10px;display:flex}.ref-list a{color:var(--primary)}.drill-card{animation:.25s ease-out page-in}.drill-title,.drill-done{letter-spacing:.1em;color:var(--primary);margin:0 0 12px;font-size:15px}.drill-shell{height:min(620px,100vh - 220px);min-height:420px}.drill-shell .builder{height:100%}.codex-entry.open>.row{border-color:var(--primary);border-bottom-right-radius:0;border-bottom-left-radius:0}.codex-body{border:1px solid var(--primary);background:#0a141099;border-top:0;border-radius:0 0 6px 6px;padding:4px 16px 16px}.search{width:100%;font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--primary-dim);border-radius:6px;margin-bottom:14px;padding:10px 12px;font-size:13px}.search:focus{border-color:var(--primary);outline:none}.glossary{margin:0}.glossary-term{border-bottom:1px solid #1e8f5540;padding:10px 0}.glossary-term dt{font-size:13px;font-weight:700}.glossary-term dd{margin:4px 0 0}.glossary-term dd p{margin:0 0 4px;font-size:12px}.glossary-long{color:var(--muted)}.glossary-see{color:var(--muted);font-size:11px!important}.loot-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.loot-card{border:1px solid var(--primary-dim);background:#0a1410d9;border-radius:6px;gap:12px;padding:12px;display:flex}.loot-glyph{text-align:center;width:22px;color:var(--accent);flex:none;font-size:18px}.loot-text{flex-direction:column;gap:2px;min-width:0;display:flex}.loot-type{letter-spacing:.15em;color:var(--muted);font-size:9px;font-weight:700}.loot-source{font-weight:400}.loot-card .loot-label{color:var(--text);font-size:13px;font-weight:700}.loot-value{overflow-wrap:anywhere;color:var(--accent);font-size:11px}.debrief-head{flex-direction:column;align-items:center;gap:8px;margin-bottom:10px;display:flex}.debrief-head .pill-row{justify-content:center}.tool-list{margin:0}.tool-list div{justify-content:space-between;gap:16px;padding:4px 0;font-size:12px;display:flex}.tool-list dt{font-weight:700}.tool-list dd{text-align:right;color:var(--muted);margin:0}.modal-actions.stacked{flex-direction:column;align-items:stretch}.debug-toggle{color:var(--muted);margin:14px 0 0}.intro-points{flex-direction:column;gap:10px;margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.55;display:flex}.intro-points li::marker{color:var(--primary)}.quiz-q{color:var(--primary);margin:20px 0 6px;font-size:11px;font-weight:700}.choice-list .btn.choice{justify-content:space-between;gap:12px;display:flex}.clearance-result{margin-bottom:12px}.clearance-name{letter-spacing:.12em;color:var(--primary);margin-top:4px;font-size:24px;font-weight:700}.screen-body code{color:var(--accent);background:var(--surface-raised);border-radius:3px;padding:1px 5px;font-size:.92em}.screen-body pre.term code,.loot-value{background:0 0;padding:0}.boot{cursor:pointer;flex-direction:column;justify-content:center;padding:0 max(24px,12vw);display:flex;position:fixed;inset:0}.boot-log{font-family:var(--mono);color:var(--primary);text-shadow:0 0 8px #39ff8880;margin:0;font-size:clamp(12px,2.2vw,16px);line-height:1.8}.boot-last{color:var(--accent);margin-top:10px;font-weight:700}.boot-skip{text-align:center;color:var(--muted);font-size:11px;position:absolute;bottom:24px;left:0;right:0}@media (width<=720px){.screen-body{padding:20px 14px 48px}.gear-tiles{grid-template-columns:1fr}.row-id{min-width:52px}.chapter-head{flex-direction:column;align-items:flex-start}.chapter-meta{flex-direction:row;align-items:center}}.screen-settings{font:inherit;letter-spacing:.12em;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:6px 4px;font-size:12px}.screen-settings:hover{color:var(--primary)}.hud-level-actions{flex-wrap:wrap;gap:4px 14px;display:flex}.hud-settings .settings-btn-label,.hud-level-actions .hud-link{font-size:10px}.settings .modal-body{flex-direction:column;gap:14px;display:flex}.settings-group{border:1px solid #1e8f558c;border-radius:8px;flex-direction:column;gap:12px;margin:0;padding:12px 14px 14px;display:flex}.settings-group legend{letter-spacing:.25em;color:var(--primary);padding:0 6px;font-size:10px;font-weight:700}.settings-row{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.settings-row.column{flex-direction:column;align-items:stretch;gap:8px}.settings-row.disabled{opacity:.5}.settings-row input[type=range]{accent-color:var(--primary);flex:1}.settings-value{text-align:right;min-width:38px;color:var(--muted)}.settings-note{color:var(--muted);font-size:11px}.toggle-row{cursor:pointer}.switch{appearance:none;background:var(--surface-raised);border:1px solid var(--primary-dim);cursor:pointer;border-radius:11px;flex:none;width:38px;height:22px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--primary-dim)}.switch:checked:after{background:var(--primary);transform:translate(16px)}.switch:disabled{cursor:default}.mission-screen{overscroll-behavior:none;touch-action:none}.mission-screen .hud{inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.hud-zoom{pointer-events:auto;flex-direction:column;gap:6px;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.hud-zoom button{width:36px;height:36px;font:inherit;color:var(--primary);border:1px solid var(--primary-dim);cursor:pointer;background:#0a1410d9;border-radius:6px;font-size:18px}.hud-zoom button:hover{border-color:var(--primary)}.hud-help .touch{display:none}.floor-loading{letter-spacing:.2em;color:var(--muted);place-items:center;font-size:12px;display:grid;position:fixed;inset:0}@media (pointer:coarse){.hud-help .mouse{display:none}.hud-help .touch{display:inline}.hud-link{padding:6px 0}.hud-zoom button{width:44px;height:44px}}@media (width<=720px){.settings-btn-label{display:none}.screen-settings{font-size:18px}}.hud-room{color:var(--accent)}.btn.small{padding:5px 10px;font-size:10px}.btn.danger{color:#ff3b5c;border-color:#7a2333}.btn.danger:hover:not(:disabled){border-color:#ff3b5c}.btn:disabled{opacity:.4;cursor:default}.ed-start{flex-wrap:wrap;gap:10px;margin:18px 0 8px;display:flex}.ed-error{color:#ff3b5c;white-space:pre-wrap;font-size:12px}.ed-maps{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:26px;display:grid}.ed-map-card{font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--primary-dim);cursor:pointer;border-radius:6px;gap:4px;padding:12px 14px;display:grid}.ed-map-card:hover,.ed-map-card:focus-visible{border-color:var(--primary);background:var(--surface-raised)}.ed-map-level{letter-spacing:.1em;color:var(--primary);font-size:12px;font-weight:700}.ed-map-id{color:var(--accent);font-size:11px}.ed-map-note{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.editor{background:var(--bg);color:var(--text);grid-template:"head head head""tools board side"1fr/190px 1fr 310px;display:grid;position:fixed;inset:0}.ed-head{border-bottom:1px solid var(--primary-dim);background:var(--surface);flex-wrap:wrap;grid-area:head;align-items:center;gap:8px 16px;padding:8px 14px;display:flex}.ed-title{letter-spacing:.1em;color:var(--primary);align-items:baseline;gap:10px;margin:0;font-size:15px;display:flex}.ed-status{letter-spacing:.12em;color:var(--muted);font-size:10px;font-weight:400}.ed-head-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.ed-tools,.ed-side{background:var(--surface);min-height:0;padding:12px;overflow-y:auto}.ed-tools{border-right:1px solid var(--primary-dim);grid-area:tools}.ed-side{border-left:1px solid var(--primary-dim);grid-area:side;align-content:start;gap:14px;display:grid}.ed-tools h2,.ed-panel h2{letter-spacing:.18em;color:var(--muted);align-items:center;gap:8px;margin:4px 0 10px;font-size:11px;display:flex}.ed-tools h2:not(:first-child){margin-top:20px}.ed-toolbar{gap:4px;margin-bottom:12px;display:grid}.ed-tool{font:inherit;letter-spacing:.1em;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:space-between;padding:7px 10px;font-size:11px;display:flex}.ed-tool:hover{border-color:var(--primary-dim)}.ed-tool.active{color:var(--bg);background:var(--primary)}.ed-tool kbd{font:inherit;opacity:.55}.ed-field{color:var(--muted);gap:4px;margin-bottom:10px;font-size:11px;display:grid}.ed-field input,.ed-field select{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--primary-dim);border-radius:4px;padding:6px 8px;font-size:12px}.ed-field input:focus,.ed-field select:focus{border-color:var(--primary);outline:none}.ed-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ed-actions{margin-top:6px}.ed-hint{color:var(--muted);margin:0 0 10px;font-size:11px;line-height:1.5;display:block}.ed-hint.bad{color:#ff3b5c}.ed-panel{border-bottom:1px solid var(--primary-dim);padding-bottom:12px}.ed-problems ul{gap:6px;margin:0;padding:0;font-size:11px;line-height:1.45;list-style:none;display:grid}.ed-problems li{color:var(--text);border-left:2px solid #ffb020;padding-left:10px}.ed-problems li.error{border-left-color:#ff3b5c}.ed-problems li button{font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.ed-problems li button:hover{color:var(--accent)}.ed-board{grid-area:board;min-width:0;min-height:0;position:relative}.bp-wrap{position:absolute;inset:0}.blueprint{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;display:block}.blueprint:active{cursor:grabbing}.blueprint:not(.tool-select){cursor:crosshair}.blueprint text{font-family:var(--mono);text-anchor:middle;fill:var(--text);pointer-events:none;paint-order:stroke;stroke:#0009;stroke-width:3px}.bp-bounds{fill:none;stroke:var(--muted);stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.bp-room-edge{fill:none;stroke:var(--bp-neon);stroke-opacity:.45;stroke-width:1.5px;vector-effect:non-scaling-stroke}.bp-wall{fill:#020504;stroke:var(--bp-neon);stroke-opacity:.6;vector-effect:non-scaling-stroke}.bp-nav{fill:#ff3b5c;fill-opacity:.22;pointer-events:none}.bp-item{cursor:move}.bp-item rect,.bp-item circle{vector-effect:non-scaling-stroke;stroke-width:1.5px}.bp-solid{fill:#ffffff0f;stroke:var(--bp-neon)}.bp-solid.prop{stroke:var(--bp-accent)}.bp-ghost{fill:#ffffff08;stroke:var(--bp-accent);stroke-dasharray:4 4}.bp-detail{fill:var(--bp-neon);fill-opacity:.4;stroke:none}.bp-caption{text-anchor:start!important;fill:var(--muted)!important}.bp-terminal rect{fill:#39ff881f;stroke:var(--bp-neon)}.bp-door rect{fill:#0a1410;stroke:var(--bp-neon);stroke-width:2.5px}.bp-door.bad rect{stroke:#ff3b5c;stroke-dasharray:5 4}.bp-spawn circle{fill:#39ff8840;stroke:#39ff88;stroke-width:2px}.bp-exit rect{fill:#ffb02033;stroke:#ffb020;stroke-width:2px}.bp-room-chip rect{fill:#0a1410;stroke:var(--bp-neon)}.bp-room-chip text{fill:var(--bp-neon)}.bp-room-sel{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:10 6;vector-effect:non-scaling-stroke;pointer-events:none}.bp-handle{fill:var(--accent);stroke:#000;vector-effect:non-scaling-stroke}.bp-handle.nw,.bp-handle.se{cursor:nwse-resize}.bp-handle.ne,.bp-handle.sw{cursor:nesw-resize}.bp-item.selected rect,.bp-item.selected circle{stroke-width:3px;stroke:var(--accent)!important}.bp-item.selected text{fill:var(--accent)}.bp-zoom{gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.bp-zoom .btn{background:var(--surface)}.ed-walk{z-index:50;background:#000;position:fixed;inset:0}.ed-walk .stage{position:absolute;inset:0}.ed-walk-bar{top:calc(12px + env(safe-area-inset-top));flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex;position:absolute;left:12px;right:12px}.ed-walk-actions{gap:12px;margin-left:auto;display:flex}.floor-loading.walk{z-index:50;background:#000}@media (width<=900px){.editor{grid-template:"head""board"60vh"tools""side"/1fr;min-height:100%;position:static}.ed-tools,.ed-side{border:none;border-top:1px solid var(--primary-dim);overflow:visible}.ed-toolbar{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}
