@font-face{font-family:Righteous;font-style:normal;font-display:swap;font-weight:400;src:url(./righteous-latin-400-normal-DIzXvQUm.woff2)format("woff2"),url(./righteous-latin-400-normal-CRvo487o.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(./rubik-latin-500-normal-1os41rQk.woff2)format("woff2"),url(./rubik-latin-500-normal-LZYVHeqz.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:600;src:url(./rubik-latin-600-normal-7iWW07_k.woff2)format("woff2"),url(./rubik-latin-600-normal-Bd1rsTk4.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(./rubik-latin-700-normal-D-tMm-eS.woff2)format("woff2"),url(./rubik-latin-700-normal-KHOtubUA.woff)format("woff")}:root{--indigo:#3b2fd9;--indigo-dk:#2a1fb0;--spark:#ffe14a;--white:#f4f6fb;--ink:#1a1740;--copper:#d98b4a;--plus:#ff5a36;--minus:#2bb3ff;--title:"Righteous", system-ui, sans-serif;--text:"Rubik", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:#9fd8ff;height:100%;margin:0;overflow:hidden}.game{font:500 15px/1.35 var(--text);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;position:fixed;inset:0}.stage{position:absolute;inset:0}.stage canvas{display:block}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}.bat{border:3px solid var(--ink);background:linear-gradient(90deg, var(--spark) 0 var(--fill,0%), var(--white) var(--fill,0%));min-width:66px;height:44px;box-shadow:0 3px 0 var(--ink);font:600 13px var(--text);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 14px 0 10px;transition:transform .1s,--fill;display:inline-flex;position:relative}.bat:after{content:"";background:var(--ink);border-radius:0 3px 3px 0;width:5px;height:14px;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.bat svg{flex:none;width:20px;height:20px}.bat:active:not(:disabled){box-shadow:0 1px 0 var(--ink);background:linear-gradient(90deg, var(--spark) 0 100%, var(--white) 100%);transition:transform .1s,background .22s;transform:translateY(2px)}.bat:disabled{opacity:.45}.bat.small{border-radius:9px;min-width:0;height:34px;padding:0 9px}.bat.small:after{width:4px;height:10px;right:-6px}.bat.small svg{width:16px;height:16px}.bat.wide{height:50px;font:400 20px/1 var(--title);background:var(--indigo);color:#fff;padding:0 22px}.bat.wide:active{background:var(--indigo-dk)}.bat.wide.share{background:var(--copper)}.bat.wide svg{width:20px;height:20px}.bat .price{background:var(--spark);border:2px solid var(--ink);font:700 10px var(--text);border-radius:999px;padding:0 5px;position:absolute;top:-10px;right:-4px}.dial-wrap{left:50%;bottom:max(10px, env(safe-area-inset-bottom));z-index:3;pointer-events:none;align-items:flex-end;gap:18px;display:flex;position:absolute;transform:translate(-50%)}.dial-wrap>*{pointer-events:auto}.bat.ear{flex-direction:column;gap:1px;min-width:64px;height:58px;margin-bottom:18px;padding:4px 10px}.bat.ear span{font:600 11px var(--text)}.dial{background:radial-gradient(circle at 50% 38%, #4f45e6, var(--indigo) 55%, var(--indigo-dk));border:4px solid var(--ink);width:126px;height:126px;box-shadow:0 4px 0 var(--ink), inset 0 0 0 6px #ffffff1f;border-radius:50%;place-items:center;display:grid;position:relative}.dial .leds{width:0;height:0;position:absolute;top:50%;left:50%}.dial .leds i{background:#ffffff2e;border-radius:50%;width:8px;height:8px;transition:background .2s;position:absolute;top:-4px;left:-4px}.dial .leds i.on{background:var(--spark);box-shadow:0 0 6px var(--spark)}.dial.low{animation:1s ease-in-out infinite lowpulse}.dial.low .leds i.on{background:var(--plus);box-shadow:0 0 6px var(--plus)}@keyframes lowpulse{50%{transform:scale(1.04)}}.dial .face{border:3px solid var(--ink);background:var(--white);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:84px;height:84px;padding:0;line-height:1;display:flex}.dial .face small{font:600 10px var(--text);opacity:.75}.dial .face b{font:400 26px/1.05 var(--title)}.dial .face b.long{font-size:19px}.dial .face b.longer{font-size:14px}.dial .bots{flex-wrap:wrap;justify-content:center;gap:2px;max-width:64px;margin-top:3px;display:flex}.dial .bots b{border:1.5px solid var(--ink);background:0 0;border-radius:50%;width:7px;height:7px}.dial .bots b.on{background:var(--spark)}.dial .bots b.pop{animation:.5s ease-out dotpop}@keyframes dotpop{0%{transform:scale(.4)}60%{transform:scale(1.8)}to{transform:scale(1)}}.dial .restart{position:absolute;top:-16px;right:-26px}.friend-bar{left:max(10px, env(safe-area-inset-left));top:max(10px, env(safe-area-inset-top));z-index:4;position:absolute}.compass{right:max(10px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));z-index:4;border:3px solid var(--ink);background:var(--white);opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:42px;height:42px;transition:opacity .2s;display:grid;position:absolute}.compass.show{opacity:1;pointer-events:auto}.compass svg{width:24px;height:24px;transform:rotate(var(--heading,0deg));color:var(--indigo)}.tip{left:50%;top:max(10px, env(safe-area-inset-top));z-index:3;text-align:center;pointer-events:none;opacity:0;width:max-content;max-width:min(84vw,440px);transition:opacity .25s;position:absolute;transform:translate(-50%)}.tip.show{opacity:1}.tip span{background:var(--ink);color:#fff;font:500 14px/1.3 var(--text);box-shadow:0 3px 0 var(--indigo);border-radius:10px;padding:6px 13px;display:inline-block}.banner{z-index:6;text-align:center;background:var(--white);border:3px solid var(--ink);min-width:220px;max-width:88vw;box-shadow:0 4px 0 var(--indigo);opacity:0;pointer-events:none;border-radius:14px;padding:10px 22px 12px;transition:opacity .25s,transform .25s;position:absolute;top:max(52px,7vh);left:50%;transform:translate(-50%,-8px)}.banner.show{opacity:1;transform:translate(-50%)}.banner b{font:400 32px/1.1 var(--title);display:block}.banner small{font:500 13px/1.4 var(--text);display:block}.banner small.surprise{color:var(--indigo);margin-top:4px;font-weight:700}.banner small.light{opacity:.8;margin-top:4px}.banner .star{vertical-align:-2px;width:13px;height:13px}.banner .dots{gap:6px;margin-top:6px;display:inline-flex}.banner .dots i{background:var(--spark);border:2px solid var(--ink);border-radius:3px;width:9px;height:16px;animation:.9s infinite dot}.banner .dots i:nth-child(2){animation-delay:.15s}.banner .dots i:nth-child(3){animation-delay:.3s}@keyframes dot{50%{opacity:.3}}.toast{left:50%;bottom:max(150px, calc(env(safe-area-inset-bottom) + 150px));z-index:7;background:var(--ink);color:#fff;text-align:center;opacity:0;pointer-events:none;border-radius:12px;max-width:min(84vw,460px);padding:8px 14px;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,16px)}.toast.show{opacity:1;transform:translate(-50%)}.numbers{z-index:2;color:#1a1740;text-shadow:0 1px 1px #fff;text-align:center;pointer-events:none;font:600 10px/1.3 ui-monospace,monospace;display:none;position:absolute;top:2px;left:8px;right:8px}.numbers.show{display:block}.guide{z-index:9;pointer-events:none;opacity:0;transition:opacity .2s;position:absolute;top:0;left:0}.guide.show{opacity:1}.guide .ripple{border:3px solid var(--spark);border-radius:50%;width:44px;height:44px;animation:1.2s infinite ripple;position:absolute;top:-22px;left:-22px}.guide .arm{animation:1.2s infinite tapme;position:absolute;top:6px;left:-8px}.guide .hand{fill:#fff;width:40px;height:50px;stroke:var(--ink);stroke-width:2.4px;stroke-linejoin:round}.guide .say{white-space:nowrap;background:var(--indigo);color:#fff;border:2px solid var(--ink);border-radius:8px;padding:4px 11px;font-weight:700;position:absolute;top:62px;left:50%;transform:translate(-50%)}.guide .say:empty{display:none}.guide .stop{border:2px solid var(--ink);width:26px;height:26px;color:var(--ink);font:700 13px/1 var(--text);box-shadow:0 2px 0 var(--ink);pointer-events:none;background:#fff;border-radius:50%;padding:0;position:absolute;top:-34px;left:22px}.guide.show .stop{pointer-events:auto}.guide.low .stop{top:14px}.guide.right .stop{left:-48px}.guide.low .say{top:-64px}.guide.low .arm{top:-58px;transform:rotate(180deg)}@keyframes ripple{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}@keyframes tapme{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.overlay{z-index:10;opacity:0;pointer-events:none;background:#1a174073;place-items:center;padding:16px;transition:opacity .18s;display:grid;position:absolute;inset:0}.overlay.show{opacity:1;pointer-events:auto}.panel{width:min(92vw,440px);animation:.42s cubic-bezier(.2,1.4,.4,1) snap;position:relative}@keyframes snap{0%{opacity:0;transform:translate(-60vw)rotate(-4deg)}70%{opacity:1;transform:translate(10px)rotate(.6deg)}to{transform:none}}.panel .screw{z-index:2;border:2px solid var(--ink);background:radial-gradient(circle,#fff 0 20%,#c9ccd8 30% 100%);border-radius:50%;width:12px;height:12px;position:absolute}.panel .screw:after{content:"";background:var(--ink);height:2px;position:absolute;top:3px;left:1px;right:1px;transform:rotate(35deg)}.panel .screw.a{top:8px;left:8px}.panel .screw.b{top:8px;right:8px}.panel .screw.c{bottom:8px;left:8px}.panel .screw.d{bottom:8px;right:8px}.panel .screw{animation:.6s ease-out .3s backwards spark}@keyframes spark{0%{box-shadow:0 0 0 0 var(--spark)}40%{box-shadow:0 0 0 7px #ffe14acc}to{box-shadow:0 0 0 12px #ffe14a00}}.card{text-align:center;background:var(--white);border:3px solid var(--ink);border-top:12px solid var(--indigo);max-height:84vh;box-shadow:0 6px 0 var(--ink);background-image:radial-gradient(#3b2fd914 1.5px,#0000 1.6px);background-size:16px 16px;border-radius:16px;padding:22px 22px 20px;position:relative;overflow:auto}.card h2{font:400 27px/1.1 var(--title);margin:2px 0 6px}.card h2.logo img{width:min(250px,70%);height:auto}.card h3{font:400 18px var(--title);margin:0 0 2px}.card p{margin:6px 0;font-weight:500}.card .sub{opacity:.8}.card .x{border:2px solid var(--ink);width:34px;height:34px;font:700 20px/1 var(--text);background:#fff;border-radius:9px;position:absolute;top:10px;right:26px}.card .row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px;display:flex}.card .link{background:0 0;border:0;margin-top:10px;font-weight:600;text-decoration:underline}.card .small{opacity:.75;font-size:12px}.card .small a{color:var(--indigo)}.card .facts{font-weight:600}.card .earned{font:400 22px var(--title)}.card .earned .spark{vertical-align:-5px;width:24px;height:24px}.card .markline{border:2px dashed var(--indigo);background:#fff;border-radius:10px;padding:6px 10px}.card .markline.badge{border:2px solid var(--spark);background:#fff9d6}.lesson{text-align:left;align-items:center;gap:12px;margin:10px 0;display:flex}.lesson .pic{flex-wrap:wrap;flex:0 0 78px;justify-content:center;align-items:center;gap:2px;display:flex}.lesson .pic svg{width:34px;height:34px}.lesson p{margin:0;font-size:14px;font-weight:500}.mini-dial{background:var(--indigo);border:2px solid var(--ink);border-radius:999px;gap:3px;padding:6px 8px;display:inline-flex}.mini-dial i{background:var(--spark);border-radius:50%;width:9px;height:9px}.stars{gap:2px;display:inline-flex}.star{fill:#1a174026;stroke:#1a174066;width:22px;height:22px}.star.on{fill:var(--spark);stroke:var(--ink)}.stars.big .star{width:48px;height:48px}.stars.big .star.on{animation:.4s backwards pop}.stars.big .star:nth-child(2){animation-delay:.18s}.stars.big .star:nth-child(3){animation-delay:.36s}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.trail{justify-content:center;gap:3px;margin:8px 0;display:flex}.trail i{background:#1a174026;border-radius:2px;width:10px;height:10px}.trail i.on{background:var(--spark);box-shadow:inset 0 0 0 1.5px var(--ink)}.trail i.new{background:var(--plus);transform:scale(1.3)}.list{text-align:left;flex-direction:column;gap:6px;margin-top:10px;display:flex}.list .item{border:2px solid var(--ink);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.list .item:disabled{opacity:.55}.list .item svg{flex:none;width:20px;height:20px}.list .item span{flex:1}.list .item b{opacity:.6;align-items:center;gap:3px;font-size:13px;font-weight:700;display:flex}.list .item b.on{opacity:1;color:var(--indigo)}.list .item b svg{width:18px;height:18px}.lab{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.lab input{border:2px solid var(--ink);width:100px;font:inherit;border-radius:8px;padding:8px}.doc{text-align:left;font-size:14px;font-weight:500}.doc h3{margin-top:12px}.map-list{text-align:left;flex-direction:column;gap:10px;margin-top:8px;display:flex}.stop{border:2px solid var(--ink);background:#fff;border-radius:10px;padding:8px}.stop.done{background:#fff9d6}.sname small{opacity:.7;font-size:12px;display:block}.sname .star{vertical-align:-1px;width:12px;height:12px}.dots{grid-template-columns:repeat(10,1fr);gap:4px;margin-top:6px;display:grid}.dot{aspect-ratio:1;border:2px solid var(--ink);font:700 10px var(--text);background:#fff;border-radius:4px;padding:0}.dot:disabled{opacity:.3}.dot.s1{background:#fff1a8}.dot.s2{background:#ffe878}.dot.s3{background:var(--spark)}.dot.here{outline:3px solid var(--indigo)}.spark{vertical-align:-4px;width:20px;height:20px}.art .dial-wrap,.art .compass,.art .tip,.art .banner,.art .toast,.art .guide,.art .numbers,.art .friend-bar{display:none}@media (width>=900px){.dial{width:140px;height:140px}.dial .face{width:94px;height:94px}.bat.ear{min-width:76px;height:64px}}
