:root{--bg:#dcefff;--bg-2:#efe9ff;--panel:#ffffff;--panel-2:#fff6e3;--ink:#2a2350;--muted:#6a6690;--obstacle:#f0223f;--target:#17963d;--ramp:#1680f0;--wall:#7c83a8;--boost:#ff7a18;--boost-ink:#b8430a;--spring:#d69e2e;--spring-ink:#8a5f12;--spring-lit:#ffd98a;--ball:#ffffff;--accent:#ffb400;--gold-ink:#8a5200;--edge:#2a2350;--line:2.5px;--lift:0 3px 0 #2a2350;--sheen:rgba(255,255,255,.95);--glow-ramp:rgba(22,128,240,.3);--glow-accent:rgba(255,180,0,.35);--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:"SF Pro Rounded",ui-rounded,"Arial Rounded MT Bold","SF Pro Display", ui-sans-serif,system-ui,-apple-system, "Segoe UI Variable Display","Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;background-color:var(--bg);background:radial-gradient(70% 45% at 50% -6%,#ffffffd9,#fff0 70%),linear-gradient(180deg,#cfe9ff 0%,var(--bg) 45%,var(--bg-2) 100%);background-attachment:fixed;color:var(--ink);font:600 14px/1.45 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;display:flex;justify-content:center;align-items:flex-start;padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));height:100vh;height:100svh;max-height:100svh;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app{width:min(100%,max(320px,75svh));height:100%;display:flex;flex-direction:column;gap:8px}.hud{width:max(var(--board-w, 100%),min(100%,320px));margin-inline:auto}.hud{display:flex;align-items:center;gap:8px;flex:none;min-height:40px;position:relative;z-index:6}.hud .chips.left{min-width:0}.hud .chips.right{margin-inline-start:auto;min-width:0}@media(max-width:359px){.hud{gap:5px}.hud .chips{gap:3px}.chips .counter{padding-inline:5px;gap:4px}}.levelpill{display:inline-flex;align-items:baseline;gap:3px;min-width:0;flex:0 1 auto;padding:3px 5px;border-radius:999px;white-space:nowrap;overflow:hidden;cursor:pointer;font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:0;background:var(--panel);border:2px solid var(--edge);box-shadow:0 2px 0 var(--edge)}.levelpill:active{transform:scale(.97);box-shadow:0 1px 0 var(--edge)}.levelpill .lvnum{min-width:0;overflow:hidden;text-overflow:ellipsis}.levelpill .lvid{color:var(--ink);font-weight:900;font-size:13px;flex:none}.levelpill .lvid:after{content:"▾";margin-inline-start:1px;color:var(--muted);font-size:10px;font-weight:600}.counter{background:var(--panel);border:2px solid var(--edge);border-radius:999px;box-shadow:0 2px 0 var(--edge);padding:3px 6px;font-size:12px;font-weight:700;white-space:nowrap;color:var(--muted);letter-spacing:0}.counter b{color:var(--ink);font-weight:900;font-size:13px}.chips{display:flex;align-items:center;gap:4px;flex:none}.counter.balls{display:inline-flex;align-items:center;gap:5px;padding-left:7px}.pip{width:11px;height:11px;border-radius:50%;flex:none;display:inline-block;vertical-align:-1px;background:radial-gradient(circle at 31% 25%,#fffffff2 0 14%,#fff0 44%),radial-gradient(circle at 58% 66%,#b9bfdc,#eef0fa 46%,#fff 78%);box-shadow:0 0 0 1.5px var(--edge)}.coin{width:12px;height:12px;border-radius:50%;flex:none;display:inline-block;vertical-align:-2px;background:radial-gradient(circle at 36% 28%,#ffffff80 0 8%,#fff0 38%),radial-gradient(circle closest-side at 50% 50%,#ffdf86 0 40%,#d08a00 47% 56%,#ffc62e 63% 87%,#b06c00);box-shadow:0 0 0 1.5px var(--edge)}.rampmark{width:16px;height:5px;border-radius:3px;flex:none;display:inline-block;background:var(--ramp);box-shadow:0 0 0 1.5px var(--edge);transform:rotate(-18deg)}.springmark{width:18px;height:6px;flex:none;margin-bottom:4px;display:inline-block;position:relative;border-radius:4px;background:linear-gradient(#ffb14a,#f07a12);box-shadow:0 0 0 1.5px var(--edge)}.springmark:after{content:"";position:absolute;left:2px;right:2px;top:6px;height:4px;border-left:2px solid var(--edge);border-right:2px solid var(--edge)}.counter.coins{display:inline-flex;align-items:center;gap:5px;padding-left:7px}.counter.coins b{color:var(--gold-ink)}.counter.balls .pip.used{background:transparent;box-shadow:inset 0 0 0 2px #b9b6cc}.counter.balls{gap:3px}.counter.balls.empty{background:#ffe3e7}.counter.balls.empty .pip{background:#c9c6d8}.counter.balls.empty b{color:#c4122d}.big.nb,.big.sp{color:var(--gold-ink)}.info{margin:2px 0 14px;text-align:left}.info h4{margin:14px 0 7px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.info h4:first-child{margin-top:2px}.info p{margin:0 0 7px;font-size:12.5px;line-height:1.5;color:var(--ink)}.iline{display:flex;gap:9px;align-items:flex-start;margin:0 0 8px}.iline .sw{margin-top:3px}.iline b{display:block;font-size:12.5px;font-weight:700;color:var(--ink)}.iline span.d{display:block;font-size:12px;line-height:1.45;color:var(--muted)}.iline.here b:after{content:" • on this level";font-size:10.5px;font-weight:700;color:var(--gold-ink);letter-spacing:.02em}.wheelwrap{position:relative;width:212px;height:212px;margin:6px auto 16px;border-radius:50%;box-shadow:0 0 0 4px var(--edge),0 0 0 8px #ffd23f,0 0 0 10.5px var(--edge),0 6px 0 7px var(--edge)}#wheel{display:block;width:212px;height:212px;border-radius:50%;transform:rotate(0);will-change:transform}.wheelptr{position:absolute;top:-9px;left:50%;transform:translate(-50%);z-index:2;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:22px solid #ff3b5c;filter:drop-shadow(0 0 0 var(--edge)) drop-shadow(0 2px 0 var(--edge))}.wheelhub{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;z-index:2;background:radial-gradient(circle at 36% 30%,#fff,#ffd23f 55%,#f0a000);box-shadow:0 0 0 3px var(--edge),0 3px 0 3px var(--edge)}#spin-sub b{color:var(--gold-ink);font-weight:900}.chips .counter{padding:3px 6px;font-size:12px}.iconbtn{flex:none;background:var(--panel);border:2px solid var(--edge);border-radius:999px;box-shadow:0 2px 0 var(--edge);width:27px;height:27px;padding:0;font-size:12.5px;line-height:1;display:grid;place-items:center}.iconbtn.off{opacity:.45}.stars{display:flex;justify-content:center;gap:7px;font-size:27px;line-height:1;margin:2px 0 10px}.stars i{font-style:normal;color:#e3e0f0;-webkit-text-stroke:2px var(--edge);paint-order:stroke fill}.stars i.on{color:var(--accent)}.starnote{color:var(--muted);font-size:12px;margin:-6px 0 12px}@keyframes tutpulse{0%,to{box-shadow:0 0 #1680f08c}50%{box-shadow:0 0 0 7px #1680f000}}.tut-pulse{animation:tutpulse 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.tut-pulse{animation:none;box-shadow:0 0 0 3px #1680f073}}.tut-skip{position:absolute;top:20px;right:9px;z-index:4;background:var(--panel);border:2px solid var(--edge);border-radius:999px;color:var(--ink);font-size:11.5px;font-weight:800;box-shadow:0 2px 0 var(--edge);padding:4px 11px;flex:none;line-height:1;cursor:pointer}.tut-skip:hover:not(:disabled){filter:brightness(.96)}.tut-skip[hidden]{display:none}.coach{position:fixed;z-index:45;left:0;top:0;width:min(250px,calc(100vw - 20px));pointer-events:none;text-align:center;background:var(--panel);color:var(--ink);border:3px solid var(--edge);border-radius:18px;padding:11px 14px 12px;box-shadow:0 4px 0 var(--edge),0 10px 24px #2a235038;animation:coachin .28s cubic-bezier(.3,1.5,.6,1) both}.coach-title{display:block;font-family:var(--font-display);font-size:16px;font-weight:900;margin-bottom:3px;letter-spacing:.005em}.coach-text{margin:0;font-size:13px;line-height:1.38;font-weight:600;color:var(--ink)}.coach button{pointer-events:auto;margin-top:9px;padding:7px 22px;font-size:14px}.coach:after{content:"";position:absolute;left:var(--ax,50%);width:14px;height:14px;margin-left:-8px;background:var(--panel);border:3px solid var(--edge);transform:rotate(45deg)}.coach[data-side=below]:after{top:-10px;border-right:none;border-bottom:none}.coach[data-side=above]:after{bottom:-10px;border-left:none;border-top:none}.coach[data-side=none]:after{display:none}@keyframes coachin{0%{opacity:0;scale:.85}to{opacity:1;scale:1}}@media(prefers-reduced-motion:reduce){.coach{animation:none}}.status{position:absolute;z-index:5;left:50%;bottom:6px;transform:translate(-50%);display:grid;place-items:center;pointer-events:none;width:max-content;max-width:calc(var(--board-w, 100%) - 24px)}.status>*{grid-area:1 / 1}.flash,.drop-cue{display:block;max-width:100%;height:18px;line-height:18px;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600;text-align:center;letter-spacing:.01em;color:var(--ink);text-shadow:0 0 3px rgba(255,255,255,.95),0 0 6px rgba(255,255,255,.7);visibility:hidden}.flash{opacity:.78}.drop-cue{opacity:.5}.status.on-dark .flash,.status.on-dark .drop-cue{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8),0 0 6px rgba(0,0,0,.5)}.flash.on,.drop-cue.on{visibility:visible;animation:captionin .25s ease-out}@keyframes captionin{0%{transform:translateY(3px)}to{transform:none}}.tap-ripple{position:absolute;z-index:3;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;pointer-events:none;border:3px solid var(--ramp);background:radial-gradient(circle,#1680f038,#1680f000 70%);animation:tapripple .42s ease-out forwards}.tap-ripple.go{border-color:#f0a000;background:radial-gradient(circle,#ffb40059,#ffb40000 70%);animation-name:tapripplego}@keyframes tapripple{0%{transform:scale(.35);opacity:1}to{transform:scale(1.15);opacity:0}}@keyframes tapripplego{0%{transform:scale(.35);opacity:1}to{transform:scale(1.6);opacity:0}}@media(prefers-reduced-motion:reduce){.flash.on,.drop-cue.on{animation:none}.tap-ripple,.tap-ripple.go{animation-duration:.01s}}.board-slot{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;margin-top:4px;align-items:center;justify-content:center;width:0;min-width:100%}.stage{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--edge);background:var(--bg);box-shadow:0 0 0 2px var(--edge),0 5px 0 2px var(--edge);box-sizing:content-box;aspect-ratio:3 / 5;width:calc(100% - 2px);height:auto;max-height:calc(100% - 2px)}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#3c468261;backdrop-filter:blur(3px);padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}#overlay,#spinpanel{background:#3c468224;-webkit-backdrop-filter:none;backdrop-filter:none}#select{z-index:50}#overlay{z-index:55}#giftpanel{z-index:57}#noballs{z-index:60}#shoppanel{z-index:68}#spinpanel{z-index:70}#infopanel{z-index:80}.giftlay{background:#3c468229;-webkit-backdrop-filter:none;backdrop-filter:none}.giftcard .sub{color:var(--muted);font-size:12.5px;margin:0 0 4px}.giftbox{position:relative;width:132px;height:118px;margin:8px auto 12px}.gbglow{position:absolute;left:50%;top:52%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(circle,#ffc53a8c,#ffc53a00 70%);opacity:.5;transition:opacity .4s ease}.giftcard.shown .gbglow{opacity:1;animation:giftglow 1.6s ease-in-out infinite}@keyframes giftglow{50%{transform:scale(1.12)}}.gbbody{position:absolute;left:24px;top:44px;width:84px;height:66px;border-radius:6px;background:linear-gradient(135deg,#f07ac4,#d94a9e 55%,#a82f76);box-shadow:0 0 0 3px var(--edge),0 4px #2a235040}.gbtie{position:absolute;left:60px;top:44px;width:12px;height:66px;background:linear-gradient(90deg,#ffe07a,#ffc53a 40%,#e0a112);box-shadow:0 0 0 1.5px var(--edge)}.gblid{position:absolute;left:16px;top:28px;width:100px;height:22px;border-radius:5px;background:linear-gradient(#f79ad4,#d94a9e);box-shadow:0 0 0 3px var(--edge);transform-origin:50% 100%}.gbbow{position:absolute;left:50%;top:10px;width:34px;height:22px;margin-left:-17px;border-radius:17px 17px 4px 4px;background:linear-gradient(#ffe07a,#ffc53a);box-shadow:0 0 0 3px var(--edge)}.gbprize{position:absolute;left:50%;top:34px;transform:translate(-50%) scale(.4);opacity:0;transition:none}.giftcard.wrap .gbbody,.giftcard.wrap .gbtie,.giftcard.wrap .gblid,.giftcard.wrap .gbbow{animation:giftshake .16s ease-in-out infinite}@keyframes giftshake{0%{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-2.5deg)}75%{transform:translate(3px) rotate(2.5deg)}to{transform:translate(0) rotate(0)}}.giftcard.open .gblid,.giftcard.shown .gblid{animation:giftlid .46s cubic-bezier(.2,-.4,.3,1) forwards}.giftcard.open .gbbow,.giftcard.shown .gbbow{animation:giftbow .46s cubic-bezier(.2,-.4,.3,1) forwards}@keyframes giftlid{to{transform:translate(26px,-54px) rotate(38deg);opacity:0}}@keyframes giftbow{to{transform:translate(38px,-66px) rotate(52deg);opacity:0}}.giftcard.shown .gbprize{animation:giftpop .5s cubic-bezier(.2,1.5,.4,1) forwards}@keyframes giftpop{0%{opacity:0;transform:translate(-50%,14px) scale(.4)}to{opacity:1;transform:translate(-50%,-14px) scale(1.55)}}#gift-prize b{min-width:74px}@media(prefers-reduced-motion:reduce){.giftcard .gbbody,.giftcard .gbtie,.giftcard .gblid,.giftcard .gbbow,.giftcard .gbglow{animation:none}.giftcard .gblid,.giftcard .gbbow{opacity:0}.giftcard .gbprize{opacity:1;animation:none;transform:translate(-50%,-14px) scale(1.55)}}.coinfly{position:fixed;inset:0;z-index:95;pointer-events:none;overflow:hidden}.confetti{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.cfp{position:absolute;top:0;left:0;border-radius:1.5px;will-change:transform,opacity;box-shadow:0 0 0 1px var(--edge)}.cfp0{background:var(--accent)}.cfp1{background:var(--ramp)}.cfp2{background:var(--target)}.cfp3{background:var(--obstacle)}.cfp4{background:#ffd23f}.dancefloor{position:relative;height:57px;margin:0 0 -4px;flex:none}.dancer{position:absolute;left:50%;bottom:4px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle closest-side at 35% 32%,#fff,#fff1b8 45%,#ffc53a);box-shadow:0 0 0 2.5px var(--edge);transform-origin:50% 100%;animation:ballhop .92s infinite}.dancershade{position:absolute;left:50%;bottom:1px;width:26px;height:5px;border-radius:50%;background:#2a235047;transform-origin:50% 50%;animation:ballshade .92s infinite}.dancer .eye{position:absolute;top:34%;width:3.4px;height:4.4px;border-radius:50%;background:var(--edge)}.dancer .eye.l{left:26%}.dancer .eye.r{right:26%}.dancer .mouth{position:absolute;left:50%;top:56%;width:8px;height:3.4px;transform:translate(-50%);border-bottom:1.9px solid var(--edge);border-radius:0 0 999px 999px}.dancer .cheek{display:none}.dancer.joy2 .mouth{width:11px;height:4.8px;border-bottom-width:1.9px}.dancer.joy3 .mouth{width:12.5px;height:7px;top:52%;background:var(--edge);border:0;border-radius:2px 2px 999px 999px}.dancer.joy3 .eye{top:33%;width:5px;height:2.6px;background:transparent;border-top:1.9px solid var(--edge);border-radius:999px 999px 0 0}.dancer.joy3 .eye.l{left:21%}.dancer.joy3 .eye.r{right:21%}.dancer.joy3 .cheek{display:block;position:absolute;top:53%;width:4.5px;height:3px;border-radius:50%;background:#ff506e8c}.dancer.joy3 .cheek.l{left:8%}.dancer.joy3 .cheek.r{right:8%}@keyframes ballhop{0%{transform:translate(-50%) scale(1.22,.78);animation-timing-function:cubic-bezier(.18,.72,.36,1)}9%{transform:translate(-50%,-5px) scale(.88,1.16);animation-timing-function:cubic-bezier(.2,.62,.36,1)}50%{transform:translate(-50%,-25px) scale(1);animation-timing-function:cubic-bezier(.62,0,.85,.42)}91%{transform:translate(-50%,-5px) scale(.9,1.14)}to{transform:translate(-50%) scale(1.22,.78)}}@keyframes ballshade{0%{transform:translate(-50%) scaleX(1.15);opacity:.55;animation-timing-function:cubic-bezier(.18,.72,.36,1)}50%{transform:translate(-50%) scale(.5,.8);opacity:.16;animation-timing-function:cubic-bezier(.62,0,.85,.42)}to{transform:translate(-50%) scaleX(1.15);opacity:.55}}@media(prefers-reduced-motion:reduce){.dancer{animation:ballcalm 2.4s ease-in-out infinite}.dancershade{animation:none;transform:translate(-50%) scaleX(1.05);opacity:.4}}@keyframes ballcalm{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.07)}}.flymark{position:absolute;top:0;left:0;will-change:transform,opacity}.flycoin{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 36% 28%,#ffffff80 0 8%,#fff0 38%),radial-gradient(circle closest-side at 50% 50%,#ffe79c 0 40%,#d08a00 47% 56%,#ffc62e 63% 87%,#b06c00);box-shadow:0 0 0 2px var(--edge)}.flyball{width:17px;height:17px;border-radius:50%;background:radial-gradient(circle at 31% 25%,#fffffff2 0 14%,#fff0 44%),radial-gradient(circle at 58% 66%,#b9bfdc,#eef0fa 46%,#fff 78%);box-shadow:0 0 0 2px var(--edge)}.flyramp{width:26px;height:8px;border-radius:4px;background:var(--ramp);box-shadow:0 0 0 2px var(--edge)}.flyspring{width:26px;height:8px;border-radius:5px;position:relative;background:linear-gradient(#ffb14a,#f07a12);box-shadow:0 0 0 2px var(--edge)}.flyspring:after{content:"";position:absolute;left:3px;right:3px;top:8px;height:5px;border-left:2px solid var(--edge);border-right:2px solid var(--edge)}.flyspin{width:19px;height:19px;border-radius:50%;background:conic-gradient(#ffd76b 0 25%,#d98b0c 0 50%,#ffd76b 0 75%,#d98b0c 0);box-shadow:0 0 0 2px var(--edge)}@keyframes cointook{0%{transform:scale(1)}38%{transform:scale(1.17)}to{transform:scale(1)}}.counter.took,.iconbtn.took{animation:cointook .26s ease-out}@media(prefers-reduced-motion:reduce){.counter.took,.iconbtn.took{animation:none}}.overlay[hidden]{display:none}.card{background:var(--panel);border:3px solid var(--edge);border-radius:24px;padding:18px;text-align:center;width:100%;max-width:290px;max-height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 6px 0 var(--edge),0 14px 30px #2a235040}.card>*{flex:none}.card .scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0 -6px;padding:0 6px;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent)}.card .scroll::-webkit-scrollbar{width:6px}.card .scroll::-webkit-scrollbar-thumb{background:#2a235040;border-radius:3px}.card .scroll::-webkit-scrollbar-track{background:transparent}.card .big{font-family:var(--font-display);font-size:27px;font-weight:900;letter-spacing:.02em;margin-bottom:4px;color:var(--ink)}.card .sub{color:var(--muted);font-size:13px;margin-bottom:16px}.card .row{display:flex;gap:8px}.card .row+.row{margin-top:8px}.spincard{max-width:270px}.shopcard{max-width:330px;text-align:left}.shopcard .big,.shopcard .sub{text-align:center}.shopcard .sub{margin-bottom:10px}.coinamt{color:var(--gold-ink);font-weight:900;white-space:nowrap}.coinamt .coin{margin-right:6px}.shopnote{color:var(--muted);font-size:11.5px;line-height:1.45;margin:0 0 9px}.shopcard h4{margin:12px 0 6px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.shopcard h4:first-child{margin-top:0}.buyrow{display:flex;gap:7px;margin:0 0 4px}.buybtn{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;border-radius:16px;background:var(--panel-2);border:var(--line) solid var(--edge);box-shadow:var(--lift);color:var(--ink);font:inherit;cursor:pointer}.buybtn:hover:not(:disabled){filter:brightness(.97)}.buybtn b{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:800}.buybtn .price{display:flex;align-items:center;gap:4px;color:var(--gold-ink);font-size:11.5px;font-weight:800}.buybtn .save{margin-top:1px;font-size:9.5px;font-weight:800;letter-spacing:.02em;color:#fff;background:#0f7a30;border-radius:999px;padding:1px 6px}.buybtn:disabled{opacity:.34;cursor:not-allowed}.rewards{display:flex;justify-content:center;gap:8px;margin:2px 0 15px}.reward{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--panel-2);border:2px solid var(--edge);box-shadow:0 2px 0 var(--edge)}.nopay{font-size:11.5px;font-weight:700;color:var(--muted);line-height:1.3;padding:6px 0;text-align:center}.reward.spent,.reward.spent b{color:var(--muted)}.reward b{font-size:15px;font-weight:900;color:var(--gold-ink);letter-spacing:.01em}#ov-balls b{color:var(--ink)}.infocard{max-width:340px;text-align:left}.infocard .big{text-align:center}#btn-nb-close{flex:1}.win .big{color:var(--target)}.lose .big{color:var(--obstacle)}button{font:inherit;font-weight:800;color:var(--ink);line-height:20px;background:var(--panel);border:var(--line) solid var(--edge);border-radius:16px;padding:11px 10px;cursor:pointer;flex:1;letter-spacing:.005em;box-shadow:var(--lift);transition:filter .12s,transform .07s ease,box-shadow .12s}button:hover:not(:disabled){filter:brightness(.96)}button:active:not(:disabled){transform:scale(.968) translateY(2px);box-shadow:0 1px 0 var(--edge)}button:disabled{opacity:.34;cursor:not-allowed;box-shadow:none}button[hidden]{display:none}.primary{background-color:#1273d6;background-image:linear-gradient(180deg,#ffffff47 0 42%,#fff0 42%);color:#fff;font-weight:900;font-family:var(--font-display);letter-spacing:.04em;box-shadow:var(--lift)}.primary:active:not(:disabled){box-shadow:0 1px 0 var(--edge)}@media(prefers-reduced-motion:reduce){button:active:not(:disabled){transform:none}}.sw{width:15px;height:15px;flex:none;display:block}.sw.ob{border-radius:50%;background:radial-gradient(circle at 34% 30%,#ff8a97,var(--obstacle));box-shadow:0 0 0 2px var(--edge)}.sw.tg{border-radius:50%;background:radial-gradient(circle,var(--target) 0 30%,#fff 31% 55%,#5fd67c 56%);box-shadow:0 0 0 2px var(--edge)}.sw.rp{height:6px;width:18px;border-radius:3px;background:var(--ramp);transform:rotate(-20deg);box-shadow:0 0 0 2px var(--edge)}.sw.wl{height:6px;width:18px;border-radius:3px;background:var(--wall);box-shadow:0 0 0 2px var(--edge)}.sw.bl{border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff,#ffc53a);box-shadow:0 0 0 2px var(--edge)}.sw.bs{border-radius:50%;background:radial-gradient(circle at 34% 30%,#ffc078,var(--boost) 70%,var(--boost-ink));box-shadow:0 0 0 2px var(--edge)}.sw.bk{border-radius:50%;background:radial-gradient(circle at 34% 30%,#ffd7a8,#c0671f);box-shadow:0 0 0 2px var(--edge)}.sw.wd{height:11px;border-radius:3px;background:linear-gradient(90deg,#e3f0ff,#8cc0ff);border:2px solid var(--edge)}.sw.sl{height:11px;border-radius:3px;background:#bfeaff;border:2px solid var(--edge)}.sw.fr{border-radius:50%/60% 60% 40% 40%;background:linear-gradient(180deg,#fff0c0,#ffc451 22%,#ff6a1e 52%,#e0281f 78%,#8e1219);box-shadow:0 0 0 2px var(--edge)}.sw.cr{border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:radial-gradient(circle at 32% 22%,#fff 0 11%,transparent 12%),radial-gradient(circle at 68% 22%,#fff 0 11%,transparent 12%),linear-gradient(180deg,#a878e6,#7b3fc4);box-shadow:0 0 0 2px var(--edge)}.sw.mt{border-radius:50%;background:radial-gradient(circle,var(--target) 0 30%,#fff 31% 55%,#5fd67c 56%);box-shadow:0 0 0 2px var(--edge),-8px 0 0 -5px var(--edge),8px 0 0 -5px var(--edge)}.sw.sp{height:7px;width:19px;border-radius:3.5px;position:relative;background:var(--ramp);box-shadow:0 0 0 2px var(--edge)}.sw.sp:after{content:"";position:absolute;left:3px;top:-6px;width:13px;height:6px;border-radius:1.5px;background:repeating-linear-gradient(60deg,var(--spring) 0 1.8px,var(--spring-ink) 1.8px 2.8px,transparent 2.8px 4.6px),linear-gradient(var(--spring-lit),var(--spring));box-shadow:0 0 0 1.5px var(--edge)}.sw.gf{border-radius:50%;position:relative;background:radial-gradient(circle,#fff 0 46%,#5fd67c 47%);box-shadow:0 0 0 2px var(--edge)}.sw.gf:after{content:"";position:absolute;left:3.5px;top:4px;width:8px;height:7px;border-radius:1px;background:linear-gradient(135deg,#f07ac4,#a82f76);box-shadow:0 0 0 1px var(--edge)}.sw.gf:before{content:"";position:absolute;left:6.5px;top:3px;width:2px;height:9px;background:#ffc53a;z-index:1}.sw.bx{border-radius:3px;background:linear-gradient(135deg,#f07ac4,#a82f76);box-shadow:0 0 0 1.5px var(--edge);position:relative}.sw.bx:after{content:"";position:absolute;left:6px;top:0;width:3px;height:100%;background:#ffc53a}.sw.bx:before{content:"";position:absolute;top:6px;left:0;height:3px;width:100%;background:#ffc53a}.sw.st{background:#ffc53a;filter:drop-shadow(0 0 .6px var(--edge)) drop-shadow(0 0 .6px var(--edge));clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.selcard{max-width:330px}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px;align-content:start}.grid button{flex:none;padding:10px 0;font-size:13px;font-variant-numeric:tabular-nums}.grid button{border-radius:12px;border-width:2px;box-shadow:0 2px 0 var(--edge)}.grid button.done{background:#d6f5de;color:#0f6b2b}.grid button.cur{background:#1273d6;color:#fff}.grid button:disabled{opacity:.3}#root{width:100%;height:100%;display:flex;justify-content:center;align-items:flex-start}@media(min-height:720px){.app{gap:7px}}@media(min-height:720px)and (min-width:700px){body{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(6px + env(safe-area-inset-bottom))}}@media(max-width:389px),(max-height:520px){.hud .chips{gap:3px}.levelpill{padding:2px 5px;gap:2px}.levelpill .lvid:after{content:""}}@media(max-height:520px){.app{gap:6px}.hud{min-height:30px}.levelpill .lvid{font-size:12px}.flash,.drop-cue{height:16px;line-height:16px;font-size:11px}.hud{gap:6px}.board-slot{margin-top:7px}.iconbtn{width:26px;height:26px}}.row.pair{display:flex;gap:10px}.row.pair>button{flex:1 1 0;min-width:0}#introcard{z-index:54}.card.intro{text-align:center}.introicon{display:block;width:180px;height:110px;margin:0 auto 6px}.introdots{display:flex;gap:6px;justify-content:center;margin:8px 0 2px}.introdots i{width:7px;height:7px;border-radius:50%;background:#d6d3e6}.introdots i.on{background:var(--ink)}.offerstrip{position:absolute;left:50%;bottom:34px;transform:translate(-50%);width:min(92%,380px);padding:8px 10px;border-radius:14px;background:#fffffff0;box-shadow:0 0 0 2px var(--edge),0 4px 0 var(--edge);pointer-events:auto;z-index:5;text-align:center}.offerstrip.corner{left:auto;right:10px;bottom:90px;transform:none;width:176px;text-align:left;padding:8px 26px 8px 10px}.offerstrip.corner .row.pair{flex-direction:column;gap:6px}.offerstrip .offertext{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:var(--ink)}.offerstrip .row.pair>button{font-size:13px;padding:8px 6px}.flylabel{position:absolute;left:0;top:0;font-weight:800;font-size:18px;color:var(--ink);pointer-events:none;animation:flylabel 1.25s ease-out forwards}@keyframes flylabel{0%{opacity:0;margin-top:0}20%{opacity:1}to{opacity:0;margin-top:-36px}}.offerclose{position:absolute;right:6px;top:4px;width:26px;height:26px;padding:0;border:0;background:none;box-shadow:none;font-size:20px;line-height:26px;color:var(--ink);opacity:.6}#chestpanel{z-index:62}.chestrow{display:flex;gap:10px;align-items:center;justify-content:center;margin:4px 0 8px}.chestbar{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink)}.chestbar .track{width:120px;height:9px;border-radius:5px;background:#e6e3f1;overflow:hidden;box-shadow:inset 0 0 0 1.5px #2a235040}.chestbar .track i{display:block;height:100%;background:linear-gradient(90deg,#ffd76b,#f0a80e)}.chestbar.small{font-size:11.5px;justify-content:center;width:100%;margin:2px 0 6px}.chestbar.small .track{width:90px;height:7px}.chesticon{width:16px;height:13px;border-radius:3px;background:#c9772b;box-shadow:inset 0 4px #e39a45,0 0 0 1.5px var(--ink)}#btn-open-chest{padding:6px 12px;font-size:13px}.chestbar b{white-space:nowrap}.tabs{display:flex;gap:6px;justify-content:center;margin:6px 0 4px}.tabs button{padding:6px 16px;font-size:13px;opacity:.6}.tabs button.on{opacity:1;background:var(--ink);color:#fff}.stylegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px}.styletile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:12px}.styletile.worn{box-shadow:0 0 0 3px #2fc95a,0 4px 0 var(--edge)}.styletile .price{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;opacity:.85}.swatch{display:block;flex:none}.swatch.ball{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 2px var(--ink)}.swatch.trail{width:44px;height:10px;border-radius:5px}.swatch.ramp{width:44px;height:10px;border-radius:5px;box-shadow:0 0 0 2px var(--ink);transform:rotate(-12deg)}.sw.th{border-radius:50%;background:radial-gradient(circle,#fff6b0 0 28%,#8a96b8 30%);box-shadow:0 0 0 2px var(--edge)}.sw.ov{border-radius:50%/40%;width:22px;background:linear-gradient(#b4b9d4,#5b6188);box-shadow:0 0 0 2px var(--edge)}#introcard.introlay:not(.world){background:#3c46821f;backdrop-filter:none;align-items:flex-end;padding-bottom:calc(28px + env(safe-area-inset-bottom))}#introcard.introlay:not(.world) .card.intro{max-width:360px}.card.intro.worldcard{padding-top:26px;padding-bottom:22px}.card.intro.worldcard .big{font-size:30px;color:var(--ink)}.card.intro.worldcard .sub{font-size:16px;font-weight:700;color:var(--ink)}#introcard.introlay:not(.world) .introicon{width:150px;height:84px;margin-bottom:0}#introcard.introlay:not(.world) .card.intro{padding-top:14px;padding-bottom:14px}.panelslot{position:fixed;inset:0;pointer-events:none}.panelslot>*{pointer-events:auto}.worldnav{display:flex;align-items:stretch;gap:6px;margin:2px 0 10px}.worldarrow{flex:none;width:34px;padding:0;font-size:26px;line-height:1;font-weight:800}.worldarrow:disabled{opacity:.25}.worldbanner{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 8px 7px;border-radius:14px;border:2.5px solid;color:var(--ink);box-shadow:0 3px 0 var(--edge);text-align:center}.worldbanner small{font-size:10.5px;font-weight:700;opacity:.7;letter-spacing:.02em}.worldbanner b{font-size:21px;line-height:1.15}.worldbanner .worldmech{font-size:11px;font-weight:600;opacity:.75}.worldbanner .worldstars{font-size:12px;font-weight:800;margin-top:2px}.worldpage{position:relative;touch-action:pan-y}.worldpage .grid{margin-bottom:8px;animation:worldin .22s ease-out}@keyframes worldin{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.worldpage .grid{animation:none}}.worldlock{position:absolute;inset:0 0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:12px;background:#ffffffb8;font-weight:800;font-size:14px;color:var(--ink);text-align:center;padding:0 16px}.lockicon{width:18px;height:14px;border-radius:3px;background:var(--ink);position:relative;margin-top:8px}.lockicon:before{content:"";position:absolute;left:3px;top:-9px;width:8px;height:9px;border:2.5px solid var(--ink);border-bottom:0;border-radius:6px 6px 0 0}.worlddots{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:0 0 10px}.worlddots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;box-shadow:none;background:#d6d3e6}.worlddots button.on{width:20px;border-radius:5px}#select .chrow{margin:0 0 10px}.worlddots button{flex:none;min-width:0;min-height:0;height:9px;line-height:0;font-size:0}.worlddots button:not(.on){width:9px}.bouncybtn{flex:none;display:inline-flex;align-items:center;gap:5px;height:29px;padding:0 9px 0 8px;border-radius:999px;background:var(--panel);border:var(--line) solid var(--edge);box-shadow:var(--lift);font:inherit;font-weight:900;color:#b8430a;cursor:pointer}.bouncybtn b{font-size:13px}.bouncybtn.armed{background:#ffe2bf;box-shadow:0 0 0 3px #f07a128c,var(--lift);animation:bouncyglow 1s ease-in-out infinite alternate}.bouncybtn:disabled{opacity:.45;cursor:not-allowed}@keyframes bouncyglow{to{box-shadow:0 0 0 6px #f07a1240,var(--lift)}}@media(prefers-reduced-motion:reduce){.bouncybtn.armed{animation:none}}body{background:linear-gradient(180deg,var(--sky0, #cfe9ff) 0%,var(--sky1, var(--bg)) 55%,var(--sky2, var(--bg-2)) 100%)!important;background-attachment:fixed}.app{width:100%;max-width:100%;position:relative;gap:0}.hud{position:absolute;top:0;left:0;right:0;width:auto;margin:0;padding:8px 10px 0;min-height:48px;z-index:6;pointer-events:none}.hud>*{pointer-events:auto}.hud .chips.right{margin-inline-start:auto}.board-slot{margin-top:0;padding-top:52px}.stage{border:none;border-radius:0;box-shadow:none;background:transparent}.menubtn{position:relative}.burger{position:relative;display:block;width:16px;height:2.6px;border-radius:2px;background:var(--ink);box-shadow:0 -5px 0 var(--ink),0 5px 0 var(--ink)}.tools{position:absolute;right:10px;bottom:34px;z-index:6;display:flex;flex-direction:column;gap:10px;align-items:center}.toolbtn{position:relative;width:46px;height:46px;border-radius:50%;padding:0;display:grid;place-items:center;cursor:pointer;font:inherit;background:var(--panel);border:3px solid var(--edge);box-shadow:var(--lift)}.toolbtn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--edge)}.toolbtn:disabled{opacity:.45;cursor:not-allowed}.toolbtn .dot{position:absolute;top:-2px;right:-2px}.toolbtn.bouncybtn{background:#ffe2bf;height:46px;padding:0;gap:0;border-radius:50%}.toolbtn.bouncybtn .springmark{transform:scale(1.35)}.toolbtn .badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f07a12;color:#fff;font-size:12px;line-height:17px;border:2px solid var(--edge);text-align:center}.overlay.menulay{justify-content:flex-start;align-items:stretch;padding:0}.menudrawer{width:min(82vw,320px);height:100%;overflow-y:auto;background:var(--panel-2);border-right:3px solid var(--edge);border-radius:0 22px 22px 0;box-shadow:6px 0 #2a235040;padding:calc(14px + env(safe-area-inset-top)) 14px 18px;animation:menuin .22s ease-out}@keyframes menuin{0%{transform:translate(-100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.menudrawer{animation:none}}.menuhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.menuclose{width:34px;height:34px;border-radius:50%;border:3px solid var(--edge);background:var(--panel);font:900 20px/1 var(--font);color:var(--ink);cursor:pointer;padding:0}.menurows{display:flex;flex-direction:column;gap:9px}.menurow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;padding:10px 12px;border-radius:16px;background:var(--panel);border:2.5px solid var(--edge);box-shadow:var(--lift);font:inherit;color:var(--ink)}.menurow:active{transform:translateY(2px);box-shadow:0 1px 0 var(--edge)}.menurow.hot{background:#fff3c4}.menurow.off{opacity:.8}.menulabel{display:flex;flex-direction:column;flex:1;min-width:0}.menulabel b{font-size:15px}.menulabel .d{font-size:12px;color:var(--muted);font-weight:700}.chev{font-size:20px;color:var(--muted)}.menuicon{flex:none;width:32px;height:32px;border-radius:50%;border:2.5px solid var(--edge)}.mi-shop{background:#ffc53a}.mi-spin{background:conic-gradient(#ffd76b 0 25%,#d98b0c 0 50%,#ffd76b 0 75%,#d98b0c 0)}.mi-chest{background:#f0a03c}.mi-info{background:#78aaff}.mi-sound{background:#78d2a0}#menupanel{z-index:65}.menubtn .dot,.toolbtn .dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--edge);background:#ff3b5c}.hud{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.hud .chips.left{justify-self:start}.hud .chips.centre{justify-self:center;display:flex;align-items:center;gap:8px}.hud .chips.right{justify-self:end;margin:0}.hud .iconbtn.menubtn{width:32px;height:32px}.hud .counter,.hud .levelpill{height:32px;display:inline-flex;align-items:center;padding:0 10px;box-sizing:border-box}.hud .counter.coins{padding-left:6px}.hud .counter.coins b{font-size:13px}.menudrawer .menuclose{flex:none;width:34px;height:34px;min-width:0;padding:0;border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1;box-shadow:0 2px 0 var(--edge)}.menuhead .big{font-size:24px;margin:0}.hud{left:50%!important;right:auto!important;transform:translate(-50%);width:min(100%,max(var(--board-w, 100%),300px))!important;box-sizing:border-box;padding-left:8px;padding-right:8px}.board-slot{padding-top:0;overflow:hidden}.stage{flex:none;max-height:none;max-width:none}.stage>.tools{right:calc(10px + var(--crop-x, 0px));bottom:calc(34px + var(--crop-y, 0px))}.stage>.status{bottom:calc(6px + var(--crop-y, 0px))}.tut-skip{top:calc(58px + var(--crop-y, 0px));right:calc(9px + var(--crop-x, 0px))}body{padding:0!important}.hud{padding-top:calc(8px + env(safe-area-inset-top));padding-left:calc(8px + env(safe-area-inset-left))!important;padding-right:calc(8px + env(safe-area-inset-right))!important}.stage>.tools{right:calc(10px + var(--crop-x, 0px) + env(safe-area-inset-right));bottom:calc(34px + var(--crop-y, 0px) + env(safe-area-inset-bottom))}.stage>.status{bottom:calc(6px + var(--crop-y, 0px) + env(safe-area-inset-bottom))}.selcard{max-width:340px;padding:18px 16px 16px}.selcard .big{font-size:24px;margin-bottom:4px}.selcard .chestrow{margin:0 0 14px}.worldnav{align-items:center;gap:8px;margin:0 0 14px}.worldarrow{width:32px;height:32px;min-height:0;border-radius:50%;border-width:2px;display:grid;place-items:center;font-size:20px;padding:0 0 2px;box-shadow:0 2px 0 var(--edge);background:#fff}.worldbanner{border:none!important;border-radius:16px;padding:10px 8px 9px;gap:2px;box-shadow:inset 0 0 0 1.5px #ffffffb3,0 3px 10px #2a23501f}.worldbanner small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.6}.worldbanner b{font-size:20px}.worldbanner .worldstars{margin-top:4px;padding:2px 10px;border-radius:10px;background:#ffffffbf;font-size:11.5px}.selcard .grid{gap:8px;margin-bottom:12px}.selcard .grid button{aspect-ratio:1 / 1;min-height:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;border:2px solid var(--edge);box-shadow:0 2px 0 var(--edge);background:#fff;color:var(--ink);transition:transform .12s ease}.selcard .grid button:not(:disabled):active{transform:translateY(2px);box-shadow:none}.selcard .grid button.done{background:#eaf8ee;color:#16632f}.selcard .grid button.cur{background:var(--accent, #1273d6);color:#fff}.selcard .grid button:disabled{opacity:1;background:#f1eff7;color:#b9b5cc;border-color:#d9d6e6;box-shadow:none}.lvn{font-size:15px;font-weight:800;line-height:1}.lvs{display:flex;gap:1px;height:9px;font-size:9px;line-height:9px}.lvs i{font-style:normal;color:#2a235029}.lvs i.on{color:#f5b50a;text-shadow:0 1px 0 rgba(140,80,0,.35)}.selcard .grid button.cur .lvs i{color:#ffffff59}.selcard .grid button.cur .lvs i.on{color:#ffd84a;text-shadow:none}.selcard .worlddots{margin:0 0 14px}.card.intro.worldcard.night .big,.card.intro.worldcard.night .sub,.worldbanner.night{color:#fff}.worldbanner.night .worldstars{background:#ffffff2e}.sw.qs{border-radius:50%;background:radial-gradient(circle,#a8743c 0 30%,#e9c07c 62%)}.sw.bh{border-radius:50%;background:radial-gradient(circle,#0b0820 0 38%,#a78bfa 55%,#ff9a5c 78%)}
