.audio-license-footer[data-v-fdf4fe2f]{border-bottom:1px solid #d9e0e7;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:32px;padding:30px 0;display:grid}.footer-section-heading h2[data-v-fdf4fe2f]{margin:6px 0 0;font-size:1.25rem}.footer-section-heading p[data-v-fdf4fe2f]{color:#687784;margin:10px 0 0;line-height:1.6}.footer-kicker[data-v-fdf4fe2f]{color:#52606d;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800}.license-grid[data-v-fdf4fe2f]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.license-card[data-v-fdf4fe2f]{background:#fff;border:1px solid #dfe5eb;border-radius:14px;align-content:start;gap:7px;padding:18px;display:grid}.license-card>strong[data-v-fdf4fe2f]{color:#17202a;font-size:.96rem}.license-card>span[data-v-fdf4fe2f]{color:#687784;font-size:.84rem}.license-card p[data-v-fdf4fe2f]{color:#52606d;margin:2px 0;font-size:.86rem;line-height:1.5}.license-card a[data-v-fdf4fe2f]{color:#17202a;font-size:.84rem;font-weight:700}@media (width<=760px){.audio-license-footer[data-v-fdf4fe2f],.license-grid[data-v-fdf4fe2f]{grid-template-columns:1fr}.audio-license-footer[data-v-fdf4fe2f]{gap:20px}}.site-footer[data-v-6c846fb9]{background:#edf1f4;border-top:1px solid #d9e0e7;margin-top:16px}.site-footer-inner[data-v-6c846fb9]{width:min(1440px,100% - 48px);margin:0 auto}.project-footer[data-v-6c846fb9]{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:end;gap:32px;padding:28px 0 36px;display:grid}.footer-kicker[data-v-6c846fb9]{color:#52606d;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800}.project-footer h2[data-v-6c846fb9]{margin:6px 0 0;font-size:1.25rem}.project-footer p[data-v-6c846fb9]{color:#52606d;max-width:650px;margin:10px 0 0;line-height:1.6}.project-footer-links[data-v-6c846fb9]{color:#52606d;text-align:right;justify-items:end;gap:9px;font-size:.9rem;display:grid}.project-footer-links span a[data-v-6c846fb9]{color:#17202a;font-weight:700}.github-project-link[data-v-6c846fb9]{color:#17202a;border:1px solid #17202a;border-radius:999px;justify-content:center;align-items:center;margin-top:3px;padding:10px 15px;font-weight:800;text-decoration:none;display:inline-flex}.github-project-link[data-v-6c846fb9]:hover{color:#fff;background:#17202a}@media (width<=760px){.site-footer-inner[data-v-6c846fb9]{width:calc(100% - 24px)}.project-footer[data-v-6c846fb9]{grid-template-columns:1fr;gap:20px}.project-footer-links[data-v-6c846fb9]{text-align:left;justify-items:start}}.site-navbar[data-v-d6b580e1]{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #d9e0e7;width:100%;position:sticky;top:0}.site-navbar-inner[data-v-d6b580e1]{justify-content:space-between;align-items:stretch;gap:32px;width:min(1440px,100% - 48px);min-height:76px;margin:0 auto;display:flex}.site-brand[data-v-d6b580e1]{color:#17202a;letter-spacing:-.02em;align-items:center;gap:12px;font-weight:900;text-decoration:none;display:inline-flex}.site-brand-mark[data-v-d6b580e1]{color:#17202a;flex:none;width:42px;height:42px;transition:transform .16s}.site-brand:hover .site-brand-mark[data-v-d6b580e1],.site-brand:focus-visible .site-brand-mark[data-v-d6b580e1]{transform:translateY(-2px)}.site-nav-links[data-v-d6b580e1]{align-items:stretch;gap:4px;display:flex}.site-nav-links a[data-v-d6b580e1]{color:#52606d;justify-content:center;align-items:center;min-width:96px;padding:0 14px;font-size:.88rem;font-weight:800;text-decoration:none;transition:color .14s,background .14s;display:inline-flex;position:relative}.site-nav-links a[data-v-d6b580e1]:hover{color:#17202a;background:#f7f9fb}.site-nav-links a.active[data-v-d6b580e1]{color:#17202a}.site-nav-links a.active[data-v-d6b580e1]:after{content:"";background:#17202a;border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:0;left:12px;right:12px}.site-brand[data-v-d6b580e1]:focus-visible,.site-nav-links a[data-v-d6b580e1]:focus-visible{outline-offset:-3px;outline:3px solid #17202a38}@media (width<=720px){.site-navbar-inner[data-v-d6b580e1]{gap:8px;width:min(100% - 24px,1440px);min-height:66px}.site-brand[data-v-d6b580e1]{gap:8px;font-size:.84rem}.site-brand-mark[data-v-d6b580e1]{width:36px;height:36px}.site-nav-links[data-v-d6b580e1]{gap:0}.site-nav-links a[data-v-d6b580e1]{min-width:auto;padding:0 9px;font-size:.74rem}.site-nav-links a.active[data-v-d6b580e1]:after{left:7px;right:7px}}@media (width<=520px){.site-brand span[data-v-d6b580e1]{display:none}.site-nav-links[data-v-d6b580e1]{flex:1;justify-content:flex-end}.site-nav-links a[data-v-d6b580e1]{padding:0 7px;font-size:.7rem}}.tongue-diagram[data-v-ef2364d8]{background:#fbfcfd;border:1px solid #d9e0e7;border-radius:16px;margin:0;padding:14px}svg[data-v-ef2364d8]{width:100%;height:auto;display:block}.face-outline[data-v-ef2364d8]{fill:#f7fbfe;stroke:#84b9da;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.nose-line[data-v-ef2364d8],.upper-lip[data-v-ef2364d8],.lower-lip[data-v-ef2364d8],.chin-line[data-v-ef2364d8]{fill:none;stroke:#84b9da;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.hard-palate[data-v-ef2364d8],.soft-palate[data-v-ef2364d8],.pharynx[data-v-ef2364d8],.mouth-floor[data-v-ef2364d8],.alveolar-ridge[data-v-ef2364d8]{fill:none;stroke:#39546d;stroke-linecap:round;stroke-linejoin:round}.hard-palate[data-v-ef2364d8],.soft-palate[data-v-ef2364d8],.pharynx[data-v-ef2364d8],.mouth-floor[data-v-ef2364d8]{stroke-width:4px}.alveolar-ridge[data-v-ef2364d8]{stroke-width:6px}.teeth path[data-v-ef2364d8]{fill:#fff;stroke:#8393a0;stroke-linejoin:round;stroke-width:2px}.tongue[data-v-ef2364d8]{fill:#ddf2e4;stroke:#23834c;stroke-linejoin:round;stroke-width:5px}.tongue-midline[data-v-ef2364d8]{fill:none;stroke:#6fb187;stroke-linecap:round;stroke-width:2px}.target-halo[data-v-ef2364d8]{fill:#c9433621}.target[data-v-ef2364d8]{fill:#c943364d;stroke:#bd3e32;stroke-width:3px}.target-line[data-v-ef2364d8]{fill:none;stroke:#bd3e32;stroke-dasharray:5 4;stroke-width:2px}.target-label[data-v-ef2364d8]{fill:#8a1f17;font-size:13px;font-weight:800}.airflow path[data-v-ef2364d8]{fill:none;stroke:#2d6fbb;stroke-linecap:round;stroke-width:3px}.airflow text[data-v-ef2364d8]{fill:#2d6fbb;font-size:12px;font-weight:800}.anatomy-labels text[data-v-ef2364d8]{fill:#687784;font-size:11px;font-weight:700}.anatomy-labels line[data-v-ef2364d8]{stroke:#9aa7b2;stroke-width:1.5px}.diagram-explanation[data-v-ef2364d8]{flex-wrap:wrap;gap:8px 14px;margin-top:7px;display:flex}.diagram-key[data-v-ef2364d8]{color:#687784;align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:inline-flex}.diagram-key i[data-v-ef2364d8]{border-radius:3px;width:12px;height:12px;display:inline-block}.key-tongue[data-v-ef2364d8]{background:#ddf2e4;border:2px solid #23834c}.key-target[data-v-ef2364d8]{background:#c943364d;border:2px solid #bd3e32}.key-air[data-v-ef2364d8]{background:#2d6fbb;border-radius:999px!important;height:3px!important}figcaption[data-v-ef2364d8]{color:#687784;margin-top:9px;font-size:.73rem;line-height:1.45}figcaption strong[data-v-ef2364d8]{color:#425466}.initial-guide[data-v-0312fbaf]{background:#fff;border:1px solid #d9e0e7;border-radius:18px;min-width:0;overflow:hidden}.initial-guide-header[data-v-0312fbaf]{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;display:flex}.initial-guide-label[data-v-0312fbaf]{color:#687784;letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:800}.initial-guide-title-row[data-v-0312fbaf]{align-items:baseline;gap:12px;margin-top:4px;display:flex}.initial-guide-title-row h3[data-v-0312fbaf]{margin:0;font-size:2.1rem;line-height:1}.initial-guide-title-row strong[data-v-0312fbaf]{color:#52606d;font-size:1rem}.initial-family[data-v-0312fbaf]{color:#425466;background:#eef4f8;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:800}.initial-guide-facts[data-v-0312fbaf]{background:#d9e0e7;border:1px solid #d9e0e7;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 22px 18px;display:grid;overflow:hidden}.initial-guide-facts>div[data-v-0312fbaf]{background:#f8fafb;gap:4px;min-width:0;padding:9px 10px;display:grid}.initial-guide-facts dt[data-v-0312fbaf]{color:#7a8793;letter-spacing:.04em;text-transform:uppercase;font-size:.64rem;font-weight:800}.initial-guide-facts dd[data-v-0312fbaf]{color:#425466;margin:0;font-size:.76rem;font-weight:800;line-height:1.3}.initial-guide-layout[data-v-0312fbaf]{grid-template-columns:1fr;gap:20px;padding:0 22px 22px;display:grid}.initial-guide-copy[data-v-0312fbaf]{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px 24px;display:grid}.initial-guide-copy section[data-v-0312fbaf]{min-width:0}.initial-guide-copy h4[data-v-0312fbaf]{margin:0 0 4px;font-size:.82rem}.initial-guide-copy p[data-v-0312fbaf]{color:#52606d;margin:0;font-size:.88rem;line-height:1.58}.contrast-tip[data-v-0312fbaf]{background:#eef8f2;border-radius:12px;padding:12px 14px}.contrast-tip p[data-v-0312fbaf]{color:#185c37}.initial-guide-sources[data-v-0312fbaf]{color:#7a8793;border-top:1px solid #e3e8ee;flex-wrap:wrap;gap:7px 12px;padding:12px 22px 16px;font-size:.7rem;display:flex}.initial-guide-sources span[data-v-0312fbaf]{font-weight:800}.initial-guide-sources a[data-v-0312fbaf]{color:#52606d}@media (width<=780px){.initial-guide-facts[data-v-0312fbaf]{grid-template-columns:repeat(2,minmax(0,1fr))}.initial-guide-copy[data-v-0312fbaf]{grid-template-columns:1fr}}.pronunciation-glossary[data-v-8642513c]{background:#f8fafb;border:1px solid #d9e0e7;border-radius:18px;gap:16px;padding:20px;display:grid}.glossary-heading[data-v-8642513c]{justify-content:space-between;align-items:end;gap:24px;display:flex}.glossary-heading .eyebrow[data-v-8642513c]{margin:0 0 4px}.glossary-heading h3[data-v-8642513c]{margin:0;font-size:1.15rem}.glossary-heading>p[data-v-8642513c]{color:#687784;max-width:640px;margin:0;font-size:.83rem;line-height:1.5}.glossary-grid[data-v-8642513c]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.glossary-term[data-v-8642513c]{background:#fff;border:1px solid #d9e0e7;border-radius:13px;overflow:hidden}.glossary-term summary[data-v-8642513c]{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:13px 14px;list-style:none;display:flex}.glossary-term summary[data-v-8642513c]::-webkit-details-marker{display:none}.glossary-term summary>span[data-v-8642513c]:first-child{gap:4px;display:grid}.glossary-term summary strong[data-v-8642513c]{color:#17202a;font-size:.88rem}.glossary-term summary small[data-v-8642513c]{color:#687784;font-size:.74rem;line-height:1.35}.glossary-plus[data-v-8642513c]{color:#425466;background:#eef4f8;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:1.1rem;font-weight:700;transition:transform .15s;display:grid}.glossary-term[open] .glossary-plus[data-v-8642513c]{transform:rotate(45deg)}.glossary-body[data-v-8642513c]{border-top:1px solid #edf0f3;gap:11px;padding:0 14px 14px;display:grid}.glossary-body>p[data-v-8642513c]{color:#52606d;margin:12px 0 0;font-size:.8rem;line-height:1.55}.glossary-test[data-v-8642513c]{color:#285c3d;background:#eef8f2;border-radius:10px;gap:4px;padding:10px 11px;font-size:.76rem;line-height:1.45;display:grid}@media (width<=1050px){.glossary-grid[data-v-8642513c]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.glossary-heading[data-v-8642513c]{flex-direction:column;align-items:start;gap:8px}.glossary-grid[data-v-8642513c]{grid-template-columns:1fr}}.initial-guides-section[data-v-e84f8cf5]{border-top:1px solid #d9e0e7;gap:18px;margin-top:30px;padding-top:28px;display:grid}.initial-guides-heading[data-v-e84f8cf5]{justify-content:space-between;align-items:end;gap:24px;display:flex}.initial-guides-heading .eyebrow[data-v-e84f8cf5]{margin:0 0 5px}.initial-guides-heading h2[data-v-e84f8cf5]{margin:0;font-size:clamp(1.35rem,2vw,1.75rem)}.initial-guides-heading>p[data-v-e84f8cf5]{color:#687784;max-width:620px;margin:0;font-size:.86rem;line-height:1.55}.initial-guides-grid[data-v-e84f8cf5]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}@media (width<=1050px){.initial-guides-grid[data-v-e84f8cf5]{grid-template-columns:1fr}}@media (width<=720px){.initial-guides-heading[data-v-e84f8cf5]{flex-direction:column;align-items:start;gap:10px}}:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.hero{margin-bottom:32px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.8rem;font-weight:700}h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.hero-copy{color:#52606d;max-width:760px;margin:16px 0 0;font-size:1.05rem;line-height:1.7}.trainer-card{background:#fff;border:1px solid #d9e0e7;border-radius:20px;padding:28px;box-shadow:0 18px 50px #17202a14}.catalog-status{color:#52606d;background:#f7f9fb;border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:14px 16px;display:flex}.catalog-status strong{color:#17202a}.controls-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.field-label{color:#52606d;margin-bottom:10px;font-size:.85rem;font-weight:700;display:block}select{background:#fff;border:1px solid #cfd8e3;border-radius:12px;width:100%;padding:12px 14px}.comparison{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:28px;display:grid}.sound-card{text-align:center;background:#f7f9fb;border:1px solid #e3e8ee;border-radius:18px;justify-items:center;gap:12px;min-height:310px;padding:30px 20px;display:grid}.sound-card>strong{font-size:clamp(2.6rem,8vw,4.8rem);line-height:1}.sound-card button{color:#fff;background:#17202a;border:0;border-radius:999px;min-width:130px;padding:10px 18px}.sound-card a{font-size:.85rem}.sound-label,.sample-origin{color:#687784;font-weight:700}.sample-origin{font-size:.82rem;font-weight:600}.sample-origin.missing{font-weight:500}.hanzi{color:#52606d;font-size:1.4rem}.versus{font-size:1.6rem;font-weight:800}.selection-notice,.audio-notice,.audio-error,.speaker-status{color:#52606d;background:#f7f9fb;border-radius:12px;margin:20px 0 0;padding:14px 16px;line-height:1.5}.audio-error{color:#8a1f17;background:#fff3f1}.speaker-status.preferred{color:#185c37;background:#eef8f2}.flashcard-section{border-top:1px solid #d9e0e7;margin-top:36px;padding-top:32px}.flashcard-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.flashcard-heading h2{margin:0;font-size:clamp(1.6rem,4vw,2.2rem)}.flashcard-heading p:not(.eyebrow){color:#52606d;max-width:650px;margin:10px 0 0;line-height:1.6}.flashcard-score{text-align:center;background:#f7f9fb;border-radius:14px;min-width:120px;padding:12px 16px;display:grid}.flashcard-score strong{font-size:1.8rem;line-height:1}.flashcard-score span{color:#687784;margin-top:6px;font-size:.8rem}.flashcard-card{background:#f7f9fb;border:1px solid #e3e8ee;border-radius:18px;justify-items:center;gap:18px;margin-top:24px;padding:28px;display:grid}.flashcard-round-label{color:#52606d;font-weight:800}.flashcard-player{color:#fff;background:#17202a;border:0;border-radius:999px;min-width:190px;padding:14px 22px;font-weight:800}.flashcard-hint{color:#687784;margin:-4px 0 0;font-size:.88rem}.flashcard-choices{grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;width:min(560px,100%);display:grid}.flashcard-choices button{color:#17202a;background:#fff;border:1px solid #cfd8e3;border-radius:14px;gap:4px;padding:18px;display:grid}.flashcard-choices button span{color:#687784;font-size:.8rem;font-weight:700}.flashcard-choices button strong{font-size:1.8rem}.flashcard-choices button.correct{background:#eef8f2;border-color:#2e7d4f}.flashcard-choices button.wrong{background:#fff3f1;border-color:#b74337}.flashcard-result{border-radius:14px;gap:8px;width:min(560px,100%);padding:16px;display:grid}.flashcard-result.correct{color:#185c37;background:#eef8f2}.flashcard-result.wrong{color:#8a1f17;background:#fff3f1}.flashcard-result button{color:inherit;background:0 0;border:1px solid;border-radius:999px;justify-self:start;margin-top:6px;padding:9px 14px;font-weight:700}.audio-metadata{border:1px solid #d9e0e7;border-radius:16px;margin-top:24px;padding:20px}.verified-badge{color:#185c37;background:#eef8f2;border-radius:999px;margin-bottom:16px;padding:6px 10px;font-size:.8rem;font-weight:800;display:inline-block}.metadata-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.metadata-columns article{background:#f7f9fb;border-radius:12px;padding:16px}.metadata-columns article>strong{font-size:1.3rem}dl{margin:12px 0 0}dl>div{grid-template-columns:90px 1fr;gap:10px;padding:6px 0;display:grid}dt{color:#687784;font-weight:700}dd{margin:0}@media (width<=840px){.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.page-shell{padding:36px 0}.trainer-card{padding:20px}.comparison,.metadata-columns{grid-template-columns:1fr}.versus{text-align:center}.flashcard-heading{flex-direction:column}.flashcard-score{width:100%}}@media (width<=520px){.controls-grid,.flashcard-choices{grid-template-columns:1fr}.flashcard-card{padding:20px}dl>div{grid-template-columns:1fr;gap:2px}}.app-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:44px;display:flex}.brand{color:#17202a;letter-spacing:-.02em;font-weight:900;text-decoration:none}.app-tabs{background:#fff;border:1px solid #d9e0e7;border-radius:999px;gap:6px;padding:5px;display:flex}.app-tabs a{color:#52606d;border-radius:999px;padding:9px 15px;font-size:.9rem;font-weight:800;text-decoration:none}.app-tabs a.active{color:#fff;background:#17202a}.flashcards-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);align-items:start;gap:22px;display:grid}.flashcard-main-panel h2,.mini-dashboard h2,.session-finished h2{margin:0}.flashcard-setup>div:first-child>p:not(.eyebrow),.session-finished>p:not(.eyebrow){color:#52606d;margin:10px 0 0;line-height:1.6}.flashcard-setup-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;margin-top:26px;display:grid}.primary-action{color:#fff;background:#17202a;border:0;border-radius:12px;min-height:44px;padding:11px 18px;font-weight:800}.session-source-note{color:#687784;margin:18px 0 0;font-size:.88rem;line-height:1.5}.flashcard-test-card{background:#f7f9fb;border:1px solid #e3e8ee;border-radius:18px;justify-items:center;gap:18px;margin-top:30px;padding:30px;display:grid}.flashcard-progress-row{color:#52606d;grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:14px;width:100%;font-size:.85rem;font-weight:800;display:grid}.flashcard-progress-row progress{accent-color:#17202a;width:100%;height:8px}.flashcard-choice{transition:opacity .18s,box-shadow .18s,transform .18s;position:relative}.flashcard-choice.is-active{z-index:1;transform:translateY(-1px);box-shadow:0 0 0 3px #28588b33,0 12px 24px #17202a1f}.flashcard-choice.is-dimmed{opacity:.46}.flashcard-choice-answer{width:100%;min-height:112px}.flashcard-choice.correct .flashcard-choice-answer{background:#eef8f2;border-color:#2e7d4f}.flashcard-choice.wrong .flashcard-choice-answer{background:#fff3f1;border-color:#b74337}.flashcard-choice-audio{color:#17202a;cursor:pointer;background:#fff;border:1px solid #cfd8e3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;position:absolute;bottom:10px;right:10px}.flashcard-choice-audio svg{flex:0 0 18px;width:18px;height:18px;display:block}.flashcard-choice-audio:hover,.flashcard-choice-audio:focus-visible{border-color:#17202a;outline:0;box-shadow:0 0 0 3px #17202a1f}.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}.session-finished{background:#eef8f2;border:1px solid #cfe5d8;border-radius:18px;margin-top:30px;padding:28px}.session-finished .primary-action{margin-top:18px}.mini-dashboard{background:#fff;border:1px solid #d9e0e7;border-radius:20px;padding:24px;position:sticky;top:20px;box-shadow:0 18px 50px #17202a0f}.dashboard-title-row{border-bottom:1px solid #e3e8ee;padding-bottom:18px}.dashboard-section{border-bottom:1px solid #e3e8ee;padding:20px 0}.dashboard-section h3{margin:0 0 13px;font-size:.92rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid article{background:#f7f9fb;border-radius:12px;gap:5px;padding:12px;display:grid}.metric-grid strong{font-size:1.35rem;line-height:1}.metric-grid span{color:#687784;font-size:.72rem}.dashboard-empty{color:#687784;margin:0;font-size:.85rem;line-height:1.5}.final-error-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.final-error-list li{background:#fff3f1;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.final-error-list li div{gap:2px;display:grid}.final-error-list li span{color:#7a5a57;font-size:.75rem}.final-error-list li>b{color:#8a1f17;font-size:.86rem}.dashboard-reset{color:#687784;background:#fff;border:1px solid #d9e0e7;border-radius:11px;width:100%;margin-top:18px;padding:10px 12px;font-size:.78rem;font-weight:700}@media (width<=980px){.flashcards-layout{grid-template-columns:1fr}.mini-dashboard{position:static}.flashcard-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.app-header{flex-direction:column;align-items:stretch;margin-bottom:30px}.app-tabs{grid-template-columns:repeat(2,1fr);display:grid}.app-tabs a{text-align:center}.flashcard-setup-grid,.metric-grid.compact{grid-template-columns:1fr}.flashcard-test-card{padding:20px}.flashcard-progress-row{grid-template-columns:1fr}}.tone-pairs-layout{grid-template-columns:minmax(0,1.65fr) minmax(290px,.7fr);align-items:start;gap:22px;display:grid}.tone-pairs-main{min-width:0}.tone-setup-copy h2,.tone-dashboard h2,.tone-listen-stage h2{margin:0}.tone-setup-copy>p:not(.eyebrow){color:#52606d;max-width:850px;margin:9px 0 0;line-height:1.6}.tone-selector-grid{grid-template-columns:.8fr 1fr;gap:16px;margin-top:24px;display:grid}.tone-selector-grid fieldset,.tone-answer-grid fieldset{border:1px solid #d9e0e7;border-radius:14px;min-width:0;margin:0;padding:16px}.tone-selector-grid legend,.tone-answer-grid legend{color:#52606d;padding:0 7px;font-size:.82rem;font-weight:800}.tone-checkboxes{gap:8px;display:grid}.first-tone-options{grid-template-columns:repeat(4,minmax(0,1fr))}.second-tone-options{grid-template-columns:repeat(5,minmax(0,1fr))}.tone-checkboxes label{cursor:pointer;position:relative}.tone-checkboxes input{opacity:0;pointer-events:none;position:absolute}.tone-checkboxes span{color:#52606d;text-align:center;border:1px solid #cfd8e3;border-radius:11px;place-items:center;min-height:54px;padding:6px;font-size:.82rem;font-weight:800;display:grid}.tone-checkboxes input:checked+span{color:#fff;background:#17202a;border-color:#17202a}.tone-checkboxes input:focus-visible+span{outline-offset:2px;outline:3px solid #17202a38}.tone-option-content{gap:2px}.tone-option-content small{font-size:.7rem;font-weight:800}.tone-symbol{font-size:1.55rem;font-weight:900;line-height:1}.tone-session-row{grid-template-columns:minmax(150px,190px) minmax(220px,1fr) auto;align-items:end;gap:14px;margin-top:18px;display:grid}.tone-selection-summary{background:#f5f7f9;border-radius:11px;align-items:baseline;gap:8px;min-height:44px;padding:10px 13px;display:flex}.tone-selection-summary strong{font-size:1.25rem}.tone-selection-summary span{color:#687784;font-size:.78rem}.tone-question-card{background:#f8fafb;border:1px solid #e3e8ee;border-radius:18px;gap:22px;margin-top:30px;padding:28px;display:grid}.tone-progress{color:#52606d;grid-template-columns:auto minmax(150px,1fr);align-items:center;gap:14px;font-size:.84rem;font-weight:800;display:grid}.tone-progress progress{accent-color:#17202a;width:100%;height:8px}.tone-listen-stage{text-align:center;justify-items:center;gap:9px;padding:16px 0 5px;display:grid}.question-kicker{color:#687784;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.revealed-word{font-size:clamp(2.8rem,7vw,5rem)}.revealed-pinyin{color:#52606d;margin:0;font-size:1rem}.tone-player{color:#fff;background:#17202a;border:0;border-radius:999px;min-width:190px;margin-top:8px;padding:13px 20px;font-weight:850}.tone-hint{color:#7a8793;margin:0;font-size:.78rem}.tone-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tone-answer-grid.locked{opacity:.62}.tone-answer-buttons{gap:7px;display:grid}.tone-answer-buttons.four{grid-template-columns:repeat(4,minmax(0,1fr))}.tone-answer-buttons.five{grid-template-columns:repeat(5,minmax(0,1fr))}.tone-answer-buttons button{color:#425466;background:#fff;border:1px solid #cfd8e3;border-radius:11px;place-items:center;gap:2px;min-height:58px;font-weight:850;display:grid}.tone-answer-buttons button .tone-symbol{font-size:1.4rem}.tone-answer-buttons button.selected{color:#fff;background:#17202a;border-color:#17202a}.confirm-tone-answer{color:#fff;background:#17202a;border:0;border-radius:12px;justify-self:center;min-width:200px;padding:12px 18px;font-weight:850}.confirm-tone-answer:disabled{opacity:.42}.tone-result{border-radius:14px;gap:12px;padding:17px;display:grid}.tone-result>div{gap:4px;display:grid}.tone-result.correct{color:#185c37;background:#eef8f2}.tone-result.wrong{color:#8a1f17;background:#fff3f1}.tone-result button{color:inherit;background:0 0;border:1px solid;border-radius:10px;justify-self:start;padding:9px 13px;font-weight:800}.sandhi-note{border-top:1px solid;margin:0;padding-top:10px;line-height:1.55}.tone-pedagogy-note{background:#eef4f8;border-radius:14px;margin-top:24px;padding:16px 18px}.tone-pedagogy-note p{color:#425466;margin:5px 0 0;line-height:1.6}.tone-dashboard{position:sticky;top:96px}@media (width<=1080px){.tone-pairs-layout,.tone-selector-grid,.tone-answer-grid{grid-template-columns:1fr}.tone-dashboard{position:static}}@media (width<=720px){.second-tone-options,.tone-answer-buttons.five{grid-template-columns:repeat(3,minmax(0,1fr))}.tone-session-row{grid-template-columns:1fr}.tone-question-card{padding:20px}.tone-progress{grid-template-columns:1fr}}@media (width<=480px){.first-tone-options,.tone-answer-buttons.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.tone-select-help{color:#687784;margin-top:7px;font-size:.75rem;line-height:1.4;display:block}.neutral-tone-note{color:#425466;background:#eef4f8;border-radius:12px;margin:18px 0 0;padding:13px 15px;font-size:.84rem;line-height:1.55}.neutral-tone-note strong{color:#17202a}.neutral-tone-note a{font-weight:800}.tone-option-content{grid-template-columns:auto auto;grid-template-areas:"number symbol""label label";place-content:center;column-gap:8px}.tone-option-content .tone-number{grid-area:number;font-size:1.9rem;font-weight:900;line-height:1}.tone-option-content .tone-symbol{grid-area:symbol;align-self:center;font-size:1.35rem}.tone-option-content small{grid-area:label}.tone-study-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.tone-study-options label{cursor:pointer;background:#fbfcfd;border:1px solid #d9e0e7;border-radius:12px;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.tone-study-options input{accent-color:#17202a;width:18px;height:18px;margin-top:2px}.tone-study-options span{gap:3px;display:grid}.tone-study-options strong{color:#25313c;font-size:.86rem}.tone-study-options small{color:#687784;line-height:1.4}.tone-answer-buttons button{min-height:82px}.tone-answer-number{font-size:clamp(2rem,3vw,2.65rem);font-weight:900;line-height:.95}.tone-answer-buttons button span{font-size:.74rem}.tone-question-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.reveal-tone-answer,.stop-study-button{color:#344452;background:#fff;border:1px solid #9ba8b4;border-radius:12px;min-width:170px;padding:12px 18px;font-weight:850}.reveal-tone-answer:disabled{opacity:.42}.stop-study-button{color:#8a1f17;border-color:#b74337;min-width:auto;padding:8px 12px}.automation-status{color:#52606d;margin:3px 0 0;font-size:.78rem;font-weight:750}.tone-result.study{color:#344452;background:#eef4f8}.tone-answer-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:2px;display:grid}.tone-answer-comparison section{background:#ffffff9e;border:1px solid #52606d33;border-radius:12px;gap:8px;padding:14px;display:grid}.tone-answer-comparison h3{margin:0;font-size:.82rem}.tone-answer-comparison small{opacity:.82}.tone-result-boxes{grid-template-columns:repeat(2,minmax(64px,96px));gap:10px;display:grid}.tone-result-boxes span{background:#fff;border:4px solid;border-radius:12px;place-items:center;min-height:76px;font-size:2.25rem;font-weight:950;line-height:1;display:grid}.tone-result-boxes span.correct{color:#23834c}.tone-result-boxes span.wrong{color:#c43f34}.tone-result-boxes span.empty{color:#9aa7b2;border-style:dashed}@media (width<=760px){.tone-study-options,.tone-answer-comparison{grid-template-columns:1fr}.tone-result-boxes{grid-template-columns:repeat(2,minmax(72px,1fr))}}.sentence-layout{grid-template-columns:minmax(0,1.6fr) minmax(290px,.7fr);align-items:start;gap:22px;display:grid}.sentence-main{min-width:0}.sentence-setup-copy h2,.sentence-dashboard h2{margin:0}.sentence-setup-copy>p:not(.eyebrow){color:#52606d;max-width:900px;margin:9px 0 0;line-height:1.6}.sentence-mode-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px;display:grid}.sentence-mode-tabs button{color:#52606d;background:#fff;border:1px solid #cfd8e3;border-radius:11px;padding:12px;font-weight:850}.sentence-mode-tabs button.active{color:#fff;background:#17202a;border-color:#17202a}.sentence-controls{grid-template-columns:minmax(140px,180px) 1fr 1fr auto;align-items:stretch;gap:12px;margin-top:16px;display:grid}.sentence-check{background:#f8fafb;border:1px solid #d9e0e7;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.sentence-check input{flex:none;width:18px;height:18px}.sentence-check span{gap:2px;display:grid}.sentence-check strong{font-size:.82rem}.sentence-check small{color:#687784;font-size:.72rem}.sentence-catalog-warning{color:#76510a;background:#fff4df;border-radius:12px;padding:14px}.sentence-question{background:#f8fafb;border:1px solid #e3e8ee;border-radius:18px;gap:22px;margin-top:28px;padding:28px;display:grid}.sentence-listen-stage{text-align:center;justify-items:center;gap:9px;padding:12px 0;display:grid}.sentence-listen-stage h2{margin:0}.sentence-hanzi{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.25}.sentence-pinyin,.sentence-translation{color:#52606d;margin:0}.sentence-pinyin{font-size:1.05rem}.sentence-translation{font-size:.92rem}.sentence-answer-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.sentence-answer-grid label{background:#fff;border:1px solid #d9e0e7;border-radius:12px;gap:6px;padding:10px;display:grid}.sentence-answer-grid label>span{color:#687784;font-size:.75rem}.sentence-answer-grid select{width:100%;min-width:0}.sentence-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.sentence-actions>button:not(.primary-action){color:#17202a;background:#fff;border:1px solid #17202a;border-radius:11px;padding:11px 16px;font-weight:850}.sentence-result{color:#185c37;background:#eef8f2;border-radius:14px;gap:16px;padding:18px;display:grid}.sentence-result.study{color:#354b5e;background:#eef4f8}.sentence-result-heading{gap:4px;display:grid}.sentence-result-table{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;display:grid}.sentence-result-table article{color:#17202a;text-align:center;background:#ffffffc7;border:1px solid #17202a21;border-radius:12px;gap:6px;padding:12px;display:grid}.sentence-result-hanzi{font-size:1.8rem}.sentence-result-table article>small{color:#687784}.sentence-result-table article>div{gap:3px;display:grid}.sentence-result-table article>div>span{color:#687784;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.sentence-result-table article>div>strong{border:2px solid #aeb8c2;border-radius:9px;place-items:center;min-height:38px;font-size:1.1rem;display:grid}.sentence-result-table strong.correct{color:#185c37;background:#eef8f2;border-color:#2e7d4f}.sentence-result-table strong.wrong{color:#8a1f17;background:#fff3f1;border-color:#b74337}.sentence-result-table strong.empty{color:#7a8793}.sentence-source{border-top:1px solid;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:10px;font-size:.76rem;display:flex}.sentence-source a{color:inherit;font-weight:800}.sentence-result>button{color:inherit;background:0 0;border:1px solid;border-radius:10px;justify-self:start;padding:9px 13px;font-weight:850}.sentence-dashboard{position:sticky;top:96px}.sentence-dashboard>h2{margin-top:5px}.sentence-dashboard .dashboard-reset{margin-top:16px}@media (width<=1120px){.sentence-layout{grid-template-columns:1fr}.sentence-dashboard{position:static}.sentence-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.sentence-controls,.sentence-mode-tabs{grid-template-columns:1fr}.sentence-question{padding:18px}.sentence-result-table{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=430px){.sentence-result-table{grid-template-columns:1fr}}.pronunciation-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,.62fr);align-items:start;gap:22px;display:grid}.pronunciation-main{min-width:0}.pronunciation-intro h2,.pronunciation-help h2{margin:0}.pronunciation-intro>p:not(.eyebrow){color:#52606d;max-width:820px;margin:9px 0 0;line-height:1.6}.pronunciation-session-setup{background:#f8fafb;border:1px solid #d9e0e7;border-radius:16px;grid-template-columns:minmax(180px,260px) minmax(220px,auto);align-items:end;gap:12px;margin-top:24px;padding:18px;display:grid}.pronunciation-session-setup .primary-action,.pronunciation-session-setup .secondary-record-button{min-height:46px}.pronunciation-session-progress{background:#eef4f8;border-radius:14px;grid-template-columns:auto minmax(160px,1fr);align-items:center;gap:10px 16px;margin-top:16px;padding:14px 16px;display:grid}.pronunciation-session-progress progress{width:100%}.pronunciation-session-progress span{color:#52606d;grid-column:1/-1;font-size:.84rem}.pronunciation-session-summary{background:#eef8f2;border:1px solid #cfe4d7;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:center;gap:12px;margin-top:16px;padding:16px;display:grid}.pronunciation-session-summary>div{gap:3px;display:grid}.pronunciation-session-summary span{color:#4e6d5b;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:800}.pronunciation-session-summary strong{font-size:1.15rem}.pronunciation-free-note{color:#687784;margin:16px 0 -8px;font-size:.82rem}.pronunciation-selectors{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.pronunciation-target{background:#f8fafb;border:1px solid #d9e0e7;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:20px;display:flex}.pronunciation-target>div{gap:3px;display:grid}.pronunciation-target span{color:#687784;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:800}.pronunciation-target strong{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1}.pronunciation-target small{color:#687784}.pronunciation-target button,.record-button{color:#fff;background:#17202a;border:0;border-radius:999px;padding:12px 18px;font-weight:850}.microphone-panel{border:1px solid #d9e0e7;border-radius:16px;gap:16px;margin-top:20px;padding:20px;display:grid}.privacy-note{background:#eef4f8;border-radius:13px;padding:15px 17px}.privacy-note p{color:#425466;margin:5px 0 0;line-height:1.55}.record-actions{flex-wrap:wrap;gap:10px;display:flex}.record-button.recording{background:#8a1f17}.record-button:disabled{opacity:.45}.secondary-record-button{color:#17202a;background:#fff;border:1px solid #cfd8e3;border-radius:999px;padding:11px 16px;font-weight:800}.recording-status{color:#52606d;margin:0;font-weight:700}.microphone-error{color:#8a1f17;background:#fff3f1;border-radius:11px;margin:0;padding:12px 14px}.pronunciation-report{background:#fff;border:1px solid #d9e0e7;border-radius:18px;gap:20px;margin-top:26px;padding:24px;display:grid}.pronunciation-report-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.pronunciation-report-header h2{margin:3px 0 0}.pronunciation-score{font-size:2.7rem;line-height:1}.pronunciation-score small{color:#687784;font-size:.9rem}.pronunciation-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pronunciation-metrics article{background:#f5f7f9;border-radius:12px;gap:3px;padding:14px;display:grid}.pronunciation-metrics strong{font-size:1.4rem}.pronunciation-metrics span{color:#687784;font-size:.76rem}.pitch-chart{background:#fbfcfd;border:1px solid #e1e7ed;border-radius:14px;padding:16px}.chart-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.chart-title span{color:#687784;align-items:center;gap:6px;font-size:.75rem;display:flex}.chart-title i{border-radius:99px;width:12px;height:3px;display:inline-block}.reference-dot{background:#17202a}.user-dot{background:#2f6f9f}.pitch-chart svg{width:100%;height:220px;display:block;overflow:visible}.pitch-chart polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3px;vector-effect:non-scaling-stroke}.reference-line{stroke:#17202a}.user-line{stroke:#2f6f9f}.chart-midline{stroke:#d9e0e7;stroke-width:.6px;stroke-dasharray:3 3}.pronunciation-segments{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pronunciation-segments article{border-radius:12px;padding:14px}.pronunciation-segments article.ok{color:#185c37;background:#eef8f2}.pronunciation-segments article.adjust{color:#8a4b08;background:#fff7ed}.pronunciation-segments article>div{justify-content:space-between;gap:10px;display:flex}.pronunciation-segments p{margin:8px 0;line-height:1.45}.pronunciation-segments small{opacity:.82}.segmental-limit-note{background:#f4f1fb;border-radius:14px;padding:16px 18px}.segmental-limit-note p{color:#4e4a58;margin:6px 0 0;line-height:1.55}.pronunciation-next-card{color:#fff;background:#17202a;border:0;border-radius:999px;justify-self:start;padding:12px 18px;font-weight:850}.pronunciation-help{position:sticky;top:96px}.pronunciation-help ol{color:#425466;gap:11px;padding-left:20px;line-height:1.5;display:grid}.pronunciation-help-note{color:#425466;background:#eef4f8;border-radius:11px;padding:13px;line-height:1.5}@media (width<=1080px){.pronunciation-layout{grid-template-columns:1fr}.pronunciation-help{position:static}}@media (width<=720px){.pronunciation-session-setup,.pronunciation-session-summary,.pronunciation-selectors,.pronunciation-metrics,.pronunciation-segments,.pronunciation-session-progress{grid-template-columns:1fr}.pronunciation-session-progress span{grid-column:auto}.pronunciation-target,.pronunciation-report-header,.chart-title{flex-direction:column;align-items:flex-start}.pitch-chart svg{height:170px}}.pronunciation-session-setup{align-items:center;display:flex}.recording-waveform{background:#17202a;border-radius:13px;align-items:center;gap:3px;height:76px;padding:10px 12px;display:flex;overflow:hidden}.recording-waveform span{transform-origin:50%;background:linear-gradient(#7dd3fc,#fda4af);border-radius:99px;flex:1;min-width:2px;height:100%;transition:transform 55ms linear}@media (width<=720px){.pronunciation-session-setup{flex-direction:column;align-items:stretch}}.flashcard-setup>div:first-child>p,.tone-setup-copy .eyebrow,.tone-setup-copy>p:last-child,.tone-study-options,.tone-session-row>label,.sentence-setup-copy .eyebrow,.sentence-setup-copy>p:last-child,.sentence-controls>label,.pronunciation-intro .eyebrow,.pronunciation-intro>p:last-child{display:none!important}.flashcard-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.tone-session-row,.sentence-controls{align-items:center}.flashcard-result.study{background:#fff9e8;border-color:#ead7a0}@media (width<=760px){.flashcard-setup-grid{grid-template-columns:1fr}}.page-shell{width:min(1440px,100% - 48px);margin:0 auto;padding:48px 0 64px}.hero{max-width:980px}@media (width>=1600px){.page-shell{width:min(1480px,100% - 64px)}}@media (width<=720px){.page-shell{width:calc(100% - 24px);padding:32px 0 44px}}
