:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f8f8f6;--color-surface:#fff;--color-ink:#20201e;--color-muted:#706f6a;--color-line:#deddd8;--color-subtle:#f0efeb;--color-accent:#35685d;--color-accent-soft:#e7f0ed;--color-danger:#9b3d3d;--color-danger-soft:#f7eaea;--color-feedback-correct:#00a240;--color-feedback-error:#ba2623;--type-display:clamp(2rem, 5vw, 2.75rem);--type-title:clamp(1.5rem, 3vw, 2rem);--type-body:1rem;--type-label:.8125rem;--weight-regular:400;--weight-light:300;--weight-strong:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-control:.625rem;--radius-surface:1rem;--control-height:3.125rem;--content-width:38rem;--shell-width:26.875rem;--focus-ring:0 0 0 3px #35685d38;--shadow-dialog:0 1.5rem 5rem #20201e2e}.ui-button{border-radius:var(--radius-control);cursor:pointer;font-size:var(--type-body);font-weight:var(--weight-light);align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-5);border:1px solid #0000;justify-content:center;text-decoration:none;display:inline-flex}.ui-button--block{width:100%}.ui-button--primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-surface)}.ui-button--secondary{background:var(--color-surface);border-color:var(--color-line);color:var(--color-ink)}.ui-button--ghost{color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-light);background:0 0}.ui-button--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.ui-button:disabled{cursor:not-allowed;opacity:.35}.ui-button:not(:disabled):hover{filter:brightness(.96)}.ui-icon-button{border-radius:var(--radius-control);color:var(--color-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex}.ui-icon-button:hover{background:var(--color-subtle);color:var(--color-ink)}.ui-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}.ui-page-header{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(2.75rem,1fr) auto minmax(2.75rem,1fr);align-items:center;min-height:3.75rem;display:grid}.ui-page-header__leading{justify-self:start}.ui-page-header__center{color:var(--color-muted);font-size:var(--type-label);justify-self:center}.ui-page-header__trailing{justify-self:end}.ui-eyebrow{color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-light);margin:0 0 var(--space-2)}.ui-display{font-size:var(--type-display);font-weight:var(--weight-strong);letter-spacing:-.035em;line-height:1.08}.ui-title{font-size:var(--type-title);font-weight:var(--weight-strong);letter-spacing:-.025em;line-height:1.16}.ui-field{gap:var(--space-2);display:grid}.ui-field__label{color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-light)}.ui-textarea{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-control);color:var(--color-ink);min-height:7.5rem;padding:var(--space-4);resize:vertical;width:100%;line-height:1.5}.ui-button:focus-visible,.ui-icon-button:focus-visible,.ui-textarea:focus-visible,.ui-link:focus-visible{box-shadow:var(--focus-ring);outline:2px solid var(--color-accent);outline-offset:2px}.auth-shell{background:var(--color-surface);grid-template-rows:calc(3.75rem + env(safe-area-inset-top)) 1fr;min-height:100dvh;width:min(100%, var(--shell-width));margin:0 auto;display:grid}.auth-header{border-bottom:1px solid var(--color-line);padding:env(safe-area-inset-top) var(--space-5) 0;align-items:center;display:flex}.auth-header span{color:var(--color-accent);font-size:var(--type-label);font-weight:var(--weight-strong);letter-spacing:.02em}.auth-content{min-height:0;padding:var(--space-6) var(--space-5);justify-content:center;align-items:center;display:flex}.auth-card{width:min(100%,32rem)}.auth-card .ui-display{margin:0 0 var(--space-3);font-size:clamp(2rem,8vw,2.5rem)}.auth-copy,.auth-hint{color:var(--color-text-secondary,#716a62);line-height:1.55}.auth-form{gap:var(--space-5);margin-top:var(--space-6);display:grid}.auth-form .ui-button{background:var(--color-accent);border-color:var(--color-accent);border-radius:.8125rem;min-height:3.25rem}.auth-loading{justify-content:center;align-items:center;display:flex}.ui-input{width:100%;min-height:52px;padding:0 0 var(--space-2);color:inherit;font:inherit;background:0 0;border:0;border-bottom:1px solid #aaa69e;border-radius:0}.ui-input:focus{outline-offset:2px;outline:2px solid #316c58}:root{--text:var(--color-ink);--muted:var(--color-muted);--line:var(--color-line);--background:var(--color-canvas);--soft:var(--color-subtle)}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--text);font-family:var(--font-manrope), Arial, sans-serif;font-size:var(--type-body);font-weight:var(--weight-regular);margin:0;line-height:1.5}button,textarea{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,summary:focus-visible{box-shadow:var(--focus-ring);outline:2px solid var(--color-accent);outline-offset:2px}.centered-shell,.practice-shell{min-height:100dvh;padding:var(--space-5)}.centered-shell{width:min(100%, var(--shell-width));justify-content:center;align-items:center;margin:0 auto;display:flex}.home-shell{align-items:stretch;display:block}.home-header{max-width:var(--shell-width);margin:0 auto}.home-brand{font-weight:var(--weight-strong)}.home-nav{align-items:center;gap:var(--space-4);display:flex}.home-nav a,.section-link{color:var(--color-muted);font-size:var(--type-label);text-decoration:none}.home-nav a:hover,.section-link:hover{color:var(--color-ink)}.home-content,.complete-content{width:min(100%, var(--content-width))}.home-shell .home-content{margin:clamp(var(--space-7), 12vh, var(--space-8)) auto var(--space-7)}.session-home>.ui-eyebrow,.session-home>h1{margin-left:0}.session-home h1,.session-recap h1{margin:0 0 var(--space-6)}.home-section,.recap-section{border-top:1px solid var(--color-line);padding:var(--space-4) 0}.home-section p,.recap-section p{color:var(--color-muted);font-size:var(--type-label);margin:0 0 var(--space-2)}.home-section strong,.home-section span,.recap-section strong{display:block}.home-section strong,.recap-section strong{font-weight:var(--weight-strong)}.home-section span{color:var(--color-muted);margin-top:var(--space-1)}.home-review-list{margin:0;padding:0;list-style:none}.home-review-list li{border-top:1px solid var(--color-line);padding:var(--space-3) 0}.home-review-list li:first-child{border-top:0}.session-home>.ui-button,.session-recap>.ui-button{margin-top:var(--space-4)}.session-home>.ui-button+.ui-button{margin-top:var(--space-1)}.onboarding>p{color:var(--color-muted);margin:calc(-1 * var(--space-4)) 0 var(--space-5);line-height:1.5}.onboarding{padding-bottom:calc(var(--control-height) + var(--space-7))}.focus-picker{gap:var(--space-4);padding-top:var(--space-3)}.focus-filter,.focus-cloud{flex-wrap:wrap;gap:.5rem;display:flex}.focus-filter{background:var(--color-subtle);top:max(var(--space-2), env(safe-area-inset-top));z-index:10;border-radius:999px;gap:.2rem;padding:.2rem;position:sticky}.mobile-progress-header .focus-filter{margin-inline:var(--space-4);flex:1;position:static;top:auto}.focus-filter__item,.focus-chip{cursor:pointer;font:inherit;border:1px solid #0000;border-radius:999px}.focus-filter__item{color:var(--color-muted);background:0 0;flex:auto;min-height:2.35rem;padding:0 .7rem}.focus-filter__item[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:0 1px 4px #20201e1a}.focus-cloud{padding-bottom:calc(var(--control-height) + var(--space-7));align-content:flex-start}.focus-chip{background:var(--color-subtle);border:1px solid var(--color-line);color:var(--color-ink);min-height:2.4rem;padding:.35rem .8rem}.focus-chip--focused{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-surface)}.focus-chip--in-course{color:#286b5d;background:#e7f2ef;border-color:#b9d8d0}.focus-chip--new{background:var(--color-surface)}.onboarding-create{bottom:calc(4.625rem + env(safe-area-inset-bottom) + var(--space-4));width:min(calc(100% - (2 * var(--space-5))), var(--content-width));max-width:calc(var(--shell-width) - (2 * var(--space-5)));z-index:20;position:fixed;left:50%;transform:translate(-50%)}.practice-shell{width:min(100%, var(--shell-width));margin:0 auto}.practice-header{margin-bottom:var(--space-5)}.practice-content{max-width:var(--content-width);margin:0 auto}.practice-content h1,.practice-content h2,.practice-content p{margin-top:0}.answer-form{gap:var(--space-3);margin-top:var(--space-6);display:grid}.answer-form .ui-button--ghost{margin-top:calc(var(--space-2) * -1)}.task-queue-actions{flex-wrap:wrap;justify-content:center;display:flex}.answer-form .task-queue-actions{margin-top:calc(var(--space-2) * -1)}.answer-form .card-report-trigger{margin:0 auto}.guided-drilldown{gap:var(--space-3);margin-top:var(--space-6);display:grid}.guided-drilldown__assembled{background:var(--color-subtle);border-radius:var(--radius-surface);align-items:flex-start;gap:var(--space-2);min-height:4.5rem;padding:var(--space-4);flex-wrap:wrap;font-size:1.25rem;line-height:1.45;display:flex}.guided-drilldown__assembled-chunk{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.guided-drilldown__chunks{gap:var(--space-2);flex-wrap:wrap;display:flex}.guided-drilldown__chunk{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink);cursor:pointer;font:inherit;min-height:2.75rem;padding:0 var(--space-4);border-radius:999px}.guided-drilldown__chunk:focus-visible{box-shadow:var(--focus-ring);outline:0}.guided-drilldown__chunk[aria-pressed=true]{background:var(--color-subtle)}.guided-drilldown__answer{margin:0;font-size:1.35rem;line-height:1.45}.guided-drilldown__note,.guided-drilldown__message{color:var(--color-muted);margin:0}.guided-drilldown .card-report-trigger{margin:0 auto}.card-report-trigger{color:var(--color-muted);margin-inline:auto}.card-report-trigger .ui-icon{width:1rem;height:1rem}.feedback-question{border-bottom:1px solid var(--color-line);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.feedback-screen{padding-bottom:calc(var(--control-height) + var(--space-6))}.answer-block{min-width:0}.your-answer{letter-spacing:-.035em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.75rem,7vw,2rem);line-height:1.35}.expected{overflow-wrap:anywhere;margin:0;font-size:1.5rem;line-height:1.45}.answer-correct,.expected{color:var(--color-feedback-correct)}.answer-error{color:var(--color-feedback-error)}.feedback-block{border-top:1px solid var(--color-line);margin-top:var(--space-4);padding-top:var(--space-4)}.feedback-evaluation,.feedback-correct-answer,.feedback-changes{border-top:1px solid var(--color-line);padding:var(--space-3) 0}.feedback-evaluation{border-top:0}.feedback-evaluation p{margin:var(--space-2) 0 0}.feedback-screen--aided-complete .feedback-evaluation strong,.feedback-screen--awaiting-assessment .feedback-block strong{font-weight:var(--weight-strong)}.feedback-changes>span{color:var(--color-muted);font-size:var(--type-label);margin-bottom:var(--space-2);display:block}.feedback-change-row{border-top:1px solid var(--color-line);align-items:center;gap:var(--space-3);padding:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.feedback-change-row:first-child{border-top:0}.feedback-change-row>span{overflow-wrap:anywhere}.feedback-change-row>span:nth-child(2){color:var(--color-muted)}.feedback-changes>div{display:grid}.feedback-rule-inline{color:var(--color-muted);font-size:var(--type-body);margin:var(--space-3) 0 0}.practice-content>.ui-button{margin-top:var(--space-4)}.practice-content>.ui-button+.ui-button{margin-top:var(--space-1)}.evaluation-paused p{color:var(--color-muted);margin:var(--space-2) 0 0}.practice-primary-action{background:linear-gradient(to bottom, #f8f8f600, var(--color-canvas) var(--space-3));padding:var(--space-4) var(--space-5) max(var(--space-4), env(safe-area-inset-bottom));width:min(100%, calc(var(--content-width) + (2 * var(--space-5))));max-width:var(--shell-width);z-index:15;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.learning-control-overlay{padding:var(--space-5);z-index:30;background:#20201e3d;justify-content:flex-end;align-items:flex-end;display:flex;position:fixed;inset:0}.learning-control-dialog{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-surface);box-shadow:var(--shadow-dialog);max-height:calc(100dvh - var(--space-7));padding:var(--space-5);width:min(100%,25rem);overflow:auto}.learning-control-header{color:var(--color-muted);font-size:var(--type-label);justify-content:space-between;align-items:center;display:flex}.learning-control-state{padding-top:var(--space-5)}.learning-control-state h2{margin:0 0 var(--space-5)}.learning-control-state form,.learning-control-state{gap:var(--space-3);display:grid}.learning-control-plan{border-top:1px solid var(--color-line);color:var(--color-ink);font-size:var(--type-label);margin:var(--space-3) 0 0;padding-top:var(--space-3)}.learning-control-reply{margin:0}.learning-control-request,.learning-request-item{background:var(--color-subtle);border-radius:var(--radius-control);padding:var(--space-3)}.learning-control-request span,.learning-request-item span,.learning-request-item strong{color:var(--color-muted);font-size:var(--type-label);margin-bottom:var(--space-1);font-weight:400;display:block}.learning-control-request p,.learning-request-item p{overflow-wrap:anywhere;margin:0}.learning-request-list,.learning-request-item{gap:var(--space-2);display:grid}.learning-request-item strong{border-top:1px solid var(--color-line);margin:var(--space-1) 0 0;padding-top:var(--space-2)}.learning-control-path{border-top:1px solid var(--color-line)}.learning-control-path>div{border-bottom:1px solid var(--color-line);padding:var(--space-3) 0}.learning-control-path span{color:var(--color-muted);font-size:var(--type-label);margin-bottom:var(--space-1);display:block}.learning-control-path p{margin:0}.request-error{color:var(--color-danger);font-size:var(--type-label);margin:0}.report-card-context{background:var(--color-subtle);border-radius:var(--radius-control);color:var(--color-muted);font-size:var(--type-label);padding:var(--space-3);margin:0}.report-ticket{letter-spacing:.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.15rem,5vw,1.5rem)}.lesson-intro-goal{color:var(--color-muted);margin:var(--space-3) 0 0}.session-phrases{margin:var(--space-6) 0}.session-phrase{border-top:1px solid var(--color-line);padding:var(--space-4) 0}.session-phrase strong,.session-phrase span{display:block}.session-phrase strong{font-size:1.125rem;font-weight:var(--weight-strong)}.session-phrase span{color:var(--color-muted);font-size:var(--type-label);margin-top:var(--space-1)}.lesson-shell,.design-system-shell{min-height:100vh;padding:var(--space-5);width:min(100%, var(--shell-width));margin:0 auto}.lesson-index,.lesson-note,.dictionary,.design-system-content{margin:var(--space-7) auto 0;max-width:var(--content-width)}.lesson-index>h1,.lesson-note>h1,.dictionary>h1,.design-system-intro>h1{margin:0}.lesson-group{margin-top:var(--space-7)}.lesson-group h2,.learning-history h2,.lesson-note section>h2,.design-system-section>h2{font-size:var(--type-label);font-weight:var(--weight-strong);margin:0}.lesson-list,.phrase-list,.lesson-points{margin:var(--space-3) 0 0;padding:0;list-style:none}.lesson-list li{border-top:1px solid var(--color-line)}.lesson-list a{gap:var(--space-1);padding:var(--space-4) 0;text-decoration:none;display:grid}.lesson-list span,.lesson-list small{color:var(--color-muted);font-size:var(--type-label)}.lesson-list strong{color:var(--color-ink);font-weight:var(--weight-strong)}.lesson-list em{color:var(--color-accent);font-size:var(--type-label);font-style:normal;font-weight:var(--weight-strong)}.learning-history{margin-top:var(--space-8)}.learning-history details{border-top:1px solid var(--color-line)}.learning-history summary{cursor:pointer;padding:var(--space-4) 0;list-style:none}.learning-history summary::-webkit-details-marker{display:none}.learning-history summary span,.learning-history summary strong,.learning-history details p>span,.learning-history details p>strong{display:block}.learning-history summary span,.learning-history details p>span{color:var(--color-muted);font-size:var(--type-label)}.learning-history summary strong{font-weight:var(--weight-strong);margin-top:var(--space-1)}.learning-history details p{margin:0 0 var(--space-4)}.learning-history details p>strong{font-size:var(--type-label);font-weight:var(--weight-strong);margin-top:var(--space-1)}.lesson-focus{color:var(--color-muted);margin:var(--space-3) 0 0}.lesson-note section{margin-top:var(--space-7)}.phrase-list li{border-top:1px solid var(--color-line);padding:var(--space-4) 0}.phrase-list strong,.phrase-list span{display:block}.phrase-list strong{font-size:1.125rem;font-weight:var(--weight-strong)}.phrase-list span{color:var(--color-muted);font-size:var(--type-label);margin-top:var(--space-1)}.lesson-points{margin-left:1.1rem;list-style:outside}.lesson-points li{padding:var(--space-1) 0 var(--space-1) var(--space-1)}.lesson-note-pt{font-weight:var(--weight-strong)}.lesson-nav{border-top:1px solid var(--color-line);margin-top:var(--space-8);padding-top:var(--space-4);justify-content:space-between;display:flex}.lesson-nav a{color:var(--color-muted);font-size:var(--type-label);text-decoration:none}.lesson-nav a:hover{color:var(--color-ink)}.dictionary-filters{background:var(--color-subtle);border-radius:var(--radius-control);gap:var(--space-1);padding:var(--space-1);grid-template-columns:1.25fr repeat(4,minmax(0,1fr));margin-top:0;display:grid}.dictionary-filters button{border-radius:calc(var(--radius-control) - var(--space-1));color:var(--color-muted);cursor:pointer;align-items:center;gap:var(--space-1);font-size:var(--type-label);min-height:2.75rem;padding:0 var(--space-1);white-space:nowrap;background:0 0;border:0;justify-content:center;display:flex}.dictionary-filters button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);font-weight:var(--weight-strong)}.dictionary-filter-count{color:var(--color-muted)}.dictionary-filter-mark{color:inherit;font-weight:var(--weight-strong)}.dictionary-list{margin:var(--space-5) 0 0;padding:0;list-style:none}.dictionary-list li{border-top:1px solid var(--color-line)}.dictionary-list li:last-child{border-bottom:1px solid var(--color-line)}.dictionary-list li.is-expanded{background:var(--color-subtle)}.dictionary-list button{color:var(--color-ink);cursor:pointer;padding:var(--space-4);text-align:left;touch-action:manipulation;background:0 0;border:0;width:100%;display:block}.dictionary-list strong{font-size:1.125rem;font-weight:var(--weight-strong);display:block}.dictionary-details,.dictionary-examples,.dictionary-example,.dictionary-example span,.dictionary-translation{display:block}.dictionary-details{margin-top:var(--space-4)}.dictionary-translation{color:var(--color-muted);font-size:var(--type-label);margin-top:var(--space-1)}.dictionary-progress{color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-strong);margin-top:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:999px;display:inline-block}.dictionary-progress--introduced{background:var(--color-subtle)}.dictionary-progress--learning,.dictionary-progress--stable{background:var(--color-accent-soft);color:var(--color-accent)}.dictionary-progress--recovery{background:var(--color-danger-soft);color:var(--color-danger)}.dictionary-progress-detail{color:var(--color-muted);font-size:var(--type-label);display:block}.dictionary-examples{border-top:1px solid var(--color-line);margin-top:var(--space-4);padding-top:var(--space-4)}.dictionary-example+.dictionary-example{margin-top:var(--space-4)}.dictionary-example span:first-child{font-weight:var(--weight-strong)}.dictionary-example span:last-child{color:var(--color-muted);font-size:var(--type-label);margin-top:var(--space-1)}.dictionary-message{color:var(--color-muted);margin:var(--space-6) 0 0}.mobile-learning-page,.practice-shell.mobile-learning-page{min-height:100dvh;padding:0 0 calc(4.625rem + env(safe-area-inset-bottom));width:min(100%, var(--shell-width));margin:0 auto}.mobile-progress-header{background:var(--color-surface);border-bottom:1px solid var(--color-line);align-items:center;gap:var(--space-2);height:calc(3.75rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-4) 0;z-index:40;justify-content:flex-end;display:flex;position:sticky;top:0}.mobile-header-refresh{background:var(--color-subtle);color:var(--color-accent);cursor:pointer;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:inline-flex}.mobile-header-refresh>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;width:1.45rem;height:1.45rem;display:block}.mobile-header-refresh.is-refreshing>svg{animation:.7s linear infinite checking-spin}.mobile-header-refresh:disabled{cursor:default;opacity:.55}.mobile-progress-header--custom{justify-content:flex-start;padding-left:0;padding-right:0}.mobile-progress-score{background:var(--color-subtle);color:var(--color-line);cursor:pointer;font-weight:var(--weight-light);min-height:2.5rem;padding:0 var(--space-3);border:0;border-radius:999px;align-items:center;gap:.35rem;display:flex}.mobile-progress-score>span{justify-content:center;align-items:center;min-width:1.4em;display:inline-flex}.mobile-progress-score>span[aria-hidden=true]{color:var(--color-line);min-width:auto}.mobile-progress-score .is-updated{border-radius:999px;animation:2.2s ease-out progress-number-update}.mobile-progress-score__all{color:var(--color-accent)}.mobile-progress-score__known{color:var(--color-feedback-correct)}.mobile-progress-score__due{color:#b56b16}.mobile-bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-line);height:calc(4.625rem + env(safe-area-inset-bottom));max-width:var(--shell-width);padding-bottom:env(safe-area-inset-bottom);z-index:30;grid-template-columns:repeat(3,1fr);align-items:center;width:100%;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.mobile-bottom-nav a{color:var(--color-muted);justify-content:center;align-items:center;height:100%;text-decoration:none;display:flex}.mobile-bottom-nav a:before{content:"";z-index:-1;border-radius:999px;width:2.75rem;height:2.75rem;position:absolute}.mobile-bottom-nav a[aria-current=page]{color:var(--color-accent)}.mobile-bottom-nav a[aria-current=page]:before{background:var(--color-accent-soft)}.mobile-bottom-nav svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.375rem;height:1.375rem}.mobile-bottom-nav .mobile-nav-fill{fill:currentColor;stroke:none}.mobile-progress-overlay{inset:calc(3.75rem + env(safe-area-inset-top)) 0 calc(4.625rem + env(safe-area-inset-bottom));z-index:50;background:#20201e47;align-items:flex-end;display:flex;position:fixed}.mobile-progress-legend{background:var(--color-surface);border-radius:var(--radius-surface) var(--radius-surface) 0 0;box-shadow:var(--shadow-dialog);padding:var(--space-5);width:100%}.mobile-progress-legend h2{margin:0 0 var(--space-4);font-size:1.125rem}.mobile-progress-legend dl{gap:var(--space-4);margin:0;display:grid}.mobile-progress-legend dl>div{align-items:center;gap:var(--space-3);grid-template-columns:2.75rem 1fr;display:grid}.mobile-progress-legend dt{font-size:1.5rem;font-weight:var(--weight-strong)}.mobile-progress-legend dt.is-all{color:var(--color-accent)}.mobile-progress-legend dt.is-known{color:var(--color-feedback-correct)}.mobile-progress-legend dt.is-due{color:#b56b16}.mobile-progress-legend dd{margin:0}.mobile-progress-legend dd strong,.mobile-progress-legend dd span{display:block}.mobile-progress-legend dd span{color:var(--color-muted);font-size:var(--type-label)}.dictionary,.learning-controls{max-width:var(--content-width);padding:var(--space-4);margin:0 auto}.dictionary>h1,.learning-controls>h1{font-size:var(--type-title);margin:0 0 var(--space-4)}.dictionary-filters{gap:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4) var(--space-2);scrollbar-width:none;background:0 0;display:flex;overflow-x:auto}.dictionary-filters::-webkit-scrollbar{display:none}.dictionary-filters--header{width:100%;margin:0;padding-bottom:0}.dictionary-filters button{background:var(--color-subtle);gap:var(--space-1);min-height:2.5rem;padding:0 var(--space-3);border-radius:999px;flex:none}.dictionary-filters button[aria-pressed=true]{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-line)}.dictionary-progress--learning,.dictionary-progress--known{background:var(--color-accent-soft);color:var(--color-accent)}.dictionary-progress--due{color:#9b5b12;background:#f6eadb}.learning-controls__rows{border-top:1px solid var(--color-line)}.learning-controls__rows>div,.learning-controls__rows>a{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;min-height:4.375rem;text-decoration:none;display:flex}.learning-controls__rows strong,.learning-controls__rows small{display:block}.learning-controls__rows small{color:var(--color-muted);font-size:var(--type-label);margin-top:var(--space-1)}.learning-controls__rows>a>span:last-child{color:var(--color-muted);font-size:1.5rem}.learning-controls__message{color:var(--color-muted);font-size:var(--type-label)}.learning-toggle{background:var(--color-line);cursor:pointer;border:0;border-radius:999px;width:3rem;height:1.75rem;padding:.1875rem}.learning-toggle span{background:var(--color-surface);border-radius:50%;width:1.375rem;height:1.375rem;transition:transform .16s;display:block}.learning-toggle.is-on{background:var(--color-accent)}.learning-toggle.is-on span{transform:translate(1.25rem)}.design-system-content{padding-bottom:var(--space-8)}.design-system-intro>p:last-child{color:var(--color-muted);margin:var(--space-3) 0 0}.design-system-section{border-top:1px solid var(--color-line);margin-top:var(--space-7);padding-top:var(--space-5)}.design-system-type{gap:var(--space-5);display:grid}.design-system-type p{margin:0}.design-system-label,.design-system-version{color:var(--color-muted);font-size:var(--type-label)}.design-system-swatches,.design-system-actions,.design-system-statuses{gap:var(--space-3);flex-wrap:wrap;display:flex}.design-system-swatch,.design-system-statuses span{border-radius:var(--radius-control);font-size:var(--type-label);padding:var(--space-3) var(--space-4)}.design-system-swatch--ink{background:var(--color-ink);color:var(--color-surface)}.design-system-swatch--muted{background:var(--color-subtle);color:var(--color-muted)}.design-system-swatch--accent{background:var(--color-accent-soft);color:var(--color-accent)}.design-system-swatch--danger{background:var(--color-danger-soft);color:var(--color-danger)}.design-system-statuses span{background:var(--color-subtle)}@media (width<=560px){.centered-shell,.practice-shell,.lesson-shell,.design-system-shell{padding:var(--space-4)}.practice-header{margin-bottom:var(--space-4)}.feedback-question{margin-bottom:var(--space-3);padding-bottom:var(--space-3)}.feedback-block{margin-top:var(--space-3);padding-top:var(--space-3)}.feedback-evaluation,.feedback-correct-answer,.feedback-changes{padding:var(--space-2) 0}.feedback-change-row{padding:var(--space-1) 0}.feedback-rule-inline{margin-top:var(--space-2)}.feedback-screen{padding-bottom:calc(var(--control-height) + var(--space-5))}.practice-primary-action{padding-inline:var(--space-4);width:100%}.practice-content>.ui-button{margin-top:var(--space-3)}.practice-shell{padding-bottom:calc(var(--space-7) + env(safe-area-inset-bottom))}.answer-comparison{grid-template-columns:1fr}.learning-control-overlay{padding:var(--space-2)}.learning-control-dialog{max-height:calc(100dvh - var(--space-4));width:100%}}@media (width<=340px){.focus-filter{flex-wrap:nowrap}.focus-filter__item{min-height:2.15rem;padding-inline:.3rem;font-size:.8rem}.focus-cloud{gap:.35rem}.focus-chip{min-height:2.15rem;padding:.25rem .55rem;font-size:.86rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.mobile-bottom-nav a{isolation:isolate;position:relative}.practice-content{background:radial-gradient(circle at 8% 12%, #316c5814, transparent 12rem), var(--color-canvas);min-height:calc(100dvh - 8.375rem - env(safe-area-inset-bottom));padding:var(--space-6) var(--space-4) var(--space-7);touch-action:pan-y}.practice-content .ui-display{margin:0;font-size:1.5rem;line-height:1.35}.challenge-screen,.feedback-screen{min-height:calc(100dvh - 11.375rem - env(safe-area-inset-bottom));flex-direction:column;padding:0;display:flex}.task-prompt-kicker{color:var(--color-accent);font-size:var(--type-label);font-weight:var(--weight-strong);letter-spacing:.01em;margin-bottom:var(--space-3)}.challenge-screen .ui-display{letter-spacing:-.035em;max-width:22ch;font-size:clamp(1.75rem,7vw,2rem)}.answer-entry-surface{background:linear-gradient(145deg, var(--color-surface), var(--color-subtle));border-radius:var(--radius-surface);color:var(--color-ink);cursor:text;margin-top:var(--space-7);overflow-wrap:anywhere;min-height:7.5rem;padding:var(--space-4);text-align:left;border:1px solid #316c582e;width:100%;font-size:clamp(1.75rem,7vw,2rem);line-height:1.4;box-shadow:0 1rem 2.5rem #231f1b12}.answer-entry-surface[data-empty=true]{background:linear-gradient(145deg, var(--color-surface), var(--color-subtle))}.answer-entry-surface:active{transform:translateY(1px);box-shadow:0 .5rem 1.5rem #231f1b0f}.answer-entry-placeholder{color:var(--color-muted)}.answer-sheet-backdrop{z-index:80;background:#20201e3d;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.answer-sheet{background:var(--color-surface);box-shadow:var(--shadow-dialog);max-height:min(78dvh,42rem);padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));width:min(100%, var(--shell-width));border-radius:1.5rem 1.5rem 0 0;overflow-y:auto}.answer-sheet form{gap:var(--space-4);display:grid}.answer-sheet__input{background:var(--color-subtle);border-radius:var(--radius-surface);color:var(--color-ink);min-height:8.5rem;padding:var(--space-4);resize:none;border:0;width:100%;font-size:clamp(1.75rem,7vw,2rem);line-height:1.4}.answer-sheet .ui-button{width:100%}.answer-sheet .answer-sheet__guided-action{color:var(--color-muted);min-height:2.75rem}.answer-sheet .answer-sheet__report-action{color:var(--color-muted);font-size:var(--type-label);min-height:2.75rem}.answer-sheet-open .mobile-bottom-nav{display:none}.guided-sheet{gap:var(--space-4);display:grid}.guided-sheet .guided-drilldown__assembled{background:var(--color-subtle);border-radius:var(--radius-surface);min-height:5rem;font-size:1.5rem}.guided-sheet .guided-drilldown__answer,.guided-sheet .guided-drilldown__support{margin:0;font-size:1.5rem;line-height:1.4}.feedback-question{margin:0 0 var(--space-6);border:0;padding:0}.feedback-label{color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-light);margin-bottom:var(--space-2);display:block}.feedback-screen .answer-block+.answer-block{margin-top:var(--space-5)}.feedback-screen .your-answer,.feedback-screen .expected{margin:0;font-size:1.5rem;line-height:1.4}.feedback-correct-answer{border:0;padding:0}.feedback-screen .answer-error{color:var(--color-feedback-error);text-decoration:none}.task-report-action{color:var(--color-muted);cursor:pointer;font-size:var(--type-label);min-height:2.75rem;padding:0 var(--space-3);background:0 0;border:0;align-self:center;margin-top:auto}.feedback-screen .practice-primary-action{bottom:calc(4.625rem + env(safe-area-inset-bottom));padding:var(--space-4);z-index:20}.checking-overlay{inset:calc(3.75rem + env(safe-area-inset-top)) 0 calc(4.625rem + env(safe-area-inset-bottom));z-index:55;background:#f8f8f6bd;justify-content:center;align-items:center;display:flex;position:fixed}.checking-overlay--task-loading{background:var(--color-surface)}.checking-spinner{border:3px solid var(--color-line);border-top-color:var(--color-accent);border-radius:50%;width:2.5rem;height:2.5rem;animation:.7s linear infinite checking-spin}@keyframes progress-number-update{0%{background:var(--color-accent-soft);box-shadow:0 0 0 .45rem var(--color-accent-soft);transform:translateY(-2px)scale(1.14)}45%{background:var(--color-accent-soft);box-shadow:0 0 0 .25rem var(--color-accent-soft);transform:translateY(0)scale(1.04)}to{background:0 0;transform:none;box-shadow:0 0 #0000}}.visually-hidden,.visually-hidden-action{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes checking-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.checking-spinner,.mobile-header-refresh.is-refreshing>svg{animation-duration:1.4s}}.learning-controls--compact{padding:var(--space-5) var(--space-5) calc(5.5rem + env(safe-area-inset-bottom))}.learning-section-title{color:var(--color-ink);font-size:var(--type-body);font-weight:var(--weight-light);margin:0 0 var(--space-2)}.practice-mode-options{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.practice-mode-option,.topic-filter-strip button,.frontier-filter-strip button{background:var(--color-subtle);color:var(--color-ink);cursor:pointer;font-size:var(--type-body);font-weight:var(--weight-light);border:1px solid #0000;border-radius:999px;min-height:2.375rem;padding:0 .875rem}.practice-mode-option[aria-pressed=true]{background:var(--color-accent);color:var(--color-surface)}.topics-trigger{color:var(--color-ink);cursor:pointer;font-size:var(--type-body);font-weight:var(--weight-light);margin:0 0 var(--space-3);background:0 0;border:0;align-items:center;gap:.45rem;padding:0;display:inline-flex}.topics-trigger__count{background:var(--color-line);color:var(--color-muted);font-size:var(--type-body);border-radius:999px;justify-content:center;align-items:center;min-width:1.625rem;height:1.625rem;padding:0 .375rem;display:inline-flex}.topics-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:.875rem;height:.875rem}.selected-topic-cloud,.frontier-focus-cloud{flex-wrap:wrap;gap:.5625rem .5rem;display:flex}.selected-topic-cloud span,.frontier-focus-cloud button,.topics-sheet .focus-chip,.focus-picker--page .focus-chip{background:var(--color-subtle);color:var(--color-ink);font-size:var(--type-body);font-weight:var(--weight-light);border:1px solid #0000;border-radius:999px;min-height:2.375rem;padding:0 .875rem;line-height:1}.selected-topic-cloud span{background:var(--color-accent);color:var(--color-surface);align-items:center;display:inline-flex}.topics-overlay{z-index:80;position:fixed;inset:0}.topics-overlay__scrim{cursor:pointer;background:#20201e59;border:0;width:100%;padding:0;position:absolute;inset:0}.topics-sheet{background:var(--color-canvas);min-height:min(80dvh,32.5rem);max-height:min(88dvh,36rem);width:min(100%, var(--shell-width));border-radius:1.5rem 1.5rem 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 -.75rem 2rem #2f2a2329}.topics-sheet header{padding:var(--space-5) var(--space-5) var(--space-3)}.topics-sheet h2{font-size:1.25rem;font-weight:var(--weight-light);margin:0}.topic-filter-strip,.frontier-filter-strip{scrollbar-width:none;gap:.45rem;display:flex;overflow-x:auto}.topic-filter-strip{padding:0 var(--space-5) var(--space-4)}.topic-filter-strip button,.frontier-filter-strip button{border-color:var(--color-line);color:var(--color-muted);min-height:2.125rem;padding-inline:var(--space-3);background:0 0;flex:none}.topic-filter-strip button[aria-pressed=true],.frontier-filter-strip button[aria-pressed=true]{color:var(--color-surface);background:#3b3b37;border-color:#3b3b37}.topics-sheet__scroll{padding:0 var(--space-5) calc(var(--space-7) + env(safe-area-inset-bottom));overflow-y:auto}.topics-sheet__actions,.focus-picker__actions{background:var(--color-canvas);border-top:1px solid var(--color-line);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));justify-content:flex-end;display:flex}.focus-picker__actions{border-top:0;padding-inline:0}.topics-cancel-button,.topics-save-button{border-radius:var(--radius-control);font:inherit;min-height:var(--control-height);padding:0 var(--space-4);border:0}.topics-cancel-button{background:var(--color-subtle);color:var(--color-ink)}.topics-save-button{background:var(--color-accent);color:var(--color-surface)}.topics-cancel-button:disabled,.topics-save-button:disabled{cursor:default;opacity:.45}.topics-sheet .focus-cloud{padding-bottom:0}.topics-sheet .focus-chip[aria-pressed=true],.focus-picker--page .focus-chip[aria-pressed=true],.frontier-focus-cloud button[aria-pressed=true]{background:var(--color-accent);color:var(--color-surface)}.focus-picker--page{max-width:var(--content-width);padding:var(--space-5) var(--space-5) calc(5.5rem + env(safe-area-inset-bottom));margin:0 auto}.focus-picker--page>.topic-filter-strip{margin:0 calc(-1 * var(--space-5)) var(--space-4)}.focus-picker--page .focus-cloud{padding-bottom:0}.practice-content{background:var(--color-canvas);padding:2.125rem var(--space-5) 7rem}.practice-content .ui-display{letter-spacing:-.045em;font-size:clamp(1.875rem,8vw,2.25rem);font-weight:700;line-height:1.12}.frontier-empty-screen h1{letter-spacing:-.045em;font-size:clamp(1.5rem,7vw,2.125rem);font-weight:700;line-height:1.12}.challenge-screen,.feedback-screen{min-height:calc(100dvh - 12.25rem - env(safe-area-inset-bottom))}.inline-answer-input{color:var(--color-ink);font-size:clamp(1.5rem,6.5vw,1.875rem);font-weight:var(--weight-strong);min-height:2.625rem;padding:0 0 var(--space-2);resize:none;background:0 0;border:0;border-bottom:1px solid #aaa69e;border-radius:0;width:100%;margin-top:1.625rem;line-height:1.45;overflow:hidden}.inline-answer-input::placeholder{color:#918b82;font-weight:var(--weight-light);opacity:1}.inline-answer-input:focus{border-bottom-color:var(--color-accent);box-shadow:none;outline:0}.inline-answer-input[data-revealed=true]{color:var(--color-feedback-correct);opacity:1}.task-answer-actions{gap:var(--space-2);margin-top:.625rem;display:flex}.task-answer-action,.report-copy-action{color:#625d56;cursor:pointer;background:#efede8;border:0;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-flex}.task-answer-action svg,.report-copy-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.125rem;height:1.125rem}.challenge-screen .practice-primary-action,.assembly-screen .practice-primary-action,.frontier-primary-action{bottom:calc(4.625rem + env(safe-area-inset-bottom));padding:var(--space-3) var(--space-4)}.practice-primary-action .ui-button,.frontier-primary-action .ui-button{background:var(--color-accent);border-color:var(--color-accent);border-radius:.8125rem;min-height:3.25rem}.practice-primary-action .ui-button:disabled,.frontier-primary-action .ui-button:disabled{opacity:1;background:#d0cec9;border-color:#d0cec9}.assembly-target{border-bottom:1px solid #aaa69e;flex-wrap:wrap;align-content:flex-start;gap:.45rem;min-height:3.25rem;margin-top:1.625rem;padding-bottom:.625rem;display:flex}.assembly-target button,.assembly-bank button{background:var(--color-subtle);border:1px solid var(--color-line);color:var(--color-ink);font:inherit;min-height:2.375rem;padding:0 var(--space-3);border-radius:999px;font-size:1.125rem}.assembly-bank{flex-wrap:wrap;gap:.5625rem .5rem;margin-top:2.125rem;display:flex}.assembly-bank button[aria-pressed=true]{opacity:.25}.assembly-sheet-backdrop{z-index:85}.assembly-sheet{gap:var(--space-5);min-height:21.25rem;padding-top:var(--space-5);grid-template:"target""bank""action"minmax(3.25rem,auto)/minmax(0,1fr);display:grid}.assembly-sheet .assembly-target,.assembly-sheet .assembly-bank{margin-top:0}.assembly-sheet .assembly-target{grid-area:target}.assembly-sheet .assembly-bank{grid-area:bank}.assembly-sheet>.ui-button{background:var(--color-accent);border-color:var(--color-accent);margin-top:var(--space-2);border-radius:.8125rem;grid-area:action;width:100%;min-height:3.25rem;position:static}.assembly-sheet>.ui-button:disabled{opacity:1;background:#d0cec9;border-color:#d0cec9}.feedback-screen .your-answer,.feedback-screen .expected{font-size:clamp(1.5rem,6.5vw,1.875rem)}.feedback-report-action{margin-top:var(--space-5);align-self:flex-start}.report-overlay{z-index:90;justify-content:center;padding:0}.report-dialog{padding:var(--space-5);width:min(100%, var(--shell-width));border:0;border-radius:1.5rem 1.5rem 0 0}.report-dialog__ticket-row{align-items:center;gap:var(--space-3);justify-content:space-between;display:flex}.report-dialog__label{color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-light);margin:0 0 var(--space-2)}.report-ticket{font-size:.875rem;font-weight:var(--weight-light);white-space:nowrap}.report-copy-action{width:2.375rem;height:2.375rem}.report-copy-action:disabled{opacity:.35}.report-comment{color:var(--color-ink);resize:none;background:0 0;border:1px solid #c9c4bc;border-radius:.875rem;width:100%;min-height:6.5rem;margin-top:1.125rem;padding:.8125rem .875rem;line-height:1.45}.frontier-empty-screen{min-height:calc(100dvh - 8.375rem - env(safe-area-inset-bottom));padding:2.125rem var(--space-5) 7rem;flex-direction:column;display:flex}.home-shell .home-content:has(.frontier-empty-screen){max-width:var(--content-width);width:100%;margin:0 auto}.frontier-empty-screen h1{margin:0 0 var(--space-5);font-size:1.25rem;font-weight:500;line-height:1.3}.frontier-filter-strip{margin-bottom:1.125rem}.frontier-focus-cloud button{cursor:pointer;min-height:2.5rem}.frontier-primary-action{width:min(100%, calc(var(--content-width) + (2 * var(--space-5))));max-width:var(--shell-width);z-index:15;position:fixed;left:50%;transform:translate(-50%)}.learning-control-overlay,.mobile-progress-overlay,.answer-sheet-backdrop,.checking-overlay,.topics-overlay{width:min(100%, var(--shell-width));left:50%;right:auto;transform:translate(-50%)}@media (width>=26.9375rem){body{background:#efefec}.auth-shell,.centered-shell,.lesson-shell,.design-system-shell,.mobile-learning-page,.practice-shell{background:var(--color-canvas);box-shadow:0 0 0 1px #20201e0d}}@media (width<=340px){.learning-controls--compact,.practice-content,.frontier-empty-screen,.focus-picker--page{padding-left:var(--space-4);padding-right:var(--space-4)}}
