:root{--green:#35d19b;--green2:#19b884;--amber:#ffc12e;--amber2:#f0a600;--gray:#c3cbdd;--gray2:#aab4cc;--ink:#241d3d;--soft:#7d739a;--card:#fff;--pink:#ff5f9e;--pink2:#dd3d7d;--violet:#7b5cff;--violet2:#5a3fe0;--red:#ff5470;--red2:#e02f52;--shadow:0 5px 0 #241d3d17, 0 14px 30px #241d3d21;--spring:cubic-bezier(.34,1.56,.64,1);--boing:cubic-bezier(.2,1.8,.45,1);--font:ui-rounded,"SF Compact Rounded","Arial Rounded MT Bold","Arial Rounded Bold", "Segoe UI Variable Display","Trebuchet MS",Nunito,system-ui,sans-serif;--r:22px;--led-off:#453a63;--led-cycle:1s;--led-nudge-x:.11em;--led-nudge-y:.06em}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html{overflow-x:hidden}html:has(.scrim){overflow:hidden}html,body{margin:0}body{min-height:100dvh;font-family:var(--font);color:var(--ink);padding:max(10px,env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(160deg,#ffe4f0 0%,#e7edff 42%,#dff9ee 100%) fixed;flex-direction:column;align-items:center;font-weight:700;display:flex}h1,h2,.logo,.km,.stats b,.btn{text-shadow:0 2px #241d3d1a}.wrap{flex-direction:column;flex:1;gap:10px;width:100%;max-width:560px;display:flex}header{align-items:center;gap:6px;display:flex}.logo{margin-left:auto;font-size:22px}.led{font-family:"Bitcount Grid Double",var(--font);letter-spacing:.12em;text-shadow:none;width:fit-content;max-width:100%;box-shadow:var(--shadow),inset 0 2px 10px #0000008c;background:linear-gradient(#2a2247,#171130);border:5px solid #fff;border-radius:20px;padding:12px 18px;font-weight:250;line-height:1}.led i{color:var(--led-off);left:var(--led-nudge-x);top:var(--led-nudge-y);animation:ledChase var(--led-cycle) steps(1,end) infinite;animation-delay:calc(var(--i) * var(--led-cycle) / var(--n));font-style:normal;display:inline-block;position:relative}@keyframes ledChase{0%,22%{color:hsl(var(--h) 92% 55%);text-shadow:0 0 7px hsl(var(--h) 95% 60%),0 0 22px hsl(var(--h) 95% 62% / .8)}22.1%,to{color:var(--led-off);text-shadow:none}}@media (prefers-reduced-motion:reduce){.led i{color:hsl(var(--h) 92% 55%);animation:none}}.led.logo{border-width:3px;border-radius:12px;padding:5px 9px;font-weight:400}.ico{background:var(--card);cursor:pointer;white-space:nowrap;font-size:17px;line-height:1;font-family:var(--font);color:var(--ink);transition:transform .14s var(--spring),box-shadow .14s;border:0;border-radius:15px;align-items:center;gap:4px;padding:9px 10px;font-weight:900;display:inline-flex;box-shadow:0 4px #241d3d21}.ico:hover{transform:translateY(-2px)}.ico:active{transform:translateY(4px)scale(.94);box-shadow:0 0 #241d3d21}.chest{color:#fff;background:linear-gradient(#ffd44d,#f5a800);animation:1.7s ease-out infinite pulse;position:relative}@keyframes pulse{0%{box-shadow:0 5px #d18f00,0 0 #ff547080}70%,to{box-shadow:0 5px #d18f00,0 0 0 16px #ff547000}}.chest:after{content:"";background:var(--red);border:2.5px solid #fff;border-radius:50%;width:15px;height:15px;position:absolute;top:-5px;right:-3px;box-shadow:0 1px 3px #241d3d59}.flyer{z-index:70;pointer-events:none;filter:drop-shadow(0 8px 16px #241d3d59);font-size:72px;line-height:1;position:fixed}.flyer:before{content:"";z-index:-1;background:repeating-conic-gradient(from 0deg,#ffce4dbf 0 7deg,transparent 7deg 20deg);animation:3s linear infinite rays;position:absolute;inset:-75%;-webkit-mask:radial-gradient(closest-side,#000 22%,#0000 76%);mask:radial-gradient(closest-side,#000 22%,#0000 76%)}.flyer b{color:#fff;background:linear-gradient(var(--pink),var(--pink2));border-radius:99px;padding:1px 11px;font-size:26px;font-weight:900;position:absolute;bottom:2px;right:-16px;box-shadow:0 4px #b52d64}@keyframes hit{0%{transform:scale(1)}28%{transform:scale(1.32)}55%{transform:scale(.9)}78%{transform:scale(1.08)}to{transform:scale(1)}}.ico.hit{animation:hit .55s var(--boing)}.hearts{letter-spacing:-1px;font-size:15px}.hearts .inf{font-size:20px;animation:1.4s ease-in-out infinite flick;display:inline-block}.hearts .dying{display:inline-block}.ico small{color:var(--soft);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:900}.ico small:empty{display:none}.ico.gap{margin-left:auto}.flame{transform-origin:50% 90%;animation:1.4s ease-in-out infinite flick;display:inline-block}@keyframes flick{0%,to{transform:scale(1)rotate(-5deg)}50%{transform:scale(1.3,1.15)rotate(6deg)}}.banner{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);animation:dropIn .5s var(--boing);align-items:center;gap:13px;padding:13px 16px;display:flex}.banner .em{transform-origin:50% 100%;font-size:36px;animation:2.4s ease-in-out infinite idle}@keyframes idle{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-7px)scale(.94,1.07)}60%{transform:translateY(0)scale(1.08,.92)}}.banner h1{margin:0;font-size:20px;font-weight:900;line-height:1.15}.banner .em+div{flex:1;min-width:0}.ico.back{background:linear-gradient(var(--violet),var(--violet2));color:#fff;padding:9px 13px;font-size:19px;box-shadow:0 4px #4630b8}.ico.back span{font-size:14px}.banner p{color:var(--soft);margin:2px 0 0;font-size:13px;font-weight:800}.dots{flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:78px;margin-left:auto;display:flex}.dot{background:var(--gray);width:9px;height:9px;transition:all .3s var(--boing);border-radius:50%;flex:none}.dot.on{background:var(--pink);box-shadow:0 0 0 3px #ff5f9e33}.dot.spent{opacity:.5;transform:scale(.6)}@keyframes dropIn{0%{opacity:0;transform:translateY(-22px)scale(.9)}}.revealcard{background:var(--card,#fff);border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:18/13;width:min(100%,208px);animation:dropIn .5s var(--boing);margin-inline:auto;position:relative;overflow:hidden}.revealcard img{aspect-ratio:1;width:100%;height:auto;position:absolute;top:50%;left:0;transform:translateY(-50%)}.revealcard.won img{transform:translateY(-50%)scale(1.05)}.revealcard.solo{width:min(100%,346px)}.row .name .miss{color:var(--soft);font-size:15px;font-weight:900}.fltiles{pointer-events:none;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(5,1fr);display:grid;position:absolute;inset:0;overflow:hidden}.fltile{background:linear-gradient(var(--violet),var(--violet2));color:#fff;justify-content:center;align-items:center;font-size:15px;font-weight:900;display:flex;box-shadow:inset 0 0 0 1px #ffffff59}.fltile.pop{animation:tilePop .4s var(--boing) both}.fltile.cleared{box-shadow:none;background:0 0}@keyframes tilePop{0%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(.3)rotate(25deg)}}.mapcard{border-radius:var(--r);box-shadow:var(--shadow);height:190px;animation:dropIn .5s var(--boing);background:#9ed4fb;position:relative;overflow:hidden}.mapcard svg{width:100%;height:100%;display:block}#cam{transition:transform .85s cubic-bezier(.22,.9,.25,1)}.land{fill:#7ad6a2;stroke:#45b57f;stroke-width:1.2px;stroke-linejoin:round}.pinlbl{font-family:var(--font);fill:#fff;paint-order:stroke;stroke:#241d3d8c;stroke-width:3.5px;text-anchor:middle;font-size:11px;font-weight:900}@keyframes ping{0%{r:8;opacity:.85}to{r:42;opacity:0}}.ping{animation:1.6s ease-out infinite ping}.pindrop{animation:pindrop .55s var(--boing) both}@keyframes pindrop{0%{opacity:0;transform:translateY(-26px)scale(.2)}}.hints{flex-direction:column;gap:6px;display:flex}.hintchip{color:#8a6100;animation:dropIn .45s var(--boing);background:linear-gradient(#fff8e0,#ffeeba);border-radius:15px;align-items:center;gap:8px;padding:9px 14px;font-size:13.5px;font-weight:900;display:flex;box-shadow:0 3px #be8c0040}.rows{flex-direction:column;gap:9px;display:flex}body:has(#game:not([hidden])){height:100dvh;overflow:hidden}#game{min-height:0}#game>*{flex:none}#game #rows{overscroll-behavior:contain;flex:1;min-height:0;margin:0 -7px;padding:3px 7px;overflow-y:auto}.row{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:11px 13px}.row.anim{animation:rowIn .55s var(--boing)}@keyframes rowIn{0%{opacity:0;transform:translateY(-30px)scale(.85,1.12)}55%{opacity:1;transform:translateY(4px)scale(1.04,.94)}to{transform:none}}.row .name{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:16px;font-weight:900;display:flex}.cells{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.cell{text-align:center;color:#fff;background:linear-gradient(var(--gray),var(--gray2));border-radius:14px;padding:7px 4px;box-shadow:0 3px #241d3d1f;container-type:inline-size}.cell.g{background:linear-gradient(var(--green),var(--green2))}.cell.y{background:linear-gradient(var(--amber),var(--amber2))}.row.anim .cell{animation:cellPop .5s var(--boing) both}@keyframes cellPop{0%{opacity:0;transform:scale(.2)rotate(-18deg)}55%{opacity:1;transform:scale(1.22)rotate(6deg)}75%{transform:scale(.94)rotate(-2deg)}to{transform:none}}.cell .k{opacity:.9;text-transform:uppercase;letter-spacing:.07em;font-size:9.5px;font-weight:900}.cell .k .fe{vertical-align:-.45em;width:1.5em;height:1.5em}.cell .v{font-size:clamp(9px,calc(160cqw / var(--ch,6)),13px);word-break:normal;overflow-wrap:break-word;margin-top:2px;font-weight:900;line-height:1.15}.modal .cells{grid-template-columns:repeat(2,1fr);gap:8px}.geo{align-items:center;gap:11px;display:flex}.arrow{text-align:center;width:26px;font-size:25px;font-weight:900;line-height:1}.row.anim .arrow{animation:cellPop .5s var(--boing) both}.bar{background:#eceffa;border-radius:99px;flex:1;height:13px;overflow:hidden;box-shadow:inset 0 2px 3px #241d3d1a}.bar i{border-radius:99px;height:100%;display:block;box-shadow:0 0 12px}.row.anim .bar i{animation:grow .75s var(--spring) both}@keyframes grow{0%{width:0!important}}.km{text-align:right;min-width:82px;font-size:16px;font-weight:900}.warm{color:var(--soft);min-width:64px;font-size:12px;font-weight:900}.inputwrap{align-items:stretch;gap:8px;margin-top:auto;display:flex;position:relative}.acbox{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);flex:1;transition:box-shadow .2s}.acbox:focus-within{box-shadow:0 5px #241d3d17,0 0 0 4px #ff5f9e47}input{width:100%;font-family:var(--font);color:var(--ink);background:0 0;border:0;outline:0;padding:16px;font-size:17px;font-weight:800}input::placeholder{color:#bdb6cd;font-weight:700}.hintbtn{border-radius:var(--r);background:linear-gradient(var(--violet),var(--violet2));color:#fff;font-family:var(--font);cursor:pointer;transition:transform .14s var(--spring),box-shadow .14s;border:0;align-items:center;gap:5px;padding:0 15px;font-size:20px;font-weight:900;display:flex;box-shadow:0 5px #4630b8}.hintbtn span{font-size:14px}.hintbtn:hover{transform:translateY(-2px)}.hintbtn:active{transform:translateY(5px);box-shadow:0 0 #4630b8}.hintbtn:disabled{filter:grayscale(.75);opacity:.5;box-shadow:0 5px #999}.ac{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);max-height:236px;animation:dropIn .3s var(--spring);z-index:5;position:absolute;bottom:calc(100% + 9px);left:0;right:0;overflow:hidden auto}.ac div{cursor:pointer;padding:13px 17px;font-weight:800;transition:background .15s}.ac div:hover,.ac div.sel{background:linear-gradient(90deg,#fff0f6,#f3f0ff)}.quake{animation:.4s quake}@keyframes quake{15%{transform:translate(-9px,2px)rotate(-.6deg)}35%{transform:translate(8px,-2px)rotate(.6deg)}55%{transform:translate(-6px,1px)}75%{transform:translate(4px)}}.scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30;background:#241d3d80;justify-content:center;align-items:center;padding:16px;animation:.25s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--card);width:100%;max-width:404px;box-shadow:var(--shadow);animation:modalIn .6s var(--boing);overscroll-behavior:contain;border-radius:30px;max-height:92vh;padding:24px;overflow:hidden auto}@keyframes modalIn{0%{opacity:0;transform:scale(.5)translateY(60px)}60%{opacity:1;transform:scale(1.05)translateY(-6px)}to{transform:none}}.modal h2{text-align:center;margin:0 0 4px;font-size:26px;font-weight:900}.modal p{text-align:center;color:var(--soft);margin:7px 0;font-size:14.5px;font-weight:800}.big{text-align:center;animation:trophy 1.6s var(--spring) infinite;margin:2px 0;font-size:58px}@keyframes trophy{0%,to{transform:scale(1)rotate(-4deg)}50%{transform:scale(1.13)rotate(4deg)}}.btn{width:100%;font-family:var(--font);color:#fff;background:linear-gradient(var(--pink),var(--pink2));cursor:pointer;transition:transform .14s var(--spring),box-shadow .14s;border:0;border-radius:18px;margin-top:10px;padding:15px;font-size:16.5px;font-weight:900;box-shadow:0 5px #b52d64}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(5px);box-shadow:0 0 #b52d64}.btn.alt{background:linear-gradient(var(--violet),var(--violet2));box-shadow:0 5px #4630b8}.btn.alt:active{box-shadow:0 0 #4630b8}.btn.ad{background:linear-gradient(#3ec6ff,#1f97dd);box-shadow:0 5px #1878b0}.btn.ad:active{box-shadow:0 0 #1878b0}.btn.ghost{color:var(--soft);background:#f1eefb;box-shadow:0 5px #d9d3ec}.btn.ghost:active{box-shadow:0 0 #d9d3ec}.btn:disabled{filter:grayscale(.7);opacity:.55;pointer-events:none}.stats{text-align:center;justify-content:space-around;margin:15px 0;display:flex}.stats b{font-size:27px;font-weight:900;display:block}.stats span{color:var(--soft);letter-spacing:.04em;font-size:10.5px;font-weight:900}.distrow{align-items:center;gap:8px;margin:5px 0;font-size:13px;font-weight:900;display:flex}.distrow i{background:linear-gradient(var(--violet),var(--violet2));color:#fff;text-align:right;min-width:28px;animation:grow .7s var(--spring) both;border-radius:7px;padding:3px 8px;font-style:normal}.grid-share{text-align:center;letter-spacing:2px;margin:11px 0;font-size:21px;line-height:1.3}.badges{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.badge{text-align:center;position:relative}.medal{background:conic-gradient(from 210deg,var(--b1),var(--b2),var(--b1));width:72px;height:72px;box-shadow:0 5px 0 var(--b3),0 0 22px -4px var(--b1);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:29px;display:flex;position:relative;overflow:hidden}.medal:before{content:"";background:radial-gradient(circle at 35% 28%,#fffffff2,#ffffff59 45%, #fff0 70%),linear-gradient(var(--b1),var(--b2));border-radius:50%;position:absolute;inset:6px}.medal span{z-index:1;filter:drop-shadow(0 2px 2px #00000047);position:relative}.medal:after{content:"";background:linear-gradient(90deg,#0000,#ffffffbf,#0000);width:60%;height:220%;animation:3.6s ease-in-out infinite shine;position:absolute;top:-60%;left:-120%;transform:rotate(22deg)}@keyframes shine{0%,70%{left:-120%}88%,to{left:150%}}.badge.locked .medal{--b1:#d6d2e4;--b2:#b7b1cb;--b3:#9d97b3;box-shadow:0 5px #9d97b3}.badge.locked .medal:after{display:none}.badge.locked .medal span{opacity:.55;font-size:24px}.badge em{color:var(--soft);margin-top:7px;font-size:10.5px;font-style:normal;font-weight:900;line-height:1.2;display:block}.badge.new .medal{animation:unlockPop .8s var(--boing) var(--d,.35s) both}.badge.new:after{content:"";pointer-events:none;width:72px;height:72px;animation:unlockRing 1s ease-out var(--d,.35s) 2 both;border:3px solid #ffd44d;border-radius:50%;margin:-36px 0 0 -36px;position:absolute;top:36px;left:50%}.badge.new em{color:var(--pink)}@keyframes unlockPop{0%{opacity:0;transform:scale(0)rotate(-160deg)}60%{opacity:1;transform:scale(1.28)rotate(14deg)}to{opacity:1;transform:none}}@keyframes unlockRing{0%{opacity:.95;transform:scale(.55)}to{opacity:0;transform:scale(1.8)}}.unlockbar{text-align:center;background:linear-gradient(var(--violet),var(--violet2));color:#fff;animation:modalIn .6s var(--boing) both;border-radius:16px;margin:14px 0 2px;padding:11px 13px;font-size:14px;font-weight:900;box-shadow:0 4px #4630b8}.unlockbar em{opacity:.95;margin-top:3px;font-size:13px;font-style:normal;display:block}.badge .rw{color:var(--ink);white-space:nowrap;margin-top:3px;font-size:12px;font-weight:900;display:block}.bnav{justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.bnav button{width:32px;height:32px;color:var(--soft);cursor:pointer;background:#f1eefb;border:0;border-radius:50%;font-size:19px;font-weight:900;line-height:1}.bnav button:active{transform:scale(.92)}.bnav .pg{gap:6px;display:flex}.bnav .pg i{background:#ddd7ee;border-radius:50%;width:7px;height:7px;transition:background .2s}.bnav .pg i.on{background:var(--violet)}.streakhero{text-align:center;color:#fff;background:linear-gradient(160deg,#ff8a3d,#ff4d6d);border-radius:24px;margin-bottom:4px;padding:20px;transition:background .7s;position:relative;overflow:hidden}.streakhero:before{content:"";opacity:1;background:repeating-conic-gradient(from 0deg,#ffffff1a 0 10deg,transparent 10deg 20deg);transition:opacity .9s;animation:24s linear infinite rays;position:absolute;inset:-50%}.streakhero.off{background:linear-gradient(160deg,#b6afc9,#8e87a6)}.streakhero.off:before{opacity:0}.streakhero.off .fl{filter:grayscale()brightness(1.6);animation:none}@keyframes rays{to{transform:rotate(360deg)}}.streakhero .n{text-shadow:0 4px #0000002e;font-size:62px;font-weight:900;line-height:1;position:relative}.streakhero .cap{opacity:.92;letter-spacing:.1em;font-size:13px;font-weight:900;position:relative}.streakhero .fl{font-size:44px;animation:1.4s ease-in-out infinite flick;position:relative}.week{justify-content:space-between;gap:5px;margin:14px 0 4px;display:flex}.day{text-align:center;flex:1;padding-top:10px;position:relative}.day.today:before{content:"";background:var(--violet);border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;top:0;left:50%}.day i{height:36px;color:var(--soft);background:#f1eefb;border-radius:12px;justify-content:center;align-items:center;font-size:16px;font-style:normal;font-weight:900;transition:background .5s,color .5s,box-shadow .5s;display:flex}.day.hit i{color:#fff;background:linear-gradient(#ff8a3d,#ff4d6d);box-shadow:0 3px #c9304d}.day em{color:var(--soft);font-size:9.5px;font-style:normal;font-weight:900}.track2{background:#f1eefb;border-radius:99px;height:14px;margin:6px 0 4px;overflow:hidden}.track2 i{height:100%;transition:width .9s var(--spring);animation:grow .8s var(--spring) both;background:linear-gradient(90deg,#ff8a3d,#ff4d6d);border-radius:99px;display:block}.coach{z-index:50;animation:.25s fade;position:fixed;inset:0}.coach .hole{pointer-events:none;outline:3px solid var(--pink);border-radius:18px;animation:1.5s ease-in-out infinite coachPulse;position:fixed;box-shadow:0 0 0 9999px #18122dbd}@keyframes coachPulse{0%,to{outline-color:#ff5f9ef2}50%{outline-color:#ffffffeb}}.coach .bubble{background:var(--card);width:min(340px,100vw - 26px);box-shadow:var(--shadow);text-align:center;color:var(--soft);animation:modalIn .4s var(--spring);border-radius:22px;padding:16px 18px;font-size:14.5px;font-weight:800;line-height:1.45;position:fixed;left:50%;translate:-50%}.coach .bubble b{color:var(--ink);font-size:16.5px}.coach .bubble .btn{margin-top:13px;padding:12px}@media (prefers-reduced-motion:reduce){.coach .hole{animation:none}}.sheet{z-index:40;background:linear-gradient(160deg,#2b1f52,#4a2a6b 60%,#7b3f7d);flex-direction:column;animation:.3s fade;display:flex;position:fixed;inset:0}.sheet header{color:#fff;flex:none;gap:10px;padding:14px 16px}.sheet header .t{flex:1;font-size:19px;font-weight:900}.sheet header .t small{opacity:.7;font-size:11.5px;font-weight:800;display:block}.map3d{background:radial-gradient(130% 92% at 50% 2%,#8a46a8 0%,#3a2263 44%,#150d29 100%)}.map3d header{z-index:2;position:relative}.map3d .stage{touch-action:none;cursor:grab;perspective:620px;perspective-origin:50% 34%;flex:1;position:relative;overflow:hidden}.map3d .stage:active{cursor:grabbing}.map3d .stage:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#ff6ec857,#7850ff29 55%,#0000);width:170%;height:46%;animation:9s ease-in-out infinite breathe;position:absolute;top:26%;left:50%;transform:translate(-50%,-50%)}.map3d .stage:after{content:"";pointer-events:none;background:linear-gradient(#743c96e0 0,#582f7e9e 26%,#3c22604d 56%,#0000);height:60%;position:absolute;inset:0 0 auto}.rail{transform-style:preserve-3d;will-change:transform;position:absolute;top:74%;left:50%}.step{transform-style:preserve-3d;transform:translate3d(var(--x),calc(var(--i) * -120px),0);opacity:calc((var(--f) - var(--i) + var(--c)) / 4);position:absolute}.step:not(.here) .sh,.step:not(.here) .ic,.step.here .tile{display:none}.road{transform-origin:0 7.5px;background:linear-gradient(90deg,#ffffff0d,#ffffff38);border-radius:99px;height:15px;margin-top:-7.5px;position:absolute}.step.done .road{background:linear-gradient(90deg,#35d19b59,#35d19b99)}.pad{background:radial-gradient(closest-side,#ffffff38,#ffffff0f);border-radius:50%;width:80px;height:50px;position:absolute;top:-25px;left:-40px;box-shadow:0 0 26px #a06eff59}.step.done .pad{background:radial-gradient(closest-side,#35d19b80,#35d19b1f);box-shadow:0 0 30px #35d19b73}.step.here .pad{background:radial-gradient(closest-side,#ffd44da6,#ffc12e26);box-shadow:0 0 34px #ffc12e80}.sh{background:radial-gradient(closest-side,#120626e6,#12062680 62%,#12062600);border-radius:50%;width:62px;height:38px;animation:1.05s ease-in-out infinite shad;position:absolute;top:-19px;left:-31px}@keyframes shad{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.3;transform:scale(.45)}}.mk{transform-origin:50% 100%;justify-content:center;align-items:flex-end;width:60px;height:62px;display:flex;position:absolute;top:-62px;left:-30px;transform:rotateX(-62deg)}.tile{color:#fff;background:linear-gradient(#6b5a95,#4a3b73);border-radius:19px;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex;box-shadow:0 5px #00000059}.step.done .tile{background:linear-gradient(var(--green),var(--green2));box-shadow:0 5px #0d8a62}.ic{filter:drop-shadow(0 6px 10px #14082880);font-size:60px;line-height:1;animation:1.05s ease-in-out infinite hop}@keyframes hop{0%,to{transform:translateY(0)scale(1.14,.86)}14%{transform:translateY(-6px)scale(.96,1.06)}50%{transform:translateY(-58px)scale(.94,1.1)}86%{transform:translateY(-6px)scale(1.02,.98)}}.step .mk b{color:#fff;opacity:.85;text-shadow:0 2px 5px #0c041ccc;font-size:12px;font-weight:900;position:absolute;bottom:-19px}.step.here .mk b{opacity:1;color:#ffd44d}.map3d .stars{opacity:.8;background-image:radial-gradient(1.7px 1.7px at 18% 24%,#fff,#0000),radial-gradient(1.5px 1.5px at 62% 12%,#ffe6a8,#0000),radial-gradient(1.3px 1.3px at 84% 58%,#bcd8ff,#0000),radial-gradient(1.9px 1.9px at 36% 72%,#fff,#0000),radial-gradient(1.2px 1.2px at 8% 88%,#ffd4ef,#0000);background-size:210px 210px,170px 170px,260px 260px,320px 320px,140px 140px;animation:120s linear infinite starDrift;position:absolute;inset:0}@keyframes starDrift{to{background-position:210px 420px,-170px 340px,260px 520px,-320px 640px,140px 280px}}.map3d .bubbles{opacity:.7;position:absolute}.map3d .planet{z-index:1;pointer-events:none;background:radial-gradient(circle at 32% 27%,#ffdcaa,#ff9270 44%,#a83f7d 76%,#4e1c4c);border-radius:50%;width:112px;height:112px;animation:16s ease-in-out infinite idle;position:absolute;top:9%;right:-16px;box-shadow:0 0 70px #ff8c784d,inset -13px -15px 32px #12042699}.map3d .planet:after{content:"";border:6px solid #ffe2be66;border-bottom-color:#0000;border-radius:50%;width:180%;height:36%;position:absolute;top:41%;left:-40%;transform:rotate(-17deg)}.tok{z-index:4}.step.tok .sh,.step.tok .ic{display:block}.tok .ic{animation:none}.tok .sh{animation:none;transform:scale(1)}.tok.leap .ic{animation:.95s ease-in-out both hop}.tok.leap .sh{animation:.95s ease-in-out both shad}.tok.rest .ic{animation:1.05s ease-in-out infinite hop}.tok.rest .sh{animation:1.05s ease-in-out infinite shad}.lad .step.here .ic,.lad .step.here .sh{display:none}.lad header{text-align:center}.lad header .t{font-size:25px}.lad header .t small{opacity:.8;font-size:13px}.lfoot{z-index:2;opacity:0;pointer-events:none;padding:0 16px calc(18px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);width:min(380px,92vw);margin:0 auto;transition:opacity .4s;position:absolute;bottom:0;left:0;right:0}.lfoot.on{opacity:1;pointer-events:auto}.screen{flex-direction:column;flex:1;width:100%;max-width:560px;display:flex}#home{z-index:1;justify-content:center;gap:14px;position:relative}.bubbles{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bubbles i{opacity:.13;font-size:30px;font-style:normal;animation:linear infinite drift;position:absolute}@keyframes drift{0%{transform:translateY(110vh)rotate(-20deg)}to{transform:translateY(-20vh)rotate(20deg)}}.bigLogo{animation:dropIn .6s var(--boing);margin-inline:auto;font-size:min(58px,13vw)}.tagline{text-align:center;color:var(--soft);letter-spacing:.06em;margin-top:-6px;font-size:13px;font-weight:900}.herocard{color:#fff;box-shadow:var(--shadow);animation:modalIn .7s var(--boing) both;background:linear-gradient(150deg,#7b5cff,#ff5f9e);border-radius:28px;padding:20px;animation-delay:60ms;position:relative;overflow:hidden}.herocard:before{content:"";background:repeating-conic-gradient(from 0deg,#ffffff14 0 9deg,transparent 9deg 18deg);animation:30s linear infinite rays;position:absolute;inset:-50%}.herocard .in{align-items:center;gap:16px;display:flex;position:relative}.herocard .em{transform-origin:50% 100%;font-size:52px;animation:2.4s ease-in-out infinite idle}.herocard .lv{letter-spacing:.16em;opacity:.85;font-size:12px;font-weight:900}.herocard .n{text-shadow:0 3px #0003;font-size:38px;font-weight:900;line-height:1}.herocard .tp{opacity:.92;margin-top:3px;font-size:14px;font-weight:900}.prog{background:#ffffff40;border-radius:99px;height:12px;margin-top:14px;position:relative;overflow:hidden}.prog i{height:100%;animation:grow .9s var(--spring) both;background:#fff;border-radius:99px;display:block}.progtxt{text-align:right;opacity:.9;margin-top:5px;font-size:11px;font-weight:900;position:relative}.chtopic{width:100%;font-family:var(--font);color:#fff;cursor:pointer;transition:transform .14s var(--spring),background .14s;background:#ffffff38;border:0;border-radius:16px;margin-top:11px;padding:11px;font-size:13.5px;font-weight:900;position:relative;box-shadow:inset 0 0 0 2px #ffffff61}.chtopic:hover{background:#ffffff52}.chtopic:active{transform:scale(.97)}.tlist{overscroll-behavior:contain;grid-template-columns:1fr 1fr;gap:9px;max-height:min(52vh,420px);margin:12px 0 4px;display:grid;overflow:auto}.trow{aspect-ratio:1;min-width:0;color:var(--ink);font-family:var(--font);text-align:center;cursor:pointer;transition:transform .12s var(--spring);background:#f5f2fd;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:10px;font-weight:900;display:flex}.trow:active{transform:scale(.98)}.trow.on{background:linear-gradient(var(--violet),var(--violet2));color:#fff}.trow-all{aspect-ratio:auto;text-align:left;flex-direction:row;grid-column:1/-1;gap:12px;padding:10px 14px}.tem{font-size:76px;line-height:1}.trow-all .tem{font-size:40px}.flagimg{vertical-align:-.1em;object-fit:cover;border-radius:2px;width:1em;height:.75em;display:inline-block}.ttx{width:100%;min-width:0}.trow-all .ttx{flex:1;width:auto}.ttx b{white-space:normal;overflow-wrap:break-word;font-size:13px;line-height:1.2;display:block}.trow-all .ttx b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.tfoot{align-items:center;gap:7px;margin-top:6px;display:flex}.tbar{background:#0000001a;border-radius:99px;flex:1;min-width:0;height:7px;overflow:hidden}.trow.on .tbar{background:#00000038}.tbar i{background:linear-gradient(90deg,var(--pink),var(--pink2));border-radius:99px;height:100%;display:block}.trow.on .tbar i{background:#fff}.trow small{opacity:.7;white-space:nowrap;font-size:11px}.langgrid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 18px 4px;display:grid}.langcard{color:var(--ink);font-family:var(--font);cursor:pointer;transition:transform .12s var(--spring);background:#f5f2fd;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;font-size:14px;font-weight:900;display:flex}.langcard:active{transform:scale(.95)}.langcard .tem{font-size:34px}.play{width:100%;font-family:var(--font);color:#fff;cursor:pointer;transition:transform .14s var(--spring),box-shadow .14s;background:linear-gradient(#3ee08c,#16a86b);border:0;border-radius:24px;padding:20px;font-size:23px;font-weight:900;animation:2.2s ease-in-out infinite breathe;position:relative;overflow:hidden;box-shadow:0 7px #10804f,0 14px 26px #10804f59}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.play:active{transform:translateY(7px)scale(.98);box-shadow:0 0 #10804f}.play:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:45%;height:220%;animation:3.2s ease-in-out infinite shine;position:absolute;top:-60%;left:-120%;transform:rotate(22deg)}.play.dead{cursor:not-allowed;background:linear-gradient(#cfc9dd,#a9a2bd);animation:none;box-shadow:0 7px #8b849e}.play.dead:after{display:none}.play small{opacity:.9;letter-spacing:.08em;font-size:12.5px;font-weight:900;display:block}.cost{letter-spacing:0;background:#170e2c6b;border-radius:12px;padding:5px 10px;font-size:14px;font-style:normal;font-weight:900;position:absolute;top:50%;right:14px;transform:translateY(-50%);box-shadow:inset 0 1px #ffffff29}.cost .fe{vertical-align:-.3em;width:1.3em;height:1.3em}.cost.free{letter-spacing:.06em;background:#ffffff42;font-size:11.5px}.play .cost{right:16px}.play:has(.cost){padding-right:86px}.play.dead .cost{display:none}.btn{position:relative}.btn .cost{padding:4px 9px;font-size:13px}.btn:has(.cost){padding-right:78px}.btn.ghost .cost{background:#170e2c1a}.hud{align-items:center;gap:6px;display:flex;position:absolute;top:0;left:0;right:0}#home{padding-top:56px}.homerow{flex-wrap:wrap;gap:10px;display:flex}.homerow .ico{letter-spacing:.03em;border-radius:24px;flex-direction:column;flex:40%;justify-content:center;gap:2px;padding:16px 10px;font-size:15px}.homerow .bi{font-size:34px;line-height:1.1}#mapbtn{background:linear-gradient(var(--violet),var(--violet2));color:#fff;box-shadow:0 5px #4630b8}#statsbtn{color:#fff;background:linear-gradient(#3ec6ff,#1f97dd);box-shadow:0 5px #1878b0}.appfooter{text-align:center;color:var(--soft);opacity:.6;margin-top:14px;font-size:11px}.player{color:#fff;background:#111827;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;height:180px;margin-bottom:6px;display:flex;position:relative;overflow:hidden}.player .tag{opacity:.6;letter-spacing:.1em;font-size:10px;font-weight:900;position:absolute;top:9px;left:11px}.player .em{animation:trophy 1.6s var(--spring) infinite;font-size:48px}.player .cd{opacity:.8;margin-top:8px;font-size:13px;font-weight:900}.player .pbar{background:#3ec6ff;width:0;height:5px;position:absolute;bottom:0;left:0}.fx{pointer-events:none;z-index:60;position:fixed;inset:0;overflow:hidden}.fx i{border-radius:2px;animation:linear forwards fall;position:absolute}@keyframes fall{to{opacity:.7;transform:translateY(108vh)rotate(900deg)}}.spark{pointer-events:none;z-index:60;border-radius:50%;width:9px;height:9px;position:fixed}.flash{pointer-events:none;z-index:55;background:#fff;animation:.5s forwards flash;position:fixed;inset:0}@keyframes flash{0%{opacity:.85}to{opacity:0}}.fe{vertical-align:-.14em;object-fit:contain;width:1em;height:1em}@media (width<=480px){header .logo,.ico.back span{display:none}}@media (width<=380px){.cells{gap:4px}.mapcard{height:160px}.medal{width:64px;height:64px;font-size:26px}}@media (width>=700px){body{justify-content:center}.wrap{max-width:600px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#admin{gap:10px;max-width:960px}.adminnote{color:var(--soft);margin:0;font-size:12px}.adminselect{width:100%;font-family:var(--font);background:var(--card);box-shadow:var(--shadow);color:var(--ink);border:0;border-radius:14px;padding:12px;font-size:14px;font-weight:800}.adminmeta{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);flex-wrap:wrap;gap:8px;padding:12px;display:flex}.adminmeta label{color:var(--soft);flex-direction:column;flex:1;gap:3px;min-width:120px;font-size:11px;font-weight:800;display:flex}.adminmeta input{font-family:var(--font);color:var(--ink);border:1px solid #e4e0f2;border-radius:10px;padding:8px 10px;font-size:13.5px;font-weight:700}.adminhint{color:var(--soft);flex-basis:100%;font-size:11px;font-weight:700}.adminscroll{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);max-height:52vh;overflow:auto}.admintable{border-collapse:collapse;width:100%;font-size:12.5px}.admintable th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);background:#f1eefb;padding:8px 6px;font-size:10.5px;position:sticky;top:0}.admintable td{border-bottom:1px solid #f1eefb;padding:4px 6px}.admintable input{width:100%;font-family:var(--font);color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 7px;font-size:12.5px;font-weight:700}.admintable input:focus{border-color:var(--violet);background:#fff;outline:0}.admindel{color:var(--red2);cursor:pointer;background:#ffe3ea;border:0;border-radius:8px;width:26px;height:26px;font-weight:900}.adminactions{flex-wrap:wrap;gap:8px;display:flex}.adminactions .btn{flex:1;width:auto;min-width:140px;padding:12px}
