:root{--brand:#6c5ce7;--brand-dark:#5443c9;--brand-soft:#efecff;--brand-ink:#4b3fb5;--green:#58cc02;--green-dark:#58a700;--green-soft:#d7ffb8;--green-ink:#3f8a00;--red:#ff4b4b;--red-dark:#ea2b2b;--red-soft:#ffdfe0;--red-ink:#d62a2a;--flame:#ff9600;--flame-dark:#e07b00;--gold:#ffc800;--gold-dark:#d69a00;--sky:#1cb0f6;--sky-dark:#1899d6;--pink:#ff86d0;--pro-1:#1b1464;--pro-2:#3a1f9e;--ink:#3c3c3c;--ink-2:#4b4b4b;--muted:#777;--faint:#afafaf;--line:#e5e5e5;--line-2:#d6d6d6;--surface:#fff;--surface-2:#f7f7f7;--backdrop:#eef0f7;--r-sm:12px;--r-md:16px;--r-lg:22px;--font-body:"Nunito", "Segoe UI", system-ui, sans-serif;--font-head:"Fredoka", "Nunito", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-weight:700}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--backdrop);overscroll-behavior:none}#root{height:100%}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-head);text-wrap:balance;margin:0;font-weight:600;line-height:1.15}p{margin:0;line-height:1.45}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.frame{background:var(--surface);isolation:isolate;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.stage{background:radial-gradient(1200px 600px at 20% 10%,#e7e3ff 0%,#0000 60%),radial-gradient(900px 500px at 90% 90%,#dff3ff 0%,#0000 60%),#eef0f7;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.stage-note{color:#6b6f86;max-width:280px;font-size:13px;font-weight:700;line-height:1.5;position:absolute;bottom:20px;left:24px}.stage-note b{font-family:var(--font-head);color:#2b2d42;margin-bottom:4px;font-size:20px;font-weight:600;display:block}@media (width<=900px){.stage-note{display:none}}.device-slot{position:relative}.device{transform-origin:0 0;background:linear-gradient(145deg,#2c2f3a,#111318 40%,#23262f);border-radius:64px;width:417px;height:876px;padding:12px;position:absolute;top:0;left:0;box-shadow:0 0 0 2px #454956,0 50px 90px -30px #1914468c,inset 0 0 0 1.5px #5a5f6e}.device:before,.device:after{content:"";background:#2c2f3a;border-radius:3px;width:4px;position:absolute}.device:before{height:64px;top:190px;left:-4px;box-shadow:0 84px #2c2f3a}.device:after{height:96px;top:240px;right:-4px}.device-screen{--safe-top:54px;--safe-bottom:26px;background:#fff;border-radius:52px;width:393px;height:852px;position:relative;overflow:hidden;transform:translateZ(0)}.island{z-index:200;pointer-events:none;background:#000;border-radius:20px;width:124px;height:36px;position:absolute;top:11px;left:50%;transform:translate(-50%)}.statusbar{z-index:199;pointer-events:none;color:#111;justify-content:space-between;align-items:center;height:54px;padding:6px 30px 0 44px;font-family:-apple-system,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:16.5px;font-weight:700;transition:color .2s;display:flex;position:absolute;top:0;left:0;right:0}.statusbar.light{color:#fff}.statusbar .icons{align-items:center;gap:6px;display:flex}.statusbar svg{display:block}.home-indicator{z-index:200;pointer-events:none;opacity:.85;background:#111;border-radius:3px;width:134px;height:5px;transition:background .2s;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.home-indicator.light{background:#fff}.screen{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.scroll{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;overflow-y:auto}.scroll::-webkit-scrollbar{display:none}.scroll>*{flex-shrink:0}.pad{padding:0 16px}.btn{--b:var(--brand);--b-dark:var(--brand-dark);--b-ink:#fff;border-radius:var(--r-md);background:var(--b);width:100%;min-height:50px;color:var(--b-ink);box-shadow:0 4px 0 var(--b-dark);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:0;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:900;transition:transform 60ms,box-shadow 60ms,filter .15s;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 0 0 var(--b-dark);transform:translateY(4px)}.btn:hover:not(:disabled){filter:brightness(1.05)}.btn.green{--b:var(--green);--b-dark:var(--green-dark)}.btn.red{--b:var(--red);--b-dark:var(--red-dark)}.btn.sky{--b:var(--sky);--b-dark:var(--sky-dark)}.btn.gold{--b:var(--gold);--b-dark:var(--gold-dark);--b-ink:#5a3b00}.btn.white{--b:#fff;--b-dark:var(--line);--b-ink:var(--brand);border:2px solid var(--line);box-shadow:0 3px 0 var(--line)}.btn.white:active:not(:disabled){box-shadow:0 0 0 var(--line);transform:translateY(3px)}.btn:disabled,.btn.green:disabled,.btn.red:disabled,.btn.sky:disabled,.btn.gold:disabled{--b:var(--line);--b-dark:var(--line-2);--b-ink:var(--faint);border:0}.btn.ghost{box-shadow:none;color:var(--brand);background:0 0;min-height:44px}.btn.ghost:active{transform:none}.btn.small{border-radius:12px;width:auto;min-height:38px;padding:8px 14px;font-size:13px}.choice{text-align:left;border:2px solid var(--line);border-radius:var(--r-md);width:100%;box-shadow:0 3px 0 var(--line);color:var(--ink);background:#fff;align-items:center;gap:12px;padding:14px;font-size:16px;font-weight:800;transition:transform 60ms,box-shadow 60ms,background .15s,border-color .15s;display:flex}.choice:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.choice.on{color:var(--sky-dark);background:#ddf4ff;border-color:#84d8ff;box-shadow:0 3px #84d8ff}.choice.right{border-color:var(--green);background:var(--green-soft);box-shadow:0 3px 0 var(--green);color:var(--green-ink)}.choice.wrong{border-color:var(--red);background:var(--red-soft);box-shadow:0 3px 0 var(--red);color:var(--red-ink)}.choice .key{border:2px solid var(--line);width:30px;height:30px;color:var(--faint);background:#fff;border-radius:9px;flex:none;place-items:center;font-size:14px;font-weight:900;display:grid}.choice.on .key{color:var(--sky-dark);border-color:#84d8ff}.choice.right .key{border-color:var(--green);color:var(--green-ink)}.choice.wrong .key{border-color:var(--red);color:var(--red-ink)}.choice .emoji{text-align:center;flex:none;width:30px;font-size:24px}.choice .check{border:2px solid var(--line);color:#fff;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;margin-left:auto;display:grid}.choice.on .check{background:var(--sky);border-color:var(--sky)}.bar{background:var(--line);border-radius:99px;flex:1;height:16px;position:relative;overflow:hidden}.bar>i{background:var(--green);border-radius:99px;transition:width .45s cubic-bezier(.3,1.4,.5,1);position:absolute;inset:0 auto 0 0}.bar>i:after{content:"";background:#ffffff59;border-radius:99px;height:4px;position:absolute;top:4px;left:8px;right:8px}.bar.thin{height:10px}.bar.thin>i:after{display:none}.bubble{border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;padding:12px 14px;font-size:16px;font-weight:700;line-height:1.4;position:relative}.bubble.left:before,.bubble.left:after{content:"";border:9px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.bubble.left:before{border-right-color:var(--line);left:-19px}.bubble.left:after{border-right-color:#fff;left:-15px}.bubble.down:before,.bubble.down:after{content:"";border:10px solid #0000;width:0;height:0;position:absolute;left:50%;transform:translate(-50%)}.bubble.down:before{border-top-color:var(--line);bottom:-21px}.bubble.down:after{border-top-color:#fff;bottom:-17px}.stat{align-items:center;gap:5px;font-size:16px;font-weight:900;display:inline-flex}.stat svg{flex:none;width:24px;height:24px}.stat.flame{color:var(--flame)}.stat.flame.cold{color:var(--faint)}.stat.coin{color:var(--gold-dark)}.stat.heart{color:var(--red)}.card{border:2px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:16px}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:900}.muted{color:var(--muted)}.row{align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.center{text-align:center}.pro-badge{color:#fff;letter-spacing:.08em;background:linear-gradient(135deg,#7b5cff,#ff5ec4 60%,#ffb14a);border-radius:8px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-style:italic;font-weight:900;display:inline-flex}.sheet-backdrop{z-index:40;background:#14103273;animation:.2s fade;position:absolute;inset:0}.sheet{z-index:41;padding:22px 16px calc(18px + var(--safe-bottom));background:#fff;border-radius:24px 24px 0 0;max-height:88%;animation:.28s cubic-bezier(.2,.9,.3,1.1) rise;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.overlay{z-index:50;background:#fff;flex-direction:column;animation:.2s fade;display:flex;position:absolute;inset:0}.toast{left:50%;top:calc(14px + var(--safe-top));z-index:90;background:var(--ink);color:#fff;text-align:center;border-radius:14px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:800;animation:.3s cubic-bezier(.2,.9,.3,1.2) drop;position:absolute;transform:translate(-50%);box-shadow:0 10px 30px -10px #0006}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes drop{0%{opacity:0;transform:translate(-50%,-30px)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-ring{0%{box-shadow:0 0 #6c5ce773}to{box-shadow:0 0 0 16px #6c5ce700}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}@keyframes spin{to{transform:rotate(360deg)}}.pop{animation:.45s cubic-bezier(.2,.9,.3,1.2) both pop}.bob{animation:2.2s ease-in-out infinite bob}.shake{animation:.45s both shake}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fx-canvas{pointer-events:none;z-index:95;width:100%;height:100%;position:absolute;inset:0}.fly-coin{z-index:96;pointer-events:none;filter:drop-shadow(0 2px 3px #00000040);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='13.2' rx='10' ry='9.8' fill='%23e08e00'/%3E%3Ccircle cx='12' cy='11.4' r='10' fill='%23ffc800'/%3E%3Ccircle cx='12' cy='11.4' r='6.8' fill='%23ffd84d' stroke='%23f0a800' stroke-width='1.6'/%3E%3Cpath d='M12 7.6v7.6' stroke='%23e08e00' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:24px;height:24px;position:absolute;top:-12px;left:-12px}.float-text{z-index:96;pointer-events:none;white-space:nowrap;font-family:var(--font-head);text-shadow:0 2px #fff,0 -2px #fff,2px 0 #fff,-2px 0 #fff,0 6px 14px #0003;font-size:26px;font-weight:700;animation:1.1s cubic-bezier(.2,.8,.3,1) forwards float-up;position:absolute;transform:translate(-50%)}@keyframes float-up{0%{opacity:0;transform:translate(-50%,10px)scale(.6)}20%{opacity:1;transform:translate(-50%,-6px)scale(1.15)}to{opacity:0;transform:translate(-50%,-60px)scale(1)}}.bump{animation:.35s cubic-bezier(.3,1.6,.5,1) bump}@keyframes bump{40%{transform:scale(1.35)}}.choice:active:not(:disabled),.item:active,.drill:active,.feature-card:active,.reward-card:active{transform:translateY(2px)scale(.985)}.walker{flex:none;width:100%;position:relative;overflow:hidden}.walker.rounded{border-radius:20px}.walker-char{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:none;position:absolute;transform:translate(-50%)}.walker-scene{width:calc(var(--tile) * 2);background-size:var(--tile) 100%;height:100%;animation:walker-slide var(--scene-dur) linear infinite;animation-play-state:var(--play);will-change:transform;background-repeat:repeat-x;position:absolute;inset:0 auto auto 0}@keyframes walker-slide{to{transform:translateX(calc(var(--tile) * -1))}}.walker-clouds{width:calc(var(--h) * 8);background:radial-gradient(closest-side, #fff9 97%, transparent) 4% 10% / calc(var(--u) * .26) calc(var(--u) * .109) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 7% 6% / calc(var(--u) * .16) calc(var(--u) * .067) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 9.5% 10.5% / calc(var(--u) * .2) calc(var(--u) * .084) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 30% 16% / calc(var(--u) * .2) calc(var(--u) * .084) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 32.5% 12% / calc(var(--u) * .13) calc(var(--u) * .055) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 34.5% 16.5% / calc(var(--u) * .15) calc(var(--u) * .063) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 58% 8% / calc(var(--u) * .24) calc(var(--u) * .101) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 60.5% 4.5% / calc(var(--u) * .15) calc(var(--u) * .063) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 63% 9% / calc(var(--u) * .18) calc(var(--u) * .076) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 84% 15% / calc(var(--u) * .2) calc(var(--u) * .084) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 86% 11.5% / calc(var(--u) * .13) calc(var(--u) * .055) no-repeat, radial-gradient(closest-side, #fff9 97%, transparent) 88% 15.5% / calc(var(--u) * .14) calc(var(--u) * .059) no-repeat;animation:walker-clouds var(--cloud-dur) linear infinite;animation-play-state:var(--play);position:absolute;inset:0 auto 55% 0}.walker.dark .walker-clouds{opacity:.18}@keyframes walker-clouds{to{transform:translateX(calc(var(--h) * -4))}}.walker-ground{z-index:1;height:17%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.walker-dashes{width:calc(100% + 80px);height:5px;animation:walker-dash var(--dash-dur) linear infinite;animation-play-state:var(--play);background:repeating-linear-gradient(90deg,#ffffffbf 0 40px,#0000 40px 80px);border-radius:3px;position:absolute;top:46%;left:0}.walker.dark .walker-dashes{background:repeating-linear-gradient(90deg,#ffffff40 0 40px,#0000 40px 80px)}@keyframes walker-dash{to{transform:translate(-80px)}}.walker-signs{z-index:2;pointer-events:none;position:absolute;inset:0}.walker-fill{z-index:1;position:absolute;bottom:0;left:0;right:0}.walker-sign{animation:walker-sign var(--sign-dur) linear infinite;animation-play-state:var(--play);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:12%;left:100%}.walker-sign span{white-space:nowrap;font:900 calc(var(--u) * .052)/1.1 var(--font-body);color:#2a2350;background:#fff;border:2.5px solid #2a2350;border-radius:8px;padding:3px 8px;box-shadow:0 3px #2a235040}.walker-sign i{width:5px;height:calc(var(--u) * .16);background:#2a2350;border-radius:2px}@keyframes walker-sign{to{transform:translateX(calc(-100% - var(--h) * 3.2))}}.walker.tall .walker-sign{bottom:8%}.paywall{color:#fff;padding-top:var(--safe-top);background:radial-gradient(120% 60% at 50% 0,#4a2fd0 0%,#2a1a8f 45%,#150d52 100%);flex-direction:column;display:flex;position:relative}.paywall.inline{flex:1;min-height:0}.paywall.overlay{z-index:70;position:absolute;inset:0}.pw-close{top:calc(var(--safe-top) + 6px);z-index:3;color:#ffffffb3;background:0 0;border:0;place-items:center;width:40px;height:40px;display:grid;position:absolute;left:10px}.pw-scroll{flex-direction:column;gap:16px;padding:10px 16px 16px;display:flex}.pw-brand{justify-content:center;padding-top:6px;display:flex}.pw-title{text-align:center;color:#fff;font-size:30px}.pw-walker{border:2px solid #ffffff26;box-shadow:0 20px 40px -20px #0009}.pw-perks{gap:10px;display:grid}.pw-perk{align-items:center;gap:12px;display:flex}.pw-perk-ico{background:#ffffff1f;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.pw-perk b{font-size:16px;display:block}.pw-perk small{color:#c9c2ff;font-size:13.5px;font-weight:700}.pw-closet{scrollbar-width:none;gap:8px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.pw-closet::-webkit-scrollbar{display:none}.pw-item{background-position:50%;background-size:cover;border:2px solid #fff3;border-radius:14px;flex:none;width:92px;height:110px;position:relative;overflow:hidden}.pw-item img{width:auto;max-width:none;height:150%;position:absolute;top:6%;left:50%;transform:translate(-50%)}.pw-item span{text-align:center;background:linear-gradient(#0000,#0009);padding:14px 6px 5px;font-size:11px;font-weight:900;position:absolute;bottom:0;left:0;right:0}.pw-plans{gap:10px;display:grid}.pw-plan{text-align:left;color:#fff;background:#ffffff14;border:2px solid #fff3;border-radius:18px;align-items:center;gap:12px;padding:14px;display:flex;position:relative}.pw-plan b{font-size:16px}.pw-plan small{color:#c9c2ff;font-size:13px;display:block}.pw-plan.on{background:#ffc8001f;border-color:#ffc800}.pw-plan em{letter-spacing:.05em;color:#5a3b00;background:#ffc800;border-radius:8px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:900;position:absolute;top:-10px;right:14px}.pw-radio{border:2.5px solid #ffffff80;border-radius:50%;flex:none;width:22px;height:22px}.pw-plan.on .pw-radio{background:radial-gradient(#ffc800 45%,#0000 50%);border-color:#ffc800}.pw-foot{padding:12px 16px calc(12px + var(--safe-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a062880;gap:2px;display:grid}.pw-cta{--b:#fff;--b-dark:#b9b0ff;--b-ink:#3a24b5}.pw-later{color:#d9d4ff}.pw-fine{text-align:center;color:#a79fe0;font-size:11.5px;font-weight:700}.ob{min-height:0;padding-top:var(--safe-top);flex-direction:column;flex:1;display:flex}.ob-head{align-items:center;gap:12px;padding:10px 16px 6px 8px;display:flex}.ob-bar{height:16px}.icon-btn{width:40px;height:40px;color:var(--faint);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;display:grid}.icon-btn:active{background:var(--surface-2)}.ob-body{flex-direction:column;flex:1;min-height:0;display:flex}.ob-scroll{flex-direction:column;gap:16px;padding-top:14px;padding-bottom:16px;display:flex}.ob-foot{padding:12px 16px calc(14px + var(--safe-bottom));border-top:2px solid var(--line);background:#fff;gap:6px;display:grid}.ob-title{color:var(--ink);font-size:26px}.ob-sub{color:var(--muted);margin-top:-8px;font-size:16px}.small-note{padding:0 4px;font-size:13px}.tutor-line{align-items:center;gap:18px;margin-bottom:4px;display:flex}.avatar{border:2px solid var(--line);border-radius:50%;flex:none;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.choices{gap:10px;display:grid}.choice-sub{color:var(--muted);margin-top:1px;font-size:12.5px;font-weight:700;display:block}.choice.on .choice-sub{color:var(--sky-dark);opacity:.75}.req{letter-spacing:.04em;text-transform:uppercase;background:var(--brand-soft);color:var(--brand);border-radius:8px;flex:none;padding:3px 8px;font-size:11px;font-weight:900}.req.opt{background:var(--surface-2);color:var(--muted)}.ob-welcome{min-height:0;margin-top:calc(var(--safe-top) * -1);flex-direction:column;flex:1;display:flex}.ob-logo{width:max-content;left:0;right:0;top:calc(var(--safe-top) + 14px);z-index:5;white-space:nowrap;justify-items:center;gap:2px;margin:0 auto;padding:10px 22px 12px;display:grid;position:absolute}.ob-logo-mark{font-family:var(--font-head);color:var(--brand);letter-spacing:-.02em;font-size:58px;font-weight:700;line-height:1}.ob-logo-sub{color:var(--muted);font-size:15px;font-weight:800}.ob-welcome-copy{text-align:center;color:var(--ink-2);padding:0 10px;font-size:16.5px}.ob-welcome .ob-foot{gap:12px}.buddy-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.buddy{border:2px solid var(--line);text-align:center;box-shadow:0 4px 0 var(--line);background:#fff;border-radius:22px;gap:4px;padding:8px 8px 12px;transition:transform 80ms;display:grid}.buddy:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.buddy .walker{border-radius:15px}.buddy b{font-family:var(--font-head);margin-top:4px;font-size:22px;font-weight:600}.buddy span{color:var(--muted);font-size:13px;line-height:1.35}.buddy.on{border-color:var(--brand);box-shadow:0 4px 0 var(--brand-dark);background:var(--brand-soft)}.ob-hello-bubble{z-index:5;font-size:16.5px;position:absolute;top:14px;left:16px;right:16px;box-shadow:0 6px #2a23501a}.ob-stage{flex:1;min-height:0;position:relative;overflow:hidden}.ob-stage>.walker{position:absolute;inset:0;height:100%!important}.stage-title{z-index:5;text-align:center;gap:2px;padding:10px 14px;display:grid;position:absolute;top:10px;left:14px;right:14px}.stage-title b{font-family:var(--font-head);font-size:21px;font-weight:600}.stage-title span{color:var(--muted);font-size:13px;font-weight:800}.buddy-controls{z-index:6;background:#fff;border-radius:22px 22px 0 0;flex:none;gap:12px;margin-top:-18px;padding:14px 16px 12px;display:grid;position:relative;box-shadow:0 -8px 20px -14px #2a235066}.buddy-controls .skin-row{justify-content:space-between}.name-field span{font-size:14px}.name-field input{padding:11px 14px;font-size:17px}.wheel{height:240px;margin:4px 0;position:relative}.wheel-hl{background:var(--brand-soft);border:2px solid #d9d3ff;border-radius:14px;height:48px;position:absolute;top:96px;left:0;right:0}.wheel-scroll{scroll-snap-type:y mandatory;scrollbar-width:none;height:100%;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#0000,#000 30% 70%,#0000)}.wheel-scroll::-webkit-scrollbar{display:none}.wheel-item{scroll-snap-align:center;width:100%;font-family:var(--font-head);color:var(--faint);background:0 0;border:0;place-items:center;font-size:24px;font-weight:600;transition:color .15s,font-size .15s;display:grid}.wheel-item.on{color:var(--brand);font-size:32px}.tip-card{background:var(--brand-soft);border-radius:16px;gap:6px;padding:14px 16px;display:grid}.tip-card p{color:var(--ink-2);font-size:15px}.commit-hero{justify-items:center;gap:2px;padding:4px 0 8px;display:grid}.commit-hero b{font-family:var(--font-head);color:var(--flame);font-size:30px}.ob-loading{min-height:0;margin-top:calc(var(--safe-top) * -1);flex-direction:column;flex:1;display:flex}.ob-loading-text{padding:18px 16px calc(28px + var(--safe-bottom));text-align:center;flex:none;justify-items:center;gap:10px;display:grid}.ob-loading h2{font-size:24px}.chart-card{border:2px solid var(--line);border-radius:20px;gap:10px;padding:14px 12px 12px;display:grid}.chart-line{stroke-dasharray:700;stroke-dashoffset:700px;animation:1.4s cubic-bezier(.5,0,.2,1) .2s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.chart-foot{align-items:center;gap:10px;display:flex}.chart-foot p{color:var(--muted);font-size:13px}.plan-steps{gap:12px;display:grid}.plan-step{border:2px solid var(--line);border-radius:18px;align-items:flex-start;gap:14px;padding:16px;display:flex}.plan-step>div>b{margin-bottom:2px;font-size:17px;font-weight:900;display:block}.plan-step p{color:var(--ink-2);font-size:15px}.plan-n{color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.notif-demo{gap:10px;padding:24px 0;display:grid}.notif{background:#f5f5faf2;border:1px solid #ececf2;border-radius:22px;gap:12px;padding:14px;display:flex;box-shadow:0 12px 30px -16px #00000059}.notif p{color:var(--ink-2);font-size:14px;font-weight:700}.notif-app{background:var(--brand);color:#fff;width:38px;height:38px;font-family:var(--font-head);border-radius:10px;flex:none;place-items:center;font-size:20px;display:grid}.first-pick{padding:16px}.first-ico{border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.profile-preview{justify-items:center;gap:18px;padding-top:8px;display:grid}.field{gap:8px;width:100%;display:grid}.field span{font-size:15px;font-weight:900}.field input{font:inherit;border:2px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:16px;outline:none;padding:14px 16px;font-size:18px}.field input:focus{background:#fff;border-color:#84d8ff}.summary-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.summary-chips span{background:var(--surface-2);border:2px solid var(--line);border-radius:12px;padding:6px 10px;font-size:13.5px;font-weight:800}.goal-choice{white-space:nowrap;padding:16px;position:relative}.goal-choice b{font-weight:900}.goal-choice .gc-label{color:var(--muted);font-weight:800}.goal-choice small{color:var(--muted);margin-left:auto;font-size:14px;font-weight:900}.goal-choice.on .gc-label,.goal-choice.on small{color:var(--sky-dark)}.rec-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--green);color:#fff;box-shadow:0 2px 0 var(--green-dark);border-radius:8px;padding:3px 8px;font-size:10.5px;font-style:normal;font-weight:900;position:absolute;top:-10px;right:14px}.tabscreen{flex-direction:column;flex:1;min-height:0;display:flex}.tab-scroll{flex-direction:column;gap:12px;padding:14px 16px 28px;display:flex}.list-title{margin:10px 2px 0;font-size:19px}.feature-card{text-align:left;color:#fff;border:0;border-radius:20px;align-items:center;gap:14px;padding:16px;transition:transform 60ms,box-shadow 60ms;display:flex}.feature-card:active{transform:translateY(3px)}.feature-card b{font-size:17px;display:block}.feature-card span span,.feature-card .grow>span{opacity:.92;font-size:13.5px;font-weight:700}.feature-card.quiz{background:linear-gradient(135deg,#1cb0f6,#3f8cff);box-shadow:0 5px #1777c9}.feature-card.quiz.done{background:linear-gradient(135deg,#8fcdf0,#a7c0f5);box-shadow:0 5px #8fb0d8}.feature-card.mistakes{color:var(--ink);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);background:#fff}.feature-card.mistakes .grow>span{color:var(--muted)}.feature-card.sprint{background:linear-gradient(135deg,#2a1a8f,#6c5ce7);box-shadow:0 5px #1d1266}.fc-ico{background:#fff3;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.feature-card.mistakes .fc-ico{background:var(--red-soft)}.section-tabs{scrollbar-width:none;gap:8px;margin:4px -16px 0;padding:2px 16px 4px;display:flex;overflow-x:auto}.section-tabs::-webkit-scrollbar{display:none}.section-tabs button{border:2px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;flex:none;padding:8px 14px;font-size:14px;font-weight:900}.section-tabs button.on{border-color:var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 10%, #fff)}.drills{gap:10px;display:grid}.drill{border:2px solid var(--line);text-align:left;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:18px;align-items:center;gap:12px;padding:14px;display:flex}.drill b{align-items:center;gap:6px;font-size:15.5px;display:flex}.drill small{color:var(--muted);font-size:12.5px;font-weight:800}.drill-ico{border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.test-info b{font-size:15px}.test-info p{margin-top:4px;font-size:14px}.closet{gap:14px;padding-top:0;padding-bottom:20px}.closet-preview{z-index:5;background:#fff;margin:0 -2px;padding:12px 0 6px;position:sticky;top:0}.try-tag,.level-tag{z-index:4;letter-spacing:.04em;border-radius:10px;padding:5px 10px;font-size:12px;font-weight:900;position:absolute;top:10px}.try-tag{background:var(--sky);color:#fff;animation:.3s both pop;left:10px}.level-tag{color:var(--brand);background:#ffffffe6;right:10px}.char-switch{grid-template-columns:1fr 1fr;gap:8px;display:grid}.char-switch button{border:2px solid var(--line);color:var(--muted);background:#fff;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:6px;font-size:15px;font-weight:900;display:flex}.char-switch button.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.seg{background:var(--surface-2);border:2px solid var(--line);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.seg button{color:var(--muted);background:0 0;border:0;border-radius:10px;padding:9px 6px;font-size:14px;font-weight:900}.seg button.on{color:var(--brand);box-shadow:0 2px 0 var(--line);background:#fff}.seg.small button{padding:6px 8px;font-size:13px}.items{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.item{border:2px solid var(--line);box-shadow:0 3px 0 var(--line);text-align:center;background:#fff;border-radius:16px;gap:4px;padding:6px 6px 8px;display:grid}.item.on{border-color:var(--sky);box-shadow:0 3px 0 var(--sky);background:#f1fbff}.item-thumb{aspect-ratio:1;background-position:50%;background-size:cover;border-radius:11px;position:relative;overflow:hidden}.item-thumb img{width:auto;max-width:none;height:180%;position:absolute;top:4%;left:50%;transform:translate(-50%)}.item-lock{color:#fff;background:#28244659;place-items:center;display:grid;position:absolute;inset:0}.item-pro{position:absolute;top:4px;right:4px}.item-pro .pro-badge{padding:1px 5px;font-size:9px}.item-name{place-items:center;min-height:2.3em;font-size:12.5px;font-weight:900;line-height:1.15;display:grid}.item-status{color:var(--muted);justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:900;display:inline-flex}.item-status.buy{color:var(--gold-dark)}.item-status.pro{color:#a24fe0}.item-status.owned{color:var(--green-ink)}.closet-bar{border-top:2px solid var(--line);background:#fff;flex:none;align-items:center;gap:12px;padding:10px 14px;display:flex}.closet-bar b{font-size:15px;display:block}.closet-bar small{color:var(--muted);font-size:12.5px;font-weight:700;line-height:1.3;display:block}.quest-hero{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6c5ce7);border-radius:20px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 5px #4b3fb5}.quest-hero b{font-size:19px;font-family:var(--font-head);font-weight:600}.quest-hero p{opacity:.9;font-size:14px}.reward-card{border:2px solid var(--line);text-align:left;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:18px;align-items:center;gap:12px;padding:14px;display:flex}.reward-card.ready{border-color:var(--gold);box-shadow:0 3px 0 var(--gold-dark);background:#fffaeb}.reward-card b{font-size:16px;display:block}.reward-card small{color:var(--muted);font-size:13px;font-weight:700}.mini-days{gap:4px;margin-top:6px;display:flex}.mini-days i{background:var(--line);border-radius:3px;width:20px;height:6px}.mini-days i.got{background:var(--gold)}.quest-list{gap:18px;display:grid}.quest{align-items:center;gap:12px;display:flex}.quest b{font-size:15.5px}.quest-ico{text-align:center;width:34px;font-size:28px}.quest-chest{filter:grayscale(.9)opacity(.6);background:0 0;border:0;padding:0;position:relative}.quest-chest.ready{filter:none;animation:1.4s ease-in-out infinite bob}.quest-chest.claimed{filter:none;opacity:.8}.qc-reward{border:1.5px solid var(--line);color:var(--gold-dark);background:#fff;border-radius:8px;align-items:center;gap:2px;padding:0 4px;font-size:11px;font-weight:900;display:inline-flex;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.streak-card{text-align:left;background:#fff7ec;border-color:#ffd9a3;align-items:center;gap:12px;display:flex}.streak-card b{color:var(--flame-dark);font-size:17px;display:block}.streak-card small{color:var(--muted);font-size:13px;font-weight:700}.league{gap:12px;display:grid}.league-head{align-items:center;gap:12px;display:flex}.league-head b{font-size:16px;display:block}.league-head small{font-size:12.5px}.league-shield{font-size:34px}.league-rows{gap:6px;display:grid}.league-row{border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.league-row .rank{width:18px;color:var(--faint);text-align:center;font-weight:900}.league-row.ghost .ghost-av{background:var(--surface-2);border:2px dashed var(--line);border-radius:50%;width:34px;height:34px}.league-row.ghost .ghost-line{background:var(--surface-2);border-radius:5px;flex:1;max-width:140px;height:10px}.league-row.you{background:var(--brand-soft)}.league-row.you .xp{color:var(--brand);font-weight:900}.pf-top{align-items:center;gap:16px;display:flex}.pf-face{background:0 0;border:0;flex:none;padding:0;position:relative}.pf-face .avatar{border:3px solid var(--line);box-shadow:0 4px 0 var(--line)}.pf-edit{border:2px solid var(--line);width:34px;height:34px;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute;bottom:2px;right:-2px}.pf-id{gap:4px;display:grid}.pf-id h2{align-items:center;gap:8px;font-size:26px;display:flex}.pf-level{align-items:center;gap:10px;margin-top:4px;display:flex}.lvl-chip{background:var(--brand);color:#fff;white-space:nowrap;box-shadow:0 3px 0 var(--brand-dark);border-radius:10px;padding:4px 10px;font-size:13px;font-weight:900}.countdown{align-items:center;gap:12px;display:flex}.countdown b{font-size:17px;display:block}.days-bubble{background:var(--brand-soft);width:74px;height:74px;color:var(--brand);border-radius:22px;align-content:center;place-items:center;display:grid}.days-bubble b{font-family:var(--font-head);font-size:28px;line-height:1}.days-bubble small{font-size:12px;font-weight:900}.est{gap:14px;display:grid}.est-top{align-items:center;gap:14px;display:flex}.est-ring{background:radial-gradient(closest-side, #fff 78%, transparent 79%), conic-gradient(var(--brand) var(--p), var(--line) 0);border-radius:50%;flex:none;align-content:center;place-items:center;width:96px;height:96px;display:grid}.est-ring b{font-family:var(--font-head);color:var(--brand);font-size:32px;line-height:1}.est-ring small{color:var(--muted);font-size:12px;font-weight:900}.est-rows{gap:10px;display:grid}.est-row{grid-template-columns:130px 1fr 28px;align-items:center;gap:10px;font-size:14px;display:grid}.est-row b{text-align:right}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sg{border:2px solid var(--line);border-radius:18px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:12px 14px;display:grid}.sg>:first-child{grid-row:span 2}.sg b{font-size:20px;line-height:1.1}.sg small{color:var(--muted);font-size:12.5px;font-weight:800}.week-chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:150px;padding:12px 14px;display:grid;position:relative}.wc-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:110px;display:flex}.wc-bar{border-radius:8px 8px 4px 4px;width:100%;max-width:26px;min-height:4px;transition:height .6s}.wc-col small{color:var(--muted);height:16px;font-size:12px;font-weight:900}.wc-goal{pointer-events:none;border-top:2px dashed #ffc98a;position:absolute;left:14px;right:14px}.mastery{gap:12px;display:grid}.m-row{align-items:center;gap:10px;font-size:14px;display:flex}.m-dot{border-radius:50%;flex:none;width:10px;height:10px}.m-bar{width:38%;display:flex}.ach-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.ach{border:2px solid var(--line);text-align:center;opacity:.5;filter:grayscale();border-radius:16px;justify-items:center;gap:2px;padding:12px;display:grid}.ach.got{opacity:1;filter:none;background:#fffaeb;border-color:#ffd98a}.ach span{font-size:30px}.ach b{font-size:14px}.ach small{color:var(--muted);font-size:12px;font-weight:700}.settings{gap:12px;display:grid}.settings h2{font-size:24px}.set-row{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;font-size:16px;font-weight:800;display:flex}.set-row select{font:inherit;border:2px solid var(--line);background:#fff;border-radius:10px;padding:8px;font-size:14px}.switch{background:var(--line);border-radius:99px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.switch i{background:#fff;border-radius:50%;width:24px;height:24px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.switch.on{background:var(--green)}.switch.on i{left:25px}.stepper{align-items:center;gap:12px;display:flex}.stepper button{border:2px solid var(--line);width:36px;height:36px;color:var(--brand);background:#fff;border-radius:11px;font-size:20px;font-weight:900}.stepper b{text-align:center;min-width:26px;font-size:20px}.friends-hero{text-align:center;color:#fff;background:linear-gradient(135deg,#1cb0f6,#6c5ce7);border-radius:22px;justify-items:center;gap:8px;padding:18px 16px 16px;display:grid;box-shadow:0 5px #4b3fb5}.friends-hero>b{font-family:var(--font-head);font-size:22px;font-weight:600}.friends-hero p{opacity:.95;font-size:14.5px}.friends-hero .btn{margin-top:6px}.fh-avatars{align-items:center;gap:10px;display:flex}.fh-avatars .avatar{border:3px solid #fff;box-shadow:0 4px #00000026}.fh-plus{font-size:28px;font-weight:900}.fh-ghost{border:3px dashed #fffc;border-radius:50%;place-items:center;width:70px;height:70px;font-size:30px;font-weight:900;animation:2s ease-in-out infinite bob;display:grid}.code-card{align-items:center;gap:12px;display:flex}.code{font-family:var(--font-head);letter-spacing:.12em;color:var(--brand);font-size:28px;display:block}.add-friend{gap:8px;display:flex}.add-friend input{min-width:0;font:inherit;border:2px solid var(--line);background:var(--surface-2);text-transform:uppercase;border-radius:14px;outline:none;flex:1;padding:10px 14px;font-size:16px}.add-friend input:focus{background:#fff;border-color:#84d8ff}.friend-quest{gap:12px;display:grid}.friend-quest b{font-size:16px;display:block}.friend-quest small{font-size:13px;font-weight:700}.fq-bar{align-items:center;gap:10px;display:flex}.fq-bar small{font-weight:900}.fq-team{justify-content:space-between;align-items:center;gap:8px;display:flex}.fq-you{align-items:center;gap:8px;font-size:14px;font-weight:900;display:flex}.fq-invite{color:var(--sky-dark);background:#f1fbff;border:2px dashed #84d8ff;border-radius:12px;padding:7px 10px;font-size:13px;font-weight:900}.friend-streaks{grid-template-columns:repeat(4,1fr);justify-items:center;gap:8px;display:grid}.fs-slot{background:0 0;border:0;justify-items:center;gap:4px;padding:0;display:grid}.fs-slot small{color:var(--muted);font-size:13px;font-weight:900}.fs-slot.me small{color:var(--flame)}.fs-slot.empty span{border:2.5px dashed var(--line-2);width:52px;height:52px;color:var(--faint);border-radius:50%;place-items:center;font-size:26px;font-weight:900;display:grid}.coins-sheet{gap:12px;display:grid}.coins-sheet h3{font-size:18px}.coins-hero{justify-items:center;gap:0;display:grid}.coins-hero b{font-family:var(--font-head);color:var(--gold-dark);font-size:42px;line-height:1.1}.coin-spin{animation:1.6s cubic-bezier(.3,1.4,.5,1) both coin-spin}@keyframes coin-spin{0%{transform:rotateY(0)scale(.4)}60%{transform:rotateY(720deg)scale(1.15)}to{transform:rotateY(720deg)scale(1)}}.earn-list{gap:10px;padding:12px 14px;display:grid}.earn-row{align-items:center;gap:10px;font-size:14.5px;display:flex}.earn-row b{color:var(--gold-dark);white-space:nowrap;align-items:center;gap:4px;font-weight:900;display:inline-flex}.earn-ico{text-align:center;width:28px;font-size:22px}.spend-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.spend{border:2px solid var(--line);box-shadow:0 3px 0 var(--line);text-align:center;background:#fff;border-radius:16px;justify-items:center;gap:2px;padding:10px 6px;display:grid}.spend span{font-size:26px}.spend b{font-size:13px;line-height:1.2}.spend small{color:var(--muted);font-size:11.5px;font-weight:800}.home{background:#d0ccf5;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.home-stage{flex:1 1 0;min-height:0;position:relative;overflow:hidden}.home-stage>.walker{position:absolute;inset:0;height:100%!important}.home.dressing .home-stage{flex:0 0 44%}.glass{-webkit-backdrop-filter:blur(10px);background:#ffffffe0;border:2px solid #fffffff2;border-radius:18px;box-shadow:0 4px #2a23501f}.home-top{left:12px;right:12px;top:calc(var(--safe-top) + 6px);z-index:5;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute}.lvl-pill{color:var(--brand);align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.lvl-pill b{font-weight:900}.lvl-bar{background:#e8e5ff;border-radius:99px;width:54px;height:9px;overflow:hidden}.lvl-bar i{background:var(--brand);border-radius:99px;height:100%;display:block}.stat-pills{align-items:center;gap:2px;padding:2px 8px;display:flex}.stat-pills .stat{font-size:15px}.home-caption{left:12px;right:12px;top:calc(var(--safe-top) + 62px);z-index:5;text-align:center;padding:10px 14px;animation-delay:.1s;position:absolute}.home-caption b{font-family:var(--font-head);color:var(--ink);font-size:18px;font-weight:600;display:block}.home-caption span{color:var(--muted);font-size:13px;font-weight:800}.home-side{right:12px;top:calc(var(--safe-top) + 136px);z-index:5;gap:10px;display:grid;position:absolute}.side-badge{width:50px;height:50px;color:var(--brand);background:#ffffffeb;border:2px solid #fff;border-radius:16px;place-items:center;font-size:25px;transition:transform 80ms;display:grid;position:relative;box-shadow:0 4px #2a235029}.side-badge:active{transform:translateY(3px);box-shadow:0 1px #2a235029}.side-badge.pro{color:#fff;background:linear-gradient(135deg,#7b5cff,#ff5ec4 60%,#ffb14a);border:0;font-size:13px;font-style:italic;font-weight:900;box-shadow:0 4px #5a3fd6}.side-badge.ping:after{content:"";background:var(--red);border:2.5px solid #fff;border-radius:50%;width:15px;height:15px;animation:1.6s ease-in-out infinite ping;position:absolute;top:-5px;right:-5px}@keyframes ping{50%{transform:scale(1.25)}}.home-bottom{z-index:5;gap:10px;display:grid;position:absolute;bottom:12px;left:12px;right:12px}.goal-pill{color:var(--ink);align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;font-weight:900;display:flex}.goal-pill>span{white-space:nowrap}.goal-pill small{color:var(--muted);white-space:nowrap;font-weight:900}.home-cta{min-height:64px;box-shadow:0 5px 0 var(--b-dark), 0 12px 24px -8px #2a235073;border-radius:18px;font-size:17px;animation:2.4s ease-in-out infinite cta-breathe}.home-cta:active:not(:disabled){box-shadow:0 0 0 var(--b-dark);animation:none;transform:translateY(5px)}.cta-text{gap:2px;display:grid}.cta-text small{letter-spacing:.02em;text-transform:none;opacity:.85;font-size:12px;font-weight:800}@keyframes cta-breathe{50%{transform:scale(1.025)}}.closet-panel{z-index:6;background:#fff;border-radius:24px 24px 0 0;flex-direction:column;flex:1;min-height:0;margin-top:-22px;animation:.32s cubic-bezier(.2,.9,.3,1.1) rise;display:flex;position:relative;box-shadow:0 -8px 24px -12px #2a235059}.closet-head{align-items:center;gap:8px;padding:14px 10px 6px 18px;display:flex}.closet-head h2{flex:1;font-size:22px}.closet-seg{margin:0 14px 8px}.closet-scroll{padding:4px 14px 16px}.look-editor{gap:16px;padding-top:4px;display:grid}.look-block{gap:8px;display:grid}.look-block>b{font-size:15px;font-weight:900}.skin-row{gap:10px;display:flex}.skin{width:48px;height:48px;box-shadow:0 0 0 2px var(--line), 0 3px 0 2px var(--line);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;transition:transform .1s;display:grid}.skin.on{box-shadow:0 0 0 3px var(--sky), 0 3px 0 3px var(--sky-dark);transform:scale(1.08)}.skin svg{filter:drop-shadow(0 1px 1px #0006)}.path-screen{flex-direction:column;flex:1;min-height:0;display:flex}.home-scroll{padding-bottom:24px}.learn{min-height:0;padding-top:var(--safe-top);flex-direction:column;flex:1;display:flex}.learn-seg{background:#fff;flex:none;padding:6px 14px 8px}.practice-stats b{font-family:var(--font-head);font-size:20px;font-weight:600}.unit{margin-top:22px}.unit-banner{z-index:6;color:#fff;border-radius:18px;align-items:center;gap:10px;margin:0 16px;padding:12px 12px 12px 16px;display:flex;position:sticky;top:0}.unit-banner small{letter-spacing:.06em;text-transform:uppercase;opacity:.9;align-items:center;font-size:12px;font-weight:900;display:flex}.unit-banner b{font-family:var(--font-head);font-size:21px;font-weight:600;line-height:1.15;display:block}.unit-domain{opacity:.9;font-size:12.5px;font-weight:800}.guide-btn{color:#fff;background:#ffffff1f;border:2px solid #ffffff73;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.path{flex-direction:column;align-items:center;gap:18px;padding:30px 0 8px;display:flex}.node-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.node{background:var(--c);width:72px;height:66px;box-shadow:0 7px 0 var(--cd);color:#fff;border:0;border-radius:50%;place-items:center;transition:transform 60ms,box-shadow 60ms;display:grid;position:relative}.node:active{box-shadow:0 2px 0 var(--cd);transform:translateY(5px)}.node>svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.node.locked{color:#afafaf;background:#e5e5e5;box-shadow:0 7px #c9c9c9}.node.locked svg path,.node.locked svg rect{fill:#c9c9c9}.node.current{animation:1.8s infinite node-pulse}@keyframes node-pulse{0%{outline:0 solid #6c5ce700}50%{outline:8px solid color-mix(in srgb, var(--c) 25%, transparent)}to{outline:14px solid #0000}}.node.current{outline-offset:4px}.node.done{background:var(--c)}.node-crown{background:var(--gold);color:#6a4300;border:2.5px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:grid;position:absolute;bottom:-6px;right:-4px}.node.review{width:80px;height:72px}.start-bubble{white-space:nowrap;border:2px solid var(--line);color:var(--brand);letter-spacing:.06em;z-index:2;background:#fff;border-radius:12px;padding:8px 12px;font-size:14px;font-weight:900;position:absolute;bottom:calc(100% + 10px)}.start-bubble:after{content:"";border-right:2px solid var(--line);border-bottom:2px solid var(--line);background:#fff;width:14px;height:14px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.chest-node{background:0 0;border:0;padding:0;position:relative}.chest-node.locked{filter:grayscale()opacity(.55)}.chest-node.current{animation:2s ease-in-out infinite bob}.chest-ring{border:3px dashed #ffc800;border-radius:50%;animation:8s linear infinite spin;position:absolute;inset:-6px}.node-pop{z-index:20;background:var(--c);color:#fff;width:270px;box-shadow:0 5px 0 var(--cd);border-radius:18px;gap:4px;padding:14px;display:grid;position:absolute;top:calc(100% + 16px)}.node-pop:before{content:"";background:var(--c);border-radius:3px;width:16px;height:16px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.node-pop b{font-size:17px}.node-pop span{opacity:.92;margin-bottom:8px;font-size:14px}.node-pop .btn.white{--b-ink:var(--c);border:0;box-shadow:0 4px #00000026}.path-end{margin-top:30px}.path-end b{font-size:16px}.chest-open{text-align:center;justify-items:center;gap:10px;display:grid}.chest-anim{margin:30px 0 34px;animation:.5s cubic-bezier(.2,.9,.3,1.3) both pop;transform:scale(2.4)}.chest-open .btn{margin-top:6px}.guide{gap:10px;display:grid}.guide h2{font-size:24px}.guide ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.guide li{background:var(--surface-2);border-left:4px solid var(--brand);border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.45}.home.dressing .walker-char{bottom:30px!important}.lesson{padding-top:var(--safe-top)}.lesson-top{align-items:center;gap:10px;padding:10px 14px 8px 6px;display:flex}.lesson-bar{flex:1;display:flex;position:relative}.combo-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--flame);white-space:nowrap;font-size:11px;font-weight:900;animation:.35s both pop;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.stat.timer{color:var(--sky-dark);min-width:56px}.stat.timer.low{color:var(--red);animation:1s infinite pulse-text}@keyframes pulse-text{50%{opacity:.5}}.lesson-body{flex-direction:column;gap:16px;padding:8px 16px 20px;display:flex}.prev-mistake{letter-spacing:.06em;text-transform:uppercase;color:var(--flame);font-size:13px;font-weight:900}.q-body{color:var(--ink);padding:4px 2px;font-size:19px;font-weight:700;line-height:1.6}.q-body.math{white-space:pre-line;font-family:var(--font-head);text-align:center;border:2px solid var(--line);background:var(--surface-2);border-radius:18px;padding:18px 12px;font-size:24px;font-weight:500;line-height:1.5}.q-body.english{background:#fffdf5;border:2px solid #f1e9c9;border-radius:16px;padding:14px 16px;font-size:17.5px}.ul{background:linear-gradient(#0000 62%,#ffe58a 62%);border-bottom:2.5px solid #3c3c3c;padding:0 1px;text-decoration:none}.stim{border:2px solid var(--line);border-radius:16px;overflow:hidden}.stim-head{background:var(--surface-2);text-align:left;width:100%;color:var(--ink-2);border:0;justify-content:space-between;gap:8px;padding:10px 14px;font-size:13.5px;font-weight:900;display:flex}.stim-body{gap:10px;max-height:280px;padding:12px 14px 14px;display:grid;overflow-y:auto}.stim-body p{color:var(--ink-2);font-size:15.5px;font-weight:600;line-height:1.6}.stim-table{overflow-x:auto}.stim-table table{border-collapse:collapse;width:100%;font-size:14px}.stim-table th{background:var(--brand-soft);color:var(--brand-ink);text-align:center;padding:8px;font-size:12.5px;font-weight:900}.stim-table td{text-align:center;border-top:1.5px solid var(--line);padding:7px 8px;font-weight:800}.lesson-foot{padding:14px 16px calc(16px + var(--safe-bottom));border-top:2px solid var(--line);background:#fff;gap:6px;display:grid}.feedback{padding:16px 16px calc(16px + var(--safe-bottom));gap:10px;max-height:58%;animation:.42s cubic-bezier(.2,1.3,.4,1) fb-rise;display:grid;overflow-y:auto}.feedback.ok{background:var(--green-soft);color:var(--green-ink)}.feedback.bad{background:var(--red-soft);color:var(--red-ink)}.fb-head{align-items:center;gap:10px;display:flex}.fb-head b{font-family:var(--font-head);font-size:24px;font-weight:700}.fb-ico{background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.why{color:inherit;text-transform:uppercase;letter-spacing:.06em;background:0 0;border:0;margin-left:auto;font-size:13px;font-weight:900}.fb-answer{font-size:15.5px}.fb-explain{color:var(--ink-2);background:#fff9;border-radius:12px;padding:10px 12px;font-size:15px;font-weight:700}.fix-intro{flex-direction:column-reverse;flex:1;justify-content:center;gap:30px;padding:16px;display:flex}.quit{text-align:center;gap:10px;display:grid}.quit h2{margin-top:6px;font-size:24px}.complete{padding-top:var(--safe-top)}.confetti-canvas{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.complete-body{flex-direction:column;flex:1;align-items:center;gap:14px;padding:16px;display:flex;overflow-y:auto}.complete-title{color:var(--gold-dark);text-align:center;margin-top:6px;font-size:34px}.complete-sub{text-align:center;color:var(--ink-2);font-size:16px}.stat-tiles{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.tile{background:#fff;border:2.5px solid;border-radius:16px;overflow:hidden}.tile-label{color:#fff;text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:4px 2px;font-size:11.5px;font-weight:900}.tile-val{justify-content:center;align-items:center;gap:5px;padding:12px 4px;font-size:19px;font-weight:900;display:flex}.levelup{color:#fff;padding-top:var(--safe-top);background:radial-gradient(120% 70% at 50% 20%,#7b6cff 0%,#4b3fb5 55%,#2a2170 100%)}.levelup-body{text-align:center;flex-direction:column;flex:1;align-items:center;gap:12px;padding:30px 18px 10px;display:flex;overflow-y:auto}.levelup h1{font-size:36px}.levelup p{color:#e4e0ff;font-size:16px}.level-badge{color:#6a4300;background:linear-gradient(145deg,#ffe066,#ffb800);border-radius:36px;align-content:center;place-items:center;width:130px;height:130px;display:grid;transform:rotate(-6deg);box-shadow:0 8px #c98a00,0 20px 40px -10px #0006}.level-badge small{letter-spacing:.15em;font-size:12px;font-weight:900}.level-badge b{font-family:var(--font-head);font-size:64px;line-height:1}.unlock-list{gap:10px;width:100%;margin-top:8px;display:grid}.unlock-row{text-align:left;background:#ffffff1f;border-radius:16px;align-items:center;gap:12px;padding:10px;display:flex}.unlock-row b{font-size:16px;display:block}.unlock-row small{color:#d9d4ff;font-size:13px}.unlock-thumb{background-position:50%;background-size:cover;border-radius:12px;flex:none;place-items:center;width:58px;height:58px;font-size:28px;display:grid;position:relative;overflow:hidden}.unlock-thumb img{width:auto;max-width:none;height:190%;position:absolute;top:4%;left:50%;transform:translate(-50%)}.quest-update{padding:calc(var(--safe-top) + 16px) 16px 16px;flex-direction:column;flex:1;justify-content:center;gap:18px;display:flex}.quest-update h1{text-align:center;font-size:28px}.qu-row{align-items:center;gap:12px;display:flex}.qu-row b{font-size:16px}.qu-ico{font-size:28px}@keyframes fb-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fb-head{position:relative}.fb-title{transform-origin:0;animation:.5s cubic-bezier(.2,1.6,.4,1) 80ms both fb-title}@keyframes fb-title{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.fb-ico{animation:.5s cubic-bezier(.2,1.5,.4,1) both fb-ico}@keyframes fb-ico{0%{transform:scale(0)rotate(-180deg)}to{transform:scale(1)rotate(0)}}.feedback.ok .fb-ico{color:var(--green);box-shadow:0 3px #58a70059}.feedback.bad .fb-ico{color:var(--red);box-shadow:0 3px #ea2b2b4d}.fb-buddy{flex:none;margin:-4px 0 -4px 4px}.fb-buddy .avatar{border:3px solid #fff;box-shadow:0 4px #0000001f}.fb-buddy.happy{animation:.9s cubic-bezier(.3,1.4,.5,1) both buddy-jump}.fb-buddy.sad{animation:.6s both buddy-sad}@keyframes buddy-jump{0%{opacity:0;transform:translateY(40px)scale(.6)}35%{opacity:1;transform:translateY(-22px)rotate(-8deg)scale(1.1)}60%{transform:translateY(0)rotate(4deg)}80%{transform:translateY(-8px)rotate(0)}to{transform:translateY(0)}}@keyframes buddy-sad{0%{opacity:0;transform:translateY(40px)}50%{opacity:1;transform:translateY(0)rotate(-6deg)}70%{transform:rotate(5deg)}to{transform:rotate(0)}}.feedback.ok .why{color:var(--green-ink)}.choice.right{animation:.5s cubic-bezier(.2,1.6,.4,1) choice-win}@keyframes choice-win{40%{transform:scale(1.05)}to{transform:scale(1)}}.choice.wrong{animation:.45s shake}.lesson-bar.hot .bar>i{box-shadow:0 0 12px #ff9600b3;background:linear-gradient(90deg,#ffc800,#ff9600,#ff4b4b)!important}.lesson-bar.hot .bar>i:before{content:"";border-radius:inherit;background:linear-gradient(100deg,#0000 20%,#fff9 45%,#0000 70%) -100% 0/60% 100% no-repeat;animation:1.2s linear infinite shine;position:absolute;inset:0}@keyframes shine{to{background-position:250% 0}}.combo-tag{font-size:12px;animation:.45s cubic-bezier(.2,1.6,.4,1) both pop}.combo-flash{z-index:60;pointer-events:none;justify-items:center;gap:0;animation:1.7s cubic-bezier(.2,1.4,.4,1) both combo-in;display:grid;position:absolute;top:30%;left:0;right:0}.combo-flash b{font-family:var(--font-head);color:var(--flame);white-space:nowrap;text-shadow:0 3px #fff,0 -3px #fff,3px 0 #fff,-3px 0 #fff,0 6px #e07b00,0 12px 24px #ff960073;font-size:34px;font-weight:700}.combo-flash.n8 b,.combo-flash.n10 b{color:#ff4b4b;font-size:38px}.cf-fire{filter:drop-shadow(0 8px 12px #ff780073);font-size:76px;line-height:1;animation:1s cubic-bezier(.2,1.6,.4,1) both fire-pop}@keyframes fire-pop{0%{transform:scale(0)rotate(-30deg)}50%{transform:scale(1.35)rotate(10deg)}to{transform:scale(1)rotate(0)}}@keyframes combo-in{0%{opacity:0;transform:translateY(30px)scale(.4)}15%{opacity:1;transform:translateY(0)scale(1.08)}25%{transform:scale(1)}80%{opacity:1;transform:translateY(-6px)}to{opacity:0;transform:translateY(-50px)}}.combo-glow{z-index:59;pointer-events:none;animation:1.4s both glow;position:absolute;inset:0;box-shadow:inset 0 0 70px 10px #ff96008c}@keyframes glow{0%{opacity:0}20%{opacity:1}to{opacity:0}}.complete-title{animation:.8s cubic-bezier(.2,1.6,.4,1) both title-bounce!important}@keyframes title-bounce{0%{opacity:0;transform:scale(.3)rotate(-6deg)}60%{opacity:1;transform:scale(1.12)rotate(2deg)}to{transform:scale(1)rotate(0)}}.tile{animation:.55s cubic-bezier(.2,1.6,.4,1) both tile-pop!important}@keyframes tile-pop{0%{opacity:0;transform:translateY(30px)scale(.5)}to{opacity:1;transform:none}}.level-badge{animation:1s cubic-bezier(.2,1.4,.4,1) both badge-spin}@keyframes badge-spin{0%{transform:rotate(-200deg)scale(0)}to{transform:rotate(-6deg)scale(1)}}.tabbar{border-top:2px solid var(--line);padding:6px 4px calc(6px + var(--safe-bottom));z-index:10;background:#fff;flex:none;grid-template-columns:repeat(5,1fr);display:grid;position:relative}.tabbar button{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);background:0 0;border:0;border-radius:14px;justify-items:center;gap:1px;padding:4px 0;font-size:10.5px;font-weight:900;display:grid}.tabbar .tab-ico{border:2px solid #0000;border-radius:12px;place-items:center;width:46px;height:36px;display:grid}.tabbar button.on{color:var(--brand)}.tabbar button.on .tab-ico{background:var(--brand-soft);border-color:#d6d0ff}.tabbar button:active .tab-ico{transform:scale(.92)}.topstats{border-bottom:2px solid var(--line);z-index:8;background:#fff;flex:none;justify-content:space-between;align-items:center;padding:6px 14px 8px;display:flex}.section-chip{border:2px solid var(--line);letter-spacing:.06em;color:var(--c);box-shadow:0 3px 0 var(--line);background:#fff;border-radius:12px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:900;display:inline-flex}.section-chip span{font-size:17px}.screen-head{padding:calc(var(--safe-top) + 6px) 16px 10px;border-bottom:2px solid var(--line);background:#fff;flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.screen-head h1{font-size:24px}.hearts-panel{gap:12px;display:grid}.hearts-panel h2{text-align:center;font-size:23px}.hearts-hero{place-items:center;padding-top:4px;display:grid}.hearts-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.hearts-line .muted{text-align:center;width:100%;margin-top:4px;font-size:13.5px}.hearts-options{gap:10px;margin-top:4px;display:grid}.h-opt{border:2px solid var(--line);text-align:left;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.h-opt:disabled{opacity:.5}.h-opt b{font-size:15.5px;display:block}.h-opt small{color:var(--muted);font-size:13px}.h-opt .price{color:var(--gold-dark);align-items:center;gap:4px;font-weight:900;display:inline-flex}.h-opt.pro{background:linear-gradient(135deg,#f4efff,#ffeefa);border-color:#d8ccff}.h-ico{background:var(--surface-2);width:40px;height:40px;color:var(--brand);border-radius:12px;flex:none;place-items:center;font-size:22px;display:grid}.streak-view{padding:calc(var(--safe-top) + 10px) 16px 0;flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.streak-top{text-align:center;justify-items:center;gap:2px;padding-top:10px;display:grid}.streak-flame{filter:grayscale();transition:transform .5s cubic-bezier(.2,.9,.3,1.4),filter .5s;transform:scale(.8)}.streak-flame.lit{filter:none;transform:scale(1)}.streak-num{font-family:var(--font-head);color:var(--flame);font-size:76px;font-weight:700;line-height:1;animation:.5s both pop}.streak-label{color:var(--flame);margin-top:-4px;font-size:20px;font-weight:900}.streak-top h2{margin-top:12px;font-size:24px}.week{grid-template-columns:repeat(7,1fr);gap:4px;padding:14px 10px;display:grid}.wk{color:var(--faint);justify-items:center;gap:6px;font-size:13px;font-weight:900;display:grid}.wk i{background:var(--line);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-style:normal;font-weight:900;display:grid}.wk.done i{background:var(--flame)}.wk.today span{color:var(--flame)}.wk.today i{box-shadow:0 0 0 3px #ffe0b3}.freeze-card{align-items:center;gap:12px;padding:12px 14px;display:flex}.freeze-card b{font-size:15px}.streak-foot{padding:8px 0 calc(16px + var(--safe-bottom));background:#fff;margin-top:auto;position:sticky;bottom:0}.rewards{gap:12px;display:grid}.rewards h2{text-align:center;font-size:24px}.rewards-hero{text-align:center;font-size:56px;animation:2s ease-in-out infinite bob}.rewards-hero.opening{animation:.7s both gift-wobble}.rewards-hero.opened{font-size:64px;animation:.6s cubic-bezier(.2,1.6,.4,1) both gift-open}@keyframes gift-wobble{0%,to{transform:rotate(0)scale(1)}20%{transform:rotate(-14deg)scale(1.1)}40%{transform:rotate(12deg)scale(1.15)}60%{transform:rotate(-10deg)scale(1.2)}80%{transform:rotate(8deg)scale(1.3)}}@keyframes gift-open{0%{transform:scale(.2)}to{transform:scale(1)}}.reward-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.reward{border:2px solid var(--line);background:#fff;border-radius:14px;justify-items:center;gap:2px;padding:8px 4px;display:grid;position:relative}.reward small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.reward-ico{font-size:26px}.reward b{font-size:14px}.reward.got{opacity:.45}.reward.got i{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-style:normal;display:grid;position:absolute;top:-6px;right:-6px}.reward.now{border-color:var(--gold);box-shadow:0 3px 0 var(--gold-dark);background:#fff8d6;animation:1.6s ease-in-out infinite bob}.reward.mega{background:linear-gradient(135deg,#fff5d1,#ffe6f6);grid-column:span 2}.claimed{text-align:center;background:var(--green-soft);color:var(--green-ink);border-radius:14px;padding:10px;font-size:16px}
