:root{--fg:#f3efe2;--fg-dim:#f3efe2b3;--accent:#9fe8e0;--firefly:#d8f7a0;--firefly-text:#e4fbb4;--serif:"Source Serif 4", ui-serif, Georgia, "Times New Roman", serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/source-serif-4-latin-DuZxYNfE.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400 600;font-display:swap;src:url(/assets/source-serif-4-italic-latin-DEphWvQE.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/jetbrains-mono-latin-Db4Uuiha.woff2)format("woff2")}*{box-sizing:border-box}html,body{height:100%;color:var(--fg);font-family:var(--serif);background:#0d1612;margin:0;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.screen{z-index:10;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}.hidden{opacity:0;pointer-events:none}#loading{background:radial-gradient(#1b2a22 0%,#070c09 100%)}.loading-box{text-align:center;width:min(360px,80vw)}.loading-title{letter-spacing:.08em;margin-bottom:18px;font-size:22px}.loading-bar{background:#ffffff1f;height:2px;overflow:hidden}#loading-fill{background:var(--accent);width:0%;height:100%;transition:width .25s}.loading-step{color:var(--fg-dim);font-size:12px;font-family:var(--mono);min-height:1em;margin-top:10px}.loading-step.loading-unsupported{line-height:1.6}#gpu-lost{cursor:pointer;z-index:25;background:radial-gradient(#1b2a22 0%,#070c09 100%)}#overlay{-webkit-backdrop-filter:blur(6px)brightness(.6);cursor:pointer;background:radial-gradient(60% 34%,#080c0acc 0%,#080c0a8c 55%,#080c0a26 100%)}.overlay-box{text-align:center;text-shadow:0 2px 12px #0009;flex-direction:column;align-items:center;gap:18px;padding:0 16px;display:flex}.overlay-title{letter-spacing:.02em;font-size:clamp(44px,6.7vw,88px);font-weight:600;line-height:1}.overlay-hint{max-width:900px;color:var(--firefly-text);text-shadow:0 0 18px #d8f7a059,0 2px 12px #0009;align-items:center;gap:14px;font-size:clamp(19px,2.35vw,30px);font-style:italic;line-height:1.3;display:flex}.firefly{background:var(--firefly);border-radius:50%;flex:none;width:8px;height:8px;animation:1.8s ease-in-out infinite firefly;box-shadow:0 0 12px 4px #d8f7a0b3}.firefly:last-child{animation-delay:.9s}.overlay-cta{color:#9fd3c0;margin-top:18px;font-size:clamp(18px,1.7vw,22px);animation:2.4s ease-in-out infinite pulse}.overlay-footer{font-family:var(--mono);color:var(--fg-dim);justify-content:space-between;align-items:flex-end;gap:10px 24px;display:flex;position:absolute;bottom:22px;left:28px;right:28px}.overlay-keys{flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.overlay-keys b{color:var(--fg);font-weight:700}.overlay-credits{white-space:nowrap;gap:14px;font-size:12px;display:flex}.overlay-credits a{color:var(--fg-dim);border-bottom:1px solid #fff3;text-decoration:none}.overlay-credits a:hover{color:var(--fg);border-bottom-color:var(--accent)}@media (width<=760px){.overlay-footer{flex-direction:column;align-items:center;left:16px;right:16px}.overlay-keys{justify-content:center}}.touch-mode .overlay-footer{left:max(28px, env(safe-area-inset-left));right:max(28px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom))}.overlay-rotate{font-family:var(--mono);color:var(--fg-dim);font-size:13px;display:none}@media (orientation:portrait){.touch-mode .overlay-rotate{display:block}}@media (height<=480px){.overlay-box{gap:10px}.overlay-title{font-size:40px}.overlay-hint{font-size:18px}.overlay-cta{margin-top:6px}.overlay-footer{bottom:10px}.overlay-keys{font-size:12px}}.touch-mode,.touch-mode body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@keyframes firefly{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.firefly,.overlay-cta{animation:none}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}#reticle{opacity:0;pointer-events:none;z-index:15;background:#fff4d6e6;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;transition:opacity .18s,transform .18s;position:fixed;top:50%;left:50%;transform:scale(.5);box-shadow:0 0 6px #ffd68ccc,0 0 1px #0009}#reticle.on{opacity:1;transform:scale(1)}#skips{text-align:center;color:var(--fg);text-shadow:0 1px 10px #0000008c;pointer-events:none;opacity:0;z-index:5;transition:opacity .9s;position:fixed;bottom:11%;left:50%;transform:translate(-50%)}#skips.on{opacity:.82;transition-duration:.25s}.skips-count{letter-spacing:.04em;font-size:17px;font-style:italic}#skips-n{min-width:1ch;font-size:26px;font-style:normal;font-weight:600;display:inline-block}#skips-n.tick{animation:.35s ease-out skip-tick}#skips-label{color:var(--fg-dim)}#skips-best{min-height:1.2em;font-family:var(--mono);letter-spacing:.08em;color:var(--fg-dim);margin-top:2px;font-size:11px}#skips-best.record{color:var(--firefly-text);text-shadow:0 0 12px #d8f7a073,0 1px 8px #00000080}@keyframes skip-tick{0%{opacity:.6;transform:translateY(-3px)scale(1.18)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){#skips-n.tick{animation:none}}#stone-charge{opacity:0;filter:drop-shadow(0 0 2px #0009);pointer-events:none;z-index:15;width:60px;height:60px;margin:-30px 0 0 -30px;transition:opacity .15s,transform .15s;position:fixed;top:50%;left:50%;overflow:visible;transform:scale(.8)}#stone-charge.on{opacity:1;transform:scale(1)}#stone-charge .track{fill:none;stroke:#080e0b80;stroke-width:7px}#stone-charge-fill{fill:none;stroke:var(--fg);stroke-width:4px;stroke-linecap:round;stroke-dasharray:150.8;stroke-dashoffset:150.8px}#stone-charge.full #stone-charge-fill{stroke:var(--firefly);filter:drop-shadow(0 0 5px #d8f7a0e6)}#stone-charge.full{animation:.9s ease-in-out infinite charge-pulse}@keyframes charge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){#stone-charge.full{animation:none}}#stone-hint{white-space:nowrap;font-family:var(--mono);letter-spacing:.06em;color:var(--fg);text-shadow:0 0 3px #000000e6,0 0 10px #000000b3,0 1px 16px #00000080;opacity:0;pointer-events:none;z-index:5;font-size:13px;transition:opacity .6s;position:fixed;bottom:calc(11% + 62px);left:50%;transform:translate(-50%)}#stone-hint.on{opacity:.95;transition-duration:.25s}#stats{color:#d6f5e8;z-index:20;pointer-events:none;white-space:pre;background:#0000008c;margin:0;padding:6px 8px;font:11px/1.4 ui-monospace,Menlo,monospace;position:fixed;top:8px;left:8px}#error{white-space:pre-wrap;z-index:30;background:#500a0ae6;padding:12px 14px;font:12px/1.4 ui-monospace,Menlo,monospace;position:fixed;inset:auto 16px 16px}#touch{z-index:6;touch-action:none;-webkit-tap-highlight-color:transparent;--safe-l:max(18px, env(safe-area-inset-left));--safe-r:max(18px, env(safe-area-inset-right));--safe-b:max(18px, env(safe-area-inset-bottom));display:none;position:fixed;inset:0}#touch.on{display:block}#touch button{color:var(--fg);-webkit-tap-highlight-color:transparent;background:#080e0b4d;border:1.5px solid #f3efe252;border-radius:50%;padding:0;transition:background .12s,border-color .12s,transform .12s;position:absolute}#touch button.down{border-color:var(--firefly);background:#d8f7a038;transform:scale(.94)}.touch-stick{left:calc(var(--safe-l) + 74px);top:calc(100% - var(--safe-b) - 74px);opacity:.45;pointer-events:none;background:#080e0b33;border:1.5px solid #f3efe247;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:absolute}.touch-stick.on{opacity:1}.touch-knob{background:#f3efe261;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.touch-light{width:86px;height:86px;right:var(--safe-r);bottom:var(--safe-b)}.touch-light .firefly{width:16px;height:16px;margin:auto;display:block;box-shadow:0 0 18px 7px #d8f7a0b3}.touch-stone{width:64px;height:64px;right:calc(var(--safe-r) + 104px);bottom:var(--safe-b)}.touch-stone i{background:radial-gradient(at 35% 30%,#c9c6bb,#6f6d66 70%);border-radius:50%;width:24px;height:15px;margin:auto;display:block;box-shadow:0 2px 4px #00000080}.touch-stone.snow i{background:radial-gradient(circle at 35% 30%,#fff,#dfe7f0 45%,#9fb0c4 85%);width:22px;height:22px}.touch-jump{width:58px;height:58px;right:calc(var(--safe-r) + 14px);bottom:calc(var(--safe-b) + 104px)}.touch-jump i{border-left:2.5px solid var(--fg);border-top:2.5px solid var(--fg);width:16px;height:16px;margin:6px auto 0;display:block;transform:rotate(45deg)}.touch-top{width:42px;height:42px;top:max(14px, env(safe-area-inset-top))}.touch-pause{left:var(--safe-l);justify-content:center;align-items:center;gap:5px;display:flex}.touch-pause i{background:var(--fg);border-radius:1px;width:4px;height:15px}.touch-sound{left:calc(var(--safe-l) + 52px)}.touch-sound b{background:var(--fg);width:6px;height:10px;position:absolute;top:15px;left:12px}.touch-sound b:after{content:"";border:10px solid #0000;border-right-color:var(--fg);border-left-width:0;position:absolute;top:-5px;left:4px}.touch-sound.muted:after{content:"";background:var(--fg);width:24px;height:2px;position:absolute;top:19px;left:8px;transform:rotate(-45deg)}
