@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
.title,#credits-title{display:flex;align-items:center;justify-content:center;gap:9px}.subtitle,.credits-subtitle{display:flex;align-items:center;justify-content:center;gap:8px}.chimes-icon,.hornet-mark{display:block;flex:none;object-fit:contain}.chimes-icon{filter:drop-shadow(0 2px 4px #171a2060)}.hornet-mark{opacity:.9}#welcome{bottom:max(12%,112px)!important}
footer{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);text-align:center}#credits-toggle{display:flex;flex-direction:column;align-items:center;gap:3px;border-color:transparent;background:transparent;backdrop-filter:none;text-shadow:0 2px 16px #171a20,0 1px 3px #171a20;padding:8px 20px}#credits-toggle:hover{background:#171a2040;border-color:#ffffff20}.title{font-size:28px;letter-spacing:-1px;font-weight:500;line-height:1.1}.subtitle{font-size:10px;letter-spacing:1.8px;opacity:.8}dialog{color:#eee8dc;background:#222128ed;border:1px solid #e9cba730;border-radius:18px;padding:32px 36px;width:min(590px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 24px 100px #0006;backdrop-filter:blur(26px);text-align:center}dialog::backdrop{background:#10121c80;backdrop-filter:blur(7px)}dialog h1{font-size:36px;letter-spacing:-1.5px;font-weight:500;margin:0}.credits-subtitle{font-size:11px;letter-spacing:2px;color:#d6c4a6;margin:5px 0 26px}#credits-close{position:absolute;right:12px;top:10px;padding:1px 10px;font-size:25px;background:transparent;border-color:transparent}dl{display:grid;gap:20px;margin:0}dt{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#c4a986;margin-bottom:6px}dd{font-size:13px;line-height:1.6;margin:0;text-wrap:balance}.thanks{border-top:1px solid #ffffff18;padding-top:20px}@media(max-width:700px){.title{font-size:24px}footer{bottom:max(12px,env(safe-area-inset-bottom))}dialog{padding:30px 22px}dl{gap:17px}dd{font-size:12px}}
:root{font-family:'DM Sans',sans-serif;color:#eee8dc;background:#171a20;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block;width:100vw;height:100dvh;outline:none;touch-action:none}header{position:fixed;top:24px;right:24px;display:flex;gap:8px;align-items:center}button{font:inherit;font-size:13px;color:inherit;border:1px solid #ffffff25;background:#272a30b8;border-radius:9px;padding:10px 15px;cursor:pointer;backdrop-filter:blur(18px)}button:hover{border-color:#d7b98399;background:#353536}button:focus-visible,input:focus-visible{outline:2px solid #e6bc78;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}#settings{display:grid;place-items:center;padding:10px}#welcome{position:fixed;left:50%;bottom:12%;transform:translateX(-50%);transition:opacity .3s}#start{background:#e0c89f;color:#222528;border:0;padding:13px 30px;font-weight:600}#controls{position:fixed;right:24px;top:78px;width:240px;padding:8px 20px;background:#20242bed;border:1px solid #ffffff15;border-radius:12px;backdrop-filter:blur(22px)}label{display:flex;flex-direction:column;gap:10px;font-size:12px;margin:18px 0;color:#d1d0ca}input[type=range]{accent-color:#d8bb89;width:100%;cursor:pointer}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#error{position:fixed;bottom:30px;left:5%;right:5%;padding:18px;background:#602f2f;color:#fff;border-radius:10px;font-size:13px}.playing #welcome{opacity:0;pointer-events:none}.playing canvas{cursor:default}@media(max-width:700px){header{top:16px;right:16px}button{font-size:12px;padding:9px 12px}#controls{right:16px;top:67px;width:220px}}

/* Reveal the complete scene gently, rather than exposing asset assembly. */
#stage{opacity:0;transition:opacity .8s ease}.scene-ready #stage{opacity:1}
#loading-scene{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;z-index:2;background:radial-gradient(ellipse at 50% 40%,#65504f 0%,#302b34 42%,#171a20 85%);transition:opacity .65s,visibility .65s;pointer-events:none;overflow:hidden}
.loading-glow{position:absolute;width:60vmin;height:60vmin;border-radius:50%;background:#f0c99d12;filter:blur(65px);animation:loading-breathe 5s ease-in-out infinite alternate}
#loading-scene img{position:relative;transform-origin:50% 5%;animation:loading-sway 3.8s ease-in-out infinite alternate}.loading-title{font-size:30px;letter-spacing:-1px}.loading-caption{font-size:12px;color:#dbcdbbb3;letter-spacing:.6px}.loading-track{height:2px;width:100px;background:#e4c69a22;overflow:hidden;border-radius:2px;margin-top:8px}.loading-track:after{content:'';display:block;width:40%;height:100%;background:#dec494b0;animation:loading-progress 1.8s ease-in-out infinite alternate}
.scene-ready #loading-scene{opacity:0;visibility:hidden}body:not(.scene-ready) header,body:not(.scene-ready) footer,body:not(.scene-ready) #welcome{visibility:hidden}
@keyframes loading-sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes loading-breathe{to{transform:scale(1.3);opacity:.45}}@keyframes loading-progress{to{transform:translateX(150%)}}
header{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.subtitle{white-space:nowrap}
@media(pointer:coarse){button{min-height:44px;min-width:44px}input[type=range]{min-height:32px}#controls{top:calc(max(16px,env(safe-area-inset-top)) + 54px);right:max(16px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){#loading-scene *{animation:none!important}#stage,#loading-scene{transition:none}}
