:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#101828;--text:#344054;--muted:#5f6b7e;--faint:#5f6b7e;--line-soft:#8a94a6;--bg:#f5f7fb;--surface:#fff;--surface-2:#f1f4f9;--border:#e6eaf2;--border-strong:#d3d9e6;--primary:#2f5be8;--primary-strong:#1f45c9;--primary-soft:#dce6fe;--primary-softer:#eef3ff;--ring:#2f5be847;--on-primary:#fff;--primary-lift:#5b7ff0;--hero-a:#2f5be8;--hero-b:#4f46e5;--panel:#0f1a3d;--panel-2:#0b1430;--panel-text:#b8c3e0;--panel-bright:#e6ebf8;--panel-link:#a9bcff;--rule:transparent;--margin-rule:transparent;--sky:#0369a1;--success:#15803d;--success-bg:#ecfdf3;--success-border:#abefc6;--danger:#c0262d;--danger-bg:#fef3f2;--danger-border:#fecdca;--warn:#9a5a00;--warn-bg:#fffaeb;--warn-border:#fedf89;--gold:#b7791f;--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:20px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 2px #1018280a, 0 4px 16px #1018280f;--shadow-lg:0 12px 32px #1018281f;--scrim:#10182880;--on-danger:#fff;--on-gradient-hover:#eef3ff;--font:"Heebo", "Segoe UI", system-ui, -apple-system, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h,4rem) + .75rem)}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-color:var(--bg);margin:0;line-height:1.6}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1,h2,h3,h4{color:var(--ink);margin:0 0 .5rem;font-weight:700;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.65rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .5rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}b,strong{color:var(--ink)}.muted{color:var(--muted);font-size:.92rem}.icon{vertical-align:-.18em;flex-shrink:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--ink);color:var(--bg);border-radius:var(--r-sm);padding:.5rem 1rem;transition:top .15s;position:absolute;top:-48px;right:12px}.skip-link:focus{top:10px}.center-screen,.loading{min-height:40vh;color:var(--muted);justify-content:center;align-items:center;font-size:1.05rem;display:flex}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;position:sticky;top:0}.app-header__inner{align-items:center;gap:.75rem;max-width:1320px;margin:0 auto;padding:.55rem 1.25rem;display:flex}.app-brand{color:var(--ink);align-items:center;gap:.5rem;font-weight:800;display:flex}.app-brand__mark{flex:none;display:block}.app-brand__text{flex-direction:column;line-height:1.15;display:flex}.app-brand__title{letter-spacing:.005em;direction:ltr;unicode-bidi:isolate;font-size:1.12rem}.app-brand__tagline{color:var(--muted);font-size:.78rem;font-weight:700}.app-brand--on-dark{color:#fff;margin-bottom:.6rem}.app-brand--on-dark .app-brand__tagline{color:#ffffffb8}.print-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);direction:ltr;unicode-bidi:isolate;margin:.1rem 0 0;font-size:.8rem;font-weight:700}.app-nav{flex:1;gap:.1rem;min-width:0;margin-inline-start:.35rem;display:flex}.app-nav__link{border-radius:var(--r-sm);color:var(--muted);white-space:nowrap;padding:.43rem .68rem;font-size:.9rem;font-weight:700;transition:background .15s,color .15s}.app-nav__link:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}@media (width>=1121px) and (width<=1280px){.app-nav__link{padding:.42rem .48rem;font-size:.86rem}.app-shell:not(.app-shell--staff) .app-user__name{display:none}}.app-nav__link.is-active{background:var(--primary-softer);color:var(--primary-strong);box-shadow:inset 0 -2px 0 var(--primary)}.app-user{align-items:center;gap:.35rem;margin-inline-start:auto;display:flex}.app-user__profile{color:var(--ink);border-radius:var(--r-sm);align-items:center;gap:.45rem;padding:.2rem .35rem;text-decoration:none;display:flex}.app-user__profile:hover{background:var(--surface-2);text-decoration:none}.app-user__profile:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.app-user__name{color:var(--ink);align-items:center;gap:.45rem;font-size:.92rem;font-weight:700;display:flex}.role-badge{background:var(--primary-soft);color:var(--primary-strong);border-radius:999px;padding:.14rem .5rem;font-size:.7rem;font-weight:700}.nav-toggle{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;color:var(--ink);background:0 0;padding:.4rem .6rem;font-size:1.15rem;line-height:1;display:none}.header-error{max-width:1140px;color:var(--danger);margin:0 auto;padding:.4rem 1.25rem;font-size:.85rem}.app-main{flex:1;width:100%;max-width:1140px;margin:0 auto;padding:1.6rem 1.25rem 2.5rem;position:relative}.app-main:focus{outline:none}.app-footer{border-top:1px solid var(--border);background:var(--surface);text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.35rem;padding:1.1rem;font-size:.84rem;display:flex}.app-footer__brand{color:var(--faint);font-size:.8rem}.app-brand--link{text-decoration:none}.app-brand--link:hover .app-brand__title{color:var(--primary-strong)}.header-feedback__label{font-size:.84rem}.header-utility span,.header-logout span{font-size:.82rem}.header-notification-icon{display:inline-flex;position:relative}.notification-dot{background:var(--danger);border:1px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;inset-block-start:-3px;inset-inline-end:-4px}.notification-count{background:var(--primary-soft);min-width:1.35rem;height:1.35rem;color:var(--primary-strong);border-radius:999px;justify-content:center;align-items:center;padding:0 .28rem;display:inline-flex;font-size:.72rem!important}@media (width<=700px){.header-feedback__label,.header-utility>span:not(.header-notification-icon),.header-logout>span{display:none}}.btn{border-radius:var(--r-sm);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.05rem;font-family:inherit;font-size:.94rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform 50ms;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm)}.btn--secondary{background:var(--ink);color:#fff}.btn--ghost{border-color:var(--border-strong);color:var(--ink);background:0 0}.btn--danger{border-color:var(--danger-border);color:var(--danger);background:0 0}.btn--sm{padding:.32rem .68rem;font-size:.84rem}.btn--lg{border-radius:var(--r);padding:.75rem 1.4rem;font-size:1.02rem}.btn--block{width:100%}.cta-row{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.page__head--row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:1.1rem;padding:1.2rem 1.3rem}.connection-error{text-align:center;max-width:420px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.9rem;margin-top:1rem;display:grid}.nav-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);padding:1.25rem;transition:border-color .15s,background .15s;display:block}.nav-card:hover{text-decoration:none}.nav-card__icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary-strong);border-radius:10px;justify-content:center;align-items:center;margin-bottom:.65rem;display:inline-flex}.nav-card h3{color:var(--ink)}.nav-card p{color:var(--muted);margin:0;font-size:.88rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.75rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);text-align:center;padding:.9rem .8rem}.stat-card__icon{color:var(--muted);margin-bottom:.3rem}.stat-card__value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800;line-height:1.1}.stat-card__label{color:var(--muted);margin-top:.3rem;font-size:.8rem}.stat-card--known{border-color:var(--success-border);background:var(--success-bg)}.stat-card--learning{border-color:var(--primary-soft);background:var(--primary-softer)}.stat-card--learning .stat-card__value{color:var(--primary-strong)}.stat-card--difficult{border-color:var(--danger-border);background:var(--danger-bg)}.stat-card--new{border-color:var(--border);background:var(--surface-2)}.stat-card--new .stat-card__value{color:var(--muted)}.banner{border-radius:var(--r);background:var(--surface);border:1px solid #0000;align-items:flex-start;gap:.9rem;margin-bottom:1.1rem;padding:1rem 1.15rem;display:flex}.banner__icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.15rem;display:inline-flex}.banner h3{margin-bottom:.2rem;font-size:1rem}.banner p{color:var(--text);margin:0;font-size:.92rem}.banner--success{background:var(--success-bg);border-color:var(--success-border)}.banner--info{background:var(--primary-softer);border-color:var(--primary-soft)}.banner--info .banner__icon{background:var(--primary-soft)}.progress{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:20px;position:relative;overflow:hidden}.progress__fill{background:var(--primary);border-radius:999px;height:100%;transition:width .4s}.progress__label{color:var(--ink);justify-content:center;align-items:center;font-size:.74rem;font-weight:700;display:flex;position:absolute;inset:0}.progress--plain .progress__label{display:none}.progress--plain{height:14px}.badge{white-space:nowrap;border-radius:999px;padding:.16rem .55rem;font-size:.76rem;font-weight:700;display:inline-block}.badge--new{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.badge--learning{background:var(--primary-softer);color:var(--primary-strong);border:1px solid var(--primary-soft)}.badge--difficult{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge--known{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.chip{background:var(--primary-soft);color:var(--primary-strong);border-radius:999px;padding:.22rem .7rem;font-size:.78rem;font-weight:700}.difficulty{gap:3px;display:inline-flex}.difficulty__dot{background:var(--border-strong);border-radius:50%;width:7px;height:7px}.difficulty__dot.is-on{background:var(--primary)}.alert{border-radius:var(--r-sm);margin-bottom:.9rem;padding:.7rem 1rem;font-size:.9rem;font-weight:700}.alert--error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.alert--success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.empty-state{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r);padding:2.2rem 1rem}.form{flex-direction:column;gap:.95rem;display:flex}.field{flex-direction:column;gap:.3rem;display:flex}.input{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%;padding:.55rem .8rem;font-family:inherit;font-size:max(16px,.97rem);transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;margin-bottom:.9rem;display:grid}.form-inline h3{margin-bottom:.9rem}.checkbox{cursor:pointer;align-items:center;gap:.4rem;margin-inline-start:1rem;font-size:.9rem;display:inline-flex}.filters{grid-template-columns:2fr 1fr 1fr;align-items:end;gap:.9rem;display:grid}.account-context{background:var(--surface-2);border-radius:var(--r-sm);padding:.5rem .8rem;font-size:.9rem}.switch-account{margin-top:.6rem}.login-screen{background:var(--bg);align-items:stretch;min-height:100vh;display:flex}.login-screen--split{grid-template-columns:1.05fr 1fr;display:grid}.login-side{background:linear-gradient(135deg, var(--hero-a), var(--hero-b));color:#fff;flex-direction:column;justify-content:center;gap:1rem;padding:3rem 3.2rem;display:flex;position:relative;overflow:hidden}.login-side h2{color:#fff;font-size:1.7rem;line-height:1.3}.login-side p{color:#fff;max-width:42ch}.login-side__points{flex-direction:column;gap:.65rem;margin-top:.8rem;display:flex}.login-side__point{color:#fff;align-items:flex-start;gap:.6rem;font-size:.95rem;display:flex}.login-side__point .icon{color:#fff;margin-top:.2rem}.login-panel{justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:440px;box-shadow:var(--shadow)}.login-card__brand{margin-bottom:1.4rem}.login-card__brand h1{margin:.7rem 0 .2rem;font-size:1.45rem}.login-card__brand p{color:var(--muted);margin:0;font-size:.93rem}.login-card__hint{color:var(--muted);margin-top:1.2rem;font-size:.85rem}.practice{max-width:660px;margin:0 auto}.practice__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.avatar{background:var(--surface-2);color:var(--muted);border:1px solid var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.friend-cell{align-items:center;gap:.5rem;display:inline-flex}.friend-pending{border-bottom:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem 0;display:flex}.friend-pending:last-child{border-bottom:0}.friend-pending__name{align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.friend-remove{cursor:pointer;color:var(--muted);opacity:.55;background:0 0;border:0;border-radius:50%;padding:2px;display:inline-flex}.friend-remove:hover,.friend-remove:focus-visible{opacity:1;color:var(--danger)}.kudos-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.85rem;font-weight:700;display:inline-flex}.kudos-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.kudos-btn.is-sent{color:var(--primary);border-color:var(--primary);background:var(--surface-2);cursor:default}.kudos-count{color:var(--muted);align-items:center;gap:.3rem;font-size:.85rem;font-weight:700;display:inline-flex}.reading-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem;display:grid}.reading-card{color:inherit;text-decoration:none;transition:transform .12s,box-shadow .12s;display:block}.reading-card:hover{box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}.reading-card__top{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.reading-card__title{text-align:left;margin:0 0 .1rem;font-size:1.15rem}.reading-card__he{margin:0 0 .4rem}.reading-card__best{align-items:center;gap:.3rem;margin:.4rem 0 0;font-size:.88rem;font-weight:700;display:flex}.reading-card__best.is-perfect{color:var(--success)}.reading-text{font-size:1.05rem;line-height:1.75}.reading-text__head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.reading-text h1{text-align:left;margin:0 0 .5rem;font-size:1.45rem}.reading-text p{margin:0 0 .8rem}.reading-result{text-align:center}.reading-q{border:1px solid var(--border);border-radius:var(--r-md,10px);margin:0 0 .9rem;padding:.8rem 1rem}.reading-q legend{text-align:left;padding:0 .4rem;font-weight:700}.reading-q__options{gap:.45rem;display:grid}.reading-opt{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:var(--surface);text-align:left;align-items:flex-start;gap:.55rem;padding:.5rem .7rem;display:flex}.reading-opt input{margin-top:3px}.reading-opt.is-selected{border-color:var(--primary);background:var(--surface-2)}.reading-opt.is-correct{border-color:var(--success);background:var(--success-bg,var(--surface-2));font-weight:700}.reading-opt.is-wrong{border-color:var(--danger);opacity:.85}.app-nav__icon{flex-shrink:0;display:none}.tabbar{bottom:0;z-index:60;background:var(--surface);border-top:1px solid var(--border);padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom));display:none;position:fixed;inset-inline:0;box-shadow:0 -2px 12px #0000000f}.tabbar__item{border-radius:var(--r-sm);color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:.35rem .2rem;font-size:.68rem;font-weight:700;text-decoration:none;display:flex}.tabbar__item:hover{text-decoration:none}.tabbar__item.is-active{color:var(--primary)}@media (width<=720px){.tabbar{display:flex}.has-tabbar .app-main,.has-tabbar .app-footer{padding-bottom:76px}}@media print{.tabbar{display:none}}.password-field{position:relative}.password-field .input{width:100%;padding-inline:2.9rem .85rem}.password-field__toggle{inset-inline-end:.45rem;cursor:pointer;color:var(--muted);border-radius:var(--r-sm,6px);background:0 0;border:0;align-items:center;padding:.3rem;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.password-field__toggle:hover,.password-field__toggle:focus-visible{color:var(--ink)}.practice__score{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.quiz-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.4rem 1.5rem}.quiz-card__top{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.quiz-word{text-align:center;letter-spacing:.01em;color:var(--ink);overflow-wrap:anywhere;min-width:0;max-width:100%;margin:0;padding:1.1rem 0 .4rem;font-size:clamp(2rem,6vw,2.7rem);font-weight:800}.quiz-word:focus,.quiz-definition:focus{outline:none}.quiz-context{text-align:center;margin:0 0 1.2rem;font-size:.88rem}.quiz-options{gap:.65rem;margin-top:1rem;display:grid}.quiz-option{text-align:start;border:1.5px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;color:var(--text);align-items:center;gap:.75rem;padding:.8rem .95rem;font-family:inherit;font-size:1.06rem;transition:border-color .13s,background .13s;display:flex}@media (hover:hover) and (pointer:fine){.quiz-option:hover:not(:disabled),.mock-option:hover:not(:disabled){border-color:var(--primary);background:var(--primary-softer)}}.quiz-option:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.quiz-option:disabled{cursor:default}.quiz-option__num{background:var(--surface-2);border:1px solid var(--border);width:26px;height:26px;color:var(--muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.quiz-option__text{flex:1}.quiz-option>.icon{flex:none;margin-inline-start:auto}.quiz-option.is-correct>.icon{color:var(--success)}.quiz-option.is-wrong>.icon{color:var(--danger)}.quiz-option.is-selected{border-color:var(--primary);background:var(--primary-softer)}.quiz-option.is-correct{border-color:var(--success);background:var(--success-bg)}.quiz-option.is-correct .quiz-option__num{background:var(--success);border-color:var(--success);color:#fff}.quiz-option.is-wrong{border-color:var(--danger);background:var(--danger-bg)}.quiz-option.is-wrong .quiz-option__num{background:var(--danger);border-color:var(--danger);color:#fff}.quiz-option.is-dim{opacity:.5}.quiz-feedback{border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;margin-top:1.1rem;padding:.85rem 1rem;display:flex}.quiz-feedback.is-correct{background:var(--success-bg);border:1px solid var(--success-border)}.quiz-feedback.is-wrong{background:var(--danger-bg);border:1px solid var(--danger-border)}.quiz-feedback__msg{color:var(--ink);font-weight:700}.quiz-example{text-align:left;color:var(--ink);opacity:.92;direction:ltr;margin-top:.45rem;font-size:.95rem;font-weight:400;line-height:1.5;display:block}.quiz-example strong{text-underline-offset:3px;font-weight:800;text-decoration:underline}.quiz-hint{text-align:center;margin:1rem 0 0;font-size:.8rem}.sprint-intro{text-align:center;max-width:560px;margin:0 auto}.sprint-intro .card{padding:2rem 1.6rem}.sprint-best{color:var(--muted);margin-top:.4rem;font-size:.92rem}.sprint-timer{font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .85rem;font-size:1.05rem;font-weight:800;display:inline-flex}.sprint-timer.is-low{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.sprint-score{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.sprint-result{text-align:center;padding:1.6rem 1.2rem}.sprint-result__score{color:var(--primary);font-variant-numeric:tabular-nums;font-size:3.4rem;font-weight:800;line-height:1.1}.sprint-result__label{color:var(--muted);margin-bottom:.8rem}.sprint-newbest{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn);border-radius:999px;align-items:center;gap:.45rem;margin-bottom:.9rem;padding:.35rem .9rem;font-size:.9rem;font-weight:700;display:inline-flex}.streak-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;margin-bottom:1.1rem;display:grid}.streak-card{align-items:center;gap:.9rem;margin-bottom:0;display:flex}.streak-card__flame{background:var(--primary-soft);width:46px;height:46px;color:var(--primary-strong);border:1px solid var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.streak-card.is-cold .streak-card__flame{background:var(--surface-2);color:var(--faint);border-color:var(--border)}.streak-card__num{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;line-height:1.15}.streak-card__label{color:var(--muted);font-size:.84rem}html.lang-ar body,html.lang-ar button,html.lang-ar input,html.lang-ar select,html.lang-ar textarea{font-family:Tajawal,Heebo,Segoe UI,system-ui,-apple-system,Arial,sans-serif}.lang-switch{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch__btn{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;padding:.3rem .8rem;font-size:.84rem;font-weight:700}.lang-switch__btn.is-active{background:var(--primary);color:var(--on-primary)}.lang-switch__btn:focus-visible{box-shadow:inset 0 0 0 3px var(--ring);outline:none}.register-terms{align-items:flex-start;margin:.2rem 0 .8rem;font-size:.85rem}.register-terms input{margin-top:.2rem}.privacy-warning{border:1px solid color-mix(in srgb, var(--primary) 48%, transparent);border-radius:var(--r);background:color-mix(in srgb, var(--primary) 10%, var(--surface));color:var(--text);align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.privacy-warning svg{color:var(--primary);flex:none;margin-top:.1rem}.privacy-warning div{gap:.2rem;display:grid}.privacy-warning span{color:var(--muted);font-size:.88rem;line-height:1.55}.pseudonym-card{max-width:560px;margin-inline:auto}.pseudonym-confirmation strong{color:var(--text)}.pseudonym-account-note{text-align:center;margin-top:1rem;font-size:.82rem}.pseudonym-create-notice{gap:.55rem;margin:.55rem 0;display:grid}.profile-setup-screen{align-items:flex-start;padding-block:1.5rem}.profile-setup-card{max-width:680px;margin-inline:auto}.setup-progress{grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0 1.4rem;display:grid}.setup-progress>span{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);background:var(--surface-2);place-items:center;gap:.12rem;padding:.55rem;font-weight:800;display:grid}.setup-progress>span.is-active{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-softer)}.setup-progress small{font-size:.72rem;font-weight:700}.weekly-path__body h2{margin:.45rem 0 .35rem}.weekly-path__body p{margin:.25rem 0}.content-review-filter{max-width:360px}.content-review-table small{color:var(--faint);margin-top:.3rem;display:block}.content-review-table code{overflow-wrap:anywhere}.content-review-details{max-width:420px;margin-top:.4rem}.content-review-details summary{color:var(--primary);cursor:pointer;font-size:.78rem}.reading-explanation{border-inline-start:3px solid var(--success);background:var(--success-soft);border-radius:8px;margin:.65rem 0 0;padding:.65rem .8rem}.mock-card--learning-preview{padding:1.15rem}.learning-preview__headline{align-items:center;gap:.8rem;padding:1.1rem 0;display:flex}.learning-preview__headline>div>strong,.learning-preview__headline>div>span{display:block}.learning-preview__headline>div>span{color:var(--muted);margin-top:.2rem;font-size:.86rem}.learning-preview__icon{width:46px;height:46px;color:var(--primary);background:var(--primary-softer);border-radius:14px;place-items:center;display:grid}.learning-preview__steps{gap:.55rem;display:grid}.learning-preview__step{border:1px solid var(--border);border-radius:12px;align-items:center;gap:.65rem;padding:.65rem .75rem;display:flex}.learning-preview__step>svg{color:var(--primary);flex:none}.learning-preview__step b,.learning-preview__step small{display:block}.learning-preview__step small{color:var(--faint);margin-top:.1rem}.learning-preview__cta{width:100%;margin-top:.9rem}.setup-step{gap:.8rem;display:grid}.setup-step h2{margin:0;font-size:1.15rem}.setup-actions{justify-content:space-between;gap:.7rem;margin:1rem 0;display:flex}.setup-actions .btn:last-child{margin-inline-start:auto}.address-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.address-option{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:var(--surface);align-items:flex-start;gap:.65rem;padding:.8rem;display:flex}.address-option.is-active{border-color:var(--primary);background:var(--primary-softer);box-shadow:0 0 0 2px var(--ring)}.address-option input{margin-top:.22rem}.address-option span{gap:.15rem;display:grid}.address-option small{color:var(--muted)}.name-rejection{border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:var(--r);margin-top:1rem;padding:1rem}.name-rejection h3{margin:0 0 .4rem}.name-suggestions{flex-wrap:wrap;gap:.45rem;margin:.7rem 0;display:flex}.appeal-box{border-top:1px solid var(--border);gap:.55rem;margin-top:.8rem;padding-top:.8rem;display:grid}.identity-offer{border-color:var(--success-border);background:var(--success-bg)}.appeal-list{gap:.8rem;margin-bottom:1rem;display:grid}.appeal-details{gap:.45rem;margin:.7rem 0;display:grid}.appeal-details div{grid-template-columns:minmax(95px,.3fr) 1fr;gap:.7rem;display:grid}.appeal-details dt{color:var(--muted);font-weight:700}.appeal-details dd{overflow-wrap:anywhere;margin:0}.admin-reauth{border-color:var(--warn-border)}.placement-page{max-width:720px;margin-inline:auto}.placement-intro,.placement-result{text-align:center}.placement-intro ul{text-align:start;gap:.45rem;max-width:560px;margin:1rem auto;display:grid}.placement-meta{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.placement-meta strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.1rem}.placement-band{color:var(--primary-strong);margin:.6rem 0;font-size:1.35rem;font-weight:800}@media (width<=560px){.address-options{grid-template-columns:1fr}.profile-setup-screen{padding-block:0}}.suggest-word-page{max-width:900px}.suggestion-form-card{border-color:color-mix(in srgb, var(--primary) 34%, var(--border))}.suggestion-fields{align-items:end}.badge--suggestion-pending{color:#8a6600;background:#d4a72c2e}.badge--suggestion-batched{color:#2563eb;background:#3b82f629}.badge--suggestion-approved{color:#15803d;background:#22c55e29}.badge--suggestion-rejected{color:#b91c1c;background:#ef444424}.faq-item{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);margin-bottom:.5rem;padding:0}.faq-item summary{cursor:pointer;color:var(--ink);padding:.7rem .9rem;font-weight:700;list-style-position:inside}.faq-item[open] summary{border-bottom:1px solid var(--border)}.faq-item p{color:var(--muted);margin:0;padding:.7rem .9rem}.release{margin-bottom:1rem}.release__title{color:var(--ink);margin:0 0 .3rem;font-size:1rem}.tour-backdrop{z-index:4000;background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tour-backdrop--clear{background:0 0;display:block}.tour-spotlight{border-radius:var(--r);box-shadow:0 0 0 9999px var(--scrim), 0 0 0 3px var(--primary-lift);pointer-events:none;transition:all .25s;position:fixed}.tour-card{z-index:4001;width:min(330px,100vw - 24px);box-shadow:var(--shadow-lg);padding:1rem 1.1rem;position:fixed}.tour-card--center{text-align:center;width:min(430px,100vw - 24px);position:relative}.tour-card__step{color:var(--primary-strong);margin:0 0 .2rem;font-size:.72rem;font-weight:700}.tour-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.qr-modal{text-align:center;max-width:430px}.qr-modal__img{border:1px solid var(--border);border-radius:var(--r);background:#fff;width:min(320px,80vw);margin:.6rem auto;display:block}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:.8rem;margin-bottom:.8rem;display:flex}.filter-bar__item{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.filter-bar__item .input{min-width:150px}.filter-bar__item--grow{flex:1;min-width:180px}.filter-bar__count{white-space:nowrap;padding-bottom:.5rem;font-size:.8rem}.nudge--survey{max-width:360px}.nudge__scale{gap:.4rem;margin:.5rem 0 .2rem;display:flex}.nudge__score{border-radius:var(--r-sm);cursor:pointer;border:1.5px solid var(--border-strong);background:var(--surface);font:inherit;color:var(--muted);flex:1;padding:.45rem 0;font-weight:700}.nudge__score.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.nudge__scale-label{color:var(--faint);text-align:center;margin:0 0 .4rem;font-size:.76rem}.nudge__chips{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.nudge__chip{cursor:pointer;font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:999px;padding:.28rem .6rem;font-size:.8rem}.nudge__chip.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong);font-weight:700}.nudge__note{resize:vertical;width:100%;margin-bottom:.5rem;font-size:.84rem}.nudge__error{color:var(--danger);margin:0 0 .4rem;font-size:.8rem}.spell-showfull{color:var(--muted);justify-content:center;margin-top:.6rem;font-size:.82rem}.mock-card--done{text-align:center;padding:2rem 1.4rem}.mock-done__icon{background:var(--success-bg);width:52px;height:52px;color:var(--success);border:1.5px solid var(--success-border);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.7rem;display:inline-flex}.mock-done__title{color:var(--ink);margin:0 0 .4rem;font-size:1.15rem}.mock-done__text{color:var(--muted);margin:0 0 1.1rem;font-size:.92rem}.mock-done__actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.unit-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem;margin-top:.9rem;display:grid}.unit-tile{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);text-align:center;gap:.35rem;padding:.5rem;display:grid}.unit-tile__head{color:var(--muted);justify-content:center;align-items:center;gap:.3rem;display:flex}.unit-tile__number{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:800}.unit-tile__bar{background:var(--surface-2);border-radius:999px;height:5px;overflow:hidden}.unit-tile__bar span{background:var(--primary);height:100%;transition:width .4s;display:block}.unit-tile__meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.74rem}.unit-tile.is-complete{border-color:var(--success-border);background:var(--success-bg)}.unit-tile.is-complete .unit-tile__head{color:var(--success)}.unit-tile.is-locked{opacity:.5}.unit-tile.is-current{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.current-unit__chapter{font-size:.9rem;font-weight:400}.mission-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.mission-list li{color:var(--text);align-items:center;gap:.5rem;font-size:.92rem;display:flex}.mission-list li.is-done{color:var(--success)}.mission-list__count{color:var(--muted);font-variant-numeric:tabular-nums;margin-inline-start:auto;font-size:.82rem}.notification-list{gap:.75rem;margin-top:1rem;display:grid}.notification-item{align-items:flex-start;gap:.8rem;display:flex}.notification-item h2{margin:0 0 .25rem;font-size:1rem}.notification-item p{margin:0 0 .25rem}.notification-item.is-unread{border-inline-start:4px solid var(--primary)}.stat-card-link{color:inherit;border-radius:var(--radius);text-decoration:none}.stat-card-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.accepted-answers{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.accepted-answer-list{gap:.5rem;padding:0;list-style:none;display:grid}.accepted-answer-list li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.release-hero{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:1.5rem;padding:1rem 1.15rem}.release--professional{padding-inline-start:1.15rem}.release__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.release__head h3,.release__head p{margin:0}.release--professional h4{margin-bottom:.35rem}.streak-line{align-items:center;gap:.5rem;margin-top:.7rem;font-size:.9rem;display:flex}.shield-chip{align-items:center;gap:.25rem;margin-inline-start:auto;font-size:.8rem;display:inline-flex}.xp-chip,.level-chip,.combo-chip,.unit-done-tag{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .55rem;font-size:.8rem;font-weight:700;display:inline-flex}.xp-chip{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn)}.level-chip{background:var(--primary-soft);border:1px solid var(--primary);color:var(--primary-strong)}.combo-chip{background:var(--primary-softer);border:1px solid var(--primary-soft);color:var(--primary-strong)}.unit-done-tag{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.skeleton{gap:.55rem;display:grid}.skeleton__line{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-2) 0%, var(--border) 50%, var(--surface-2) 100%);background-size:220% 100%;width:100%;animation:1.3s ease-in-out infinite skeleton-sweep;display:block}.skeleton__line--title{width:40%;height:20px;margin-bottom:.9rem}@keyframes skeleton-sweep{0%{background-position:120% 0}to{background-position:-120% 0}}.session-summary{text-align:center;max-width:560px;margin:0 auto;padding:1.8rem 1.4rem}.session-summary__icon{background:var(--success-bg);width:54px;height:54px;color:var(--success);border:1.5px solid var(--success-border);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.7rem;display:inline-flex}.session-summary__title{color:var(--ink);margin:0 0 .9rem;font-size:1.2rem}.session-summary__score{color:var(--primary-strong);font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800;line-height:1}.session-summary__sub{color:var(--muted);margin:.35rem 0 1rem;font-size:.95rem}.session-summary__facts{text-align:start;gap:.45rem;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.session-summary__facts li{color:var(--text);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.92rem;display:flex}.session-summary__facts li.is-muted{color:var(--muted)}.session-summary__words{flex-wrap:wrap;gap:.4rem;margin-inline-start:.2rem;display:flex}.session-summary__words bdi{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.82rem}.session-summary__actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.session-best{text-align:start;background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn);border-radius:var(--r);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.9rem;padding:.6rem .9rem;font-size:.9rem;display:flex}.session-meter{flex:1;align-items:center;gap:.6rem;min-width:140px;display:flex}.session-meter__count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.session-meter__left{color:var(--primary-strong);font-size:.85rem;font-weight:700}.next-action{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.next-action__body{flex:none;min-width:0}.next-action__body h2{margin:.3rem 0 .25rem;font-size:1.25rem}.next-action__sub{color:var(--muted);margin:0;font-size:.93rem}.next-action__meta{color:var(--muted);margin:.4rem 0 0;font-size:.83rem}.next-action__cta,.next-action__cta .btn{width:100%}@media (width>=600px){.next-action{flex-direction:row;justify-content:space-between;align-items:center}.next-action__body{flex:1 1 0}.next-action__cta{flex:none;width:auto}.next-action__cta .btn{width:auto;min-width:13rem}}.weak-words{flex-wrap:wrap;gap:.45rem;margin:.6rem 0 1rem;display:flex}.weak-word{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:baseline;gap:.4rem;padding:.25rem .7rem;font-size:.87rem;display:inline-flex}.weak-word small{color:var(--muted);font-size:.76rem}.practice-modes>summary{cursor:pointer;color:var(--ink);padding:.2rem 0;font-weight:700;list-style:none}.practice-modes>summary::-webkit-details-marker{display:none}.practice-modes>summary:after{content:" ▾";color:var(--muted)}.practice-modes[open]>summary:after{content:" ▴"}.practice-modes>summary:focus-visible{box-shadow:0 0 0 4px var(--ring);border-radius:var(--r-sm);outline:none}.known-tag{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);border-radius:999px;align-items:center;gap:.35rem;margin-top:.5rem;padding:.25rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.update-toast{z-index:3000;background:var(--surface);border:1.5px solid var(--primary);border-radius:var(--r-lg);max-width:min(92vw,540px);box-shadow:var(--shadow-lg);align-items:center;gap:.9rem;padding:.85rem 1.1rem;animation:.35s ease-out update-toast-in;display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.update-toast__icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary-strong);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.update-toast__body{flex-direction:column;gap:.1rem;display:flex}.update-toast__body b{color:var(--ink);font-size:.95rem}.update-toast__body span{color:var(--muted);font-size:.84rem}.update-toast .btn{white-space:nowrap;flex-shrink:0}@keyframes update-toast-in{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.update-toast{animation:none}}.goal-line{justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.85rem;display:flex}.goal-done{color:var(--success);font-weight:700}.days-strip{align-items:flex-end;gap:4px;height:34px;margin-top:.55rem;display:flex}.days-strip__bar{background:var(--border);border-radius:3px 3px 0 0;flex:1;min-width:6px}.days-strip__bar.is-active{background:var(--primary-soft);border:1px solid var(--primary)}.days-strip__bar.is-goal{background:var(--primary)}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.badge-card{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);text-align:center;padding:.85rem}.badge-card__icon{background:var(--surface-2);width:42px;height:42px;color:var(--faint);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex}.badge-card.is-earned{border-color:var(--primary);background:var(--primary-softer)}.badge-card.is-earned .badge-card__icon{background:var(--primary-soft);color:var(--primary-strong);border-color:var(--primary)}.badge-card__title{color:var(--ink);font-size:.9rem;font-weight:700}.badge-card:not(.is-earned) .badge-card__title{color:var(--muted)}.badge-card__desc{color:var(--muted);font-size:.76rem;line-height:1.4}.badge-card__progress{color:var(--faint);font-variant-numeric:tabular-nums;margin-top:.3rem;font-size:.74rem}.rank-chip{background:var(--surface-2);border:1px solid var(--border);min-width:28px;height:28px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.rank-chip.rank-1{color:#92400e;background:#fef3c7;border-color:#fcd34d}.rank-chip.rank-2{background:var(--surface-2);border-color:var(--border-strong);color:#6b5445}.rank-chip.rank-3{color:#9a3412;background:#ffedd5;border-color:#fdba74}tr.is-me td{background:var(--primary-softer)}.leaderboard-me{background:var(--primary-softer);border:1px solid var(--primary-soft);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.9rem;padding:.8rem 1rem;font-size:.95rem;display:flex}.tabs{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.tab{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .15s;display:inline-flex}.tab:hover{border-color:var(--primary)}.tab.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.tab__count{background:var(--surface-2);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .42rem;font-size:.76rem}.tab.is-active .tab__count{color:#fff;background:#ffffff2e}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.91rem}.table th,.table td{text-align:start;border-bottom:1px solid var(--border);padding:.62rem .85rem}.table th{background:var(--surface-2);color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:700}.table tbody tr:last-child td{border-bottom:none}.cell-en{color:var(--ink);font-weight:700}.row-actions{gap:.4rem;display:flex}.row-review td{background:var(--warn-bg)}.load-more{text-align:center;margin-top:.9rem}.th-sort{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-weight:700;display:inline-flex}.th-sort:hover{color:var(--ink)}.th-sort.is-active{color:var(--primary-strong)}.th-sort:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:4px;outline:none}.modal-backdrop{background:var(--scrim);z-index:3500;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;padding:1.4rem;overflow-y:auto}.credentials{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--r-sm);margin:.6rem 0;padding:.8rem 1rem}.credentials__head{color:var(--ink);margin-bottom:.3rem;font-weight:700}.landing{background:var(--surface);color:var(--text);flex-direction:column;min-height:100vh;display:flex}.landing-nav{z-index:60;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.landing-nav__inner{align-items:center;gap:1.1rem;max-width:1140px;margin:0 auto;padding:.7rem 1.25rem;display:flex}.landing-nav__links{align-items:center;gap:1.1rem;margin-inline-start:auto;display:flex}.landing-nav__links a:not([class*=btn]){color:var(--muted);font-size:.92rem;font-weight:700}.landing-nav__links a:not([class*=btn]):hover{color:var(--ink);text-decoration:none}.hero{background-color:var(--bg);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.hero__inner{grid-template-columns:1.08fr .92fr;align-items:center;gap:3rem;max-width:1140px;margin:0 auto;padding:4.2rem 1.25rem 4.6rem;display:grid;position:relative}.hero__kicker{background:var(--primary-soft);color:var(--primary-strong);border-radius:999px;align-items:center;gap:.45rem;margin-bottom:1.1rem;padding:.3rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}.hero__title{letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(2rem,4.6vw,3.1rem);font-weight:800;line-height:1.15}.hero__accent{color:var(--primary)}.hero__sub{color:var(--muted);max-width:52ch;margin-bottom:1.6rem;font-size:1.08rem}.hero__ctas{flex-wrap:wrap;gap:.8rem;display:flex}.hero__note{color:var(--muted);margin-top:1rem;font-size:.85rem}.hero__visual{min-height:380px;padding-bottom:2rem;position:relative}.mock-card{z-index:2;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:var(--shadow);max-width:380px;margin-inline-start:auto;padding:1.3rem;position:relative}.mock-card__bar{justify-content:flex-end;align-items:center;margin-bottom:.8rem;display:flex}.mock-card__q{color:var(--muted);font-size:.8rem}.mock-word{text-align:center;color:var(--ink);padding:.5rem 0 1rem;font-size:2rem;font-weight:800}.mock-options{gap:.5rem;display:grid}.mock-option{border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:start;cursor:pointer;border-radius:10px;align-items:center;gap:.6rem;padding:.55rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,background .15s,color .15s;display:flex}.mock-option:focus-visible{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}.mock-option:disabled{cursor:default}.mock-option__text{flex:1}.mock-option__mark{flex:none}.mock-option__num{background:var(--surface-2);border:1px solid var(--border);width:22px;height:22px;color:var(--muted);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.mock-option.is-right{border-color:var(--success);background:var(--success-bg);color:var(--success);font-weight:700}.mock-option.is-right .mock-option__num{background:var(--success);border-color:var(--success);color:#fff}.mock-option.is-wrong{border-color:var(--danger);background:var(--danger-bg);color:var(--danger);font-weight:700}.mock-option.is-wrong .mock-option__num{background:var(--danger);border-color:var(--danger);color:#fff}.mock-option.is-dim{opacity:.45}.mock-result{justify-content:space-between;align-items:center;gap:.7rem;min-height:30px;margin-top:.9rem;font-size:.86rem;font-weight:700;display:flex}.mock-result .is-correct{color:var(--success)}.mock-result .is-wrong{color:var(--danger)}.mock-next{font:inherit;color:var(--primary-strong);cursor:pointer;background:0 0;border:none;flex:none;align-items:center;gap:.3rem;padding:.2rem 0;font-weight:700;display:inline-flex}.mock-next:hover{text-decoration:underline}.mock-next:focus-visible{box-shadow:0 0 0 4px var(--ring);border-radius:4px;outline:none}.mock-float{z-index:3;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);align-items:center;gap:.6rem;padding:.7rem .95rem;font-size:.85rem;font-weight:700;display:flex;position:absolute}.mock-float--streak{top:-18px;color:var(--primary-strong);inset-inline-start:2%}.mock-float--progress{bottom:-30px;color:var(--ink);min-width:200px;inset-inline-end:-8px}.mock-float--progress .progress{flex:1;height:14px}.mock-float--progress .progress__label{font-size:.62rem}.strip{border-block:1px solid var(--border);background:var(--surface-2)}.strip__inner{text-align:center;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;max-width:1140px;margin:0 auto;padding:1.4rem 1.25rem;display:grid}.strip__num{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.strip__label{color:var(--muted);font-size:.86rem}.section{max-width:1140px;margin:0 auto;padding:4rem 1.25rem 1rem}.section__head{text-align:center;max-width:640px;margin:0 auto 2.4rem}.section__kicker{color:var(--primary);letter-spacing:.02em;margin-bottom:.4rem;font-size:.85rem;font-weight:700}.section__title{font-size:clamp(1.5rem,3vw,2rem)}.section__sub{color:var(--muted)}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.feature{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:1.4rem;transition:border-color .15s,box-shadow .15s}.feature:hover{border-color:var(--primary);background:var(--primary-softer)}.feature__icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary-strong);border-radius:11px;justify-content:center;align-items:center;margin-bottom:.8rem;display:inline-flex}.feature h3{font-size:1.02rem}.feature p{color:var(--muted);margin:0;font-size:.92rem}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.step{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:1.4rem;position:relative}.step__num{background:var(--ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:.7rem;font-size:.95rem;font-weight:800;display:inline-flex}.step h3{font-size:1rem}.step p{color:var(--muted);margin:0;font-size:.92rem}.roles-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.role-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:1.3rem}.role-card__head{align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.role-card__head .icon{color:var(--primary)}.role-card h3{margin:0}.role-card ul{color:var(--muted);gap:.3rem;margin:0;padding-inline-start:1.1rem;font-size:.92rem;display:grid}.cta-band{background:var(--panel);color:#fff;margin:4rem 0 0}.cta-band__inner{text-align:center;max-width:1140px;margin:0 auto;padding:3rem 1.25rem}.cta-band h2{color:#fff;font-size:clamp(1.4rem,3vw,1.9rem)}.cta-band p{color:var(--panel-text);max-width:60ch;margin:0 auto 1.4rem}.cta-band .btn--primary:hover{background:var(--primary-lift)}.landing-footer{background:var(--panel-2);color:var(--panel-text)}.landing-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1140px;margin:0 auto;padding:1.6rem 1.25rem;font-size:.86rem;display:flex}.landing-footer a{color:var(--panel-link)}.flashcards-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.flashcard{border:1.5px dashed var(--border-strong);background:var(--surface);break-inside:avoid;border-radius:8px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.flashcard__side{flex-direction:column;justify-content:center;min-height:68px;padding:.7rem .8rem;display:flex}.flashcard__side--en{border-inline-end:1.5px dashed var(--border-strong)}.flashcard__en{color:var(--ink);font-size:1.05rem;font-weight:800}.flashcard__meta{color:var(--muted);font-size:.72rem}.flashcard__he{color:var(--ink);text-align:center;font-size:.98rem}.test-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;display:flex}.test-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:2rem}.test-sheet__header{border-bottom:2px solid var(--ink);margin-bottom:1.4rem;padding-bottom:1rem}.test-sheet__header h2{text-align:center}.test-sheet__meta{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:.7rem;font-size:.9rem;display:flex}.test-sheet__instr{text-align:center;color:var(--muted);margin-top:.4rem}.test-list{columns:2;column-gap:2.4rem;margin:0;padding-inline-start:1.4rem}.test-item{break-inside:avoid;margin-bottom:.85rem}.test-item__content{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.test-item__en{min-width:110px;color:var(--ink);font-weight:700}.test-item__line{border-bottom:1px dotted var(--faint);flex:1;min-width:120px;min-height:1.2em}.test-item__answer{color:var(--primary-strong);font-weight:700}@media (width<=900px){.hero__inner{grid-template-columns:1fr;gap:2.4rem;padding-top:3rem}.hero__visual{min-height:0}.mock-card{margin-inline:auto}.login-screen--split{grid-template-columns:1fr}.login-side{display:none}}@media (width<=760px){.filters{grid-template-columns:1fr}.test-list{columns:1}.flashcards-grid{grid-template-columns:1fr}.landing-nav__links a:not(.btn){display:none}.landing-nav__inner{flex-wrap:wrap;gap:.55rem;padding-inline:1rem}.landing-nav__links{justify-content:space-between;gap:.55rem;width:100%;margin-inline-start:0}.landing-nav__links .btn,.landing-nav__links .lang-switch__btn{min-height:44px}h1{font-size:1.35rem}}@media print{html,html[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#111827;--text:#374151;--muted:#6b7280;--faint:#8a94a3;--bg:#fff;--surface:#fff;--surface-2:#f3f4f6;--border:#e5e7eb;--border-strong:#d1d5db;--primary-strong:#1f45c9}body{color:#000;background:#fff}.test-list{columns:2}.app-header,.app-footer,.no-print,.test-actions{display:none!important}.app-main{max-width:none;padding:0}.test-sheet{box-shadow:none;border:none;padding:0}.test-item__line{border-bottom-color:#000}.flashcards-grid{grid-template-columns:repeat(2,1fr);gap:0}.flashcard{border-color:#9aa3b5;border-radius:0}.flashcard__side--en{border-inline-end-color:#9aa3b5}.page__head{display:none}.print-title{text-align:center;margin-bottom:1rem;display:block!important}}.print-title{display:none}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f2f4f8;--text:#c9d0dd;--muted:#98a2b8;--faint:#98a2b8;--line-soft:#6b7590;--bg:#0b1020;--surface:#121829;--surface-2:#1a2236;--border:#232c42;--border-strong:#2f3a55;--primary:#7aa2ff;--primary-strong:#a3bfff;--primary-soft:#7aa2ff33;--primary-softer:#7aa2ff1a;--ring:#7aa2ff59;--on-primary:#0b1020;--primary-lift:#a3bfff;--hero-a:#2747b8;--hero-b:#3b33b5;--rule:transparent;--margin-rule:transparent;--sky:#7cc4fa;--success:#6ce9a6;--success-bg:#0f2a1d;--success-border:#1d5c3c;--danger:#fda29b;--danger-bg:#2d1416;--danger-border:#6b2a2c;--warn:#fec84b;--warn-bg:#2a2010;--warn-border:#6b5218;--gold:#fdb022;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #00000059, 0 6px 20px #00000059;--shadow-lg:0 14px 36px #0000008c;--scrim:#0000009e;--on-danger:#1f0f0b}[data-theme=dark] .app-header,[data-theme=dark] .landing-nav{background:var(--surface)}[data-theme=dark] .tab.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}[data-theme=dark] .tab.is-active .tab__count{color:var(--on-primary);background:#00000040}[data-theme=dark] .step__num{background:var(--primary);color:var(--on-primary)}[data-theme=dark] .btn--primary{color:var(--on-primary)}[data-theme=dark] .progress__label{color:#fff;text-shadow:0 0 3px #000000e6,0 0 1px #000}[data-theme=dark] .landing{background:var(--bg)}[data-theme=dark] .table tbody tr:hover td{background:var(--primary-softer)}[data-theme=dark] .rank-chip.rank-1{color:#e8c65f;background:#3c2f0c;border-color:#6b5216}[data-theme=dark] .rank-chip.rank-2{color:#d3c3b2;background:#302620;border-color:#52402f}[data-theme=dark] .rank-chip.rank-3{color:#e0a06a;background:#3a2412;border-color:#7c4a1d}[data-theme=dark] .badge-card.is-earned{background:var(--primary-soft)}[data-theme=dark] .badge--learning{background:var(--primary-softer);color:var(--sky);border-color:var(--primary-soft)}[data-theme=dark] .login-screen{background:var(--bg)}[data-theme=dark] .flashcard{background:var(--surface)}.theme-options{flex-wrap:wrap;gap:.7rem;display:flex}.theme-option{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:.5rem;padding:.55rem 1rem;font-weight:700;display:inline-flex}.theme-option:hover{border-color:var(--primary)}.theme-option.is-active{border-color:var(--primary);background:var(--primary-soft)}.theme-swatch{border:1px solid var(--border-strong);border-radius:50%;width:18px;height:18px}.theme-swatch--light{background:linear-gradient(135deg,#fff 50%,#e5e7eb 50%)}.theme-swatch--dark{background:linear-gradient(135deg,#211913 50%,#17110d 50%)}.theme-swatch--system{background:linear-gradient(135deg,#fff 50%,#211913 50%)}.recovery-code{letter-spacing:.12em;background:var(--surface-2);border:1.5px dashed var(--border-strong);border-radius:var(--r);color:var(--ink);text-align:center;-webkit-user-select:all;user-select:all;max-width:340px;margin:1rem auto;padding:.9rem 1.2rem;font-family:Consolas,Courier New,monospace;font-size:1.6rem;font-weight:700}.spell-card{text-align:center}.spell-meaning{color:var(--ink);margin:.6rem 0 1rem;font-size:1.35rem;font-weight:700}.spell-word{letter-spacing:.02em;direction:ltr;flex-wrap:wrap;justify-content:center;gap:2px;margin:.4rem 0 1rem;font-family:Consolas,Courier New,monospace;font-size:2.2rem;font-weight:700;display:inline-flex}.spell-char{border-bottom:3px solid var(--border-strong);min-width:.72em;color:var(--faint);padding:.05em .06em;transition:color .1s,border-color .1s}.spell-char.is-done{color:var(--success);border-bottom-color:var(--success)}.spell-char.is-current{color:var(--ink);border-bottom-color:var(--primary);background:var(--primary-softer);border-radius:4px 4px 0 0}.spell-char.is-current.is-wrong{color:var(--danger);border-bottom-color:var(--danger);background:var(--danger-bg)}.spell-char--separator{min-width:.9em;color:var(--muted);border-bottom-color:#0000;justify-content:center;align-items:center;font-size:.75em;display:inline-flex}.spell-char--separator.is-done{color:var(--muted);border-bottom-color:#0000}.spell-done{color:var(--success);margin:.3rem 0;font-weight:700}.spell-input{opacity:0;pointer-events:none;width:1px;height:1px;font-size:16px;position:absolute}.session-review{text-align:start;border-top:1px solid var(--border);margin-top:1rem;padding-top:.8rem}.session-review>summary{cursor:pointer;color:var(--ink);align-items:center;gap:.45rem;font-weight:700;display:flex}.session-review__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.75rem;display:grid}.session-review__item{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);align-items:flex-start;gap:.55rem;padding:.65rem;display:flex}.session-review__item.is-correct>.icon{color:var(--success)}.session-review__item.is-wrong>.icon{color:var(--danger)}.session-review__item div{flex-direction:column;min-width:0;display:flex}.session-review__item span,.session-review__item small{color:var(--muted)}@media (width<=620px){.session-review__list{grid-template-columns:1fr}}.certificate{max-width:760px;margin:0 auto}.certificate__border{border:3px solid var(--primary);border-radius:var(--r-lg);background:var(--surface);text-align:center;box-shadow:var(--shadow);padding:2.6rem 2.2rem;position:relative}.certificate__border:before{content:"";border:1px solid var(--border-strong);border-radius:calc(var(--r-lg) - 6px);pointer-events:none;position:absolute;inset:10px}.certificate__brand{color:var(--muted);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.2rem;font-weight:700;display:flex}.certificate__title{color:var(--primary-strong);letter-spacing:.02em;font-size:2.1rem;font-weight:800}.certificate__sub{color:var(--muted);margin-top:.8rem}.certificate__name{color:var(--ink);margin:.4rem 0 1rem;font-size:2.4rem;font-weight:800}.certificate__text{max-width:46ch;color:var(--text);margin:0 auto 2rem}.certificate__meta{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.certificate__sign{flex:1;max-width:180px}.certificate__line{border-bottom:1.5px solid var(--ink);height:2rem;margin-bottom:.3rem}.certificate__sign span{color:var(--muted);font-size:.8rem}.certificate__date{color:var(--ink);font-weight:700}@media print{.certificate{max-width:none}.certificate__border{box-shadow:none}}.guide-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:1.1rem;padding:1rem 1.15rem}.guide-card__head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.guide-card__head h3{color:var(--ink);align-items:center;gap:.45rem;margin:0;display:flex}.guide-card__steps{gap:.4rem;margin:.6rem 0 .9rem;padding-inline-start:1.2rem;display:grid}.guide-card__steps li{color:var(--text);font-size:.93rem}.guide-open{margin-bottom:.9rem}.install-banner{bottom:0;z-index:80;background:var(--surface);border-top:1px solid var(--border);padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom,0px));align-items:center;gap:.7rem;animation:.3s slideUp;display:flex;position:fixed;inset-inline:0;box-shadow:0 -6px 24px #0b152624}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}.install-banner__icon{flex-shrink:0;width:40px;height:40px;font-size:.9rem}.install-banner__text{color:var(--muted);flex-direction:column;flex:1;font-size:.85rem;line-height:1.35;display:flex}.install-banner__text b{color:var(--ink);font-size:.92rem}.install-banner__share{vertical-align:-2px}.install-banner__actions{flex-shrink:0;gap:.4rem;display:flex}@media (width>=821px){.install-banner{display:none}}.sprint-history{flex-direction:column;gap:.4rem;display:flex}.sprint-history__item{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.sprint-history__row{background:var(--surface);cursor:pointer;width:100%;font:inherit;color:var(--text);text-align:start;border:none;align-items:center;gap:.7rem;padding:.6rem .9rem;display:flex}.sprint-history__row:hover{background:var(--primary-softer)}.sprint-history__row.is-open{background:var(--surface-2)}.sprint-history__date{color:var(--muted);min-width:90px;font-size:.88rem}.sprint-history__score{font-variant-numeric:tabular-nums;margin-inline-start:auto}.run-detail{border-top:1px solid var(--border);padding:.6rem .7rem .8rem}.run-detail__ok{color:var(--success)}.run-detail__bad,.run-detail__chosen-wrong{color:var(--danger)}input,textarea,[contenteditable=true],.selectable,.selectable *{-webkit-user-select:text;user-select:text}.speak-btn{border:1.5px solid var(--border-strong);background:var(--surface);width:38px;height:38px;color:var(--primary-strong);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:border-color .15s,background .15s,transform .1s;display:inline-flex}.speak-btn:hover{border-color:var(--primary);background:var(--primary-softer)}.speak-btn:active{transform:scale(.94)}.speak-btn:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.speak-btn--sm{width:30px;height:30px}.quiz-word-row{justify-content:center;align-items:center;gap:.7rem;display:flex}.seg{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:2px;display:inline-flex}.seg__btn{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.28rem .8rem;font-size:.82rem;font-weight:700;transition:background .15s,color .15s}.seg__btn.is-active{background:var(--primary);color:#fff}.seg__btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.quiz-option--en .quiz-option__text{text-align:left;direction:ltr;font-size:.92rem;line-height:1.45}.spell-audio{justify-content:center;align-items:center;gap:.6rem;margin:.4rem 0 .2rem;display:flex}.spell-audio .speak-btn{width:52px;height:52px}.appearance-modal{z-index:3500;background:var(--scrim);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.appearance-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:92vh;padding:1.4rem 1.5rem;overflow-y:auto}.swatch-grid{flex-wrap:wrap;gap:.55rem;margin:.6rem 0 .2rem;display:flex}.swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:46px;height:46px;padding:0;transition:transform .12s,border-color .12s;position:relative}.swatch:hover{transform:scale(1.08)}.swatch.is-active{border-color:var(--ink)}.swatch:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.swatch__check{color:#fff;justify-content:center;align-items:center;height:100%;display:flex}.style-pick{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.6rem;display:grid}.style-pick__btn{border:2px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;font:inherit;color:var(--text);text-align:center;padding:.7rem;transition:border-color .15s,background .15s}.style-pick__btn.is-active{border-color:var(--primary);background:var(--primary-softer)}.style-pick__btn:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.style-pick__preview{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;justify-content:center;align-items:center;height:58px;margin-bottom:.45rem;display:flex;position:relative;overflow:hidden}.style-pick__preview .mini-card{background:var(--surface);border:1px solid var(--border);width:72%;height:42px;box-shadow:var(--shadow-sm);border-radius:4px;position:relative}.style-pick__preview .mini-card:before{content:"";top:6px;background:var(--primary);border-radius:3px;width:42%;height:5px;position:absolute;inset-inline-start:8px}.style-pick__preview--notebook .mini-card{background-image:linear-gradient(to left, transparent 0, transparent 3px, var(--margin-rule) 3px, var(--margin-rule) 4.5px, transparent 4.5px), repeating-linear-gradient(to bottom, transparent 0, transparent 10px, var(--rule) 10px, var(--rule) 11px);background-position:0 0,0 16px;background-repeat:no-repeat,no-repeat;background-size:100% 100%,100% 100%}.appearance-actions{justify-content:flex-end;gap:.6rem;margin-top:1.1rem;display:flex}[data-role=teacher] .table-wrap,[data-role=teacher] .table-wrap *,[data-role=school_admin] .table-wrap,[data-role=school_admin] .table-wrap *,[data-role=superadmin] .table-wrap,[data-role=superadmin] .table-wrap *{-webkit-user-select:text;user-select:text}.brand-mark{-webkit-user-select:none;user-select:none;border-radius:27%;flex:none;line-height:0;display:inline-flex}.brand-mark svg{width:100%;height:100%;display:block}.a11y{bottom:16px;z-index:95;position:fixed;inset-inline-start:16px}body:has(.tour-backdrop) .a11y{z-index:4100}.a11y__button{background:var(--primary);width:46px;height:46px;color:var(--on-primary);border:2px solid var(--surface);box-shadow:var(--shadow-lg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,box-shadow .15s;display:flex}.a11y__button:hover{background:var(--primary-strong)}.a11y__button:focus-visible{box-shadow:var(--shadow-lg)}.a11y__panel{bottom:56px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(300px,100vw - 32px);box-shadow:var(--shadow-lg);padding:1rem 1.1rem;position:absolute;inset-inline-start:0}.a11y__title{margin-bottom:.7rem;font-size:1rem}.a11y__row{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.55rem;font-size:.92rem;display:flex}.a11y__row .seg__btn{padding-inline:.55rem}.a11y__toggle{cursor:pointer}.a11y__toggle input{accent-color:var(--primary);width:17px;height:17px}.a11y__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:.8rem;padding-top:.7rem;font-size:.88rem;display:flex}@media print{.a11y{display:none}}html[data-a11y-font="1"]{font-size:112.5%}html[data-a11y-font="2"]{font-size:125%}html[data-a11y-spacing=on] body{letter-spacing:.02em;word-spacing:.06em;line-height:1.9}html[data-a11y-links=on] a{text-underline-offset:2px;text-decoration:underline}html[data-a11y-motion=off] *,html[data-a11y-motion=off] :before,html[data-a11y-motion=off] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html[data-a11y-contrast=on]{--text:var(--ink);--muted:var(--text);--faint:var(--muted);--border:var(--border-strong)}html[data-a11y-contrast=on] body{background-image:none}html[data-a11y-contrast=on] .app-main:before{display:none}.feedback-cats{flex-wrap:wrap;gap:.5rem;display:flex}.feedback-cat{border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.9rem;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.feedback-cat:hover{border-color:var(--primary)}.feedback-cat.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.feedback-cat:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}textarea.input{resize:vertical;min-height:120px;font:inherit;line-height:1.6}.info-page{flex:1;width:100%;max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.info-page h1{margin-bottom:1rem}.info-page h2{margin-top:1.6rem;font-size:1.1rem}.info-page ul{color:var(--text);gap:.35rem;padding-inline-start:1.2rem;display:grid}.info-page p{margin-bottom:.6rem}[data-style=simple] .hero{background-image:none}[data-style=simple] .hero:before{display:none}[data-style=simple] .hero__inner{padding-inline-start:1.25rem}.theme-swapping *,.theme-swapping :before,.theme-swapping :after{transition:none!important}.word-report-btn{cursor:pointer;font:inherit;color:var(--primary-strong);text-underline-offset:3px;background:0 0;border:none;border-radius:4px;align-items:center;gap:.3rem;margin-top:.7rem;padding:.2rem .4rem;font-size:.8rem;text-decoration:underline;display:inline-flex}.word-report-btn:hover{color:var(--primary)}.word-report-btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.contact-band{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;padding:1.5rem 1.7rem;display:flex}.hp-field{opacity:0;width:1px;height:1px;position:absolute;inset-inline-start:-9999px}.attach-row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.attach-preview{align-items:flex-start;gap:.7rem;display:flex}.attach-preview img{border-radius:var(--r-sm);border:1px solid var(--border-strong);max-width:220px;max-height:140px;display:block}.nudge{bottom:16px;z-index:90;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(320px,100vw - 32px);box-shadow:var(--shadow-lg);padding:.9rem 1rem;animation:.24s ease-out nudge-in;position:fixed;inset-inline-end:16px}@keyframes nudge-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.nudge__close{top:8px;cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:4px;display:flex;position:absolute;inset-inline-end:8px}.nudge__close:hover{color:var(--ink)}.nudge__title{color:var(--ink);margin:0 0 .2rem;padding-inline-end:36px;font-weight:800}.nudge__text{color:var(--muted);margin:0 0 .7rem;font-size:.88rem}.nudge__actions{gap:.5rem;display:flex}@media print{.nudge{display:none}}.quiz-definition{text-align:center;color:var(--ink);direction:ltr;margin:.4rem 0 .2rem;padding:0 .5rem;font-size:1.35rem;font-weight:700;line-height:1.45}.join-codes{flex-wrap:wrap;gap:.7rem;display:flex}.join-code{border:1.5px dashed var(--border-strong);border-radius:var(--r);background:var(--primary-softer);align-items:center;gap:.9rem;padding:.6rem .9rem;display:flex}.join-code__code{letter-spacing:.14em;color:var(--primary-strong);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.assignment-banner{align-items:center}.assignment-banner .btn{flex:none}.teacher-insights-grid{align-items:start;gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(1.25rem,2.5vw,2rem)}.teacher-insights-top{margin-top:0}.teacher-quick-actions{margin-block:1rem 1.25rem}.learning-prefs-card{text-align:start;width:min(94vw,520px)}:root{--ease-out:cubic-bezier(.2, .75, .25, 1)}::selection{background:var(--primary-soft);color:var(--ink)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}a.card,.card--link,.reading-card,.unit-tile,button.card{transition:border-color .15s, transform .18s var(--ease-out), background .15s}a.card:hover,.card--link:hover,.reading-card:hover,.unit-tile:hover,button.card:hover{border-color:var(--primary);text-decoration:none;transform:translateY(-2px)}a.card:active,.card--link:active,.reading-card:active,.unit-tile:active,button.card:active{transform:translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}.loading{gap:.7rem;animation:.4s both fade-late}.loading:before{content:"";border:2.5px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;flex:none;width:1.15rem;height:1.15rem;animation:.75s linear infinite spin}@keyframes fade-late{0%,40%{opacity:0}to{opacity:1}}.alert{animation:alert-in .28s var(--ease-out) both}@keyframes alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.quiz-option{transition:border-color .13s, background .13s, transform .14s var(--ease-out), opacity .2s}.quiz-option:active:not(:disabled){transform:scale(.99)}.quiz-feedback{animation:rise-in .3s var(--ease-out) backwards}.progress__fill{transition:width .6s var(--ease-out);animation:grow-x .8s var(--ease-out) both;transform-origin:100%}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.input{transition:border-color .15s,box-shadow .15s,background .15s}.input[aria-invalid=true]{border-color:var(--danger)}.dialog-backdrop{z-index:3500;background:var(--scrim);justify-content:center;align-items:center;padding:1rem;animation:.18s both backdrop-in;display:flex;position:fixed;inset:0}.dialog-backdrop.is-closing{animation:.14s both backdrop-out}.dialog{background:var(--surface);width:min(100%,460px);max-height:calc(100vh - 2rem);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:dialog-in .22s var(--ease-out) both;padding:1.25rem 1.35rem 1.1rem;overflow-y:auto}.dialog-backdrop.is-closing .dialog{animation:.14s both dialog-out}.dialog__head{align-items:center;gap:.65rem;margin-bottom:.55rem;display:flex}.dialog__icon{background:var(--primary-soft);width:2.2rem;height:2.2rem;color:var(--primary-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.dialog__title{margin:0;font-size:1.15rem}.dialog__body p{white-space:pre-line;margin:0 0 .6rem;line-height:1.6}.dialog__field{margin-top:.6rem}.dialog__code{letter-spacing:.12em;font-variant-numeric:tabular-nums;max-width:11rem}.dialog__actions{flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;display:flex}.dialog__actions .btn{min-width:7rem}@media (width<=480px){.dialog-backdrop{align-items:flex-end;padding:0}.dialog{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;animation-name:sheet-in}.dialog-backdrop.is-closing .dialog{animation-name:sheet-out}.dialog__actions{flex-direction:column-reverse}.dialog__actions .btn{width:100%}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dialog-out{to{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes sheet-in{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes sheet-out{to{transform:translateY(100%)}}@supports (scrollbar-color:auto){html{scrollbar-color:var(--border-strong) transparent}}.empty-state--hero{animation:rise-in .4s var(--ease-out) backwards;justify-items:center;gap:.35rem;padding:2.6rem 1.25rem;display:grid}.empty-state--hero h2{margin:.4rem 0 0;font-size:1.25rem}.empty-state--hero p{max-width:34rem;margin:0 auto;line-height:1.7}.empty-state__icon{background:var(--primary-soft);width:3.4rem;height:3.4rem;color:var(--primary-strong);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.table-wrap{background:linear-gradient(to left, var(--surface) 30%, transparent) right center / 2.5rem 100% no-repeat local, linear-gradient(to right, var(--surface) 30%, transparent) left center / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 100% 50%, var(--scroll-shadow,#24181224), transparent) right center / .9rem 100% no-repeat scroll, radial-gradient(farthest-side at 0 50%, var(--scroll-shadow,#24181224), transparent) left center / .9rem 100% no-repeat scroll;background-color:var(--surface)}@media (width<=900px){.a11y__button{width:40px;height:40px}.a11y{bottom:12px;inset-inline-start:12px}}.login-screen:not(.login-screen--split)>.login-panel{flex:auto}.not-found-screen{background-color:var(--bg);flex-direction:column;min-height:100vh;display:flex}.not-found-screen__bar{background:var(--surface);border-bottom:1px solid var(--border);padding:.7rem 1.25rem}.not-found-screen main{flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.not-found{justify-content:center;padding-block:clamp(.5rem,3vw,2rem);display:flex}.not-found__sheet{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(100%,620px);animation:rise-in .28s var(--ease-out) backwards;padding:clamp(1.6rem,4vw,2.6rem) clamp(1.2rem,4vw,2.6rem) 1.6rem;position:relative}.not-found__digits{color:var(--ink);letter-spacing:-.03em;direction:ltr;justify-content:center;align-items:center;gap:clamp(.2rem,1.5vw,.6rem);font-size:clamp(4.6rem,16vw,7.5rem);font-weight:800;line-height:1;display:flex}.not-found__lens{width:.92em;height:.92em;color:var(--primary);flex:none}.not-found__glint{stroke:var(--primary-soft)}.not-found__entry{text-align:left;border-radius:var(--r-sm);background:var(--primary-softer);border:1px dashed var(--border-strong);max-width:26rem;margin:1.1rem auto 1.3rem;padding:.75rem 1rem}.not-found__entry p{margin:0}.not-found__word{color:var(--ink);font-size:1.15rem;font-weight:800}.not-found__phon{color:var(--muted);font-size:.9rem;margin-top:.1rem!important}.not-found__def{color:var(--text);margin-top:.35rem!important}.not-found__def:before{content:"1. ";color:var(--primary-strong);font-weight:700}.not-found__title{margin-bottom:.4rem;font-size:clamp(1.35rem,3.6vw,1.7rem)}.not-found__sub{color:var(--muted);max-width:30rem;margin:0 auto .6rem;line-height:1.65}.not-found__path{margin:0 0 1.2rem}.not-found__path code{overflow-wrap:anywhere;background:var(--surface-2);max-width:100%;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem;font-size:.85rem;display:inline-block}.not-found__actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.not-found__report{margin:1.2rem 0 0;font-size:.9rem}.not-found__report a{color:var(--primary-strong);font-weight:700}@media (width<=480px){.not-found__actions .btn{width:100%}}.not-found__entry{width:min(100%,26rem)}.age-declaration{border:1px solid var(--border);border-radius:var(--r);margin:0 0 .9rem;padding:.7rem .9rem .5rem}.age-declaration legend{padding:0 .35rem}.radio-row{cursor:pointer;align-items:flex-start;gap:.55rem;padding:.35rem 0;line-height:1.5;display:flex}.radio-row input{accent-color:var(--primary);flex:none;margin-top:.3rem}.level-filter{scrollbar-width:thin;gap:.45rem;margin:0 0 .6rem;padding:.15rem 0 .6rem;display:flex;overflow-x:auto}.level-filter__btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:.38rem .85rem;font-size:.88rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.level-filter__btn:hover{border-color:var(--primary)}.level-filter__btn.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.level-filter__btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.reading-level{margin:0 0 1.6rem}.reading-level__head{margin:0 0 .7rem}.reading-level__head h2{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .15rem;font-size:1.2rem;display:flex}.reading-level__head p{margin:0;font-size:.9rem}.reading-level__cefr{letter-spacing:.04em;background:var(--primary-soft);color:var(--primary-strong);border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:800}.reading-card__meta{font-size:.8rem}.chip--soft{background:var(--surface-2);color:var(--muted);border-color:var(--border)}.reading-bar{align-items:center}.reading-bar__chips{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.reading-result__score{font-size:2.6rem;font-weight:800;line-height:1.1}.reading-instructions{color:var(--ink);text-align:left;border-inline-start:3px solid var(--primary);background:var(--primary-softer);border-radius:0 var(--r-sm) var(--r-sm) 0;margin:0 0 .8rem;padding:.15rem .7rem;font-weight:700}.reading-glossary{padding:.9rem 1.1rem}.reading-glossary__title{align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:1rem;display:flex}.reading-glossary dl{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.35rem 1rem;margin:0;display:grid}.reading-glossary__row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.2rem 0;display:flex}.reading-glossary dt{color:var(--ink);font-weight:700}.reading-glossary dd{color:var(--text);margin:0}.reading-text{position:relative}.reading-para{padding-inline-start:2rem;position:relative}.reading-para__num{inset-inline-start:0;background:var(--surface-2);width:1.45rem;height:1.45rem;color:var(--muted);font-size:.72rem;font-weight:700;font-family:var(--font);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.1rem}.reading-sentence{border-radius:4px;transition:background .15s,box-shadow .15s}.reading-sentence.is-chosen{background:var(--primary-soft);box-shadow:0 2px 0 var(--primary)}.reading-sentence.is-evidence{background:var(--success-bg);box-shadow:0 2px 0 var(--success)}.reading-sentence__tag{background:var(--primary);min-width:1.05rem;height:1.05rem;color:var(--on-primary);vertical-align:super;border-radius:999px;justify-content:center;align-items:center;margin-inline-start:.15rem;font-size:.65rem;font-weight:800;display:inline-flex}.reading-text.is-picking{box-shadow:0 0 0 3px var(--ring)}.reading-sentence.is-pickable{font:inherit;color:inherit;text-align:inherit;cursor:pointer;line-height:inherit;-webkit-text-decoration:underline dotted var(--border-strong);text-decoration:underline dotted var(--border-strong);text-underline-offset:4px;background:0 0;border:0;margin:0;padding:.05rem .1rem;display:inline}.reading-sentence.is-pickable:hover,.reading-sentence.is-pickable:focus-visible{background:var(--primary-soft);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);outline:none}.reading-pick-banner{top:calc(var(--header-h,4rem) + .5rem);z-index:5;background:var(--ink);color:var(--surface);border-radius:var(--r);animation:alert-in .25s var(--ease-out) both;justify-content:space-between;align-items:center;gap:.6rem;margin:-.2rem 0 .8rem;padding:.55rem .8rem;font-size:.92rem;font-weight:700;display:flex;position:sticky}.reading-pick-banner .btn{color:var(--surface);border-color:#ffffff73}[data-theme=dark] .reading-pick-banner{background:var(--primary);color:var(--on-primary)}[data-theme=dark] .reading-pick-banner .btn{color:var(--on-primary);border-color:#0000004d}.reading-q{position:relative}.reading-q legend{align-items:center;gap:.5rem;width:100%;padding:0 .3rem;font-weight:700;display:flex}.reading-q__num{background:var(--ink);width:1.65rem;height:1.65rem;color:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.reading-q__instruction{color:var(--muted);flex:1;font-size:.88rem;font-weight:700}.reading-q__points{background:var(--danger-bg);color:var(--danger);border-radius:999px;flex:none;padding:.1rem .5rem;font-size:.8rem;font-weight:800}.reading-q__points.is-right{background:var(--success-bg);color:var(--success)}.reading-q__stem{color:var(--ink);text-align:left;margin:.35rem 0 .6rem;font-weight:700;line-height:1.55}.reading-q.is-right{border-color:var(--success-border)}.reading-q.is-missed{border-color:var(--danger-border)}.reading-opt{align-items:flex-start;gap:.55rem;display:flex}.reading-opt__letter{border:1px solid var(--border-strong);width:1.35rem;height:1.35rem;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:.1rem;font-size:.75rem;font-weight:700;display:inline-flex}.reading-opt input{opacity:0;width:1px;height:1px;position:absolute}.reading-opt:has(input:focus-visible){box-shadow:0 0 0 3px var(--ring)}.reading-opt.is-selected .reading-opt__letter{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.reading-opt.is-correct .reading-opt__letter{background:var(--success);border-color:var(--success);color:#fff}.reading-opt.is-wrong .reading-opt__letter{background:var(--danger);border-color:var(--danger);color:#fff}.tf-choice{gap:.6rem;margin:0 0 .6rem;display:flex}.tf-choice__btn{border-radius:var(--r-sm);border:1.5px solid var(--border-strong);background:var(--surface);max-width:10rem;color:var(--ink);font:inherit;letter-spacing:.04em;cursor:pointer;transition:background .15s, border-color .15s, transform .12s var(--ease-out);flex:1;padding:.55rem .8rem;font-weight:800}.tf-choice__btn:hover:not(:disabled){border-color:var(--primary)}.tf-choice__btn:active:not(:disabled){transform:scale(.98)}.tf-choice__btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.tf-choice__btn.is-selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tf-choice__btn.is-correct{background:var(--success-bg);border-color:var(--success);color:var(--success)}.tf-choice__btn.is-wrong{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.tf-choice__btn:disabled{cursor:default}.tf-evidence{justify-items:start;gap:.45rem;display:grid}.tf-evidence__quote{border-inline-start:3px solid var(--primary);background:var(--primary-softer);border-radius:0 var(--r-sm) var(--r-sm) 0;text-align:left;width:100%;margin:0;padding:.5rem .75rem;font-style:italic}.tf-evidence__quote.is-correct{border-color:var(--success);background:var(--success-bg)}.tf-evidence__quote.is-wrong{border-color:var(--danger);background:var(--danger-bg)}.tf-evidence__empty{margin:0;font-size:.88rem}.tf-evidence__answer{text-align:left;margin:0;font-size:.92rem}.reading-table-wrap{margin:0}.reading-table td{vertical-align:middle}.reading-table td:first-child{color:var(--ink);width:42%;font-weight:700}.reading-table__select{width:100%;min-width:9rem}.reading-table tr.is-right td{background:var(--success-bg)}.reading-table tr.is-missed td{background:var(--danger-bg)}.reading-table__fix{color:var(--success);margin-top:.3rem;font-size:.85rem;font-weight:700}.reading-open{resize:vertical;width:100%;min-height:4.5rem;font-family:inherit;line-height:1.5}.reading-open__note{margin:.35rem 0 0;font-size:.82rem}.reading-model{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);text-align:left;margin-top:.6rem;padding:.65rem .85rem}.reading-model p{margin:0 0 .35rem}.reading-model ul{margin:0;padding-inline-start:1.2rem}.reading-submit{z-index:4;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:.8rem;padding:.6rem .8rem;display:flex;position:sticky;bottom:.6rem}@media (width<=720px){.reading-submit{bottom:calc(4.6rem + env(safe-area-inset-bottom,0px))}.reading-para{padding-inline-start:1.7rem}.tf-choice__btn{max-width:none}}.login-card__top{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.login-card__top .lang-switch{margin-inline-start:auto}.login-screen--split .login-card__logo{display:none}@media (width<=900px){.login-screen--split .login-card__logo{display:flex}}.login-card__hint--tight{margin-top:.35rem}.register-closed h1{margin:.9rem 0 .4rem;font-size:1.4rem}.register-closed .form{margin-top:.8rem}#main:focus{outline:none}.login-panel#main{min-width:0}.forgot-card__title{align-items:center;gap:.45rem;margin:0 0 .5rem;font-size:1.05rem;display:flex}.forgot-card__title .icon{color:var(--primary-strong);flex-shrink:0}.forgot-footnote{margin:.4rem 0 0;font-size:.85rem}.feedback-contact{border:1px solid var(--border);border-radius:var(--r-sm);gap:.2rem;margin:0;padding:.8rem .9rem .2rem;display:grid}.feedback-contact legend{padding:0 .3rem}.eyebrow{color:var(--primary-strong);letter-spacing:.02em;margin:0 0 .4rem;font-size:.85rem;font-weight:700;display:block}.cta-band .btn--ghost{color:#fff;background:0 0;border-color:#fff6}.cta-band .btn--ghost:hover,.cta-band .btn--ghost:focus-visible{color:#fff;background:#ffffff1a;border-color:#ffffffa6}.hero__visual .mock-card__bar{flex-wrap:wrap;justify-content:space-between;gap:.5rem}@media (width<=900px){.hero__visual .mock-float--streak{top:-34px}}@media (width<=480px){.hero__visual .mock-float{display:none}}@media (width<=760px){.landing-nav .app-brand__tagline{display:none}.landing-nav__inner{flex-wrap:nowrap}.landing-nav__links{justify-content:flex-end;width:auto;margin-inline-start:auto}}@media (width<=380px){.landing-nav{position:static}}.landing-footer__links{flex-wrap:wrap;align-items:center;gap:0 .35rem;display:flex}.landing-footer a{padding:.35rem .15rem;display:inline-block}.release__version{margin:0;font-size:1.1rem}.release--professional ul{margin-top:.6rem}.release__earlier{color:var(--muted);gap:.35rem;margin:0;padding:.7rem .9rem .7rem 0;padding-inline-start:2rem;display:grid}.legal-page .card{margin-bottom:1rem}.legal-page .card h2{align-items:center;gap:.45rem;margin-top:0;display:flex}.legal-page .card h2 .icon{color:var(--primary-strong);flex-shrink:0}.legal-note{background:var(--primary-softer);border:1px solid var(--primary-soft);color:var(--ink);font-weight:700}:root,[data-theme=dark]{--focus:var(--primary-strong);--radius:var(--r);--success-soft:var(--success-bg)}.stat-card-link{border-radius:var(--r)}.reading-explanation{background:var(--success-bg)}.reading-q{border-radius:var(--r)}a,.tabbar__item.is-active,.section__kicker,.content-review-details summary,.kudos-btn.is-sent,.kudos-btn:hover:not(:disabled),.word-report-btn:hover{color:var(--primary-strong)}.lang-switch__btn.is-active,.nudge__score.is-active,.level-filter__btn.is-active,.tf-choice__btn.is-selected,.seg__btn.is-active,.reading-opt.is-selected .reading-opt__letter,.reading-sentence__tag,[data-theme=dark] .tab.is-active,[data-theme=dark] .step__num,[data-theme=dark] .reading-pick-banner{background:var(--primary-strong);border-color:var(--primary-strong);color:var(--on-primary)}html[data-a11y-contrast=on]{--primary:var(--primary-strong)}.badge--suggestion-pending{background:var(--warn-bg);color:var(--warn)}.badge--suggestion-batched{background:var(--primary-softer);color:var(--primary-strong)}.badge--suggestion-approved{background:var(--success-bg);color:var(--success)}.badge--suggestion-rejected{background:var(--danger-bg);color:var(--danger)}.install-banner{box-shadow:0 -6px 24px #1018281f}body{-webkit-user-select:text;user-select:text}.quiz-card,.quiz-options,.spell-meaning,.mock-word,.mock-options,.reading-q{-webkit-user-select:none;user-select:none}@media (width<=700px){.header-logout{display:none}.header-utility.header-notifications>span.notification-count{display:inline-flex}.header-notifications .notification-dot{display:none}}@media (width<=900px){.a11y{inset-inline-start:12px}}.install-banner__icon{flex:none}.install-banner__share{vertical-align:-2px;margin-inline:.1rem}.update-toast__actions{flex-shrink:0;gap:.4rem;display:flex}@media (width<=560px){.update-toast{flex-wrap:wrap;gap:.6rem .8rem;width:calc(100vw - 24px);max-width:none}.update-toast__body{flex:200px}.update-toast__actions{justify-content:flex-end;width:100%}}.session-note{z-index:150;border-radius:var(--r);background:var(--warn-bg);width:min(520px,100vw - 24px);color:var(--ink);border:1px solid var(--warn-border);box-shadow:var(--shadow);align-items:center;gap:.55rem;padding:.65rem .8rem;font-size:.9rem;line-height:1.45;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.session-note>.icon{color:var(--warn)}.session-note span{flex:1}.session-note__close{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;display:inline-flex}.session-note__close:hover{color:var(--ink)}.session-note__close:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.route-error{min-height:70vh;padding:1rem}.route-error__card,.connection-error{text-align:center;flex-direction:column;align-items:center;gap:.5rem;max-width:440px;display:flex}.route-error__card h1,.connection-error h1{margin:.4rem 0 0;font-size:1.3rem}.route-error__actions{justify-content:center;margin-top:.4rem}.connection-error__lang{margin-top:.6rem}.swatch-name{margin:.45rem 0 0;font-size:.84rem}.mock-card__bar{flex-wrap:wrap;justify-content:space-between;gap:.5rem}.learning-preview__headline span,.learning-preview__step small{color:var(--muted)}@media (width<=900px){.mock-float--streak{top:-34px}}@media (width<=480px){.mock-float{display:none}}.info-shell .landing-nav__links{align-items:center;gap:.5rem;display:flex}.info-page:focus{outline:none}.info-footer__links a,.landing-footer__inner a{padding:.35rem .15rem;display:inline-block}@media (width<=760px){.info-shell .landing-nav__links .lang-switch{margin-inline-end:auto}}.tour-card:focus-within{outline:none}.tour-card .btn:focus-visible{box-shadow:0 0 0 4px var(--ring)}.streak-card__flame.is-cold{background:var(--surface-2);color:var(--faint);border-color:var(--border)}.streak-row--single{grid-template-columns:1fr}.spell-word{row-gap:.4rem;font-size:clamp(1.35rem,6.5vw,2.2rem)}.spell-word__group{white-space:nowrap;gap:2px;display:inline-flex}.placement-meta{flex-wrap:wrap;gap:.6rem}.placement-band{overflow-wrap:anywhere}.settings-page{max-width:640px;margin:0 auto}.settings-group{margin-top:1.6rem}.settings-group:first-of-type{margin-top:.4rem}.settings-group__title{letter-spacing:.04em;color:var(--muted);text-transform:none;border-bottom:1px solid var(--border);margin:0 0 .55rem;padding-bottom:.35rem;font-size:.82rem;font-weight:700}.settings-page .card>h3{align-items:center;gap:.45rem;margin-bottom:.45rem;font-size:1.08rem;display:flex}.settings-page .card>h3 .icon{color:var(--primary-strong);flex:none}.settings-status{margin:.5rem 0 0;font-size:.88rem}.settings-hint{margin:.25rem 0 0;font-size:.86rem}.settings-note{margin:0 0 .6rem;font-size:.88rem}.settings-divider{border-top:1px solid var(--border);margin:1.1rem 0 .9rem}.settings-checks{flex-direction:column;gap:.7rem;display:flex}.settings-checks .checkbox{align-items:flex-start;margin-inline-start:0;line-height:1.45}.settings-checks .checkbox input{flex:none;margin-top:.2rem}.settings-proof{gap:.8rem;max-width:380px;margin-top:.8rem}.settings-code-input{letter-spacing:.06em;max-width:200px}.settings-secret{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);width:fit-content;max-width:100%;color:var(--ink);overflow-wrap:anywhere;margin:.25rem 0 .4rem;padding:.35rem .6rem;font-size:.85rem;display:block}@media (width<=480px){.settings-proof,.settings-code-input{max-width:none}}.progress-legend{margin:.1rem 0 .4rem;font-size:.88rem}.answer-counts{white-space:nowrap;gap:.7rem;display:inline-flex}.answer-counts>span{align-items:center;gap:.2rem;display:inline-flex}.answer-counts>span:first-child .icon{color:var(--success)}.answer-counts>span:last-child .icon{color:var(--danger)}.certificate__logo{flex:none}@media print{html,html[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}html[data-theme=dark] body{color:#374151;background:#fff}.certificate,[data-theme=dark] .certificate{--ink:#111827;--text:#374151;--muted:#6b7280;--faint:#9ca3af;--bg:#fff;--surface:#fff;--surface-2:#f3f4f6;--border:#e5e7eb;--border-strong:#d1d5db;--primary:#2f5be8;--primary-strong:#1f45c9;--primary-soft:#dce6fe;color:#374151;background:#fff}.certificate__border{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;border-color:#2f5be8}.certificate__border:before{border-color:#c7d4f8}.certificate__title{color:#1f45c9}.certificate__name,.certificate__date{color:#111827}.certificate__sub,.certificate__brand,.certificate__sign span{color:#6b7280}.certificate__text{color:#374151}.certificate__line{border-bottom-color:#111827}.certificate .brand-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.stat-card-link{color:inherit;border-radius:var(--r-sm);text-decoration:none;display:block}.stat-card-link:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.stat-card-link:hover .stat-card,.stat-card-link:focus-visible .stat-card{border-color:var(--primary)}.release-hero{border-radius:var(--r)}.teacher-home .plain-list,.teacher-student .plain-list,.teacher-insights .plain-list,.teacher-test .plain-list{gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.teacher-summary h2{margin-top:0}.teacher-summary__grid{margin-top:.4rem}.teacher-summary__note{margin:.7rem 0 0;font-size:.82rem}.teacher-goal{border-top:1px solid var(--border);margin-top:1rem;padding-top:.8rem}.teacher-goal__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.teacher-goal__meta{margin:.4rem 0 0;font-size:.86rem}.teacher-goal__new{margin:1.1rem 0 .2rem;font-size:1rem}.teacher-goal-history{margin-top:1rem}.teacher-goal-history summary{cursor:pointer;color:var(--muted);font-weight:700}.teacher-goal-history summary:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-sm);outline:none}.credentials:focus{outline:none}.credentials:focus-visible{box-shadow:0 0 0 4px var(--ring)}.credentials__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.credentials__head h3{margin:0;font-size:1rem}.credentials__url{color:var(--text);margin:.2rem 0 .7rem;font-size:.9rem}.credentials__secret{letter-spacing:.05em;color:var(--ink);white-space:nowrap;direction:ltr;unicode-bidi:isolate;font-family:Consolas,Cascadia Mono,Courier New,monospace;font-size:1rem;font-weight:700}.credentials .alert[role=note]{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.teacher-students__actions{flex-wrap:wrap;margin:0}.students-table td{vertical-align:top}.students-table tr.is-inactive td{background:var(--surface-2)}.student-link{color:var(--ink);font-weight:700;text-decoration:none}.student-link:hover span{text-decoration:underline}.student-link:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-sm);outline:none}.student-badge{vertical-align:middle;margin-inline-start:.4rem}.student-progress,.student-activity{flex-direction:column;gap:.1rem;min-width:9.5rem;display:flex}.student-progress .muted,.student-activity .muted{font-size:.8rem}.students-legend{margin-top:.6rem;font-size:.8rem}.names-hint{margin:0 0 .6rem;font-size:.85rem}.join-code-form{align-items:end;margin-bottom:.4rem}.join-code-form__help{margin:0 0 .8rem;font-size:.8rem}.join-code__meta{font-size:.82rem}.qr-modal .join-code__code{text-align:center;font-size:2.4rem}.qr-modal__or{margin:.6rem 0 .1rem}.qr-modal__url{color:var(--ink);margin:0;font-family:Consolas,Courier New,monospace;font-size:1.05rem}@media (width<=600px){.students-table .col-username{display:none}.teacher-students__actions .btn{flex:auto;justify-content:center}}.back-link{align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.teacher-student__meta{margin:.2rem 0 0}.teacher-student__badges{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;display:flex}.teacher-student__badges:empty{display:none}.teacher-student__facts li{color:var(--text)}.insights-days__bars{height:64px}.insights-days__labels{justify-content:space-between;margin-top:.25rem;font-size:.75rem;display:flex}.insights-days__table{margin-top:.4rem;font-size:.86rem}.insights-days__table summary{cursor:pointer;color:var(--muted)}.insights-days__table summary:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-sm);outline:none}.insights-wrong{color:var(--danger)}.sent-tests__item{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem 0;display:flex}.sent-tests__item:last-child{border-bottom:0}.teacher-words__mine{align-self:end;margin-bottom:.55rem}.content-review-table .review-note{max-width:320px;color:var(--muted);overflow-wrap:anywhere;unicode-bidi:isolate;margin-top:.35rem;font-size:.78rem;display:block}.content-review-details__label{color:var(--muted);font-weight:700}.content-review-details small{margin-top:.3rem;display:block}.content-review-filters{grid-template-columns:2fr 1fr}.content-review-hint{margin:-.25rem 0 1rem}.content-review-head{flex-wrap:wrap;align-items:baseline;gap:.75rem}.content-review-table .row-actions,.school-students-table .row-actions{flex-wrap:wrap}.table-wrap.is-refreshing{opacity:.6;transition:opacity .15s}@media (prefers-reduced-motion:reduce){.table-wrap.is-refreshing{transition:none}}.pager{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.9rem;display:flex}.pager__num{font-variant-numeric:tabular-nums;justify-content:center;min-width:2.25rem}.pager__num[aria-current=page]{cursor:default;opacity:1}.pager__gap{color:var(--muted);padding:0 .15rem}.reject-row td,.transfer-row td{background:var(--surface-2)}.reject-row__form,.transfer-row__form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.reject-row__form .field{flex:280px;margin:0}.transfer-row__form .field{flex:0 320px;margin:0}.reject-row__form textarea{resize:vertical;min-height:2.6rem}.passage-preview{gap:1rem;padding:.5rem 0;display:grid}.passage-preview__label{color:var(--muted);margin-bottom:.2rem;font-size:.78rem;font-weight:700;display:block}.passage-preview__titles p{margin:.1rem 0}.passage-preview__text{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);text-align:left;padding:.9rem 1rem}.passage-preview__text p{margin:0 0 .6rem}.passage-preview__glossary ul{margin:0;padding-inline-start:1.2rem}.passage-preview__questions{gap:.9rem;margin:0;padding-inline-start:1.4rem;display:grid}.passage-preview__questions>li{border-bottom:1px solid var(--border);padding-bottom:.8rem}.passage-preview__questions .chip{margin-bottom:.35rem}.passage-preview__q{text-align:left}.passage-preview__options{margin:.35rem 0 0;padding-left:1.2rem;padding-right:0}.passage-preview__options li.is-answer{color:var(--success);font-weight:700}.passage-preview .answer-mark{vertical-align:-2px;color:var(--success);margin-left:.3rem}.passage-preview__table{margin-top:.5rem}.passage-preview__table th,.passage-preview__table td{text-align:left;vertical-align:top}.passage-preview__open ul,.passage-preview__tf ul{margin:.2rem 0 0;padding-inline-start:1.2rem}.passage-preview__tf li[dir=ltr]{text-align:left}.passage-preview__open p,.passage-preview__tf p{margin:.35rem 0}.passage-preview-row>td{background:var(--surface-2)}.filters--4{grid-template-columns:2fr 1fr 1fr 1fr}.filters__full{grid-column:1/-1}.filters--4 .checkbox,.modal .checkbox{margin:0}.practice-blocked{max-width:220px;font-size:.8rem;line-height:1.35;display:inline-block}.review-note-line{overflow-wrap:anywhere;margin:-.25rem 0 .75rem}.modal textarea.input{resize:vertical}.admin-home__review{margin:.6rem 0 0}.admin-home__links{margin-bottom:1.5rem}.admin-home__schools-head{margin-top:.5rem}.school-users-search{min-width:220px;margin:0}.form-hint{margin-top:.5rem}.danger-zone{border-color:var(--danger-border)}.danger-zone h2{color:var(--danger)}.school-home__note{margin:.5rem 0 0;font-size:.85rem}.school-students-table td{white-space:nowrap}.school-students-table td:first-child{white-space:normal;min-width:170px}.school-students-table tr.is-disabled td{color:var(--muted)}@media (width<=760px){.filters--4,.content-review-filters{grid-template-columns:1fr}.pager{justify-content:center}.school-users-search{width:100%;min-width:0}.reject-row__form,.transfer-row__form{flex-direction:column;align-items:stretch}.reject-row__form .field,.transfer-row__form .field{flex:none}}.table-wrap{position:relative}fieldset{min-width:0}.tour-backdrop--dim{background:var(--scrim)}.tour-backdrop--clear{touch-action:pinch-zoom}.tour-card{opacity:0;transition:opacity .15s;top:0;left:0}.tour-card.is-ready,.tour-card--center{opacity:1}@media (prefers-reduced-motion:reduce){.tour-spotlight,.tour-card{transition:none}}.retention-notice{border-inline-start:4px solid var(--primary-strong,var(--primary));margin-bottom:1rem}.retention-notice h2{align-items:center;gap:.45rem;margin:0 0 .4rem;font-size:1.05rem;display:flex}.retention-notice p{margin:0 0 .75rem}.retention-notice.is-done{color:var(--success);align-items:center;gap:.5rem;font-weight:700;display:flex}.live-banner{text-align:start;background:var(--primary-softer);color:var(--ink);border-bottom:1px solid var(--primary-soft);justify-content:center;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.9rem;font-weight:400;line-height:1.5;display:flex}.live-banner .icon{color:var(--primary)}.live-banner a{color:var(--primary-strong);font-weight:700;text-decoration:underline}.teacher-live .live-meta{align-self:center;margin:0}.teacher-live .live-note{margin-top:.75rem;font-size:.85rem}.teacher-live .live-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.live-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.live-row{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.live-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:700}.live-state{white-space:nowrap;font-size:.85rem}.live-state .muted{font-size:inherit;color:inherit;opacity:.8}.live-dot{background:var(--muted);border-radius:50%;flex:none;width:.7rem;height:.7rem}.live-row--active .live-dot{background:var(--success)}.live-row--active .live-state{color:var(--success)}.live-row--away{border-color:var(--danger-border);background:var(--danger-bg)}.live-row--away .live-dot{background:var(--danger)}.live-row--away .live-state{color:var(--danger);font-weight:700}.live-row--offline .live-state{color:var(--muted)}@media print{.live-banner{display:none}}.legal-page section[id]{scroll-margin-top:5.5rem}:where(button,a,summary,input,select,textarea,[tabindex]):focus-visible,.btn:focus-visible,.quiz-option:focus-visible,.mock-option:focus-visible,.lang-switch__btn:focus-visible,.th-sort:focus-visible,.app-user__profile:focus-visible,.seg__btn:focus-visible,.speak-btn:focus-visible,.a11y__button:focus-visible{outline:3px solid var(--primary-strong);outline-offset:2px}.input:focus-visible{outline:3px solid var(--primary-strong);outline-offset:1px}.info-page p a,.info-page li a,.legal-page p a,.legal-page li a,.muted a,p a:not(.btn){text-underline-offset:2px;text-decoration:underline}:root{--input-border:#8a94a6;--scroll-shadow:#1018281f}[data-theme=dark]{--input-border:#4a5674;--scroll-shadow:#00000080}.input{border-color:var(--input-border)}@media (width<=820px){.input,select.input,textarea.input{font-size:16px}}.password-field__toggle{justify-content:center;min-width:40px;min-height:40px}.tabbar__item{font-size:max(.72rem,11.5px)}.live-banner{z-index:60;position:relative}.offline-banner{background:var(--warn-bg);color:var(--warn);text-align:center;border-bottom:1px solid var(--warn-border);padding:.5rem 1rem;font-size:.88rem;font-weight:700}@media print{.offline-banner{display:none}}@media (hover:none),(pointer:coarse){.quiz-hint{display:none}}@media (width<=480px){.teacher-live .stat-card{padding:.6rem .4rem}.teacher-live .stat-card__value{font-size:1.25rem}.teacher-live .stat-card__label{font-size:.74rem}}.filters--4 .checkbox{margin:0}.filters--4 .teacher-words__mine{margin-bottom:.55rem}.nudge__hint{margin:0 0 .5rem;font-size:.78rem}.reading-text{scroll-margin-top:calc(var(--header-h,4rem) + 1rem)}.reading-opt__mark{flex:none;margin-inline-start:auto;font-weight:800}.reading-opt.is-correct .reading-opt__mark{color:var(--success)}.reading-opt.is-wrong .reading-opt__mark{color:var(--danger)}.reading-q__options .reading-sentence.is-pickable,.reading-text .reading-sentence.is-pickable{display:inline}@media (width<=720px){.reading-table tr{padding:.5rem 0;display:block}.reading-table td{border:0;width:100%;padding:.2rem .5rem;display:block}.reading-table td:first-child{width:100%}.reading-table__select{width:100%;min-width:0}}.spell-word:has(.spell-input:focus){outline:2px solid var(--primary-strong);outline-offset:4px;border-radius:4px}.spell-word{max-width:100%}@media print{.flashcard__side--en{border-inline-end:0}.flashcard__side:not(.flashcard__side--en){border-inline-start:1.5px dashed #9aa3b5}}[data-theme=dark] .quiz-option.is-correct .quiz-option__num,[data-theme=dark] .mock-option.is-right .mock-option__num,[data-theme=dark] .reading-opt.is-correct .reading-opt__letter{color:var(--success-bg)}[data-theme=dark] .quiz-option.is-wrong .quiz-option__num{color:var(--danger-bg)}html[data-a11y-spacing=on] :is(p,li,label,dd,td,th,blockquote,.reading-text,.reading-q__stem,.quiz-definition,.quiz-option__text,.dialog__body p,.passage-preview__text p,textarea){line-height:1.9!important}.release__section+.release__section{margin-top:1rem}.release__section h3{color:var(--primary);margin:0 0 .4rem;font-size:1rem}.release__title{margin:.2rem 0 .6rem;font-weight:700}.app-brand__subject{color:var(--primary-strong);background:var(--primary-soft);vertical-align:.12em;letter-spacing:0;direction:rtl;unicode-bidi:isolate;border-radius:999px;margin:0 .4rem 0 0;padding:.05rem .5rem;font-size:.78rem;font-weight:800}.hub-hero{padding:4.5rem 1.25rem 3rem}.hub-hero__inner{text-align:center;max-width:760px;margin:0 auto}.hub-hero__kicker{color:var(--primary-strong);background:var(--primary-softer);border-radius:999px;margin-bottom:1rem;padding:.3rem .85rem;font-size:.88rem;font-weight:700;display:inline-block}.hub-hero__title{margin-bottom:.9rem;font-size:clamp(2rem,6vw,3.2rem);line-height:1.15}.hub-hero__sub{color:var(--text);max-width:620px;margin:0 auto;font-size:1.1rem}.hub-subjects,.hub-schools{max-width:1040px;margin:0 auto;padding:1rem 1.25rem 2.5rem}.hub-subjects>h2,.hub-schools>h2{text-align:center;margin-bottom:1.25rem}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.hub-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:.4rem;padding:1.4rem 1.2rem 1.2rem;display:flex;position:relative;overflow:hidden}.hub-card__stripe{background:var(--subject);height:6px;position:absolute;inset:0 0 auto}.hub-card h3{color:var(--ink);margin:.2rem 0 0;font-size:1.25rem}.hub-card p{color:var(--muted);flex:1;margin:0 0 .6rem}.hub-card__btn{background:var(--subject);color:#fff;border-color:var(--subject);align-self:flex-start}.hub-card__btn:hover{filter:brightness(.92);text-decoration:none}.hub-card__soon{color:var(--muted);border:1px dashed var(--border-strong);border-radius:999px;align-self:flex-start;padding:.2rem .7rem;font-size:.85rem;font-weight:700}.hub-card.is-soon{opacity:.85}.hub-schools{text-align:center}.hub-schools p{max-width:620px;color:var(--text);margin:0 auto 1rem}@media (width<=520px){.hub-hero{padding-top:3rem}}:root{--lead-bg:linear-gradient(135deg, var(--hero-a), var(--hero-b));--lead-shadow:0 10px 28px -12px #2f5be88c;--on-lead-muted:#e8eeff}body{background-color:var(--bg);color:var(--text);font-family:var(--font)}h1,h2,h3,h4{color:var(--ink);font-family:var(--font)}h1{letter-spacing:-.015em;font-size:1.6rem;font-weight:800;line-height:1.2}h2{letter-spacing:-.01em;font-size:1.2rem;font-weight:700}h3{font-size:1.02rem;font-weight:700}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}.muted{color:var(--muted)}a{color:var(--primary)}:focus-visible{outline-color:var(--primary)}.page__head{margin-bottom:1.35rem}.page__head h1{margin-bottom:.3rem}.page__head>p,.page__head .muted{max-width:65ch;color:var(--muted);margin:0}.card,.nav-card,.quiz-card,.guide-card,.badge-card,.table-wrap,.banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.card{padding:1.25rem 1.3rem}.nav-card{transition:box-shadow .2s,border-color .2s,transform .2s}@media (hover:hover) and (pointer:fine){.nav-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-2px)}}.nav-card__icon{background:var(--primary-softer);width:44px;height:44px;color:var(--primary);border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.nav-card{color:var(--text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.1rem .95rem;padding:1rem 1.15rem;text-decoration:none;display:grid}.nav-card .nav-card__icon{grid-area:1/1/span 2;margin:0}.nav-card h3{grid-area:1/2;align-self:end;margin:0;font-size:1rem;line-height:1.3}.nav-card p{color:var(--muted);grid-area:2/2;align-self:start;margin:0;font-size:.86rem;line-height:1.5}.nav-card:after{content:"";background-color:var(--muted);grid-area:1/3/span 2;width:18px;height:18px;transition:background-color .15s;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") 50%/contain no-repeat}.nav-card:hover:after{background-color:var(--primary)}.nav-card:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--muted)}.empty-state__icon{background:var(--primary-softer);color:var(--primary);border-radius:50%}.banner--info{background:var(--surface)}.banner--success{border-color:var(--success-border);background:var(--surface)}.banner__icon{background:var(--primary-softer);color:var(--primary);border-radius:50%}.banner--success .banner__icon{background:var(--success-bg);color:var(--success)}.guide-card__head h3{color:var(--ink)}.card.next-action,.card.weekly-path{background:var(--lead-bg);color:#fff;box-shadow:var(--lead-shadow);isolation:isolate;border:0;position:relative;overflow:hidden}.card.next-action:after,.card.sprint-lead:after,.class-goal .class-goal__card:after{content:"";z-index:-1;pointer-events:none;inset-inline-start:-4rem;background:#ffffff14;border-radius:50%;width:14rem;height:14rem;position:absolute;bottom:-7rem}.card.next-action :is(h2,h3,p,.next-action__sub,.next-action__meta){color:#fff}.card.next-action :is(.next-action__sub,.next-action__meta){color:var(--on-lead-muted)}.card.next-action .badge{color:#fff;background:#ffffff2e;border-color:#0000}.card.next-action .btn--primary{color:var(--hero-a);box-shadow:none;background:#fff;border-color:#fff}.card.next-action .btn--primary:hover:not(:disabled){background:var(--on-gradient-hover);border-color:var(--on-gradient-hover);color:var(--hero-a)}.card.next-action .btn:focus-visible{outline-color:#fff}.btn{border-radius:var(--r);min-height:42px;font-family:var(--font);background-image:none;border:1.5px solid #0000;padding:.55rem 1.05rem;font-size:.94rem;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5}.btn--sm{border-radius:var(--r-sm);min-height:34px;padding:.3rem .75rem;font-size:.85rem}.btn--lg{border-radius:var(--r);min-height:50px;padding:.65rem 1.4rem;font-size:1rem}.btn--primary{background-color:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px #10182814}.btn--primary:hover:not(:disabled){background-color:var(--primary-strong);border-color:var(--primary-strong);color:var(--on-primary)}.btn--ghost{background-color:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn--ghost:hover:not(:disabled){background-color:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}.btn--secondary{background-color:var(--primary-softer);color:var(--primary-strong);box-shadow:none;border-color:#0000}.btn--secondary:hover:not(:disabled){background-color:var(--primary-soft);color:var(--primary-strong)}.btn--danger{background-color:var(--surface);border-color:var(--danger-border);color:var(--danger)}.btn--danger:hover:not(:disabled){background-color:var(--danger-bg)}.btn--danger-solid{background-color:var(--danger);border-color:var(--danger);color:var(--on-danger)}.btn--danger-solid:hover:not(:disabled){background-color:color-mix(in srgb, var(--danger) 86%, #000);border-color:color-mix(in srgb, var(--danger) 86%, #000);color:var(--on-danger)}.input,select.input,textarea.input{border-radius:var(--r);background-color:var(--surface-2);min-height:46px;color:var(--ink);font-family:var(--font);border:1.5px solid #0000;transition:background-color .15s,border-color .15s,box-shadow .15s}.input::placeholder{color:var(--muted);opacity:1}.input:hover{border-color:var(--border-strong)}.input:focus{background-color:var(--surface);border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}.field__label{color:var(--ink);font-size:.88rem;font-weight:700}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}.badge,.chip{background:var(--surface-2);color:var(--text);border:1px solid #0000;border-radius:999px;font-weight:700}.badge--learning{background:var(--primary-softer);color:var(--primary-strong)}.badge--known{background:var(--success-bg);color:var(--success)}.badge--difficult{background:var(--danger-bg);color:var(--danger)}.badge--new{background:var(--surface-2);color:var(--muted)}.role-badge{background:var(--primary-softer);color:var(--primary-strong)}.stat-card{--tone:var(--primary);--tone-bg:var(--primary-softer);text-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow);color:var(--text);flex-direction:column;align-items:flex-start;gap:2px;padding:16px 18px;display:flex}.stat-card .stat-card__value{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:800;line-height:1.15}.stat-card .stat-card__label{color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}.stat-card .stat-card__icon{color:var(--tone);background:var(--tone-bg);box-sizing:content-box;border-radius:50%;margin-bottom:8px;padding:10px}.stat-card--known{--tone:var(--success);--tone-bg:var(--success-bg)}.stat-card--learning{--tone:var(--primary);--tone-bg:var(--primary-softer)}.stat-card--difficult{--tone:var(--danger);--tone-bg:var(--danger-bg)}.stat-card--new{--tone:var(--muted);--tone-bg:var(--surface-2)}.stat-card--known .stat-card__value{color:var(--success)}.stat-card--difficult .stat-card__value{color:var(--danger)}.progress{background:var(--surface-2);border:0;border-radius:999px;height:10px}.progress__fill{background:var(--primary);border-radius:999px}.progress__label{font-size:.72rem}.seg{background:var(--surface-2);border:0;border-radius:999px;padding:3px}.seg__btn{color:var(--muted);border-radius:999px;font-weight:700;transition:background-color .18s,color .18s,box-shadow .18s}.seg__btn.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1018281f}[data-theme=dark] .seg__btn.is-active{background:var(--border-strong)}.table th,.table td{padding:.8rem 1rem}.table th{background:var(--surface-2);color:var(--muted);font-weight:700}.table td{border-bottom-color:var(--border)}.table tbody tr:hover td{background:var(--primary-softer)}.students-table td.student-progress,.students-table td.student-activity{display:table-cell}.student-progress>*,.student-activity>*{display:block}.quiz-card{padding:1.4rem 1.4rem 1.2rem}.quiz-word{letter-spacing:-.01em;color:var(--ink);font-weight:800}.quiz-option{background:var(--surface);border:1.5px solid var(--border);min-height:54px;color:var(--ink);border-radius:14px;transition:border-color .15s,background-color .15s,box-shadow .15s}@media (hover:hover) and (pointer:fine){.quiz-option:hover:not(:disabled){border-color:var(--primary);background-color:var(--primary-softer)}}.quiz-option__num{background:var(--surface-2);color:var(--muted);border:0;border-radius:50%}.quiz-option.is-selected{border-color:var(--primary);background-color:var(--primary-softer)}.quiz-option.is-correct{border-color:var(--success);background-color:var(--success-bg)}.quiz-option.is-correct .quiz-option__num{background:var(--success);color:#fff}.quiz-option.is-wrong{border-color:var(--danger);background-color:var(--danger-bg)}.page{animation:.28s backwards core-enter}@keyframes core-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.app-brand--link,.app-brand--link:hover,.app-brand--link:focus,html[data-a11y-links=on] .app-brand--link{text-decoration:none}.app-brand--link:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:12px;outline:none}.app-brand__title{letter-spacing:-.01em;font-weight:800}.brand-mark stop:first-child{stop-color:var(--hero-a)}.brand-mark stop:last-child{stop-color:var(--hero-b)}.brand-mark .brand-mark__spark{fill:#fff;stroke:none}.app-brand__subject{background:var(--primary-softer);color:var(--primary-strong)}:root{--side-w:252px;--tabbar-h:68px;--install-h:112px}.app-shell .app-header__inner{gap:.5rem;max-width:1240px;min-height:60px;padding:.5rem 1.25rem}.app-shell .app-brand--link{border-radius:var(--r);margin-inline-start:-6px;padding:4px 6px}.app-shell .app-brand__title{letter-spacing:.005em;color:var(--ink);font-size:1.15rem;font-weight:800}.app-shell .app-brand--link:hover .app-brand__title{color:var(--ink)}.app-shell .app-brand--link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:none}@media (width>=1121px){.app-shell:not(.app-shell--staff) .app-nav{gap:2px;margin-inline-start:.9rem}.app-shell:not(.app-shell--staff) .app-nav__link{color:var(--muted);border-radius:10px;padding:.5rem .8rem;font-size:.92rem;font-weight:700;transition:background-color .15s,color .15s}.app-shell:not(.app-shell--staff) .app-nav__link:hover{background:var(--surface-2);color:var(--ink)}.app-shell:not(.app-shell--staff) .app-nav__link.is-active{background:var(--primary-softer);color:var(--primary-strong);box-shadow:none}}@media (width>=1121px) and (width<=1280px){.app-shell:not(.app-shell--staff) .app-nav__link{padding:.5rem .62rem;font-size:.9rem}}.app-shell .app-user{gap:.4rem}.app-shell .app-user__profile{border-radius:var(--r);gap:.55rem;padding:4px 6px}.app-shell .app-user__profile:hover{background:var(--surface-2)}.app-shell .app-user__name{font-size:.9rem;font-weight:700}.app-shell .app-user__fullname{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.app-shell .app-header .btn--sm{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);box-shadow:none;gap:.45rem;padding:0 .8rem;font-size:.86rem;font-weight:700}.app-shell .app-header .btn--sm:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}.app-shell .header-notifications .notification-dot{display:none}.app-shell .notification-count{background:var(--primary-softer);color:var(--primary-strong)}.app-shell .nav-toggle{border-radius:var(--r);background:var(--surface-2);width:44px;min-width:44px;height:44px;color:var(--ink);border:0;justify-content:center;align-items:center;padding:0;transition:background-color .18s,color .18s;display:none}.app-shell .nav-toggle:hover,.app-shell .nav-toggle[aria-expanded=true]{background:var(--primary-softer);color:var(--primary-strong)}.nav-toggle__bars{width:18px;height:14px;display:block;position:relative}.nav-toggle__bars i{background:currentColor;border-radius:2px;height:2px;transition:top .22s,transform .22s,opacity .16s;position:absolute;inset-inline:0}.nav-toggle__bars i:first-child{top:0}.nav-toggle__bars i:nth-child(2){top:6px}.nav-toggle__bars i:nth-child(3){top:12px}.nav-toggle[aria-expanded=true] .nav-toggle__bars i:first-child{top:6px;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars i:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bars i:nth-child(3){top:6px;transform:rotate(-45deg)}@media (width<=1120px){.app-shell .app-header__inner{flex-wrap:wrap}.app-shell .nav-toggle{order:3;margin-inline-start:auto;display:inline-flex}.app-shell .app-user{order:4;margin-inline-start:0}.app-shell .app-user__name{display:none}.app-shell .app-nav{top:calc(100% + 8px);z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(360px,100vw - 24px);box-shadow:var(--shadow-lg);overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;gap:2px;max-height:calc(100dvh - 88px);margin:0;padding:8px;transition:opacity .2s,transform .2s,visibility 0s linear .2s;display:flex;position:absolute;inset-inline-start:12px;overflow-y:auto;transform:translateY(-6px)}.app-shell .app-nav--open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,transform .2s,visibility;transform:none}.app-shell .app-nav__link{border-radius:var(--r);min-height:46px;color:var(--text);align-items:center;gap:.8rem;padding:.7rem .9rem;font-size:.96rem;font-weight:700;transition:background-color .15s,color .15s;display:flex}.app-shell .app-nav__link:hover{background:var(--surface-2);color:var(--ink)}.app-shell .app-nav__link.is-active{background:var(--primary-softer);color:var(--primary-strong);box-shadow:none}.app-shell .app-nav__icon{opacity:1;width:20px;height:20px;color:var(--muted);display:inline-flex}.app-shell .app-nav__link.is-active .app-nav__icon{color:var(--primary)}.app-shell .app-nav--open .app-nav__link{animation:.22s both shell-nav-link-in}.app-shell .app-nav--open .app-nav__link:nth-child(2){animation-delay:20ms}.app-shell .app-nav--open .app-nav__link:nth-child(3){animation-delay:40ms}.app-shell .app-nav--open .app-nav__link:nth-child(4){animation-delay:60ms}.app-shell .app-nav--open .app-nav__link:nth-child(5){animation-delay:80ms}.app-shell .app-nav--open .app-nav__link:nth-child(6){animation-delay:.1s}.app-shell .app-nav--open .app-nav__link:nth-child(7){animation-delay:.12s}.app-shell .app-nav--open .app-nav__link:nth-child(n+8){animation-delay:.14s}}@keyframes shell-nav-link-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.app-shell .app-nav .app-nav__link--logout{display:none}@media (width<=700px){.app-shell .app-nav .app-nav__link--logout{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--r) var(--r);width:100%;color:var(--muted);text-align:start;cursor:pointer;background:0 0;margin-top:6px;padding-top:.7rem;font-family:inherit;display:flex}.app-shell .app-nav .app-nav__link--logout:hover{background:var(--surface-2);color:var(--ink)}.app-shell .app-header__inner{gap:.3rem;padding:.45rem .85rem}.app-shell .app-user{gap:.15rem}.app-shell .app-user__profile{justify-content:center;min-width:40px;min-height:40px;padding:0}.app-shell .app-header .btn--sm{background:0 0;border-color:#0000;min-width:40px;padding:0 .6rem}.app-shell .app-header .btn--sm:hover:not(:disabled){background:var(--surface-2);border-color:#0000}}@media (width<=400px){.app-shell .app-header__inner{gap:.15rem;padding-inline:.6rem}.app-shell .app-brand{gap:.4rem}.app-shell .app-brand__subject{margin-right:.25rem;padding-inline:.4rem;font-size:.7rem}.app-shell .nav-toggle{width:40px;min-width:40px;height:40px}.app-shell .app-user{gap:0}}@media (width<=340px){.app-shell .header-feedback{display:none}}@media (width>=1121px){:root:has(.app-shell--staff){--header-h:0rem}.app-shell--staff{padding-inline-start:var(--side-w)}.app-shell--staff .app-header{z-index:70;background:0 0;border:0;position:relative;top:auto;overflow:visible}.app-shell--staff .app-header__inner{z-index:70;width:var(--side-w);background:var(--panel);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;border-inline-end:1px solid #ffffff14;flex-flow:column;align-items:stretch;gap:0;max-width:none;min-height:0;margin:0;padding:18px 14px 14px;display:flex;position:fixed;inset-block:0;inset-inline-start:0;overflow-y:auto}.app-shell--staff .nav-toggle{display:none}.app-shell--staff .app-header__inner :is(a,button):focus-visible{outline-offset:-2px;box-shadow:none;outline:2px solid #fff}.app-shell--staff .app-brand--link{border-bottom:1px solid #ffffff1a;border-radius:0;flex:none;margin:0 0 14px;padding:2px 8px 18px}.app-shell--staff .app-brand__title,.app-shell--staff .app-brand--link:hover .app-brand__title{color:#fff;font-size:1.25rem}.app-shell--staff .app-brand__subject{color:#fff;background:#ffffff24}.app-shell--staff .app-nav{flex-direction:column;flex:1 0 auto;gap:2px;margin:0;padding:0;display:flex}.app-shell--staff .app-nav__link{border-radius:var(--r);min-height:44px;color:var(--panel-text);align-items:center;gap:12px;padding:10px 14px;font-size:.95rem;font-weight:700;transition:background-color .15s,color .15s;display:flex;position:relative}.app-shell--staff .app-nav__icon{opacity:1;width:20px;height:20px;color:inherit;display:inline-flex}.app-shell--staff .app-nav__link:hover{color:#fff;background:#ffffff14}.app-shell--staff .app-nav__link.is-active{color:#fff;box-shadow:none;background:#ffffff1f}.app-shell--staff .app-nav__link.is-active .app-nav__icon{color:#fff}.app-shell--staff .app-nav__link.is-active:before{content:"";background:var(--primary-lift);border-start-end-radius:3px;border-end-end-radius:3px;width:3px;position:absolute;inset-block:9px;inset-inline-start:-14px}.app-shell--staff .app-nav .app-nav__link--logout{display:none}.app-shell--staff .app-user{border-top:1px solid #ffffff1a;flex-direction:column;flex:none;order:0;align-items:stretch;gap:2px;margin:12px 0 0;padding-top:12px}.app-shell--staff .app-user__profile{color:#fff;border-radius:var(--r);gap:12px;min-height:54px;padding:8px 10px}.app-shell--staff .app-user__profile:hover{background:#ffffff14}.app-shell--staff .app-user__profile .avatar{color:var(--panel-text);background:#ffffff1a;border-color:#ffffff38}.app-shell--staff .app-user__name{color:#fff;flex-direction:column;flex:1;align-items:flex-start;gap:1px;min-width:0;font-size:.92rem;line-height:1.25;display:flex}.app-shell--staff .app-user__fullname{max-width:100%}.app-shell--staff .app-user__name .role-badge{color:var(--panel-text);background:0 0;padding:0;font-size:.78rem;font-weight:400}.app-shell--staff .app-header .app-user .btn{border-radius:var(--r);width:100%;min-height:42px;box-shadow:none;color:var(--panel-text);background:0 0;border:0;justify-content:flex-start;gap:12px;padding:0 14px;font-size:.93rem;font-weight:700}.app-shell--staff .app-header .app-user .btn span{font-size:inherit}.app-shell--staff .app-header .app-user .btn:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#0000}.app-shell--staff .app-header .app-user .btn span.notification-count{color:#fff;background:#ffffff29;margin-inline-start:auto;font-size:.74rem}.app-shell--staff .header-error{margin-top:12px}body:has(.app-shell--staff) .a11y{inset-inline-start:calc(var(--side-w) - 14px - 46px);bottom:12px}}@media print{.app-shell--staff{padding-inline-start:0}}.app-shell .header-error{background:var(--surface);width:min(640px,100% - 24px);max-width:none;color:var(--ink);text-align:start;border:1px solid var(--danger-border);border-radius:var(--r-lg);box-shadow:var(--shadow);align-items:center;gap:10px;margin:0 auto 10px;padding:10px 14px;font-size:.9rem;font-weight:700;line-height:1.45;animation:.22s both shell-pop-in;display:flex}.app-shell .header-error.offline-banner{border-color:var(--warn-border)}.header-error__icon{background:var(--danger-bg);width:30px;height:30px;color:var(--danger);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.offline-banner .header-error__icon{background:var(--warn-bg);color:var(--warn)}.app-shell .tabbar{box-sizing:border-box;min-height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);align-items:stretch;gap:4px;box-shadow:0 -8px 18px -12px #10182824}[data-theme=dark] .app-shell .tabbar{box-shadow:0 -8px 18px -12px #0009}.app-shell .tabbar__item{min-width:0;color:var(--muted);white-space:nowrap;border-radius:14px;flex:1 1 0;justify-content:center;gap:3px;padding:6px 2px;font-weight:700;transition:background-color .18s,color .18s,transform .1s}.app-shell .tabbar__item:active{transform:scale(.98)}.app-shell .tabbar__item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:none}.app-shell .tabbar__item.is-active{background:var(--primary-softer);color:var(--primary)}@media (width<=720px){.app-shell.has-tabbar .app-main{padding-bottom:1.5rem}.app-shell.has-tabbar .app-footer{padding-bottom:calc(var(--tabbar-h) + 1rem + env(safe-area-inset-bottom,0px))}}.app-shell .app-footer{border-top:1px solid var(--border);color:var(--muted);background:0 0;gap:.3rem;padding:1.4rem 1.25rem 1.6rem;font-size:.85rem}.app-shell .app-footer__links{flex-wrap:wrap;justify-content:center;gap:0 1.2rem;display:flex}.app-shell .app-footer a{color:var(--muted);padding:.35rem .1rem;font-weight:400;display:inline-block}.app-shell .app-footer a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.app-shell .app-footer__brand{color:var(--muted);font-size:.78rem}@media (width<=520px){.app-shell .app-footer__links{grid-template-columns:repeat(3,max-content);justify-content:center;justify-items:center;gap:0 1.6rem;display:grid}.app-shell .app-footer a{align-items:center;min-height:40px;padding:0 .1rem;display:inline-flex}}.guide-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:20px;padding:18px 20px 20px;animation:.24s both shell-pop-in}.guide-card__head{align-items:center;gap:12px}.guide-card__head h3{color:var(--ink);align-items:center;gap:12px;font-size:1.05rem;font-weight:700;display:flex}.guide-card__icon{background:var(--primary-softer);width:36px;height:36px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.guide-card__head h3 .icon{color:inherit}.guide-card .guide-card__close{background:var(--surface-2);width:36px;height:36px;min-height:36px;color:var(--muted);border-color:#0000;border-radius:50%;flex:none;padding:0}.guide-card .guide-card__close:hover:not(:disabled){background:var(--primary-softer);color:var(--primary-strong);border-color:#0000}.guide-card__steps{counter-reset:guide;gap:10px;max-width:78ch;margin:16px 0 18px;padding:0;list-style:none;display:grid}.guide-card__steps li{counter-increment:guide;color:var(--text);align-items:flex-start;gap:12px;font-size:.95rem;line-height:1.65;display:flex}.guide-card__steps li:before{content:counter(guide);background:var(--primary-softer);width:24px;height:24px;color:var(--primary-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:.78rem;font-weight:700;display:inline-flex}.guide-card>.btn--primary{min-height:40px;padding-inline:18px}.guide-open.btn{background:var(--primary-softer);width:fit-content;min-height:36px;color:var(--primary-strong);box-shadow:none;border-color:#0000;border-radius:999px;gap:6px;margin:0 0 1.1rem;padding:0 14px;font-size:.85rem;display:flex}.guide-open.btn:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-strong);border-color:#0000}.page__head+.guide-open.btn{margin-top:-.7rem}.dialog{padding:22px 22px 20px}.dialog__head{gap:12px;margin-bottom:10px}.dialog__icon{background:var(--primary-softer);width:40px;height:40px;color:var(--primary)}.dialog--danger .dialog__icon{background:var(--danger-bg);color:var(--danger)}.dialog__title{color:var(--ink);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.dialog__body p{color:var(--text);line-height:1.65}.dialog__actions{gap:10px;margin-top:20px}.dialog__actions .btn{min-height:44px}.modal{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:dialog-in .22s var(--ease-out) both;padding:22px}@media (width<=480px){.dialog{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));border-bottom:0}}.appearance-card{box-shadow:var(--shadow-lg);animation:dialog-in .22s var(--ease-out) both;padding:22px}.appearance-card h3{letter-spacing:-.01em;font-size:1.15rem}@media (width<=480px){.appearance-modal{align-items:flex-end;padding:0}.appearance-card{border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));border-bottom:0;animation-name:sheet-in}}.tour-card.card{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:18px 20px}.tour-card--center.card{padding:26px 24px 22px}.tour-card h2{letter-spacing:-.01em;font-size:1.3rem}.tour-card h3{font-size:1.05rem;line-height:1.3}.tour-card__step{background:var(--primary-softer);color:var(--primary-strong);border-radius:999px;margin:0 0 8px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.tour-card__actions{gap:8px;margin-top:14px}.tour-card .btn--sm{min-height:38px;padding-inline:14px}.tour-card .cta-row{gap:10px;margin-top:16px}@keyframes shell-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes shell-toast-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)}}.nudge{padding:16px 18px;animation:.24s both shell-pop-in}.nudge .nudge__close{inset-inline-end:10px;width:32px;height:32px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;top:10px}.nudge .nudge__close:hover{background:var(--surface-2);color:var(--ink)}.nudge__scale{gap:6px}.nudge__score{border-radius:var(--r);background:var(--surface-2);min-height:40px;color:var(--text);border:0;transition:background-color .15s,color .15s}.nudge__score:hover:not(.is-active){background:var(--primary-softer);color:var(--primary-strong)}.nudge__scale-label{color:var(--muted)}.nudge__chip{background:var(--surface-2);min-height:34px;color:var(--text);border:0;padding:.3rem .8rem;transition:background-color .15s,color .15s}.nudge__chip.is-active{background:var(--primary-softer);color:var(--primary-strong);box-shadow:inset 0 0 0 1.5px var(--primary);font-weight:700}.nudge__actions{gap:8px}.update-toast{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:14px 16px;animation:.24s both shell-toast-in}.update-toast__icon{background:var(--primary-softer);width:40px;height:40px;color:var(--primary);border-radius:50%}.install-banner{inset-inline:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);gap:12px;padding:12px 14px;animation:.24s both shell-pop-in}.install-banner__text{color:var(--muted)}.install-banner__actions .btn--sm{min-height:38px}@media (width<=480px){.install-banner:has(.btn--primary){flex-wrap:wrap;row-gap:10px}.install-banner:has(.btn--primary) .install-banner__text{flex:1 1 0;min-width:0}.install-banner:has(.btn--primary) .install-banner__actions{flex:100%}.install-banner:has(.btn--primary) .install-banner__actions .btn{flex:1}}.a11y__panel{box-shadow:var(--shadow-lg);padding:18px}.a11y__title{color:var(--ink);font-size:1rem;font-weight:700}@media (width<=720px){:is(.nudge,.update-toast,.install-banner,.tour-card,.a11y__panel) .btn--sm{min-height:40px}.guide-card .guide-card__close{width:40px;height:40px;min-height:40px}.guide-open.btn{min-height:40px}.nudge .nudge__close{inset-inline-end:6px;width:40px;height:40px;top:6px}.nudge__chip,.a11y__toggle,.a11y__panel .seg__btn{min-height:40px}.a11y__footer a{align-items:center;min-height:40px;display:inline-flex}.nudge,.has-tabbar .nudge{width:auto;max-width:none;inset-inline:12px;bottom:calc(12px + 52px + env(safe-area-inset-bottom,0px))}.has-tabbar .nudge{bottom:calc(var(--tabbar-h) + 64px + env(safe-area-inset-bottom,0px))}.update-toast{bottom:calc(12px + 52px + env(safe-area-inset-bottom,0px))}body:has(.has-tabbar) .update-toast{bottom:calc(var(--tabbar-h) + 64px + env(safe-area-inset-bottom,0px))}body:has(.has-tabbar) .a11y{bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom,0px))}.has-tabbar .install-banner{bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom,0px))}body:has(.has-tabbar):has(.install-banner) .a11y{bottom:calc(var(--tabbar-h) + var(--install-h) + 24px + env(safe-area-inset-bottom,0px))}body:has(.has-tabbar):has(.install-banner) .update-toast{bottom:calc(var(--tabbar-h) + var(--install-h) + 76px + env(safe-area-inset-bottom,0px))}}@media (width<=820px){body:has(.install-banner):not(:has(.has-tabbar)) .a11y{bottom:calc(var(--install-h) + 24px + env(safe-area-inset-bottom,0px))}}@media (width>=721px) and (width<=820px){body:has(.install-banner) .a11y{bottom:calc(var(--install-h) + 24px + env(safe-area-inset-bottom,0px))}}.landing{background:var(--bg);color:var(--text)}.landing>main{min-width:0}.landing .landing-nav{background:var(--surface);border-top:0;border-bottom:1px solid var(--border)}.landing .landing-nav__inner{padding-block:.7rem}.landing .landing-nav__links{gap:.4rem}.landing .landing-nav__links a:not(.btn){color:var(--muted);border-radius:var(--r-sm);padding:.5rem .75rem;font-size:.92rem;font-weight:700;transition:color .15s,background-color .15s}.landing .landing-nav__links a:not(.btn):hover{color:var(--ink);background:var(--surface-2);text-decoration:none}.landing .app-brand--link,.login-screen .app-brand--link,.not-found-screen .app-brand--link{min-height:44px}.landing .landing-footer{background:var(--surface);color:var(--muted);border-top:1px solid var(--border)}.landing .landing-footer__inner{padding-block:1.4rem}.landing .landing-footer__inner>span:first-child{text-wrap:balance}.landing .landing-footer a{color:var(--muted);font-weight:700;transition:color .15s}.landing .landing-footer a:hover{color:var(--primary-strong);text-decoration:none}.landing .landing-footer__links,.landing .info-footer__links{flex-wrap:wrap;align-items:center;gap:0 1rem;display:flex}.landing .landing-footer__links a,.landing .info-footer__links a{padding:.35rem .4rem;font-size:.88rem}.landing .hero{background:var(--bg);border-bottom:0;overflow:visible}.landing .hero:before{display:none}.landing .hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3.5rem;max-width:1140px;padding:4.25rem 1.25rem 3.25rem;animation:.28s both core-enter}.landing .hero__kicker{background:var(--primary-softer);color:var(--primary-strong);margin-bottom:1.25rem;padding:.4rem .9rem;font-size:.84rem;font-weight:700}.landing .hero__title{letter-spacing:-.025em;margin-bottom:1.1rem;font-size:clamp(2rem,1.1rem + 3.4vw,3.15rem);font-weight:800;line-height:1.15}.landing .hero__accent{color:var(--primary)}.landing .hero__sub{color:var(--muted);max-width:50ch;margin-bottom:1.75rem;font-size:1.1rem;line-height:1.7}.landing .hero__ctas{gap:.75rem}.landing .hero__note{color:var(--muted);margin-top:1.1rem;font-size:.88rem}.landing .hero__visual{min-height:0;padding-bottom:0}.landing .mock-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);width:100%;max-width:430px;margin-inline:auto;padding:1.25rem}.landing .mock-card__bar{margin-bottom:.25rem}.landing .mock-card__q{color:var(--muted);font-size:.84rem;font-weight:700}.landing .learning-preview__headline{border-bottom:1px solid var(--border);gap:.85rem;padding:1rem 0 1.1rem}.landing .learning-preview__headline strong{color:var(--ink);font-weight:800}.landing .learning-preview__icon{border-radius:50%;flex:none;width:48px;height:48px}.landing .learning-preview__steps{gap:0}.landing .learning-preview__step{border:0;border-bottom:1px solid var(--border);border-radius:0;gap:.8rem;padding:.75rem 0}.landing .learning-preview__step>svg{box-sizing:content-box;background:var(--primary-softer);color:var(--primary);border-radius:50%;padding:9px}.landing .learning-preview__step b{color:var(--ink);font-weight:700}.landing .learning-preview__step small{color:var(--muted)}.landing .learning-preview__cta{min-height:48px;margin-top:1.1rem}.landing .strip{background:0 0;border:0;max-width:1140px;margin:0 auto;padding:0 1.25rem}.landing .strip__inner{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:none;box-shadow:var(--shadow);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:1.4rem .5rem}.landing .strip__inner>div{padding:.25rem 1.25rem}.landing .strip__inner>div+div{border-inline-start:1px solid var(--border)}.landing .strip__num{color:var(--primary);letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1.25}.landing .strip__label{color:var(--muted);margin-top:.15rem;font-size:.88rem;line-height:1.5}.landing .section{padding:4.5rem 1.25rem 0}.landing .section__head{max-width:660px;margin-bottom:2rem}.landing .section__title{letter-spacing:-.02em;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.1rem);font-weight:800;line-height:1.2}.landing .section__head .muted{margin-top:.6rem;font-size:1rem;line-height:1.7}.landing .eyebrow{background:var(--primary-softer);color:var(--primary-strong);letter-spacing:0;border-radius:999px;margin-bottom:.8rem;padding:.3rem .8rem;font-size:.82rem;font-weight:700;display:inline-block}.landing .steps{gap:1.1rem}.landing .step{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.4rem 1.4rem 1.5rem}.landing .step__num{background:var(--primary-softer);width:42px;height:42px;color:var(--primary);margin-bottom:.9rem;font-size:1.05rem;font-weight:800}.landing .step h3,.landing .value-card h3{margin-bottom:.35rem;font-size:1.1rem}.landing .step p,.landing .value-card p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.7}.landing .school-value-grid{gap:1.1rem;margin-top:0}.landing .value-card{margin:0;padding:1.4rem 1.4rem 1.5rem}.landing .value-card__icon{background:var(--primary-softer);width:46px;height:46px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.9rem;display:inline-flex}.landing .contact-band{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-top:1.1rem;padding:1.5rem 1.6rem}.landing .contact-band h3{margin-bottom:.25rem}.landing .contact-band p{max-width:62ch;margin:0;line-height:1.65}.landing .cta-band{background:0 0;border-top:0;margin:4.5rem 0 0;padding:0 1.25rem 4rem}.landing .cta-band__inner{isolation:isolate;background:var(--lead-bg);border-radius:var(--r-lg);max-width:1100px;box-shadow:var(--lead-shadow);padding:3.25rem 1.5rem;position:relative;overflow:hidden}.landing .cta-band__inner:after{content:"";z-index:-1;pointer-events:none;inset-inline-start:-5rem;background:#ffffff14;border-radius:50%;width:18rem;height:18rem;position:absolute;bottom:-9rem}.landing .cta-band h2{color:#fff;letter-spacing:-.02em;font-size:clamp(1.45rem,1.1rem + 1.4vw,2rem);font-weight:800}.landing .cta-band p{color:#fff;margin-bottom:1.6rem;text-wrap:balance;max-width:56ch;margin-inline:auto;font-size:1.05rem;line-height:1.7}.landing .cta-band .cta-row{justify-content:center;margin-top:0}.landing .cta-band .btn--primary,.landing .cta-band .btn--primary:hover:not(:disabled){color:var(--hero-a);box-shadow:none;background-color:#fff;border-color:#fff}.landing .cta-band .btn--primary:hover:not(:disabled){background-color:var(--on-gradient-hover);border-color:var(--on-gradient-hover)}.landing .cta-band .btn--ghost{color:#fff;background-color:#fff0;border-color:#ffffffb3}.landing .cta-band .btn--ghost:hover:not(:disabled),.landing .cta-band .btn--ghost:focus-visible{color:#fff;background-color:#ffffff24;border-color:#fff}.landing .cta-band .btn:focus-visible{outline-color:#fff}.landing .hub-hero{padding:4.5rem 1.25rem 3rem}.landing .hub-hero__kicker{background:var(--primary-softer);color:var(--primary-strong);margin-bottom:1.25rem;padding:.4rem .9rem;font-size:.84rem;font-weight:700}.landing .hub-hero__title{letter-spacing:-.025em;margin-bottom:1rem;font-size:clamp(1.6rem,.55rem + 5.1vw,3.3rem);font-weight:800;line-height:1.15}.landing .hub-hero__sub{color:var(--muted);max-width:58ch;font-size:1.1rem;line-height:1.7}.landing .hub-subjects,.landing .hub-schools{padding:1rem 1.25rem 2.5rem}.landing .hub-subjects>h2,.landing .hub-schools>h2{letter-spacing:-.01em;margin-bottom:1.25rem;font-size:1.35rem;font-weight:800}.landing .hub-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.1rem}.landing .hub-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);gap:.35rem;padding:1.4rem 1.3rem 1.3rem;transition:box-shadow .2s,border-color .2s}@media (hover:hover) and (pointer:fine){.landing .hub-card:not(.is-soon):hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong)}}.landing .hub-card__stripe{background:var(--primary-softer);border-radius:50%;width:44px;height:44px;margin-bottom:.65rem;position:relative;inset:auto}.landing .hub-card__stripe:after{content:"";background:var(--primary);border-radius:50%;width:14px;height:14px;margin:auto;position:absolute;inset:0}.landing .hub-card.is-soon .hub-card__stripe{background:var(--surface-2)}.landing .hub-card.is-soon .hub-card__stripe:after{background:var(--border-strong)}.landing .hub-card h3{margin:0;font-size:1.2rem;font-weight:800}.landing .hub-card p{color:var(--muted);margin:0 0 1rem;line-height:1.6}.landing .hub-card__btn{background-color:var(--primary-softer);min-height:44px;color:var(--primary-strong);border-color:#0000;align-self:stretch}.landing .hub-card__btn:hover{background-color:var(--primary-soft);color:var(--primary-strong);filter:none;text-decoration:none}.landing .hub-card.is-soon{opacity:1}.landing .hub-card__soon{background:var(--surface-2);border-radius:var(--r);min-height:44px;color:var(--muted);border:0;justify-content:center;align-self:stretch;align-items:center;font-size:.92rem;display:inline-flex}.landing .hub-schools{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:calc(100% - 2.5rem);max-width:1000px;box-shadow:var(--shadow);margin:.5rem auto 4rem;padding:2.25rem 1.5rem}.landing .hub-schools>h2{margin-bottom:.6rem}.landing .hub-schools p{color:var(--muted);line-height:1.7}.landing .info-page{max-width:calc(72ch + 6rem);padding:2.5rem 1.25rem 4rem}.landing .info-page h1{margin-bottom:1.25rem}.landing .info-page :is(p,li){line-height:1.8}.landing .info-page>.muted,.landing .legal-page>.muted{margin-bottom:1rem;font-size:.9rem}.landing .info-page :is(p,li) a:not(.btn){color:var(--primary-strong);text-underline-offset:3px}.landing .info-page :is(p,li) a:not(.btn):hover{text-decoration-thickness:2px}.landing .legal-doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:2rem}.landing .legal-doc>:first-child{margin-top:0}.landing .legal-doc>:last-child{margin-bottom:0}.landing .legal-doc h2{letter-spacing:-.01em;border-top:1px solid var(--border);margin:1.9rem 0 .7rem;padding-top:1.7rem;font-size:1.2rem;font-weight:700}.landing .legal-doc>.muted+h2{border-top:0;margin-top:1.25rem;padding-top:0}.landing .legal-doc>.alert+.muted{margin-top:0}.landing .legal-doc ul{gap:.5rem;margin:.4rem 0 .9rem;padding-inline-start:1.4rem}.landing .legal-doc li::marker{color:var(--muted)}.landing .legal-doc p{margin-bottom:.8rem}.landing .legal-page .card{margin-bottom:1rem;padding:1.6rem 1.75rem}.landing .legal-page .card h2{gap:.7rem;margin:0 0 .85rem;font-size:1.18rem;font-weight:700}.landing .legal-page .card h2 .icon{box-sizing:content-box;background:var(--primary-softer);color:var(--primary);border-radius:50%;padding:8px}.landing .legal-page .card ul{gap:.55rem;margin:.4rem 0 .9rem;padding-inline-start:1.4rem}.landing .legal-page .card li::marker{color:var(--muted)}.landing .legal-page .card>:last-child{margin-bottom:0}.landing .legal-note{background:var(--primary-softer);border:1px solid var(--primary-soft);border-radius:var(--r);color:var(--ink);font-weight:700;line-height:1.6}.landing .release-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:1.1rem;padding:1.25rem 1.5rem}.landing .release-hero>p:last-child{margin:0}.landing .release--professional{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:1.1rem;padding:1.6rem 1.75rem}.landing .release__head p.eyebrow,.landing .release-hero .eyebrow{margin-bottom:.6rem}.landing .release__version{letter-spacing:-.01em;margin:0 0 .15rem;font-size:1.3rem;font-weight:800}.landing .release__title{color:var(--ink);margin:0 0 .9rem;font-weight:700}.landing .release__section h3{color:var(--primary-strong);margin:0 0 .4rem;font-size:1rem;font-weight:700}.landing .release__section+.release__section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.landing .release__section ul{gap:.45rem;margin:0;padding-inline-start:1.4rem}.landing .release__section li::marker{color:var(--muted)}.landing .updates-heading{margin:2.25rem 0 .9rem;font-size:1.2rem;font-weight:700}.landing .faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:.65rem;overflow:hidden}.landing .faq-item summary{min-height:52px;color:var(--ink);cursor:pointer;padding:.85rem 1.2rem;padding-inline-end:3rem;font-weight:700;list-style:none;display:block;position:relative}.landing .faq-item summary::-webkit-details-marker{display:none}.landing .faq-item summary::marker{content:none}.landing .faq-item summary:after{content:"";inset-inline-end:1.3rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;transition:transform .2s;position:absolute;top:calc(50% - 6px);transform:rotate(45deg)}.landing .faq-item[open] summary:after{transform:translateY(4px)rotate(-135deg)}.landing .faq-item summary:hover{background:var(--surface-2)}.landing .faq-item summary:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.landing .faq-item[open] summary{border-bottom:1px solid var(--border)}.landing .faq-item p{margin:0;padding:1rem 1.2rem;line-height:1.75}.landing .release__earlier{gap:.45rem;padding:1rem 1.2rem;padding-inline-start:2.6rem}.login-screen{background-color:var(--bg);min-height:100dvh}.login-screen .login-panel{padding:2rem 1.5rem}.login-screen .login-card{padding:2rem;animation:.28s both core-enter}.login-screen .login-card>.card:only-child{box-shadow:none;background:0 0;border:0;padding:0}.login-screen .login-card--stack{max-width:520px;box-shadow:none;background:0 0;border:0;flex-direction:column;gap:1rem;padding:0;display:flex}.login-screen .login-card--stack>.card{margin:0}.login-screen .login-card__top{margin-bottom:.25rem}.login-screen .login-card>.login-card__top+h1{margin:1.1rem 0 .4rem}.login-screen .login-card>h1+.muted{margin-bottom:1.1rem}.login-screen .login-card>.account-context{margin:0 0 1.1rem}.login-screen .login-card>.alert{margin-bottom:1rem}.login-screen .login-card__brand{margin-bottom:1.5rem}.login-screen .login-card--stack .login-card__brand{margin-bottom:.5rem}.login-screen .login-card__brand h1{margin:1.1rem 0 .3rem;font-size:1.6rem}.login-screen .login-card__brand p{color:var(--muted);font-size:.97rem}.login-screen .register-closed h1{margin:1.1rem 0 .4rem;font-size:1.6rem}.login-screen .register-closed>p{color:var(--muted)}.login-screen .register-closed .form{margin-top:1rem}.login-screen .form{gap:1rem}.login-screen .input{min-height:48px}.login-screen .field small{color:var(--muted);font-size:.82rem;line-height:1.5}.login-screen .btn:not(.btn--sm){min-height:50px}.login-screen .login-card__forgot{text-align:center;margin:0}.login-screen .login-card__forgot a{color:var(--primary-strong);border-radius:var(--r-sm);padding:.65rem .85rem;font-weight:700;text-decoration:none;display:inline-block}.login-screen .login-card__forgot a:hover{background:var(--primary-softer);text-decoration:none}.login-screen .login-card__hint{border-top:1px solid var(--border);text-align:center;color:var(--muted);text-wrap:balance;margin:1.4rem 0 0;padding-top:1.25rem;font-size:.92rem;line-height:1.7}.login-screen .login-card__hint a{color:var(--primary-strong);text-underline-offset:3px;font-weight:700}.login-screen .login-card__hint a:hover{text-decoration-thickness:2px}.login-screen .login-card__hint--tight{border-top:0;margin-top:.4rem;padding-top:0}.login-screen .login-card--stack .login-card__hint{border-top:0;margin:.25rem 0 0;padding-top:0}.login-screen .login-card__hint--tight a,.login-screen .login-card--stack .login-card__hint a{border-radius:var(--r-sm);min-height:44px;color:var(--muted);align-items:center;padding:0 .85rem;text-decoration:none;transition:color .15s,background-color .15s;display:inline-flex}.login-screen .login-card__hint--tight a:hover,.login-screen .login-card--stack .login-card__hint a:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}.login-screen .login-side{isolation:isolate;padding:0;display:block;position:relative;overflow:hidden}.login-screen .login-side:after{content:"";z-index:-1;pointer-events:none;inset-inline-start:-9rem;background:#ffffff12;border-radius:50%;width:26rem;height:26rem;position:absolute;bottom:-11rem}.login-screen .login-side__inner{flex-direction:column;justify-content:center;gap:1.1rem;min-height:100dvh;padding:3rem clamp(2rem,5vw,4.5rem);display:flex;position:sticky;top:0}.login-screen .login-side .app-brand{margin-bottom:1rem}.login-screen .login-side .brand-mark{border-radius:13px;box-shadow:0 0 0 2px #ffffff8c}.login-screen .login-side h2{color:#fff;letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,1rem + 1.4vw,2.1rem);font-weight:800;line-height:1.25}.login-screen .login-side p{color:#fff;max-width:42ch;margin:0;font-size:1.05rem;line-height:1.7}.login-screen .login-side__points{gap:.85rem;margin-top:1.1rem}.login-screen .login-side__point{color:#fff;align-items:center;gap:.8rem;font-size:.98rem;line-height:1.5}.login-screen .login-side__point .icon{box-sizing:content-box;background:#ffffff2e;border-radius:50%;margin-top:0;padding:8px}.login-screen .age-declaration{border:0;min-width:0;margin:0;padding:0}.login-screen .age-declaration legend{margin-bottom:.5rem;padding:0}.login-screen .radio-row{border:1.5px solid var(--border-strong);border-radius:var(--r);background:var(--surface);gap:.7rem;margin-bottom:.5rem;padding:.75rem .9rem;transition:border-color .15s,background-color .15s}.login-screen .radio-row:hover{background:var(--surface-2)}.login-screen .radio-row:has(input:checked){border-color:var(--primary);background:var(--primary-softer)}.login-screen .radio-row input{width:18px;height:18px;margin-top:.2rem}.login-screen .radio-row span{color:var(--ink);font-size:.93rem}.login-screen .register-terms{border:1.5px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);cursor:pointer;align-items:flex-start;gap:.7rem;margin:0;padding:.75rem .9rem;font-size:.93rem;line-height:1.6;transition:border-color .15s,background-color .15s;display:flex}.login-screen .register-terms:hover{background:var(--surface-2)}.login-screen .register-terms:has(input:checked){border-color:var(--primary);background:var(--primary-softer)}.login-screen .register-terms a{color:var(--primary-strong);text-underline-offset:3px;font-weight:700;text-decoration:underline}.login-screen .register-terms input{flex:none;width:18px;height:18px;margin-top:.2rem}.login-screen .forgot-card__title{gap:.7rem;margin:0 0 .6rem;font-size:1.2rem;font-weight:700}.login-screen .forgot-card__title .icon{box-sizing:content-box;background:var(--primary-softer);color:var(--primary);border-radius:50%;padding:8px}.login-screen .login-card--stack .card>p{line-height:1.65}.login-screen .login-card--stack .card>p.muted+.form{margin-top:1rem}.login-screen .forgot-footnote{margin:.2rem 0 0;font-size:.88rem;line-height:1.65}.login-screen .recovery-code{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--ink);letter-spacing:.1em;font-size:1.5rem}.login-screen .login-card .cta-row{justify-content:center}.login-screen .login-card>.card>.nav-card__icon{margin-bottom:.9rem}.not-found-screen .not-found-screen__bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.not-found .not-found__sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,4vw,2.75rem) 1.75rem;animation:.28s both core-enter}.not-found .not-found__digits{font-size:clamp(4.25rem,15vw,6.5rem);font-weight:800}.not-found .not-found__lens{color:var(--primary)}.not-found .not-found__glint{stroke:var(--primary-soft)}.not-found .not-found__entry{background:var(--surface-2);border-radius:var(--r);border:0;margin-block:1.25rem 1.5rem;padding:.9rem 1.1rem}.not-found .not-found__title{letter-spacing:-.015em;font-size:clamp(1.4rem,1.1rem + 1.2vw,1.75rem);font-weight:800}.not-found .not-found__sub{color:var(--muted)}.not-found .not-found__path code{background:var(--surface-2);color:var(--muted);border:0;padding:.25rem .7rem;font-size:.85rem}.not-found .not-found__report{margin:.9rem 0 0}.not-found .not-found__report a{border-radius:var(--r-sm);min-height:44px;color:var(--primary-strong);align-items:center;padding:0 .85rem;font-weight:700;text-decoration:none;transition:background-color .15s;display:inline-flex}.not-found .not-found__report a:hover{background:var(--primary-softer);text-decoration:none}@media (width>=561px) and (width<=899px){.landing .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.landing .hero__inner{grid-template-columns:minmax(0,1fr);gap:2rem;padding:2.25rem 1rem 2rem}.landing .hero__sub{max-width:none}.landing .strip__inner{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.1rem;padding:1.25rem .5rem}.landing .strip__inner>div:nth-child(3){border-inline-start:0}.login-screen .login-panel{padding:1.5rem 1rem}.login-screen .login-side{display:none}}@media (width<=760px){.landing .landing-nav__inner{padding-inline:1rem}.landing .landing-footer__inner{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem 1rem 5rem}.landing .landing-footer a{padding:.65rem .4rem}.landing .section{padding:3rem 1rem 0}.landing .section__head{margin-bottom:1.5rem}.landing .strip{padding:0 1rem}.landing .cta-band{margin-top:3rem;padding:0 1rem 2.5rem}.landing .cta-band__inner{padding:2.5rem 1.25rem}.landing .contact-band{padding:1.25rem}.landing .contact-band .btn{width:100%}.landing .hub-hero{padding:3rem 1rem 2rem}.landing .hub-subjects,.landing .hub-schools{padding-inline:1rem}.landing .hub-schools{width:calc(100% - 2rem);padding:1.75rem 1.25rem}.landing .info-page{padding:1.75rem 1rem 3rem}.landing .legal-doc{padding:1.4rem 1.25rem}.landing .legal-page .card{padding:1.3rem 1.25rem}.landing .release--professional,.landing .release-hero{padding:1.25rem}}@media (width<=520px){.landing .hero__ctas .btn,.landing .cta-band .cta-row .btn{flex:100%}.landing .learning-preview__cta{min-height:50px}.login-screen .login-card{padding:1.5rem 1.25rem}.login-screen .login-card--stack{padding:0}.login-screen .login-panel{padding-bottom:5rem}.not-found .not-found__actions .btn{width:100%}}.landing .hero__inner--single{text-align:center;grid-template-columns:minmax(0,1fr);max-width:760px;padding-bottom:2rem}.landing .hero__inner--single .hero__sub{margin-inline:auto}.landing .hero__inner--single .hero__ctas{justify-content:center}.landing .steps--short{max-width:900px;margin-inline:auto}.landing .steps--short .step p{margin:0}.landing .contact-band h2{margin:0 0 .25rem;font-size:1.15rem}.info-page .school-value-grid{grid-template-columns:minmax(0,1fr);margin:1.25rem 0}:is(.student-home,.units-page,.placement-page){grid-template-columns:minmax(0,1fr);align-content:start;gap:1rem;display:grid}:is(.student-home,.units-page,.placement-page) :is(.card,.banner),:is(.student-home,.units-page,.placement-page)>*{margin:0}:is(.student-home,.units-page,.placement-page)>.page__head{margin-bottom:.35rem}:is(.student-home,.units-page,.student-cards) .sec-head{align-items:center;gap:.75rem;min-height:2.5rem;margin-bottom:.9rem;display:flex}:is(.student-home,.units-page,.student-cards) .sec-head__title{flex:auto;min-width:0;margin:0;line-height:1.3}:is(.student-home,.units-page,.student-cards) .sec-head__link{min-height:40px;color:var(--primary);flex:none;align-items:center;margin-inline-start:auto;font-size:.88rem;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}:is(.student-home,.units-page,.student-cards) .sec-head__link:hover{color:var(--primary-strong);text-decoration:underline}:is(.student-home,.units-page,.student-cards) .sec-head__link:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:6px;outline:none}:is(.student-home,.units-page,.student-cards) .sec-head__count{background:var(--surface-2);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;flex:none;align-items:center;margin-inline-start:auto;padding:.2rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}:is(.student-home,.student-cards) .sec-icon{background:var(--primary-softer);width:44px;height:44px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}:is(.student-home,.units-page) .card-error__text{margin:0 0 .75rem}:is(.student-home,.units-page) .card[role=alert] .btn{min-height:40px}:is(.student-home,.units-page,.student-cards) .progress{background:var(--surface-2);border:0;height:8px;margin-inline-end:3.1rem;overflow:visible}:is(.student-home,.units-page,.student-cards) .progress__fill{border-radius:999px}:is(.student-home,.units-page,.student-cards) .progress__label,[data-theme=dark] :is(.student-home,.units-page,.student-cards) .progress__label{inset:50% auto auto;width:2.7rem;color:var(--muted);text-shadow:none;font-variant-numeric:tabular-nums;justify-content:flex-start;font-size:.8rem;font-weight:700;inset-inline:auto -3.1rem;transform:translateY(-50%)}.student-home .card.next-action{gap:1.25rem;padding:1.5rem}.student-home .next-action__body h2{margin:.7rem 0 .3rem;font-size:1.35rem;line-height:1.25}.student-home .next-action__sub{font-size:.95rem}.student-home .next-action__meta{border-top:1px solid #ffffff38;align-items:center;gap:.45rem;margin:1rem 0 0;padding-top:.9rem;font-size:.88rem;display:flex}.student-home .next-action__meta .icon{flex:none}.student-home .assignment-banner{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:.9rem;padding:1rem 1.25rem;display:flex}.student-home .assignment-banner .banner__icon{width:44px;height:44px}.student-home .assignment-banner__text{flex:12rem;min-width:0}.student-home .assignment-banner h3{margin:0 0 .1rem;font-size:1rem}.student-home .assignment-banner p{color:var(--muted);font-size:.88rem}.student-home .assignment-banner .btn{min-height:40px}:is(.student-home,.student-cards) .current-unit .sec-head{margin-bottom:1rem}:is(.student-home,.student-cards) .current-unit .sec-head__title{font-size:1.2rem}:is(.student-home,.student-cards) .current-unit__chapter{color:var(--muted);margin-top:.1rem;font-size:.88rem;font-weight:400;display:block}:is(.student-home,.student-cards) .current-unit__left{margin:.9rem 0 0}:is(.student-home,.student-cards) .weak-card>.muted{margin:0 0 .9rem}:is(.student-home,.student-cards) .weak-words{gap:.5rem;margin:0 0 1.1rem}:is(.student-home,.student-cards) .weak-word{background:var(--surface-2);color:var(--ink);border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.92rem}:is(.student-home,.student-cards) .weak-word bdi{font-weight:700}:is(.student-home,.student-cards) .weak-word small{color:var(--muted);font-size:.8rem}:is(.student-home,.student-cards) .weak-card .btn{min-height:46px}:is(.student-home,.student-cards) .mission-list{gap:0}:is(.student-home,.student-cards) .mission-list li{border-top:1px solid var(--border);color:var(--ink);gap:.75rem;padding:.7rem 0;font-size:.95rem;font-weight:700}:is(.student-home,.student-cards) .mission-list li:first-child{border-top:0;padding-top:.1rem}:is(.student-home,.student-cards) .mission-list li:last-child{padding-bottom:.1rem}:is(.student-home,.student-cards) .mission-list__icon{background:var(--primary-softer);width:34px;height:34px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}:is(.student-home,.student-cards) .mission-list li.is-done{color:var(--muted)}:is(.student-home,.student-cards) .mission-list li.is-done .mission-list__icon{background:var(--success-bg);color:var(--success)}:is(.student-home,.student-cards) .mission-list__title{text-wrap:balance;min-width:0}:is(.student-home,.student-cards) .mission-list__count{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:700}:is(.student-home,.student-cards) .goal-line{color:var(--ink);gap:.75rem;margin-bottom:.9rem;font-size:1rem;font-weight:700}:is(.student-home,.student-cards) .goal-line>span:first-child{flex:auto;min-width:0}:is(.student-home,.student-cards) .goal-line>.muted{background:var(--surface-2);color:var(--muted);border-radius:999px;flex:none;padding:.2rem .7rem;font-size:.82rem}:is(.student-home,.student-cards) .goal-done{background:var(--success-bg);color:var(--success);border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.2rem .7rem;font-size:.82rem;display:inline-flex}:is(.student-home,.student-cards) .streak-line{border-top:1px solid var(--border);color:var(--ink);gap:.75rem;margin-top:1.1rem;padding-top:1.1rem;font-size:.95rem;font-weight:700}:is(.student-home,.student-cards) .streak-card__flame{background:var(--primary-softer);width:40px;height:40px;color:var(--primary);border:0;border-radius:50%}:is(.student-home,.student-cards) .streak-card__flame.is-cold{background:var(--surface-2);color:var(--muted);border:0}.student-home .today-card .streak-line{margin-top:1rem;padding-top:1rem}.student-home .practice-modes{gap:.6rem;display:grid}.student-home .practice-modes__title{color:var(--muted);margin:0;font-size:1rem;font-weight:700}.student-home .mode-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.student-home .mode-tile{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);color:var(--text);flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem;text-decoration:none;transition:box-shadow .2s,border-color .2s;display:flex}.student-home .mode-tile__icon{background:var(--primary-softer);width:42px;height:42px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.35rem;display:inline-flex}.student-home .mode-tile__title{color:var(--ink);font-size:1rem;font-weight:700}.student-home .mode-tile__text{color:var(--muted);font-size:.84rem;line-height:1.4}.student-home .mode-tile:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}@media (hover:hover) and (pointer:fine){.student-home .mode-tile:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong)}}@media (width>=720px){.student-home .mode-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=900px){.student-home{gap:1.25rem}}.student-cards{grid-template-columns:minmax(0,1fr);gap:1rem;margin:0 0 1.25rem;display:grid}.student-cards :is(.card,.banner){margin:0}@media (width>=900px){.student-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.student-cards>:only-child{grid-column:1/-1}}@media (width<=560px){.student-home .card.next-action{padding:1.25rem}.student-home .next-action__body h2{font-size:1.25rem}:is(.student-home,.student-cards) .weak-card .btn,.student-home .assignment-banner .btn{width:100%}}.units-page .card.next-action{gap:1.25rem;padding:1.5rem}.units-page .next-action__body h2{margin:.7rem 0 .9rem;font-size:1.35rem;line-height:1.25}.units-page .next-action .progress{background:#ffffff47}.units-page .next-action .progress__fill{background:#fff}.units-page .next-action .progress__label,[data-theme=dark] .units-page .next-action .progress__label{color:#fff}.units-page .next-action__meta{margin:.7rem 0 0;font-size:.88rem}.units-page .alert{margin:0}.units-page .empty-state{padding:2rem 1.5rem}.units-page .empty-state p{text-wrap:balance;line-height:1.5}.units-page .chapter-card .sec-head{margin-bottom:.9rem}.units-page .chapter-card .sec-head__count{margin-inline-start:0}.units-page .extras-card>p{margin:0 0 .9rem}.units-page .units-page__note{margin:.7rem 0 0}.units-page .cta-row{gap:.75rem;margin:.25rem 0 0}.units-page .cta-row .btn{min-height:44px}.units-page .cta-row--center{justify-content:center;margin-top:1rem}.units-page .unit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:1.15rem;display:grid}.units-page .unit-tile{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);min-width:0;box-shadow:none;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .4rem .65rem;transition:border-color .15s,background-color .15s,box-shadow .2s;display:flex;position:relative;transform:none}.units-page .unit-tile__head{justify-content:center}.units-page .unit-tile__number{background:var(--surface-2);width:38px;height:38px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:.98rem;font-weight:800;display:inline-flex}.units-page .unit-tile__bar{background:var(--surface-2);width:100%;height:4px}.units-page .unit-tile__bar span{border-radius:999px}.units-page .unit-tile__meta{color:var(--muted);font-size:.76rem;line-height:1.2}.units-page .unit-tile .btn,.units-page .unit-tile .btn:hover:not(:disabled),.units-page .unit-tile .btn:focus-visible{min-height:0;box-shadow:none;color:var(--primary-strong);background:0 0;border:0;border-radius:6px;padding:.1rem .2rem;font-size:.8rem;font-weight:700;transform:none}.units-page .unit-tile .btn:after{content:"";border-radius:var(--r);position:absolute;inset:0}.units-page .unit-tile .btn:disabled{opacity:1;cursor:default}.units-page .unit-tile:has(.btn:focus-visible){border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}@media (hover:hover) and (pointer:fine){.units-page .unit-tile:not(.is-locked):not(.is-complete):hover{border-color:var(--primary);box-shadow:var(--shadow);transform:none}}.units-page .unit-tile.is-current{border-color:var(--primary);background:var(--primary-softer);box-shadow:none}.units-page .unit-tile.is-current .unit-tile__number{background:var(--primary);color:var(--on-primary)}.units-page .unit-tile.is-current .unit-tile__bar{background:var(--surface)}.units-page .unit-tile.is-complete{border-color:var(--success-border);background:var(--surface)}.units-page .unit-tile.is-complete .unit-tile__number{background:var(--success-bg);color:var(--success)}.units-page .unit-tile.is-complete .unit-tile__head{color:var(--success)}.units-page .unit-tile.is-complete .unit-tile__head>.icon{width:14px;height:14px;position:absolute;inset-block-start:6px;inset-inline-end:6px}.units-page .unit-tile.is-complete .btn,.units-page .unit-tile.is-complete .btn:disabled{color:var(--success)}.units-page .unit-tile.is-complete .unit-tile__bar span{background:var(--success)}.units-page .unit-tile.is-locked{opacity:1;background:var(--surface-2);border-color:#0000}.units-page .unit-tile.is-locked .unit-tile__number{background:var(--surface);color:var(--muted)}.units-page .unit-tile.is-locked .unit-tile__bar{background:var(--surface)}@media (width>=700px){.units-page .unit-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:.65rem}}@media (width<=560px){.units-page .unit-tile{gap:.3rem;padding:.6rem .3rem .5rem}.units-page .unit-tile__number{width:34px;height:34px;font-size:.92rem}.units-page .card.next-action{padding:1.25rem}.units-page .next-action__body h2{font-size:1.25rem}.units-page .chapter-card .sec-head{flex-wrap:wrap;row-gap:.4rem}.units-page .cta-row .btn{flex:1 1 0}}.placement-page .alert{margin:0}.placement-page .banner{align-items:center;gap:.9rem;padding:1rem 1.25rem;display:flex}.placement-page .banner .banner__icon{flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.placement-page .banner h3{margin:0 0 .15rem;font-size:1rem}.placement-page .banner p{color:var(--muted);margin:0;font-size:.9rem}.placement-page .placement-icon{background:var(--primary-softer);width:56px;height:56px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.placement-page .placement-icon--done{background:var(--success-bg);color:var(--success)}.placement-page .placement-intro,.placement-page .placement-result{text-align:center;padding:1.75rem 1.5rem}.placement-page .placement-intro h2,.placement-page .placement-result h2{margin:0 0 1rem}.placement-page .placement-intro ul{counter-reset:step;text-align:start;gap:0;max-width:520px;margin:0 auto 1.5rem;padding:0;list-style:none}.placement-page .placement-intro li{counter-increment:step;border-top:1px solid var(--border);text-wrap:pretty;align-items:flex-start;gap:.85rem;padding:.8rem 0;font-size:.96rem;line-height:1.55;display:flex}.placement-page .placement-intro li:first-child{border-top:0}.placement-page .placement-intro li:before{content:counter(step);background:var(--primary-softer);width:30px;height:30px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.placement-page .placement-intro .btn{width:100%;max-width:360px}.placement-page .placement-question{padding:1.25rem}.placement-page .placement-meta{gap:.6rem;margin-bottom:.7rem}.placement-page .placement-meta__count{color:var(--muted);font-size:.92rem;font-weight:700}.placement-page .placement-meta strong{background:var(--primary-softer);color:var(--primary-strong);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .8rem;font-size:.95rem;font-weight:800;display:inline-flex}.placement-page .placement-meta strong:before{content:"";background:currentColor;flex:none;width:16px;height:16px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E") 50%/contain no-repeat}.placement-page .placement-progress{background:var(--surface-2);border-radius:999px;height:6px;margin-bottom:1rem;overflow:hidden}.placement-page .placement-progress span{background:var(--primary);border-radius:999px;height:100%;transition:width .3s;display:block}.placement-page .placement-question .quiz-word{padding:.6rem 0 .2rem}.placement-page .placement-pos{text-align:center;margin:0}.placement-page .quiz-options{margin-top:1.25rem}.placement-page .placement-hint{border-top:1px solid var(--border);text-align:center;margin:1.25rem 0 0;padding-top:1rem;font-size:.86rem}.placement-page .placement-band{border-radius:var(--r);background:var(--primary-softer);max-width:30rem;color:var(--primary-strong);text-wrap:balance;margin:0 auto 1rem;padding:.9rem 1rem;font-size:1.15rem;line-height:1.4}.placement-page .placement-result p{max-width:46ch;margin:0 auto .8rem}.placement-page .placement-result .btn{width:100%;max-width:360px;min-height:48px;margin-top:.6rem}.student-cards:empty{display:none}.practice{max-width:720px;margin-inline:auto}.practice-state .cta-row{margin-top:1.1rem}.practice-state .banner{align-items:flex-start;gap:.95rem;margin-bottom:0;padding:1.15rem 1.2rem}.practice-state .banner--success{border-color:var(--success-border)}.practice-state .banner__icon{width:44px;height:44px}.practice-state .banner--info .banner__icon{background:var(--primary-softer);color:var(--primary)}.practice-state .banner--success .banner__icon{background:var(--success-bg);color:var(--success)}.practice-state .banner h3{color:var(--ink);text-wrap:balance;margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.practice-state .banner p{text-wrap:pretty;line-height:1.6}.practice.practice-state>.alert{margin:0 0 .9rem}@media (width<=599px){.practice-state .cta-row{flex-direction:column;gap:.6rem}.practice-state .cta-row>.btn,.practice-state>.btn{width:100%;min-height:48px}}.practice .practice__bar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.practice .practice__chip{background:var(--primary-softer);min-height:32px;color:var(--primary-strong);align-items:center;padding:0 .9rem;font-size:.82rem;font-weight:700;display:inline-flex}.practice .practice__bar:has(.practice__format) .practice__chip{display:none}.practice .practice__bar .seg{flex:none}.practice .practice__bar .seg__btn{white-space:nowrap;justify-content:center;align-items:center;min-height:36px;padding:0 .9rem;font-size:.88rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.practice .practice__bar .seg__btn:not(.is-active):hover{color:var(--ink)}}.practice .practice__level{flex:0 0 10rem;min-width:0}.practice .practice__level label{display:block}.practice .practice__level .input{min-height:42px;padding-block:.4rem;font-weight:700}.practice .practice__tail{flex:none;align-items:center;gap:.6rem;margin-inline-start:auto;display:flex}.practice .practice__score{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.92rem;font-weight:700}.practice .practice__end{border-radius:var(--r);flex:none;min-height:42px;padding-inline:1rem}.practice .practice__bar>.practice__score,.practice .practice__bar>.sprint-score{margin-inline-start:auto}.practice .practice__bar:has(.session-meter) .practice__tail{order:2}.practice .practice__bar:has(.session-meter) .session-meter{flex:100%;order:3}.practice .session-meter{flex:9rem;gap:.65rem;min-width:0}.practice .session-meter .progress{background:var(--primary-soft);border:0;flex:1;min-width:56px;height:8px;overflow:hidden}.practice .session-meter .progress__label{display:none}.practice .session-meter__count{color:var(--muted);font-size:.88rem;font-weight:700}.practice .session-meter__left{color:var(--primary-strong);white-space:nowrap;font-size:.85rem;font-weight:700}.practice .combo-chip{background:var(--primary-softer);color:var(--primary-strong);border:0;padding:.18rem .6rem;font-weight:800}.practice .sprint-timer{background:var(--primary-softer);min-height:36px;color:var(--primary-strong);border:0;gap:.4rem;padding:0 .85rem;font-size:1rem;font-weight:800;transition:background-color .2s,color .2s}.practice .sprint-timer.is-low{background:var(--danger-bg);color:var(--danger)}.practice .sprint-score{color:var(--ink);font-size:.95rem;font-weight:700}@media (width<=759px){.practice .practice__bar:has(.practice__format){grid-template-columns:minmax(0,1fr) clamp(7.6rem,30%,12rem);grid-template-areas:"mode level""format tail";align-items:center;gap:.5rem;display:grid}.practice .practice__bar:has(.practice__format) .practice__mode{grid-area:mode}.practice .practice__bar:has(.practice__format) .practice__level{flex:none;grid-area:level}.practice .practice__bar:has(.practice__format) .practice__format{grid-area:format}.practice .practice__bar:has(.practice__format) .practice__tail{grid-area:tail;justify-content:space-between;margin-inline-start:0}.practice .practice__bar:has(.practice__format) .seg{width:100%;display:flex}.practice .practice__bar:has(.practice__format) .seg__btn{flex:1 1 0;padding-inline:.3rem}.practice .practice__bar:has(.practice__format) .practice__level .input{padding-inline:.7rem .4rem}}@media (width<=599px){.practice .practice__bar:has(.practice__format) .practice__level .input{min-height:46px}.practice--spelling .practice__bar .practice__tail{order:2}.practice--spelling .practice__bar .practice__mode{flex:100%;order:3;display:flex}.practice--spelling .practice__bar .seg__btn{flex:1 1 0;padding-inline:.4rem}.practice .practice__bar .seg__btn,.practice .practice__end{min-height:40px}.practice .practice__bar .seg{padding:3px}.practice .practice__bar:has(.practice__format) .practice__end{min-height:46px}}.practice .quiz-card{border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.25rem 1.1rem .9rem}@media (width>=600px){.practice .quiz-card{padding:1.5rem 1.75rem 1rem}}.practice .quiz-card__top{gap:.75rem;min-height:24px;margin-bottom:.6rem}.practice .quiz-card__top>.muted{font-size:.9rem}.practice .difficulty{gap:4px}.practice .difficulty__dot{width:8px;height:8px}.practice .quiz-word-row{flex-wrap:wrap;gap:.75rem;padding-top:.5rem}.practice .quiz-word{text-align:center;letter-spacing:-.02em;color:var(--ink);padding:.6rem 0 .2rem;font-size:clamp(2.2rem,9.5vw,3rem);font-weight:800;line-height:1.15}.practice .quiz-word-row .quiz-word{padding-block:0}.practice .quiz-definition{color:var(--ink);margin:0;padding:.25rem 0;font-size:1.3rem;font-weight:700;line-height:1.45}.practice .speak-btn{background:var(--primary-softer);width:44px;height:44px;color:var(--primary);border:0;transition:background-color .15s,color .15s}.practice .speak-btn svg{width:20px;height:20px}.practice .speak-btn:hover{background:var(--primary-soft)}.practice .speak-btn:active{transform:scale(.96)}.practice .speak-btn--sm{width:32px;height:32px}.practice .speak-btn--sm svg{width:15px;height:15px}.practice .quiz-context{background:var(--surface-2);color:var(--muted);border-radius:999px;margin:.55rem auto 0;padding:.2rem .8rem;font-size:.82rem;font-weight:700;display:table}.practice .quiz-options{gap:.6rem;margin-top:1.1rem}.practice .quiz-option{background:var(--surface);border:1.5px solid var(--border);width:100%;min-height:58px;box-shadow:var(--shadow-sm);color:var(--ink);border-radius:14px;gap:.9rem;padding:.6rem 1rem;font-size:1.08rem;font-weight:700;line-height:1.35;transition:border-color .15s,background-color .15s,box-shadow .15s,color .15s,transform .1s}.practice .quiz-option:active:not(:disabled){transform:scale(.98)}.practice .quiz-option__text{text-align:start;overflow-wrap:anywhere;flex:1;min-width:0}.practice .quiz-option__num{background:var(--primary-softer);width:32px;height:32px;color:var(--primary-strong);border:0;border-radius:50%;font-size:.9rem;font-weight:800;transition:background-color .15s,color .15s}.practice .quiz-option>.icon{width:20px;height:20px}.practice .quiz-option--en{direction:ltr}.practice .quiz-option--en .quiz-option__text{text-align:left;direction:ltr;font-size:.98rem;font-weight:400;line-height:1.45}@media (hover:hover) and (pointer:fine){.practice .quiz-option:hover:not(:disabled){border-color:var(--primary);background:var(--primary-softer)}.practice .quiz-option:hover:not(:disabled) .quiz-option__num{background:var(--primary);color:var(--on-primary)}}.practice .quiz-option:focus-visible{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}.practice .quiz-option:focus-visible .quiz-option__num{background:var(--primary);color:var(--on-primary)}.practice .quiz-option.is-selected{border-color:var(--primary);background:var(--primary-softer)}.practice .quiz-option.is-selected .quiz-option__num{background:var(--primary);color:var(--on-primary)}.practice .quiz-option.is-correct{border-color:var(--success);background:var(--success-bg);box-shadow:none}.practice .quiz-option.is-correct .quiz-option__num{background:var(--success);color:var(--surface)}.practice .quiz-option.is-correct>.icon{color:var(--success)}.practice .quiz-option.is-wrong{border-color:var(--danger);background:var(--danger-bg);box-shadow:none}.practice .quiz-option.is-wrong .quiz-option__num{background:var(--danger);color:var(--surface)}.practice .quiz-option.is-wrong>.icon{color:var(--danger)}.practice .quiz-option.is-dim{opacity:1;background:var(--surface);border-color:var(--border);box-shadow:none;color:var(--muted)}.practice .quiz-option.is-dim .quiz-option__num{background:var(--surface-2);color:var(--muted)}.practice .quiz-feedback{border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem .85rem;margin-top:1.1rem;padding:1rem;animation:.22s both practice-in;display:grid}.practice .quiz-feedback.is-correct{background:var(--success-bg);border:1px solid var(--success-border)}.practice .quiz-feedback.is-wrong{background:var(--danger-bg);border:1px solid var(--danger-border)}.practice .quiz-feedback__icon{background:var(--success);width:36px;height:36px;color:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.practice .quiz-feedback.is-wrong .quiz-feedback__icon{background:var(--danger)}.practice .quiz-feedback__msg{min-width:0;color:var(--ink);text-wrap:balance;align-self:center;font-size:1rem;font-weight:700;line-height:1.5}.practice .quiz-feedback__msg .muted{color:var(--muted);font-weight:400}.practice .quiz-example{color:var(--text);opacity:1;align-items:center;gap:.6rem;margin-top:.55rem;font-size:.95rem;font-weight:400;line-height:1.55;display:flex}.practice .quiz-example__text{flex:1;min-width:0}.practice .quiz-example strong{color:var(--ink)}.practice .quiz-example .speak-btn{background:var(--surface);width:40px;height:40px}.practice .quiz-example .speak-btn svg{width:18px;height:18px}.practice .quiz-feedback .known-tag,.practice .quiz-feedback .unit-done-tag{margin-top:.55rem;background:var(--surface);border:1px solid var(--success-border);color:var(--success);margin-inline-end:.4rem;padding:.2rem .65rem;font-size:.8rem;font-weight:700}.practice .quiz-feedback__next{grid-column:1/-1;width:100%;min-height:50px}@media (width<=720px){html:has(.practice){scroll-padding-bottom:calc(var(--tabbar-h,68px) + 5.5rem + env(safe-area-inset-bottom,0px))}}@media (width>=600px){.practice .quiz-feedback{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.practice .quiz-feedback__next{grid-column:auto;width:auto;min-width:9.5rem}}@keyframes practice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.practice .quiz-hint{color:var(--muted);margin:1rem 0 0;font-size:.82rem}.practice .word-report-btn{min-height:40px;color:var(--muted);border-radius:10px;align-items:center;gap:.35rem;margin:.5rem auto 0;padding:.4rem .8rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.practice .word-report-btn:hover{color:var(--ink);background:var(--surface-2)}.practice>.alert{margin-top:.5rem}.practice .session-summary{max-width:none;padding:1.75rem 1.25rem 1.5rem}.practice .session-summary__icon{background:var(--success-bg);width:56px;height:56px;color:var(--success);border:0;margin-bottom:.85rem}.practice .session-summary__title{margin:0 0 .6rem;font-size:1.2rem;font-weight:700}.practice .session-summary__score{letter-spacing:-.03em;color:var(--primary-strong);font-size:3.4rem;font-weight:800}.practice .session-summary__sub{color:var(--muted);margin:.3rem 0 1.1rem;font-size:.95rem}.practice .session-best{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn);border-radius:12px;margin-bottom:1rem;padding:.7rem .9rem}.practice .session-best .muted{color:var(--warn)}.practice .session-summary__facts{gap:0;margin:0 0 1rem}.practice .session-summary__facts li{border-bottom:1px solid var(--border);color:var(--ink);gap:.75rem;padding:.65rem 0;font-size:.95rem;font-weight:700}.practice .session-summary__facts li:last-child{border-bottom:0}.practice .session-summary__facts li.is-muted{color:var(--ink)}.practice .session-summary__facts li>.icon{box-sizing:border-box;background:var(--primary-softer);width:34px;height:34px;color:var(--primary);border-radius:50%;flex:none;padding:8px}.practice .session-summary__words{flex-basis:100%;margin-inline-start:0;padding-inline-start:calc(34px + .75rem)}.practice .session-summary__words bdi{background:var(--surface-2);color:var(--text);border:0;padding:.15rem .7rem;font-weight:700}.practice .session-review{margin-top:.4rem;padding-top:.4rem}.practice .session-review>summary{border-radius:10px;min-height:44px}.practice .session-review>summary:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.practice .session-review__list{gap:.6rem}.practice .session-review__item{background:var(--surface);border-radius:12px;padding:.75rem .85rem}.practice .session-review__item>div{flex-direction:column;gap:.1rem;min-width:0;display:flex}.practice .session-review__item small{color:var(--muted)}.practice .session-summary__actions{gap:.6rem;margin-top:1.25rem}@media (width<=599px){.practice .session-review__list{grid-template-columns:1fr}.practice .session-summary__actions{flex-direction:column}.practice .session-summary__actions>.btn{width:100%}}.practice .spell-card{text-align:center}.practice .spell-card .quiz-card__top{text-align:center;flex-wrap:wrap;justify-content:center}.practice .spell-card .quiz-card__top>.muted,.practice .quiz-hint{text-wrap:balance}.practice .spell-meaning{color:var(--ink);margin:.9rem 0 .6rem;font-size:1.5rem;font-weight:800;line-height:1.3}.practice .spell-audio{margin:.5rem 0 .2rem}.practice .spell-audio .speak-btn{width:56px;height:56px}.practice .spell-audio .speak-btn svg{width:24px;height:24px}.practice .spell-word{gap:4px;margin:.9rem 0 1.4rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:clamp(1.5rem,7.2vw,2.4rem);font-weight:700;display:flex}.practice .spell-word__group{gap:4px}.practice .spell-char{border-bottom:3px solid var(--border-strong);min-width:.7em;color:var(--muted);border-radius:6px 6px 0 0;padding:.05em .08em;transition:color .15s,border-color .15s,background-color .15s}.practice .spell-char.is-done{color:var(--success);border-bottom-color:var(--success)}.practice .spell-char.is-current{color:var(--ink);border-bottom-color:var(--primary);background:var(--primary-softer)}.practice .spell-char.is-current.is-wrong{color:var(--danger);border-bottom-color:var(--danger);background:var(--danger-bg)}.practice .spell-char--separator,.practice .spell-char--separator.is-done{color:var(--muted);background:0 0;border-bottom-color:#0000}.practice .spell-done{background:var(--success-bg);border:1px solid var(--success-border);width:fit-content;color:var(--success);border-radius:999px;align-items:center;margin:0 auto .9rem;padding:.35rem 1rem;font-size:.92rem;font-weight:700;display:flex}.practice .spell-card .cta-row{gap:.6rem;margin-top:.4rem}.practice .spell-card .cta-row .btn{min-height:42px;padding-inline:1.1rem}.practice .spell-showfull{background:var(--surface-2);color:var(--text);text-align:start;text-wrap:balance;border-radius:12px;justify-content:flex-start;align-items:center;gap:.7rem;margin:1.1rem 0 0;padding:.7rem .9rem;font-size:.88rem;line-height:1.4;display:flex}.practice .spell-showfull input{flex:none;width:20px;height:20px;margin:0}.sprint-intro,.mock-test-result{max-width:600px;margin-inline:auto}.sprint-intro{text-align:center}.sprint-intro>.card:not(.sprint-lead){text-align:start;padding:1.25rem}:is(.sprint-intro,.mock-test-result) .card.sprint-lead{isolation:isolate;text-align:center;background:var(--lead-bg);color:#fff;box-shadow:var(--lead-shadow);border:0;padding:2rem 1.5rem 1.75rem;position:relative;overflow:hidden}:is(.sprint-intro,.mock-test-result) .sprint-lead :is(h1,h2){color:#fff}:is(.sprint-intro,.mock-test-result) .sprint-lead :is(p,.muted,.sprint-result__label,.sprint-best){color:var(--on-lead-muted)}:is(.sprint-intro,.mock-test-result) .sprint-lead .sprint-best b{color:#fff}.sprint-intro .sprint-intro__icon{color:#fff;background:#ffffff29;width:60px;height:60px;margin-bottom:1rem}.sprint-intro .sprint-lead h1{margin:0 0 .5rem;font-size:1.6rem}.sprint-intro .sprint-lead>p{text-wrap:balance;max-width:42ch;margin:0 auto;line-height:1.65}.sprint-intro .sprint-lead .alert{text-align:start;margin-top:1rem}:is(.sprint-intro,.mock-test-result) .sprint-lead .cta-row{justify-content:center;gap:.7rem;margin-top:1.5rem}:is(.sprint-intro,.mock-test-result) .sprint-lead .btn--primary{color:var(--hero-a);box-shadow:none;background:#fff;border-color:#fff}:is(.sprint-intro,.mock-test-result) .sprint-lead .btn--primary:hover:not(:disabled){background:var(--on-gradient-hover);border-color:var(--on-gradient-hover);color:var(--hero-a)}:is(.sprint-intro,.mock-test-result) .sprint-lead .btn--ghost{color:#fff;background:#ffffff24;border-color:#0000}:is(.sprint-intro,.mock-test-result) .sprint-lead .btn--ghost:hover:not(:disabled){color:#fff;background:#ffffff3d}:is(.sprint-intro,.mock-test-result) .sprint-lead .btn:focus-visible{outline-color:#fff}:is(.sprint-intro,.mock-test-result) .sprint-result.sprint-lead{padding-top:1.75rem}:is(.sprint-intro,.mock-test-result) .sprint-result__score{color:#fff;letter-spacing:-.03em;font-size:4.2rem;font-weight:800;line-height:1.05}:is(.sprint-intro,.mock-test-result) .sprint-result__label{margin:.35rem 0 .9rem;font-size:1rem}:is(.sprint-intro,.mock-test-result) .sprint-lead .sprint-best{margin:.25rem 0 0;font-size:.95rem}:is(.sprint-intro,.mock-test-result) .sprint-lead>p.muted{text-wrap:balance;max-width:42ch;margin:.4rem auto 0;line-height:1.6}.sprint-intro .sprint-newbest{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn);margin-bottom:.9rem;padding:.35rem .95rem}@media (width<=599px){:is(.sprint-intro,.mock-test-result) .sprint-lead .cta-row{flex-direction:column}:is(.sprint-intro,.mock-test-result) .sprint-lead .cta-row>.btn{flex:none;width:100%}:is(.sprint-intro,.mock-test-result) .sprint-result__score{font-size:3.6rem}}.sprint-intro .card:not(.sprint-lead) h2{margin:0 0 .3rem;font-size:1.15rem}.sprint-intro .card:not(.sprint-lead)>p.muted{text-wrap:pretty;margin:0 0 1rem;font-size:.9rem;line-height:1.55}.sprint-intro .sprint-history{gap:.5rem}.sprint-intro .sprint-history__item{border:1px solid var(--border);background:var(--surface);border-radius:12px}.sprint-intro .sprint-history__row{min-height:48px;padding:.55rem 1rem;transition:background-color .15s}.sprint-intro .sprint-history__row:hover{background:var(--primary-softer)}.sprint-intro .sprint-history__row:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.sprint-intro .sprint-history__row.is-open{background:var(--surface-2)}.sprint-intro .sprint-history__score{color:var(--ink);margin-inline-start:0;font-size:1rem}.sprint-intro .sprint-history__date{text-align:end;min-width:0;color:var(--muted);flex:1;font-size:.86rem;font-weight:400}.sprint-intro .run-detail{padding:.4rem .9rem .9rem}.sprint-intro .run-detail h3{margin:.4rem 0 .6rem;font-size:1rem}.sprint-intro .run-detail .table-wrap{box-shadow:none}.sprint-intro .run-detail .table td,.sprint-intro .run-detail .table th{text-align:start;white-space:normal;padding:.55rem .6rem;font-size:.86rem}.sprint-intro .run-detail .table th{white-space:nowrap;font-size:.8rem}@media (width<=599px){.sprint-intro .run-detail .table td,.sprint-intro .run-detail .table th{padding-inline:.45rem}}.sprint-intro .run-detail__ok{color:var(--success)}.sprint-intro .run-detail__bad{color:var(--danger)}.mock-test-result>.card:not(.sprint-lead){margin-top:1rem;padding:1.25rem}.mock-test-result>.card h2{margin:0 0 .8rem;font-size:1.15rem}.mock-test-result .table-wrap{box-shadow:none}@media screen{.flashcards-page{max-width:900px;margin-inline:auto}.flashcards-page .page__head--row{align-items:flex-end;gap:1rem}.flashcards-page .page__head p{text-wrap:balance;max-width:52ch;line-height:1.6}.flashcards-page .flashcards-actions .btn{min-height:44px}.flashcards-page .flashcards-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:1rem;padding:.9rem 1.1rem;display:flex}.flashcards-page .flashcards-toolbar__icon{background:var(--primary-softer);width:44px;height:44px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.flashcards-page .flashcards-toolbar__count{color:var(--ink);flex:8rem;align-items:baseline;gap:.4rem;display:flex}.flashcards-page .flashcards-toolbar__count b{font-size:1.05rem;font-weight:800}.flashcards-page .flashcards-toolbar .checkbox{background:var(--surface-2);min-height:40px;color:var(--text);border-radius:12px;gap:.6rem;margin:0;padding:.55rem .8rem;font-size:.9rem;line-height:1.35}.flashcards-page .flashcards-toolbar .checkbox input{flex:none;width:20px;height:20px;margin:0}.flashcards-page .flashcards-grid{grid-template-columns:1fr;gap:.9rem}.flashcards-page .flashcard{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface);border-radius:14px}.flashcards-page .flashcard__side{text-align:center;align-items:center;gap:.1rem;min-height:84px;padding:.9rem 1.1rem}.flashcards-page .flashcard__meta{text-wrap:balance}.flashcards-page .flashcard__side--en{border-inline-end:0}.flashcards-page .flashcard__side:not(.flashcard__side--en){border-inline-start:1.5px dashed var(--border-strong)}.flashcards-page .flashcard__en{letter-spacing:-.01em;color:var(--ink);font-size:1.2rem;font-weight:800}.flashcards-page .flashcard__meta{color:var(--muted);font-size:.8rem}.flashcards-page .flashcard__he{color:var(--ink);font-size:1.05rem;font-weight:700}.flashcards-page .empty-state{padding:2rem 1.25rem}}@media screen and (width>=700px){.flashcards-page .flashcards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (width<=599px){.flashcards-page .page__head--row{align-items:stretch}.flashcards-page .flashcards-actions{width:100%}.flashcards-page .flashcards-actions>.btn{flex:auto}.flashcards-page .flashcards-toolbar .checkbox{flex:100%}}:is(.progress-page,.class-goal,.certificate-locked) .progress{background:var(--surface-2);border:0;height:10px;overflow:hidden}:is(.progress-page,.class-goal,.certificate-locked) .progress__label{display:none}:is(.progress-page,.class-goal,.certificate-page,.reading-page,.reading-passage) .card{margin-bottom:1.25rem}.progress-page .page__head{margin-bottom:1.1rem}.progress-page .progress-overview{gap:1rem;margin-bottom:1.5rem;display:grid}.progress-page .progress-overview__main{align-content:start;gap:.85rem;margin:0;display:grid}.progress-page .progress-overview__top{align-items:center;gap:.75rem;display:flex}.progress-page .progress-overview__icon{background:var(--primary-softer);width:44px;height:44px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.progress-page .progress-overview__caption{min-width:0;color:var(--ink);flex:1;font-weight:700}.progress-page .progress-overview__pct{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1}.progress-page .progress-legend{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.progress-page .progress-legend .icon{vertical-align:-2px;color:var(--primary);margin-inline-end:.15rem}.progress-page .progress-overview__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.progress-page .progress-overview__stats .stat-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:1rem .5rem;display:flex}.progress-page .progress-overview__stats .stat-card__icon{margin:0 0 .45rem}.progress-page .progress-overview__stats .stat-card__value{color:var(--ink);font-size:1.6rem;line-height:1.1}.progress-page .progress-overview__stats .stat-card__label{color:var(--muted);margin:0;font-size:.82rem;font-weight:700}@media (width>=900px){.progress-page .progress-overview{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch}.progress-page .progress-overview__stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.progress-page .tabs{background:var(--surface-2);scrollbar-width:none;border-radius:999px;flex-wrap:nowrap;gap:2px;width:fit-content;max-width:100%;margin:0 0 1rem;padding:4px;display:flex;overflow-x:auto}.progress-page .tabs::-webkit-scrollbar{display:none}.progress-page .tabs .tab{min-height:40px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:auto;justify-content:center;padding:.35rem 1.15rem;font-size:.92rem;font-weight:700;transition:background-color .18s,color .18s,box-shadow .18s}.progress-page .tabs .tab:hover{color:var(--ink)}.progress-page .tabs .tab:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.progress-page .tabs .tab.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1018281f}[data-theme=dark] .progress-page .tabs .tab.is-active{background:var(--border-strong)}.progress-page .tabs .tab__count{display:none}@media (width<=720px){.progress-page .tabs{width:100%}}.progress-page .progress-count{margin:0 0 .6rem;font-size:.88rem}.progress-page .table-wrap{background:var(--surface);margin-bottom:1rem}.progress-page .table{font-size:.92rem}.progress-page .table th{padding:.75rem 1rem;font-size:.78rem}.progress-page .table td{vertical-align:middle;padding:.85rem 1rem}.progress-page .table .cell-en{color:var(--ink);white-space:nowrap;font-size:1rem;font-weight:700}.progress-page .table td.muted{color:var(--muted)}.progress-page .answer-counts{gap:.8rem}@media (width<=720px){.progress-page .progress-table,.progress-page .progress-table tbody{display:block}.progress-page .progress-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute}.progress-page .progress-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"en en en st""he he he st""unit diff cnt cnt";align-items:center;gap:.2rem .9rem;padding:.9rem 1rem;display:grid}.progress-page .progress-table tbody tr:last-child{border-bottom:0}.progress-page .progress-table tbody td{background:0 0;border:0;min-width:0;padding:0;display:block}.progress-page .progress-table tbody tr:hover td{background:0 0}.progress-page .progress-table td:first-child{text-align:right;grid-area:en}.progress-page .progress-table td:nth-child(2){color:var(--text);grid-area:he}.progress-page .progress-table td:nth-child(3){white-space:nowrap;grid-area:unit;margin-top:.45rem;font-size:.82rem}.progress-page .progress-table td:nth-child(4){grid-area:diff;margin-top:.45rem}.progress-page .progress-table td:nth-child(5){grid-area:st;place-self:start end}.progress-page .progress-table td:nth-child(6){grid-area:cnt;justify-self:end;margin-top:.45rem;font-size:.85rem}}@media (width<=720px) and (hover:hover){.progress-page .progress-table tbody tr:hover{background:var(--primary-softer)}}.progress-page .load-more{margin:.25rem 0 0}.progress-page .progress-achievements{margin-top:2rem;scroll-margin-top:5rem}.progress-page .progress-achievements__head{align-items:baseline;gap:.5rem 1rem;margin-bottom:.9rem}.progress-page .progress-achievements__head h2{margin:0}.progress-page .progress-achievements__count{font-size:.9rem;font-weight:700}.progress-page .badges-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem}@media (width<=560px){.progress-page .badges-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}}.progress-page .badge-card{text-align:center;border-radius:var(--r-lg);border:1px dashed var(--border-strong);box-shadow:none;background:0 0;flex-direction:column;align-items:center;gap:.2rem;padding:1.1rem .8rem .95rem;display:flex;position:relative}.progress-page .badge-card__icon{background:var(--surface-2);width:46px;height:46px;color:var(--muted);border:0;margin:0 0 .45rem}.progress-page .badge-card__title{color:var(--text);text-wrap:balance;font-size:.92rem;font-weight:700;line-height:1.3}.progress-page .badge-card__desc{color:var(--muted);text-wrap:balance;margin-bottom:.4rem;font-size:.78rem;line-height:1.45}.progress-page .badge-card__progress{color:var(--muted);font-variant-numeric:tabular-nums;align-self:stretch;margin-top:auto;padding-top:.55rem;font-size:.75rem;font-weight:700}.progress-page .badge-card__progress:after{content:"";background-color:var(--border);background-image:linear-gradient(var(--primary), var(--primary));background-position:100%;background-repeat:no-repeat;background-size:var(--pct,0%) 100%;border-radius:999px;height:4px;margin-top:.35rem;display:block}.progress-page .badge-card.is-earned{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.progress-page .badge-card.is-earned .badge-card__icon{background:var(--primary-softer);color:var(--primary)}.progress-page .badge-card.is-earned .badge-card__title{color:var(--ink)}.progress-page .badge-card.is-earned:before,.progress-page .badge-card.is-earned:after{content:"";top:.6rem;border-radius:50%;width:20px;height:20px;position:absolute;inset-inline-end:.6rem}.progress-page .badge-card.is-earned:before{background:var(--primary)}.progress-page .badge-card.is-earned:after{background:var(--on-primary);border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") 50%/14px 14px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") 50%/14px 14px no-repeat}.progress-page .progress-cta{margin-top:1.75rem}@media (width<=480px){.progress-page .progress-cta .btn{flex:100%}}@media screen{.page.class-goal,.certificate-page{max-width:48rem;margin-inline:auto}}.class-goal .class-goal__card{isolation:isolate;color:#fff;background:var(--lead-bg);box-shadow:var(--lead-shadow);border:0;gap:.95rem;padding:1.6rem 1.75rem;display:grid;position:relative;overflow:hidden}.class-goal .class-goal__top{align-items:center;gap:.75rem;display:flex}.class-goal .class-goal__icon{color:#fff;background:#ffffff2e;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.class-goal .class-goal__card h2{color:#fff;margin:0;font-size:1.2rem}.class-goal .class-goal__goal{color:var(--on-lead-muted);margin:0}.class-goal .class-goal__goal b{color:#fff}.class-goal .class-goal__figures{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.25rem;display:flex}.class-goal .class-goal__pct{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:800;line-height:1}.class-goal .class-goal__of{color:var(--on-lead-muted);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.class-goal .class-goal__card .progress{background:#ffffff47;height:12px}.class-goal .class-goal__card .progress__fill{background:#fff}.class-goal .class-goal__note{color:var(--on-lead-muted);margin:0}.class-goal .class-goal__card .class-goal__cta{color:var(--hero-a);box-shadow:none;background:#fff;border-color:#fff;justify-self:start;margin-top:.15rem}.class-goal .class-goal__card .class-goal__cta:hover:not(:disabled){background:var(--on-gradient-hover);border-color:var(--on-gradient-hover);color:var(--hero-a)}[data-theme=dark] .class-goal .class-goal__card .class-goal__cta,[data-theme=dark] .class-goal .class-goal__card .class-goal__cta:hover:not(:disabled){color:var(--hero-a)}.class-goal .class-goal__card .class-goal__cta:focus-visible{box-shadow:0 0 0 4px #ffffff80}@media (width<=560px){.class-goal .class-goal__card{padding:1.25rem}.class-goal .class-goal__card .class-goal__cta{justify-self:stretch}.class-goal .class-goal__due,.class-goal .class-goal__chunk{display:block}.class-goal .class-goal__sep{display:none}}.class-goal .class-goal__empty{padding:2.5rem 1.5rem}.class-goal .class-goal__empty h2{color:var(--ink);margin:.5rem 0 0;font-size:1.2rem}.class-goal .class-goal__empty p{max-width:32rem;margin:.2rem 0 0}.class-goal .class-goal__empty .cta-row{justify-content:center;margin-top:1.1rem}.certificate-page .certificate-locked{text-align:center;justify-items:center;gap:.4rem;padding:2.25rem 1.5rem 2rem;display:grid}.certificate-page .certificate-locked__icon{background:var(--primary-softer);width:60px;height:60px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex}.certificate-page .certificate-locked h2{margin:0;font-size:1.2rem}.certificate-page .certificate-locked p{text-wrap:balance;max-width:28rem;margin:0}.certificate-page .certificate-locked__bar{align-items:center;gap:.8rem;width:100%;max-width:22rem;margin-top:1rem;display:flex}.certificate-page .certificate-locked__bar .progress{flex:1;min-width:0}.certificate-page .certificate-locked__pct{min-width:2.8rem;color:var(--ink);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.certificate-page .certificate-locked .cta-row{justify-content:center;margin-top:.9rem}.certificate-page .page__head--row h1{margin-bottom:0}.certificate-page .certificate{max-width:46rem}.certificate-page .certificate__border{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);padding:3rem 2.5rem 2.5rem}.certificate-page .certificate__border:before{border:1px solid var(--primary-soft);border-radius:calc(var(--r-lg) - 6px);inset:12px}.certificate-page .certificate__brand{color:var(--muted);margin-bottom:1.6rem;font-size:.9rem}.certificate-page .certificate__title{letter-spacing:-.01em;color:var(--primary-strong);font-size:2.1rem;font-weight:800;line-height:1.2}.certificate-page .certificate__title:after{content:"";background:var(--primary);border-radius:2px;width:56px;height:3px;margin:.9rem auto 0;display:block}.certificate-page .certificate__sub{color:var(--muted);margin-top:1.1rem;font-size:.95rem}.certificate-page .certificate__name{letter-spacing:-.015em;min-width:55%;max-width:100%;color:var(--ink);border-bottom:1px solid var(--border-strong);overflow-wrap:anywhere;margin:.5rem 0 1.3rem;padding:0 1rem .55rem;font-size:2.3rem;font-weight:800;line-height:1.25;display:inline-block}.certificate-page .certificate__text{max-width:44ch;color:var(--text);text-wrap:balance;margin:0 auto 2.6rem;line-height:1.75}.certificate-page .certificate__meta{align-items:flex-end;gap:1.25rem}.certificate-page .certificate__line{border-bottom:1px solid var(--ink);height:2.2rem;margin-bottom:.4rem}.certificate-page .certificate__sign span{color:var(--muted);font-size:.82rem;font-weight:700}.certificate-page .certificate__date{color:var(--ink);flex:none;font-weight:700}.certificate-page .certificate-tip{text-align:center;margin:1rem 0 0;font-size:.9rem}@media (width<=560px){.certificate-page .page__head--row{align-items:stretch}.certificate-page .page__head--row .cta-row{margin-top:0}.certificate-page .page__head--row .cta-row .btn{flex:1 1 0}.certificate-page .certificate__border{padding:2.2rem 1.1rem 1.8rem}.certificate-page .certificate__brand{text-align:center;flex-wrap:wrap;margin-bottom:1.2rem}.certificate-page .certificate__title{font-size:1.65rem}.certificate-page .certificate__name{min-width:0;padding-inline:.25rem;font-size:1.75rem}.certificate-page .certificate__text{margin-bottom:1.8rem}.certificate-page .certificate__meta{gap:.7rem}.certificate-page .certificate__sign{min-width:0;max-width:none}.certificate-page .certificate__sign span{font-size:.75rem}.certificate-page .certificate__date{font-size:.85rem}}@media print{.certificate-page .certificate__title:after{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#2f5be8}.certificate-page .certificate__name{border-bottom-color:#d1d5db}}.reading-page .page__head{margin-bottom:1.1rem}.reading-page .level-filter{scrollbar-width:none;gap:.5rem;margin:0 0 .5rem;padding:.25rem .15rem .85rem}.reading-page .level-filter::-webkit-scrollbar{display:none}.reading-page .level-filter__btn{border:1.5px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);white-space:nowrap;padding:.35rem 1rem;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.reading-page .level-filter__btn:hover{border-color:var(--border-strong);color:var(--ink)}.reading-page .level-filter__btn.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.reading-page .level-filter__btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}@media (width<=720px){.reading-page .level-filter{margin-inline:-1.25rem;padding-inline:1.25rem;scroll-padding-inline:1.25rem}}.reading-page .reading-level{margin:0 0 2rem}.reading-page .reading-level__head{margin:0 0 .9rem}.reading-page .reading-level__head h2{gap:.6rem;margin:0 0 .2rem;font-size:1.2rem}.reading-page .reading-level__cefr{background:var(--primary-softer);color:var(--primary-strong);padding:.12rem .55rem}.reading-page .reading-level__head p{color:var(--muted);font-size:.9rem}.reading-page .reading-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.reading-page .reading-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);flex-direction:column;margin:0;padding:1.1rem 1.2rem 1rem;text-decoration:none;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex}@media (hover:hover) and (pointer:fine){.reading-page .reading-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.reading-page .reading-card:active{transform:scale(.99)}.reading-page .reading-card:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.reading-page .reading-card__top{flex-wrap:wrap;gap:.4rem .75rem;margin-bottom:.7rem}.reading-page .reading-card__top .chip{background:var(--primary-softer);color:var(--primary-strong);padding:.2rem .7rem;font-size:.78rem}.reading-page .reading-card__meta{color:var(--muted);font-size:.8rem}.reading-page .reading-card__title{color:var(--ink);text-align:right;text-wrap:balance;margin:0;font-size:1.1rem;font-weight:700;line-height:1.35}.reading-page .reading-card__he{color:var(--muted);margin:.15rem 0 .9rem;font-size:.92rem}.reading-page .reading-card__best{border-top:1px solid var(--border);color:var(--muted);gap:.4rem;margin:auto 0 0;padding-top:.75rem;font-size:.86rem;font-weight:700}.reading-page .reading-card__best.is-perfect{color:var(--success)}.reading-page .reading-card__best .icon{flex:none}.reading-passage{max-width:48rem;margin-inline:auto}.reading-passage .reading-bar{gap:.6rem 1rem;margin-bottom:1rem}.reading-passage .reading-bar__chips{gap:.5rem}.reading-passage .reading-bar .chip{background:var(--primary-softer);color:var(--primary-strong);padding:.25rem .75rem;font-size:.8rem}.reading-passage .reading-bar .chip--soft{background:var(--surface-2);color:var(--muted);border-color:#0000}.reading-passage .reading-bar .muted{font-size:.85rem;font-weight:700}.reading-passage .btn--sm{min-height:40px;padding:.3rem .95rem}.reading-passage .reading-instructions{color:var(--muted);background:0 0;border:0;border-radius:0;margin:0 0 1rem;padding:0;font-size:.95rem;font-weight:700}.reading-passage .reading-glossary{padding:1.1rem 1.3rem}.reading-passage .reading-glossary__title{gap:.55rem;margin:0 0 .7rem;font-size:1rem}.reading-passage .reading-glossary__title .icon{box-sizing:content-box;background:var(--primary-softer);color:var(--primary);border-radius:50%;padding:6px}.reading-passage .reading-glossary dl{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 1.5rem}.reading-passage .reading-glossary__row{border-bottom:1px solid var(--border);padding:.45rem 0}.reading-passage .reading-glossary dd{color:var(--muted)}.reading-passage .reading-text{color:var(--text);padding:1.6rem 1.75rem 1.4rem;font-size:1.08rem;line-height:1.85}.reading-passage .reading-text__head{border-bottom:1px solid var(--border);align-items:flex-start;gap:1rem;margin-bottom:1.1rem;padding-bottom:1rem}.reading-passage .reading-text h1{letter-spacing:-.015em;margin:0;font-size:1.55rem;font-weight:800;line-height:1.25}.reading-passage .reading-text p{margin:0 0 1.05rem}.reading-passage .reading-text p:last-child{margin-bottom:0}.reading-passage .reading-para{padding-inline-start:2.5rem}.reading-passage .reading-para__num{background:var(--primary-softer);width:1.5rem;height:1.5rem;color:var(--primary-strong);top:.4rem}.reading-passage .speak-btn{background:var(--primary-softer);width:40px;height:40px;color:var(--primary);border:0;transition:background-color .15s,box-shadow .15s,transform .1s}.reading-passage .speak-btn:hover{background:var(--primary-soft)}.reading-passage .reading-sentence{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px}.reading-passage .reading-sentence.is-chosen{background:var(--primary-soft);box-shadow:inset 0 -2px 0 var(--primary)}.reading-passage .reading-sentence.is-evidence{background:var(--success-bg);box-shadow:inset 0 -2px 0 var(--success)}.reading-passage .reading-text.is-picking{box-shadow:0 0 0 3px var(--ring)}.reading-passage .reading-text .reading-sentence.is-pickable{text-align:start;border:1px solid #0000;border-radius:10px;width:100%;margin:.15rem 0;padding:.35rem .6rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:block}.reading-passage .reading-text .reading-sentence.is-pickable:hover,.reading-passage .reading-text .reading-sentence.is-pickable:focus-visible{background:var(--primary-softer);border-color:var(--primary);outline:none;text-decoration:none}.reading-passage .reading-pick-banner{border:1px solid var(--primary-soft);border-radius:var(--r);background:linear-gradient(var(--primary-softer), var(--primary-softer)), var(--surface);color:var(--primary-strong);box-shadow:var(--shadow);padding:.6rem .8rem .6rem .9rem;font-weight:700}.reading-passage .reading-pick-banner .btn{background:var(--surface);border-color:var(--border-strong);min-height:40px;color:var(--ink)}.reading-passage .reading-result{padding:1.5rem 1.25rem 1.4rem}.reading-passage .reading-result:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.reading-passage .reading-result__score{letter-spacing:-.02em;font-size:2.8rem}.reading-passage .reading-result .cta-row{margin-top:1rem}.reading-passage .reading-questions{margin-top:2rem}.reading-passage .reading-questions>h2{margin:0 0 .25rem}.reading-passage .reading-questions>p.muted{margin:0 0 1rem;font-size:.92rem}.reading-passage .reading-q{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow);margin:0 0 1rem;padding:1.15rem 1.3rem 1.25rem}.reading-passage .reading-q.is-right{border-color:var(--success-border)}.reading-passage .reading-q.is-missed{border-color:var(--danger-border)}.reading-passage .reading-q>legend{float:left;align-items:center;gap:.65rem;width:100%;margin:0 0 .9rem;padding:0;font-weight:700;display:flex}.reading-passage .reading-q>legend+*{clear:both}.reading-passage .reading-q__num{background:var(--primary-softer);width:1.9rem;height:1.9rem;color:var(--primary-strong);font-size:.9rem}.reading-passage .reading-q__instruction{color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.4}.reading-passage .reading-q__points{margin-inline-start:auto}.reading-passage .reading-q__stem{color:var(--ink);margin:0 0 .9rem;font-size:1.04rem;font-weight:700;line-height:1.55}.reading-passage .reading-q__options{gap:.5rem}.reading-passage .reading-opt{border:1.5px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);border-radius:12px;align-items:center;gap:.75rem;padding:.55rem .85rem;transition:border-color .15s,background-color .15s,box-shadow .15s}@media (hover:hover) and (pointer:fine){.reading-passage .reading-opt:has(input:not(:disabled)):hover{border-color:var(--primary);background:var(--primary-softer)}}.reading-passage .reading-opt.is-selected{border-color:var(--primary);background:var(--primary-softer);color:var(--ink)}.reading-passage .reading-opt.is-correct{border-color:var(--success);background:var(--success-bg);color:var(--ink)}.reading-passage .reading-opt.is-wrong{border-color:var(--danger);background:var(--danger-bg);color:var(--ink);opacity:1}.reading-passage .reading-opt__letter{background:var(--surface-2);width:1.7rem;height:1.7rem;color:var(--muted);border:0;margin-top:0;font-size:.8rem}.reading-passage .reading-opt.is-selected .reading-opt__letter{background:var(--primary);color:var(--on-primary)}.reading-passage .reading-opt.is-correct .reading-opt__letter{background:var(--success);color:var(--surface)}.reading-passage .reading-opt.is-wrong .reading-opt__letter{background:var(--danger);color:var(--surface)}.reading-passage .reading-opt.is-correct{font-weight:700}.reading-passage .tf-choice{gap:.6rem;margin:0 0 .75rem}.reading-passage .tf-choice__btn{border:1.5px solid var(--border);background:var(--surface);max-width:11rem;min-height:46px;color:var(--ink);letter-spacing:.06em;border-radius:12px;font-weight:800;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s,transform .1s}@media (hover:hover) and (pointer:fine){.reading-passage .tf-choice__btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-softer)}}.reading-passage .tf-choice__btn.is-selected{border-color:var(--primary);background:var(--primary-softer);color:var(--primary-strong)}.reading-passage .tf-choice__btn.is-correct{border-color:var(--success);background:var(--success-bg);color:var(--success)}.reading-passage .tf-choice__btn.is-wrong{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.reading-passage .tf-evidence{gap:.6rem}.reading-passage .tf-evidence__quote{background:var(--primary-softer);color:var(--ink);border-radius:10px;padding:.65rem .9rem;font-style:normal}.reading-passage .tf-evidence__quote.is-correct{background:var(--success-bg)}.reading-passage .tf-evidence__quote.is-wrong{background:var(--danger-bg)}.reading-passage .tf-evidence__answer{color:var(--text)}.reading-passage .reading-table-wrap{box-shadow:none;background:var(--surface);border-radius:12px}.reading-passage .reading-table th{padding:.65rem .9rem;font-size:.78rem}.reading-passage .reading-table td{padding:.6rem .9rem}.reading-passage .reading-table td:first-child{width:34%}.reading-passage .reading-table__select{min-height:44px}.reading-passage .reading-open{min-height:5.5rem;padding:.7rem .9rem}.reading-passage .reading-open__note{margin:.45rem 0 0;font-size:.82rem}.reading-passage .reading-model{background:var(--surface-2);border:0;border-radius:12px;margin-top:.8rem;padding:.85rem 1rem}.reading-passage .reading-explanation{background:var(--success-bg);color:var(--text);border-radius:12px;margin:.85rem 0 0;padding:.75rem 1rem}.reading-passage .reading-submit{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);justify-content:space-between;padding:.7rem .9rem}.reading-passage .reading-submit .muted{font-size:.9rem;font-weight:700}@media (width<=720px){.reading-passage .reading-text{padding:1.2rem 1rem 1.1rem;font-size:1.05rem;line-height:1.8}.reading-passage .reading-text h1{font-size:1.35rem}.reading-passage .reading-para{padding-inline-start:1.95rem}.reading-passage .reading-para__num{width:1.4rem;height:1.4rem}.reading-passage .reading-q{padding:1rem 1rem 1.1rem}.reading-passage .reading-glossary{padding:1rem 1.1rem}.reading-passage .tf-choice__btn{max-width:none}.reading-passage .reading-submit{bottom:calc(var(--tabbar-h,68px) + 12px + env(safe-area-inset-bottom,0px));flex-wrap:nowrap;gap:.6rem;margin-inline-start:3.5rem;padding:.6rem .7rem}.reading-passage .reading-submit .btn{flex:none;padding-inline:1rem}.reading-passage .reading-submit .muted{flex:1;min-width:0;font-size:.8rem;line-height:1.35}.reading-passage .reading-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute}.reading-passage .reading-table tbody tr{border-bottom:1px solid var(--border);padding:.75rem .9rem}.reading-passage .reading-table tbody tr:last-child{border-bottom:0}.reading-passage .reading-table td,.reading-passage .reading-table tr.is-right td,.reading-passage .reading-table tr.is-missed td{background:0 0;padding:.15rem 0}.reading-passage .reading-table td:first-child{width:100%;padding-bottom:.4rem}.reading-passage .reading-table tr.is-right{background:var(--success-bg)}.reading-passage .reading-table tr.is-missed{background:var(--danger-bg)}.reading-passage .reading-table__select{text-overflow:ellipsis;padding-inline:.7rem;font-size:.86rem}}.lashon-card{text-align:start}.lashon-prompt{color:var(--ink);margin:0 0 .75rem;font-size:1.15rem;font-weight:700;line-height:1.5}.lashon-prompt:focus{outline:none}.lashon-sentence{border-radius:var(--r);background:var(--surface-2);color:var(--ink);margin:0 0 1.1rem;padding:.9rem 1rem;font-size:1.3rem;line-height:1.9}.lashon-target{background:var(--primary-softer);color:var(--primary-strong);text-underline-offset:.3em;border-radius:4px;padding:0 .15em;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.lashon-card .quiz-option__text{text-align:start;font-size:1.05rem;line-height:1.6}.lashon-next{justify-content:center;margin-top:1rem}.lashon-track h2{margin:0 0 .35rem;font-size:1.15rem}.lashon-track p{margin:0 0 .9rem}.lashon-track__options{flex-wrap:wrap;gap:.6rem;display:flex}.lashon-track__options .btn{flex:10rem;min-height:46px}.lashon-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.student-home .mode-tile--static{box-shadow:none;background:var(--surface-2);border-color:#0000}.lashon-topics .sec-head{margin-bottom:.5rem}.lashon-link-btn{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.lashon-topic-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.lashon-topic{border-top:1px solid var(--border);color:var(--text);gap:.45rem;padding:.8rem .25rem;text-decoration:none;display:grid}.lashon-topic-list li:first-child .lashon-topic{border-top:0}.lashon-topic__text{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.lashon-topic__title{color:var(--ink);font-weight:700}.lashon-topic__status{flex:none;font-size:.84rem}.lashon-topic:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:var(--r);outline:none}@media (hover:hover) and (pointer:fine){.lashon-topic:hover .lashon-topic__title{color:var(--primary)}}@media (width>=1100px){.lashon-home>.lashon-topics{grid-column:auto}}.lashon-summary .card,.lashon-report>.card{text-align:center}.lashon-summary h1,.lashon-report h1{margin:.5rem 0}.lashon-summary .cta-row,.lashon-report .cta-row{justify-content:center}.lashon-report{gap:1rem;display:grid}.lashon-report__item{gap:.5rem;display:grid}.lashon-report__item>.muted{margin:0;font-weight:700}.lashon-teacher{gap:1rem;display:grid}.lashon-class h3{margin:1.1rem 0 .5rem;font-size:1rem}.lashon-class__track{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.lashon-weak-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.lashon-weak-list li{grid-template-columns:minmax(8rem,1fr) 2fr auto;align-items:center;gap:.75rem;display:grid}@media (width<=560px){.lashon-weak-list li{grid-template-columns:1fr;gap:.25rem}.lashon-sentence{font-size:1.15rem}}.app-nav__link--subject .app-nav__icon{color:var(--subject)}.page.account-page{width:100%;min-width:0;max-width:680px;margin-inline:auto}.account-page .page__head{margin-bottom:1.25rem}.account-page .page__head>p{text-wrap:balance;max-width:none}.settings-page .page__head>p{text-wrap:wrap}.settings-page .page__head>p strong{max-width:100%;display:inline-block}.settings-page .page__head>p bdi{white-space:nowrap}.account-page .form-row{margin-bottom:0}@media (width<=599px){.account-page .btn--sm{min-height:40px}}.settings-page .settings-group{margin-top:1.75rem}.settings-page .settings-group:first-of-type{margin-top:0}.settings-page .settings-group__title{letter-spacing:.01em;color:var(--muted);border:0;margin:0 .4rem .55rem;padding:0;font-size:.82rem;font-weight:700;line-height:1.3}.settings-page .settings-group__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.settings-page .settings-group__card>.card{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:1.15rem 1.25rem}.settings-page .settings-group__card>.card+.card{border-top:1px solid var(--border)}.settings-page .settings-group__card>.card>h3{letter-spacing:0;align-items:center;gap:.7rem;margin:0 0 .4rem;font-size:1rem;font-weight:700;line-height:1.3;display:flex}.settings-page .settings-group__card>.card>h3 .icon{box-sizing:content-box;background:var(--primary-softer);color:var(--primary);border-radius:50%;flex:none;padding:8px}.settings-page .settings-group__card>.card>p.muted{margin:0 0 .9rem;font-size:.9rem;line-height:1.55}.settings-page .settings-group__card>.card>p.muted:last-child{margin-bottom:0}.settings-page .settings-status{margin:.65rem 0 0;font-size:.85rem}.settings-page .settings-hint{margin:.25rem 0 0;font-size:.85rem;line-height:1.5}.settings-page .field small{font-size:.82rem;line-height:1.45}@media (width>=600px){.settings-page .settings-group__card>.card:has(>select.input){grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1.25rem;display:grid}.settings-page .settings-group__card>.card:has(>select.input)>:not(select){grid-column:1}.settings-page .settings-group__card>.card:has(>select.input)>select.input{grid-area:1/2/span 2;width:13rem;max-width:100%}:is(.settings-page .settings-group__card>.card:has(>select.input)>.alert,.settings-page .settings-group__card>.card:has(>select.input)>[role=alert]){grid-area:auto/1/auto/-1}.settings-page .settings-group__card>.card:has(>select.input)>p.muted{margin-bottom:0}}@media (width<=599px){.settings-page .settings-group__card>.card>select.input{width:100%;max-width:none}}.settings-page .theme-options{background:var(--surface-2);border-radius:var(--r);grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:.15rem;padding:3px;display:grid}.settings-page .theme-option{min-height:42px;color:var(--muted);font-family:var(--font);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.4rem .5rem;font-size:.9rem;font-weight:700;line-height:1.2;transition:background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.settings-page .theme-option:hover{color:var(--ink);background:0 0}.settings-page .theme-option.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1018281f}[data-theme=dark] .settings-page .theme-option.is-active{background:var(--border-strong)}.settings-page .theme-option:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.settings-page .theme-option.is-active:focus-visible{box-shadow:0 0 0 3px var(--ring), 0 1px 3px #1018281f}.settings-page .theme-swatch{border:1px solid var(--border-strong);flex:none;width:16px;height:16px}.settings-page .theme-swatch--light{background:linear-gradient(135deg,#fff 50%,#e6eaf2 50%)}.settings-page .theme-swatch--dark{background:linear-gradient(135deg,#1a2236 50%,#0b1020 50%)}.settings-page .theme-swatch--system{background:linear-gradient(135deg,#fff 50%,#0b1020 50%)}.settings-page .settings-checks{gap:0;margin-top:.1rem}.settings-page .settings-checks>*{border-top:1px solid var(--border);padding:.8rem 0}.settings-page .settings-checks>:first-child{border-top:0;padding-top:.3rem}.settings-page .settings-checks>:last-child{padding-bottom:.1rem}.settings-page .settings-checks .checkbox{min-height:44px;color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;margin:0;font-size:.95rem;line-height:1.45;display:flex}.settings-page .settings-checks>div>.checkbox{min-height:0}.settings-page .settings-checks .checkbox input[type=checkbox]{appearance:none;background:var(--line-soft);cursor:pointer;border-radius:999px;flex:none;order:2;width:46px;height:28px;margin:0;transition:background-color .2s,box-shadow .2s;position:relative}.settings-page .settings-checks .checkbox input[type=checkbox]:before{content:"";top:3px;background:#fff;border-radius:50%;width:22px;height:22px;transition:inset-inline-start .2s;position:absolute;inset-inline-start:3px;box-shadow:0 1px 3px #1018284d}.settings-page .settings-checks .checkbox input[type=checkbox]:checked{background:var(--primary)}.settings-page .settings-checks .checkbox input[type=checkbox]:checked:before{inset-inline-start:calc(100% - 25px)}[data-theme=dark] .settings-page .settings-checks .checkbox input[type=checkbox]:checked:before{background:var(--on-primary);box-shadow:none}.settings-page .settings-checks .checkbox input[type=checkbox]:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.settings-page .settings-checks .settings-hint{margin-top:.3rem;padding-inline-end:62px}.settings-page .settings-group__card .form{gap:1rem}.settings-page .settings-group__card .field{gap:.35rem}.settings-page .alert{margin-bottom:.9rem}.settings-page .settings-join-code{letter-spacing:.08em;max-width:10rem}.settings-page .settings-proof{max-width:none;margin-top:.4rem}.settings-page .recovery-code{max-width:none;margin:.6rem 0;font-size:1.35rem}.settings-page .settings-secret{border-radius:var(--r-sm)}.settings-page .avatar-row{gap:1.1rem}.settings-page .avatar-row .cta-row{gap:.6rem}@media (width>=600px){.settings-page .form>.btn--block{align-self:flex-start;width:auto;min-width:11rem}}@media (width<=599px){.settings-page .settings-group__card .form .cta-row>.btn{flex:100%;min-height:46px}.settings-page .settings-group__card .form>.btn--block{min-height:46px}.settings-page .settings-join-code{flex:100%;max-width:none}.settings-page .attach-row>.btn{flex:100%;min-height:46px}.settings-page .settings-group__card>.card{padding:1rem}.settings-page .theme-option{white-space:nowrap;gap:.3rem;padding-inline:.2rem;font-size:.84rem}.settings-page .theme-swatch{width:14px;height:14px}.settings-page .settings-checks .settings-hint{padding-inline-end:0}}@media (width<=370px){.settings-page .theme-swatch{display:none}}.notifications-page .page__head--row{align-items:flex-start}.notifications-page .page__head--row .btn{flex:none}.notifications-page .notification-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin:0;display:block;overflow:hidden}.notifications-page .notification-item.card{box-shadow:none;color:var(--text);background:0 0;border:0;border-radius:0;align-items:flex-start;gap:.85rem;margin:0;padding:1rem 1.15rem;transition:background-color .15s;display:flex;position:relative}.notifications-page .notification-item.card+.notification-item.card{border-top:1px solid var(--border)}.notifications-page .notification-item__icon{background:var(--surface-2);width:40px;height:40px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.notifications-page .notification-item.is-unread .notification-item__icon{background:var(--primary-softer);color:var(--primary)}.notifications-page .notification-item[data-type=security_notice].is-unread .notification-item__icon{background:var(--warn-bg);color:var(--warn)}.notifications-page .notification-item__body{flex:auto;min-width:0}.notifications-page .notification-item__head{align-items:center;gap:.5rem;margin-bottom:.15rem;display:flex}.notifications-page .notification-item h2{letter-spacing:0;color:var(--ink);margin:0;font-size:1rem;font-weight:700;line-height:1.35}.notifications-page .notification-item h2 a{color:var(--ink);text-decoration:none}.notifications-page .notification-item h2 a:hover{color:var(--primary-strong);text-decoration:none}.notifications-page .notification-item h2 a:after{content:"";position:absolute;inset:0}.notifications-page .notification-item h2 a:focus-visible{outline:none}.notifications-page .notification-item h2 a:focus-visible:after{box-shadow:inset 0 0 0 2px var(--primary)}@media (hover:hover) and (pointer:fine){.notifications-page .notification-item.card:has(h2 a):hover{background:var(--surface-2)}}.notifications-page .notification-item__dot{background:var(--primary);border-radius:50%;flex:none;width:8px;height:8px}.notifications-page .notification-item__time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;margin-inline-start:auto;font-size:.78rem;line-height:1.35}.notifications-page .notification-item p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}.notifications-page .empty-state{justify-items:center;gap:.25rem;padding:2.6rem 1.25rem;display:grid}.notifications-page .empty-state p{max-width:32rem;margin:0;line-height:1.6}.notifications-page .empty-state p b{color:var(--ink);font-size:1.05rem}.notifications-page .empty-state__icon{justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.6rem;display:inline-flex}.notifications-page .page__head+.btn,.notifications-page .alert+.btn{margin-bottom:1rem}@media (width<=599px){.notifications-page .page__head--row{flex-wrap:wrap}.notifications-page .notification-item.card{gap:.75rem;padding:.95rem 1rem}}.feedback-page .page__head{margin-bottom:.5rem}.feedback-page--guest{max-width:560px}.feedback-page p.feedback-intro{text-wrap:balance;max-width:none;margin:0 0 1.1rem;line-height:1.6}.feedback-page .feedback-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);gap:1.15rem;padding:1.4rem}.feedback-page .feedback-form .field{gap:.45rem}.feedback-page .feedback-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.feedback-page .feedback-cat{background:var(--surface-2);min-height:46px;color:var(--text);border-radius:var(--r);font-family:var(--font);text-align:center;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .6rem;font-size:.92rem;font-weight:700;line-height:1.25;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:flex}.feedback-page .feedback-cat .icon{color:var(--muted);flex:none;transition:color .15s}.feedback-page .feedback-cat:hover{background:var(--primary-softer);color:var(--ink);border-color:#0000}.feedback-page .feedback-cat.is-active{background:var(--primary-softer);border-color:var(--primary);color:var(--primary-strong)}.feedback-page .feedback-cat.is-active .icon{color:var(--primary)}.feedback-page .feedback-cat:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}@media (width>=600px){.feedback-page .feedback-cats{grid-template-columns:repeat(4,minmax(0,1fr))}.feedback-page--guest .feedback-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}.feedback-page textarea.input{min-height:9.5rem;padding:.8rem 1rem;line-height:1.6}.feedback-page .feedback-form .field>small{font-variant-numeric:tabular-nums;align-self:flex-end;font-size:.8rem}.feedback-page .feedback-form .field>small[id=fb-contact-help]{align-self:flex-start;line-height:1.5}.feedback-page .feedback-contact{border:1px solid var(--border);border-radius:var(--r);gap:.9rem;margin:0;padding:.9rem 1rem 1rem}.feedback-page .feedback-contact legend{margin-inline-start:-.4rem;padding:0 .4rem}.feedback-page .feedback-form>p.muted{margin:0;font-size:.85rem;line-height:1.55}.feedback-page .feedback-form>.btn[type=submit]{width:100%}@media (width>=600px){.feedback-page .feedback-form>.btn[type=submit]{align-self:flex-start;width:auto;min-width:12rem}}.feedback-page .feedback-sent{color:var(--success);background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--r-lg);margin:.75rem 0 0;padding:1.1rem 1.25rem;font-weight:700}.feedback-page .feedback-sent+.cta-row{margin-top:1rem}@media (width<=599px){.feedback-page .feedback-form{padding:1.1rem}.feedback-page .feedback-sent+.cta-row>.btn{flex:100%;min-height:46px}}.suggest-word-page>.card{margin:0 0 1rem}.suggest-word-page .suggestion-form-card{border-color:var(--border)}.suggest-word-page .suggestion-form-card .form{gap:1.1rem}.suggest-word-page .suggestion-fields{align-items:start;gap:1rem}.suggest-word-page .field{gap:.45rem}.suggest-word-page .suggestion-form-card .form>.btn[type=submit]{width:100%;min-height:46px}@media (width>=600px){.suggest-word-page .suggestion-form-card .form>.btn[type=submit]{align-self:flex-start;width:auto;min-width:12rem;min-height:44px}}.suggest-word-page>.card>h2{margin:0 0 .9rem}.suggest-word-page>.card>p.muted{margin:0}.suggest-word-page .card>.table-wrap{margin-inline:-1.3rem;box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:-.25rem}.suggest-word-page .table{font-size:.92rem}.suggest-word-page .table th,.suggest-word-page .table td{padding:.75rem .7rem}.suggest-word-page .table th:first-child,.suggest-word-page .table td:first-child{padding-inline-start:1.3rem}.suggest-word-page .table th:last-child,.suggest-word-page .table td:last-child{padding-inline-end:1.3rem}.suggest-word-page .table td:last-child{white-space:nowrap;font-size:.85rem}.suggest-word-page .table td b{color:var(--ink)}.suggest-word-page .table td[dir=ltr]{text-align:right}.suggest-word-page .table td:first-child[dir=ltr]{padding-inline:.7rem 1.3rem}.suggest-word-page .table-wrap:focus-visible{box-shadow:inset 0 0 0 3px var(--ring);outline:none}.suggest-word-page .badge--suggestion-pending{background:var(--warn-bg);color:var(--warn)}.suggest-word-page .badge--suggestion-batched{background:var(--primary-softer);color:var(--primary-strong)}.suggest-word-page .badge--suggestion-approved{background:var(--success-bg);color:var(--success)}.suggest-word-page .badge--suggestion-rejected{background:var(--danger-bg);color:var(--danger)}@media (width<=599px){.suggest-word-page>.card{padding:1.1rem}.suggest-word-page .card>.table-wrap{margin-inline:-1.1rem}.suggest-word-page .table,.suggest-word-page .table tbody{display:block}.suggest-word-page .table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute}.suggest-word-page .table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"word status""meaning date";align-items:center;gap:.25rem .75rem;padding:.85rem 1.1rem;display:grid}.suggest-word-page .table tbody tr:last-child{border-bottom:0}.suggest-word-page .table tbody tr:hover td{background:0 0}.suggest-word-page .table td,.suggest-word-page .table td:first-child,.suggest-word-page .table td:first-child[dir=ltr],.suggest-word-page .table td:last-child{overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.suggest-word-page .table td:first-child{grid-area:word;font-size:1rem}.suggest-word-page .table td:nth-child(2){color:var(--muted);grid-area:meaning;font-size:.9rem;line-height:1.45}.suggest-word-page .table td:nth-child(3){grid-area:status;justify-self:end}.suggest-word-page .table td:nth-child(4){white-space:nowrap;grid-area:date;justify-self:end;font-size:.8rem}.suggest-word-page .badge{padding:.15rem .55rem;font-size:.72rem}}.teacher-home,.teacher-student{container-type:inline-size}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live){--tm-gap:1.25rem;gap:var(--tm-gap);flex-direction:column;display:flex}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live)>*{margin:0}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live)>.page__head{margin-bottom:.15rem}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live)>div:empty{margin-block-start:calc(-1 * var(--tm-gap))}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .card:not(.empty-state)>h2{align-items:center;gap:.7rem;margin:0 0 .9rem;display:flex}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .card:not(.empty-state)>h2:has(+p){margin-bottom:.35rem}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .card:not(.empty-state)>h2>.icon{box-sizing:content-box;background:var(--primary-softer);width:18px;height:18px;color:var(--primary);border-radius:50%;padding:8px}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .card>h2+p{margin:0 0 1.1rem}:is(.teacher-home,.teacher-students,.teacher-live) .empty-state{padding:2rem 1.25rem}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .alert{border-radius:var(--r);margin:0;padding:.8rem 1rem;font-size:.92rem;line-height:1.55}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .alert:not(.alert--error):not(.alert--success){background:var(--primary-softer);border:1px solid var(--primary-soft);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;display:flex}:is(.teacher-home,.teacher-student,.teacher-live) .stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}:is(.teacher-home,.teacher-student,.teacher-live) .stat-card{text-align:start;border-radius:var(--r-lg);flex-direction:column;align-items:flex-start;height:100%;padding:1rem 1.05rem;display:flex}:is(.teacher-home,.teacher-student,.teacher-live) .stat-card .stat-card__icon{margin:0 0 .8rem}:is(.teacher-home,.teacher-student,.teacher-live) .stat-card .stat-card__value{color:var(--ink);font-size:1.7rem;font-weight:800;line-height:1.1}:is(.teacher-home,.teacher-student,.teacher-live) .stat-card .stat-card__label{color:var(--muted);margin-top:.3rem;font-size:.84rem;line-height:1.4}.teacher-home .teacher-summary .stat-card,.teacher-student .stat-card{background:var(--surface-2);box-shadow:none;border-color:#0000}.teacher-home .teacher-summary__grid,.teacher-student .teacher-student__progress .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@container (width<=600px){.teacher-home .teacher-summary__grid,.teacher-student .teacher-student__progress .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.teacher-home .teacher-summary .stat-card,.teacher-student .stat-card{--tone-bg:color-mix(in srgb, var(--tone) 14%, var(--surface))}:is(.teacher-live,.teacher-student) .stat-card--difficult{--tone:var(--warn);--tone-bg:var(--warn-bg)}.teacher-live .stat-card:not(.stat-card--known):not(.stat-card--difficult){--tone:var(--muted);--tone-bg:var(--surface-2)}.teacher-home .teacher-home__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}@container (width<=560px){.teacher-home .teacher-home__stats{grid-template-columns:1fr;gap:.65rem}}.teacher-home .stat-card-link{border-radius:var(--r-lg);transition:transform .2s,box-shadow .2s;display:block}.teacher-home .stat-card-link .stat-card{transition:border-color .2s,box-shadow .2s}.teacher-home .teacher-home__stats .stat-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon value""icon label";align-items:center;gap:.05rem .95rem;padding:1.1rem 1.2rem;display:grid}.teacher-home .teacher-home__stats .stat-card .stat-card__icon{grid-area:icon;margin:0}.teacher-home .teacher-home__stats .stat-card .stat-card__value{grid-area:value;align-self:end}.teacher-home .teacher-home__stats .stat-card .stat-card__label{grid-area:label;align-self:start;margin-top:0}@media (width>=641px){.teacher-live .stat-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon value""icon label";align-items:center;gap:.05rem .95rem;padding:1.1rem 1.2rem;display:grid}.teacher-live .stat-card .stat-card__icon{grid-area:icon;margin:0}.teacher-live .stat-card .stat-card__value{grid-area:value;align-self:end}.teacher-live .stat-card .stat-card__label{grid-area:label;align-self:start;margin-top:0}}@media (hover:hover) and (pointer:fine){.teacher-home .stat-card-link:hover{transform:translateY(-2px)}.teacher-home .stat-card-link:hover .stat-card,.teacher-home .stat-card-link:focus-visible .stat-card{box-shadow:var(--shadow-lg)}}.teacher-home .teacher-summary__grid{margin:0}.teacher-home .teacher-summary__note{border-top:1px solid var(--border);max-width:none;margin:1.1rem 0 0;padding-top:1rem;font-size:.84rem;line-height:1.65}.teacher-home .retention-notice{border-inline-start:4px solid var(--primary);align-items:flex-start;gap:1rem;display:flex}.teacher-home .retention-notice__icon{background:var(--primary-softer);width:44px;height:44px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.teacher-home .retention-notice__body{flex:1;min-width:0}.teacher-home .retention-notice h2{margin:0 0 .3rem;font-size:1.05rem;display:block}.teacher-home .retention-notice p{max-width:62ch;margin:0 0 1rem}.teacher-home .retention-notice.is-done{border-inline-start-color:var(--success);background:var(--success-bg);border-color:var(--success-border);color:var(--success);align-items:center;gap:.6rem}.teacher-home .teacher-goal{border-radius:var(--r);background:var(--surface-2);border:0;margin:0 0 1rem;padding:1rem 1.1rem}.teacher-home .teacher-goal__head{gap:.6rem 1rem;margin:0 0 .9rem}.teacher-home .teacher-goal__head b{color:var(--ink);font-size:1.02rem}.teacher-home .teacher-goal__meta{flex-wrap:wrap;margin:.7rem 0 0;font-size:.86rem;line-height:1.6;display:flex}.teacher-home .teacher-goal__meta>span+span:before{content:"·";margin-inline:.55rem}@container (width<=640px){.teacher-home .teacher-goal__meta{flex-direction:column}.teacher-home .teacher-goal__meta>span+span:before{content:none}}.teacher-home .teacher-goal .progress{background:var(--border-strong);height:10px;margin-inline-end:3.1rem;overflow:visible}.teacher-home .teacher-goal .progress__label{color:var(--ink);text-shadow:none;white-space:nowrap;justify-content:flex-start;font-size:.88rem;font-weight:700;line-height:1;inset:0;inset-inline:calc(100% + .7rem) auto}.teacher-home .teacher-goal+.form-inline{border-top:1px solid var(--border);padding-top:1.1rem}.teacher-home .teacher-goal+.form-inline .teacher-goal__new{margin-top:0}.teacher-home .form-inline .teacher-goal__new{margin:0 0 .25rem;font-size:1.02rem}.teacher-home .form-inline>p.muted{margin:0 0 1rem}.teacher-home .form-inline .form-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem 1rem;margin:0 0 1.1rem}@container (width<=760px){.teacher-home .form-inline .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=480px){.teacher-home .form-inline .form-row{grid-template-columns:1fr}}.teacher-home .teacher-goal-history{margin-top:1.1rem}.teacher-home .teacher-goal-history summary{cursor:pointer;min-height:40px;color:var(--muted);border-radius:var(--r-sm);align-items:center;gap:.5rem;font-weight:700;list-style:none;transition:color .18s;display:inline-flex}.teacher-home .teacher-goal-history summary::-webkit-details-marker{display:none}.teacher-home .teacher-goal-history summary:hover{color:var(--ink)}.teacher-home .teacher-goal-history summary:after{content:"";border:2px solid;border-width:0 2px 2px 0;flex:none;width:.45rem;height:.45rem;transition:transform .18s;transform:translateY(-2px)rotate(45deg)}.teacher-home .teacher-goal-history[open] summary:after{transform:translateY(2px)rotate(-135deg)}.teacher-home .teacher-goal-history .plain-list{gap:0;margin:.4rem 0 0}.teacher-home .teacher-goal-history .plain-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.2rem .8rem;padding:.7rem 0;font-size:.92rem;line-height:1.7;display:flex}.teacher-home .teacher-goal-history .plain-list li>b{color:var(--ink)}.teacher-home .teacher-goal-history .plain-list li:last-child{border-bottom:0;padding-bottom:0}.teacher-home .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}@container (width<=600px){.teacher-home .card-grid{grid-template-columns:1fr}}.teacher-students .page__head--row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem 1.25rem;display:flex}.teacher-students .page__head--row h1{margin:0}.teacher-students .teacher-students__actions{flex-wrap:wrap;gap:.6rem;margin:0}.teacher-students .teacher-students__actions .btn{flex:none}.teacher-students .filter-bar{grid-template-columns:minmax(150px,190px) minmax(190px,250px) minmax(220px,1fr) auto;align-items:end;gap:.75rem .9rem;margin:0;display:grid}.teacher-students .filter-bar__item{color:var(--muted);gap:.4rem;min-width:0;font-size:.82rem;font-weight:700}.teacher-students .filter-bar__item .input{width:100%;min-width:0;font-weight:400}.teacher-students .filter-bar__item--grow{min-width:0}.teacher-students .filter-bar__count{white-space:nowrap;align-items:center;min-height:46px;padding:0;font-size:.86rem;display:flex}.teacher-students .table-wrap{border-radius:var(--r-lg);container-type:inline-size}@container (width<=899px){.teacher-students .students-table .col-username{display:none}.teacher-students .students-table th,.teacher-students .students-table td{padding-inline:.8rem}}.teacher-students .table-wrap:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.teacher-students .students-table th{font-size:.8rem}.teacher-students .students-table td{vertical-align:middle}.teacher-students .students-table tbody tr:last-child td{border-bottom:0}.teacher-students .student-cell{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex}.teacher-students .student-link{color:var(--ink);gap:.75rem;font-weight:700}.teacher-students .student-link .avatar{background:var(--primary-softer);color:var(--primary);border:0}.teacher-students .student-badge{margin:0;padding:.15rem .6rem;font-size:.74rem}.teacher-students .col-class{white-space:nowrap}.teacher-students .students-table td[dir=ltr]{text-align:end}.teacher-students .students-table td.student-progress,.teacher-students .students-table td.student-activity{min-width:10.5rem;line-height:1.55}.teacher-students .student-progress>b{color:var(--ink);font-size:.95rem}.teacher-students .student-progress .muted,.teacher-students .student-activity .muted{font-size:.82rem}.teacher-students .student-activity>span:first-child:not(:only-child){color:var(--ink);font-weight:700}.teacher-students .col-actions{white-space:nowrap;text-align:end;width:1%}.teacher-students .row-actions{justify-content:flex-end}.teacher-students .students-table tr.is-inactive .student-link{color:var(--muted)}.teacher-students .students-legend{max-width:none;margin:0;font-size:.84rem;line-height:1.65}.teacher-students #join-codes-panel .join-code-form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:end;gap:.9rem 1rem;margin:0 0 .6rem;display:grid}.teacher-students #join-codes-panel .join-code-form .btn{min-height:46px;padding-inline:1.5rem}.teacher-students .join-code-form__help{margin:0 0 1.25rem;font-size:.84rem;line-height:1.6}.teacher-students .join-codes{grid-template-columns:repeat(auto-fill,minmax(min(100%,410px),1fr));gap:.75rem;display:grid}.teacher-students .join-code{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:.75rem .6rem;padding:.9rem 1.05rem;display:flex}.teacher-students .join-code>div:first-child{flex:190px;min-width:0}.teacher-students .join-code>.btn{flex:none}.teacher-students .join-code__code{letter-spacing:.1em;color:var(--primary-strong);text-align:end;font-family:ui-monospace,SF Mono,Consolas,Courier New,monospace;font-size:1.3rem;font-weight:800;line-height:1.3}.teacher-students .join-code__meta{margin-top:.15rem;font-size:.84rem;line-height:1.7}.teacher-students .modal-backdrop{animation:.18s both tm-fade}.teacher-students .qr-modal{width:min(440px,100%);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-lg);margin:0;padding:1.5rem;animation:.22s both tm-enter;overflow-y:auto}.teacher-students .qr-modal h2{margin:0 0 .35rem;font-size:1.25rem}.teacher-students .qr-modal>p.muted:first-of-type{margin:0;line-height:1.6}.teacher-students .qr-modal__img{border:1px solid var(--border);border-radius:var(--r);background:#fff;width:min(260px,62vw);margin:1rem auto .8rem;padding:.5rem}.teacher-students .qr-modal__or{margin:0 0 .15rem;font-size:.88rem}.teacher-students .qr-modal__url{color:var(--ink);font-size:1rem}.teacher-students .qr-modal .join-code__code{text-align:center;margin-top:.2rem;font-size:2.1rem}.teacher-students .qr-modal .cta-row{gap:.6rem;margin:1.1rem 0 0}@keyframes tm-fade{0%{opacity:0}to{opacity:1}}@keyframes tm-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.teacher-students form.card{flex-direction:column;gap:.9rem;display:flex}.teacher-students form.card>*,.teacher-students form.card>.form-row{margin:0}.teacher-students form.card>.btn[type=submit]{align-self:flex-start;min-height:46px;padding-inline:1.6rem}.teacher-students .names-hint{font-size:.86rem;line-height:1.6}.teacher-students textarea.input{resize:vertical;padding-block:.75rem;line-height:1.7}.teacher-student .teacher-student__head{flex-direction:column;align-items:stretch;gap:.7rem;display:flex}.teacher-student .back-link{min-height:40px;color:var(--muted);align-self:flex-start;gap:.4rem;font-size:.9rem;font-weight:700;text-decoration:none}.teacher-student .back-link:hover{color:var(--primary);text-decoration:none}.teacher-student .back-link:focus-visible{box-shadow:0 0 0 4px var(--ring);border-radius:var(--r-sm);outline:none}.teacher-student .teacher-student__profile{align-items:center;gap:1.1rem;margin:0;padding:1.25rem 1.3rem;display:flex}.teacher-student .teacher-student__profile .avatar{background:var(--primary-softer);color:var(--primary);border:0}.teacher-student .teacher-student__id{flex:1;min-width:0}.teacher-student .teacher-student__id h1{overflow-wrap:anywhere;margin:0 0 .25rem}.teacher-student .teacher-student__meta{max-width:none;margin:0;line-height:1.6}.teacher-student .teacher-student__meta-id{white-space:nowrap}.teacher-student .teacher-student__meta-id>span:first-child{color:var(--ink);font-weight:700}.teacher-student .teacher-student__meta-last:before{content:"·";margin-inline:.45rem}@container (width<=640px){.teacher-student .teacher-student__meta-last{display:block}.teacher-student .teacher-student__meta-last:before{content:none}}.teacher-student .teacher-student__badges{gap:.4rem;margin:.6rem 0 0}.teacher-student .teacher-student__progress .stat-grid{margin:0}.teacher-student .teacher-student__facts{border-top:1px solid var(--border);margin:1.1rem 0 0;padding:0;list-style:none;display:block}.teacher-student .teacher-student__facts li{border-bottom:1px solid var(--border);color:var(--text);padding:.75rem 0;line-height:1.6}.teacher-student .teacher-student__fact-part+.teacher-student__fact-part:before{content:"·";margin-inline:.5rem}@container (width<=520px){.teacher-student .teacher-student__fact-part{display:block}.teacher-student .teacher-student__fact-part+.teacher-student__fact-part:before{content:none}}.teacher-student .teacher-student__facts li:last-child{border-bottom:0;padding-bottom:0}.teacher-student .teacher-student__hard .table-wrap{box-shadow:none;border-radius:var(--r)}.teacher-student .teacher-student__hard .table-wrap:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.teacher-student .teacher-student__hard .table th,.teacher-student .teacher-student__hard .table td{vertical-align:middle;padding:.75rem 1rem}.teacher-student .teacher-student__hard .table tbody tr:last-child td{border-bottom:0}.teacher-student .teacher-student__hard>p.muted{margin:0}.teacher-student .teacher-student__details .form-inline{flex-direction:column;gap:.9rem;display:flex}.teacher-student .teacher-student__details .form-row,.teacher-student .teacher-student__details .form-inline>p{margin:0}.teacher-student .teacher-student__details .cta-row,.teacher-student .teacher-student__manage .cta-row{gap:.6rem;margin:0}.teacher-student .teacher-student__manage .cta-row{margin-top:.4rem}.teacher-student .teacher-student__note{max-width:none;margin:1rem 0 0;font-size:.88rem;line-height:1.65}.teacher-live .live-controls{padding:1.25rem 1.3rem}.teacher-live .live-controls__row{flex-wrap:wrap;align-items:flex-end;gap:.9rem;margin:0;display:flex}.teacher-live .live-controls__row .field{flex:200px;min-width:0;max-width:320px}.teacher-live .live-controls__row .btn{min-height:46px;padding-inline:1.3rem}.teacher-live .live-controls .live-note{border-top:1px solid var(--border);margin:1.1rem 0 0;padding-top:1rem;font-size:.86rem;line-height:1.65}.teacher-live .live-meta{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border);border-radius:999px;align-self:flex-end;align-items:center;margin:0 0 5px;padding:.4rem .9rem;font-size:.88rem;font-weight:700;display:inline-flex}.teacher-live .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.teacher-live .live-actions.card{color:var(--ink);gap:.75rem 1rem;padding:1rem 1.3rem;font-weight:700}.teacher-live .live-privacy{justify-content:flex-start;gap:.6rem 1rem}.teacher-live .live-privacy .muted{font-size:.86rem;line-height:1.55}.teacher-live>.live-note{max-width:none;margin:0;font-size:.86rem;line-height:1.7}.teacher-live .live-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.65rem}.teacher-live .live-row{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-height:58px;box-shadow:var(--shadow-sm);flex-wrap:nowrap;gap:.75rem;padding:.7rem 1rem}.teacher-live .live-row--away{background:var(--surface);border-color:var(--border)}.teacher-live .live-dot{background:var(--line-soft);width:10px;height:10px}.teacher-live .live-row--active .live-dot{background:var(--success)}.teacher-live .live-row--away .live-dot{background:var(--warn)}.teacher-live .live-name{color:var(--ink);font-weight:700;line-height:1.35}.teacher-live .live-state{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:.25rem .75rem;font-size:.8rem;font-weight:700;line-height:1.5}.teacher-live .live-state .muted{color:inherit;opacity:1;font-size:inherit;font-weight:400}.teacher-live .live-row--active .live-state{background:var(--success-bg);color:var(--success)}.teacher-live .live-row--away .live-state{background:var(--warn-bg);color:var(--warn)}.teacher-live .live-row--offline .live-state{background:var(--surface-2);color:var(--muted)}@media (width<=740px){.teacher-students .students-table,.teacher-students .students-table tbody{width:100%;min-width:0;display:block}.teacher-students .students-table thead{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.teacher-students .students-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name class""progress progress""activity actions";align-items:center;gap:.65rem .75rem;padding:.95rem 1rem;display:grid}.teacher-students .students-table tbody tr:last-child{border-bottom:0}.teacher-students .students-table tbody tr.is-inactive{background:var(--surface-2)}.teacher-students .students-table tbody td{text-align:start;border:0;width:auto;min-width:0;padding:0;display:block}.teacher-students .students-table tbody td,.teacher-students .students-table tbody tr:hover td,.teacher-students .students-table tbody tr.is-inactive td{background:0 0}.teacher-students .students-table .student-name{grid-area:name}.teacher-students .students-table tbody td.col-username{display:none}.teacher-students .students-table tbody td.col-class{background:var(--surface-2);color:var(--muted);border-radius:999px;grid-area:class;justify-self:end;padding:.2rem .7rem;font-size:.82rem;font-weight:700;line-height:1.5}.teacher-students .students-table tbody td.col-class.is-empty{display:none}.teacher-students .students-table td.student-progress{flex-flow:wrap;grid-area:progress;align-items:baseline;gap:.15rem .9rem;min-width:0;font-size:.88rem;line-height:1.5;display:flex}.teacher-students .students-table td.student-activity{flex-direction:column;grid-area:activity;gap:.1rem;min-width:0;font-size:.88rem;display:flex}.teacher-students .students-table td.col-actions{grid-area:actions}.teacher-students .student-link{gap:.6rem;min-height:40px}.teacher-students .students-table .row-actions .btn{min-height:40px}}@media (width<=640px){:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live){--tm-gap:1rem}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .card{padding:1.1rem 1rem}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .stat-card{padding:.9rem .85rem}:is(.teacher-home,.teacher-students,.teacher-student,.teacher-live) .btn--sm,.teacher-students .student-link{min-height:40px}.teacher-home .teacher-home__stats .stat-card{padding:.85rem 1rem}.teacher-home .teacher-home__stats .stat-card .stat-card__value{font-size:1.55rem}.teacher-home .retention-notice{gap:.8rem}.teacher-home .teacher-goal{padding:.9rem}.teacher-home .teacher-goal .progress{margin-inline-end:2.9rem}.teacher-home .form-inline .btn[type=submit]{width:100%}.teacher-home .card-grid{gap:.75rem}.teacher-students .page__head--row{gap:.9rem;display:grid}.teacher-students .teacher-students__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;width:100%;display:grid}.teacher-students .teacher-students__actions .btn{justify-content:center;width:100%;min-height:44px;padding-inline:.6rem}.teacher-students .teacher-students__actions .btn:last-child:nth-child(odd){grid-column:1/-1}.teacher-students .filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-students .filter-bar__item--grow{grid-column:1/-1}.teacher-students .filter-bar__count{grid-column:1/-1;min-height:0}.teacher-students #join-codes-panel .join-code-form{grid-template-columns:1fr}.teacher-students #join-codes-panel .join-code-form .btn{width:100%}.teacher-students .join-code>div:first-child{flex-basis:100%}.teacher-students .join-code>.btn{flex:1 1 0;justify-content:center;min-height:40px}.teacher-students .qr-modal{padding:1.25rem 1rem}.teacher-students .qr-modal .cta-row .btn{flex:auto;justify-content:center;min-height:44px}.teacher-students form.card>.btn[type=submit]{align-self:stretch}.teacher-student .teacher-student__profile{align-items:flex-start;gap:.9rem;padding:1rem}.teacher-student .teacher-student__id h1{font-size:1.4rem}.teacher-student .teacher-student__manage .cta-row .btn,.teacher-student .teacher-student__details .cta-row .btn{flex:100%;justify-content:center;min-height:46px}.teacher-student .teacher-student__hard .table-wrap{border-inline:0;border-radius:0;margin-inline:-1rem}.teacher-student .teacher-student__hard .table th,.teacher-student .teacher-student__hard .table td{padding:.65rem .6rem}.teacher-student .teacher-student__hard .table th:first-child,.teacher-student .teacher-student__hard .table td:first-child{padding-inline-start:1rem}.teacher-student .teacher-student__hard .table th:last-child,.teacher-student .teacher-student__hard .table td:last-child{padding-inline-end:1rem}.teacher-student .teacher-student__hard .table td:nth-child(2){min-width:6.5rem;line-height:1.4}.teacher-student .teacher-student__details .btn{justify-content:center}.teacher-student .teacher-student__details>.btn{width:100%}.teacher-live .live-controls__row{gap:.75rem}.teacher-live .live-controls__row .field{flex-basis:100%;max-width:none}.teacher-live .live-controls__row .btn{flex:100%;justify-content:center}.teacher-live .live-meta{align-self:flex-start;margin:0}.teacher-live .stat-grid{gap:.6rem}.teacher-live .stat-card{padding:.8rem .7rem}.teacher-live .stat-card .stat-card__icon{margin-bottom:.6rem}.teacher-live .stat-card .stat-card__value{font-size:1.4rem}.teacher-live .stat-card .stat-card__label{margin-top:.2rem;font-size:.78rem}.teacher-live .live-actions.card{align-items:stretch}.teacher-live .live-actions.card .btn{justify-content:center;width:100%;min-height:44px}.teacher-live .live-privacy .btn{min-height:40px}.teacher-live .live-list{gap:.5rem}}@media (prefers-reduced-motion:reduce){.teacher-students .qr-modal,.teacher-students .modal-backdrop{animation:none}.teacher-home .stat-card-link,.teacher-home .nav-card{transition:none}}.teacher-insights,.teacher-words{flex-direction:column;gap:1.25rem;display:flex}.teacher-insights>*,.teacher-words>*{margin-block:0}.teacher-insights>.page__head,.teacher-words>.page__head{margin-bottom:.25rem}.teacher-insights .alert,.teacher-words .alert{border-radius:var(--r);margin-bottom:0;padding:.8rem 1rem;font-weight:700}.teacher-insights .table-wrap:focus-visible,.teacher-words .table-wrap:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.teacher-insights .cell-en,.teacher-words .cell-en{text-align:end}.teacher-insights .page__head p,.teacher-words .page__head p,.teacher-insights .insights-card>h2+p{text-wrap:pretty}.teacher-insights .insights-card>h2{align-items:center;gap:.7rem;margin:0;font-size:1.1rem;line-height:1.3;display:flex}.teacher-insights .insights-card>h2 .icon{box-sizing:border-box;background:var(--primary-softer);width:38px;height:38px;color:var(--primary);border-radius:50%;flex:none;padding:9px}.teacher-insights .insights-card>h2+p{max-width:60ch;margin:.4rem 0 1.1rem;font-size:.92rem}.teacher-insights .insights-card>h2+p~p:not(.insights-top__more){margin:0;font-size:.95rem}.teacher-insights .insights-activity .insights-days{margin-top:1.25rem}.teacher-insights .insights-days__bars{border-bottom:1px solid var(--border-strong);background-image:linear-gradient(var(--border) 1px, transparent 1px);background-repeat:repeat-y;background-size:100% 25%;gap:6px;height:150px;margin:0;padding-top:2px}.teacher-insights .days-strip__bar{background:var(--border-strong);border-radius:6px 6px 0 0;min-width:0;transition:background-color .15s}.teacher-insights .days-strip__bar.is-goal{background:var(--primary)}@media (hover:hover) and (pointer:fine){.teacher-insights .days-strip__bar.is-goal:hover{background:var(--primary-strong)}}.teacher-insights .insights-days__labels{margin-top:.55rem;font-size:.8rem}.teacher-insights .insights-activity__total{margin:1rem 0 0;font-size:.95rem}.teacher-insights .insights-days__table{margin-top:.5rem;font-size:.9rem}.teacher-insights .insights-days__table summary{border-radius:var(--r-sm);width:fit-content;min-height:40px;color:var(--primary-strong);cursor:pointer;align-items:center;gap:.5rem;padding-inline:.25rem .6rem;font-weight:700;list-style:none;transition:background-color .15s;display:flex}.teacher-insights .insights-days__table summary::-webkit-details-marker{display:none}.teacher-insights .insights-days__table summary:before{content:"";border-inline-end:2px solid;border-bottom:2px solid;width:.5rem;height:.5rem;margin-inline:.35rem .1rem;transform:rotate(45deg)translate(-1px,-1px)}.teacher-insights .insights-days__table[open] summary:before{transform:rotate(-135deg)translate(-1px,-1px)}.teacher-insights .insights-days__table summary:hover{background:var(--primary-softer)}.teacher-insights .insights-days__table .plain-list{gap:.35rem;margin-top:.5rem}.teacher-insights .insights-days__table li{background:var(--surface-2);color:var(--text);border-radius:10px;padding:.55rem .85rem}.teacher-insights .teacher-insights-grid>.card{margin:0}.teacher-insights .teacher-insights-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:1.25rem;margin:0;display:grid}@media (width<=960px){.teacher-insights .teacher-insights-grid{grid-template-columns:minmax(0,1fr)}}.teacher-insights .insights-card .table-wrap{box-shadow:none;background:0 0;border:0;border-radius:0}.teacher-insights .insights-table th{border-bottom:0;padding:.7rem .9rem;line-height:1.3}.teacher-insights .insights-table--confusions th{white-space:normal}.teacher-insights .insights-table th:first-child{border-start-start-radius:12px;border-end-start-radius:12px}.teacher-insights .insights-table th:last-child{border-start-end-radius:12px;border-end-end-radius:12px}.teacher-insights .insights-table td{font-variant-numeric:tabular-nums;padding:.85rem .9rem}.teacher-insights .insights-table td.cell-en{color:var(--ink)}.teacher-insights .insights-table--confusions th,.teacher-insights .insights-table--confusions td{padding-inline:.6rem}@media (width>=641px){.teacher-insights .insights-table--words th,.teacher-insights .insights-table--words td{padding-inline:.7rem}.teacher-insights .insights-table--words th:first-child{width:32%}.teacher-insights .insights-table--words th:nth-child(2){width:28%}.teacher-insights .insights-table--top th:first-child{width:44%}.teacher-insights .insights-table--top th:nth-child(2){width:14%}.teacher-insights .insights-table--top th:nth-child(3),.teacher-insights .insights-table--top th:nth-child(4){width:21%}}.teacher-insights b.insights-wrong{background:var(--danger-bg);color:var(--danger);border-radius:999px;padding:.15rem .6rem;font-weight:700;display:inline-block}.teacher-insights td.insights-wrong{color:var(--danger);font-weight:700}.teacher-insights .insights-person{align-items:center;gap:.7rem;display:flex}.teacher-insights .insights-avatar{background:var(--primary-softer);width:36px;height:36px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:inline-flex}.teacher-insights .insights-person__name{color:var(--ink);font-weight:700}.teacher-insights .insights-top__more{margin:.75rem 0 0}.teacher-insights .insights-top__more a{align-items:center;min-height:40px;font-weight:700;text-decoration:none;display:inline-flex}.teacher-insights .insights-top__more a:hover{text-decoration:underline}.teacher-insights>.cta-row{margin:0}.teacher-insights>.btn{align-self:flex-start}.teacher-insights .empty-state--hero{gap:.5rem;padding:3rem 1.25rem}.teacher-insights .empty-state--hero .btn{margin-top:.9rem}@media (width<=640px){.teacher-insights .insights-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.teacher-insights .insights-table,.teacher-insights .insights-table tbody{width:100%;display:block}.teacher-insights .insights-table tbody tr{border-bottom:1px solid var(--border);align-items:center;gap:.3rem .75rem;padding:.9rem 0;display:grid}.teacher-insights .insights-table tbody tr:first-child{padding-top:.25rem}.teacher-insights .insights-table tbody tr:last-child{border-bottom:0;padding-bottom:.25rem}.teacher-insights .insights-table tbody tr:hover td{background:0 0}.teacher-insights .insights-table td{border:0;min-width:0;padding:0;display:block}.teacher-insights .insights-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:.86rem;font-weight:400}.teacher-insights .insights-table td.cell-en{font-size:1.02rem}.teacher-insights .insights-table--words tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"word pct""meaning meaning""dots tries"}.teacher-insights .insights-table--words td:first-child{grid-area:word}.teacher-insights .insights-table--words td:nth-child(2){color:var(--text);grid-area:meaning}.teacher-insights .insights-table--words td:nth-child(3){grid-area:dots;justify-self:start}.teacher-insights .insights-table--words td:nth-child(4){grid-area:pct;justify-self:end}.teacher-insights .insights-table--words td:nth-child(5){grid-area:tries;justify-self:end}.teacher-insights .insights-table--confusions tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"word times""right right""wrong wrong"}.teacher-insights .insights-table--confusions td:first-child{grid-area:word}.teacher-insights .insights-table--confusions td:nth-child(2){grid-area:right}.teacher-insights .insights-table--confusions td:nth-child(3){grid-area:wrong}.teacher-insights .insights-table--confusions td:nth-child(4){grid-area:times;justify-self:end}.teacher-insights .insights-table--confusions td:nth-child(4):before{font-size:.82rem}.teacher-insights .insights-table--top tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person class""right all"}.teacher-insights .insights-table--top td:first-child{grid-area:person}.teacher-insights .insights-table--top td:nth-child(2){grid-area:class;justify-self:end}.teacher-insights .insights-table--top td:nth-child(3){grid-area:right}.teacher-insights .insights-table--top td:nth-child(4){grid-area:all;justify-self:end}.teacher-insights .insights-days__bars{gap:4px;height:120px}.teacher-insights>.cta-row .btn{justify-content:center;width:100%;min-height:50px}}.teacher-words .words-head{align-items:flex-start;gap:1rem 1.5rem}.teacher-words .words-head__text{flex:320px;min-width:0}.teacher-words .words-head__text p{max-width:62ch;margin:.35rem 0 0}.teacher-words .words-head .cta-row{flex:none;gap:.6rem;margin:0}.teacher-words .words-head .btn{min-height:44px}.teacher-words .words-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:1rem;padding:1.1rem 1.25rem;display:grid}.teacher-words .words-search{display:block;position:relative}.teacher-words .words-search:before{content:"";z-index:1;pointer-events:none;inset-inline-start:14px;background-color:var(--muted);width:18px;height:18px;margin-top:-9px;transition:background-color .15s;position:absolute;top:50%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.teacher-words .words-search:focus-within:before{background-color:var(--primary)}.teacher-words .words-search .input{padding-inline-start:44px}.teacher-words .words-search:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .input{text-align:right;padding-left:14px;padding-right:44px}.teacher-words .words-search:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .input{padding-left:44px;padding-right:14px}.teacher-words .words-search .input::-webkit-search-cancel-button{appearance:none;display:none}.teacher-words .words-filters .teacher-words__mine{border-radius:var(--r);background:var(--surface-2);min-height:46px;color:var(--ink);white-space:nowrap;cursor:pointer;align-self:end;align-items:center;gap:.6rem;margin:0;padding:0 1rem;font-size:.92rem;font-weight:700;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}@media (hover:hover) and (pointer:fine){.teacher-words .words-filters .teacher-words__mine:hover:not(:has(input:checked)){background:var(--border)}}.teacher-words .words-filters .teacher-words__mine input{flex:none;width:18px;height:18px;margin:0}.teacher-words .words-filters .teacher-words__mine:has(input:checked){background:var(--primary-softer);color:var(--primary-strong);box-shadow:inset 0 0 0 1.5px var(--primary)}.teacher-words .words-filters .teacher-words__mine:has(input:focus-visible){box-shadow:0 0 0 4px var(--ring)}.teacher-words .words-filters .teacher-words__mine:has(input:checked:focus-visible){box-shadow:inset 0 0 0 1.5px var(--primary), 0 0 0 4px var(--ring)}.teacher-words>p[role=status]{margin-bottom:-.35rem;font-size:.92rem}.teacher-words .table-wrap{background:var(--surface)}.teacher-words .words-table th{border-bottom:1px solid var(--border)}.teacher-words .words-table td{vertical-align:middle}.teacher-words .words-table td.cell-en{color:var(--ink);font-size:1rem}.teacher-words .words-table .th-sort{min-height:32px}.teacher-words .words-table .difficulty{gap:4px}.teacher-words .words-table .difficulty__dot{width:8px;height:8px}.teacher-words .words-table .row-actions{justify-content:flex-end;gap:.5rem}.teacher-words .words-table td:last-child{white-space:nowrap;width:1%}.teacher-words .words-table td:nth-child(4){white-space:nowrap}.teacher-words .words-table td.words-ctx{min-width:8rem;max-width:20rem}.teacher-words .words-ctx__pos,.teacher-words .words-ctx__gloss{display:block}.teacher-words .words-ctx__gloss{text-align:end;margin-top:.1rem;font-size:.86rem}.teacher-words>.empty-state{margin:0;padding:2.5rem 1.25rem}.teacher-words .words-more{justify-content:center;align-items:center;gap:.6rem 1rem;margin:0}.teacher-words .words-panel{padding:1.3rem 1.4rem}.teacher-words .words-panel h3{margin:0 0 1rem;font-size:1.1rem}.teacher-words .words-panel>p.muted{max-width:72ch;margin:0 0 .6rem;font-size:.92rem}.teacher-words .words-panel .alert{margin-bottom:1rem}.teacher-words .words-panel__fields{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin:0;display:grid}.teacher-words .words-panel__fields>.field{grid-column:span 2}.teacher-words .words-panel__fields>.field:last-child{grid-column:span 4}.teacher-words .words-panel .cta-row{margin-top:1.25rem}.teacher-words .words-panel .btn--primary:not(.btn--sm){min-height:46px;padding-inline:1.4rem}.teacher-words .words-panel--import textarea.input{resize:vertical;min-height:170px;padding-block:.8rem;line-height:1.55}.teacher-words .words-panel>p.words-import__count{min-height:1.3em;margin:.6rem 0 1rem;font-size:.9rem}@media (width<=960px){.teacher-words .words-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.teacher-words .words-filters__search{grid-column:1/-1}.teacher-words .words-filters .teacher-words__mine{grid-column:1/-1;justify-self:start}.teacher-words .words-panel__fields>.field,.teacher-words .words-panel__fields>.field:last-child{grid-column:span 3}.teacher-words .words-panel__fields>.field:last-child{grid-column:1/-1}}@media (width<=760px){.teacher-words .words-head .cta-row{width:100%}.teacher-words .words-head .cta-row .btn{flex:1 1 0}.teacher-words .words-filters{grid-template-columns:minmax(0,1fr);gap:.85rem;padding:1rem}.teacher-words .words-filters .teacher-words__mine{justify-self:stretch;width:100%}.teacher-words .words-panel{padding:1.1rem 1rem}.teacher-words .words-panel__fields{grid-template-columns:minmax(0,1fr)}.teacher-words .words-panel__fields>.field,.teacher-words .words-panel__fields>.field:last-child{grid-column:1/-1}.teacher-words .words-panel .cta-row .btn,.teacher-words .words-panel>.btn{flex:100%;width:100%}.teacher-words .words-more .btn{flex:100%;min-height:48px}.teacher-words .words-more .muted{text-align:center;flex:100%}.teacher-words .words-table,.teacher-words .words-table thead,.teacher-words .words-table tbody{width:100%;display:block}.teacher-words .words-table thead tr{background:var(--surface-2);flex-wrap:wrap;gap:0 1.1rem;padding:.35rem 1rem;display:flex}.teacher-words .words-table th{background:0 0;border:0;padding:0;display:block}.teacher-words .words-table th:not([aria-sort]){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.teacher-words .words-table .th-sort{min-height:40px;font-size:.86rem}.teacher-words .words-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"en dots""he he""pos unit""gloss gloss""act act";align-items:center;gap:0 .75rem;padding:.9rem 1rem;display:grid}.teacher-words .words-table tbody tr:last-child{border-bottom:0}.teacher-words .words-table tbody tr:hover td{background:0 0}.teacher-words .words-table td{border:0;width:auto;min-width:0;padding:0;display:block}.teacher-words .words-table td:first-child{text-wrap:balance;grid-area:en;font-size:1.05rem}.teacher-words .words-table td:nth-child(2){color:var(--ink);grid-area:he;margin-top:.2rem}.teacher-words .words-table td.words-ctx{display:contents}.teacher-words .words-table .words-ctx__pos{grid-area:pos;margin-top:.2rem;font-size:.86rem}.teacher-words .words-table .words-ctx__gloss{grid-area:gloss;margin-top:.15rem}.teacher-words .words-table td:nth-child(4){text-align:end;grid-area:unit;margin-top:.2rem;font-size:.86rem}.teacher-words .words-table td:nth-child(5){grid-area:dots;justify-self:end}.teacher-words .words-table td:nth-child(6){white-space:normal;grid-area:act;width:auto}.teacher-words .words-table td:nth-child(6):empty{display:none}.teacher-words .words-table td:nth-child(6) .row-actions{justify-content:stretch;margin-top:.55rem}.teacher-words .words-table td:nth-child(6) .btn{flex:1 1 0;min-height:42px}}@media screen{.teacher-test{flex-direction:column;gap:1.25rem;display:flex}.teacher-test>*{margin-block:0}.teacher-test>.page__head{margin-bottom:.25rem}.teacher-test .page__head p,.teacher-test .card>h2+p{text-wrap:pretty}.teacher-test .alert{border-radius:var(--r);margin-bottom:0;padding:.8rem 1rem;font-weight:700}.teacher-test .card{padding:1.25rem 1.4rem}.teacher-test .card>h2{margin:0;font-size:1.1rem}.teacher-test .card>h2+p{max-width:62ch;margin:.4rem 0 1.1rem;font-size:.92rem}.teacher-test .alert--info{background:var(--primary-softer);border:1px solid var(--primary-soft);color:var(--primary-strong);font-weight:700}.teacher-test .alert--success,.teacher-test .alert--error{margin-bottom:1rem}.teacher-test .empty-state{margin:0;padding:2.5rem 1.25rem}.teacher-test .test-form__fields{grid-template-columns:minmax(0,.55fr) minmax(0,2.3fr) minmax(0,.95fr) minmax(0,.95fr);gap:1rem;margin:0 0 1.25rem;display:grid}.teacher-test .test-form>.btn{min-height:46px;padding-inline:1.6rem}@media (width>=1280px){.teacher-test .test-form{align-items:flex-end;gap:1.25rem;display:flex}.teacher-test .test-form__fields{flex:auto;min-width:0;margin:0}.teacher-test .test-form>.btn{flex:none}}.teacher-test .test-actions{grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:end;gap:1.1rem 2rem;display:grid}.teacher-test .test-actions__info{justify-items:start;gap:.7rem;display:grid}.teacher-test .test-actions__info strong{color:var(--ink);font-size:1.05rem;font-weight:800}.teacher-test .test-actions__info .checkbox{border-radius:var(--r);background:var(--surface-2);min-height:46px;color:var(--ink);white-space:nowrap;cursor:pointer;align-items:center;gap:.6rem;margin:0;padding:0 1rem;font-size:.92rem;font-weight:700;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}@media (hover:hover) and (pointer:fine){.teacher-test .test-actions__info .checkbox:hover:not(:has(input:checked)){background:var(--border)}}.teacher-test .test-actions__info .checkbox input{flex:none;width:18px;height:18px;margin:0}.teacher-test .test-actions__info .checkbox:has(input:checked){background:var(--primary-softer);color:var(--primary-strong);box-shadow:inset 0 0 0 1.5px var(--primary)}.teacher-test .test-actions__info .checkbox:has(input:focus-visible){box-shadow:0 0 0 4px var(--ring)}.teacher-test .test-actions__info .checkbox:has(input:checked:focus-visible){box-shadow:inset 0 0 0 1.5px var(--primary), 0 0 0 4px var(--ring)}.teacher-test .test-actions__order{min-width:0;margin:0}.teacher-test .test-actions .cta-row{border-top:1px solid var(--border);grid-column:1/-1;gap:.6rem;margin:0;padding-top:1.1rem}.teacher-test .test-actions .btn{min-height:46px}.teacher-test .test-assign__form{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:1rem;margin:0;display:grid}.teacher-test .test-assign__form>.btn{white-space:nowrap;min-height:46px;padding-inline:1.4rem}.teacher-test .test-assign>.muted:last-child{margin:.9rem 0 0;font-size:.9rem}.teacher-test .sent-tests{gap:0;margin:.4rem 0 0}.teacher-test .sent-tests__item{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem .9rem;padding:.85rem 0;display:grid}.teacher-test .sent-tests__item:last-child{border-bottom:0;padding-bottom:.25rem}.teacher-test .sent-tests__icon{background:var(--primary-softer);width:40px;height:40px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.teacher-test .sent-tests__text{gap:.15rem;min-width:0;display:grid}.teacher-test .sent-tests__text b{color:var(--ink);overflow-wrap:anywhere;font-weight:700}.teacher-test .sent-tests__meta{color:var(--muted);font-size:.88rem}.teacher-test .test-sheet{border-radius:var(--r-lg);box-shadow:var(--shadow);padding:2rem 2.2rem}.teacher-test .test-sheet__header{border-bottom:1px solid var(--border-strong);margin-bottom:1.6rem;padding-bottom:1.2rem}.teacher-test .test-sheet__header h2{margin:0;font-size:1.35rem}.teacher-test .print-brand{text-align:center;margin:.3rem 0 0}.teacher-test .test-sheet__meta{color:var(--ink);gap:.5rem 1.5rem;margin-top:1.1rem}.teacher-test .test-sheet__instr{margin:.9rem 0 0}.teacher-test .test-list{column-gap:3rem}.teacher-test .test-item{margin-bottom:1rem}.teacher-test .test-item__line{border-bottom:1px dotted var(--border-strong)}.teacher-test .test-item__content:has(.test-item__answer) .test-item__line{flex:100%}.teacher-test .test-item__answer{font-weight:700}@media (width<=960px){.teacher-test .test-form__fields,.teacher-test .test-assign__form{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-test .test-assign__form>label:first-child,.teacher-test .test-assign__form>.btn{grid-column:1/-1}}@media (width<=640px){.teacher-test .card{padding:1.1rem 1rem}.teacher-test .test-form__fields,.teacher-test .test-assign__form{grid-template-columns:minmax(0,1fr)}.teacher-test .test-form>.btn{width:100%;min-height:50px}.teacher-test .test-assign__form>.btn{min-height:50px}.teacher-test .test-actions{grid-template-columns:minmax(0,1fr)}.teacher-test .test-actions__info{justify-items:stretch}.teacher-test .test-actions__info .checkbox{white-space:normal;width:100%}.teacher-test .test-actions .cta-row .btn{flex:100%}.teacher-test .sent-tests__item{grid-template-columns:auto minmax(0,1fr)}.teacher-test .sent-tests__item>.btn{grid-column:2;justify-self:start;min-height:40px}.teacher-test .test-sheet{padding:1.4rem 1.1rem}.teacher-test .test-sheet__meta{flex-direction:column;gap:.45rem}.teacher-test .test-item__content{grid-template-columns:auto minmax(0,1fr);gap:.1rem .6rem;display:grid}.teacher-test .test-item__content>small{text-align:end;grid-area:1/2;justify-self:end}.teacher-test .test-item__line{grid-column:1/-1;min-width:0;margin-top:.15rem}.teacher-test select.input{text-overflow:ellipsis;letter-spacing:-.005em;padding-inline:.7rem .35rem}}}.admin-page .page__head--row{gap:.9rem 1rem}.admin-page .page__head--row>div>h1{margin-bottom:.3rem}.admin-page .page__head--row>div>p{margin:0}.admin-page .page__head>p,.admin-page .page__head--row>div>p{text-wrap:balance}.admin-page .page__head--row h2{margin:0}.admin-page .page__head--row>.btn{flex:none}.admin-page .back-link{min-height:40px;color:var(--muted);align-items:center;gap:.4rem;margin-bottom:.3rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.admin-page .back-link:before{content:"";background-color:currentColor;flex:none;width:16px;height:16px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.admin-page .back-link:hover{color:var(--primary);text-decoration:none}.admin-page .back-link:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:8px;outline:none}.admin-page .stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.admin-page .stat-card{text-align:start;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon value""icon label";align-content:start;align-items:center;gap:.1rem 1rem;padding:1.05rem 1.2rem;display:grid}.admin-page .stat-card .stat-card__icon{grid-area:icon;margin:0;padding:12px}.admin-page .stat-card .stat-card__value{color:var(--ink);grid-area:value;align-self:end;font-size:1.65rem}.admin-page .stat-card .stat-card__label{grid-area:label;align-self:start;margin:0;font-size:.85rem;line-height:1.35}.admin-page .stat-card--known,.admin-page .stat-card--learning{--tone:var(--primary);--tone-bg:var(--primary-softer)}.admin-page .stat-card--difficult{--tone:var(--warn);--tone-bg:var(--warn-bg)}.admin-home .stat-grid,.school-home .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-page .school-home__note,.admin-page .admin-home__review{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);margin:0 0 1rem;padding:.8rem 1.1rem;font-size:.9rem;line-height:1.6}.admin-page .admin-home__review a{text-underline-offset:3px;font-weight:700}.admin-page .card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem;margin-top:0;margin-bottom:1.5rem}.admin-page .nav-card:hover{background:var(--surface)}.admin-page .filters.card{align-items:end;gap:.9rem 1rem;margin-bottom:1rem;padding:1.05rem 1.2rem}.admin-page .filters .field{min-width:0}.admin-page .filters .checkbox{color:var(--text);min-height:32px;font-size:.9rem}.admin-page .field--search{position:relative}.admin-page .field--search:after{content:"";inset-inline-start:14px;pointer-events:none;background-color:var(--muted);width:18px;height:18px;transition:background-color .15s;position:absolute;bottom:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.admin-page .field--search:focus-within:after{background-color:var(--primary)}.admin-page .field--search .input{text-align:start;direction:rtl;padding-inline-start:2.8rem}.admin-page .school-users-search{width:min(100%,340px);min-width:0}.admin-page [role=status].muted{margin:0 0 .75rem;font-size:.88rem}.admin-page .form-inline h3{margin-bottom:.25rem;font-size:1.05rem}.admin-page .form-inline>h3+.alert,.admin-page .form-inline>h3+.muted{margin-top:.4rem}.admin-page .form-inline .form-row{gap:1rem;margin:.9rem 0}.admin-page .form-inline .form-row:has(>.field:only-child){max-width:460px}.admin-page .form-inline>p.muted{margin:0 0 1rem;font-size:.88rem;line-height:1.55}.admin-page .form-inline>p.form-hint{margin:.9rem 0 0}.admin-page .form-inline>p.names-hint{margin:.2rem 0 0}.admin-page .register-terms{background:var(--surface-2);border-radius:var(--r);color:var(--text);align-items:flex-start;gap:.7rem;margin:0 0 1rem;padding:.85rem 1rem;font-size:.88rem;line-height:1.6;display:flex}.admin-page .register-terms input{flex:none;width:18px;height:18px;margin:.15rem 0 0}.admin-page .register-terms a{font-weight:700}.admin-page .table-wrap{border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:1rem;scroll-padding-inline:1rem}.admin-page .table{font-size:.92rem}.admin-page .table th{text-align:start;white-space:nowrap;border-bottom:1px solid var(--border);padding:.8rem 1rem;font-size:.8rem}.admin-page .table td{vertical-align:middle;color:var(--text);padding:.8rem 1rem}.admin-page .table:not(.passage-preview__table) tbody td:first-child{color:var(--ink);font-weight:700}.admin-page .table tbody td:first-child :is(.muted,small){color:var(--muted);font-weight:400}.admin-page .table .muted,.admin-page .table small{color:var(--muted)}.admin-page .table .badge{padding:.2rem .7rem;font-size:.78rem}.admin-page .table tr.is-disabled td,.admin-page .table tr.is-disabled td:first-child{color:var(--muted)}.admin-page .cell-name{align-items:center;gap:.75rem;display:inline-flex}.admin-page .cell-icon{background:var(--primary-softer);width:34px;height:34px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-page .friend-cell{align-items:center;gap:.75rem}.admin-page .friend-cell__text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.admin-page .friend-cell__name{color:var(--ink);font-weight:700;line-height:1.35}.admin-page .friend-cell small{white-space:nowrap;font-size:.8rem;line-height:1.35}.admin-page .friend-cell .avatar{background:var(--primary-softer);color:var(--primary);border:0}.admin-page .row-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.admin-page .row-actions .btn{white-space:nowrap}.admin-page .table .btn--ghost{background-color:var(--primary-softer);color:var(--primary-strong);border-color:#0000}.admin-page .table .btn--ghost:hover:not(:disabled){background-color:var(--primary-soft);color:var(--primary-strong);border-color:#0000}.admin-page .table .btn--danger{background-color:var(--surface)}.admin-page .table .btn--danger:hover:not(:disabled){background-color:var(--danger-bg)}.school-students .table th,.school-students .table td{padding-inline:.7rem}.school-students .table th{white-space:normal;line-height:1.3}.school-students .table td{white-space:normal}.school-students .table td:first-child{min-width:190px}.school-students .row-actions{grid-template-columns:repeat(2,minmax(max-content,1fr));gap:.4rem;display:grid}.school-students .row-actions .btn{width:100%}.admin-page .reject-row td,.admin-page .transfer-row td,.admin-page .passage-preview-row>td{background:var(--surface-2);white-space:normal;padding:1rem 1.1rem;font-weight:400}.admin-page .reject-row__form,.admin-page .transfer-row__form{align-items:flex-end;gap:.8rem 1rem}.admin-page .reject-row:hover td,.admin-page .transfer-row:hover td,.admin-page .passage-preview-row:hover>td{background:var(--surface-2)}.admin-page .pager{justify-content:center;gap:.4rem;margin:1.1rem 0 1.5rem}.admin-page .pager .btn{min-width:40px}.admin-school .admin-school__forms{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.1rem;display:grid}.admin-school .admin-school__forms>.card{margin-bottom:0}.admin-school .admin-school__forms,.admin-school .page__head+.alert,.admin-school .page__head{margin-bottom:1.1rem}.admin-school .page__head--row{margin:.5rem 0 .9rem}.admin-school .cta-row{margin-top:.4rem}.admin-school .danger-zone{border-color:var(--danger-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1.5rem;display:grid}.admin-school .danger-zone h2{grid-column:1;margin:0 0 .35rem;font-size:1.1rem}.admin-school .danger-zone p{grid-column:1;max-width:70ch;margin:0;line-height:1.6}.admin-school .danger-zone .btn{grid-area:1/2/span 2}.admin-words .table th,.admin-words .table td{padding-inline:.65rem}.admin-words .table td.cell-en{font-size:.95rem}.admin-words .table td:nth-child(2),.admin-words .table td:nth-child(3){max-width:200px}.admin-words .table td:nth-child(4){white-space:nowrap}.admin-words .table small{margin-top:.15rem;display:block}.admin-words .row-review td{background:var(--warn-bg)}.admin-words .row-actions{flex-wrap:nowrap}.admin-words .practice-blocked{max-width:220px;line-height:1.45}@media (width>=901px){.admin-words .form-inline .form-row{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-words .form-inline .form-row>.field:last-child{grid-column:span 2}}.admin-words .modal-backdrop{padding:1rem}.admin-words .modal{border-radius:var(--r-xl);border:1px solid var(--border);max-width:640px;box-shadow:var(--shadow-lg);overscroll-behavior:contain;padding:1.5rem 1.6rem}.admin-words .modal>h3{margin:0 0 .9rem;font-size:1.15rem}.admin-words .modal .form{gap:1rem;display:grid}.admin-words .modal .form-row{gap:1rem;margin:0}.admin-words .modal .checkbox{min-height:32px;color:var(--text);font-size:.92rem}.admin-words .modal .cta-row{margin-top:.2rem}.admin-words .accepted-answers{border-top:1px solid var(--border);margin-top:1.4rem;padding-top:1.2rem}.admin-words .accepted-answers h4{color:var(--ink);margin:0 0 .3rem;font-size:1rem}.admin-words .accepted-answers>.muted{margin:0 0 .9rem;font-size:.88rem;line-height:1.55}.admin-words .attach-row{grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:.6rem;margin-bottom:.9rem;display:grid}.admin-words .accepted-answer-list li{background:var(--surface-2);border-radius:var(--r);padding:.55rem .8rem}.admin-words .accepted-answer-list li .cta-row{margin:0 0 0 auto;margin-inline:auto 0}.admin-words .modal .alert{margin-bottom:.8rem}.admin-content .content-review-filters{grid-template-columns:2fr 1fr}.admin-content .content-review-hint{background:var(--surface-2);border-radius:var(--r);color:var(--text);margin:0 0 1rem;padding:.8rem 1.1rem;font-size:.9rem;line-height:1.6}.admin-content section.card{margin-bottom:1.25rem;padding:1.25rem 1.3rem 1.1rem}.admin-content .content-review-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.9rem;display:flex}.admin-content section.card>h2{margin:0 0 .9rem}.admin-content section.card .table-wrap{box-shadow:none;border-radius:var(--r);margin-bottom:.5rem}.admin-content section.card .empty-state{background:var(--surface-2);border-radius:var(--r);border:0;padding:1.6rem 1rem}.admin-content .content-review-table th,.admin-content .content-review-table td{padding-inline:.8rem}.admin-content .content-review-table td{vertical-align:top}.admin-content .content-review-table td:first-child:not([colspan]){min-width:190px}.admin-content .content-review-table td:nth-child(2),.admin-content .content-review-table td:nth-child(3){min-width:118px}.admin-content .content-review-table td:nth-child(4),.admin-content .content-review-table td:nth-child(5){min-width:140px}.admin-content .content-review-table .badge{white-space:normal;border-radius:14px;padding:.25rem .7rem;line-height:1.4}.admin-content .content-review-table td:last-child:not([colspan]){width:1%;min-width:118px}.admin-content .content-review-table .row-actions{flex-direction:column;align-items:stretch}.admin-content .content-review-table .row-actions .btn{width:100%}.admin-content .content-review-table small{color:var(--muted);margin-top:.3rem;font-weight:400;line-height:1.45;display:block}.admin-content .content-review-table .review-note{color:var(--muted)}.admin-content .content-review-details{max-width:420px;margin-top:.55rem}.admin-content .content-review-details summary{color:var(--primary-strong);cursor:pointer;padding:.2rem 0;font-size:.85rem;font-weight:700}.admin-content .content-review-details__label{color:var(--ink);font-weight:700;display:block}.admin-content .reject-row__form textarea{min-height:3rem}.admin-content .content-review-table .reject-row .row-actions{flex-direction:row;align-items:center}.admin-content .content-review-table .reject-row .row-actions .btn{width:auto}.admin-content .passage-preview{color:var(--text);gap:1.1rem;padding:.25rem 0;font-weight:400}.admin-content .passage-preview__label{color:var(--ink);margin-bottom:.3rem;font-size:.82rem}.admin-content .passage-preview__titles,.admin-content .passage-preview__glossary{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.9rem 1.1rem}.admin-content .passage-preview__text{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--ink);padding:1rem 1.2rem;line-height:1.7}.admin-content .passage-preview__questions{counter-reset:q;gap:.8rem;padding-inline-start:0;list-style:none}.admin-content .passage-preview__questions>li{counter-increment:q;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.9rem 1.1rem}.admin-content .passage-preview__questions>li:before{content:counter(q);background:var(--primary-softer);width:24px;height:24px;color:var(--primary-strong);border-radius:50%;justify-content:center;align-items:center;margin-inline-end:.5rem;font-size:.8rem;font-weight:700;display:inline-flex}.admin-content .passage-preview__questions .chip{margin-bottom:.5rem;padding:.15rem .7rem;font-size:.78rem}.admin-content .passage-preview [dir=ltr]{text-align:left}.admin-content .passage-preview__options li.is-answer{color:var(--success)}.admin-content .passage-preview__table th,.admin-content .passage-preview__table td{color:var(--text);font-weight:400}.admin-content .passage-preview__table th{color:var(--muted);font-weight:700}@media (width>=1121px) and (width<=1360px){.school-students .table th,.school-students .table td{padding-inline:.5rem}.school-students .table td:first-child{min-width:168px}.school-students .row-actions .btn{padding-inline:.6rem;font-size:.8rem}.admin-words .table{font-size:.88rem}.admin-words .table th,.admin-words .table td{padding-inline:.45rem}.admin-words .row-actions .btn{padding-inline:.6rem}.admin-words .table .badge{padding:.18rem .5rem;font-size:.72rem}.admin-words .table td:nth-child(2),.admin-words .table td:nth-child(3){max-width:120px}}@media (width<=900px){.admin-home .stat-grid,.school-home .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-school .admin-school__forms{grid-template-columns:minmax(0,1fr)}.school-students .table td,.school-students .table th{white-space:nowrap}.school-students .table td:first-child{white-space:normal}.admin-words .table td:nth-child(2),.admin-words .table td:nth-child(3){white-space:nowrap;max-width:none}}@media (width<=760px){.admin-page .filters.card{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem}.admin-page .filters .field--search,.admin-page .filters .filters__full,.admin-words .filters.card>.field:nth-child(4){grid-column:1/-1}.admin-content .filters.content-review-filters{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.admin-home .stat-grid,.school-home .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.admin-page .stat-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"icon""value""label";justify-items:start;row-gap:.15rem;padding:1rem}.admin-page .stat-card .stat-card__icon{margin-bottom:.5rem}.admin-page .stat-card .stat-card__value{align-self:start;font-size:1.5rem}.school-home .stat-grid{grid-template-columns:minmax(0,1fr)}.school-home .stat-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon value""icon label";align-items:center}.school-home .stat-card .stat-card__icon{margin-bottom:0}.school-home .stat-card .stat-card__value{align-self:end}.admin-page .page__head--row:not(.admin-home__schools-head):not(.content-review-head)>.btn{width:100%}.admin-school .page__head--row{align-items:stretch}.admin-page .school-users-search{width:100%}.admin-page .form-inline .form-row:has(>.field:only-child){max-width:none}.admin-page .form-inline .btn[type=submit]{width:100%}.admin-school .cta-row .btn{flex:100%}.admin-school .danger-zone{grid-template-columns:minmax(0,1fr)}.admin-school .danger-zone .btn{grid-area:auto/1;width:100%;margin-top:1rem}.admin-page .btn--sm,.admin-page .pager .btn,.admin-page .th-sort,.admin-page .checkbox,.admin-page .filters .checkbox,.admin-words .modal .checkbox{min-height:40px}.admin-content .content-review-details summary{padding:.6rem 0}.admin-page .table-wrap{border-radius:var(--r)}.admin-page .table th,.admin-page .table td{white-space:nowrap;padding:.7rem .85rem}.admin-page .table:not(.content-review-table):not(.passage-preview__table) :is(th,td):first-child:not([colspan]){z-index:1;box-shadow:inset -1px 0 0 var(--border);position:sticky;inset-inline-start:0}.admin-page .table:not(.content-review-table):not(.passage-preview__table) tbody td:first-child:not([colspan]){background:var(--surface)}.admin-page .table:not(.content-review-table):not(.passage-preview__table) thead th:first-child{background:var(--surface-2)}.admin-page .table:not(.content-review-table):not(.passage-preview__table) tbody tr:hover td:first-child:not([colspan]){background-color:var(--surface);background-image:linear-gradient(var(--primary-softer), var(--primary-softer))}.admin-page .row-actions,.school-students .row-actions{flex-wrap:nowrap;display:flex}.school-students .row-actions .btn{width:auto}.school-students .table td:first-child{white-space:normal;min-width:175px}.admin-words .table td:first-child{white-space:normal;min-width:110px;max-width:150px}.admin-content .content-review-table td{white-space:normal}.admin-content .content-review-table td:first-child:not([colspan]){min-width:190px}.admin-content .content-review-table td:nth-child(2),.admin-content .content-review-table td:nth-child(3){min-width:130px}.admin-content .content-review-table td:nth-child(4),.admin-content .content-review-table td:nth-child(5){min-width:140px}.admin-content .content-review-table td:last-child:not([colspan]){white-space:nowrap}.admin-content section.card{padding:1rem}.admin-page .reject-row td,.admin-page .transfer-row td,.admin-page .passage-preview-row>td{white-space:normal}.admin-page .table-wrap{container-type:inline-size}.admin-page .reject-row__form,.admin-page .transfer-row__form,.admin-content .passage-preview{width:calc(100cqw - 2rem);position:sticky;inset-inline-start:1rem}.admin-words .modal{max-height:calc(100dvh - 2rem);padding:1.2rem 1.1rem 4.5rem}.admin-words .attach-row{grid-template-columns:minmax(0,1fr)}.admin-words .attach-row .btn{width:100%}}
