:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font:"Trebuchet MS", "Segoe UI", system-ui, sans-serif;--panel:#121c3ac7;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{height:100%;font-family:var(--font);color:#fff;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#87c4ee;margin:0;overflow:hidden}#scene{width:100vw;height:100dvh;display:block}button{font:inherit;color:inherit;cursor:pointer;border:0}#loading{z-index:10;background:linear-gradient(#3f86d6 0%,#7dbdf0 55%,#d3ecfb 100%);place-items:center;transition:opacity .7s;display:grid;position:fixed;inset:0;overflow:hidden}#loading.done{opacity:0;pointer-events:none}.ld-sun{background:radial-gradient(circle,#fff7cc 0 22%,#ffe58a66 42%,#ffe58a00 70%);border-radius:50%;width:62vmin;height:62vmin;position:absolute;top:-20vmin;right:-12vmin}.ld-rays{background:repeating-conic-gradient(#ffffff26 0 7deg, #fff0 7deg 22deg);border-radius:50%;width:86vmin;height:86vmin;animation:90s linear infinite spin;position:absolute;top:-32vmin;right:-24vmin;-webkit-mask-image:radial-gradient(circle,#000 12%,#0000 68%);mask-image:radial-gradient(circle,#000 12%,#0000 68%)}.ld-cloud{top:var(--top);width:var(--w);height:calc(var(--w) * .3);animation:ld-drift var(--dur) linear var(--delay) infinite;background:#ffffffd9;border-radius:999px;position:absolute;left:0}.ld-cloud:before,.ld-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.ld-cloud:before{width:38%;height:150%;bottom:30%;left:16%}.ld-cloud:after{width:28%;height:120%;bottom:25%;left:46%}@keyframes ld-drift{0%{transform:translate(-30vw)}to{transform:translate(110vw)}}.ld-hills{width:100%;height:42vh;position:absolute;bottom:0;left:0}.ld-ember{bottom:-2vh;left:var(--x);width:var(--s);height:var(--s);opacity:0;animation:ld-rise var(--d) ease-in var(--delay) infinite;background:radial-gradient(circle,#fff6b8 0 30%,#ffb040 62%,#ff6a1a00 100%);border-radius:50%;position:absolute}@keyframes ld-rise{0%{opacity:0;transform:translate(0)scale(1)}12%{opacity:.95}to{transform:translate(var(--drift), -78vh) scale(.25);opacity:0}}.ld-center{text-align:center;flex-direction:column;align-items:center;gap:clamp(10px,2.6vh,24px);padding:0 16px;display:flex;position:relative}.ld-title{letter-spacing:.01em;color:#ffd84a;text-wrap:balance;text-shadow:.03em 0 #c2701a,-.03em 0 #c2701a,0 -.03em #c2701a,0 .06em #dd8420,0 .12em #a85a0c,0 .22em .3em #0004;margin:0;font-size:clamp(2.1rem,6vmin + 1.2rem,4.4rem);font-weight:900;line-height:1;animation:.7s cubic-bezier(.2,1.4,.4,1) both ld-pop;transform:rotate(-2deg)}.ld-title span{color:#fff;text-shadow:.03em 0 #3a64a0,-.03em 0 #3a64a0,0 -.03em #3a64a0,0 .06em #6a9bd0,0 .12em #3a64a0,0 .22em .3em #0004}@keyframes ld-pop{0%{opacity:0;transform:rotate(-2deg)scale(.6)translateY(-20px)}}.ld-egg-wrap{width:1em;height:1.3em;margin:clamp(4px,1.5vh,14px) 0;font-size:clamp(76px,21vh,150px);position:relative}.ld-glow{mix-blend-mode:screen;background:radial-gradient(circle, #fff3b8cc 0, #ffc860666 38%, #ffc86000 70%);border-radius:50%;animation:2.6s ease-in-out infinite ld-glow;position:absolute;inset:-55% -70%}@keyframes ld-glow{50%{opacity:.7;transform:scale(1.12)}}.ld-egg-shadow{background:radial-gradient(#0b3a1e88 0,#0b3a1e00 70%);border-radius:50%;height:.2em;position:absolute;bottom:-.06em;left:-6%;right:-6%}.ld-egg{transform-origin:50% 94%;background:radial-gradient(13% 8% at 31% 20%,#ffffffc0,#fff0 100%),radial-gradient(12% 8% at 36% 58%,#2c7d9d 0 96%,#0000 100%),radial-gradient(9% 6% at 66% 46%,#2c7d9d 0 96%,#0000 100%),radial-gradient(11% 7% at 58% 74%,#2c7d9d 0 96%,#0000 100%),radial-gradient(8% 5% at 26% 80%,#2c7d9d 0 96%,#0000 100%),radial-gradient(8% 6% at 70% 24%,#2c7d9d 0 96%,#0000 100%),radial-gradient(7% 5% at 44% 34%,#2c7d9d 0 96%,#0000 100%),linear-gradient(160deg,#98dcea,#52aecb 55%,#3487ad);border-radius:50%/62% 62% 38% 38%;animation:2.8s ease-in-out infinite ld-rock;position:absolute;inset:0;box-shadow:inset -.08em -.1em .16em #0b4a6a77,0 .04em #1f6c8c}@keyframes ld-rock{0%,52%,to{transform:rotate(0)scale(1)}58%{transform:rotate(-8deg)scale(1.02,.98)}64%{transform:rotate(7deg)}70%{transform:rotate(-5deg)}76%{transform:rotate(3deg)}82%{transform:rotate(-1deg)}}.ld-bar{background:#0b2a5a55;border-radius:999px;width:min(340px,72vw);height:18px;padding:3px;overflow:hidden;box-shadow:inset 0 2px 5px #0006,0 2px #fff6}.ld-bar-fill{width:100%;height:100%;transform:translateX(calc((var(--progress,.08) - 1) * 100%));background:linear-gradient(90deg,#ff9d2e,#ffd84a);border-radius:999px;transition:transform .8s cubic-bezier(.3,.8,.3,1);position:relative;overflow:hidden}.ld-bar-fill:after{content:"";background:linear-gradient(90deg,#fff0,#fff9,#fff0);width:40%;animation:1.6s ease-in-out infinite ld-shine;position:absolute;inset:0}@keyframes ld-shine{0%{transform:translate(-100%)}to{transform:translate(260%)}}.ld-text{letter-spacing:.02em;text-shadow:0 2px #0003,0 2px 10px #0004;min-height:1.4em;font-size:clamp(1.05rem,2.6vmin + .5rem,1.55rem);font-weight:800}.ld-text.swap{animation:.45s ease-out ld-swap}@keyframes ld-swap{0%{opacity:0;transform:translateY(8px)}}.ld-copyright{left:0;right:0;bottom:calc(10px + var(--safe-bottom));text-align:center;letter-spacing:.03em;color:#ffffffe6;text-shadow:0 1px 2px #0a2a14cc,0 0 8px #0a2a1488;padding:0 12px;font-size:clamp(.72rem,1.6vmin + .4rem,.95rem);font-weight:700;position:absolute}@media (prefers-reduced-motion:reduce){.ld-rays,.ld-cloud,.ld-ember,.ld-glow,.ld-egg,.ld-title,.ld-bar-fill:after{animation:none}.ld-ember{display:none}}.loading-card{text-shadow:0 2px 4px #0006;align-items:center;gap:16px;font-size:1.6rem;font-weight:700;display:flex}.spinner{border:5px solid #fff5;border-top-color:#fff;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#cover{z-index:9;opacity:0;pointer-events:none;background:linear-gradient(#4a90d9,#9bd0f5);place-items:center;transition:opacity .45s;display:grid;position:fixed;inset:0}#cover.on{opacity:1;pointer-events:auto}.simple-ui{--panel:#121c3aed}.simple-ui .panel,.simple-ui .pill,.simple-ui #q-row{-webkit-backdrop-filter:none}.simple-ui #q-row{background:#17306ef2}#fps{z-index:30;pointer-events:none;color:#fff;background:#000a;border-radius:6px;padding:3px 8px;font:12px/1.3 ui-monospace,Menlo,Consolas,monospace;position:fixed;bottom:6px;left:6px}#hud{top:max(12px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:12px;right:12px}#hud>*{pointer-events:auto}.pill{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:8px 18px;font-size:1.15rem;font-weight:700}.round{background:#e8505b;border-radius:50%;width:48px;height:48px;font-size:1.4rem;font-weight:800;box-shadow:0 4px #a9323b}.round:active{transform:translateY(3px);box-shadow:0 1px #a9323b}#hint{background:var(--panel);text-shadow:0 2px 4px #0006;pointer-events:none;white-space:nowrap;border-radius:999px;padding:14px 28px;font-size:1.7rem;font-weight:800;animation:1.2s ease-in-out infinite bob;position:fixed;bottom:16%;left:50%;transform:translate(-50%)}@keyframes bob{50%{transform:translate(-50%)translateY(-10px)}}#banner{text-align:center;color:#ffe45e;-webkit-text-stroke:2px #b5651d;paint-order:stroke fill;text-shadow:0 6px #b5651d,0 10px 18px #0007;pointer-events:none;font-size:clamp(2.2rem,9vw,4.5rem);font-weight:900;line-height:1.1;animation:.5s cubic-bezier(.2,1.6,.4,1) pop;position:fixed;top:20%;left:50%;transform:translate(-50%,-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}}#question{pointer-events:none;justify-content:center;align-items:center;height:20vh;animation:.35s cubic-bezier(.2,1.4,.4,1) qpop;display:flex;position:fixed;top:0;left:0;right:0}@keyframes qpop{0%{opacity:0;transform:translateY(-20px)}}#q-row{white-space:nowrap;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform:scale(var(--zoom,1));text-shadow:0 .04em #0a1a44;background:#17306eb3;border-radius:.5em;align-items:center;gap:.3em;padding:.12em .4em;font-size:min(8vh,9vw);font-weight:900;line-height:1;display:flex;box-shadow:0 0 0 .05em #9fdcff80,0 6px 20px #0006}#q-box{text-align:center;color:#1b2a55;min-width:1.5em;text-shadow:none;background:#fff;border-radius:.3em;padding:.05em .2em;box-shadow:0 0 0 .06em #ffc233}#q-box.empty{color:#8e9bc0;background:linear-gradient(120deg,#fff,#e6efff,#fff4d6,#fff) 0 0/300% 100%;animation:5s ease-in-out infinite glide,2.8s ease-in-out infinite halo}#q-box.right{background:#d5f9d9;box-shadow:0 0 0 .06em #3fbf55}#q-box.wrong{background:#ffd8da;animation:.5s shake;box-shadow:0 0 0 .06em #e8505b}@keyframes glide{50%{color:#b4bfdc;background-position:100%}}@keyframes halo{50%{box-shadow:0 0 0 .06em #ffc23399,0 0 .45em .08em #ffc23366}}@keyframes shake{20%,60%{transform:translate(-.12em)}40%,80%{transform:translate(.12em)}}.panel{left:50%;bottom:calc(10px + var(--safe-bottom));background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:26px;width:min(760px,100vw - 20px);padding:12px;animation:.35s cubic-bezier(.2,1.2,.4,1) rise;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #0006}@keyframes rise{0%{opacity:0;transform:translate(-50%)translateY(60px)}}#ops{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.bigop{background:hsl(var(--h) 75% 52%);box-shadow:0 6px 0 hsl(var(--h) 75% 32%);text-shadow:0 2px #0003;border-radius:20px;flex-direction:column;align-items:center;padding:10px 0 8px;display:flex}.bigop .sym{font-size:3rem;font-weight:900;line-height:1.1}.bigop .name{font-size:1rem;font-weight:800}.bigop:active:not(:disabled){box-shadow:0 1px 0 hsl(var(--h) 75% 32%);transform:translateY(5px)}.bigop:disabled{opacity:.4;filter:grayscale(.5);cursor:not-allowed}#facts-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}#facts-title{font-size:1.5rem;font-weight:900}.op{color:#503000;background:#ffc233;border-radius:16px;padding:8px 18px;font-size:1.4rem;font-weight:900;box-shadow:0 4px #c28a00}.op:active{transform:translateY(3px);box-shadow:0 1px #c28a00}#facts{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;display:grid}.fact{background:hsl(var(--h) 75% 52%);box-shadow:0 5px 0 hsl(var(--h) 75% 32%);text-shadow:0 2px #0003;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 0 10px;font-size:1.5rem;font-weight:900;line-height:1.1;display:flex;position:relative}.fact:active{box-shadow:0 1px 0 hsl(var(--h) 75% 32%);transform:translateY(4px)}.fact.quiz{background:linear-gradient(135deg,#8e5bff,#ff5bb0);grid-column:span 2;box-shadow:0 5px #5a2fb0}.stars{justify-content:center;gap:3px;font-size:1.05rem;line-height:1;display:flex}.star{color:#14141f;text-shadow:0 1px #ffffff40}.star.on{color:#ffd23f;text-shadow:0 1px #b07800,0 0 6px #ffd23f99}#keypad{--key-w:clamp(64px, min(15vh, 14vw), 140px);--key-h:clamp(52px, min(10.5vh, 12vw), 110px);--key-gap:clamp(6px, 1.1vh, 12px);--press:calc(var(--key-h) * .08);grid-template-columns:repeat(6, var(--key-w));justify-content:center;gap:var(--key-gap);border-radius:24px;width:fit-content;max-width:calc(100vw - 20px);padding:clamp(8px,1.5vh,16px);display:grid}.key{width:var(--key-w);height:var(--key-h);border-radius:calc(var(--key-h) * .3);font-size:calc(var(--key-h) * .55);box-shadow:0 var(--press) 0 #2a6db0;background:#4aa8ff;padding:0;font-weight:900}.key:active{transform:translateY(calc(var(--press) * .8));box-shadow:0 1px #2a6db0}.key.back{box-shadow:0 var(--press) 0 #b3661a;background:#ff9b3d;grid-column:span 2;width:auto}.key.back:active{box-shadow:0 1px #b3661a}.key[data-key="1"]{order:1}.key[data-key="2"]{order:2}.key[data-key="3"]{order:3}.key[data-key="4"]{order:4}.key[data-key="5"]{order:5}.key[data-key="6"]{order:6}.key[data-key="7"]{order:7}.key[data-key="8"]{order:8}.key[data-key="9"]{order:9}.key[data-key="0"]{order:10}.key[data-key=back]{order:11}@media (height<=560px){#facts{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.fact{gap:2px;padding:6px 0 5px;font-size:1.2rem}.stars{font-size:.85rem}.op{padding:4px 14px;font-size:1.2rem}.bigop .sym{font-size:2rem}.bigop .name{font-size:.85rem}#hud{top:8px}}@media (width<=520px),(height<=560px){#keypad{--key-w:50px;--key-h:40px;--key-gap:6px;border-radius:20px;padding:8px}.key{font-size:1.35rem}}@media (width<=359px){#keypad{grid-template-columns:repeat(4, var(--key-w))}}
