:root{--ui-font: "Nunito", system-ui, sans-serif;--ui-display: "Fredoka", "Nunito", system-ui, sans-serif;--ui-ink: #0a2b3d;--ui-ink-soft: #27566c;--ui-glass: rgba(246, 252, 252, .66);--ui-border: rgba(255, 255, 255, .75);--ui-radius: 22px}.overlay{font-family:var(--ui-font);color:var(--ui-ink)}.overlay button{font-family:inherit;color:inherit}.glass{background:var(--ui-glass);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:0 8px 30px #1446642e,inset 0 1px #ffffffa6;pointer-events:auto}.title-stage{position:fixed;inset:0;pointer-events:none}.title-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.title-stage.corner{visibility:hidden}.title-tagline{position:absolute;left:0;right:0;margin:0;text-align:center;font:600 clamp(15px,2.1vmin,24px) / 1.2 var(--ui-display);letter-spacing:.18em;text-transform:lowercase;color:#fff;text-shadow:0 1px 12px rgba(10,60,90,.55),0 0 2px rgba(10,60,90,.4);opacity:0;transform:translateY(8px);filter:blur(6px);transition:opacity 1.4s ease,transform 1.4s ease,filter 1.4s ease}.title-tagline.show{opacity:1;transform:none;filter:none}.title-fontname{position:absolute;left:0;right:0;margin:0;text-align:center;font:600 12px/1 Nunito,system-ui,sans-serif;letter-spacing:.12em;color:#fff;opacity:.8;text-shadow:0 1px 6px rgba(10,60,90,.6)}.title-stage.outro .title-tagline{transition-duration:.45s}.overlay .logo{position:fixed;top:18px;left:22px;pointer-events:none;cursor:pointer;border:0;padding:4px 6px;background:none;font:700 30px / 1 var(--ui-display);letter-spacing:.01em;color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(105deg,#8ff3ff,#c9b6ff 35%,#ffcdb0 62%,#8ff3ff);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 1px 1.5px rgba(10,50,80,.8)) drop-shadow(0 0 3px rgba(10,50,80,.5)) drop-shadow(0 0 8px rgba(175,225,255,.55));opacity:0;transition:opacity 1.4s ease,left 1.5s cubic-bezier(.65,0,.25,1),top 1.5s cubic-bezier(.65,0,.25,1),transform 1.5s cubic-bezier(.65,0,.25,1);animation:logoShimmer 7s ease-in-out infinite}.logo.center{left:50%;top:50%;transform:translate(-50%,-50%) scale(3.4);pointer-events:none;transition:opacity .9s ease .2s,left 0s,top 0s,transform 0s}.logo.ring{animation:logoShimmer 7s ease-in-out infinite,logoThump 1.6s ease-out}@keyframes logoThump{0%{transform:scale(1)}6%{transform:scale(1.1) rotate(-1.5deg)}16%{transform:scale(1.07) rotate(1.2deg)}30%{transform:scale(1.05) rotate(-.8deg)}50%{transform:scale(1.025) rotate(.4deg)}75%{transform:scale(1.01) rotate(-.15deg)}to{transform:scale(1)}}.logo.show{opacity:1;pointer-events:auto}.logo.show:not(.center):hover{transform:scale(1.06)}@keyframes logoShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.top-right{position:fixed;top:16px;right:18px;display:flex;gap:10px}.round-btn{width:44px;height:44px;border-radius:50%;padding:0;cursor:pointer;display:grid;place-items:center;color:var(--ui-ink);transition:transform .2s ease,background .2s ease}.round-btn:hover{transform:translateY(-1px) scale(1.06);background:#ffffff73}.round-btn:focus-visible,.menu-tabs button:focus-visible,.logo:focus-visible{outline:2px solid #fff;outline-offset:2px}.menu-panel{position:fixed;top:72px;right:18px;width:min(340px,calc(100vw - 36px));padding:18px 20px 20px;box-sizing:border-box;opacity:0;transform:translateY(-8px) scale(.97);transform-origin:90% 0;pointer-events:none;visibility:hidden;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.9,.3,1.2),visibility 0s linear .3s}.menu-panel.open{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}.menu-name{margin:0 0 12px;font:700 24px / 1 var(--ui-display)}.menu-tabs{display:flex;gap:6px;margin-bottom:14px;padding:4px;border-radius:999px;background:#ffffff47}.menu-tabs button{flex:1;border:0;background:none;padding:7px 4px;border-radius:999px;cursor:pointer;font:700 14px var(--ui-font);color:var(--ui-ink-soft);transition:background .2s,color .2s}.menu-tabs button.on{background:#ffffffbf;color:var(--ui-ink);box-shadow:0 2px 8px #14466426}.menu-quality{margin:14px 0 0}.menu-quality button{font-size:12px}.menu-body{font-size:15px;line-height:1.5;min-height:110px}.menu-body p{margin:0 0 8px}.menu-body .lead{font:600 15px var(--ui-display);letter-spacing:.08em;color:var(--ui-ink-soft)}.menu-body ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.menu-body li{display:grid}.menu-body li span{color:var(--ui-ink-soft);font-size:14px}.menu-body .links a{display:block;padding:10px 14px;border-radius:14px;text-decoration:none;font-weight:700;color:var(--ui-ink);background:#fff6;transition:background .2s,transform .2s}.menu-body .links a:hover{background:#ffffffb3;transform:translate(3px)}.controls-hint{position:fixed;left:50%;bottom:22px;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px 0;padding:12px 8px;max-width:calc(100vw - 32px);box-sizing:border-box;font-size:13px;font-weight:700;color:var(--ui-ink);pointer-events:none;transition:opacity 1.2s ease,transform 1.2s ease}.controls-hint.gone{opacity:0;transform:translate(-50%,10px)}.ch-group{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:0 20px}.ch-group+.ch-group{border-left:1px solid rgba(255,255,255,.45)}.ch-group h3{margin:0;font:800 10px/1 var(--ui-font);letter-spacing:.16em;text-transform:uppercase;color:var(--ui-ink-soft)}.ch-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ch-rows li{display:flex;align-items:center;gap:10px}.ch-rows li>span{white-space:nowrap}.controls-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;box-sizing:border-box;font:800 12px/1 var(--ui-font);color:var(--ui-ink);background:#ffffffd9;border-radius:8px;box-shadow:0 2px #0f425947,inset 0 1px #fff}.controls-hint kbd.wide{min-width:52px}.wasd{display:grid;grid-template-columns:repeat(3,26px);grid-template-rows:repeat(2,26px);gap:4px}.wasd kbd:nth-child(1){grid-column:2;grid-row:1}.wasd kbd:nth-child(2){grid-column:1;grid-row:2}.wasd kbd:nth-child(3){grid-column:2;grid-row:2}.wasd kbd:nth-child(4){grid-column:3;grid-row:2}.mouse{flex:none}.mouse path,.mouse rect{fill:#ffffff8c;stroke:none}.mouse .mouse-body{fill:#fff6;stroke:var(--ui-ink);stroke-width:1.5}.mouse .mouse-line{fill:none;stroke:var(--ui-ink);stroke-width:1.2}.mouse .mouse-on{fill:#2fc9a8}@media(max-width:640px){.ch-group{padding:0 12px}.ch-group+.ch-group{border-left:0}}@media(prefers-reduced-motion:reduce){.title-stage,.logo,.menu-panel,.controls-hint{transition-duration:.01s!important;animation:none!important}}.time-hud{position:fixed;top:10px;left:50%;transform:translate(-50%) scale(.78);transform-origin:top center;display:flex;align-items:center;gap:8px;padding:4px 12px 4px 9px;cursor:pointer;border-radius:999px;opacity:.45;background:#ffffff24;box-shadow:none;transition:transform .2s ease,background .3s ease,color .3s ease,opacity .3s ease}.time-hud:hover,.time-hud.fast{opacity:.95;transform:translate(-50%) scale(.85);background:#ffffff52}.time-hud svg{display:block;overflow:visible}.time-hud-arc{fill:none;stroke:currentColor;stroke-opacity:.35;stroke-width:1.5;stroke-dasharray:2 4;stroke-linecap:round}.time-hud-horizon{stroke:currentColor;stroke-opacity:.25;stroke-width:1}.time-hud-body{fill:url(#hud-sun);transition:fill .6s ease;filter:drop-shadow(0 0 4px rgba(255,190,110,.9))}.time-hud.night .time-hud-body{fill:url(#hud-moon);filter:drop-shadow(0 0 5px rgba(170,160,255,.9))}.time-hud.night{color:#e8e4ff;background:#281e5a52;border-color:#c8beff73}.time-hud-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.time-hud-clock{font-size:15px;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums}.time-hud-phase{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;opacity:.75}.time-hud-ff{font-size:18px;font-weight:800;margin-left:-2px;animation:hudPulse .9s ease-in-out infinite}@keyframes hudPulse{50%{opacity:.35}}@media(max-width:520px){.time-hud svg{display:none}}.menu-volume{display:flex;align-items:center;gap:12px;margin:14px 0 0;font-size:12px;opacity:.9}.menu-volume input[type=range]{flex:1;accent-color:#fff;height:4px;cursor:pointer}.menu-volume input[type=range]:focus-visible{outline:2px solid #fff;outline-offset:3px}.loading-veil{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 70%,#fff3df,#d9ecff 55%,#b7d9f7);opacity:1;transition:opacity 1.8s cubic-bezier(.4,0,.2,1);display:grid;place-items:center}.loading-veil.lift{opacity:0}.loading-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 18px 6px #ffffffe6;animation:loadingPulse 1.4s ease-in-out infinite;transition:opacity .5s}.loading-veil.lift .loading-dot{opacity:0;animation:none}@keyframes loadingPulse{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1.3);opacity:1}}.legal-bar{position:fixed;left:16px;bottom:12px;pointer-events:auto;font:600 12px/1 var(--font-ui, system-ui, sans-serif);color:#ffffffd1;padding:6px 10px;border-radius:999px;background:#14183052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:0 1px 2px rgba(0,0,0,.35)}.legal-bar a,.menu-legal a{color:inherit;text-decoration:none}.legal-bar a:hover,.menu-legal a:hover{text-decoration:underline}.menu-legal{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:600}.stone-hint{position:fixed;left:50%;bottom:150px;transform:translate(-50%,10px);display:flex;align-items:center;gap:10px;padding:9px 18px 9px 10px;border-radius:999px;cursor:pointer;font:800 15px var(--ui-font);color:var(--ui-ink);letter-spacing:.02em;background:#f4fbfbe6;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s cubic-bezier(.2,.9,.3,1.2)}.stone-hint.show{opacity:1;transform:translate(-50%);pointer-events:auto}.stone-hint:hover{background:#fff}.stone-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;box-sizing:border-box;font:800 13px/1 var(--ui-font);color:var(--ui-ink);background:#fff;border-radius:9px;box-shadow:0 2px #0f42594d,inset 0 1px #fff,0 0 12px #50e6d2b3;animation:stoneKey 2.2s ease-in-out infinite}@keyframes stoneKey{50%{box-shadow:0 2px #0f42594d,inset 0 1px #fff,0 0 20px #9678ffd9}}.stone-panel{position:fixed;right:clamp(16px,5vw,80px);top:50%;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow-y:auto;box-sizing:border-box;padding:24px 26px 22px;color:var(--ui-ink);background:#f6fcfced;transform:translateY(-50%);animation:stoneIn .4s cubic-bezier(.2,.9,.3,1.15);box-shadow:0 14px 50px #14285a59,0 0 0 1px #78dcd759,inset 0 1px #fffc}@keyframes stoneIn{0%{opacity:0;transform:translateY(calc(-50% + 14px)) scale(.96)}}@media(max-width:700px){.stone-panel{inset:auto 16px 90px;width:auto;transform:none;max-height:60vh}@keyframes stoneIn{0%{opacity:0}}}.stone-kicker{font:800 11px/1 var(--ui-font);letter-spacing:.2em;text-transform:uppercase;color:#1f8c86;margin:0 40px 8px 0}.stone-title{margin:0 36px 12px 0;font:700 28px/1.12 var(--ui-display);color:var(--ui-ink)}.stone-body{font-size:15.5px;line-height:1.55;color:#0f3447}.stone-body p{margin:0 0 10px}.stone-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:#0a2b3d14;color:var(--ui-ink);transition:background .2s}.stone-close:hover{background:#0a2b3d2e}.stone-close:focus-visible,.stone-links a:focus-visible,.stone-hint:focus-visible{outline:2px solid #1f8c86;outline-offset:2px}.stone-links{display:grid;gap:8px;margin-top:8px}.stone-links a{display:flex;justify-content:space-between;padding:11px 16px;border-radius:14px;text-decoration:none;font-weight:800;color:var(--ui-ink);background:#1f8c8624;transition:background .2s,transform .2s}.stone-links a:hover{background:#1f8c8642;transform:translate(3px)}.stone-legal{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(10,43,61,.12);font-size:12px;font-weight:700;color:var(--ui-ink-soft)}.stone-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}@media(prefers-reduced-motion:reduce){.stone-panel,.stone-hint kbd{animation:none!important}.stone-hint{transition-duration:.01s}}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:#bfe3f5;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}canvas{display:block;touch-action:none}.overlay{position:fixed;inset:0;pointer-events:none}
