:root{--font-base:16px;--text-hero:3.5rem;--text-score:5rem;--font-family:"Helvetica Neue", Arial, system-ui, sans-serif;--text-micro:.8125rem;--text-caption:1.0625rem;--text-body:1.25rem;--text-label:1.125rem;--text-title:1.5rem;--text-heading:2rem;--text-display:2.5rem;--color-text:#202023;--color-muted:#65656d;--color-border:#e6e6e9;--color-surface:#fff;--color-subtle:#f6f6f7;--color-path:#ded9e8;--color-scene:#ad96c4;--color-scene-wash:#eee8f5;--color-track:#e6e6e9;--color-action:#f2cf54;--color-action-hover:#e9c548;--color-action-edge:#c8a939;--color-action-text:#24211a;--color-success:#466754;--color-success-soft:#e8f1e9;--color-info:#6550a4;--color-info-soft:#f0ebfc;--color-info-border:#b59fd3;--color-error:#b52c31;--color-error-soft:#ffe8e8;--color-warning:#875c00;--color-warning-soft:#fff3cf;--color-reward:#b59fd3;--color-reward-edge:#6550a4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-small:12px;--radius-control:18px;--radius-card:24px;--border-width:2px;--control-height:56px;--press-depth:0px;--radius-pill:999px;--color-shell:#443751;--color-shell-text:#f8f5fc;--color-region-city:#faf9fc;--color-region-lakes:#f0f7f5;--color-region-coast:#eff5fb;--color-art-light:#e2d5ed;--color-art-shade:#c5b2d5;--color-art-water:#cce6e5;--weight-heading:700;--weight-label:600;--motion-fast:.12s;font-family:var(--font-family);color:var(--color-text);background:var(--color-surface);font-synthesis:none;font-size:var(--font-base);line-height:1.5}*{box-sizing:border-box}body{font-size:var(--text-body);margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-info);outline-offset:4px}a{color:var(--color-info);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:var(--text-display);line-height:1.15;font-weight:var(--weight-heading);letter-spacing:-.02em}h2{font-size:var(--text-heading);font-weight:var(--weight-heading);line-height:1.25}h3{font-size:var(--text-title);font-weight:var(--weight-label);line-height:1.35}em{font-style:normal}.eyebrow{font-size:var(--text-caption);font-weight:var(--weight-label);color:var(--color-muted);margin-bottom:var(--space-4)}.muted{color:var(--color-muted)}.small{font-size:var(--text-caption)}.button-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.loading{padding:var(--space-12)}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-3) var(--space-6);border:var(--border-width) solid var(--button-border);border-radius:var(--radius-pill);background:var(--button-bg);color:var(--button-text);box-shadow:0 var(--press-depth) 0 var(--button-border);font-size:var(--text-label);font-weight:var(--weight-heading);transition:transform var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);line-height:1.3;display:inline-flex}.ui-button--primary{--button-bg:var(--color-action);--button-border:transparent;--button-text:var(--color-action-text)}.ui-button--secondary{--button-bg:var(--color-surface);--button-border:var(--color-border);--button-text:var(--color-text)}.ui-button--ghost{--button-bg:transparent;--button-border:transparent;--button-text:var(--color-muted);box-shadow:none}.ui-button--primary:not(:disabled):hover{background:var(--color-action-hover)}.ui-button--secondary:not(:disabled):hover,.ui-button--ghost:not(:disabled):hover{background:var(--color-subtle)}.ui-button:not(:disabled):active{transform:translateY(var(--press-depth));box-shadow:none}.ui-button:disabled{--button-bg:var(--color-track);--button-border:var(--color-border);--button-text:var(--color-muted);opacity:1}.ui-surface{background:var(--color-subtle);border:var(--border-width) solid transparent;border-radius:var(--radius-card);padding:var(--space-6)}.ui-surface--blue{background:var(--color-info-soft);border-color:var(--color-info-border)}.ui-field{gap:var(--space-2);margin:var(--space-6) 0;font-size:var(--text-label);font-weight:var(--weight-label);display:grid}.ui-field input,.ui-field select{width:100%;min-height:var(--control-height);padding:var(--space-3) var(--space-4);background:var(--color-subtle);color:var(--color-text);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);font-size:var(--text-body)}.ui-progress{appearance:none;width:100%;height:var(--space-4);border-radius:var(--radius-control);background:var(--color-track);accent-color:var(--color-info);border:0;display:block;overflow:hidden}.ui-progress::-webkit-progress-bar{background:var(--color-track);border-radius:var(--radius-control)}.ui-progress::-webkit-progress-value{background:var(--color-info);border-radius:var(--radius-control)}.ui-progress::-moz-progress-bar{background:var(--color-info);border-radius:var(--radius-control)}.ui-notice{padding:var(--space-6);border-radius:var(--radius-card);margin:var(--space-6) 0}.ui-notice--success{background:var(--color-success-soft);color:var(--color-success)}.ui-notice--error{background:var(--color-error-soft);color:var(--color-error)}.ui-notice--hint{background:var(--color-warning-soft);color:var(--color-warning)}.ui-notice p{margin:var(--space-3) 0}.ui-choice{align-items:center;gap:var(--space-4);min-height:88px;padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);box-shadow:0 var(--press-depth) 0 var(--color-border);background:var(--color-surface);font-size:var(--text-title);cursor:pointer;font-weight:700;display:flex;position:relative}.ui-choice:hover{background:var(--color-subtle)}.ui-choice:has(input:checked){color:var(--color-info);background:var(--color-info-soft);border-color:var(--color-info-border);box-shadow:0 var(--press-depth) 0 var(--color-info-border)}.ui-choice:has(input:focus-visible){outline:3px solid var(--color-info);outline-offset:4px}.ui-choice input{opacity:0;width:1px;height:1px;position:absolute}.ui-choice__check{flex-shrink:0;margin-left:auto}.ui-token{min-height:var(--control-height);padding:var(--space-2) var(--space-4)}@media (prefers-reduced-motion:reduce){.ui-button{transition:none}}.ui-choice:has(input:disabled){cursor:default}.ui-select{min-width:200px;max-width:100%;position:relative}.ui-select-trigger{width:100%;min-height:var(--control-height);justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-subtle);color:var(--color-text);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);font-size:var(--text-body);text-align:left;display:flex}.ui-select-trigger svg{width:var(--space-5);height:var(--space-5);flex-shrink:0}.ui-select-options{top:calc(100% + var(--space-2));z-index:20;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-2);position:absolute;left:0;right:0}.ui-select-options button{width:100%;padding:var(--space-3);border-radius:var(--radius-small);font-size:var(--text-body);text-align:left;display:block}.ui-select-options button[data-active=true]{background:var(--color-subtle)}.ui-select-options button[aria-selected=true]{background:var(--color-info-soft);color:var(--color-info)}.login-layout{gap:var(--space-6);max-width:1200px;min-height:100vh;padding:var(--space-6);grid-template-columns:1fr 1fr;margin:auto;display:grid}.intro{padding:var(--space-12);background:var(--color-region-city);border-radius:var(--radius-card);flex-direction:column;display:flex}.intro-body{padding:var(--space-16) 0;margin:auto 0}.intro h1{font-size:var(--text-hero);color:var(--color-text)}.intro-note{margin-top:var(--space-8);color:var(--color-muted)}.login-side{padding:var(--space-8);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:420px}.login-card h2{font-size:var(--text-display);margin-bottom:var(--space-6)}.login-card>p{margin:var(--space-4) 0 var(--space-6)}.login-card .ui-button{width:100%}.intro-body .region-illustration{width:210px;height:170px;margin:var(--space-8) 0;display:block}.login-card>.ui-button+.ui-button{margin-top:var(--space-4)}.app>header{max-width:1200px;padding:var(--space-6) var(--space-8);border-bottom:var(--border-width) solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-6);margin:auto;display:flex}.app>header nav{gap:var(--space-2);background:var(--color-subtle);border-radius:var(--radius-pill);padding:var(--space-1);display:flex}.app>header nav button{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-label);font-weight:var(--weight-label);border-radius:var(--radius-pill);border:0;display:flex}.app>header nav button.active{color:var(--color-shell-text);background:var(--color-shell)}.account{align-items:center;gap:var(--space-4);font-size:var(--text-caption);display:flex}.account span{font-weight:var(--weight-heading)}.app>main{max-width:1040px;padding:var(--space-10) var(--space-6) var(--space-16);margin:auto}.app>footer{max-width:1040px;padding:0 var(--space-6) var(--space-6);font-size:var(--text-caption);color:var(--color-muted);justify-content:space-between;gap:var(--space-6);border:0;flex-wrap:wrap;margin:auto;display:flex}.back{margin-bottom:var(--space-6);padding-left:0}.link-button{color:var(--color-info);font-weight:var(--weight-heading);padding:var(--space-3) 0;display:inline-flex}.app>header nav button svg{display:none}.brand{align-items:center;gap:var(--space-3);color:var(--color-text);letter-spacing:0;text-align:left;padding:0;line-height:1;text-decoration:none;display:flex}.brand .brand-mark{border-radius:var(--radius-control);background:var(--color-action);width:42px;height:46px;color:var(--color-action-text);font-size:var(--text-heading);place-items:center;margin:0;display:grid;position:relative;transform:rotate(-7deg)}.brand-mark>span{border:3px solid var(--color-surface);background:var(--color-info);border-radius:50%;width:12px;height:12px;margin:0;position:absolute;bottom:-3px;right:-4px}.brand .brand-name{font-size:var(--text-heading);color:var(--color-text);font-weight:var(--weight-heading);margin:0}.brand-name small{font-size:var(--text-caption);color:var(--color-muted);margin-top:var(--space-2);font-weight:400;display:block}.exercise{max-width:740px;margin:auto}.exercise-top{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.exercise-top>span{color:var(--color-muted);font-weight:var(--weight-label)}.exercise-top .back{margin-bottom:0}.exercise>.ui-progress{height:var(--space-2);margin:var(--space-4) 0 var(--space-8)}.exercise-question{font-size:var(--text-heading);margin-bottom:var(--space-8);line-height:1.3}.feedback h2{font-size:var(--text-title)}fieldset{border:0;margin:0;padding:0}.choices{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sentence-answer{padding:var(--space-5)}.sentence-label{color:var(--color-muted);font-size:var(--text-caption);margin-bottom:var(--space-3)}.sentence{min-height:var(--control-height);align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.sentence-placeholder{color:var(--color-muted);font-size:var(--text-label)}.word-options{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.exercise-actions{align-items:center;gap:var(--space-6);margin-top:var(--space-8);display:flex}.feedback .ui-button{margin-top:var(--space-4)}.result{text-align:center;max-width:740px;padding:var(--space-8) 0;margin:auto}.result-score{font-size:var(--text-score);font-weight:var(--weight-heading);color:var(--color-action-edge);margin-top:var(--space-8)}.result-score span{font-size:var(--text-heading);color:var(--color-muted)}.result>p{margin:var(--space-4)}.result-actions{margin-top:var(--space-8);justify-content:center}.journey-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 250px;align-items:start;display:grid}.journey-main{min-width:0}.journey-heading{margin-bottom:var(--space-8)}.journey-heading>p:last-child{margin-top:var(--space-4);color:var(--color-muted)}.journey-map{border-radius:var(--radius-card);overflow:hidden}.map-region{background:var(--color-region-city);padding:var(--space-6);scroll-margin-top:var(--space-6)}.map-region--2{background:var(--color-region-lakes)}.map-region--3{background:var(--color-region-coast)}.region-heading{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.region-heading>div{flex:1;min-width:0}.region-heading h2{font-size:var(--text-title)}.region-heading p:not(.eyebrow){color:var(--color-muted);font-size:var(--text-caption);margin-top:var(--space-2)}.region-heading .eyebrow{margin-bottom:var(--space-1)}.region-number{background:var(--color-surface);color:var(--color-info);border-radius:var(--radius-control);width:48px;height:48px;font-weight:var(--weight-heading);flex-shrink:0;place-items:center;display:grid}.region-illustration{flex-shrink:0;width:110px;height:90px}.region-art-wash{fill:var(--color-scene-wash)}.region-art-light{fill:var(--color-art-light)}.region-art-shade{fill:var(--color-art-shade)}.region-art-water{fill:var(--color-art-water)}.region-art-paper{fill:var(--color-surface)}.region-art-accent{fill:var(--color-action)}.region-art-line{fill:none;stroke:var(--color-art-shade);stroke-width:3px;stroke-linecap:round}.chapter-progress{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.chapter-progress .ui-progress{flex:1;min-width:0}.chapter-progress span{font-size:var(--text-caption);color:var(--color-muted);white-space:nowrap}.path-map{isolation:isolate;position:relative}.path-connections{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.path-connections path{fill:none;stroke:var(--color-path);stroke-width:5px;stroke-linecap:round}.path-connections .covered{stroke:var(--color-info-border);stroke-width:4px;stroke-dasharray:2 10}.learning-path{margin:0;padding:0;list-style:none}.station-heading{z-index:1;margin:var(--space-8) 0 var(--space-5);font-size:var(--text-caption);font-weight:var(--weight-label);color:var(--color-muted);position:relative}.station-heading span{background:var(--color-region-city);border-radius:var(--radius-small);padding:var(--space-2) var(--space-3)}.path-step{z-index:1;margin:0 0 var(--space-6) var(--offset);padding-left:48px;position:relative}.lesson-marker{left:0;top:var(--space-2);background:var(--color-track);width:34px;height:34px;color:var(--color-muted);border:3px solid var(--color-region-city);border-radius:var(--radius-small);font-size:var(--text-caption);place-items:center;display:grid;position:absolute}.complete .lesson-marker{background:var(--color-success-soft);color:var(--color-success)}.current .lesson-marker{background:var(--color-info);color:var(--color-surface);top:var(--space-6)}.lesson-stop{width:100%;padding:var(--space-2) 0;text-align:left;display:block}.lesson-caption{border-radius:var(--radius-small);background:var(--color-region-city);padding:var(--space-2);display:block}.lesson-caption strong{font-size:var(--text-body);font-weight:var(--weight-label);display:block}.lesson-caption>span{margin-top:var(--space-2);color:var(--color-muted);font-size:var(--text-caption);display:block}.locked .lesson-caption strong{color:var(--color-muted)}.current-lesson{background:var(--color-info-soft);border-radius:var(--radius-card);padding:var(--space-6)}.lesson-heading{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-info);font-size:var(--text-caption);margin-bottom:var(--space-4);display:flex}.lesson-heading span:last-child{white-space:nowrap}.lesson-meta,.lesson-progress{color:var(--color-muted);font-size:var(--text-caption);margin:var(--space-3) 0}.current-lesson .ui-button{width:100%;margin-top:var(--space-3)}.path-finish{align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-3);z-index:1;background:var(--color-region-city);display:flex;position:relative}.path-finish>svg{color:var(--color-info);flex-shrink:0;width:32px;height:32px}.path-finish h3{font-size:var(--text-body)}.path-finish p{color:var(--color-muted);font-size:var(--text-caption);margin-top:var(--space-2)}.region-preview{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-6)}.region-preview h3{font-size:var(--text-body)}.region-preview p{color:var(--color-muted);margin:var(--space-4) 0;font-size:var(--text-caption)}.region-preview a{font-size:var(--text-caption)}.journey-sidebar{top:var(--space-6);position:sticky}.journey-sidebar h2{font-size:var(--text-title);margin:var(--space-8) 0 var(--space-4)}.journey-sidebar nav{display:block}.journey-sidebar nav button{justify-content:space-between;align-items:start;gap:var(--space-4);text-align:left;width:100%;font-size:var(--text-label);padding:var(--space-4) 0;border:0;border-bottom:1px solid var(--color-border);border-radius:0;font-weight:400;display:flex}.journey-sidebar nav button[aria-current]{color:var(--color-info)}.journey-sidebar small{font-size:var(--text-caption);color:var(--color-muted);margin-top:var(--space-2);display:block}.journey-position{background:var(--color-info-soft);border-radius:var(--radius-card);padding:var(--space-5)}.journey-position span{font-size:var(--text-caption);color:var(--color-muted);margin-bottom:var(--space-2);display:block}.journey-sidebar>.ui-button{width:100%;margin-top:var(--space-6)}.journey-return{gap:var(--space-4);background:var(--color-info-soft);border-radius:var(--radius-card);padding:var(--space-6);margin-top:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.journey-return>svg{color:var(--color-info);flex-shrink:0}.journey-return>div{flex:1;min-width:160px}.journey-return h3{font-size:var(--text-body)}.journey-return p{font-size:var(--text-caption);color:var(--color-muted);margin-top:var(--space-2)}.study-page,.homework-page{max-width:800px;margin:auto}.study-page h1,.homework-page h1{font-size:var(--text-display)}.study-goal{font-size:var(--text-body);color:var(--color-muted);margin:var(--space-5) 0 var(--space-8);max-width:690px}.study-block{margin:var(--space-5) 0}.study-block h2{font-size:var(--text-title)}.study-block>p{color:var(--color-muted);font-size:var(--text-body);margin-top:var(--space-4);line-height:1.85}.examples{margin:var(--space-6) 0 0;border-top:1px solid var(--color-border);padding:0}.examples>div{gap:var(--space-5);border-bottom:1px solid var(--color-border);padding:var(--space-4) 0;grid-template-columns:1fr 1fr;display:grid}.examples dt{color:var(--color-success);font-weight:700}.examples dd{color:var(--color-muted);font-size:var(--text-body);margin:0}.study-footer{gap:var(--space-6);margin:var(--space-8) 0;justify-content:space-between;align-items:center;display:flex}.study-footer strong{font-size:var(--text-title)}.study-footer .ui-button{white-space:nowrap}.daily-homework{margin:var(--space-8) 0}.daily-homework>p:not(.eyebrow){margin:var(--space-4) 0}.daily-homework>.ui-button{margin-top:var(--space-5)}.homework-topics{gap:var(--space-2);margin:var(--space-5) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.homework-topics li{background:var(--color-surface);color:var(--color-info);border-radius:var(--radius-small);padding:var(--space-2) var(--space-3);font-size:var(--text-caption)}.daily-progress{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.daily-progress span{font-size:var(--text-caption);color:var(--color-muted)}.homework-calendar{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-6)}.calendar-heading{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.calendar-heading h2{font-size:var(--text-title)}.calendar-modes{background:var(--color-subtle);border-radius:var(--radius-pill);padding:var(--space-1);display:flex}.calendar-modes button{font-size:var(--text-caption);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill)}.calendar-modes button[aria-pressed=true]{background:var(--color-shell);color:var(--color-shell-text)}.calendar-navigation{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-5) 0;display:flex}.calendar-navigation strong{font-size:var(--text-label);text-align:center}.calendar-navigation .ui-button{padding:var(--space-2)}.calendar-grid{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));max-width:560px;margin:auto;display:grid}.calendar-weekday{text-align:center;color:var(--color-muted);font-size:var(--text-caption);padding-bottom:var(--space-2)}.calendar-day{aspect-ratio:1;min-width:0;min-height:var(--space-12);padding:0 0 var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-control);background:var(--color-subtle);line-height:1;font-size:var(--text-label);font-weight:var(--weight-label);place-items:center;display:grid;position:relative}.calendar-day:not(:disabled):hover{border-color:var(--color-info-border)}.calendar-mark{bottom:var(--space-1);width:var(--space-1);height:var(--space-1);border-radius:var(--radius-pill);color:var(--color-info);background:currentColor;position:absolute}.calendar-mark[data-completed=true]{width:auto;height:auto;color:var(--color-success);line-height:1;font-size:var(--text-caption);background:0 0}.calendar-day[data-active=true]{background:var(--color-info-soft)}.calendar-day[data-completed=true]{background:var(--color-success-soft)}.calendar-day[aria-current]{border-color:var(--color-info-border)}.calendar-day[aria-pressed=true]{background:var(--color-shell);border-color:var(--color-shell);color:var(--color-shell-text)}.calendar-day[aria-pressed=true] .calendar-mark{color:var(--color-shell-text)}.calendar-day:disabled{color:var(--color-muted);background:0 0;font-weight:400}.calendar-detail{font-size:var(--text-label);margin-top:var(--space-5)}@media (width<=700px){.homework-calendar{padding:var(--space-4)}.calendar-grid{gap:var(--space-1)}.calendar-day{border-radius:var(--radius-small)}.calendar-mark[data-completed=true]{bottom:0}}.ui-catalog{max-width:900px;padding:var(--space-8) var(--space-6);margin:auto}.ui-catalog>.eyebrow{margin-top:var(--space-8)}.ui-catalog>p{margin-top:var(--space-4)}.ui-catalog section{margin-top:var(--space-12)}.ui-catalog section>h2{margin-bottom:var(--space-6)}.ui-catalog .ui-surface>*+*{margin-top:var(--space-4)}.ui-catalog__swatches{gap:var(--space-6);flex-wrap:wrap;display:flex}.ui-catalog__swatches span{border-radius:var(--radius-control);width:80px;height:64px;display:block}.ui-catalog__swatches [data-color=action] span{background:var(--color-action)}.ui-catalog__swatches [data-color=info] span{background:var(--color-info)}.ui-catalog__swatches [data-color=success] span{background:var(--color-success)}.ui-catalog__swatches [data-color=error] span{background:var(--color-error)}.ui-catalog__swatches [data-color=reward] span{background:var(--color-reward)}.ui-catalog__choices{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.vocabulary-page{max-width:900px;margin:auto}.vocabulary-page h1{font-size:var(--text-display)}.vocabulary-tabs{gap:var(--space-2);margin:var(--space-6) 0 var(--space-8);display:flex}.vocabulary-empty p{margin:var(--space-4) 0 var(--space-6);color:var(--color-muted)}.vocabulary-filters{gap:var(--space-3);flex-wrap:wrap;display:flex}.vocabulary-filters .ui-field{margin:0}.vocabulary-filters .ui-field:first-child{flex:1;min-width:180px}.vocabulary-filters input{flex:1;min-width:0}.vocabulary-filters select{max-width:100%}.vocabulary-count{margin:var(--space-5) 0;color:var(--color-muted);font-size:var(--text-caption)}.vocabulary-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.vocabulary-card{gap:var(--space-3);text-align:center;flex-direction:column;min-width:0;min-height:210px;display:flex}.vocabulary-card h2{overflow-wrap:anywhere;font-size:var(--text-title)}.vocabulary-copy p{color:var(--color-muted)}.vocabulary-source{color:var(--color-muted);font-size:var(--text-micro)}.vocabulary-illustration{aspect-ratio:4/3;object-fit:contain;border-radius:var(--radius-small);width:100%}.vocabulary-copy{justify-content:center;gap:var(--space-3);flex-direction:column;flex:1;display:flex}.vocabulary-training{padding:var(--space-8) 0;place-items:center;display:grid}.vocabulary-launch{justify-content:center;align-items:center;gap:var(--space-5);text-align:center;flex-direction:column;width:100%;max-width:360px;min-height:320px;display:flex}.vocabulary-launch>svg{width:var(--space-12);height:var(--space-12);color:var(--color-info)}.vocabulary-launch>p{color:var(--color-muted)}.vocabulary-session-progress{gap:var(--space-2);width:100%;font-size:var(--text-caption);color:var(--color-muted);display:grid}@media (width<=700px){.vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app>header nav{border-radius:var(--radius-control);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.app>header nav button{white-space:normal;padding:var(--space-3) var(--space-1)}}@media (width<=400px){.vocabulary-grid{grid-template-columns:1fr}}@media (width<=360px){.app>header nav{grid-template-columns:repeat(2,minmax(0,1fr))}}.progress-dashboard{gap:var(--space-8);display:grid}.progress-heading,.progress-chapter-heading{align-items:center;gap:var(--space-4);display:flex}.progress-heading{flex-wrap:wrap;justify-content:space-between}.progress-heading .link-button{font-size:var(--text-caption)}.progress-overview{gap:var(--space-4);grid-template-columns:1.2fr 1fr;display:grid}.progress-route-summary{align-items:center;gap:var(--space-6);background:var(--color-shell);color:var(--color-shell-text);display:flex}.progress-route-summary p{margin-top:var(--space-3);font-size:var(--text-label)}.progress-ring{flex:0 0 156px;width:156px;height:156px;position:relative}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:8px}.progress-ring-track{stroke:var(--color-shell-text);opacity:.15}.progress-ring-value{stroke:var(--color-action);stroke-linecap:round}.progress-ring strong{font-size:var(--text-display);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.progress-ring strong span{font-size:var(--text-label)}.progress-next{justify-items:start;gap:var(--space-4);background:var(--color-warning-soft);display:grid}.progress-card-label{align-items:center;gap:var(--space-2);font-size:var(--text-caption);color:var(--color-muted);display:flex}.progress-next .ui-button{margin-top:auto;text-decoration:none}.progress-numbers{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.progress-numbers article{gap:var(--space-2);display:grid}.progress-numbers svg{color:var(--color-info);margin-bottom:var(--space-2)}.progress-numbers strong{font-size:var(--text-heading)}.progress-numbers strong span,.progress-numbers p{font-size:var(--text-caption);color:var(--color-muted);font-weight:400}.progress-chapter{gap:var(--space-6);display:grid}.progress-chapter-number{border-radius:var(--radius-control);background:var(--color-info-soft);height:56px;color:var(--color-info);font-weight:var(--weight-heading);font-size:var(--text-heading);flex:0 0 56px;place-items:center;display:grid}.progress-stations{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.progress-station{gap:var(--space-4);border-color:var(--color-border);background:var(--color-surface);flex-direction:column;display:flex}.progress-station-number{font-size:var(--text-heading);color:var(--color-scene);font-weight:var(--weight-heading)}.progress-station h3{min-height:0}.progress-station-count{color:var(--color-muted);font-size:var(--text-label);margin-top:0}.progress-station-count strong{color:var(--color-text);font-size:var(--text-heading)}.progress-lesson-marks{align-content:start;gap:var(--space-2);grid-template-columns:repeat(5,32px);min-height:72px;display:grid}.progress-lesson-mark{border-radius:var(--radius-small);border:var(--border-width) solid var(--color-border);width:32px;height:32px;display:block}.progress-lesson-mark--complete{background:var(--color-success);border-color:var(--color-success)}.progress-lesson-mark--studied{background:var(--color-info-soft);border-color:var(--color-info)}.progress-lesson-mark--new{background:var(--color-subtle)}.progress-lesson-mark:hover{outline:2px solid var(--color-info);outline-offset:2px}.progress-legend{gap:var(--space-5);color:var(--color-muted);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.progress-legend span{align-items:center;gap:var(--space-2);display:flex}.progress-legend i{border:var(--border-width) solid var(--color-border);border-radius:50%;width:12px;height:12px}@media (width<=800px){.progress-overview,.progress-stations{grid-template-columns:1fr}.progress-station h3{min-height:0}}@media (width<=500px){.progress-route-summary{gap:var(--space-4);padding:var(--space-5)}.progress-ring{flex-basis:112px;width:112px;height:112px}.progress-route-summary h2,.progress-next h2{font-size:var(--text-title)}.progress-numbers{grid-template-columns:1fr}.progress-numbers article{align-items:center;gap:var(--space-3);padding:var(--space-4);grid-template-columns:32px max-content minmax(0,1fr)}.progress-numbers svg{margin:0}.progress-numbers strong{font-size:var(--text-title)}.progress-numbers strong span{display:block}}@media (width<=900px){.app>header{flex-wrap:wrap}.app>header nav{order:3;justify-content:center;width:100%}.journey-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 240px}.study-footer{flex-direction:column;align-items:stretch}}@media (width<=700px){.app>header{padding:var(--space-4);gap:var(--space-4)}.app>header nav{gap:var(--space-1)}.app>header nav button{white-space:nowrap;padding:var(--space-3) var(--space-2);font-size:var(--text-caption);flex-direction:row;flex:1;justify-content:center}.app>header nav svg{width:24px;height:24px}.account span{display:none}.account .ui-button{padding:var(--space-2)}.app>main{padding:var(--space-6) var(--space-4) var(--space-12)}.journey-layout{display:block}.journey-sidebar{padding-top:0;position:static}.study-page h1,.homework-page h1,.result h1{font-size:var(--text-heading)}.study-steps{gap:var(--space-3);flex-wrap:wrap}.examples>div{gap:var(--space-1);grid-template-columns:1fr}.study-footer .ui-button{white-space:normal}.button-row{flex-direction:column}.login-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr}.intro,.login-side{padding:var(--space-6)}.intro-body{display:none}.login-side{align-items:flex-start}.intro h1{font-size:var(--text-display)}.intro-footer{display:none}.choices{grid-template-columns:1fr}.ui-choice{min-height:80px}.exercise-actions{justify-content:space-between;gap:var(--space-2)}}@media (width>=701px) and (width<=860px){.journey-layout{grid-template-columns:minmax(0,1fr)}.journey-sidebar{padding-top:0;position:static}}@media (width<=360px){.app>header nav svg{display:none}.chapter-progress{flex-wrap:wrap}.chapter-progress .ui-progress{flex-basis:100%}}@media (width<=700px){.map-region{padding:var(--space-5) var(--space-3)}.region-heading{gap:var(--space-3)}.region-illustration{width:70px;height:65px}.region-number{width:38px;height:40px}.path-step{margin-left:clamp(0px, var(--offset), 24px);padding-left:36px}.lesson-marker{width:30px;height:30px}.current-lesson{padding:var(--space-4)}.lesson-heading{flex-wrap:wrap}.journey-sidebar{display:none}.journey-return .ui-button{width:100%}.chapter-progress{flex-wrap:wrap}.chapter-progress .ui-progress{flex-basis:100%}.brand-name small{display:none}.login-layout{padding:var(--space-3)}}@media (width<=380px){.region-heading .region-illustration{display:none}.app>header nav button{font-size:var(--text-caption);padding:var(--space-3) var(--space-2)}}
