:root{--text-scale:1;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-arabic:"Vazirmatn", "Noto Naskh Arabic", "Geeza Pro", "Iranian Sans", "Tahoma", serif;--font-naskh:"Noto Naskh Arabic", "Geeza Pro", "Traditional Arabic", "Al Bayan", "Segoe UI", "Tahoma", serif;--font-cyrillic:"Inter", "Noto Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace;--radius-sm:.5rem;--radius:.875rem;--radius-lg:1.25rem;--radius-pill:999rem;--transition:.16s cubic-bezier(.4, 0, .2, 1)}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6fb;--bg-glow-a:#6366f117;--bg-glow-b:#0ea5e912;--surface:#fff;--surface-2:#fafbff;--surface-3:#f1f3fa;--surface-raised:#fff;--border:#e3e6f0;--border-strong:#cbd2e3;--text:#14172a;--text-muted:#4b5170;--text-faint:#5f6480;--accent:#5b53e8;--accent-hover:#4a42d6;--accent-soft:#eeecfe;--accent-text:#fff;--accent-contrast:#3d35c4;--brand-accent-2:#0e7490;--good:#0f6e4a;--good-soft:#e2f6ed;--warn:#8a5808;--warn-soft:#fdf2dc;--bad:#c0342f;--bad-soft:#fdeceb;--info:#1f6fb2;--info-soft:#e7f2fb;--shadow-sm:0 1px 2px #14172a0d;--shadow:0 1px 2px #14172a0d, 0 8px 24px -12px #14172a29;--shadow-lg:0 24px 60px -24px #14172a4d;--ring:0 0 0 3px #5b53e838}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e17;--bg-glow-a:#6366f129;--bg-glow-b:#0ea5e91a;--surface:#151827;--surface-2:#1a1e30;--surface-3:#212639;--surface-raised:#1c2033;--border:#272c40;--border-strong:#3a4059;--text:#eceefb;--text-muted:#a4abc8;--text-faint:#969db9;--accent:#8b84ff;--accent-hover:#9d97ff;--accent-soft:#23234a;--accent-text:#0c0e17;--accent-contrast:#b3aeff;--brand-accent-2:#22b8cf;--good:#4ade9f;--good-soft:#102a20;--warn:#f2b750;--warn-soft:#2c2214;--bad:#ff8078;--bad-soft:#2e1719;--info:#6cb8f0;--info-soft:#12243a;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 10px 30px -14px #000000b3;--shadow-lg:0 30px 70px -28px #000000d9;--ring:0 0 0 3px #8b84ff4d}*,:before,:after{box-sizing:border-box}html{font-size:calc(16px * var(--text-scale));-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-sans);color:var(--text);background:radial-gradient(60rem 40rem at 12% -10%, var(--bg-glow-a), transparent 60%), radial-gradient(50rem 35rem at 105% 5%, var(--bg-glow-b), transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:.9375rem;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.015em;margin:0;font-weight:640;line-height:1.25}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--ring);outline:none}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:40;background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.75rem clamp(.875rem,3vw,1.75rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;min-width:0;margin-inline-end:auto;display:flex}.brand-mark{background:linear-gradient(140deg, var(--accent), var(--brand-accent-2));width:2.25rem;height:2.25rem;color:var(--accent-text);letter-spacing:.04em;box-shadow:0 6px 18px -8px var(--accent);border-radius:.75rem;flex:none;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.brand-text{min-width:0}.brand-text h1{font-size:1.0625rem;font-weight:680}.brand-text p{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.version-chip{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-contrast);letter-spacing:.02em;font-variant-numeric:tabular-nums;flex:none;padding:.1875rem .5rem;font-size:.6875rem;font-weight:650}.shell{flex:1;grid-template-columns:14.5rem minmax(0,1fr) 16.5rem;grid-template-areas:"nav main settings";align-items:start;gap:clamp(.875rem,2vw,1.5rem);width:100%;max-width:96rem;margin:0 auto;padding:clamp(.875rem,2.5vw,1.5rem);display:grid}.sidebar{flex-direction:column;grid-area:nav;gap:1.125rem;display:flex;position:sticky;top:4.5rem}.main{flex-direction:column;grid-area:main;gap:1rem;min-width:0;display:flex}.settings-panel{flex-direction:column;grid-area:settings;gap:.75rem;display:flex;position:sticky;top:4.5rem}.nav-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.375rem;padding-inline:.5rem;font-size:.6875rem;font-weight:700}.nav-list{flex-direction:column;gap:.125rem;display:flex}.nav-item{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);text-align:start;cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:1px solid #0000;align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.875rem;font-weight:520;display:flex}.nav-item .icon{opacity:.8;flex:none}.nav-item:hover{background:var(--surface-3);color:var(--text)}.nav-item[aria-current=true]{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 26%, transparent);color:var(--accent-contrast);font-weight:620}.nav-item[aria-current=true] .icon{opacity:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;padding:clamp(1rem,2.5vw,1.5rem)}.card-tight{border-radius:var(--radius);padding:.875rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-head h2{font-size:clamp(1.25rem,2.4vw,1.5rem)}.page-head p{max-width:60ch;color:var(--text-muted);margin-top:.375rem;font-size:.875rem}.prompt-box{border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-2), var(--surface-3));border:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:.875rem;padding:clamp(1.125rem,3vw,1.75rem) 1rem;display:flex}.topic-head{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-top:1.5rem;margin-bottom:.5rem;font-size:.6875rem;font-weight:700}.topic-head:first-child{margin-top:0}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;gap:.4375rem;padding:.5rem .875rem;font-size:.875rem;font-weight:560;line-height:1.2;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-faint)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 6px 16px -8px var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--border);color:var(--text)}.btn-sm{border-radius:.4375rem;padding:.3125rem .5625rem;font-size:.8125rem}.btn-lg{border-radius:var(--radius);padding:.6875rem 1.25rem;font-size:.9375rem}.btn-icon{min-width:2rem;padding:.4375rem}.btn-icon.btn-sm{min-width:1.75rem;padding:.3125rem}.btn-row{flex-wrap:wrap;gap:.5rem;display:flex}.btn-row-center{justify-content:center}.btn-reveal{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);color:var(--text-muted)}.btn-reveal:hover:not(:disabled){color:var(--text);border-style:solid}.segmented{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:.125rem;max-width:100%;padding:.1875rem;display:inline-flex}.segmented button{color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:.375rem;padding:.3125rem .625rem;font-size:.8125rem;font-weight:560}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm);font-weight:620}.segmented-fill{width:100%;display:flex}.segmented-fill button{flex:1}.segmented-sm button{padding:.25rem .5rem;font-size:.75rem}.text-size-quick{display:none}.length-filter{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1rem;display:flex}.length-filter .field-label{margin:0}.length-filter p{flex-basis:100%;margin:0}@media (width<=33.75rem){.length-filter .segmented{width:100%}.length-filter .segmented button{flex:1}}.select{appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface-raised);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right .875rem center,right .6rem center;background-repeat:no-repeat;background-size:.3125rem .3125rem,.3125rem .3125rem;max-width:100%;padding:.4375rem 1.875rem .4375rem .6875rem;font-size:.8438rem;font-weight:520}.input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;transition:border-color var(--transition), box-shadow var(--transition);padding:.625rem .875rem;font-size:1rem}.input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.input-lg{padding:.75rem 1rem;font-size:1.125rem}.input-answer{resize:vertical;min-height:4.5rem;font-family:inherit;line-height:1.5;display:block}.switch{color:var(--text-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.8438rem;display:flex}.switch input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer;flex:none}.field{flex-direction:column;gap:.375rem;display:flex}.field-row{justify-content:space-between;align-items:center;gap:.625rem;display:flex}.field-label{color:var(--text-muted);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:flex}.range{width:100%;accent-color:var(--accent);cursor:pointer}.pill{border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;align-items:center;gap:.3125rem;padding:.1875rem .5625rem;font-size:.75rem;font-weight:560;display:inline-flex}.pill-wrap{white-space:normal;text-align:start;max-width:100%;line-height:1.35}.pill-accent{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--accent-contrast);font-variant-numeric:tabular-nums}.pill-good{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 26%, transparent);color:var(--good)}.pill-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 26%, transparent);color:var(--warn)}.tag-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:inline-flex}.tag-label:before{content:"";background:var(--accent);opacity:.65;border-radius:50%;width:.3125rem;height:.3125rem}.notice{border-radius:var(--radius-sm);border:1px solid;padding:.6875rem .875rem;font-size:.8438rem;line-height:1.55}.notice-info{background:var(--info-soft);border-color:color-mix(in srgb, var(--info) 28%, transparent);color:var(--info)}.notice-good{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 28%, transparent);color:var(--good)}.notice-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 28%, transparent);color:var(--warn)}.notice-bad{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 28%, transparent);color:var(--bad)}.target{unicode-bidi:isolate;font-weight:600;line-height:1.45}.target-sm{font-size:.9375rem}.target-md{font-size:1.125rem}.target-lg{font-size:1.5rem}.target-xl{font-size:clamp(1.625rem,4.5vw,2.125rem)}[lang^=fa] .target,.target[lang^=fa]{font-family:var(--font-arabic);line-height:1.85}[lang^=ar] .target,.target[lang^=ar]{font-family:var(--font-naskh);line-height:1.9}[lang^=ru] .target,.target[lang^=ru]{font-family:var(--font-cyrillic)}.translit{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:-.01em;direction:ltr;unicode-bidi:isolate;font-size:.8125rem}.entry-list{flex-direction:column;gap:.25rem;display:flex}.entry{border-radius:var(--radius-sm);transition:background var(--transition), border-color var(--transition);border:1px solid #0000;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.entry:hover{background:var(--surface-2);border-color:var(--border)}.entry-main{flex:1;min-width:0}.entry-stack{flex-wrap:wrap;align-items:flex-start}.entry-stack .entry-main{flex:14rem}.entry-en{color:var(--text-muted);margin-top:.0625rem;font-size:.8438rem}[dir=rtl] .entry-en,[dir=rtl] .bubble-narrator,[dir=rtl] .feedback-note{text-align:right;direction:ltr}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.625rem;display:grid}.scenario-browser{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken,var(--surface));margin-bottom:1rem;padding:.875rem}.scenario-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem;max-height:22rem;padding-right:.25rem;display:grid;overflow-y:auto}.scenario-card{border:1px solid var(--border);border-radius:var(--radius-sm,.5rem);background:var(--surface-raised);color:var(--text);text-align:start;cursor:pointer;transition:border-color var(--transition), background var(--transition);flex-direction:column;align-items:flex-start;gap:.125rem;padding:.625rem .75rem;display:flex}.scenario-card:hover{border-color:var(--accent);background:var(--accent-soft)}.scenario-card.is-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.scenario-title{font-size:.9375rem;font-weight:600}.choice-grid-narrow{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.choice{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);text-align:start;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--transition), background var(--transition), transform var(--transition);flex-direction:column;align-items:flex-start;gap:.1875rem;padding:.875rem 1rem;font-size:.9375rem;font-weight:540;display:flex}.choice:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.choice:disabled{cursor:default}.choice-correct{border-color:var(--good);background:var(--good-soft);color:var(--good)}.choice-wrong{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.choice-correct .entry-en,.choice-wrong .entry-en{color:inherit;opacity:.85}.cloze-line{line-height:1.9;display:inline}.cloze-blank{border-bottom:2px dashed var(--accent);min-width:5.5rem;color:var(--accent);text-align:center;vertical-align:baseline;padding-inline:.375rem;display:inline-block}.cloze-mask{opacity:.55;vertical-align:baseline;border-bottom:1px solid;width:3.25rem;display:inline-block}.cloze-filled{border-bottom:2px solid var(--good);color:var(--good);padding-inline:.375rem;display:inline-block}.chat{flex-direction:column;gap:.75rem;max-height:30rem;padding-inline-end:.25rem;display:flex;overflow-y:auto}.bubble{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);max-width:85%;padding:.6875rem .9375rem}.bubble-them{border-start-start-radius:.3125rem;align-self:flex-start}.bubble-you{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 24%, transparent);border-end-end-radius:.3125rem;align-self:flex-end}.bubble-narrator{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 26%, transparent);max-width:100%;color:var(--good);text-align:center;align-self:center;font-size:.8438rem}.turn{flex-direction:column;display:flex}.turn-them{align-items:flex-start}.turn-you{align-items:flex-end}.turn-narrator{align-items:center}.feedback-note{border-inline-start:3px solid var(--accent);background:var(--accent-soft);color:var(--accent-contrast);border-start-start-radius:0;border-start-end-radius:var(--radius-sm);border-end-end-radius:var(--radius-sm);border-end-start-radius:0;max-width:85%;margin-top:.375rem;padding:.5rem .75rem;font-size:.8125rem;line-height:1.5}.feedback-note-emphasis{border-inline-start-color:var(--warn)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:start;background:var(--surface-3);border-bottom:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:.5625rem .875rem;font-size:.6875rem;font-weight:700}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.5625rem .875rem}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}@media (width<=42rem){.table-stack thead{display:none}.table-stack,.table-stack tbody,.table-stack tr,.table-stack td{width:100%;display:block}.table-stack tbody tr{border-bottom:1px solid var(--border);padding:.625rem .875rem}.table-stack tbody tr:last-child{border-bottom:none}.table-stack td{border-bottom:none;padding:.1875rem 0}.table-stack td[data-label]:before{content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:.8rem;font-weight:700;display:block}.table-stack td:empty{display:none}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.625rem;display:grid}.stat{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);padding:.75rem .875rem}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:680}.stat-label{color:var(--text-faint);margin-top:.125rem;font-size:.75rem}.meter{border-radius:var(--radius-pill);background:var(--surface-3);height:.375rem;overflow:hidden}.meter-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #22b8cf);height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.keypad{flex-wrap:wrap;gap:.3125rem;display:flex}.keypad button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);min-width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition), border-color var(--transition), transform var(--transition);padding:0 .5rem;font-size:1.0625rem;font-weight:600;line-height:1}.keypad button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-contrast)}.keypad button:active{transform:translateY(1px)}.keypad-arabic button{font-family:var(--font-arabic);font-size:1.25rem}.popover-host{position:relative}.popover{top:calc(100% + .5rem);z-index:50;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);width:19rem;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg);flex-direction:column;gap:.75rem;max-height:calc(100dvh - 7rem);padding:.875rem;display:flex;position:absolute;inset-inline-end:0;overflow-y:auto}@media (height<=30rem){.popover{max-height:calc(100dvh - 9.5rem)}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c168c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);width:min(46rem,100%);max-height:min(85vh,50rem);box-shadow:var(--shadow-lg);padding:clamp(1.125rem,3vw,1.75rem);overflow-y:auto}.modal h3{font-size:1.25rem}.modal h4{margin-top:1.25rem;margin-bottom:.375rem;font-size:.9375rem}.modal p,.modal li{color:var(--text-muted);font-size:.875rem;line-height:1.65}.modal ul,.modal ol{margin:.375rem 0;padding-inline-start:1.25rem}.modal li+li{margin-top:.25rem}.account-sheet{width:min(32rem,100%)}.account-form{margin-top:1rem}.text-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:2.75rem;padding:.625rem .75rem}.text-input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.auth-code{max-width:12rem;font-family:var(--font-mono);letter-spacing:.18em;font-size:1.25rem}.account-guest{width:100%;margin-top:.75rem}.account-button-signed-in{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, var(--surface-raised)), color-mix(in srgb, var(--accent-2) 14%, var(--surface-raised)));color:var(--text)}.account-status-dot{background:var(--text-faint);border-radius:50%;flex:none;width:.5rem;height:.5rem}.account-status-dot[data-state=saved]{background:var(--good)}.account-status-dot[data-state=loading]{background:var(--info)}.account-status-dot[data-state=error]{background:var(--bad)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:.8125rem}.tiny{font-size:.75rem}.mono{font-family:var(--font-mono);font-size:.8125rem}.stack{flex-direction:column;gap:.75rem;display:flex}.stack-sm{gap:.5rem}.row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.row-between{justify-content:space-between}.drill-actions{margin-top:1.125rem;scroll-margin-block:1.5rem}.push-end{margin-inline-start:auto}.icon{flex:none;display:block}.speak-row{flex:none;gap:.25rem;display:inline-flex}.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}.course-page{gap:1.25rem}.eyebrow{color:var(--accent-contrast);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;font-weight:720;display:block}.course-hero{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent-soft), var(--surface) 70%);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.25rem,3vw,2rem);display:flex;overflow:hidden}.course-hero h2{margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2.25rem)}.course-hero p{max-width:45rem;color:var(--text-muted)}.course-hero-mark{border:.5rem solid color-mix(in srgb, var(--accent) 28%, var(--surface));background:var(--surface);width:6rem;height:6rem;color:var(--accent-contrast);border-radius:50%;flex:none;place-items:center;font-size:1.15rem;font-weight:750;display:grid}.continue-card,.lesson-strip{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1rem;padding:1.125rem 1.25rem;display:flex}.continue-copy{flex:auto}.progress-track{border-radius:var(--radius-pill);background:var(--surface-3);height:.5rem;margin:.75rem 0 .35rem;overflow:hidden}.progress-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--brand-accent-2));height:100%;display:block}.section-heading{margin-bottom:.75rem}.level-grid,.library-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.level-card,.library-card{text-align:start;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;min-width:0;transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);padding:1rem;display:flex}.level-card{flex-direction:column;justify-content:space-between;gap:.5rem;min-height:9.5rem}.level-card:hover,.library-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.level-card:disabled,.level-picker button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.level-card.is-current,.unit-card.is-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.level-picker{grid-template-columns:repeat(7,minmax(6.5rem,1fr));gap:.4rem;padding-bottom:.25rem;display:grid;overflow-x:auto}.level-picker button{text-align:start;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-direction:column;gap:.125rem;padding:.65rem .7rem;display:flex}.level-picker button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-contrast)}.level-picker span{color:var(--text-faint);font-size:.75rem}.course-summary{grid-template-columns:minmax(0,1fr) minmax(10rem,18rem);align-items:center;gap:1rem;display:grid}.unit-list{gap:.875rem;display:grid}.unit-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem}.unit-head{align-items:flex-start;gap:.75rem;margin-bottom:.875rem;display:flex}.unit-head>.pill:last-child{margin-inline-start:auto}.lesson-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.lesson-form,.assessment-prompt{font-size:1.1875rem;font-weight:650;line-height:1.55}.lesson-checklist{gap:.5rem;margin:.75rem 0;padding-inline-start:1.25rem;display:grid}.unit-number,.step-mark,.library-icon{background:var(--accent-soft);color:var(--accent-contrast);border-radius:50%;flex:none;place-items:center;font-weight:720;display:grid}.unit-number{width:2rem;height:2rem}.lesson-steps{grid-template-columns:repeat(7,minmax(4.5rem,1fr));gap:.4rem;display:grid}.lesson-steps button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;justify-content:center;align-items:center;gap:.35rem;min-height:2.6rem;padding:.45rem;display:flex}.lesson-steps button.is-current{border-color:var(--accent);background:var(--accent-soft)}.lesson-steps button.is-done .step-mark{background:var(--good-soft);color:var(--good)}.step-mark{width:1.35rem;height:1.35rem;font-size:.7rem}.lesson-strip{background:var(--accent-soft);margin-bottom:1rem}.lesson-strip strong{display:block}.library-card{align-items:flex-start;gap:.75rem}.library-card>span:last-child{flex-direction:column;display:flex}.library-icon{width:2.5rem;height:2.5rem}@media (width<=68rem){.topbar{flex-wrap:wrap}.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"nav""main""settings"}.sidebar{scrollbar-width:thin;flex-direction:row;gap:.5rem;padding-bottom:.25rem;position:static;overflow-x:auto}.sidebar .nav-group-label{display:none}.sidebar>div{display:contents}.nav-list{flex-direction:row;gap:.375rem}.nav-item{white-space:nowrap;border:1px solid var(--border);background:var(--surface);width:auto}.settings-panel{position:static}.bubble,.feedback-note{max-width:95%}}@media (width<=68rem),(pointer:coarse){.btn,.btn-sm,.segmented button,.select{min-height:max(2.25rem,36px)}.btn-icon,.btn-icon.btn-sm{min-width:max(2.25rem,36px)}.range{height:max(2.25rem,36px)}.switch{min-height:max(2.25rem,36px)}.switch input[type=checkbox]{width:1.25rem;height:1.25rem}.text-size-quick{color:var(--text-muted);order:9;align-items:center;gap:.375rem;display:flex}.text-size-quick .segmented button{min-width:max(2.25rem,36px)}}@media (width<=40rem){html{font-size:calc(15px * var(--text-scale))}.tiny,.pill,.eyebrow,.level-picker span,.step-mark,.stat-label,.tag-label,.nav-group-label,.version-chip,.segmented-sm button,.segmented-fill button{font-size:.8rem}.shell{row-gap:.5rem;padding-block:.5rem}.course-page{gap:.75rem}.course-hero{padding:.875rem}.course-hero h2{margin-bottom:.25rem;font-size:1.35rem}.course-hero p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.small,.mono{font-size:.85rem}.btn-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand-text p{display:none}.page-head{align-items:flex-start;gap:.5rem}.page-head>div:first-child{flex:11rem}.choice-grid{grid-template-columns:minmax(0,1fr)}.modal{max-height:92dvh}.switch input[type=checkbox]{width:1.25rem;height:1.25rem}.topic-head,.table th{font-size:.8rem}.entry{flex-wrap:wrap;align-items:flex-start}.entry-main{flex:1 0 100%}.page-head p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.topbar{flex-wrap:wrap;gap:.5rem;padding:.5rem .875rem}.brand-mark{border-radius:.625rem;width:1.875rem;height:1.875rem}.topbar .select{max-width:12rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:.375rem}.stat{padding:.5rem .625rem}.stat-value{font-size:1.125rem}.nav-item{padding:.4375rem .625rem}.length-filter{gap:.375rem;margin-bottom:.625rem}.main>.stat-grid{order:5}.key-hint{display:none}.popover-host{position:static}.popover{width:auto;max-width:none;inset-inline:.75rem}}@media (width<=48rem){.level-select{max-width:9.5rem}.course-hero-mark{width:4.5rem;height:4.5rem}.continue-card,.lesson-strip,.course-summary{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.lesson-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-detail-grid{grid-template-columns:1fr}.lesson-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.625rem .75rem;display:grid}.lesson-strip .eyebrow{display:none}.lesson-strip strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.lesson-strip .btn-row,.lesson-strip .btn{width:auto}.view-lesson .page-head p,.view-assessment .page-head p{display:none}}@media (width<=30rem){.topbar>.select{flex:calc(50% - .25rem);width:0;min-width:0;max-width:none}.course-hero-mark{display:none}.level-grid,.library-grid{grid-template-columns:1fr}.lesson-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
