@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.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 Fallback;src:local(Arial),local(Liberation Sans),local(Helvetica);size-adjust:106%;ascent-override:92%;descent-override:24%;line-gap-override:0%}:root{color-scheme:light dark;--font-sans:"Atkinson Hyperlegible Next Variable", "Atkinson Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:clamp(1.0625rem, 1rem + .25vw, 1.125rem);--text-lg:clamp(1.1875rem, 1.1rem + .4vw, 1.3125rem);--text-xl:clamp(1.375rem, 1.2rem + .8vw, 1.625rem);--text-2xl:clamp(1.625rem, 1.35rem + 1.3vw, 2.125rem);--text-3xl:clamp(2.125rem, 1.6rem + 2.4vw, 3.375rem);--weight-regular:400;--weight-medium:560;--weight-bold:700;--weight-heavy:800;--leading-tight:1.15;--leading-snug:1.3;--leading-body:1.65;--tracking-caps:.08em;--tracking-tight:-.015em;--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;--space-9:6rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-pill:62.5rem;--border-thin:1px;--border-thick:2px;--border-accent:4px;--focus-width:3px;--focus-offset:2px;--container:72rem;--content:46rem;--aside:15rem;--measure:68ch;--gutter:var(--space-4);--tap-min:2.75rem;--header-mark:2.25rem;--wave-height:clamp(2.5rem, 6vw, 6rem);--sticky-bar-space:7.5rem;--ad-slot-min-height:250px;--ad-slot-space:var(--space-6);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.42s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");--icon-cross:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");--icon-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");--mic-size:4.5rem;--avatar-size:2.25rem;--bubble-max:36rem;--composer-space:16rem;--duration-pulse:1.6s;--duration-wave:.42s;--ease-in-out:cubic-bezier(.45, 0, .55, 1);--icon-mic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2.5' width='6' height='12' rx='3'/%3E%3Cpath d='M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5v3.5M8.5 21h7'/%3E%3C/svg%3E");--icon-speaker:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9.5v5h3.5l5 4v-13l-5 4z'/%3E%3Cpath d='M16 9a4.2 4.2 0 0 1 0 6M18.6 6.4a8 8 0 0 1 0 11.2'/%3E%3C/svg%3E");--icon-keyboard:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='19' height='12' rx='2.5'/%3E%3Cpath d='M6.5 10h.01M10.2 10h.01M13.8 10h.01M17.5 10h.01M7.5 14h9'/%3E%3C/svg%3E");--icon-replay:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 1 0 2.4-5.7'/%3E%3Cpath d='M4 4.5v4.5h4.5'/%3E%3C/svg%3E");--icon-stop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='6' y='6' width='12' height='12' rx='2.5'/%3E%3C/svg%3E");--color-bg:#f6fafb;--color-surface:#fff;--color-surface-sunken:#ecf4f7;--color-surface-tint:#e0f0f6;--color-text:#0e2330;--color-text-muted:#435d6b;--color-border:#d2e2e9;--color-border-strong:#6a8e9f;--color-brand:#0a6488;--color-brand-strong:#074b67;--color-brand-soft:#cfe8f2;--color-on-brand:#fff;--color-deep:#0b2b3d;--color-on-deep:#e6f2f7;--color-on-deep-muted:#a9c4d1;--color-deep-link:#9fdaf2;--color-accent:#b23c10;--color-accent-soft:#fde7dc;--color-on-accent:#fff;--color-focus:#d2470f;--color-warn:#8a4d00;--color-warn-bg:#fff4e0;--color-warn-border:#e8b25c;--color-good:#11663a;--color-good-bg:#e2f5e9;--color-good-border:#3c9e66;--color-good-solid:#17804a;--color-bad:#b02318;--color-bad-bg:#fdecea;--color-bad-border:#e06a60;--color-bad-solid:#c4382d;--color-on-solid:#fff;--wave-1:#cfe8f2;--wave-2:#a9d6e8;--wave-3:#f6fafb;--mark-bg:#0a6488;--mark-wave-1:#fff;--mark-wave-2:#8fd3ef;--shadow-color:200 60% 20%;--shadow-sm:0 1px 2px hsl(var(--shadow-color) / .08), 0 1px 1px hsl(var(--shadow-color) / .04);--shadow-md:0 2px 4px hsl(var(--shadow-color) / .06), 0 8px 24px hsl(var(--shadow-color) / .08);--shadow-lg:0 -2px 6px hsl(var(--shadow-color) / .06), 0 -10px 30px hsl(var(--shadow-color) / .1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#071923;--color-surface:#0d2431;--color-surface-sunken:#0a1f2a;--color-surface-tint:#10344a;--color-text:#e5f0f5;--color-text-muted:#a7c0cc;--color-border:#1f3e4e;--color-border-strong:#5b8599;--color-brand:#6cc4ea;--color-brand-strong:#9fdaf2;--color-brand-soft:#123d52;--color-on-brand:#04202d;--color-deep:#04121a;--color-on-deep:#e5f0f5;--color-on-deep-muted:#a7c0cc;--color-deep-link:#9fdaf2;--color-accent:#ffaa84;--color-accent-soft:#3a1d12;--color-on-accent:#2a0f04;--color-focus:#ffaa84;--color-warn:#f6c56f;--color-warn-bg:#2a200d;--color-warn-border:#7a5a1c;--color-good:#82e3a6;--color-good-bg:#0f2f1e;--color-good-border:#2f7f52;--color-good-solid:#6fd697;--color-bad:#ff9f96;--color-bad-bg:#371616;--color-bad-border:#c85a50;--color-bad-solid:#ff8e84;--color-on-solid:#04202d;--wave-1:#0d2d3d;--wave-2:#12405a;--wave-3:#071923;--mark-bg:#6cc4ea;--mark-wave-1:#04202d;--mark-wave-2:#1d6d93;--shadow-color:200 80% 2%}}:root[data-theme=dark]{--color-bg:#071923;--color-surface:#0d2431;--color-surface-sunken:#0a1f2a;--color-surface-tint:#10344a;--color-text:#e5f0f5;--color-text-muted:#a7c0cc;--color-border:#1f3e4e;--color-border-strong:#5b8599;--color-brand:#6cc4ea;--color-brand-strong:#9fdaf2;--color-brand-soft:#123d52;--color-on-brand:#04202d;--color-deep:#04121a;--color-on-deep:#e5f0f5;--color-on-deep-muted:#a7c0cc;--color-deep-link:#9fdaf2;--color-accent:#ffaa84;--color-accent-soft:#3a1d12;--color-on-accent:#2a0f04;--color-focus:#ffaa84;--color-warn:#f6c56f;--color-warn-bg:#2a200d;--color-warn-border:#7a5a1c;--color-good:#82e3a6;--color-good-bg:#0f2f1e;--color-good-border:#2f7f52;--color-good-solid:#6fd697;--color-bad:#ff9f96;--color-bad-bg:#371616;--color-bad-border:#c85a50;--color-bad-solid:#ff8e84;--color-on-solid:#04202d;--wave-1:#0d2d3d;--wave-2:#12405a;--wave-3:#071923;--mark-bg:#6cc4ea;--mark-wave-1:#04202d;--mark-wave-2:#1d6d93;--shadow-color:200 80% 2%}@media (width>=48rem){:root{--gutter:var(--space-5);--ad-slot-min-height:90px}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s;--duration-pulse:0s;--duration-wave:0s}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{font-family:var(--font-sans);font-size:100%;line-height:var(--leading-body);-webkit-text-size-adjust:100%;scroll-padding-top:var(--space-5);scroll-padding-bottom:var(--sticky-bar-space)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100vh;font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);text-rendering:optimizelegibility;overflow-wrap:break-word;flex-direction:column;margin:0;display:flex}h1,h2,h3{margin:0 0 var(--space-3);line-height:var(--leading-tight);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);text-wrap:balance}h1{font-size:var(--text-3xl);font-weight:var(--weight-heavy)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);line-height:var(--leading-snug)}p,li{max-width:var(--measure);text-wrap:pretty}p{margin:0 0 var(--space-4)}ul,ol{margin:0 0 var(--space-4);padding-left:var(--space-5)}li+li{margin-top:var(--space-2)}strong{font-weight:var(--weight-bold)}a{color:var(--color-brand);text-decoration-thickness:var(--border-thin);text-underline-offset:.18em;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-brand-strong);text-decoration-thickness:var(--border-thick)}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}main:focus{outline:none}img,svg{max-width:100%;height:auto}table{border-collapse:collapse}.skip-link{left:var(--space-2);top:calc(-1 * var(--space-9));z-index:10;padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);border:var(--border-thick) solid var(--color-brand);border-radius:var(--radius-md);font-weight:var(--weight-bold);transition:top var(--duration-base) var(--ease-out);position:absolute}.skip-link:focus{top:var(--space-2)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--color-text-muted)}.site-header__inner,.page-head__inner,.site-footer__inner,.page{width:min(100% - 2 * var(--gutter), var(--container));margin-inline:auto}main{flex:1}.page{padding-block:var(--space-6) var(--space-8)}.section{margin-top:var(--space-8)}.section>h2,.section-head h2{margin-bottom:var(--space-4)}.section-head{margin-bottom:var(--space-5)}.section-head p{color:var(--color-text-muted);font-size:var(--text-lg)}.prose>p:first-child{margin-top:0}.site-header{background:var(--color-surface-tint)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-5);padding-block:var(--space-3);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-2);min-height:var(--tap-min);font-size:var(--text-lg);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-tight);color:var(--color-text);text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-text);text-decoration:none}.brand__accent{color:var(--color-brand)}.brand-mark{width:var(--header-mark);height:var(--header-mark);flex:none}.brand-mark__disc{fill:var(--mark-bg)}.brand-mark__wave{fill:none;stroke-width:2.4px;stroke-linecap:round}.brand-mark__wave--back{stroke:var(--mark-wave-2)}.brand-mark__wave--front{stroke:var(--mark-wave-1)}.site-nav ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.site-nav li+li{margin-top:0}.site-nav a{min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);color:var(--color-text);font-weight:var(--weight-bold);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.site-nav a:hover{background:var(--color-brand-soft);color:var(--color-text)}.site-nav a[aria-current=page]{background:var(--color-brand);color:var(--color-on-brand)}.site-nav__short{display:none}@media (width<=30rem){.site-header__inner{padding-bottom:var(--space-2)}.site-nav{flex:100%}.site-nav ul{justify-content:space-between}.site-nav li{flex:auto}.site-nav a{width:100%;padding-inline:var(--space-2);font-size:var(--text-sm)}.site-nav__short{display:inline}.site-nav__long{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.page-head{background:linear-gradient(to bottom, var(--color-surface-tint), var(--color-surface-sunken));position:relative}.page-head__inner{padding-block:var(--space-5) var(--space-3)}.wave{width:100%;height:var(--wave-height);display:block}.wave__layer--1{fill:var(--wave-1)}.wave__layer--2{fill:var(--wave-2)}.wave__layer--3{fill:var(--wave-3)}.topic-head{max-width:var(--content)}.eyebrow{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-accent)}.lead{font-size:var(--text-lg);color:var(--color-text-muted)}.meta-row{align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.breadcrumb{gap:var(--space-1) var(--space-2);margin:0 0 var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.breadcrumb li+li{margin-top:0}.breadcrumb li+li:before{content:"/";margin-right:var(--space-2);color:var(--color-text-muted)}.breadcrumb li{align-items:center;display:flex}.breadcrumb a,.breadcrumb [aria-current]{padding-block:var(--space-2);display:inline-block}.hero{gap:var(--space-6);padding-block:var(--space-6) 0;align-items:center;display:grid}.hero h1{max-width:15ch}.hero .lead{font-size:var(--text-lg)}.hero__sample{margin:0;display:none}@media (width>=60rem){.hero{gap:var(--space-8);padding-block:var(--space-7) var(--space-2);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.hero__sample{display:block}}.trust-list{gap:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.trust-list li{align-items:center;gap:var(--space-2);margin:0;display:inline-flex}.trust-list li:before{content:"";background:var(--color-good);width:1.1em;height:1.1em;mask:var(--icon-check) center / contain no-repeat;flex:none}.sample-card{padding:var(--space-5);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);transform:rotate(-1.5deg)}.sample-card__meta{font-size:var(--text-sm);color:var(--color-text-muted);justify-content:space-between;align-items:center;display:flex}.sample-card__q{font-size:var(--text-lg);font-weight:var(--weight-bold)}.sample-card__options{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.sample-card__option{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);margin:0;display:flex}.sample-card__option.is-correct{border-color:var(--color-good-border);background:var(--color-good-bg);font-weight:var(--weight-bold)}.sample-card__letter{border:var(--border-thin) solid var(--color-border-strong);border-radius:var(--radius-pill);width:1.75rem;height:1.75rem;font-size:var(--text-sm);font-weight:var(--weight-bold);flex:none;place-items:center;display:inline-grid}.is-correct .sample-card__letter{border-color:var(--color-good-solid);background:var(--color-good-solid);color:var(--color-on-solid)}.sample-card__verdict{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--color-good);font-weight:var(--weight-bold);display:inline-flex}.sample-card__verdict:before{content:"";width:1.1em;height:1.1em;mask:var(--icon-check) center / contain no-repeat;background:currentColor}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-5);border:var(--border-thick) solid var(--color-brand);border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font:inherit;font-weight:var(--weight-bold);line-height:var(--leading-snug);text-align:center;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-brand-strong);border-color:var(--color-brand-strong);color:var(--color-on-brand);text-decoration:none}.btn:active{transform:translateY(1px)}.btn--secondary{background:var(--color-surface);color:var(--color-brand)}.btn--secondary:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.btn--lg{min-height:calc(var(--tap-min) + var(--space-2));padding-inline:var(--space-6);font-size:var(--text-lg)}.btn--sm{padding-inline:var(--space-4)}.btn--block{width:100%}.btn-row{gap:var(--space-3);margin:var(--space-5) 0;flex-wrap:wrap;display:flex}@media (width<=30rem){.btn-row>.btn{flex:100%}}.badge{padding:var(--space-1) var(--space-3);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-snug);color:var(--color-text-muted);white-space:nowrap;align-items:center;display:inline-flex}.badge--level{border-color:var(--color-brand-soft);background:var(--color-brand-soft);color:var(--color-brand)}.badge--new{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent)}.card-grid{gap:var(--space-4);margin:0 0 var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));padding:0;list-style:none;display:grid}.card-grid>li{margin:0}.card{padding:var(--space-5);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;display:flex;position:relative}.card h3{margin:0 0 var(--space-2)}.card p{color:var(--color-text-muted)}.card__meta{margin:0 0 var(--space-3)}.card__foot{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:var(--border-thin) solid var(--color-border);font-size:var(--text-sm);font-weight:var(--weight-bold);margin:auto 0 0;display:flex}.card--link .card__foot:after{content:"";background:var(--color-brand);width:1.25em;height:1.25em;mask:var(--icon-arrow) center / contain no-repeat;transition:transform var(--duration-base) var(--ease-out);flex:none}.card__link{color:var(--color-text);text-decoration:none}.card__link:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.card__link:focus-visible{outline:none}.card__link:focus-visible:after{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.card--link:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--link:hover .card__link{color:var(--color-brand)}.card--link:hover .card__foot:after{transform:translate(3px)}.steps{gap:var(--space-4);counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));margin:0;padding:0;list-style:none;display:grid}.steps--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.steps>li{counter-increment:step;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-sunken);margin:0}.steps>li:before{content:counter(step);width:2.25rem;height:2.25rem;margin-bottom:var(--space-3);border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font-weight:var(--weight-heavy);place-items:center;display:inline-grid}.steps p{color:var(--color-text-muted);margin:0}.check-list{padding:0;list-style:none}.check-list li{padding-left:var(--space-6);position:relative}.check-list li:before{content:"";background:var(--color-good);width:1.2em;height:1.2em;mask:var(--icon-check) center / contain no-repeat;position:absolute;top:.3em;left:0}.link-list{padding:0;list-style:none}.link-list a{align-items:center;gap:var(--space-2);min-height:var(--tap-min);font-weight:var(--weight-bold);display:inline-flex}.link-list a:after{content:"";width:1em;height:1em;mask:var(--icon-chevron) center / contain no-repeat;background:currentColor}.feature-split{gap:var(--space-6);align-items:start;display:grid}@media (width>=52rem){.feature-split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.speak-card{border:var(--border-thick) solid var(--color-brand);background:linear-gradient(var(--color-surface-tint), var(--color-surface) 60%)}.speak-card__title{margin:0 0 var(--space-2);font-size:var(--text-xl)}.note{margin-top:var(--space-7);padding:var(--space-4) var(--space-5);border-left:var(--border-accent) solid var(--color-brand);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface-sunken);color:var(--color-text-muted)}.level-test>.note{margin-top:0}.section .note{margin-top:var(--space-5)}.topic-layout{gap:var(--space-7);display:grid}.topic{min-width:0;max-width:var(--content)}.topic-aside{display:none}@media (width>=68rem){.topic-layout{grid-template-columns:minmax(0, var(--content)) var(--aside);justify-content:start;column-gap:var(--space-8)}.topic-aside{display:block}}.toc{top:var(--space-5);padding:var(--space-5);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);position:sticky}.toc__title{margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.toc ol{margin:0 0 var(--space-4);padding:0;list-style:none}.toc li+li{margin-top:0}.toc ol a{padding:var(--space-2) 0;font-size:var(--text-sm);text-decoration:none;display:block}.toc ol a:hover{text-decoration:underline}.rule-stack{gap:var(--space-4);display:grid}.rule-block{padding:var(--space-5);border:var(--border-thin) solid var(--color-border);border-top:var(--border-accent) solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-surface)}.rule-block h3{margin-top:0}.rule-block ul{padding-left:var(--space-5);margin:0}.rule-block li::marker{color:var(--color-brand)}.example-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.example-list li{padding:var(--space-3) var(--space-4);border-left:var(--border-accent) solid var(--color-brand);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface-sunken);margin:0}.example-list .example{font-size:var(--text-lg);font-weight:var(--weight-bold);display:block}.example-list .example-note{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.mistakes{margin:var(--space-8) 0 0;padding:var(--space-5);border:var(--border-thin) solid var(--color-warn-border);border-radius:var(--radius-lg);background:var(--color-warn-bg)}.mistakes h2{align-items:center;gap:var(--space-3);color:var(--color-warn);display:flex}.mistakes h2:before{content:"!";border-radius:var(--radius-pill);background:var(--color-warn);width:2rem;height:2rem;color:var(--color-warn-bg);font-size:var(--text-lg);font-weight:var(--weight-heavy);flex:none;place-items:center;display:inline-grid}.mistakes dl{gap:var(--space-4);margin:0;display:grid}.mistake{padding-top:var(--space-4);border-top:var(--border-thin) solid var(--color-warn-border)}.mistake:first-child{border-top:0;padding-top:0}.mistakes dt{gap:var(--space-1);font-weight:var(--weight-bold);display:grid}.mistakes .wrong,.mistakes .right{align-items:baseline;gap:var(--space-2);display:flex}.mistakes .wrong{color:var(--color-bad)}.mistakes .wrong .mistake__text{text-decoration:line-through;text-decoration-thickness:var(--border-thick)}.mistakes .right{color:var(--color-good)}.mistake__icon{background:currentColor;flex:none;align-self:center;width:1.1em;height:1.1em}.wrong .mistake__icon{mask:var(--icon-cross) center / contain no-repeat}.right .mistake__icon{mask:var(--icon-check) center / contain no-repeat}.mistakes dd{margin:var(--space-2) 0 0;color:var(--color-text)}.faq-list{border-top:var(--border-thin) solid var(--color-border);gap:0;display:grid}.faq{padding-block:var(--space-5);border-bottom:var(--border-thin) solid var(--color-border)}.faq h3{margin-bottom:var(--space-2)}.faq p{color:var(--color-text-muted);margin:0}.card-grid--compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}.drill{margin-top:var(--space-8);padding-bottom:var(--space-2)}.drill__head p{color:var(--color-text-muted)}.drill__list{gap:var(--space-4);margin:var(--space-5) 0 0;counter-reset:question;padding:0;list-style:none;display:grid}.drill__item{counter-increment:question;padding:var(--space-5);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);margin:0}.drill__text{gap:var(--space-3);margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-snug);display:flex}.drill__text:before{content:counter(question);min-width:2rem;height:2rem;padding-inline:var(--space-1);border-radius:var(--radius-sm);background:var(--color-brand-soft);color:var(--color-brand);font-size:var(--text-sm);font-weight:var(--weight-heavy);flex:none;place-items:center;display:inline-grid}.drill__options{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.drill__option{margin:0}.drill__option label{align-items:center;gap:var(--space-3);min-height:calc(var(--tap-min) + var(--space-1));padding:var(--space-2) var(--space-3);border:var(--border-thin) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:flex;position:relative}.drill__option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.drill__option label:hover{border-color:var(--color-brand);background:var(--color-surface-sunken)}.drill__option label:has(:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.drill__option label:has(:checked){border-color:var(--color-brand);border-width:var(--border-thick);padding:calc(var(--space-2) - 1px) calc(var(--space-3) - 1px)}.drill__letter{border:var(--border-thick) solid var(--color-border-strong);border-radius:var(--radius-pill);width:2rem;height:2rem;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-muted);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);flex:none;place-items:center;display:inline-grid;position:relative}.drill__option label:has(:checked) .drill__letter{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-on-brand)}.drill__choice{flex:1}.drill__option.is-correct label{border-color:var(--color-good-border);background:var(--color-good-bg)}.drill__option.is-wrong label{border-color:var(--color-bad-border);background:var(--color-bad-bg)}.drill__option.is-correct label .drill__letter,.drill__option.is-wrong label .drill__letter{color:#0000}.drill__option.is-correct label .drill__letter{border-color:var(--color-good-solid);background:var(--color-good-solid)}.drill__option.is-wrong label .drill__letter{border-color:var(--color-bad-solid);background:var(--color-bad-solid)}.drill__option.is-correct .drill__letter:after,.drill__option.is-wrong .drill__letter:after{content:"";background:var(--color-on-solid);position:absolute;inset:.3rem}.drill__option.is-correct .drill__letter:after{mask:var(--icon-check) center / contain no-repeat}.drill__option.is-wrong .drill__letter:after{mask:var(--icon-cross) center / contain no-repeat}.drill__option.is-correct label:has(:checked) .drill__letter{animation:pop var(--duration-slow) var(--ease-spring)}.drill__option.is-wrong label:has(:checked){animation:nudge var(--duration-slow) var(--ease-out)}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes nudge{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.drill__option.is-correct label:has(:checked) .drill__letter,.drill__option.is-wrong label:has(:checked){animation:none}}.drill__verdict{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;font-weight:var(--weight-bold);display:flex}.drill__verdict:before{content:"";background:currentColor;flex:none;width:1.25em;height:1.25em}.drill__verdict--good{color:var(--color-good)}.drill__verdict--good:before{mask:var(--icon-check) center / contain no-repeat}.drill__verdict--bad{color:var(--color-bad)}.drill__verdict--bad:before{mask:var(--icon-cross) center / contain no-repeat}.drill__key{margin-top:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);font-size:var(--text-sm)}.drill__key summary{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-brand);font-weight:var(--weight-bold);cursor:pointer;list-style:none;display:flex}.drill__key summary::-webkit-details-marker{display:none}.drill__key summary:before{content:"";width:1em;height:1em;mask:var(--icon-chevron) center / contain no-repeat;transition:transform var(--duration-base) var(--ease-out);background:currentColor;flex:none}.drill__key[open] summary:before{transform:rotate(90deg)}.drill__key p{padding:0 var(--space-4) var(--space-4);color:var(--color-text);line-height:var(--leading-body);margin:0}.drill__done{margin-top:var(--space-5);padding:var(--space-5);border:var(--border-thick) solid var(--color-good-border);border-radius:var(--radius-lg);background:var(--color-good-bg);animation:rise var(--duration-slow) var(--ease-out)}.drill__done-title{margin-bottom:var(--space-2);font-size:var(--text-xl);font-weight:var(--weight-heavy);color:var(--color-good)}.drill__done .btn-row{margin-bottom:0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.drill__done{animation:none}}.drill__footer{z-index:2;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-surface);box-shadow:var(--shadow-lg);grid-template-columns:minmax(0,1fr) auto;display:grid;position:sticky;bottom:0}.drill__progress{border-radius:var(--radius-pill);background:var(--color-border);grid-column:1/-1;height:.5rem;position:relative;overflow:hidden}.drill__progress-answered,.drill__progress-correct{border-radius:var(--radius-pill);transition:width var(--duration-slow) var(--ease-out);position:absolute;inset:0 auto 0 0}.drill__progress-answered{width:calc(var(--drill-answered,0) * 100%);background:var(--color-border-strong)}.drill__progress-correct{width:calc(var(--drill-correct,0) * 100%);background:var(--color-good-solid)}.drill__score{font-size:var(--text-sm);font-weight:var(--weight-bold);margin:0}.drill__score[data-complete=true]{color:var(--color-good)}.test-group{margin:var(--space-7) 0}.test-group__head{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--border-thick) solid var(--color-border);flex-wrap:wrap;display:flex}.test-group__head h2{font-size:var(--text-xl);flex:auto;margin:0}.level-chip{min-width:3rem;height:3rem;padding-inline:var(--space-2);border-radius:var(--radius-md);background:var(--color-brand);color:var(--color-on-brand);font-size:var(--text-lg);font-weight:var(--weight-heavy);place-items:center;display:inline-grid}.test-progress{z-index:2;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-surface);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:var(--weight-bold);display:grid;position:sticky;bottom:0}.test-progress__bar{border-radius:var(--radius-pill);background:var(--color-border);height:.5rem;display:block;overflow:hidden}.test-progress__fill{width:calc(var(--test-answered,0) * 100%);border-radius:var(--radius-pill);background:var(--color-brand);height:100%;transition:width var(--duration-slow) var(--ease-out);display:block}.test-result{margin:var(--space-6) 0;padding:var(--space-6) var(--space-5);border:var(--border-thick) solid var(--color-brand);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);scroll-margin-top:var(--space-5)}.test-result__level{margin:0 0 var(--space-3);font-size:var(--text-3xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight);color:var(--color-brand)}.test-result__advice{font-size:var(--text-lg)}.band-table{width:min(100%,36rem);margin:var(--space-5) 0 var(--space-3)}.band-table th,.band-table td{padding:var(--space-3) var(--space-2);border-bottom:var(--border-thin) solid var(--color-border);text-align:left;vertical-align:middle}.band-table thead th{font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.band-table tbody th{width:3.5rem;font-weight:var(--weight-heavy)}.band-table__cell{align-items:center;gap:var(--space-3);white-space:nowrap;display:flex}.band-table__bar{border-radius:var(--radius-pill);background:var(--color-border);flex:auto;min-width:3rem;height:.75rem;display:block;position:relative}.band-table__fill{width:calc(var(--band-value,0) * 100%);border-radius:var(--radius-pill);background:var(--color-border-strong);transition:width var(--duration-slow) var(--ease-out);position:absolute;inset:0 auto 0 0}.is-passed .band-table__fill{background:var(--color-good-solid)}.band-table__mark{width:var(--border-thick);background:var(--color-text);position:absolute;top:-.25rem;bottom:-.25rem;left:66.6667%}.band-table .pass{color:var(--color-good);font-weight:var(--weight-bold)}.band-table .fail{color:var(--color-text-muted)}.test-result__legend,.test-result__total{font-size:var(--text-sm);color:var(--color-text-muted)}.test-result__total{font-weight:var(--weight-bold);color:var(--color-text)}.test-result .btn-row{margin-bottom:0}.table-scroll{max-width:100%;margin:var(--space-4) 0;border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto}.level-table{width:100%;min-width:30rem}.level-table th,.level-table td{padding:var(--space-3) var(--space-4);border-bottom:var(--border-thin) solid var(--color-border);text-align:left;vertical-align:top}.level-table tbody tr:last-child>*{border-bottom:0}.level-table thead th{background:var(--color-surface-sunken);font-size:var(--text-sm)}.level-table tbody th{color:var(--color-brand);font-weight:var(--weight-heavy)}.study-list li strong{color:var(--color-brand)}.ad-slot{min-height:var(--ad-slot-min-height);margin-block:var(--ad-slot-space);display:block}.site-footer{margin-top:var(--space-8);background:var(--color-bg)}.wave--foot .wave__layer--1{fill:var(--color-surface-tint)}.wave--foot .wave__layer--2{fill:var(--color-brand-soft)}.wave--foot .wave__layer--3{fill:var(--color-deep)}.site-footer__body{padding-block:var(--space-6) var(--space-7);background:var(--color-deep);color:var(--color-on-deep);margin-top:-1px}.site-footer__inner{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.site-footer__brand{align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-heavy);color:var(--color-on-deep);display:flex}.site-footer h2{font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-on-deep-muted)}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:0}.site-footer a{padding-block:var(--space-2);color:var(--color-deep-link);text-decoration:none;display:inline-block}.site-footer a:hover{color:var(--color-on-deep);text-decoration:underline}.site-footer p{color:var(--color-on-deep-muted)}.field{gap:var(--space-2);margin:0 0 var(--space-5);display:grid}.field__label,.choice-group legend{font-weight:var(--weight-bold)}.input{width:100%;min-height:calc(var(--tap-min) + var(--space-1));padding:var(--space-2) var(--space-3);border:var(--border-thin) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;line-height:var(--leading-snug);transition:border-color var(--duration-fast) var(--ease-out)}.input:hover{border-color:var(--color-brand)}.input:focus-visible{border-color:var(--color-brand);outline-offset:0}.input[aria-invalid=true]{border:var(--border-thick) solid var(--color-bad-border)}select.input{cursor:pointer}.field__hint,.field__note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.field__note{margin-bottom:var(--space-5)}.field__error{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-bad);margin:0;display:flex}.field__error:before{content:"";width:1em;height:1em;mask:var(--icon-cross) center / contain no-repeat;background:currentColor;flex:none}.field--trap{width:1px;height:1px;position:absolute;left:-100vw;overflow:hidden}.choice-group{gap:var(--space-3);margin:0 0 var(--space-5);border:0;padding:0;display:grid}.choice-group legend{margin-bottom:var(--space-3);padding:0}@media (width>=40rem){.choice-group{grid-template-columns:1fr 1fr}.choice-group legend{grid-column:1/-1}}.choice{align-items:flex-start;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-4);border:var(--border-thick) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);display:flex;position:relative}.choice:hover{border-color:var(--color-brand)}.choice:has(:checked){border-color:var(--color-brand);background:var(--color-brand-soft)}.choice:has(:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.choice:has(:disabled){cursor:not-allowed;background:var(--color-surface-sunken);border-style:dashed}.choice input{opacity:0;pointer-events:none;position:absolute}.choice__icon{width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--radius-pill);background:var(--color-brand);flex:none;place-items:center;display:inline-grid}.choice__icon:before{content:"";background:var(--color-on-brand);width:60%;height:60%;mask:var(--choice-icon) center / contain no-repeat}.choice__icon--mic{--choice-icon:var(--icon-mic)}.choice__icon--keyboard{--choice-icon:var(--icon-keyboard)}.choice:has(:disabled) .choice__icon{background:var(--color-border-strong)}.choice__text{gap:var(--space-1);display:grid}.choice__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.toggle{align-items:center;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer;display:inline-flex}.toggle input{width:1.375rem;height:1.375rem;accent-color:var(--color-brand);margin:0}.speak-page{max-width:54rem}.lesson{margin:var(--space-6) 0 var(--space-8);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);scroll-margin-top:var(--space-5)}.lesson__bar{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-5) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.lesson-steps{gap:var(--space-2);counter-reset:none;margin:0;padding:0;list-style:none;display:flex}.lesson-steps__item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-muted);margin:0;display:flex}.lesson-steps__item+.lesson-steps__item{margin-top:0}.lesson-steps__num{border:var(--border-thick) solid var(--color-border-strong);border-radius:var(--radius-pill);width:1.75rem;height:1.75rem;font-size:var(--text-xs);flex:none;place-items:center;line-height:1;display:inline-grid}.lesson-steps__item[data-state=current]{color:var(--color-text)}.lesson-steps__item[data-state=current] .lesson-steps__num{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-on-brand)}.lesson-steps__item[data-state=done] .lesson-steps__num{border-color:var(--color-good-solid);background:var(--color-good-solid);color:#0000;position:relative}.lesson-steps__item[data-state=done] .lesson-steps__num:after{content:"";background:var(--color-on-solid);mask:var(--icon-check) center / contain no-repeat;position:absolute;inset:.2rem}.lesson-steps__label{white-space:nowrap}.lesson__step-name{font-weight:var(--weight-bold);grid-column:1/-1;margin:0}@media (width<=51.99rem){.lesson-steps__label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=52rem){.lesson-steps{gap:var(--space-5)}.lesson__step-name{display:none}}.lesson__timer{align-items:baseline;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-sunken);font-size:var(--text-sm);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;margin:0;display:inline-flex}.lesson__timer-unit{font-weight:var(--weight-regular);color:var(--color-text-muted)}[data-time-low=true] .lesson__timer{background:var(--color-warn-bg);color:var(--color-warn)}.lesson__progress{border-radius:var(--radius-pill);background:var(--color-border);grid-column:1/-1;height:.375rem;overflow:hidden}.lesson__progress-fill{width:calc(var(--lesson-progress,0) * 100%);border-radius:inherit;background:var(--color-brand);height:100%;transition:width var(--duration-slow) var(--ease-out);display:block}.lesson__pane{padding:var(--space-5)}@media (width>=48rem){.lesson__bar{padding:var(--space-5) var(--space-6) 0}.lesson__pane{padding:var(--space-6)}}.lesson__pane h2:focus{outline:none}.lesson-plan{gap:var(--space-2);margin:0 0 var(--space-6);counter-reset:plan;padding:0;list-style:none;display:grid}.lesson-plan li{counter-increment:plan;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);flex-wrap:wrap;margin:0;display:flex}.lesson-plan li:before{content:counter(plan);border-radius:var(--radius-pill);background:var(--color-brand-soft);width:1.75rem;height:1.75rem;color:var(--color-brand);font-size:var(--text-sm);font-weight:var(--weight-heavy);place-items:center;display:inline-grid}.lesson-plan__time{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto}.lesson__start-row{margin-bottom:var(--space-3)}.lesson__fine,.lesson__notice{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.lesson__notice{margin-top:var(--space-4);color:var(--color-warn)}.lesson__tip{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-4);border-left:var(--border-accent) solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-accent-soft);font-size:var(--text-sm);font-weight:var(--weight-bold)}.lesson__voice-note{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-4);border-left:var(--border-accent) solid var(--color-warn);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-warn-bg);color:var(--color-text);font-size:var(--text-sm)}.chat{gap:var(--space-4);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.chat__msg{align-items:flex-end;gap:var(--space-2);max-width:none;animation:rise var(--duration-base) var(--ease-out);margin:0;display:flex}.chat__msg+.chat__msg{margin-top:0}.chat__msg--learner{justify-content:flex-end}.chat__avatar{width:var(--avatar-size);height:var(--avatar-size);flex:none;display:block}.chat__mark{width:100%;height:100%}.chat__bubble{max-width:min(var(--bubble-max), 85%);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg)}.chat__msg--tutor .chat__bubble{border:var(--border-thin) solid var(--color-border);border-bottom-left-radius:var(--radius-sm);background:var(--color-surface-sunken)}.chat__msg--learner .chat__bubble{border-bottom-right-radius:var(--radius-sm);background:var(--color-brand-soft)}.chat__who{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.chat__text{font-size:var(--text-lg);line-height:var(--leading-snug);margin:0}.chat__play{align-items:center;gap:var(--space-2);min-height:var(--tap-min);margin:var(--space-1) 0 calc(-1 * var(--space-2)) calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);color:var(--color-brand);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;background:0 0;border:0;display:inline-flex}.chat__play:hover{background:var(--color-brand-soft)}.chat__play-icon{width:1.25rem;height:1.25rem;mask:var(--icon-speaker) center / contain no-repeat;background:currentColor}.chat__play[data-state=replay] .chat__play-icon{mask-image:var(--icon-replay)}.chat__wave{align-items:center;gap:.1875rem;height:1.25rem;display:none}.chat__wave span{border-radius:var(--radius-pill);transform-origin:50%;width:.1875rem;height:100%;animation:speak var(--duration-wave) var(--ease-in-out) infinite alternate;background:currentColor}.chat__wave span:nth-child(2){animation-delay:calc(var(--duration-wave) / -3)}.chat__wave span:nth-child(3){animation-delay:calc(var(--duration-wave) / -1.5)}.chat__wave span:nth-child(4){animation-delay:calc(var(--duration-wave) / -4)}@keyframes speak{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.chat__msg[data-speaking] .chat__bubble{border-color:var(--color-brand)}.chat__msg[data-speaking] .chat__play-icon{display:none}.chat__msg[data-speaking] .chat__wave{order:-1;display:inline-flex}.chat__typing{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4) calc(var(--avatar-size) + var(--space-2));font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-muted);display:flex}.chat__dots{gap:var(--space-1);display:inline-flex}.chat__dots span{border-radius:var(--radius-pill);background:var(--color-brand);width:.5rem;height:.5rem;animation:dot var(--duration-pulse) var(--ease-out) infinite}.chat__dots span:nth-child(2){animation-delay:calc(var(--duration-pulse) / 6)}.chat__dots span:nth-child(3){animation-delay:calc(var(--duration-pulse) / 3)}@keyframes dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.lesson__alert{margin:0 0 var(--space-4);padding:var(--space-4);border:var(--border-thin) solid var(--color-bad-border);border-radius:var(--radius-md);background:var(--color-bad-bg);color:var(--color-bad);font-weight:var(--weight-bold)}.lesson__alert p{margin:0}.lesson__alert-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.lesson__alert-actions:has(:not([hidden])){margin-top:var(--space-3)}.composer{z-index:1;gap:var(--space-2);margin-inline:calc(-1 * var(--space-2));padding:var(--space-3) var(--space-2) var(--space-3);border-top:var(--border-thin) solid var(--color-border);background:var(--color-surface);display:grid;position:sticky;bottom:0}.chat__msg{scroll-margin-bottom:var(--composer-space)}html:has(.lesson [data-pane=talk]:not([hidden])){scroll-padding-bottom:var(--composer-space)}.composer__finish{min-height:var(--tap-min);padding:var(--space-2) 0;color:var(--color-brand);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;justify-self:start;text-decoration:underline}.composer__finish:hover{color:var(--color-brand-strong);text-decoration-thickness:var(--border-thick)}.composer__voice{align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.composer__label{font-size:var(--text-sm);font-weight:var(--weight-bold)}.composer__input{min-height:calc(var(--tap-min) * 1.75);resize:vertical;font-size:var(--text-lg)}.composer__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.composer__count{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);margin-right:auto}.composer [data-send]{min-width:7rem}.mic{align-content:center;place-items:center;gap:var(--space-1);width:var(--mic-size);height:var(--mic-size);border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-heavy);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:0;flex:none;display:inline-grid;position:relative}.mic:hover{background:var(--color-brand-strong)}.mic:active{transform:scale(.96)}.mic:disabled{cursor:progress;opacity:.55}.mic__icon{width:1.75rem;height:1.75rem;mask:var(--icon-mic) center / contain no-repeat;background:currentColor}.mic[data-state=listening]{background:var(--color-accent);color:var(--color-on-accent)}.mic[data-state=listening] .mic__icon{mask-image:var(--icon-stop)}.mic[data-state=listening]:after{content:"";inset:calc(-1 * var(--space-1));border:var(--border-accent) solid var(--color-accent);border-radius:inherit;animation:listen var(--duration-pulse) var(--ease-out) infinite;position:absolute}@keyframes listen{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.mic__status{font-weight:var(--weight-bold);margin:0}@media (prefers-reduced-motion:reduce){.chat__msg,.chat__dots span{animation:none}.chat__dots span{opacity:.7}.chat__wave span{animation:none}.chat__wave span:nth-child(odd){transform:scaleY(.55)}.mic[data-state=listening]:after{opacity:1;animation:none}}.lesson-summary{animation:rise var(--duration-slow) var(--ease-out)}.lesson-summary__badge{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-good-bg);color:var(--color-good);font-size:var(--text-sm);font-weight:var(--weight-heavy);display:inline-flex}.lesson-summary__badge:before{content:"";width:1em;height:1em;mask:var(--icon-check) center / contain no-repeat;background:currentColor}.lesson-summary__lead{font-size:var(--text-lg)}.lesson-stats{gap:var(--space-3);margin:0 0 var(--space-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.lesson-stats li{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted);margin:0}.lesson-stats strong{font-size:var(--text-xl);color:var(--color-text)}.fixes{gap:var(--space-4);counter-reset:fix;margin:0;padding:0;list-style:none;display:grid}.fix{counter-increment:fix;max-width:none;padding:var(--space-5) var(--space-5) var(--space-5) calc(var(--space-5) + var(--space-7));border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin:0;position:relative}.fix+.fix{margin-top:0}.fix:before{content:counter(fix);left:var(--space-5);top:var(--space-5);border-radius:var(--radius-pill);background:var(--color-brand);width:2.25rem;height:2.25rem;color:var(--color-on-brand);font-weight:var(--weight-heavy);place-items:center;display:grid;position:absolute}.fix__row{gap:var(--space-3);margin:0 0 var(--space-2);font-size:var(--text-lg);line-height:var(--leading-snug);grid-template-columns:6.5rem minmax(0,1fr);display:grid}.fix__label{align-items:center;gap:var(--space-1);white-space:nowrap;font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted);padding-top:.2em;display:inline-flex}.fix__row--said .fix__label,.fix__row--said .fix__text{color:var(--color-bad)}.fix__row--said .fix__text{text-decoration-thickness:var(--border-thick)}.fix__row--better .fix__label,.fix__row--better .fix__text{color:var(--color-good)}.fix__row--better .fix__text{font-weight:var(--weight-bold)}.fix__row--said .fix__label:before,.fix__row--better .fix__label:before{content:"";width:1em;height:1em;mask:var(--icon-cross) center / contain no-repeat;background:currentColor;flex:none}.fix__row--better .fix__label:before{mask-image:var(--icon-check)}.fix__why{margin:var(--space-3) 0 0}.fix__example{gap:var(--space-3);margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-left:var(--border-accent) solid var(--color-brand);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-surface-sunken);grid-template-columns:6.5rem minmax(0,1fr);font-style:italic;display:grid}.fix__example .fix__label{font-style:normal}@media (width<=30rem){.fix{padding:var(--space-4)}.fix:before{width:2rem;height:2rem;margin-bottom:var(--space-3);position:static}.fix__row,.fix__example{grid-template-columns:minmax(0,1fr);gap:0}}@media (prefers-reduced-motion:reduce){.lesson-summary{animation:none}}.waitlist{gap:var(--space-5) var(--space-7);margin:var(--space-8) 0;scroll-margin-top:var(--space-5);display:grid}@media (width>=52rem){.waitlist{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}}.waitlist__card{padding:var(--space-5);border:var(--border-thick) solid var(--color-brand);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.waitlist__form .btn{margin-top:var(--space-1)}.waitlist__status{margin:var(--space-3) 0 0;font-weight:var(--weight-bold);color:var(--color-bad)}.waitlist__status:empty{display:none}.waitlist__done{padding:var(--space-2) 0}.waitlist__done:focus{outline:none}.waitlist__done-title{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-xl);font-weight:var(--weight-heavy);color:var(--color-good);display:flex}.waitlist__done-title:before{content:"";width:1.2em;height:1.2em;mask:var(--icon-check) center / contain no-repeat;background:currentColor;flex:none}.waitlist__done p:last-child{margin:0}
