@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--ink:#e9f1e9;--muted:#a4b2aa;--panel:rgba(15,21,24,.86);--line:rgba(223,244,229,.15);--acid:#d6ff76;--cyan:#77e6d4}*{box-sizing:border-box}body{margin:0;background:#10151b;color:var(--ink);font-family:Manrope,system-ui,sans-serif;overflow:hidden}.game-shell{height:100dvh;width:100vw;position:relative;overflow:hidden;background:#274e42}#game{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}.topbar{position:absolute;top:max(18px,env(safe-area-inset-top));left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand,.icon-button{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.13em;font-size:13px;text-shadow:0 2px 10px #000}.brand small{color:var(--acid);font-family:'DM Mono',monospace;font-weight:400}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--acid);color:var(--acid);font-size:19px}.icon-button,.action-controls button,.modal-card button{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:500 11px 'DM Mono',monospace;letter-spacing:.12em;padding:12px 15px;cursor:pointer;backdrop-filter:blur(12px)}.icon-button span{color:var(--acid);margin-left:8px}.objective-card,.minimap-frame{position:absolute;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(12px)}.objective-card{top:78px;left:22px;width:min(310px,calc(100vw - 44px));padding:13px 15px;display:grid;gap:7px;font-size:13px}.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:.13em;color:var(--acid)}.minimap-frame{right:22px;top:78px;padding:10px}.minimap-frame canvas{display:block;margin-top:7px;width:150px;height:105px;background:#243e39}.interaction-prompt{position:absolute;left:50%;bottom:19%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--acid);padding:10px 14px;font:11px 'DM Mono',monospace;white-space:nowrap}.hint{position:absolute;bottom:max(17px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:20px;color:#d4e0d8;font:9px 'DM Mono',monospace;letter-spacing:.08em;text-shadow:0 2px 5px #000;white-space:nowrap}.touch-controls,.action-controls{display:none}.modal{position:absolute;inset:0;display:grid;place-items:center;background:rgba(3,8,10,.63);backdrop-filter:blur(5px);padding:22px}.modal[hidden],.interaction-prompt[hidden]{display:none}.modal-card{position:relative;width:min(510px,100%);padding:30px;background:#151d20;border:1px solid rgba(214,255,118,.38);box-shadow:0 18px 80px #0009}.modal-card h1{margin:9px 0 15px;font-size:clamp(24px,5vw,34px);letter-spacing:-.04em}.modal-card p{color:#c5d1c9;line-height:1.7;font-size:14px}.modal-card>button:not(.close-button){margin-top:16px;color:var(--acid)}.modal-card button span{margin-left:28px}.close-button{position:absolute;right:15px;top:15px;font:26px Manrope,sans-serif!important;padding:1px 9px!important;border:0!important;background:transparent!important}.muted{color:var(--muted)!important}.clue-list{display:grid;gap:10px;margin-top:22px}.clue{padding:14px;border:1px solid var(--line);background:#0f1518}.clue strong{display:block;color:var(--acid);font:11px 'DM Mono',monospace;letter-spacing:.08em;margin-bottom:7px}.clue p{margin:0;font-size:13px}.terminal-card{border-color:rgba(119,230,212,.4)}.terminal-card .eyebrow{color:var(--cyan)}.terminal-card>p,.terminal-card pre{font:11px 'DM Mono',monospace;color:#8edbcc;line-height:1.8}.terminal-card pre{padding:15px;background:#0b1011;border:1px solid var(--line);white-space:pre-wrap;min-height:85px}
.top-actions{display:flex;gap:8px;pointer-events:auto}#terminal-form{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px;color:var(--cyan);font:14px 'DM Mono',monospace}#terminal-form input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#baf7e8;font:14px 'DM Mono',monospace}#terminal-form button{margin:0!important;padding:9px 12px!important}.terminal-card pre{max-height:38vh;overflow:auto}.note-card{background:#f0e6b4;color:#28241c;border-color:#82734d}.note-card .eyebrow{color:#786742}.note-card p{color:#383226;font-size:18px}.note-card .close-button{color:#30291e}
@media(max-width:700px){.topbar{left:14px;right:14px}.objective-card{left:14px;top:65px;width:min(245px,calc(100vw - 165px));font-size:11px;padding:10px}.minimap-frame{right:14px;top:65px;padding:7px}.minimap-frame canvas{width:132px;height:96px}.minimap-frame .eyebrow{font-size:8px}.touch-controls{position:absolute;left:16px;bottom:max(45px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.touch-controls button{border:1px solid #e9f1e955;background:#101a1acc;color:white;font-size:15px;touch-action:none}.touch-controls button[data-move=up]{grid-column:2}.touch-controls button[data-move=left]{grid-column:1;grid-row:2}.touch-controls button[data-move=down]{grid-column:2;grid-row:2}.touch-controls button[data-move=right]{grid-column:3;grid-row:2}.action-controls{display:block;position:absolute;right:18px;bottom:max(65px,env(safe-area-inset-bottom))}.action-controls button{border-color:var(--acid);color:var(--acid);min-height:48px}.hint{display:none}.interaction-prompt{bottom:31%;font-size:10px}.top-actions .icon-button{padding:10px 9px;font-size:9px}}
