:root{--bg:#f6f1e9;--surface:#fff;--surface-alt:#f6f1e9;--text:#1c1b33;--text-dim:#5f5f75;--primary:#7452f5;--primary-dark:#5b3fd6;--primary-soft:#efeafe;--success:#3fa873;--warning:#e8833a;--outline:#e7e2f2;--grad:linear-gradient(135deg, #8a66ff 0%, #6847e8 100%);--shadow:0 8px 24px #372b6b14;--shadow-cta:0 10px 24px #7452f554;--radius:24px;--radius-sm:16px}@media (prefers-color-scheme:dark){:root{--bg:#12121c;--surface:#1c1c2b;--surface-alt:#24243a;--text:#f0eef8;--text-dim:#a5a3bc;--primary:#9b84ff;--primary-dark:#7452f5;--primary-soft:#2b2545;--success:#5fcb96;--warning:#f2a063;--outline:#32304a;--grad:linear-gradient(135deg, #9b84ff 0%, #6847e8 100%);--shadow:0 8px 24px #00000059}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}header{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--outline);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:16px;height:68px;display:flex}.logo{letter-spacing:-.02em;color:var(--text);align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.logo:hover{text-decoration:none}.logo-mark{border-radius:10px;width:32px;height:32px;display:block}.nav-links{align-items:center;gap:26px;display:flex}.nav-links a{color:var(--text-dim);font-size:15px;font-weight:600}.nav-links a:hover{color:var(--text);text-decoration:none}.nav-actions{align-items:center;gap:14px;display:flex}.nav-toggle,.nav-menu-label{display:none}.lang{border:1px solid var(--outline);color:var(--text-dim);border-radius:999px;padding:5px 13px;font-size:13px;font-weight:700}.lang:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}@media (width<=720px){.nav-actions{position:relative}.nav-toggle{opacity:0;width:1px;height:1px;display:block;position:absolute}.nav-menu-label{border:1px solid var(--outline);min-height:44px;color:var(--text);cursor:pointer;border-radius:12px;align-items:center;gap:9px;padding:0 12px;font-size:14px;font-weight:700;display:inline-flex}.nav-toggle:focus-visible+.nav-menu-label{outline:3px solid var(--primary);outline-offset:3px}.menu-icon{gap:3px;display:grid}.menu-icon i{background:currentColor;border-radius:2px;width:15px;height:2px;display:block}.nav-links{background:var(--surface);border:1px solid var(--outline);min-width:min(270px,100vw - 48px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:stretch;gap:0;padding:8px;display:none;position:absolute;top:calc(100% + 12px);right:0}.nav-links a{color:var(--text);border-radius:10px;padding:12px 14px;display:block}.nav-links a:hover{background:var(--primary-soft);color:var(--primary)}.nav-toggle:checked~.nav-links{display:flex}}.btn{border-radius:var(--radius-sm);background:var(--grad);color:#fff;box-shadow:var(--shadow-cta);justify-content:center;align-items:center;gap:8px;padding:15px 30px;font-size:17px;font-weight:800;transition:transform .15s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-ghost{color:var(--text);border:1.5px solid var(--outline);box-shadow:none;background:0 0}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.hero{text-align:center;padding:68px 0 48px}.badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;margin-bottom:26px;padding:7px 16px;font-size:14px;font-weight:700;display:inline-block}h1{letter-spacing:-.035em;margin:0 0 22px;font-size:clamp(38px,6.2vw,62px);font-weight:800;line-height:1.08}h1 .accent{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.lede{color:var(--text-dim);max-width:640px;margin:0 auto 36px;font-size:clamp(18px,2.2vw,21px)}.cta-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.hero-note{color:var(--text-dim);margin-top:20px;font-size:14px}@media (width>=960px){.hero{text-align:left;padding:100px 0 82px}.hero>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:58px;display:grid}.hero h1{font-size:clamp(43px,4.5vw,58px)}.hero .lede{margin-left:0;margin-right:0}.hero .cta-row{justify-content:flex-start}.hero .lesson-preview{margin:0}}.lesson-preview{text-align:left;background:var(--surface);border:1px solid var(--outline);max-width:760px;box-shadow:var(--shadow);border-radius:20px;margin:46px auto 0;padding:24px}.lesson-preview-head{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:18px;display:flex}.lesson-preview-title{letter-spacing:-.015em;font-size:19px;font-weight:800}.lesson-preview-time{color:var(--text-dim);font-size:14px;font-weight:600}.lesson-exchange{margin:20px 0;padding-right:95px;position:relative}.lesson-speaker{color:var(--primary);margin:0 0 3px;font-size:13px;font-weight:800}.lesson-line{letter-spacing:-.015em;margin:0;font-size:20px;font-weight:700;line-height:1.35}.lesson-exchange-you{background:var(--surface-alt);border-radius:14px;margin-left:18%;padding:16px 18px}.lesson-exchange-you .lesson-speaker{color:var(--text-dim)}.lesson-wave{align-items:center;gap:3px;height:24px;display:flex;position:absolute;top:19px;right:6px}.lesson-wave i{background:var(--primary);border-radius:2px;width:3px;height:8px}.lesson-wave i:nth-child(3n+2){height:19px}.lesson-wave i:nth-child(4n){height:13px}.lesson-feedback{background:var(--primary-soft);border-radius:14px;align-items:start;gap:12px;padding:16px 18px;display:flex}.lesson-feedback-icon{background:var(--primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:14px;font-weight:800;display:grid}.lesson-feedback p{margin:0;line-height:1.4}.lesson-feedback-title{color:var(--primary);font-size:13px;font-weight:800;margin-bottom:4px!important}.lesson-preview-note{color:var(--text-dim);margin:14px 0 0;font-size:12px}@media (width<=520px){.hero{padding-top:52px}.lesson-preview{margin-top:36px;padding:18px}.lesson-preview-head{flex-direction:column;align-items:start;gap:2px}.lesson-exchange{padding-right:0}.lesson-wave{display:none}.lesson-exchange-you{margin-left:10%}}section{padding:72px 0}h2{letter-spacing:-.025em;text-align:center;margin:0 0 14px;font-size:clamp(28px,3.8vw,40px);font-weight:800;line-height:1.15}.section-lede{text-align:center;color:var(--text-dim);max-width:600px;margin:0 auto 48px}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;display:grid}.card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px}.card h3{letter-spacing:-.015em;margin:0 0 10px;font-size:20px;font-weight:800}.card p{color:var(--text-dim);margin:0;font-size:16px}.icon{background:var(--primary-soft);border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:18px;font-size:22px;display:grid}.steps{counter-reset:step}.steps .card{position:relative}.steps .card:before{counter-increment:step;content:counter(step);background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid;position:absolute;top:26px;right:26px}details{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-sm);margin-bottom:12px;padding:20px 24px}details[open]{border-color:var(--primary)}summary{cursor:pointer;font-size:17px;font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";float:right;color:var(--primary);font-size:22px;line-height:1}details[open] summary:after{content:"−"}details p{color:var(--text-dim);margin:14px 0 0}footer{border-top:1px solid var(--outline);margin-top:40px;padding:48px 0 56px}.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.foot-links{flex-wrap:wrap;gap:22px;display:flex}.foot-links a{color:var(--text-dim);font-size:15px}.foot-links a:hover{color:var(--primary);text-decoration:none}.copy{color:var(--text-dim);font-size:14px}.legal{padding:56px 0 24px}.legal h1{text-align:left;margin-bottom:10px;font-size:clamp(30px,4.5vw,42px)}.legal .updated{color:var(--text-dim);margin:0 0 40px;font-size:15px}.legal h2{text-align:left;letter-spacing:-.015em;margin:40px 0 12px;font-size:23px}.legal h3{margin:26px 0 8px;font-size:18px;font-weight:800}.legal p,.legal li{color:var(--text-dim)}.legal li{margin-bottom:8px}.legal strong{color:var(--text)}.legal table{border-collapse:collapse;width:100%;margin:18px 0;font-size:15px}.legal th,.legal td{text-align:left;border-bottom:1px solid var(--outline);vertical-align:top;padding:12px 14px}.legal th{color:var(--text);font-weight:800}.legal td{color:var(--text-dim)}.table-scroll{overflow-x:auto}.callout{background:var(--primary-soft);border-radius:var(--radius-sm);margin:26px 0;padding:20px 24px}.callout p{color:var(--text);margin:0}.toc{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-sm);margin-bottom:40px;padding:22px 26px}.toc ol{margin:0;padding-left:20px}.toc li{margin-bottom:6px}.toc a{color:var(--text-dim)}.toc a:hover{color:var(--primary)}.content{max-width:760px;padding-top:28px;padding-bottom:24px}.content h1{margin:8px 0 16px;font-size:clamp(32px,5vw,46px);line-height:1.12}.content h2{text-align:left}.content section{padding:0}.h1-eyebrow{letter-spacing:0;color:var(--primary);margin-bottom:6px;font-size:15px;font-weight:700;display:block}.list-lede{color:var(--text-dim);margin:0 0 32px;font-size:18px}.cluster-intro{margin:0 0 34px}.cluster-intro h2{margin:0 0 12px;font-size:23px}.cluster-intro p{color:var(--text-dim);margin:0 0 16px}.phrase-list{border-top:1px solid var(--outline);margin:20px 0}.phrase-list>div{border-bottom:1px solid var(--outline);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:11px 0;display:grid}.phrase-list dt{font-weight:700}.phrase-list dd{color:var(--text-dim);margin:0}@media (width<=560px){.phrase-list>div{grid-template-columns:1fr;gap:2px}}.section-title{margin:40px 0 18px;font-size:24px}.empty{background:var(--surface);border:1px dashed var(--outline);border-radius:var(--radius-sm);color:var(--text-dim);padding:22px 24px}.content .unavailable{padding:58px 0 86px}.unavailable .list-lede{max-width:610px}.unavailable-actions{flex-wrap:wrap;gap:12px;display:flex}.unavailable-alternative{margin:24px 0 0;font-weight:700}.unavailable-alternative a{text-underline-offset:4px;text-decoration:underline}@media (width<=520px){.unavailable-actions .btn{width:100%}}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}::selection{background:var(--primary);color:#fff}.crumbs ol{flex-wrap:wrap;gap:4px 0;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.crumbs li{color:var(--text-dim)}.crumbs li+li:before{content:"›";color:var(--text-dim);margin:0 8px}.crumbs a{color:var(--text-dim)}.crumbs a:hover{color:var(--primary)}.crumbs [aria-current]{-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:36ch;display:-webkit-box;overflow:hidden}@media (width<=720px){.crumbs [aria-current]{display:none}}.byline{color:var(--text-dim);margin:0 0 28px;font-size:15px}.byline a{font-weight:700}.article-cover{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--surface-alt);width:100%;height:auto;margin:0 0 32px;display:block}.content .toc{margin-bottom:32px;padding:18px 24px}.toc-title{margin:0 0 8px;font-size:15px;font-weight:800}.prose{font-size:18px}.prose h2{margin:44px 0 12px;scroll-margin-top:84px;font-size:clamp(24px,3.2vw,30px)}.prose h3{margin:30px 0 8px;scroll-margin-top:84px;font-size:20px;font-weight:800}.prose p,.prose li{color:var(--text)}.prose li{margin-bottom:6px}.prose a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose img{border-radius:var(--radius-sm);max-width:100%;height:auto}.prose blockquote{border-left:4px solid var(--primary);color:var(--text-dim);margin:20px 0;padding:4px 20px}.prose code{background:var(--surface-alt);border-radius:6px;padding:1px 6px;font-size:.92em}.prose table{border-collapse:collapse;width:100%;margin:20px 0;font-size:16px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--outline);vertical-align:top;padding:10px 14px}.prose th{font-weight:800}.prose .dialog{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-sm);margin:22px 0;padding:14px 20px}.prose .dialog-line{margin:10px 0}.prose .dialog-speaker{color:var(--primary);margin-right:4px}.prose .dialog-tr{color:var(--text-dim);font-size:15px;display:block}.prose table.vocab{background:var(--surface);border-radius:var(--radius-sm);display:table;overflow:hidden}.prose .vocab th{background:var(--primary-soft);color:var(--primary)}.prose .vocab td:first-child{font-weight:700}.prose .note{background:var(--primary-soft);border-radius:var(--radius-sm);margin:24px 0;padding:4px 22px}.cta-card{background:var(--surface);border:1.5px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow);margin:32px 0;padding:24px 26px}.cta-card .cta-title{letter-spacing:-.015em;margin:0 0 6px;font-size:21px;font-weight:800}.cta-card .cta-pitch{color:var(--text-dim);margin:0 0 18px}.cta-actions{flex-wrap:wrap;gap:12px;display:flex}.cta-actions .btn{padding:13px 24px;font-size:16px;text-decoration:none}html:not(.ios) .cta-actions [data-cta=web-app]{order:-1}html:not(.ios) .cta-actions [data-cta=web-app],html:not(.ios) .cta-actions [data-cta=web-app]:hover{background:var(--grad);color:#fff;box-shadow:var(--shadow-cta);border:0}html:not(.ios) .cta-actions [data-cta=app-store]{color:var(--text);border:1.5px solid var(--outline);box-shadow:none;background:0 0}html:not(.ios) .cta-actions [data-cta=app-store]:hover{border-color:var(--primary);color:var(--primary)}.cta-card-end,.faq{margin-top:48px}.faq h2{margin-bottom:18px;font-size:clamp(24px,3.2vw,30px)}.author-box{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--outline);margin-top:40px;padding:20px 24px}.author-box p{color:var(--text-dim);margin:0;font-size:16px}.author-box .author-box-name{color:var(--text);margin-bottom:4px;font-weight:800}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.article-card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-sm);box-shadow:var(--shadow);flex-direction:column;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.article-card:hover{border-color:var(--primary)}.article-card img{aspect-ratio:16/9;object-fit:cover;background:var(--surface-alt);width:100%;height:auto;display:block}.article-card-blank{aspect-ratio:16/9;background:var(--primary-soft);place-items:center;display:grid}.article-card-blank .logo-mark{border-radius:14px;width:44px;height:44px;font-size:22px}.article-card-body{flex-direction:column;flex:1;gap:6px;padding:16px 18px 18px;display:flex}.article-card h2,.article-card h3{letter-spacing:-.01em;text-align:left;margin:0;font-size:18px;line-height:1.3}.article-card h2 a,.article-card h3 a{color:var(--text)}.article-card h2 a:after,.article-card h3 a:after{content:"";position:absolute;inset:0}.article-card a:hover{text-decoration:none}.article-card p{color:var(--text-dim);margin:0;font-size:15px;line-height:1.5}.article-card-body>p{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.article-card time{color:var(--text-dim);margin-top:auto;padding-top:6px;font-size:13px}.card-grid-featured{grid-template-columns:1fr}.card-grid-featured .article-card{grid-template-columns:minmax(0,36%) minmax(0,1fr);display:grid}.card-grid-featured .article-card img,.card-grid-featured .article-card-blank{aspect-ratio:auto;height:100%;min-height:190px}.card-grid-featured .article-card-body{padding:24px}.card-grid-featured .article-card h3{font-size:22px}@media (width<=560px){.card-grid-featured .article-card{display:flex}.card-grid-featured .article-card img,.card-grid-featured .article-card-blank{aspect-ratio:16/9;height:auto;min-height:0}.card-grid-featured .article-card-body{padding:16px 18px 18px}.card-grid-featured .article-card h3{font-size:18px}}.related{margin-top:56px}.related h2{margin-bottom:18px;font-size:24px}.hub-section{margin:44px 0 0;padding:0}.hub-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.hub-section h2{margin:0 0 6px;font-size:26px}.hub-section h2 a{color:var(--text)}.hub-section .more{font-size:15px;font-weight:700}.hub-section-lede{color:var(--text-dim);margin:0 0 18px;font-size:16px}.pagination{justify-content:space-between;align-items:center;margin:36px 0 0;font-weight:700;display:flex}.pagination-at{color:var(--text-dim);font-size:15px;font-weight:600}.guides-teaser{text-align:center}.guides-teaser .cta-row{margin-top:8px}.guide-links{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.guide-links a{min-height:148px;color:var(--text);background:var(--surface);border:1px solid var(--outline);border-radius:16px;flex-direction:column;gap:9px;padding:25px;transition:border-color .15s,transform .15s;display:flex;position:relative}.guide-links a:hover{border-color:var(--primary);text-decoration:none;transform:translateY(-2px)}.guide-links strong{padding-right:26px;font-size:21px;line-height:1.25}.guide-links a>span:not(.guide-link-arrow){color:var(--text-dim);font-size:15px;line-height:1.45}.guide-link-arrow{color:var(--primary);font-size:22px;position:absolute;top:23px;right:23px}@media (width<=560px){.guide-links{grid-template-columns:1fr}}
