/*! Lagom © 2026 Ľubomír Tulinský. Všetky práva vyhradené. Kopírovanie, úpravy a ďalšie šírenie bez písomného súhlasu autora sú zakázané. */
:root{--night: #13213c;--night-2: #1f3560;--falu: #9b2c2c;--falu-hi: #b23a35;--snow: #f2f6fb;--paper: #ffffff;--ink: #17202f;--muted: #5d6779;--line: #dde4ee;--pine: #2d6a52;--pine-bg: #e2f1e9;--lamp: #f2b33d;--lamp-bg: #fdf2d8;--ice: #8cc4ee;--falu-text: #9b2c2c;--link: #1f6fb2;--pine-strong: #2d6a52;--amber-text: #8a5b00;--bad-bg: #f9e3e1;--g: #2e8b57;--b: #1f6fb2;--r: #c0392b;--k: #1b1b1b;--font: ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--night: #0b1528;--night-2: #1b2f55;--falu: #c4473f;--falu-hi: #d75a50;--snow: #0c1424;--paper: #152137;--ink: #e8eef7;--muted: #9ba7bc;--line: #26354f;--pine: #5bb592;--pine-bg: #12302a;--lamp-bg: #3a2d10;--bad-bg: #3b1919;--k: #e8eef7;--falu-text: #f08a7e;--link: #8cc4ee;--amber-text: #f2b33d}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--snow);color:var(--ink);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;overflow-x:clip;min-height:100dvh}button,input,select{font:inherit;color:inherit}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,input,select,label,[data-a]{touch-action:manipulation}button,[data-a]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--lamp);outline-offset:2px}h1,h2{margin:0;line-height:1.2}h1{font-size:28px;font-weight:800;letter-spacing:-.01em}h2{font-size:19px;font-weight:700;margin:26px 0 10px}h2 small{color:var(--muted);font-weight:600;font-size:15px}p{margin:0 0 10px}.muted{color:var(--muted)}.center{text-align:center}.page{max-width:560px;margin:0 auto;padding:calc(var(--safe-t) + 18px) 16px calc(var(--safe-b) + 104px)}.page.sub{padding-bottom:calc(var(--safe-b) + 40px)}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.subtop{display:flex;align-items:center;gap:6px;margin:0 0 14px -8px}.subtop h1{font-size:22px}.icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--ink);flex:none}.icon svg,.tab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon:active{background:var(--line)}.pills{display:flex;gap:8px}.pill{background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:5px 12px;font-weight:800;font-size:16px;white-space:nowrap}.pill.streak{border-color:var(--lamp)}.ticket{position:relative;display:grid;grid-template-columns:1fr 96px;background:var(--night);color:#fff;border-radius:22px;overflow:hidden;margin-bottom:18px;background-image:radial-gradient(120% 90% at 100% 0%,rgba(140,196,238,.18),transparent 60%)}.ticket:before,.ticket:after{content:"";position:absolute;right:96px;width:24px;height:24px;border-radius:50%;background:var(--snow);transform:translate(50%)}.ticket:before{top:-12px}.ticket:after{bottom:-12px}.ticket-main{padding:16px 16px 14px 18px;min-width:0}.ticket.nostub{grid-template-columns:1fr}.ticket.nostub:before,.ticket.nostub:after{display:none}.ticket-head{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:15px;color:#ffffffbf;margin-bottom:6px}.ticket-head span{font-weight:600}.xp{margin:0 0 8px;font-size:16px;color:#ffffffd9}.xp strong{font-size:34px;font-weight:800;color:#fff;margin-right:2px}.xpbar{height:12px;border-radius:99px;background:#ffffff24;overflow:hidden}.xpbar i{display:block;height:100%;background:var(--lamp);border-radius:99px;transition:width .5s ease}.ticket-stub{border-left:2px dashed rgba(255,255,255,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 6px;gap:0}.ticket-stub .big{font-size:36px;font-weight:800;line-height:1.05}.ticket-stub span{font-size:13px;color:#ffffffbf;font-weight:600}.ticket-stub .stub-label{color:var(--ice);font-weight:800;font-size:14px}.week{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week li{display:flex;flex-direction:column;align-items:center;gap:3px}.week .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:15px;border:2px solid rgba(255,255,255,.18)}.week .wd{font-size:12px;color:#fff9;font-weight:700}.week .met .dot{background:var(--lamp);border-color:var(--lamp)}.week .frozen .dot{background:var(--ice);border-color:var(--ice)}.week .today .dot{border-style:dashed;border-color:var(--lamp)}.week .today .wd{color:#fff}.week .future .dot{opacity:.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 20px;border-radius:16px;font-weight:800;font-size:17px;transition:transform .08s ease,background .15s ease;text-align:center}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45}.btn.primary{background:var(--falu);color:#fff;box-shadow:0 3px #0000002e}.btn.primary:active:not(:disabled){background:var(--falu-hi)}.btn.secondary{background:var(--paper);border:2px solid var(--line)}.btn.ghost{color:var(--muted)}.btn.danger{background:var(--bad-bg);color:var(--falu-text)}.btn.small{min-height:38px;padding:6px 14px;font-size:15px;border-radius:12px;background:var(--falu);color:#fff}.btn.wide{width:100%}.btn.go{background:var(--pine-strong);color:#fff}.btn.stop{background:var(--falu);color:#fff}.btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.btnrow.col{flex-direction:column;margin-top:24px}.btnrow .btn{flex:1}.cta{width:100%;min-height:60px;font-size:20px;border-radius:18px}.cta-sub{text-align:center;color:var(--muted);margin:8px 0 0;font-size:15px}.linkbtn{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:10px 4px}.filebtn{position:relative;overflow:hidden}.filebtn input{position:absolute;inset:0;opacity:0}.done-today{background:var(--pine-bg);border-radius:18px;padding:16px;text-align:center}.done-title{font-weight:800;font-size:19px;color:var(--pine);margin-bottom:4px}.done-today .btn{margin-top:8px}.banner{display:grid;gap:4px;width:100%;text-align:left;margin-top:16px;background:var(--paper);border:2px solid var(--night-2);border-radius:18px;padding:14px 16px}.banner strong{font-size:17px}.banner span{color:var(--muted);font-size:15px}.banner .btn{justify-self:start;margin-top:6px}.panel{background:var(--paper);border-radius:18px;padding:4px 16px 14px;margin-top:18px;border:1px solid var(--line)}.panel h2{margin-top:12px}.quests ul{list-style:none;margin:0;padding:0}.quests li{display:grid;grid-template-columns:28px 1fr auto;grid-template-areas:"c t n" "c b b";column-gap:10px;row-gap:6px;padding:10px 0;border-top:1px solid var(--line);align-items:center}.quests li:first-child{border-top:0}.qcheck{grid-area:c;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center}.qcheck svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.quests li.done .qcheck{background:var(--pine-strong);border-color:var(--pine-strong)}.qtext{grid-area:t;font-weight:600;font-size:16px}.quests li.done .qtext{color:var(--muted)}.qnum{grid-area:n;font-weight:800;font-size:14px;color:var(--muted)}.qbar{grid-area:b;height:7px;border-radius:99px;background:var(--line);overflow:hidden}.qbar i{display:block;height:100%;background:var(--lamp)}.quests li.done .qbar i{background:var(--pine)}.quests h3.qhead{font-size:15px;font-weight:800;color:var(--muted);margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line)}.qtext small{display:block;font-weight:600;font-size:13px;color:var(--muted);margin-top:2px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--paper);border:2px solid var(--line);border-radius:999px;padding:9px 14px;font-weight:700;font-size:15px;min-height:44px}.chip:active{border-color:var(--night-2)}.tipcard{display:flex;gap:12px;align-items:center;width:100%;text-align:left;margin-top:22px;background:var(--lamp-bg);border-radius:18px;padding:14px 16px}.tip-e{font-size:26px;flex:none}.tipcard small{display:block;color:var(--muted);font-weight:700}.tipcard strong{font-size:17px}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-top:1px solid var(--line);padding:6px 8px calc(var(--safe-b) + 6px);z-index:10}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;color:var(--muted);font-size:12px;font-weight:700}.tab.on{color:var(--falu-text)}.tab.on svg{stroke-width:2.4}.search{width:100%;font-size:17px;padding:12px 14px;border-radius:14px;border:2px solid var(--line);background:var(--paper);margin-bottom:14px;-webkit-appearance:none}.units{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.unit{display:grid;grid-template-columns:12px 30px 1fr auto;grid-template-areas:"p e t n" "p e b b";column-gap:10px;row-gap:6px;align-items:center;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.unit.mine{grid-template-columns:30px 1fr auto;grid-template-areas:"e t n";border:2px dashed var(--line);background:transparent}.unit .piste{grid-area:p}.ue{grid-area:e;font-size:24px;text-align:center}.ut{grid-area:t;display:flex;flex-direction:column;min-width:0}.ut strong{font-size:17px}.ut small{color:var(--muted);font-size:14px}.un{grid-area:n;font-weight:800;color:var(--muted);font-size:15px}.unit.mine .un{font-size:24px;color:var(--falu)}.ubar{grid-area:b;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.ubar i{display:block;height:100%;background:var(--pine)}.piste{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none}.piste.g{background:var(--g)}.piste.b{background:var(--b)}.piste.r{background:var(--r)}.piste.k{background:var(--k);border-radius:2px;transform:rotate(45deg) scale(.85)}.unit-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:15px;flex-wrap:wrap}.cardlist{list-style:none;padding:0;margin:14px 0 0}.crow,.examples li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.crow>div,.examples li>div{flex:1;min-width:0;display:flex;flex-direction:column}.crow strong,.examples strong{font-size:17px}.crow span,.examples span{color:var(--muted);font-size:15px}.status{flex:none;font-size:12px;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--line);color:var(--muted)}.status.learning{background:var(--lamp-bg);color:#8a5b00}.status.learned{background:var(--pine-bg);color:var(--pine)}.status.mastered{background:var(--pine-strong);color:#fff}.empty{color:var(--muted);text-align:center;padding:30px 10px}.spk{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:2px solid var(--line);color:var(--link);font-size:18px}.spk svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.spk:active{background:var(--line)}.spk.huge{width:96px;height:96px;background:var(--b);border:0;color:#fff}.spk.huge svg{width:44px;height:44px}.del{width:36px;height:36px;color:var(--muted)}.del svg{width:18px;height:18px}.form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:15px;margin-top:12px}.form label small{color:var(--muted);font-weight:600}.form input:not([type=checkbox]):not([type=range]):not([type=file]),.form select{font-size:17px;padding:11px 12px;border-radius:12px;border:2px solid var(--line);background:var(--snow);width:100%;-webkit-appearance:none;appearance:none}.form label.row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.form label.row select{width:auto;min-width:120px}.form input[type=checkbox]{width:24px;height:24px;accent-color:var(--pine)}.form input[type=range]{width:100%;accent-color:var(--falu)}.form .btn.wide{margin-top:14px}.label{font-weight:700;font-size:15px;margin:14px 0 6px}.hint{color:var(--muted);font-size:14px;margin:6px 0 0}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--snow);border:2px solid var(--line);border-radius:14px;padding:3px;gap:3px}.seg button{padding:9px 4px;min-height:44px;border-radius:10px;font-weight:800;font-size:15px;color:var(--muted)}.seg button.on{background:var(--night);color:#fff}.chars{display:flex;gap:8px;margin-top:10px}.char{width:52px;height:46px;border-radius:12px;background:var(--paper);border:2px solid var(--line);font-size:21px;font-weight:700}.char:active{background:var(--line)}.foot{color:var(--muted);font-size:13px;text-align:center;margin-top:24px}.tiplist{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.tiprow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.tiprow strong{flex:1;font-size:16px}.tiprow .read svg{width:20px;height:20px;fill:none;stroke:var(--pine);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.unread{font-size:12px;font-weight:800;color:var(--falu-text);background:var(--bad-bg);padding:3px 8px;border-radius:99px}.tipbody p{font-size:18px;line-height:1.55;margin-bottom:14px;max-width:34em}.say-inline{color:var(--link);font-weight:700;text-decoration:underline dotted;text-underline-offset:3px;padding:0 1px}.note-box{background:var(--lamp-bg);border-radius:14px;padding:12px 14px;font-size:15px}.steps{padding-left:22px}.steps li{margin-bottom:12px;font-size:18px}.kbd{display:inline-block;border:1.5px solid var(--line);border-radius:6px;padding:0 6px;font-weight:700;background:var(--paper)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stats.three{grid-template-columns:repeat(3,1fr);margin-top:18px}.stats div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column}.stats strong{font-size:26px;font-weight:800}.stats strong small{font-size:15px;color:var(--muted)}.stats span{color:var(--muted);font-size:14px;font-weight:600}.stats.three div{align-items:center}.heat{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:4px;justify-content:start;margin-top:4px}.heat i,.legend i{width:18px;height:18px;border-radius:5px;background:var(--line);display:inline-block}.heat .l-1{background:transparent}.l1{background:color-mix(in srgb,var(--lamp) 45%,var(--line))!important}.l2{background:var(--lamp)!important}.l3{background:var(--falu)!important}.lf{background:var(--ice)!important}.legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:10px}.legend i{width:12px;height:12px;border-radius:3px;vertical-align:middle}.badges{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.badges li{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 8px;text-align:center;display:flex;flex-direction:column;gap:2px}.badges .be{font-size:32px}.badges strong{font-size:14px;line-height:1.2}.badges small{font-size:12px;color:var(--muted);line-height:1.25}.badges .locked .be{filter:grayscale(1);opacity:.35}.badges .locked strong{color:var(--muted)}.badges .newbadge{border:2px solid var(--lamp);background:var(--lamp-bg)}.onb{padding-top:calc(var(--safe-t) + 40px)}.onb h1{margin-bottom:12px}.onb-hero{text-align:center}.onb-hero img{border-radius:26px;box-shadow:0 12px 30px #13213c40;margin-bottom:16px}.onb-hero p{color:var(--muted);font-size:18px}.onb-list{list-style:none;padding:0;margin:20px 0 24px;display:grid;gap:10px;font-size:17px;font-weight:600}.onb .btn.wide{margin-top:10px}.lesson{min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;padding:calc(var(--safe-t) + 8px) 16px calc(var(--safe-b) + 12px)}.ltop{display:flex;align-items:center;gap:10px}.ltop .icon{margin-left:-8px;color:var(--muted)}.lbar{flex:1;height:14px;border-radius:99px;background:var(--line);overflow:hidden}.lbar i{display:block;height:100%;background:var(--pine);border-radius:99px;transition:width .35s ease}.combo{font-weight:800;color:var(--amber-text);font-size:16px;white-space:nowrap}.ex{flex:1;display:flex;flex-direction:column;padding:18px 0 12px}.kind{font-weight:800;color:var(--muted);font-size:16px;margin-bottom:18px}.word{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.word h2{font-size:clamp(28px,8.5vw,42px);font-weight:800;margin:0;line-height:1.12;color:var(--night);flex:1 1 auto;min-width:0;overflow-wrap:anywhere}@media (prefers-color-scheme: dark){.word h2{color:#fff}}.spks{display:flex;gap:8px}.word.intro h2{color:var(--falu)}.answer-reveal{border-top:2px dashed var(--line);padding-top:14px}.answer-reveal h2{color:var(--pine)}.tr{font-size:22px;font-weight:700;margin-bottom:14px}.note{background:var(--lamp-bg);border-radius:14px;padding:10px 14px;font-size:16px}.listen{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0 22px}.opts{display:grid;gap:10px;margin-top:auto;padding-top:10px}.opt{width:100%;text-align:left;padding:15px 16px;border-radius:16px;border:2px solid var(--line);background:var(--paper);font-size:18px;font-weight:600;min-height:56px}.opt:active:not(:disabled){border-color:var(--night-2)}.opt.right{border-color:var(--pine);background:var(--pine-bg)}.opt.wrong{border-color:var(--falu);background:var(--bad-bg)}.answer{width:100%;font-size:21px;padding:14px 16px;border-radius:16px;border:2px solid var(--line);background:var(--paper);-webkit-appearance:none}.answer:focus{border-color:var(--b);outline:none}.built{min-height:64px;border-bottom:2px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;padding:8px 0;margin-bottom:18px}.built .ph{color:var(--muted);font-size:15px;align-self:center}.bank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.tok{padding:10px 14px;border-radius:12px;border:2px solid var(--line);background:var(--paper);font-size:18px;font-weight:700;box-shadow:0 2px 0 var(--line)}.tok.used{opacity:.22;pointer-events:none}.speak-hint{color:var(--muted);margin-top:8px}.lfoot{display:flex;gap:10px;padding-top:10px}.lfoot .btn{flex:1}.btn.rate{flex:1;min-height:56px;padding:8px;font-size:15px;border-radius:14px}.r1{background:var(--bad-bg);color:var(--falu)}.r2{background:var(--lamp-bg);color:#8a5b00}.r3{background:var(--pine-strong);color:#fff}@media (prefers-color-scheme: dark){.r2,.status.learning{color:var(--lamp)}}.has-sheet .ex{padding-bottom:230px}.lesson{height:100dvh;overflow:hidden}.lesson>.ltop,.lesson>.lfoot{flex:none}.lesson>main{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.lesson:has(.answer){height:auto;min-height:100dvh;overflow:visible}.lesson:has(.answer)>main{overflow:visible}@media (max-height: 760px){.lesson .ex{padding-top:10px}.host{margin-bottom:10px}.host-c{width:clamp(78px,22vw,100px);height:clamp(78px,22vw,100px)}.opts{gap:8px}.opt{padding:12px 14px;min-height:50px}.kind{margin-bottom:12px}}@media (max-height: 660px){.host-c{width:68px;height:68px}.word h2{font-size:clamp(24px,7vw,34px)}.opt{padding:10px 14px;min-height:46px;font-size:17px}}.sheet{position:fixed;left:0;right:0;bottom:0;padding:18px 18px calc(var(--safe-b) + 16px);border-radius:22px 22px 0 0;animation:up .22s ease-out;z-index:20;max-width:560px;margin:0 auto}.sheet.good{background:var(--pine-bg)}.sheet.meh{background:var(--lamp-bg)}.sheet.bad{background:var(--bad-bg)}.fbtitle{font-size:22px;font-weight:800;margin-bottom:6px}.good .fbtitle{color:var(--pine)}.bad .fbtitle{color:var(--falu)}.meh .fbtitle{color:#8a5b00}@media (prefers-color-scheme: dark){.meh .fbtitle{color:var(--lamp)}}.fbmsg{font-weight:600}.fbanswer{display:flex;align-items:center;gap:10px;margin:6px 0 10px}.fbanswer>div{flex:1;display:flex;flex-direction:column}.fbanswer strong{font-size:20px}.fbanswer span{color:var(--muted)}.sheet .note{background:#ffffff8c}@media (prefers-color-scheme: dark){.sheet .note{background:#00000040}}.fbbtns{display:flex;align-items:center;gap:10px;margin-top:6px}@keyframes up{0%{transform:translateY(40%);opacity:0}to{transform:none;opacity:1}}.result{padding-top:calc(var(--safe-t) + 36px)}.result h1{text-align:center;font-size:30px}.streak-burst{text-align:center}.streak-burst .flame{font-size:84px;display:block;line-height:1;animation:pop .6s cubic-bezier(.2,1.6,.4,1)}.streak-burst strong{font-size:56px;font-weight:800;display:block;color:#c47a00;line-height:1.1}.streak-burst p{font-size:18px;font-weight:700}.freeze{color:var(--link)}.rewards{list-style:none;padding:0;margin:0}.rewards li{padding:8px 0;border-top:1px solid var(--line);font-weight:600}.rewards li:first-child{border-top:0}.rewards small{color:var(--pine);font-weight:800;float:right}@keyframes pop{0%{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}#toast{position:fixed;left:50%;bottom:calc(var(--safe-b) + 86px);transform:translate(-50%,20px);background:var(--night);color:#fff;padding:11px 16px;border-radius:14px;font-weight:600;font-size:15px;max-width:calc(100% - 32px);width:max-content;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50;text-align:center}#toast.show{opacity:1;transform:translate(-50%)}.snow{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.snow span{position:absolute;top:-40px;color:#b9dcf5;animation-name:fall;animation-timing-function:linear;animation-fill-mode:forwards;text-shadow:0 0 6px rgba(255,255,255,.8)}@keyframes fall{to{transform:translateY(110vh) rotate(200deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.lesson.fx-ok:after,.lesson.fx-bad:after{display:none!important}}.pill.flag{font-size:18px;padding:3px 10px;line-height:1.3;position:relative}.pill.flag:after{content:"";position:absolute;inset:-8px -4px}.banner.warn{border-color:var(--lamp);background:var(--lamp-bg)}.hint.warn{color:var(--falu-text);font-weight:600}.addtrack{margin-top:18px}.linkbtn.quiet{color:var(--muted);font-weight:700;font-size:15px;text-decoration:none}.linkbtn.center{display:block;margin:8px auto 0;font-size:15px;color:var(--muted)}.privacy .panel h2{font-size:18px;margin:4px 0 6px}.privacy .panel p{margin:0;line-height:1.5}.privacy ul.plain{margin:0;padding-left:20px}.privacy ul.plain li{margin:6px 0;line-height:1.45}.onb-top{display:flex;align-items:center;gap:6px;margin:-12px 0 18px -8px}.onb-steps{list-style:none;display:flex;flex:1;gap:6px;padding:0;margin:0}.onb-steps li{flex:1;height:6px;border-radius:99px;background:var(--line)}.onb-steps li.on{background:var(--falu)}.langlist{display:grid;gap:10px;margin:18px 0 22px}.langpick{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:14px 16px}.langpick.on{border-color:var(--falu);background:color-mix(in srgb,var(--falu) 7%,var(--paper))}.langpick svg{width:22px;height:22px;fill:none;stroke:var(--falu);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:none}.lflag{font-size:32px;line-height:1;flex:none}.lt{flex:1;display:flex;flex-direction:column}.lt strong{font-size:18px}.lt small{color:var(--muted);font-size:14px}.trackchips{display:grid;gap:10px;margin:14px 0 22px}.tchip{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:16px;padding:13px 14px;font-weight:700;font-size:17px}.tchip>span{font-size:24px;width:30px;text-align:center}.tchip svg{margin-left:auto;width:20px;height:20px;fill:none;stroke:var(--pine);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.tchip.on{border-color:var(--pine);background:var(--pine-bg)}.panel .trackchips{margin:6px 0 4px}.sharecard{display:flex;gap:12px;align-items:center;width:100%;text-align:left;margin-top:18px;background:var(--paper);border:2px dashed var(--line);border-radius:18px;padding:14px 16px}.sharecard .tip-e svg,.btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sharecard .tip-e{color:var(--falu);display:grid;place-items:center}.sharecard strong{display:block;font-size:17px}.sharecard small{color:var(--muted);font-size:14px}.speakline h2{line-height:1.25}.tr.soft{color:var(--muted);font-size:18px;font-weight:600}.w{border-radius:6px;transition:color .2s}.w.hit{color:var(--pine)}.w.miss{color:var(--falu);text-decoration:underline wavy;text-decoration-thickness:2px;text-underline-offset:5px}@media (prefers-color-scheme: dark){.word h2 .w.hit{color:var(--pine)}}.tryagain{background:var(--bad-bg);border-radius:14px;padding:12px 14px;margin-top:6px}.tryagain p{margin:0 0 4px}.heard{color:var(--muted);font-size:15px;margin:2px 0 8px}.heard-live{min-height:26px;text-align:center;color:var(--muted);font-size:18px;font-weight:600;margin-top:8px}.lfoot.speakfoot{flex-direction:column;align-items:center;gap:2px;padding-bottom:4px}.micbox{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.mic{--lvl: 0;position:relative;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--b);color:#fff;box-shadow:0 4px #0000002e;transition:transform .1s ease,background .2s ease}.mic:active:not(:disabled){transform:scale(.96)}.mic svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}.mic-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none}.mic.rec{background:var(--falu)}.mic.rec .mic-ring{box-shadow:0 0 0 calc(6px + var(--lvl) * 26px) color-mix(in srgb,var(--falu) 28%,transparent);transition:box-shadow .08s linear;animation:breathe 1.4s ease-in-out infinite}.mic.busy{background:var(--night-2)}.mic-label{margin:6px 0 0;font-weight:800;color:var(--ink)}.spin{width:34px;height:34px;border-radius:50%;border:4px solid rgba(255,255,255,.35);border-top-color:#fff;animation:rot .8s linear infinite}@keyframes rot{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.65}}.fbtitle small{font-size:16px;font-weight:800;opacity:.75;margin-left:6px}.sheet .heard{margin-top:-4px}.levelpick{margin:-6px 0 18px}.levelpick .label{margin-top:0}.mascot{display:block;width:96px;height:96px;overflow:visible;flex:none}.mascot .m-body,.mascot .m-shadow,.mascot .m-eye,.mascot .m-spark,.mascot .m-z{transform-box:fill-box}.mascot .m-body{transform-origin:50% 100%}.mascot .m-shadow,.mascot .m-eye,.mascot .m-spark{transform-origin:50% 50%}.m-hi .m-body{animation:m-rock 2.4s ease-in-out 2}.m-hi .m-eye,.m-wow .m-eye{animation:m-blink 2.4s 2}.m-happy .m-body{animation:m-bounce 1.6s ease-in-out 3}.m-cheer .m-body{animation:m-hop .64s cubic-bezier(.3,.7,.4,1) 3}.m-cheer .m-shadow{animation:m-shadow .64s cubic-bezier(.3,.7,.4,1) 3}.m-wow .m-body{transform-origin:30% 100%;animation:m-rear 1.15s cubic-bezier(.3,1.3,.5,1) 2}.m-sleep .m-body{animation:m-breathe 2.4s ease-in-out 2}.m-spark{animation:m-twinkle 1.3s ease-in-out 3}.m-spark:nth-child(2){animation-delay:.35s}.m-spark:nth-child(3){animation-delay:.7s}.m-spark:nth-child(4){animation-delay:1s}.m-z{animation:m-z 3.2s ease-in 1}.m-z+.m-z{animation-delay:1.4s}@keyframes m-rock{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes m-bounce{0%,to{transform:none}50%{transform:translateY(-4%)}}@keyframes m-blink{0%,93%,to{transform:none}96%{transform:scaleY(.12)}}@keyframes m-hop{0%{transform:none}18%{transform:scale(1.07,.9)}46%{transform:translateY(-26%) scale(.96,1.05)}74%{transform:scale(1.06,.93)}to{transform:none}}@keyframes m-shadow{0%,to{transform:none;opacity:1}46%{transform:scale(.6);opacity:.5}}@keyframes m-rear{0%,to{transform:none}30%,62%{transform:rotate(-15deg)}}@keyframes m-breathe{50%{transform:scale(1.02,.975)}}@keyframes m-twinkle{0%,to{transform:scale(.35);opacity:.2}50%{transform:scale(1.1);opacity:1}}@keyframes m-z{0%{transform:translateY(4px);opacity:0}30%{opacity:1}to{transform:translate(7px,-12px);opacity:0}}.bubble{position:relative;margin:0;background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:10px 14px;font-weight:700;font-size:16px;line-height:1.3}.bubble:before{content:"";position:absolute;left:-8px;top:50%;width:13px;height:13px;background:var(--paper);border-left:2px solid var(--line);border-bottom:2px solid var(--line);transform:translateY(-50%) rotate(45deg)}.buddy{display:flex;align-items:center;gap:12px;margin:0 0 14px}.buddy .mascot{width:78px;height:78px}.buddy .bubble{flex:1}.onb-hero .mascot{width:136px;height:136px;margin:0 auto 10px}.ltop{position:relative}.lesson.fx-ok .opt.right,.lesson.fx-ok .answer,.lesson.fx-ok .built{animation:ok-pop .32s cubic-bezier(.3,1.6,.5,1)}.lesson.fx-bad .opt.wrong,.lesson.fx-bad .answer,.lesson.fx-bad .built,.lesson.fx-bad .speakline{animation:shake .42s ease}.lesson.fx-ok:after,.lesson.fx-bad:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:15;animation:flash .45s ease-out forwards}.lesson.fx-ok:after{background:radial-gradient(75% 55% at 50% 62%,rgba(46,139,87,.26),transparent 72%)}.lesson.fx-bad:after{background:radial-gradient(75% 55% at 50% 62%,rgba(192,57,43,.18),transparent 72%)}@keyframes flash{0%{opacity:1}to{opacity:0}}@keyframes ok-pop{40%{transform:scale(1.04)}}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.lbar{transition:box-shadow .3s ease}.lbar.hot{box-shadow:0 0 0 2px #f2b33d59,0 0 14px #f2b33d80}.lbar.hot i{background:linear-gradient(90deg,#f2b33d,#ffe08a 50%,#f2b33d);background-size:200% 100%;animation:shimmer 1.1s linear 2}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.combo{display:inline-block}.combo.bump{animation:bump .45s cubic-bezier(.3,1.8,.5,1)}@keyframes bump{40%{transform:scale(1.45)}}.xpfloat{position:absolute;right:2px;top:34px;font-weight:800;font-size:15px;color:var(--pine);pointer-events:none;animation:xpup .9s ease-out forwards}@keyframes xpup{0%{transform:translateY(10px);opacity:0}25%{opacity:1}70%{opacity:1}to{transform:translateY(-2px);opacity:0}}.cheer{position:fixed;left:50%;top:calc(var(--safe-t) + 54px);z-index:30;pointer-events:none;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 24px);transform:translate(-50%);animation:cheer-in .5s cubic-bezier(.2,1.5,.4,1) both}.cheer.out{animation:cheer-out .4s ease-in forwards}.cheer .mascot{width:108px;height:108px}.cheer .bubble{box-shadow:0 10px 28px #13213c2e;padding:10px 16px 11px}.cheer .bubble strong{display:block;font-size:26px;font-weight:800;color:var(--falu);line-height:1.1}.cheer .bubble span{display:block;font-size:16px}.cheer .bubble small{display:block;color:var(--amber-text);font-weight:800;font-size:14px;margin-top:2px}@keyframes cheer-in{0%{transform:translate(-50%) scale(.3);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes cheer-out{to{transform:translate(-50%) translateY(-18px) scale(.96);opacity:0}}.confetti{position:fixed;width:0;height:0;z-index:31;pointer-events:none}.confetti i{position:absolute;left:-4px;top:-6px;width:7px;height:12px;border-radius:2px;opacity:0;animation:conf 1.5s forwards}@keyframes conf{0%{transform:translate(0) rotate(0);opacity:1;animation-timing-function:cubic-bezier(.2,.8,.4,1)}38%{transform:translate(calc(var(--dx) * .75),var(--up)) rotate(calc(var(--r) * .5));opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.7)}to{transform:translate(var(--dx),var(--down)) rotate(var(--r));opacity:0}}.rhero{display:flex;justify-content:center;margin:-8px 0 6px}.rhero .mascot{width:132px;height:132px}.streak-burst strong{display:flex;align-items:center;justify-content:center;gap:6px}.streak-burst .flame{font-size:50px;display:inline-block}.combo-line{text-align:center;font-weight:800;color:var(--amber-text);margin:14px 0 0}@media (prefers-reduced-motion: reduce){.confetti{display:none}}.host{display:flex;align-items:flex-end;gap:4px;margin:0 0 16px}.host-c{flex:none;width:clamp(100px,30vw,124px);height:clamp(100px,30vw,124px);margin:0 0 -6px -12px}.host-c .mascot{width:100%;height:100%}.hbubble{position:relative;flex:1;min-width:0;background:var(--paper);border:2px solid var(--line);border-radius:20px;padding:12px 14px;margin-bottom:26px;box-shadow:0 2px 0 var(--line)}.hbubble:before{content:"";position:absolute;left:-9px;bottom:18px;width:14px;height:14px;background:var(--paper);border-left:2px solid var(--line);border-bottom:2px solid var(--line);transform:rotate(45deg)}.hbubble .word{margin-bottom:0}.hbubble .word h2{font-size:clamp(24px,7vw,34px)}.hbubble .tr{margin:8px 0 0;font-size:19px}.hbubble .tr.soft{font-size:16px}.hbubble.center .listen{margin:4px 0}.hbubble .spk.huge{width:76px;height:76px}.hbubble .spk.huge svg{width:36px;height:36px}.host.enter .host-c{animation:host-in .4s cubic-bezier(.2,1.4,.4,1) both}.host.enter .hbubble{animation:bubble-in .26s .1s cubic-bezier(.2,1.2,.4,1) both;transform-origin:0 100%}.host.still .mascot *{animation:none!important}@keyframes host-in{0%{transform:translateY(16px) scale(.92);opacity:0}to{transform:none;opacity:1}}@keyframes bubble-in{0%{transform:scale(.95);opacity:0}to{transform:none;opacity:1}}.quip{margin:-2px 0 8px;font-weight:600}.rhero{align-items:flex-end}.rhero .side{width:92px;height:92px;margin:0 -6px}.mascot .m-tear{transform-box:fill-box;transform-origin:50% 0}.m-sad .m-body{animation:m-slump .6s ease-out 1 both}.m-tear{animation:m-drip 1.6s ease-in .3s 1 both}.person.m-wow .m-body{transform-origin:50% 100%;animation:m-hop .64s cubic-bezier(.3,.7,.4,1) 2}@keyframes m-slump{0%{transform:none}40%{transform:translateY(3%) scale(1.02,.96)}to{transform:translateY(1.5%) scale(1.01,.98)}}@keyframes m-drip{0%{transform:translateY(-3px);opacity:0}30%{opacity:1}to{transform:translateY(4px);opacity:.9}}.isteps{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}.isteps li{display:grid;grid-template-columns:28px 38px 1fr;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-size:17px;line-height:1.35}.stepno{width:28px;height:28px;border-radius:50%;background:var(--night);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px}@media (prefers-color-scheme: dark){.stepno{background:var(--night-2)}}.stepico{width:38px;height:38px;border-radius:11px;background:var(--snow);display:grid;place-items:center;color:var(--link)}.stepico svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:currentColor}.iwhy{list-style:none;padding:0;margin:4px 0 14px;display:grid;gap:4px;color:var(--muted);font-weight:600;font-size:15px}.code{letter-spacing:.12em;color:var(--ink);font-size:18px}.iarrow{position:fixed;z-index:25;font-size:30px;line-height:1;color:var(--falu-text);font-weight:800;text-align:center;pointer-events:none;animation:point 1.1s ease-in-out 6}.iarrow span{display:block;font-size:14px;margin:2px 0}.iarrow.right{right:14px;bottom:calc(var(--safe-b) + 6px)}.iarrow.center{left:calc(50% - 15px);bottom:calc(var(--safe-b) + 6px)}.iarrow.top{right:14px;top:calc(var(--safe-t) + 4px)}.iarrow.top{animation-name:point-up}@keyframes point{50%{translate:0 7px}}@keyframes point-up{50%{translate:0 -7px}}.installnudge{display:flex;gap:12px;align-items:center;width:100%;text-align:left;margin-top:18px;background:var(--paper);border:2px solid var(--lamp);border-radius:18px;padding:10px 14px 10px 8px}.installnudge .mascot{width:64px;height:64px}.installnudge strong{display:block;font-size:17px}.installnudge small{color:var(--muted);font-size:14px;font-weight:600}.restore{text-align:left}.restore .btn{margin-top:10px}.codebox{margin-top:14px;text-align:center}.codebox summary{color:var(--muted);font-weight:700;cursor:pointer;padding:10px}.coderow{display:flex;gap:8px;justify-content:center;margin-top:6px}.coderow input{font-size:18px;letter-spacing:.12em;text-transform:uppercase;width:10.5em;max-width:60vw;padding:9px 12px;border-radius:12px;border:2px solid var(--line);background:var(--paper);color:var(--ink)}.coderow input::placeholder{text-transform:none;letter-spacing:normal;font-size:16px}.cheer.solo .bubble:before{display:none}.opt.sel{border-color:var(--link);background:color-mix(in srgb,var(--link) 9%,var(--paper));box-shadow:0 2px color-mix(in srgb,var(--link) 40%,transparent)}.opts.grid2{grid-template-columns:1fr 1fr}.opt.word1{text-align:center}.clozebox{background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:16px 16px 18px;margin-bottom:8px}.clozeline{font-size:clamp(22px,6.2vw,28px);font-weight:800;line-height:1.6;margin:0;color:var(--night);overflow-wrap:anywhere}@media (prefers-color-scheme: dark){.clozeline{color:#fff}}.gap{display:inline-block;min-width:4.2em;border-bottom:3px solid var(--line);padding:0 6px;text-align:center;color:var(--link);line-height:1.25}.gap.filled{border-color:var(--link)}.gap.ok{color:var(--pine);border-color:var(--pine)}.gap.bad{color:var(--falu-text);border-color:var(--falu)}.gapin{font:inherit;color:var(--link);display:inline-block;max-width:100%;vertical-align:baseline;border:0;border-bottom:3px solid var(--link);background:transparent;padding:0 4px;text-align:center;border-radius:0}.gapin:focus{outline:none;border-bottom-color:var(--falu)}.pairs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:10px}.pcol{display:grid;gap:10px;align-content:start}.pbtn{min-height:56px;padding:10px 12px;border-radius:16px;border:2px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:17px;font-weight:700;box-shadow:0 2px 0 var(--line);overflow-wrap:anywhere}.pbtn.sel{border-color:var(--link);background:color-mix(in srgb,var(--link) 9%,var(--paper))}.pbtn.bad{border-color:var(--falu);background:var(--bad-bg);animation:shake .35s 1}.pbtn.done{border-color:var(--pine);background:var(--pine-bg);color:var(--pine);box-shadow:none;opacity:.6}.hline{margin:0;font-weight:700;font-size:17px;line-height:1.35}.recap{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}.recap li{display:flex;align-items:center;gap:12px;background:var(--paper);border:2px solid var(--line);border-radius:14px;padding:9px 12px}.recap .rn{width:28px;height:28px;border-radius:50%;background:var(--night-2);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px;flex:none}.recap .rt{display:flex;flex-direction:column;flex:1;min-width:0}.recap .rsk{font-weight:700}.recap .rsv{color:var(--pine);font-weight:800}.recap .spk{flex:none}.recapwords{display:block;font-size:20px;line-height:1.5}@media (prefers-reduced-motion: reduce){.pbtn.bad{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}mark.fix{background:none;color:var(--pine);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}mark.fix b{font-weight:900;color:var(--pine);background:color-mix(in srgb,var(--pine) 16%,transparent);border-radius:3px;padding:0 1px}.pill.coins{display:inline-flex;align-items:center;gap:4px;color:var(--amber-text);background:var(--lamp-bg);border:0;font:inherit;font-weight:800}.pill.coins.big{font-size:18px;padding:6px 12px}svg.coin,img.coin{width:20px;height:20px;flex:none;stroke:none}.levelcard{display:flex;align-items:center;gap:14px;background:var(--paper);border:2px solid var(--line);border-radius:20px;padding:12px 14px;margin:14px 0;box-shadow:0 3px 0 var(--line)}.lvl-badge{width:64px;height:64px;border-radius:18px;background:linear-gradient(160deg,#f7c95c,#e09a22);color:#5a3a00;display:grid;place-content:center;text-align:center;box-shadow:inset 0 -4px #00000024;flex:none}.lvl-badge span{font-size:10px;font-weight:900;letter-spacing:.12em}.lvl-badge strong{font-size:28px;line-height:1;font-weight:900}.lvl-info{flex:1;min-width:0}.lvl-info p{margin:0 0 6px;font-size:15px;color:var(--muted)}.lvl-info p strong{color:var(--ink)}.lvl-info small{color:var(--muted);font-weight:600}.lvl-bar{height:12px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:6px}.lvl-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#f2b33d,#e09a22);transition:width .5s cubic-bezier(.2,.8,.2,1)}.chip.on{border-color:var(--pine);background:var(--pine-bg)}.banner .chips{margin-top:8px}.unitblock{margin:6px 0 22px}.ub-head{display:flex;align-items:center;gap:12px;border-radius:18px;padding:12px 14px;color:#fff;background:var(--pine-strong);box-shadow:0 4px #0000002e}.piste-b .ub-head{background:var(--b)}.piste-r .ub-head{background:var(--r)}.piste-k .ub-head{background:#23262d}.ub-head>div{flex:1;min-width:0}.ub-head small{opacity:.85;font-weight:700;font-size:13px}.ub-head h2{margin:2px 0;font-size:20px;line-height:1.2;color:#fff}.ub-sub{font-size:14px;opacity:.9;font-weight:600}.ub-book{width:46px;height:46px;border-radius:14px;border:2px solid rgba(255,255,255,.55);background:#ffffff1f;display:grid;place-items:center;flex:none}.ub-book svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2}.nodes{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;align-items:center;gap:14px}.node{position:relative}.node.o-r{translate:46px 0}.node.o-rr{translate:80px 0}.node.o-l{translate:-46px 0}.node.o-ll{translate:-80px 0}.node button{width:70px;height:64px;border-radius:50%;border:0;display:grid;place-items:center;font:inherit}.node button svg{width:30px;height:30px}.node.done button{background:#f2b33d;box-shadow:0 6px #c8891d}.node.done button svg{fill:#fff;stroke:none;width:32px;height:32px}.node.cur button{width:80px;height:72px;background:var(--falu);box-shadow:0 7px #6e1f1f}.node.cur button svg{fill:#fff;stroke:none;width:34px;height:34px}.node.cur:before{content:"";position:absolute;inset:-9px -9px -2px;border-radius:50%;border:4px solid color-mix(in srgb,var(--falu) 35%,transparent);animation:nodepulse 1.8s ease-out 3;pointer-events:none}.node.lock button{background:var(--line);box-shadow:0 6px color-mix(in srgb,var(--line) 70%,#000)}.node.lock button svg{fill:none;stroke:var(--muted);stroke-width:2.2;width:24px;height:24px}.node button:active{translate:0 4px;box-shadow:0 2px #00000040!important}.nodetip{position:absolute;top:50%;left:calc(100% + 14px);translate:0 -50%;white-space:nowrap;background:var(--paper);color:var(--falu-text);border:2px solid var(--line);font-weight:800;font-size:15px;padding:7px 12px;border-radius:12px;pointer-events:none;animation:tipbob 1.6s ease-in-out 4;box-shadow:0 2px 0 var(--line)}.nodetip:after{content:"";position:absolute;top:50%;right:100%;translate:1px -50%;border:8px solid transparent;border-right-color:var(--paper)}.node.o-r .nodetip,.node.o-rr .nodetip{left:auto;right:calc(100% + 14px)}.node.o-r .nodetip:after,.node.o-rr .nodetip:after{right:auto;left:100%;translate:-1px -50%;border-right-color:transparent;border-left-color:var(--paper)}.node.chest button{background:none;box-shadow:none;width:64px;height:64px}.node.chest button svg{width:74px;height:74px}.node.chest.lock button{filter:grayscale(1) opacity(.45)}.node.chest.cur button{width:84px;height:80px;animation:chestwiggle 1.3s ease-in-out 3}.node.chest.cur button svg{width:92px;height:92px;filter:drop-shadow(0 6px 10px rgba(242,179,61,.55))}.node.chest.cur:before{content:"";position:absolute;inset:-6px;border-radius:50%;border:4px solid color-mix(in srgb,#f2b33d 55%,transparent);animation:nodepulse 1.6s ease-out infinite;pointer-events:none}.node.chest .nodetip{color:var(--amber-text)}.node.trophy button{font-size:34px;background:var(--line);box-shadow:0 6px color-mix(in srgb,var(--line) 70%,#000)}.node.trophy.lock button{filter:grayscale(1);opacity:.55}.node.trophy.done button{background:#f2b33d;box-shadow:0 6px #c8891d}.node.trophy.cur button{width:84px;height:76px;font-size:40px;background:linear-gradient(160deg,#ffd470,#f2b33d);box-shadow:0 7px #c8891d}.node.trophy.cur:before{content:"";position:absolute;inset:-9px -9px -2px;border-radius:50%;border:4px solid color-mix(in srgb,#f2b33d 55%,transparent);animation:nodepulse 1.8s ease-out infinite;pointer-events:none}.node.trophy .nodetip{color:var(--amber-text)}.nodetip b{display:block;font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.02em}.node button{position:relative;isolation:isolate;overflow:hidden;transition:translate .08s,box-shadow .08s}.node button:before{content:"";position:absolute;left:16%;right:16%;top:7%;height:36%;border-radius:50%;background:linear-gradient(180deg,#ffffff9e,#fff0);pointer-events:none;z-index:-1}.node button>svg,.node button>span{position:relative;z-index:1;filter:drop-shadow(0 2px 0 rgba(0,0,0,.16))}.node.done button{background:radial-gradient(circle at 34% 26%,#ffe39a,#f7c552,#eaa52d 68%,#d48c1b);box-shadow:0 7px #b8781a,0 14px 16px -6px #965f0a8c,inset 0 -5px #7846001f,inset 0 3px #ffffff80}.node.done button:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.75) 50%,transparent 62%);background-size:280% 100%;background-position:160% 0;animation:nodeshine 6s ease-in-out infinite;pointer-events:none;z-index:2}.node:nth-child(3n+2).done button:after{animation-delay:1.4s}.node:nth-child(3n).done button:after{animation-delay:2.8s}@keyframes nodeshine{0%,72%{background-position:160% 0}to{background-position:-70% 0}}.node.cur button{background:radial-gradient(circle at 34% 26%,#ec7a6c,#d0483a 38%,#b5342a 70%,#93261d);box-shadow:0 8px #6e1f1f,0 16px 18px -6px #6e1e1e8c,inset 0 -5px #00000024,inset 0 3px #ffffff61}.node.cur:not(.xnode):not(.chest):not(.trophy) button{animation:nodeaura 2.4s ease-in-out infinite}@keyframes nodeaura{0%,to{box-shadow:0 8px #6e1f1f,0 16px 18px -6px #6e1e1e8c,inset 0 -5px #00000024,inset 0 3px #ffffff61,0 0 #f2b33d00}50%{box-shadow:0 8px #6e1f1f,0 16px 18px -6px #6e1e1e8c,inset 0 -5px #00000024,inset 0 3px #ffffff61,0 0 24px 7px #f2b33d99}}.node.lock button{background:radial-gradient(circle at 34% 26%,color-mix(in srgb,var(--line) 35%,#fff) 0%,var(--line) 58%,color-mix(in srgb,var(--line) 82%,#000) 100%);box-shadow:0 6px color-mix(in srgb,var(--line) 70%,#000),0 12px 12px -6px #2832464d,inset 0 -4px #0000000f,inset 0 2px #ffffff8c}.node.lock button svg{filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}.node button:active{translate:0 6px;box-shadow:0 1px #00000040,inset 0 3px #ffffff4d!important}.node.xnode.k-quick button{background:radial-gradient(circle at 34% 26%,#ffe39a,#f2b33d 55%,#d48c1b)}.node.xnode.k-fix button{background:radial-gradient(circle at 34% 26%,#5fb08a,#2d6a52 60%,#1f4d3b)}.node.xnode.k-srs button{background:radial-gradient(circle at 34% 26%,#6aa8e0,#2f6db5 60%,#1f4f87)}.node.trophy.done button,.node.trophy.cur button{background:radial-gradient(circle at 34% 26%,#ffe39a,#f7c552,#eaa52d 68%,#d48c1b)}.node.chest button,.node.chest.cur button,.node.chest.done button,.node.chest.lock button{overflow:visible;background:none;box-shadow:none}.node.chest button:before,.node.chest button:after{display:none}.chest3d{display:block;width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 7px 6px rgba(70,40,0,.28))}.chest3d img{width:100%;height:100%;object-fit:contain;display:block}.node.chest.cur .chest3d{width:100px;height:100px;filter:drop-shadow(0 0 16px rgba(255,196,70,.75)) drop-shadow(0 8px 6px rgba(70,40,0,.28));animation:chestidle 2.8s ease-in-out infinite}.node.chest.cur button{animation:none}@keyframes chestidle{0%,45%,to{rotate:0deg;scale:1}8%{rotate:-9deg;scale:1.07}16%{rotate:8deg;scale:1.04}24%{rotate:-5deg}32%{rotate:3deg}}.node.chest.lock .chest3d{filter:grayscale(.85) opacity(.55) drop-shadow(0 6px 5px rgba(0,0,0,.18))}.node.chest.lock button{filter:none}.glint{position:relative;display:block}.glint>i{position:absolute;inset:0;-webkit-mask:url(/art/a1/chest.webp) center / contain no-repeat;mask:url(/art/a1/chest.webp) center / contain no-repeat;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.85) 50%,transparent 62%);background-size:300% 100%;background-position:150% 0;animation:glint 3.2s ease-in-out infinite;pointer-events:none}.node.chest:not(.cur) .glint>i{animation-duration:6s}@keyframes glint{0%,55%{background-position:150% 0}to{background-position:-60% 0}}.node.chest.cur:after{content:"";position:absolute;right:-2px;top:-6px;width:14px;height:14px;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 4px #ffd25a);animation:twinkle 1.6s ease-in-out infinite;pointer-events:none}.ic3d{display:inline-block;object-fit:contain;flex:none;vertical-align:-4px}.flame3d{width:20px;height:20px}.bolt3d{width:1.05em;height:1.05em;vertical-align:-.16em}.homebar .pill .flame3d{width:22px;height:22px}.homebar .pill.streak:not(.on) .flame3d{filter:grayscale(.9) opacity(.6)}.homebar .pill.streak.on .flame3d{animation:flameflick 2.4s ease-in-out infinite;transform-origin:50% 90%}@keyframes flameflick{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.06,.96) rotate(-3deg)}50%{transform:scale(.97,1.05) rotate(2deg)}75%{transform:scale(1.04,.98) rotate(-1deg)}}.homebar .pill .coin{width:24px;height:24px;animation:coinspin 7s ease-in-out infinite}@keyframes coinspin{0%,84%{transform:perspective(160px) rotateY(0)}to{transform:perspective(160px) rotateY(360deg)}}.homebar .pill.coins{position:relative}.homebar .pill.coins:after{content:"";position:absolute;left:25px;top:5px;width:9px;height:9px;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 3px #ffd25a);opacity:0;animation:twinkle 3.5s ease-in-out infinite 1s;pointer-events:none}@keyframes twinkle{0%,to{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}.homebar .pill .shoe{width:22px;height:22px}.streak-burst .flame .flame3d{width:104px;height:104px;filter:drop-shadow(0 8px 14px rgba(240,120,20,.45))}.combo .flame3d{width:18px;height:18px;vertical-align:-3px}.bz-head h1 .bolt3d{width:30px;height:30px;vertical-align:-5px}@media (prefers-reduced-motion: reduce){.node.done button:after,.node.cur button,.node.cur:not(.xnode):not(.chest):not(.trophy) button,.glint>i,.homebar .pill .coin,.homebar .pill .flame3d,.node.chest.cur .chest3d,.homebar .pill.coins:after,.node.chest.cur:after{animation:none!important}}.node.just button{animation:nodefill .9s cubic-bezier(.2,1.4,.4,1) both}.node.lesson.just button,.node.done.just button{animation:nodefill .9s cubic-bezier(.2,1.4,.4,1) both,nodeglow 1.6s ease-out .2s both}@keyframes nodefill{0%{transform:scale(.78);filter:saturate(.2) brightness(1.15)}55%{transform:scale(1.14);filter:none}to{transform:scale(1)}}@keyframes nodeglow{0%{box-shadow:0 6px #c8891d,0 0 #f2b33dbf}to{box-shadow:0 6px #c8891d,0 0 0 26px #f2b33d00}}.rewardpop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0c14248c;animation:fadein .2s ease-out both}.rewardpop.out{animation:fadeout .2s ease-in both}.rp-card{width:min(100%,360px);background:var(--paper);border-radius:24px;padding:18px 18px 16px;text-align:center;box-shadow:0 18px 50px #00000059;animation:pop .55s cubic-bezier(.2,1.3,.3,1) both}.rp-chest svg{width:120px;height:120px;animation:chestopen .7s cubic-bezier(.2,1.4,.4,1) both}@keyframes chestopen{0%{transform:scale(.6) rotate(-8deg)}60%{transform:scale(1.12) rotate(4deg)}to{transform:none}}.rp-kicker{margin:4px 0 0;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.rp-card h2{margin:4px 0 6px;font-size:26px}.rp-d{margin:0 0 16px;color:var(--muted)}@keyframes fadein{0%{opacity:0}}@keyframes fadeout{to{opacity:0}}.xpbonus{text-align:center;margin:4px 0 10px;color:var(--muted);font-weight:600}.xpbonus strong{color:var(--amber-text)}@keyframes nodepulse{0%{transform:scale(.92);opacity:1}to{transform:scale(1.18);opacity:0}}@keyframes tipbob{50%{margin-top:-4px}}@keyframes chestwiggle{0%,to{rotate:0deg}20%{rotate:-9deg}40%{rotate:8deg}60%{rotate:-5deg}80%{rotate:3deg}}.donebox{margin:4px 0 14px}.donebox>summary{cursor:pointer;font-weight:800;color:var(--pine);padding:10px 2px}.upcoming{margin:4px 0 18px}.upcoming ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.upcoming li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--paper);border:2px dashed var(--line);color:var(--muted);font-weight:700}.upcoming li small{margin-left:auto;font-weight:600}.upcoming li.more{justify-content:center;border-style:dotted}.boost{font-size:12px;font-weight:900;color:#5a3a00;background:linear-gradient(160deg,#f7c95c,#e09a22);padding:3px 8px;border-radius:99px}.stats.four{grid-template-columns:repeat(4,1fr)}.stats.four strong{font-size:20px;white-space:nowrap}.stats.four>div{padding-left:4px;padding-right:4px}.levelup,.unitdone{display:flex;align-items:center;gap:14px;border-radius:18px;padding:12px 14px;margin:12px 0;animation:pop .5s cubic-bezier(.2,.9,.3,1.3) both}.levelup{background:linear-gradient(160deg,#fff4d4,#fde3a3);color:#5a3a00}.unitdone{background:var(--pine-bg);color:var(--pine)}.unitdone>span{font-size:34px}.levelup strong,.unitdone strong{display:block;font-size:18px}.levelup small,.unitdone small{font-weight:600;opacity:.85}.lu-badge{width:58px;height:58px;border-radius:16px;background:linear-gradient(160deg,#f7c95c,#e09a22);display:grid;place-content:center;text-align:center;color:#5a3a00;box-shadow:inset 0 -4px #00000024;flex:none}.lu-badge small{font-size:9px;font-weight:900;letter-spacing:.12em}.lu-badge strong{font-size:26px;line-height:1}.lvl-mini{display:flex;align-items:center;gap:10px;margin:6px 0 12px;font-weight:800;color:var(--amber-text)}.lvl-mini .lvl-bar{flex:1;margin:0}.lvl-mini small{color:var(--muted)}.btnsub{display:block;font-size:13px;font-weight:700;margin-top:2px}.shop .subtop .pill{margin-left:auto}.shophero{display:flex;align-items:center;gap:12px;background:var(--paper);border:2px solid var(--line);border-radius:20px;padding:10px 14px;margin-bottom:18px}.shophero .mascot{width:92px;height:92px;flex:none}.shophero p{margin:0;color:var(--muted);font-weight:600}.shoplist{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}.shopitem{display:flex;align-items:center;gap:12px;background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:12px}.si-e{font-size:30px;width:44px;text-align:center;flex:none}.si-t{flex:1;min-width:0}.si-t strong{display:block}.si-t small{color:var(--muted)}.pricebtn{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:8px 14px;border-radius:14px;border:2px solid #e2a63a;background:var(--lamp-bg);color:var(--amber-text);font:inherit;font-weight:900;box-shadow:0 3px #e2a63a;flex:none}.pricebtn[aria-disabled=true]{opacity:.5;box-shadow:none}.wardrobe{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.wcard{background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.wcard.on{border-color:#e2a63a;box-shadow:0 0 0 3px color-mix(in srgb,#f2b33d 30%,transparent)}.wcard strong{font-size:15px;line-height:1.25;min-height:2.5em;display:grid;place-items:center}.wprev{width:108px;height:108px}.wprev .mascot{width:100%;height:100%;overflow:visible}@media (prefers-reduced-motion: reduce){.node.cur:before,.nodetip,.node.chest.ready button,.levelup,.unitdone{animation:none}}.courselist{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}.coursecard{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:12px 14px;font:inherit;color:inherit;box-shadow:0 3px 0 var(--line)}.coursecard.on{border-color:var(--falu);box-shadow:0 3px color-mix(in srgb,var(--falu) 45%,transparent)}.cflag{font-size:34px;line-height:1}.ct{flex:1;min-width:0}.ct strong{display:block;font-size:18px}.ct small{color:var(--muted);font-weight:600}.cnow{font-size:12px;font-weight:900;color:#fff;background:var(--falu);border-radius:99px;padding:3px 9px}.addplus{margin-left:auto;font-size:26px;font-weight:800;color:var(--falu-text)}#splash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(120% 80% at 50% 30%,#fff 0%,var(--snow) 60%);animation:sp-auto .35s 3.2s forwards}@media (prefers-color-scheme: dark){#splash{background:radial-gradient(120% 80% at 50% 30%,#18243b 0%,var(--snow) 65%)}}#splash.out{animation:sp-out .42s cubic-bezier(.5,0,.75,0) forwards}.sp-in{text-align:center}.splash-horse{width:168px;height:168px;overflow:visible;animation:sp-drop .75s cubic-bezier(.2,1.4,.4,1) both}.splash-horse .m-body{transform-origin:56px 110px;animation:m-hop .6s ease-in-out .7s 1}.splash-horse .m-shadow{transform-origin:56px 112px;animation:sp-shadow .75s ease-out both}.splash-horse .m-spark{transform-box:fill-box;transform-origin:center;animation:m-twinkle .9s ease-in-out .5s 2 both}.sp-word{margin:6px 0 0;font-size:42px;font-weight:900;letter-spacing:-.02em;color:var(--falu);animation:sp-up .5s ease-out .35s both}.sp-tag{margin:2px 0 0;font-size:16px;font-weight:700;color:var(--muted);animation:sp-up .5s ease-out .5s both}@keyframes sp-drop{0%{transform:translateY(-60vh) scale(.9)}70%{transform:translateY(6px) scale(1.04,.94)}to{transform:none}}@keyframes sp-shadow{0%{transform:scale(.2);opacity:0}to{transform:none;opacity:.14}}@keyframes sp-up{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes sp-out{to{opacity:0;transform:scale(1.06);visibility:hidden}}@keyframes sp-auto{to{opacity:0;visibility:hidden;pointer-events:none}}@media (prefers-reduced-motion: reduce){#splash{animation:sp-auto .2s .5s forwards!important}}@keyframes greet-in{0%{transform:translate(-40px) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}.onb-hero{position:relative}.onb-cast{position:absolute;inset:0;pointer-events:none}.onb-cast .castmini{position:absolute;width:64px;height:64px;animation:castpop .5s cubic-bezier(.2,1.4,.4,1) both}.onb-cast .c1{left:6%;top:36px;animation-delay:.5s}.onb-cast .c2{right:6%;top:28px;animation-delay:.7s}.onb-cast .c3{right:9%;top:92px;width:52px;height:52px;animation-delay:.9s}@keyframes castpop{0%{transform:scale(.2) translateY(20px);opacity:0}to{transform:none;opacity:1}}.unofficial{position:fixed;left:0;right:0;top:0;z-index:90;background:#23262d;color:#fff;font-size:12px;font-weight:700;text-align:center;padding:calc(var(--safe-t) + 4px) 10px 4px}:root{--pic-bg: #f7f3ea}.picgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:380px;margin:auto auto 0;padding-top:10px}.picopt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;aspect-ratio:1 / 1;border-radius:18px;border:2px solid var(--line);background:var(--paper);box-shadow:0 3px 0 var(--line);min-width:0}.picopt:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.picopt .picimg{width:100%;height:auto;flex:1 1 auto;min-height:0;object-fit:contain;background:var(--pic-bg);border-radius:12px}.picopt.right{border-color:var(--pine);background:var(--pine-bg);box-shadow:0 3px 0 var(--pine)}.picopt.wrong{border-color:var(--falu);background:var(--bad-bg);box-shadow:0 3px 0 var(--falu)}.picopt:disabled:not(.right):not(.wrong){opacity:.6}.picl{font-size:14px;font-weight:700;line-height:1.15;text-align:center;color:var(--ink);max-width:100%;overflow-wrap:anywhere}.picalt{display:grid;place-items:center;width:100%;flex:1 1 auto;background:var(--pic-bg);color:#1f2a3a;border-radius:12px;font-weight:800;font-size:17px;padding:8px;text-align:center}.picq{display:block;width:min(200px,52vw);height:auto;margin:2px auto;background:var(--pic-bg);border-radius:18px}.picintro{display:block;width:min(150px,40vw);height:auto;margin:0 auto 8px;background:var(--pic-bg);border-radius:16px}.picsm{display:block;width:min(120px,32vw);height:auto;margin:0 auto 6px;background:var(--pic-bg);border-radius:14px}.hbubble .picalt{min-height:90px}@media (max-height: 700px){.picgrid{max-width:300px}.picq{width:min(150px,44vw)}.picintro{width:110px}}@media (prefers-reduced-motion: no-preference){.picopt.right .picimg{animation:picpop .45s ease-out}}@keyframes picpop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.newbadge{display:inline-block;background:var(--lamp-bg);color:var(--amber-text);border-radius:999px;padding:1px 8px;font-weight:800;font-size:12px}.newtag{display:inline-block;align-self:flex-start;margin:0 0 6px;padding:3px 10px;border-radius:999px;background:var(--lamp-bg);color:var(--amber-text);font-weight:800;font-size:13px;letter-spacing:.02em;text-transform:uppercase}.hardtag,.fixtag{display:inline-block;align-self:flex-start;margin:0 0 6px;padding:3px 10px;border-radius:999px;font-weight:800;font-size:13px;letter-spacing:.02em;text-transform:uppercase}.hardtag{background:var(--bad-bg);color:var(--falu-text)}.fixtag{background:var(--pine-bg);color:var(--pine-strong)}.word h2 .hw{font:inherit;color:inherit;padding:0;border:0;background:none;border-bottom:2px dotted color-mix(in srgb,var(--muted) 70%,transparent);line-height:1.15;cursor:pointer}.word h2 .hw.new{border-bottom:3px solid var(--lamp);background:color-mix(in srgb,var(--lamp) 18%,transparent);border-radius:4px 4px 0 0;padding:0 2px}.hintpop{margin:8px 0 0;padding:8px 12px;border-radius:12px;background:var(--night);color:#fff;font-size:16px;display:inline-block}.hintpop strong{color:var(--lamp)}.picgrid.three{grid-template-columns:repeat(3,1fr);max-width:420px}.picopt.named{aspect-ratio:auto;padding:8px 6px 10px}.picopt.named .picimg{aspect-ratio:1 / 1;flex:none}.picopt.named .picl{font-size:16px;font-weight:800}.pep{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;margin:auto 0;padding:20px 8px}.pep h1{font-size:28px;margin:6px 0 0}.pep p{color:var(--muted);font-size:18px;margin:0;max-width:320px}@media (prefers-reduced-motion: no-preference){.pep .mascot{animation:peppop .5s ease-out}}@keyframes peppop{0%{transform:scale(.6) translateY(20px);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(1)}}.result{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:calc(var(--safe-b) + 24px)}.result .btnrow{margin-top:auto;padding-top:24px}.scene-dots{display:flex;justify-content:center;gap:6px;margin:0 0 18px}.scene-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.scene-dots i.on{background:var(--falu);width:18px;border-radius:99px}.scene-h{text-align:center;font-size:28px;margin:16px 0 6px}.scene-sub{text-align:center;color:var(--muted);font-size:18px;margin:0}.scene-big{font-size:96px;text-align:center;line-height:1;margin:40px 0 6px}@media (prefers-reduced-motion: no-preference){.scene-big,.result .rhero,.streak-burst.big,.levelup.big{animation:scenein .5s cubic-bezier(.2,1.4,.4,1)}}@keyframes scenein{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.streak-burst.big{margin-top:30px}.streak-burst.big .flame{font-size:110px}.levelup.big{display:flex;justify-content:center;margin-top:40px;background:none;border:0;box-shadow:none}.levelup.big .lu-badge{transform:scale(1.6)}.scene-path{margin-top:10px}.scene-path .unitblock{margin:0}.result .week{margin:18px auto 0;max-width:340px}.scene-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding-bottom:6vh}.result .btnrow{margin-top:0}.unitblock.bare{background:none;border:0;box-shadow:none;padding:0}.result .week .wd{color:var(--muted)}.result .week .today .wd{color:var(--ink)}.result .week .dot{border-color:var(--line)}.result .week .met .dot,.result .week .today .dot{border-color:var(--lamp)}.result .week .frozen .dot{border-color:var(--ice)}.homebar{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:calc(-1 * (var(--safe-t) + 18px)) -16px 4px;padding:calc(var(--safe-t) + 10px) 16px 10px;background:color-mix(in srgb,var(--snow) 90%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}.homebar .pill{min-height:40px;display:inline-flex;align-items:center;gap:4px}.pill.streak.on{background:var(--lamp-bg);color:var(--amber-text)}.goalring{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;flex:none}.goalring svg{position:absolute;inset:2px;width:40px;height:40px;transform:rotate(-90deg)}.goalring circle{fill:none;stroke-width:4}.goalring .gr-bg{stroke:var(--line)}.goalring .gr-fg{stroke:var(--falu);stroke-linecap:round}.goalring.met .gr-fg{stroke:var(--pine)}.goalring span{position:relative;font-size:11px;font-weight:800;color:var(--muted)}.goalring.met span{font-size:17px;color:var(--pine-strong)}.home .unitblock{margin-top:14px}.tab{position:relative}.tabdot{position:absolute;top:3px;left:calc(50% + 7px);width:10px;height:10px;border-radius:50%;background:var(--falu);border:2px solid var(--paper)}.node.xnode button{font-size:34px;line-height:1}.node.xnode.k-quick button{background:linear-gradient(160deg,#ffd470,#f2b33d);box-shadow:0 7px #c8891d}.node.xnode.k-fix button{background:var(--pine);box-shadow:0 7px #1b4434}.node.xnode.k-srs button{background:var(--b);box-shadow:0 7px #134a78}.node.xnode.k-quick:before{border-color:color-mix(in srgb,#f2b33d 55%,transparent)}.node.xnode.k-fix:before{border-color:color-mix(in srgb,var(--pine) 40%,transparent)}.node.xnode.k-srs:before{border-color:color-mix(in srgb,var(--b) 40%,transparent)}.node.xnode .nodetip{color:var(--ink)}.node.cur.quiet:before{display:none}.node.cur.quiet button{width:70px;height:64px}.drills{margin-bottom:10px}.drills h2{margin-top:2px}.quests-page .ticket{margin-top:4px}.flist{list-style:none;margin:4px 0 0;padding:0}.flist li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.flist li:first-child{border-top:0}.board .flist li{grid-template-columns:28px auto 1fr auto}.av{--h: 210;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:800;font-size:17px;color:#fff;background:hsl(var(--h) 45% 46%);box-shadow:inset 0 -3px #00000024}.av.sm{width:30px;height:30px;font-size:14px}.fn{display:flex;flex-direction:column;min-width:0}.fn strong{display:flex;align-items:center;gap:6px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fn small{color:var(--muted);font-size:13px;font-weight:600}.fx{font-weight:800;font-size:15px;color:var(--ink);white-space:nowrap}.fn .live{width:8px;height:8px;border-radius:50%;background:var(--pine);flex:none}.rk{font-weight:800;color:var(--muted);text-align:center;font-size:16px}.board li.me{background:var(--pine-bg);border-radius:12px;border-top-color:transparent;margin:0 -8px;padding:9px 8px}.board li.me+li{border-top-color:transparent}.board .flist+.hint{margin-top:10px}.fback{display:flex;align-items:center;gap:10px;width:100%;margin-top:8px;padding:10px 12px;border-radius:14px;background:var(--snow);text-align:left;font-size:15px}.fback span{flex:1}.fback em{font-style:normal;font-weight:800;color:var(--link);font-size:14px;white-space:nowrap}.btn.small.quiet{background:var(--snow);color:var(--muted);border:1px solid var(--line)}.mycode{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;color:var(--muted);font-weight:700}.invite-note{background:var(--pine-bg);color:var(--ink);border-radius:14px;padding:12px 14px;margin:14px 0 0;font-size:15px}.friends-page .coderow{justify-content:flex-start}.friends-page .flist{margin-top:10px}.account .form label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:600;font-size:15px;color:var(--ink)}.account .form label.check input{flex:none;margin-top:1px}.account .form .codein{font-size:30px!important;letter-spacing:.35em;text-align:center;font-weight:800;padding:12px!important;font-variant-numeric:tabular-nums}.account .btnrow .btn{flex:1}.account .panel.form .btn+.btn{margin-top:10px}.choice{display:grid;gap:4px;width:100%;text-align:left;margin-top:12px;padding:14px 16px;border-radius:18px;background:var(--paper);border:2px solid var(--line)}.choice:active{transform:scale(.99)}.choice strong{font-size:17px}.choice small{color:var(--muted);font-size:14px;font-weight:600}.btnline{display:flex;align-items:center;gap:12px;margin-top:6px}.banner .btnline .btn{margin-top:0}.shoe{width:20px;height:20px;flex:none}.pill.shoes{display:inline-flex;align-items:center;gap:3px;font:inherit;font-weight:800;color:var(--ink)}.pill.shoes.low{border-color:var(--falu);color:var(--falu-text)}.lshoes{position:relative;display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:16px;white-space:nowrap;color:var(--ink)}.lshoes.low{color:var(--falu-text)}.lshoes.hit .shoe{animation:shoe-hit .5s ease}.shoefloat{position:absolute;right:-4px;top:-16px;font-style:normal;font-weight:800;font-size:14px;color:var(--falu-text);animation:shoe-float 1.1s ease forwards;pointer-events:none}@keyframes shoe-hit{25%{transform:rotate(-18deg) scale(1.15)}60%{transform:rotate(12deg)}}@keyframes shoe-float{0%{transform:translateY(0);opacity:1}to{transform:translateY(-14px);opacity:0}}.shoerow{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin:6px 0 10px}.shoerow span{opacity:.22;filter:grayscale(1)}.shoerow span.on{opacity:1;filter:none}.shoerow .shoe{width:28px;height:28px}.shoehero{text-align:center;margin:4px 0 6px}.shoebig{font-size:26px;font-weight:800;margin:2px 0 4px}.shoeopts{display:grid;gap:10px;margin:14px 0}.shoeopt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:16px;background:var(--paper);border:2px solid var(--line)}.shoeopt:active:not(:disabled){transform:scale(.99)}.shoeopt.buy{border-color:#f2b33d;background:linear-gradient(135deg,color-mix(in srgb,#f2b33d 16%,var(--paper)),var(--paper));box-shadow:0 4px #d9a032,0 10px 18px -8px #d9a03299}.shoeopt.buy strong{color:var(--amber-text)}.shoeopt.buy2{border-color:color-mix(in srgb,#f2b33d 55%,var(--line))}.buyopts{margin-bottom:4px}.buyor{text-align:center;color:var(--muted);font-weight:700;font-size:14px;margin:10px 0 8px}.plusprices .pp{font:inherit;color:inherit;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}.plusprices .pp:active{transform:scale(.98)}.pp-cta{display:block;margin-top:8px;padding:7px 0;border-radius:12px;background:var(--falu);color:#fff;font-weight:800;font-size:15px;box-shadow:0 3px #6e1f1f}.pp:not(.best) .pp-cta{background:var(--paper);color:var(--falu-text);border:2px solid var(--line);box-shadow:0 3px 0 var(--line)}.buymodal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0b15288c;animation:bm-in .2s ease-out both}@keyframes bm-in{0%{opacity:0}to{opacity:1}}.buycard{width:min(360px,100%);background:var(--paper);border-radius:24px;padding:22px 20px 20px;text-align:center;box-shadow:0 20px 50px #00000059;animation:bm-card .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes bm-card{0%{transform:translateY(30px) scale(.9);opacity:0}to{transform:none;opacity:1}}.buyhorse{width:132px;height:132px;object-fit:contain;margin:-70px auto 2px;display:block;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25));animation:hp-in .6s cubic-bezier(.2,1.5,.4,1) both}.buycard h2{font-size:24px;margin:0 0 6px}.buycard p{margin:0 0 12px;font-size:16px}.buyshoes{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 16px;color:var(--muted);font-weight:700;font-size:14px}.buyshoes .shoerow .shoe{width:22px;height:22px}@media (prefers-reduced-motion: reduce){.buymodal,.buycard,.buyhorse{animation:none}}.shoeopt:disabled{opacity:.55}.shoeopt strong{display:block;font-size:16px}.shoeopt small{display:block;color:var(--muted);font-size:14px;font-weight:600}.shoeopt .so-ico{width:30px;display:grid;place-items:center;font-size:22px;flex:none}.shoeopt .so-ico svg{width:26px;height:26px}.shoeopt.plus{border-color:var(--lamp);background:var(--lamp-bg)}.noshoes{padding-top:18px}.noshoes .scene-h{text-align:center;margin:4px 0 0}.plushero{text-align:center;margin-bottom:6px}.plushero .mascot{width:120px;height:120px}.plushero h1{margin:6px 0}.pluslist{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}.pluslist li{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.pluslist li .shoe,.pluslist .pl-e{width:28px;height:28px;font-size:22px;display:grid;place-items:center;flex:none}.pluslist strong{display:block}.pluslist small{display:block;color:var(--muted);font-size:14px;font-weight:600}.plusprice{text-align:center;font-weight:800;font-size:17px;margin:18px 0 12px}@media (prefers-reduced-motion: reduce){.lshoes.hit .shoe,.shoefloat{animation:none}}.gainline{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px 0 0;font-weight:800;color:var(--muted)}.plusprices{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;margin:16px 0 6px}.pp{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 10px 12px;border-radius:18px;background:var(--paper);border:2px solid var(--line);text-align:center}.pp.best{border-color:var(--lamp);background:var(--lamp-bg)}.pp strong{font-size:15px;color:var(--muted)}.pp .pp-big{font-size:26px;font-weight:800;color:var(--ink)}.pp small{color:var(--muted);font-size:13px;font-weight:700}.pp.best small{color:var(--amber-text)}.pp-tag{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:var(--falu);color:#fff;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}.m-scared .m-body{animation:m-shiver .12s linear 10}.mascot .m-sweat{transform-box:fill-box;transform-origin:50% 0;animation:m-drip 1.8s ease-in .2s 2 both}.m-angry .m-body{animation:m-stomp .5s cubic-bezier(.3,.7,.4,1) 3}.mascot .m-puff{animation:m-steam 1.4s ease-out 3}.mascot .m-puff.p2{animation-delay:.45s}@keyframes m-shiver{0%,to{transform:translate(0)}25%{transform:translate(-1.2%)}75%{transform:translate(1.2%)}}@keyframes m-stomp{0%,to{transform:none}30%{transform:translateY(-3%) rotate(-2deg)}55%{transform:scale(1.03,.96)}}@keyframes m-steam{0%{transform:translateY(4px);opacity:0}30%{opacity:1}to{transform:translateY(-8px);opacity:0}}@media (prefers-reduced-motion: reduce){.m-scared .m-body,.m-angry .m-body,.mascot .m-puff,.mascot .m-sweat{animation:none}}.quests-page .buddy.mood{margin:2px 0 14px}.quests-page .buddy.mood .mascot{width:72px;height:72px}.plustrial{text-align:center;font-weight:800;color:var(--pine-strong);margin:12px 0 0}.fx-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:45}.fx-layer{position:fixed;inset:0;pointer-events:none;z-index:44;overflow:hidden}.fx-storm{position:absolute;inset:0;background:#0b1528;opacity:0;animation:fx-storm .7s ease-out forwards}.fx-flash{position:absolute;inset:0;opacity:0;animation:fx-flash .6s ease-out forwards}@keyframes fx-storm{0%{opacity:0}8%{opacity:.55}20%{opacity:.15}34%{opacity:.4}to{opacity:0}}.fx-bolt{position:absolute;inset:0;overflow:visible}.fx-bolt path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600;animation:fx-strike .12s ease-out forwards,fx-flicker .9s .12s linear forwards}.fx-bolt .glow{stroke:#f2b33d;stroke-width:16;opacity:.7;filter:blur(4px)}.fx-bolt .core{stroke:#fffbe6;stroke-width:5}.fx-bolt .glow.thin{stroke-width:9}.fx-bolt .core.thin{stroke-width:2.5}.fx-banner{position:absolute;left:0;right:0;top:22%;display:flex;flex-direction:column;align-items:center;gap:2px;animation:fx-banner 1.25s cubic-bezier(.2,.9,.3,1) forwards}.fx-banner strong{font-size:44px;font-weight:900;font-style:italic;letter-spacing:-.01em;color:#fff;padding:2px 22px;background:linear-gradient(100deg,#f2b33d,#f28c28 55%,#c23b2f);border-radius:14px;transform:skew(-8deg);box-shadow:0 10px 30px #c23b2f59;text-shadow:0 2px 0 rgba(0,0,0,.18)}.fx-banner small{font-size:16px;font-weight:800;color:var(--amber-text);background:var(--paper);padding:3px 12px;border-radius:999px;box-shadow:0 4px 14px #13213c26}@keyframes fx-flash{0%{opacity:0}12%{opacity:1}30%{opacity:.35}42%{opacity:.8}to{opacity:0}}@keyframes fx-strike{to{stroke-dashoffset:0}}@keyframes fx-flicker{0%,20%,40%{opacity:1}10%,30%{opacity:.25}to{opacity:0}}@keyframes fx-banner{0%{transform:translate(-110%) scale(.9);opacity:0}18%{transform:translate(4%) scale(1.05);opacity:1}28%{transform:none}78%{transform:none;opacity:1}to{transform:translate(110%) scale(.95);opacity:0}}.fx-hp-layer{z-index:46}.fx-hp{position:absolute;left:50%;width:300px;margin-left:-150px;display:flex;flex-direction:column;align-items:center;perspective:700px}.fx-hp-fig{position:relative;width:178px;height:178px}.fx-hp-fig img{position:relative;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.28));transform-origin:50% 85%;animation:hp-in .6s cubic-bezier(.2,1.5,.4,1) both,hp-bob .55s ease-in-out .6s 2 alternate,hp-out .5s cubic-bezier(.5,0,.8,.4) 1.75s forwards}.fx-hp-shadow{position:absolute;left:22%;right:22%;bottom:0;height:16px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.38),transparent);animation:hp-shadow 2.25s ease-out both}@keyframes hp-in{0%{transform:translateY(90px) scale(.15) rotateX(40deg);opacity:0}55%{transform:translateY(-18px) scale(1.12) rotateX(-8deg);opacity:1}78%{transform:translateY(4px) scale(.95,1.05)}to{transform:none;opacity:1}}@keyframes hp-bob{0%{transform:none}to{transform:translateY(-8px) rotateY(14deg) rotate(-2deg)}}@keyframes hp-out{0%{transform:none;opacity:1}25%{transform:translateY(10px) scale(1.08,.88)}to{transform:translateY(-160px) scale(.35) rotate(18deg);opacity:0}}@keyframes hp-shadow{0%{transform:scale(.2);opacity:0}25%,76%{transform:scale(1);opacity:1}84%{transform:scale(1.12);opacity:1}to{transform:scale(.2);opacity:0}}.fx-hp-rays{position:absolute;top:-50px;width:300px;height:300px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,214,90,.42) 0 9deg,transparent 9deg 24deg);-webkit-mask:radial-gradient(closest-side,#000 28%,transparent);mask:radial-gradient(closest-side,#000 28%,transparent);animation:hp-rays 2.25s linear both}@keyframes hp-rays{0%{transform:rotate(0) scale(.3);opacity:0}20%{opacity:1;transform:rotate(18deg) scale(1)}80%{opacity:1}to{transform:rotate(80deg) scale(1.1);opacity:0}}.fx-hp-say{position:absolute;top:2px;left:calc(50% + 58px);background:#fff;color:#1d2433;font-weight:900;font-size:19px;padding:7px 14px;border-radius:16px;box-shadow:0 6px 18px #13213c40;white-space:nowrap;transform-origin:0 100%;animation:hp-say 2.25s cubic-bezier(.2,1.5,.4,1) both}.fx-hp-say:after{content:"";position:absolute;left:12px;bottom:-9px;border-style:solid;border-width:10px 6px 0 4px;border-color:#fff transparent transparent transparent}@keyframes hp-say{0%,18%{transform:scale(0) rotate(-12deg);opacity:0}30%{transform:scale(1.12) rotate(3deg);opacity:1}36%,76%{transform:none;opacity:1}86%,to{transform:scale(.4);opacity:0}}.fx-hp-text{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:4px}.fx-hp-text strong{display:flex;font-size:40px;font-weight:900;font-style:italic;color:#fff;letter-spacing:-.01em;padding:0 20px;background:linear-gradient(100deg,#f2b33d,#f28c28 55%,#c23b2f);border-radius:14px;box-shadow:0 10px 30px #c23b2f59;text-shadow:0 2px 0 rgba(0,0,0,.2);animation:hp-text 2.25s ease both}.fx-hp-text strong span{display:inline-block;animation:hp-letter .45s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(.3s + var(--i) * 35ms)}@keyframes hp-letter{0%{transform:translateY(18px) scale(.2);opacity:0}to{transform:none;opacity:1}}@keyframes hp-text{0%,12%{opacity:0;transform:skew(-8deg) scaleX(.2)}22%{opacity:1;transform:skew(-8deg) scaleX(1.06)}28%,80%{opacity:1;transform:skew(-8deg)}to{opacity:0;transform:skew(-8deg) translateY(10px)}}.fx-hp-text small{font-size:16px;font-weight:800;color:var(--amber-text);background:var(--paper);padding:3px 12px;border-radius:999px;box-shadow:0 4px 14px #13213c26;animation:hp-sub 2.25s ease both}@keyframes hp-sub{0%,30%{opacity:0;transform:translateY(8px)}40%,80%{opacity:1;transform:none}to{opacity:0}}.fx-thrower{position:absolute;transform:translate(-115%,35%);transform-origin:50% 92%;will-change:transform}.fx-thrower img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(19,33,60,.28))}.fx-thrower .thr-b{opacity:0}.fx-thr-shadow{position:absolute;left:18%;right:18%;bottom:2%;height:9%;border-radius:50%;background:#13213c2e;filter:blur(3px)}.fx-b2{position:absolute;left:0;top:0;width:0;height:0;opacity:0;will-change:transform,opacity}.fx-b2y{position:absolute;left:0;top:0;will-change:transform}.fx-b2s{position:absolute;width:64px;height:64px;margin:-32px 0 0 -32px;will-change:transform}.fx-b2s svg{display:block;width:100%;height:100%;filter:drop-shadow(0 6px 10px rgba(19,33,60,.25))}.fx-b2.ghost .fx-b2s svg{filter:blur(1.5px)}.fx-splat{position:absolute;inset:0;overflow:visible;opacity:0;animation:fx-splat 3.4s .5s cubic-bezier(.2,1.4,.4,1) forwards}.fx-splat .splat-body path,.fx-splat .splat-body circle{fill:#fff}.fx-splat .splat-shadow path{fill:#6fa9d8;opacity:.6;filter:blur(1.5px)}.fx-splat .splat-body{filter:drop-shadow(0 6px 14px rgba(19,33,60,.18))}.fx-splat .drip{transform-box:fill-box;transform-origin:50% 0;animation:fx-drip 1.6s ease-in both}.fx-splat-text{position:absolute;transform:translate(-50%,-50%) rotate(-6deg);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;animation:fx-splat-text 3.3s .58s cubic-bezier(.2,1.6,.4,1) forwards}.fx-splat-text strong{font-size:38px;font-weight:900;color:#1f3560;line-height:1.05;white-space:nowrap}.fx-splat-text small{font-size:16px;font-weight:800;color:#2f6db5;margin-top:4px;white-space:nowrap}@keyframes fx-splat{0%{opacity:1;transform:scale(.2)}14%{transform:scale(1.06)}22%{transform:scale(1)}82%{opacity:1;transform:none}to{opacity:0;transform:translateY(40px) scale(.98)}}@keyframes fx-drip{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes fx-splat-text{0%{opacity:0;transform:translate(-50%,-50%) rotate(-6deg) scale(.3)}16%{opacity:1;transform:translate(-50%,-50%) rotate(-6deg) scale(1.12)}26%{transform:translate(-50%,-50%) rotate(-6deg) scale(1)}82%{opacity:1}to{opacity:0;transform:translate(-50%,-30%) rotate(-6deg)}}.fx-sm{position:absolute;width:160px;height:213px;margin:-106px 0 0 -80px;transform-origin:50% 100%;animation:fx-sm-drop 1.3s cubic-bezier(.5,0,.6,1) forwards}.fx-sm svg{width:100%;height:100%}.fx-sm.pop{animation:fx-sm-pop .22s ease-out forwards}@keyframes fx-sm-drop{0%{transform:translateY(-110vh)}45%{transform:translateY(0) scale(1.08,.86)}58%{transform:translateY(-34px) scale(.96,1.05)}70%{transform:translateY(0) scale(1.05,.93)}78%{transform:none}86%{transform:rotate(-6deg)}94%{transform:rotate(6deg)}to{transform:scale(1.06)}}@keyframes fx-sm-pop{to{transform:scale(1.5);opacity:0}}.fx-horse{position:absolute;left:0;top:0;width:110px;height:110px;transform-origin:50% 100%}.fx-horse .mascot{width:110px;height:110px}@media (prefers-reduced-motion: reduce){.fx-layer,.fx-canvas{display:none}}.host-c.jump{animation:host-jump .7s cubic-bezier(.3,.7,.4,1) both}@keyframes host-jump{0%{transform:none}25%{transform:translateY(-22px) rotate(-6deg) scale(1.04)}50%{transform:translateY(0) scale(1.06,.92)}70%{transform:translateY(-8px)}to{transform:none}}.streak-burst .num{display:inline-block}.blitz{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:calc(var(--safe-b) + 24px)}.bz-top{display:flex;align-items:center;gap:10px}.bz-top .icon{margin-left:-8px;color:var(--muted)}.bz-bar{flex:1;height:14px;border-radius:999px;background:var(--line);overflow:hidden}.bz-bar i{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#f2b33d,#f28c28)}.bz-time{font-weight:800;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.blitz.hurry .bz-bar i{background:linear-gradient(90deg,#c23b2f,#e0534a);animation:bz-pulse .5s ease-in-out infinite alternate}.blitz.hurry .bz-time{color:var(--falu-text)}@keyframes bz-pulse{to{opacity:.55}}.bz-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 2px}.bz-head h1{font-size:24px}.bz-meter{font-weight:800;font-size:17px;color:var(--muted);padding:4px 12px;border-radius:999px;background:var(--lamp-bg)}.bz-meter strong{color:var(--amber-text);font-size:20px;font-variant-numeric:tabular-nums}.bz-meter.zap{animation:bz-zap .6s ease-out}@keyframes bz-zap{0%{box-shadow:0 0 #f2b33de6;transform:scale(1.15)}to{box-shadow:0 0 0 16px #f2b33d00;transform:none}}.bz-hint{margin:2px 0 12px;font-size:15px}.bz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;margin-bottom:auto}.bz-col{display:grid;gap:10px;align-content:start}.bz-t{min-height:62px;padding:8px 10px;border-radius:16px;border:2px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:17px;font-weight:700;box-shadow:0 3px 0 var(--line);overflow-wrap:anywhere;line-height:1.2;transition:transform .08s ease,background .12s,border-color .12s}.blitz:not(.bz-live) .bz-t{opacity:.35;pointer-events:none}.bz-t:active{transform:scale(.97)}.bz-t.sel{border-color:var(--link);background:color-mix(in srgb,var(--link) 12%,var(--paper));box-shadow:0 3px color-mix(in srgb,var(--link) 45%,transparent)}.bz-t.ok{border-color:var(--pine);background:var(--pine-bg);color:var(--pine);box-shadow:none;animation:bz-ok .23s ease-in forwards;pointer-events:none}.bz-t.in{animation:bz-in .28s cubic-bezier(.2,1.5,.4,1) both}.bz-t.bad{border-color:var(--falu);background:var(--bad-bg);animation:shake .35s 1}@keyframes bz-ok{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(.6);opacity:0}}.bz-t.gone{background:transparent;border:2px dashed color-mix(in srgb,var(--line) 75%,transparent);box-shadow:none;color:transparent;pointer-events:none;animation:bz-gone .2s ease-out both}@keyframes bz-gone{0%{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}.bz-mst{display:inline-flex;gap:1px;margin-right:6px;vertical-align:-2px}.bz-mst .st svg{width:17px;height:17px;fill:var(--line);stroke:none;transition:fill .2s}.bz-mst .st.on svg{fill:#f2b33d;filter:drop-shadow(0 1px 0 #c8891d);animation:bz-star .45s cubic-bezier(.2,1.6,.4,1) both}.bz-goal{font-size:15px}@keyframes bz-in{0%{transform:scale(.5);opacity:0}to{transform:none;opacity:1}}.bz-count{position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);font-size:96px;font-weight:900;color:var(--falu);text-shadow:0 6px 0 rgba(0,0,0,.12);pointer-events:none;z-index:30}.bz-count.pop{animation:bz-count .7s cubic-bezier(.2,1.4,.4,1) both}.bz-count.go{font-size:64px;color:var(--pine-strong);animation:bz-count .6s cubic-bezier(.2,1.4,.4,1) both}@keyframes bz-count{0%{transform:translate(-50%,-50%) scale(2.2);opacity:0}30%{transform:translate(-50%,-50%) scale(1);opacity:1}80%{opacity:1}to{transform:translate(-50%,-50%) scale(.8);opacity:0}}.bz-stars{display:flex;justify-content:center;gap:10px;margin:6px 0 8px}.bz-stars .st svg{width:58px;height:58px;fill:var(--line);stroke:none}.bz-stars .st:nth-child(2) svg{width:70px;height:70px;transform:translateY(-8px)}.bz-stars .st.on svg{fill:#f2b33d;filter:drop-shadow(0 3px 0 #c8891d);animation:bz-star .45s cubic-bezier(.2,1.6,.4,1) both}@keyframes bz-star{0%{transform:scale(.2) rotate(-40deg)}to{transform:none}}.bz-stars .st:nth-child(2).on svg{animation-name:bz-star2}@keyframes bz-star2{0%{transform:translateY(-8px) scale(.2) rotate(-40deg)}to{transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){.bz-t.ok,.bz-t.in,.bz-t.bad,.bz-count,.bz-stars .st.on svg{animation:none!important}}.sidekick{position:absolute;top:50%;translate:0 -62%;width:150px;height:150px;cursor:pointer;z-index:1;-webkit-tap-highlight-color:transparent}.sidekick.side-l{right:calc(100% + 22px)}.sidekick.side-r{left:calc(100% + 22px)}.sidekick:active .sk-stage{scale:.95}.sidekick:focus-visible{outline:3px solid var(--lamp);outline-offset:4px;border-radius:18px}.sk-stage{position:relative;display:block;width:100%;height:100%;transition:scale .1s}.sk-stage .mascot{position:absolute;inset:0;width:100%;height:100%}.sk-stage .m-body,.sk-stage .m-eye,.sk-stage .m-spark,.sk-stage .m-z{animation:none!important}.sk-props{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.sk-props .sk-fire path,.sk-props .sk-rain path{transform-box:fill-box}.sk-badge{position:absolute;right:6px;top:8px;width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#f4f6fa 60%,#dfe5ee);display:grid;place-items:center;box-shadow:0 3px #c5cdd9,0 6px 12px #0003;animation:sk-badge 2.4s ease-in-out infinite}.sk-badge .bolt3d{width:24px;height:24px;vertical-align:0}@keyframes sk-badge{0%,70%,to{scale:1}80%{scale:1.25}90%{scale:.95}}.sk-b,.sk-c{opacity:0}@keyframes sk-flick{0%{transform:scaleY(.85) skew(-4deg)}to{transform:scaleY(1.12) skew(5deg)}}.sk-broom .sk-a{animation:skb-a 8s steps(1) infinite}.sk-broom .sk-b{animation:skb-b 8s steps(1) infinite}.sk-broom .sk-c{animation:skb-c 8s steps(1) infinite}@keyframes skb-a{0%{opacity:1}22%{opacity:0}76%{opacity:1}to{opacity:1}}@keyframes skb-b{0%{opacity:0}22%{opacity:1}40%{opacity:0}to{opacity:0}}@keyframes skb-c{0%{opacity:0}40%{opacity:1}76%{opacity:0}to{opacity:0}}.sk-stage.sk-broom{animation:skb-hop 8s ease-out infinite}@keyframes skb-hop{0%,40%{transform:none}43%{transform:translateY(-11px) rotate(-3deg)}46%{transform:none}49%{transform:translateY(-7px) rotate(3deg)}52%,to{transform:none}}.sk-broom .sk-brm{transform-origin:84px 90px;transform-box:view-box;animation:skb-sweep 8s ease-in-out infinite}@keyframes skb-sweep{0%{transform:rotate(-47deg)}6%{transform:rotate(-40deg)}12%{transform:rotate(-54deg)}18%{transform:rotate(-40deg)}23%{transform:rotate(-54deg)}27.5%{transform:rotate(-40deg)}31.5%{transform:rotate(-54deg)}35%{transform:rotate(-40deg)}37.8%{transform:rotate(-54deg)}40%,76%{transform:rotate(-47deg)}82%{transform:rotate(-42deg)}88%{transform:rotate(-52deg)}94%{transform:rotate(-42deg)}to{transform:rotate(-47deg)}}.sk-broom .sk-char{opacity:0;animation:skb-char 8s linear infinite}@keyframes skb-char{0%,40%{opacity:0}52%,88%{opacity:.8}to{opacity:0}}.sk-broom .sk-dust{opacity:0;animation:skb-dustwin 8s steps(1) infinite}@keyframes skb-dustwin{0%{opacity:0}6%{opacity:1}40%{opacity:0}to{opacity:0}}.sk-broom .sk-dust circle{transform-box:fill-box;transform-origin:center;animation:skb-puff .62s ease-out infinite}.sk-broom .sk-dust .d2{animation-delay:-.21s}.sk-broom .sk-dust .d3{animation-delay:-.42s}@keyframes skb-puff{0%{transform:translate(0) scale(.3);opacity:.9}to{transform:translate(5px,-9px) scale(1.7);opacity:0}}.sk-broom .sk-wisp{opacity:0;animation:skb-wisp 8s linear infinite}@keyframes skb-wisp{0%,31%{opacity:0;transform:translateY(2px)}34%{opacity:.9}40%{opacity:.9;transform:translateY(-5px)}42%,to{opacity:0;transform:translateY(-8px)}}.sk-broom .sk-flm{opacity:0;transform-origin:106px 112px;transform-box:view-box;animation:skb-fire 8s linear infinite}@keyframes skb-fire{0%,39.9%{opacity:0;transform:scale(.2)}41%{opacity:1;transform:scale(1.3)}43%{opacity:1;transform:scale(.95)}45%,62%{opacity:1;transform:scale(1)}64%{opacity:1;transform:scale(1.12)}66.5%,to{opacity:0;transform:scale(.1)}}.sk-broom .sk-flm .f1,.sk-broom .sk-flm .f2,.sk-broom .sk-flm .f3{transform-box:fill-box;transform-origin:50% 100%;animation:sk-flick .2s ease-in-out infinite alternate}.sk-broom .sk-flm .f2{animation-delay:.07s}.sk-broom .sk-flm .f3{animation-delay:.13s}.sk-broom .sk-glw{transform-box:fill-box;transform-origin:center;animation:skb-glow .45s ease-in-out infinite alternate}@keyframes skb-glow{0%{opacity:.7;transform:scale(.88)}to{opacity:1;transform:scale(1.08)}}.sk-broom .sk-spk circle{transform-box:fill-box;transform-origin:center;animation:skb-spark .8s ease-out infinite}.sk-broom .sk-spk circle:nth-child(2){animation-delay:-.2s}.sk-broom .sk-spk circle:nth-child(3){animation-delay:-.4s}.sk-broom .sk-spk circle:nth-child(4){animation-delay:-.6s}@keyframes skb-spark{0%{transform:translate(0);opacity:1}to{transform:translate(3px,-16px);opacity:0}}.sk-broom .sk-bkt{transform-origin:27px 114px;transform-box:view-box;animation:skb-bucket 8s ease-in-out infinite}@keyframes skb-bucket{0%,56%{transform:none}58.5%{transform:translateY(-7px) rotate(-6deg)}61%,66%{transform:rotate(40deg)}72%,to{transform:none}}.sk-broom .sk-bub{transform-box:fill-box;transform-origin:center;animation:skb-bub 2.2s ease-in-out infinite}.sk-broom .sk-bub.b2{animation-delay:-1.1s}@keyframes skb-bub{0%{transform:translateY(4px) scale(.4);opacity:0}30%{opacity:.9}to{transform:translateY(-8px) scale(1);opacity:0}}.sk-broom .sk-wave{opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:skb-wave 8s ease-in infinite}@keyframes skb-wave{0%,60.9%{opacity:0;transform:translate(14px) scale(.4)}61.5%{opacity:1;transform:translate(22px) scale(.75)}66%{opacity:1;transform:translate(90px) scale(1.15)}68%,to{opacity:0;transform:translate(98px) scale(1.3)}}.sk-broom .sk-splash{opacity:0;animation:skb-splashwin 8s steps(1) infinite}@keyframes skb-splashwin{0%{opacity:0}65.5%{opacity:1}71.5%{opacity:0}to{opacity:0}}.sk-broom .sk-splash path{transform-box:fill-box;transform-origin:center;animation:skb-drop 8s ease-out infinite}.sk-broom .sk-splash .s1{--dx: -8px;--dy: -14px}.sk-broom .sk-splash .s2{--dx: -3px;--dy: -19px}.sk-broom .sk-splash .s3{--dx: 3px;--dy: -20px}.sk-broom .sk-splash .s4{--dx: 8px;--dy: -15px}.sk-broom .sk-splash .s5{--dx: 12px;--dy: -9px}.sk-broom .sk-splash .s6{--dx: -12px;--dy: -8px}@keyframes skb-drop{0%,65.5%{transform:translate(0) scale(.5)}69%{transform:translate(var(--dx),var(--dy)) scale(1.1)}71.5%,to{transform:translate(var(--dx),calc(var(--dy) + 7px)) scale(.8)}}.sk-broom .sk-smk{opacity:0;animation:skb-smkwin 8s linear infinite}@keyframes skb-smkwin{0%,65%{opacity:0}67%,88%{opacity:1}97%,to{opacity:0}}.sk-broom .sk-smk circle{transform-box:fill-box;transform-origin:center;animation:skb-smoke 1.6s ease-out infinite}.sk-broom .sk-smk .p2{animation-delay:-.32s}.sk-broom .sk-smk .p3{animation-delay:-.64s}.sk-broom .sk-smk .p4{animation-delay:-.96s}.sk-broom .sk-smk .p5{animation-delay:-1.28s}@keyframes skb-smoke{0%{transform:translateY(4px) scale(.4);opacity:0}15%{opacity:.95}to{transform:translate(-4px,-32px) scale(2);opacity:0}}.sk-pan .sk-a{animation:skp-a 7s steps(1) infinite}.sk-pan .sk-b{animation:skp-b 7s steps(1) infinite}.sk-pan .sk-c{animation:skp-c 7s steps(1) infinite}@keyframes skp-a{0%{opacity:1}28%{opacity:0}94%{opacity:1}to{opacity:1}}@keyframes skp-b{0%{opacity:0}28%{opacity:1}62%{opacity:0}to{opacity:0}}@keyframes skp-c{0%{opacity:0}62%{opacity:1}94%{opacity:0}to{opacity:0}}.sk-stage.sk-pan{animation:skp-hop 7s ease-out infinite}@keyframes skp-hop{0%,62%{transform:none}64%{transform:translateY(5px) scale(1.04,.94)}67%{transform:translateY(-9px) rotate(-3deg)}70%{transform:none}73%{transform:translateY(-4px) rotate(2deg)}76%,to{transform:none}}.sk-pan .sk-pan{transform-origin:86px 84px;transform-box:view-box;animation:skp-flip 7s ease-in-out infinite}@keyframes skp-flip{0%{transform:rotate(0);opacity:1}4%{transform:rotate(-3deg)}8%{transform:rotate(2deg)}12%{transform:rotate(-2deg)}14%{transform:rotate(7deg)}17%{transform:rotate(-28deg)}22%,62%{transform:rotate(0);opacity:1}66%,90%{transform:translate(-2px,26px) rotate(26deg);opacity:1}92%{transform:translate(-2px,26px) rotate(26deg);opacity:0}93%{transform:none;opacity:0}97%,to{transform:none;opacity:1}}.sk-pan .sk-steam{animation:skp-steam 7s linear infinite}@keyframes skp-steam{0%{opacity:.8;transform:translateY(0)}6%{opacity:.2;transform:translateY(-4px)}7%{opacity:0}9%{opacity:.8;transform:translateY(0)}14%,to{opacity:0}}.sk-pan .sk-cake{transform-origin:108px 80px;transform-box:view-box;animation:skp-cake 7s linear infinite}@keyframes skp-cake{0%,16%{transform:translate(0) rotate(0);opacity:1;animation-timing-function:cubic-bezier(.15,.75,.35,1)}28%{transform:translate(-8px,-118px) rotate(540deg) scaleY(.75);opacity:1;animation-timing-function:ease-out}31%{transform:translate(-8px,-122px) rotate(540deg) scale(1.15,.55)}40%{transform:translate(-8px,-122px) rotate(536deg) scale(1.1,.6)}48%{transform:translate(-8px,-122px) rotate(544deg) scale(1.1,.6)}53%{transform:translate(-8px,-121px) rotate(540deg) scale(1.1,.6);animation-timing-function:cubic-bezier(.55,0,.9,.5)}62%{transform:translate(-48px,-82px) rotate(720deg) scale(1.25,.8);opacity:1}62.5%,93%{transform:translate(-48px,-82px) rotate(720deg);opacity:0}94%{transform:none;opacity:0}96%,to{transform:none;opacity:1}}.sk-pan .sk-drape{opacity:0;transform-origin:60px 6px;transform-box:view-box;animation:skp-drape 7s ease-out infinite}@keyframes skp-drape{0%,62%{opacity:0;transform:scale(1.3,.6)}62.5%{opacity:1;transform:scale(1.38,.5)}65%{transform:scale(.9,1.16)}68%{transform:scale(1.06,.94)}71%,86%{opacity:1;transform:none}88%{opacity:1;transform:rotate(-7deg)}94%,to{opacity:0;transform:translate(-30px,72px) rotate(-60deg)}}.sk-pan .sk-bonk{opacity:0;transform-origin:60px -2px;transform-box:view-box;animation:skp-bonk 7s ease-out infinite}@keyframes skp-bonk{0%,62%{opacity:0;transform:scale(.4) rotate(0)}64%{opacity:1;transform:scale(1.25) rotate(20deg)}76%{opacity:1;transform:scale(1) rotate(70deg)}82%,to{opacity:0;transform:scale(.6) rotate(110deg)}}.sk-hammer .sk-hammer{transform-origin:80px 92px;transform-box:view-box;animation:sk-hit 6s ease-in infinite}.sk-hammer .sk-ouch{opacity:0;transform-origin:80px 76px;transform-box:view-box;animation:sk-ouch 6s ease-out infinite}.sk-hammer .sk-b{animation:sk-shock3 6s steps(1) infinite}.sk-hammer .sk-a{animation:sk-calm3 6s steps(1) infinite}.sk-stage.sk-hammer{animation:sk-hop3 6s ease-out infinite}@keyframes sk-hit{0%{transform:rotate(0)}8%{transform:rotate(-38deg)}12%{transform:rotate(10deg)}20%{transform:rotate(-38deg)}24%{transform:rotate(10deg)}32%{transform:rotate(-38deg)}36%{transform:rotate(10deg)}46%{transform:rotate(-50deg)}50%{transform:rotate(-8deg) translate(-8px,8px)}56%,to{transform:rotate(0)}}@keyframes sk-ouch{0%,49%{opacity:0;transform:scale(.4) rotate(0)}52%{opacity:1;transform:scale(1.2) rotate(20deg)}74%{opacity:1;transform:scale(1) rotate(80deg)}80%,to{opacity:0;transform:scale(.6) rotate(120deg)}}@keyframes sk-shock3{0%,49%{opacity:0}50%,80%{opacity:1}81%,to{opacity:0}}@keyframes sk-calm3{0%,49%{opacity:1}50%,80%{opacity:0}81%,to{opacity:1}}@keyframes sk-hop3{0%,50%{transform:none}54%{transform:translateY(-12px) rotate(-5deg)}58%{transform:none}62%{transform:translateY(-9px) rotate(5deg)}66%{transform:none}70%{transform:translateY(-6px)}74%,to{transform:none}}.sk-rain .sk-cloud{opacity:0;animation:sk-cloud 8s ease-in-out infinite}.sk-rain .sk-rain path{animation:sk-drop .5s linear infinite}.sk-rain .sk-rain path:nth-child(2n){animation-delay:.25s}.sk-rain .sk-umbrella{opacity:0;transform-origin:86px 90px;transform-box:view-box;animation:sk-umb 8s cubic-bezier(.2,1.4,.4,1) infinite}.sk-rain .sk-b{animation:sk-shock4 8s steps(1) infinite}.sk-rain .sk-a{animation:sk-calm4 8s steps(1) infinite}@keyframes sk-cloud{0%,14%{opacity:0;transform:translate(-40px)}22%,82%{opacity:1;transform:none}90%,to{opacity:0;transform:translate(40px)}}@keyframes sk-drop{0%{transform:translateY(0);opacity:1}to{transform:translateY(16px);opacity:0}}@keyframes sk-umb{0%,46%{opacity:0;transform:scale(.2)}52%{opacity:1;transform:none}86%{opacity:1;transform:none}92%,to{opacity:0;transform:scale(.4,.1)}}@keyframes sk-shock4{0%,25%{opacity:0}26%,50%{opacity:1}51%,to{opacity:0}}@keyframes sk-calm4{0%,25%{opacity:1}26%,50%{opacity:0}51%,to{opacity:1}}@media (prefers-reduced-motion: reduce){.sk-stage,.sk-stage *,.sk-badge{animation:none!important}.sk-fire,.sk-smoke,.sk-water,.sk-ouch,.sk-cloud,.sk-umbrella,.sk-b,.sk-c,.sk-flm,.sk-smk,.sk-wave,.sk-splash,.sk-wisp,.sk-dust,.sk-char,.sk-drape,.sk-bonk{opacity:0!important}.sk-a{opacity:1!important}.sk-broom .sk-brm{transform:rotate(-47deg)}}.chestmodal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 42%,#ffd65a47,#0b1528c7 62%);animation:bm-in .2s ease-out both}.chestmodal.out{animation:ch-out .25s ease-in forwards}@keyframes ch-out{to{opacity:0}}.ch-card{width:min(360px,100%);text-align:center;color:#fff}.ch-kicker{font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#ffe39a;margin:0 0 4px}.ch-stage{position:relative;width:250px;height:250px;margin:0 auto}.ch-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(0,0,0,.4))}.ch-closed{animation:ch-in .55s cubic-bezier(.2,1.5,.4,1) both,ch-idle 2.4s ease-in-out .6s infinite}.ch-open{opacity:0;transform:scale(.9)}.ch-glow{position:absolute;inset:-40px;border-radius:50%;background:repeating-conic-gradient(rgba(255,214,90,.38) 0 10deg,transparent 10deg 24deg);-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);mask:radial-gradient(closest-side,#000 30%,transparent);opacity:0;transition:opacity .35s;animation:ch-spin 7s linear infinite}@keyframes ch-spin{to{transform:rotate(360deg)}}.ch-lock{position:absolute;left:50%;top:50%;width:74px;height:84px;margin-left:-37px;border:0;background:none;padding:0;cursor:pointer;filter:drop-shadow(0 6px 6px rgba(0,0,0,.35));animation:ch-lockbob 1.2s ease-in-out .7s infinite;-webkit-tap-highlight-color:transparent}.ch-lock svg{width:100%;height:100%;overflow:visible}.ch-lock .pl-shackle{transition:transform .25s cubic-bezier(.2,1.6,.4,1);transform-box:view-box;transform-origin:46px 34px}.ch-hint{font-weight:800;font-size:18px;margin:10px 0 0;animation:tipbob 1.6s ease-in-out infinite}.chestmodal.unlocking .ch-lock{animation:ch-lockoff .7s cubic-bezier(.4,0,.6,1) forwards}.chestmodal.unlocking .pl-shackle{transform:translateY(-9px) rotate(-14deg)}.chestmodal.unlocking .ch-closed{animation:ch-shake .45s ease-in-out both}.chestmodal.opened .ch-closed{opacity:0;transition:opacity .12s}.chestmodal.opened .ch-open{opacity:1;transform:none;animation:ch-pop .55s cubic-bezier(.2,1.6,.4,1) both}.chestmodal.opened .ch-glow{opacity:1}.ch-loot{animation:ch-loot .45s cubic-bezier(.2,1.5,.4,1) both}.ch-loot h2{font-size:30px;margin:4px 0;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25)}.ch-loot p{margin:0 0 14px;color:#e6ecf5}.ch-loot-ic{width:64px;height:64px;object-fit:contain;display:inline-block;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}.ch-loot-ic.em{font-size:52px;line-height:64px}.ch-accept{animation:ch-loot .45s .1s cubic-bezier(.2,1.5,.4,1) both}@keyframes ch-in{0%{transform:translateY(40px) scale(.3);opacity:0}to{transform:none;opacity:1}}@keyframes ch-idle{0%,to{transform:none}50%{transform:translateY(-4px) rotate(-1.5deg)}}@keyframes ch-lockbob{0%,to{transform:none}50%{transform:translateY(-5px) scale(1.05)}}@keyframes ch-lockoff{0%{transform:none}30%{transform:translateY(-14px) rotate(-8deg) scale(1.1)}to{transform:translate(60px,170px) rotate(70deg) scale(.7);opacity:0}}@keyframes ch-shake{0%,to{transform:none}20%{transform:rotate(-5deg) scale(1.03)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(2deg)}}@keyframes ch-pop{0%{transform:scale(.85) translateY(10px)}60%{transform:scale(1.12) translateY(-6px)}to{transform:none}}@keyframes ch-loot{0%{transform:translateY(16px) scale(.8);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.chestmodal,.chestmodal *{animation:none!important;transition:none!important}}.node.done.just button{animation:nodeflip 1s cubic-bezier(.3,1.3,.5,1) .25s both}@keyframes nodeflip{0%{transform:perspective(320px) rotateY(0) scale(1);filter:grayscale(.85) brightness(1.1)}45%{transform:perspective(320px) rotateY(180deg) scale(1.18);filter:grayscale(.3)}to{transform:perspective(320px) rotateY(360deg) scale(1);filter:none}}.node.unlock button{filter:grayscale(1) brightness(1.05)}.node.unlock.broken button{filter:none;animation:nodepopin .6s cubic-bezier(.2,1.6,.4,1) both}@keyframes nodepopin{0%{transform:scale(.7)}60%{transform:scale(1.15)}to{transform:none}}.node .lockover{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-27px 0 0 -23px;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle at 34% 26%,#f4f6f9,#c9d0da 70%);box-shadow:0 4px #9aa3b0,0 8px 12px -4px #0000004d;pointer-events:none;z-index:3}.node .lockover svg{width:26px;height:26px;fill:none;stroke:#5d6779;stroke-width:2.4}.node:not(.unlock) .lockover{display:none}.node.unlock .lockover{animation:lockwobble .5s ease-in-out .85s 1 both}.node.unlock.broken .lockover{animation:lockbreak .5s cubic-bezier(.4,0,.6,1) forwards}@keyframes lockwobble{0%,to{transform:none}25%{transform:rotate(-12deg) scale(1.08)}75%{transform:rotate(12deg) scale(1.08)}}@keyframes lockbreak{0%{transform:scale(1.15);opacity:1}to{transform:translateY(34px) rotate(40deg) scale(.4);opacity:0}}@media (prefers-reduced-motion: reduce){.node.done.just button,.node.unlock .lockover,.node.unlock.broken button{animation:none!important}}.rchips{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0;margin:18px 0 4px}.rchip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:0 3px 9px #1423371a;font-size:15px;font-weight:800;text-align:center;animation:rchip-pop .42s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i) * .26s + .5s)}.rchip img,.rchip svg{width:20px;height:20px;flex:none;object-fit:contain}@keyframes rchip-pop{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}.autobtn{position:relative;overflow:hidden}.autofill{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:#ffffff47;animation:autofill var(--dur) linear forwards}.autolabel{position:relative}@keyframes autofill{to{transform:scaleX(1)}}.base-switch{display:flex;justify-content:center;width:fit-content;max-width:100%;margin:0 auto 16px;padding:3px;gap:3px;border:1px solid var(--line);border-radius:999px;background:var(--snow)}.base-switch button{min-height:36px;padding:6px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:14px;font-weight:800;white-space:nowrap}.base-switch button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 5px #14233729}.node.chest.cur button{animation:chestready 1.6s ease-in-out infinite}@keyframes chestready{0%,to{filter:drop-shadow(0 0 7px rgba(255,196,70,.45))}50%{filter:drop-shadow(0 0 19px rgba(255,196,70,.95))}}@media (prefers-reduced-motion: reduce){.rchip,.autofill,.node.chest.cur button{animation:none!important}}.svg-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.sttbar{height:8px;overflow:hidden;border-radius:999px;background:var(--line);width:100%}.sttbar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--falu);transition:width .2s}.stt-progress-label{display:block;color:var(--muted);font-size:14px;font-weight:600}.sttoffer{gap:8px}.sttsetting{display:grid;gap:6px;margin-top:16px}.sttsetting small{color:var(--muted);font-size:14px;font-weight:600}.sttsetting .btn{justify-self:start;margin-top:2px}.badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px;padding:0;list-style:none}.badges>li{min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center}.badges>li>button{width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;cursor:pointer}.bimg{width:72px;height:72px;position:relative;display:inline-grid;place-items:center;flex:none}.bimg>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1}.bimg>.be{font-size:38px;line-height:1}.bn{position:absolute;right:-2px;bottom:0;z-index:2;min-width:22px;padding:2px 5px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:10px;line-height:1.2;box-shadow:0 1px 4px #00000040}.badges>li strong{display:block;margin-top:5px;font-size:13px;font-weight:800;line-height:1.25}.badges>li small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.3}.badges>li.locked .bimg{filter:grayscale(1);opacity:.45}.badges>li.locked strong{color:var(--muted)}.badges>li.got .bimg{filter:drop-shadow(0 3px 5px rgba(20,35,55,.2))}.badges>li.new .bimg:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#ffcc4b45;filter:blur(12px)}.badges>li.new .bimg>img,.badges>li.new .bimg>.be{z-index:1}.badge-chip{width:22px;height:22px;vertical-align:middle}.badge-chip .be{font-size:16px}.badge-chip .bn{display:none}.month-challenge{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px;border-radius:18px;background:var(--paper);box-shadow:0 3px 12px #14233714}.month-challenge .month-pic{width:64px;height:64px}.month-challenge .month-pic.locked{filter:grayscale(1);opacity:.55}.month-challenge-copy{min-width:0;flex:1}.month-challenge h2{margin:0 0 3px;font-size:17px}.month-challenge p{margin:0 0 8px;color:var(--muted);font-size:13px}.month-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--line)}.month-progress i{display:block;height:100%;border-radius:inherit;background:var(--pine-strong);transition:width .25s}.month-meta{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:var(--muted);font-size:12px;font-weight:700}.month-badges{margin-top:10px}.badgemodal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;background:#0b152894;animation:bm-in .18s ease-out both}.badgemodal-card{width:min(100%,340px);padding:24px 22px 20px;border-radius:24px;background:var(--paper);color:var(--ink);text-align:center;box-shadow:0 18px 55px #0000004d}.badgemodal-card .badge-big{width:140px;height:140px}.badgemodal-card .badge-big .be{font-size:70px}.badgemodal-card .badge-big.locked{filter:grayscale(1);opacity:.5}.badgemodal-card h2{margin:10px 0 5px}.badgemodal-card p{margin:0 0 10px;color:var(--muted)}.badgemodal-card>small{display:block;color:var(--muted);font-weight:700}.badgemodal-card .btn{margin-top:18px}@media (min-width: 600px){.badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 14px}}@media (prefers-color-scheme: dark){.badges>li.locked .bimg,.month-challenge .month-pic.locked,.badgemodal-card .badge-big.locked{filter:grayscale(1) brightness(1.55);opacity:.5}}.tlabel{margin:14px 0 6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.page.onb .tlabel:first-of-type{margin-top:6px}.seg.seg3 button{font-size:14px;line-height:1.15;padding:8px 3px;text-wrap:balance}.sccount{margin:0 0 2px;color:var(--muted);font-weight:800;font-size:14px}.scwrap{position:relative;display:grid;place-items:center;margin:12px auto 10px;width:min(76vw,290px)}.scwrap.more:before,.scwrap.more:after{content:"";position:absolute;inset:0;border-radius:24px;border:2px solid var(--line);background:var(--paper)}.scwrap.more:before{transform:translate(9px,11px) rotate(3deg);opacity:.5}.scwrap.more:after{transform:translate(4px,5px) rotate(1.5deg);opacity:.8}.scard{position:relative;z-index:1;width:100%;min-height:min(62vw,250px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 14px;border-radius:24px;border:2px solid var(--line);background:var(--paper);box-shadow:0 5px 0 var(--line);color:var(--ink);font:inherit;animation:sc-in .38s cubic-bezier(.2,1.3,.4,1)}.scard:disabled{opacity:1;cursor:default}.scard .scpic{width:58%;height:auto;background:var(--pic-bg);border-radius:16px}.scard .scsk{font-size:26px;font-weight:900;line-height:1.15;text-align:center;overflow-wrap:anywhere}.scard .scsv{font-size:23px;font-weight:900;color:var(--pine-strong);text-align:center;animation:sc-in .3s ease-out}.scard.ok{border-color:var(--pine);box-shadow:0 5px 0 var(--pine);animation:sc-ok .5s ease}.scard.bad{border-color:var(--falu);box-shadow:0 5px 0 var(--falu);animation:sc-bad .45s ease}.scard.bad .scsv{color:var(--falu-text)}.scalt{display:flex;justify-content:center;gap:18px;margin-top:4px}@keyframes sc-in{0%{transform:translateY(18px) scale(.94);opacity:0}to{transform:none;opacity:1}}@keyframes sc-ok{0%{transform:scale(1)}40%{transform:scale(1.05) rotate(-1deg)}to{transform:none}}@keyframes sc-bad{0%,to{transform:none}20%{transform:translate(-10px) rotate(-2deg)}40%{transform:translate(9px) rotate(2deg)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.scsum{list-style:none;margin:8px 0 6px;padding:0;display:grid;gap:6px;max-height:38vh;overflow:auto}.scsum li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;background:color-mix(in srgb,var(--paper) 72%,transparent)}.scsum .scmark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:14px;color:#fff;background:var(--pine);flex:none}.scsum li.x .scmark{background:var(--falu)}.scsum li.late .scmark{background:var(--lamp);color:#3a2a00}.scsum .rt{display:flex;flex-direction:column;flex:1;min-width:0}.scsum .rt span{color:var(--muted);font-size:14px}.learnchip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 4px;padding:8px 12px;border-radius:14px;background:var(--lamp-bg);color:var(--amber-text);font-weight:800;animation:sc-in .4s cubic-bezier(.2,1.3,.4,1)}.learnchip strong{color:var(--ink)}.prevtag{display:inline-block;align-self:flex-start;margin:0 0 6px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--falu) 14%,transparent);color:var(--falu-text);font-weight:800;font-size:13px;letter-spacing:.02em;text-transform:uppercase}.picgrid.big{margin:6px auto 0;max-width:460px;gap:12px;padding-top:4px}.picgrid.big .picopt{border-radius:20px;padding:10px}.picgrid.big .picopt.named{aspect-ratio:auto;padding:10px 8px}.picgrid.big .picopt.named .picl{font-size:17px}.picprompt{display:flex;align-items:center;gap:10px;margin:0 0 2px}.picprompt strong{font-size:24px;font-weight:900}@media (max-height: 700px){.picgrid.big{max-width:330px;gap:8px}.scwrap{width:min(66vw,230px)}.scard{min-height:190px}}@media (prefers-reduced-motion: reduce){.scard,.scard.ok,.scard.bad,.scard .scsv,.learnchip{animation:none}}.practice{display:grid;gap:10px;margin:4px 0 16px}.practice h2{margin:8px 0 0}.pcard{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:20px;border:2px solid var(--line);background:var(--paper);box-shadow:0 4px 0 var(--line);color:var(--ink);font:inherit;text-align:left}.pcard:active{transform:translateY(2px);box-shadow:0 2px 0 var(--line)}.pcard.target{background:linear-gradient(135deg,color-mix(in srgb,var(--lamp) 26%,var(--paper)),var(--paper) 70%);border-color:color-mix(in srgb,var(--lamp) 60%,var(--line));box-shadow:0 4px color-mix(in srgb,var(--lamp) 60%,var(--line))}.pc-ic{font-size:30px;line-height:1;flex:none}.pc-t{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.pc-t strong{font-size:18px;font-weight:900}.pc-t small,.pcard.small small{color:var(--muted);font-size:14px;font-weight:600}.pc-go{flex:none;padding:8px 14px;border-radius:12px;background:var(--falu);color:#fff;font-weight:900;font-size:15px;box-shadow:0 3px color-mix(in srgb,var(--falu) 70%,#000)}.pcols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pcard.small{flex-direction:column;align-items:flex-start;gap:4px}.pcard.small strong{font-size:17px;font-weight:900}.status.mk{background:var(--bad-bg);color:var(--falu-text)}.btn.wa{background:#1f8f4e;color:#fff;box-shadow:0 4px #156a39;margin-top:8px}.btn.wa:active{transform:translateY(2px);box-shadow:0 2px #156a39}
