:root{--bg:#fffdf7;--bg-soft:#fff4e0;--surface:#ffffff;--ink:#2a2620;--ink-soft:#756d5e;--line:#efe6d4;--line-strong:#e4d8bf;--green:#17b45e;--green-deep:#0c8a45;--green-bright:#3edc86;--green-soft:#e3f8eb;--amber:#ffb020;--amber-deep:#e8920a;--amber-soft:#fff2d2;--yellow:#ffd23f;--coral:#ff6a4d;--coral-deep:#e8482a;--coral-soft:#ffe4dc;--sky:#36b6f0;--grape:#9b5de5;--pink:#ff7eb6;--teal:#14c6b0;--danger:#e23b2e;--green-tint:#eafff4;--green-edge:#bde9cf;--danger-tint:#ffeeeb;--danger-edge:#e8a89c;--grad-green:linear-gradient(135deg,#3edc86,#12a052);--grad-amber:linear-gradient(135deg,#ffd64d,#ff9e15);--grad-coral:linear-gradient(135deg,#ff8a5c,#ef4f2c);--grad-sky:linear-gradient(135deg,#5fd0ff,#2a9ee6);--grad-grape:linear-gradient(135deg,#b985f2,#8b46d8);--grad-festive:linear-gradient(120deg,#ffd23f,#ff8a5c 45%,#ff6a9c);--radius:20px;--radius-lg:26px;--radius-sm:14px;--shadow:0 10px 28px -14px rgba(43,34,16,0.18),0 2px 6px -2px rgba(43,34,16,0.06);--shadow-sm:0 3px 10px -4px rgba(43,34,16,0.12);--shadow-pop:0 14px 30px -14px rgba(16,110,62,0.28);--spring:cubic-bezier(0.34,1.56,0.64,1);--ease:cubic-bezier(0.22,1,0.36,1);--font:var(--font-nunito,"Nunito"),"Nunito",ui-rounded,"Segoe UI",system-ui,sans-serif;--display:var(--font-fredoka,"Fredoka"),"Fredoka",var(--font-nunito,"Nunito"),ui-rounded,system-ui,sans-serif;--hand:var(--font-caveat,"Caveat"),"Caveat","Comic Sans MS",cursive}*{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;caret-color:transparent}[contenteditable],input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;caret-color:var(--green)}input,select,textarea{font-size:max(16px,1em)}@supports (-webkit-touch-callout:none){.tabbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.97)}html[data-theme=dark] .tabbar{background:rgba(31,27,19,.97)}.challenge-result,.feedback,.hearts-gate{backdrop-filter:none;-webkit-backdrop-filter:none}}*{box-sizing:border-box;touch-action:manipulation}body,html{margin:0;padding:0;overflow-x:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;min-height:100dvh}.app{max-width:720px;margin:0 auto;padding:22px 18px 108px;position:relative}::selection{background:var(--green-bright);color:#06371d}.topbar{flex-wrap:wrap;gap:12px;row-gap:10px;margin-bottom:14px}.brand,.topbar{display:flex;align-items:center}.brand{gap:9px;font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.01em;color:var(--ink)}.brand .logo{width:34px;height:34px;border-radius:10px;background:var(--surface);padding:3px;box-shadow:0 2px 6px rgba(18,160,82,.22),inset 0 0 0 1.5px var(--line);animation:logo-pop .6s var(--spring) both;display:block;flex:0 0 auto}.brand .wordmark{font-family:var(--display);font-weight:700;letter-spacing:-.025em;background:linear-gradient(120deg,var(--green-deep),var(--green) 55%,var(--teal));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--green-deep)}.coin-inline{width:1.15em;height:1.15em;vertical-align:-.2em;margin:0 .05em}.brand .pep{color:var(--coral)}@keyframes logo-pop{0%{transform:scale(0) rotate(-25deg)}to{transform:scale(1) rotate(0)}}.stats{margin-left:auto;display:flex;gap:8px}.stat-pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px;font-weight:900;font-size:15px;color:var(--ink);transition:transform .18s var(--spring)}.stat-pill:hover{transform:translateY(-2px)}.stat-pill .ico{width:22px;height:22px;flex:0 0 auto}.stat-pill.pop{animation:stat-bump .45s var(--spring)}.stat-pill .shield-tag{font-size:11px;font-weight:900;line-height:1;background:rgba(54,182,240,.14);border:1.5px solid rgba(54,182,240,.45);border-radius:999px;padding:2px 5px;margin-left:-1px}@keyframes stat-bump{0%{transform:scale(1)}45%{transform:scale(1.22)}to{transform:scale(1)}}.streak{margin-left:auto;display:inline-flex;gap:8px;align-items:center;background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:900;font-size:14px;box-shadow:var(--shadow-sm)}.streak .xp{color:var(--green-deep)}.rail{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:16px 0 24px}.rail .step{text-align:center;font-size:12px;font-weight:800;color:var(--ink-soft)}.rail .dot{height:10px;border-radius:999px;background:var(--line-strong);margin-bottom:8px;transition:background .3s var(--ease),box-shadow .3s var(--ease)}.rail .step.active .dot{background:var(--grad-green);box-shadow:0 0 0 4px rgba(23,180,94,.18)}.rail .step.done .dot{background:var(--grad-amber)}.rail .step.active{color:var(--green-deep)}.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.kicker{text-transform:uppercase;font-size:12px;font-weight:900;color:var(--coral);margin:0 0 8px}h1.title{font-family:var(--display);margin:0 0 6px;font-size:28px;font-weight:700;letter-spacing:-.01em}.sub{color:var(--ink-soft);margin:0 0 18px;font-weight:600;line-height:1.55}.hero{text-align:center;margin:8px 0 20px}.hero h1{font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:-.01em;margin:4px 0 2px;background:var(--grad-green);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{color:var(--ink-soft);font-weight:700;margin:0}.story{font-size:19px;line-height:1.85}.story .sent{cursor:pointer;border-radius:8px;padding:1px 3px;transition:background .15s ease}.story .sent:hover{background:var(--amber-soft)}.gloss{display:block;margin-top:6px;color:var(--green-deep);font-size:15px;font-weight:800;background:var(--green-soft);border-radius:var(--radius-sm);padding:9px 13px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}.chip{border:2px solid var(--line-strong);background:var(--bg-soft);border-radius:999px;padding:9px 15px;font-weight:800;font-size:15px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .15s var(--spring),border-color .15s ease,background .15s ease}.chip:hover{transform:translateY(-2px)}.chip .g{color:var(--ink-soft);font-weight:700;font-size:13px;margin-left:6px}.chip.on{border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}.chip .count{margin-left:6px;background:var(--amber);color:#3a2a06;border-radius:999px;padding:0 7px;font-size:12px}.chat{display:flex;flex-direction:column;gap:12px;margin:6px 0 16px;max-height:46vh;overflow-y:auto;padding-right:4px}.bubble{max-width:82%;padding:12px 16px;border-radius:18px;font-size:16px;font-weight:600;line-height:1.5;animation:bubble-in .35s var(--spring) both}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.bubble.tutor{align-self:flex-start;background:var(--green-soft);color:var(--ink);border-bottom-left-radius:6px}.bubble.user{align-self:flex-end;background:var(--grad-green);color:#fff;border-bottom-right-radius:6px}.corrections{align-self:flex-start;max-width:92%;background:var(--surface);border:2px dashed var(--coral);border-radius:16px;padding:10px 14px;font-size:14px}.corrections b{color:var(--danger)}.corrections .fix{color:var(--green-deep);font-weight:800}.hint{align-self:flex-start;color:var(--ink-soft);font-size:14px;font-style:italic}.vocab-track{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.vtag{font-size:13px;font-weight:800;padding:5px 11px;border-radius:999px;background:var(--bg-soft);color:var(--ink-soft);border:2px solid var(--line);transition:background-color .2s var(--spring),color .2s var(--spring),border-color .2s var(--spring),transform .2s var(--spring)}.vtag.used{background:var(--grad-green);color:#fff;border-color:transparent;transform:scale(1.04)}.composer{display:flex;gap:10px}.composer input{flex:1 1;border:2px solid var(--line-strong);border-radius:999px;padding:13px 18px;font-size:16px;font-family:inherit;font-weight:700;background:var(--bg-soft);outline:none;transition:border-color .15s ease,background .15s ease}.composer input:focus{border-color:var(--green);background:var(--surface)}.btn{border:none;border-radius:999px;padding:14px 24px;font-size:16px;font-weight:900;font-family:inherit;cursor:pointer;transition:transform .12s var(--spring),filter .15s ease,box-shadow .12s ease}.btn:active{transform:translateY(2px)}.btn-primary{background:var(--grad-green);color:#fff;box-shadow:0 6px 0 var(--green-deep),var(--shadow-pop);text-shadow:0 1px 0 rgba(0,0,0,.12)}.btn-primary:hover{filter:brightness(1.04)}.btn-primary:active{box-shadow:0 2px 0 var(--green-deep),var(--shadow-sm)}.btn-primary:disabled{filter:grayscale(.55) opacity(.55);cursor:not-allowed;box-shadow:0 4px 0 #b9c2b1}.btn-ghost{background:var(--surface);color:var(--ink);border:2px solid var(--line-strong);box-shadow:0 4px 0 var(--line-strong)}.btn-ghost:active{box-shadow:0 2px 0 var(--line-strong)}.btn-danger{background:var(--coral);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.12);animation:pop .3s var(--spring)}.btn-danger:active{box-shadow:0 2px 0 var(--coral-deep)}.row{display:flex;gap:12px;align-items:center;margin-top:18px}.row .spacer{flex:1 1}.xp-burst{text-align:center;padding:10px 0 4px}.xp-burst .big{font-family:var(--display);font-size:58px;font-weight:700;color:var(--green-deep);letter-spacing:-.03em;line-height:1}.xp-burst .lbl{color:var(--coral);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:13px}.results{display:grid;grid-gap:8px;gap:8px;margin:16px 0}.result{display:flex;align-items:center;gap:10px;background:var(--bg-soft);border-radius:var(--radius-sm);padding:11px 14px;font-weight:700}.result .word{font-weight:900}.result .due{margin-left:auto;font-size:13px;color:var(--ink-soft)}.grade{font-size:12px;font-weight:900;padding:3px 9px;border-radius:999px;color:#fff}.g4{background:#12a052}.g3{background:var(--green)}.g2{background:var(--amber);color:#3a2a06}.g1{background:var(--danger)}.provider-note{margin-top:14px;font-size:12.5px;color:var(--ink-soft);text-align:center}.provider-note code{background:var(--bg-soft);padding:1px 6px;border-radius:6px}.loading{align-self:flex-start;color:var(--ink-soft);font-weight:800;font-size:14px}.dots:after{content:"…";animation:blink 1.2s steps(4) infinite}@keyframes blink{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.daily{margin:0 0 18px}.daily-label{font-size:13px;font-weight:900;color:var(--ink-soft);margin-bottom:7px;text-align:center}.daily-track{height:14px;background:var(--line);box-shadow:inset 0 2px 4px rgba(40,32,16,.12)}.daily-fill,.daily-track{border-radius:999px;overflow:hidden}.daily-fill{height:100%;background:var(--grad-amber);transition:width .6s var(--ease);position:relative}.daily-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:shimmer 2.4s var(--ease) infinite}@keyframes shimmer{to{transform:translateX(120%)}}.lang-picker{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.lang{border:2px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:9px 17px;font-weight:800;font-size:14px;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s var(--spring),border-color .15s ease,background .15s ease}.lang:hover{transform:translateY(-2px)}.lang.on{border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}.review-card{gap:12px;background:var(--grad-festive);border:none;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:24px;font-weight:800;color:#5a2614;cursor:pointer;transition:transform .14s var(--spring),box-shadow .18s ease}.review-card:hover{transform:translateY(-3px) scale(1.005);box-shadow:var(--shadow-pop)}.review-card .go{margin-left:auto;color:#7a1f1f}.unit{margin-bottom:26px}.unit-head{display:flex;align-items:baseline;gap:10px;margin:0 4px 14px;padding-left:12px;border-left:5px solid var(--green);border-radius:2px}.unit:nth-child(5n+1) .unit-head{border-color:var(--green)}.unit:nth-child(5n+2) .unit-head{border-color:var(--sky)}.unit:nth-child(5n+3) .unit-head{border-color:var(--coral)}.unit:nth-child(5n+4) .unit-head{border-color:var(--grape)}.unit:nth-child(5n+5) .unit-head{border-color:var(--amber-deep)}.unit-head .u-title{font-family:var(--display);font-weight:700;font-size:21px}.unit-head .u-desc{color:var(--ink-soft);font-size:14px;font-weight:700}.lessons{display:flex;flex-direction:column;gap:12px}.lesson-row{display:flex;align-items:center;gap:15px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 18px;cursor:pointer;transition:transform .14s var(--spring),box-shadow .18s ease,border-color .18s ease}.lesson-row:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop);border-color:var(--green-bright)}.lesson-row.locked{opacity:.62;cursor:not-allowed;filter:grayscale(.5);box-shadow:none}.lesson-row.locked:hover{transform:none;border-color:var(--line)}.lesson-row.done{border-color:var(--green);background:linear-gradient(180deg,var(--green-soft),var(--surface) 70%)}.node{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:20px;color:#fff;background:var(--grad-green);box-shadow:0 5px 0 var(--green-deep);flex:0 0 auto;transition:transform .14s var(--spring)}.lesson-row:hover .node{transform:scale(1.08) rotate(-4deg)}.lesson-row.locked .node{background:#c4ccbb;box-shadow:0 5px 0 #a3ad97}.lesson-row.done .node{background:var(--grad-amber);box-shadow:0 5px 0 var(--amber-deep)}.lesson-meta{flex:1 1;min-width:0}.lesson-meta .lt{font-weight:900;font-size:16px}.lesson-meta .ls{color:var(--ink-soft);font-size:13px;font-weight:700}.lesson-row .go{font-weight:900;color:var(--green-deep);white-space:nowrap}.mode-link{display:block;text-align:center;margin:10px 0 0;padding:16px;border-radius:var(--radius);border:2px dashed var(--grape);background:linear-gradient(135deg,#f5ecff,#fff);color:#5b2a8c;font-weight:800;cursor:pointer;transition:transform .14s var(--spring),box-shadow .18s ease}.mode-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.player-top{display:flex;align-items:center;gap:14px;margin-bottom:24px}@media (max-height:760px){.player-top{margin-bottom:12px;gap:10px}.ex-prompt{font-size:15px}}@media (max-height:660px){.player-top{margin-bottom:8px}.ex-prompt{font-size:14px}}.quit{background:none;border:none;font-size:26px;color:var(--ink-soft);cursor:pointer;line-height:1;transition:transform .12s var(--spring),color .15s ease}.quit:hover{color:var(--danger);transform:scale(1.15) rotate(90deg)}.progress-track{flex:1 1;height:16px;background:var(--line);overflow:hidden;box-shadow:inset 0 2px 4px rgba(40,32,16,.12)}.progress-fill{height:100%;transition:width .45s var(--ease)}.hearts-count{display:inline-flex;align-items:center;gap:4px;font-family:var(--display);font-weight:800;font-size:17px;color:#e0344a}.hearts-count .heart{display:inline-flex;transition:transform .3s var(--spring)}.hearts-count .heart svg{width:22px;height:22px;display:block}.hearts-count.low .heart{animation:heartbeat .9s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}30%{transform:scale(1.18)}45%{transform:scale(1)}60%{transform:scale(1.12)}}.combo{position:fixed;top:84px;right:22px;font-family:var(--display);font-weight:700;font-size:24px;color:var(--coral);text-shadow:0 2px 0 #fff,0 3px 8px rgba(232,72,42,.3);pointer-events:none;opacity:0;z-index:40}.combo.show{animation:comboPop .7s var(--spring)}@keyframes comboPop{0%{opacity:0;transform:scale(.5) translateY(10px) rotate(-8deg)}40%{opacity:1;transform:scale(1.2) translateY(0) rotate(4deg)}to{opacity:0;transform:scale(1) translateY(-14px) rotate(0)}}.ex{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 22px;min-height:320px;display:flex;flex-direction:column;animation:ex-in .32s var(--spring) both}@keyframes ex-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.ex-prompt{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.01em;margin-bottom:18px;color:var(--ink)}.ex-question{font-size:30px;font-weight:900;color:var(--green-deep)}.ex-question,.ex-sentence{text-align:center;margin:14px 0 24px}.ex-sentence{font-size:25px;font-weight:800;line-height:1.5}.blank{display:inline-block;min-width:74px;border-bottom:4px solid var(--amber);margin:0 4px;border-radius:2px}.spk{border:none;background:var(--green-soft);color:var(--green-deep);border-radius:999px;width:40px;height:40px;font-size:18px;cursor:pointer;vertical-align:middle;transition:transform .12s var(--spring),background .15s ease}.spk:hover{background:var(--green-bright);transform:scale(1.12)}.listen-big{border:none;background:var(--grad-sky);color:#fff;border-radius:20px;padding:24px;font-size:20px;font-weight:900;font-family:inherit;cursor:pointer;margin:6px 0 24px;box-shadow:0 6px 0 #2a8ccc,var(--shadow-sm);transition:transform .12s var(--spring),box-shadow .12s ease}.listen-big:active{transform:translateY(3px);box-shadow:0 3px 0 #2a8ccc}.options{display:flex;flex-direction:column;gap:11px;margin-top:auto}.option{border:2px solid var(--line-strong);background:var(--surface);border-radius:16px;padding:15px 18px;font-size:17px;font-weight:800;font-family:inherit;cursor:pointer;text-align:left;box-shadow:0 4px 0 var(--line-strong);transition:transform .1s var(--spring),border-color .12s ease,box-shadow .1s ease,background .12s ease}.option:hover:not(:disabled){border-color:var(--green);box-shadow:0 4px 0 var(--green-bright);transform:translateY(-1px)}.option:active:not(:disabled){transform:translateY(2px)}.option:disabled{cursor:default}.option.correct{border-color:var(--green);background:var(--green-soft);color:var(--green-deep);box-shadow:0 4px 0 var(--green);animation:pop .4s var(--spring)}.option.wrong{border-color:var(--danger);background:#fde8e4;color:var(--danger);animation:shake .4s ease}.answer-area{min-height:62px;border-bottom:3px dashed var(--line-strong);gap:8px;padding:8px 0 14px;margin-bottom:16px}.answer-area,.bank{display:flex;flex-wrap:wrap}.bank{gap:9px;margin-top:auto}.token{border:2px solid var(--line-strong);background:var(--surface);border-radius:13px;padding:10px 16px;font-size:16px;font-weight:800;cursor:pointer;transition:transform .1s var(--spring),box-shadow .1s ease}.token:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--green-bright);border-color:var(--green-bright)}.token:active{transform:translateY(1px);box-shadow:0 2px 0 var(--line-strong)}.token.spent{opacity:0;pointer-events:none}.match-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:8px}.match-col{display:flex;flex-direction:column;gap:10px}.mtoken{white-space:normal;overflow-wrap:anywhere;line-height:1.3;border:2px solid var(--line-strong);background:var(--surface);border-radius:13px;padding:15px;font-weight:800;font-size:16px;cursor:pointer;text-align:center;box-shadow:0 3px 0 var(--line-strong);transition:transform .12s var(--spring),border-color .12s ease,box-shadow .12s ease,background .12s ease}.mtoken:hover{transform:translateY(-2px);border-color:var(--green-bright)}.mtoken.selected{border-color:var(--green);background:var(--green-soft);box-shadow:0 3px 0 var(--green)}.mtoken.locked{opacity:.22;pointer-events:none;transform:scale(.94);animation:matchLock .55s var(--ease) both}@keyframes matchLock{0%{opacity:1;transform:scale(1);border-color:var(--green);background:var(--green-soft);color:var(--green-deep);box-shadow:0 3px 0 var(--green)}40%{opacity:1;transform:scale(1.06);border-color:var(--green);background:var(--green-soft);color:var(--green-deep);box-shadow:0 3px 0 var(--green)}to{opacity:.22;transform:scale(.94)}}.mtoken.wrong{animation:shake .4s ease;border-color:var(--danger);background:var(--danger-tint)}.feedback{position:fixed;left:50%;bottom:0;width:100%;max-width:720px;margin:0;transform:translateX(-50%);padding:22px 24px calc(30px + env(safe-area-inset-bottom, 0px));border-top-left-radius:26px;border-top-right-radius:26px;box-shadow:0 -12px 34px -12px rgba(40,32,16,.28);z-index:70;animation:feedbackUp .3s var(--spring)}@keyframes feedbackUp{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.feedback.ok{background:var(--green-soft)}.feedback.bad{background:#fde8e4}.feedback .fb-title{font-weight:700;font-size:21px;margin-bottom:2px}.feedback.ok .fb-title{color:var(--green-deep)}.feedback.bad .fb-title{color:var(--danger)}.feedback .fb-sub{font-weight:700;color:var(--ink-soft);margin-bottom:14px}.feedback .btn-primary{width:100%}.xp-float{position:fixed;left:50%;top:40%;transform:translateX(-50%);font-family:var(--display);font-size:44px;font-weight:700;color:var(--amber-deep);pointer-events:none;text-shadow:0 2px 0 #fff,0 4px 12px rgba(232,146,10,.4);z-index:60;animation:floatUp .95s var(--ease) forwards}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,12px) scale(.5)}30%{opacity:1;transform:translate(-50%,-10px) scale(1.15)}to{opacity:0;transform:translate(-50%,-66px) scale(1)}}.celebrate{text-align:center;padding:14px 0 6px}.celebrate-badge{position:relative;width:152px;height:150px;margin:0 auto;display:grid;place-items:center}.celebrate-badge svg{position:relative;z-index:1;width:128px;height:auto;filter:drop-shadow(0 12px 18px rgba(40,32,16,.24));animation:badgePop .7s var(--spring) both}.celebrate h2{font-family:var(--display);font-weight:800;font-size:30px;margin:8px 0 4px}.celebrate-sub{font-weight:800;font-size:14px;color:var(--ink-soft);margin:0 0 20px}.is-perfect .celebrate-sub{color:var(--coral)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:22px}.stat{position:relative;border-radius:18px;padding:13px 6px 11px;border:2px solid var(--line);background:var(--bg-soft);box-shadow:var(--shadow-sm);animation:statPop .5s var(--spring) both}.stat-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:480px){.stat-grid-4{grid-template-columns:repeat(2,1fr)}}.stat-xp{background:linear-gradient(180deg,#e9fbf4,#d3f6ea);border-color:#b6e9d7}.stat-coins{background:linear-gradient(180deg,#fff8e3,#ffedc2);border-color:#f2d99b}.stat-combo{background:linear-gradient(180deg,#fff4db,#ffe8bd);border-color:#f5d79a}.stat-words{background:linear-gradient(180deg,#f2ecff,#e6dbff);border-color:#d6c6f5}.repeat-note{margin:-12px 0 16px;font-size:12.5px;font-weight:700;color:var(--ink-soft);opacity:.85}.stat-words .stat-ic{color:var(--grape)}.stat:nth-child(2){animation-delay:.08s}.stat:nth-child(3){animation-delay:.16s}.stat:nth-child(4){animation-delay:.24s}.stat-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface);box-shadow:0 5px 12px -5px rgba(40,32,16,.3);margin-bottom:7px}.stat-ic .ico{width:23px;height:23px}.stat .v{font-family:var(--display);font-size:25px;font-weight:800;color:var(--ink);line-height:1.1}.stat .k{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-top:2px}.btn-continue{min-width:190px}@keyframes badgePop{0%{opacity:0;transform:scale(.5) rotate(-12deg)}60%{transform:scale(1.08) rotate(3deg)}to{opacity:1;transform:none}}@keyframes float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}.confetti i{position:absolute;top:-14px;width:10px;height:16px;border-radius:3px;animation:fall linear forwards}.confetti i.c-round{border-radius:50%}@keyframes fall{to{transform:translateY(110vh) rotate(2turn);opacity:.9}}.confetti.rain i{animation-name:fall;animation-iteration-count:infinite;animation-fill-mode:none}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}@keyframes slideUp{0%{transform:translateY(48px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pop{0%{transform:scale(.3)}60%{transform:scale(1.18)}to{transform:scale(1)}}.hint-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:40;border:none;border-radius:999px;padding:13px 19px;font-size:15px;font-weight:900;font-family:inherit;background:var(--grad-amber);color:#4a3000;box-shadow:0 6px 0 var(--amber-deep),var(--shadow-sm);cursor:pointer;transition:transform .12s var(--spring),box-shadow .12s ease}.hint-fab:hover{transform:translateY(-2px)}.hint-fab:active{transform:translateY(2px);box-shadow:0 3px 0 var(--amber-deep)}.bear-layer{position:fixed;inset:0;z-index:55;pointer-events:none}.bear{position:fixed;left:0;bottom:12px;z-index:62;filter:drop-shadow(0 10px 14px rgba(31,39,31,.2));animation:bear-walk 5.2s cubic-bezier(.45,0,.4,1) forwards}.bear-arm{transform-box:fill-box;transform-origin:50% 0;animation:bear-wave .4s ease-in-out 1.9s 4 alternate}.note{position:fixed;left:50%;bottom:104px;z-index:61;width:min(86vw,330px);padding:24px 22px 28px;color:#4a3a22;background:repeating-linear-gradient(transparent,transparent 31px,#e7d9b8 32px),linear-gradient(180deg,#fffdf3,#fdf6e3);border-radius:4px;box-shadow:0 1px 0 #efe4c6,0 22px 45px rgba(31,39,31,.28);transform-origin:bottom center;animation:note-place 1.4s cubic-bezier(.22,1,.36,1) 1.2s both}.note-tape{position:absolute;top:-12px;left:50%;width:92px;height:26px;transform:translateX(-50%) rotate(-3deg);background:rgba(255,176,32,.4);border-left:1px dashed rgba(255,255,255,.5);border-right:1px dashed rgba(255,255,255,.5);box-shadow:0 2px 4px rgba(31,39,31,.12)}.note-x{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:999px;background:none;font-family:inherit;font-size:15px;line-height:1;color:#b3a079;cursor:pointer;pointer-events:auto;transition:transform .12s var(--spring),color .12s ease}.note-x:hover{color:var(--danger);transform:scale(1.15) rotate(90deg)}.note-x:active{transform:scale(.94)}.nudge-layer{--nudge-w:74px;position:fixed;left:0;bottom:calc(104px + env(safe-area-inset-bottom, 0px));z-index:45;display:flex;align-items:flex-start;pointer-events:none}.nudge-bear{flex:none;display:block}.nudge-bear .bear-v4{width:var(--nudge-w)}.nudge-bubble{position:relative;margin-top:calc(var(--nudge-w) * .666);margin-left:10px;max-width:min(58vw,240px);padding:10px 15px;border-radius:16px;border:2px solid var(--line-strong);background:var(--surface);box-shadow:0 4px 0 var(--line-strong),var(--shadow-sm);font-family:var(--hand);font-weight:700;font-size:19px;line-height:1.25;color:var(--ink);animation:nudge-say 5.4s both}.nudge-bubble:after,.nudge-bubble:before{content:"";position:absolute;left:-9px;top:calc(var(--nudge-w) * .28);width:0;height:0;border:9px solid transparent;border-right:9px solid var(--line-strong);border-left:0;margin-top:-9px}.nudge-bubble:after{left:-6px;border-right-color:var(--surface)}@keyframes nudge-say{0%,15%{opacity:0;transform:translateY(7px) scale(.9)}24%,64%{opacity:1;transform:none}74%,to{opacity:0;transform:translateY(5px) scale(.96)}}@media (prefers-reduced-motion:reduce){.nudge-bubble{animation:none}}@media (max-width:560px){.nudge-layer{--nudge-w:62px}.nudge-bubble{font-size:17px;padding:9px 13px}}.note-head{font-size:19px;color:var(--coral);margin-bottom:2px}.note-head,.note-title{font-family:var(--hand);font-weight:700}.note-title{font-size:28px;line-height:1.15;color:#3a2c16;margin-bottom:6px}.note-lines{list-style:none;margin:4px 0 0;padding:0}.note-lines li{font-family:var(--hand);font-weight:600;font-size:21px;line-height:1.5;color:#5a4524}.note-lines b{color:var(--green-deep)}.note-paw{position:absolute;right:14px;bottom:8px;font-size:18px;opacity:.5;transform:rotate(12deg)}@keyframes bear-walk{0%{transform:translateX(-200px) translateY(0) rotate(0deg)}8%{transform:translateX(-120px) translateY(-7px) rotate(-3deg)}16%{transform:translateX(-40px) translateY(0) rotate(3deg)}24%{transform:translateX(calc(50vw - 200px)) translateY(-7px) rotate(-3deg)}34%{transform:translateX(calc(50vw - 84px)) translateY(0) rotate(0deg)}52%{transform:translateX(calc(50vw - 84px)) translateY(0) rotate(0deg)}60%{transform:translateX(calc(50vw + 30px)) translateY(-7px) rotate(3deg)}72%{transform:translateX(calc(50vw + 160px)) translateY(0) rotate(-3deg)}86%{transform:translateX(calc(100vw - 40px)) translateY(-7px) rotate(3deg)}to{transform:translateX(calc(100vw + 200px)) translateY(0) rotate(0deg);opacity:0}}@keyframes bear-wave{0%{transform:rotate(16deg)}to{transform:rotate(-20deg)}}@keyframes note-place{0%{transform:translateX(-50%) translateY(40px) rotate(-3deg) scale(.7);opacity:0}60%{transform:translateX(-50%) translateY(-6px) rotate(2deg) scale(1.04);opacity:1}to{transform:translateX(-50%) translateY(0) rotate(-1.5deg) scale(1);opacity:1}}.tabbar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:45;display:flex;gap:4px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px solid var(--line);border-radius:999px;padding:7px;box-shadow:var(--shadow)}.tabbar button{border:none;background:none;font-family:inherit;font-size:12px;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 20px;border-radius:999px;cursor:pointer;transition:color .15s ease,background .2s var(--spring)}.tabbar button .tab-ico{font-size:20px;transition:transform .2s var(--spring)}.tabbar button:hover .tab-ico{transform:translateY(-2px) scale(1.1)}.tabbar button.on{background:var(--green-soft);color:var(--green-deep)}.tabbar button.on .tab-ico{transform:scale(1.12)}.garden-app{background:radial-gradient(900px 420px at 50% -5%,#c2ecd0,transparent 70%),radial-gradient(700px 380px at 90% 10%,rgba(255,210,63,.4),transparent 65%),linear-gradient(180deg,#e8f8ec,#fffdf7 62%);min-height:100vh;min-height:100dvh}.garden-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.garden-title{font-family:var(--display);font-weight:700;font-size:26px}.coins{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:7px 15px;font-weight:900;box-shadow:var(--shadow-sm)}.coins .ico{width:20px;height:20px}.garden-scene{display:grid;place-items:center;padding:8px 0 0}.tree-svg{width:270px}.garden-hint{text-align:center;color:var(--ink-soft);font-size:14px;margin:10px 4px 18px}.plots{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.plot{position:relative;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-sm);padding:10px 8px 12px;text-align:center;transition:transform .14s var(--spring)}.plot:hover{transform:translateY(-2px)}.plot.bloom{border-color:var(--amber);background:linear-gradient(0deg,var(--amber-soft),var(--surface))}.plant-svg{width:72px;height:80px}.bloom-flower{transform-box:fill-box;transform-origin:50% 90%;animation:sway 2.4s ease-in-out infinite}.plot-btn{width:100%;margin-top:6px;border:none;border-radius:999px;padding:9px;font-family:inherit;font-weight:900;font-size:13px;background:var(--bg-soft);color:var(--ink);cursor:pointer;transition:transform .1s var(--spring),filter .15s ease}.plot-btn:hover:not(:disabled){filter:brightness(.97)}.plot-btn:active:not(:disabled){transform:scale(.96)}.plot-btn:disabled{opacity:.5;cursor:default}.plot-btn.harvest{background:var(--grad-amber);color:#4a3000;box-shadow:0 4px 0 var(--amber-deep)}.ready-badge{position:absolute;top:6px;right:6px;background:var(--coral);color:#fff;font-size:10px;font-weight:900;padding:3px 8px;border-radius:999px;animation:pop .5s var(--spring),float-bob 1.8s ease-in-out .5s infinite}.splash{position:absolute;top:12px;left:50%;transform:translateX(-50%);animation:floatUp .7s ease forwards}.garden-shop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;background:var(--surface);border:2px solid var(--line);padding:16px 18px}.shop-title{font-weight:900}.shop-sub{color:var(--ink-soft);font-size:13px;font-weight:700}.garden-shop .btn{white-space:nowrap}.garden-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--green-deep);color:#fff;font-weight:800;padding:13px 22px;border-radius:999px;box-shadow:var(--shadow);z-index:50;animation:slideUp .3s var(--spring)}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.account-card{display:flex;align-items:center;gap:14px}.avatar{width:56px;height:56px;border-radius:50%;background:var(--grad-green);color:#fff;font-family:var(--display);font-weight:700;font-size:26px;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 5px 0 var(--green-deep)}.account-meta{flex:1 1}.account-name{font-weight:900;font-size:18px}.account-sub{color:var(--ink-soft)}.account-plan,.account-sub{font-size:13px;font-weight:700}.account-plan{margin-top:4px}.field{width:100%;border:2px solid var(--line-strong);border-radius:13px;padding:12px 14px;font-size:16px;font-family:inherit;font-weight:700;background:var(--bg-soft);margin-bottom:10px;outline:none;transition:border-color .15s ease,background .15s ease}.field:focus{border-color:var(--green);background:var(--surface)}.field.select{width:auto;margin:0}.section-label{font-weight:900;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-size:12px;margin:26px 4px 12px}.plans{display:grid;grid-gap:12px;gap:12px}.plan-card{position:relative;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:18px;transition:transform .14s var(--spring),box-shadow .18s ease}.plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.plan-card.current{background:linear-gradient(180deg,var(--green-soft),var(--surface) 75%)}.plan-tag{position:absolute;top:-11px;right:16px;background:var(--grad-coral);color:#fff;font-size:11px;font-weight:900;padding:4px 11px;border-radius:999px;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.04em}.plan-name{font-size:21px}.plan-name,.plan-price{font-family:var(--display);font-weight:700}.plan-price{font-size:23px;color:var(--green-deep);margin:2px 0 8px}.plan-perks{margin:0 0 14px;padding-left:4px;list-style:none}.plan-perks li{font-weight:700;line-height:1.8;color:var(--ink-soft);padding-left:24px;position:relative}.plan-perks li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.plan-card .btn{width:100%}.settings-card{display:flex;flex-direction:column;gap:0}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-weight:800;border-bottom:2px solid var(--line)}.setting-row:last-child{border-bottom:none}.setting-note{display:block;font-size:11.5px;font-weight:700;color:var(--ink-soft);opacity:.85;margin-top:2px}.toggle{width:54px;height:30px;border-radius:999px;border:none;background:var(--line-strong);position:relative;cursor:pointer;transition:background .25s var(--ease)}.toggle.on{background:var(--grad-green)}.toggle .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left .25s var(--spring)}.toggle.on .knob{left:27px}.changelog{padding:6px 4px}.cl-entry{padding:16px 14px;border-bottom:2px solid var(--line)}.cl-entry:last-child{border-bottom:none}.cl-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.cl-version{font-family:var(--display);font-weight:800;font-size:13px;color:var(--green-deep);background:var(--green-soft);border:1.5px solid #b6e9d7;padding:2px 9px;border-radius:999px;letter-spacing:.01em}.cl-entry.latest .cl-version{color:#4a3000;background:var(--grad-amber);border-color:var(--amber)}.cl-title{font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink)}.cl-date{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--ink-soft);opacity:.85}.cl-items{margin:0;padding-left:18px;list-style:none}.cl-items li{position:relative;font-size:13.5px;font-weight:600;line-height:1.5;color:var(--ink-soft);margin-bottom:5px}.cl-items li:before{content:"";position:absolute;left:-14px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--green-bright)}.cl-entry.latest .cl-items li:before{background:var(--amber)}.app-version{text-align:center;font-size:12px;font-weight:800;color:var(--ink-soft);opacity:.6;margin:18px 0 4px}.hero-card{display:flex;align-items:center;gap:14px;position:relative;overflow:hidden;background:radial-gradient(130% 150% at 100% 0,rgba(255,210,63,.34),transparent 55%),linear-gradient(135deg,#ffffff,#f1faf3);border:2px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:16px}.hero-mascot{flex:0 0 auto;width:96px;display:grid;place-items:end center}.hero-ava,.hero-mascot{animation:float-bob 3.2s ease-in-out infinite}.hero-ava{position:relative;flex:0 0 auto;margin:8px 18px 8px 8px}.hero-ava .hero-mascot{animation:none}.hero-mascot .bear{position:static;left:auto;bottom:auto;animation:none;width:96px;height:auto;filter:drop-shadow(0 8px 12px rgba(31,39,31,.18))}.hero-body{flex:1 1;min-width:0}.hero-title{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.01em;line-height:1.12;margin:7px 0 2px}.hero-sub{color:var(--ink-soft);font-size:14px;margin:0 0 12px}.hero-cta{padding:11px 22px}.league{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px;color:#fff;box-shadow:var(--shadow-sm)}.league .league-gem{flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}.lg-emerald{background:linear-gradient(135deg,#4ef0a0,#0b9e56 60%,#076e3b)}.lg-diamond{background:var(--grad-sky)}.lg-gold{background:var(--grad-amber);color:#4a3000}.lg-silver{background:linear-gradient(135deg,#cfd8e3,#9fb0c0);color:#2a3340}.lg-bronze{background:linear-gradient(135deg,#e2a06a,#c2763c)}.lg-wooden{background:linear-gradient(135deg,#b98d5f,#8a6239)}.lg-sprout{background:var(--grad-green)}.league-tag{display:inline-block;margin-left:7px;padding:1.5px 8px;border-radius:999px;font-size:9.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#fff;vertical-align:2px}.league-tag.lg-gold,.league-tag.lg-silver{color:#3a3020}.board-head{display:flex;align-items:center;justify-content:space-between}.board-toggle{display:inline-flex;gap:2px;background:var(--bg-soft);border:1.5px solid var(--line);border-radius:999px;padding:3px}.board-toggle button{border:none;background:none;font:inherit;font-size:12px;font-weight:800;color:var(--ink-soft);padding:4px 12px;border-radius:999px;cursor:pointer}.board-toggle button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.board{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.board-row{display:flex;align-items:center;gap:11px}.board-row.me{background:var(--green-tint);border-radius:12px;padding:6px 8px;margin:-6px -8px}.board-rank{width:26px;text-align:center;font-size:16px;font-weight:900;color:var(--ink-soft);flex:0 0 auto}.board-rank.medal{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:13px;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}.board-rank.r1{background:linear-gradient(160deg,#ffe066,#f4b73f 55%,#d99414);box-shadow:0 0 0 1.5px #c78f12,0 2px 6px rgba(244,183,63,.5)}.board-rank.r2{background:linear-gradient(160deg,#eef3f9,#b9c6d4 60%,#93a7ba);box-shadow:0 0 0 1.5px #8fa3b6,0 2px 6px rgba(146,167,187,.45);color:#37455a;text-shadow:none}.board-rank.r3{background:linear-gradient(160deg,#e8b184,#cd8442 60%,#a9631f);box-shadow:0 0 0 1.5px #8a4f1d,0 2px 6px rgba(160,100,40,.45)}.board-row .account-meta{flex:1 1;min-width:0}.board-xp{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--green-deep)}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.stat-tile{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-sm);padding:12px 6px;text-align:center;transition:transform .15s var(--spring)}.stat-tile:hover{transform:translateY(-3px)}.stat-tile-top{display:flex;align-items:center;justify-content:center;gap:5px}.stat-tile-top .ico{width:20px;height:20px}.stat-tile-val{font-family:var(--display);font-weight:700;font-size:22px;color:var(--ink)}.stat-tile-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-top:2px}.quests-card{background:var(--surface);border:2px solid var(--line);padding:16px 18px;margin-bottom:20px}.quests-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.quests-title{font-family:var(--display);font-weight:700;font-size:18px}.quests-meta{font-weight:800;font-size:13px;color:var(--green-deep)}.quest{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.quest:first-of-type{border-top:none}.quest-check{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font-weight:900;color:#fff;font-size:14px;transition:background-color .2s var(--spring),color .2s var(--spring),border-color .2s var(--spring),transform .2s var(--spring)}.quest.done .quest-check{background:var(--grad-green);border-color:transparent}.quest-body{flex:1 1;min-width:0}.quest-label{font-weight:800;font-size:14px;margin-bottom:5px}.quest.done .quest-label{color:var(--ink-soft)}.quest-track{height:9px;background:var(--line);border-radius:999px;overflow:hidden}.quest-fill{height:100%;background:var(--grad-amber);border-radius:999px;transition:width .5s var(--ease)}.quest.done .quest-fill{background:var(--grad-green)}.quest-num{flex:0 0 auto;font-weight:900;font-size:13px;color:var(--ink-soft);min-width:38px;text-align:right}.journey{margin-bottom:8px}.journey-head{display:flex;align-items:baseline;justify-content:space-between;margin:4px 4px 14px}.journey-head span:first-child{font-family:var(--display);font-weight:700;font-size:20px}.journey-meta{font-weight:800;font-size:13px;color:var(--ink-soft)}.ach-section{margin-top:16px}.ach-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.badge{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-sm);padding:14px 8px;text-align:center;transition:transform .15s var(--spring)}.badge.got{border-color:var(--amber);background:linear-gradient(180deg,var(--amber-soft),var(--surface))}.badge.got:hover{transform:translateY(-3px) rotate(-1.5deg)}.badge.locked{opacity:.55;filter:grayscale(.6)}.badge-ico{font-size:28px;line-height:1;height:30px;display:grid;place-items:center}.badge-ico .ico{width:28px;height:28px}.badge-label{font-weight:800;font-size:12px;color:var(--ink-soft)}.perfect-sub{margin:-8px 0 16px;font-weight:800;color:var(--coral)}.dance-layer{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}.dance-bear{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);transform-origin:50% 100%;animation:bear-dance 9s cubic-bezier(.4,0,.4,1) forwards}.dance-bear .bear{position:static;left:auto;bottom:auto;animation:none;filter:drop-shadow(0 12px 16px rgba(31,39,31,.22))}.dance-bear .bear-arm{animation:dance-arm .42s ease-in-out infinite alternate}.dance-tag{position:absolute;top:-34px;left:50%;transform:translateX(-50%);background:var(--grad-festive);color:#5a2614;font-family:var(--display);font-weight:700;font-size:16px;padding:4px 12px;border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap;animation:tag-wobble .6s ease-in-out infinite alternate}.dnote{position:absolute;font-size:30px;font-weight:900;animation:note-float 1.1s ease-in-out infinite}.dnote.a{left:-28px;top:14px;color:var(--coral)}.dnote.b{right:-28px;top:30px;color:var(--green);animation-delay:.45s}@keyframes bear-dance{0%{transform:translateX(calc(-50% - 80vw)) translateY(0) rotate(-6deg);opacity:0}7%{transform:translateX(-50%) translateY(0) rotate(0deg);opacity:1}13%{transform:translateX(-50%) translateY(-24px) rotate(-8deg) scale(1.05)}19%{transform:translateX(-50%) translateY(0) rotate(8deg)}25%{transform:translateX(-50%) translateY(-24px) rotate(-8deg) scale(1.05)}31%{transform:translateX(-50%) translateY(0) rotate(8deg)}37%{transform:translateX(-56%) translateY(-12px) rotate(-9deg)}40%{transform:translateX(-50%) translateY(0) rotate(0deg)}46%{transform:translateX(-50%) translateY(-11px) rotate(-3deg)}52%{transform:translateX(-50%) translateY(0) rotate(3deg)}58%{transform:translateX(-50%) translateY(-11px) rotate(-3deg)}64%{transform:translateX(-50%) translateY(0) rotate(3deg)}70%{transform:translateX(-50%) translateY(-11px) rotate(-3deg)}76%{transform:translateX(-50%) translateY(0) rotate(0deg)}82%{transform:translateX(-50%) translateY(-26px) rotate(0deg) scale(1.06)}88%{transform:translateX(-50%) translateY(0) rotate(0deg);opacity:1}to{transform:translateX(calc(-50% + 92vw)) translateY(0) rotate(2turn);opacity:0}}.bear3d{display:block;perspective:640px}.bear3d-spin{position:relative;display:block;transform-style:preserve-3d;animation:bear3d-turn 9s cubic-bezier(.4,0,.4,1) both}.bear3d-face{display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}.bear3d-back{position:absolute;inset:0;transform:rotateY(180deg)}@keyframes bear3d-turn{0%,40%{transform:rotateY(0deg)}48%{transform:rotateY(180deg)}74%{transform:rotateY(180deg)}82%,to{transform:rotateY(1turn)}}.hero-dancer .bear3d-spin{animation:bear3d-turn-loop 5.4s ease-in-out infinite}@keyframes bear3d-turn-loop{0%,44%{transform:rotateY(0deg)}52%{transform:rotateY(180deg)}80%{transform:rotateY(180deg)}88%,to{transform:rotateY(1turn)}}.bear-tail{animation:tail-wag .46s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 10%}@keyframes tail-wag{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}.dance-bear .bear3d-back .bear,.hero-dancer .bear3d-back .bear{animation:hip-sway .52s ease-in-out infinite alternate;transform-origin:50% 92%}@keyframes hip-sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@keyframes dance-arm{0%{transform:rotate(22deg)}to{transform:rotate(-34deg)}}@keyframes note-float{0%,to{transform:translateY(0) rotate(-8deg);opacity:.5}50%{transform:translateY(-14px) rotate(8deg);opacity:1}}@keyframes tag-wobble{0%{transform:translateX(-50%) rotate(-4deg)}to{transform:translateX(-50%) rotate(4deg)}}.garden-scene{height:212px;display:flex;align-items:flex-end;justify-content:center;box-shadow:var(--shadow-sm)}.garden-backdrop{position:absolute;inset:0;width:100%;height:100%;z-index:0}.garden-tree{position:relative;z-index:1;margin-bottom:-6px}.tree-svg{width:234px;height:auto}.grow-bar{width:86%;height:6px;background:rgba(40,32,16,.1);border-radius:999px;margin:0 auto 6px;overflow:hidden}.grow-fill{height:100%;background:var(--grad-green);border-radius:999px;transition:width .6s var(--ease)}.plot-btn{font-size:12.5px;gap:2px}.plot-add,.plot-btn{display:flex;align-items:center;justify-content:center}.plot-add{flex-direction:column;gap:6px;min-height:150px;border:2px dashed var(--line-strong);background:rgba(255,255,255,.45);color:var(--ink-soft);font-family:inherit;cursor:pointer;transition:transform .14s var(--spring),border-color .15s ease,color .15s ease}.plot-add:hover{transform:translateY(-2px);border-color:var(--green);color:var(--green-deep)}.plot-add-plus{font-size:32px;font-weight:900;line-height:1}.plot-add-label{font-weight:800;font-size:12px;display:inline-flex;align-items:center;gap:2px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:8px}.shop-item{position:relative;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column;gap:4px}.shop-item-title{font-weight:900}.shop-item-sub{color:var(--ink-soft);font-weight:700;font-size:12.5px;flex:1 1;margin-bottom:10px;line-height:1.4}.shop-item .btn{width:100%}.shop-tag{position:absolute;top:-10px;right:14px;background:var(--grad-coral);color:#fff;font-size:10px;font-weight:900;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;box-shadow:var(--shadow-sm)}.qcount{font-weight:900;font-size:13px;color:var(--ink-soft);background:var(--bg-soft)}.combo-chip,.qcount{flex:0 0 auto;border-radius:999px;padding:4px 10px}.combo-chip{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--coral-deep);background:var(--coral-soft);animation:pop .4s var(--spring)}.combo-chip .ico{width:16px;height:16px}.timer-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-weight:900;font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-soft);background:var(--bg-soft);border-radius:999px;padding:4px 10px}.option{display:flex;align-items:center;gap:12px}.opt-letter{flex:0 0 auto;width:26px;height:26px;background:var(--bg-soft);border:1.5px solid var(--line-strong);display:grid;place-items:center;font-weight:900;font-size:13px;color:var(--ink-soft);transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.option:hover:not(:disabled) .opt-letter{border-color:var(--green);color:var(--green-deep)}.option.correct .opt-letter{background:var(--green);color:#fff;border-color:var(--green)}.option.wrong .opt-letter{background:var(--danger);color:#fff;border-color:var(--danger)}.opt-text{flex:1 1}.tab-ico{position:relative;display:inline-flex;align-items:center;justify-content:center}.tab-ico svg{width:23px;height:23px}.tab-badge{position:absolute;top:-5px;right:-11px;min-width:17px;height:17px;border-radius:999px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:900;display:grid;place-items:center;padding:0 4px;line-height:1;box-shadow:0 0 0 2px var(--surface)}.garden-scene{position:relative;height:320px;overflow:hidden;border:2px solid var(--line);box-shadow:var(--shadow-sm),inset 0 -20px 40px -24px rgba(20,80,40,.35);display:block;padding:0;margin-bottom:14px;--sky-cycle:240s}.sky{z-index:0}.sky,.sky-layer{position:absolute;inset:0}.sky-day{background:linear-gradient(180deg,#64c6f6,#9fe2ff 38%,#d2f2e6 70%,#fdf2d6);animation:skyDay var(--sky-cycle) linear infinite}.sky-night{background:linear-gradient(180deg,#060c2a,#141d4c 42%,#2e3470 78%,#47548a);opacity:0;animation:skyNight var(--sky-cycle) linear infinite}.moon-track,.sun-track{position:absolute;inset:0;pointer-events:none;will-change:transform}.sun-track{animation:sunArc var(--sky-cycle) linear infinite}.moon-track{opacity:0;animation:moonArc var(--sky-cycle) linear infinite}.sun{left:0;top:0;width:52px;height:52px;background:radial-gradient(circle at 40% 36%,#fff6c4,#ffd23f 60%,#ffb01f);box-shadow:0 0 30px 12px rgba(255,206,80,.55),0 0 70px 30px rgba(255,206,80,.22)}.sun,.sun:before{position:absolute;border-radius:50%}.sun:before{content:"";inset:-26px;background:repeating-conic-gradient(from 0deg,rgba(255,235,150,.32) 0deg 6deg,transparent 6deg 18deg);-webkit-mask:radial-gradient(circle,#000 26px,transparent 46px);mask:radial-gradient(circle,#000 26px,transparent 46px);animation:spin 60s linear infinite}.sun-core{border-radius:50%;background:radial-gradient(circle at 40% 36%,#fff9d8,transparent 62%)}.clouds,.sun-core{position:absolute;inset:0}.clouds{z-index:1;animation:dayThings var(--sky-cycle) linear infinite}.cloud{position:absolute;left:-9%;background:linear-gradient(180deg,#ffffff,#eef4fb);border-radius:100px;filter:drop-shadow(0 5px 7px rgba(120,150,175,.1));animation:cloudDrift linear infinite;will-change:transform}.cloud:after,.cloud:before{content:"";position:absolute;bottom:1px;background:inherit;border-radius:50%}.cloud.c1{width:70px;height:22px;top:34px;animation-duration:66s;animation-delay:-6s}.cloud.c2{width:52px;height:17px;top:70px;opacity:.9;animation-duration:90s;animation-delay:-42s}.cloud.c3{width:42px;height:14px;top:22px;opacity:.82;animation-duration:78s;animation-delay:-60s}.cloud.c1:before{width:36px;height:36px;left:7px}.cloud.c1:after{width:27px;height:27px;left:35px}.cloud.c2:before{width:27px;height:27px;left:5px}.cloud.c2:after{width:21px;height:21px;left:27px}.cloud.c3:before{width:22px;height:22px;left:4px}.cloud.c3:after{width:17px;height:17px;left:23px}.moon{left:0;top:0;width:40px;height:40px;background:radial-gradient(circle at 36% 34%,#ffffff,#eef2fb 62%,#cdd6ec);box-shadow:0 0 22px 8px rgba(220,232,255,.45)}.moon,.moon-crater{position:absolute;border-radius:50%}.moon-crater{background:rgba(150,165,205,.45)}.moon-crater.c1{width:8px;height:8px;top:9px;left:10px}.moon-crater.c2{width:5px;height:5px;top:21px;left:23px}.moon-crater.c3{width:6px;height:6px;top:25px;left:11px}.stars{position:absolute;inset:0;opacity:0;animation:nightThings var(--sky-cycle) linear infinite}.star{width:3px;height:3px;background:#fff;box-shadow:0 0 5px #fff;animation:twinkle 3.4s ease-in-out infinite}.shooting-star,.star{position:absolute;border-radius:50%}.shooting-star{z-index:1;width:4px;height:4px;background:#ffffff;box-shadow:0 0 6px 2px rgba(255,255,255,.95),0 0 14px 5px rgba(180,210,255,.5);opacity:0;transform:rotate(152deg);animation:shootStar 1.5s ease-in forwards}.shooting-star:before{content:"";position:absolute;right:2px;top:50%;width:82px;height:2px;transform:translateY(-50%);border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(200,222,255,.55) 55%,#ffffff)}.hills{inset:0;z-index:1}.hill,.hills{position:absolute}.hill{left:-10%;width:120%;border-radius:64% 88% 0 0/100% 92% 0 0;box-shadow:inset 0 6px 0 rgba(255,255,255,.14)}.hill-back{height:148px;bottom:38px;left:-22%;width:104%;border-radius:78% 62% 0 0/96% 100% 0 0;background:linear-gradient(180deg,#cdeacb,#a3d69c);box-shadow:inset 0 8px 0 rgba(255,255,255,.28)}.hill-back2{height:124px;bottom:37px;left:30%;width:96%;border-radius:58% 92% 0 0/100% 88% 0 0;background:linear-gradient(180deg,#abdd90,#82c968);box-shadow:inset 0 7px 0 rgba(255,255,255,.2)}.hill-mid{height:110px;bottom:30px;left:-30%;width:96%;border-radius:84% 60% 0 0/90% 100% 0 0;background:linear-gradient(180deg,#82cd60,#55ac3c);box-shadow:inset 0 6px 0 rgba(255,255,255,.16)}.river{position:absolute;left:0;right:0;bottom:40px;height:34px}.river svg{display:block;width:100%;height:100%}.river-glint{transform-box:fill-box;transform-origin:center;animation:riverGlint 3.6s ease-in-out infinite backwards}.ground{position:absolute;left:0;right:0;bottom:0;height:46px;z-index:2;background:linear-gradient(180deg,#67c141,#4da531 58%,#3a851f);box-shadow:inset 0 3px 0 rgba(255,255,255,.22)}.ground:before{top:-7px;height:11px;background:radial-gradient(6.5px 9px at 7px 9px,#74cc4b 42%,transparent 44%) repeat-x;background-size:15px 11px}.ground:after,.ground:before{content:"";position:absolute;left:0;right:0}.ground:after{top:14px;height:18px;background:radial-gradient(2px 2px at 8px 6px,rgba(255,255,255,.16) 45%,transparent 47%),radial-gradient(2px 2px at 22px 12px,rgba(20,70,30,.14) 45%,transparent 47%);background-size:30px 18px;opacity:.9}.scene-tint{z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(20,28,74,.36),rgba(24,30,60,.5));opacity:0;animation:nightThings var(--sky-cycle) linear infinite;mix-blend-mode:multiply}.forest,.scene-tint{position:absolute;inset:0}.forest{z-index:3}.forest-tree{position:absolute;bottom:24px;transform-origin:bottom center}.forest-tree .tree-svg{width:168px;height:auto}.forest-tree.sway{animation:treeSway 6s ease-in-out infinite}.forest-tree.sway2{animation:treeSway 7.5s ease-in-out infinite}.tree-sparkle{transform-box:fill-box;transform-origin:center;animation:sparklePulse 2.8s ease-in-out infinite}.petals{inset:0;z-index:5;pointer-events:none;overflow:hidden}.petal,.petals{position:absolute}.petal{width:8px;height:8px;border-radius:80% 0 80% 0;background:linear-gradient(135deg,#ffd0e6,#ff96c6);opacity:.9}.petal.p1{left:40%;animation:petalFall 6s linear infinite}.petal.p2{left:52%;animation:petalFall 7.5s linear infinite;animation-delay:-2s}.petal.p3{left:46%;animation:petalFall 6.8s linear infinite;animation-delay:-4s}.petal.p4{left:58%;animation:petalFall 8s linear infinite;animation-delay:-5.5s}.petal.p5{left:34%;animation:petalFall 7s linear infinite;animation-delay:-3s}.petal.p6{left:62%;animation:petalFall 7.2s linear infinite;animation-delay:-1s}.petal.p7{left:28%;animation:petalFall 8.4s linear infinite;animation-delay:-6.5s}.motes{z-index:5;pointer-events:none}.motes,.pollen-layer{position:absolute;inset:0}.pollen-layer{opacity:1;animation:dayThings var(--sky-cycle) linear infinite}.fireflies{position:absolute;inset:0;opacity:0;animation:nightThings var(--sky-cycle) linear infinite}.pollen{background:radial-gradient(circle,#fff6c0,rgba(255,224,130,.2));animation:moteRise linear infinite}.firefly,.pollen{position:absolute;width:4px;height:4px;border-radius:50%}.firefly{background:#eaff9a;box-shadow:0 0 8px 2px rgba(190,255,120,.8);animation:fireflyBlink 4s ease-in-out infinite}.critters{position:absolute;inset:0;z-index:5;pointer-events:none}.g-apple{position:absolute;left:48%;top:150px}.g-apple.fall{animation:appleFall 1.5s cubic-bezier(.45,0,.7,1) forwards}.g-hog-track{position:absolute;left:0;right:0;bottom:22px;height:0}.g-hog-track.in{animation:hogIn 4.5s ease-in-out forwards}.g-hog-track.out{animation:hogOut 5s ease-in forwards}.g-hog-track.wander-in{animation:hogIn 5s ease-in-out forwards}.g-hog-track.wander-hold{transform:translateX(42%)}.g-hog-track.wander-out{animation:hogOut 5s ease-in forwards}.g-hog-track.nap-in{animation:hogNapIn 4.6s ease-in-out forwards}.g-hog-track.nap-hold{transform:translateX(34%)}.g-hog-track.nap-out{animation:hogNapOut 5s ease-in forwards}@keyframes hogNapIn{0%{transform:translateX(-74px)}to{transform:translateX(34%)}}@keyframes hogNapOut{0%{transform:translateX(34%)}to{transform:translateX(-90px)}}.g-hog{position:absolute;left:0;bottom:0}.g-hog .hog-svg{display:block}.g-hog.walking .hog-svg{animation:hogWaddle .34s ease-in-out infinite alternate;transform-origin:50% 100%}@keyframes hogWaddle{0%{transform:rotate(-2.5deg) translateY(0)}to{transform:rotate(2.5deg) translateY(-1px)}}.g-hog .hog-leg{transform-box:fill-box;transform-origin:50% 0}.g-hog.walking .hog-leg.la{animation:hogStep .34s ease-in-out infinite alternate}.g-hog.walking .hog-leg.lb{animation:hogStep .34s ease-in-out .17s infinite alternate}@keyframes hogStep{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.g-hog .hog-snout{transform-box:fill-box;transform-origin:0 50%;animation:hogSniff .9s ease-in-out infinite}.g-hog.asleep .hog-svg{animation:hogBreathe 2.4s ease-in-out infinite alternate;transform-origin:50% 100%}@keyframes hogBreathe{0%{transform:scaleY(.96)}to{transform:scaleY(1.02)}}.g-hog.asleep .hog-snout{animation:none}.g-zz{position:absolute;top:-16px;right:-4px;font-weight:900;font-size:12px;color:#5c7fae;letter-spacing:2px;animation:zzFloat 2.4s ease-in-out infinite}@keyframes zzFloat{0%{opacity:0;transform:translateY(4px) scale(.8)}40%{opacity:.9}to{opacity:0;transform:translateY(-10px) scale(1.15)}}.g-apple-onback{position:absolute;left:8px;top:-8px;animation:cherryPickup .6s cubic-bezier(.3,1.3,.5,1) both,hogBob .42s ease-in-out .6s infinite alternate}@keyframes cherryPickup{0%{transform:translate(16px,26px) rotate(50deg)}60%{transform:translate(4px,-8px) rotate(-12deg)}to{transform:translate(0) rotate(0)}}.plot.rare{border-color:var(--amber);background:linear-gradient(0deg,#fff5d6,var(--surface))}.plot.rare .ready-badge{background:var(--grad-amber);color:#4a3000}.rare-sparkle{transform-box:fill-box;transform-origin:center;animation:spin 6s linear infinite}@keyframes skyDay{0%,40%{opacity:1}50%{opacity:0}90%{opacity:0}to{opacity:1}}@keyframes skyNight{0%,40%{opacity:0}50%{opacity:1}90%{opacity:1}to{opacity:0}}@keyframes dayThings{0%,40%{opacity:1}50%,90%{opacity:0}to{opacity:1}}@keyframes nightThings{0%,42%{opacity:0}52%,88%{opacity:1}98%,to{opacity:0}}@keyframes sunArc{0%{transform:translate(4%,72%);opacity:0}6%{opacity:1}25%{transform:translate(30%,16%)}40%{transform:translate(82%,44%);opacity:1}48%{transform:translate(92%,64%);opacity:0}to{transform:translate(4%,72%);opacity:0}}@keyframes moonArc{0%,50%{transform:translate(6%,66%);opacity:0}56%{opacity:1}72%{transform:translate(44%,14%)}92%{transform:translate(88%,54%);opacity:1}to{transform:translate(88%,60%);opacity:0}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes shootStar{0%{opacity:0;transform:translate(0) rotate(152deg) scale(.5)}12%{opacity:1;transform:translate(-24px,13px) rotate(152deg) scale(1)}72%{opacity:1}to{opacity:0;transform:translate(-210px,112px) rotate(152deg) scale(1)}}@keyframes cloudDrift{0%{transform:translateX(-70px)}to{transform:translateX(760px)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes moteRise{0%{transform:translateY(20px);opacity:0}20%{opacity:.9}to{transform:translateY(-220px);opacity:0}}@keyframes fireflyBlink{0%,to{opacity:0}50%{opacity:1}}@keyframes petalFall{0%{transform:translateY(-20px) rotate(0deg);opacity:0}10%{opacity:.9}to{transform:translate(-40px,250px) rotate(320deg);opacity:0}}@keyframes treeSway{0%,to{rotate:-1deg}50%{rotate:1deg}}@keyframes riverGlint{0%,to{opacity:0;transform:translateX(0)}50%{opacity:.7;transform:translateX(2px)}}@keyframes sparklePulse{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}@keyframes appleFall{0%{transform:translateY(-6px)}62%{transform:translate(-4px,128px)}78%{transform:translate(-5px,136px)}to{transform:translate(-6px,130px)}}@keyframes hogIn{0%{transform:translateX(-74px)}to{transform:translateX(42%)}}@keyframes hogOut{0%{transform:translateX(42%)}to{transform:translateX(-90px)}}.g-hog-track.nap-out .hog-svg,.g-hog-track.out .hog-svg,.g-hog-track.wander-out .hog-svg{transform:scaleX(-1)}@keyframes hogBob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes hogSniff{0%,to{transform:rotate(0deg)}30%{transform:rotate(-5deg)}60%{transform:rotate(3deg)}}.type-source{font-size:24px}.type-input{width:100%;margin-top:auto;border:2px solid var(--line-strong);border-radius:14px;padding:15px 18px;font-size:19px;font-weight:800;font-family:inherit;background:var(--bg-soft);outline:none;transition:border-color .15s ease,background .15s ease}.type-input:focus{background:var(--surface)}.type-input:disabled{opacity:.85}.lesson-row.exam{border-color:var(--grape);background:linear-gradient(180deg,#f6edff,var(--surface) 72%)}.lesson-row.exam .node{background:var(--grad-grape);box-shadow:0 5px 0 #6f37b0}.lesson-row.exam .go{color:var(--grape)}.exam-tag{display:inline-block;margin-left:8px;vertical-align:2px;background:var(--grad-grape);color:#fff;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px}@media (max-width:480px){.app{padding:18px 14px 104px}.brand{font-size:20px}.stats{gap:6px}.stat-pill{font-size:14px;padding:5px 10px 5px 7px}.hero h1{font-size:28px}.ex-question{font-size:26px}.stat-strip{gap:8px}.stat-tile{padding:11px 4px}.stat-tile-val{font-size:19px}.stat-tile-label{font-size:10px;letter-spacing:.02em}.hero-mascot,.hero-mascot .bear{width:78px}.hero-title{font-size:19px}.ach-grid{gap:8px}}.upath{margin-bottom:26px}.jump-btn{margin-left:10px;border:2px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:4px 11px;font-family:inherit;font-weight:900;font-size:12px;color:var(--green-deep);cursor:pointer;box-shadow:0 2px 0 var(--line-strong);transition:transform .12s var(--spring),border-color .12s ease}.jump-btn:hover{border-color:var(--green);transform:translateY(-1px)}.part-divider{display:flex;align-items:center;gap:12px;margin:34px 2px 22px}.part-divider .pd-line{flex:1 1;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--grape) 30%,var(--grape) 70%,transparent);opacity:.35}.part-divider .pd-label{font-family:var(--display);font-weight:700;font-size:15px;color:var(--grape);background:#f4ebfd;border:2px solid #e2cdf8;padding:6px 16px;border-radius:999px}.unit-banner{display:flex;align-items:center;gap:14px;background:var(--grad-green);color:#fff;padding:16px 18px;box-shadow:var(--shadow-pop)}.unit-banner:after{content:"";position:absolute;right:-30px;top:-46px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}.unit-banner.lv-a2{background:var(--grad-grape);box-shadow:0 18px 40px -14px rgba(110,50,190,.4)}.unit-banner.complete{background:var(--grad-amber);box-shadow:0 18px 40px -14px rgba(200,130,10,.42)}.unit-banner .ub-text{display:flex;flex-direction:column;gap:2px;min-width:0}.unit-banner .ub-num{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.9;display:flex;align-items:center}.unit-banner .ub-level{font-style:normal;background:rgba(255,255,255,.24);border-radius:999px;padding:1px 8px;margin-left:7px;font-size:11px}.unit-banner .ub-crown{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;margin-left:7px;box-shadow:0 2px 4px rgba(90,50,0,.25)}.unit-banner .ub-title{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.15}.unit-banner .ub-desc{font-size:13px;font-weight:700;opacity:.92}.unit-banner .ub-guide{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:none;background:rgba(255,255,255,.92);color:var(--ink);font-family:inherit;font-weight:900;font-size:14px;border-radius:999px;padding:9px 15px;cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.14);transition:transform .14s var(--spring)}.unit-banner .ub-guide:hover{transform:translateY(-2px) scale(1.03)}.path{padding:18px 0 4px}.path-row{justify-content:center;padding:12px 0}.path-node,.path-row{position:relative;display:flex}.path-node{border:none;background:none;padding:0;cursor:pointer;font-family:inherit;flex-direction:column;align-items:center;gap:7px;-webkit-tap-highlight-color:transparent}.path-node .node-face{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:transform .14s var(--spring),box-shadow .14s ease}.path-row.locked .path-node{cursor:default}.path-row.locked .node-face{background:#ece4d2;color:#b8ad94;box-shadow:0 6px 0 #d9cfb6}.path-row.done .node-face{background:var(--grad-amber);box-shadow:0 6px 0 #d98a0c,var(--shadow-sm)}.path-row.active .node-face{background:var(--grad-green);box-shadow:0 6px 0 #0c8a45,var(--shadow-pop)}.path-row.exam.active .node-face,.path-row.exam.locked .node-face{border-radius:30%}.path-row.exam.active .node-face{background:var(--grad-grape);box-shadow:0 6px 0 #7a35c9,0 18px 40px -14px rgba(110,50,190,.4)}.path-row:not(.locked) .path-node:hover .node-face{transform:translateY(-3px) scale(1.04)}.path-row:not(.locked) .path-node:active .node-face{transform:translateY(2px)}.path-row.active .node-face:after{content:"";position:absolute;inset:-9px;border-radius:inherit;border:4px solid rgba(23,180,94,.35);animation:node-pulse 1.6s ease-out infinite}.path-row.exam.active .node-face:after{border-color:rgba(155,93,229,.35)}@keyframes node-pulse{0%{transform:scale(.92);opacity:1}70%{transform:scale(1.12);opacity:0}to{transform:scale(1.12);opacity:0}}.path-node .node-start{top:-34px;transform:translateX(-50%);color:var(--green-deep);border:2px solid var(--green);font-weight:900;font-size:12px;letter-spacing:.1em;border-radius:12px;padding:5px 12px;box-shadow:var(--shadow-sm);animation:start-bob 1.2s ease-in-out infinite;white-space:nowrap;z-index:2}.path-node .node-start,.path-node .node-start:after{position:absolute;left:50%;background:var(--surface)}.path-node .node-start:after{content:"";bottom:-6px;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;border-right:2px solid var(--green);border-bottom:2px solid var(--green)}.path-row.exam .node-start{color:var(--grape);border-color:var(--grape)}.path-row.exam .node-start:after{border-color:var(--grape)}@keyframes start-bob{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}.path-node .node-label{max-width:130px;font-size:12.5px;color:var(--ink-soft);line-height:1.25;display:flex;flex-direction:column;align-items:center}.path-node .node-xp{font-style:normal;color:var(--amber-deep);font-size:11px;font-weight:900}.path-bear{position:absolute;top:50%;transform:translateY(-58%);pointer-events:none;animation:bear-bob 2.6s ease-in-out infinite}.fail-bear .bear,.path-bear .bear{position:static;left:auto;bottom:auto;animation:none;filter:drop-shadow(0 8px 12px rgba(31,39,31,.18))}.path-bear .bear{width:96px;height:auto}@keyframes bear-bob{0%,to{transform:translateY(-58%)}50%{transform:translateY(-64%)}}.sheet-layer{position:fixed;inset:0;z-index:60;background:rgba(32,24,8,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .22s ease both}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:620px;max-height:84vh;overflow-y:auto;background:var(--surface);border-radius:26px 26px 0 0;padding:12px 22px 26px;box-shadow:0 -18px 50px rgba(30,20,5,.3);animation:sheet-up .32s var(--spring) both}@keyframes sheet-up{0%{transform:translateY(60%)}to{transform:translateY(0)}}.sheet-grab{width:44px;height:5px;border-radius:999px;background:var(--line-strong);margin:2px auto 14px}.sheet-title{font-family:var(--display);font-weight:700;font-size:24px;margin:4px 0 8px}.sheet-body{font-size:15.5px;font-weight:600;line-height:1.55;color:var(--ink);margin:0 0 16px}.sheet-examples{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}.sheet-ex{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;grid-column-gap:10px;column-gap:10px;align-items:center;text-align:left;border:2px solid var(--line);border-radius:14px;background:var(--bg-soft);padding:10px 14px;cursor:pointer;font-family:inherit;transition:border-color .14s ease,transform .14s var(--spring)}.sheet-ex:hover{border-color:var(--green);transform:translateY(-1px)}.sheet-ex .se-spk{grid-row:1/span 2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-deep)}.sheet-ex .se-target{font-weight:900;font-size:16px;color:var(--ink)}.sheet-ex .se-native{font-weight:700;font-size:13px;color:var(--ink-soft)}.sheet-cta{width:100%}.teach-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:7vh}@supports (min-height:100dvh){.teach-wrap{padding-top:0;justify-content:center;min-height:min(620px,calc(100dvh - 150px))}}.teach-card{width:100%;max-width:460px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-lg);padding:40px 24px 30px;margin:10px 0 18px;animation:teach-in .3s var(--spring) both}@keyframes teach-in{0%{transform:translateX(46px);opacity:0}to{transform:translateX(0);opacity:1}}.teach-word{border:none;background:none;cursor:pointer;font-family:var(--display);font-weight:700;font-size:42px;letter-spacing:-.01em;color:var(--green-deep);display:inline-flex;align-items:center;gap:12px;padding:0}.teach-word .teach-spk{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--green-soft);flex:0 0 auto}.teach-gloss{font-size:19px;font-weight:800;color:var(--ink-soft);margin-top:10px}.teach-example{display:block;width:100%;margin-top:14px;padding:10px 14px;border:none;border-left:3px solid var(--green-bright);border-radius:10px;background:var(--green-soft);font-family:inherit;text-align:left;cursor:pointer}.teach-example .tex-target{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:16px;color:var(--green-deep)}.teach-example .tex-native{display:block;margin-top:3px;font-weight:700;font-size:13px;color:var(--ink-soft)}button.league{border:0;font:inherit;cursor:pointer}button.league:active{transform:scale(.97)}.hero-nudge{margin:2px 0 0;font-size:13px;font-weight:800;color:var(--amber-deep)}.ub-progress{display:block;height:6px;max-width:220px;border-radius:999px;background:rgba(0,0,0,.12);margin-top:8px;overflow:hidden}.ub-progress i{display:block;height:100%;border-radius:inherit;background:rgba(255,255,255,.92);transition:width .4s var(--ease)}.harvest-all{display:block;margin:0 auto 12px}.cel-progress{margin:14px 2px 4px;padding:12px 14px;border-radius:14px;background:var(--bg-soft);text-align:left}.cel-goal-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:800;color:var(--ink-soft);margin-bottom:6px}.cel-goal-track{height:10px;border-radius:999px;background:var(--line);overflow:hidden}.cel-goal-fill{height:100%;border-radius:inherit;background:var(--grad-green);transition:width .6s var(--ease)}.cel-goal-fill.met{background:var(--grad-amber)}.cel-goal-lane{position:relative}.cel-goal-lane.running{padding-top:54px}.goal-runner{position:absolute;right:-6px;bottom:-2px;pointer-events:none}.cel-league{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-strong);text-align:left}.cel-league-body{flex:1 1;min-width:0}.cel-league-fill{height:100%;border-radius:999px;transition:width .6s var(--ease)}.cel-league-note{margin-top:8px;font-size:12.5px;font-weight:800;color:var(--ink-soft)}.wonders{inset:0;z-index:2;pointer-events:none}.wonder,.wonders{position:absolute}.w-bridge{left:40%;bottom:46px;transform:translateX(-50%)}.w-lantern{left:4%;bottom:7px}.w-bench{right:4%;bottom:7px}.w-birdhouse{left:13%;bottom:6px}.w-fountain{left:31%;bottom:5px}.w-koi{left:15%;bottom:48px;width:70%;height:14px}.koi-track{position:absolute;inset:0;will-change:transform}.koi-track.ta{animation:koiSwimR 17s linear infinite}.koi-track.tb{animation:koiSwimL 23s linear infinite}.koi{position:absolute;left:0}.koi-a{bottom:4px;transform:scaleX(-1)}.koi-b{bottom:0}@keyframes koiSwimR{0%{transform:translateX(-10%)}to{transform:translateX(104%)}}@keyframes koiSwimL{0%{transform:translateX(104%)}to{transform:translateX(-10%)}}.lantern-glow{animation:lanternGlow 3.2s ease-in-out infinite}@keyframes lanternGlow{0%,to{opacity:.55}50%{opacity:1}}.bh-bird{transform-box:fill-box;transform-origin:center;animation:birdPeek 7s ease-in-out infinite}@keyframes birdPeek{0%,68%,to{opacity:0;transform:translateY(3px)}76%,92%{opacity:1;transform:translateY(0)}}.fount-jet{transform-box:fill-box;transform-origin:bottom center;animation:fountJet 1.6s ease-in-out infinite}.fount-jet.jb{animation-delay:.3s}.fount-jet.jc{animation-delay:.15s}@keyframes fountJet{0%,to{opacity:.5;transform:scaleY(.85)}50%{opacity:1;transform:scaleY(1.06)}}@media (prefers-reduced-motion:reduce){.bh-bird,.fount-jet,.koi,.koi-track,.lantern-glow{animation:none}}.teach-slow{display:inline-flex;align-items:center;gap:6px;margin-top:18px;border:2px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:7px 14px;font-family:inherit;font-weight:800;font-size:13px;color:var(--ink-soft);cursor:pointer;transition:border-color .14s ease}.teach-slow:hover{border-color:var(--teal);color:var(--ink)}.teach-dots{display:flex;gap:7px;margin-bottom:18px}.teach-dots .dot{width:9px;height:9px;border-radius:50%;background:var(--line-strong);transition:background .2s ease,transform .2s var(--spring)}.teach-dots .dot.on{background:var(--green);transform:scale(1.15)}.teach-nav{display:flex;align-items:stretch;gap:10px;width:100%;max-width:460px}.teach-nav .teach-next{flex:1 1;max-width:none}.teach-back{flex:0 0 auto;width:54px;border-radius:var(--radius,16px);border:2px solid var(--line);background:var(--surface);color:var(--ink);font-size:22px;font-weight:900;cursor:pointer;transition:transform .12s var(--spring),border-color .14s ease,opacity .14s ease}.teach-back:hover:not(:disabled){border-color:var(--green-bright);transform:translateY(-1px)}.teach-back:active:not(:disabled){transform:translateY(1px) scale(.97)}.teach-back:disabled{opacity:.32;cursor:default}.teach-next{width:100%;max-width:460px}.teach-skip{margin-top:14px;border:none;background:none;font-family:inherit;font-weight:800;font-size:14px;color:var(--ink-soft);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.teach-skip:hover{color:var(--ink)}.listen-row{display:flex;align-items:stretch;gap:10px;margin:6px 0 24px}.listen-row .listen-big{flex:1 1;margin:0}.listen-slow{flex:0 0 auto;width:64px;border:none;border-radius:20px;background:#e5f7f4;color:var(--teal);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 0 #b9e2dc,var(--shadow-sm);transition:transform .12s var(--spring),box-shadow .12s ease}.listen-slow:active{transform:translateY(3px);box-shadow:0 3px 0 #b9e2dc}.accent-bar{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.accent-key{min-width:35px;height:36px;padding:0;border:2px solid var(--line-strong);border-radius:10px;background:var(--surface);font-family:inherit;font-size:17px;font-weight:800;color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--line-strong);transition:transform .1s var(--spring),border-color .12s ease}.accent-key:hover:not(:disabled){border-color:var(--green);transform:translateY(-1px)}.accent-key:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--line-strong)}.accent-key:disabled{opacity:.5;cursor:default}.ex-slide{display:contents}.ex-slide>.ex{animation:ex-slide-in .3s var(--ease) both}@keyframes ex-slide-in{0%{transform:translateX(52px);opacity:0}to{transform:translateX(0);opacity:1}}.combo-aura{position:fixed;inset:0;pointer-events:none;z-index:5;box-shadow:inset 0 0 90px rgba(255,176,32,.25);animation:aura-breathe 1.6s ease-in-out infinite}@keyframes aura-breathe{0%,to{opacity:.65}50%{opacity:1}}.is-exam .progress-fill{background:var(--grad-grape)}.exam-banner{text-align:center;font-weight:900;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--grape);background:#f4ebfd;border:2px solid #e2cdf8;border-radius:999px;padding:6px 14px;width:-moz-fit-content;width:fit-content;margin:0 auto 10px}.fb-translation{font-style:italic}.feedback .spk{vertical-align:-4px;margin-left:6px}.fail-bear{position:fixed;left:18px;bottom:14px;z-index:3;animation:sad-sway 3s ease-in-out infinite;transform-origin:bottom center}@keyframes sad-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.hint-fab .bear,.hint-fab svg{vertical-align:-5px}@media (max-width:560px){.path-node .node-face{width:66px;height:66px}.path-bear .bear{width:76px}.unit-banner .ub-desc{display:none}.teach-word{font-size:34px}}.card{border-width:1.5px;border-color:var(--line);box-shadow:var(--shadow-sm)}.kicker{color:var(--ink-soft);letter-spacing:.14em;font-size:11.5px;font-weight:800}.section-label{font-family:var(--display);font-weight:600;font-size:17px;color:var(--ink);text-transform:none;letter-spacing:0}.btn{font-weight:800;letter-spacing:.01em;border-radius:16px;padding:13px 24px}.btn-primary{box-shadow:0 4px 0 var(--green-deep),var(--shadow-sm);text-shadow:none}.btn-primary:active{box-shadow:0 1px 0 var(--green-deep)}.btn-ghost{border-width:1.5px;box-shadow:0 3px 0 var(--line-strong)}.btn-danger{box-shadow:0 4px 0 var(--coral-deep);text-shadow:none}.stat-pill{border:none;padding:7px 13px 7px 9px;font-weight:800;box-shadow:var(--shadow-sm)}.hero-card{background:linear-gradient(160deg,#ffffff 55%,#f0faf3);border:1.5px solid var(--line);box-shadow:var(--shadow);padding:18px;gap:16px}.hero-mascot{width:108px;height:108px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#eafaf0,#d9f4e4);place-items:center;overflow:hidden;box-shadow:inset 0 0 0 4px #ffffff,var(--shadow-sm)}.hero-mascot .bear{width:86px;margin-bottom:-14px;filter:none}.hero-title{font-size:22px}.hero-sub{font-weight:700;font-size:13.5px}.league{box-shadow:none;font-size:10.5px;letter-spacing:.08em;padding:4px 11px}.stat-tile{border:none;border-radius:16px;box-shadow:var(--shadow-sm);padding:13px 6px 11px}.stat-tile-val{font-size:21px;font-weight:600}.stat-tile-label{font-size:10px;letter-spacing:.09em;color:#a09681}.quests-card{border:none;box-shadow:var(--shadow-sm);border-radius:var(--radius);padding:16px 18px 10px}.quests-title{font-size:17px;font-weight:600}.quest{border-top:1px solid #f4efe3;padding:11px 0}.quest-label{font-weight:700;font-size:13.5px}.quest-track{height:8px;background:#f1ebdd}.quest-check{border-width:2px;border-color:#e7dfcc;width:24px;height:24px;font-size:12px}.lang-picker{background:#f4efe3;border-radius:999px;padding:4px;display:inline-flex;gap:4px;margin-bottom:18px}.lang-picker .lang{border:none;background:transparent;box-shadow:none;border-radius:999px;padding:8px 16px;font-weight:800;font-size:13.5px;color:var(--ink-soft);cursor:pointer;transition:background .18s ease,color .18s ease,transform .14s var(--spring)}.lang-picker .lang:hover{transform:translateY(-1px)}.lang-picker .lang.on{background:var(--surface);color:var(--green-deep);box-shadow:var(--shadow-sm)}.review-card{display:flex;align-items:center;gap:10px;background:var(--surface);border:1.5px solid var(--line);border-left:5px solid var(--green);border-radius:16px;font-weight:700}.review-card .rv-text{flex:1 1;min-width:0}.review-card:hover{border-color:var(--line);border-left-color:var(--green);transform:translateY(-2px);box-shadow:var(--shadow)}.review-card .go{background:var(--green-soft);color:var(--green-deep);border-radius:999px;padding:5px 12px;font-weight:900}.journey-head{flex-wrap:nowrap;align-items:center;gap:10px}.journey-head span:first-child{font-weight:600;font-size:19px;white-space:nowrap}.journey-head .jump-btn{margin-left:0;white-space:nowrap}.badge{border:none;box-shadow:var(--shadow-sm)}.badge.locked{box-shadow:none;background:#f6f1e5}.mode-link{background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;font-weight:700}.unit-banner{border-radius:var(--radius);box-shadow:0 10px 26px -12px rgba(12,110,60,.45);padding:15px 18px}.unit-banner.lv-a2{box-shadow:0 10px 26px -12px rgba(110,50,190,.45)}.unit-banner.complete{box-shadow:0 10px 26px -12px rgba(200,130,10,.45)}.unit-banner .ub-title{font-weight:600}.path-node .node-face{border:4px solid rgba(255,255,255,.42);background-clip:padding-box}.path-row.locked .node-face{background:#f0e9d8;color:#c6bb9f;border-color:rgba(255,255,255,.65);box-shadow:0 5px 0 #ddd2b6}.path-row.done .node-face{box-shadow:0 5px 0 #d98a0c,var(--shadow-sm)}.path-row.active .node-face{width:78px;height:78px;box-shadow:0 6px 0 #0c8a45,0 12px 26px -10px rgba(12,138,69,.5)}.path-row.exam.active .node-face{box-shadow:0 6px 0 #7a35c9,0 12px 26px -10px rgba(122,53,201,.5)}.path-node .node-label{font-size:12px;color:#a89d86;font-weight:800}.path-row.active .node-label{background:var(--surface);border-radius:999px;padding:5px 13px;box-shadow:var(--shadow-sm);color:var(--ink)}.path-row.exam .node-label{color:#9a8fb5}.path-node .node-label.quiet{font-size:11px;opacity:.8;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.path-row.locked .node-label.quiet{opacity:.55}.progress-track{height:14px;background:#efe8d7;border-radius:999px;box-shadow:inset 0 1.5px 3px rgba(60,45,15,.08)}.progress-fill{border-radius:999px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}.ex-prompt{color:var(--ink-soft);font-weight:800;letter-spacing:.02em}.option{border-width:1.5px;border-radius:15px;box-shadow:0 3px 0 var(--line-strong);font-weight:700;font-size:16.5px}.option.correct{box-shadow:0 3px 0 var(--green)}.option.wrong{box-shadow:0 3px 0 #e8a89c}.opt-letter{background:#f4efe3;color:#a09681;border-radius:8px;font-size:12.5px}.token{border-width:1.5px;border-radius:12px;box-shadow:0 3px 0 var(--line-strong);font-weight:700}.type-input{background:var(--surface);border-width:1.5px;border-radius:15px;font-weight:700}.type-input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(23,180,94,.14)}.listen-big{border-radius:18px;box-shadow:0 5px 0 #2a8ccc,var(--shadow-sm);font-weight:800}.listen-slow{border-radius:18px;box-shadow:0 5px 0 #b9e2dc}.feedback{border-top:1.5px solid rgba(0,0,0,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.feedback .fb-title{font-family:var(--display);font-weight:600}.hint-fab{border:1.5px solid var(--line-strong);background:linear-gradient(180deg,var(--surface),var(--bg-soft));color:var(--ink);box-shadow:0 4px 0 var(--line-strong),var(--shadow-sm);font-weight:800;transition:transform .1s ease,box-shadow .1s ease}.hint-fab:active{transform:translateY(3px);box-shadow:0 1px 0 var(--line-strong)}.combo-chip{font-weight:900}.teach-card{border:1.5px solid var(--line);box-shadow:var(--shadow)}.sheet{box-shadow:0 -14px 44px rgba(30,20,5,.25)}.sheet-ex{border-width:1.5px;background:#fbf8f0}.accent-key{border-width:1.5px;box-shadow:0 2.5px 0 var(--line-strong)}.tabbar{border:1.5px solid rgba(255,255,255,.7);background:rgba(255,255,255,.92);box-shadow:0 10px 30px -10px rgba(43,34,16,.28);padding:6px}.tabbar button{font-weight:800;padding:8px 22px}.setting-label{display:flex;align-items:center;gap:11px;min-width:0}.setting-ico{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.setting-ico.ico-green{background:var(--green-soft);color:var(--green-deep)}.setting-ico.ico-sky{background:#e3f4fd;color:#1f8fc4}.setting-ico.ico-amber{background:var(--amber-soft);color:var(--amber-deep)}.setting-ico.ico-coral{background:var(--coral-soft);color:var(--coral-deep)}.setting-text{display:flex;flex-direction:column;font-weight:700}.setting-text .setting-note{display:block}.plan-card{border:1.5px solid var(--line);box-shadow:var(--shadow-sm)}.plan-card.current{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,180,94,.15),var(--shadow-sm)}.settings-card .setting-row{font-weight:700}.account-card{box-shadow:var(--shadow-sm)}.garden-scene{border-radius:var(--radius-lg);box-shadow:var(--shadow),inset 0 0 0 1.5px rgba(255,255,255,.35)}.plot{border:1.5px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}.plot:hover{box-shadow:var(--shadow)}.garden-shop{border:1.5px solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--radius)}.garden-hint{font-weight:700}:root{--grad-green:linear-gradient(165deg,#55ea95,#1ec06a 52%,#0c9a4c);--grad-amber:linear-gradient(165deg,#ffe071,#ffb524 52%,#ff930f);--grad-coral:linear-gradient(165deg,#ffa578,#ff6f52 55%,#ec4326);--grad-grape:linear-gradient(165deg,#c79bf6,#9a5ceb 55%,#7d3ad4);--grad-sky:linear-gradient(165deg,#78d8ff,#34aef0 55%,#1f8fe0);--shadow-pop:0 16px 34px -14px rgba(16,130,72,0.34)}.btn-danger,.btn-primary,.hero-cta,.plot-btn.harvest{position:relative;overflow:hidden;isolation:isolate}.btn-danger:after,.btn-primary:after,.hero-cta:after,.plot-btn.harvest:after{content:"";position:absolute;left:6%;right:6%;top:5px;height:42%;border-radius:999px;background:linear-gradient(rgba(255,255,255,.45),rgba(255,255,255,0));pointer-events:none;z-index:-1}.screen-swap{animation:screenIn .4s var(--ease) backwards}@keyframes screenIn{0%{opacity:0;transform:translateX(22px) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}.tabbar button .tab-ico{transition:transform .16s var(--spring)}.tabbar button.on .tab-ico{animation:tabPop .55s var(--spring)}.tabbar button:active .tab-ico{transform:scale(.84)}@keyframes tabPop{0%{transform:scale(1)}38%{transform:scale(1.34) translateY(-3px)}70%{transform:scale(.96)}to{transform:scale(1)}}.ex{background:linear-gradient(180deg,#ffffff,#fffaef);border-color:#f1e8d6;box-shadow:0 18px 36px -20px rgba(43,34,16,.24),0 2px 0 #f3ead6,inset 0 1px 0 rgba(255,255,255,.9)}.ex-question{text-shadow:0 1px 0 rgba(255,255,255,.6)}.option{background:linear-gradient(180deg,#ffffff,#fff8ea);transition:transform .13s var(--spring),border-color .14s ease,box-shadow .13s ease,background .14s ease}.option:hover:not(:disabled){border-color:var(--green-bright);box-shadow:0 5px 0 var(--green-bright),0 12px 20px -12px rgba(23,180,94,.5);transform:translateY(-2px)}.option:active:not(:disabled){transform:translateY(2px) scale(.995);box-shadow:0 2px 0 var(--green-bright)}.option.correct{background:linear-gradient(180deg,#eafff4,#ccf6e0);box-shadow:0 4px 0 var(--green),0 14px 24px -12px rgba(23,180,94,.55);animation:optPop .45s var(--spring)}.option.wrong{background:linear-gradient(180deg,#ffeeeb,#ffdcd5);box-shadow:0 4px 0 #e8a89c}@keyframes optPop{0%{transform:scale(1)}45%{transform:scale(1.035)}to{transform:scale(1)}}.progress-track{background:#efe6d2;box-shadow:inset 0 2px 4px rgba(60,45,15,.12)}.progress-fill{background:var(--grad-green);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(0,0,0,.1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.55) 50%,transparent 75%);transform:translateX(-120%);animation:barShine 2.6s var(--ease) infinite}@keyframes barShine{0%{transform:translateX(-120%)}60%,to{transform:translateX(320%)}}.feedback.ok{background:linear-gradient(180deg,#eefff6,#d3f7e6)}.feedback.bad{background:linear-gradient(180deg,#fff0ec,#ffe0d9)}.btn-primary.is-listening{animation:listenPulse 1.3s ease-in-out infinite}@keyframes listenPulse{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}.combo-chip{position:relative;box-shadow:0 4px 12px -6px rgba(255,106,77,.5)}.combo-chip:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 6px 20px -6px rgba(255,106,77,.85);opacity:0;animation:comboGlow 1.1s ease-in-out infinite;pointer-events:none}@keyframes comboGlow{0%,to{opacity:0}50%{opacity:1}}.xp-float{text-shadow:0 2px 0 #fff,0 0 16px rgba(255,176,32,.7)}.coin-burst{position:absolute;left:50%;top:40%;width:0;height:0;z-index:12;pointer-events:none}.coin-bit{position:absolute;left:-10px;top:-10px;width:20px;height:20px;animation:coinFly .9s var(--ease) forwards}.coin-bit .ico,.coin-bit svg{width:20px;height:20px;display:block;filter:drop-shadow(0 2px 2px rgba(120,80,0,.35))}.coin-burst.rare .coin-bit svg{filter:drop-shadow(0 0 5px rgba(255,205,60,.9))}@keyframes coinFly{0%{opacity:0;transform:rotate(var(--a)) translateY(4px) scale(.4)}22%{opacity:1;transform:rotate(var(--a)) translateY(calc(-.6 * var(--d))) scale(1.05)}to{opacity:0;transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(.85)}}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.account-card,.ach-section,.app-version,.changelog,.garden-hint,.garden-scene,.hero,.hero-card,.journey,.lang-picker,.mode-link,.plans,.plots,.quests-card,.review-card,.settings-card,.shop-grid,.stat-strip{animation:riseIn .5s var(--ease) backwards}.account-card,.plots,.stat-strip{animation-delay:.05s}.garden-hint,.plans,.quests-card{animation-delay:.1s}.lang-picker,.settings-card,.shop-grid{animation-delay:.14s}.changelog,.review-card{animation-delay:.17s}.app-version,.journey{animation-delay:.2s}.ach-section{animation-delay:.24s}.mode-link{animation-delay:.28s}.ach-grid .badge{animation:riseIn .45s var(--spring) backwards}.ach-grid .badge:nth-child(2){animation-delay:.05s}.ach-grid .badge:nth-child(3){animation-delay:.1s}.ach-grid .badge:nth-child(4){animation-delay:.15s}.ach-grid .badge:nth-child(5){animation-delay:.2s}.ach-grid .badge:nth-child(6){animation-delay:.25s}.badge,.cl-entry,.lang,.plan-card,.review-card,.shop-item,.stat-pill,.stat-tile{transition:transform .16s var(--spring),box-shadow .16s ease,filter .16s ease}.plan-card:hover,.review-card:hover,.shop-item:hover,.stat-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.plan-card:active,.review-card:active,.shop-item:active,.stat-tile:active{transform:translateY(-1px) scale(.99)}.stat-pill:hover{transform:translateY(-1px) scale(1.04)}.lang:hover:not(.on){transform:translateY(-2px)}.cl-entry:hover{transform:translateX(3px)}.badge.got:hover{transform:translateY(-3px) scale(1.05) rotate(-1.5deg)}.quest{transition:transform .16s var(--spring)}.quest.done{animation:questDone .5s var(--spring)}@keyframes questDone{0%{transform:scale(1)}45%{transform:scale(1.015)}to{transform:scale(1)}}.league{position:relative;overflow:hidden;isolation:isolate}.league:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);animation:leagueShine 4.5s var(--ease) 1s infinite;z-index:-1}@keyframes leagueShine{0%{transform:translateX(-120%)}22%,to{transform:translateX(220%)}}.badge.got{position:relative;box-shadow:var(--shadow-sm)}.badge.got:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 6px 18px -8px rgba(255,176,32,.55);opacity:0;animation:badgeBreath 3.6s ease-in-out infinite;pointer-events:none}@keyframes badgeBreath{0%,to{opacity:0}50%{opacity:1}}body:after,body:before{content:"";position:fixed;z-index:-1;width:64vmax;height:64vmax;border-radius:50%;pointer-events:none}body:before{left:-22vmax;top:-24vmax;background:radial-gradient(circle,rgba(62,220,134,.14),transparent 68%);animation:auroraA 26s ease-in-out infinite alternate}body:after{right:-24vmax;bottom:-26vmax;background:radial-gradient(circle,rgba(255,176,32,.13),transparent 68%);animation:auroraB 34s ease-in-out infinite alternate}@keyframes auroraA{0%{transform:translate(0) scale(1)}to{transform:translate(7vmax,5vmax) scale(1.18)}}@keyframes auroraB{0%{transform:translate(0) scale(1.12)}to{transform:translate(-6vmax,-5vmax) scale(.94)}}.tabbar button.on{background:var(--grad-green);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.15);box-shadow:0 5px 14px -6px rgba(18,160,82,.6),inset 0 1px 0 rgba(255,255,255,.35)}.hero-card:after{content:"";position:absolute;top:0;bottom:0;left:0;width:70px;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-90px) skewX(-14deg);animation:heroSheen 6s var(--ease) 1.4s infinite;pointer-events:none}@keyframes heroSheen{0%{transform:translateX(-90px) skewX(-14deg)}26%,to{transform:translateX(820px) skewX(-14deg)}}.hero-mascot{position:relative}.hero-mascot:after,.hero-mascot:before{content:"✦";position:absolute;color:var(--yellow);text-shadow:0 0 6px rgba(255,210,63,.8);opacity:0;animation:twinkleStar 3.2s ease-in-out infinite;pointer-events:none}.hero-mascot:before{top:-2px;right:2px;font-size:15px}.hero-mascot:after{bottom:12px;left:-4px;font-size:11px;animation-delay:1.6s}@keyframes twinkleStar{0%,to{opacity:0;transform:scale(.5) rotate(0deg)}50%{opacity:1;transform:scale(1.15) rotate(40deg)}}.unit-banner{position:relative;overflow:hidden;transition:transform .18s var(--spring)}.unit-banner:hover{transform:translateY(-2px)}.unit-banner:before{content:"";position:absolute;inset:-64px;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.07) 0 16px,transparent 16px 32px);animation:candyDrift 14s linear infinite;pointer-events:none;will-change:transform}@keyframes candyDrift{to{transform:translateX(45.255px)}}.quest-fill{position:relative;overflow:hidden}.quest-fill:after{content:"";position:absolute;top:0;bottom:0;left:-24px;right:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.32) 0 8px,transparent 8px 16px);animation:stripeSlide 1.2s linear infinite;pointer-events:none}.quest.done .quest-fill:after{animation:none;opacity:.18}@keyframes stripeSlide{to{transform:translateX(22.6px)}}.review-card{position:relative;box-shadow:var(--shadow-sm);animation:riseIn .5s var(--ease) .17s backwards}.review-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 8px 24px -8px rgba(255,106,77,.5);opacity:0;animation:reviewPulse 3s ease-in-out 1.4s infinite;pointer-events:none}@keyframes reviewPulse{0%,to{opacity:0}50%{opacity:1}}.listen-big:after,.plot.bloom:after{content:"";position:absolute;inset:-3px;border-radius:18px;border:2.5px solid rgba(255,176,32,.6);opacity:0;animation:ringPing 2s var(--ease) infinite;pointer-events:none}.plot.rare.bloom:after{border-color:rgba(255,205,60,.85);animation-duration:1.5s}.listen-big{position:relative}.listen-big:after{border-radius:21px;border-color:rgba(54,182,240,.55);animation-duration:2.6s}@keyframes ringPing{0%{opacity:.75;transform:scale(.97)}70%,to{opacity:0;transform:scale(1.09)}}.teach-card{animation:teachPop .45s var(--spring) backwards}@keyframes teachPop{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}.teach-spk{display:inline-flex;animation:spkBreath 2.2s ease-in-out .5s infinite}@keyframes spkBreath{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.is-perfect h2{background:linear-gradient(115deg,#ffb524,#ff8a3c 45%,#ffd64d 80%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:titlePop .6s var(--spring) .12s backwards}@keyframes titlePop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.avatar{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--green-bright),var(--shadow-sm)}.plan-card:has(.plan-tag){border-color:var(--amber);box-shadow:0 12px 28px -14px rgba(255,176,32,.55)}.plan-tag{animation:tagBob 2.8s ease-in-out infinite}@keyframes tagBob{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-2px) rotate(-2deg)}}.coins,.pill-num{display:inline-flex;animation:numPop .4s var(--spring)}.pill-num{display:inline-block}@keyframes numPop{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.bear-all{transform-box:fill-box;transform-origin:50% 100%;animation:bearBreath 3.2s ease-in-out infinite}@keyframes bearBreath{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.022)}}.bear-head-g{transform-box:fill-box;transform-origin:50% 88%;animation:bearHeadSway 5.8s ease-in-out infinite}@keyframes bearHeadSway{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.4deg)}}.bear-eyes{transform-box:fill-box;transform-origin:50% 50%;animation:bearBlink 4.6s linear infinite}@keyframes bearBlink{0%,91.5%,95.5%,to{transform:scaleY(1)}93.5%{transform:scaleY(.08)}}.bear-ear-l,.bear-ear-r{transform-box:fill-box;transform-origin:50% 96%}.bear-ear-l{animation:earTwitch 7.4s linear infinite}.bear-ear-r{animation:earTwitch 7.4s linear 3.6s infinite}@keyframes earTwitch{0%,90%,to{transform:rotate(0deg)}92.5%{transform:rotate(-7deg)}95.5%{transform:rotate(3deg)}}.bear-leg-l,.bear-leg-r{transform-box:fill-box;transform-origin:50% 8%}.dance-bear .bear-all{animation:danceGroove .42s ease-in-out infinite alternate}@keyframes danceGroove{0%{transform:scale(1.05,.94) rotate(-4deg)}to{transform:scale(.96,1.05) rotate(4deg)}}.dance-bear .bear-head-g{animation:danceBop .42s ease-in-out infinite alternate}@keyframes danceBop{0%{transform:rotate(6deg) translateY(1.5px)}to{transform:rotate(-6deg) translateY(-1.5px)}}.dance-bear .bear-ear-l{animation:danceEar .21s ease-in-out infinite alternate}.dance-bear .bear-ear-r{animation:danceEar .21s ease-in-out .105s infinite alternate}@keyframes danceEar{0%{transform:rotate(-9deg)}to{transform:rotate(6deg)}}.dance-bear .bear-leg-l{animation:danceStepL .42s ease-in-out infinite alternate}.dance-bear .bear-leg-r{animation:danceStepR .42s ease-in-out infinite alternate}@keyframes danceStepL{0%{transform:rotate(-14deg) translateY(-2.5px)}to{transform:rotate(3deg) translateY(0)}}@keyframes danceStepR{0%{transform:rotate(3deg) translateY(0)}to{transform:rotate(14deg) translateY(-2.5px)}}.fail-bear .bear-head-g{animation:none}.fail-bear .bear-all{animation-duration:4.6s}.hero-bear-hop{display:block;transform-origin:50% 92%;will-change:transform}.bear-look{transform-box:fill-box;transform-origin:50% 50%;animation:hbLook 7.2s ease-in-out infinite}@keyframes hbLook{0%,14%,to{transform:translate(0)}18%,36%{transform:translate(1.3px,.2px)}40%,62%{transform:translate(-1px,.4px)}66%,92%{transform:translate(.3px,-.5px)}}.bear-nose{transform-box:fill-box;transform-origin:50% 50%;animation:hbNose 6.4s linear infinite}@keyframes hbNose{0%,91%,to{transform:scale(1)}93.5%{transform:scale(1.15)}96%{transform:scale(1)}98%{transform:scale(1.1)}}.dance-bear .bear-belly{transform-box:fill-box;transform-origin:50% 50%;animation:hbDBelly .42s ease-in-out infinite alternate}@keyframes hbDBelly{0%{transform:scale(1.035,.965)}to{transform:scale(.97,1.03)}}.bear-tear{transform-box:fill-box;transform-origin:50% 0;animation:hbTear 3.2s ease-in-out infinite}@keyframes hbTear{0%{transform:translateY(0) scale(.5);opacity:0}14%{transform:translateY(0) scale(1);opacity:1}55%{transform:translateY(6.5px) scale(1);opacity:1}76%{transform:translateY(11px) scale(.9);opacity:0}to{transform:translateY(11px) scale(.9);opacity:0}}.path-row.active .node-face:after,.path-row.exam.active .node-face:after{display:none}.path-row.active .node-face{background:linear-gradient(180deg,#34d97e,#12a656);box-shadow:0 6px 0 #097a3e,0 9px 12px -6px rgba(0,0,0,.3)}.path-row.done .node-face{background:linear-gradient(180deg,#ffc94a,#f2a512);box-shadow:0 6px 0 #c9790a,0 9px 12px -6px rgba(0,0,0,.3)}.path-row.exam.active .node-face{background:linear-gradient(180deg,#ab74f2,#8a49df);box-shadow:0 6px 0 #6428b4,0 9px 12px -6px rgba(0,0,0,.3)}.path-row.exam.done .node-face{background:linear-gradient(180deg,#ffc94a,#f2a512);box-shadow:0 6px 0 #c9790a,0 9px 12px -6px rgba(0,0,0,.3)}.path-row.active .node-face,.path-row.done .node-face,.path-row.exam.active .node-face,.path-row.exam.done .node-face,html[data-theme=dark] .path-row.active .node-face,html[data-theme=dark] .path-row.done .node-face,html[data-theme=dark] .path-row.exam.active .node-face,html[data-theme=dark] .path-row.exam.done .node-face{border-color:transparent}:focus-visible{outline:3px solid rgba(23,180,94,.55);outline-offset:2px}.seg{display:inline-flex;gap:3px;background:#f4efe3;border-radius:999px;padding:3px}.seg-btn{border:none;background:transparent;font-family:inherit;font-weight:800;font-size:12.5px;color:var(--ink-soft);border-radius:999px;padding:6px 12px;cursor:pointer;transition:background .16s ease,color .16s ease,transform .14s var(--spring)}.seg-btn:hover:not(.on){transform:translateY(-1px)}.seg-btn.on{background:var(--surface);color:var(--green-deep);box-shadow:var(--shadow-sm)}.pill-tail{font-size:13px;font-weight:800;color:var(--ink-soft)}.week-card{padding:18px 18px 14px}.week-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}.week-stat{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink-soft)}.week-stat b{font-family:var(--display);font-weight:600;font-size:17px;color:var(--ink)}.week-chart{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;grid-gap:8px;gap:8px;height:118px;padding:6px 2px 0}.week-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;min-width:0}.week-val{font-family:var(--display);font-weight:600;font-size:12px;color:var(--green-deep);line-height:1}.week-bar{width:min(30px,78%);border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#baf0d2,#8fe3b6);box-shadow:inset 0 -2px 0 rgba(12,110,60,.18);transition:height .6s var(--ease);animation:weekGrow .6s var(--ease) backwards}.week-col:nth-child(2) .week-bar{animation-delay:.05s}.week-col:nth-child(3) .week-bar{animation-delay:.1s}.week-col:nth-child(4) .week-bar{animation-delay:.15s}.week-col:nth-child(5) .week-bar{animation-delay:.2s}.week-col:nth-child(6) .week-bar{animation-delay:.25s}.week-col:nth-child(7) .week-bar{animation-delay:.3s}@keyframes weekGrow{0%{transform:scaleY(.2);transform-origin:bottom;opacity:0}to{transform:scaleY(1);transform-origin:bottom;opacity:1}}.week-col.today .week-bar{background:var(--grad-green);box-shadow:inset 0 2px 0 rgba(255,255,255,.35),inset 0 -3px 0 rgba(0,0,0,.1)}.week-day{font-size:11px;font-weight:900;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase}.week-col.today .week-day{color:var(--green-deep)}.week-foot{margin:12px 2px 0;font-size:12.5px;font-weight:700;color:var(--ink-soft)}html[data-theme=dark]{color-scheme:dark;--bg:#17140e;--bg-soft:#262115;--surface:#1f1b13;--ink:#f3edde;--ink-soft:#b1a78f;--line:#332d1e;--line-strong:#463e29;--green-deep:#3bd685;--green-soft:#143422;--amber-soft:#372a11;--coral-soft:#3d221a;--danger:#ff6a57;--green-tint:#16301f;--green-edge:#2c5a3d;--danger-tint:#3a2019;--danger-edge:#6b3a2e;--shadow:0 14px 30px -14px rgba(0,0,0,0.55),0 2px 6px -2px rgba(0,0,0,0.4);--shadow-sm:0 3px 10px -4px rgba(0,0,0,0.45);--shadow-pop:0 16px 34px -14px rgba(0,0,0,0.6)}html[data-theme=dark] body:before{background:radial-gradient(circle,rgba(62,220,134,.1),transparent 68%)}html[data-theme=dark] body:after{background:radial-gradient(circle,rgba(255,176,32,.08),transparent 68%)}html[data-theme=dark] ::selection{background:var(--green-deep);color:#06371d}html[data-theme=dark] :focus-visible{outline-color:rgba(62,220,134,.65)}html[data-theme=dark] .btn-primary{box-shadow:0 4px 0 #0a5c33,var(--shadow-sm)}html[data-theme=dark] .btn-primary:active{box-shadow:0 1px 0 #0a5c33}html[data-theme=dark] .btn-primary:disabled{box-shadow:0 4px 0 #3c4438}html[data-theme=dark] .avatar{box-shadow:0 0 0 3px var(--bg),0 0 0 6px var(--green-bright),var(--shadow-sm)}html[data-theme=dark] .garden-toast{background:#0d6236}html[data-theme=dark] .hero-card{background:linear-gradient(160deg,#211d14 55%,#182a1e)}html[data-theme=dark] .hero-card:after{background:linear-gradient(105deg,transparent,rgba(255,255,255,.12),transparent)}html[data-theme=dark] .hero-mascot{background:radial-gradient(circle at 50% 38%,#1e3627,#142518);box-shadow:inset 0 0 0 4px rgba(255,255,255,.07),var(--shadow-sm)}html[data-theme=dark] .quest{border-top-color:var(--line)}html[data-theme=dark] .quest-track{background:#2f2a1e}html[data-theme=dark] .quest-check{border-color:#4a4230}html[data-theme=dark] .lang-picker,html[data-theme=dark] .seg{background:#2a251a}html[data-theme=dark] .lang-picker .lang.on,html[data-theme=dark] .seg-btn.on{background:#3a3322}html[data-theme=dark] .path-node .node-face{border-color:rgba(255,255,255,.13)}html[data-theme=dark] .path-row.locked .node-face{background:#2b261b;color:#6f664f;border-color:rgba(255,255,255,.07);box-shadow:0 5px 0 #191509}html[data-theme=dark] .path-node .node-label{color:#8d8974}html[data-theme=dark] .unit-banner .ub-guide{color:#2a2620}html[data-theme=dark] .part-divider .pd-label{background:#2b2138;border-color:#4b3a68;color:#c9a9f2}html[data-theme=dark] .badge.locked{background:#262117}html[data-theme=dark] .mode-link{color:#cfaef5}html[data-theme=dark] .stat-xp{background:linear-gradient(180deg,#10301f,#0c2418);border-color:#1d5138}html[data-theme=dark] .stat-coins{background:linear-gradient(180deg,#33270f,#261c09);border-color:#64491a}html[data-theme=dark] .stat-combo{background:linear-gradient(180deg,#342811,#271d0a);border-color:#614a1e}html[data-theme=dark] .stat-words{background:linear-gradient(180deg,#241d38,#1b1529);border-color:#453370}html[data-theme=dark] .stat-ic{box-shadow:0 5px 12px -5px rgba(0,0,0,.5)}html[data-theme=dark] .ex{background:linear-gradient(180deg,#231f15,#1d1911);border-color:#37301e;box-shadow:0 18px 36px -20px rgba(0,0,0,.6),0 2px 0 #14100a,inset 0 1px 0 rgba(255,255,255,.04)}html[data-theme=dark] .ex-question{text-shadow:none}html[data-theme=dark] .option{background:linear-gradient(180deg,#282318,#221e13)}html[data-theme=dark] .option.correct{background:linear-gradient(180deg,#0f3722,#0b2b1b)}html[data-theme=dark] .option.wrong{background:linear-gradient(180deg,#39201a,#2e1813);box-shadow:0 3px 0 #6e392c}html[data-theme=dark] .opt-letter{background:#2c261a;color:#948a73}html[data-theme=dark] .progress-track{background:#2e2920;box-shadow:inset 0 2px 4px rgba(0,0,0,.4)}html[data-theme=dark] .combo{text-shadow:0 2px 0 rgba(0,0,0,.4),0 3px 8px rgba(232,72,42,.3)}html[data-theme=dark] .combo-chip{color:#ff9b82}html[data-theme=dark] .xp-float{text-shadow:0 2px 0 rgba(0,0,0,.45),0 0 16px rgba(255,176,32,.6)}html[data-theme=dark] .feedback{border-top-color:rgba(255,255,255,.07);box-shadow:0 -12px 34px -12px rgba(0,0,0,.6)}html[data-theme=dark] .feedback.ok{background:linear-gradient(180deg,#12341f,#0e2a19)}html[data-theme=dark] .feedback.bad{background:linear-gradient(180deg,#3a2019,#2f1912)}html[data-theme=dark] .listen-slow{background:#103029;color:#2fd8c0;box-shadow:0 5px 0 #0b4b41}html[data-theme=dark] .listen-slow:active{box-shadow:0 3px 0 #0b4b41}html[data-theme=dark] .exam-banner{background:#2b2138;border-color:#4b3a68;color:#c9a9f2}html[data-theme=dark] .note{color:#d8c9a4;background:repeating-linear-gradient(transparent,transparent 31px,#3f3824 32px),linear-gradient(180deg,#2c2718,#262112);box-shadow:0 1px 0 #191509,0 22px 45px rgba(0,0,0,.55)}html[data-theme=dark] .note-title{color:#ead9ae}html[data-theme=dark] .note-lines li{color:#c9bb95}html[data-theme=dark] .note-x{color:#c2b189}html[data-theme=dark] .sheet-layer{background:rgba(0,0,0,.6)}html[data-theme=dark] .sheet-ex{background:var(--bg-soft)}html[data-theme=dark] .tabbar{background:rgba(28,24,17,.9);border-color:rgba(255,255,255,.08);box-shadow:0 10px 30px -10px rgba(0,0,0,.65)}html[data-theme=dark] .garden-app{background:radial-gradient(900px 420px at 50% -5%,#10261b,transparent 70%),radial-gradient(700px 380px at 90% 10%,rgba(255,176,32,.07),transparent 65%),linear-gradient(180deg,#161d14,var(--bg) 62%)}html[data-theme=dark] .garden-scene{box-shadow:var(--shadow),inset 0 0 0 1.5px rgba(255,255,255,.08)}html[data-theme=dark] .grow-bar{background:rgba(255,255,255,.14)}html[data-theme=dark] .plot.rare{background:linear-gradient(0deg,#33270f,var(--surface))}html[data-theme=dark] .plot-add{background:rgba(255,255,255,.04)}html[data-theme=dark] .setting-ico.ico-sky{background:#0e2a3a;color:#6cc4ee}html[data-theme=dark] .cl-version{border-color:#1d5138}html[data-theme=dark] .cl-entry.latest .cl-version{color:#4a3000;border-color:var(--amber)}html[data-theme=dark] .week-bar{background:linear-gradient(180deg,#1f5c3b,#17492f);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}html[data-theme=dark] .week-col.today .week-bar{background:var(--grad-green)}.setting-ico.ico-grape{background:#f2ebfe;color:#7a3ad8}html[data-theme=dark] .setting-ico.ico-grape{background:#291f3d;color:#c9a9f2}.screens{position:relative}.screen.off{position:absolute;top:0;left:0;right:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none;content-visibility:hidden}.screen.off *,.screen.off :after,.screen.off :before{animation-play-state:paused!important}.fab-top{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom, 0px));z-index:44;border-radius:999px;border:none;cursor:pointer;background:var(--grad-green);color:#fff;padding:10px 19px 11px;font-family:var(--font);font-size:14.5px;font-weight:800;display:inline-flex;align-items:center;gap:7px;box-shadow:0 3px 0 #0c8a45,var(--shadow);animation:fabIn .25s var(--spring) both;transition:transform .12s var(--spring);transform:translateX(-50%)}.fab-top:active{transform:translateX(-50%) translateY(2px);box-shadow:0 1px 0 #0c8a45,var(--shadow-sm)}.fab-top-arrow{font-size:17px;font-weight:900;line-height:1}@keyframes fabIn{0%{opacity:0;transform:translateX(-50%) scale(.5) translateY(10px)}to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}.unit-collapsed{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;margin:10px 0;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring),border-color .14s ease}.unit-collapsed:hover{border-color:var(--green-bright);transform:translateY(-1px)}.uc-crown{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--grad-amber);color:#fff}.uc-text{flex:1 1;min-width:0;display:flex;flex-direction:column}.uc-text b{font-size:14.5px}.uc-text i{font-style:normal;font-size:12px;font-weight:700;color:var(--ink-soft)}.uc-check{color:var(--green);flex:0 0 auto}html:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(900px 340px at 50% -12%,rgba(62,220,134,.14),transparent 70%),radial-gradient(1000px 420px at 50% 116%,rgba(255,200,90,.1),transparent 70%)}html[data-theme=dark]:before{background:radial-gradient(900px 340px at 50% -12%,rgba(62,220,134,.09),transparent 70%),radial-gradient(1000px 420px at 50% 116%,rgba(255,176,32,.06),transparent 70%)}.garden-scene{isolation:isolate;contain:paint;background:linear-gradient(180deg,#64c6f6,#9fe2ff 38%,#d2f2e6 70%,#fdf2d6)}html[data-theme=dark] .garden-scene{background:linear-gradient(180deg,#0a1230,#141d4c 55%,#24305e)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.auth-error{color:var(--danger,#c0392b);font-weight:700;font-size:14px;margin:2px 0 8px}.auth-switch{text-align:center;font-weight:600;font-size:14px;color:var(--ink-soft);margin:14px 0 0}.auth-switch button{border:none;background:none;font:inherit;font-weight:800;color:var(--green-deep,#1f5e3a);cursor:pointer;text-decoration:underline;padding:0}.auth-legal{text-align:center;font-size:12.5px;color:var(--ink-soft);margin:10px 0 0}.auth-legal a{color:inherit;font-weight:700}.google-btn{display:block;width:100%;text-align:center;margin-top:10px;text-decoration:none}.account-sync{font-size:12.5px;font-weight:700;color:var(--green-deep,#1f5e3a);margin-top:4px}.admin-row{gap:14px}.admin-row .field.select{min-width:150px}.admin-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--terracotta,#d9613b);color:#fff;font-size:11px;font-weight:900;vertical-align:middle}.legal .card{line-height:1.65}.legal h2{font-size:17px;margin:20px 0 4px}.legal p{margin:6px 0;font-weight:500}.legal .legal-note{margin-top:20px;font-size:13px;color:var(--ink-soft);font-style:italic}.legal .btn{margin-top:18px;display:inline-block;text-decoration:none}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm,12px);padding:14px 10px;text-align:center;box-shadow:var(--shadow-sm)}.stat-value{font-size:24px;font-weight:950;color:var(--green-deep,#1f5e3a)}.stat-label{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-top:2px}.lang-split{display:flex;flex-wrap:wrap;gap:8px}.lang-chip{background:var(--bg-soft,#f3ead6);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.stats-table{font-size:13.5px}.stats-table th{text-align:left;font-weight:900;letter-spacing:.05em;border-bottom:2px solid var(--line)}.stats-table td{padding:7px 8px;font-weight:700}.user-stats{font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-top:4px}.user-saved{font-weight:600;opacity:.8}.gate-splash{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg,#fffdf7)}.gate-splash-logo{width:72px;height:72px;animation:gatePulse 1.4s ease-in-out infinite}@keyframes gatePulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.gate{position:fixed;inset:0;display:grid;place-items:center;padding:24px;overflow-y:auto;background:radial-gradient(120% 90% at 50% -10%,rgba(46,192,106,.16),transparent 60%),var(--bg,#fffdf7)}.gate-card{width:100%;max-width:380px;background:var(--surface,#fff);border:1px solid var(--line,#ece2cd);border-radius:22px;padding:30px 24px 24px;text-align:center;box-shadow:0 30px 70px -30px rgba(20,40,25,.4);animation:gateRise .5s cubic-bezier(.22,1,.36,1) backwards}@keyframes gateRise{0%{opacity:0;transform:translateY(14px) scale(.98)}}.gate-logo{width:60px;height:60px;margin-bottom:12px}.gate-badge{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--amber-soft,#fff2d0);color:#a56b12;font-weight:800;font-size:12.5px;letter-spacing:.02em}.gate-title{font-size:24px;font-weight:900;margin:12px 0 6px}.gate-sub{color:var(--ink-soft,#6b6350);font-size:14.5px;line-height:1.5;margin:0 0 18px}.gate-card .field{text-align:left}.gate-submit{width:100%;margin-top:4px}@media (prefers-color-scheme:dark){.gate-badge{background:rgba(255,190,80,.14);color:#ffce7a}}:root[data-theme=dark] .gate-badge{background:rgba(255,190,80,.14);color:#ffce7a}.hero-bear-btn{border:none;background:none;padding:0;margin:0;cursor:pointer;display:block;-webkit-tap-highlight-color:transparent;transition:transform .12s var(--spring,cubic-bezier(.34,1.56,.64,1))}.hero-bear-btn:active{transform:scale(.94)}.hero-bear-btn.hi{animation:heroHi 1.5s ease both;transform-origin:50% 90%}@keyframes heroHi{0%{transform:rotate(0deg)}15%{transform:rotate(-9deg)}32%{transform:rotate(7deg)}48%{transform:rotate(-5deg)}64%{transform:rotate(3deg)}80%{transform:rotate(-1.5deg)}to{transform:rotate(0deg)}}.hero-bear-btn.away{opacity:0;transition:opacity .25s ease}.hero-dancer{position:absolute;right:16px;bottom:6px;z-index:3;border:none;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.hero-dancer .hero-dancer-bear{animation:eggGroove .52s ease-in-out infinite alternate;transform-origin:50% 100%;filter:drop-shadow(0 6px 8px rgba(31,39,31,.25))}.hero-dancer .bear,.hero-dancer .hero-dancer-bear{position:static;left:auto;bottom:auto;display:block}.hero-dancer .bear{animation:none;width:132px;height:auto;filter:none}@keyframes eggGroove{0%{transform:translateY(1px) rotate(-4deg) scale(1)}to{transform:translateY(-7px) rotate(4deg) scale(1.03)}}.hero-dancer .dnote{position:absolute;font-size:17px;font-weight:900;color:var(--green-deep);animation:eggNote 1.5s ease-in-out infinite;pointer-events:none}.hero-dancer .dnote.a{top:-16px;left:6px;animation-delay:0s}.hero-dancer .dnote.b{top:-10px;right:2px;animation-delay:.5s}@keyframes eggNote{0%{transform:translateY(0) rotate(-10deg);opacity:0}30%{opacity:.95}to{transform:translateY(-30px) rotate(12deg);opacity:0}}@media (prefers-reduced-motion:reduce){.hero-dancer-bear{animation:none}.hero-dancer .dnote{animation:none;opacity:.7}}.dialog{gap:7px;margin:6px 0 14px;max-height:38vh;max-height:max(140px,min(38vh,calc(100dvh - 450px)));overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.dialog,.dline{display:flex;flex-direction:column}.dline{max-width:82%}.dline.left{align-self:flex-start;align-items:flex-start}.dline.right{align-self:flex-end;align-items:flex-end}.dspeaker{font-size:11.5px;font-weight:800;color:var(--ink-soft);margin:0 8px 3px;text-transform:uppercase;letter-spacing:.03em}.dbubble{position:relative;padding:9px 12px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);font-size:15px;font-weight:600;line-height:1.35;box-shadow:var(--shadow-sm,0 2px 6px rgba(0,0,0,.05));display:flex;flex-direction:column;gap:3px}.dline.left .dbubble{border-bottom-left-radius:6px}.dline.right .dbubble{border-bottom-right-radius:6px;background:var(--green-tint);border-color:var(--green-edge)}.dtext{display:inline-flex;align-items:center;gap:8px}.dtrans{font-size:12.5px;font-weight:600;color:var(--ink-soft)}.dgapbubble{border-style:dashed;border-width:2px;min-width:64px}.dgap{letter-spacing:3px;color:var(--ink-soft);font-weight:900;animation:dgapPulse 1.2s ease-in-out infinite}@keyframes dgapPulse{0%,to{opacity:.4}50%{opacity:1}}.dbubble.ok{border-color:var(--green);background:var(--green-tint)}.dbubble.bad{border-color:var(--danger-edge);background:var(--danger-tint)}.add-friend{display:flex;gap:8px}.add-friend .field{flex:1 1}.friend-note{color:var(--green-deep,#1f5e3a);font-weight:700;font-size:14px;margin:8px 0 0}.friend-pending{text-align:center;color:var(--ink-soft);font-size:13px;font-weight:600;margin:10px 0}.friend-list{gap:10px}.friend-list,.friends-empty{display:flex;flex-direction:column}.friends-empty{align-items:center;text-align:center;gap:4px;padding:28px 22px}.friends-empty .fe-face{display:inline-flex;animation:float-bob 3.2s ease-in-out infinite}.friends-empty p{margin:0;color:var(--ink-soft);font-weight:700;line-height:1.55;max-width:34ch}.friend-row{display:flex;align-items:center;gap:12px}.friend-row .account-meta{flex:1 1;min-width:0}.friend-actions{display:flex;gap:6px;flex-shrink:0}.friend-actions .btn{padding:8px 12px}.result-row.won{border-color:var(--green-edge);background:var(--green-tint)}.result-row.lost{opacity:.82}.waiting-row{opacity:.9}.waiting-row.live{opacity:1;border-color:var(--danger-edge)}.cancel-btn{flex:0 0 auto;width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line-strong);font-size:15px;font-weight:800;color:var(--ink-soft);line-height:1;transition:border-color .14s ease,color .14s ease,background .14s ease}.cancel-btn:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.cancel-btn:active{transform:scale(.92)}.live-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:900;letter-spacing:.06em;border-radius:999px;padding:3px 10px}.live-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:liveBlink 1s step-end infinite}@keyframes liveBlink{50%{opacity:.25}}.live-banner{display:flex;align-items:center;gap:10px;background:var(--danger-tint);border:1.5px solid var(--danger-edge);border-radius:14px;padding:11px 14px;margin-bottom:12px;font-size:14px;font-weight:700}.learnt-line{font-size:11.5px;font-weight:700;color:var(--ink-soft);margin-top:1px}.online-count{display:inline-flex;align-items:center;gap:5px;margin-left:10px;color:var(--green-deep);font-size:12px;font-weight:800}.app-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:70;background:var(--ink);color:var(--bg);font-size:13.5px;font-weight:700;border-radius:999px;padding:9px 18px;box-shadow:var(--shadow-pop);animation:toastIn .3s var(--spring) both,toastOut .3s ease 3.2s forwards;pointer-events:none;max-width:86vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes toastOut{to{opacity:0;transform:translateX(-50%) translateY(8px)}}.tab-live{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--danger);color:#fff;font-size:8.5px;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:1.5px 6px;box-shadow:0 0 0 2px var(--surface)}.challenge-rules{margin:-4px 0 8px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}.chat-screen{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--bg);max-width:560px;margin:0 auto}.chat-screen .chat-thread{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:10px 14px 16px;min-height:0}.chat-screen .chat-compose{position:static;padding:10px 12px calc(12px + env(safe-area-inset-bottom, 0px));border-top:1.5px solid var(--line);background:var(--surface)}.chat-ava{flex:0 0 auto}.chat-top,.friends-top{display:flex;align-items:center;gap:10px;padding:12px 4px;position:-webkit-sticky;position:sticky;top:0;background:var(--bg,#fffdf7);z-index:2}.chat-screen .chat-top{position:static;padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;border-bottom:1.5px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.chat-screen .chat-title{display:flex;flex-direction:column;line-height:1.2}.chat-screen .chat-presence{margin-left:0}.chat-back{border:none;background:none;font-size:24px;font-weight:900;cursor:pointer;color:var(--ink);padding:0 6px;line-height:1}.chat-title{font-weight:900;font-size:18px}.chat-thread{display:flex;flex-direction:column;gap:8px;padding:8px 2px 16px;min-height:40vh}.chat-empty{text-align:center;color:var(--ink-soft);margin-top:30px}.chat-day{align-self:center;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);background:var(--bg-soft);border-radius:999px;padding:3px 12px;margin:8px 0 2px}.chat-line{display:flex;flex-direction:column;max-width:78%;gap:2px}.chat-line.mine{align-self:flex-end;align-items:flex-end}.chat-line.theirs{align-self:flex-start;align-items:flex-start}.chat-msg{max-width:100%;padding:9px 13px;border-radius:16px;font-size:15px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.chat-msg.mine{background:var(--green);color:#fff;border-bottom-right-radius:5px}.chat-msg.theirs{background:var(--surface);border:1.5px solid var(--line);border-bottom-left-radius:5px}.chat-msg.pending{opacity:.55}.chat-msg.failed{opacity:.75;outline:1.5px dashed var(--danger);cursor:pointer}.msg-meta{font-size:11px;font-weight:700;color:var(--ink-soft);padding:0 4px}.msg-meta.failed{color:var(--danger)}.msg-translate{font-size:12.5px;font-weight:600;color:var(--ink-soft);background:var(--bg-soft);border-radius:10px;padding:5px 10px;max-width:100%;overflow-wrap:anywhere}.assist-btn{flex:0 0 auto;padding:8px 12px;font-size:17px;line-height:1}.assist-note{margin:0 0 6px;font-size:12.5px;font-weight:700;color:var(--green-deep);text-align:center}.presence-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green-bright);box-shadow:0 0 0 2px var(--surface)}.friend-row .avatar{position:relative}.avatar-dot{position:absolute;right:-1px;bottom:-1px}.account-sub.presence-on{color:var(--green-deep);font-weight:700}.chat-presence{margin-left:10px;font-size:12px;font-weight:700;color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px;vertical-align:2px}.chat-presence.on{color:var(--green-deep)}.chat-btn{position:relative}.unread-pill{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center;padding:0 5px;line-height:1}.chat-compose{position:-webkit-sticky;position:sticky;bottom:0;display:flex;gap:8px;padding:10px 0 14px;background:var(--bg,#fffdf7)}.chat-compose .field{flex:1 1}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.admin-search{max-width:260px;margin-bottom:0}.admin-health{border-color:var(--amber);background:var(--amber-soft);font-size:13.5px;font-weight:600;line-height:1.5}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-row{display:flex;align-items:center;gap:12px}.admin-row .account-meta{flex:1 1;min-width:0}.admin-row .field.select{margin-bottom:0}.stats-table{width:100%;border-collapse:collapse;font-size:13px}.stats-table th{text-align:right;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:6px 8px;border-bottom:1.5px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--surface)}.stats-table td:first-child,.stats-table th:first-child{text-align:left}.stats-table td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats-table tr:nth-child(2n) td{background:var(--bg-soft)}.stats-table tr:last-child td{border-bottom:none}.card.celebrate{border:none;border-radius:26px;padding:0 0 24px;overflow:hidden;box-shadow:var(--shadow-pop);text-align:center}.card.celebrate .celebrate-badge{width:100%;padding:34px 0 20px;margin:0 0 6px;background:radial-gradient(130% 120% at 50% -20%,rgba(255,255,255,.35),transparent 60%),var(--grad-green)}.card.celebrate.is-perfect .celebrate-badge{background:radial-gradient(130% 120% at 50% -20%,rgba(255,255,255,.4),transparent 60%),var(--grad-amber)}.card.celebrate.is-fail .celebrate-badge{background:radial-gradient(130% 120% at 50% -20%,rgba(255,255,255,.3),transparent 60%),var(--grad-coral)}.card.celebrate h2{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.01em;margin:10px 16px 2px}.card.celebrate .celebrate-sub{margin:0 20px 18px}.card.celebrate .stat-grid{margin:0 16px 16px;gap:8px}.card.celebrate .stat{border:none;border-radius:16px;background:var(--bg-soft);box-shadow:inset 0 0 0 1.5px var(--line);padding:12px 6px 10px}.card.celebrate .stat .v{font-family:var(--display);font-weight:700;font-size:24px;animation:statPop .5s var(--spring) both}.card.celebrate .stat:nth-child(2) .v{animation-delay:.08s}.card.celebrate .stat:nth-child(3) .v{animation-delay:.16s}.card.celebrate .stat:nth-child(4) .v{animation-delay:.24s}@keyframes statPop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.card.celebrate .stat-xp .v{color:var(--green-deep)}.card.celebrate .stat-coins .v{color:var(--amber-deep)}.card.celebrate .btn-continue{min-width:230px;padding:14px 26px;font-size:17px;border-radius:999px}html[data-theme=dark] .card.celebrate .stat{background:#262115}.friends-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;background:radial-gradient(120% 160% at 100% 0,rgba(255,210,63,.28),transparent 55%),var(--grad-green);border-radius:var(--radius-lg);padding:20px 18px;margin:14px 0 16px;color:#fff;box-shadow:var(--shadow)}.friends-hero h1{font-family:var(--display);font-weight:700;font-size:27px;margin:0 0 2px}.friends-hero p{margin:0;font-weight:700;font-size:13px;opacity:.9}.me-chip{flex:0 0 auto;background:rgba(255,255,255,.92);color:var(--green-deep);font-weight:900;font-size:14px;border-radius:999px;padding:8px 14px;box-shadow:var(--shadow-sm)}.friend-row{border-radius:16px;padding:12px 14px}.friend-row .btn{border-radius:999px;font-size:13.5px}.friend-list .friend-row{box-shadow:var(--shadow-sm)}.cs-slash:after{content:"";position:absolute;inset:0;top:26px;height:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent)}.challenge-splash:after{content:"⚡ ✦ ⚡";position:absolute;top:34%;left:12%;color:#ffd23f;font-size:22px;letter-spacing:18px;opacity:0;animation:csRise .4s ease .7s forwards}.hearts-pill.empty{background:var(--danger-tint);border-color:var(--danger-edge)}.hearts-pill.empty .pill-num{color:var(--danger)}.heart-eta{font-size:10.5px;font-weight:900;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hearts-gate{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px;background:rgba(20,15,6,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:csFade .2s ease both}.hg-card{width:min(400px,100%);background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:24px 20px;text-align:center;animation:crPop .4s var(--spring) both}.hg-hearts{display:flex;justify-content:center;gap:10px}.hg-hearts .hg-heart{width:40px;height:40px;display:block}.hg-hearts .hg-off{filter:grayscale(1);opacity:.35}.hearts-pill{cursor:pointer}.hearts-pill.empty .ico{filter:grayscale(1);opacity:.45}.hearts-pill.empty .pill-num{color:var(--ink-soft)}.hg-title{font-family:var(--display);font-weight:700;font-size:24px;margin:8px 0 6px}.hg-sub{color:var(--ink-soft);font-weight:600;font-size:14px;line-height:1.45;margin:0 0 16px}.hg-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.challenge-splash{position:fixed;inset:0;z-index:90;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:radial-gradient(120% 100% at 50% 20%,rgba(255,106,77,.25),transparent 55%),#191308;animation:csFade .2s ease both}@keyframes csFade{0%{opacity:0}}.cs-slash{position:absolute;top:50%;left:-30%;width:160%;height:10px;background:linear-gradient(90deg,transparent,#ffd23f 15%,#ff6a4d 85%,transparent);transform:rotate(-14deg) scaleX(0);transform-origin:left center;animation:csSlash .42s cubic-bezier(.2,.9,.3,1) .08s forwards;box-shadow:0 0 26px rgba(255,210,63,.75)}@keyframes csSlash{to{transform:rotate(-14deg) scaleX(1)}}.cs-word{font-family:var(--display);font-weight:700;font-size:clamp(44px,13vw,92px);letter-spacing:.02em;color:#fff;text-shadow:0 4px 0 #c2331b,0 10px 30px rgba(0,0,0,.5);transform:scale(3) rotate(-6deg);opacity:0;animation:csSlam .34s cubic-bezier(.2,1.4,.4,1) .28s forwards,csShake .5s linear .64s;z-index:2}@keyframes csSlam{to{transform:scale(1) rotate(-6deg);opacity:1}}@keyframes csShake{0%,to{translate:0 0}20%{translate:-5px 2px}40%{translate:5px -2px}60%{translate:-3px -2px}80%{translate:3px 2px}}.cs-vs{position:absolute;bottom:24%;left:0;right:0;text-align:center;color:#ffd23f;font-weight:900;font-size:18px;opacity:0;animation:csRise .4s ease .85s forwards}.cs-vs-mark{font-family:var(--display);font-size:26px;padding:0 8px;color:#ff6a4d}@keyframes csRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1}}.cs-flower{position:absolute;right:8%;top:13%;z-index:2;opacity:0;animation:csRise .3s ease 1.05s forwards}.cs-daisy{display:block;width:86px;animation:csPanic .32s ease-in-out 1.1s 8 alternate;transform-origin:50% 96%}.cs-daisy .plant-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}@keyframes csPanic{0%{rotate:-14deg}to{rotate:14deg}}.cs-bubble{right:42px;top:-34px;white-space:nowrap;background:#fff;color:#2a2620;font-weight:900;padding:7px 11px;border-radius:14px 14px 3px 14px;box-shadow:0 4px 14px rgba(0,0,0,.35)}.cs-bubble,.cs-hint{position:absolute;font-size:13px}.cs-hint{bottom:9%;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-weight:700;opacity:0;animation:csRise .4s ease 1.3s forwards}.challenge-result{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:22px;background:rgba(20,15,6,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:csFade .25s ease both}.cr-card{width:min(430px,100%);background:var(--surface);border-radius:var(--radius-lg);border:2px solid var(--line);box-shadow:var(--shadow-pop);padding:26px 22px;text-align:center;animation:crPop .45s var(--spring) both}@keyframes crPop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.cr-card.won{border-color:var(--green-edge);background:linear-gradient(180deg,var(--green-tint),var(--surface) 55%)}.cr-card.lost{border-color:var(--danger-edge);background:linear-gradient(180deg,var(--danger-tint),var(--surface) 55%)}.cr-emoji{font-size:58px;line-height:1;animation:crBounce .9s var(--spring) .15s both}@keyframes crBounce{0%{transform:translateY(-40px) scale(.4);opacity:0}60%{transform:translateY(6px) scale(1.1);opacity:1}to{transform:translateY(0) scale(1)}}.cr-title{font-family:var(--display);font-weight:700;font-size:32px;margin:10px 0 2px}.cr-lesson{color:var(--ink-soft);font-weight:700;font-size:13.5px;margin:0 0 16px}.cr-scores{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:14px}.cr-side{flex:1 1;max-width:130px;display:flex;flex-direction:column;gap:2px;padding:10px 8px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg-soft);font-size:17px}.cr-side.best{border-color:var(--green-edge);background:var(--green-tint)}.cr-who{font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.cr-time,.cr-who{color:var(--ink-soft)}.cr-time{font-size:12.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cr-vs{font-weight:900}.cr-rules,.cr-vs{color:var(--ink-soft)}.cr-rules{font-size:12px;font-weight:700;margin:0 0 16px}.pick-unit-block{margin-bottom:16px}.pick-unit-banner{background:var(--grad-green);color:#fff;font-weight:900;font-size:13px;letter-spacing:.03em;border-radius:12px;padding:8px 14px;margin-bottom:10px;box-shadow:var(--shadow-sm)}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.pick-node{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;padding:12px 8px 10px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;transition:transform .12s var(--spring),border-color .14s ease,box-shadow .14s ease}.pick-node:hover{border-color:var(--green-bright);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.pick-node-face{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--grad-green);color:#fff;box-shadow:0 3px 0 #0c8a45}.pick-node.done .pick-node-face{background:var(--grad-amber);box-shadow:0 3px 0 #d98a0c}.pick-node-label{font-size:12.5px;font-weight:800;line-height:1.2}.pick-node-tag{font-size:10px;font-weight:800;color:var(--amber-deep)}.unit-locked{display:flex;align-items:center;gap:12px;width:100%;max-width:460px;margin:10px auto;padding:12px 16px;border-radius:16px;border:1.5px dashed var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent);opacity:.72}.ul-lock{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--bg-soft,#f3ead6);color:var(--ink-soft);flex-shrink:0}.ul-text{display:flex;flex-direction:column;min-width:0}.ul-text b{font-size:14.5px;font-weight:800;color:var(--ink-soft)}.ul-text i{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-soft);opacity:.8}.unit-banner.lv-b1{background:linear-gradient(165deg,#b78ef2,#8e54e0 55%,#6f36c9)}.fh-card{position:relative;overflow:hidden;border-radius:26px;padding:20px 20px 18px;color:#fff;background:radial-gradient(130% 150% at 100% 0,rgba(255,210,63,.34),transparent 55%),linear-gradient(135deg,#3edc86,#12a052);box-shadow:0 18px 38px -18px rgba(16,110,62,.55);margin-bottom:16px}.fh-card:before{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),transparent 62%);pointer-events:none}.fh-top{display:flex;align-items:center;gap:13px;position:relative}.fh-bear{flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 6px 16px -6px rgba(0,0,0,.3);animation:fhBob 3.4s ease-in-out infinite}@keyframes fhBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.fh-text{flex:1 1;min-width:0}.fh-text h1{font-family:var(--display);font-size:25px;line-height:1.05;margin:0}.fh-text h1,.fh-text p{font-weight:700;color:#fff}.fh-text p{font-size:13px;opacity:.94;margin:2px 0 0}.fh-card .me-chip{flex:0 0 auto;background:rgba(255,255,255,.94);color:#0c8a45;font-weight:900;font-size:13.5px;border-radius:999px;padding:7px 13px;box-shadow:0 3px 10px -3px rgba(0,0,0,.25)}.fh-league{position:relative;overflow:hidden;width:100%;margin-top:16px;display:flex;align-items:center;gap:13px;background:rgba(6,52,29,.32);border:1.5px solid rgba(255,255,255,.28);border-radius:20px;padding:12px 14px;color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);transition:background .15s ease,border-color .15s ease,transform .12s var(--spring)}.fh-league:hover{background:rgba(6,52,29,.45);border-color:rgba(255,255,255,.45)}.fh-league:active{transform:scale(.99)}.fh-league:after{content:"";position:absolute;top:0;bottom:0;width:46%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);animation:lgSheen 3.4s ease-in-out infinite;pointer-events:none}.fh-league-ico{flex:0 0 auto;width:58px;height:62px;display:flex;align-items:center;justify-content:center;animation:lgBobble 4.5s ease-in-out infinite}.fh-league-go{flex:0 0 auto;font-family:var(--display);font-size:22px;color:rgba(255,255,255,.8)}.fh-league-body{flex:1 1;min-width:0}.fh-league-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.fh-league-name{font-family:var(--display);font-weight:600;font-size:15px}.fh-rank{font-weight:800;font-size:12.5px;opacity:.92}.fh-bar{margin:7px 0 5px;height:9px;background:rgba(0,0,0,.16)}.fh-bar,.fh-fill{border-radius:999px;overflow:hidden}.fh-fill{height:100%;background:linear-gradient(90deg,#ffe066,#ffb020);position:relative;transition:width .6s cubic-bezier(.22,1,.36,1)}.fh-shine{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);transform:translateX(-160%);animation:fhShimmer 2.6s ease-in-out infinite}@keyframes fhShimmer{to{transform:translateX(160%)}}.fh-next{font-size:11.5px;font-weight:800;opacity:.95}.fh-stats{display:flex;gap:8px;margin-top:12px;position:relative}.fh-stat{flex:1 1;background:rgba(255,255,255,.16);border-radius:13px;padding:9px 10px;text-align:center}.fh-stat b{display:block;font-family:var(--display);font-weight:700;font-size:20px;line-height:1}.fh-stat span{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.88}.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;grid-gap:9px;gap:9px;padding:18px 14px 0!important;background:linear-gradient(180deg,rgba(255,210,63,.14),transparent 70%),var(--surface);overflow:hidden}.podium-col{display:flex;flex-direction:column;align-items:center;min-width:0}.podium-ava{position:relative;margin-bottom:8px}.podium-col.p1 .podium-ava{width:54px;height:54px;font-size:21px}.podium-crown{position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-size:17px}.podium-name{font-weight:900;font-size:12.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-lessons{font-weight:700;font-size:11px;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.podium-xp{font-weight:900;font-size:12px;color:var(--green-deep,#0c8a45);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.podium-block{width:100%;margin-top:7px;border-radius:12px 12px 0 0;box-shadow:inset 0 2px 0 rgba(255,255,255,.5);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:22px}.podium-block.r1{height:74px;background:linear-gradient(180deg,#ffd64d,#ffb020);color:#7a4d00}.podium-block.r2{height:58px;background:linear-gradient(180deg,#dfe6ee,#b6c3d1);color:#45525f}.podium-block.r3{height:48px;background:linear-gradient(180deg,#eab184,#cd8442);color:#5f3b16}.cs-duel{margin-top:26px;justify-content:center;gap:16px}.cs-duel,.cs-fighter{display:flex;align-items:center}.cs-fighter{flex-direction:column;gap:6px}.cs-ava{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:22px;color:#fff;background:linear-gradient(135deg,#3edc86,#12a052)}.cs-ava.me{box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 26px rgba(62,220,134,.6)}.cs-ava.them{box-shadow:0 0 0 3px #ffd23f,0 0 26px rgba(255,180,60,.5)}.cs-name{color:#fff;font-weight:900;font-size:13px}.cs-name.them{color:#ffd23f}.cs-vs-big{font-family:var(--display);font-weight:700;font-size:30px;color:#ff6a4d;text-shadow:0 2px 8px rgba(0,0,0,.4)}.cr-confetti{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;animation:crConfetti 3s linear infinite;pointer-events:none}@keyframes crConfetti{0%{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(2turn);opacity:.15}}.cr-actions{display:flex;gap:10px;justify-content:center;align-items:center}.cr-replay{flex:0 0 auto;border:2px solid var(--line);background:var(--surface);cursor:pointer;font-size:18px;border-radius:999px;width:46px;height:46px;display:grid;place-items:center;box-shadow:0 4px 0 var(--line)}.cr-replay:active{transform:translateY(2px);box-shadow:0 2px 0 var(--line)}.result-row{font:inherit;text-align:left;width:100%;cursor:pointer;display:flex;align-items:center;gap:12px}.result-row .account-meta{flex:1 1;min-width:0}.result-row.tie{opacity:.92}.rr-badge{flex:0 0 auto;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:var(--bg-soft,#fff4e0)}.result-row.won .rr-badge{background:rgba(62,220,134,.18)}.result-row.lost .rr-badge{background:rgba(255,106,77,.14)}.rr-when{flex:0 0 auto;font-size:12px;font-weight:800;white-space:nowrap}.friends-quote,.rr-when{color:var(--ink-soft);opacity:.75}.friends-quote{text-align:center;font-family:var(--hand);font-size:19px;font-weight:700;margin:26px 0 8px}.chat-screen .avatar,.friends-app .avatar{position:relative;overflow:visible;box-shadow:var(--shadow-sm)}html[data-theme=dark] .chat-screen .avatar,html[data-theme=dark] .friends-app .avatar{box-shadow:var(--shadow-sm)}.friends-app .board-ava{width:44px;height:44px;font-size:19px}.league-chip-crest{flex:0 0 auto;vertical-align:-3px;margin-right:1px}@keyframes lgSheen{0%{transform:translateX(-130%) skewX(-18deg)}55%,to{transform:translateX(240%) skewX(-18deg)}}@keyframes lgTwinkle{0%,to{opacity:0;transform:scale(.35)}50%{opacity:1;transform:scale(1)}}@keyframes lgFloaty{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes lgGlowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.95;transform:scale(1.12)}}@keyframes lgPopIn{0%{opacity:0;transform:scale(.86) translateY(16px)}to{opacity:1;transform:none}}@keyframes lgFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lgBobble{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.league-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(5,38,21,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:lgFadeIn .25s ease}@supports (-webkit-touch-callout:none){.league-modal{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(5,38,21,.82)}}.lm-card{position:relative;width:min(480px,94vw);max-height:92vh;overflow-y:auto;border-radius:28px;padding:28px 24px 24px;text-align:center;color:#fff;background:radial-gradient(130% 100% at 50% 0,#11703f,#07351d 72%);border:1.5px solid rgba(255,255,255,.16);box-shadow:0 30px 80px rgba(0,0,0,.45);animation:lgPopIn .35s var(--spring)}.lm-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;font-size:15px;font-weight:800;cursor:pointer}.lm-season{font-size:11.5px;font-weight:800;letter-spacing:2.2px;color:#ffd64d}.lm-emblem{position:relative;height:200px;display:flex;align-items:center;justify-content:center;margin:6px 0 2px}.lm-glow{position:absolute;width:220px;height:220px;border-radius:50%;animation:lgGlowPulse 3.2s ease-in-out infinite}.lm-crest{position:relative;animation:lgFloaty 4.5s ease-in-out infinite;filter:drop-shadow(0 14px 22px rgba(0,0,0,.4))}.lm-name{font-family:var(--display);font-weight:700;font-size:36px;line-height:1.1;-webkit-background-clip:text;background-clip:text;color:transparent}.lm-xp{margin-top:6px;font-size:14.5px;font-weight:800;color:rgba(255,255,255,.78)}.lm-bar{position:relative;height:13px;border-radius:99px;background:rgba(0,0,0,.35);overflow:hidden;margin:14px 8px 0}.lm-bar-fill{position:absolute;inset:0;border-radius:99px;background:linear-gradient(90deg,#ffd64d,#ffb020);box-shadow:0 0 12px rgba(255,214,77,.7)}.lm-kicker{margin-top:24px;font-size:11.5px;font-weight:800;letter-spacing:2.2px;color:rgba(255,255,255,.55)}.lm-ladder{display:flex;justify-content:space-between;align-items:flex-end;gap:2px;margin-top:12px}.lm-rung{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 6px;border-radius:14px}.lm-rung.current{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,214,77,.7)}.lm-rung-crest{height:52px;display:flex;align-items:flex-end;justify-content:center;position:relative}.lm-lock{position:absolute;bottom:2px;left:50%;transform:translateX(-50%)}.lm-rung-name{font-size:10.5px;font-weight:800;letter-spacing:.3px;color:rgba(255,255,255,.8)}.lm-rung-min{font-size:9.5px;font-weight:700;color:rgba(255,255,255,.45)}.lm-rewards{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px;margin-top:12px}.lm-reward{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;border-radius:18px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12)}.lm-reward-big{font-family:var(--display);font-weight:700;font-size:24px;color:#ffd64d}.lm-reward-cap{font-size:11.5px;font-weight:800;color:rgba(255,255,255,.75);line-height:1.25}.lm-reward-crest,.lm-reward-frame{position:relative;height:34px;display:inline-flex;align-items:center;justify-content:center}.lm-reward-ava{position:relative;display:block;width:26px;height:26px;border-radius:50%;background:linear-gradient(180deg,#1cc46a,#0c8a45)}.lm-cta{margin-top:22px;width:100%;border:none;cursor:pointer;border-radius:999px;padding:15px 24px;font-family:var(--display);font-weight:600;font-size:17px;color:#fff;background:linear-gradient(180deg,#1cc46a,#12a457);box-shadow:0 5px 0 #0c8a45;transition:transform .1s ease,box-shadow .1s ease}.lm-cta:active{transform:translateY(3px);box-shadow:0 2px 0 #0c8a45}@media (prefers-reduced-motion:reduce){.fh-league-ico,.fh-league:after,.lm-crest,.lm-glow{animation:none!important}}.league-modal.ceremony{overflow:hidden}.cm-card{text-align:center}.cm-pop{animation:cmPop .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes cmPop{0%{transform:scale(.3) rotate(-8deg);opacity:0}70%{transform:scale(1.08) rotate(2deg);opacity:1}to{transform:scale(1) rotate(0)}}.cm-sub{color:rgba(255,255,255,.85);font-weight:700;font-size:14.5px;margin:10px 0 4px;line-height:1.5}.cm-fresh{opacity:.75;font-size:13px}.cm-stats{display:flex;gap:8px;margin:14px 0 6px}.cm-stat{flex:1 1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:10px 8px}.cm-stat b{display:block;font-family:var(--display);font-weight:700;font-size:19px;color:#ffd64d}.cm-stat span{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}.review-card.weak-card{background:linear-gradient(135deg,#fff3d6,#ffe9b8);border-color:#f2d491}:root[data-theme=dark] .review-card.weak-card{background:linear-gradient(135deg,#3a3222,#2e2717);border-color:#5d4d26}.tab-badge.rank{background:linear-gradient(135deg,#ffd64d,#ff9e15);color:#4a3000;animation:rankPulse 1.6s ease-in-out infinite}@keyframes rankPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.hero-card.league-rim{border:2px solid transparent;background:linear-gradient(160deg,#ffffff 55%,#f0faf3) padding-box,linear-gradient(140deg,var(--lgA),var(--lgB) 45%,var(--lgA)) border-box;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 10px 26px -12px var(--lgGlow),var(--shadow)}html[data-theme=dark] .hero-card.league-rim{background:linear-gradient(160deg,#211d14 55%,#182a1e) padding-box,linear-gradient(140deg,var(--lgB),var(--lgC) 45%,var(--lgB)) border-box;box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),0 10px 26px -12px var(--lgGlow),var(--shadow)}@supports (-webkit-touch-callout:none){.bear [filter],.bear g[filter],.cloud,.dance-bear .bear,.hero-dancer .hero-dancer-bear{filter:none}.scene-tint{mix-blend-mode:normal}.tree-sparkle{animation:none;opacity:.35}.river-glint{animation:none;opacity:0}}.script-card{background:var(--grad-grape);color:#fff}.script-card .rv-text{color:#fdf8ff}.script-card .go,.script-card .rv-text b{color:#fff}.script-card-badge{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#7a3bc8;border-radius:14px;font-size:23px;font-weight:900;line-height:1;box-shadow:0 3px 10px -3px rgba(50,10,90,.4)}.script-card.fresh{position:relative}.script-card.fresh:after{content:"";position:absolute;inset:0;border-radius:var(--radius);pointer-events:none;box-shadow:0 10px 30px -10px rgba(139,70,216,.55);opacity:0;animation:scriptBeckon 2.6s ease-in-out infinite}@keyframes scriptBeckon{0%,to{opacity:0}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.script-card.fresh:after{animation:none}}.script-layer{position:fixed;inset:0;z-index:65;background:rgba(32,24,8,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .22s ease both}.script-panel{width:100%;max-width:680px;max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);border-radius:26px 26px 0 0;padding:18px 20px calc(28px + env(safe-area-inset-bottom, 0px));box-shadow:0 -18px 50px rgba(30,20,5,.3);animation:sheet-up .32s var(--spring) both}.script-head{display:flex;align-items:center;gap:12px}.script-badge{flex:0 0 auto;width:54px;height:54px;display:grid;place-items:center;background:var(--grad-grape);color:#fff;border-radius:18px;font-size:29px;font-weight:900;box-shadow:0 8px 18px -8px rgba(139,70,216,.55)}.script-head-text{display:flex;flex-direction:column;gap:2px;min-width:0}.script-head-text b{font-size:20px;font-weight:900;color:var(--ink)}.script-head-text i{font-style:normal;font-size:13.5px;color:var(--ink-soft);font-weight:700}.script-close{margin-left:auto;flex:0 0 auto;width:36px;height:36px;border:none;border-radius:50%;background:var(--bg-soft);color:var(--ink-soft);font-size:15px;font-weight:800;cursor:pointer}.script-close:hover{background:var(--line);color:var(--ink)}.script-progress{height:10px;border-radius:999px;background:var(--bg-soft);margin:16px 0 12px;overflow:hidden}.script-progress i{display:block;height:100%;border-radius:999px;background:var(--grad-grape);transition:width .4s var(--ease)}.script-blurb{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:var(--ink-soft);font-weight:600}.script-lessons{display:flex;flex-direction:column;gap:8px}.script-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:2px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:11px 14px;cursor:pointer;font:inherit;transition:transform .14s var(--spring),border-color .15s ease,background .15s ease}.script-row.open:hover{transform:translateY(-2px);border-color:var(--grape)}.script-row.done{background:var(--green-tint);border-color:var(--green-edge)}.script-row.locked{opacity:.55;cursor:default}.script-row .sr-ico{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--bg-soft);color:var(--ink-soft)}.script-row.open .sr-ico{background:var(--grad-grape);color:#fff}.script-row.done .sr-ico{background:var(--green);color:#fff}.script-row .sr-text{display:flex;flex-direction:column;gap:1px;min-width:0}.script-row .sr-text b{font-size:15px;font-weight:800;color:var(--ink)}.script-row .sr-text i{font-style:normal;font-size:13px;color:var(--ink-soft);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-row .sr-go{margin-left:auto;flex:0 0 auto;font-size:13px;font-weight:900;color:var(--grape)}.script-row .sr-go.quiet{color:var(--ink-soft)}.script-cta{width:100%;margin-top:14px}.script-chart-label{margin:22px 0 4px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.script-section{margin-top:12px}.ss-title{margin:0 0 8px;font-size:14px;font-weight:800;color:var(--ink)}.script-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:7px;gap:7px}.script-cell{display:flex;flex-direction:column;align-items:center;gap:2px;border:2px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:9px 4px 7px;cursor:pointer;font:inherit;min-height:74px;transition:transform .13s var(--spring),border-color .15s ease,background .15s ease}.script-cell:hover{transform:translateY(-2px);border-color:var(--grape);background:#faf5ff}.script-cell:active{transform:scale(.96)}.sc-glyph{font-size:22px;font-weight:800;color:var(--ink);line-height:1.15;white-space:nowrap}.sc-roman{font-size:12.5px;font-weight:900;color:var(--grape);line-height:1.1}.sc-hint{font-size:10.5px;font-weight:700;color:var(--ink-soft);line-height:1.25;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.adm{--c-bg:#0b0f14;--c-panel:#11161d;--c-panel-2:#161d26;--c-line:#202938;--c-text:#e6edf3;--c-muted:#8b98a8;--c-accent:#3edc86;--c-accent-dim:rgba(62,220,134,0.16);--c-amber:#ffb020;--c-danger:#ff6a4d;--c-plus:#36b6f0;--c-max:#b985f2;min-height:100dvh;background:radial-gradient(1100px 500px at 80% -10%,rgba(62,220,134,.07),transparent 60%),var(--c-bg);color:var(--c-text);font-family:var(--font-nunito,ui-sans-serif,system-ui,sans-serif);padding-bottom:40px}body:has(.adm){background:#0b0f14}.adm-mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:.01em}.adm-muted{color:var(--c-muted)}.adm-warn-text{color:var(--c-amber)}.adm-gate-wrap{display:grid;place-items:center;padding:24px}.adm-gate{width:100%;max-width:380px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:16px;padding:26px 24px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}.adm-gate.err{animation:admShake .3s ease}@keyframes admShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.adm-gate-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}.adm-gate-brand img{width:42px;height:42px}.adm-gate-brand b{font-size:20px;display:block}.adm-gate-brand i{font-style:normal;font-size:12px;color:var(--c-accent);font-weight:800;text-transform:uppercase;letter-spacing:.14em}.adm-gate-sub{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:var(--c-muted)}.adm-gate-error{color:var(--c-danger);font-size:13px;font-weight:700;margin:10px 0 0}.adm-input{width:100%;background:var(--c-bg);border:1px solid var(--c-line);border-radius:10px;color:var(--c-text);font:inherit;font-size:14px;padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.adm-input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-dim)}.adm-input.select{width:auto;cursor:pointer}.adm-input.select.tier{flex:0 0 auto;font-size:13px}.adm-btn{border:1px solid var(--c-line);background:var(--c-panel-2);color:var(--c-text);font:inherit;font-size:13.5px;font-weight:700;border-radius:10px;padding:9px 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease;white-space:nowrap}.adm-btn:hover:not(:disabled){border-color:var(--c-accent)}.adm-btn:active:not(:disabled){transform:scale(.97)}.adm-btn:disabled{opacity:.5;cursor:default}.adm-btn.primary{background:var(--c-accent);border-color:var(--c-accent);color:#06220f;margin-top:14px}.adm-btn.primary:hover:not(:disabled){filter:brightness(1.08)}.adm-btn.ghost{background:transparent}.adm-btn.wide{width:100%}.adm-top{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:18px;padding:10px 20px;background:rgba(11,15,20,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line)}.adm-top,.adm-top-brand{display:flex;align-items:center}.adm-top-brand{gap:9px;font-size:16px}.adm-top-brand img{width:26px;height:26px}.adm-top-tag{font-size:10.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent);border:1px solid var(--c-accent);border-radius:999px;padding:2px 8px;opacity:.9}.adm-tabs{display:flex;gap:4px}.adm-tab{border:none;background:transparent;color:var(--c-muted);font:inherit;font-size:14px;font-weight:800;padding:8px 13px;border-radius:9px;cursor:pointer;transition:color .15s ease,background .15s ease}.adm-tab.on,.adm-tab:hover{color:var(--c-text)}.adm-tab.on{background:var(--c-panel-2)}.adm-tab-n{font-style:normal;font-size:11.5px;margin-left:6px;color:var(--c-accent)}.adm-top-right{margin-left:auto;display:flex;align-items:center;gap:10px}.adm-updated{font-size:12px;color:var(--c-muted)}.adm-main{max-width:1120px;margin:0 auto;padding:22px 20px 0}.adm-row-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:4px 0 14px}.adm-row-head h2{margin:0;font-size:19px}.adm-seg{display:flex;background:var(--c-panel);border:1px solid var(--c-line);border-radius:10px;padding:3px;gap:2px}.adm-seg-btn{border:none;background:transparent;color:var(--c-muted);font:inherit;font-size:13px;font-weight:800;padding:6px 12px;border-radius:7px;cursor:pointer}.adm-seg-btn.on{background:var(--c-accent);color:#06220f}.adm-kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}.adm-kpi{position:relative;background:var(--c-panel);border:1px solid var(--c-line);border-radius:13px;padding:13px 14px 10px;min-height:86px;overflow:hidden;transition:border-color .15s ease}.adm-kpi:hover{border-color:#2c3a4d}.adm-kpi.warn{border-color:rgba(255,176,32,.45)}.adm-kpi-top{display:flex;align-items:baseline;gap:8px}.adm-kpi-value{font-size:24px;font-weight:900;line-height:1.1}.adm-kpi-delta{font-size:11.5px;font-weight:900}.adm-kpi-delta.up{color:var(--c-accent)}.adm-kpi-delta.down{color:var(--c-danger)}.adm-kpi-label{font-size:12px;font-weight:700;color:var(--c-muted);margin-top:3px}.adm-spark{position:absolute;right:8px;bottom:6px;width:92px;height:26px;opacity:.9}.adm-spark path{fill:none;stroke:var(--c-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.adm-grid-2{display:grid;grid-template-columns:1.25fr 1fr;grid-gap:12px;gap:12px;margin-bottom:12px}.adm-panel{background:var(--c-panel);border:1px solid var(--c-line);border-radius:14px;padding:16px;margin-bottom:12px}.adm-grid-2 .adm-panel{margin-bottom:0}.adm-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.adm-panel-head h3{margin:0;font-size:14.5px}.adm-legend{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--c-muted)}.adm-legend i{width:14px;height:8px;border-radius:3px;display:inline-block}.adm-legend .lg-bar{background:var(--c-accent-dim);border:1px solid var(--c-accent)}.adm-legend .lg-line{background:var(--c-plus);height:3px}.adm-empty{color:var(--c-muted);font-size:14px;margin:6px 0}.adm-chart{width:100%;height:190px;display:block}.adm-chart-bar{fill:var(--c-accent-dim);stroke:rgba(62,220,134,.55)}.adm-chart-bar:hover{fill:rgba(62,220,134,.35)}.adm-chart-line{fill:none;stroke:var(--c-plus);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.adm-chart-dot{fill:var(--c-plus)}.adm-chart-label{fill:var(--c-muted);font-size:9px}.adm-langs{display:flex;flex-direction:column;gap:9px}.adm-lang{display:flex;align-items:center;gap:10px}.adm-lang-name{flex:0 0 108px;font-size:13.5px;font-weight:700}.adm-lang-track{flex:1 1;height:9px;background:var(--c-bg);border-radius:999px;overflow:hidden}.adm-lang-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1fae66,var(--c-accent));transition:width .5s ease}.adm-lang-n{flex:0 0 auto;font-size:12.5px;font-weight:800}.adm-lang-n em{font-style:normal;color:var(--c-muted);margin-left:3px}.adm-ratios{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.adm-ratio{background:var(--c-panel-2);border:1px solid var(--c-line);border-radius:10px;padding:9px 10px}.adm-ratio b{display:block;font-size:16px}.adm-ratio i{font-style:normal;font-size:11px;color:var(--c-muted);font-weight:700}.adm-table-wrap{overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adm-table th{text-align:right;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);padding:6px 10px;border-bottom:1px solid var(--c-line)}.adm-table th:first-child{text-align:left}.adm-table td{text-align:right;padding:7px 10px;border-bottom:1px solid rgba(32,41,56,.55)}.adm-table td:first-child{text-align:left}.adm-table tbody tr:hover{background:var(--c-panel-2)}.adm-table tr:last-child td{border-bottom:none}.adm-alert{max-width:1120px;margin:14px auto 0;display:flex;align-items:center;gap:8px;border-radius:12px;padding:11px 14px;font-size:13.5px;line-height:1.45}.adm-main .adm-alert{margin:0 0 12px}.adm-alert.warn{background:rgba(255,176,32,.09);border:1px solid rgba(255,176,32,.35);color:#ffd48a}.adm-alert.danger{background:rgba(255,106,77,.1);border:1px solid rgba(255,106,77,.4);color:#ffb3a3}.adm-alert-x{margin-left:auto;border:none;background:transparent;color:inherit;cursor:pointer;font-size:13px;opacity:.8}.adm-plan-chips{display:flex;gap:6px;flex-wrap:wrap}.adm-chip{border:1px solid var(--c-line);background:var(--c-panel);color:var(--c-muted);font:inherit;font-size:12.5px;font-weight:800;border-radius:999px;padding:6px 12px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.adm-chip.on,.adm-chip:hover{color:var(--c-text)}.adm-chip.on{border-color:var(--c-accent);background:var(--c-accent-dim)}.adm-chip.on.plus{border-color:var(--c-plus);background:rgba(54,182,240,.14)}.adm-chip.on.max{border-color:var(--c-max);background:rgba(185,133,242,.14)}.adm-chip.on.developer{border-color:var(--c-amber);background:rgba(255,176,32,.12)}.adm-toolbar{display:flex;gap:8px;margin-bottom:12px}.adm-input.search{flex:1 1}.adm-players{display:flex;flex-direction:column;gap:8px}.adm-player{display:flex;align-items:center;gap:13px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:13px;padding:12px 14px;transition:border-color .15s ease}.adm-player:hover{border-color:#2c3a4d}.adm-ava{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:17px;background:var(--c-panel-2);border:2px solid var(--c-line);color:var(--c-text)}.adm-ava.plus{border-color:var(--c-plus)}.adm-ava.max{border-color:var(--c-max)}.adm-ava.developer{border-color:var(--c-amber)}.adm-player-main{flex:1 1;min-width:0}.adm-player-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800}.adm-badge{font-size:9.5px;font-weight:900;letter-spacing:.1em;border-radius:5px;padding:2px 6px;background:var(--c-panel-2);border:1px solid var(--c-line);color:var(--c-muted)}.adm-badge.plus{color:var(--c-plus);border-color:rgba(54,182,240,.5)}.adm-badge.max{color:var(--c-max);border-color:rgba(185,133,242,.5)}.adm-badge.developer{color:var(--c-amber);border-color:rgba(255,176,32,.5)}.adm-player-sub{font-size:12.5px;color:var(--c-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.adm-player-stats{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;margin-top:5px}.adm-events{display:flex;flex-direction:column;gap:6px}.adm-event{display:flex;align-items:center;gap:12px}.adm-event-name{flex:0 0 210px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-event-track{flex:1 1;height:8px;background:var(--c-bg);border-radius:999px;overflow:hidden}.adm-event-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2c8fbe,var(--c-plus))}.adm-event-n{flex:0 0 64px;text-align:right;font-size:13px;font-weight:800}.adm-skel{position:relative;overflow:hidden;background:var(--c-panel);border:1px solid var(--c-line);border-radius:13px}.adm-skel:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);animation:admShimmer 1.4s infinite}@keyframes admShimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.adm-foot{max-width:1120px;margin:22px auto 0;padding:0 20px;font-size:12px;color:var(--c-muted)}@media (max-width:860px){.adm-kpis{grid-template-columns:repeat(2,1fr)}.adm-grid-2{grid-template-columns:1fr}.adm-top{flex-wrap:wrap;gap:8px 14px;padding:10px 14px}.adm-top-right{margin-left:0;width:100%;justify-content:flex-end}.adm-event-name{flex-basis:130px}}@media (max-width:560px){.adm-player{flex-wrap:wrap}.adm-input.select.tier{width:100%}.adm-toolbar{flex-wrap:wrap}.adm-ratios{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.adm-gate.err,.adm-skel:after{animation:none}}.onb-layer{position:fixed;inset:0;z-index:90;background:var(--bg);overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:28px 18px calc(28px + env(safe-area-inset-bottom, 0px));animation:sheet-fade .25s ease both}.onb-card{width:100%;max-width:440px;text-align:center}.onb-logo{width:64px;height:64px;margin-bottom:10px}.onb-title{margin:0 0 8px;font-size:26px;font-weight:900;color:var(--ink);font-family:var(--font-fredoka,inherit)}.onb-sub{margin:0 0 18px;font-size:14.5px;line-height:1.55;color:var(--ink-soft);font-weight:600}.onb-langs{display:flex;flex-direction:column;gap:9px;text-align:left}.onb-lang{display:flex;align-items:center;gap:13px;width:100%;border:2.5px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:12px 15px;cursor:pointer;font:inherit;transition:transform .14s var(--spring),border-color .15s ease,background .15s ease}.onb-lang:hover{transform:translateY(-2px)}.onb-lang.on{border-color:var(--green);background:var(--green-soft)}.onb-flag{font-size:27px;line-height:1}.onb-lang-text{display:flex;flex-direction:column;gap:1px;min-width:0}.onb-lang-text b{font-size:16px;font-weight:900;color:var(--ink)}.onb-lang-text i{font-style:normal;font-size:12.5px;color:var(--ink-soft);font-weight:700}.onb-abc{margin-left:auto;flex:0 0 auto;font-size:11px;font-weight:900;color:var(--grape);background:#f3ebfd;border-radius:999px;padding:4px 9px}.onb-goals{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.onb-goal{display:flex;flex-direction:column;align-items:center;gap:3px;border:2.5px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:14px 8px;cursor:pointer;font:inherit;transition:transform .14s var(--spring),border-color .15s ease,background .15s ease}.onb-goal:hover{transform:translateY(-2px)}.onb-goal.on{border-color:var(--green);background:var(--green-soft)}.onb-goal b{font-size:15px;font-weight:900;color:var(--ink)}.onb-goal span{font-size:13px;font-weight:800;color:var(--green-deep)}.onb-goal i{font-style:normal;font-size:11.5px}.onb-goal i,.onb-script-note{color:var(--ink-soft);font-weight:700}.onb-script-note{margin:14px 0 0;font-size:13.5px;line-height:1.5;background:var(--bg-soft);border-radius:var(--radius-sm);padding:10px 13px;text-align:left}.onb-cta{width:100%;margin-top:16px}.onb-skip{display:block;margin:12px auto 0;border:none;background:none;color:var(--ink-soft);font:inherit;font-size:13.5px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}html[data-theme=dark] .onb-abc{background:rgba(155,93,229,.18)}.oops{min-height:80dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.oops-logo{width:72px;height:72px;margin-bottom:14px}.oops-title{margin:0 0 8px;font-size:24px;font-weight:900;color:var(--ink);font-family:var(--font-fredoka,inherit)}.oops-sub{margin:0 0 18px;max-width:380px;font-size:14.5px;line-height:1.55;color:var(--ink-soft);font-weight:600}.oops-btn{min-width:220px;margin-bottom:10px}.plan-strip{display:flex;align-items:center;gap:9px;width:100%;border:2px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:14px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink-soft);transition:border-color .15s ease,transform .14s var(--spring)}.plan-strip:hover{transform:translateY(-1px);border-color:var(--line-strong)}.plan-strip b{color:var(--ink);font-weight:900;flex:0 0 auto}.plan-strip span{font-weight:700;min-width:0}.plan-strip em{margin-left:auto;font-style:normal;font-weight:900;color:var(--green-deep);flex:0 0 auto}.plan-strip.spent{border-color:var(--amber);background:var(--amber-soft)}.plan-gate{position:fixed;inset:0;z-index:82;background:rgba(32,24,8,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:18px;animation:sheet-fade .22s ease both}.pg-card{width:100%;max-width:430px;max-height:92dvh;overflow-y:auto;background:var(--surface);border-radius:var(--radius-lg);padding:22px 20px;box-shadow:0 24px 70px rgba(30,20,5,.4);text-align:center;animation:sheet-up .3s var(--spring) both}.pg-title{margin:4px 0 8px;font-size:21px;font-weight:900;color:var(--ink)}.pg-sub{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:var(--ink-soft);font-weight:600}.pg-plans{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.pg-plan{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid var(--line);border-radius:var(--radius);padding:13px 8px}.pg-plan b{font-size:15px;font-weight:900;color:var(--ink)}.pg-plan.pro{border-color:var(--sky)}.pg-plan.max{border-color:var(--grape);box-shadow:0 6px 18px -10px rgba(139,70,216,.5)}.pg-plan.current{background:var(--green-soft);border-color:var(--green)}.pg-price{font-size:17px;font-weight:900;color:var(--green-deep)}.pg-plan.pro .pg-price{color:var(--sky)}.pg-plan.max .pg-price{color:var(--grape)}.pg-plan i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--ink-soft);line-height:1.35}.pg-you{font-style:normal;font-size:10.5px;font-weight:900;color:var(--green-deep);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}.pg-cta{margin-top:6px;padding:7px 12px;font-size:12.5px;width:100%}.pg-note{margin:12px 0 0;font-size:13px;font-weight:700;color:var(--green-deep);background:var(--green-soft);border-radius:var(--radius-sm);padding:9px 12px}.pg-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.ul-ready{margin-left:auto;flex:0 0 auto;border:2px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);font:inherit;font-size:12px;font-weight:900;border-radius:999px;padding:6px 11px;cursor:pointer;transition:border-color .15s ease,color .15s ease,transform .14s var(--spring)}.ul-ready:hover{border-color:var(--green);color:var(--green-deep);transform:translateY(-1px)}.bear-v4,.bear-v4-head,.bear-v4-still{width:var(--bear-size,168px);height:auto;aspect-ratio:var(--bear-aspect,232/248)}.bear-v4-head>svg,.bear-v4-still>svg,.bear-v4>svg{display:block;width:100%;height:100%;overflow:hidden}.bear-v4-head{flex:0 0 auto}.hero-mascot .bear-v4{width:90%;margin-bottom:0;margin-inline:auto}.patch-offer{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;background:linear-gradient(150deg,#fff7ec,#ffeede);box-shadow:inset 0 0 0 1px rgba(232,134,42,.22),var(--shadow-sm)}.patch-offer-art{flex:0 0 auto;width:74px}.patch-offer-body{display:flex;flex-direction:column;gap:6px;min-width:0}.patch-offer-body b{font-family:var(--hand,inherit);font-size:19px;color:#b1541a}.patch-offer-body span{font-weight:700;font-size:13px;line-height:1.45;color:var(--ink-soft);text-wrap:pretty}.patch-buy{align-self:flex-start;margin-top:2px;border:none;border-radius:999px;padding:10px 16px;font-family:inherit;font-weight:900;font-size:14px;color:#fff;background:linear-gradient(180deg,#f0842a,#d4611a);box-shadow:0 4px 0 #a94a12,var(--shadow-sm);cursor:pointer;transition:transform .12s var(--spring),box-shadow .12s ease}.patch-buy:hover:not(:disabled){transform:translateY(-2px)}.patch-buy:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #a94a12}.patch-buy.poor,.patch-buy:disabled{background:#e6ddd0;color:#9a8d7d;box-shadow:none;cursor:not-allowed}.patch-need{font-style:normal;font-weight:800;font-size:12px;color:#b1541a;opacity:.85}.patch-head{display:flex;flex-direction:column;gap:2px;margin:-2px 0 10px}.patch-head b{display:flex;align-items:baseline;gap:8px;font-size:15px;color:#b1541a}.patch-shu{font-style:normal;font-weight:800;font-size:11px;letter-spacing:.04em;color:#fff;background:linear-gradient(180deg,#f0842a,#d4611a);padding:2px 8px;border-radius:999px}.patch-head span{font-weight:700;font-size:12.5px;color:var(--ink-soft)}.pepper-heat{animation:pepperHeat 2.6s ease-in-out infinite;transform-origin:50% 48%}@keyframes pepperHeat{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}html[data-theme=dark] .patch-offer{background:linear-gradient(150deg,#33261a,#2a1f16);box-shadow:inset 0 0 0 1px rgba(240,132,42,.28),var(--shadow-sm)}html[data-theme=dark] .patch-head b,html[data-theme=dark] .patch-need,html[data-theme=dark] .patch-offer-body b{color:#f0a35e}.seed-buy{display:flex;align-items:center;gap:11px;width:100%;margin:0 0 12px;padding:11px 14px;border:none;border-radius:18px;font-family:inherit;text-align:left;background:linear-gradient(150deg,#fff7ec,#ffeede);box-shadow:inset 0 0 0 1px rgba(232,134,42,.22),var(--shadow-sm);cursor:pointer;transition:transform .12s var(--spring)}.seed-buy:hover:not(:disabled){transform:translateY(-2px)}.seed-buy:active:not(:disabled){transform:translateY(1px)}.seed-buy.poor,.seed-buy:disabled{cursor:not-allowed;opacity:.72}.seed-buy-dot{flex:0 0 auto;width:15px;height:15px;border-radius:50%;box-shadow:inset 0 -2px 3px rgba(0,0,0,.25)}.seed-buy-txt{display:flex;flex-direction:column;min-width:0;flex:1 1}.seed-buy-txt b{font-size:14px;color:#b1541a}.seed-buy-txt i{font-style:normal;font-weight:700;font-size:11.5px;color:var(--ink-soft)}.seed-buy-cost{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-weight:900;font-size:14px;color:#b1541a}html[data-theme=dark] .seed-buy{background:linear-gradient(150deg,#33261a,#2a1f16)}html[data-theme=dark] .seed-buy-cost,html[data-theme=dark] .seed-buy-txt b{color:#f0a35e}.bulk-tools{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}.bulk-btn{flex:1 1 auto;min-width:96px;border:none;border-radius:999px;padding:9px 12px;font-family:inherit;font-weight:900;font-size:13px;color:var(--green-deep,#0c8a45);background:#eafaf0;box-shadow:inset 0 0 0 1px rgba(12,138,69,.18);cursor:pointer;transition:transform .12s var(--spring)}.bulk-btn:hover{transform:translateY(-2px)}.bulk-btn:active{transform:translateY(1px)}.bulk-btn.harvest{color:#fff;background:linear-gradient(180deg,#3edc86,#12a052);box-shadow:0 3px 0 #0b7d3f}.seed-menu{position:absolute;left:6px;right:6px;bottom:6px;z-index:5;display:flex;flex-direction:column;gap:2px;padding:7px;border-radius:14px;background:var(--bg,#fffdf7);box-shadow:0 10px 26px -8px rgba(31,39,31,.4),inset 0 0 0 1px rgba(232,134,42,.25);animation:seedMenuIn .16s var(--spring,ease) both}@keyframes seedMenuIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}.seed-menu-hd{font-weight:900;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);padding:1px 4px 3px}.seed-menu-row{display:flex;align-items:center;gap:7px;border:none;border-radius:10px;padding:6px 7px;font-family:inherit;text-align:left;background:none;cursor:pointer}.seed-menu-row:hover:not(:disabled){background:#f6efe5}.seed-menu-row:disabled{opacity:.4;cursor:not-allowed}.seed-menu-dot{flex:0 0 auto;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 -2px 2px rgba(0,0,0,.28)}.seed-menu-name{display:flex;flex-direction:column;flex:1 1;min-width:0;font-weight:800;font-size:12.5px;color:var(--ink,#2a2620)}.seed-menu-name i{font-style:normal;font-weight:700;font-size:10.5px;color:var(--ink-soft)}.seed-menu-cost{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;font-weight:900;font-size:12px;color:#b1541a}.seed-menu-close{border:none;background:none;font-family:inherit;font-weight:800;font-size:11.5px;color:var(--ink-soft);padding:4px;cursor:pointer}html[data-theme=dark] .seed-menu{background:#241d16}html[data-theme=dark] .seed-menu-row:hover:not(:disabled){background:#33291f}html[data-theme=dark] .seed-menu-cost{color:#f0a35e}html[data-theme=dark] .bulk-btn{background:#17301f;color:#6ee7a0}.evolve-progress{font-style:normal;font-weight:800;font-size:12px;color:var(--ink-soft);opacity:.9}.evolve-done{font-style:normal;font-weight:900;font-size:12.5px;color:#b8860b}.evolve-btn{align-self:flex-start;margin-top:6px;border:none;border-radius:999px;padding:9px 15px;font-family:inherit;font-weight:900;font-size:13.5px;color:#4a3000;background:linear-gradient(180deg,#ffe27a,#f2b60c);box-shadow:0 4px 0 #c08a10,var(--shadow-sm);cursor:pointer;animation:evolveNudge 2.4s ease-in-out infinite}.evolve-btn:active{transform:translateY(2px);box-shadow:0 1px 0 #c08a10}@keyframes evolveNudge{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.bear-v4-gold{filter:drop-shadow(0 0 7px rgba(255,210,63,.5));animation:goldPulse 3.2s ease-in-out infinite}@keyframes goldPulse{0%,to{filter:drop-shadow(0 0 5px rgba(255,210,63,.38))}50%{filter:drop-shadow(0 0 10px rgba(255,210,63,.62))}}html[data-theme=dark] .evolve-done{color:#ffd23f}.heat-meter{display:inline-flex;gap:2.5px;margin-left:2px;vertical-align:middle}.heat-pip{width:5px;height:11px;border-radius:3px;background:rgba(180,120,60,.22)}.heat-pip.lit{background:linear-gradient(180deg,#ffb03c,#e8482a)}.pepper-ladder{display:flex;align-items:center;gap:5px;margin:0 0 11px;padding:7px 10px;border-radius:999px;background:linear-gradient(90deg,rgba(63,143,58,.1),rgba(184,17,9,.12))}.ladder-pip{flex:1 1;height:7px;border-radius:999px;background:rgba(140,120,100,.2);transition:background .2s ease}.ladder-pip.owned{box-shadow:inset 0 -1px 2px rgba(0,0,0,.25)}.garden-prog{display:flex;flex-direction:column;gap:6px;margin:-2px 0 12px;padding:9px 14px 10px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(247,252,248,.9));box-shadow:inset 0 0 0 1px rgba(12,138,69,.12),var(--shadow-sm)}.gp-line{display:flex;align-items:baseline;gap:9px;min-width:0}.gp-line b{flex:0 0 auto;font-size:14px;color:var(--green-deep,#0c8a45);letter-spacing:-.01em}.gp-line span{flex:1 1 auto;min-width:0;text-align:right;font-weight:700;font-size:12px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-bar{height:5px;background:rgba(12,138,69,.12);overflow:hidden}.gp-bar,.gp-fill{border-radius:999px}.gp-fill{height:100%;background:linear-gradient(90deg,#3edc86,#12a052);transition:width .5s cubic-bezier(.22,1,.36,1)}.garden-prog.legend{background:linear-gradient(180deg,rgba(255,250,235,.95),rgba(255,244,214,.95));box-shadow:inset 0 0 0 1px rgba(240,180,20,.35),var(--shadow-sm)}.garden-prog.legend .gp-line b{color:#b8860b}.garden-prog.legend .gp-fill{background:linear-gradient(90deg,#ffe27a,#f2b60c)}@media (max-width:380px){.gp-line{flex-direction:column;align-items:flex-start;gap:1px}.gp-line span{text-align:left}}html[data-theme=dark] .garden-prog{background:linear-gradient(180deg,#1b2a20,#172318);box-shadow:inset 0 0 0 1px rgba(62,220,134,.16),var(--shadow-sm)}html[data-theme=dark] .garden-prog.legend{background:linear-gradient(180deg,#2e2612,#241d0e);box-shadow:inset 0 0 0 1px rgba(255,210,63,.28),var(--shadow-sm)}html[data-theme=dark] .garden-prog.legend .gp-line b{color:#ffd23f}