@font-face{font-family:Silkscreen;src:url('/fonts/Silkscreen-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--ink:#e1dfd4;--muted:#9aaaa5;--accent:#e7d0a4;--edge:#090f1c;--sky-inner:#14232b;--card:#14232b;--line:#55675b;--pixel:'Silkscreen',monospace;--game-bg:#172728;--game-line:#789184;--game-ink:#ece5ca;--game-dim:#b0c0aa;--game-gold:#e2bd79;--pixel-shadow:0 0 0 2px #091818,0 0 0 4px #839383,4px 6px 0 4px #0611119c}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--edge);color:var(--ink);font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:12px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border-radius:0;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--game-gold);outline-offset:4px}[hidden]{display:none!important}button:disabled{cursor:wait}
#world{position:relative;width:100%;height:100%;isolation:isolate;background:radial-gradient(ellipse at 50% 60%,var(--sky-inner),var(--edge) 80%)}#stage{position:absolute;inset:0;overflow:hidden}#scene-surface{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:960px;height:600px;will-change:transform,opacity;transition:transform .9s cubic-bezier(.55,.02,.6,1),opacity .85s ease;transform-origin:53.3% 63%}#world-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 90%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}#world.is-entering #scene-surface{transform:translate(-50%,-50%) scale(5);opacity:0}#world[data-scene=apartment] #scene-surface{visibility:hidden}
.scene-hotspot{position:absolute;background:transparent;border:2px solid transparent;padding:0;cursor:pointer}.scene-hotspot:hover,.scene-hotspot:focus-visible{background:#f8d08a15;border-color:var(--line)}.entrance span{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-15px);white-space:nowrap;background:var(--game-bg);color:var(--game-ink);border:2px solid var(--game-line);padding:10px 12px;font:12px/1.3 var(--pixel);box-shadow:3px 3px 0 #081616}.entrance span:after{content:'';position:absolute;top:calc(100% + 2px);left:calc(50% - 4px);width:8px;height:6px;background:var(--game-line)}.entrance i{font-style:normal;margin-left:6px}
#apartment-surface{position:absolute;inset:0;background:#0b1017}#apartment-canvas{width:100%;height:100%;display:block;image-rendering:auto;touch-action:none;cursor:default}#apartment-canvas:focus-visible{outline:2px solid var(--game-gold);outline-offset:-4px}#room-hotspots{position:absolute;inset:0;pointer-events:none}.room-hotspot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;background:none;border:0;pointer-events:auto;color:var(--game-ink);padding:0}.room-hotspot::before{content:'';position:absolute;left:18px;top:18px;width:8px;height:8px;border:2px solid #f2e4b8;background:#172728;box-shadow:2px 2px 0 #071514}.room-hotspot:hover::before,.room-hotspot:focus-visible::before{background:var(--game-gold)}.room-hotspot span{position:absolute;bottom:100%;left:50%;transform:translate(-50%,0);background:var(--game-bg);color:var(--game-ink);border:2px solid var(--game-line);box-shadow:3px 3px 0 #071514;font:10px/1.5 var(--pixel);white-space:nowrap;padding:6px 9px;opacity:0}.room-hotspot:hover span,.room-hotspot:focus-visible span,.room-hotspot.is-near span{opacity:1}.room-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 14vw #0003;background:linear-gradient(0deg,#07101975,transparent 23%)}
#transition-curtain{position:absolute;inset:0;background:#090f1c;opacity:0;pointer-events:none;z-index:5;transition:opacity .28s ease}#world.is-changing #transition-curtain{opacity:1}#loading-note{position:absolute;inset:44% 0 auto;text-align:center;color:var(--muted);font:12px/1.8 var(--pixel);pointer-events:none}#loading-note a{display:inline-block;margin-top:14px;color:var(--accent);pointer-events:auto}#world[data-ready=true] #loading-note{display:none}
#story-panel{position:absolute;right:30px;top:calc((100% - 190px)/2);transform:translateY(-50%);width:368px;max-width:calc(100% - 32px);max-height:calc(100% - 246px);overflow-y:auto;overscroll-behavior:contain;background:var(--game-bg);border:2px solid #b0b9a0;box-shadow:var(--pixel-shadow);padding:26px 24px 22px;z-index:4;color:var(--game-ink);animation:story-in .16s steps(3);scrollbar-color:#7f957d #172728;scrollbar-width:thin}
@keyframes story-in{from{opacity:0;translate:8px 0}to{opacity:1;translate:0 0}}
#close-story{position:absolute;right:9px;top:9px;width:28px;height:28px;padding:0;background:#253a34;border:2px solid #789184;box-shadow:2px 2px 0 #091818;color:#dddcc0;font:18px/1 var(--pixel)}#close-story:hover{background:#46604c}#story-title{font:400 21px/1.3 var(--pixel);color:#f2d5a0;margin:0 0 18px;letter-spacing:-.03em}#story-copy{font:12px/1.8 'SFMono-Regular',Consolas,'Liberation Mono',monospace;color:#d6deca}#story-copy p{margin:0 0 12px}#story-copy strong{font-weight:700;color:#f3e1bb}
#story-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}#story-actions button,#story-actions a,.music-links a{font:10px/1.6 var(--pixel);text-align:left;text-decoration:none;border:2px solid #627b64;background:#233b32;color:#e2e5c5;padding:10px 12px;box-shadow:2px 2px 0 #091818}#story-actions button::before{content:'› ';color:#c0ca92}#story-actions button:hover,#story-actions a:hover,.music-links a:hover{background:#3a5040;border-color:#c4c7a2}#story-actions .primary-action{background:#c6c590;color:#1b332e;border-color:#e0deac}#story-actions .primary-action::before{color:#1b332e}#story-actions .primary-action:hover{background:#ded5a1}#story-actions .primary-action:disabled{background:#43594b;color:#c8d4b7;border-color:#6e8469;box-shadow:none}#story-media:empty,#story-actions:empty{display:none}#story-media iframe{display:block;border:2px solid #718773;width:100%;height:176px;margin:18px 0 12px;background:#09171e}.music-links{display:flex;gap:8px;flex-wrap:wrap}.music-links a{font-size:9px;padding:7px 8px;flex:1}.wardrobe-swatches{display:flex;gap:10px;margin:18px 0 6px}.wardrobe-swatches span{width:48px;height:48px;border:3px solid #91a084;box-shadow:2px 2px 0 #071616;background:var(--swatch);image-rendering:pixelated}.wardrobe-swatches span:nth-child(2){background:repeating-linear-gradient(90deg,#51677a 0 2px,#5e7583 2px 3px)}.wardrobe-swatches span:nth-child(3){background:repeating-linear-gradient(0deg,#d4ccad 0 3px,#bdb799 3px 4px)}
.drink-order{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;border:2px solid #4e6857;background:#102220;padding:14px 12px;margin-top:20px}.pixel-martini{width:48px;height:48px;shape-rendering:crispEdges;opacity:.55}.drink-order.is-ready .pixel-martini{opacity:1}.drink-name{font:10px/1.7 var(--pixel);color:#e9d296}#drink-status{font:10px/1.7 'SFMono-Regular',Consolas,monospace;margin:5px 0 0;color:#b9c8ad;min-height:34px}.drink-progress{grid-column:1/-1;display:flex;gap:4px;height:6px}.drink-progress i{flex:1;background:#2a4139}.drink-progress i.filled{background:#b8c18b}
.host-journey{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:20px 0;padding:13px 8px;border-block:2px solid #4e6857;font:9px/1.5 var(--pixel);color:#e9d296}.host-journey i{color:#7f9b89;font-style:normal}.host-story,.texture-caption{font:12px/1.8 'SFMono-Regular',Consolas,monospace;color:#d6deca}.host-story p{margin:12px 0}.wardrobe-swatches button{width:64px;height:64px;border:3px solid #61785f;box-shadow:3px 3px #071616;background:repeating-linear-gradient(45deg,#354c42 0 2px,#2a3d35 2px 4px)}.wardrobe-swatches button:nth-child(2){background:repeating-linear-gradient(135deg,#51677a 0 2px,#7c939d 2px 4px)}.wardrobe-swatches button:nth-child(3){background:repeating-linear-gradient(0deg,#d4ccad 0 3px,#bdb799 3px 5px)}.wardrobe-swatches button[aria-pressed=true]{border-color:#e2bd79;box-shadow:3px 3px #071616,inset 0 0 0 3px #172728}.texture-caption{min-height:44px}
.recipe-book{border:2px solid #778872;background:#d7cba6;color:#263b32;padding:14px;box-shadow:4px 4px #0b1916;line-height:1.7}.recipe-book h2{font:13px/1.6 var(--pixel);margin:16px 0 12px;color:#30493b}.recipe-book button{border:2px solid #7e8769;background:#e8ddbb;color:#2d4538;padding:8px 9px;text-align:left;font:9px/1.6 var(--pixel);box-shadow:2px 2px #a69f81}.recipe-book button:hover{background:#f5ebc9;border-color:#405a43}.recipe-book button:focus-visible,.recipe-search:focus-visible{outline-color:#304e3e}.recipe-message{font-size:11px;line-height:1.8}.recipe-search-label{display:block;font:9px/1.5 var(--pixel);margin-bottom:8px}.recipe-search{width:100%;border:2px solid #7c876a;background:#f0e7cd;color:#243d31;padding:10px;font:12px/1.5 monospace;border-radius:0}.recipe-count,.recipe-glass{font:9px/1.6 var(--pixel);color:#526347}.recipe-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recipe-list button{min-height:48px;overflow-wrap:anywhere}.recipe-list>p{grid-column:1/-1;font-size:11px}.recipe-ingredients{list-style:none;margin:16px 0;padding:0;border-block:2px solid #a4a387}.recipe-ingredients li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #b9b294;padding:8px 0;font-size:11px}.recipe-ingredients li:last-child{border-bottom:0}.recipe-ingredients li span:last-child{text-align:right;flex-shrink:0;max-width:50%}.recipe-method{font-size:11px;line-height:1.9;white-space:pre-line}.recipe-source{font-size:9px;line-height:1.7;color:#526347;margin:16px 0 0;border-top:1px solid #aaa98b;padding-top:10px}
.world-footer{position:absolute;bottom:22px;left:16px;right:16px;z-index:3;text-align:center;pointer-events:none}.world-footer>p{font:10px/1.6 var(--pixel);color:var(--muted);margin:0 0 12px}#world[data-scene=apartment] .world-footer>p{display:table;margin:0 auto 12px;padding:7px 12px;color:#d8dfc4;background:var(--game-bg);border:2px solid #577461;box-shadow:2px 2px 0 #071514}#room-nav{pointer-events:auto;display:flex;align-items:stretch;justify-content:center;gap:3px;padding:5px;margin:0 auto 12px;width:max-content;max-width:100%;background:var(--game-bg);border:2px solid #b0b9a0;box-shadow:var(--pixel-shadow)}#room-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:76px;padding:10px 10px 8px;background:#263c33;border:2px solid #3c5848;color:#cdd9b9;font:10px/1 var(--pixel);white-space:nowrap}#room-nav svg{width:20px;height:20px;fill:currentColor;shape-rendering:crispEdges}#room-nav button:hover,#room-nav button[aria-pressed=true]{border-color:#ddc58d;color:#f2d5a0;background:#41553c}#room-nav button:active{translate:0 2px}.quiet-controls{display:flex;align-items:center;justify-content:center;gap:14px}#control-hint{font:9px/1.5 var(--pixel);color:#d6ddc4;text-shadow:2px 2px #11231c}#sound-toggle,#leave-apartment{pointer-events:auto;background:var(--game-bg);border:2px solid #68826c;color:#c9d4b7;box-shadow:2px 2px 0 #071514;padding:6px 8px}#leave-apartment{font:9px/1.3 var(--pixel)}#sound-toggle{width:30px;height:28px;padding:5px}#sound-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}#sound-toggle[aria-pressed=false] .sound-waves,#sound-toggle[aria-pressed=true] .sound-off{display:none}.touch-controls{display:none}
#portfolio-dialog{padding:0;border:2px solid #a9b29b;background:#0e1720;color:#e1dfd4;width:min(1240px,94vw);height:min(850px,92dvh);max-width:none;max-height:none;overflow:hidden;box-shadow:var(--pixel-shadow)}#portfolio-dialog::backdrop{background:#040b13d9}.portfolio-bar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:2px solid #577461;background:var(--game-bg)}.portfolio-bar>div{display:flex;align-items:center;gap:10px}.screen-dot{width:6px;height:6px;background:#b6d5ab}.portfolio-bar h2{font:10px/1.5 var(--pixel);margin:0}.portfolio-bar button{font:9px/1.4 var(--pixel);background:none;border:0;color:#ced2c6;padding:8px}.close-symbol{font-size:16px;margin-left:22px;vertical-align:-1px}#portfolio-frame{display:block;width:100%;height:calc(100% - 48px);border:0;background:#0b1720}.no-script{position:absolute;inset:40% 20%;z-index:10;background:var(--card);padding:24px;line-height:1.8}.no-script a{color:var(--accent)}
@media(max-width:650px){#story-panel{right:14px;left:14px;top:18px;transform:none;width:auto;max-width:none;max-height:calc(100% - 246px);padding:22px 20px 20px}#story-title{font-size:19px;margin-bottom:14px}#story-copy{font-size:11px;line-height:1.75}#story-media iframe{height:154px;margin-top:15px}.world-footer{bottom:20px}#world[data-scene=apartment] .world-footer{bottom:73px}#room-nav{gap:3px;padding:4px;margin-bottom:10px}#room-nav button{font-size:8px;padding:9px 4px 7px;min-width:46px;gap:7px}#room-nav svg{width:16px;height:16px}.world-footer>p{font-size:8px;line-height:1.5}#world[data-scene=apartment] .world-footer>p{margin-bottom:11px;padding:6px 8px}#control-hint{display:none}.quiet-controls{gap:12px}#leave-apartment{font-size:8px}.touch-controls{position:absolute;bottom:max(15px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px}.touch-controls button{width:44px;height:39px;background:var(--game-bg);border:2px solid #809679;box-shadow:3px 3px 0 #091818;color:#d4d9c3;font:18px/1 var(--pixel);touch-action:none;user-select:none}#portfolio-dialog{width:100vw;height:100dvh;border:0;margin:0}.portfolio-bar{padding:0 10px}.portfolio-bar h2,.portfolio-bar button{font-size:8px}.close-symbol{margin-left:7px}.entrance span{font-size:11px;padding:9px 10px}.drink-order{margin-top:14px;padding:12px}.drink-name{font-size:9px}#story-actions button{font-size:9px}}
@media(pointer:coarse) and (min-width:651px){.touch-controls{position:absolute;display:flex;left:18px;bottom:20px;z-index:3;gap:7px}.touch-controls button{width:43px;height:40px;background:var(--game-bg);border:2px solid #809679;box-shadow:3px 3px 0 #091818;color:#d4d9c3;font:18px/1 var(--pixel);touch-action:none;user-select:none}}
@media(max-height:600px) and (min-width:651px){#story-panel{top:16px;bottom:16px;transform:none;max-height:calc(100% - 32px);width:330px;left:auto}.world-footer{bottom:14px;left:64px;right:auto}#world[data-scene=apartment] .world-footer{bottom:14px}#control-hint,.world-footer>p{display:none!important}.quiet-controls{justify-content:flex-start}#room-nav button{min-width:50px;font-size:8px;padding:7px 6px}#room-nav svg{width:16px;height:16px}.touch-controls{display:flex;position:absolute;left:12px;bottom:14px;transform:none;flex-direction:column;gap:4px}.touch-controls button{width:32px;height:30px;background:var(--game-bg);border:2px solid #809679;color:#d4d9c3;touch-action:none;user-select:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-height:600px) and (min-width:651px) and (max-width:800px){#story-panel{right:16px;width:calc(100% - 330px);padding:20px 16px}#story-title{font-size:18px}#room-nav{display:grid;grid-template-columns:repeat(3,62px)}#room-nav button{min-width:0;padding:9px 4px;font-size:8px}.world-footer{left:70px}.drink-order{grid-template-columns:32px 1fr;gap:8px;padding:10px}.pixel-martini{width:32px;height:32px}}
@media(max-width:370px){#room-nav{width:100%}#room-nav button{min-width:0;flex:1;font-size:7px;padding:8px 3px}#room-nav svg{width:14px;height:14px}.world-footer{left:13px;right:13px}#story-panel{padding:20px 16px}#story-title{font-size:18px}}

/* Cursor capture keeps the view clear; Escape restores all place/menu controls. */
#look-around{pointer-events:auto;background:var(--game-bg);border:2px solid #8a9c7d;color:#e7dfbd;box-shadow:2px 2px 0 #071514;padding:6px 8px;font:9px/1.3 var(--pixel)}
#look-target{position:absolute;left:50%;top:calc(50% + 22px);transform:translateX(-50%);max-width:90%;margin:0;padding:7px 10px;border:2px solid var(--game-line);background:var(--game-bg);color:var(--game-ink);font:10px/1.5 var(--pixel);text-align:center;pointer-events:none}
#look-target:empty{display:none}
#world.is-looking #room-hotspots,#world.is-looking #room-nav,#world.is-looking #scene-hint,#world.is-looking #touch-controls,#world.is-looking .quiet-controls>button{visibility:hidden;pointer-events:none}
#world.is-looking #apartment-canvas{cursor:none;outline:none}




#world.is-looking #control-hint{position:fixed;left:16px;right:16px;bottom:24px;text-align:center}
@media(pointer:coarse){#look-around{display:none}#apartment-canvas{cursor:default}}

/* Touch exploration puts destinations within one tap and keeps the view uncluttered. */
#explore-toggle,#walk-toggle{display:none}
#world[data-mobile=true] #look-around{display:none}
#world[data-mobile=true] #apartment-canvas{cursor:grab}
#world[data-mobile=true] .world-footer{inset:auto max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));width:auto}
#world[data-mobile=true][data-scene=apartment] .world-footer>p{display:none!important}
#world[data-mobile=true] .quiet-controls{display:flex;gap:8px;justify-content:center;align-items:center}
#world[data-mobile=true] .quiet-controls>button{min-height:44px;font:10px/1.4 var(--pixel);border:2px solid #81947b;box-shadow:3px 3px #0a1918;background:#172728f5;color:#eee5c8;padding:10px 12px;pointer-events:auto}
#world[data-mobile=true] #explore-toggle,#world[data-mobile=true] #walk-toggle{display:block}
#world[data-mobile=true] #explore-toggle{background:#d4c391;color:#21392e;border-color:#eee0b6;min-width:110px;display:flex;justify-content:space-between;gap:14px}
#world[data-mobile=true] #walk-toggle[aria-pressed=true]{border-color:#e5cb8e;color:#f2d39a}
#world[data-mobile=true] #sound-toggle{width:44px;padding:12px}
#world[data-mobile=true] #leave-apartment{position:fixed;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));min-height:44px;opacity:.9}
#world[data-mobile=true] #control-hint{display:block;position:absolute;bottom:56px;left:0;right:0;font:8px/1.5 var(--pixel);text-align:center;color:#fff0cb;text-shadow:1px 2px 2px #092020}
#world[data-mobile=true] #room-nav{display:none;margin:0 0 14px;padding:8px;width:min(420px,100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;background:#172728f5}
#world[data-mobile=true].is-exploring #room-nav{display:grid}
#world[data-mobile=true].is-exploring #control-hint{display:none}
#world[data-mobile=true] #room-nav button{min-width:0;min-height:66px;font:8px/1.3 var(--pixel);padding:10px 3px;gap:8px}
#world[data-mobile=true] #room-nav svg{width:20px;height:20px}
#world[data-mobile=true] #touch-controls{display:none;position:absolute;left:max(16px,env(safe-area-inset-left));bottom:94px;transform:none;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:5px}
#world[data-mobile=true].is-walking #touch-controls{display:grid}
#world[data-mobile=true] #touch-controls button{width:44px;height:44px;min-width:44px;min-height:44px;background:#172728e8;border:2px solid #809679;color:#f0dfb6;box-shadow:2px 2px #071616;font:18px/1 var(--pixel);touch-action:none}
#world[data-mobile=true] #touch-controls button[data-move=forward]{grid-column:2;grid-row:1}
#world[data-mobile=true] #touch-controls button[data-move=left]{grid-column:1;grid-row:2}
#world[data-mobile=true] #touch-controls button[data-move=back]{grid-column:2;grid-row:2}
#world[data-mobile=true] #touch-controls button[data-move=right]{grid-column:3;grid-row:2}
#world[data-mobile=true].is-exploring #touch-controls,#world[data-mobile=true].story-open #touch-controls{display:none}
#world[data-mobile=true].story-open .world-footer{visibility:hidden;pointer-events:none}
#world[data-mobile=true] #story-panel{inset:auto 10px max(12px,env(safe-area-inset-bottom));transform:none;width:auto;max-width:none;max-height:calc(100dvh - max(28px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)));padding:24px 20px;z-index:6;border-color:#bac0a5}
#world[data-mobile=true] #close-story{width:44px;height:44px;right:7px;top:7px;font-size:22px}
#world[data-mobile=true] #story-title{font-size:20px}
#world[data-mobile=true] #story-copy,#world[data-mobile=true] .host-story,#world[data-mobile=true] .texture-caption{font-size:13px;line-height:1.8}
#world[data-mobile=true] #story-actions button,#world[data-mobile=true] .recipe-book button,#world[data-mobile=true] .music-links a{min-height:44px}
#world[data-mobile=true] .room-hotspot span{max-width:calc(100vw - 30px);white-space:normal;width:max-content;font-size:8px}
#world[data-mobile=true] .room-hotspot.is-near span{opacity:0}
#world[data-mobile=true] .room-hotspot:focus-visible span{opacity:1}
@media(max-height:500px){#world[data-mobile=true] #room-nav{width:min(560px,calc(100vw - 44px));grid-template-columns:repeat(7,minmax(0,1fr))}#world[data-mobile=true] #room-nav button{min-height:58px}#world[data-mobile=true] #touch-controls{bottom:78px}#world[data-mobile=true] #story-panel{left:auto;width:min(480px,calc(100% - 24px))}}


#story-title{padding-right:34px}
#scene-hint:empty{display:none!important}

@media(max-height:500px){#world[data-mobile=true] #room-nav{grid-template-columns:repeat(8,minmax(0,1fr))}}

/* Quiet apartment controls: destinations are a deliberate choice, not permanent captions. */
#world[data-scene=apartment] .world-footer{left:24px;right:24px;bottom:24px;width:auto}
#world[data-scene=apartment] #room-nav{display:none;position:absolute;bottom:58px;left:50%;transform:translateX(-50%);width:min(600px,100%);box-sizing:border-box;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:10px;background:#1c2b25ed;border:1px solid #dac8a649;border-radius:12px;box-shadow:0 16px 44px #0003;backdrop-filter:blur(20px)}
#world[data-scene=apartment].is-exploring #room-nav{display:grid}
#world[data-scene=apartment] #room-nav button{min-width:0;min-height:70px;padding:10px 5px;border:0;border-radius:7px;background:transparent;font:11px/1.2 system-ui,sans-serif;letter-spacing:.01em;color:#eee6d8}
#world[data-scene=apartment] #room-nav button:hover,#world[data-scene=apartment] #room-nav button:focus-visible{background:#e8ddbf19}
#world[data-scene=apartment] .quiet-controls{gap:8px;justify-content:center}
#world[data-scene=apartment] .quiet-controls>button{min-height:40px;box-sizing:border-box;border:1px solid #d8c5a650;border-radius:24px;background:#1c2b25c9;color:#f2eadb;box-shadow:0 3px 18px #0002;padding:10px 16px;font:12px/1.2 system-ui,sans-serif;backdrop-filter:blur(16px);pointer-events:auto}
#world[data-scene=apartment] #explore-toggle{display:flex;align-items:center;gap:18px;min-width:110px;justify-content:space-between}
#world[data-scene=apartment] #look-around{display:none}
#world[data-scene=apartment] #leave-apartment{position:fixed;left:max(24px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top))}
#world[data-scene=apartment] #sound-toggle{position:fixed;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));width:40px;padding:11px}
#world[data-scene=apartment] #control-hint{position:absolute;left:0;right:0;bottom:56px;display:block;font:11px/1.5 system-ui,sans-serif;letter-spacing:.02em;text-align:center;color:#f4eddd;text-shadow:0 2px 8px #000;opacity:0;transition:opacity .7s;pointer-events:none}
#world[data-scene=apartment].show-controls #control-hint{opacity:1}
#world[data-scene=apartment].is-exploring #control-hint{opacity:0}
#world[data-scene=apartment] .room-hotspot{width:auto;min-width:44px;min-height:44px;height:auto;padding:0;border-radius:6px}
#world[data-scene=apartment] .room-hotspot::before{display:none}
#world[data-scene=apartment] .room-hotspot span{position:static;display:block;transform:none;opacity:1;white-space:nowrap;padding:11px 16px;border:1px solid #e6d5b530;border-radius:6px;background:#192820ce;box-shadow:0 4px 20px #0002;backdrop-filter:blur(14px);color:#f6ecda;font:12px/1.4 system-ui,sans-serif}
#world[data-scene=apartment] .room-hotspot span small{display:block;font:10px/1.3 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.16em;text-align:left;margin-bottom:4px;color:#f3e1bb}
#world[data-scene=apartment] .room-hotspot span em{display:block;font:italic 19px/1.25 Georgia,serif;text-align:left}
#world[data-scene=apartment] .room-hotspot:hover span{background:#253b2fec}
#world[data-scene=apartment] #look-target{padding:10px 15px;border:1px solid #e6d5b530;border-radius:6px;background:#192820ce;font:12px/1.4 system-ui,sans-serif;box-shadow:0 4px 20px #0002;color:#f6ecda}
#world[data-mobile=true][data-scene=apartment] .world-footer{left:16px;right:16px;bottom:max(18px,env(safe-area-inset-bottom))}
#world[data-mobile=true][data-scene=apartment] #room-nav{grid-template-columns:repeat(3,minmax(0,1fr));bottom:52px;margin:0;width:min(360px,100%)}
#world[data-mobile=true][data-scene=apartment] .quiet-controls>button{min-height:44px;font-size:12px}
#world[data-mobile=true][data-scene=apartment] #leave-apartment{top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left))}
#world[data-mobile=true][data-scene=apartment] #sound-toggle{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:44px}
#world[data-mobile=true][data-scene=apartment] .room-hotspot span{white-space:normal;max-width:250px;font-size:12px}
#world[data-mobile=true][data-scene=apartment] .room-hotspot span em{font-size:18px}
@media(prefers-reduced-motion:reduce){#world[data-scene=apartment] #control-hint{transition:none}}

/* Drinking the balcony tea dissolves into the authored film. */
#world.is-sipping-tea::after{content:'';position:fixed;inset:0;z-index:30;pointer-events:none;background:#080f17;opacity:0;animation:tea-to-rain 2.2s ease-in forwards}
@keyframes tea-to-rain{0%,42%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){#world.is-sipping-tea::after{animation:none;opacity:1}}

#world.is-smoking #transition-curtain{opacity:var(--cigarette-fade,0);background:radial-gradient(ellipse at 56% 70%,#d9e0dc,#839997);pointer-events:none;transition:opacity .12s linear}
#world.is-smoking .world-footer,#world.is-smoking #room-hotspots{visibility:hidden}

