
#dialogue button:focus{outline:2px solid #f8e2a5;outline-offset:3px;background-color:#43574b}
:root{color-scheme:dark;font-family:'DM Sans',system-ui,sans-serif;color:#e9eee7;background:#171f21}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 35%,#273332 0%,#171f21 70%)}
main{width:min(1000px,calc(100% - 48px));margin:42px auto 24px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.eyebrow{font-size:10px;letter-spacing:2.6px;color:#a5baaa;display:flex;align-items:center;gap:8px}.eyebrow span{width:6px;height:6px;border-radius:50%;background:#b6d9a2}
h1{font:500 clamp(32px,4vw,46px)/1.15 'Outfit',system-ui,sans-serif;letter-spacing:-1.5px;margin:12px 0 9px}h1 span{color:#b6d9a2}header p{margin:0;color:#94a49f;font-size:13px;line-height:1.6}
button{font:500 12px 'DM Sans',system-ui,sans-serif;border:1px solid #506057;background:#2c3a33;color:#d3e4cb;border-radius:9px;padding:13px 17px;cursor:pointer;display:flex;align-items:center;gap:9px;transition:background .15s}button:hover{background:#3e5040}button:focus-visible,canvas:focus-visible{outline:2px solid #bddca6;outline-offset:4px}
.stage{position:relative;border:1px solid #3e4a44;border-radius:13px;overflow:hidden;box-shadow:0 25px 70px #0003;background:#26302e}
.header-actions{display:flex;align-items:center;gap:24px}.world-overview{display:flex;align-items:center;gap:12px}.world-overview>span{font-size:10px;color:#99ada0;max-width:65px;line-height:1.6}#world-map{display:grid;grid-template-columns:repeat(6,9px);gap:3px}#world-map span{width:9px;height:9px;background:#35423d;border:1px solid #516157;border-radius:2px}#world-map span.visited{background:#6d8871;border-color:#8ca78b}#world-map span.current{background:#d0e4ad;border-color:#e5f2d1;box-shadow:0 0 7px #cfe1a450}
.dialogue{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 30px));padding:18px 22px;background:#22302bf5;border:1px solid #9aaf89;border-radius:10px;box-shadow:0 10px 40px #0007;z-index:2}.dialogue[hidden]{display:none}.dialogue-heading{display:flex;justify-content:space-between;align-items:center}.dialogue-heading strong{color:#d0e4ad;font-size:14px}.dialogue-heading button{border:0;background:transparent;padding:0 3px;font-size:20px}.dialogue p{font-size:13px;line-height:1.7;margin:10px 0;color:#edf1e8}.dialogue>span{font-size:10px;color:#a1b39f}
.stage-top,.stage-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px;font-size:10px;color:#a1afa6}.stage-top{border-bottom:1px solid #ffffff09;letter-spacing:1.7px}.stage-top>span:first-child{display:flex;align-items:center;gap:8px}.stage-top i{width:5px;height:5px;background:#c7d9a1;border-radius:50%}#status{letter-spacing:0;color:#bdc7b6;font-size:11px}
canvas{display:block;width:100%;height:auto;image-rendering:pixelated;touch-action:none;cursor:crosshair;background:#26302e;max-height:calc(100vh - 270px);object-fit:contain;min-height:260px}
.stage-bottom{font-size:11px;background:#202a27;border-top:1px solid #ffffff09;letter-spacing:0}.stage-bottom b{color:#c5d8ac;font-size:16px;vertical-align:middle;margin-right:7px;font-weight:400}kbd{font:9px system-ui;background:#34403a;border:1px solid #4b574f;border-radius:4px;padding:3px 5px;color:#c2cec1;margin-right:5px}.separator{margin:0 12px;color:#67786e}
footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#7c8e84;margin-top:18px}a{color:#a5b99b;text-decoration:none}a:hover{text-decoration:underline}#error{position:absolute;inset:40% 10% auto;background:#432f2c;padding:22px;border-radius:8px;color:#ffe2d5;font-size:14px}
@media(max-width:600px){main{width:calc(100% - 24px);margin:24px auto}header{gap:10px;margin-bottom:20px}header p{max-width:230px;font-size:12px}button{padding:12px;font-size:18px}button span{display:none}.eyebrow{font-size:8px;letter-spacing:1.5px}.stage-top,.stage-bottom{padding:12px;font-size:9px}.stage-bottom>span:last-child{display:none}canvas{min-height:0;max-height:none}footer{font-size:9px}}
@media(max-width:600px){.header-actions{gap:10px;align-items:flex-start}.world-overview>span{display:none}#world-map{grid-template-columns:repeat(6,6px);gap:2px}#world-map span{width:6px;height:6px;border-radius:1px}.stage-top{letter-spacing:.6px}header p{max-width:210px}footer>span:last-child{max-width:170px;text-align:right}button{font-size:16px;padding:10px}h1{font-size:32px}}
/* Modern UI tiles frame the menus and their two launcher icons. */
.header-actions{gap:12px}.menu-trigger{flex-direction:column;gap:6px;min-width:66px;padding:9px 12px;background:#26312e}.menu-trigger img{width:32px;height:32px;image-rendering:pixelated}.menu-trigger span{display:block;font-size:10px;letter-spacing:.6px}
.ui-panel{width:min(480px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;color:#493f39;background:#e5d6be;border:12px solid transparent;border-image:url('game-assets/panel-ui.png') 8 fill / 12px / 0 stretch;image-rendering:pixelated;box-shadow:0 24px 90px #0008}.ui-panel::backdrop{background:#101b20b8;backdrop-filter:blur(4px)}.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.menu-heading small{font-size:10px;letter-spacing:2px;color:#796754}.ui-panel h2{font:500 27px 'Outfit',system-ui;margin:5px 0}.menu-heading button{background:#c9b598;border-color:#a18a70;color:#493f39;font-size:22px;padding:3px 10px}.ui-panel p{font-size:12px;line-height:1.7;color:#6b5b4b}.map-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;margin-top:22px}.map-summary strong{font-size:14px}.map-summary span{color:#75624e}progress{width:100%;height:6px;border:0;margin:12px 0 22px;accent-color:#677f68}progress::-webkit-progress-bar{background:#c7b496;border-radius:3px}progress::-webkit-progress-value{background:#677f68;border-radius:3px}
#world-map{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:12px;background:#c7b89e;border:1px solid #ac9679;border-radius:5px}#world-map button{justify-content:center;aspect-ratio:1;padding:0;border:2px solid #ac9679;border-radius:3px;background:#d7c7ad;color:#97856c;font-size:12px}#world-map button.visited{background:#879b80;border-color:#667c61;color:#f5f2dc}#world-map button.current{background:#f4e4a4;border-color:#84623f;color:#58462e;box-shadow:0 0 0 2px #f4e4a450}#world-map button:hover{filter:brightness(1.08)}.map-legend{display:flex;justify-content:space-between;gap:8px;margin:15px 0;font-size:10px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:9px;height:9px;background:#d7c7ad;border:1px solid #ac9679}.map-legend i.visited{background:#879b80}.map-legend i.current{background:#f4e4a4}.ui-panel .menu-primary{width:100%;justify-content:space-between;background:#c7b294;color:#493f39;border:1px solid #947956;border-bottom-width:3px;border-radius:4px;margin-top:10px;padding:13px 15px;font-size:13px}.ui-panel .menu-primary:hover{background:#bca382}.ui-panel button:focus-visible,.ui-panel summary:focus-visible{outline:2px solid #5b7156;outline-offset:3px}.ui-panel details{border-top:1px solid #bda98b;margin-top:18px;padding-top:16px}.ui-panel summary{cursor:pointer;font-size:14px;font-weight:700}.ui-panel dl{font-size:11px;margin-bottom:0}.ui-panel dl div{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:14px 0}.ui-panel dd{margin:0;text-align:right;color:#6b5b4b}.ui-panel kbd{background:#d4c0a1;border-color:#a68e6d;color:#534531}.ui-panel button span{display:inline}
@media(max-width:600px){header{align-items:center}.header-actions{gap:7px}.menu-trigger{min-width:48px;padding:7px}.menu-trigger img{width:28px;height:28px}.menu-trigger span{display:block}header p{max-width:190px}.ui-panel{padding:15px}.ui-panel h2{font-size:23px}.map-summary{align-items:flex-start;flex-direction:column;gap:5px}.map-legend{font-size:9px;gap:5px}#world-map{gap:5px;padding:9px}h1{margin-top:0}}
/* Keep the map and menu launchers within the game frame. */
.stage-top{padding-top:8px;padding-bottom:8px}.stage-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.stage-actions #status{margin-right:10px}.stage-actions .menu-trigger{width:40px;height:40px;min-width:40px;padding:4px;justify-content:center;border-radius:5px;background:#344039;border-color:#64705b}.stage-actions .menu-trigger:hover{background:#48543f}.stage-actions .menu-trigger img{width:32px;height:32px}.stage-actions .menu-trigger:active{transform:translateY(1px)}
@media(max-width:600px){.stage-top{gap:6px;padding:7px 10px}.stage-actions{gap:6px}.stage-actions #status{display:none}.stage-top>span:first-child{min-width:0;line-height:1.5}.stage-actions .menu-trigger{width:40px;height:40px;min-width:40px}header p{max-width:none}}
/* The supplied title artwork stays unobstructed above the menu. */
main{margin:24px auto;max-width:1000px}canvas{max-height:calc(100dvh - 170px)}
.splash{position:absolute;inset:0;z-index:3;background:#171a19;overflow:hidden}.splash[hidden]{display:none}.splash-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top}.splash-buttons{position:absolute;left:50%;top:53%;transform:translateX(-50%);display:flex;flex-direction:column;gap:12px;width:220px}.splash-button,#start-game{justify-content:center;width:100%;padding:13px 20px;min-height:47px;background:#d5c3a0ef;border:6px solid transparent;border-image:url('game-assets/panel-ui.png') 8 fill / 6px / 0 stretch;border-radius:0;color:#382f26;font-size:14px;font-weight:700;letter-spacing:.6px;box-shadow:0 5px 20px #0007;text-shadow:0 1px #ffffff40;transition:filter .15s,transform .15s}.splash-button:hover{filter:brightness(1.13);transform:translateY(-1px)}.splash-button:disabled{opacity:.48;cursor:default;filter:none;transform:none}.splash-button:focus-visible{outline:2px solid #f3d089;outline-offset:4px}.stage:has(.splash:not([hidden])){aspect-ratio:1672/941;min-height:0}.stage:has(.splash:not([hidden]))>canvas{visibility:hidden}.stage:has(.splash:not([hidden]))>.stage-top,.stage:has(.splash:not([hidden]))>.stage-bottom{display:none}#error{z-index:4}.option-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;font-size:14px}.option-toggle small{display:block;color:#6b5b4b;font-size:11px;margin-top:7px}.option-toggle input{width:20px;height:20px;accent-color:#677f68}
@media(max-width:600px){main{margin:12px auto}.stage:has(.splash:not([hidden])){aspect-ratio:auto;height:520px}.splash-art{height:auto;aspect-ratio:1672/941}.splash{background:linear-gradient(#171a19,#263029)}.splash-buttons{top:48%;width:min(220px,calc(100% - 48px));gap:14px}.splash-button{min-height:50px}.splash::after{content:'';position:absolute;top:0;left:0;right:0;aspect-ratio:1672/941;background:linear-gradient(transparent 70%,#171a19);pointer-events:none}}
/* Center the game in the viewport while allowing shorter screens to scroll. */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:24px 0}main{flex-shrink:0;margin:auto}
@media(max-width:600px){body{padding:12px 0}main{margin:auto}}
/* Menus float over the room; gameplay has no top or bottom bars. */
.stage-actions{position:absolute;top:12px;right:12px;z-index:1;gap:8px}.stage-actions .menu-trigger{width:44px;height:44px;min-width:44px;padding:2px;border:0;background:transparent;border-radius:4px;filter:drop-shadow(0 3px 4px #0006)}.stage-actions .menu-trigger img{width:40px;height:40px}.stage-actions .menu-trigger:hover{background:transparent;filter:brightness(1.15) drop-shadow(0 3px 4px #0006)}.stage:has(.splash:not([hidden]))>.stage-actions{display:none}
@media(max-width:600px){.stage-actions{top:8px;right:8px;gap:4px}.stage-actions .menu-trigger{width:40px;height:40px;min-width:40px}.stage-actions .menu-trigger img{width:36px;height:36px}}
/* Nine native sprite pieces: fixed corners, repeating edges, and a tiled center. */
.ui-panel{padding:0;border:0;border-image:none;background:transparent;box-shadow:none;image-rendering:auto}.tile-surface{position:relative;padding:36px;isolation:isolate}.tile-content{position:relative;z-index:1}.tile-frame{position:absolute;inset:0;display:grid!important;grid-template-columns:16px minmax(0,1fr) 16px;grid-template-rows:16px minmax(0,1fr) 16px;pointer-events:none;z-index:0;image-rendering:pixelated;filter:drop-shadow(0 4px 5px #0004)}.tile-frame>span{display:block!important;border:0;border-radius:0;background-repeat:repeat}.tile-tl{background-image:url('game-assets/panel-tl.png');background-size:16px 16px}.tile-t{background-image:url('game-assets/panel-t.png');background-size:32px 16px}.tile-tr{background-image:url('game-assets/panel-tr.png');background-size:16px 16px}.tile-l{background-image:url('game-assets/panel-l.png');background-size:16px 32px}.tile-c{background-image:url('game-assets/panel-c.png');background-size:32px 32px}.tile-r{background-image:url('game-assets/panel-r.png');background-size:16px 32px}.tile-bl{background-image:url('game-assets/panel-bl.png');background-size:16px 16px}.tile-b{background-image:url('game-assets/panel-b.png');background-size:32px 16px}.tile-br{background-image:url('game-assets/panel-br.png');background-size:16px 16px}.splash-button,#start-game,.ui-panel .menu-primary{position:relative;isolation:isolate;background:transparent;border:0;border-image:none;box-shadow:none;border-radius:0;padding:16px 22px}.splash-button .tile-frame,.menu-primary .tile-frame{z-index:-1;grid-template-columns:8px minmax(0,1fr) 8px;grid-template-rows:8px minmax(0,1fr) 8px}.splash-button .tile-frame>span,.menu-primary .tile-frame>span{background-size:auto}.splash-button:hover,.ui-panel .menu-primary:hover{background:transparent;filter:brightness(1.08)}
@media(max-width:600px){.ui-panel{padding:0}.tile-surface{padding:27px}}
.asset-viewer-link{display:flex;text-decoration:none;font-weight:500}.asset-viewer-link:hover{text-decoration:none}
/* Phase 2: quest journal, pocket inventory, and contextual interactions. */
.quest-card{padding:12px 0;border-bottom:1px solid #ab97794d}.quest-card strong{font-size:14px}.quest-card small{display:block;color:#84643c;font-size:10px;margin-top:5px}.quest-card.complete small{color:#49663e}.quest-card p{margin:6px 0 0}.inventory-item{display:flex;gap:15px;align-items:center;border-bottom:1px solid #ab97794d;padding:16px 0}.inventory-item img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.inventory-item strong{font-size:14px}.inventory-item p{margin:5px 0}#world-map button.objective{box-shadow:inset 0 0 0 2px #c08038;position:relative}#world-map button.objective::after{content:'◆';position:absolute;top:2px;right:3px;font-size:8px;color:#8a541d}#dialogue-actions{display:flex;gap:8px;flex-wrap:wrap}#dialogue-actions button,#dialogue-done{font-size:12px;padding:9px 12px}#dialogue-done{margin-top:10px}.dialogue{bottom:18px;z-index:2}#nearby-action{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:2;background:#22302bf2;border-color:#a4b987;box-shadow:0 4px 20px #0005;max-width:calc(100% - 24px);font-size:12px;padding:10px 16px}#nearby-action[hidden],#quest-toast[hidden]{display:none}#quest-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:12px 18px;border:1px solid #a4b987;border-radius:6px;background:#22302bf5;z-index:5;font-size:12px;max-width:calc(100% - 24px);text-align:center}.exploration-map{margin-top:18px}#inventory-reward{font-weight:700;color:#49663e}
@media(max-width:600px){.dialogue{bottom:10px;padding:12px 15px}.dialogue p{font-size:12px;margin:7px 0;line-height:1.5}.dialogue-heading strong{font-size:12px}.stage-actions{gap:2px}.stage-actions .menu-trigger{width:34px;min-width:34px;height:34px}.stage-actions .menu-trigger img{width:30px;height:30px}}
#world-map button.locked-room{background:#a59885;color:#5d5145;border-color:#85735c}#world-map button.locked-room::before{content:'▣';position:absolute;inset:0;display:grid;place-items:center;background:#a59885;font-size:17px}#world-map button.locked-room{position:relative}.map-legend{flex-wrap:wrap}.quest-card small{line-height:1.5}
#world-map{grid-template-columns:repeat(3,minmax(0,1fr))}#world-map button[hidden]{display:none}#world-map button{aspect-ratio:1.5;font-size:16px}.floor-picker{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:15px 0}.floor-picker select{padding:7px 12px;background:#d1bea0;color:#493f39;border:1px solid #947956;border-radius:4px}#elevator-floors{display:grid;gap:12px;margin:20px 0}#elevator-floors button{justify-content:center;background:#c7b294;color:#493f39;border-color:#947956}#elevator-floors button:disabled{opacity:.5;cursor:default}

.vitals-hud{position:absolute;top:12px;left:12px;z-index:1;width:148px;padding:10px 12px;background:#d5c3a0f0;border:2px solid #786854;box-shadow:0 2px 0 #302a28;color:#342d29;font-size:10px;pointer-events:none}.vitals-hud[hidden],.run-control[hidden],#coffee-buff[hidden]{display:none}.vital-label{display:flex;justify-content:space-between;gap:8px}.vitals-hud progress{display:block;width:100%;height:8px;margin:3px 0 7px;appearance:none;border:1px solid #5e5345;border-radius:0;background:#423e39}.vitals-hud progress::-webkit-progress-bar{background:#423e39}.vitals-hud #health-bar::-webkit-progress-value{background:#b2605b}.vitals-hud #stamina-bar::-webkit-progress-value{background:#728d65}#coffee-buff{color:#354d39;margin-top:5px;font-weight:700}.run-control{position:absolute;bottom:14px;left:14px;z-index:2;min-height:44px;padding:10px 12px;background:#d5c3a0;border:2px solid #786854;color:#342d29;touch-action:none}.run-control:active{filter:brightness(.85)}@media(max-width:600px){.vitals-hud{top:8px;left:8px;width:116px;padding:7px;font-size:9px}.run-control{bottom:8px;left:8px;font-size:10px}}

/* Native Modern UI card corners and red/green meter tiles. */
.vitals-hud{background:none;border:0;box-shadow:none;padding:14px;isolation:isolate}
.vital-card-tiles{position:absolute;inset:0;z-index:-1;display:grid;grid-template-columns:18px 1fr 18px;grid-template-rows:18px 1fr 18px;pointer-events:none}
.vital-card-tiles i{background-image:url('game-assets/vital-card.png');image-rendering:pixelated}
.vital-card-tiles i:nth-child(1){background-position:0 0}.vital-card-tiles i:nth-child(2){background-position:-18px 0}.vital-card-tiles i:nth-child(3){background-position:-36px 0}
.vital-card-tiles i:nth-child(4){background-position:0 -18px}.vital-card-tiles i:nth-child(5){background-position:-18px -18px}.vital-card-tiles i:nth-child(6){background-position:-36px -18px}
.vital-card-tiles i:nth-child(7){background-position:0 -36px}.vital-card-tiles i:nth-child(8){background-position:-18px -36px}.vital-card-tiles i:nth-child(9){background-position:-36px -36px}
.vital-card-tiles i:nth-child(2),.vital-card-tiles i:nth-child(8){background-repeat:repeat-x;background-size:54px 54px}
.vitals-hud progress{height:18px;margin:2px 0 6px;border:0;background:none;overflow:visible}
.vitals-hud progress::-webkit-progress-bar{background:#655661;border:3px solid #42404f;border-radius:0}
.vitals-hud #health-bar::-webkit-progress-value{background:none;border:6px solid transparent;border-image:url('game-assets/vital-health.png') 8 fill / 6px / 0 repeat;border-radius:0}
.vitals-hud #stamina-bar::-webkit-progress-value{background:none;border:6px solid transparent;border-image:url('game-assets/vital-stamina.png') 8 fill / 6px / 0 repeat;border-radius:0}
@media(max-width:600px){.vitals-hud{padding:10px;width:126px}.vitals-hud progress{height:14px}}
.vital-card-tiles i:nth-child(1){background-image:url('game-assets/vital-card-1.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(2){background-image:url('game-assets/vital-card-2.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(3){background-image:url('game-assets/vital-card-3.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(4){background-image:url('game-assets/vital-card-4.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(5){background-image:url('game-assets/vital-card-5.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(6){background-image:url('game-assets/vital-card-6.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(7){background-image:url('game-assets/vital-card-7.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(8){background-image:url('game-assets/vital-card-8.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}
.vital-card-tiles i:nth-child(9){background-image:url('game-assets/vital-card-9.png');background-position:0 0;background-size:18px 18px;background-repeat:repeat}

.vitals-hud .vital-label{display:none}
.vitals-hud{width:118px;padding:10px 12px 7px}
.vitals-hud progress{height:18px;margin:0 0 4px}
@media(max-width:600px){.vitals-hud{width:100px;padding:9px 10px 6px}.vitals-hud progress{height:16px}}

.vitals-hud progress{position:absolute;width:1px;height:1px;opacity:0}
.pixel-meter{height:18px;margin-bottom:4px;background:#655661;border:2px solid #42404f}
.pixel-meter span{display:block;box-sizing:border-box;height:100%;border:5px solid transparent;image-rendering:pixelated}
.health-meter span{border-image:url('game-assets/vital-health.png') 6 fill / 5px / 0 repeat}
.stamina-meter span{border-image:url('game-assets/vital-stamina.png') 6 fill / 5px / 0 repeat}
.vitals-hud{padding:12px;width:126px}
.pixel-meter{width:100%;margin:0}
.health-meter{margin-bottom:6px}
#coffee-buff:not([hidden]){margin-top:8px}
.run-control{display:none}
@media(max-width:600px){.vitals-hud{width:112px;padding:12px}}
#dialogue-actions button:focus,#dialogue-done:focus,#elevator-floors button:focus{outline:2px solid #5b7156;outline-offset:3px;filter:brightness(1.08)}
/* Size the frame to the rendered world so overlays never sit in side gutters. */
main:has(.splash[hidden]){width:min(1000px,calc(100vw - 48px),calc((100dvh - 48px) * 1.428571));max-width:none}
.stage>canvas{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:10 / 7;object-fit:fill}
.stage:has(.splash:not([hidden]))>canvas{display:none}
@media(max-width:600px){main:has(.splash[hidden]){width:min(calc(100vw - 24px),calc((100dvh - 24px) * 1.428571))}}
#dialogue-done[hidden]{display:none}
#coffee-buff:not([hidden]){position:absolute;left:calc(100% + 10px);top:0;height:100%;width:auto;aspect-ratio:3/4;display:grid;grid-template-rows:3fr 1fr;justify-items:center;gap:0;margin:0;padding:0}
.speed-buff-icon{display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;background:#37523c;border:2px solid #7ab767;box-shadow:inset 0 0 0 2px #223729,0 2px 0 #554d40}
.speed-buff-icon svg{width:85%;height:85%}
.speed-buff-timer{box-sizing:border-box;width:100%;height:100%;padding-top:4px;fill:#e6f5c3;filter:drop-shadow(1px 1px 0 #273c28) drop-shadow(-1px -1px 0 #273c28)}.dialogue{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);max-height:calc(100% - 32px);overflow-y:auto}
@media(max-width:600px){.dialogue{top:50%;bottom:auto}}
.room-name-card{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:56px;max-width:190px;min-width:130px;padding:0 5px;border:16px solid transparent;border-image:url('game-assets/room-name-card.png') 16 fill / 16px / 0 stretch;color:#342d29;font-size:12px;font-weight:700;text-align:center;line-height:1.15;image-rendering:pixelated;pointer-events:none}
@media(max-width:680px){.stage-actions{top:82px}.room-name-card{min-width:110px;max-width:150px;font-size:11px}}
