*{box-sizing:border-box}html,body{margin:0;overflow:hidden;background:#070b0d;color:#f2eee5;font-family:Arial,Helvetica,sans-serif}#panel{position:fixed;z-index:10;left:28px;top:28px;width:324px;padding:24px;background:linear-gradient(135deg,rgba(13,20,24,.96),rgba(13,20,24,.86));border:1px solid #465154;border-radius:3px;box-shadow:0 18px 50px #0005;backdrop-filter:blur(12px)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;color:#c5a56e;display:flex;align-items:center;gap:10px}.rule{width:18px;height:2px;background:#c5a56e}h1{font-size:38px;line-height:1.05;letter-spacing:-.04em;margin:20px 0 8px}.intro{margin:0 0 20px;font-size:17px;color:#cad1d2}#status{font-size:14px;color:#bfcccf;line-height:1.5;min-height:42px}button{border:0;background:#e4bc7d;color:#172025;padding:14px 18px;font:700 16px Arial;cursor:pointer;width:100%;border-radius:2px;margin-top:16px;transition:background .2s}button:hover{background:#f4d39d}button:disabled{opacity:.6;cursor:wait}button:focus-visible{outline:3px solid #fff;outline-offset:3px}.instructions{border-top:1px solid #3a4448;margin-top:22px;padding-top:6px}.instructions p{font-size:14px;line-height:1.5;color:#c1cacc;margin:14px 0}.instructions strong{display:block;color:#f2eee5;font-size:14px;margin-bottom:2px}.secondary{margin-top:4px;background:transparent;border:1px solid #637071;color:#e4e8e6;padding:11px;font-size:14px}.secondary:hover{background:#334146}#hud{position:fixed;z-index:8;bottom:24px;right:28px;display:flex;align-items:center;gap:16px;background:#0d141bc9;border:1px solid #445050;padding:12px 16px;font-size:12px;letter-spacing:.08em;pointer-events:none}#distance{font-size:16px;color:#e4bc7d;font-variant-numeric:tabular-nums}.hud-divider{width:1px;height:18px;background:#617173}#veil{position:fixed;inset:0;background:#000;z-index:40;opacity:0;pointer-events:none;transition:opacity .11s}#veil.dark{opacity:1}#interaction-hint{position:fixed;z-index:11;bottom:86px;left:50%;transform:translateX(-50%);font-size:16px;background:#121b22d9;padding:12px 20px;border:1px solid #a58b61;border-radius:3px;max-width:90%;text-align:center}#interaction-hint:empty{display:none}body.vr #panel,body.vr #hud,body.vr #interaction-hint{display:none}@media(max-width:600px){#panel{top:12px;left:12px;width:260px;padding:16px}h1{font-size:30px;margin-top:14px}.eyebrow{font-size:11px}.intro{margin-bottom:12px}.instructions{margin-top:14px}.instructions p{margin:10px 0}#hud{right:12px;bottom:12px;gap:10px;padding:10px}#hud>span:last-child{display:none}}@media(max-height:650px){#panel{padding:16px;top:12px}.intro{display:none}h1{font-size:28px;margin:12px 0}button{margin-top:10px}.instructions{margin-top:10px}.instructions p{margin:8px 0}}

#tool-controls{position:fixed;right:28px;bottom:88px;z-index:12;width:220px;padding:14px;background:#0d141bed;border:1px solid #a58b61}#tool-controls[hidden],#tool-drop[hidden],body.vr #tool-controls{display:none}#tool-controls span{font-size:14px;color:#d3dbda}#tool-controls button{margin-top:10px;padding:10px;font-size:14px}#panel{max-height:calc(100vh - 56px);overflow-y:auto}@media(max-width:600px){#panel{max-height:55vh}#tool-controls{right:12px;bottom:66px;width:190px}}
.credits{font-size:14px;color:#94a5aa;line-height:1.4;margin:16px 0 0}.credits a{color:#bca581}
.instructions summary{font-size:16px;color:#e4bc7d;cursor:pointer;padding:10px 0}
#methane-status{font-size:14px;line-height:1.5;color:#cad1d2;margin:8px 0;font-variant-numeric:tabular-nums}
body #game-over{inset:0;left:0;top:0;transform:none;width:100%;height:100%;border:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}#game-over button{width:min(360px,85vw)}
#train-controls{position:fixed;right:28px;top:28px;z-index:12;width:240px;padding:16px;background:#0d141be8;border:1px solid #b59656}#train-controls span{font-size:16px;color:#e4bc7d}#train-controls button{padding:10px;margin-top:10px;font-size:14px}[hidden]{display:none!important}body.vr #train-controls,body.vr #game-over{display:none}#blast-vignette{position:fixed;z-index:7;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 25%,#887961 75%,#231f1a 100%);opacity:.25}#game-over{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:45;background:#121715f5;border:1px solid #b3875d;padding:32px;width:min(440px,90vw);text-align:center}#game-over h2{font-size:38px;letter-spacing:.08em;color:#ead2b6}#game-over p{font-size:16px;line-height:1.5}.restart-note{color:#abb0a7;font-size:14px!important}@media(max-width:700px){#train-controls{top:auto;bottom:160px;right:12px;width:190px;padding:12px}#panel{width:235px}#train-controls button{padding:8px}}

#machine-controls{position:fixed;bottom:120px;left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:10px;align-items:center;max-width:95vw;background:#111d20e8;padding:14px;border:1px solid #849783;border-radius:9px}#machine-controls[hidden],#machine-controls [hidden]{display:none}#machine-controls small{max-width:240px}body:has(a-scene.vr-mode) #machine-controls{display:none}
body.vr #machine-controls{display:none}

#train-seats{width:100%;margin-top:10px;padding:10px;background:#1d3031;color:#f2eee5;border:1px solid #9aa995;font:14px Arial}#train-controls{max-height:calc(100vh - 56px);overflow-y:auto}

#face-controls,#phone-controls{position:fixed;right:18px;bottom:180px;z-index:22;width:310px;padding:12px;background:#13221fed;border:1px solid #9cae85;font:13px Arial}#face-controls>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}#face-controls button,#phone-controls button{font-size:12px;padding:9px 5px;margin-top:4px}#face-controls button[aria-pressed="true"]{background:#86bb86}#phone-controls{bottom:25px}.phone-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}#phone-controls small{display:block;margin-top:8px;color:#bdcabb}body.vr #face-controls,body.vr #phone-controls{display:none}

#phone-controls{max-height:90vh;overflow:auto}@media(max-width:700px){#face-controls{width:235px;right:10px;bottom:175px}#face-controls button{font-size:10px;padding:8px 2px}#machine-controls{width:95%;bottom:75px;flex-wrap:wrap;padding:8px}#machine-controls button{width:auto;font-size:12px;margin:0}#machine-controls small{font-size:10px}#phone-controls{right:10px;width:240px}}

#phone-state{font-size:16px;line-height:1.5;overflow-wrap:anywhere}#phone-answers{display:grid;gap:8px;margin-top:10px}#phone-answers button{min-height:54px;font-size:15px;line-height:1.35;padding:12px;text-align:left}#phone-controls{width:min(360px,90vw)}
