:root{--ink: #06120f;--panel: rgba(4, 13, 12, .9);--phosphor: #b8efb9;--bright: #dcffd8;--dim: rgba(184, 239, 185, .58);--amber: #e6b86b;--line: rgba(157, 255, 176, .25);--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#061619;color:var(--phosphor);font-family:var(--mono)}button,a{font:inherit}button{color:inherit}#scene-root,#scene-root canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.hidden{display:none!important}#screen-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;background:radial-gradient(circle at center,transparent 42%,rgba(0,5,5,.22) 72%,rgba(0,4,4,.72) 115%)}#boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#020504}.boot-inner{width:min(760px,100%)}#boot-text{min-height:280px;margin:0;white-space:pre-wrap;color:var(--phosphor);font:400 clamp(13px,2vw,18px)/1.62 var(--mono);text-shadow:0 0 10px rgba(157,255,176,.25)}#boot-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}#boot button,.modes button,.modes a,#patrol button,#touch-controls button{padding:9px 12px;border:1px solid var(--line);background:#051410d1;color:var(--phosphor);text-decoration:none;cursor:pointer}#boot button:hover,button:hover,.modes a:hover{color:var(--bright);border-color:var(--phosphor)}#hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;font-size:10px;letter-spacing:.08em}#hud header{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-start;text-shadow:0 2px 5px #000}#hud header strong{display:block;font-size:12px;color:var(--bright);letter-spacing:.16em}#hud-count{display:block;margin-top:6px;color:var(--dim)}#hud-arrival{color:var(--amber)}.modes{position:absolute;top:68px;left:20px;display:flex;pointer-events:auto}.modes button,.modes a{border-right:0;font-size:9px}.modes :last-child{border-right:1px solid var(--line)}.modes .active{background:#76b97140;color:var(--bright)}.route{position:absolute;top:118px;left:20px;width:208px;padding:11px;background:#020a09b8;border:1px solid rgba(157,255,176,.13);pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.route-title{margin-bottom:8px;color:var(--dim)}#route-items{display:grid}#route-items button{display:grid;grid-template-columns:27px 1fr;padding:5px 3px;border:0;border-top:1px solid rgba(157,255,176,.08);text-align:left;color:#b8efb9a6;background:transparent;cursor:pointer;font:400 9px/1.25 var(--mono)}#route-items button span{color:#e6b86b8c}#route-items button:hover,#route-items button.active{color:var(--bright);background:#9dffb014}#route-items button.lit{color:var(--amber)}#route-items button.returned{color:#b9c8d8}#route-items button.retired{color:#ddd7ad}#reticle{position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s}#reticle.active{opacity:.42}#reticle.locked{opacity:.85}#reticle:before,#reticle:after{content:"";position:absolute;background:var(--phosphor)}#reticle:before{width:12px;height:1px;left:4px;top:10px}#reticle:after{height:12px;width:1px;top:4px;left:10px}#prompt{position:absolute;left:50%;top:calc(50% + 35px);transform:translate(-50%);padding:8px 12px;background:#020908cc;color:var(--bright);border:1px solid var(--line);white-space:nowrap;text-shadow:0 0 8px rgba(157,255,176,.55)}#hint{position:absolute;left:50%;bottom:21px;transform:translate(-50%);color:var(--dim);text-align:center;transition:opacity 1.2s;white-space:nowrap;text-shadow:0 1px 3px #000}#hint b{color:var(--phosphor);font-weight:500}#hint.fade{opacity:0}#patrol{position:absolute;left:50%;bottom:48px;transform:translate(-50%);display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:stretch;pointer-events:auto;background:var(--panel);border:1px solid var(--line)}#patrol button{border:0;border-right:1px solid var(--line)}#patrol-label{display:grid;place-items:center;padding:0 18px;color:var(--bright);text-align:center}#patrol-inspect{color:var(--amber)!important}#touch-controls{position:absolute;left:18px;right:18px;bottom:25px;display:flex;justify-content:space-between;align-items:end;pointer-events:auto}.touch-dpad{display:grid;grid-template:repeat(2,48px) / repeat(3,48px);gap:3px}.touch-dpad button{padding:0!important;touch-action:none}.touch-dpad .up{grid-column:2}.touch-dpad .left{grid-row:2;grid-column:1}.touch-dpad .down{grid-row:2;grid-column:2}.touch-dpad .right{grid-row:2;grid-column:3}#touch-inspect{height:52px;color:var(--amber)}#inspect{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:22px;background:#000504ad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.inspect-card{position:relative;width:min(680px,100%);min-height:330px;padding:clamp(25px,5vw,52px);background:#030d0bf5;border:1px solid rgba(157,255,176,.36);box-shadow:0 28px 80px #000,inset 0 0 50px #9dffb009}#inspect-close{position:absolute;right:14px;top:12px;padding:4px 7px;border:0;background:transparent;color:var(--dim);cursor:pointer}#inspect-body{margin:0;white-space:pre-wrap;color:var(--phosphor);font:400 clamp(12px,1.7vw,16px)/1.72 var(--mono)}#inspect-body a{color:var(--amber);text-decoration:none}#darkness{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;padding:25px;pointer-events:none;opacity:0;background:radial-gradient(circle,#000202ad,#000000fa);transition:opacity 2.1s}#darkness span{max-width:620px;text-align:center;color:var(--phosphor);font:400 clamp(13px,2vw,18px)/1.5 var(--mono);opacity:0;transition:opacity 1.3s .8s}#darkness.active,#darkness.active span{opacity:1}.debug-readout{position:fixed;left:8px;bottom:8px;z-index:90;padding:4px 8px;color:#9dffb0;background:#000000b3;font:12px monospace;pointer-events:none}@media (max-width: 760px){.route{display:none}#hud header{font-size:8px}#hud-arrival{max-width:45vw;text-align:right}.modes{top:67px}#hint{display:none}#patrol{bottom:22px;width:calc(100% - 24px);grid-template-columns:42px 1fr 86px 42px}#patrol-label{padding:0 5px;font-size:8px}#patrol button{padding:8px 4px;font-size:9px}#prompt{top:auto;bottom:145px;max-width:calc(100% - 24px);white-space:normal;text-align:center}}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important}}
