@font-face{font-family:Noto Sans Bengali;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/noto-sans-bengali-v33-DeF8kf4m.woff2)format("woff2");unicode-range:U+951-952,U+964-965,U+980-9FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1}:root{--font-sans:"Noto Sans Bengali", system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--tracking-label:.16em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--r-sm:7px;--r-md:10px;--r-lg:16px;--r-pill:999px;--bg:#faf8f3;--surface:#fff;--surface-2:#f3efe6;--border:#e8e2d6;--border-strong:#d7cfbe;--fg:#23223f;--fg-muted:#5c586e;--fg-subtle:#928d9c;--brand:#443dbf;--brand-hover:#362fa6;--brand-tint:#ecebfa;--brand-border:#cdcbf3;--on-brand:#fff;--accent:#c05a34;--accent-soft:#f3e0d5;--success:#1f7a52;--success-bg:#e6f4ec;--success-border:#bfe3cd;--danger:#c8362a;--danger-bg:#fbeae7;--danger-border:#f0c6bf;--warning:#a6690e;--warning-bg:#fbf1de;--warning-border:#f0dcae;--heart:#d6456b;--focus:var(--brand);--shadow-sm:0 1px 2px #23223f0d;--shadow-md:0 6px 20px -8px #23223f24, 0 2px 6px -3px #23223f14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:17px / 1.55 var(--font-sans);color:var(--fg);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=640px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16151d;--surface:#1e1d27;--surface-2:#262530;--border:#322f3d;--border-strong:#423f4f;--fg:#f1efe9;--fg-muted:#a9a5b6;--fg-subtle:#7c7889;--brand:#8f88f7;--brand-hover:#a9a3f9;--brand-tint:#8f88f729;--brand-border:#8f88f770;--on-brand:#16151d;--accent:#e08a5f;--accent-soft:#e08a5f29;--success:#43d191;--success-bg:#43d19124;--success-border:#43d19166;--danger:#f4796c;--danger-bg:#f4796c24;--danger-border:#f4796c66;--warning:#f5c060;--warning-bg:#f5c06021;--warning-border:#f5c06061;--heart:#ff6d92;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 8px 24px -10px #0009, 0 2px 6px -3px #0006}}:root[data-theme=dark]{--bg:#16151d;--surface:#1e1d27;--surface-2:#262530;--border:#322f3d;--border-strong:#423f4f;--fg:#f1efe9;--fg-muted:#a9a5b6;--fg-subtle:#7c7889;--brand:#8f88f7;--brand-hover:#a9a3f9;--brand-tint:#8f88f729;--brand-border:#8f88f770;--on-brand:#16151d;--accent:#e08a5f;--accent-soft:#e08a5f29;--success:#43d191;--success-bg:#43d19124;--success-border:#43d19166;--danger:#f4796c;--danger-bg:#f4796c24;--danger-border:#f4796c66;--warning:#f5c060;--warning-bg:#f5c06021;--warning-border:#f5c06061;--heart:#ff6d92;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 8px 24px -10px #0009, 0 2px 6px -3px #0006}*{box-sizing:border-box}body{background:var(--bg);min-height:100svh;color:var(--fg);margin:0}h1,h2,h3,h4{color:var(--fg);letter-spacing:-.015em;margin:0;font-weight:700;line-height:1.15}h1{letter-spacing:-.03em;font-size:2.4rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1rem}p{margin:0}a{color:var(--brand)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}code{font-family:var(--font-mono);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg);padding:.1em .35em;font-size:.9em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{max-width:660px;padding:var(--space-6) var(--space-5) calc(var(--space-6) * 2);font-family:var(--font-sans);margin:0 auto}.app__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.app__header h1{margin:0}.app__header h1,.onboarding h2,.review h2,.vocab__head h2,.curriculum__level h3{padding-top:.7rem;position:relative}.app__header h1:before,.onboarding h2:before,.review h2:before,.vocab__head h2:before,.curriculum__level h3:before{content:"";top:0;background:var(--accent);border-radius:3px;width:2.1rem;height:3px;position:absolute;inset-inline-start:0}.app__header h1:before{width:2.6rem}.app__actions{align-items:center;gap:var(--space-2);display:flex}.app__lang,.app__theme{padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg-muted);cursor:pointer;font-size:.9rem;line-height:1.4;transition:border-color .15s,color .15s,background .15s}.app__lang:hover,.app__theme:hover{border-color:var(--brand-border);background:var(--brand-tint);color:var(--brand)}.app__theme{min-width:2.6rem}.app__tagline{color:var(--fg-muted);max-width:46ch;margin:var(--space-3) 0 var(--space-6)}.offline__badge{margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border-radius:var(--r-md);border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning);font-weight:600;display:block}.onboarding{margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--brand-border);border-radius:var(--r-lg);background:var(--brand-tint)}.onboarding h2{margin:0 0 var(--space-2);font-size:1.25rem}.onboarding p{margin:var(--space-1) 0;color:var(--fg-muted)}.onboarding__placement{color:var(--fg-subtle);font-size:.9rem}.onboarding__dismiss{margin-top:var(--space-4);padding:var(--space-2) var(--space-5);border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);cursor:pointer;border:none;font-weight:600;transition:background .15s}.onboarding__dismiss:hover{background:var(--brand-hover)}.lesson__offline{color:var(--warning);background:var(--warning-bg);padding:var(--space-2) var(--space-3);border-radius:var(--r-md)}.lesson__prompt:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.app__badge{padding:var(--space-1) var(--space-3);border-radius:var(--r-sm);font-weight:600;display:inline-block}.app__badge--loading{background:var(--surface-2);color:var(--fg-muted)}.app__badge--ok{background:var(--success-bg);color:var(--success)}.app__badge--error{background:var(--danger-bg);color:var(--danger)}.auth{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.auth__tabs{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.auth__tabs button{padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-muted);cursor:pointer;flex:1;font-weight:600;transition:background .15s,border-color .15s,color .15s}.auth__tabs button:hover[aria-selected=false]{border-color:var(--brand-border);color:var(--brand)}.auth__tabs button[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.auth__form{gap:var(--space-3);flex-direction:column;display:flex}.auth__form label{gap:var(--space-1);color:var(--fg-muted);flex-direction:column;font-size:.9rem;display:flex}.auth__form input{padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--fg);font-size:1rem;transition:border-color .15s,box-shadow .15s}.auth__form input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.auth__submit{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);cursor:pointer;border:none;font-size:1rem;font-weight:600;transition:background .15s}.auth__submit:hover:not(:disabled){background:var(--brand-hover)}.auth__submit:disabled{opacity:.6;cursor:progress}.auth__error{color:var(--danger);margin:0;font-size:.9rem}.auth__roles{color:var(--fg-subtle);text-transform:lowercase;font-size:.85rem}.auth__guest{align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);flex-direction:column;display:flex}.auth__guest-sep{color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.auth__guest-cta{padding:var(--space-2) var(--space-4);border:1px solid var(--brand-border);border-radius:var(--r-pill);color:var(--brand);cursor:pointer;background:0 0;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s}.auth__guest-cta:hover:not(:disabled){background:var(--brand-tint);border-color:var(--brand)}.auth__guest-cta:disabled{opacity:.6;cursor:progress}.guest-banner{margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--brand-border);border-radius:var(--r-lg);background:var(--brand-tint)}.guest-banner__lead{color:var(--fg-muted);margin:0}.guest-banner__cta{margin-top:var(--space-4);padding:var(--space-2) var(--space-5);border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);cursor:pointer;border:none;font-weight:600;transition:background .15s}.guest-banner__cta:hover{background:var(--brand-hover)}.guest-banner__form{margin-top:var(--space-4)}.stats{gap:var(--space-5);margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.stats__item{color:var(--fg);font-weight:600}.review{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border:1px solid var(--warning-border);border-radius:var(--r-lg);background:var(--warning-bg)}.review h2{margin:0 0 var(--space-1);font-size:1.25rem}.review__count{margin:0 0 var(--space-3);color:var(--warning);font-size:.9rem}.review__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.review__card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.review__prompt{min-width:12ch;color:var(--fg);flex:1}.review__actions{gap:var(--space-2);display:flex}.review__knew,.review__forgot{padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);border:1px solid var(--border-strong);cursor:pointer;font-size:.9rem;font-weight:600;transition:filter .15s,border-color .15s}.review__knew:hover,.review__forgot:hover{filter:brightness(.97)}.review__knew{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.review__forgot{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.curriculum{margin-top:var(--space-6)}.curriculum__level{margin-bottom:var(--space-6)}.curriculum__level h3{margin:0 0 var(--space-3)}.curriculum__unit{margin-bottom:var(--space-4)}.curriculum__unit h4{margin:var(--space-3) 0 var(--space-2);color:var(--fg-muted);font-weight:600}.curriculum__unit ul{flex-direction:column;gap:2px;margin:0;padding-left:0;list-style:none;display:flex}.curriculum__unit li{padding:0}.curriculum__lesson{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);margin-inline:calc(var(--space-3) * -1);border-radius:var(--r-md);color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;font-size:1rem;transition:background .15s,color .15s;display:flex}.curriculum__lesson:before{content:"";border:1.5px solid var(--brand-border);background:var(--surface);border-radius:50%;flex:none;width:7px;height:7px}.curriculum__lesson:hover:not(:disabled){background:var(--brand-tint);color:var(--brand)}.curriculum__lesson:hover:not(:disabled):before{border-color:var(--brand);background:var(--brand)}.curriculum__lesson--done{color:var(--success)}.curriculum__lesson--done:before{content:"✓";width:auto;height:auto;color:var(--success);background:0 0;border:none;font-size:.85rem;font-weight:700;line-height:1}.curriculum__lesson:disabled{color:var(--fg-subtle);cursor:not-allowed}.curriculum__lesson:disabled:before{border-color:var(--border-strong);background:0 0}.vocab{margin-top:var(--space-6)}.vocab__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.vocab__head h2{margin:0}.vocab__toggle{padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg-muted);cursor:pointer;font-size:.9rem;transition:border-color .15s,color .15s,background .15s}.vocab__toggle:hover{border-color:var(--brand-border);background:var(--brand-tint);color:var(--brand)}.vocab__subtitle{color:var(--fg-muted);margin:var(--space-2) 0 var(--space-3)}.vocab__levels{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.vocab__level{padding:var(--space-1) var(--space-4);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--fg-muted);cursor:pointer;font-weight:600;transition:border-color .15s,color .15s,background .15s}.vocab__level:hover:not(.vocab__level--active){border-color:var(--brand-border);color:var(--brand)}.vocab__level--active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.vocab__search{width:100%;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--fg);margin-bottom:var(--space-4);font-size:1rem;transition:border-color .15s,box-shadow .15s}.vocab__search:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.vocab__count{color:var(--fg-subtle);margin:0 0 var(--space-2);font-size:.85rem}.vocab__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.vocab__card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);transition:border-color .15s,box-shadow .15s}.vocab__card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.vocab__term{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.vocab__word{color:var(--fg);font-size:1.05rem;font-weight:600}.vocab__pos{color:var(--fg-subtle);font-size:.85rem;font-style:italic}.vocab__sense{color:var(--fg-subtle);font-size:.85rem}.vocab__gloss{color:var(--fg);margin-top:var(--space-1)}.vocab__example{margin-top:var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--accent-soft);flex-direction:column;gap:2px;display:flex}.vocab__example-en{color:var(--fg-muted);font-size:.9rem;font-style:italic}.vocab__example-bn{color:var(--fg-subtle);font-size:.9rem}.vocab__pager{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-4);display:flex}.vocab__pager-btn{padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg-muted);cursor:pointer;font-size:.9rem;transition:border-color .15s,color .15s,background .15s}.vocab__pager-btn:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-tint);color:var(--brand)}.vocab__pager-btn:disabled{opacity:.5;cursor:not-allowed}.vocab__pager-status{color:var(--fg-subtle);font-size:.85rem}.lesson{margin-top:var(--space-6);padding:var(--space-6) var(--space-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-md)}.lesson__bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.lesson__exit{border:1px solid var(--border-strong);border-radius:var(--r-pill);color:var(--fg-muted);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0;transition:border-color .15s,color .15s}.lesson__exit:hover{border-color:var(--brand-border);color:var(--brand)}.lesson__progress{color:var(--fg-muted);font-size:.9rem}.lesson__hearts{color:var(--heart);letter-spacing:1px}.lesson__prompt{margin:0 0 var(--space-5);letter-spacing:-.01em;color:var(--fg);font-size:1.5rem;font-weight:600;line-height:1.35}.lesson__options{margin:0 0 var(--space-4);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.lesson__option{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--fg);cursor:pointer;text-align:left;font-size:1rem;transition:border-color .15s,background .15s}.lesson__option:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-tint)}.lesson__option--selected{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.lesson__option:disabled{cursor:default;opacity:.8}.lesson__input{width:100%;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);margin-bottom:var(--space-4);background:var(--surface-2);color:var(--fg);font-size:1rem;transition:border-color .15s,box-shadow .15s}.lesson__input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.lesson__wordbank{margin-bottom:var(--space-4)}.lesson__sentence{min-height:3rem;padding:var(--space-2);margin-bottom:var(--space-3);border:1px dashed var(--brand-border);border-radius:var(--r-md);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.lesson__sentence-hint{color:var(--fg-subtle);font-size:.9rem}.lesson__bank{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.lesson__token{padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--fg);cursor:pointer;box-shadow:var(--shadow-sm);font-size:1rem;transition:border-color .15s,background .15s,transform .1s}.lesson__token:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-tint);transform:translateY(-1px)}.lesson__token--placed{border-color:var(--brand);background:var(--brand-tint);box-shadow:none}.lesson__token:disabled{cursor:default;opacity:.8}.lesson__feedback{padding:var(--space-3) var(--space-4);border-radius:var(--r-md);margin-bottom:var(--space-4)}.lesson__feedback--ok{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.lesson__feedback--no{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.lesson__feedback p{margin:var(--space-1) 0 0}.lesson__check{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--r-md);background:var(--success);color:#fff;letter-spacing:.01em;cursor:pointer;border:none;font-size:1.05rem;font-weight:700;transition:filter .15s,opacity .15s}.lesson__check:hover:not(:disabled){filter:brightness(1.07)}.lesson__check:disabled{opacity:.45;cursor:default}.lesson__status{color:var(--fg-muted)}.lesson__score,.lesson__xp,.lesson__hearts{margin:var(--space-1) 0}.hero{margin-top:var(--space-5);padding:var(--space-5) var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.hero__eyebrow{margin:0 0 var(--space-1);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-subtle);font-size:.75rem;font-weight:600}.hero__head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.hero__title{letter-spacing:-.02em;font-size:1.7rem}.hero__level{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--brand-border);border-radius:var(--r-pill);background:var(--brand-tint);color:var(--brand);cursor:pointer;font-size:.95rem;font-weight:700;transition:border-color .15s,background .15s;display:inline-flex}.hero__level:hover{border-color:var(--brand)}.hero__level-caret{opacity:.7;font-size:.7rem}.hero__copy{margin:var(--space-2) 0 0;color:var(--fg-muted);max-width:34rem}.hero__picker{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=560px){.hero__picker{grid-template-columns:repeat(2,1fr)}}.hero__band{padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--fg);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;transition:border-color .15s,background .15s;display:flex}.hero__band:hover:not(:disabled):not(.hero__band--active){border-color:var(--brand-border);background:var(--brand-tint)}.hero__band--active{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.hero__band-code{font-size:1.05rem;font-weight:700}.hero__band-name{opacity:.75;font-size:.8rem}.hero__actions{align-items:center;gap:var(--space-4);margin-top:var(--space-5);display:flex}.hero__start{padding:var(--space-3) var(--space-6);border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);letter-spacing:.01em;cursor:pointer;box-shadow:var(--shadow-sm);border:none;font-size:1.1rem;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s}.hero__start:hover{background:var(--brand-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.hero__start:active{transform:translateY(0)}.hero__streak{color:var(--fg-muted);font-weight:600}.practice{margin-top:var(--space-6);padding:var(--space-6) var(--space-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-md)}.practice__bar{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.practice__matra{flex:1;gap:4px;display:flex}.practice__stroke{background:var(--surface-2);border-radius:3px;flex:1;height:5px;transition:background .25s}.practice__stroke--current{background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand-border)}.practice__stroke--ok{background:var(--brand)}.practice__stroke--no{background:var(--accent)}.practice__context,.practice__target{margin:calc(-1 * var(--space-3)) 0 var(--space-4);padding-left:var(--space-3);border-left:2px solid var(--accent-soft);color:var(--fg-muted);font-size:.95rem}.practice__target{margin-top:0;margin-bottom:var(--space-3)}.practice__hint{margin:calc(-1 * var(--space-3)) 0 var(--space-4);color:var(--fg-subtle);font-size:.85rem;font-style:italic}.practice__cheer{text-align:center;padding-top:.7rem;font-size:1.6rem;position:relative}.practice__cheer:before{content:"";background:var(--accent);border-radius:3px;width:2.6rem;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.practice__score{margin:var(--space-3) 0 0;text-align:center;color:var(--fg);font-size:1.15rem}.practice__xp{margin:var(--space-1) 0 0;text-align:center;color:var(--brand);font-weight:700}.practice__levelup{margin:var(--space-5) auto 0;max-width:26rem;padding:var(--space-4);border:1px solid var(--brand-border);border-radius:var(--r-md);background:var(--brand-tint);text-align:center}.practice__levelup p{margin:0 0 var(--space-3);color:var(--fg)}.practice__levelup-btn{padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);cursor:pointer;border:none;font-weight:700;transition:background .15s}.practice__levelup-btn:hover{background:var(--brand-hover)}.practice__levelup-done{margin:var(--space-4) 0 0;text-align:center;color:var(--success);font-weight:600}.practice__summary-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-5);flex-direction:column;display:flex}.practice__primary{min-width:16rem;padding:var(--space-3) var(--space-5);border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);cursor:pointer;border:none;font-size:1.05rem;font-weight:700;transition:background .15s,transform .15s}.practice__primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px)}.practice__primary:disabled{opacity:.55;cursor:default}.practice__ghost{min-width:16rem;padding:var(--space-3) var(--space-5);border:1px solid var(--border-strong);border-radius:var(--r-pill);color:var(--fg-muted);cursor:pointer;background:0 0;font-weight:600;transition:border-color .15s,color .15s}.practice__ghost:hover:not(:disabled){border-color:var(--brand-border);color:var(--brand)}@media (width<=560px){.practice__primary,.practice__ghost{min-width:100%}}.onboarding__levels{gap:var(--space-2);margin:var(--space-4) 0;grid-template-columns:repeat(4,1fr);display:grid}@media (width<=560px){.onboarding__levels{grid-template-columns:repeat(2,1fr)}}.onboarding__level{padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--fg);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;transition:border-color .15s,background .15s;display:flex}.onboarding__level:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-tint)}.onboarding__level-code{font-size:1.05rem;font-weight:700}.onboarding__level-name{color:var(--fg-muted);font-size:.8rem}
