@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f5f7f3;--surface:#fff;--sunk:#ecf0ea;--ink:#14211d;--ink-2:#3e4d47;--muted:#5a6a63;--line:#d9e1db;--line-strong:#c9d3cc;--jade:#0e6b5b;--jade-ink:#0b5a4c;--jade-soft:#dcefe8;--on-jade:#fff;--marigold:#e39b12;--marigold-ink:#7a5000;--marigold-soft:#fbefd3;--good:#17683d;--good-soft:#ddf1e4;--bad:#9e2f29;--bad-soft:#f7e1df;--f-display:"Bricolage Grotesque Variable", "Segoe UI", system-ui, sans-serif;--f-body:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--tabbar-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--f-body);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}button{font:inherit;cursor:pointer}a{color:var(--jade)}:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}.app{min-height:100dvh}.screen{max-width:520px;padding-top:max(24px, env(safe-area-inset-top));padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px);padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));margin:0 auto}.stack{flex-direction:column;gap:16px;display:flex}.stack+.stack{margin-top:0}.stack-tight{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;gap:10px;display:flex}.center{text-align:center}.display{font-family:var(--f-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:32px;font-weight:800;line-height:1.08}.label{font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:12px}.muted{color:var(--muted);margin:0}.small{font-size:14px}p{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}.card--link{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;min-height:64px;text-decoration:none;display:flex}.notice{background:var(--marigold-soft);color:var(--ink);border-radius:14px;padding:12px 14px;font-size:15px}.empty{flex-direction:column;gap:6px;display:flex}.empty p{color:var(--muted)}.btn{border:none;border-radius:14px;min-height:48px;padding:0 18px;font-size:16px;font-weight:700}.btn--primary{background:var(--jade);color:var(--on-jade)}.btn--outline{background:var(--surface);color:var(--ink);border:1.5px solid var(--line-strong)}.btn--light{background:var(--surface);color:var(--jade)}.btn:disabled{cursor:default;opacity:.75}.unit-head{flex-direction:column;gap:2px;margin-top:8px;display:flex}.lessons{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lesson{min-height:52px;color:var(--muted);align-items:center;gap:12px;padding:0 4px;display:flex}.lesson__dot{border:2px solid var(--line);width:36px;height:36px;font-family:var(--f-mono);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.lesson__dot--review{font-family:var(--f-body);border-style:dashed;border-radius:10px}.lesson__text{flex-direction:column;flex:1;min-width:0;display:flex}.lesson__text b{color:var(--ink-2)}.lesson__text span{font-size:13px}.lesson--link{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px;min-height:60px;padding:8px 12px;text-decoration:none}.lesson--link .lesson__dot{border-color:var(--jade);color:var(--jade)}.lesson--link .lesson__text b{color:var(--ink)}.lesson__go{color:var(--jade);display:grid}.lock{flex:none}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;padding:10px 12px;display:flex}.stat b{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:24px}.stat span{color:var(--muted);font-size:13px}.back{align-self:flex-start;align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.checks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.check{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.check span{border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.check--ok span{background:var(--good-soft);color:var(--good)}.check--bad span{background:var(--bad-soft);color:var(--bad)}.check--neutral span{background:var(--sunk);color:var(--muted)}.target{font-family:var(--f-display);font-size:26px;font-weight:800;line-height:1.15}.mic{box-sizing:content-box;border:12px solid var(--marigold-soft);background:var(--marigold);width:96px;height:96px;color:var(--ink);border-radius:50%;align-self:center;place-items:center;display:grid}.mic:disabled{background:var(--sunk);border-color:var(--sunk);color:var(--muted)}.said{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:8px;padding:4px 10px;font-weight:700}.chip--good{background:var(--good-soft);color:var(--good)}.chip--miss{background:var(--marigold-soft);color:var(--marigold-ink);border:1.5px dashed #c88a10}.report{width:100%;font-family:var(--f-mono);border:1px solid var(--line);background:var(--sunk);color:var(--ink);resize:vertical;border-radius:10px;padding:10px;font-size:12px}.btn--block{justify-content:center;align-items:center;width:100%;min-height:54px;text-decoration:none;display:flex}.btn--ghost{color:var(--jade);background:0 0}.btn--two-line{flex-direction:column;padding-block:8px;line-height:1.2}.btn--two-line span{color:#cfede4;font-size:14px;font-weight:400}a.btn--primary{color:var(--on-jade)}.row--center{justify-content:center;align-items:center}.link-button{min-height:44px;color:var(--jade);background:0 0;border:none;align-self:flex-start;padding:0;font-weight:700;text-decoration:underline}.status--bad{color:var(--bad);font-weight:700}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip--word{background:var(--jade-soft);color:var(--jade-ink);border-radius:999px;font-weight:400}.lesson-screen{max-width:520px;min-height:100dvh;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));margin:0 auto}.lesson-top{z-index:3;background:var(--bg);padding-top:max(10px, env(safe-area-inset-top));align-items:center;gap:10px;padding-bottom:8px;display:flex;position:sticky;top:0}.icon-btn{width:44px;height:44px;color:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid}.segments{flex:1;gap:3px;min-width:0;display:flex}.seg{background:#e3e9e4;border-radius:4px;flex:1;height:8px}.seg--done{background:var(--jade)}.seg--now{background:var(--marigold)}.counter{font-family:var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.retry-note{color:var(--marigold-ink);font-size:14px;font-weight:700}.lesson-body{padding-top:8px;padding-bottom:calc(240px + env(safe-area-inset-bottom))}.task{flex-direction:column;gap:16px;display:flex}.task__actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}.tip{background:var(--marigold-soft);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:15px;display:flex}.tip__label{font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--marigold-ink);background:var(--surface);border-radius:6px;flex:none;margin-top:2px;padding:2px 6px;font-size:11px}.note{background:var(--marigold-soft);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;font-size:15px;display:flex}.note .label{color:var(--marigold-ink)}.word-card{flex-direction:column;gap:12px;display:flex}.word-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.word-card__es{font-family:var(--f-display);font-size:30px;font-weight:800;line-height:1.05}.word-card__en{color:var(--ink-2);font-size:18px}.word-card__example{border-top:1px solid var(--line);flex-direction:column;padding-top:10px;font-weight:700;display:flex}.audio{background:var(--jade);min-width:48px;min-height:48px;color:var(--on-jade);border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.audio--small{width:48px;padding:0}.audio--outline{background:var(--surface);color:var(--ink);border:1.5px solid var(--line-strong)}.audio--round{flex:none;width:52px;height:52px;padding:0}.audio--big{border-radius:28px;width:96px;height:96px}.audio--big svg{width:40px;height:40px}.audio--square{border-radius:20px;width:64px;height:64px;padding:0}.prompt{align-items:center;gap:12px;display:flex}.prompt__text{font-family:var(--f-display);text-wrap:balance;font-size:26px;font-weight:800;line-height:1.2}.options{flex-direction:column;gap:10px;display:flex}.option{text-align:left;border:2px solid var(--line);background:var(--surface);min-height:56px;color:var(--ink);border-radius:14px;padding:10px 16px;font-size:17px;font-weight:700}.option:disabled{cursor:default}.option--right{border-color:var(--good);background:var(--good-soft);color:var(--good)}.option--wrong{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.answer-line{border-top:2px solid var(--line);border-bottom:2px solid var(--line);flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:108px;padding:10px 0;display:flex}.tile-bank{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tile{border:1.5px solid var(--line-strong);background:var(--surface);min-height:46px;color:var(--ink);border-bottom-width:3px;border-radius:12px;align-items:center;padding:0 14px;font-size:17px;font-weight:700;display:inline-flex}.tile--used{color:#0000;background:#e3e9e4;border-color:#e3e9e4}.text-input{border:2px solid var(--line-strong);background:var(--surface);width:100%;min-height:56px;color:var(--ink);font:inherit;border-radius:14px;padding:0 14px;font-size:19px}.keys{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.key{border:1.5px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:10px;padding:0;font-size:17px;font-weight:700}.gap{border-bottom:3px solid var(--marigold);min-width:3em;padding:0 4px;display:inline-block}.gap--filled{color:var(--jade)}.match{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.match__col{flex-direction:column;gap:10px;display:flex}.match__btn{border:2px solid var(--line);background:var(--surface);min-height:58px;color:var(--ink);border-bottom-width:4px;border-radius:14px;padding:6px 8px;font-size:16px;font-weight:700}.match__btn--on{border-color:var(--jade);background:var(--jade-soft);color:var(--jade-ink)}.match__btn--done{border-color:var(--sunk);background:var(--sunk);color:var(--muted);cursor:default}.speak__es{font-family:var(--f-display);font-size:22px;font-weight:800}.bubble{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:6px;padding:14px;display:flex}.result{z-index:6;padding:18px max(20px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));position:fixed;bottom:0;left:0;right:0}.result__inner{flex-direction:column;gap:6px;max-width:520px;margin:0 auto;font-size:16px;display:flex}.result--good{background:var(--good-soft)}.result--bad{background:var(--bad-soft)}.result__title{font-family:var(--f-display);font-size:22px}.result--good .result__title{color:var(--good)}.result--bad .result__title{color:var(--bad)}.result__en{color:var(--muted)}.result__btn{color:#fff;margin-top:8px}.result--good .result__btn{background:var(--good)}.result--bad .result__btn{background:var(--bad)}.done{padding-top:max(36px, env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex}.done__head{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.done__check{background:var(--jade);width:80px;height:80px;color:var(--on-jade);border-radius:50%;place-items:center;display:grid}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-height:52px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;text-decoration:none;display:flex}.tab--on{color:var(--jade);font-weight:700}.update{z-index:5;background:var(--ink);color:#fff;padding:calc(8px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex;position:sticky;top:0}.update button{background:var(--marigold);min-height:40px;color:var(--ink);border:none;border-radius:10px;padding:0 14px;font-weight:700}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.row-between{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.today{align-items:center;gap:10px;display:flex}.today__goal{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex:1;align-items:center;gap:12px;min-width:0;padding:10px 14px;font-size:15px;display:flex}.today__goal>span:first-child{white-space:nowrap}.bar,.unit-bar{background:var(--sunk);border-radius:99px;flex:1;height:8px;display:block;overflow:hidden}.bar i,.unit-bar i{background:var(--marigold);border-radius:99px;height:100%;display:block}.unit-bar{flex:none;width:96px}.unit-bar i{background:var(--jade)}.pill{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.pill--streak{background:var(--marigold-soft);color:var(--marigold-ink);padding:7px 12px;font-size:14px}.pill--good{background:var(--good-soft);color:var(--good)}.pill--fading{background:var(--marigold-soft);color:var(--marigold-ink)}.review-nudge{background:var(--marigold-soft);border-color:var(--marigold-soft)}.lesson-current{background:var(--jade);color:var(--on-jade);border-radius:20px;flex-direction:column;gap:12px;padding:16px;display:flex}.lesson-current__top{align-items:center;gap:12px;display:flex}.lesson-current .lesson__text b{color:var(--on-jade);font-family:var(--f-display);font-size:19px}.lesson-current .lesson__text span{color:#cfede4;font-size:14px}.lesson-current__meta{color:#e4f4ef;font-size:14px}a.btn--light{color:var(--jade)}.lesson__dot--now{background:var(--marigold);border-color:var(--marigold);color:var(--ink)}.lesson__dot--done{background:var(--jade);border-color:var(--jade);color:var(--on-jade)}.lesson__dot--open{border-color:var(--jade);color:var(--jade)}.lesson--done .lesson__text b,.lesson--open .lesson__text b{color:var(--ink)}.row-action{min-height:44px;color:var(--jade);align-items:center;padding:0 6px;font-size:14px;font-weight:700;display:inline-flex}.practice-card{background:var(--marigold-soft);border-radius:20px;flex-direction:column;gap:12px;padding:16px;display:flex}.practice-card__head{color:var(--marigold-ink);justify-content:space-between;align-items:baseline;gap:10px;display:flex}.practice-card__title{font-family:var(--f-display);color:var(--ink);font-size:20px}.chip--plain{background:var(--surface);color:var(--ink);border-radius:999px;font-size:14px;font-weight:400}.chip--more{color:var(--muted)}.btn--dark{background:var(--ink);color:#fff}a.btn--dark{color:#fff}.list{flex-direction:column;margin:0;padding:2px 12px;list-style:none;display:flex}.card.list{padding:2px 12px}.list__row{border-bottom:1px solid var(--sunk);align-items:center;gap:10px;min-height:50px;display:flex}.list__row:last-child{border-bottom:none}.list__title{flex:1;min-width:0;font-weight:700}.week{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;height:100px;display:grid}.week__col{align-items:flex-end;height:100%;display:flex}.week__bar{background:var(--jade);border-radius:5px 5px 0 0;width:100%}.week__bar--empty{background:var(--line-strong);border-radius:2px}.week__labels{text-align:center;font-family:var(--f-mono);color:var(--muted);grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-size:11px;display:grid}.week__today{color:var(--ink);font-weight:500}.segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.seg-btn{border:2px solid var(--line);background:var(--surface);min-height:52px;color:var(--ink);font-family:var(--f-display);border-radius:14px;font-size:20px;font-weight:700}.seg-btn--on{background:var(--jade);border-color:var(--jade);color:var(--on-jade)}.switch-row{justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-top:6px;display:flex}.switch-row input{width:26px;height:26px;accent-color:var(--jade);flex:none}.confirm{background:var(--bad-soft);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.btn--danger{background:var(--bad);color:#fff}.link-button--danger{color:var(--bad)}.status--good{color:var(--good);font-weight:700}.goal-card{background:var(--marigold-soft);color:var(--ink);border-radius:16px;align-items:center;gap:12px;padding:14px;display:flex}.goal-card svg{color:var(--marigold-ink);flex:none}.welcome{padding-bottom:max(32px, env(safe-area-inset-bottom))}.brand{align-items:center;gap:10px;display:flex}.brand__mark{background:var(--jade);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.brand__name{font-family:var(--f-display);font-size:22px;font-weight:800}.display--xl{font-size:36px;line-height:1.05}.lead{font-size:17px}.ticks{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ticks li{min-height:28px;padding-left:36px;position:relative}.ticks li:before{content:"✓";background:var(--jade-soft);width:26px;height:26px;color:var(--jade);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:-1px;left:0}fieldset.goal{flex-direction:column;gap:10px;margin:0;display:flex}fieldset.goal legend{padding:0 6px}.roleplay{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rp{border-radius:18px;flex-direction:column;gap:4px;max-width:88%;padding:10px 14px;display:flex}.rp--them{background:var(--surface);border:1px solid var(--line);align-self:flex-start}.rp--you{background:var(--jade-soft);align-self:flex-end}.rp__who{font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px}.rp__es{flex-wrap:wrap;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.rp__en{color:var(--ink-2);font-size:15px}.audio--mini{width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.audio--mini svg{width:16px;height:16px}.mic-wrap{flex-direction:column;align-items:center;gap:8px;padding:6px 0;display:flex}.mic--live{background:var(--jade);color:var(--on-jade);border-color:var(--jade-soft);animation:1.2s ease-in-out infinite mic-pulse}@keyframes mic-pulse{50%{box-shadow:0 0 0 10px var(--jade-soft)}}.said-card--correct{border-color:var(--good)}.said-card__verdict{font-family:var(--f-display);font-size:20px}.said-card--correct .said-card__verdict{color:var(--good)}.said-card--almost .said-card__verdict,.said-card--retry .said-card__verdict{color:var(--marigold-ink)}.native{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.lesson-top--done{padding-bottom:0;position:static}.done.lesson-body{padding-top:0}a.btn--outline{color:var(--ink)}.prompt__text--word{font-size:34px}.level{margin-top:8px}.level__title{margin:0}.units{flex-direction:column;gap:10px;display:flex}.unit{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.unit--active{border-width:2px;border-color:var(--jade)}.unit__head{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;align-items:center;gap:12px;min-height:72px;padding:14px;display:flex}.unit__num{width:44px;height:44px;font-family:var(--f-display);background:var(--jade-soft);color:var(--jade-ink);border-radius:14px;flex:none;place-items:center;font-size:20px;font-weight:800;display:grid}.unit--active .unit__num,.unit--done .unit__num{background:var(--jade);color:var(--on-jade)}.unit--locked .unit__num{background:var(--sunk);color:var(--muted)}.unit__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.unit__eyebrow{font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px}.unit__title{font-family:var(--f-display);font-size:20px;line-height:1.15}.unit--locked .unit__title{color:var(--ink-2)}.unit__en{color:var(--muted);font-size:14px}.unit__bar{background:var(--sunk);border-radius:99px;max-width:180px;height:6px;margin-top:6px;display:block;overflow:hidden}.unit__bar i{background:var(--jade);border-radius:99px;height:100%;display:block}.unit__status{color:var(--muted);flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.unit__chev{transition:transform .15s}.unit--open .unit__chev{transform:rotate(180deg)}.unit__body{border-top:1px solid var(--sunk);padding:4px 12px 14px}.unit__body .lesson-current{margin-block:4px}
