.avatar{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:13px;font-family:var(--font-display);font-weight:900;font-size:13px;color:#fff;flex-shrink:0}.avatar--lg{width:56px;height:56px;font-size:17px;border-radius:19px}.avatar--rose{background:linear-gradient(135deg,#ff9a9e,#fecfef);color:#5b1a1a}.avatar--ocean{background:linear-gradient(135deg,#00d4ff,#5b4dff)}.avatar--sun{background:linear-gradient(135deg,#f6d365,#fda085)}.avatar--night{background:linear-gradient(135deg,#131127,#5b4dff);border:2px solid var(--lime)}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}.card--cream{background:var(--cream);border-color:#f5e6bd}.card--dark{background:var(--dark);border-color:var(--dark);color:#fff}.card--flush{padding:0;overflow:hidden}.progress{height:12px;background:var(--track);border-radius:99px;overflow:hidden}.progress--sm{height:8px}.progress i{display:block;height:100%;min-width:0;background:linear-gradient(90deg,var(--green),#9dff57);border-radius:99px;box-shadow:inset 0 -3px #00000014,inset 0 3px #ffffff47;transition:width .6s cubic-bezier(.3,.9,.3,1)}.stat-pill{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;background:#fff;border:2px solid var(--line);border-bottom-width:4px;border-radius:99px;font-family:var(--font-display);font-weight:900;font-size:14px;transition:transform .08s,border-bottom-width .08s}button.stat-pill:active{transform:translateY(2px);border-bottom-width:2px}.stat-pill--streak{color:var(--orange)}.stat-pill--gems{color:var(--blue)}.stat-pill--hearts{color:#ff4b4b}.tier-badge{flex-shrink:0;overflow:visible;filter:drop-shadow(0 3px 4px rgba(19,17,39,.28))}.tier-badge--locked{filter:grayscale(1) brightness(1.08) opacity(.45)}.sheet-root{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;background:#13112780;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sheet-fade .25s ease both}.sheet{position:relative;width:100%;max-width:560px;max-height:85dvh;overflow-y:auto;background:#fff;border-radius:28px 28px 0 0;padding:10px 20px calc(24px + var(--safe-bottom));box-shadow:var(--shadow-lg);animation:sheet-up .32s cubic-bezier(.2,.9,.3,1) both}.sheet__grab{width:44px;height:5px;border-radius:99px;background:var(--line);margin:0 auto 14px}.sheet__title{margin-bottom:12px}@media(min-width:900px){.sheet-root{align-items:center}.sheet{border-radius:28px;padding-bottom:24px}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-fade{0%{opacity:0}}.goal-mini{position:relative;display:inline-grid;place-items:center;flex-shrink:0;color:var(--vio)}.goal-mini__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.goal-mini circle{fill:none;stroke-width:8;stroke-linecap:round}.goal-mini__track{stroke:var(--track)}.goal-mini__fill{stroke:var(--vio);transition:stroke-dashoffset .8s cubic-bezier(.3,.9,.3,1)}.goal-mini b{font-family:var(--font-display);font-weight:900;font-size:17px;font-variant-numeric:tabular-nums;color:var(--ink)}.goal-mini--done .goal-mini__fill{stroke:var(--green)}.goal-mini--done{color:var(--green-d)}.goal-mini--done>svg:not(.goal-mini__ring){position:relative;color:var(--green)}.goal-card{display:flex;align-items:center;gap:14px;width:100%;min-height:84px;padding:12px 16px;text-align:left;background:#fff;border:2px solid var(--line);border-bottom-width:5px;border-radius:var(--r);transition:transform .08s}.goal-card:active{transform:translateY(2px)}.goal-card--done{background:linear-gradient(90deg,#f0ffdc,#fff);border-color:#c9efa0}.goal-card__text{display:flex;flex-direction:column;gap:2px;min-width:0}.goal-card__text b{font-family:var(--font-display);font-weight:900;font-size:15px}.goal-card__num{font-weight:700;color:var(--muted);font-size:13.5px}.goal-card__num strong{font-family:var(--font-display);font-weight:900;font-size:18px;color:var(--vio)}.goal-card--done .goal-card__num strong{color:var(--green-d)}.goal-card__text small{font-weight:700;color:var(--muted);font-size:12.5px}.goal-card--mobile{margin-bottom:14px}@media(min-width:900px){.goal-card--mobile{display:none}}.boost-badge{display:inline-flex;align-items:center;gap:3px;min-height:32px;padding:3px 9px;border-radius:99px;background:linear-gradient(135deg,#fff3b0,#ffd23d);border:2px solid #f0b400;color:#6b4a00;font-family:var(--font-display);font-weight:900;font-size:12.5px;white-space:nowrap;animation:boost-glow 1.8s ease-in-out infinite}@keyframes boost-glow{50%{box-shadow:0 0 0 4px #ffc80047}}@media(max-width:419px){.boost-badge__xp{display:none}}.shell{min-height:100dvh}.shell__main{min-width:0}.sidebar,.rail{display:none}.topbar{position:sticky;top:0;z-index:var(--z-bar);display:flex;align-items:center;gap:8px;padding:calc(10px + var(--safe-top)) calc(14px + var(--safe-right)) 10px calc(14px + var(--safe-left));background:#f7f4ffd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.topbar__stats{display:flex;gap:6px;min-width:0}.topbar__stats .stat-pill{padding:4px 10px;min-height:38px;font-size:13.5px}.topbar__avatar{margin-left:auto;border-radius:15px;border:2px solid #fff;box-shadow:var(--shadow);display:grid}.topbar__avatar .avatar{border-radius:12px}.content{padding:20px calc(16px + var(--safe-right)) calc(120px + var(--safe-bottom)) calc(16px + var(--safe-left));max-width:600px;margin:0 auto}.tabbar{position:fixed;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));z-index:var(--z-tabbar);display:flex;gap:2px;max-width:560px;margin:0 auto;padding:8px;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid var(--line);border-radius:26px;box-shadow:var(--shadow-lg)}.tab{flex:1;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 2px;border-radius:18px;color:#a49dc7;font-weight:800;position:relative;transition:background .15s,color .15s,transform .08s}.tab:active{transform:scale(.94)}.tab small{font-size:10.5px;letter-spacing:.02em}.tab__dot{position:absolute;top:5px;right:50%;margin-right:-16px;width:6px;height:6px;border-radius:50%;background:var(--vio);opacity:0;transform:scale(0);transition:opacity .15s,transform .2s}.tab.active{color:var(--vio);background:var(--vio-tint)}.tab.active .tab__dot{opacity:1;transform:scale(1)}@media(min-width:900px){.shell{display:flex;justify-content:center;align-items:flex-start;gap:28px;padding:0 24px}.topbar,.tabbar{display:none}.sidebar{display:flex;flex-direction:column;gap:24px;position:sticky;top:0;align-self:flex-start;width:230px;flex-shrink:0;height:100dvh;padding:28px 0;overflow-y:auto}.wordmark{font-family:var(--font-display);font-weight:900;font-size:34px;letter-spacing:-.04em;color:var(--vio);padding:0 14px}.wordmark span{color:var(--lime-d)}.sidebar__nav{display:flex;flex-direction:column;gap:6px}.side-item{display:flex;align-items:center;gap:16px;min-height:56px;padding:10px 16px;border-radius:16px;border:2px solid transparent;font-family:var(--font-display);font-weight:900;font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);transition:background .15s,border-color .15s,color .15s}.side-item:hover{background:#5b4dff0f}.side-item.active{background:#5b4dff1a;border-color:#5b4dff59;color:var(--vio)}.shell__main{flex:1 1 0;max-width:600px}.content{padding:32px 0 48px;max-width:none}.rail{display:flex;flex-direction:column;gap:16px;position:sticky;top:0;align-self:flex-start;width:300px;flex-shrink:0;padding:28px 0}.rail__stats{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:10px}.rail__card{padding:16px}.rail__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rail__link{font-family:var(--font-display);font-weight:900;font-size:13px;color:var(--vio);text-transform:uppercase;letter-spacing:.05em}.rail__row{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted);font-weight:600}.rail__grow{flex:1;display:flex;flex-direction:column;gap:8px;color:var(--ink)}.rail__ico{flex-shrink:0}.rail__ico--gold{color:var(--gold-d)}.rail__ico--vio{color:var(--vio)}.rail__league{text-decoration:none}.rail__league b{font-family:var(--font-display);font-weight:900;font-size:15px}.rail__meta{font-size:13px;color:var(--muted);font-weight:700}.rail__meta strong{color:var(--vio);font-family:var(--font-display);font-weight:900;font-size:15px}.rail__quests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.rail__quests li{display:flex;align-items:center;gap:10px}.rail__quests b{font-size:13px;font-weight:800;line-height:1.25}.rail__quests li.is-claimed b{color:var(--muted);text-decoration:line-through}.rail__qico{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:var(--vio-tint);color:var(--vio)}.rail__quests li.is-claimed .rail__qico{background:var(--green);color:#fff}.rail__quests li.is-ready .rail__qico{background:#e5f9cf;color:var(--green-d)}.rail__qbar{display:flex;align-items:center;gap:8px}.rail__qbar .progress{flex:1}.rail__qbar small{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}}@media(min-width:1150px){.rail{width:340px}}.course-switch{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 10px;border-radius:16px;background:#fff;border:2px solid var(--line);border-bottom-width:4px;font-family:var(--font-display);font-weight:900;font-size:12.5px;letter-spacing:.02em;flex-shrink:0;transition:transform .08s}.course-switch:active{transform:translateY(2px)}.course-switch__emoji{font-size:20px;line-height:1}.course-switch--side{width:100%;justify-content:flex-start;font-size:14px;padding:8px 14px}.course-switch--side .course-switch__caret{margin-left:auto}.course-switch__caret{color:var(--muted);font-size:11px}.course-list{display:flex;flex-direction:column;gap:10px}.course-opt{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border-radius:18px;border:2.5px solid var(--line);border-bottom-width:5px;background:#fff;text-align:left;width:100%}.course-opt--on{border-color:var(--green);background:#f0ffdc}.course-opt__emoji{font-size:28px}.course-opt__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.course-opt__main b{font-family:var(--font-display);font-weight:900;font-size:15px}.course-opt__main small{color:var(--muted);font-weight:700;font-size:12px}.course-opt__pct{font-family:var(--font-display);font-weight:900;color:var(--muted)}@media(max-width:419px){.topbar__avatar{display:none}.topbar{gap:6px}.topbar__stats{gap:4px}.topbar__stats .stat-pill{padding:4px 8px}}@media(max-width:389px){.topbar{padding-left:calc(10px + var(--safe-left));padding-right:calc(10px + var(--safe-right))}.topbar__stats .stat-pill{padding:4px 6px;gap:3px;font-size:12.5px}.topbar__stats .stat-pill svg{width:17px;height:17px}.course-switch--top{padding:4px 8px}}.mascot{overflow:visible;display:block}.mascot__shadow{transform-origin:80px 160px}.mascot__head{transform-origin:80px 118px}.mascot__eyes,.mascot__tear,.mascot__tail,.mascot__spark{transform-box:fill-box;transform-origin:center}.mascot__tail{transform-origin:0% 100%}.mascot__tear{transform-origin:50% 0%}.mascot__spark--2{animation-delay:-.7s}.mascot--think .mascot__head{transform:rotate(-7deg)}.mascot--sad .mascot__head{transform:translateY(4px) scale(.98)}.mascot--bob{animation:mascot-bob 2.8s ease-in-out infinite;transform-origin:50% 90%}.mascot--cheer.mascot--bob{animation-name:mascot-hop;animation-duration:1s}.mascot--bob .mascot__shadow{animation:mascot-shadow 2.8s ease-in-out infinite}.mascot--bob .mascot__head{animation:mascot-sway 5s ease-in-out infinite}.mascot--think.mascot--bob .mascot__head{animation-name:mascot-tilt}.mascot--sad.mascot--bob .mascot__head{animation:mascot-droop 4s ease-in-out infinite}.mascot--cheer.mascot--bob .mascot__head{animation:mascot-cheer-head 1s ease-in-out infinite}.mascot--bob .mascot__eyes{animation:mascot-blink 4s infinite}.mascot--bob .mascot__tail{animation:mascot-tail 3.2s ease-in-out infinite}.mascot--bob .mascot__tear{animation:mascot-tear 3s ease-in infinite}.mascot--cheer.mascot--bob .mascot__flipper--l{animation:mascot-wave-l .5s ease-in-out infinite}.mascot--cheer.mascot--bob .mascot__flipper--r{animation:mascot-wave-r .5s ease-in-out infinite}.mascot--bob .mascot__spark{animation:mascot-twinkle 1.4s ease-in-out infinite}.mascot--bob .mascot__spark--2{animation-delay:-.7s}@keyframes mascot-bob{50%{transform:translateY(-5px)}}@keyframes mascot-hop{40%{transform:translateY(-12px) rotate(-2deg)}70%{transform:translateY(0) rotate(1deg)}}@keyframes mascot-shadow{50%{transform:scaleX(.88);opacity:.08}}@keyframes mascot-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}@keyframes mascot-tilt{0%,to{transform:rotate(-7deg)}50%{transform:rotate(-9deg) translateY(-1px)}}@keyframes mascot-droop{0%,to{transform:translateY(3px) scale(.98)}50%{transform:translateY(7px) scale(.96)}}@keyframes mascot-cheer-head{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes mascot-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes mascot-tail{0%,to{transform:rotate(0)}50%{transform:rotate(14deg)}}@keyframes mascot-tear{0%{transform:translateY(0) scale(.6);opacity:0}25%{opacity:1;transform:translateY(0) scale(1)}to{transform:translateY(8px) scale(1);opacity:0}}@keyframes mascot-wave-l{50%{transform:rotate(-16deg)}}@keyframes mascot-wave-r{50%{transform:rotate(16deg)}}@keyframes mascot-twinkle{50%{transform:scale(.6) rotate(20deg);opacity:.6}}@media(prefers-reduced-motion:reduce){.mascot,.mascot *,.mascot--bob,.mascot--bob *{animation:none!important}}.route-fallback{min-height:60vh;display:grid;place-items:center}.route-fallback__spin{position:relative;width:132px;height:132px;display:grid;place-items:center}.route-fallback__spin i{position:absolute;inset:0;border-radius:50%;border:5px solid var(--track);border-top-color:var(--vio);animation:route-spin .9s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}.btn{--btn-bg: var(--green);--btn-fg: #fff;--btn-edge: var(--green-d);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:18px;border:2px solid var(--btn-edge);background:var(--btn-bg);color:var(--btn-fg);box-shadow:0 5px 0 var(--btn-edge);font-family:var(--font-display);font-weight:900;font-size:15px;letter-spacing:.02em;text-transform:uppercase;-webkit-user-select:none;user-select:none;position:relative;transition:transform .08s,box-shadow .08s,filter .2s}.btn:hover{filter:brightness(1.05)}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--btn-edge)}.btn--lg{min-height:56px;padding:15px 26px;font-size:16px;border-radius:20px}.btn--full{display:flex;width:100%}.btn--secondary{--btn-bg: var(--vio);--btn-edge: var(--vio-d)}.btn--danger{--btn-bg: var(--red);--btn-edge: var(--red-d)}.btn--outline{--btn-bg: #fff;--btn-fg: var(--vio);--btn-edge: var(--line)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--vio);border-color:transparent;box-shadow:none}.btn--ghost:hover{background:var(--vio-tint);filter:none}.btn--ghost:active:not(:disabled){transform:scale(.97);box-shadow:none}.btn:disabled{opacity:.4;filter:grayscale(.35);cursor:not-allowed}.celebrate{position:fixed;inset:0;z-index:85;display:flex;flex-direction:column;background:linear-gradient(180deg,#131127,#3b2fb8);color:#fff;overflow:hidden;animation:cel-fade .35s ease both}.celebrate .confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.celebrate__stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:24px 20px;overflow-y:auto}.celebrate__foot{position:relative;z-index:2;width:100%;max-width:520px;margin:0 auto;padding:12px 20px calc(20px + var(--safe-bottom))}.ev{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;animation:cel-pop .6s cubic-bezier(.22,1.4,.36,1) both}.ev h1{font-size:clamp(30px,9vw,42px);font-weight:900;color:var(--lime)}.ev h2{font-size:clamp(26px,7.5vw,34px);font-weight:900}.ev__sub{color:#ffffffc7;font-weight:700;font-size:15px;max-width:320px}.ev__kicker{font-family:var(--font-display);font-weight:900;letter-spacing:.14em;font-size:12px;color:var(--gold)}.ev__chip{background:#ffffff24;border:2px solid rgba(255,255,255,.25);padding:10px 16px;border-radius:16px;font-weight:800}.cel-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-top:8px}.cs{background:#fff;color:var(--ink);border-radius:18px;padding:14px 4px 10px;border-bottom:5px solid var(--line);animation:cel-pop .6s cubic-bezier(.22,1.4,.36,1) both}.cs:nth-child(2){animation-delay:.1s}.cs:nth-child(3){animation-delay:.2s}.cs b{display:block;font-family:var(--font-display);font-weight:900;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}.cs small{display:block;margin-top:4px;font-size:10.5px;color:var(--muted);font-weight:800;letter-spacing:.06em}.cs--xp b{color:var(--gold-d)}.cs--acc b{color:var(--green-d)}.cs--time b{color:var(--blue-d)}.celebrate--streakExtended{background:linear-gradient(180deg,#3a1a05,#c2410c 120%)}.flame-big{color:var(--orange);filter:drop-shadow(0 0 30px rgba(255,150,0,.8));animation:flame 1.2s ease-in-out infinite;transform-origin:50% 90%;will-change:transform}.flame-big svg{color:#ffb020}.streak-count{display:flex;flex-direction:column;align-items:center;line-height:1}.streak-count b{font-family:var(--font-display);font-weight:900;font-size:88px;color:#ffd24d;font-variant-numeric:tabular-nums;text-shadow:0 6px 0 rgba(0,0,0,.25)}.streak-count span{font-family:var(--font-display);font-weight:900;font-size:22px;margin-top:4px}.week{list-style:none;margin:8px 0 0;padding:12px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:100%;background:#00000047;border-radius:20px}.week__day{display:flex;flex-direction:column;align-items:center;gap:6px;animation:cel-pop .5s both cubic-bezier(.22,1.4,.36,1)}.week__day small{font-size:11px;font-weight:800;opacity:.8}.week__day span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ffffff24;font-size:15px}.week__day--on span{background:var(--orange);color:#fff}.week__day--ice span{background:var(--blue);color:#fff}.week__day--today small{color:#ffd24d;opacity:1}.week__day--today span{box-shadow:0 0 0 3px #ffd24d}.celebrate--dailyGoalReached{background:linear-gradient(180deg,#0b3d2e,#0f766e)}.goal-ring{position:relative;width:200px;height:200px;display:grid;place-items:center}.goal-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.goal-ring circle{fill:none;stroke-width:10;stroke-linecap:round}.goal-ring__track{stroke:#ffffff2e}.goal-ring__fill{stroke:var(--lime);stroke-dasharray:100;stroke-dashoffset:100;animation:ring 1.2s .3s cubic-bezier(.3,.9,.3,1) forwards}.goal-ring__ico{color:var(--lime);animation:cel-pop .7s .9s both cubic-bezier(.22,1.5,.36,1)}.celebrate--questCompleted{background:linear-gradient(180deg,#1e1b4b,#4c1d95)}.quest-badge{position:relative;color:var(--lime);width:140px;height:140px;border-radius:40px;background:#ffffff1f;display:grid;place-items:center;animation:cel-spin .8s cubic-bezier(.22,1.3,.36,1) both}.quest-badge__tick{position:absolute;right:-8px;bottom:-8px;width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;border:4px solid #fff;display:grid;place-items:center;animation:cel-pop .5s .6s both cubic-bezier(.22,1.6,.36,1)}.celebrate--achievementUnlocked{background:linear-gradient(180deg,#131127,#5b4dff)}.medal{width:156px;height:156px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#ffe9a3 55%,#ffc800);border:6px solid #fff;box-shadow:0 0 0 8px #ffc8004d,0 20px 40px #00000059;animation:cel-flip .9s cubic-bezier(.22,1.2,.36,1) both}.tiers{display:flex;gap:6px}.tiers svg{animation:cel-pop .5s both cubic-bezier(.22,1.6,.36,1)}.celebrate--levelUp{background:radial-gradient(circle at 50% 35%,#7c3aed,#131127 75%)}.level-burst{position:relative;width:220px;height:220px;display:grid;place-items:center}.level-burst:before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(rgba(255,200,0,.35) 0 10deg,transparent 10deg 30deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);animation:spin 8s linear infinite}.level-badge{position:relative;width:148px;height:148px;border-radius:50%;background:linear-gradient(180deg,#ffe45e,#ffb800);border:6px solid #fff;color:#7a4d00;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px #d68f00,0 20px 40px #0006;animation:cel-pop .8s cubic-bezier(.22,1.6,.36,1) both}.level-badge small{font-family:var(--font-display);font-weight:900;letter-spacing:.14em;font-size:12px}.level-badge b{font-family:var(--font-display);font-weight:900;font-size:64px;line-height:1}.celebrate--streakFrozen{background:linear-gradient(180deg,#0c4a6e,#0ea5e9)}.ice-big{font-size:128px;line-height:1;filter:drop-shadow(0 0 30px rgba(186,230,253,.9));animation:ice 2.4s ease-in-out infinite}.celebrate--streakLost{background:linear-gradient(180deg,#1f2937,#4b5563)}.flame-out{color:#9ca3af;opacity:.8;animation:flame-out 1.6s ease-in both;margin-top:-8px}@keyframes cel-fade{0%{opacity:0}}@keyframes cel-pop{0%{transform:scale(.8) translateY(30px);opacity:0}}@keyframes cel-spin{0%{transform:scale(.3) rotate(-200deg);opacity:0}}@keyframes cel-flip{0%{transform:perspective(600px) rotateY(-540deg) scale(.4);opacity:0}}@keyframes flame{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.08,1.14) rotate(2deg)}}@keyframes ring{to{stroke-dashoffset:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ice{50%{transform:translateY(-10px) scale(1.06)}}@keyframes flame-out{0%{transform:scale(1.4);opacity:1}to{transform:scale(1);opacity:.6}}.celebrate--league-promoted{background:linear-gradient(180deg,#131127,#5b2394 120%)}.celebrate--league-stayed{background:linear-gradient(180deg,#131127,#2b2470)}.celebrate--league-demoted{background:linear-gradient(180deg,#1b1a2a,#3a3a52)}.league{gap:14px;padding-bottom:calc(24px + var(--safe-bottom))}.lg-list{scroll-padding-bottom:120px}.lrow{scroll-margin-block:96px 120px}@media(min-width:900px){.league{padding-bottom:0}}.lg-hero{position:relative;overflow:hidden;color:#fff;text-align:center;padding:16px 0 0;border-radius:26px;background:linear-gradient(180deg,#131127,#2b2470);box-shadow:var(--shadow-lg)}.lg-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(320px 180px at 80% 0%,rgba(91,77,255,.55),transparent);pointer-events:none}.lg-hero>*{position:relative}.lg-hero h1{font-size:26px;margin:8px 12px 6px}.lg-sub{font-size:13px;opacity:.75;font-weight:700;margin:8px 12px 0}.tier-strip{list-style:none;margin:0;padding:8px calc(50% - 40px) 4px;display:flex;align-items:flex-end;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tier-strip::-webkit-scrollbar{display:none}.tier-strip__item{flex:0 0 auto;width:66px;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:4px;scroll-snap-align:center;transition:opacity .3s}.tier-strip__item small{font-size:10.5px;font-weight:800;letter-spacing:.02em;opacity:.8}.tier-strip__badge{position:relative;display:grid;place-items:center}.tier-strip__item--done{opacity:.9}.tier-strip__item--locked{opacity:.55}.tier-strip__lock{position:absolute;right:-2px;bottom:-2px;color:#fff;background:var(--muted);border-radius:50%;padding:2px;width:18px;height:18px}.tier-strip__item--current{width:88px}.tier-strip__item--current small{font-size:13px;opacity:1;color:var(--lime);font-family:var(--font-display);font-weight:900}.tier-strip__item--current .tier-badge{filter:drop-shadow(0 0 14px var(--tier-glow)) drop-shadow(0 4px 6px rgba(0,0,0,.4));animation:tier-pop .7s cubic-bezier(.2,1.5,.4,1) both,tier-float 3.4s .7s ease-in-out infinite}@keyframes tier-pop{0%{transform:scale(.4);opacity:0}}@keyframes tier-float{50%{transform:translateY(-4px)}}.lg-timer{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border-radius:99px;background:#c8f54226;border:1px solid rgba(200,245,66,.4);color:#fff;font-size:12.5px;font-weight:700}.lg-timer b{color:var(--lime);font-variant-numeric:tabular-nums}.podium{list-style:none;margin:14px 0 0;padding:0 8px;display:flex;align-items:flex-end;justify-content:center;gap:8px}.pod{flex:1 1 0;max-width:108px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}.pod__crown{animation:crown-float 2.2s ease-in-out infinite;filter:drop-shadow(0 3px 6px rgba(255,200,0,.6));margin-bottom:-6px;z-index:1}@keyframes crown-float{50%{transform:translateY(-5px) rotate(4deg)}}.pod__avatar{animation:pod-pop .6s .1s cubic-bezier(.2,1.5,.4,1) both}.pod--1 .pod__avatar{box-shadow:0 0 0 3px var(--gold),0 6px 18px #ffc80080}.pod--2 .pod__avatar{box-shadow:0 0 0 3px #cfd6e4}.pod--3 .pod__avatar{box-shadow:0 0 0 3px #e0985a}@keyframes pod-pop{0%{transform:scale(.3);opacity:0}}.pod__name{font-size:12.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pod--me .pod__name{color:var(--lime)}.pod__xp{font-size:11px;opacity:.75;font-weight:800;margin-bottom:4px}.pod__bar{width:100%;border-radius:14px 14px 0 0;display:flex;justify-content:center;padding-top:8px;transform-origin:bottom;animation:bar-grow .7s cubic-bezier(.2,1,.3,1) both;box-shadow:inset 0 3px #ffffff59}.pod__bar span{font-family:var(--font-display);font-weight:900;font-size:26px;color:#131127b8;line-height:1}.pod__bar--gold{background:linear-gradient(180deg,#ffe45e,#ffb800)}.pod__bar--silver{background:linear-gradient(180deg,#f2f5fb,#aeb8c9)}.pod__bar--bronze{background:linear-gradient(180deg,#f2b27a,#c9772f)}@keyframes bar-grow{0%{transform:scaleY(0)}}.lg-empty{display:flex;align-items:center;gap:12px}.lg-empty h3{margin-bottom:4px}.lg-empty p{color:var(--muted);font-weight:600;font-size:13.5px;margin-bottom:10px}.lg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lrow{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;background:#fff;border:2px solid var(--line);border-radius:16px;font-weight:700;font-size:14px;animation:lrow-in .4s both cubic-bezier(.22,1,.36,1)}@keyframes lrow-in{0%{opacity:0;transform:translateY(8px)}}.lrow--me{border-color:var(--vio);background:linear-gradient(90deg,#efecff,#fff);box-shadow:0 6px 18px #5b4dff2e}.lrow__rk{width:28px;text-align:center;font-family:var(--font-display);font-weight:900;color:var(--muted);flex-shrink:0}.lrow__medal{font-size:22px;line-height:1}.lrow__nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lrow__you{margin-left:8px;font-style:normal;font-size:10.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--vio);padding:2px 8px;border-radius:99px}.lrow__xp{font-family:var(--font-display);font-weight:900;font-size:13px;color:var(--vio);font-variant-numeric:tabular-nums}.lrow__delta{min-width:30px;font-size:11px;font-weight:900;text-align:right}.lrow__delta--up{color:#16a34a}.lrow__delta--down{color:var(--red-d)}.zone{display:flex;align-items:center;gap:8px;padding:2px 4px;font-family:var(--font-display);font-weight:900;font-size:11.5px;letter-spacing:.1em}.zone:before,.zone:after{content:"";flex:1;height:2px;border-radius:2px;background:currentColor;opacity:.35}.zone--up{color:var(--green-d)}.zone--down{color:var(--red-d)}.lres{text-align:center}.lres .tier-badge{animation:lres-zoom .9s .2s cubic-bezier(.2,1.6,.4,1) both;filter:drop-shadow(0 0 30px var(--tier-glow)) drop-shadow(0 8px 12px rgba(0,0,0,.4))}@keyframes lres-zoom{0%{transform:scale(0);opacity:0}60%{transform:scale(1.25) rotate(-4deg)}}.lres__rank{font-family:var(--font-display);font-weight:900;font-size:16px;color:#fff;background:#ffffff24;border:2px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:16px}.lres__gems{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:900;font-size:28px;color:var(--gold);animation:cel-pop .6s .6s cubic-bezier(.22,1.4,.36,1) both}@media(min-width:480px){.lg-hero h1,.pod__bar span{font-size:30px}}.update-notice{position:fixed;left:50%;bottom:calc(84px + var(--safe-bottom));transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:10px 12px 10px 18px;border-radius:99px;background:var(--ink);color:#fff;font-weight:800;font-size:13.5px;box-shadow:var(--shadow-lg);animation:update-in .3s cubic-bezier(.2,.9,.3,1) both}.update-notice button{min-height:36px;padding:0 16px;border-radius:99px;background:var(--lime);color:var(--ink);font-weight:900}@keyframes update-in{0%{opacity:0;transform:translate(-50%,16px)}}@media(min-width:900px){.update-notice{bottom:24px}}.toast-stack{position:fixed;left:0;right:0;top:calc(12px + var(--safe-top));z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;pointer-events:none}.toast{background:var(--ink);color:#fff;font-weight:800;font-size:13.5px;padding:12px 18px;border-radius:99px;box-shadow:var(--shadow-lg);max-width:100%;animation:toast-in .3s cubic-bezier(.2,.9,.3,1) both}.toast--success{background:var(--green-d)}.toast--error{background:var(--red-d)}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px) scale(.96)}}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/akadio/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/akadio/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/akadio/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/akadio/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/akadio/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/akadio/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/akadio/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/akadio/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/akadio/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/akadio/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/akadio/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/akadio/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/akadio/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/akadio/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/akadio/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/akadio/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/akadio/assets/nunito-latin-900-normal-BVB1fGs6.woff2) format("woff2"),url(/akadio/assets/nunito-latin-900-normal-CVn49sIn.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/akadio/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2) format("woff2"),url(/akadio/assets/nunito-latin-ext-900-normal-CTBZd6bf.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/akadio/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/akadio/assets/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-ext-400-normal-2ppkqaOR.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/akadio/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/akadio/assets/plus-jakarta-sans-latin-ext-500-normal-9VZagAe1.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-ext-500-normal-CqEEAICU.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/akadio/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/akadio/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/akadio/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/akadio/assets/plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-ext-700-normal-8-d-IyIQ.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/akadio/assets/plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-800-normal-BRNHt2w0.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/akadio/assets/plus-jakarta-sans-latin-ext-800-normal-B6BjB2Ju.woff2) format("woff2"),url(/akadio/assets/plus-jakarta-sans-latin-ext-800-normal-BPkb-LBK.woff) format("woff")}:root{--ink: #131127;--muted: #6f6a8a;--bg: #f7f4ff;--card: #ffffff;--line: #ece8fb;--cream: #fff9ec;--dark: #131127;--vio: #5b4dff;--vio-d: #412fd6;--vio-tint: #efecff;--lime: #c8f542;--lime-d: #9dc22e;--green: #58cc02;--green-d: #46a302;--gold: #ffc800;--gold-d: #e0a800;--red: #ff5c5c;--red-d: #d63d3d;--blue: #1cb0f6;--blue-d: #1899d6;--orange: #ff9600;--track: #eee9ff;--r: 22px;--shadow: 0 10px 30px rgba(19, 17, 39, .1);--shadow-lg: 0 24px 60px rgba(19, 17, 39, .18);--font-display: "Nunito", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--z-bar: 30;--z-tabbar: 40;--z-sheet: 80;--z-toast: 90}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em;line-height:1.15;margin:0}h1{font-size:28px}h2{font-size:20px}h3{font-size:17px}p{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0;touch-action:manipulation}svg{display:block}:focus-visible{outline:3px solid var(--vio);outline-offset:2px;border-radius:8px}::selection{background:var(--lime);color:var(--ink)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
