:root{color:#25354d;font-synthesis:none;text-rendering:optimizelegibility;background:#8fcbe2;font-family:Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body{background:#8fcbe2}#app{isolation:isolate;--frame-top:0px;--frame-bottom:100%;position:relative}.loading-screen{z-index:10;color:#2b2926;background:radial-gradient(circle at 16% 18%,#fff0d5c7 0 3%,#0000 3.2%),radial-gradient(circle at 84% 12%,#fff0d5a3 0 4%,#0000 4.2%),linear-gradient(#63b5df,#9ed8ea 70%,#b9dfe8);place-items:center;padding:24px;transition:opacity .24s;display:grid;position:absolute;inset:0;overflow:auto}.loading-screen:after{content:"";pointer-events:none;background:linear-gradient(#0000,#466f4e6b);height:22%;position:absolute;bottom:0;left:0;right:0}.loading-screen--leaving{opacity:0;pointer-events:none}.loading-screen[hidden]{display:none}.loading-card{z-index:1;text-align:center;background:#fff0d5;border:5px solid #2b2926;border-radius:20px;width:min(760px,100%);padding:32px 36px;position:relative;box-shadow:10px 12px #2b292661}.loading-card h1{margin:12px 0;font-size:clamp(28px,4vw,44px)}.loading-story{max-width:650px;margin:0 auto 24px;font-size:17px;line-height:1.5}.tone-note{color:#5b5148;background:#ffffff57;border-radius:8px;max-width:680px;margin:0 auto 18px;padding:10px 14px;font-size:14px;font-style:italic;line-height:1.4}.intro-story+.tone-note{margin-bottom:10px}.loading-progress{background:#e0c69f;border:3px solid #2b2926;border-radius:999px;width:min(520px,100%);height:22px;margin:0 auto;padding:3px;overflow:hidden}.loading-progress-fill{border-radius:inherit;transform-origin:0;background:repeating-linear-gradient(135deg,#8c2f36 0 12px,#b7474f 12px 24px);width:100%;height:100%;transition:transform .12s ease-out;display:block;transform:scaleX(0)}.loading-status{color:#5b5148;margin:12px 0 0;font-size:14px;font-weight:800}.scene-backdrop{pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-backdrop__sky,.scene-backdrop__clouds,.scene-backdrop__bush-seam{position:absolute}.scene-backdrop__sky{z-index:0;background:linear-gradient(#63b5df,#9ed8ea 72%,#b9dfe8);inset:0}.scene-backdrop__clouds{--cloud-tile-width:1086px;z-index:2;top:calc(var(--frame-top) - 155px);right:calc(-1 * var(--cloud-tile-width));left:calc(-1 * var(--cloud-tile-width));background:url(/assets/frame/cloud-seam-dense.png) center / var(--cloud-tile-width) auto repeat-x;will-change:transform;height:220px;animation:55s linear infinite clouds-drift}.scene-backdrop__bush-seam{z-index:2;top:calc(var(--frame-bottom) - clamp(64px, 6vw, 84px));filter:drop-shadow(0 -6px 10px #1d2f1f1f);background:url(/assets/frame/bush-seam.png) top/auto 100% repeat-x;bottom:0;left:0;right:0}@keyframes clouds-drift{to{transform:translateX(calc(-1 * var(--cloud-tile-width)))}}#game-root{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#game-root canvas{max-width:100%;max-height:100%;margin:0;display:block}#game-root:focus-visible canvas{outline-offset:4px;outline:4px solid #f3ddbd}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.prototype-controls{z-index:3;gap:10px;display:flex;position:absolute;bottom:30px;right:30px}@media (prefers-reduced-motion:reduce){.scene-backdrop__clouds{animation:none}}.prototype-controls[hidden]{display:none}.prototype-controls button{color:#2b2926;cursor:pointer;background:#f3ddbd;border:3px solid #2b2926;border-radius:10px;padding:10px 14px;font:700 14px/1 Trebuchet MS,sans-serif;box-shadow:3px 4px #2b292659}.prototype-controls button:hover{background:#fff0d5}.prototype-controls button[aria-pressed=true]{color:#fff6e8;background:#405a7d}.prototype-controls button:disabled{color:#746b64;cursor:not-allowed;opacity:.72;background:#cbb99d}.prototype-controls button[hidden]{display:none}.prototype-controls button:active{translate:2px 2px;box-shadow:1px 2px #2b292659}.prototype-controls button:focus-visible{outline-offset:3px;outline:3px solid #fff}.intro{z-index:4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#152238ad;place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:auto}.intro[hidden]{display:none}.orientation-lock{z-index:100;color:#2b2926;text-align:center;background:radial-gradient(circle at 50% 30%,#fff0d538,#0000 34%),#25354d;place-items:center;padding:24px;display:none;position:fixed;inset:0}.orientation-lock__card{background:#fff0d5;border:5px solid #2b2926;border-radius:20px;width:min(360px,100%);padding:30px 26px;box-shadow:10px 12px #00000047}.orientation-lock__icon{color:#fff6e8;background:#8c2f36;border:5px solid #2b2926;border-radius:16px;place-items:center;width:112px;height:72px;margin:0 auto 20px;font:900 48px/1 Trebuchet MS,sans-serif;display:grid;rotate:-8deg}.orientation-lock h1{color:#8c2f36;margin:0 0 12px;font-size:clamp(26px,8vw,38px);line-height:1}.orientation-lock p{margin:0;font-size:18px;font-weight:700;line-height:1.4}@media (orientation:portrait) and (width<=900px){.orientation-lock{display:grid}}.intro-card{color:#2b2926;text-align:center;background:#fff0d5;border:5px solid #2b2926;border-radius:20px;width:min(820px,100%);max-height:calc(100vh - 32px);padding:26px 30px 30px;position:relative;overflow:auto;box-shadow:10px 12px #2b292661}.intro-card>:not(.intro-runner){z-index:2;position:relative}.intro-languages{justify-content:center;align-items:center;gap:8px;display:flex}.intro-languages button{color:#2b2926;cursor:pointer;background:#e0c69f;border:3px solid #2b2926;border-radius:9px;min-width:50px;padding:7px 10px;font:800 13px/1 Trebuchet MS,sans-serif}.intro-languages button[aria-pressed=true]{color:#fff6e8;background:#405a7d}.intro h1{margin:12px 0 10px;font-size:clamp(26px,3.6vw,40px)}.intro-story{background:#f3ddbdad;border-left:5px solid #8c2f36;border-radius:8px;max-width:560px;margin:0 auto 12px;padding:12px 16px;line-height:1.42}.intro-runner{z-index:1;filter:drop-shadow(5px 7px #2b292638);pointer-events:none;transform-origin:bottom;width:158px;height:auto;position:absolute;top:112px}.intro-runner--left{animation:.85s ease-in-out infinite intro-runner-left;left:4px}.intro-runner--right{animation:.9s ease-in-out infinite intro-runner-right;right:4px}.intro>.intro-card>p{max-width:560px;margin:0 auto;font-size:18px}.intro-hints{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;padding:0;list-style:none;display:grid}.intro-hints li{background:#f3ddbd;border:3px solid #2b2926;border-radius:14px;align-content:center;place-items:center;gap:9px;min-height:112px;padding:14px 10px;font-weight:700;display:grid}.intro-icon{color:#fff6e8;background:#8c2f36;border:3px solid #2b2926;border-radius:50%;place-items:center;width:54px;height:54px;font-size:28px;display:grid}.intro-start{color:#fff6e8;cursor:pointer;background:#8c2f36;border:3px solid #2b2926;border-radius:11px;min-width:min(310px,100%);padding:18px 42px;font:800 21px/1 Trebuchet MS,sans-serif;box-shadow:3px 4px #2b29264d}@keyframes intro-runner-left{0%,to{transform:translateY(0)scaleX(-1)rotate(-1deg)}50%{transform:translateY(-7px)scaleX(-1)rotate(1deg)}}@keyframes intro-runner-right{0%,to{transform:translateY(0)rotate(1deg)}50%{transform:translateY(-7px)rotate(-1deg)}}@media (width<=700px){.intro-card{padding:20px}.intro-hints{grid-template-columns:1fr}.intro-hints li{text-align:left;grid-template-columns:46px 1fr;min-height:74px}.intro-icon{width:44px;height:44px;font-size:22px}.intro-runner{display:none}}@media (prefers-reduced-motion:reduce){.intro-runner{animation:none}.intro-runner--left{transform:scaleX(-1)}}@media (orientation:landscape) and (height<=650px){.intro{padding:10px}.intro-card{border-width:4px;max-height:calc(100vh - 20px);padding:14px 20px 16px}.intro h1{margin:8px 0;font-size:clamp(24px,4.5vw,32px)}.intro-story{margin-bottom:6px;padding:7px 12px;line-height:1.28}.intro>.intro-card>p{font-size:14px}.intro-story+.tone-note{margin-bottom:8px;padding:5px 10px;font-size:12px;line-height:1.28}.intro-hints{display:none}#intro-body{margin-bottom:10px;font-size:14px}.intro-runner{width:132px;top:88px}.intro-start{min-width:270px;padding:13px 30px;font-size:17px}}
