:root{color-scheme:dark;--gold:#efb875;--ink:#10121e;--text:1rem}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#29283d,#10121e 65%);color:#f2e5d5;font:var(--text)/1.55 Georgia,serif}button,input,select{font:inherit}button,select{border:1px solid #716051;background:#242333;color:#f4e5d4;border-radius:7px;padding:10px 15px;min-height:46px;cursor:pointer}button:hover{background:#403447;border-color:var(--gold)}button:focus-visible,a:focus-visible{outline:3px solid #eeba76;outline-offset:3px}button:disabled{opacity:.45;cursor:default}header{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:16px 26px;border-bottom:1px solid #ffffff12}.brand{color:var(--gold);font:12px/1.5 Arial;letter-spacing:3px;text-decoration:none}.brand span{display:block;color:#aaa0ac;font-size:9px;letter-spacing:2px}main{max-width:1400px;margin:auto;padding:16px 26px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}small{font:11px Arial;letter-spacing:3px;color:var(--gold)}h1{font-size:clamp(24px,3vw,42px);font-weight:normal;margin:2px 0}h2{font-weight:normal;color:var(--gold);line-height:1.2}h3{color:#cfbddc}#flames{color:var(--gold);font:13px Arial}#stage{position:relative;aspect-ratio:1400/760;border:1px solid #8d71665c;border-radius:14px;overflow:hidden;box-shadow:0 20px 65px #0008;background:#141827;touch-action:manipulation}canvas{display:block;width:100%;height:100%}#hotspots{position:absolute;inset:0}.spot{position:absolute;transform:translate(-50%,-50%);background:#131521b8;border-color:#baa77777;font:12px Arial;padding:7px 11px;box-shadow:0 2px 15px #0009;min-height:44px}.spot:not(.lit){opacity:.18}.spot:hover,.spot:focus,.spot.lit{opacity:1}.spot.done{border-color:#82ad98}.keepsake{border-radius:50%;color:#ffe2a2}.story{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;min-height:115px}.story p{color:#c8bfcc;max-width:850px;margin:16px 0}#exits{display:flex;gap:8px;flex-wrap:wrap}.tools{display:flex;flex-wrap:wrap;gap:9px;padding-top:14px;border-top:1px solid #ffffff18}.tools button{flex:1;white-space:nowrap}footer{display:flex;justify-content:space-between;color:#93889d;font:11px Arial;padding:20px 0}#sceneTag{position:absolute;top:20px;left:24px;color:#dfcad8;font:11px Arial;letter-spacing:3px;pointer-events:none}#caption{position:absolute;bottom:18px;left:15%;right:15%;text-align:center;color:#eee;font:14px Georgia;text-shadow:0 2px 4px #000;pointer-events:none}dialog{width:min(720px,94vw);max-height:90dvh;background:linear-gradient(145deg,#252334,#121723);color:#eae0e5;border:1px solid #937a65;border-radius:14px;padding:28px;box-shadow:0 30px 100px #000}dialog::backdrop{background:#050610c9;backdrop-filter:blur(5px)}.close{margin-top:25px;width:100%;background:#141722}.row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.row>*{flex:1}.primary{background:#8e5033;border-color:#edb271}.muted{color:#b6aaba;font-size:.9em}.clue{padding:15px 20px;border-left:2px solid var(--gold);background:#ffffff06;font-style:italic}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.tile.on{background:#796239;color:#fff}.result{color:#edc596;min-height:28px}.inventoryItem{border:1px solid #65596d;border-radius:9px;padding:12px;margin:10px 0}label{display:block;margin:15px 0}input[type=range]{width:100%;accent-color:#df9f66}select{max-width:100%}.entry{border-bottom:1px solid #ffffff18;padding:12px 0}.badge{color:#abd5bb}body.reduce *,body.reduce *::before{scroll-behavior:auto!important;animation:none!important}.scare{position:absolute;inset:0;display:grid;place-content:center;background:#12131a80;pointer-events:none;font-size:clamp(24px,5vw,60px);color:#edead5;text-shadow:0 0 25px #b1e8ca}.scare svg{width:180px;max-height:220px;margin:auto}@media(max-width:680px){header{padding:12px 16px}main{padding:12px}#stage{aspect-ratio:1/1.02}.story{display:block}.story p{font-size:.93em;min-height:65px}#exits button{flex:1;font-size:13px}.tools{gap:6px}.tools button{flex:1 0 28%;font-size:12px;padding:8px}footer{line-height:1.4;gap:15px}dialog{padding:20px}.spot{font-size:10px;padding:5px;max-width:110px}#sceneTag{left:14px;top:14px;font-size:9px}#flames{font-size:11px}#caption{left:8%;right:8%;font-size:12px}.heading{gap:8px}small{font-size:9px;letter-spacing:2px}}
.puzzleVisual{width:100%;height:160px;border:1px solid #ffffff1a;border-radius:10px;background:#101926;margin:10px 0}.conversation{border-color:#89b4a4;color:#d0e3d5}button[aria-pressed=true]:not(.tile){border-color:#d3b684;background:#403447}@media(min-width:900px){dialog{padding:32px 40px}} 

.spot{min-width:44px}.row button{min-width:90px}.story{overflow-wrap:anywhere}#stage{isolation:isolate}button{touch-action:manipulation}input[type=checkbox]{width:20px;height:20px;vertical-align:middle}
#stage{touch-action:none}

/* Games navigation uses normal header/menu flow, never the playfield overlay. */
a.return-games{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;box-sizing:border-box;color:inherit;font:600 13px/1.25 system-ui,sans-serif;letter-spacing:normal;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;border-radius:5px}
a.return-games:hover{background:#ffffff14}a.return-games:focus-visible{outline:2px solid currentColor;outline-offset:2px}
header{gap:8px}.phone header .return-games{padding:4px;font-size:12px;white-space:normal;text-align:center;max-width:100px;flex-shrink:1}

.phone #modal>.return-games{flex:none;align-self:flex-start}
