@font-face{font-family:Fredoka;src:url(/fonts/fredoka.woff2)format("woff2");font-weight:300 700;font-display:swap}:root{--night:#120a2e;--night-2:#1d1147;--panel:#1e1448d1;--panel-line:#ffffff1f;--ink:#fff;--ink-soft:#c9c3f0;--ink-dim:#8d86bd;--pink:#ff4d8d;--orange:#ff9f43;--yellow:#ffe14d;--cyan:#3de1ff;--lime:#7dff7a;--violet:#a78bfa;--p1:#818cf8;--p2:#34d399;--bounce:cubic-bezier(.34, 1.56, .64, 1);font-size:1.04167vw}*{box-sizing:border-box;margin:0}body{background:var(--night);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:500 1.4rem/1.4 Fredoka,system-ui,sans-serif;overflow:hidden}.num{font-variant-numeric:tabular-nums}.grow{flex:1}.row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.col{flex-direction:column;gap:1rem;display:flex}video.mirror{opacity:.01;object-fit:cover;pointer-events:none;width:2px;height:2px;position:fixed;top:0;left:0;transform:scaleX(-1)}video.mirror.bright{opacity:.85;width:100%;height:100%;inset:0}.label{min-width:9rem;color:var(--ink-soft)}.backdrop{pointer-events:none;background:linear-gradient(160deg,#120a2ee6,#2d1054b8 55%,#120a2eeb);position:fixed;inset:0;overflow:hidden}.backdrop.ingame{background:linear-gradient(#0e0826d1,#260e4ab3)}.backdrop.ingame .blob{opacity:.28}.blob{opacity:.5;border-radius:50%;width:60vw;height:60vw;animation:22s ease-in-out infinite alternate drift;position:absolute}.blob.a{background:radial-gradient(circle,#ff4d8d8c,#0000 62%);top:-30vw;left:-20vw}.blob.b{background:radial-gradient(circle,#3de1ff73,#0000 62%);animation-duration:28s;animation-delay:-8s;top:-10vw;right:-25vw}.blob.c{background:radial-gradient(circle,#a78bfa8c,#0000 62%);animation-duration:34s;animation-delay:-15s;bottom:-42vw;left:20vw}@keyframes drift{to{transform:translate(12vw,8vw)scale(1.25)}}.bit{bottom:-4rem;left:var(--x);width:var(--s);height:var(--s);border:.25rem solid var(--c);border-radius:var(--r);opacity:.35;animation:rise var(--d) linear var(--w) infinite;position:absolute}@keyframes rise{to{transform:translateY(-120vh)rotate(540deg)}}.screen{scrollbar-width:none;animation:screen-in .38s var(--bounce) both;flex-direction:column;gap:1.3rem;padding:2rem 3.4rem;display:flex;position:fixed;inset:0;overflow:hidden auto}.screen>*{flex-shrink:0}.scroller{z-index:6;border-color:var(--cyan);background:#1e1040e0;border-radius:2.1rem;width:16rem;height:4.2rem;margin-left:-8rem;padding:0;font-size:1.8rem;position:fixed;left:50%;box-shadow:0 0 1.6rem #22d3ee73}.scroller.up{top:.6rem}.scroller.down{bottom:.6rem}.scroller[hidden]{display:none}.scroller.hot,.scroller:hover{background:#22d3ee59;transform:scale(1.08)}@keyframes screen-in{0%{opacity:0;transform:translateY(2rem)scale(.98)}}h1{font-size:3rem;font-weight:700;line-height:1.1}h2{color:var(--ink-soft);font-size:1.5rem;font-weight:600}.muted{color:var(--ink-soft)}.dim{color:var(--ink-dim);font-size:1.05rem}.error{color:#ffb4b4;background:#ff3c3c2e;border:1px solid #ff787880;border-radius:1rem;padding:.8rem 1.2rem;font-size:1.2rem}.logo{letter-spacing:.04em;font-size:3.6rem;font-weight:700;line-height:1;display:inline-flex}.logo span{transform-origin:50% 100%;animation:2.8s ease-in-out infinite jiggle;animation-delay:calc(var(--i) * .14s);text-shadow:0 .3rem #00000059;display:inline-block}.logo span:first-child{color:var(--pink)}.logo span:nth-child(2){color:var(--orange)}.logo span:nth-child(3){color:var(--yellow)}.logo span:nth-child(4){color:var(--lime)}.logo span:nth-child(5){color:var(--cyan)}.logo span:nth-child(6){color:var(--violet)}.logo.huge{font-size:min(11rem,15vw)}@keyframes jiggle{0%,52%,to{transform:none}10%{transform:scale(1.18,.82)}20%{transform:translateY(-16%)scale(.88,1.14)}30%{transform:scale(1.1,.9)}38%{transform:scale(.96,1.05)}45%{transform:scale(1.02,.98)}}button{font:inherit;color:var(--ink);border:.16rem solid var(--panel-line);cursor:pointer;transition:transform .16s var(--bounce), background .12s, border-color .12s, box-shadow .16s;background:#ffffff17;border-radius:1.2rem;padding:.9rem 1.7rem;font-weight:600;box-shadow:0 .35rem #00000059}button:hover,button.hot{background:#ffffff2e;border-color:#ffffff8c;transform:translateY(-.2rem)scale(1.05);box-shadow:0 .6rem #00000059,0 0 2rem #ffffff2e}button:active{transform:translateY(.2rem)scale(.97);box-shadow:0 .1rem #00000059}button:disabled{opacity:.35;pointer-events:none}button:focus-visible{outline:.2rem solid var(--cyan);outline-offset:.2rem}button.ghost{color:var(--ink-soft);padding:.7rem 1.2rem;font-size:1.15rem}button.primary{background:linear-gradient(135deg, var(--pink), var(--orange));text-shadow:0 .12rem #00000040;border-color:#ffffff80;padding:1.1rem 3rem;font-size:1.7rem}button.primary:hover,button.primary.hot{background:linear-gradient(135deg,#ff6aa0,#ffb566)}button.giant{border-radius:2rem;padding:1.4rem 5.5rem;font-size:2.6rem;position:relative}button.giant:before{content:"";border-radius:inherit;border:.3rem solid var(--orange);pointer-events:none;animation:1.6s ease-out infinite pulse;position:absolute;inset:-.2rem}@keyframes pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.18,1.45)}}.seg{border:1px solid var(--panel-line);background:#0000004d;border-radius:1.5rem;gap:.4rem;padding:.4rem;display:inline-flex}.seg button{box-shadow:none;background:0 0;border-color:#0000;border-radius:1.1rem}.seg button[aria-pressed=true]{background:linear-gradient(135deg, var(--violet), var(--cyan));color:#14093a;box-shadow:0 .3rem #0000004d}.panel{background:var(--panel);border:1px solid var(--panel-line);border-radius:1.6rem;flex-direction:column;gap:.6rem;padding:1.1rem 1.5rem;display:flex;box-shadow:0 .5rem #00000040}.top{grid-template-columns:1.05fr 1fr;align-items:stretch;gap:1.4rem;display:grid}.player{align-items:center;gap:1rem;display:flex}.avatar{--pct:0;color:#14093a;background:radial-gradient(circle at center, var(--tone) 0 58%, transparent 60%), conic-gradient(var(--yellow) calc(var(--pct) * 1%), #ffffff29 0);border-radius:50%;flex:none;place-items:center;width:4.6rem;height:4.6rem;font-size:2rem;font-weight:700;display:grid;position:relative}.avatar small{background:var(--yellow);color:#3a2a00;border:.15rem solid var(--night);border-radius:1rem;padding:0 .5rem;font-size:.95rem;font-weight:700;position:absolute;bottom:-.5rem;right:-.6rem}.who{flex-direction:column;gap:.15rem;min-width:0;display:flex}.who b{font-size:1.5rem}.flame{color:var(--orange);font-weight:700}.quest{grid-template-columns:1.8rem 1fr auto;align-items:center;gap:.7rem;font-size:1.15rem;display:grid}.quest .tick{border:.16rem solid var(--ink-dim);border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:1rem;display:grid}.quest.done .tick{background:var(--lime);border-color:var(--lime);color:#0b3a0a}.quest.done .what{color:var(--lime)}.quest .xp{color:#3a2a00;background:var(--yellow);border-radius:1rem;padding:.05rem .6rem;font-size:.95rem;font-weight:700}.meter{background:#ffffff21;border-radius:1rem;grid-column:2/4;height:.5rem;overflow:hidden}.meter i{background:linear-gradient(90deg, var(--cyan), var(--lime));border-radius:1rem;height:100%;animation:.9s cubic-bezier(.2,0,0,1) both fill;display:block}@keyframes fill{0%{width:0}}.xpbar{background:#ffffff21;border-radius:1rem;width:100%;height:.7rem;overflow:hidden}.xpbar i{background:linear-gradient(90deg, var(--yellow), var(--orange));border-radius:1rem;height:100%;animation:1.2s cubic-bezier(.2,0,0,1) .4s both fill;display:block}.cards{grid-template-columns:repeat(5,1fr);gap:1.1rem;display:grid}button.card{text-align:left;background:linear-gradient(140deg, var(--a), var(--b));min-width:0;min-height:12.6rem;animation:card-in .48s var(--bounce) both;animation-delay:calc(var(--i) * 45ms);border:.18rem solid #ffffff47;border-radius:1.7rem;flex-direction:column;justify-content:flex-end;gap:.15rem;padding:1.2rem 1.4rem;display:flex;position:relative;overflow:hidden}@keyframes card-in{0%{opacity:0;transform:translateY(2.5rem)scale(.9)}}button.card b{text-shadow:0 .15rem #0000004d;font-size:2.1rem;font-weight:700;line-height:1}button.card small{color:#ffffffeb;font-size:1rem;font-weight:500;line-height:1.25}button.card .icon{transition:transform .3s var(--bounce);filter:drop-shadow(0 .3rem #00000040);font-size:5.6rem;line-height:1;position:absolute;top:.4rem;right:.7rem;transform:rotate(8deg)}button.card .meta{align-items:center;gap:.5rem;margin-top:.3rem;font-size:1rem;display:flex}button.card .pill{background:#00000052;border-radius:1rem;padding:.05rem .65rem;font-weight:600}button.card:after{content:"";background:linear-gradient(115deg,#0000 35%,#fff6 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}button.card:hover,button.card.hot{background:linear-gradient(140deg, var(--a), var(--b));box-shadow:0 .9rem 0 #00000059, 0 0 3rem var(--a);z-index:2;border-color:#fff;transform:translateY(-.5rem)scale(1.07)rotate(-1.2deg)}button.card:hover .icon,button.card.hot .icon{animation:.7s ease-in-out infinite wiggle}button.card:hover:after,button.card.hot:after{transition:transform .7s ease-out;transform:translate(120%)}@keyframes wiggle{0%,to{transform:rotate(8deg)scale(1.2)}50%{transform:rotate(-10deg)scale(1.3)}}.stars{color:var(--yellow);letter-spacing:.06em;text-shadow:0 .12rem #00000059}.stars i{color:#ffffff47;text-shadow:none;font-style:normal}.brief{grid-template-columns:25rem 1fr;align-items:start;gap:2.2rem;display:grid}.hero{aspect-ratio:1;background:linear-gradient(140deg, var(--a), var(--b));box-shadow:0 .8rem 0 #0000004d, 0 0 4rem var(--a);border:.25rem solid #fff6;border-radius:2.2rem;place-items:center;font-size:14rem;display:grid}.hero span{filter:drop-shadow(0 .6rem #00000040);animation:2.4s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-7%)rotate(-5deg)}}.steps{flex-direction:column;gap:.5rem;display:flex}.steps p{animation:screen-in .4s var(--bounce) both;animation-delay:calc(var(--i) * 90ms + .15s);align-items:baseline;gap:.8rem;font-size:1.65rem;display:flex}.steps p:before{content:counter(step);counter-increment:step;background:var(--a);color:#14093a;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:1.1rem;font-weight:700;display:grid}.steps{counter-reset:step}.path{align-items:center;gap:0;display:flex}.path .link{background:#ffffff2e;width:2.6rem;height:.4rem}.path .link.open{background:var(--yellow)}button.node{border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:5.4rem;height:5.4rem;padding:0;font-size:2rem;font-weight:700;line-height:1;display:flex}button.node small{font-size:.8rem;font-weight:500}button.node[aria-pressed=true]{background:linear-gradient(135deg, var(--yellow), var(--orange));color:#3a2a00;border-color:#fff;transform:scale(1.15)}.goals{flex-wrap:wrap;align-items:center;gap:.8rem;font-size:1.15rem;display:flex}.goal{border:1px solid var(--panel-line);background:#0000004d;border-radius:1.2rem;padding:.3rem .9rem}.results{grid-auto-columns:minmax(0,36rem);grid-auto-flow:column;justify-content:center;gap:1.6rem;display:grid}.result{text-align:center;border-width:.2rem;border-color:var(--tone);align-items:center;gap:.5rem;padding:1.4rem 2rem}.result .score{text-shadow:0 .3rem #00000059;font-size:5.5rem;font-weight:700;line-height:1}.bigstars{gap:.6rem;font-size:4.4rem;line-height:1;display:flex}.bigstars span{color:#ffffff2e}.bigstars span.on{color:var(--yellow);text-shadow:0 0 2rem #ffe14db3,0 .25rem #00000059;animation:star-pop .6s var(--bounce) both;animation-delay:calc(var(--i) * .35s + .5s)}@keyframes star-pop{0%{opacity:0;transform:scale(0)rotate(-180deg)}}.toast{animation:screen-in .45s var(--bounce) both;animation-delay:calc(var(--i) * .25s + 1.5s);border-radius:1rem;padding:.35rem 1rem;font-size:1.15rem;font-weight:600}.toast.gold{background:linear-gradient(135deg, var(--yellow), var(--orange));color:#3a2a00}.toast.green{border:1px solid var(--lime);color:var(--lime);background:#7dff7a33}.toast.pink{background:linear-gradient(135deg, var(--pink), var(--violet))}.crown{color:var(--yellow)}.confetti{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.confetti i{top:-2rem;left:var(--x);background:var(--c);width:.9rem;height:1.5rem;animation:confetti var(--d) cubic-bezier(.2, .6, .4, 1) var(--w) both;border-radius:.2rem;position:absolute}@keyframes confetti{to{transform:translate(var(--sway), 110vh) rotate(var(--spin));opacity:.9}}.split{grid-template-columns:1fr 1fr;align-items:start;gap:1.6rem;display:grid}table{border-collapse:collapse;width:100%;font-size:1.2rem}th,td{text-align:left;border-bottom:1px solid var(--panel-line);padding:.5rem .9rem}th{color:var(--ink-dim);font-size:1rem;font-weight:500}td.lead,.lead{color:var(--lime);font-weight:700}.badges{grid-template-columns:repeat(6,1fr);gap:.9rem;display:grid}.badge{border:1px solid var(--panel-line);color:var(--ink-dim);animation:card-in .42s var(--bounce) both;animation-delay:calc(var(--i) * 30ms);background:#00000047;border-radius:1.2rem;flex-direction:column;gap:.2rem;padding:.9rem 1rem;font-size:1.1rem;display:flex}.badge em{filter:grayscale()opacity(.4);font-size:2rem;font-style:normal;line-height:1}.badge small{font-size:.9rem;line-height:1.25}.badge.has{border-color:var(--yellow);color:var(--ink);background:linear-gradient(140deg,#ffe14d40,#ff9f432e)}.badge.has em{filter:none}.badge.has b{color:var(--yellow)}.cursor{pointer-events:none;z-index:20;background:radial-gradient(circle, #fffffff2 0 14%, transparent 16%), conic-gradient(var(--yellow) calc(var(--p,0) * 360deg), #ffffff40 0);width:5rem;height:5rem;box-shadow:0 0 2rem var(--cyan);border-radius:50%;margin:-2.5rem 0 0 -2.5rem;position:fixed;top:0;left:0;-webkit-mask:radial-gradient(circle,#000 0 15%,#0000 16% 60%,#000 62%);mask:radial-gradient(circle,#000 0 15%,#0000 16% 60%,#000 62%)}.stage{cursor:pointer;position:fixed;inset:0}.hud{font-variant-numeric:tabular-nums;text-shadow:0 .2rem #00000073;pointer-events:none;font-weight:700;position:absolute;top:1.6rem}.hud:empty{display:none}.hud.flash{opacity:0;display:block;inset:0}.hud.clock{border:.25rem solid var(--yellow);background:#120a2ebf;border-radius:50%;place-items:center;min-width:5.2rem;height:5.2rem;font-size:2.6rem;display:grid;left:50%;transform:translate(-50%)}.hud.big{color:var(--yellow);text-shadow:0 .6rem #0006,0 0 5rem #ffe14d99;font-size:14rem;line-height:1;top:40%;left:50%;transform:translate(-50%,-50%)}.hud.score{border:.22rem solid var(--tone);color:var(--tone);background:#120a2ebf;border-radius:2rem;padding:.2rem 1.4rem;font-size:2.6rem}.hud.p1,.hud.score.solo{--tone:var(--p1);left:2rem}.hud.p2{--tone:var(--p2);right:2rem}.hud.banner{paint-order:stroke fill;-webkit-text-stroke:.6rem #14093ae6;white-space:nowrap;color:var(--yellow);text-shadow:0 .35rem #00000073,0 0 2.5rem #ffe14d8c;font-size:4.4rem;line-height:1.1;top:27%;left:50%;transform:translate(-50%)}.hud.score.team{--tone:var(--yellow);left:2rem}.pops{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pops span{opacity:0;white-space:nowrap;paint-order:stroke fill;-webkit-text-stroke:.42rem #14093aeb;text-shadow:0 .22rem #00000073;font-size:2.3rem;font-weight:700;position:absolute}.hud.hint{color:#14093a;text-shadow:none;background:#ffffffeb;border-radius:1.5rem;padding:.1rem 1.2rem;font-size:1.9rem;top:6.4rem}.hud.hint.solo{top:7.6rem;left:50%;transform:translate(-50%)}.hud.hint.p1{left:2rem}.hud.hint.p2{right:2rem}.pause{z-index:10;background:#0a061cb8;place-items:center;animation:.25s ease-out both screen-in;display:grid;position:fixed;inset:0}.pause .panel{text-align:center;border-width:.2rem;border-color:var(--cyan);align-items:center;gap:1.2rem;padding:2.4rem 3.4rem}.cursor.fist{background:radial-gradient(circle, #fffffff2 0 14%, transparent 16%), conic-gradient(#ffffff8c 360deg, transparent 0);transition:scale .12s var(--bounce)}.cursor.closed{background:var(--yellow);box-shadow:0 0 2.5rem var(--yellow);scale:.6;-webkit-mask:none;mask:none}.presence{pointer-events:none;z-index:4;align-items:center;gap:.8rem;display:flex;position:fixed;bottom:.7rem;left:1.2rem}.presence canvas{border:1px solid var(--panel-line);background:#0006;border-radius:.7rem;width:7rem;height:3.94rem}.presence span{color:var(--yellow);text-shadow:0 .12rem #00000080;font-size:1.15rem;font-weight:600}.presence span:empty{display:none}.presence.small{opacity:.65}.presence.small canvas{width:5.6rem;height:3.15rem}.sideways{z-index:50;text-align:center;background:var(--night);flex-direction:column;justify-content:center;align-items:center;gap:4vw;padding:8vw;display:flex;position:fixed;inset:0}.sideways h1{font-size:9vw}.sideways p{max-width:80vw;font-size:4.6vw}.sideways .phone{border:1.6vw solid var(--cyan);width:22vw;height:38vw;animation:tip 2.4s var(--bounce) infinite;border-radius:4vw;box-shadow:0 0 6vw #3de1ff73}@keyframes tip{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}.plans{grid-template-columns:repeat(4,1fr);gap:1.2rem;display:grid}.card.plan{min-height:15rem}.card.plan .meta{letter-spacing:.2rem;font-size:1.6rem}.next-up{padding:1.1rem 3rem;font-size:2rem}.stat-big{align-items:center;min-width:13rem}.stat-big b{color:var(--yellow);font-size:4rem;line-height:1}.stat-big span{color:var(--ink-soft)}.card .fresh{background:var(--yellow);color:#3a2a00;border-radius:1rem;padding:.15rem .7rem;font-size:.95rem;font-weight:700;position:absolute;top:.9rem;left:1rem;box-shadow:0 .2rem #0000004d}.setup{width:min(40rem,70vw);height:auto;max-height:28vh}.escape{z-index:60;text-align:center;background:var(--night);flex-direction:column;justify-content:center;align-items:center;gap:min(4vw,3vh);padding:6vw;display:flex;position:fixed;inset:0;overflow:auto}.escape .logo.huge{font-size:min(16vw,12vh)}.escape h1{font-size:min(8vw,6vh)}.escape p{max-width:34em;font-size:min(4.4vw,3vh)}.escape .cta{width:min(86vw,30em);color:var(--ink);background:linear-gradient(135deg, var(--pink), var(--orange));border:2px solid #ffffff80;border-radius:999px;padding:min(5vw,3.4vh) 1em;font-size:min(6.4vw,4.6vh);font-weight:700;text-decoration:none;animation:1.8s ease-in-out infinite escape-pulse;display:block;box-shadow:0 .4em #00000059,0 0 2em #ff4d8d73}.escape button.ghost{padding:.7em 1.2em;font-size:min(4vw,2.8vh)}@keyframes escape-pulse{50%{transform:scale(1.04)}}@media (max-height:500px){.screen.start{padding-top:1rem;padding-bottom:1rem;gap:.9rem!important}.screen.start .logo.huge{font-size:min(11rem,17vh)}.screen.start .setup{max-height:24vh}}
