html,body{margin:0;height:100%;background:#0b1a2a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent}#wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}canvas{position:fixed;inset:0;display:block}#version{position:fixed;right:10px;bottom:6px;font-size:11px;opacity:.5;z-index:8;pointer-events:none;font-variant-numeric:tabular-nums}#menubtn{position:fixed;top:10px;right:10px;z-index:7;padding:8px 14px;font-family:Fredoka,system-ui,sans-serif;font-weight:700;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:999px;box-shadow:0 4px 0 var(--ink)}#menubtn.hidden{display:none}:root{--ink:#1d2340;--p:#ff7a1a;--pl:#ffb066;--o:#2f8cff;--sun:#ffd21f}#menu{position:fixed;inset:0;z-index:20;font-family:Fredoka,system-ui,sans-serif;color:var(--ink);overflow:hidden}#menu.hidden{display:none}#menu:has(.cv:not([hidden])){background:#1d234073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:12px}.cardwrap{display:none;width:min(720px,100%);max-height:min(96vh,calc(100dvh - 24px));overflow:auto;overscroll-behavior:contain;background:#fff;color:var(--ink);border:4px solid var(--ink);border-radius:28px;padding:0 24px;font-size:16px;box-shadow:0 10px 0 var(--ink),0 30px 50px #00000059}.cardwrap.wide{width:min(980px,100%)}#menu:has(.cv:not([hidden])) .cardwrap{display:block}.cardwrap .ptitle{position:sticky;top:0;z-index:1;background:#fff;padding-top:20px}.cardwrap .actions{position:sticky;bottom:0;z-index:1;background:#fff;padding-bottom:20px}.head{font-family:Luckiest Guy,Impact,sans-serif;letter-spacing:1px;line-height:.9;color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink),0 .15em .3em rgba(0,0,0,.35)}.ptitle{font-family:Luckiest Guy,Impact,sans-serif;font-size:44px;letter-spacing:1px;text-align:center;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);margin:0 0 8px}.label{font-family:Luckiest Guy,Impact,sans-serif;font-size:22px;letter-spacing:1px;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);margin:12px 0 6px}.sect{margin-bottom:6px}.row{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap}.rl{flex:none;font-family:Luckiest Guy,Impact,sans-serif;font-size:18px;letter-spacing:.5px;color:var(--ink);min-width:110px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:9px 16px;border-radius:999px;border:3px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;font:inherit;font-weight:700;font-size:16px;box-shadow:0 4px 0 var(--ink);transition:transform .08s,box-shadow .08s;line-height:1.2}.chip:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.chip.on{background:var(--p);color:#fff;-webkit-text-stroke:.4px var(--ink);paint-order:stroke fill}.chips.locked .chip{opacity:.4;pointer-events:none;box-shadow:none;transform:translateY(3px)}.chips.locked .chip.on{opacity:.9}.sw .chip{width:40px;height:40px;padding:0;border-radius:50%}.sw .chip.on{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}.balls .chip{background-size:cover;background-position:center;width:46px;height:46px}.sw .chip.rnd{width:auto;padding:0 10px;border-radius:999px;background:#fff}.sw .chip.rnd.on{background:var(--p)}.chip.off{opacity:.3;pointer-events:none;position:relative;box-shadow:none}.sw .chip.off:after{content:"";position:absolute;left:4px;right:4px;top:50%;height:2px;background:var(--ink);transform:rotate(-45deg)}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.actions button,.btn{font:inherit;font-weight:700;font-size:17px;padding:12px 22px;border-radius:999px;border:3px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--ink);transition:transform .08s,box-shadow .08s}.actions button:active,.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.actions .primary{background:linear-gradient(#fff09a,var(--sun))}.actions .danger{background:linear-gradient(#ff9a8a,#ea4b36);color:#fff}.actions button:disabled{opacity:.45;cursor:default}.actions .left{margin-right:auto;display:flex;gap:10px;flex-wrap:wrap}#menu select,#menu input{font:inherit;font-weight:600;font-size:16px;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:999px;padding:9px 14px}.prow{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap}.prow input{flex:1 1 120px;max-width:260px;min-width:100px}.prow .x{width:34px;height:34px;padding:0}.pfchip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#f1f3f8;border:3px solid var(--ink);font-size:16px;font-weight:700}.pfchip .dot{margin:0}.tabs{display:flex;gap:8px;justify-content:center;margin:0 0 12px}.tabs .chip{font-size:17px;padding:10px 20px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:6px;border:2px solid var(--ink)}.logo{position:absolute;left:5vw;top:5vh;transform:rotate(-4deg);font-size:clamp(34px,7vw,80px)}.logo small{display:block;font-family:Fredoka;font-weight:700;font-size:clamp(11px,1.5vw,15px);letter-spacing:.3em;-webkit-text-stroke:0;text-shadow:none;color:var(--ink);margin:6px 0 0 4px;opacity:.8}.stack{position:absolute;right:5vw;top:50%;transform:translateY(-52%) rotate(-4deg);display:flex;flex-direction:column;align-items:flex-end;gap:10px}.play{font-family:Luckiest Guy,Impact,sans-serif;font-size:clamp(54px,11vw,124px);line-height:.85;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink),0 .15em .25em rgba(0,0,0,.35);cursor:pointer;background:none;border:0;padding:0;letter-spacing:2px;transition:transform .12s cubic-bezier(.3,1.6,.6,1)}.play:hover{transform:scale(1.04) rotate(1deg)}.play:active{transform:scale(.96) translateY(6px);text-shadow:0 2px 0 var(--ink)}.sub{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sub button{font-family:Fredoka;font-weight:700;font-size:clamp(14px,2vw,19px);color:#fff;background:var(--ink);border:0;padding:8px 14px;border-radius:4px;cursor:pointer;transform:skew(-8deg);transition:background .12s,transform .12s,color .12s}.sub button span{display:inline-block;transform:skew(8deg)}.sub button:hover{background:var(--p);transform:skew(-8deg) translateY(-2px)}.sub button.dim,.sub button.locked{opacity:.55;cursor:default}.dock{position:absolute;right:16px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:10px}.dock button{width:54px;height:54px;border-radius:50%;border:3px solid var(--ink);background:#fff;font-size:22px;cursor:pointer;box-shadow:0 5px 0 var(--ink);transition:transform .1s,box-shadow .1s;display:grid;place-items:center;font-family:inherit}.dock button.locked{opacity:.45;box-shadow:0 2px 0 var(--ink);transform:translateY(3px)}.gear{display:block}.dock button:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}.pfpill{display:inline-flex;align-items:center;gap:9px;padding:9px 18px 9px 12px;border-radius:999px;border:3px solid var(--ink);background:#fff;font:inherit;font-weight:700;font-size:17px;color:var(--ink);box-shadow:0 5px 0 var(--ink),0 12px 24px #00000040;cursor:pointer;margin:0 6px 28px 0;transition:transform .1s,box-shadow .1s;max-width:min(360px,80vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lvring{position:relative;width:34px;height:34px;flex:none;display:grid;place-items:center}.lvring svg{position:absolute;inset:0;transform:rotate(-90deg)}.lvring b{font-size:13px;color:#fff;background:var(--ink);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;line-height:1}.lvring.lg{width:56px;height:56px}.lvring.lg b{width:40px;height:40px;font-size:17px}.pfpill:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}.pfpill i{width:18px;height:18px;border-radius:50%;background:var(--p);border:2px solid var(--ink);flex:none}.credlink{position:absolute;left:16px;bottom:max(16px,env(safe-area-inset-bottom));font:inherit;font-weight:700;font-size:13px;color:var(--ink);background:#ffffffb3;border:2px solid var(--ink);border-radius:999px;padding:6px 12px;cursor:pointer}.back{position:absolute;left:16px;top:16px;z-index:2}.screentitle{position:absolute;left:5vw;top:9vh;transform:rotate(-4deg);font-size:clamp(30px,6vw,68px);pointer-events:none}.cards{position:absolute;left:0;right:0;top:26vh;bottom:4vh;display:flex;gap:12px;justify-content:center;align-items:center;padding:0 12px;flex-wrap:wrap;overflow:auto}.group{display:flex;flex-direction:column;align-items:center;gap:8px}.group>.label{color:var(--ink);background:#ffffffbf;padding:3px 10px;border-radius:999px;margin:0}.group .gcards{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.modebtn{width:min(200px,42vw);aspect-ratio:3/4;border-radius:20px;border:4px solid var(--ink);background:#fff;box-shadow:0 8px 0 var(--ink),0 20px 36px #0000004d;overflow:hidden;cursor:pointer;position:relative;padding:0;font:inherit;text-align:left;color:var(--ink);transform:translateY(60px) rotate(2deg);opacity:0;display:flex;flex-direction:column}#m-sub:not([hidden]) .modebtn{animation:cardIn .45s cubic-bezier(.3,1.5,.5,1) forwards}#m-sub:not([hidden]) .group:nth-child(2) .modebtn{animation-delay:.08s}#m-sub:not([hidden]) .group:nth-child(3) .modebtn{animation-delay:.16s}@keyframes cardIn{to{transform:none;opacity:1}}.modebtn:hover{transform:translateY(-8px) rotate(-1deg)!important;box-shadow:0 16px 0 var(--ink),0 30px 40px #00000059}.modebtn.locked{filter:grayscale(.8) opacity(.6)}.modebtn:active{transform:translateY(4px)!important;box-shadow:0 2px 0 var(--ink)}.modebtn .pic{height:56%;background:linear-gradient(#4fa3e8,#cfeeff 70%,#f4d58a 70%);position:relative;flex:none}.modebtn .blob{position:absolute;bottom:10%;width:26%;aspect-ratio:3/4;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;border:3px solid var(--ink)}.modebtn .txt{padding:10px 12px}.modebtn b{display:block;font-family:Luckiest Guy,Impact,sans-serif;font-size:clamp(18px,2.6vw,24px);letter-spacing:.5px}.modebtn small{color:#5a6280;font-weight:600;font-size:12px}.modebtn.soon{cursor:not-allowed;filter:grayscale(.6);opacity:.7!important;transform:none!important}.modebtn .soonb{position:absolute;top:12px;right:-34px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;padding:4px 40px;transform:rotate(35deg);z-index:1}.vs{position:absolute;left:0;right:0;top:7vh;text-align:center;font-size:clamp(34px,7vw,86px);transform:rotate(-3deg);pointer-events:none;padding:0 70px}.vs i{font-style:normal;color:var(--p)}.vs em{font-style:normal;color:var(--o)}.vs small{display:block;font-family:Fredoka;font-weight:700;-webkit-text-stroke:0;text-shadow:none;font-size:clamp(12px,1.8vw,18px);color:var(--ink);letter-spacing:.2em;margin-top:6px}.setup{position:absolute;left:0;right:0;top:22vh;bottom:max(96px,calc(env(safe-area-inset-bottom) + 96px));overflow:auto;padding:0 16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.setup .sect{display:contents}.setup>:first-child,.setup .sect:first-child>:first-child{margin-top:auto}.setup>:last-child,.setup .sect:last-child>:last-child{margin-bottom:auto}.setup .label{display:none}.setup .slots{width:min(960px,100%);display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:14px 0 6px}.slot{flex:1 1 250px;max-width:360px;background:#ffffffe0;border:3px solid var(--ink);border-radius:22px;padding:12px 14px 14px;box-shadow:0 6px 0 var(--ink);display:flex;flex-direction:column;gap:9px;min-width:0}.slot .sh{font-family:Luckiest Guy,Impact,sans-serif;font-size:24px;letter-spacing:1px;color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);line-height:1}.slot .sl{font-family:Fredoka;font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.55;margin-top:2px}.slot .pfchip{font-size:17px;padding:9px 14px;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot .prow{margin:0}.slot .prow input{max-width:none;font:inherit;font-weight:700;font-size:16px;padding:9px 12px;border:3px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);min-width:0}.slot .chips{gap:6px}.slot .rm{align-self:flex-end;opacity:.7;margin-top:2px}.slot.add{justify-content:center;align-items:center;background:#ffffff73;border-style:dashed;cursor:pointer;font-family:Luckiest Guy,Impact,sans-serif;font-size:26px;color:var(--ink);min-height:120px;flex:0 1 180px}.slot.add:hover{background:#ffffffb3}.go:disabled{opacity:.5;cursor:default}#menu :focus{outline:none}#menu.kb :focus,#menu :focus-visible{outline:4px solid var(--sun);outline-offset:3px;border-radius:999px}#menu.kb .slot:focus-within{box-shadow:0 6px 0 var(--ink),0 0 0 4px var(--sun)}.setup .row{margin:0;width:min(760px,100%);display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;border-bottom:3px dashed rgba(29,35,64,.25)}.setup .row .rl{width:auto;min-width:150px;flex:none;padding-right:10px;white-space:nowrap}.setup .row .rl{font-size:clamp(20px,2.6vw,28px);color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);transform:rotate(-2deg)}.setup .row .chips{gap:8px}.setup .row .chip{font-size:16px}.setup .row input{max-width:260px}@media(max-width:700px){.setup .row .rl{width:100%;font-size:22px}}.go{position:absolute;left:50%;bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px));transform:translate(-50%);font-family:Luckiest Guy,Impact,sans-serif;font-size:clamp(24px,4vw,38px);letter-spacing:2px;color:var(--ink);background:linear-gradient(#fff09a,var(--sun));border:4px solid var(--ink);border-radius:999px;padding:16px 44px 8px;line-height:1;cursor:pointer;box-shadow:0 8px 0 var(--ink),0 18px 30px #0000004d;transition:transform .1s,box-shadow .1s;white-space:nowrap}.go:active{transform:translate(-50%) translateY(6px);box-shadow:0 2px 0 var(--ink)}.gear2{position:absolute;right:16px;top:16px;width:46px;height:46px;border-radius:50%;padding:0!important;display:grid;place-items:center;font-size:20px}.pausebg{position:absolute;inset:0;background:linear-gradient(90deg,#1d234000,#1d23408c 45%,#1d2340bf)}.pausehead{position:absolute;right:6vw;top:9vh;font-size:clamp(46px,10vw,116px);transform:rotate(-4deg);pointer-events:none}.plist{position:absolute;right:6vw;top:32vh;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.plist button{font-family:Luckiest Guy,Impact,sans-serif;font-size:clamp(26px,5vw,54px);letter-spacing:1px;color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);background:none;border:0;cursor:pointer;transform:rotate(-4deg);transition:transform .12s,color .12s;padding:4px 0}.plist button:hover{color:var(--p);transform:rotate(-4deg) translate(-10px) scale(1.05)}.plist button.dim{font-size:clamp(18px,3vw,32px);opacity:.9}.phint{position:absolute;left:5vw;bottom:5vh;font-weight:700;color:var(--ink);background:#ffffffd9;padding:8px 14px;border-radius:999px;font-size:13px}@media(pointer:coarse){.phint{display:none}}#menu:not(.hidden)~#ctrlhint{display:none}#gameover{position:fixed;inset:0;z-index:8;pointer-events:none}#gameover[hidden]{display:none}#gameover .plist{pointer-events:auto;right:auto;left:50%;top:auto;bottom:12vh;transform:translate(-50%);align-items:center}#gameover .awards{position:absolute;left:50%;transform:translate(-50%);bottom:calc(12vh + clamp(26px,5vw,54px) + clamp(18px,3vw,32px) + 36px);display:flex;flex-direction:column;gap:12px;width:min(300px,90vw)}#gameover.hasawards .plist{bottom:5vh}#gameover.hasawards .awards{bottom:calc(5vh + clamp(26px,5vw,54px) + clamp(18px,3vw,32px) + 30px)}.award{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:8px 16px;box-shadow:0 5px 0 var(--ink),0 12px 24px #00000040;display:flex;flex-direction:column;gap:5px}.award .row{display:flex;justify-content:space-between;align-items:center;font-size:15px}.award .plus{font-family:Luckiest Guy,Impact,sans-serif;font-size:24px;color:var(--p);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink)}.award .plus.gold{color:#f2a900}@media(max-width:600px){#gameover.hasawards .plist{bottom:1vh}#gameover.hasawards .awards{bottom:calc(1vh + clamp(26px,5vw,54px) + clamp(18px,3vw,32px) + 30px);gap:8px}.award{padding:3px 12px;gap:2px;border-radius:14px;box-shadow:0 4px 0 var(--ink),0 8px 16px #00000040}.award .row{font-size:12px}.award .plus{font-size:18px}#gameover.twoawards .awards{flex-direction:row;gap:6px;width:min(420px,96vw)}#gameover.twoawards .award{flex:1 1 0;min-width:0;padding:3px 8px}#gameover.twoawards .award .plus{font-size:14px}#gameover.twoawards .award .xpline>span:last-child{display:none}}.award .lvnum{display:inline-grid;color:var(--ink)}.award .lvnum b{grid-area:1/1;display:inline-block}.award .lvnum .old{opacity:0}.fly{animation:fly .5s cubic-bezier(.3,1.5,.5,1) both}.fly.d1{animation-delay:.08s}.fly.d2{animation-delay:.16s}.fly.d3{animation-delay:.24s}@keyframes fly{0%{opacity:0;transform:translate(60px) rotate(-4deg) scale(.9)}to{opacity:1}}.logo.fly{animation-name:flyL}@keyframes flyL{0%{opacity:0;transform:translate(-60px) rotate(-4deg) scale(.9)}to{opacity:1;transform:rotate(-4deg)}}.vs.fly{animation-name:flyV}@keyframes flyV{0%{opacity:0;transform:translateY(-40px) rotate(-3deg) scale(.9)}to{opacity:1;transform:rotate(-3deg)}}@media(max-width:700px){.logo{top:max(7vh,calc(env(safe-area-inset-top) + 24px));left:0;right:0;text-align:center;font-size:clamp(48px,15vw,80px)}.logo small{margin-left:0}.stack{right:auto;left:50%;top:auto;bottom:24vh;transform:translate(-50%) rotate(-4deg);align-items:center}.sub{justify-content:center}.cards{top:22vh;gap:8px;align-items:flex-start}.modebtn{width:44vw;aspect-ratio:4/5}.group .gcards{gap:8px}.plist{right:auto;left:50%;transform:translate(-50%);align-items:center}.pausehead{right:auto;left:50%;transform:translate(-50%) rotate(-4deg)}.pausebg{background:#1d23408c}.vs{top:10vh;padding:0 16px}.setup{top:26vh;justify-content:flex-start;padding-top:8px}}.credits{font-size:16px;line-height:1.55;color:var(--ink)}.credits h3{margin:12px 0 4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6b7390}.credits .big{font-family:Luckiest Guy,Impact,sans-serif;font-size:34px;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink)}.ptitle:has(>#m-title:empty){display:none}.pfhead{display:flex;align-items:center;gap:14px;background:#fff;border:3px solid var(--ink);border-radius:20px;padding:12px 16px;box-shadow:0 4px 0 var(--ink);width:100%;box-sizing:border-box;margin:16px 0 12px;position:sticky;top:0;z-index:1}.pfhead .meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.pfhead .name{font-size:19px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xpbar{height:10px;border-radius:5px;background:#dfe3ec;overflow:hidden;border:1px solid var(--ink)}.xpbar i{display:block;height:100%;background:var(--p)}.xpline{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:#6b7390}.xpline b{color:var(--ink)}.statgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.stat{background:#f1f3f8;border:3px solid var(--ink);border-radius:16px;padding:12px 14px;box-shadow:0 4px 0 var(--ink)}.stat b{display:block;font-size:34px;font-family:Luckiest Guy,Impact,sans-serif;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink)}.stat span{font-size:12px;color:#6b7390;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.achgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.ach{background:#f1f3f8;border:3px solid var(--ink);border-radius:16px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 4px 0 var(--ink)}.ach .ic{font-size:34px;line-height:1}.ach b{display:block;font-size:16px}.ach small{color:#6b7390;font-size:13px;font-weight:600;display:block;margin-top:2px}.ach.locked{opacity:.5;filter:grayscale(.8)}.ach .bar{height:8px;border-radius:4px;background:#dfe3ec;margin-top:5px;overflow:hidden;border:1px solid var(--ink)}.ach .bar i{display:block;height:100%;background:var(--p)}.shopgold{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;font-weight:700;color:#6b7390;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.shopgold b{font-family:Luckiest Guy,Impact,sans-serif;font-size:30px;letter-spacing:0;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink)}.shopgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.shopitem{background:#f1f3f8;border:3px solid var(--ink);border-radius:16px;padding:12px 14px;box-shadow:0 4px 0 var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:4px}.shopitem .ic{font-size:30px;line-height:1;padding:4px 8px;border-radius:12px;border:2px solid transparent}.shopitem small{color:#6b7390;font-size:13px;font-weight:600}.shopitem button{margin-top:6px;font:inherit;font-weight:700;font-size:14px;padding:6px 14px;border-radius:999px;border:3px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink)}.shopitem button:disabled{opacity:.5;cursor:default}.shopitem.owned{opacity:.7}#toast{position:fixed;top:14px;left:50%;transform:translate(-50%) translateY(calc(-100% - 60px));opacity:0;z-index:30;background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:10px 18px;font-family:Fredoka,system-ui,sans-serif;font-weight:700;box-shadow:0 5px 0 var(--ink),0 14px 30px #00000059;transition:transform .35s cubic-bezier(.3,1.5,.5,1),opacity .25s;pointer-events:none;max-width:90vw}#toast.show{transform:translate(-50%) translateY(0);opacity:1}#toast.achtoast{border-radius:22px;padding:10px 22px 12px;text-align:center}#toast .tt{font-family:Luckiest Guy,Impact,sans-serif;font-size:24px;letter-spacing:.5px;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);display:flex;align-items:center;justify-content:center;gap:10px}#toast .tt .ic{-webkit-text-stroke:0;font-size:28px}#toast .ts{font-size:14px;font-weight:600;opacity:.75;margin-top:2px}#tour{position:fixed;inset:0;z-index:21;font-family:Fredoka,system-ui,sans-serif;color:var(--ink)}#tour.hidden{display:none}#tour .setup{top:21vh}.tlabel{font-family:Luckiest Guy,Impact,sans-serif;font-size:22px;letter-spacing:1px;color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);margin:10px 0 6px;text-align:center}.tcard{box-sizing:border-box;width:min(860px,100%);background:#ffffffe6;border:3px solid var(--ink);border-radius:22px;padding:12px 16px 14px;box-shadow:0 6px 0 var(--ink);margin:8px 0}.tcard .tlabel{margin-top:0;font-size:20px}.bracket{display:flex;gap:14px;overflow-x:auto;padding:8px 6px 16px;max-width:100%;width:min(1100px,100%);justify-content:safe center}.round{display:flex;flex-direction:column;justify-content:space-around;gap:10px;min-width:180px;flex:none}.round h4{margin:0 0 2px;font-family:Luckiest Guy,Impact,sans-serif;font-size:17px;letter-spacing:.5px;font-weight:400;color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);text-align:center}.match{background:#ffffffeb;border:3px solid var(--ink);border-radius:16px;padding:7px 10px;font-size:14px;box-shadow:0 4px 0 var(--ink)}.match.next{background:#fff4cc;box-shadow:0 4px 0 var(--ink),0 0 0 4px var(--sun)}.match.done{opacity:.8}.match .p{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-weight:600;gap:8px}.match .p.win{font-weight:800}.match .p.lose{opacity:.45;text-decoration:line-through}.match .p.tbd{opacity:.4;font-style:italic}.podium{display:flex;gap:12px;justify-content:center;align-items:flex-end;margin:8px 0 6px}.pod{background:#ffffffeb;border:3px solid var(--ink);border-radius:18px;padding:10px 16px;text-align:center;min-width:120px;font-weight:700;box-shadow:0 5px 0 var(--ink)}.pod .place{font-family:Luckiest Guy,Impact,sans-serif;font-size:34px;color:var(--p);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink)}.pod.p1{padding-bottom:30px;background:#fff4cc}.pod.p3{opacity:.92}table.stats{width:100%;border-collapse:collapse;font-size:14px;margin-top:4px}table.stats th,table.stats td{padding:6px 8px;text-align:right;border-bottom:2px dashed rgba(29,35,64,.2)}table.stats th{color:#6b7390;font-size:11px;letter-spacing:.1em;text-transform:uppercase}table.stats th:first-child,table.stats td:first-child{text-align:left}.vsrow{display:flex;gap:14px;align-items:stretch;justify-content:center;flex-wrap:wrap}.mini{box-sizing:border-box;min-width:0;flex:1 1 240px;display:flex;flex-direction:column;gap:8px;background:#f4f6fb;border:3px solid var(--ink);border-radius:18px;padding:10px 12px}.mini .pfchip{align-self:flex-start;background:#fff}.mini .sl{font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}.vsbig{align-self:center;font-family:Luckiest Guy,Impact,sans-serif;font-size:34px;color:var(--sun);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink)}.elim{display:inline-block;background:#ffffffd9;border:3px solid var(--ink);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;margin:4px 0;box-shadow:0 3px 0 var(--ink);max-width:100%}.elims{text-align:center;margin:4px 0}#menu .actions .primary{color:#1a1a1a}select,button{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#00000080;color:#fff}button:active{background:#ffffff40}*{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}[hidden]{display:none!important}.stickbox{position:fixed;left:0;top:0;width:170px;height:84px;margin:-42px 0 0 -85px;border-radius:42px;background:#ffffff1f;border:2px solid rgba(255,255,255,.35);backdrop-filter:blur(4px);pointer-events:none;z-index:6;display:none}.stickbox.active{display:block}.stickbox:before,.stickbox:after{content:"◀";position:absolute;top:50%;transform:translateY(-50%);left:14px;font-size:18px;opacity:.5}.stickbox:after{content:"▶";left:auto;right:14px}.knob{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:#fffc;box-shadow:0 2px 8px #0006}.jumpfx{position:fixed;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;border:3px solid rgba(255,255,255,.8);pointer-events:none;z-index:6;animation:jfx .35s ease-out forwards}@keyframes jfx{0%{transform:scale(.5);opacity:.9}to{transform:scale(1.3);opacity:0}}#ctrlhint{position:fixed;inset:0;pointer-events:none;z-index:6;transition:opacity .4s}#ctrlhint.off{opacity:0}.hintbox{position:absolute;bottom:22%;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6)}#hintL{left:12%}#hintR{right:12%}.ghoststick{width:170px;height:84px;border-radius:42px;border:2px dashed rgba(255,255,255,.7);background:#ffffff1a;position:relative}.ghoststick:before,.ghoststick:after{content:"◀";position:absolute;top:50%;transform:translateY(-50%);left:14px;font-size:18px;opacity:.7}.ghoststick:after{content:"▶";left:auto;right:14px}.ghostknob{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:#fff9;animation:knob 1.6s ease-in-out infinite}@keyframes knob{0%,to{left:50%}25%{left:calc(50% - 40px)}75%{left:calc(50% + 40px)}}.ghostjump{width:90px;height:90px;border-radius:50%;border:2px dashed rgba(255,255,255,.7);background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:34px;animation:tap 1.6s ease-in-out infinite}@keyframes tap{0%,60%,to{transform:scale(1);background:#ffffff1a}75%{transform:scale(.88);background:#ffffff73}}.keys{display:flex;gap:6px}.key{min-width:40px;height:40px;padding:0 10px;border-radius:8px;border:2px solid rgba(255,255,255,.7);background:#00000059;display:flex;align-items:center;justify-content:center;font-size:18px}.touchonly,.padonly{display:none}@media(pointer:coarse){.touchonly{display:flex}.kbonly{display:none}}#ctrlhint.pad .touchonly,#ctrlhint.pad .kbonly{display:none}#ctrlhint.pad .padonly{display:flex}#help{position:fixed;bottom:10px;left:0;right:0;text-align:center;font-size:12px;opacity:.6;pointer-events:none}#help .touch{display:none}@media(pointer:coarse){#help .kb{display:none}#help .touch{display:inline}}
