#hotspot-layer.debug-show .hotspot{background:rgba(255,0,0,.3)!important;border:2px dashed #f00!important;box-shadow:inset 0 0 10px rgba(255,0,0,.5)!important}#hotspot-layer.debug-show .hotspot:after{content:attr(data-label);position:absolute;top:-20px;left:0;background:red;color:#fff;font-size:10px;padding:2px 4px;white-space:nowrap;font-family:monospace}:root{color-scheme:light dark;--primary: hsl(30, 35%, 45%);--primary-light: hsl(30, 35%, 60%);--primary-dark: hsl(30, 35%, 30%);--secondary: hsl(25, 40%, 50%);--accent: hsl(45, 70%, 55%);--success: hsl(140, 50%, 50%);--warning: hsl(40, 90%, 50%);--bg-primary: hsl(35, 25%, 20%);--bg-secondary: hsl(35, 20%, 25%);--bg-elevated: hsl(35, 20%, 30%);--bg-ui: hsl(35, 30%, 35%);--border-dark: hsl(35, 25%, 15%);--border-light: hsl(35, 40%, 50%);--border-accent: hsl(45, 70%, 55%);--text-primary: hsl(45, 40%, 95%);--text-secondary: hsl(40, 30%, 80%);--text-tertiary: hsl(40, 25%, 65%);--verb-look: hsl(200, 70%, 65%);--verb-use: hsl(120, 60%, 60%);--verb-talk: hsl(340, 70%, 65%);--shadow-sm: 2px 2px 4px hsla(0, 0%, 0%, .3);--shadow-md: 3px 3px 8px hsla(0, 0%, 0%, .4);--shadow-lg: 4px 4px 12px hsla(0, 0%, 0%, .5);--transition-fast: .1s;--transition-base: .2s;--transition-slow: .3s;--ease-out: ease-out;--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--mobile-notice-offset: 0px}@property --gradient-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}#rotate-prompt{display:none!important}.rotate-content{text-align:center;padding:2rem;animation:pulse 2s ease-in-out infinite}.rotate-icon{font-size:4rem;margin-bottom:1.5rem;display:inline-block;animation:rotateHint 1.5s ease-in-out infinite}@keyframes rotateHint{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}#rotate-prompt h2{font-family:"Press Start 2P",monospace;font-size:1.2rem;color:var(--accent, #0ff);margin:0 0 1rem;text-shadow:0 0 10px var(--accent, #0ff)}#rotate-prompt p{font-family:"Press Start 2P",monospace;font-size:.7rem;color:#888;margin:0;line-height:1.6}*{box-sizing:border-box;font-family:"Press Start 2P",Courier New,monospace}html,body{margin:0;padding:0;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden}body{background:var(--bg-primary);background-attachment:fixed;color:var(--text-primary);display:flex;flex-direction:column;animation:fadeIn var(--transition-slow) var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}header.toolbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:4px solid var(--border-dark);background:var(--bg-ui);position:relative;z-index:100;box-shadow:var(--shadow-md);flex-shrink:0}header .title{font-family:"Press Start 2P",monospace;font-weight:400;font-size:.9rem;letter-spacing:.1em;color:var(--accent);text-shadow:2px 2px 0 var(--border-dark)}header .actions{display:flex;align-items:center;gap:.75rem}header .verbs{display:flex;gap:.5rem}header .verbs button,header .ghost{border:3px solid var(--border-dark);border-bottom:4px solid var(--border-dark);border-right:4px solid var(--border-dark);background:var(--bg-elevated);color:var(--text-primary);padding:.5rem 1rem;font-size:.65rem;font-family:"Press Start 2P",monospace;cursor:pointer;border-radius:0;transition:all var(--transition-fast) var(--ease-out);position:relative}header .ghost{text-transform:uppercase;letter-spacing:.05em}header .verbs button.active{background:var(--accent);border-color:var(--border-dark);color:var(--border-dark);box-shadow:inset 2px 2px 4px rgba(0,0,0,.3);transform:translateY(2px) translate(1px)}header button:hover{background:var(--primary-light);transform:translateY(-1px)}header button:active{transform:translateY(2px) translate(1px);box-shadow:inset 2px 2px 4px rgba(0,0,0,.3)}main{display:flex;justify-content:center;align-items:center;padding:.5rem;flex:1;width:100%;min-height:0;overflow:hidden}.scene-wrapper{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:0;border:none;box-shadow:none;background:transparent;overflow:hidden;gap:0;position:relative}.scene-wrapper:hover{transform:none;box-shadow:none}.game-content{display:flex;flex-direction:column;align-items:center;gap:0;transform-origin:center center;will-change:transform;backface-visibility:hidden}.scene{position:relative;width:1280px;height:720px;background:#000;overflow:hidden;cursor:default;border-radius:0;border:4px solid var(--border-dark);border-bottom:none;box-shadow:var(--shadow-lg);transform-origin:center center}#game-container{position:absolute;top:0;left:0;transform-origin:top left;will-change:transform}#background-layer{z-index:0;background-size:100% 100%;background-position:center;background-repeat:no-repeat;image-rendering:pixelated;image-rendering:crisp-edges}.layer{position:absolute;top:0;left:0;width:100%;height:100%}.verb-bar{display:flex;gap:8px;margin-right:15px;padding-right:15px;border-right:3px solid var(--border-dark);flex-shrink:0}.verb-btn{width:52px;height:52px;background:var(--bg-elevated);color:var(--text-primary);border:3px solid var(--border-dark);border-bottom:4px solid var(--border-dark);border-right:4px solid var(--border-dark);display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:0;padding:8px;transition:all var(--transition-fast) ease;box-shadow:inset 1px 1px 2px rgba(255,255,255,.1);flex-shrink:0}.verb-btn svg{width:24px;height:24px;fill:currentColor;pointer-events:none}.verb-btn:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:inset 1px 1px 2px rgba(255,255,255,.2)}.verb-btn.active{background:var(--accent);color:var(--border-dark);border-color:var(--border-dark);box-shadow:inset 2px 2px 4px rgba(0,0,0,.5);transform:translateY(2px) translate(1px)}.verb-btn.active:hover{transform:translateY(2px) translate(1px)}body[data-verb=walk]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="cyan"><path d="M13.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM9.8 8.9L7 23h2.1l1.8-8 2.1 2v6h2v-7.5l-2.1-2 .6-3C14.8 12 16.8 13 19 13v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1L6 8.3V13h2V9.6l1.8-.7z"/></svg>') 16 16,auto}body[data-verb=look]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="cyan"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>') 16 16,auto}body[data-verb=use]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="cyan"><path d="M10.5 4.5c.28 0 .5.22.5.5v6h1V4c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v7h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v7h1V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V17c0 3.31-2.69 6-6 6h-2c-3.31 0-6-2.69-6-6V9.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v6h1V5c0-.28.22-.5.5-.5z"/></svg>') 16 16,auto}body[data-verb=talk]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="cyan"><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z"/></svg>') 16 16,auto}body[data-verb=go]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="lime"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg>') 16 16,auto}body[data-verb=walk] .scene,body[data-verb=walk] #game-container,body[data-verb=walk] .hotspot,body[data-verb=walk] .inventory-slot,body[data-verb=look] .scene,body[data-verb=look] #game-container,body[data-verb=look] .hotspot,body[data-verb=look] .inventory-slot,body[data-verb=use] .scene,body[data-verb=use] #game-container,body[data-verb=use] .hotspot,body[data-verb=use] .inventory-slot,body[data-verb=talk] .scene,body[data-verb=talk] #game-container,body[data-verb=talk] .hotspot,body[data-verb=talk] .inventory-slot,body[data-verb=go] .scene,body[data-verb=go] #game-container,body[data-verb=go] .hotspot,body[data-verb=go] .inventory-slot{cursor:inherit}.hotspot[data-navigation=true]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="lime" stroke="black" stroke-width="1"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg>') 16 16,pointer!important}body.player-busy,body.player-busy *,body.player-busy .scene,body.player-busy #game-container,body.player-busy .hotspot,body.player-busy .inventory-slot{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><circle cx="16" cy="16" r="12" fill="none" stroke="%23ff3b30" stroke-width="3"/><line x1="9" y1="23" x2="23" y2="9" stroke="%23ff3b30" stroke-width="3" stroke-linecap="round"/></svg>') 16 16,not-allowed!important}.verb-command-icon{display:block;width:100%;height:100%;background-image:url(./icons-BNOLwVE8.png);background-repeat:no-repeat;background-size:200% 200%;image-rendering:pixelated;pointer-events:none}.verb-walk{background-position:0 0}.verb-look{background-position:100% 0}.verb-use{background-position:0 100%}.verb-talk{background-position:100% 100%}.dialogue-panel{display:none!important}.dialogue-line{position:absolute;font-family:Courier New,Consolas,monospace;font-size:22px;font-weight:700;line-height:1.5;text-align:center;white-space:pre-wrap;max-width:500px;z-index:2000;pointer-events:none;padding:16px 24px;border-radius:8px;background:rgba(0,0,0,.95);border:2px solid rgba(255,255,255,.3);text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,-2px 0 0 #000,2px 0 0 #000,0 -2px 0 #000,0 2px 0 #000,-3px -3px 0 #000,3px -3px 0 #000,-3px 3px 0 #000,3px 3px 0 #000,0 0 8px rgba(0,0,0,1),0 0 16px rgba(0,0,0,.8);animation:popIn .2s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:translate(-50%) scale(.8);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.dialogue-line[data-speaker=chaimi],.dialogue-line[data-speaker=player]{color:#ff6}.dialogue-line[data-speaker=gina]{color:#f3f;font-weight:900;font-size:24px}.dialogue-line[data-speaker=charlene]{color:#0ff}.dialogue-line[data-speaker=neil]{color:#6f6}.dialogue-line[data-speaker=narrator]{color:#ddd}.dialogue-line[data-speaker=default]{color:#fff}.password-text{color:#f33;font-weight:700;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 4px rgba(255,51,51,.5)}.dialogue-line[data-anchor-side=left]:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:rgba(0,0,0,.75)}.dialogue-line[data-anchor-side=right]:before{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:rgba(0,0,0,.75)}.dialogue-options-panel{position:fixed;bottom:20px;right:20px;transform:none;background:var(--bg-ui);border:4px solid var(--border-dark);border-radius:0;padding:24px 32px;min-width:450px;max-width:550px;z-index:3000;box-shadow:var(--shadow-lg);animation:dialogueSlideIn .3s ease-out}@keyframes dialogueSlideIn{0%{transform:translate(20px) translateY(20px);opacity:0}to{transform:translate(0) translateY(0);opacity:1}}.dialogue-options-panel h3{font-family:"Press Start 2P",Courier New,monospace;font-size:.75rem;font-weight:400;color:var(--accent);margin:0 0 16px;text-transform:uppercase;letter-spacing:.1em;border-bottom:3px solid var(--border-dark);padding-bottom:12px;text-align:center;text-shadow:1px 1px 0 var(--border-dark)}.dialogue-options-list{list-style:none;padding:0;margin:0}.dialogue-option{font-family:"Press Start 2P",Courier New,monospace;font-size:.65rem;font-weight:400;line-height:1.8;color:var(--text-primary);padding:12px 20px;margin:8px 0;cursor:pointer;border-left:4px solid transparent;transition:all .1s ease;border-radius:0}.dialogue-option:hover{color:var(--accent);background:var(--bg-elevated);border-left-color:var(--accent);padding-left:24px}.dialogue-option.exit-option{color:var(--text-secondary);margin-top:16px;border-top:3px solid var(--border-dark);padding-top:16px}.dialogue-option.exit-option:hover{color:var(--warning);border-left-color:var(--warning);background:var(--bg-elevated)}.hud-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:20;padding:1rem;display:flex;flex-direction:column;justify-content:space-between}.hud-panel{pointer-events:auto;background:var(--bg-ui);border:3px solid var(--border-dark);border-radius:0;padding:.75rem 1rem;box-shadow:var(--shadow-sm);transition:all var(--transition-fast) var(--ease-out);color:var(--text-primary);font-size:.7rem}.hud-panel:hover{background:var(--bg-elevated)}.feedback-panel{display:none;position:absolute;top:1rem;left:1rem;max-width:300px;font-size:.9rem;line-height:1.4;border-left:3px solid var(--accent)}.status-panel{display:none;position:absolute;top:1rem;right:1rem;flex-direction:column;gap:.5rem;min-width:150px;align-items:flex-end}.inventory-panel{width:1280px;max-width:100%;height:80px;background:var(--bg-ui);border:4px solid var(--border-dark);border-top:4px solid var(--border-light);border-radius:0;display:flex;align-items:center;justify-content:flex-start;padding:0 15px;box-sizing:border-box;z-index:30;overflow-x:auto;flex-shrink:0;box-shadow:var(--shadow-md);gap:0}.inventory-label{display:none}#inventory{display:flex;gap:12px;flex-wrap:nowrap;justify-content:flex-start;width:100%}.inventory-slot{position:relative;width:60px;height:60px;background:var(--bg-elevated);border:3px solid var(--border-dark);border-bottom:4px solid var(--border-dark);border-right:4px solid var(--border-dark);border-radius:0;padding:4px;display:flex;justify-content:center;align-items:center;flex-shrink:0;cursor:pointer;transition:all .1s ease;box-shadow:inset 2px 2px 3px rgba(0,0,0,.4)}.inventory-slot:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:inset 1px 1px 2px rgba(0,0,0,.2)}.inventory-slot.selected{background:var(--accent);border-color:var(--border-dark);box-shadow:inset 2px 2px 4px rgba(0,0,0,.5);transform:translateY(2px) translate(1px)}@keyframes pulse-selected{0%,to{box-shadow:0 0 8px var(--warning),inset 0 2px 4px rgba(0,0,0,.5)}50%{box-shadow:0 0 16px var(--warning),inset 0 2px 4px rgba(0,0,0,.5)}}.inventory-slot img{max-width:48px;max-height:48px;width:auto;height:auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.8))}.inventory-slot.just-added{animation:itemBounce .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes itemBounce{0%{transform:scale(0) translateY(-20px);opacity:0}50%{transform:scale(1.2) translateY(0);opacity:1}70%{transform:scale(.9)}to{transform:scale(1)}}.inventory-slot.dragging{opacity:.5;transform:scale(.9);border-color:var(--primary)}.inventory-slot.drag-over{border-color:var(--secondary);background:linear-gradient(135deg,#2a1a3a,#1a2044);box-shadow:0 0 12px var(--secondary),inset 0 0 8px rgba(200,0,255,.3);transform:scale(1.1)}.inventory-slot:after{content:attr(data-description);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(10px);background:rgba(10,10,20,.95);border:1px solid var(--accent);border-radius:4px;padding:6px 10px;font-size:11px;color:var(--text);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.5)}.inventory-slot:hover:after{opacity:1;transform:translate(-50%) translateY(0)}body[data-item-cursor=true],body[data-item-cursor=true] .scene,body[data-item-cursor=true] #game-container,body[data-item-cursor=true] .hotspot,body[data-item-cursor=true] #hotspot-layer,body[data-item-cursor=true] #character-layer,body[data-item-cursor=true] #background-layer{cursor:inherit!important}.state-list{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.state-list .badge{background:transparent;border:none;padding:0;color:var(--text-secondary);font-size:.75rem}.state-list .badge:hover{background:transparent;color:var(--text-primary);transform:none;box-shadow:none}.muted{color:var(--text-tertiary);font-size:.875rem;margin:0}footer{padding:.5rem 2rem;text-align:center;font-size:.55rem;color:var(--text-tertiary);border-top:4px solid var(--border-dark);background:var(--bg-ui);flex-shrink:0}@media(max-width:1024px){header .title{font-size:1rem}header .ghost{font-size:.6rem;padding:.4rem .8rem}}@media(max-width:720px){header{display:none}footer{display:none}main{padding:0;height:100%}.scene-wrapper{padding:0}.hud-layer{padding:.25rem}.hud-panel{padding:.4rem .6rem;font-size:.6rem}.feedback-panel{top:.25rem;left:.25rem;max-width:45%;font-size:.55rem;line-height:1.3}.status-panel{top:.25rem;right:.25rem;min-width:auto;display:none}.scene{border-width:2px}.inventory-panel{width:1280px;height:70px;border-width:2px;padding:0 8px;gap:0}.verb-bar{gap:4px;margin-right:8px;padding-right:8px;border-right-width:2px}.verb-btn{width:44px;height:44px;border-width:2px;padding:6px}.verb-btn svg{width:20px;height:20px}#inventory{gap:6px}.inventory-slot{width:48px;height:48px;border-width:2px}.inventory-slot img{max-width:38px;max-height:38px}.dialogue-panel{bottom:85px;left:2%;right:2%;max-width:96%;padding:8px 12px;font-size:.6rem}.dialogue-panel .speaker{font-size:.55rem;margin-bottom:4px}.dialogue-panel .text{font-size:.55rem;line-height:1.5}.dialogue-options-panel{bottom:10px;right:10px;left:10px;min-width:auto;max-width:none;padding:12px 16px}.dialogue-options-panel h3{font-size:.6rem;margin-bottom:8px;padding-bottom:8px}.dialogue-option{font-size:.55rem;padding:10px 12px;margin:4px 0;min-height:44px;display:flex;align-items:center}.badge{padding:.25rem .5rem;font-size:.6rem}}@media(max-width:480px){.feedback-panel{max-width:60%;font-size:.5rem}.inventory-panel{height:60px;padding:0 4px}.verb-bar{gap:2px;margin-right:6px;padding-right:6px}.verb-btn{width:38px;height:38px;padding:4px}.verb-btn svg{width:18px;height:18px}#inventory{gap:4px}.inventory-slot{width:42px;height:42px}.inventory-slot img{max-width:32px;max-height:32px}.dialogue-panel{bottom:70px;padding:6px 10px}.dialogue-panel .speaker{font-size:.5rem}.dialogue-panel .text{font-size:.5rem;line-height:1.4}.dialogue-option{font-size:.5rem;padding:8px 10px}}@media(max-height:500px)and (orientation:landscape){header,footer{display:none!important}main{padding:0;height:100%;height:100dvh}.scene-wrapper{padding:0;height:100%;height:100dvh;justify-content:flex-start;align-items:center}.inventory-panel{height:50px;padding:0 6px;flex-shrink:0}.verb-bar{gap:3px;margin-right:6px;padding-right:6px}.verb-btn{width:34px;height:34px;padding:4px;border-width:2px}.verb-btn svg{width:16px;height:16px}#inventory{gap:4px}.inventory-slot{width:36px;height:36px;border-width:2px}.inventory-slot img{max-width:28px;max-height:28px}.dialogue-panel{bottom:55px;padding:4px 8px;left:5%;right:5%;max-width:90%}.dialogue-panel .speaker{font-size:.45rem}.dialogue-panel .text{font-size:.45rem;line-height:1.3}.feedback-panel{font-size:.45rem;max-width:25%;padding:.25rem .4rem}.hud-panel{padding:.25rem .4rem}.scene{border-width:1px}.dialogue-options-panel{bottom:5px;right:5px;left:auto;padding:8px 12px;min-width:250px;max-width:350px}.dialogue-options-panel h3{font-size:.5rem;margin-bottom:6px;padding-bottom:6px}.dialogue-option{font-size:.45rem;padding:6px 8px;min-height:36px}}@media(max-height:500px)and (orientation:landscape)and (hover:none)and (pointer:coarse){.inventory-panel{display:none!important}header.toolbar,footer{display:none!important}.scene{border-width:0!important}.game-content{gap:0}}.mobile-notice{display:none;position:fixed;top:0;left:0;right:0;z-index:9200;padding:max(8px,env(safe-area-inset-top)) 12px 8px;background:rgba(0,0,0,.92);border-bottom:2px solid var(--border-dark);box-shadow:var(--shadow-sm)}.mobile-notice.hidden{display:none}.mobile-notice__content{display:flex;gap:12px;align-items:center;justify-content:space-between}.mobile-notice__content p{margin:0;font-size:.55rem;line-height:1.5;color:var(--text-secondary)}.mobile-notice__dismiss{border:2px solid var(--border-dark);background:var(--bg-elevated);color:var(--text-primary);padding:6px 10px;font-size:.55rem;cursor:pointer;min-height:32px;flex-shrink:0}@media(hover:none)and (pointer:coarse){.mobile-notice:not(.hidden){display:block}}#mobile-controls{display:none}@media(max-height:500px)and (orientation:landscape)and (hover:none)and (pointer:coarse){#mobile-controls{display:flex;position:fixed;bottom:0;left:0;right:0;height:50px;background:linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.8));z-index:9000;padding:4px 8px;padding-bottom:max(4px,env(safe-area-inset-bottom));gap:6px;align-items:center;justify-content:space-between;box-sizing:border-box}.mobile-verbs{display:flex;gap:6px;flex-shrink:0}.mobile-verb-btn{width:42px;height:42px;background:var(--bg-elevated);border:2px solid var(--border-dark);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .1s ease;-webkit-tap-highlight-color:transparent}.mobile-verb-btn.active{background:var(--accent);color:var(--border-dark);border-color:var(--accent);transform:scale(.95)}.mobile-verb-btn svg{width:20px;height:20px;fill:currentColor}.mobile-inventory{display:flex;gap:6px;flex:1;overflow-x:auto;overflow-y:hidden;padding:4px 8px;margin:0 8px;scrollbar-width:none;-ms-overflow-style:none}.mobile-inventory::-webkit-scrollbar{display:none}.mobile-inv-slot{width:40px;height:40px;min-width:40px;background:var(--bg-elevated);border:2px solid var(--border-dark);border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-inv-slot.selected{background:var(--accent);border-color:var(--warning);box-shadow:0 0 8px var(--warning)}.mobile-inv-slot img{max-width:32px;max-height:32px;image-rendering:pixelated;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.8))}.feedback-panel{position:fixed!important;top:calc(max(8px,env(safe-area-inset-top)) + var(--mobile-notice-offset));left:50%;transform:translate(-50%);max-width:80%;font-size:.65rem!important;padding:6px 12px!important;background:rgba(0,0,0,.85)!important;border-radius:4px;text-align:center;z-index:8000}.dialogue-panel{bottom:56px!important;left:10px!important;right:10px!important;max-width:none!important;padding:8px 12px!important;font-size:.6rem!important;background:rgba(0,0,0,.9)!important;border-radius:6px}.dialogue-panel .speaker{font-size:.55rem!important}.dialogue-panel .text{font-size:.6rem!important;line-height:1.4!important}.dialogue-options-panel{position:fixed!important;bottom:56px!important;left:10px!important;right:10px!important;max-width:none!important;max-height:calc(100dvh - 120px)!important;padding:10px!important;background:rgba(0,0,0,.95)!important;border-radius:8px;overflow-y:auto}.dialogue-options-panel h3{font-size:.6rem!important;margin-bottom:8px!important}.dialogue-option{font-size:.55rem!important;padding:12px 10px!important;min-height:44px!important;margin-bottom:6px!important;border-radius:4px;background:var(--bg-elevated)}.dialogue-option:active{background:var(--accent);color:var(--border-dark)}.scene-wrapper{height:calc(100dvh - 50px)!important;padding-bottom:0!important;display:flex!important;justify-content:center!important;align-items:center!important}main{height:calc(100dvh - 50px)!important}}@media(hover:none)and (pointer:coarse){.verb-btn:hover{transform:none;background:var(--bg-elevated)}.verb-btn.active:hover{transform:translateY(2px) translate(1px)}.inventory-slot:hover{transform:none;background:var(--bg-elevated)}.dialogue-option:hover{padding-left:20px}.hotspot{min-width:44px;min-height:44px}.scene,.inventory-panel,.verb-bar,.dialogue-panel{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{overscroll-behavior:none}}.editor-active .scene-wrapper{justify-content:flex-start;align-items:flex-start;padding:10px;overflow:auto}.editor-active .scene{overflow:visible!important;border:3px dashed var(--warning)!important;box-shadow:none!important}.editor-active .game-content{transform-origin:top left!important}.editor-active #game-container{cursor:crosshair;outline:1px dashed rgba(255,255,255,.3)}.editor-active .inventory-panel{opacity:.5;pointer-events:none}.selected{outline:2px solid var(--success);box-shadow:0 0 20px var(--success);z-index:1000!important}#editor-inspector{display:none;position:fixed;top:80px;right:20px;width:280px;max-height:calc(100vh - 100px);overflow-y:auto;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid var(--border-strong);border-radius:16px;padding:1.25rem;color:var(--text-primary);z-index:2000;font-family:monospace;box-shadow:var(--shadow-lg)}#editor-inspector h3{margin-top:0;color:var(--success);border-bottom:1px solid var(--border-subtle);padding-bottom:8px;font-family:Inter,sans-serif}#editor-inspector .row{display:flex;margin-bottom:8px;align-items:center;gap:8px}#editor-inspector label{width:70px;color:var(--text-secondary);font-size:.85rem}#editor-inspector input,#editor-inspector textarea{flex:1;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);padding:6px 10px;font-size:.875rem;transition:all var(--transition-fast) var(--ease-out)}#editor-inspector input:focus,#editor-inspector textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(185,56,250,.1)}#editor-inspector button{width:100%;margin-top:12px;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:8px;cursor:pointer;font-weight:500;transition:all var(--transition-fast) var(--ease-out)}#editor-inspector button:hover{background:var(--primary);color:var(--bg-primary);border-color:var(--primary)}.resize-handle{position:absolute;width:12px;height:12px;background:var(--success);border:2px solid var(--bg-primary);border-radius:50%;z-index:2001;transition:all var(--transition-fast) var(--ease-out)}.resize-handle:hover{transform:scale(1.3);box-shadow:0 0 10px var(--success)}.resize-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.resize-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.resize-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.resize-handle.se{bottom:-6px;right:-6px;cursor:se-resize}#asset-browser{margin-top:15px;border-top:1px solid var(--border-subtle);padding-top:12px;max-height:220px;overflow-y:auto}.asset-item{display:flex;align-items:center;padding:8px;cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:all var(--transition-fast) var(--ease-out);border-radius:6px}.asset-item:hover{background:var(--bg-elevated);transform:translate(4px)}.asset-item img{width:36px;height:36px;object-fit:contain;margin-right:12px;background:var(--bg-primary);border-radius:6px;padding:4px}.asset-item span{font-size:.8rem;word-break:break-all;color:var(--text-secondary)}body.editor-active .hotspot{border:2px solid hsla(0,100%,60%,.7);background-color:rgba(255,51,51,.15);transition:all var(--transition-fast) var(--ease-out)}body.editor-active .hotspot:hover{border-color:#f66;background-color:rgba(255,51,51,.25)}body.editor-active .hotspot:after{content:attr(data-id);position:absolute;top:0;left:0;background:rgba(0,0,0,.9);color:var(--text-primary);font-size:10px;padding:4px 6px;pointer-events:none;white-space:nowrap;border-radius:4px;font-family:monospace;border:1px solid var(--border-subtle)}.loading{opacity:0;animation:fadeIn var(--transition-slow) var(--ease-out) forwards}.glow{box-shadow:var(--shadow-glow)}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.letterbox-bar{position:absolute;left:0;width:100%;height:0;background:#000;z-index:1000;pointer-events:none;transition:height .5s ease-out}.letterbox-top{top:0}.letterbox-bottom{bottom:0}.letterbox-bar.active{height:60px}.transition-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:999;pointer-events:none;opacity:0;transition:opacity .4s ease-out}.fade-transition{background:#000}.fade-transition.active{opacity:1}.wipe-transition{background:linear-gradient(90deg,#000 50%,transparent 50%);background-size:200% 100%;background-position:100% 0;opacity:1;transition:background-position .6s ease-in-out}.wipe-transition.wipe-left.active{background-position:0% 0}.wipe-transition.wipe-right{background:linear-gradient(270deg,#000 50%,transparent 50%);background-size:200% 100%;background-position:100% 0}.wipe-transition.wipe-right.active{background-position:0% 0}.glitch-transition{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,255,.1) 2px,rgba(0,255,255,.1) 4px),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(255,0,255,.05) 3px,rgba(255,0,255,.05) 6px);animation:glitchBg .1s steps(3) infinite}.glitch-transition.active{opacity:1;background-color:rgba(0,0,0,.9)}@keyframes glitchBg{0%{transform:translate(0)}25%{transform:translate(-2px) skew(1deg)}50%{transform:translate(2px)}75%{transform:translate(-1px) skew(-.5deg)}to{transform:translate(0)}}@keyframes idleLookAround{0%,80%,to{transform:translate(-50%,-100%) scaleX(var(--player-scale, 3)) scaleY(var(--player-scale, 3))}10%,30%{transform:translate(-50%,-100%) scaleX(var(--player-scale, 3)) scaleY(var(--player-scale, 3)) translate(-3px)}50%,70%{transform:translate(-50%,-100%) scaleX(var(--player-scale, 3)) scaleY(var(--player-scale, 3)) translate(3px)}}#player-sprite{--player-scale: 3;--player-flip: 1;overflow:hidden;background-clip:content-box;clip-path:inset(0px 0px 0px 0px);transform:translate(-50%,-100%) scaleX(calc(var(--player-scale) * var(--player-flip))) scaleY(var(--player-scale))!important}#player-sprite.idle-bored{animation:idleBreathe 3s ease-in-out infinite}.item-pickup-floater{position:absolute;padding:8px 16px;background:linear-gradient(135deg,var(--success),var(--accent));color:#000;font-family:Orbitron,monospace;font-weight:700;font-size:14px;border-radius:20px;z-index:500;pointer-events:none;box-shadow:0 0 20px var(--success);transition:all .5s cubic-bezier(.68,-.55,.265,1.55);transform:translate(-50%,-50%) scale(1)}.item-pickup-floater.flying{transform:translate(-50%) scale(.5);opacity:0}.inventory-flash{animation:invFlash .3s ease-out}@keyframes invFlash{0%{box-shadow:0 0 0 0 var(--success)}50%{box-shadow:0 0 30px 10px var(--success)}to{box-shadow:0 0 0 0 var(--success)}}.vignette-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:998;opacity:0;transition:opacity .5s ease-out;background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,rgba(0,0,0,.4) 80%,rgba(0,0,0,.8) 100%)}.vignette-overlay.active{opacity:1}.dialogue-line.typing:after{content:"▊";animation:cursorBlink .5s steps(1) infinite;margin-left:2px;color:var(--accent)}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.scene.shaking{animation:shake .1s linear infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px) translateY(2px)}50%{transform:translate(5px) translateY(-2px)}75%{transform:translate(-3px) translateY(1px)}}.dialogue-line{animation:dialoguePop .2s var(--ease-bounce)}@keyframes dialoguePop{0%{opacity:0;transform:translate(-50%) scale(.8) translateY(10px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.dialogue-line.bubble-round{border-radius:20px}.dialogue-line.bubble-jagged{border-radius:4px;clip-path:polygon(0% 10%,5% 0%,15% 12%,25% 2%,35% 10%,45% 0%,55% 8%,65% 2%,75% 12%,85% 0%,95% 10%,100% 5%,100% 90%,95% 100%,85% 88%,75% 100%,65% 92%,55% 100%,45% 88%,35% 100%,25% 92%,15% 100%,5% 88%,0% 95%);padding:18px 24px;background:rgba(0,0,0,.98);border:3px solid rgba(255,51,255,.5)}.dialogue-line.bubble-square{border-radius:4px;font-family:Courier New,monospace}.dialogue-line.bubble-tech{border-radius:0;border:2px solid var(--accent);background:rgba(0,20,30,.95)!important;font-family:Orbitron,monospace;text-transform:uppercase;letter-spacing:1px}.dialogue-line.bubble-narrator{background:transparent!important;border:none!important;box-shadow:none!important;font-style:italic;color:rgba(255,255,255,.8);text-shadow:0 0 10px rgba(0,0,0,.8)}.dialogue-line.mood-angry{background:linear-gradient(135deg,#f44,#c00)!important;border-color:#f66!important;animation:dialoguePop .2s var(--ease-bounce),angerShake .1s ease-in-out 3}.dialogue-line[data-speaker=gina]{background:transparent!important;border:none!important;box-shadow:none!important;color:#f6f;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,-2px 0 0 #000,2px 0 0 #000,0 -2px 0 #000,0 2px 0 #000,0 0 10px rgba(255,102,255,.8);font-weight:600}.dialogue-line.mood-corporate{background:linear-gradient(135deg,#345,#234)!important;border-color:#567!important}.dialogue-line.mood-meta{background:linear-gradient(135deg,#1a1a2e,#16213e)!important;border:1px dashed var(--accent)!important;animation:metaGlow 2s ease-in-out infinite}@keyframes angerShake{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-1deg)}75%{transform:translate(-50%) rotate(1deg)}}@keyframes angerPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}@keyframes metaGlow{0%,to{box-shadow:0 0 10px var(--accent)}50%{box-shadow:0 0 20px var(--accent),0 0 30px var(--primary)}}@keyframes idleBreathe{0%,to{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3))}50%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(calc(var(--player-scale, 3) * 1.01))}}@keyframes idleLookAround{0%,80%,to{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3))}10%,30%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3)) translate(-3px)}50%,70%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3)) translate(3px)}}@keyframes idleTapFoot{0%,15%,30%,45%,to{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3))}7%,22%,37%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3)) translateY(-3px)}}@keyframes idleStretch{0%,to{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3))}30%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * .98 * var(--player-flip, 1))) scaleY(calc(var(--player-scale, 3) * 1.03))}60%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * 1.02 * var(--player-flip, 1))) scaleY(calc(var(--player-scale, 3) * .98))}}@keyframes idleCheckWatch{0%,to{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3))}20%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3)) rotate(-5deg)}40%,60%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3)) rotate(-5deg) translate(5px)}80%{transform:translate(-50%,-100%) scaleX(calc(var(--player-scale, 3) * var(--player-flip, 1))) scaleY(var(--player-scale, 3))}}#player-sprite.idle-breathe{animation:idleBreathe 3s ease-in-out infinite}#player-sprite.idle-look-around{animation:idleLookAround 4s ease-in-out infinite}#player-sprite.idle-tap-foot{animation:idleTapFoot 1.5s ease-in-out infinite}#player-sprite.idle-stretch{animation:idleStretch 4s ease-in-out}#player-sprite.idle-check-watch{animation:idleCheckWatch 3s ease-in-out}.subway-rush{background:#111;opacity:0}.subway-rush.train-approaching{opacity:1;animation:trainApproach .6s ease-in forwards}.subway-rush.train-passing{background:#000;opacity:1}.subway-rush.train-leaving{animation:trainLeave .6s ease-out forwards}@keyframes trainApproach{0%{clip-path:inset(0 100% 0 0);background:linear-gradient(90deg,#333 0%,#111 50%,transparent 100%)}to{clip-path:inset(0 0 0 0);background:#000}}@keyframes trainLeave{0%{clip-path:inset(0 0 0 0);background:#000}to{clip-path:inset(0 0 0 100%);background:linear-gradient(90deg,transparent 0%,#111 50%,#333 100%)}}.elevator-transition{background:transparent;display:flex;justify-content:center;align-items:center;opacity:1}.elevator-door{position:absolute;top:0;width:0;height:100%;background:linear-gradient(180deg,#444,#333,#222);border:2px solid #555;transition:width .8s ease-in-out}.elevator-door.left{left:0;border-right:4px solid #666}.elevator-door.right{right:0;border-left:4px solid #666}.elevator-transition.doors-closing .elevator-door{width:50%}.elevator-transition.doors-opening .elevator-door{width:0}.elevator-indicator{position:absolute;top:20px;left:50%;transform:translate(-50%);font-family:Orbitron,monospace;font-size:48px;color:#f60;text-shadow:0 0 10px #ff6600;z-index:1001;opacity:0}.elevator-transition.moving .elevator-indicator{opacity:1;animation:elevatorBlink .5s steps(1) infinite}@keyframes elevatorBlink{0%,50%{opacity:1}51%,to{opacity:.3}}.parallax-layer{position:absolute;top:0;left:0;width:200%;height:100%;pointer-events:none;background-repeat:repeat-x}.parallax-clouds{z-index:1;opacity:.6}.parallax-city{z-index:2;opacity:.8}.parallax-foreground{z-index:5}.verb-option{transition:transform .15s var(--ease-bounce),background .15s ease-out,box-shadow .15s ease-out}.verb-option:hover{transform:scale(1.15);box-shadow:0 0 20px var(--primary)}.verb-option:active{transform:scale(.95)}.verb-option .icon{transition:transform .2s var(--ease-bounce)}.verb-option:hover .icon{animation:verbIconBounce .3s ease-out}@keyframes verbIconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.inventory-item{transition:transform .15s var(--ease-bounce),box-shadow .15s ease-out;cursor:grab}.inventory-item:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 5px 20px rgba(0,255,255,.4);z-index:100}.inventory-item:active{cursor:grabbing;transform:scale(1.15)}.inventory-item.just-added{animation:itemBounceIn .5s var(--ease-bounce)}@keyframes itemBounceIn{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.2) rotate(10deg);opacity:1}80%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1) rotate(0)}}.inventory-item:after{content:attr(data-description);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-5px);background:rgba(0,0,0,.9);color:var(--text);padding:8px 12px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;border:1px solid var(--primary);z-index:200}.inventory-item:hover:after{opacity:1;transform:translate(-50%) translateY(-10px)}.scene.camera-drift{animation:cameraDrift 8s ease-in-out infinite}@keyframes cameraDrift{0%,to{transform:translate(0)}25%{transform:translate(2px,1px)}50%{transform:translateY(2px)}75%{transform:translate(-2px,1px)}}.scene.slow-zoom{transition:transform 3s ease-out}.time-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;mix-blend-mode:multiply;opacity:.3;transition:opacity 2s}.time-overlay.dusk{background:linear-gradient(180deg,rgba(255,150,50,.4),rgba(255,100,50,.3),rgba(100,50,100,.4))}.time-overlay.night{background:linear-gradient(180deg,rgba(20,20,60,.5),rgba(10,10,40,.6));mix-blend-mode:overlay}.time-overlay.dawn{background:linear-gradient(180deg,rgba(255,200,150,.3),rgba(255,150,100,.2))}.walk-dust{position:absolute;width:8px;height:8px;background:rgba(150,130,100,.6);border-radius:50%;pointer-events:none;animation:dustPuff .4s ease-out forwards}@keyframes dustPuff{0%{opacity:1;transform:scale(.5) translateY(0)}to{opacity:0;transform:scale(1.5) translateY(-20px)}}.walk-indicator{position:absolute;width:24px;height:24px;margin-left:-12px;margin-top:-12px;border:2px solid var(--accent);border-radius:50%;pointer-events:none;opacity:0;transform:scale(0);z-index:50;box-shadow:0 0 10px var(--accent),inset 0 0 10px rgba(0,255,255,.3)}.walk-indicator.active{opacity:1;animation:walkIndicatorPulse .6s ease-out forwards}@keyframes walkIndicatorPulse{0%{transform:scale(0);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(.8);opacity:0}}.walk-indicator:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px var(--accent)}.room-enter{animation:roomFadeIn .4s ease-out}@keyframes roomFadeIn{0%{opacity:0;filter:brightness(0)}to{opacity:1;filter:brightness(1)}}.skip-indicator{position:absolute;bottom:80px;right:20px;background:rgba(0,0,0,.7);color:var(--text);padding:8px 16px;border-radius:8px;font-family:Orbitron,monospace;font-size:12px;opacity:0;transition:opacity .3s;z-index:1100}.skip-indicator.visible{opacity:1}.skip-indicator .progress{display:inline-block;width:50px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin-left:8px;overflow:hidden}.skip-indicator .progress-fill{height:100%;background:var(--accent);width:0%;transition:width 50ms linear}body[data-subtitle-size=small] .dialogue-line{font-size:13px;padding:8px 12px}body[data-subtitle-size=large] .dialogue-line{font-size:20px;padding:14px 20px}body.reduced-motion,body.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body.reduced-motion .dialogue-line{animation:none!important;opacity:1!important}body.reduced-motion #player-sprite{transition:none!important}body.high-contrast{--text: #ffffff;--background: #000000}body.high-contrast .dialogue-line{background:#000;border:2px solid #ffffff;color:#fff}body.high-contrast .inventory-slot{background:#000;border:2px solid #ffffff}body.high-contrast .hotspot:after{border-color:#fff}body.high-contrast .verb-wheel button{background:#000;border:2px solid #ffffff;color:#fff}body.high-contrast .verb-wheel button:hover{background:#fff;color:#000}.loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;z-index:9999;background:rgba(0,0,0,.7);padding:24px 32px;border-radius:12px;border:1px solid var(--border-subtle);backdrop-filter:blur(10px)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:loadingSpin .8s linear infinite}@keyframes loadingSpin{to{transform:rotate(360deg)}}.loading-text{font-family:Orbitron,monospace;font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px}.lighting-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;mix-blend-mode:overlay;opacity:.6;transition:opacity 1s ease-in-out}.lighting-warm{background:radial-gradient(circle at 50% 50%,rgba(255,200,100,.2),rgba(255,150,50,.4));mix-blend-mode:soft-light}.lighting-cool{background:linear-gradient(180deg,rgba(100,150,255,.1),rgba(50,50,100,.5));mix-blend-mode:hard-light;opacity:.4}.lighting-neon{background:radial-gradient(circle at 80% 20%,rgba(255,0,255,.3) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(0,255,255,.3) 0%,transparent 50%);mix-blend-mode:screen;opacity:.5}.lighting-dark{background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(0,0,0,.8) 100%);mix-blend-mode:multiply;opacity:.8}.decor-item{transition:filter .2s ease}.decor-item.interactive:hover{filter:brightness(1.2) drop-shadow(0 0 5px rgba(255,255,255,.5));cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="cyan"><path d="M9 11.24V7.5C9 6.12 10.12 5 11.5 5S14 6.12 14 7.5v3.74c1.21-.81 2-2.18 2-3.74C16 5.01 13.99 3 11.5 3S7 5.01 7 7.5c0 1.56.79 2.93 2 3.74zM11.5 13c-2.33 0-4.31 1.46-5.11 3.5h10.22c-.8-2.04-2.78-3.5-5.11-3.5z"/></svg>') 16 16,pointer}.actor{transition:transform .3s ease}.anim-idle,.anim-idle_boardwalk,.anim-idle_beach{animation:actorBreathing 3s ease-in-out infinite}@keyframes actorBreathing{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.anim-talk,.anim-talk_boardwalk,.anim-talk_beach{animation:actorTalking .4s ease-in-out infinite}@keyframes actorTalking{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-1px) scale(1.01)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-1px) scale(.99)}}.anim-react{animation:actorReact .3s ease-out}@keyframes actorReact{0%{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}to{transform:translate(0)}}.anim-walk{animation:none}[data-id=charlene]{background-size:contain!important;background-position:center bottom!important;background-repeat:no-repeat!important}#virus-crash-overlay{font-family:Courier New,Fira Code,monospace!important}#virus-crash-overlay>div{text-shadow:0 0 10px currentColor,0 0 20px currentColor}body.editor-mode{overflow:auto!important;height:auto!important;max-height:none!important}body.editor-mode main{overflow:auto!important;height:auto!important;min-height:auto!important}body.editor-mode .scene-wrapper{overflow:visible!important;height:auto!important;min-height:auto!important}body.editor-mode .game-content{transform:none!important}body.editor-mode .scene{overflow:visible!important}body.portrait-mode{touch-action:pan-y}@media(orientation:portrait)and (hover:none)and (pointer:coarse){header.toolbar{display:none!important}footer{display:none!important}main{padding:0;height:100dvh}.scene-wrapper{height:100dvh;padding:0;justify-content:center;align-items:center}.inventory-panel{display:none!important}.scene{border-width:0!important;border-radius:0}#mobile-controls{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.85));z-index:9000;padding:6px 12px;padding-bottom:max(6px,env(safe-area-inset-bottom));gap:8px;align-items:center;justify-content:space-between;box-sizing:border-box}.mobile-verbs{display:flex;gap:8px;flex-shrink:0}.mobile-verb-btn{width:48px;height:48px;background:var(--bg-elevated);border:2px solid var(--border-dark);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-verb-btn.active{background:var(--accent);color:var(--border-dark);border-color:var(--accent)}.mobile-verb-btn svg{width:24px;height:24px;fill:currentColor}.mobile-inventory{display:flex;gap:8px;flex:1;overflow-x:auto;overflow-y:hidden;padding:4px 8px;scrollbar-width:none}.mobile-inventory::-webkit-scrollbar{display:none}.mobile-inv-slot{width:44px;height:44px;min-width:44px;background:var(--bg-elevated);border:2px solid var(--border-dark);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-inv-slot.selected{background:var(--accent);border-color:var(--warning);box-shadow:0 0 8px var(--warning)}.mobile-inv-slot img{max-width:36px;max-height:36px;image-rendering:pixelated}.scene-wrapper{height:calc(100dvh - 60px)!important}main{height:calc(100dvh - 60px)!important}.dialogue-line{max-width:85vw;font-size:18px;padding:12px 16px}.dialogue-options-panel{position:fixed!important;bottom:66px!important;left:8px!important;right:8px!important;max-width:none!important;min-width:auto!important;max-height:50vh!important;overflow-y:auto;padding:12px!important}.dialogue-options-panel h3{font-size:.65rem!important}.dialogue-option{font-size:.6rem!important;padding:14px 12px!important;min-height:48px!important}.feedback-panel{position:fixed!important;top:calc(max(12px,env(safe-area-inset-top)) + var(--mobile-notice-offset));left:50%;transform:translate(-50%);max-width:90%;font-size:.6rem!important;padding:8px 16px!important;background:rgba(0,0,0,.9)!important;border-radius:6px;text-align:center;z-index:8000}}@media(orientation:portrait)and (max-width:400px)and (hover:none)and (pointer:coarse){.dialogue-line{font-size:16px;max-width:90vw;padding:10px 12px}.mobile-verb-btn{width:42px;height:42px}.mobile-inv-slot{width:38px;height:38px;min-width:38px}.mobile-inv-slot img{max-width:30px;max-height:30px}}:root{--mobile-dock-height: 0px}.mobile-dialogue-settings-btn{display:none}body.mobile-layout{overflow:hidden;touch-action:manipulation}body.mobile-layout header.toolbar,body.mobile-layout footer{display:none!important}body.mobile-layout main{width:100vw!important;height:calc(100dvh - var(--mobile-dock-height))!important;min-height:0!important;padding:0!important;overflow:hidden}body.mobile-layout .scene-wrapper{position:relative!important;width:100vw!important;height:calc(100dvh - var(--mobile-dock-height))!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;align-items:flex-start!important;justify-content:center!important}body.mobile-layout .game-content{gap:0!important;margin:0!important;max-width:none!important;max-height:none!important}body.mobile-layout .scene{border:0!important;border-radius:0!important}body.mobile-layout .inventory-panel{display:none!important}body.mobile-layout #mobile-controls{display:flex!important;position:fixed;inset:auto 0 0;width:100%;height:auto!important;min-height:56px;padding:6px 8px max(6px,env(safe-area-inset-bottom));gap:6px;align-items:center;background:rgba(20,16,12,.97);border-top:3px solid var(--border-dark);box-shadow:0 -3px rgba(239,188,65,.25);z-index:9000}body.mobile-layout.portrait-mode #mobile-controls{min-height:64px}body.mobile-layout .mobile-verbs{display:grid;grid-template-columns:repeat(4,44px);gap:4px;flex:0 0 auto}body.mobile-layout .mobile-verb-btn,body.mobile-layout .mobile-dialogue-settings-btn{width:44px;height:44px;min-width:44px;min-height:44px;padding:6px;border:2px solid var(--border-dark);border-radius:4px;background:var(--bg-elevated);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}body.mobile-layout .mobile-verb-btn.active{background:var(--accent);color:var(--border-dark);border-color:var(--warning);transform:translate(1px,1px)}body.mobile-layout .mobile-inventory{display:flex;flex:1 1 auto;min-width:0;height:44px;gap:5px;margin:0;padding:0 4px;overflow-x:auto;overflow-y:hidden}body.mobile-layout .mobile-dialogue-settings-btn{display:inline-flex;flex:0 0 auto;font-size:.55rem}body.mobile-layout .feedback-panel{top:max(8px,env(safe-area-inset-top))!important;max-width:calc(100vw - 16px)!important}body.mobile-layout .dialogue-line{max-width:min(78vw,340px)}body.mobile-layout .dialogue-options-panel{position:fixed!important;right:8px!important;bottom:calc(var(--mobile-dock-height) + 8px)!important;left:8px!important;max-width:none!important;max-height:calc(100dvh - var(--mobile-dock-height) - 24px)!important;overflow-y:auto}.dialogue-settings-panel{position:fixed;right:12px;bottom:92px;width:min(330px,calc(100vw - 24px));padding:12px;display:grid;gap:8px;background:rgba(20,16,12,.98);border:3px solid var(--border-dark);box-shadow:var(--shadow-md);z-index:9500}.dialogue-settings-panel.hidden{display:none}.dialogue-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialogue-settings-heading h2{margin:0;font-size:.72rem;color:var(--accent)}.dialogue-settings-panel button{min-height:40px;padding:8px 10px;border:2px solid var(--border-dark);border-radius:3px;background:var(--bg-elevated);color:var(--text-primary);font-size:.55rem;line-height:1.4;text-align:left;cursor:pointer}.dialogue-settings-panel button:hover,.dialogue-settings-panel button:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.dialogue-settings-panel button:disabled{opacity:.45;cursor:default}.dialogue-settings-close{min-height:32px!important;text-align:center!important}body.mobile-layout .dialogue-settings-panel{right:8px;bottom:calc(var(--mobile-dock-height) + 8px);width:min(330px,calc(100vw - 16px));max-height:calc(100dvh - var(--mobile-dock-height) - 16px);overflow-y:auto}.dialogue-line{cursor:pointer}.dialogue-line:focus-visible{outline:4px solid var(--accent);outline-offset:4px}.video-caption-toggle{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-width:72px;min-height:44px;padding:8px 10px;border:2px solid #efbc41;border-radius:3px;background:rgba(0,0,0,.82);color:#fff3cf;font-size:.58rem;cursor:pointer;z-index:10010}.video-play-gate{position:fixed;top:50%;left:50%;min-width:220px;min-height:56px;padding:12px 18px;transform:translate(-50%,-50%);border:3px solid #efbc41;border-radius:3px;background:rgba(0,0,0,.9);color:#fff3cf;font-size:.7rem;cursor:pointer;z-index:10010}.video-load-error{position:absolute;top:50%;left:50%;z-index:3;display:grid;gap:16px;min-width:min(320px,calc(100vw - 32px));padding:20px;transform:translate(-50%,-50%);border:3px solid var(--border-dark);border-radius:3px;background:var(--bg-elevated);color:var(--text-primary);text-align:center}.video-load-error p{margin:0}.video-load-error button{min-height:44px;border:3px solid var(--border-dark);background:var(--accent-primary);color:var(--bg-primary);font:inherit;cursor:pointer}.video-play-gate:focus-visible,.video-caption-toggle:focus-visible,.video-load-error button:focus-visible{outline:3px solid #fff;outline-offset:3px}video::cue{color:#fff;background:rgba(0,0,0,.82);font-family:"Press Start 2P",monospace;font-size:4vh;line-height:1.45}body[data-caption-size=small] video::cue{font-size:3vh}body[data-caption-size=large] video::cue{font-size:5vh}.travel-map-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;background:#0a0a0a;display:flex;align-items:center;justify-content:center;overflow:hidden}.travel-map-container{position:relative;width:100%;height:100%;max-width:1280px;max-height:720px}.travel-map-background{width:100%;height:100%;object-fit:cover;filter:sepia(.3) contrast(1.1) brightness(.9)}.travel-map-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.travel-map-path{fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px currentColor)}.travel-map-path-dashed{fill:none;stroke-dasharray:8,4;opacity:.4}.travel-location-label{position:absolute;font-family:Orbitron,Share Tech Mono,monospace;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:6px 12px;background:rgba(0,0,0,.8);border:1px solid var(--accent, #00ffff);color:var(--accent, #00ffff);text-shadow:0 0 8px var(--accent, #00ffff);white-space:nowrap;transform:translate(-50%,-50%);z-index:10}.travel-location-label:before{content:"◆";margin-right:8px;opacity:.7}.travel-location-label.origin{border-color:var(--primary, #9d4edd);color:var(--primary, #9d4edd);text-shadow:0 0 8px var(--primary, #9d4edd)}.travel-location-label.destination{border-color:var(--secondary, #ff6b9d);color:var(--secondary, #ff6b9d);text-shadow:0 0 8px var(--secondary, #ff6b9d)}.travel-location-label.active:after{content:"";position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:currentColor;border-radius:50%;animation:location-blink .8s ease-in-out infinite}@keyframes location-blink{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.3;transform:translateY(-50%) scale(.7)}}.travel-map-icon{position:absolute;width:32px;height:32px;transform:translate(-50%,-50%);z-index:20;transition:transform .1s ease-out;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.travel-icon-subway{font-size:28px;text-align:center;line-height:32px;animation:icon-wobble .3s ease-in-out infinite}.travel-icon-walk{font-size:24px;text-align:center;line-height:32px;animation:icon-step .5s ease-in-out infinite}.travel-icon-taxi{font-size:26px;text-align:center;line-height:32px}@keyframes icon-wobble{0%,to{transform:translate(-50%,-50%) rotate(-2deg)}50%{transform:translate(-50%,-50%) rotate(2deg)}}@keyframes icon-step{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-3px)}}.travel-title-card{position:absolute;bottom:15%;left:50%;transform:translate(-50%);text-align:center;z-index:30;opacity:0;animation:title-fade-in .8s ease-out forwards}.travel-title-card h2{font-family:Orbitron,Share Tech Mono,monospace;font-size:42px;font-weight:900;text-transform:uppercase;letter-spacing:8px;color:#fff;text-shadow:0 0 20px var(--accent, #00ffff),0 0 40px var(--accent, #00ffff),2px 2px 0 #000,-2px -2px 0 #000;margin:0 0 10px;animation:title-glitch 3s ease-in-out infinite}.travel-title-card .subtitle{font-family:Inter,sans-serif;font-size:16px;font-weight:400;letter-spacing:4px;color:rgba(255,255,255,.7);text-transform:uppercase}@keyframes title-fade-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes title-glitch{0%,95%,to{text-shadow:0 0 20px var(--accent, #00ffff),0 0 40px var(--accent, #00ffff),2px 2px 0 #000,-2px -2px 0 #000}96%{text-shadow:-3px 0 var(--secondary, #ff6b9d),3px 0 var(--primary, #9d4edd),0 0 20px var(--accent, #00ffff)}97%{text-shadow:3px 0 var(--secondary, #ff6b9d),-3px 0 var(--primary, #9d4edd),0 0 20px var(--accent, #00ffff)}}.travel-map-crt{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.travel-map-crt:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);animation:scanline-flicker .1s linear infinite}.travel-map-crt:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.4) 100%)}@keyframes scanline-flicker{0%,to{opacity:1}50%{opacity:.98}}.travel-map-shake{animation:screen-shake .15s ease-in-out infinite}@keyframes screen-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,2px)}}.travel-skip-prompt{position:absolute;bottom:20px;right:20px;font-family:Inter,sans-serif;font-size:12px;color:rgba(255,255,255,.5);letter-spacing:1px;z-index:50;opacity:0;animation:skip-fade-in 1s ease-out 2s forwards}.travel-skip-prompt kbd{display:inline-block;padding:2px 6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:3px;font-family:inherit;margin:0 2px}@keyframes skip-fade-in{to{opacity:1}}.travel-progress{position:absolute;bottom:50px;left:50%;transform:translate(-50%);width:200px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;overflow:hidden;z-index:40}.travel-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary, #9d4edd),var(--accent, #00ffff));border-radius:2px;transition:width .3s ease-out;box-shadow:0 0 10px var(--accent, #00ffff)}.travel-segment-indicator{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;font-family:Orbitron,monospace;font-size:14px;color:rgba(255,255,255,.8);z-index:35;padding:8px 16px;background:rgba(0,0,0,.6);border-radius:20px;border:1px solid rgba(255,255,255,.2)}.travel-segment-indicator .icon{font-size:20px}.travel-segment-indicator .label{text-transform:uppercase;letter-spacing:2px}.travel-segment-subway .icon{color:#ff6b35}.travel-segment-subway{border-color:#ff6b35}.travel-segment-walk .icon{color:#0f8}.travel-segment-walk{border-color:#0f8}.travel-segment-taxi .icon{color:#fd0}.travel-segment-taxi{border-color:#fd0}.travel-fade-in{animation:travel-fade-in .5s ease-out forwards}.travel-fade-out{animation:travel-fade-out .5s ease-in forwards}@keyframes travel-fade-in{0%{opacity:0}to{opacity:1}}@keyframes travel-fade-out{0%{opacity:1}to{opacity:0}}#splash-screen{position:fixed;top:0;left:0;width:100%;height:100%;height:100dvh;background:#000;z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s ease;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#splash-screen.hidden{opacity:0;pointer-events:none}.splash-content{text-align:center;animation:fadeIn 1s ease-out;padding:1rem}.splash-title{font-family:"Press Start 2P",monospace;font-size:clamp(2rem,10vw,4rem);color:var(--primary);text-shadow:0 0 20px var(--primary-glow);margin:0 0 1rem;letter-spacing:-2px}.splash-subtitle{font-family:"Press Start 2P",monospace;font-size:clamp(.8rem,4vw,1.5rem);color:var(--text-secondary);margin:0 0 2rem;letter-spacing:4px}.splash-btn{font-family:"Press Start 2P",monospace;font-size:clamp(.8rem,3vw,1.2rem);padding:clamp(1rem,3vw,1.5rem) clamp(1.5rem,5vw,3rem);background:transparent;color:var(--accent);border:2px solid var(--accent);cursor:pointer;transition:all .2s ease;text-transform:uppercase;box-shadow:0 0 10px rgba(0,255,255,.2);min-height:48px;min-width:120px}.splash-btn:hover{background:var(--accent);color:#000;box-shadow:0 0 30px var(--accent);transform:scale(1.05)}@media(hover:none){.splash-btn:hover{background:transparent;color:var(--accent);transform:none}.splash-btn:active{background:var(--accent);color:#000;transform:scale(.98)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
