@font-face{font-family:Mochiy Pop One;src:url(/fonts/MochiyPopOne-Regular.ttf) format("truetype");font-display:block}@font-face{font-family:Kenney Future;src:url(/fonts/Kenney%20Future.ttf) format("truetype");font-display:block}@font-face{font-family:Kenney Future Narrow;src:url(/fonts/Kenney%20Future%20Narrow.ttf) format("truetype");font-display:block}:root{color-scheme:light dark;--sun: #ffd23f;--sun-deep: #f0952a;--sky: #63a8cd;--sky-deep: #3d7fa4;--sky-dark: #2b5f7d;--ink: #2b4a63;--white: #ffffff;--cream: #fffdf6;--gold: var(--sun);--gold-deep: var(--sun-deep);--purple: var(--sky);--purple-deep: var(--sky-deep);--purple-dark: var(--sky-dark);--card: clamp(58px, 15vw, 84px);--pad: clamp(10px, 2.6vw, 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);--ease-pop: cubic-bezier(.22, 1.4, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#cfe0ea;color:var(--white);font-family:Mochiy Pop One,Kenney Future,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;z-index:0}#ui{position:fixed;inset:0;pointer-events:none;overflow:hidden;user-select:none;-webkit-user-select:none;z-index:1;isolation:isolate}html.no-ui #ui{display:none}#ui>*,#hud>*{position:absolute}.clickable{pointer-events:auto;cursor:pointer}.plate{background:linear-gradient(180deg,#a9d4e8 0%,var(--sky) 42%,var(--sky-deep) 100%);border:3px solid var(--gold);border-radius:18px;box-shadow:inset 0 2px #ffffff47,inset 0 -5px #0000004d,0 5px #00000059,0 10px 24px #00000073}.pill{display:flex;align-items:center;gap:.5em;padding:.42em .9em;border-radius:999px;background:linear-gradient(180deg,#a9d4e8 0%,var(--sky) 45%,var(--sky-deep) 100%);border:3px solid var(--gold);box-shadow:inset 0 2px #ffffff4d,0 4px #00000059,0 8px 18px #0006}.btn{pointer-events:auto;cursor:pointer;border:none;font:inherit;color:var(--ink);background:linear-gradient(180deg,#ffe37a 0%,var(--gold) 48%,var(--gold-deep) 100%);border-radius:999px;padding:.72em 1.9em;font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 2px #ffffffa6,inset 0 -4px #0000002e,0 5px #a35d05,0 10px 22px #00000073;transition:transform .1s var(--ease-pop),box-shadow .1s ease}.btn:active{transform:translateY(4px);box-shadow:inset 0 2px #ffffff80,0 1px #a35d05,0 4px 10px #0006}.btn.ghost{background:linear-gradient(180deg,#b8dded 0%,var(--sky) 48%,var(--sky-deep) 100%);color:var(--white);box-shadow:inset 0 2px #ffffff40,0 5px #23103c,0 10px 22px #00000073}.btn.ghost:active{box-shadow:inset 0 2px #fff3,0 1px #23103c}.icon-btn{pointer-events:auto;cursor:pointer;width:clamp(42px,11vw,56px);height:clamp(42px,11vw,56px);border:3px solid var(--gold);border-radius:50%;background:linear-gradient(180deg,#b8dded 0%,var(--sky) 45%,var(--sky-deep) 100%);color:var(--white);display:grid;place-items:center;font-size:clamp(15px,4vw,20px);box-shadow:inset 0 2px #ffffff4d,0 4px #0006,0 8px 18px #0006;transition:transform .1s var(--ease-pop)}.icon-btn:active{transform:translateY(3px)}#boot{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:18px;background:radial-gradient(120% 90% at 50% 8%,#d3e6f0,#a3c8dc 45%,#6e9db9);z-index:100;transition:opacity .5s ease,background .9s ease;text-align:center;padding:max(26px,var(--safe-t)) 24px max(30px,var(--safe-b));cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;user-select:none}#boot.live{background:linear-gradient(180deg,#163e568c,#163e5600 34%),linear-gradient(0deg,#163e5680,#163e5600 26%)}#boot.gone{opacity:0;pointer-events:none}.boot-top,.boot-bottom{display:flex;flex-direction:column;align-items:center;gap:14px}.boot-bottom{gap:10px}.start-prompt{display:grid;justify-items:center;gap:2px;animation:promptIn .5s var(--ease-pop) both .15s}.start-prompt .finger{font-family:system-ui,sans-serif;font-size:clamp(38px,11vw,58px);line-height:.86;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4));animation:pointBall .9s ease-in-out infinite alternate}.start-prompt .lead{font-size:clamp(15px,4.4vw,22px);color:var(--white);text-shadow:0 2px 0 rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.45)}.start-prompt .tap{font-size:clamp(10px,2.8vw,13px);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:.9;margin-top:.5em;animation:tapPulse 1.5s ease-in-out infinite}@keyframes promptIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes tapPulse{0%,to{opacity:.45}50%{opacity:1}}.logo{font-size:clamp(34px,11vw,76px);line-height:.95;letter-spacing:.02em;color:var(--gold);text-shadow:0 3px 0 #a35d05,0 6px 0 #6d3d03,0 14px 30px rgba(0,0,0,.5);animation:logoIn .8s var(--ease-pop) both}.logo small{display:block;font-size:.3em;letter-spacing:.4em;color:var(--white);opacity:.85;margin-top:.9em;text-shadow:0 2px 10px rgba(0,0,0,.55)}@keyframes logoIn{0%{transform:scale(.7) translateY(20px);opacity:0}to{transform:none;opacity:1}}.bar{width:min(72vw,340px);height:16px;border-radius:999px;background:#0000006b;border:3px solid rgba(255,201,60,.55);overflow:hidden;box-shadow:inset 0 2px 6px #00000080}.bar>i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#ffe37a,var(--gold),#ff9d2e);transition:width .25s var(--ease-out);box-shadow:0 0 14px #ffc93ccc}.boot-note{font-size:clamp(11px,2.8vw,14px);letter-spacing:.16em;opacity:.62;text-transform:uppercase}#boot.live .boot-note{opacity:.95;color:var(--white);text-shadow:0 2px 10px rgba(0,0,0,.65);margin-top:2px}#hud{inset:0;pointer-events:none;opacity:0;transition:opacity .4s ease}#hud.on{opacity:1}.timer{top:calc(var(--safe-t) + var(--pad));left:50%;transform:translate(-50%);font-size:clamp(20px,5.4vw,30px);letter-spacing:.05em;min-width:4.6em;justify-content:center}.timer .glyph{font-size:.85em;filter:drop-shadow(0 2px 0 rgba(0,0,0,.4))}.timer.warn{animation:pulseWarn .5s ease-in-out infinite alternate;border-color:#ff5c5c}@keyframes pulseWarn{0%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1.07)}}.score{top:calc(var(--safe-t) + var(--pad) + clamp(52px,12.5vw,68px));left:50%;transform:translate(-50%);font-size:clamp(15px,3.9vw,21px);color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.55);letter-spacing:.08em;transition:transform .14s var(--ease-pop)}.score.bump{transform:translate(-50%) scale(1.16)}#pause-btn{top:calc(var(--safe-t) + var(--pad));right:calc(var(--safe-r) + var(--pad))}#shop-btn{top:calc(var(--safe-t) + var(--pad));right:calc(var(--safe-r) + var(--pad) + clamp(50px,13vw,66px));font-size:clamp(17px,4.6vw,23px)}.pu-bar{bottom:calc(var(--safe-b) + var(--pad));right:calc(var(--safe-r) + var(--pad));display:flex;flex-direction:column-reverse;gap:clamp(10px,2.6vw,14px);pointer-events:none}.pu-slot{position:relative;pointer-events:auto;cursor:pointer;line-height:0}.pu-btn{position:relative;pointer-events:none;cursor:pointer;width:clamp(56px,15vw,72px);height:clamp(56px,15vw,72px);border:3px solid var(--gold);border-radius:50%;background:linear-gradient(180deg,#b8dded 0%,var(--sky) 45%,var(--sky-deep) 100%);color:var(--white);display:grid;place-items:center;font:inherit;overflow:hidden;box-shadow:inset 0 3px #fff6,0 5px #0006,0 10px 20px #0000006b;transition:transform .1s var(--ease-pop),filter .2s ease}.pu-slot:active .pu-btn{transform:translateY(4px);box-shadow:inset 0 3px #fff6,0 1px #0006,0 4px 10px #0000006b}.pu-btn .ic{position:relative;z-index:1;font-family:system-ui,sans-serif;font-size:clamp(24px,6.6vw,32px);line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));pointer-events:none}.pu-slot .n{position:absolute;right:-4px;bottom:-2px;min-width:1.5em;padding:.05em .28em;border-radius:999px;background:linear-gradient(180deg,#ffe37a,var(--sun));border:2px solid rgba(255,255,255,.9);color:var(--ink);font-size:clamp(11px,2.9vw,14px);font-variant-numeric:tabular-nums;line-height:1.25;pointer-events:none}.pu-slot.empty .pu-btn{filter:saturate(.3) brightness(.82)}.pu-slot.empty .n{background:linear-gradient(180deg,#d8e6ee,#9fbccb)}.pu-slot.spent .pu-btn{filter:saturate(.2) brightness(.7)}.pu-btn .ring{position:absolute;inset:0;background:linear-gradient(180deg,#ffe27a9e,#ff9e2e6b);transform:scaleY(0);transform-origin:50% 100%;transition:transform .1s linear;pointer-events:none}.pu-slot.firing .pu-btn{border-color:#fff;animation:puPulse .5s ease-in-out infinite alternate}@keyframes puPulse{0%{box-shadow:inset 0 3px #fff6,0 5px #0006,0 0 #ffd65c99}to{box-shadow:inset 0 3px #fff6,0 5px #0006,0 0 26px 8px #ffd65c8c}}.cards{top:calc(var(--safe-t) + var(--pad) + clamp(52px,13vw,64px));left:calc(var(--safe-l) + var(--pad));display:flex;gap:8px}.card{width:var(--card);border-radius:14px;padding:6px 4px 5px;display:grid;justify-items:center;gap:2px;background:linear-gradient(180deg,#a9d4e8 0%,var(--sky) 45%,var(--sky-deep) 100%);border:3px solid var(--gold);box-shadow:inset 0 2px #ffffff42,0 4px #0000005c,0 8px 18px #0000006b;transition:transform .18s var(--ease-pop)}.card.punch{transform:scale(1.18) rotate(-2deg)}.card.done{border-color:#7bf07b;box-shadow:inset 0 2px #ffffff4d,0 0 0 3px #7bf07b47,0 4px #0000005c,0 8px 22px #50f07859}.card .thumb{width:calc(var(--card) - 22px);height:calc(var(--card) - 22px);border-radius:9px;background:#00000042;display:block;box-shadow:inset 0 2px 6px #0006}.card .count{font-size:clamp(11px,2.9vw,15px);letter-spacing:.02em;color:var(--white);text-shadow:0 2px 0 rgba(0,0,0,.5)}.card .count b{color:var(--gold);font-weight:inherit}.tiers{bottom:calc(var(--safe-b) + var(--pad));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:clamp(5px,1.6vw,9px)}.pip{width:clamp(30px,8vw,42px);height:clamp(30px,8vw,42px);border-radius:50%;display:grid;place-items:center;font-size:clamp(10px,2.6vw,13px);color:#2b4a638c;background:linear-gradient(180deg,#d5e4ec,#a6bfcd);border:3px solid rgba(255,255,255,.75);box-shadow:0 3px #1c6f9c59;transition:all .3s var(--ease-pop)}.pip.on{color:var(--ink);background:linear-gradient(180deg,#ffe37a 0%,var(--gold) 50%,var(--gold-deep) 100%);border-color:#fff3c4;box-shadow:0 3px #a35d05,0 0 18px #ffc93c99}.pip.current{transform:scale(1.24);animation:pipPulse 1.4s ease-in-out infinite}@keyframes pipPulse{0%,to{box-shadow:0 3px #a35d05,0 0 16px #ffc93c8c}50%{box-shadow:0 3px #a35d05,0 0 28px #ffc93cf2}}.tier-name{bottom:calc(var(--safe-b) + var(--pad) + clamp(38px,9.5vw,52px));left:50%;transform:translate(-50%);font-size:clamp(11px,2.9vw,14px);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px 0 rgba(28,111,156,.45);opacity:.9;white-space:nowrap}.growth{bottom:calc(var(--safe-b) + var(--pad) + clamp(66px,16vw,86px));left:50%;transform:translate(-50%);width:min(52vw,260px);height:10px;border-radius:999px;background:#0006;border:2px solid rgba(255,201,60,.35);overflow:hidden}.growth>i{display:block;height:100%;width:0%;background:linear-gradient(90deg,#b8f,#ffe37a,var(--gold));box-shadow:0 0 12px #ffc93cb3;transition:width .18s var(--ease-out)}.pop{position:absolute;font-size:clamp(15px,4vw,24px);color:var(--gold);text-shadow:0 2px 0 #7a3d00,0 3px 8px rgba(0,0,0,.7);pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%)}.pop.big{font-size:clamp(21px,5.6vw,34px);color:#fff0a8}.pop .x{font-size:.72em;color:#ff8ae0}.combo{top:50%;right:calc(var(--safe-r) + var(--pad));transform:translateY(-50%);text-align:right;opacity:0;transition:opacity .2s ease}.combo.on{opacity:1}.combo .n{font-size:clamp(26px,8vw,46px);color:var(--gold);text-shadow:0 3px 0 #b26a08,0 6px 14px rgba(28,111,156,.3);display:block;line-height:1}.combo .label{font-size:clamp(9px,2.4vw,12px);letter-spacing:.24em;opacity:.8;text-transform:uppercase}.combo .ring{margin-top:6px;height:5px;border-radius:999px;background:#00000073;overflow:hidden}.combo .ring>i{display:block;height:100%;background:linear-gradient(90deg,#ff8ae0,var(--gold));transform-origin:right}.banner{top:38%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;opacity:0}.banner.show{animation:bannerIn 1.6s var(--ease-pop) forwards}.banner .k{font-size:clamp(12px,3.2vw,16px);letter-spacing:.35em;color:var(--white);opacity:.85;text-transform:uppercase}.banner .v{font-size:clamp(30px,9vw,58px);color:var(--gold);text-shadow:0 4px 0 #a35d05,0 8px 0 #6d3d03,0 14px 30px rgba(0,0,0,.65);display:block;margin-top:.15em}.finale{top:calc(var(--safe-t) + var(--pad) + clamp(84px,20vw,108px));left:50%;display:flex;align-items:center;gap:.55em;padding:.34em 1em;border-radius:999px;background:linear-gradient(180deg,#ffe37a 0%,var(--gold) 55%,#f0921c 100%);border:3px solid rgba(255,255,255,.85);box-shadow:0 4px #00000059,0 8px 20px #00000073;color:var(--ink);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%) translateY(-8px) scale(.9);transition:opacity .3s ease,transform .35s var(--ease-pop)}.finale.on{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.finale .k{font-size:clamp(10px,2.6vw,13px);letter-spacing:.2em;text-transform:uppercase;opacity:.72}.finale .v{font-size:clamp(11px,2.9vw,15px)}.finale .n{font-size:clamp(17px,4.4vw,23px);font-variant-numeric:tabular-nums;min-width:1.1em;text-align:center}.finale .n.beat{animation:finaleBeat .42s var(--ease-pop)}@keyframes finaleBeat{0%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}16%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}26%{transform:translate(-50%,-50%) scale(1)}74%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-58%) scale(.94)}}.flyer{position:absolute;width:clamp(26px,7vw,38px);height:clamp(26px,7vw,38px);border-radius:10px;background:radial-gradient(circle at 35% 30%,#fff3c4,var(--gold) 55%,var(--gold-deep));border:2px solid #fff3c4;box-shadow:0 0 18px #ffc93ce6;transform:translate(-50%,-50%);pointer-events:none}#stick{pointer-events:none;opacity:0;transition:opacity .14s ease}#stick.on{opacity:1}#stick .base,#stick .knob{position:absolute;border-radius:50%;transform:translate(-50%,-50%)}#stick .base{width:132px;height:132px;border:3px solid rgba(255,255,255,.28);background:#0a061838}#stick .knob{width:58px;height:58px;background:radial-gradient(circle at 35% 30%,#fffffff2,#ffc93cd9);box-shadow:0 0 22px #ffc93c99}.screen{inset:0;display:grid;place-content:center;justify-items:center;gap:clamp(14px,3vw,24px);padding:max(24px,var(--safe-t)) 24px max(24px,var(--safe-b));background:radial-gradient(120% 90% at 50% 18%,#c6e0ecf2,#4a82a3f7);pointer-events:auto;z-index:120;overflow-y:auto;animation:fadeIn .28s ease both}.screen.hidden{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.screen h1{font-size:clamp(26px,7.5vw,46px);color:var(--gold);text-shadow:0 3px 0 #e08a12,0 6px 0 #b26a08,0 10px 20px rgba(28,111,156,.35);letter-spacing:.03em;text-align:center}.screen h2{font-size:clamp(13px,3.4vw,17px);letter-spacing:.22em;text-transform:uppercase;opacity:.75;text-align:center;font-weight:400}.stars{display:flex;gap:clamp(8px,2.4vw,16px)}.stars .s{width:clamp(48px,13vw,76px);height:clamp(48px,13vw,76px);display:grid;place-items:center;font-size:clamp(38px,10vw,62px);line-height:1;color:#ffffff21;text-shadow:0 2px 0 rgba(0,0,0,.45);transform:scale(.86);opacity:1;transition:none}.stars .s.lit{color:var(--gold);text-shadow:0 0 24px rgba(255,201,60,.95),0 4px 0 #a35d05;animation:starPop .5s var(--ease-pop) forwards}@keyframes starPop{0%{transform:scale(.4) rotate(-30deg);opacity:0}60%{transform:scale(1.32) rotate(6deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.big-score{font-size:clamp(40px,12vw,76px);color:var(--white);text-shadow:0 4px 0 rgba(28,111,156,.4),0 10px 26px rgba(28,111,156,.3);font-variant-numeric:tabular-nums}.stat-row{display:flex;flex-wrap:wrap;gap:clamp(8px,2.4vw,18px);justify-content:center}.stat{min-width:92px;padding:10px 16px;border-radius:14px;background:#0000004d;border:2px solid rgba(255,201,60,.35);text-align:center}.stat .k{display:block;font-size:clamp(9px,2.3vw,11px);letter-spacing:.18em;opacity:.65;text-transform:uppercase;margin-bottom:4px}.stat .v{font-size:clamp(17px,4.6vw,24px);color:var(--gold);font-variant-numeric:tabular-nums}.row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.level-list{display:grid;gap:12px;width:min(88vw,460px)}.level-card{pointer-events:auto;cursor:pointer;display:grid;gap:5px;width:100%;padding:18px 20px;text-align:left;color:var(--white);font:inherit;border:3px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,#8bc3df,var(--sky-deep));box-shadow:inset 0 2px #ffffff4d,0 5px #14354961}.level-card strong{font-size:clamp(18px,5vw,27px);color:var(--gold)}.level-card span{font-size:clamp(12px,3vw,15px);opacity:.95}.level-card small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.72}.level-card:disabled{cursor:default;filter:saturate(.25) brightness(.78);border-color:#ffffff73}.movement-hint{position:absolute;transform:translate(-50%);display:grid;justify-items:center;gap:2px;width:max-content;padding:7px 12px;border-radius:15px;background:#1e4b63e6;border:2px solid var(--gold);color:var(--white);font-size:clamp(11px,3vw,14px);text-align:center;box-shadow:0 5px 18px #00000042;transition:opacity .25s ease,transform .25s ease}.movement-hint.off{opacity:0;transform:translate(-50%) translateY(8px)}.movement-hint .finger{display:block;font-family:system-ui,sans-serif;font-size:clamp(34px,10vw,52px);line-height:.86;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35));animation:pointBall .9s ease-in-out infinite alternate}.movement-hint .hint-copy{white-space:nowrap}@keyframes pointBall{0%{transform:translateY(-5px)}to{transform:translateY(5px)}}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(76px,21vw,108px),1fr));grid-auto-rows:max-content;align-content:start;gap:clamp(8px,2.2vw,14px);width:min(94vw,760px);max-height:56vh;overflow-y:auto;padding:4px;-webkit-overflow-scrolling:touch}.slot{border-radius:14px;background:linear-gradient(180deg,#7d4bb880,#2a1147b3);border:2px solid rgba(255,201,60,.3);position:relative;padding:6px;overflow:hidden;line-height:0}.slot.found{border-color:var(--gold);background:linear-gradient(180deg,#a9d4e8,var(--sky-deep));box-shadow:inset 0 2px #fff3,0 3px #0000004d}.slot canvas{width:100%;height:auto;display:block}.slot.locked canvas{filter:brightness(0) opacity(.32)}.slot .n{position:absolute;right:4px;bottom:3px;font-size:clamp(9px,2.3vw,12px);line-height:1;color:var(--gold);padding:2px 4px;border-radius:6px;background:#140828b8;text-shadow:0 1px 2px rgba(0,0,0,.9)}.slot .nm{position:absolute;left:0;right:0;bottom:0;line-height:1.3;font-size:9px;letter-spacing:.04em;text-align:center;padding:2px 3px;background:#0000008c;opacity:0;transition:opacity .16s ease}.slot:hover .nm{opacity:1}.slider{display:flex;align-items:center;gap:12px;font-size:clamp(11px,2.9vw,14px);letter-spacing:.14em;text-transform:uppercase}.slider input{pointer-events:auto;width:min(46vw,220px);-webkit-appearance:none;appearance:none;background:transparent;height:22px}.slider input::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:#ffffffa6;box-shadow:inset 0 1px 2px #2b5f7d4d}.slider input::-moz-range-track{height:8px;border-radius:999px;background:#ffffffa6;box-shadow:inset 0 1px 2px #2b5f7d4d}.slider input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-5px;border-radius:50%;background:linear-gradient(180deg,#ffe37a,var(--sun));border:2px solid #fff;box-shadow:0 2px 0 var(--sun-deep)}.slider input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(180deg,#ffe37a,var(--sun));border:2px solid #fff;box-shadow:0 2px 0 var(--sun-deep)}.toggle{display:flex;align-items:center;gap:12px;font-size:clamp(11px,2.9vw,14px);letter-spacing:.14em;text-transform:uppercase}.toggle .sw{pointer-events:auto;position:relative;width:54px;height:26px;padding:0;border:2px solid #fff;border-radius:999px;background:#ffffffa6;box-shadow:inset 0 1px 2px #2b5f7d4d;cursor:pointer;transition:background .16s ease}.toggle .sw[aria-pressed=true]{background:linear-gradient(180deg,#ffe37a,var(--sun))}.toggle .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 0 var(--sun-deep);transition:transform .16s ease}.toggle .sw[aria-pressed=true] .knob{transform:translate(26px)}.purse{display:flex;align-items:center;gap:.55em;padding:.4em 1em;border-radius:999px;background:linear-gradient(180deg,#ffffff38,#2b5f7d52);border:2px solid rgba(255,210,63,.55);font-size:clamp(11px,2.9vw,15px);letter-spacing:.06em;white-space:nowrap}.purse .lv{color:var(--ink);background:linear-gradient(180deg,#ffe37a,var(--sun));border-radius:999px;padding:.16em .7em;box-shadow:0 2px 0 var(--sun-deep)}.purse .ti{opacity:.85;font-size:.86em;letter-spacing:.1em}.purse .g{color:var(--sun);font-variant-numeric:tabular-nums}.perk-strip{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:min(92vw,520px)}.perk-strip .none{font-size:clamp(9px,2.4vw,11px);letter-spacing:.14em;text-transform:uppercase;opacity:.55}.perk-strip .perk{pointer-events:auto;display:inline-flex;align-items:center;gap:3px;padding:3px 8px 3px 5px;border-radius:999px;background:#14304257;border:2px solid rgba(255,210,63,.4);cursor:help}.perk-strip .ic{font-size:clamp(13px,3.2vw,16px);line-height:1}.perk-strip .r{font-size:clamp(9px,2.3vw,11px);color:var(--sun);letter-spacing:.06em}.gold-pill{display:flex;align-items:center;gap:.45em;padding:.34em .95em;border-radius:999px;background:#14304259;border:2px solid rgba(255,210,63,.5);font-size:clamp(13px,3.4vw,18px)}.gold-pill .v{color:var(--sun);font-variant-numeric:tabular-nums}.coin,.d-coin{color:var(--sun);text-shadow:0 2px 0 var(--sun-deep),0 0 10px rgba(255,210,63,.55)}.coin-fly{position:fixed;z-index:60;font-size:clamp(14px,3.6vw,20px);color:var(--sun);text-shadow:0 2px 0 var(--sun-deep),0 0 12px rgba(255,210,63,.8);pointer-events:none;transform:translate(-50%,-50%);animation:coinFly 1s var(--ease-out) var(--d, 0ms) both}@keyframes coinFly{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}18%{transform:translate(calc(-50% + var(--dx) * .45),calc(-50% + var(--dy) * .7)) scale(1.15);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy) * -.35)) scale(.7);opacity:0}}.btn.nudge{animation:nudge 1.6s ease-in-out infinite;position:relative}.icon-btn.nudge:after,.btn.nudge:after{content:"";position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;background:#ff5c5c;border:2px solid #fff;box-shadow:0 0 10px #ff5c5ce6}@keyframes nudge{0%,to{transform:none}50%{transform:translateY(-4px)}}#boot .purse{margin-bottom:4px}.unlock-note,.btn.next{opacity:0;transform:translateY(10px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.unlock-note.on,.btn.next.on{opacity:1;transform:none}.unlock-note{font-size:clamp(11px,2.9vw,14px);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:-6px;animation:unlockPop .5s var(--ease-pop) both}@keyframes unlockPop{0%{transform:scale(.7)}to{transform:none}}.btn.next{display:flex;align-items:center;gap:clamp(10px,3vw,16px);width:min(88vw,430px);padding:clamp(12px,3vw,16px) clamp(16px,4vw,22px);text-align:left;border-radius:22px;animation:nextBreathe 1.9s ease-in-out infinite}.btn.next .ic{font-family:system-ui,sans-serif;font-size:clamp(26px,7vw,34px);line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.btn.next .txt{display:grid;gap:1px;flex:1;min-width:0}.btn.next .eyebrow{font-size:clamp(10px,2.6vw,12px);letter-spacing:.24em;text-transform:uppercase;opacity:.72}.btn.next .name{font-size:clamp(18px,5vw,26px);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.next .chev{font-size:clamp(30px,8vw,40px);line-height:.7;opacity:.8;animation:chevNudge 1.1s ease-in-out infinite alternate}@keyframes chevNudge{0%{transform:translate(0)}to{transform:translate(5px)}}@keyframes nextBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.022)}}.unlock-note:empty{display:none}.btn.next:not(.on){pointer-events:none}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,2.4vw,14px);width:min(88vw,430px)}.act-btn{pointer-events:auto;cursor:pointer;display:grid;justify-items:center;gap:5px;min-width:0;padding:clamp(9px,2.4vw,13px) 3px clamp(7px,2vw,10px);border:3px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,#b8dded 0%,var(--sky) 45%,var(--sky-deep) 100%);color:var(--white);font:inherit;box-shadow:inset 0 3px #ffffff59,0 5px #00000061,0 9px 18px #00000059;transition:transform .1s var(--ease-pop)}.act-btn:active{transform:translateY(4px);box-shadow:inset 0 3px #ffffff59,0 1px #00000061,0 3px 8px #00000059}.act-btn .ic{font-family:system-ui,sans-serif;font-size:clamp(20px,5.6vw,27px);line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.act-btn .lb{font-size:clamp(8px,2vw,10px);letter-spacing:.02em;text-transform:uppercase;opacity:.9;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xp-wrap{width:min(88vw,460px);opacity:0;transform:translateY(10px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.xp-wrap.on{opacity:1;transform:none}.xp-label{display:flex;align-items:center;gap:.6em;font-size:clamp(10px,2.6vw,13px);letter-spacing:.1em;margin-bottom:6px}.xp-label .lv{color:var(--ink);background:linear-gradient(180deg,#ffe37a,var(--sun));border-radius:999px;padding:.14em .66em;box-shadow:0 2px 0 var(--sun-deep)}.xp-label .ti{opacity:.85;text-transform:uppercase;letter-spacing:.16em}.xp-label .nx{margin-left:auto;opacity:.7;font-variant-numeric:tabular-nums}.xp-track{height:14px;border-radius:999px;background:#1430426b;border:2px solid rgba(255,255,255,.4);overflow:hidden}.xp-track>i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#9be7ff,#ffe37a,var(--sun));box-shadow:0 0 14px #ffd23fb3}.xp-gain{margin-top:5px;text-align:right;font-size:clamp(10px,2.6vw,13px);color:var(--sun);letter-spacing:.1em}.xp-wrap.maxed .xp-track>i{background:linear-gradient(90deg,#ffe37a,#fff,var(--sun))}.xp-wrap.levelled .xp-track{animation:xpLevel .7s var(--ease-pop)}@keyframes xpLevel{0%{transform:scale(1);box-shadow:0 0 #ffd23f00}35%{transform:scale(1.06);box-shadow:0 0 30px #ffd23ff2}to{transform:scale(1);box-shadow:0 0 #ffd23f00}}.gold-wrap{opacity:0;transform:scale(.85);transition:opacity .3s var(--ease-pop),transform .3s var(--ease-pop)}.gold-wrap.on{opacity:1;transform:none}.btn.claim{display:inline-flex;align-items:center;gap:.5em;font-size:clamp(16px,4.2vw,24px);animation:claimPulse 1.3s ease-in-out infinite}.btn.claim .coin{color:#7a4a02;text-shadow:none}.btn.claim.done{animation:none;opacity:.9}@keyframes claimPulse{0%,to{transform:none}50%{transform:scale(1.045)}}.draft-grid{display:flex;gap:clamp(8px,2.2vw,16px);flex-wrap:wrap;justify-content:center;width:min(96vw,720px)}.draft-card{pointer-events:auto;cursor:pointer;flex:1 1 clamp(150px,28vw,210px);max-width:230px;padding:clamp(12px,3vw,18px) 12px clamp(10px,2.4vw,14px);border-radius:20px;display:grid;justify-items:center;gap:4px;text-align:center;background:linear-gradient(180deg,#bce0f0 0%,var(--sky) 55%,var(--sky-deep) 100%);border:3px solid var(--sun);box-shadow:inset 0 2px #ffffff59,0 6px #1c6f9c8c,0 12px 26px #0006;opacity:0;transform:translateY(46px) rotateX(58deg) scale(.9);transition:opacity .34s var(--ease-out),transform .44s var(--ease-pop)}.draft-card.in{opacity:1;transform:none}.draft-card:active{transform:translateY(3px) scale(.99)}@media(hover:hover){.draft-card.in:hover{transform:translateY(-6px) scale(1.03);box-shadow:inset 0 2px #ffffff73,0 10px #1c6f9c8c,0 18px 34px #00000073}}.draft-card.taken{transform:scale(var(--pop, 1.05));border-color:#fff3c4;box-shadow:inset 0 2px #ffffff80,0 0 0 4px #ffd23f66,0 0 44px #ffd23fbf,0 12px 26px #0006;pointer-events:none}.draft-card.dropped{opacity:.22;transform:translateY(24px) scale(.88);pointer-events:none}.dc-icon{font-size:clamp(30px,8vw,44px);line-height:1.1;filter:drop-shadow(0 3px 0 rgba(28,111,156,.45))}.dc-name{font-size:clamp(14px,3.6vw,19px);color:var(--sun);text-shadow:0 2px 0 #a35d05}.dc-blurb{font-size:clamp(10px,2.6vw,12.5px);line-height:1.45;opacity:.92;min-height:2.9em}.dc-delta{font-size:clamp(11px,2.8vw,14px);color:#fff3c4;letter-spacing:.06em;font-variant-numeric:tabular-nums}.dc-pips{display:flex;gap:5px;margin-top:4px}.dc-pips .p{width:13px;height:13px;border-radius:50%;background:#14304266;border:2px solid rgba(255,255,255,.4);transition:all .3s var(--ease-pop)}.dc-pips .p.on{background:linear-gradient(180deg,#ffe37a,var(--sun));border-color:#fff3c4;box-shadow:0 0 12px #ffd23fd9}.dc-pips .p.next{border-color:var(--sun);animation:pipNext 1.2s ease-in-out infinite}@keyframes pipNext{0%,to{box-shadow:0 0 #ffd23f00}50%{box-shadow:0 0 14px #ffd23fe6}}.dc-take{margin-top:2px;font-size:clamp(9px,2.3vw,11px);letter-spacing:.2em;text-transform:uppercase;opacity:.72}.draft-foot{font-size:clamp(10px,2.6vw,12px);letter-spacing:.14em;text-transform:uppercase;opacity:.6}.shop-head{display:flex;align-items:center;gap:clamp(10px,3vw,20px);flex-wrap:wrap;justify-content:center}.shop-tabs{display:flex;gap:8px;padding:5px;border-radius:999px;background:#0c283a59;border:2px solid rgba(255,255,255,.22)}.shop-tab{pointer-events:auto;cursor:pointer;border:none;border-radius:999px;padding:.42em 1.15em;background:transparent;color:var(--white);font:inherit;font-size:clamp(12px,3.1vw,15px);opacity:.62;transition:background .18s ease,opacity .18s ease}.shop-tab.on{opacity:1;color:var(--ink);background:linear-gradient(180deg,#ffe37a,var(--gold));box-shadow:0 2px 0 var(--sun-deep)}.shop-grid.powerups{grid-template-columns:repeat(auto-fill,minmax(clamp(130px,38vw,180px),1fr))}.pu-tile{background:radial-gradient(120% 100% at 50% 0%,#6fb5d8,#2c6a90);padding:14px 8px 8px;gap:8px}.pu-tile .pu-art{font-family:system-ui,sans-serif;font-size:clamp(38px,11vw,54px);line-height:1;filter:drop-shadow(0 4px 5px rgba(0,0,0,.42))}.pu-tile .st-name{font-size:clamp(11px,2.9vw,14px)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(84px,22vw,116px),1fr));grid-auto-rows:max-content;align-content:start;gap:clamp(8px,2.2vw,14px);width:min(94vw,720px);max-height:42vh;overflow-y:auto;padding:4px;-webkit-overflow-scrolling:touch}.skin-tile{pointer-events:auto;cursor:pointer;position:relative;border-radius:16px;padding:6px 6px 4px;display:grid;justify-items:center;background:radial-gradient(120% 100% at 50% 0%,var(--a),var(--b));border:3px solid rgba(255,255,255,.35);box-shadow:0 4px #1c6f9c66;transition:transform .18s var(--ease-pop),border-color .18s ease}.skin-tile .st-art{width:100%;height:auto;display:block;filter:drop-shadow(0 3px 5px rgba(0,0,0,.4))}.skin-tile .st-name{font-size:clamp(9px,2.3vw,11px);letter-spacing:.04em;line-height:1.3;text-align:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85)}.skin-tile .st-badge{position:absolute;top:4px;right:4px;font-size:clamp(8px,2.1vw,10px);letter-spacing:.05em;padding:2px 6px;border-radius:999px;background:#0e2432c7;color:#fff}.skin-tile .st-badge.cost{color:var(--sun)}.skin-tile .st-badge.cost:before{content:"● "}.skin-tile .st-badge.on{background:linear-gradient(180deg,#ffe37a,var(--sun));color:var(--ink)}.skin-tile .st-badge.lock:before{content:"🔒 "}.skin-tile.locked .st-art{filter:brightness(.86) saturate(.94)}.skin-tile.locked{border-style:dashed;border-color:#ffffff73}.skin-tile.sel{border-color:var(--sun);transform:translateY(-3px) scale(1.04);box-shadow:0 6px #1c6f9c73,0 0 22px #ffd23f8c}.skin-tile.bought{animation:bought .7s var(--ease-pop)}@keyframes bought{0%{transform:scale(1);box-shadow:0 0 #ffd23f00}40%{transform:scale(1.18) rotate(-3deg);box-shadow:0 0 40px #ffd23f}to{transform:translateY(-3px) scale(1.04)}}.shop-detail{display:flex;align-items:center;gap:clamp(10px,3vw,20px);flex-wrap:wrap;justify-content:center;width:min(94vw,720px);padding:clamp(8px,2vw,12px) clamp(12px,3vw,18px);border-radius:18px;background:#14304252;border:2px solid rgba(255,255,255,.28)}.sd-text{flex:1 1 200px;min-width:0}.sd-name{font-size:clamp(15px,4vw,21px);color:var(--sun);text-shadow:0 2px 0 #a35d05}.sd-blurb{font-size:clamp(10px,2.6vw,13px);line-height:1.5;opacity:.86}.sd-blurb.warn{color:#ffd0d0;opacity:1}.daily-row{display:flex;gap:clamp(5px,1.6vw,10px);flex-wrap:wrap;justify-content:center;width:min(96vw,700px)}.day{position:relative;flex:1 1 clamp(64px,12vw,88px);max-width:96px;padding:8px 4px 9px;border-radius:14px;display:grid;justify-items:center;gap:1px;background:linear-gradient(180deg,#ffffff29,#2b5f7d6b);border:2px solid rgba(255,255,255,.3);opacity:0;transform:translateY(18px) scale(.9);transition:opacity .3s var(--ease-out),transform .34s var(--ease-pop)}.day.in{opacity:1;transform:none}.day .d-n{font-size:clamp(8px,2.1vw,10px);letter-spacing:.1em;text-transform:uppercase;opacity:.72}.day .d-coin{font-size:clamp(15px,4vw,21px);line-height:1.2}.day .d-v{font-size:clamp(11px,2.9vw,14px);color:var(--sun);font-variant-numeric:tabular-nums}.day .d-tick{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(24px,6vw,34px);color:#7bf07b;text-shadow:0 2px 6px rgba(0,0,0,.6);background:#0c202c8c;border-radius:12px}.day.done{opacity:.75}.day.big{border-color:#ffd23fb3;background:linear-gradient(180deg,#ffe37a4d,#f0952a59)}.day.today{border-color:var(--sun);box-shadow:0 0 0 3px #ffd23f4d,0 0 26px #ffd23f99;animation:todayPulse 1.5s ease-in-out infinite}@keyframes todayPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.day.claimed{animation:claimed .7s var(--ease-pop) forwards}@keyframes claimed{0%{transform:scale(1.06)}35%{transform:scale(1.3) rotate(-4deg);box-shadow:0 0 46px #ffd23f}to{transform:scale(1);box-shadow:0 0 #ffd23f00}}#perf{top:50%;left:8px;transform:translateY(-50%);font-family:ui-monospace,monospace;font-size:11px;line-height:1.5;padding:8px 10px;border-radius:8px;background:#000000b8;color:#9dffcf;white-space:pre;display:none;z-index:90}#perf.on{display:block}@media(orientation:landscape)and (max-height:560px){.cards{top:calc(var(--safe-t) + var(--pad));flex-direction:column}.timer{left:auto;right:50%;transform:translate(50%)}.timer.warn{animation-name:pulseWarnLand}@keyframes pulseWarnLand{0%{transform:translate(50%) scale(1)}to{transform:translate(50%) scale(1.07)}}.score{top:calc(var(--safe-t) + var(--pad));left:auto;right:calc(var(--safe-r) + var(--pad) + clamp(52px,12vw,68px));transform:none}.score.bump{transform:scale(1.16)}.growth{bottom:calc(var(--safe-b) + var(--pad) + clamp(48px,11vw,60px))}.tier-name{bottom:calc(var(--safe-b) + var(--pad) + clamp(34px,8vw,44px))}.gallery{max-height:44vh}.shop-grid{max-height:34vh}.draft-card{flex:1 1 clamp(130px,22vw,180px);padding:10px 10px 8px}.dc-blurb{min-height:0}.day{flex:1 1 clamp(56px,9vw,78px)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.05ms!important}}
