.public.svelte-1m5shf{max-width:1160px;margin:0 auto;padding:0 0 var(--s8);display:flex;flex-direction:column;gap:104px}.eyebrow.svelte-1m5shf{margin:0}h2.svelte-1m5shf{font-size:var(--fs-7);line-height:1.2;color:var(--ink);margin:0;text-wrap:balance}.band-copy.svelte-1m5shf{display:flex;flex-direction:column;gap:var(--s3);max-width:58ch}.band-copy.center.svelte-1m5shf{margin:0 auto;text-align:center;align-items:center}.band-copy.svelte-1m5shf p:where(.svelte-1m5shf):not(.eyebrow){margin:0;color:var(--ink-2);font-size:var(--fs-4);line-height:1.6}.cta.svelte-1m5shf{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center;margin:0}.hero.svelte-1m5shf{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s8) var(--s5) var(--s6)}.hero.svelte-1m5shf:before{content:"";position:absolute;top:-40px;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 55% 60% at 50% 32%,var(--accent-tint),transparent 70%);pointer-events:none}.hero-logo.svelte-1m5shf{width:clamp(150px,20vw,210px);height:auto;margin-bottom:var(--s5)}.kicker.svelte-1m5shf{font-family:var(--font-han-serif);color:var(--accent-text);font-size:var(--fs-4);letter-spacing:.18em;margin:0 0 var(--s4)}h1.svelte-1m5shf{font-size:clamp(var(--fs-8),5.4vw,calc(var(--fs-9) * 1.25));line-height:1.04;letter-spacing:-.02em;margin:0 0 var(--s5);color:var(--ink);text-wrap:balance;max-width:16ch}.lead.svelte-1m5shf{font-size:var(--fs-5);line-height:1.6;color:var(--ink-2);max-width:52ch;margin:0 0 var(--s6);text-wrap:pretty}.assure.svelte-1m5shf{margin:var(--s4) 0 0;font-size:var(--fs-2);color:var(--ink-3)}.sheet.svelte-1m5shf{margin-top:calc(-1 * var(--s8));background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-4);box-shadow:var(--shadow-float);padding:var(--s6) var(--s7) var(--s6)}.sheet-head.svelte-1m5shf{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--rule)}.sheet-title.svelte-1m5shf{margin-top:4px;font-weight:600;color:var(--ink)}.script-switch.svelte-1m5shf{display:inline-flex;border:1px solid var(--rule-2);border-radius:var(--r-pill);overflow:hidden;font-family:var(--font-han-sans);flex:none}.script-switch.svelte-1m5shf span:where(.svelte-1m5shf):not(.sr){padding:3px 12px;color:var(--ink-3)}.script-switch.svelte-1m5shf span.on:where(.svelte-1m5shf){background:var(--ink);color:var(--paper)}.script-switch.svelte-1m5shf:hover span:where(.svelte-1m5shf):not(.on):not(.sr){color:var(--accent-text)}.sr.svelte-1m5shf{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sheet-body.svelte-1m5shf{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s7);align-items:start;padding-top:var(--s6)}.sheet-text.svelte-1m5shf{min-height:150px}.sheet-hint.svelte-1m5shf{display:flex;align-items:center;gap:6px;margin:var(--s4) 0 0;font-size:var(--fs-2);color:var(--ink-3)}.sheet-words.svelte-1m5shf{list-style:none;margin:0;padding:0 0 0 var(--s6);border-left:1px dashed var(--rule);display:grid;gap:var(--s4)}.sheet-words.svelte-1m5shf li:where(.svelte-1m5shf){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s3);align-items:baseline;font-size:var(--fs-3)}.w-han.svelte-1m5shf{grid-row:span 2;font-family:var(--font-han-serif);font-size:var(--fs-6);color:var(--ink)}.w-py.svelte-1m5shf{font-family:var(--font-pinyin);color:var(--ink-3)}.w-fr.svelte-1m5shf{grid-column:2;color:var(--ink-2)}.tones.svelte-1m5shf{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:var(--s5) var(--s8);align-items:center}.tone-cards.svelte-1m5shf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}.tone-card.svelte-1m5shf{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s5) var(--s2) var(--s4);border:1px solid var(--rule);border-radius:var(--r-4);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:border-color var(--t-1),background var(--t-1),transform var(--t-2) var(--ease-in)}.tone-card.svelte-1m5shf:hover{border-color:var(--ink);transform:translateY(-2px)}.tone-card.svelte-1m5shf:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tone-card.on.svelte-1m5shf{border-color:var(--accent);background:var(--accent-tint)}.tc-han.svelte-1m5shf{font-family:var(--font-han-serif);font-size:52px;line-height:1}.tc-py.svelte-1m5shf{font-family:var(--font-pinyin);font-size:var(--fs-5);color:var(--accent-text)}.tc-fr.svelte-1m5shf{font-size:var(--fs-3);color:var(--ink-2)}.tc-n.svelte-1m5shf{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:var(--fs-1);color:var(--ink-4)}.tones-note.svelte-1m5shf{grid-column:2;margin:0;font-size:var(--fs-2);color:var(--ink-3)}.does.svelte-1m5shf{display:flex;flex-direction:column;gap:var(--s7)}.does-grid.svelte-1m5shf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s6)}.does-item.svelte-1m5shf h3:where(.svelte-1m5shf){display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-5);color:var(--ink);margin:var(--s5) 0 var(--s2)}.num.svelte-1m5shf{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent-tint);color:var(--accent-text);font-family:var(--font-mono);font-size:var(--fs-1)}.does-item.svelte-1m5shf p:where(.svelte-1m5shf){margin:0;color:var(--ink-2);line-height:1.6}.vignette.svelte-1m5shf{height:168px;border:1px solid var(--rule);border-radius:var(--r-4);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s5);text-align:center}.v-han.svelte-1m5shf{font-family:var(--font-han-serif);font-size:44px;line-height:1;color:var(--ink)}.v-han.small.svelte-1m5shf{font-size:36px}.v-han.tapped.svelte-1m5shf{padding:0 4px 4px;border-bottom:2px solid var(--accent);background:var(--accent-tint);border-radius:var(--r-2) var(--r-2) 0 0}.v-reading.svelte-1m5shf{font-family:var(--font-han-sans);font-size:var(--fs-3);color:var(--accent-text)}.v-reading.svelte-1m5shf em:where(.svelte-1m5shf){font-style:normal;font-family:var(--font-pinyin);color:var(--ink-3);margin-left:4px}.v-meaning.svelte-1m5shf{font-size:var(--fs-3);color:var(--ink-2)}.v-grid.svelte-1m5shf{display:grid;grid-template-columns:repeat(4,16px);gap:4px}.v-grid.svelte-1m5shf span:where(.svelte-1m5shf){width:16px;height:16px;border-radius:var(--r-2);border:1px solid var(--rule-2);background:var(--paper)}.v-grid.svelte-1m5shf span.on:where(.svelte-1m5shf){border-color:var(--accent);background:var(--accent)}.v-pair.svelte-1m5shf{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--fs-2);color:var(--ink-2)}.v-build.svelte-1m5shf{gap:var(--s2)}.v-say.svelte-1m5shf{font-size:var(--fs-2);color:var(--ink-3)}.v-line.svelte-1m5shf,.v-bank.svelte-1m5shf{display:flex;align-items:center;gap:4px}.v-line.svelte-1m5shf{padding:4px;border:1px dashed var(--rule-3);border-radius:var(--r-3)}.v-tile.svelte-1m5shf{padding:3px 8px;border:1px solid var(--rule-3);border-radius:var(--r-2);background:var(--surface-2);font-family:var(--font-han-serif);font-size:var(--fs-5);color:var(--ink)}.v-tile.loose.svelte-1m5shf{background:var(--surface);border-color:var(--accent)}.v-slot.svelte-1m5shf{width:42px;height:30px;border-radius:var(--r-2);background:var(--accent-tint)}.v-grades.svelte-1m5shf{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.v-grades.svelte-1m5shf span:where(.svelte-1m5shf){padding:3px 8px;border:1px solid var(--rule-2);border-radius:var(--r-2);font-size:var(--fs-1);color:var(--ink-3)}.v-grades.svelte-1m5shf span.on:where(.svelte-1m5shf){border-color:var(--ok);background:var(--ok-tint);color:var(--ok);font-weight:600}.v-next.svelte-1m5shf{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-1);color:var(--ok)}.who.svelte-1m5shf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}.who-card.svelte-1m5shf{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s7) var(--s7) var(--s6);border-radius:var(--r-4);background:var(--accent-tint)}.who-card.teach.svelte-1m5shf{background:var(--teach-tint)}.who-ic.svelte-1m5shf{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-3);background:var(--surface);color:var(--accent-text)}.who-card.teach.svelte-1m5shf .who-ic:where(.svelte-1m5shf){color:var(--teach-text)}.who-card.svelte-1m5shf h3:where(.svelte-1m5shf){margin:0;font-size:var(--fs-6);color:var(--ink)}.who-card.svelte-1m5shf ul:where(.svelte-1m5shf){list-style:none;margin:0 0 var(--s3);padding:0;display:grid;gap:var(--s3)}.who-card.svelte-1m5shf li:where(.svelte-1m5shf){position:relative;padding-left:22px;color:var(--ink-2);line-height:1.55}.who-card.svelte-1m5shf li:where(.svelte-1m5shf):before{content:"";position:absolute;left:2px;top:.5em;width:10px;height:6px;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:rotate(-45deg)}.who-card.teach.svelte-1m5shf li:where(.svelte-1m5shf):before{border-color:var(--teach-text)}.who-card.svelte-1m5shf .btn:where(.svelte-1m5shf){margin-top:auto;background:var(--surface)}.scripts.svelte-1m5shf{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--s8);align-items:center}.scripts-copy.svelte-1m5shf{display:flex;flex-direction:column;gap:var(--s4)}.scripts-copy.svelte-1m5shf p:where(.svelte-1m5shf){margin:0;color:var(--ink-2);line-height:1.65;max-width:44ch}.glyphs.svelte-1m5shf{display:flex;align-items:baseline;gap:var(--s4)}.glyph.svelte-1m5shf{font-family:var(--font-han-serif);font-size:76px;line-height:1;color:var(--ink)}.glyph.hans.svelte-1m5shf{font-family:var(--font-han-serif-sc);color:var(--accent-text)}.glyph-sep.svelte-1m5shf{font-size:var(--fs-7);color:var(--ink-4)}.scripts-pair.svelte-1m5shf{display:grid;gap:var(--s4)}.script-card.svelte-1m5shf{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-4);padding:var(--s4) var(--s5) var(--s3)}.script-card.svelte-1m5shf .eyebrow:where(.svelte-1m5shf){margin-bottom:var(--s2)}.where.svelte-1m5shf{margin-left:var(--s2);font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-4)}.facts.svelte-1m5shf{list-style:none;margin:0;padding:var(--s5) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}.facts.svelte-1m5shf li:where(.svelte-1m5shf){display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-3);color:var(--ink-2)}.facts.svelte-1m5shf li:where(.svelte-1m5shf) .ic{flex:none;color:var(--accent-text)}.door.svelte-1m5shf{text-align:center;padding:var(--s8) var(--s6);border-radius:var(--r-4);background:var(--ink);color:var(--paper)}.door-zh.svelte-1m5shf{font-family:var(--font-han-serif);font-size:48px;line-height:1;color:var(--accent);margin:0 0 var(--s4)}.door.svelte-1m5shf h2:where(.svelte-1m5shf){color:var(--paper);margin:0 0 var(--s3)}.door-body.svelte-1m5shf{margin:0 0 var(--s6);color:color-mix(in oklab,var(--paper) 75%,var(--ink))}.door-login.svelte-1m5shf{border:1px solid color-mix(in oklab,var(--paper) 45%,var(--ink));color:var(--paper);background:transparent}.door-login.svelte-1m5shf:hover{background:color-mix(in oklab,var(--paper) 12%,var(--ink));text-decoration:none}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.reveal.svelte-1m5shf{animation:svelte-1m5shf-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 45%}@keyframes svelte-1m5shf-reveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}}}@media(max-width:1100px){.does-grid.svelte-1m5shf,.facts.svelte-1m5shf{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.public.svelte-1m5shf{gap:72px}.tones.svelte-1m5shf,.scripts.svelte-1m5shf{grid-template-columns:1fr;gap:var(--s6)}.tones-note.svelte-1m5shf{grid-column:1}.sheet-body.svelte-1m5shf{grid-template-columns:1fr;gap:var(--s5)}.sheet-words.svelte-1m5shf{padding:var(--s5) 0 0;border-left:0;border-top:1px dashed var(--rule)}.who.svelte-1m5shf{grid-template-columns:1fr}}@media(max-width:640px){.hero.svelte-1m5shf{padding-top:var(--s7)}.sheet.svelte-1m5shf{margin-top:calc(-1 * var(--s5));padding:var(--s5) var(--s4)}.tone-cards.svelte-1m5shf{grid-template-columns:repeat(2,minmax(0,1fr))}.does-grid.svelte-1m5shf,.facts.svelte-1m5shf{grid-template-columns:1fr}.who-card.svelte-1m5shf{padding:var(--s6) var(--s5)}.glyph.svelte-1m5shf{font-size:60px}.door.svelte-1m5shf{padding:var(--s7) var(--s5)}}
