:root{--ink:#26242e;--panel:hsla(0,0%,100%,.72);--panel-solid:#fff;--pink:#f472b6;--pink-hi:#ff9bcb;--pink-deep:#ee5fa5;--purple:#b9a8f0;--purple-hi:#d8ccff;--blue:#cdeaff;--surface:#fafafa;--surface-purple:#f6f2ff;--surface-pink:#fff6fb;--cream:#ffd9ec;--grad-pink:linear-gradient(180deg,var(--pink-hi),var(--pink));--grad-purple:linear-gradient(180deg,var(--purple-hi),var(--purple));--sh-ctl:0 3px 0 var(--ink);--sh-cta:0 5px 0 var(--ink);--sh-card:0 6px 0 var(--ink),0 18px 40px rgba(60,40,120,.35);--r-row:12px;--r-ctl:14px;--r-cta:16px;--r-card:24px;--ease-pop:cubic-bezier(.2,1.7,.4,1);--ease-out:cubic-bezier(.2,.7,.3,1);--t-fast:.16s;--t-in:.2s;--t-pop:.4s;--font:"Baloo 2",ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.chunky{transition:transform var(--t-fast) ease,box-shadow var(--t-fast) ease}@media (hover:hover){.chunky:hover{transform:translateY(-1px)}}.chunky:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)!important}body,html{height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:var(--font);color:var(--ink);background:#cdeaff;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}#bg,body{position:fixed;inset:0}#bg{z-index:0}#bg svg{display:block}#bg svg,#camBg{width:100%;height:100%}#camBg{position:fixed;inset:0;z-index:0;object-fit:cover;display:none;filter:blur(10px) saturate(.95) brightness(1.03);transform:scale(1.08)}#camBg.on{display:block}#bg{transition:opacity .5s ease}#bg.washed{opacity:.42}.worldchip{margin-top:10px;font-family:var(--font);font-weight:800;font-size:12px;color:var(--ink);background:var(--surface-blue);border:2px solid var(--ink);border-radius:999px;padding:7px 14px;box-shadow:0 2px 0 var(--ink);cursor:pointer}.worldchip.hidden{display:none}.worldnote{font-size:11px;font-weight:600;opacity:.55;margin-top:10px;line-height:1.5}.togglebtn{font-size:14px}#app{position:relative;z-index:1;height:100%;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 6px) 10px calc(env(safe-area-inset-bottom,0px) + 8px);max-width:520px;margin:0 auto}#app,#topbar{display:flex;align-items:center}#topbar{justify-content:space-between;width:100%;gap:8px;margin-bottom:6px}#logo{transform:rotate(-2deg);white-space:nowrap;display:flex;flex-direction:column;align-items:flex-start}#logo img{height:26px;display:block;filter:drop-shadow(0 2px 0 rgba(255,255,255,.55))}#logo .l2{font-weight:800;font-size:15px;line-height:1;letter-spacing:1px;margin:2px 0 0 18px;color:#ffd9ec;-webkit-text-stroke:1px var(--ink);text-shadow:0 2px 0 var(--ink)}.iconbtn{width:42px;height:42px;border-radius:14px;border:2.5px solid var(--ink);background:var(--panel-solid);font-size:18px;font-family:var(--font);font-weight:800;box-shadow:0 3px 0 var(--ink);color:var(--ink)}.iconbtn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}#stats{display:flex;gap:6px}.pill{background:var(--panel-solid);border:2.5px solid var(--ink);border-radius:14px;padding:2px 10px 0;text-align:center;box-shadow:0 3px 0 var(--ink);min-width:58px}.pill .lab{font-size:9px;font-weight:800;letter-spacing:1px;opacity:.55;text-transform:uppercase}.pill .val{font-size:17px;font-weight:800;line-height:1;padding-bottom:4px}#mid{display:flex;gap:8px;flex:1 1;min-height:0;width:100%;justify-content:center}#boardWrap{position:relative;height:100%;flex:0 1 auto;display:flex}#board{display:block;border:3px solid var(--ink);border-radius:16px;background:var(--panel);box-shadow:0 5px 0 rgba(38,36,46,.85),0 14px 30px rgba(80,60,140,.25)}#side{display:flex;flex-direction:column;gap:8px;width:78px;flex:0 0 78px}.sidebox{background:var(--panel-solid);border:2.5px solid var(--ink);border-radius:14px;box-shadow:0 3px 0 var(--ink);padding:3px 4px 5px;text-align:center}.sidebox .lab{font-size:9px;font-weight:800;letter-spacing:1px;opacity:.55}.sidebox canvas{display:block;width:100%}#popups{inset:0;overflow:hidden;border-radius:16px}#popups,.pop{position:absolute;pointer-events:none}.pop{left:50%;width:100%;text-align:center;font-weight:800;color:#fff;-webkit-text-stroke:1.5px var(--ink);text-shadow:0 3px 0 var(--ink);animation:popUp 1s ease-out forwards}@keyframes popUp{0%{transform:translate(-50%) scale(.3);opacity:0}18%{transform:translate(-50%,-12px) scale(1.15);opacity:1}30%{transform:translate(-50%,-16px) scale(1)}75%{opacity:1}to{transform:translate(-50%,-58px) scale(1);opacity:0}}#controls{width:100%;margin-top:8px;flex-direction:column}#controls,.crow{display:flex;gap:7px}.cbtn,.crow{justify-content:center}.cbtn{flex:1 1;max-width:108px;height:52px;border-radius:16px;border:3px solid var(--ink);background:var(--panel-solid);font-family:var(--font);font-weight:800;font-size:21px;color:var(--ink);box-shadow:0 4px 0 var(--ink);display:flex;align-items:center;gap:4px}.cbtn.held,.cbtn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.cbtn small{font-size:10px;letter-spacing:1px}#controls{flex-direction:row;align-items:stretch;gap:8px}#ctlGrid{flex:1 1;display:flex;flex-direction:column;gap:7px;min-width:0}#smashSlider{position:relative;width:76px;flex:none;min-height:158px;border:2.5px solid var(--ink);border-radius:18px;background:linear-gradient(180deg,#ffd9ec,#ffbfde);box-shadow:inset 0 3px 0 rgba(38,36,46,.14),0 3px 0 var(--ink);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.ss-chevrons{position:absolute;left:0;right:0;bottom:8px;display:flex;flex-direction:column;align-items:center;line-height:.62;font-family:var(--font);font-weight:800;font-size:24px;color:var(--ink);opacity:.42;pointer-events:none}.ss-chevrons span{animation:ssNudge 1.6s ease-in-out infinite}.ss-chevrons span:last-child{animation-delay:.18s}@keyframes ssNudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.ss-chevrons span{animation:none}}.ss-knob{position:absolute;top:5px;left:5px;right:5px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:linear-gradient(180deg,#ff8ac2,#ee5fa5);border:2.5px solid var(--ink);border-radius:13px;box-shadow:0 4px 0 var(--ink);color:#fff;-webkit-text-stroke:1px var(--ink);font-family:var(--font);font-weight:800;transform:translateY(var(--slide,0));transition:transform .18s cubic-bezier(.34,1.56,.64,1);cursor:-webkit-grab;cursor:grab}.ss-knob small{font-size:12px;letter-spacing:.06em}.ss-knob svg{width:23px;height:23px}.ss-knob.sliding{transition:none;cursor:-webkit-grabbing;cursor:grabbing}.ss-knob.fired{animation:ssFire .25s ease}@keyframes ssFire{0%{transform:translateY(0) scale(1.06,.88)}to{transform:translateY(0) scale(1)}}.kbd{display:inline-block;font-family:var(--font);font-weight:800;font-size:12px;line-height:1;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:8px;padding:4px 8px 3px;box-shadow:0 2px 0 var(--ink);white-space:nowrap;vertical-align:middle}.hint .kbd{margin:0 2px}.hint.hint-keys,.hint.hint-touch{line-height:2.1}.hint.hint-keys{display:none}@media (hover:hover) and (pointer:fine){.hint.hint-touch{display:none}.hint.hint-keys{display:block}}.howSec{font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.5;margin:16px 0 8px;text-align:left}.howGrid{display:grid;grid-template-columns:max-content 1fr;grid-gap:9px 14px;gap:9px 14px;align-items:center;text-align:left;font-weight:600;font-size:14px}.howGrid>.kbd{justify-self:start}#btnMute{position:fixed;left:calc(env(safe-area-inset-left,0px) + 10px);bottom:calc(env(safe-area-inset-bottom,0px) + 22px);width:44px;height:44px;z-index:26}#controls .crow:last-child{margin-left:56px}#btnHold{background:#cdeaff}#btnCCW,#btnCW{background:#e3dafc}.overlay{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(120,160,220,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:24px;text-align:center;animation:overlayIn var(--t-in) ease both}.overlay.hidden{display:none}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.card{background:var(--panel-solid);border:3px solid var(--ink);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:22px 26px;max-width:340px;width:100%;animation:cardIn .22s var(--ease-pop) both}@keyframes cardIn{0%{transform:translateY(10px) scale(.96);opacity:0}to{transform:none;opacity:1}}.bigtitle{font-weight:800;font-size:44px;line-height:.95;color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:0 4px 0 var(--ink);transform:rotate(-2.5deg);margin-bottom:4px}.bigtitle .t2{display:block;color:#ffd9ec;font-size:34px}.sub{font-size:13px;opacity:.75;margin:10px 0 2px}.hint,.sub{font-weight:600}.hint{font-size:12.5px;text-align:left;margin:10px auto 0;line-height:1.8}.hint,.hint b{display:inline-block}.hint b{width:64px}.bigbtn{margin-top:16px;width:100%;height:56px;border-radius:18px;border:3px solid var(--ink);background:linear-gradient(180deg,#ff9bcb,#f472b6);color:#fff;font-family:var(--font);font-weight:800;font-size:22px;-webkit-text-stroke:1px var(--ink);box-shadow:0 5px 0 var(--ink)}.bigbtn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}.bigbtn.alt{background:linear-gradient(180deg,#d8ccff,#b9a8f0)}.bigbtn.ghost{background:#fff;color:var(--ink);-webkit-text-stroke:0;text-shadow:none;font-size:18px;height:48px}.freeplay{margin-top:12px;font-weight:600;font-size:11.5px;line-height:1.5;opacity:.75}.freeplay b{font-weight:800}#menuArt{height:84px;margin:6px 0 2px;display:flex;justify-content:center;align-items:flex-end;gap:6px}#menuArt img{height:64px;animation:bob 2.2s ease-in-out infinite}#menuArt img:nth-child(2){animation-delay:.3s;height:74px}#menuArt img:nth-child(3){animation-delay:.6s}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}#overScore{font-size:40px;font-weight:800;line-height:1}#overBest{font-weight:700;opacity:.7;font-size:14px}.gameovertitle{color:#ffb3c9}@media (min-height:760px){.cbtn{height:58px}#logo img{height:32px}#logo .l2{font-size:17px}}#goreLayer{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}.gsplat{position:absolute}.gsplat svg{display:block;animation:splatIn .3s var(--ease-pop) both}@keyframes splatIn{0%{transform:scale(.1);opacity:0}to{transform:scale(1);opacity:.92}}.gboom{position:fixed;inset:0;z-index:5;pointer-events:none;animation:boomIn .26s var(--ease-pop) both}@keyframes boomIn{0%{transform:scale(.12);opacity:0}to{transform:scale(1);opacity:1}}.gboom.off{animation:boomSlide .85s cubic-bezier(.55,0,.85,.36) forwards}@keyframes boomSlide{0%{transform:none}to{transform:translateY(118vh) scale(1.06) rotate(2deg)}}.grun{position:absolute;width:var(--rw,6px);height:0;border-radius:0 0 60% 60%/0 0 14px 14px;transform:translateX(-50%);transform-origin:top;opacity:.9;pointer-events:none;box-shadow:inset 2px 0 0 hsla(0,0%,100%,.28);animation:screenDrip 1.2s cubic-bezier(.45,0,.7,1) forwards}@keyframes screenDrip{0%{height:0;opacity:0}12%{opacity:.9}80%{opacity:.85}to{height:var(--rh,50vh);opacity:0}}.menuLogo{width:82%;display:block;margin:2px auto 0;filter:drop-shadow(0 3px 0 #ffd9ec)}.menusmash{font-weight:800;font-size:30px;line-height:1;color:#ffd9ec;margin-top:2px;-webkit-text-stroke:1.5px var(--ink);text-shadow:0 3px 0 var(--ink);transform:rotate(-2deg)}#btnSmash,#logo .l2,.bigbtn,.bigtitle,.bigtitle .t2,.menusmash,.pop,[style*=text-stroke]{paint-order:stroke fill}#introOv{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,#eaf4ff 0,#cdeaff 58%,#bcd6ff 100%);transition:opacity .45s ease}#introOv.hide{opacity:0;pointer-events:none}#introOv video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}#introOv.live video{opacity:1}.intro-hold{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-family:var(--font);color:var(--ink);transition:opacity .3s ease}#introOv.live .intro-hold{opacity:0;pointer-events:none}@media (orientation:landscape){#introOv video{object-fit:contain}}.intro-sound{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 76px);font-family:var(--font);font-weight:800;font-size:13px;letter-spacing:.06em;color:var(--ink);background:hsla(0,0%,100%,.92);border:2.5px solid var(--ink);border-radius:999px;padding:8px 16px;box-shadow:0 3px 0 var(--ink);cursor:pointer;visibility:hidden}#introOv.live .intro-sound{visibility:visible}.intro-skip{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 24px);font-family:var(--font);font-weight:800;font-size:13px;letter-spacing:.08em;color:var(--ink);background:hsla(0,0%,100%,.88);border:2.5px solid var(--ink);border-radius:999px;padding:8px 18px;box-shadow:0 3px 0 var(--ink);animation:introSkipIn .5s ease .9s backwards}@keyframes introSkipIn{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){.intro-skip{animation:none}}#bootLoader{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 50% 38%,#eaf4ff 0,#cdeaff 58%,#bcd6ff 100%);font-family:var(--font);color:var(--ink);transition:opacity .5s ease}#bootLoader.hide{opacity:0;pointer-events:none}.bl-stage{display:flex;align-items:flex-end;gap:14px;height:96px;margin-bottom:6px}.bl-doopie{width:54px;height:54px;border-radius:18px;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);position:relative;animation:blBob 1s ease-in-out infinite}.bl-doopie:after,.bl-doopie:before{content:"";position:absolute;top:17px;width:9px;height:9px;border-radius:50%;background:var(--ink)}.bl-doopie:before{left:13px}.bl-doopie:after{right:13px}.bl-doopie.d1{background:#ff9bcb;animation-delay:0s}.bl-doopie.d2{width:64px;height:64px;background:#b9a8f0;animation-delay:.15s}.bl-doopie.d2:after,.bl-doopie.d2:before{top:21px}.bl-doopie.d3{background:#9be7c4;animation-delay:.3s}@keyframes blBob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}.bl-word{font-size:42px;line-height:.9;color:#fff;letter-spacing:1px;-webkit-text-stroke:2px var(--ink);text-shadow:0 4px 0 var(--ink)}.bl-smash,.bl-word{font-weight:800;paint-order:stroke fill;transform:rotate(-2deg)}.bl-smash{font-size:24px;color:#ffd9ec;margin-top:-2px;-webkit-text-stroke:1.5px var(--ink);text-shadow:0 3px 0 var(--ink)}.bl-dots{display:flex;gap:9px;margin-top:10px}.bl-dots span{width:11px;height:11px;border-radius:50%;background:var(--ink);opacity:.4;animation:blPulse 1s ease-in-out infinite}.bl-dots span:nth-child(2){animation-delay:.18s}.bl-dots span:nth-child(3){animation-delay:.36s}@keyframes blPulse{0%,to{transform:scale(.65);opacity:.3}50%{transform:scale(1.1);opacity:1}}#bonusOv{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(20,16,30,.88);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:bonusIn .25s ease both}#bonusOv video{max-width:100%;max-height:100%;object-fit:contain}#bonusOv .bonus-tag{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 40px);left:50%;transform:translateX(-50%) rotate(-2deg);font-family:var(--font);font-weight:800;font-size:30px;color:#ffd34d;white-space:nowrap;-webkit-text-stroke:1.5px var(--ink);text-shadow:0 3px 0 var(--ink);paint-order:stroke fill;animation:bonusTag .6s var(--ease-pop) both .2s}@keyframes bonusIn{0%{opacity:0}to{opacity:1}}@keyframes bonusTag{0%{transform:translateX(-50%) rotate(-2deg) scale(.2);opacity:0}to{transform:translateX(-50%) rotate(-2deg) scale(1);opacity:1}}.gsplat{transition:opacity 1.6s ease,transform 1.6s ease}.gsplat.gfade{opacity:0;transform:translateY(26px) scale(.92)}#dailyToast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 58px);transform:translateX(-50%);z-index:40;pointer-events:none;background:var(--panel-solid);border:3px solid var(--ink);border-radius:18px;box-shadow:0 5px 0 var(--ink),0 12px 24px rgba(80,60,140,.25);padding:8px 18px 9px;text-align:center;animation:dailyPop var(--t-pop) var(--ease-pop) both}#dailyToast.leaving{animation:dailyOut .25s var(--ease-out) forwards}#dailyToast .amt{display:block;font-weight:800;font-size:18px;line-height:1.1;color:var(--pink-deep)}#dailyToast .strk{display:block;font-weight:700;font-size:12px;opacity:.7}@keyframes dailyPop{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes dailyOut{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-16px);opacity:0}}.page-wrap{height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 16px) 14px calc(env(safe-area-inset-bottom,0px) + 24px);font-family:var(--font);color:var(--ink)}.page-card{background:var(--panel-solid);border:3px solid var(--ink);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:20px 20px 22px;max-width:460px;width:100%}.page-titlerow{display:flex;align-items:center;justify-content:space-between;gap:8px}.page-title{font-weight:800;font-size:24px;color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:0 4px 0 var(--ink);paint-order:stroke fill;transform:rotate(-2deg)}.page-back{width:40px;height:40px;flex:0 0 auto;border-radius:var(--r-row);border:2.5px solid var(--ink);background:var(--blue);color:var(--ink);box-shadow:var(--sh-ctl)}.page-back,.page-cta{display:flex;align-items:center;justify-content:center;text-decoration:none}.page-cta{width:100%;height:52px;border-radius:var(--r-cta);border:3px solid var(--ink);background:var(--grad-pink);color:#fff;font-family:var(--font);font-weight:800;font-size:18px;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill;box-shadow:var(--sh-cta);cursor:pointer}.page-cta.alt{background:var(--grad-purple)}.page-cta.ghost{background:var(--panel-solid);color:var(--ink);-webkit-text-stroke:0;font-size:15px}.page-tabs{display:flex;gap:6px;margin:14px 0}.page-tab{flex:1 1;height:44px;border-radius:var(--r-row);border:2.5px solid var(--ink);background:var(--surface-purple);font-family:var(--font);font-weight:800;font-size:13px;color:var(--ink);box-shadow:var(--sh-ctl);cursor:pointer}.page-tab.active{background:var(--grad-pink);color:#fff}.page-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-row);border:2px solid var(--ink);background:var(--surface)}.page-note{text-align:center;font-weight:600;font-size:13px;opacity:.78;padding:22px 8px}@media (prefers-reduced-motion:reduce){#dailyToast,#dailyToast.leaving,.bl-doopie,.bl-dots span,.gboom,.gboom.off,.gsplat svg{animation:none!important}.grun{display:none!important}#bonusOv,#bonusOv .bonus-tag,#menuArt img,.card,.overlay{animation:none!important}.pop{animation-duration:.6s}*{scroll-behavior:auto!important}}