:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--paper:#f6f7f2;--surface:#fcfcf8;--surface-strong:#ecefe8;--ink:#171a21;--muted:#5d6470;--faint:#7f8794;--line:#d8dcd2;--cobalt:#3155d9;--cobalt-ink:#f8f9f4;--cobalt-soft:#e4e9ff;--lime:#d7f75b;--lime-ink:#29330f;--coral:#ee6a5b;--coral-soft:#fee9e4;--shadow:0 24px 60px #24408b1f;--shadow-small:0 10px 26px #24408b1a;--radius-card:18px;--radius-control:14px;font-family:Avenir Next,SF Pro Display,SF Pro Text,PingFang SC,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#14171e;--surface:#1d212b;--surface-strong:#292e39;--ink:#f3f5ef;--muted:#b7bdc8;--faint:#949cab;--line:#383f4c;--cobalt:#8198ff;--cobalt-ink:#11152a;--cobalt-soft:#252d52;--lime:#caec55;--lime-ink:#1d2808;--coral:#ff8a7d;--coral-soft:#442a2c;--shadow:0 24px 60px #0000003d;--shadow-small:0 10px 26px #0003}}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;overscroll-behavior:contain;min-width:320px;min-height:100%}body{min-width:320px;min-height:100%;color:var(--ink);background:var(--paper);margin:0}button,input,textarea,select{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%}::selection{color:var(--cobalt-ink);background:var(--cobalt)}:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}#root{min-height:100dvh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell,.lesson-view{width:100%;min-height:100dvh}.app-shell{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.app-shell :where(h1,h2,h3,p,figure,blockquote),.lesson-view :where(h1,h2,h3,p,figure,blockquote){margin:0}.app-shell button,.lesson-view button{touch-action:manipulation;border:0;min-height:44px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;width:min(100% - 32px,1180px);min-height:68px;margin-inline:auto;padding-block:12px;display:flex}.topbar>span{color:var(--muted);text-align:right;font-size:.88rem;line-height:1.5}.wordmark,.brand-button{color:var(--ink);letter-spacing:-.02em;background:0 0;align-items:center;gap:9px;font-weight:800;display:inline-flex}.wordmark{padding:0 4px;font-size:1.05rem}.wordmark svg,.brand-button svg{color:var(--cobalt)}.mini-label{min-height:24px;color:var(--cobalt);letter-spacing:.14em;text-transform:uppercase;align-items:center;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.home-view{width:min(100% - 32px,1180px);margin-inline:auto;padding-block:clamp(36px,7vw,88px) 32px}.home-hero{align-items:center;gap:36px;display:grid}.home-copy{min-width:0}.home-copy h1{max-width:760px;color:var(--ink);letter-spacing:-.065em;margin-top:14px;font-size:clamp(2.55rem,9vw,4.8rem);font-weight:720;line-height:.98}.home-copy h1 strong{color:var(--cobalt);font-weight:inherit}.home-copy>p{max-width:650px;color:var(--muted);margin-top:24px;font-size:clamp(1rem,2vw,1.16rem);line-height:1.75}.lesson-search{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);max-width:720px;box-shadow:var(--shadow-small);margin-top:36px;padding:18px}.lesson-search>label{color:var(--ink);margin:0 2px 10px;font-size:.88rem;font-weight:750;display:block}.search-row{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:5px 5px 5px 16px;transition:border-color .18s,box-shadow .18s;display:grid}.search-row:focus-within{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-soft)}.search-row>svg{color:var(--faint);flex:none}.search-row input{width:100%;min-width:0;min-height:44px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:1rem}.search-row input::placeholder{color:var(--faint)}.search-row button,.primary-button{border-radius:calc(var(--radius-control) - 3px);min-height:48px;color:var(--cobalt-ink);background:var(--cobalt);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:760;transition:transform .18s,background-color .18s,box-shadow .18s,opacity .18s;display:inline-flex}.lesson-search>p{color:var(--faint);margin:10px 2px 0;font-size:.78rem;line-height:1.5}.inline-error{border-left:3px solid var(--coral);background:var(--coral-soft);border-radius:0 8px 8px 0;padding:10px 12px;color:var(--ink)!important;font-size:.84rem!important}.quick-lessons{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.quick-lessons button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:9px 14px;font-size:.84rem;font-weight:650;transition:border-color .18s,color .18s,background-color .18s}.featured-lens{border-radius:var(--radius-card);width:100%;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);text-align:left;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;overflow:hidden;border:1px solid var(--line)!important}.featured-art{background:var(--surface-strong);min-height:250px;position:relative;overflow:hidden}.featured-art img{object-fit:cover;width:100%;height:100%}.featured-art>span{min-height:32px;color:var(--lime-ink);background:var(--lime);letter-spacing:.06em;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:800;position:absolute;top:14px;left:14px}.featured-copy{flex-direction:column;justify-content:space-between;gap:22px;min-width:0;padding:clamp(22px,4vw,34px);display:flex}.featured-copy>div{gap:4px;display:grid}.featured-copy small{color:var(--cobalt);letter-spacing:.13em;font-size:.7rem;font-weight:800}.featured-copy strong{overflow-wrap:anywhere;letter-spacing:-.04em;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:760;line-height:1.06}.featured-copy p{color:var(--muted);font-size:.92rem;line-height:1.65}.featured-action{min-height:44px;color:var(--cobalt);align-items:center;gap:8px;font-size:.88rem;font-weight:760;display:inline-flex}.learning-promise{border-radius:var(--radius-card);color:var(--paper);background:var(--ink);gap:32px;margin-top:clamp(56px,10vw,112px);padding:clamp(26px,5vw,48px);display:grid}.learning-promise>div{align-content:start;gap:10px;display:grid}.learning-promise>div>svg{color:var(--lime)}.learning-promise h2{letter-spacing:-.04em;font-size:clamp(1.55rem,3vw,2.2rem)}.learning-promise p{max-width:360px;color:var(--faint);line-height:1.65}.learning-promise ol{counter-reset:lesson-step;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.learning-promise li{border:1px solid var(--surface-strong);border-radius:var(--radius-control);counter-increment:lesson-step;grid-template-columns:26px minmax(0,1fr);align-content:center;align-items:center;column-gap:10px;min-height:84px;padding:14px;display:grid}.learning-promise li:before{content:counter(lesson-step, decimal-leading-zero);color:var(--lime);grid-row:1/span 2;font-size:.72rem;font-weight:850}.learning-promise li strong,.learning-promise li span{grid-column:2}.learning-promise li strong{color:var(--paper);font-size:.94rem}.learning-promise li span{color:var(--faint);font-size:.74rem}.primary-button,.secondary-button,.text-button,.icon-button,.mode-button,.record-button,.round-button{border-radius:var(--radius-control);justify-content:center;align-items:center;gap:8px;padding-inline:16px;font-weight:740;display:inline-flex}.secondary-button{min-height:48px;color:var(--ink);background:var(--surface);transition:border-color .18s,color .18s,background-color .18s,transform .18s,opacity .18s;border:1px solid var(--line)!important}.text-button{color:var(--cobalt);background:0 0;transition:background-color .18s}.round-button{width:44px;color:var(--ink);background:var(--surface);padding:0;border:1px solid var(--line)!important}.primary-button:disabled,.secondary-button:disabled,.record-button:disabled,.search-row button:disabled{opacity:.42;box-shadow:none;transform:none}.lesson-view{max-width:1240px;padding:0 clamp(16px, 3vw, 36px) calc(108px + env(safe-area-inset-bottom));margin-inline:auto}.lesson-header{z-index:30;border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;padding-block:10px;display:grid;position:sticky;top:0}.lesson-header>div{gap:2px;min-width:0;display:grid}.lesson-header>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;overflow:hidden}.lesson-header>div span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.stage-count{min-height:34px;color:var(--cobalt);background:var(--cobalt-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:0 12px;font-size:.8rem;font-weight:800;display:inline-flex}.stage-nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.stage-nav button{border:1px solid var(--line);border-radius:var(--radius-control);min-height:64px;color:var(--muted);background:var(--surface);place-items:center;gap:3px;padding:8px;transition:color .18s,border-color .18s,background-color .18s,transform .18s;display:grid;position:relative}.stage-nav button:after{content:"";background:0 0;border-radius:999px;height:3px;position:absolute;bottom:7px;left:10px;right:10px}.stage-nav button>span{width:24px;height:24px;color:var(--faint);background:var(--surface-strong);border-radius:50%;place-items:center;font-size:.7rem;font-weight:800;display:inline-grid}.stage-nav button>strong{font-size:.78rem}.stage-nav button.is-active{border-color:var(--cobalt);color:var(--cobalt);background:var(--cobalt-soft)}.stage-nav button.is-active:after{background:var(--cobalt)}.stage-nav button.is-active>span{color:var(--cobalt-ink);background:var(--cobalt)}.lesson-stage{min-height:560px;padding-block:clamp(30px,6vw,70px)}.stage-grid,.stage-column{width:min(100%,1040px);margin-inline:auto}.stage-grid{gap:clamp(28px,5vw,62px);display:grid}.stage-column{gap:clamp(26px,4vw,40px);display:grid}.stage-heading{gap:10px;max-width:720px;display:grid}.stage-heading h2{letter-spacing:-.055em;font-size:clamp(2rem,5vw,3.7rem);font-weight:730;line-height:1.02}.stage-heading>p{max-width:630px;color:var(--muted);font-size:1rem;line-height:1.7}.meaning-art{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-strong);min-width:0;box-shadow:var(--shadow);position:relative;overflow:hidden}.meaning-art img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.meaning-art figcaption{color:var(--muted);background:var(--surface);padding:13px 16px;font-size:.82rem;line-height:1.5}.meaning-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.meaning-copy h2{overflow-wrap:anywhere;letter-spacing:-.065em;max-width:100%;margin-top:8px;font-size:clamp(2.5rem,8vw,5.6rem);font-weight:760;line-height:.96}.ipa{color:var(--muted);letter-spacing:.03em;font-size:1rem;margin-top:13px!important}.speech-control{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);gap:14px;width:100%;margin-top:24px;padding:16px;display:grid}.spoken-line{min-height:44px;color:var(--ink);flex-wrap:wrap;align-items:center;gap:5px;font-size:clamp(1rem,2vw,1.14rem);font-weight:680;line-height:1.6;display:flex}.spoken-token{border-radius:6px;padding:2px 4px;transition:color .12s,background-color .12s,transform .12s}.spoken-token.is-active{color:var(--lime-ink);background:var(--lime);transform:translateY(-1px)}.speech-actions{flex-wrap:wrap;gap:8px;display:flex}.icon-button,.mode-button{min-height:44px;font-size:.82rem}.icon-button--primary{color:var(--cobalt-ink);background:var(--cobalt)}.mode-button{color:var(--muted);background:var(--paper);transition:border-color .18s,color .18s,background-color .18s;border:1px solid var(--line)!important}.speech-control--compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:0;padding:13px}.speech-control--compact .speech-actions{flex-wrap:nowrap}.core-meaning{border-left:5px solid var(--cobalt);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--cobalt-soft);width:100%;margin-top:22px;padding:22px}.core-meaning strong{letter-spacing:-.02em;font-size:clamp(1.18rem,2.5vw,1.55rem);line-height:1.35;display:block}.core-meaning p{color:var(--muted);line-height:1.7;margin-top:10px!important}.memory-formula{border-radius:var(--radius-control);width:100%;min-height:56px;color:var(--lime-ink);background:var(--lime);align-items:center;gap:10px;margin-top:12px;padding:12px 15px;font-size:.88rem;font-weight:730;line-height:1.5;display:flex}.memory-formula svg{flex:none}.context-deck{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.context-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;gap:18px;min-width:0;padding:clamp(20px,3vw,28px);display:flex}.context-meta{justify-content:space-between;align-items:center;gap:12px;min-height:30px;display:flex}.context-meta>span{color:var(--cobalt);font-size:.8rem;font-weight:800}.context-meta>small{color:var(--faint);text-align:right;font-size:.72rem}.lead-in,.response{font-size:1rem;line-height:1.6}.lead-in{color:var(--muted)}.response{border-left:3px solid var(--lime);color:var(--ink);padding-left:14px;font-weight:680}.context-explanation{border-top:1px solid var(--line);gap:7px;margin-top:auto;padding-top:16px;display:grid}.context-explanation strong{font-size:.92rem}.context-explanation span{color:var(--muted);font-size:.82rem;line-height:1.6}.safety-note{border:1px solid var(--coral);border-radius:var(--radius-control);background:var(--coral-soft);align-items:flex-start;gap:12px;padding:18px;display:flex}.safety-note>svg{color:var(--coral);flex:none}.safety-note>div{gap:4px;display:grid}.safety-note p{color:var(--muted);font-size:.86rem;line-height:1.6}.chunk-board{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);gap:24px;padding:clamp(20px,4vw,34px);display:grid}.chunk-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:70px;display:flex}.chunk{color:var(--ink);background:var(--paper);border-radius:999px;padding:10px 17px;font-size:clamp(1rem,2vw,1.15rem);font-weight:730;transition:color .18s,background-color .18s,border-color .18s,transform .18s;border:1px solid var(--line)!important}.chunk.is-active{color:var(--cobalt-ink);background:var(--cobalt);border-color:var(--cobalt)!important}.chunk-reveal{border-radius:var(--radius-control);background:var(--cobalt-soft);align-content:center;gap:8px;min-height:150px;padding:clamp(20px,4vw,30px);display:grid}.chunk-reveal>span{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.chunk-reveal>strong{letter-spacing:-.03em;font-size:clamp(1.25rem,3vw,1.8rem)}.chunk-reveal>p{max-width:720px;color:var(--muted);line-height:1.65}.grammar-lab{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);gap:24px;padding:clamp(22px,4vw,36px);display:grid}.grammar-lab>div:first-child{gap:10px;display:grid}.grammar-lab h3{overflow-wrap:anywhere;letter-spacing:-.035em;font-size:clamp(1.35rem,3vw,2rem)}.grammar-lab>div:first-child>p{max-width:720px;color:var(--muted);line-height:1.65}.grammar-swaps{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px;display:grid}.grammar-swaps article{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);align-content:start;gap:8px;min-height:132px;padding:16px;display:grid}.grammar-swaps article>strong{color:var(--cobalt);overflow-wrap:anywhere}.grammar-swaps article>span{font-size:.88rem;line-height:1.5}.grammar-swaps article>small{color:var(--faint);margin-top:auto;line-height:1.45}.watch-out{border-left:4px solid var(--coral);border-radius:0 var(--radius-control) var(--radius-control) 0;color:var(--ink);background:var(--coral-soft);padding:14px 16px;font-size:.86rem;line-height:1.6}.rhythm-strip{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;padding:20px;display:grid}.rhythm-strip>div{background:var(--surface-strong);text-align:center;border-radius:10px;place-content:center;place-items:center;gap:4px;min-height:82px;padding:12px;display:grid}.rhythm-strip>div>strong{overflow-wrap:anywhere}.rhythm-strip>div>span{color:var(--faint);font-size:.7rem}.rhythm-strip .stress-2{border-top:4px solid var(--cobalt)}.rhythm-strip .stress-2>strong{color:var(--cobalt);font-size:1.12rem}.rhythm-strip .stress-1{border-top:4px solid var(--lime)}.rhythm-strip .stress-0{opacity:.72}.rhythm-strip>p{color:var(--muted);grid-column:1/-1;margin-top:6px;font-size:.84rem;line-height:1.6}.alternative-layout{gap:18px;display:grid}.alternative-list{align-content:start;gap:8px;display:grid}.alternative{border-radius:var(--radius-control);min-height:70px;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;transition:color .18s,background-color .18s,border-color .18s,transform .18s;display:grid;border:1px solid var(--line)!important}.alternative>strong{overflow-wrap:anywhere;font-size:1rem}.alternative>span{color:var(--faint);font-size:.72rem;font-weight:750}.alternative.is-active{color:var(--cobalt-ink);background:var(--cobalt);border-color:var(--cobalt)!important}.alternative.is-active>span{color:var(--cobalt-ink)}.alternative-detail{border-radius:var(--radius-card);background:var(--cobalt-soft);align-content:center;gap:12px;min-height:290px;padding:clamp(24px,5vw,44px);display:grid}.alternative-detail>span{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:800}.alternative-detail h3{letter-spacing:-.04em;font-size:clamp(1.5rem,4vw,2.4rem);line-height:1.15}.alternative-detail p{color:var(--muted);line-height:1.7}.alternative-detail small{border-top:1px solid var(--line);color:var(--muted);padding-top:12px;line-height:1.55}.practice-switcher{justify-content:center;gap:8px;display:flex}.practice-switcher button{border:1px solid var(--line);width:44px;color:var(--muted);background:var(--surface);border-radius:50%;padding:0;font-size:.82rem;font-weight:800;transition:color .18s,background-color .18s,border-color .18s,transform .18s}.practice-switcher button.is-active{border-color:var(--cobalt);color:var(--cobalt-ink);background:var(--cobalt)}.exercise-card,.record-panel{width:min(100%,780px);margin-inline:auto}.exercise-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-small);gap:24px;padding:clamp(22px,5vw,38px);display:grid}.exercise-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.exercise-topline>span,.exercise-topline>small{border-radius:999px;align-items:center;min-height:28px;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.exercise-topline>span{color:var(--cobalt);background:var(--cobalt-soft)}.exercise-topline>small{color:var(--muted);background:var(--surface-strong)}.exercise-card>h3{letter-spacing:-.025em;font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.35}.answer-slots{border:1px dashed var(--cobalt);border-radius:var(--radius-control);background:var(--cobalt-soft);flex-wrap:wrap;align-content:center;align-items:center;gap:8px;min-height:102px;padding:14px;display:flex}.answer-slots>span{color:var(--muted);margin-inline:auto;font-size:.85rem}.answer-slots button,.tile-bank button{border-radius:10px;padding:8px 13px;font-weight:700}.answer-slots button{color:var(--lime-ink);background:var(--lime)}.tile-bank{flex-wrap:wrap;gap:8px;display:flex}.tile-bank button{border:1px solid var(--line);color:var(--ink);background:var(--paper);transition:border-color .18s,background-color .18s,opacity .18s}.tile-bank button:disabled{opacity:.28}.choice-list{gap:9px;display:grid}.choice-list blockquote{border-left:4px solid var(--lime);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--surface-strong);margin-bottom:6px;padding:16px 18px;font-weight:680;line-height:1.6}.choice-list>button{border:1px solid var(--line);border-radius:var(--radius-control);min-height:58px;color:var(--ink);background:var(--paper);text-align:left;gap:7px;padding:13px 16px;transition:border-color .18s,background-color .18s,transform .18s;display:grid}.choice-list>button.is-selected{border-color:var(--cobalt);background:var(--cobalt-soft)}.choice-list>button>span{font-weight:700;line-height:1.45}.choice-list>button>small{color:var(--muted);line-height:1.5}.exercise-result{border-radius:var(--radius-control);background:var(--coral-soft);align-items:flex-start;gap:11px;padding:16px;display:flex}.exercise-result>svg{color:var(--coral);flex:none}.exercise-result>div{gap:3px;display:grid}.exercise-result p{color:var(--muted);font-size:.84rem;line-height:1.55}.exercise-result.is-correct{color:var(--lime-ink);background:var(--lime)}.exercise-result.is-correct>svg,.exercise-result.is-correct p{color:var(--lime-ink)}.exercise-actions,.record-actions,.completion-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.record-panel{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);gap:22px;padding:clamp(22px,5vw,38px);display:grid}.record-panel>div:first-child{gap:8px;display:grid}.record-panel h3{letter-spacing:-.035em;font-size:clamp(1.45rem,3vw,2rem)}.record-panel>div:first-child>p{color:var(--muted);line-height:1.6}.record-panel blockquote{border-left:4px solid var(--cobalt);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--cobalt-soft);padding:18px;font-size:clamp(1.15rem,3vw,1.55rem);font-weight:730;line-height:1.45}.coach-note{border-radius:var(--radius-control);color:var(--lime-ink);background:var(--lime);gap:4px;padding:15px 17px;display:grid}.coach-note>span{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.coach-note>strong{font-size:.9rem;line-height:1.5}.record-button{min-height:50px;color:var(--cobalt-ink);background:var(--cobalt);transition:background-color .18s,transform .18s,opacity .18s}.record-button.is-recording{color:var(--paper);background:var(--coral)}.playback{border-radius:var(--radius-control);background:var(--surface-strong);align-items:center;gap:10px;min-width:0;min-height:58px;padding:10px 14px;display:flex}.playback>svg{color:var(--cobalt);flex:none}.playback audio{width:100%;min-width:0}.memory-card{border-radius:var(--radius-card);color:var(--paper);background:var(--ink);display:grid;overflow:hidden}.memory-image{background:var(--surface-strong);min-height:250px}.memory-image img{object-fit:cover;width:100%;height:100%;display:block}.memory-card>div:last-child{align-content:center;gap:11px;min-width:0;padding:clamp(24px,5vw,44px);display:grid}.memory-card>div:last-child>span{color:var(--lime);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:820}.memory-card h3{overflow-wrap:anywhere;color:var(--paper);letter-spacing:-.045em;font-size:clamp(1.65rem,4vw,2.8rem);line-height:1.08}.memory-card p{color:var(--faint);line-height:1.7}.memory-card>div:last-child>strong{border-top:1px solid var(--surface-strong);color:var(--paper);padding-top:12px;line-height:1.55}.skill-proof{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);gap:22px;padding:clamp(22px,4vw,34px);display:grid}.skill-proof>div:first-child{gap:5px;display:grid}.skill-proof>div:first-child>span{color:var(--muted);font-size:.84rem}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.skill{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);align-content:start;gap:7px;min-height:122px;padding:14px;display:grid}.skill>svg{color:var(--faint)}.skill>strong{font-size:.88rem}.skill>span{color:var(--muted);font-size:.74rem;line-height:1.45}.skill.is-complete{border-color:var(--lime);color:var(--lime-ink);background:var(--lime)}.skill.is-complete>svg,.skill.is-complete>span{color:var(--lime-ink)}.completion-actions{justify-content:flex-end}.due-note{min-height:44px;color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;font-size:.84rem;display:flex}.lesson-footer{z-index:40;min-height:76px;padding:10px max(16px, calc((100vw - 1168px) / 2)) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(130px,auto) 1fr minmax(130px,auto);align-items:center;gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0}.lesson-footer>span{color:var(--muted);text-align:center;font-size:.8rem;font-weight:760}.collection-view{width:min(100% - 32px,1120px);margin-inline:auto;padding-block:clamp(44px,8vw,88px) 36px}.collection-view>header{gap:10px;max-width:700px;display:grid}.collection-view>header h1{letter-spacing:-.06em;font-size:clamp(2.35rem,6vw,4.5rem);line-height:1}.collection-view>header p{color:var(--muted);font-size:1rem;line-height:1.7}.collection-grid{gap:14px;margin-top:clamp(30px,5vw,50px);display:grid}.collection-card{border-radius:var(--radius-card);min-width:0;color:var(--ink);background:var(--surface);text-align:left;box-shadow:var(--shadow-small);gap:8px;padding:0 0 20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;overflow:hidden;border:1px solid var(--line)!important}.collection-card img{aspect-ratio:16/10;object-fit:cover;background:var(--surface-strong);width:100%}.collection-card>span,.collection-card>strong,.collection-card>p{margin-inline:20px}.collection-card>span{color:var(--cobalt);letter-spacing:.08em;margin-top:8px;font-size:.72rem;font-weight:800}.collection-card>strong{overflow-wrap:anywhere;letter-spacing:-.025em;font-size:1.28rem}.collection-card>p{color:var(--muted);font-size:.84rem;line-height:1.55}.review-list{gap:10px;max-width:780px;margin-top:clamp(30px,5vw,50px);display:grid}.review-list>button{border:1px solid var(--line);border-radius:var(--radius-control);min-height:78px;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;transition:transform .18s,border-color .18s,background-color .18s;display:grid}.review-list>button>svg:first-child{color:var(--cobalt)}.review-list>button>div{gap:4px;min-width:0;display:grid}.review-list>button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-list>button span{color:var(--muted);font-size:.78rem}.empty-state{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:center;place-content:center;justify-items:center;gap:12px;max-width:680px;min-height:360px;margin-top:clamp(30px,5vw,50px);padding:34px;display:grid}.empty-state>svg{color:var(--cobalt)}.empty-state h2{letter-spacing:-.03em;font-size:1.45rem}.empty-state p{max-width:420px;color:var(--muted);line-height:1.65}.empty-state .primary-button{margin-top:8px}.bottom-nav{z-index:50;width:min(100% - 24px,720px);min-height:76px;padding:7px 9px calc(7px + env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-bottom:0;border-radius:18px 18px 0 0;align-items:center;gap:8px;margin-inline:auto;display:flex;position:fixed;bottom:0;left:12px;right:12px}.brand-button{border-radius:0;min-height:52px;padding:0 14px;display:none;border-right:1px solid var(--line)!important}.bottom-nav__items{flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0;display:grid}.nav-item{min-width:0;color:var(--muted);background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 10px;font-size:.7rem;font-weight:700;transition:color .18s,background-color .18s,transform .18s;display:flex;position:relative;min-height:54px!important}.nav-item.is-active{color:var(--cobalt);background:var(--cobalt-soft)}.nav-item b{min-width:18px;height:18px;color:var(--paper);background:var(--coral);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding-inline:4px;font-size:.62rem;display:inline-grid;position:absolute;top:3px;left:calc(50% + 9px)}@media (hover:hover) and (pointer:fine){.search-row button:hover,.primary-button:hover,.record-button:hover{box-shadow:var(--shadow-small);transform:translateY(-2px)}.secondary-button:hover,.mode-button:hover,.quick-lessons button:hover{color:var(--cobalt);background:var(--cobalt-soft);border-color:var(--cobalt)!important}.text-button:hover,.wordmark:hover{background:var(--cobalt-soft)}.featured-lens:hover,.collection-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--cobalt)!important}.stage-nav button:hover,.chunk:hover,.alternative:hover,.choice-list>button:hover,.tile-bank button:hover,.practice-switcher button:hover,.review-list>button:hover,.nav-item:hover{border-color:var(--cobalt);transform:translateY(-1px)}.nav-item:hover{color:var(--cobalt);background:var(--cobalt-soft)}}@media (width>=768px){.home-view,.collection-view{width:min(100% - 64px,1180px)}.home-hero{gap:48px}.featured-lens{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)}.learning-promise{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:center}.learning-promise ol{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-grid--hero{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:center}.alternative-layout{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr)}.memory-card{grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr)}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:clamp(52px,7vw,92px)}.featured-lens{grid-template-columns:1fr}.featured-art{min-height:310px}.learning-promise{grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr)}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.brand-button{display:inline-flex}}@media (width>=1440px){.home-view,.topbar{width:min(100% - 96px,1280px)}.home-hero{grid-template-columns:minmax(0,1.16fr) minmax(390px,.7fr)}}@media (width<=767px){.topbar{min-height:60px}.topbar>span{display:none}.lesson-view{padding-inline:14px}.stage-nav{scrollbar-width:none;scroll-snap-type:x proximity;grid-template-columns:repeat(6,72px);margin-right:-14px;padding-right:14px;overflow-x:auto}.stage-nav::-webkit-scrollbar{display:none}.stage-nav button{scroll-snap-align:start}.lesson-stage{min-height:500px}.speech-control--compact{grid-template-columns:1fr}.context-meta{flex-direction:column;align-items:flex-start;gap:3px}.context-meta>small{text-align:left}.completion-actions>button,.record-actions>button{flex:180px}.lesson-footer{grid-template-columns:1fr 1fr}.lesson-footer>span{display:none}}@media (width<=520px){.home-view,.collection-view{width:min(100% - 28px,1180px)}.home-copy h1{font-size:clamp(2.45rem,13vw,3.35rem)}.lesson-search{padding:13px}.search-row{grid-template-columns:auto minmax(0,1fr);padding:8px 8px 8px 13px}.search-row button{grid-column:1/-1;width:100%}.featured-lens{grid-template-columns:1fr}.featured-art{min-height:220px}.learning-promise ol{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-promise li{min-height:76px;padding:11px}.lesson-header{gap:10px}.lesson-header>div strong{font-size:.9rem}.stage-count{padding-inline:9px}.speech-actions>button{flex:calc(50% - 8px)}.chunk-line{justify-content:flex-start}.grammar-swaps{grid-template-columns:1fr}.exercise-actions .primary-button{width:100%}.memory-image{min-height:220px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-actions{grid-template-columns:1fr;display:grid}.due-note{justify-content:flex-start}.empty-state{min-height:330px;padding:24px}}@media (width<=360px){.learning-promise ol,.skill-grid{grid-template-columns:1fr}.quick-lessons button{width:100%}.bottom-nav{width:calc(100% - 12px);left:6px;right:6px}.nav-item{padding-inline:4px}}@media (prefers-color-scheme:dark){.featured-art img,.meaning-art img,.memory-image img,.collection-card img{opacity:.94}.playback audio{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}
