body{margin:0;padding:env(safe-area-inset,0);background:#000}p,button{font-family:"Press Start 2P",VT323,monospace}:root{--z-examine-editor: 50;--z-examine-rects: 90;--z-mission-panel: 100;--z-inventory-panel: 200;--z-dialogue: 300;--z-options-overlay: 400;--z-main-menu: 500;--z-action-menu: 600;--z-debug-indicator: 700;--z-toasts: 1000;--panel-bg: rgba(15, 10, 5, .6);--accent-color: #ff6600;--accent-color-rgb: 255, 102, 0;--button-border: #663311;--button-hover-border: #885522;--button-disabled-border: #332211;--button-text: #ffcc99;--button-selected-text: #ff9944;--button-disabled-text: #664433;--button-bg-start: #2a1a0a;--button-bg-end: #1f1408;--button-hover-bg-start: #3d2a1a;--button-hover-bg-end: #2d1f14;--button-selected-bg-start: #4d2a0a;--button-selected-bg-end: #3d2208;--button-disabled-bg-start: #1a1006;--button-disabled-bg-end: #0f0b04}#game-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}canvas{display:block}.debug-indicator{position:absolute;bottom:10px;right:10px;background:#f00c;color:#fff;padding:5px 10px;border-radius:3px;font-family:"Press Start 2P",VT323,monospace;font-size:10px;z-index:var(--z-debug-indicator);pointer-events:none}#dialogue.visible{transform:translateY(0)}#dialogue-text{padding-top:10px}#dialogue-text p{opacity:0;transition:opacity .3s;margin:0 0 4px}#dialogue-text p.visible{opacity:1}#dialogue-options{margin-top:8px}#dialogue-options button.visited:before{content:"✓ ";color:var(--accent-color);font-weight:700}#dialogue{position:absolute;bottom:40px;left:20px;right:20px;background:var(--panel-bg);color:var(--button-text);padding:10px;transition:transform .3s ease-out;box-sizing:border-box;border-top:2px solid var(--accent-color);border-bottom:2px solid var(--accent-color);min-height:6em;z-index:var(--z-dialogue)}.dialogue-close-button{position:absolute;top:-11px;right:8px;width:20px;height:20px;padding:0;font-size:16px;line-height:20px;font-weight:700;font-family:Arial,sans-serif;border:2px solid var(--accent-color);border-radius:3px;background:var(--panel-bg);color:var(--button-text);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000080,inset 0 1px rgba(var(--accent-color-rgb),.15);text-shadow:1px 1px 2px rgba(0,0,0,.8)}.dialogue-close-button:hover{background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);border-color:var(--button-hover-border);color:var(--accent-color);transform:scale(1.15);box-shadow:0 4px 10px #0009,0 0 8px rgba(var(--accent-color-rgb),.4),inset 0 1px rgba(var(--accent-color-rgb),.3)}#dialogue-speaker{border:2px solid var(--accent-color);display:inline-block;padding:2px 6px;position:absolute;top:0;left:10px;transform:translateY(-50%);font-family:"Press Start 2P",VT323,monospace;font-weight:700;background:var(--panel-bg);color:var(--button-text)}#choice-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:none;width:100%;opacity:0;transition:opacity .2s}#choice-overlay.visible{display:block;opacity:1}#choice-overlay.leaving{opacity:0}#choice-overlay p{margin-bottom:12px}#choice-overlay button.visited:before{content:"✓ ";color:var(--accent-color);font-weight:700}#dialogue-options button,#choice-overlay button{display:block;width:40%;margin:8px auto;padding:8px 16px;font-size:1.1em;box-sizing:border-box;border:2px solid var(--button-border);border-radius:8px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.8);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1)}#dialogue-next{width:auto}.dialogue-next-button{padding:8px 16px;font-size:14px;font-weight:700;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .2s ease;text-shadow:1px 1px 2px rgba(0,0,0,.8);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1);margin-top:8px}.dialogue-next-button:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border);transform:translateY(-1px);box-shadow:0 4px 8px #0006,inset 0 1px rgba(var(--accent-color-rgb),.2)}#dialogue-options button:hover,#choice-overlay button:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border);transform:translateY(-2px);box-shadow:0 4px 12px #0006,inset 0 1px rgba(var(--accent-color-rgb),.2)}#dialogue-options button.selected,#choice-overlay button.selected{border:2px solid var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text);box-shadow:0 0 15px rgba(var(--accent-color-rgb),.5),0 4px 12px #00000080,inset 0 1px rgba(var(--accent-color-rgb),.2);transform:scale(1.05)}#dialogue-options button:disabled,#choice-overlay button:disabled{background:linear-gradient(135deg,var(--button-disabled-bg-start) 0%,var(--button-disabled-bg-end) 100%);color:var(--button-disabled-text);border-color:var(--button-disabled-border);cursor:not-allowed;opacity:.6}#puzzle-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:space-around;padding-bottom:20px;box-sizing:border-box}.peg{position:relative;width:20%;height:80%;border-bottom:4px solid #fff;display:flex;flex-direction:column-reverse;align-items:center}.disk{height:20px;margin:2px 0;background:#888;border:1px solid #fff;box-sizing:border-box}#cheat-toggle{position:absolute;bottom:10px;right:10px;font-size:1.5em;background:none;border:none;color:#fff;cursor:pointer}#cheat-menu{position:absolute;bottom:50px;right:10px;background:#000c;color:#fff;font-family:"Press Start 2P",VT323,monospace;padding:10px;display:none}#cheat-menu button{display:block;width:100%;margin-top:5px;padding:5px}#action-menu{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:20px;background:var(--panel-bg);padding:15px 25px;border:2px solid var(--accent-color);border-radius:5px}#action-menu button{padding:12px 20px;font-size:1.1em;font-weight:700;min-width:80px;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.8);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1)}#action-menu button:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border);transform:translateY(-2px);box-shadow:0 4px 12px #0006,inset 0 1px rgba(var(--accent-color-rgb),.2)}#action-menu button.selected{border:2px solid var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text);box-shadow:0 0 15px rgba(var(--accent-color-rgb),.5),0 4px 12px #00000080,inset 0 1px rgba(var(--accent-color-rgb),.2);transform:scale(1.05)}.options-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:var(--z-options-overlay)}.options-panel{background:var(--panel-bg);padding:20px;border:3px solid var(--accent-color);border-radius:8px;min-width:300px;max-width:80%;box-shadow:0 0 30px rgba(var(--accent-color-rgb),.4),0 8px 32px #000c}.options-list{display:flex;flex-direction:column;gap:8px}.option-button{padding:12px 18px;font-size:16px;font-weight:700;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .2s ease;text-shadow:1px 1px 2px rgba(0,0,0,.8);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1)}.option-button:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border)}.option-button.selected{border:2px solid var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text);box-shadow:0 0 12px rgba(var(--accent-color-rgb),.3),0 2px 4px #00000080,inset 0 1px rgba(var(--accent-color-rgb),.1)}.option-button.visited:before{content:"✓ ";color:var(--accent-color);font-weight:700;margin-right:8px}.option-button.selected:not(.visited){background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text)}.option-button.selected.visited{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);color:var(--button-selected-text);border-color:var(--button-hover-border)}.option-button.selected.visited:before{content:"✓ ";color:var(--accent-color);font-weight:700;margin-right:8px}.action-menu-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-action-menu)}.action-menu-panel{position:relative;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);border:3px solid var(--accent-color);border-radius:12px;padding:25px;min-width:320px;box-shadow:0 0 30px rgba(var(--accent-color-rgb),.4),0 8px 32px #000c;text-align:center}.action-menu-close-button{position:absolute;top:10px;right:10px;width:32px;height:32px;background:var(--button-bg-start);border:2px solid var(--accent-color);border-radius:4px;color:var(--button-text);font-size:24px;font-family:sans-serif;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.action-menu-close-button:hover{background:var(--button-bg-end);border-color:var(--button-text);transform:scale(1.1);box-shadow:0 0 8px var(--accent-color)}.action-menu-close-button:active{transform:scale(.95);box-shadow:0 0 4px var(--accent-color)}.action-menu-title{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:18px;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.action-menu-section-title{color:var(--accent-color);font-family:"Press Start 2P",VT323,monospace;font-size:14px;font-weight:700;margin:10px 0 8px;padding:0 12px 4px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.action-menu-list{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.action-menu-empty{padding:14px 24px;text-align:center;font-family:"Press Start 2P",VT323,monospace;font-size:14px;color:var(--button-text);background:#0f0a0573;border:1px solid rgba(var(--accent-color-rgb),.25);border-radius:6px;text-shadow:1px 1px 2px rgba(0,0,0,.45)}.action-button{padding:12px 24px;font-size:16px;font-weight:700;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .2s ease;text-shadow:1px 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1)}.action-button:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.2)}.action-button.selected{border:2px solid var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text);box-shadow:0 0 12px rgba(var(--accent-color-rgb),.5),0 4px 12px #00000080,inset 0 1px rgba(var(--accent-color-rgb),.2);transform:scale(1.05)}.action-button.visited:before{content:"✓ ";color:var(--accent-color);font-weight:700;margin-right:8px}.action-button.selected.visited:before{content:"✓ ";color:var(--accent-color);font-weight:700;margin-right:8px}.action-button.unvisited{border-color:var(--accent-color);animation:unvisited-pulse 2s ease-in-out infinite}@keyframes unvisited-pulse{0%,to{box-shadow:0 0 5px rgba(var(--accent-color-rgb),.3)}50%{box-shadow:0 0 12px rgba(var(--accent-color-rgb),.5)}}.new-location-badge{color:var(--accent-color);font-weight:700;font-size:.85em;margin-right:8px}.starting-area-label{color:var(--accent-color);font-size:.8em;opacity:.8}.fast-travel-hint{color:var(--button-text);font-size:.85em;font-style:italic;opacity:.7;padding:8px 12px;text-align:center}.fast-travel-unavailable{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;opacity:.6;padding:12px;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.action-menu-separator{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--accent-color-rgb),.4) 20%,rgba(var(--accent-color-rgb),.4) 80%,transparent 100%);margin:12px 0}.action-button.fast-travel-button.disabled{opacity:.5;cursor:not-allowed;transform:none}.action-button.fast-travel-button.disabled:hover{transform:none;box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1)}.action-menu-hint{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;font-style:italic;margin-top:10px}.inventory-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-inventory-panel)}.debug-menu-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;overflow:auto;z-index:var(--z-debug-indicator)}.debug-menu-overlay .inventory-panel{max-width:1080px;width:min(1080px,95vw);max-height:calc(100vh - 48px);overflow-y:auto}.debug-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-start;margin-bottom:8px}.debug-tabs .menu-button,.debug-controls .menu-button{padding:6px 10px;font-size:14px}.debug-input,.debug-select{flex:1;min-width:200px;padding:6px 10px;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,#26170c,#1a1008);color:var(--button-text);box-shadow:0 1px 2px #00000059,inset 0 1px rgba(var(--accent-color-rgb),.12)}.debug-input::placeholder{color:#ffcc9980}.debug-select{flex:0 0 auto}.debug-menu-overlay .inventory-item{min-height:150px;padding:12px}.debug-save-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px;margin-bottom:4px;font-size:12px;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);transition:all .2s ease;text-shadow:1px 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1)}.debug-save-item-label{flex:1;min-width:0;font-size:12px}.panel-section{margin-top:8px;padding:10px;border-radius:10px;border:2px solid rgba(var(--accent-color-rgb),.22);background:radial-gradient(140% 140% at 20% 0%,rgba(var(--accent-color-rgb),.06),#0000002e 65%),linear-gradient(135deg,#2a1a0a,#1b1208);box-shadow:inset 0 1px rgba(var(--accent-color-rgb),.15),0 2px 8px #00000059}.panel-section>.inventory-list{margin-bottom:8px}.debug-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.inventory-panel{position:relative;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);border:3px solid var(--accent-color);border-radius:12px;padding:25px;min-width:320px;max-width:720px;width:min(720px,90vw);box-shadow:0 0 30px rgba(var(--accent-color-rgb),.4),0 8px 32px #000c;text-align:center}.inventory-title{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:18px;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.inventory-close-button{position:absolute;top:10px;right:10px;width:32px;height:32px;background:var(--button-bg-start);border:2px solid var(--accent-color);border-radius:4px;color:var(--button-text);font-size:24px;font-weight:700;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.inventory-close-button:hover{background:var(--button-bg-end);border-color:var(--button-text);transform:scale(1.1);box-shadow:0 0 8px var(--accent-color)}.inventory-close-button:active{transform:scale(.95);box-shadow:0 0 4px var(--accent-color)}.inventory-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;max-height:420px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--accent-color) rgba(0,0,0,.3)}.inventory-list.present-mode{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;max-height:240px;flex-wrap:nowrap;padding:8px 16px}.inventory-list.present-mode .inventory-item{flex-shrink:0;min-width:180px}.inventory-list::-webkit-scrollbar{width:12px}.inventory-list::-webkit-scrollbar-track{background:#0000004d;border-radius:6px}.inventory-list::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:6px;border:2px solid rgba(0,0,0,.3)}.inventory-list::-webkit-scrollbar-thumb:hover{background:var(--button-hover-border)}.inventory-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;font-size:14px;font-weight:700;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .2s ease;text-shadow:1px 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1);min-height:180px}.inventory-item:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.2)}.inventory-item.selected{border:2px solid var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text);box-shadow:0 0 12px rgba(var(--accent-color-rgb),.5),0 4px 12px #00000080,inset 0 1px rgba(var(--accent-color-rgb),.2);transform:scale(1.05)}.inventory-item.empty{opacity:.5;border-style:dashed;cursor:default}.inventory-item:disabled{cursor:default;pointer-events:none}.inventory-empty{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:16px;margin:20px 0;font-style:italic}.inventory-hint{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;font-style:italic;margin-top:10px}.inventory-item-content{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.inventory-item-image{width:96px;height:96px;object-fit:contain;flex-shrink:0}.inventory-item-name{flex:1;text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-item-id{text-align:center;width:100%;font-size:11px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-item-empty-label{font-family:"Press Start 2P",VT323,monospace;font-size:12px;text-transform:uppercase;letter-spacing:1px}.inventory-present-actions{display:flex;gap:16px;justify-content:center;margin-top:24px;padding-top:20px;border-top:2px solid rgba(var(--accent-color-rgb),.3)}.inventory-present-button,.inventory-cancel-button{padding:14px 28px;font-family:"Press Start 2P",VT323,monospace;font-size:16px;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px;border:2px solid;min-width:160px}.inventory-present-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border-color:#45a049;box-shadow:0 4px 6px #0000004d,inset 0 1px #fff3}.inventory-present-button:hover:not(:disabled){background:linear-gradient(135deg,#5cb85f,#4caf50);transform:translateY(-2px);box-shadow:0 6px 12px #4caf5066,inset 0 1px #ffffff4d}.inventory-present-button:disabled{background:linear-gradient(135deg,#666,#555);border-color:#555;opacity:.5;cursor:not-allowed}.inventory-cancel-button{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;border-color:#d32f2f;box-shadow:0 4px 6px #0000004d,inset 0 1px #fff3}.inventory-cancel-button:hover{background:linear-gradient(135deg,#e53935,#c62828);transform:translateY(-2px);box-shadow:0 6px 12px #f4433666,inset 0 1px #ffffff4d}.skip-puzzle-button{position:absolute;bottom:20px;right:20px;padding:10px 20px;background:#f00c;color:#fff;border:2px solid #fff;border-radius:6px;font-family:"Press Start 2P",VT323,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;z-index:var(--z-mission-panel)}.skip-puzzle-button:hover{background:red;transform:translateY(-2px);box-shadow:0 4px 12px #ff00004d}.examine-editor-overlay{position:relative;margin:16px auto;overflow:auto;width:fit-content}.examine-editor-panel{background:#000000b3;color:#fff;font-family:"Press Start 2P",VT323,monospace;padding:8px;font-size:12px;max-height:100%;overflow:auto}.examine-editor-panel label{margin-right:6px}.resize-handle{cursor:se-resize}.examine-editor-list{margin-top:8px;max-height:200px;overflow-y:auto}.examine-editor-list table{width:100%;border-collapse:collapse;font-size:12px}.examine-editor-list th,.examine-editor-list td{border:1px solid #fff;padding:2px 4px;text-align:right}.examine-editor-list tr.selected{background:#ff03}.examine-editor-list tr:hover{background:#ffffff1a;cursor:pointer}.examine-overlay{position:absolute;top:0;left:0;z-index:var(--z-examine-rects)}.main-menu-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;z-index:var(--z-main-menu)}.main-menu-panel{text-align:center;padding:25px 35px;background:var(--panel-bg);border:3px solid var(--accent-color);border-radius:12px;box-shadow:0 0 30px rgba(var(--accent-color-rgb),.4),0 8px 32px #000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px}.main-menu-welcome-banner{align-self:stretch;margin-bottom:16px;padding:12px 16px;background:linear-gradient(135deg,#3b82f626,#9333ea26);border:1px solid rgba(147,197,253,.3);border-radius:8px;font-size:14px;line-height:1.5;color:#e0e7ff;text-align:center;max-width:350px;font-family:VT323,monospace;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.main-menu-debug-banner{align-self:stretch;margin-bottom:16px;padding:10px 14px;border-radius:8px;border:1px solid rgba(var(--accent-color-rgb),.4);background:#140c06d9;color:#ffe6c9;text-align:left;font-size:13px;line-height:1.45;text-shadow:1px 1px 2px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:2px;font-family:VT323,monospace;overflow-wrap:anywhere}.main-menu-debug-heading{font-size:14px;font-weight:700;color:#ffd6a3;margin-bottom:4px}.main-menu-debug-label{color:#ffba7b}.main-menu-debug-value{color:#fff3e2}.main-menu-debug-toggle{margin-top:8px;padding:0;background:none;border:none;color:#ffd6a3;text-decoration:underline;cursor:pointer;font-size:12px;align-self:flex-start;font-family:VT323,monospace}.main-menu-debug-toggle:hover,.main-menu-debug-toggle:focus{color:#ffe9c9;outline:none}.main-menu-debug-toggle:active{color:#ffc278}.main-menu-list{display:flex;flex-direction:column;gap:12px;margin-bottom:0}.debug-save-scroll-container{display:flex;flex-direction:column;gap:12px;max-height:min(60vh,480px);overflow-y:auto;padding-right:6px}.debug-save-group{display:flex;flex-direction:column;gap:8px}.debug-save-group-button{display:flex;align-items:center;gap:8px;justify-content:flex-start}.debug-save-group-indicator{font-size:14px;color:#ffd6a3}.debug-save-group-items{display:flex;flex-direction:column;gap:8px;margin-left:20px}.debug-save-item-button{font-size:14px}.menu-button{padding:6px 12px;font-size:16px;font-weight:700;border:2px solid var(--button-border);border-radius:8px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.8);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1)}.menu-button:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border);transform:translateY(-2px);box-shadow:0 4px 12px #0006,inset 0 1px rgba(var(--accent-color-rgb),.2)}.menu-button.selected{border:2px solid var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text);box-shadow:0 0 15px rgba(var(--accent-color-rgb),.5),0 4px 12px #00000080,inset 0 1px rgba(var(--accent-color-rgb),.2);transform:scale(1.05)}.menu-button:disabled{background:linear-gradient(135deg,var(--button-disabled-bg-start) 0%,var(--button-disabled-bg-end) 100%);color:var(--button-disabled-text);border-color:var(--button-disabled-border);cursor:not-allowed;opacity:.6}.menu-buttons-container{position:absolute;bottom:0;right:20px;z-index:var(--z-action-menu);display:flex;align-items:center;gap:10px}.options-menu-button{font-size:12px;padding:6px 8px}.action-bar{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;background:var(--panel-bg);border:2px solid var(--accent-color);border-bottom:none;border-radius:8px 8px 0 0;z-index:var(--z-action-menu)}.action-bar-button{padding:6px 12px;font-size:16px;font-weight:700;font-family:"Press Start 2P",VT323,monospace;border:2px solid var(--button-border);border-radius:8px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.8);box-shadow:0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.1);min-width:80px}.action-bar-button:hover{background:linear-gradient(135deg,var(--button-hover-bg-start) 0%,var(--button-hover-bg-end) 100%);border-color:var(--button-hover-border);transform:translateY(-2px);box-shadow:0 4px 12px #0006,inset 0 1px rgba(var(--accent-color-rgb),.2)}.action-bar-button.active{border-color:var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);box-shadow:0 0 10px rgba(var(--accent-color-rgb),.4),0 2px 4px #0000004d,inset 0 1px rgba(var(--accent-color-rgb),.2)}.action-bar-button .hotkey{text-decoration:underline}.toast-container{position:fixed;top:5px;left:50%;transform:translate(-50%);z-index:var(--z-toasts);display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{opacity:0;transform:translateY(-20px);transition:all .3s ease-in-out}.toast.visible{opacity:1;transform:translateY(0)}.toast-content{background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);border:2px solid var(--accent-color);border-radius:8px;padding:12px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 12px #0000004d;min-width:350px}.toast-image{width:64px;height:64px;object-fit:cover;flex-shrink:0;image-rendering:pixelated}.toast-text{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.fx-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0;pointer-events:none;z-index:150;--fx-duration: .5s;--fx-color: rgba(0, 0, 0, .6);--fx-steps: 6;transition:opacity var(--fx-duration) ease-in-out}.fx-overlay-background{z-index:150}.fx-overlay-blur{z-index:151}.fx-overlay-foreground{z-index:152}.fx-overlay.fx-flash{background:#fff;animation:fx-flash var(--fx-duration) forwards}.fx-overlay.fx-tint{background:var(--fx-color);animation:fx-tint var(--fx-duration) forwards}.fx-overlay.fx-flicker{background:#fff;animation:fx-flicker var(--fx-duration) steps(var(--fx-steps),end) forwards}.fx-overlay.fx-blur{opacity:1;background:#0000001a;backdrop-filter:blur(var(--fx-blur-intensity));-webkit-backdrop-filter:blur(var(--fx-blur-intensity));animation:fx-blur var(--fx-duration) ease-in-out forwards}.fx-overlay.fx-blur-start{opacity:1;background:#0000001a;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);animation:fx-blur-start var(--fx-duration) ease-in-out forwards}.fx-overlay.fx-blur-end{opacity:1;background:#0000001a;backdrop-filter:blur(var(--fx-blur-intensity));-webkit-backdrop-filter:blur(var(--fx-blur-intensity));animation:fx-blur-end var(--fx-duration) ease-in-out forwards}.fx-overlay.fx-solid{opacity:1;background:#000}.puzzle-layer{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;flex-direction:column;z-index:1000}@keyframes fx-flash{0%{opacity:1}to{opacity:0}}@keyframes fx-tint{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}@keyframes fx-flicker{0%{opacity:0}to{opacity:1}}@keyframes fx-blur{0%{backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}20%{backdrop-filter:blur(var(--fx-blur-intensity));-webkit-backdrop-filter:blur(var(--fx-blur-intensity))}80%{backdrop-filter:blur(var(--fx-blur-intensity));-webkit-backdrop-filter:blur(var(--fx-blur-intensity))}to{backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}}@keyframes fx-blur-start{0%{backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{backdrop-filter:blur(var(--fx-blur-intensity));-webkit-backdrop-filter:blur(var(--fx-blur-intensity))}}@keyframes fx-blur-end{0%{backdrop-filter:blur(var(--fx-blur-intensity));-webkit-backdrop-filter:blur(var(--fx-blur-intensity))}to{backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}}@keyframes screen-shake{0%{transform:translate(-50%,-50%) translate(0)}20%{transform:translate(-50%,-50%) translate(-5px,5px)}40%{transform:translate(-50%,-50%) translate(5px,-5px)}60%{transform:translate(-50%,-50%) translate(-5px,-5px)}80%{transform:translate(-50%,-50%) translate(5px,5px)}to{transform:translate(-50%,-50%) translate(0)}}#game-container.shake{animation:screen-shake .5s}.act-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);opacity:0;transition:all .3s ease-in-out;pointer-events:none;z-index:var(--z-inventory-panel)}.act-overlay.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.act-overlay-content{background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);border:2px solid var(--accent-color);border-radius:8px;padding:16px 24px;text-align:center;box-shadow:0 4px 12px #0000004d}.act-overlay-title{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:24px;margin-bottom:8px}.act-overlay-desc{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:14px;margin-bottom:12px}.act-overlay-prompt{color:var(--accent-color);font-family:"Press Start 2P",VT323,monospace;font-size:10px;margin-top:12px;opacity:.8;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.4}}.mission-panel{position:fixed;left:0;top:0;max-height:60vh;overflow:auto;padding:10px;background:var(--panel-bg);color:var(--button-text);font-family:VT323,monospace;font-size:14px;border-radius:8px;z-index:var(--z-mission-panel);text-shadow:1px 1px 2px rgba(0,0,0,.8)}.mission-panel-title{font-weight:700;margin-bottom:12px;font-size:14px;color:var(--accent-color);text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.mission-node{display:flex;align-items:flex-start;gap:6px}.mission-node-icon{flex-shrink:0}.mission-node-title{flex:1}.mission-node.completed{color:var(--accent-color)}.mission-node.active{color:var(--button-selected-text)}@keyframes missionUnlock{0%{opacity:0;transform:translate(-20px) scale(.8)}50%{opacity:.8;transform:translate(5px) scale(1.05)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes missionGlow{0%,to{text-shadow:1px 1px 2px rgba(0,0,0,.8),0 0 5px rgba(var(--accent-color-rgb),.3)}50%{text-shadow:1px 1px 2px rgba(0,0,0,.8),0 0 15px rgba(var(--accent-color-rgb),.6),0 0 25px rgba(var(--accent-color-rgb),.3)}}.mission-node.newly-unlocked{animation:missionUnlock .8s cubic-bezier(.34,1.56,.64,1) forwards}.mission-node.newly-unlocked .mission-node-title{animation:missionGlow 1.5s ease-in-out .3s forwards}@keyframes missionStrikethrough{0%{text-decoration:none;opacity:1}50%{text-decoration:line-through;text-decoration-color:var(--accent-color);text-decoration-thickness:2px;opacity:1}to{text-decoration:line-through;text-decoration-color:var(--accent-color);text-decoration-thickness:2px;opacity:.7}}.mission-node.newly-completed .mission-node-title{animation:missionStrikethrough 1s ease-in-out forwards}.options-menu-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-action-menu)}.options-menu-panel{background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);border:3px solid var(--accent-color);border-radius:12px;padding:25px;min-width:320px;box-shadow:0 0 30px rgba(var(--accent-color-rgb),.4),0 8px 32px #000c;text-align:center}.options-menu-title{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:18px;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.options-menu-controls{display:flex;flex-direction:column;gap:12px}.save-load-slots{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.save-load-row{display:flex;align-items:center;gap:8px}.save-load-buttons{display:flex;gap:4px}.save-load-label{flex:1;text-align:left;color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.save-load-pagination{display:flex;justify-content:space-between;align-items:center;color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;margin-top:10px}.save-load-page-buttons{display:flex;gap:8px}.save-panel-root{display:flex;flex-direction:column;gap:12px;min-width:720px;max-width:1000px}.save-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.save-tabs{display:flex;gap:8px}.save-tab{padding:6px 10px;border:2px solid var(--button-border);border-radius:8px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;cursor:pointer}.save-tab.active{border-color:var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);color:var(--button-selected-text)}.save-content{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}.save-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow:auto;padding-right:4px}.save-empty{color:var(--button-text);opacity:.8;font-family:"Press Start 2P",VT323,monospace;font-size:12px}.save-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:2px solid var(--button-border);border-radius:8px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer;transition:all .2s ease}.save-row.selected{border-color:var(--accent-color);box-shadow:0 0 12px rgba(var(--accent-color-rgb),.4)}.most-recent-badge{display:inline-block;font-size:10px;color:var(--accent-color);background:rgba(var(--accent-color-rgb),.15);padding:2px 6px;border-radius:4px;margin-right:6px;border:1px solid rgba(var(--accent-color-rgb),.3);text-shadow:0 0 4px rgba(var(--accent-color-rgb),.5)}.save-row-main{display:flex;flex-direction:column;gap:4px;flex:1}.save-title{font-family:"Press Start 2P",VT323,monospace;font-size:12px}.save-title .editable{cursor:text;text-decoration:underline dotted rgba(var(--accent-color-rgb),.6)}.save-meta{font-family:"Press Start 2P",VT323,monospace;font-size:10px;opacity:.85}.save-row-actions{display:flex;gap:6px}.mini-button{padding:4px 6px;font-size:10px;border:2px solid var(--button-border);border-radius:6px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);cursor:pointer}.save-rename-input{padding:6px 8px;font-family:"Press Start 2P",VT323,monospace;font-size:12px;line-height:1.2;border:2px solid var(--button-border);border-radius:8px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);color:var(--button-text);width:100%;outline:none;appearance:none;box-shadow:inset 0 1px rgba(var(--accent-color-rgb),.12);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.save-rename-input:focus{border-color:var(--accent-color);background:linear-gradient(135deg,var(--button-selected-bg-start) 0%,var(--button-selected-bg-end) 100%);box-shadow:0 0 10px rgba(var(--accent-color-rgb),.35),inset 0 1px rgba(var(--accent-color-rgb),.18)}.save-rename-input::placeholder{color:var(--button-text);opacity:.65}.save-detail{display:flex;align-items:stretch}.save-detail-card{flex:1;border:2px solid var(--accent-color);border-radius:10px;background:linear-gradient(135deg,var(--button-bg-start) 0%,var(--button-bg-end) 100%);padding:12px;color:var(--button-text)}.save-detail-title{font-family:"Press Start 2P",VT323,monospace;font-size:14px;margin-bottom:8px}.save-detail-title:before{content:"Details — ";opacity:.75;font-size:12px}.save-detail-meta{font-family:"Press Start 2P",VT323,monospace;font-size:12px;display:flex;flex-direction:column;gap:4px;opacity:.9}.save-primary-bar{margin-top:12px;display:flex;gap:8px}.volume-control{display:flex;flex-direction:column;gap:8px;align-items:center}.volume-label{color:var(--button-text);font-family:"Press Start 2P",VT323,monospace;font-size:12px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.volume-slider{width:220px;height:36px;-webkit-appearance:none;appearance:none;background:transparent;outline:none}.volume-slider::-webkit-slider-runnable-track{background:linear-gradient(180deg,#ffffff47,#fff0) left / var(--progress, 0%) 100% no-repeat,linear-gradient(135deg,#ff7a1a,#ff5a00) left / var(--progress, 0%) 100% no-repeat,repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 2px,transparent 2px 10px),linear-gradient(135deg,#1a1a1a,#3a3a3a);border:2px solid var(--accent-color);height:14px;border-radius:0;box-shadow:inset 2px 2px #000000d9,inset 0 1px #ffffff2e,inset -2px -2px #ffffff2e,0 0 0 1px #ffffff1a}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:var(--accent-color);border:2px solid #fff;border-radius:0;cursor:pointer;box-shadow:1px 1px #0009,-1px -1px #ffffff47 inset;margin-top:-7px}.volume-slider::-webkit-slider-thumb:hover{background:var(--button-text)}.volume-slider::-moz-range-track{background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 2px,transparent 2px 10px),linear-gradient(135deg,#1a1a1a,#3a3a3a);border:2px solid var(--accent-color);height:14px;border-radius:0;box-shadow:inset 2px 2px #000c,inset -2px -2px #fff3,0 0 0 1px #ffffff1a}.volume-slider::-moz-range-progress{background:linear-gradient(180deg,#ffffff47,#fff0),linear-gradient(135deg,#ff7a1a,#ff5a00);height:14px;border:2px solid var(--accent-color);box-shadow:inset 2px 2px #0009,inset -2px -2px #ffffff26}.volume-slider::-moz-range-thumb{width:24px;height:24px;background:var(--accent-color);border:2px solid #fff;border-radius:0;cursor:pointer;box-shadow:1px 1px #0009,-1px -1px #ffffff47 inset}.volume-slider::-moz-range-thumb:hover{background:var(--button-text)}
