@font-face{font-family:Jockey One;src:url(/fonts/jockey-one-latin.woff2) format("woff2");font-display:swap}:root{--sky-top: #04051a;--sky-mid: #0e0c30;--sky-low: #1a1342;--accent: #a99bff;--ink: #1f2430;--muted: #5d6475;--card: rgba(255, 255, 255, .86);--card-solid: #ffffff;--line: rgba(31, 36, 48, .1);--glass: rgba(255, 255, 255, .62);--heart: #ff3b5c;--gold: #ffbf2e;--good: #16a34a;--bad: #e11d48;--radius: 20px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--display: "Jockey One", "Avenir Next Condensed", "Arial Narrow", system-ui, sans-serif;--body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}body.dark-world{--card: rgba(22, 30, 52, .86);--card-solid: #182238;--ink: #eef2ff;--muted: #a7b2cc;--line: rgba(255, 255, 255, .12);--glass: rgba(20, 30, 55, .55);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--sky-mid);color:var(--ink);font:16px/1.45 var(--body);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background .6s ease}button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer}button:disabled{cursor:default}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}svg{display:block;fill:currentColor}.sky{position:fixed;inset:0;z-index:0;pointer-events:none}.sky-layer{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;background:radial-gradient(ellipse 70% 45% at 78% 12%,var(--sun, #6a3cff38),transparent 70%),radial-gradient(ellipse 80% 50% at 12% 88%,var(--glow2, #1fb6d626),transparent 72%),radial-gradient(ellipse 120% 80% at 50% 50%,transparent 40%,rgba(0,0,0,.45) 100%),linear-gradient(180deg,var(--t, #04051a) 0%,var(--m, #0e0c30) 55%,var(--l, #1a1342) 100%)}.sky-layer.on{opacity:1}#stage{position:fixed;inset:0;z-index:1;touch-action:none}.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 50% 45%,transparent 55%,rgba(60,40,20,.14) 100%)}body.dark-world .vignette{background:radial-gradient(ellipse 85% 75% at 50% 45%,transparent 50%,rgba(0,8,24,.4) 100%)}#stage canvas{display:block;touch-action:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 20px;border:0;border-radius:16px;background:var(--card-solid);color:var(--ink);box-shadow:0 1px 0 var(--line),0 6px 18px #1414281a;font-weight:650;font-size:16px;transition:transform .12s ease,box-shadow .2s ease,background .2s}.btn svg{width:20px;height:20px;flex:none}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn.primary{background:var(--ink);color:#fff}body.dark-world .btn.primary{background:var(--accent);color:#07121f}.btn:disabled{opacity:.45}.icon-btn{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:15px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 14px #14142814}.icon-btn svg{width:22px;height:22px}.coins-pill{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px 0 8px;border-radius:999px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:20px/1 var(--display);letter-spacing:.02em}.coins-pill svg{width:22px;height:22px}.coins-pill.bump{animation:bump .45s ease}@keyframes bump{40%{transform:scale(1.18)}}.screen{position:fixed;inset:0;z-index:5}.menu{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:calc(var(--safe-t) + 4vh) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 10px) calc(var(--safe-l) + 16px);pointer-events:none}.menu>*{pointer-events:auto}.brand{text-align:center;animation:drop-in .8s cubic-bezier(.2,1.4,.4,1) both}.logo-cube{width:64px;height:64px;margin:0 auto 2px;animation:float 4s ease-in-out infinite}.logo-cube .iso{width:100%;height:100%;filter:drop-shadow(0 8px 10px rgba(30,20,60,.25))}@keyframes float{50%{transform:translateY(-6px) rotate(-3deg)}}.brand h1{margin:0;font:clamp(52px,15vw,104px)/.9 var(--display);letter-spacing:.01em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.06),0 6px 22px rgba(70,30,90,.28)}.tagline{margin:8px 0 0;font-weight:600;color:var(--ink);opacity:.72;letter-spacing:.02em}.menu-panel{margin-top:auto;width:min(460px,100%);display:grid;gap:10px;padding:12px;border-radius:26px;background:var(--card);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 18px 50px #2814462e;animation:rise .6s .1s cubic-bezier(.2,1,.3,1) both}.btn.play{min-height:70px;justify-content:flex-start;gap:14px;padding:12px 18px;border-radius:18px;text-align:left}.btn.play b{display:block;font:30px/1 var(--display);letter-spacing:.02em}.btn.play small{display:block;opacity:.7;font-weight:500;font-size:13px;margin-top:3px}.play-ico{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:#fff}.play-ico svg{width:24px;height:24px}.btn.play.nudge{animation:nudge 1.6s ease-in-out infinite}@keyframes nudge{0%,to{transform:none}50%{transform:scale(1.025)}}.menu-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.link-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 10px;border:0;background:none;color:var(--muted);font-weight:600;font-size:14px;border-radius:12px}.link-btn svg{width:18px;height:18px}.menu .coins-pill{background:var(--card-solid)}.legal{font-size:12px;color:var(--muted);text-align:center;margin:14px 0 0}.legal a{color:inherit}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-24px) scale(.96)}}.hud{position:fixed;z-index:4;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:calc(var(--safe-t) + 10px) calc(var(--safe-r) + 12px) 0 calc(var(--safe-l) + 12px);pointer-events:none}.hud>*{pointer-events:auto}.hud-center{text-align:center;display:grid;justify-items:center;gap:2px;padding-top:2px}.hud-label{font:22px/1 var(--display);letter-spacing:.03em;color:#fff;text-shadow:0 2px 10px rgba(40,20,60,.35)}body:not(.dark-world) .hud-label{color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.6)}.hud-sub{font-size:12.5px;font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums}body.dark-world .hud-sub,body.dark-top .hud-sub{color:#dbe4f5;text-shadow:0 1px 4px rgba(0,0,0,.35)}body.dark-top:not(.dark-world) .hud-label{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}.hearts{display:flex;gap:3px}.heart{width:24px;height:24px;color:var(--heart);filter:drop-shadow(0 2px 3px rgba(200,0,40,.3));transition:color .3s,transform .3s}.heart.lost{color:#1f243033;filter:none;transform:scale(.85)}body.dark-world .heart.lost{color:#fff3}.heart.break{animation:heart-break .6s ease}@keyframes heart-break{0%{transform:scale(1.4);color:var(--heart)}30%{transform:scale(1.2) rotate(-14deg)}60%{transform:scale(.9) rotate(10deg)}}.hud .coins-pill{height:44px;min-width:84px;padding:0 14px 0 10px;border-radius:15px;justify-content:center;box-shadow:0 4px 14px #14142814}body.dark-world .play-ico{background:#0c1a30;color:var(--accent)}.toast{position:fixed;z-index:6;left:50%;top:36%;transform:translate(-50%,-10px);opacity:0;pointer-events:none;padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:15px;white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;box-shadow:0 10px 30px #140a2840;transition:opacity .25s,transform .25s cubic-bezier(.2,1.4,.4,1)}.toast.show{opacity:1;transform:translate(-50%)}.toast.bad{background:var(--bad)}.toast.good{background:var(--good)}.coach{position:fixed;z-index:4;left:50%;top:calc(var(--safe-t) + 96px);transform:translate(-50%,-12px);opacity:0;pointer-events:none;width:min(420px,calc(100vw - 32px));padding:12px 16px;border-radius:18px;display:flex;gap:10px;align-items:flex-start;background:var(--card-solid);color:var(--ink);font-weight:600;font-size:15px;line-height:1.35;box-shadow:0 12px 34px #1e143c33;transition:opacity .3s,transform .3s}.coach.show{opacity:1;transform:translate(-50%)}.coach.has-action{align-items:center;flex-wrap:wrap}.coach.has-action.show{pointer-events:auto}.coach-text{flex:1;min-width:140px}.coach-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border:0;border-radius:12px;background:var(--accent);color:#0c1030;font-weight:800;font-size:14px;white-space:nowrap}.coach-btn svg{width:17px;height:17px}.coach-btn:active{transform:scale(.96)}.coach-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:5px;align-self:flex-start;flex:none;animation:ping 1.4s infinite}@keyframes ping{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 25%,transparent)}}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);background:#14102800;transition:background .25s;overflow-y:auto;overscroll-behavior:contain}.modal.open{background:#14102861}.card{width:min(400px,100%);padding:22px 20px 18px;border-radius:28px;background:var(--card-solid);color:var(--ink);text-align:center;box-shadow:0 30px 80px #140a3259;transform:translateY(24px) scale(.96);opacity:0;transition:transform .35s cubic-bezier(.2,1.3,.4,1),opacity .2s;user-select:text;-webkit-user-select:text}.card.wide{width:min(520px,100%);text-align:left}.modal.open .card{transform:none;opacity:1}.card h2{margin:2px 0 8px;font:34px/1.05 var(--display);letter-spacing:.02em}.card p{margin:0 0 12px;color:var(--muted)}.card .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--accent)}.card .muted{color:var(--muted)}.card .small{font-size:13px;margin:-2px 0 2px}.actions{display:grid;gap:8px;margin-top:14px}.card.wide .actions{justify-items:stretch}.stats{display:flex;justify-content:center;gap:8px;margin:10px 0}.stat{flex:1;max-width:120px;padding:10px 6px;border-radius:16px;background:color-mix(in srgb,var(--ink) 5%,transparent);display:grid;justify-items:center;gap:2px}.stat>span svg{width:18px;height:18px;color:var(--muted)}.stat b{font:24px/1 var(--display)}.stat b.huge{font-size:44px}.stat small{font-size:11.5px;color:var(--muted)}.tip{text-align:left;background:color-mix(in srgb,var(--accent) 10%,transparent);padding:12px 14px;border-radius:16px;color:var(--ink)!important}.howto{display:grid;gap:14px;margin:6px 0 4px}.rule{display:grid;grid-template-columns:136px 1fr;gap:14px;align-items:center}.rule p{margin:0;color:var(--ink);font-size:14.5px;line-height:1.4}.demo{position:relative;height:64px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.demo .t{width:28px;height:12px;border-radius:5px;flex:none;background:#b7b5b1;box-shadow:inset 0 -3px #0000001f}.t[data-c=start],.t[data-c=gray]{background:#b7b5b1}.t[data-c=blue]{background:#3a86ff}.t[data-c=green]{background:#2fbf71}.t[data-c=red]{background:#ef3e5c}.t[data-c=yellow]{background:#ffcf33}.demo-roll .roller{position:absolute;left:2px;bottom:13px;width:28px;height:28px;border-radius:6px;background:#23252b;animation:roll 5s ease-in-out infinite}.roller b{position:absolute;border-radius:3px}.roller .e-b{left:4px;right:4px;bottom:2px;height:5px;background:#ff8a3d}.roller .e-t{left:4px;right:4px;top:2px;height:5px;background:#ffcf33}.roller .e-r{top:4px;bottom:4px;right:2px;width:5px;background:#3a86ff}.roller .e-l{top:4px;bottom:4px;left:2px;width:5px;background:#2fbf71}@keyframes roll{0%,12%{transform:translate(0) rotate(0);opacity:1}19%{transform:translate(16px) translateY(-6px) rotate(45deg)}25%,37%{transform:translate(32px) rotate(90deg)}44%{transform:translate(48px) translateY(-6px) rotate(135deg)}50%,62%{transform:translate(64px) rotate(180deg)}69%{transform:translate(80px) translateY(-6px) rotate(225deg)}75%,92%{transform:translate(96px) rotate(270deg);opacity:1}97%{transform:translate(96px) rotate(270deg);opacity:0}to{transform:translate(0) rotate(0);opacity:0}}.demo-roll .t:nth-child(n+2){animation:land 5s ease-out infinite}.demo-roll .t:nth-child(3){animation-delay:1.25s}.demo-roll .t:nth-child(4){animation-delay:2.5s}@keyframes land{0%,24%{transform:none}27%{transform:translateY(2px);filter:brightness(1.15)}34%,to{transform:none}}.demo-miss .t{position:relative}.demo-miss:before{content:"";position:absolute;left:calc(50% - 32px);bottom:13px;width:28px;height:28px;border-radius:6px;background:#23252b;box-shadow:inset 0 -6px 0 -1px #2fbf71;animation:drop 3s ease-in infinite}.demo-miss .t{margin-right:36px;animation:flash 3s infinite}.miss-heart{position:absolute;right:calc(50% - 46px);bottom:14px;width:26px;height:26px;color:var(--heart);animation:lose 3s infinite}@keyframes drop{0%{transform:translateY(-26px);opacity:0}15%{opacity:1}35%{transform:translateY(0)}42%{transform:translateY(-5px) rotate(-6deg)}50%,80%{transform:translateY(0);opacity:1}to{opacity:0}}@keyframes flash{0%,33%{box-shadow:inset 0 -3px #0000001f}38%{box-shadow:0 0 0 4px #e11d4873}60%,to{box-shadow:inset 0 -3px #0000001f}}@keyframes lose{0%,35%{transform:none;color:var(--heart)}42%{transform:scale(1.3) rotate(-12deg)}50%{transform:rotate(10deg);color:#b9b3aa}85%{color:#b9b3aa;transform:scale(.85)}to{color:var(--heart);transform:none}}.demo-next .n1,.demo-next .n2{animation:grow 3s cubic-bezier(.2,1.6,.4,1) infinite}.demo-next .n2{animation-delay:.18s}@keyframes grow{0%,20%{transform:scale(0);opacity:0}35%,85%{transform:none;opacity:1}to{transform:scale(.6);opacity:0}}.demo-next .t:not(.n1):not(.n2){animation:glow 3s ease-in-out infinite}@keyframes glow{0%,to{filter:none}15%{filter:brightness(1.15) drop-shadow(0 0 6px rgba(255,255,255,.9))}}.demo-tools{align-items:center;gap:14px}.demo-tools svg{width:30px;height:30px;color:var(--accent);animation:bob 2.4s ease-in-out infinite}.demo-tools svg+svg{animation-delay:.4s}@keyframes bob{50%{transform:translateY(-4px)}}@media(max-width:380px){.rule{grid-template-columns:1fr;gap:4px;text-align:center}}.settings{display:grid;gap:6px;text-align:left;margin:8px 0}.toggle{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--ink) 4%,transparent);cursor:pointer}.toggle span{flex:1;display:grid}.toggle small{color:var(--muted);font-size:12.5px;line-height:1.3}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle i{width:48px;height:28px;border-radius:999px;background:#cfcabf;position:relative;flex:none;transition:background .2s}.toggle i:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.toggle input:checked+i{background:var(--good)}.toggle input:checked+i:after{transform:translate(20px)}.toggle input:focus-visible+i{outline:3px solid var(--accent);outline-offset:2px}.splash{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:var(--sky-mid);transition:opacity .45s ease}.splash img{animation:float 1.4s ease-in-out infinite}.splash.gone{opacity:0;pointer-events:none}.splash{grid-template-rows:auto;align-content:center;justify-items:center;gap:18px}.boot-fail{text-align:center;color:#e8ecff;font-weight:600}.boot-fail p{margin:0 0 12px}.boot-fail button{min-height:46px;padding:0 26px;border:0;border-radius:14px;background:#a99bff;color:#0c1030;font-weight:700}.nogl{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;text-align:center;background:var(--sky-mid);font-weight:600;margin:0}@media(min-aspect-ratio:23/20)and (min-height:521px){.menu{align-items:flex-start;justify-content:center;gap:28px;padding-left:calc(var(--safe-l) + max(32px,7vw))}.brand{text-align:left}.logo-cube{margin:0 0 4px}.menu-panel{width:min(440px,44vw)}.menu>.legal{position:fixed;left:0;right:0;bottom:calc(var(--safe-b) + 10px)}}@media(max-height:520px){.menu{flex-direction:row;align-items:center;padding-top:calc(var(--safe-t) + 12px)}.brand h1{font-size:56px}.logo-cube{display:none}.legal{position:fixed;bottom:calc(var(--safe-b) + 4px);left:0;right:0}.coach{top:auto;bottom:calc(var(--safe-b) + 12px);transform:translate(-50%,12px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
