@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#dfe6d9;background:#101a16;font-synthesis:none;font-weight:400;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #c9d88b;outline-offset:4px}button{color:inherit;background:none;border:0}svg{width:20px;height:20px;flex-shrink:0}button svg{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}.app-shell{max-width:1560px;margin:auto;padding:0 64px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0d}.brand{display:flex;align-items:center;gap:13px;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;letter-spacing:3.5px;font-weight:600}.brand-symbol{width:39px;height:42px;display:grid;place-items:center;border:1px solid #82926455;border-radius:50% 50% 45% 45%;color:#b7c78a}.brand-symbol svg{width:24px;height:24px}.brand-sub{font:8px 'DM Sans',sans-serif;letter-spacing:2.7px;display:block;margin-top:1px;color:#96a28d}.edition{font-size:9px;letter-spacing:2.3px;display:flex;align-items:center;gap:12px;color:#7f8c7e}.tiny-diamond{height:5px;width:5px;border:1px solid #929b70;transform:rotate(45deg)}.header-link{font-size:11px;color:#a7b1a1}.header-link span{margin-left:12px;color:#d9deb5}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:43px 0 33px}.eyebrow{font-size:9px;letter-spacing:2px;color:#869782;display:flex;align-items:center;gap:11px}.eyebrow span{color:#c4d09b}.eyebrow i{height:3px;width:3px;border-radius:50%;background:#5d7159}h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:61px;line-height:1.04;letter-spacing:-1.4px;font-weight:500;margin:13px 0 12px;color:#e5e8d7}.title-dot{color:#a8bc76}.intro p{font-size:12px;color:#97a290;margin:0;letter-spacing:.15px}.scene-status{display:flex;gap:10px;align-items:flex-start;padding-bottom:4px;font-size:8px;color:#b0bd9e;letter-spacing:1.5px;line-height:15px}.scene-status small{display:block;font-size:10px;letter-spacing:0;color:#6d7f70;margin-top:3px}.live-dot{width:5px;height:5px;border-radius:50%;background:#b5ce83;box-shadow:0 0 10px #b5ce8333;margin-top:5px}.game-shell{border:1px solid #64725860;border-radius:6px;overflow:hidden;box-shadow:0 25px 70px #0004}.game-toolbar{height:49px;background:#19261e;display:flex;justify-content:space-between;align-items:center;padding:0 19px;border-bottom:1px solid #0008}.location{display:flex;align-items:center;gap:9px;font-size:11px;color:#c0cbb1}.location svg{width:16px;color:#91a86d}.day{margin-left:10px;font-size:7px;letter-spacing:1.3px;color:#8eaa75;border:1px solid #9fbc6933;border-radius:3px;padding:3px 6px}.toolbar-actions{display:flex;gap:8px;align-items:center}.toolbar-actions button{display:flex;align-items:center;gap:7px;padding:6px;font-size:10px;color:#aab6a0;border-radius:3px;height:30px}.toolbar-actions button:hover,.toolbar-actions button[aria-pressed=true]{background:#2b3d2b;color:#e2e7c5}.toolbar-actions svg{width:15px;height:15px}.tool-divider{height:16px;background:#84957526;width:1px;margin:0 4px}.stage{height:clamp(380px,51vw,640px);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#15372b;isolation:isolate}.stage:fullscreen{height:100vh;width:100vw}.stage canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;outline:none;touch-action:none}.game-hud{position:absolute;left:25px;top:19px;pointer-events:none;text-shadow:2px 2px #15312b;filter:drop-shadow(0 1px 2px #0007)}.hearts{color:#ef8a7b;font-size:23px;letter-spacing:2px;-webkit-text-stroke:1px #572e30}.rupee{font:12px monospace;color:#e6e5af;display:flex;gap:9px;align-items:center;margin-top:3px}.rupee span{color:#80d38b;font-size:16px}.corner-mark{position:absolute;right:22px;bottom:21px;pointer-events:none;color:#e4e7b5;text-align:right;letter-spacing:2px;font-size:8px;text-shadow:1px 1px 3px #10291e}.corner-mark span{display:block;font-size:6px;letter-spacing:1.5px;margin-top:5px;color:#cedea2}.game-footer{min-height:44px;display:flex;justify-content:space-between;align-items:center;padding:9px 18px;background:#1a281f;font-size:10px;color:#a8b498;gap:15px}.game-footer>div:first-child{display:flex;align-items:center;gap:8px}.pulse{height:4px;width:4px;border-radius:50%;background:#9fbe78}.zoom-control{display:flex;align-items:center;gap:3px}.zoom-control>span{font-size:7px;letter-spacing:1.5px;margin-right:9px;color:#6f866e}.zoom-control button{font-size:9px;color:#7f9479;padding:4px 7px;border-radius:2px}.zoom-control button[aria-pressed=true]{background:#30412c;color:#e3e7b9}.below-game{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0 31px}.controls{display:flex;gap:20px;color:#7d8d7a;font-size:9px;align-items:center}.controls>span{display:flex;align-items:center;gap:5px}.controls>span>span{margin-left:3px}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:19px;border:1px solid #394b38;border-bottom-width:2px;border-radius:3px;padding:0 4px;background:#18251c;font:8px 'DM Sans',sans-serif;color:#a7b59a}.text-button{font-size:10px;color:#b6c59e;white-space:nowrap}.text-button span{margin-left:16px;color:#8d9e7b}.site-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff0d;padding:28px 0 34px;color:#62755f;font-size:8px;letter-spacing:1px}.site-footer>span{display:flex;align-items:center;gap:9px}.site-footer>span:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:15px;letter-spacing:.2px}.site-footer svg{width:14px;height:14px}.site-footer i{height:3px;width:3px;background:#64775a;border-radius:50%;margin:0 5px}.places{padding:4px 0 34px}.section-caption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#c0cea6;padding-bottom:16px}.section-caption span{letter-spacing:0;color:#71856d}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.place-grid button{text-align:left;background:#17251b;border:1px solid #30402d;padding:18px 13px;display:flex;gap:12px;border-radius:4px}.place-grid button:hover{border-color:#819c62;background:#20301f}.place-number{font:18px 'Cormorant Garamond',serif;color:#79915e}.place-grid small{font-size:7px;letter-spacing:1px;color:#8da177}.place-grid strong{font-size:13px;display:block;margin:7px 0;color:#d3ddc1}.place-grid p{font-size:10px;line-height:1.6;color:#809178;margin:0}.place-arrow{margin-left:auto;color:#7d9366}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding:20px 0 40px}.about h2{font:34px/1.1 'Cormorant Garamond',Georgia,serif;font-weight:400;color:#d0dabd}.about p{font-size:12px;line-height:1.8;color:#99aa8b;max-width:650px}.about-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;font-size:10px;color:#c6d1aa}.about-actions button{font-size:10px;padding:0;text-decoration:underline;text-underline-offset:3px}.loading,.pause-overlay,.dialog-backdrop{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#11241fee}.loading{gap:18px;font-family:'Cormorant Garamond',serif;font-size:25px}.loading p{font:12px monospace}.loading svg{color:#b7c986;width:34px;height:34px}.pause-overlay{background:#10271bd9;backdrop-filter:blur(3px)}.pause-overlay>span{font:44px 'Cormorant Garamond',serif}.pause-overlay p{font-size:12px;color:#a8b896}.pause-overlay button,.dialog button{border:1px solid #7c916054;color:#d7e1b7;border-radius:3px;padding:12px 18px;margin-top:18px;font-size:11px;background:#263822}.pause-overlay button span{margin-left:25px}.dialog-backdrop{background:#101e1677}.dialog{width:min(420px,90%);background:#18271e;border:1px solid #8e9d6455;padding:30px;border-radius:6px;box-shadow:0 12px 60px #0008}.dialog h2{font:32px 'Cormorant Garamond',Georgia,serif;margin:15px 0}.dialog p{font-size:13px;line-height:1.8;color:#b8c1a4}.dialog button{float:right;margin-top:0}.dialog:after{content:'';display:block;clear:both}.dialog button span{margin-left:15px}.touch-controls{position:absolute;bottom:20px;left:16px;right:16px;justify-content:space-between;align-items:flex-end;display:none}.touch-controls button{background:#173d27bd;border:1px solid #bdcc8b66;border-radius:5px;width:40px;height:40px;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,40px);gap:4px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}
@media(min-width:1600px){.stage{height:672px}}@media(max-width:1050px){.app-shell{padding:0 28px}.edition{display:none}.controls{gap:12px}.controls>span:nth-child(3){display:none}.place-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.app-shell{padding:0 14px}.site-header{height:78px}.brand{font-size:18px}.header-link{font-size:10px}.intro{padding:28px 0 23px}.intro h1{font-size:45px}.eyebrow{font-size:7px;gap:7px;letter-spacing:1.2px}.intro p{font-size:11px}.scene-status{display:none}.game-toolbar{padding:0 11px}.day{display:none}.toolbar-actions{gap:3px}.toolbar-actions button span{display:none}.stage{height:440px}.game-footer{padding:10px;font-size:9px}.game-footer>div:first-child{max-width:65%;line-height:1.6}.zoom-control>span{display:none}.below-game{align-items:flex-start;padding:16px 0 25px}.controls{max-width:200px;flex-wrap:wrap;gap:9px}.controls>span:nth-child(2),.controls>span:nth-child(4){display:none}.text-button{font-size:9px}.site-footer{padding:22px 0}.site-footer>span:nth-child(2){font-size:6px;letter-spacing:.7px}.site-footer>span:first-child{font-size:12px}.site-footer svg{display:none}.place-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr;gap:5px}.about h2{font-size:29px}.game-hud{left:16px;top:14px}.hearts{font-size:19px}.corner-mark{display:none}}
@media(pointer:coarse){.touch-controls{display:flex}.controls{display:none}.below-game{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Quest information stays outside the canvas, preserving the scene composition. */
.quest-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 18px;background:#202e21;border-top:1px solid #76905b33;border-bottom:1px solid #0c180d88;font-size:11px;line-height:1.5;color:#cbd6b7}.quest-objective{display:flex;align-items:baseline;gap:11px;min-width:0}.quest-label{flex-shrink:0;font-size:8px;font-weight:600;letter-spacing:1.7px;color:#a9bf7a}.equipment{display:flex;flex-shrink:0;gap:13px;font:10px monospace;color:#7b8a70}.equipment>span{white-space:nowrap}.equipment>span.obtained{color:#e0d79d}.equipment>span>span{display:inline-block;width:10px;margin-right:3px;color:#5c7056}.equipment>span.obtained>span{color:#bed68b}@media(max-width:680px){.quest-strip{align-items:flex-start;padding:10px;gap:9px;flex-wrap:wrap;font-size:10px}.quest-objective{gap:8px;flex:1 1 210px}.quest-label{font-size:7px}.equipment{gap:10px;font-size:9px;margin-left:auto;padding-top:1px}.quest-objective [role=status]{max-width:100%}}
/* Each gallery entry opens a separate live scene, sharing the same native renderer. */
.scene-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
.scene-gallery button{display:grid;grid-template-columns:24px 1fr;gap:7px 10px;text-align:left;padding:17px 19px;border:1px solid #34402d;border-radius:5px;background:#142119;color:#c6cbaa;cursor:pointer}
.scene-gallery button[aria-pressed=true]{background:#243220;border-color:#8e9d62;box-shadow:inset 0 2px #b4bd78}
.scene-gallery button>span{font:10px monospace;color:#95a372;grid-row:span 2;padding-top:3px}
.scene-gallery strong{font-weight:500;font-size:14px;letter-spacing:.03em}
.scene-gallery small{font-size:11px;line-height:1.5;color:#89937b}
.scene-gallery button:hover{border-color:#a6b57b}
@media(max-width:760px){.scene-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-gallery button{padding:12px}.scene-gallery small{display:none}}
.room-browser{display:flex;align-items:center;gap:24px;margin:0 0 16px;color:#b9bc94;font-size:12px;flex-wrap:wrap}.room-browser label{display:flex;align-items:center;gap:12px}.room-browser select{background:#18261d;color:#ebe7ca;border:1px solid #414c33;border-radius:4px;padding:9px 12px;max-width:320px}.room-browser small{margin-left:auto;color:#828d70}
.room-arrival{position:absolute;inset:0;z-index:6;background:#101711;pointer-events:none;animation:room-arrive .35s ease-out forwards}@keyframes room-arrive{0%,20%{opacity:1}100%{opacity:0;visibility:hidden}}
.stage.fire-stage{background:#100e16;min-height:448px;height:clamp(448px,48vw,672px)}
.fire-stage canvas{flex:none;box-shadow:0 0 50px #0008}
.temple-hud{position:absolute;inset:12px 16px;pointer-events:none;font:11px/1.2 monospace;color:#f8eac1;text-shadow:2px 2px #17111a;z-index:2}
.temple-life{position:absolute;right:0;top:0;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.temple-life>span{font-size:9px;letter-spacing:3px;color:#dfb899}.temple-life>div{display:grid;grid-template-columns:repeat(8,18px);gap:3px}.temple-life svg{width:18px;height:18px;shape-rendering:crispEdges;filter:drop-shadow(1px 2px #0008)}
.temple-items{display:flex;gap:8px;align-items:flex-start}.temple-items button{pointer-events:auto;width:46px;height:47px;border:3px solid #bdb4c2;box-shadow:0 0 0 2px #2a2034,inset 0 0 0 2px #4f3c61;background:#211b2d;position:relative;padding:5px}.temple-items button>span{position:absolute;left:2px;top:-10px;font:10px monospace;color:#eee5cd;background:#211b2d;padding:0 3px}.temple-items svg{width:25px;height:27px;shape-rendering:crispEdges}.temple-items strong{font-size:26px;line-height:28px;color:#eed495}.temple-items small{position:absolute;bottom:0;right:2px;font:10px monospace}.temple-count{display:flex;flex-direction:column;gap:8px;padding:5px;font-size:11px}.temple-count span+span{font-size:8px;color:#c2b398;letter-spacing:1px}
.temple-quickitems{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.temple-quickitems button{pointer-events:auto;font:9px monospace;background:#16121bd9;color:#b9aeaa;border:1px solid #574856;padding:5px 7px}.temple-quickitems button[aria-pressed=true]{color:#fff0af;border-color:#c9a568;background:#392b29}.temple-quickitems kbd{font:8px monospace;min-width:12px;height:14px;margin-right:5px;background:#25202b;border-color:#574856;color:#d6c0ad}.temple-timer{position:absolute;left:50%;top:30px;transform:translateX(-50%);font-size:26px;color:#ffe192}.temple-timer small{display:block;font-size:7px;letter-spacing:2px}.temple-boss{position:absolute;left:25%;right:25%;bottom:48px;text-align:center;letter-spacing:3px;font-size:10px}.temple-boss>div{height:8px;border:2px solid #c0a28a;background:#291d26;margin-top:6px}.temple-boss i{display:block;height:100%;background:#d65943;box-shadow:inset 0 1px #ffb367}
.temple-mode{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:#af9d8f;margin:0 0 16px}.temple-mode strong{color:#e4caa0;letter-spacing:1px}.temple-mode button{padding:7px 11px;border:1px solid #574536;border-radius:2px;color:#dec7a8;background:#29211c}.temple-mode small{margin-left:auto;color:#8f897e}.fire-stage .dialog-backdrop{background:#08081066;justify-content:flex-end;padding-bottom:65px}.fire-stage .dialog{width:min(550px,90%);background:#191526;border:3px solid #d8c8ae;border-radius:0;box-shadow:0 0 0 3px #3d3046,0 12px 35px #0008;padding:18px 22px}.fire-stage .dialog .eyebrow{font:8px monospace;letter-spacing:2px;color:#af9682}.fire-stage .dialog h2{font:17px monospace;color:#f4db9b;margin:9px 0}.fire-stage .dialog p{font:13px/1.7 monospace;color:#e5dcc8}.fire-stage .dialog button{font:11px monospace;border:0;background:none;padding:5px;color:#f0d7a1}.fire-stage .pause-overlay{background:#100d20d9;backdrop-filter:none}.fire-stage .pause-overlay>span{font:26px monospace;letter-spacing:4px}
@media(max-width:680px){.stage.fire-stage{min-height:336px;height:448px}.temple-hud{inset:12px 9px}.temple-life>div{grid-template-columns:repeat(8,12px);gap:1px}.temple-life svg{width:12px;height:12px}.temple-count{font-size:10px}.temple-count span+span{display:none}.temple-quickitems{bottom:3px}.temple-quickitems button{font-size:8px;padding:4px}.temple-quickitems kbd{display:none}.fire-stage .touch-controls{bottom:56px}.fire-stage .dialog p{font-size:11px}.fire-stage .dialog{padding:12px 16px}}
