@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,400..800&display=swap";:root{--ch-paper:#fffaf0;--ch-ink:#1f1a17;--ch-soft:#5c544d;--ch-red:#ff5a36;--ch-sun:#ffb800;--ch-green:#22b573;--ch-blue:#2d7ff9;--ch-purple:#9b4dff;--ch-pink:#ff3d8b;--ch-accent:var(--ch-sun);--ch-font:"Bricolage Grotesque",system-ui,sans-serif;--ch-title:clamp(34px,9vw,56px);--ch-btn:18px;--ch-small:14px;--ch-radius:12px;--ch-in:.18s;--ch-stagger:60ms}.ch-title{font-family:var(--ch-font);font-weight:800;font-stretch:75%;font-size:var(--ch-title);letter-spacing:-.02em;line-height:.92}.ch-small{font-family:var(--ch-font);font-size:var(--ch-small);font-weight:600}.ch-btn{min-height:48px;font:800 var(--ch-btn)/1 var(--ch-font);color:var(--ch-ink);background:var(--ch-paper);border:2px solid var(--ch-ink);border-radius:var(--ch-radius);box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:12px 22px;transition:transform .12s,background-color .12s;display:inline-flex}.ch-btn:hover{transform:translateY(-2px)}.ch-btn:active{transform:translateY(1px)}.ch-btn.primary{background:var(--ch-accent)}.ch-btn.danger{background:0 0}.ch-btn:focus-visible{outline:3px solid var(--ch-blue);outline-offset:3px}@keyframes ch-in{0%{opacity:0;transform:translateY(16px)}}.ch-enter>*{animation:ch-in var(--ch-in) ease-out both}.ch-enter>:nth-child(2){animation-delay:calc(var(--ch-stagger)*1)}.ch-enter>:nth-child(3){animation-delay:calc(var(--ch-stagger)*2)}.ch-enter>:nth-child(4){animation-delay:calc(var(--ch-stagger)*3)}.ch-enter>:nth-child(n+5){animation-delay:calc(var(--ch-stagger)*4)}@media (prefers-reduced-motion:reduce){.ch-enter>*{animation-name:none}.ch-btn{transition:none}}@font-face{font-family:Anton;src:url(../fonts/Anton-400.woff2)format("woff2");font-display:swap}@font-face{font-family:Barlow;font-weight:600;src:url(../fonts/Barlow-600.woff2)format("woff2");font-display:swap}@font-face{font-family:Barlow;font-weight:700;src:url(../fonts/Barlow-700.woff2)format("woff2");font-display:swap}:root{--ink:#24163a;--tang:#ff7a3d;--butter:#ffc94d;--mint:#36d69a;--sky:#49b6ff;--blush:#ff5c8a;--cream:#fff4e0;--display:"Anton",Impact,sans-serif;--ui:"Barlow",system-ui,sans-serif;--st:env(safe-area-inset-top);--sb:env(safe-area-inset-bottom)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;padding:0}html,body{background:var(--ink);color:var(--cream);font-family:var(--ui);touch-action:none;overscroll-behavior:none;font-weight:600;position:fixed;inset:0;overflow:hidden}canvas{display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.btn{--c:var(--butter);--s:#c98a1a;--t:var(--ink);background:var(--c);width:100%;color:var(--t);font-family:var(--display);letter-spacing:.01em;box-shadow:0 6px 0 var(--s),0 10px 18px #140a2859,inset 0 2px 0 #ffffff73;border-radius:18px;padding:16px 18px;font-size:22px;line-height:1;transition:transform .12s cubic-bezier(.3,1.6,.5,1),box-shadow .12s}.btn.huge{padding:20px;font-size:34px}.btn.alt{--c:var(--tang);--s:#b8461b;--t:var(--cream)}.btn.ghost{--c:#fff4e024;--s:#0a041873;--t:var(--cream);font-family:var(--ui);-webkit-backdrop-filter:blur(6px);font-size:17px;font-weight:700}.row{gap:10px;width:100%;display:flex}.hud{top:calc(var(--st) + 12px);pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;left:14px;right:14px}.hbtn{pointer-events:auto;background:#24163a73;border-radius:14px;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;transition:transform .1s;display:flex;box-shadow:0 4px #0a041866}.hbtn:active{transform:translateY(3px)scale(.94)}.hbtn i{background:var(--cream);border-radius:3px;width:5px;height:17px}.hlbl{opacity:.9;text-shadow:0 2px #24163a99;font-size:15px}.home{padding:calc(var(--st) + 28px) 22px calc(var(--sb) + 22px);background:linear-gradient(#24163a8c,#24163a00 38% 50%,#24163ad9 78%);flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.home>*{max-width:360px}.logo{font-family:var(--display);text-transform:uppercase;flex-direction:column;align-items:center;font-weight:400;line-height:.86;animation:3.2s ease-in-out infinite breathe;display:flex}.logo span{color:var(--cream);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:min(27vw,128px);display:block}.logo .l1{text-shadow:0 8px 0 var(--tang),0 14px 0 var(--ink)}.logo .l2{color:var(--butter);text-shadow:0 8px 0 #c98a1a,0 14px 0 var(--ink);transform:translate(18%)rotate(-3deg)}@keyframes breathe{50%{transform:translateY(-4px)scale(1.015)}}.line{opacity:.92;text-align:center;text-shadow:0 2px #24163ab3;font-size:16px}.streak{background:#24163a8c;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:15px;display:flex}.flame{fill:#fff4e059;width:18px;height:24px}.flame .in{fill:#0000}.streak.hot .flame{fill:var(--tang);animation:.5s ease-in-out infinite alternate flick}.streak.hot .flame .in{fill:var(--butter)}@keyframes flick{to{transform:scale(1.08,.94)rotate(3deg)}}.spacer{flex:1}.worlds{justify-content:space-between;width:100%;margin-bottom:4px;display:flex}.world{text-align:center;opacity:.55;flex-direction:column;align-items:center;gap:4px;width:25%;font-size:12px;line-height:1.15;display:flex}.world.on{opacity:1}.world svg{filter:drop-shadow(0 3px #140a2866);width:40px;height:44px}.world.on svg{animation:2.6s ease-in-out infinite breathe}.world:nth-child(2) svg{animation-delay:.3s}.world:nth-child(3) svg{animation-delay:.6s}.world:nth-child(4) svg{animation-delay:.9s}.chal{text-align:center;text-shadow:0 2px #24163ab3;font-size:18px}.chal b{font-family:var(--display);color:var(--butter);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--ink);font-size:96px;font-weight:400;line-height:1;display:block}.sheet-wrap{background:#140a288c;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:absolute;inset:0}.sheet{width:100%;padding:22px 20px calc(var(--sb) + 22px);background:#33224f;border-radius:28px 28px 0 0;flex-direction:column;gap:12px;animation:.35s cubic-bezier(.2,1.3,.4,1) rise;display:flex;box-shadow:inset 0 -8px #24163a,0 -10px 40px #0006}.sheet h3{font-family:var(--display);text-align:center;font-size:36px;font-weight:400}.mode{text-align:left;background:var(--cream);color:var(--ink);border-radius:18px;flex-direction:column;gap:4px;padding:16px 18px;transition:transform .12s cubic-bezier(.3,1.6,.5,1),box-shadow .12s;display:flex;box-shadow:0 6px #c8b89c}.mode:active{transform:translateY(5px)scale(.98);box-shadow:0 1px #c8b89c}.mode span{opacity:.8;font-size:14px;line-height:1.3}#bDuel b{color:#d9531a}#bShared b{color:#1c7fc4}@keyframes rise{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.results{padding:calc(var(--st) + 20px) 22px calc(var(--sb) + 22px);flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:absolute;inset:0}.plate{background:var(--cream);width:100%;max-width:340px;color:var(--ink);text-align:center;border-radius:30px;padding:30px 20px 22px;animation:.55s cubic-bezier(.2,1.5,.4,1) drop;position:relative;box-shadow:0 10px #c8b89c,0 22px 40px #0a041880}.plate:before{content:"";background:#ffffffb3;border-radius:6px;height:10px;position:absolute;top:12px;left:18px;right:18px}.stars{justify-content:center;gap:4px;display:flex;position:absolute;top:-34px;left:0;right:0}.star{fill:#d9cdb5;width:62px;height:62px;stroke:var(--ink);stroke-width:3px;stroke-linejoin:round;animation:starland .5s var(--d) cubic-bezier(.2,1.8,.4,1) forwards;transform:scale(0)}.star:nth-child(2){width:76px;height:76px;margin-top:-12px}.star.on{fill:var(--butter)}@keyframes starland{0%{opacity:0;transform:scale(2.4)rotate(-40deg)}to{opacity:1;transform:none}}.big{font-family:var(--display);color:var(--ink);margin-top:18px;font-size:120px;line-height:1}.big.land{animation:.3s cubic-bezier(.2,2,.4,1) thump}@keyframes thump{40%{transform:scale(1.15)}}.unit{font-family:var(--display);color:#7a6a8e;margin-top:-4px;font-size:24px}.note{margin-top:12px;font-size:17px;font-weight:700}.note.good{color:#16935f}.sub{opacity:.65;margin-top:4px;font-size:14px}.actions{flex-direction:column;gap:12px;width:100%;max-width:340px;animation:.4s .5s both fade;display:flex}@keyframes drop{0%{opacity:0;transform:translateY(-60px)scale(.85)}}#toast{bottom:calc(var(--sb) + 110px);background:var(--ink);opacity:0;border-radius:999px;padding:10px 16px;font-size:14px;transition:all .25s cubic-bezier(.2,1.4,.4,1);position:absolute;left:50%;transform:translate(-50%,20px)}#toast.on{opacity:1;transform:translate(-50%)}.vs{background:var(--cream);width:64px;height:64px;box-shadow:0 5px 0 var(--ink),0 0 0 4px var(--ink);border-radius:20px;place-items:center;animation:1.6s ease-in-out infinite vspulse;display:grid;position:absolute;top:50%;left:calc(100% - 52px);transform:translate(-50%,-50%)rotate(-8deg);pointer-events:none!important}.vs span{font-family:var(--display);color:#0000;background:linear-gradient(90deg,var(--tang) 50%,var(--sky) 50%);-webkit-text-stroke:1px var(--ink);-webkit-background-clip:text;background-clip:text;font-size:30px}@keyframes vspulse{50%{transform:translate(-50%,-50%)rotate(-8deg)scale(1.08)}}.duelover{flex-direction:column;animation:.3s fade;display:flex;position:absolute;inset:0}.dres{text-align:center;background:#140a2899;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.dres.flip{transform:rotate(180deg)}.dres b{font-family:var(--display);color:var(--cream);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);font-size:64px;font-weight:400;line-height:1;animation:.5s cubic-bezier(.2,1.6,.4,1) drop}.dres.win{background:linear-gradient(#140a2833,#140a2899)}.dres.win b{color:var(--pc);font-size:78px}.dres span{opacity:.9;font-size:16px}.crown{width:84px;height:58px;fill:var(--butter);stroke:var(--ink);stroke-width:3px;stroke-linejoin:round;animation:1.2s cubic-bezier(.2,1.6,.4,1) both crown,2s ease-in-out 1.2s infinite breathe}@keyframes crown{0%{opacity:0;transform:translateY(-80px)rotate(-30deg)}}.duelover .mid{box-shadow:0 0 0 3px var(--ink);background:#33224f;gap:10px;padding:12px 16px;display:flex}.duelover .mid .btn{padding:13px;font-size:18px}@media (prefers-reduced-motion:reduce){*{animation-duration:10ms!important;animation-iteration-count:1!important}}.lbrow{color:#16935f;text-align:left;border-top:2px dashed #d9cdb5;justify-content:space-between;align-items:center;gap:10px;min-height:34px;margin-top:12px;padding-top:10px;font-size:14px;font-weight:800;display:flex}.lbrow .link{cursor:pointer;color:#7a6a8e;font-weight:700;text-decoration:underline}.lbbtn{font:inherit;font-family:var(--display);letter-spacing:.04em;color:var(--cream);background:var(--ink);cursor:pointer;border:0;border-radius:12px;margin-left:auto;padding:7px 12px;font-size:15px;box-shadow:0 3px #0e0820}.lbbtn:active{transform:translateY(2px);box-shadow:0 1px #0e0820}.homelink{z-index:3;max-width:none;min-height:48px;color:var(--cream);font-family:var(--ui);cursor:pointer;background:#24163a80;border-radius:999px;flex:none;align-self:flex-start;align-items:center;gap:8px;margin:-14px 0 -8px;padding:0 16px 0 12px;font-size:15px;font-weight:700;display:inline-flex;position:relative;box-shadow:inset 0 0 0 2px #fff4e029}.homelink svg,.btn.hl svg{flex:none;width:20px;height:20px}.btn.hl{justify-content:center;align-items:center;gap:8px;padding:12px 16px;display:flex}.mquit{width:48px;height:48px;color:var(--cream);z-index:6;cursor:pointer;background:#24163abf;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%);box-shadow:inset 0 0 0 2px #fff4e040}.mquit svg{width:16px;height:16px}:root{--ch-accent:var(--ch-pink)}html,body{font-family:var(--ch-font)}.btn,.btn.alt,.btn.ghost,.btn.huge{width:100%;font:800 var(--ch-btn)/1.1 var(--ch-font);letter-spacing:0;text-shadow:none;color:var(--ch-ink);background:var(--ch-paper);border:2px solid var(--ch-ink);border-radius:var(--ch-radius);min-height:48px;box-shadow:none;-webkit-backdrop-filter:none;padding:12px 14px;transition:transform .12s,background-color .12s}.btn.huge{min-height:60px;font-size:24px}.btn.primary{background:var(--ch-accent)}.btn:hover{transform:translateY(-2px)}.btn:active{box-shadow:none;transform:translateY(1px)}.btn:focus-visible,.hbtn:focus-visible,.mode:focus-visible,.homelink:focus-visible{outline:3px solid var(--ch-blue);outline-offset:3px}.menu{flex-direction:column;gap:12px;width:100%;display:flex}.row .btn{padding-left:8px;padding-right:8px}.home{background:linear-gradient(#1f1a1700 50%,#1f1a17d9 78%)}.homelink{border-radius:var(--ch-radius);background:var(--ch-paper);color:var(--ch-ink);border:2px solid var(--ch-ink);box-shadow:none;font:800 16px/1 var(--ch-font);margin:-12px 0 4px}.line{font-family:var(--ch-font);text-shadow:none;font-size:16px}.streak{border-radius:var(--ch-radius);background:var(--ch-ink);color:var(--ch-paper);font-family:var(--ch-font)}.world{font-family:var(--ch-font);font-size:14px;font-weight:700}.world svg{filter:none}.chal{font-family:var(--ch-font);text-shadow:none}.hbtn{background:var(--ch-paper);border:2px solid var(--ch-ink);border-radius:var(--ch-radius);box-shadow:none;width:48px;height:48px}.hbtn i{background:var(--ch-ink)}.hlbl{font-family:var(--ch-font);text-shadow:none;font-weight:800}.mquit{background:var(--ch-paper);color:var(--ch-ink);border:2px solid var(--ch-ink);box-shadow:none}.sheet-wrap{background:#1f1a17b8}.sheet{background:var(--ch-paper);color:var(--ch-ink);border:2px solid var(--ch-ink);box-shadow:none;border-bottom:0;animation:none}.sheet h3{font-family:var(--ch-font);letter-spacing:-.02em;font-size:40px;font-weight:800;font-stretch:75%}.mode{background:var(--ch-paper);border:2px solid var(--ch-ink);border-radius:var(--ch-radius);box-shadow:none;transition:transform .12s}.mode:hover{transform:translateY(-2px)}.mode:active{box-shadow:none;transform:translateY(1px)}.mode b{font-family:var(--ch-font);font-size:24px;font-weight:800}#bDuel b,#bShared b{color:var(--ch-ink)}.mode span{font-family:var(--ch-font);opacity:1;color:var(--ch-soft);font-size:15px}.results{background:#1f1a17b8}.plate{background:var(--ch-paper);border:2px solid var(--ch-ink);box-shadow:none;border-radius:20px}.plate:before{display:none}.big{font-family:var(--ch-font);font-weight:800;font-stretch:75%}.unit{font-family:var(--ch-font);color:var(--ch-soft);font-weight:800}.note,.sub{font-family:var(--ch-font)}.sub{opacity:1;color:var(--ch-soft);font-size:15px}.lbrow{color:var(--ch-ink);border-top:2px solid #1f1a1726;font-size:15px}.lbrow .link{color:var(--ch-ink)}.lbbtn{font:800 15px/1 var(--ch-font);letter-spacing:0;color:var(--ch-ink);background:var(--ch-paper);border:2px solid var(--ch-ink);border-radius:var(--ch-radius);box-shadow:none;min-height:44px}#toast{font-family:var(--ch-font);border-radius:var(--ch-radius)}.vs{background:var(--ch-paper);box-shadow:none;border:2px solid var(--ch-ink)}.vs span{color:var(--ch-ink);-webkit-text-fill-color:var(--ch-ink);-webkit-text-stroke:0;font-family:var(--ch-font);background:0 0;font-weight:800}.dres,.dres.win{background:#1f1a1799}.dres b{font-family:var(--ch-font);text-shadow:none;font-weight:800;font-stretch:75%}.dres span{font-family:var(--ch-font)}.duelover .mid{background:var(--ch-ink);box-shadow:none}.btn.hl.corner{z-index:6;top:calc(var(--st) + 12px);flex:none;width:auto;min-height:48px;margin:0;padding:8px 12px;font-size:16px;position:absolute;left:14px}.row.small .btn{justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:15px;display:flex}.row.small .pchip{flex:0 0 34%}.pchip.on{--c:var(--butter);--s:#c98a1a;--t:var(--ink)}.sw{flex:none;gap:2px;display:inline-flex}.sw b{border-radius:3px;width:9px;height:14px;display:block;box-shadow:inset 0 0 0 1px #140a2859}.sets{grid-template-columns:1fr 1fr;gap:10px;display:grid}.set{background:var(--cream);min-height:72px;color:var(--ink);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex;box-shadow:0 5px #c8b89c}.set b{font-family:var(--display);font-size:21px;font-weight:400;line-height:1}.set span{opacity:.8;font-size:12.5px}.set.cur{outline:3px solid var(--tang);outline-offset:2px}.set.locked{color:var(--cream);background:#5a4a70;box-shadow:0 5px #2a1d40}.set.locked .sw{filter:grayscale(.6)brightness(.8)}.set .lock{opacity:1;color:var(--butter);font-weight:700}.set:last-child:nth-child(odd){grid-column:span 2}.lockhead{justify-content:center;align-items:center;gap:10px;display:flex}.lockhead .sw b{width:12px;height:20px}.lline{text-align:center;opacity:.9;font-size:15px;line-height:1.35}.lline.earn{opacity:.75;font-size:14px}#bGetPass{font-size:19px}#ptoast{top:calc(var(--st) + 16px);background:var(--butter);color:var(--ink);opacity:0;z-index:50;pointer-events:none;border-radius:999px;padding:10px 18px;font-weight:800;transition:all .25s cubic-bezier(.2,1.4,.4,1);position:fixed;left:50%;transform:translate(-50%,-20px)}#ptoast.on{opacity:1;transform:translate(-50%)}.row.small #bPass{flex:0 0 24%}.row.small #bShop{flex:0 0 22%}#contsheet .btn small{font:600 13px/1.2 var(--ch-font);opacity:.8;margin-top:2px;display:block}#contsheet .btn{margin-top:8px}#contsheet .btn:disabled{opacity:.6}.near{text-align:left;font-family:var(--ch-font);margin:12px 0 6px}.near-t{font-size:24px;font-weight:800;font-stretch:75%;line-height:1.1}.near.good .near-t{color:#16935f}.near-bar{background:#1f1a171f;border-radius:7px;height:14px;margin-top:6px;overflow:hidden}.near-bar i{height:100%;width:calc(var(--p) * 100%);background:var(--ch-accent);transform-origin:0;border-radius:7px;animation:.8s cubic-bezier(.2,.8,.2,1) .15s both nearfill;display:block}.near.good .near-bar i{background:#16935f}.near-ends{opacity:.7;justify-content:space-between;margin-top:4px;font-size:13px;display:flex}@keyframes nearfill{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.near-bar i{animation:none}}.trypass{color:inherit;font:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:999px;margin-left:4px;padding:3px 10px}.trypass:focus-visible{outline-offset:2px;outline:3px solid}.dtries{opacity:.8;text-align:center;margin:0;font-size:13px}
