:root{color:#1c2d28;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1c2d28;--forest:#173f35;--leaf:#4d8a6b;--leaf-light:#dce9df;--sand:#f5f2e9;--paper:#fffdf7;--gold:#e4a84b;--line:#aebfb5;--locked:#9baba3;background:#f5f2e9;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}main{min-height:calc(100vh - 69px)}body.path-dialog-open{overflow:hidden}button,a{font:inherit}button{cursor:pointer}.site-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f2e9eb;border-bottom:1px solid #173f351f;justify-content:space-between;align-items:center;padding:16px clamp(18px,5vw,72px);display:flex;position:sticky;top:0}.brand,.site-header nav{align-items:center;gap:12px;display:flex}.brand{color:var(--forest);background:0 0;border:0;text-decoration:none}.brand span{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:grid}.site-header nav a{color:var(--forest);text-decoration:none}.site-header nav button,.primary-action{color:#fff;background:var(--forest);border:0;border-radius:999px;padding:10px 18px;font-weight:750}.primary-action:disabled{cursor:not-allowed;opacity:.45}.site-header nav button:not(:last-child){color:#53675e;background:0 0;padding:8px 4px}.site-header nav button.is-active{color:var(--forest);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:6px;text-decoration-thickness:2px}.home-hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:clamp(50px,10vw,140px);min-height:min(760px,100vh - 69px);padding:clamp(80px,12vw,160px) clamp(22px,8vw,130px);display:grid}.home-hero h1,.account-page h1,.legal-page h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:.98}.home-hero h1{max-width:900px;font-size:clamp(3.3rem,8vw,7.8rem)}.home-hero>div>p:not(.eyebrow){color:#5c6d65;max-width:670px;margin:28px 0;font-size:1.1rem;line-height:1.7}.home-hero aside{border-left:2px solid var(--line);gap:9px;padding:8px 0 8px 24px;display:grid}.home-hero aside span{color:var(--leaf);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.home-hero aside p{color:#718078;margin:0;line-height:1.5}.action-row{flex-wrap:wrap;gap:10px;display:flex}.action-row .primary-action{width:auto;padding-inline:24px}.secondary-action{color:var(--forest);background:0 0;border:1px solid #173f3538;border-radius:999px;padding:12px 20px;font-weight:750}.content-section{border-top:1px solid #173f351a;padding:clamp(70px,9vw,130px) clamp(22px,8vw,130px)}.content-section>h2,.content-section--split h2{letter-spacing:-.045em;max-width:850px;margin:0 0 38px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,5vw,5rem);font-weight:500;line-height:1}.principle-grid,.steps-grid,.account-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.principle-grid article,.steps-grid article,.account-grid article{border-top:2px solid var(--line);padding:24px 0}.principle-grid p,.steps-grid p,.account-grid p,.content-section--split p{color:#687971;line-height:1.65}.steps-grid article span{color:var(--leaf);margin-bottom:28px;font-size:.78rem;font-weight:850;display:block}.content-section--split{grid-template-columns:.9fr 1.1fr;gap:clamp(40px,10vw,150px);display:grid}.course-structure{gap:0;margin:0;padding:0;list-style:none;display:grid}.course-structure li{border-bottom:1px solid #173f351f;grid-template-columns:.7fr 1.3fr;gap:20px;padding:20px 0;display:grid}.course-structure span{color:#687971}.account-page,.legal-page{width:min(100% - 40px,1120px);margin:0 auto;padding:clamp(70px,9vw,130px) 0}.account-page header,.legal-page>header{max-width:850px;margin-bottom:60px}.account-page h1,.legal-page h1{font-size:clamp(3rem,7vw,6.5rem)}.account-page header>p:last-child,.legal-page>header>p:last-child{color:#687971;line-height:1.65}.account-grid{grid-template-columns:repeat(2,1fr)}.account-grid article span,.contact-card span{color:var(--leaf);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:850}.account-grid article strong{margin-top:12px;font-size:1.25rem;display:block}.legal-page>div{max-width:820px}.legal-page h2{margin:42px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.legal-page p,.legal-page li{color:#5f7168;line-height:1.75}.pricing-card,.contact-card{background:var(--paper);border:1px solid #173f3529;border-radius:22px;margin-bottom:52px;padding:28px}.pricing-card h2{margin-top:0}.price{font-family:Georgia,Times New Roman,serif;font-size:4rem;font-weight:500;display:block}.contact-card{gap:12px;display:grid}.contact-card a{color:var(--forest);font-size:clamp(1.4rem,4vw,2.5rem);font-weight:750}.lesson-page{color:#282b2f;background:#fffdfb;position:relative}.lesson-page__header,.lesson-article,.lesson-page__footer{width:min(100% - 40px,780px);margin:0 auto}.lesson-page__header{border-bottom:1px solid #d5d1d9;padding:clamp(42px,7vw,80px) 0 38px}.lesson-page__header button,.lesson-page__footer button:first-child{color:#6551b6;background:0 0;border:0;padding:8px 0;font-weight:750}.lesson-page__header p{color:#718078;letter-spacing:.08em;text-transform:uppercase;margin:28px 0 8px;font-size:.78rem;font-weight:800}.lesson-page__header h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.5rem,7vw,5rem);line-height:1.06}.lesson-page__header span{color:#718078;margin-top:12px;font-size:clamp(1rem,2vw,1.25rem);display:block}.lesson-model-status{background:#f4f7f9;border:1px solid #d9e2e9;border-radius:16px;gap:10px;margin-top:22px;padding:14px;display:grid}.lesson-model-status span{color:#52645b;margin:0;font-size:.86rem}.lesson-model-status progress{accent-color:#1769c2;width:100%;height:8px}.lesson-model-status button{color:#1769c2;background:#fff;border:1px solid #1769c2;border-radius:999px;width:fit-content;padding:9px 14px;font-weight:800}.lesson-article{padding:20px 0 70px}.lesson-article section{border-bottom:1px solid #d5d1d9;padding:clamp(42px,6vw,72px) 0}.lesson-article h2{letter-spacing:-.025em;margin:0 0 28px;font-family:Georgia,Times New Roman,Noto Serif SC,serif;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:600;line-height:1.2}.lesson-article p{margin:0 0 24px;font-family:Noto Sans SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.18rem,2vw,1.32rem);line-height:1.9}.lesson-example-block,.lesson-term-list{background:#f0f2f5;border-radius:20px;gap:0;margin:30px 0;padding:10px 28px;display:grid;overflow:visible}.lesson-example-block>div,.lesson-term-list>div{border-bottom:1px solid #d6dce4;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);align-items:start;gap:10px 28px;padding:18px 0;display:grid;position:relative;overflow:visible}.lesson-example-block>div:last-child,.lesson-term-list>div:last-child{border-bottom:0}.lesson-example-block>div>strong,.lesson-term-list dt{color:#1769c2;font-size:1.12rem;font-weight:750;line-height:1.25}.lesson-example-block span,.lesson-term-list dd{color:#47525c;text-align:left;margin:0;line-height:1.45}.lesson-emphasis-block{color:#267437;background:#eaf4eb;border-left:5px solid #3d974d;border-radius:0 20px 20px 0;gap:9px;margin:30px 0;padding:24px 28px 24px 32px;font-size:1.1rem;line-height:1.7;display:grid}.lesson-vowel-overview{background:#eaf4eb;border-left:5px solid #3d974d;border-radius:0 20px 20px 0;gap:10px;margin:30px 0;padding:24px 30px;display:grid}.lesson-vowel-overview>div{grid-template-columns:repeat(3,42px);gap:16px;display:grid}.lesson-vowel-overview span{color:#176332;text-align:center;font-size:1.24rem;font-weight:850;line-height:1.35}.lesson-sentence{text-align:center;border-top:1px solid #d5d1d9;border-bottom:1px solid #d5d1d9;grid-template-columns:repeat(5,1fr);gap:5px;margin:34px 0;padding:26px 10px 18px;display:grid}.lesson-sentence.lesson-vowel-tone-row{grid-template-columns:repeat(4,1fr);gap:10px;padding:18px 14px 14px}.lesson-vowel-tone-row .lesson-pinyin{min-height:46px;padding-top:18px}.lesson-vowel-tone-row .lesson-pinyin span{font-size:1.12rem;font-weight:850}.lesson-sentence .lesson-pinyin span{color:#1769c2}.lesson-sentence .lesson-pinyin strong{font-size:1.35rem}.lesson-pinyin{color:#1769c2;cursor:pointer;z-index:1;background:0 0;border:0;justify-items:center;gap:2px;min-width:76px;min-height:56px;padding:14px 6px 4px;display:inline-grid;position:relative;overflow:visible}.lesson-example-block .lesson-pinyin{text-align:center;justify-self:start;justify-items:center;gap:5px;width:max-content;min-width:74px;min-height:64px;padding:14px 0 4px;display:inline-grid;position:relative}.lesson-example-block .lesson-pinyin span{color:#1769c2;font-size:1.12rem;font-weight:850;line-height:1.05;display:block}.lesson-example-block .lesson-pinyin strong{color:#1f2d35;font-size:1.2rem;font-weight:650;line-height:1.1;display:block}.lesson-example-block.lesson-vocab-list>div{grid-template-columns:1fr;justify-items:center;gap:4px;padding:18px 10px 20px}.lesson-vocab-list{grid-template-columns:1fr;gap:0;padding:14px 26px}.lesson-example-block.lesson-vocab-list .lesson-vocab{color:#1f2d35;justify-self:center;font-size:1.32rem;font-weight:750;text-decoration:none;display:block}.lesson-example-block.lesson-vocab-list .lesson-vocab:hover,.lesson-example-block.lesson-vocab-list .lesson-vocab:focus-visible{color:#1769c2}.lesson-example-block.lesson-vocab-list .lesson-pinyin{justify-self:center;min-width:0;min-height:34px;padding:0}.lesson-example-block.lesson-vocab-list .lesson-pinyin strong{color:#1769c2;font-size:1.15rem;font-weight:850}.lesson-vocab-list .lesson-tone-contour,.lesson-recording-row--words .lesson-tone-contour{display:none}.lesson-four-tone-block{background:#f0f2f5;border-radius:20px;gap:0;margin:30px 0;padding:10px 28px;display:grid}.lesson-four-tone-block>div{border-bottom:1px solid #d6dce4;grid-template-columns:repeat(4,minmax(74px,1fr));align-items:center;gap:clamp(12px,4vw,34px);padding:10px 0 9px;display:grid}.lesson-four-tone-block>div:last-child{border-bottom:0}.lesson-four-tone-item{justify-items:center;gap:4px;min-width:0;padding-top:22px;display:grid}.lesson-four-tone-block>div>span{justify-items:center;gap:4px;min-width:0;padding-top:22px;display:grid;position:relative;overflow:visible}.lesson-four-tone-block>div>span>b{color:#1769c2;cursor:pointer;font-size:1.12rem;font-weight:850;line-height:1.1}.lesson-four-tone-block>div>span>strong,.lesson-four-tone-item>strong{color:#1f2d35;font-size:1.2rem;font-weight:500;line-height:1.2}.lesson-four-tone-block .lesson-pinyin{min-width:0;min-height:42px;padding:18px 0 0}.lesson-four-tone-block .lesson-pinyin span{color:#1769c2;font-size:1.12rem;font-weight:850;line-height:1.1}.lesson-four-tone-block .lesson-tone-contour{width:48px;height:24px;top:-4px}.lesson-four-tone-block>div>span>.lesson-tone-contour{left:50%;transform:translate(-50%)}.lesson-pinyin:hover,.lesson-pinyin:focus-visible{color:#2f9142;outline:none}.lesson-pinyin strong{color:currentColor;font-size:1.12rem}.lesson-tone-contour{pointer-events:none;z-index:3;width:48px;height:24px;position:absolute;top:0;left:50%;overflow:visible;transform:translate(-50%)}.lesson-example-block .lesson-tone-contour{width:48px;height:24px;left:50%;transform:translate(-55%)}.lesson-tone-overview{background:#f3f5f6;border-radius:16px;gap:10px;margin:18px 0 28px;padding:18px;display:grid}.lesson-tone-overview>div{border-bottom:1px solid #d8e0dc;grid-template-columns:92px 44px 58px 1fr;align-items:center;gap:14px;padding:12px 8px;display:grid}.lesson-tone-overview>div:last-child{border-bottom:0}.lesson-tone-overview strong,.lesson-tone-overview span,.lesson-tone-overview b{color:#1769c2;font-weight:850}.lesson-tone-overview span{text-align:center;font-size:1.3rem}.lesson-tone-overview small{color:#2d3b35;font-size:1rem}.lesson-comparison-rows{background:#f3f5f6;border-radius:16px;gap:16px;margin:24px 0;padding:20px;display:grid}.lesson-comparison-rows>div{border-bottom:1px solid #d8e0dc;grid-template-columns:minmax(86px,max-content) minmax(86px,max-content) 1fr;align-items:center;gap:18px;padding:12px 0;display:grid}.lesson-comparison-rows>div:last-child{border-bottom:0}.lesson-comparison-rows span{color:#2d3b35;line-height:1.5}.lesson-tone-contour path{fill:none;stroke:#3ca653;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:200;stroke-dashoffset:200px;opacity:0}.lesson-pinyin.is-playing .lesson-tone-contour path,.lesson-four-tone-item.is-playing .lesson-tone-contour path,.lesson-four-tone-block>div>span.is-playing .lesson-tone-contour path{animation:.4s ease-out forwards draw-tone-contour,.3s ease-in .8s forwards fade-tone-contour}.lesson-vocab{appearance:none;color:#111827;font:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:0 2px;font-weight:700;-webkit-text-decoration:underline #0d6acf47;text-decoration:underline #0d6acf47}.lesson-vocab:hover,.lesson-vocab:focus-visible{color:#0d6acf;outline:none}.lesson-vocab-popover{z-index:60;pointer-events:auto;position:absolute;inset:0}.lesson-vocab-card{pointer-events:auto;background:#fff;border:1px solid #d7e1dd;border-radius:8px;gap:8px;max-width:calc(100vw - 24px);padding:20px 22px 18px;display:grid;position:absolute;box-shadow:0 18px 44px #0f172a29}body.lesson-vocab-open{overflow:hidden}.lesson-vocab-card__close{color:#52635c;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:0;width:auto;height:auto;padding:0;font-size:28px;line-height:1;position:absolute;top:10px;right:10px}.lesson-vocab-card>strong{color:#111827;font-size:2rem;line-height:1.15}.lesson-vocab-card>span{color:#0d6acf;font-size:1.05rem;font-weight:800}.lesson-vocab-card>p{color:#17231f;margin:4px 0 0;line-height:1.6}.lesson-vocab-card>small{color:#66756f;line-height:1.55}.lesson-vocab-card>div{border-top:1px solid #edf2ef;gap:4px;margin-top:4px;padding-top:10px;display:grid}.lesson-vocab-card b{color:#17231f}.lesson-vocab-card em{color:#0d6acf;font-style:normal;font-weight:700}.lesson-try-toggle{color:#1769c2;background:0 0;border:0;align-items:center;gap:10px;margin:-8px 0 26px auto;padding:8px 2px;font-weight:800;display:flex}.lesson-try-toggle i{border-bottom:3px solid;border-right:3px solid;width:13px;height:13px;transform:rotate(45deg)translateY(-3px)}.lesson-try-toggle.is-hidden{display:none!important}.lesson-try-toggle:has(+.lesson-try-card.is-open){display:none}.lesson-try-card{clear:both;background:#f4f7f9;border:1px solid #d9e2e9;border-radius:18px;margin:0 0 34px;padding:20px;display:none;position:relative}.lesson-try-card.is-open{display:block}.lesson-try-card header{z-index:2;margin:0;position:absolute;top:10px;right:12px}.lesson-try-card header button{color:#1769c2;background:0 0;border:0;padding:5px 9px;font-size:1.5rem;font-weight:850}.lesson-try-card__items{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:18px;display:grid}.lesson-try-card__items>div{background:#fff;border-radius:13px;justify-items:center;gap:5px;min-width:0;padding:12px 6px;display:grid}.lesson-try-card__items strong{color:#1769c2;font-size:1.28rem}.lesson-try-card__items span{font-size:1.1rem}.lesson-try-card__items [data-record-target]{color:#1769c2;appearance:none;background:#fff;border:2px solid #1769c2;border-radius:50%;place-items:center;width:38px;height:38px;margin:10px 0 5px;padding:0;display:grid;position:relative}.lesson-try-card__items [data-record-target] svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;width:22px;height:22px;display:block;overflow:visible;transform:translate(-.75px)}.lesson-page__loading{background:linear-gradient(90deg,#0000,#ffffffb3,#0000) 0 0/220px 100% no-repeat,linear-gradient(#eef1ee 22px,#0000 0) 0 70px/72% 80px no-repeat,linear-gradient(#eef1ee 18px,#0000 0) 0 142px/100% 58px no-repeat,linear-gradient(#eef1ee 18px,#0000 0) 0 196px/88% 58px no-repeat;width:min(100% - 40px,780px);height:65vh;margin:0 auto;animation:1.2s ease-in-out infinite alternate lesson-loading}@keyframes lesson-loading{to{opacity:.55}}.lesson-try-card__items small{color:#718078;min-height:1.2em;font-size:.68rem}@keyframes draw-tone-contour{0%{opacity:1;stroke-dashoffset:200px}to{opacity:1;stroke-dashoffset:0}}@keyframes fade-tone-contour{to{opacity:0}}.lesson-exercise-list{gap:10px;display:grid}.lesson-exercise-card__summary{color:#3a4841;text-align:left;background:#f7f8f6;border:1px solid #d9dedb;border-radius:14px;grid-template-columns:42px 1fr 18px;gap:3px 14px;padding:18px;display:grid}.lesson-exercise-card{background:#f7f8f6;border:1px solid #d9dedb;border-radius:16px;overflow:hidden}.lesson-exercise-card .lesson-exercise-card__summary{cursor:pointer;background:0 0;border:0;border-radius:0;width:100%}.lesson-exercise-card__summary i{border-bottom:2px solid #6c7a73;border-right:2px solid #6c7a73;grid-area:1/3/span 2;align-self:center;width:11px;height:11px;transform:rotate(45deg)}.lesson-exercise-card.is-open .lesson-exercise-card__summary i{transform:rotate(225deg)translate(-3px,-3px)}.lesson-exercise-card__body{background:#fff;border-top:1px solid #d9dedb;padding:4px 20px 24px;display:none}.lesson-exercise-card.is-open .lesson-exercise-card__body{display:block}.lesson-exercise-card__body p{margin:18px 0;font-size:1rem;line-height:1.65}.lesson-structure-questions{gap:10px;display:grid}.lesson-structure-questions>div{background:#f3f5f6;border-radius:12px;grid-template-columns:72px max-content 86px max-content 86px;align-items:end;gap:8px 10px;padding:14px;display:grid}.lesson-structure-questions strong{color:#1769c2;font-size:1.16rem;display:grid}.lesson-structure-questions strong small{color:#47525c;font-size:.86rem}.lesson-structure-questions label{color:#718078;gap:4px;font-size:.72rem;font-weight:750;display:grid}.lesson-structure-questions input{color:#28342e;appearance:none;background:0 0;border:0;border-bottom:2px solid #bfc8c3;outline:none;width:72px;min-width:72px;padding:7px 3px;font-size:16px}.lesson-structure-questions input:focus{border-color:#1769c2}.lesson-structure-questions input.is-incorrect{border-color:#c96842}.lesson-structure-questions b{visibility:hidden;border-radius:999px;justify-content:flex-start;align-items:center;min-width:86px;min-height:32px;padding:7px 8px;font-size:.78rem;font-style:normal;font-weight:850;line-height:1.2;display:inline-flex}.lesson-structure-questions b.is-visible{visibility:visible}.lesson-structure-questions b.is-correct{color:#237d34;background:#e8f5ea}.lesson-structure-questions b.is-incorrect{color:#b8332b;background:#fdecea}.lesson-tone-actions,.lesson-exercise-card.is-open .lesson-tone-exercise{gap:10px;display:grid}.lesson-tone-actions{grid-template-columns:1fr 1fr;margin-top:10px}.lesson-tone-nav{grid-template-columns:repeat(3,minmax(0,max-content));justify-content:center;gap:18px;margin-top:6px;display:grid}.lesson-tone-control-slot{min-height:48px;margin-top:6px;display:grid}.lesson-tone-control-slot>*{grid-area:1/1}.lesson-tone-launch,.lesson-tone-nav{align-self:center}.lesson-tone-launch.is-hidden,.lesson-tone-nav.is-hidden{visibility:hidden;pointer-events:none}.lesson-tone-form{color:#1769c2;text-align:left;min-height:1.2em;margin-top:10px;margin-bottom:6px;font-size:.92rem;font-weight:750}.lesson-exercise-card .lesson-exercise-primary,.lesson-exercise-card .lesson-tone-actions button{color:#1769c2;text-align:center;background:#fff;border:1px solid #1769c2;border-radius:999px;width:100%;padding:11px 18px;font-weight:800;display:block}.lesson-exercise-card .lesson-tone-nav button{color:#1769c2;background:0 0;border:0;padding:6px 4px;font-size:1.1rem;font-weight:800}.lesson-exercise-card .lesson-exercise-primary{color:#fff;background:#1769c2}.lesson-exercise-card .lesson-tone-actions button:disabled,.lesson-exercise-card .lesson-tone-nav button:disabled{color:#8d9a94;cursor:not-allowed;background:#f0f2f1;border-color:#cbd4d0}.lesson-exercise-status{color:#65766e;min-height:1.4em;margin-top:14px;font-size:.82rem;display:block}.lesson-tone-exercise .lesson-exercise-status{background:#f3f5f6;border-radius:12px;padding:10px 12px;font-size:1rem;font-weight:850;line-height:1.35}.lesson-tone-exercise .lesson-exercise-status.is-correct{color:#237d34;background:#e8f5ea}.lesson-tone-exercise .lesson-exercise-status.is-incorrect{color:#b8332b;background:#fdecea}.lesson-recording-exercise{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:22px}.lesson-practice-groups{gap:34px;margin-top:24px;display:grid}.lesson-practice-group{background:#f7f8f6;border:1px solid #d9e2e9;border-radius:16px;gap:18px;padding:20px 18px 22px;display:grid}.lesson-recording-exercise.lesson-recording-row{grid-template-columns:repeat(4,minmax(112px,1fr));gap:14px;margin-top:0}.lesson-recording-exercise.lesson-recording-row--words{border-top:1px solid #d9e2e9;grid-template-columns:repeat(2,minmax(160px,1fr));padding-top:18px}.lesson-recording-exercise.lesson-recording-row.lesson-vowel-six-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.lesson-recording-exercise>div{padding:16px 5px;position:relative}.lesson-recording-exercise .lesson-pinyin{min-width:0;min-height:46px;padding:18px 2px 2px}.lesson-recording-exercise .lesson-pinyin strong{font-size:1.28rem}.lesson-recording-exercise .lesson-tone-contour{width:48px;height:24px;top:0}.lesson-recording-exercise>div>span{min-height:1.4em}.lesson-recording-exercise>div:after{font-size:2.8rem;font-weight:900;line-height:1;display:none;position:absolute;top:-12px;right:4px}.lesson-recording-exercise>div.is-correct:after{color:#38a64e;content:"✓";display:block}.lesson-recording-exercise>div.is-tone-error:after,.lesson-recording-exercise>div.is-incorrect:after{color:#d34b3f;content:"!";display:block}.lesson-recording-exercise>div.is-correct small{color:#28883b;font-size:.86rem;font-weight:850}.lesson-recording-exercise>div.is-tone-error small,.lesson-recording-exercise>div.is-incorrect small{color:#c43e34;font-size:1rem;font-weight:850;line-height:1.35}.lesson-ime-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0;display:grid}.lesson-ime-board article,.lesson-checklist,.lesson-ai-panel{background:#f7f8f6;border:1px solid #d9e2e9;border-radius:18px;padding:20px 22px}.lesson-ime-board article{gap:14px;display:grid}.lesson-ime-board article strong,.lesson-checklist strong{color:#1769c2;font-size:1.08rem}.lesson-ime-board ol{color:#3f4b46;margin:0;padding-left:20px;line-height:1.7}.lesson-ime-board span,.lesson-checklist span{color:#5f6e67;line-height:1.6}.lesson-checklist{gap:12px;display:grid}.lesson-checklist>div{border-bottom:1px solid #d9e2e9;gap:4px;padding-bottom:12px;display:grid}.lesson-checklist>div:last-child{border-bottom:0;padding-bottom:0}.lesson-ai-panel{gap:16px;margin-top:18px;display:grid}.lesson-ai-panel label{gap:8px;display:grid}.lesson-ai-panel label>span{color:#44524c;font-size:.94rem;font-weight:800}.lesson-ai-panel textarea{color:#1f2d35;width:100%;min-height:110px;font:inherit;appearance:none;resize:vertical;background:#fff;border:1px solid #cfd9d4;border-radius:14px;padding:14px 15px;font-size:16px;line-height:1.6}.lesson-ai-panel textarea:focus{border-color:#1769c2;outline:none;box-shadow:0 0 0 3px #1769c21a}.lesson-ai-actions{justify-content:flex-start;display:flex}.lesson-ai-response{color:#3f4b46;background:#fff;border-radius:14px;min-height:88px;padding:16px 18px;line-height:1.65}.lesson-ai-response p,.lesson-ai-response pre{white-space:pre-wrap;word-break:break-word;margin:0}.lesson-ai-result{gap:8px;display:grid}.lesson-ai-result strong{color:#1769c2;font-size:1.2rem}.lesson-ai-result>span{color:#28753a;font-weight:800}.lesson-ai-result small{color:#64736c;line-height:1.6}.lesson-ai-dual-line{background:#f3f5f6;border-radius:12px;gap:3px;padding:10px 12px;display:grid}.lesson-ai-dual-line--with-audio{grid-template-columns:1fr auto;align-items:center;gap:12px}.lesson-ai-dual-line--with-audio>div{gap:3px;display:grid}.lesson-model-lines{text-align:left;gap:2px;width:fit-content;margin:10px auto 8px;display:grid}.lesson-model-lines p{margin:0}.lesson-ai-dual-line span{color:#1769c2;font-weight:800}.lesson-ai-dual-line b{color:#1f2d35;font-size:1.05rem}.lesson-ai-audio{color:#1769c2;background:#fff;border:1px solid #cfd9d4;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.lesson-ai-audio svg{fill:currentColor;width:22px;height:22px}.lesson-ai-audio.is-loading,.lesson-ai-audio:disabled{color:#8d9a94;cursor:not-allowed;background:#f0f2f1}.lesson-browser-voice-guide{margin-top:40px}[data-record-target].is-recording{color:#fff!important;background:#c96842!important}.lesson-exercise-card__summary>span{color:var(--leaf);grid-row:span 2;font-weight:850}@media (width<=720px){.lesson-structure-questions>div{grid-template-columns:48px 76px minmax(64px,82px) 76px minmax(64px,82px);gap:8px 6px;padding-inline:10px}.lesson-structure-questions input{width:62px;min-width:62px}.lesson-structure-questions b{min-width:68px;padding-inline:7px;font-size:.68rem}.lesson-recording-exercise{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.lesson-ime-board{grid-template-columns:1fr}.lesson-recording-exercise.lesson-recording-row,.lesson-recording-exercise.lesson-recording-row--words{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-recording-exercise.lesson-recording-row.lesson-vowel-six-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-recording-exercise .lesson-pinyin{min-width:0;min-height:0;padding-inline:0}.lesson-recording-exercise>div{align-content:start;justify-items:center;gap:8px;min-width:0;padding:14px 8px 18px;display:grid}.lesson-recording-exercise>div>span,.lesson-recording-exercise>div>small{text-align:center;text-wrap:balance}.lesson-try-card__items [data-record-target]{width:52px;height:52px;margin:0}.lesson-try-card__items [data-record-target] svg{width:24px;height:24px}}.lesson-exercise-card__summary>small{color:#7c8982}.lesson-page__footer{justify-content:space-between;align-items:center;gap:18px;padding:34px 0 90px;display:flex}.lesson-page__footer .primary-action{width:auto}.lesson-unit-status{color:#53675e;background:#f7f8f6;border:1px solid #cfd8d2;border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:10px 18px;font-weight:750;display:inline-flex}.lesson-unit-status.is-complete{color:#21613f;background:#e7f3ea;border-color:#2f7d5347}.site-footer{color:#687971;background:#ecebe3;border-top:1px solid #173f3524;grid-template-columns:1fr 1.6fr auto;align-items:start;gap:30px;padding:40px clamp(22px,8vw,130px);display:grid}.site-footer p{max-width:340px;margin-bottom:0}.site-footer nav{flex-wrap:wrap;gap:8px 20px;display:flex}.site-footer button{color:var(--forest);background:0 0;border:0;padding:0;font-weight:700}.site-footer small{white-space:nowrap}.lesson-home{grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);align-items:end;gap:clamp(50px,10vw,140px);min-height:calc(100vh - 69px);padding:clamp(70px,12vw,150px) clamp(22px,8vw,130px);display:grid}.lesson-home h1{letter-spacing:-.06em;max-width:760px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,8vw,7rem);font-weight:500;line-height:.98}.lesson-home__lede{color:#5c6d65;max-width:580px;margin:26px 0;font-size:1.08rem;line-height:1.7}.lesson-home .primary-action{width:auto;padding:13px 22px}.today-summary{border-left:2px solid var(--line);gap:8px;padding:8px 0 8px 24px;display:grid}.today-summary .eyebrow{margin:0}.today-summary strong{font-size:1.1rem}.today-summary span{color:#718078;font-size:.86rem}.hero{color:#fff;background:radial-gradient(circle at 74% 22%,#e4a84b47,#0000 25%),linear-gradient(145deg,#102f28,#245b49);grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);align-items:end;gap:clamp(30px,7vw,100px);min-height:510px;padding:clamp(64px,10vw,130px) clamp(18px,7vw,110px);display:grid}.eyebrow{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.76rem;font-weight:850}.hero h1{letter-spacing:-.055em;max-width:820px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,7vw,6.7rem);font-weight:500;line-height:.98}.hero__lede{color:#ffffffc2;max-width:650px;margin:28px 0 0;font-size:clamp(1rem,2vw,1.24rem);line-height:1.65}.progress-summary{background:#ffffff14;border:1px solid #ffffff29;border-radius:22px;padding:24px;box-shadow:0 22px 60px #0000002e}.progress-summary>span,.progress-summary small{color:#ffffff9e;display:block}.progress-summary strong{margin:8px 0 18px;font-size:1.3rem;display:block}.progress-summary div,.lesson-node__progress{background:#ffffff2e;border-radius:999px;height:6px;overflow:hidden}.progress-summary div span,.lesson-node__progress span{border-radius:inherit;background:var(--gold);height:100%;display:block}.progress-summary small{margin-top:12px}.path-intro{grid-template-columns:1fr 1fr;gap:40px;padding:74px clamp(18px,7vw,110px) 30px;display:grid}.path-intro h2{letter-spacing:-.045em;max-width:600px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,4.4rem);font-weight:500;line-height:1}.path-intro>p{color:#5c6d65;max-width:590px;margin:auto 0 0;line-height:1.7}.learning-tree{padding:48px clamp(14px,4vw,70px) 100px;position:relative;overflow:hidden}.learning-tree__branches{grid-template-columns:repeat(4,minmax(210px,1fr));align-items:start;gap:18px;display:grid}.track-branch{background:#fffdf7c7;border:1px solid #173f3521;border-radius:24px;padding:20px;position:relative;box-shadow:0 14px 38px #25443712}.track-branch__header p{color:var(--leaf);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}.track-branch__header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.track-branch__header span{color:#697a72;min-height:66px;margin-top:10px;font-size:.84rem;line-height:1.45;display:block}.track-branch__path{gap:14px;margin-top:20px;display:grid;position:relative}.track-branch__path:before{background:var(--line);content:"";width:2px;position:absolute;top:14px;bottom:14px;left:20px}.lesson-node{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:14px;grid-template-columns:42px 1fr;gap:12px;padding:9px 8px 11px 0;display:grid;position:relative}.lesson-node:hover,.lesson-node:focus-visible{background:var(--leaf-light);outline:none}.lesson-node__marker{z-index:1;border:5px solid var(--paper);color:#fff;background:var(--leaf);border-radius:50%;place-items:center;width:40px;height:40px;font-size:.75rem;font-weight:850;display:grid;box-shadow:0 0 0 1px #173f3524}.lesson-node--current .lesson-node__marker{background:var(--gold);box-shadow:0 0 0 4px #e4a84b38}.lesson-node--review .lesson-node__marker{background:#c96842;box-shadow:0 0 0 4px #c968422b}.lesson-node--locked{color:#78877f}.lesson-node--locked .lesson-node__marker{background:var(--locked)}.lesson-node__copy{gap:2px;display:grid}.lesson-node__copy strong{font-size:.88rem;line-height:1.25}.lesson-node__copy span{color:#819087;font-size:.7rem}.lesson-node__order{letter-spacing:.06em;text-transform:uppercase;font-weight:800}.lesson-node__progress{background:#dce2de;grid-column:2;height:3px}.lesson-node__progress span{background:var(--leaf)}.track-branch__gate{color:#6f786d;background:#ecebe3;border-radius:10px;margin:18px 0 0;padding:10px;font-size:.72rem;line-height:1.4}.learning-tree__fork{grid-template-columns:repeat(4,1fr);height:75px;margin:0 5%;display:grid;position:relative}.learning-tree__fork:after{background:var(--line);content:"";height:2px;position:absolute;bottom:0;left:12.5%;right:12.5%}.learning-tree__fork span{position:relative}.learning-tree__fork span:after{background:var(--line);content:"";width:2px;height:75px;position:absolute;bottom:0;left:50%}.learning-tree__trunk{max-width:420px;margin:0 auto;position:relative}.learning-tree__trunk:before{background:var(--line);content:"";width:3px;height:70px;position:absolute;bottom:-62px;left:50%}.learning-tree__trunk .track-branch{background:var(--paper);border-color:#173f3547}.learning-tree__root{color:#fff;background:var(--forest);text-align:center;border-radius:999px;gap:3px;width:fit-content;margin:62px auto 0;padding:14px 22px;display:grid;position:relative}.learning-tree__root span{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:800}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d221c85;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.module-sheet{background:var(--paper);border-radius:26px;width:min(100%,560px);max-height:min(88vh,760px);margin:0 auto;padding:28px;overflow:auto;box-shadow:0 25px 90px #00000040}.module-sheet__close{float:right;color:#fff;background:var(--forest);border:0;border-radius:999px;padding:10px 16px;font-weight:800;box-shadow:0 6px 18px #173f3533}.module-sheet__close:hover,.module-sheet__close:focus-visible{background:var(--leaf);outline:none}.module-sheet h2{margin:5px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:500}.module-sheet>p:not(.eyebrow){color:#687971;line-height:1.6}.module-sheet dl{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}.module-sheet dl div,.module-sheet__gate{background:#ecefe9;border-radius:14px;gap:5px;padding:14px;display:grid}.module-sheet dt{color:#718078;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.module-sheet dd{text-transform:capitalize;margin:0;font-weight:750}.module-sheet__gate{color:#6f786d;margin-top:16px}.primary-action{width:100%;padding:14px}.module-units{gap:8px;margin:22px 0;display:grid}.module-units h3{letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:.78rem}.module-units button{color:var(--ink);text-align:left;background:#fff;border:1px solid #173f351f;border-radius:12px;gap:3px;padding:12px 14px;display:grid}.module-units button:disabled{color:#7d8b84;background:#ecefe9}.module-units button span{color:var(--leaf);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:800}.module-units button strong{font-size:.86rem}.path-launcher{z-index:60;top:auto;right:max(36px, calc(env(safe-area-inset-right) + 28px));bottom:max(36px, calc(env(safe-area-inset-bottom) + 28px));color:#fff;background:#49b457;border:0;border-radius:50%;width:64px;height:64px;margin:0;padding:0;display:block;position:fixed;left:auto;box-shadow:0 8px 22px #49b4573d}.path-launcher--open{background:#49b457;box-shadow:0 0 0 8px #49b45729,0 8px 22px #49b4573d}.path-launcher:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.path-launcher__pulse{border-radius:inherit;border:1px solid #49b45752;animation:2.8s ease-out infinite path-pulse;position:absolute;inset:-5px}.path-launcher--open .path-launcher__pulse{opacity:1;animation:none;transform:none}.scroll-to-top{z-index:35;right:max(36px, calc(env(safe-area-inset-right) + 28px));bottom:max(116px, calc(env(safe-area-inset-bottom) + 108px));width:46px;height:46px;color:var(--forest);background:#fffdf7f0;border:1px solid #173f3533;border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 8px 22px #173f3524}.scroll-to-top span{border-top:3px solid;border-left:3px solid;width:12px;height:12px;transform:translateY(3px)rotate(45deg)}.path-dialog{z-index:40;background:var(--sand);grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.path-dialog__header{padding:max(14px, env(safe-area-inset-top)) max(clamp(18px, 4vw, 64px), env(safe-area-inset-right)) 14px max(clamp(18px, 4vw, 64px), env(safe-area-inset-left));background:#f5f2e9f0;border-bottom:1px solid #173f351f;justify-content:space-between;align-items:center;display:flex}.path-dialog__header h2{margin:0;font-size:clamp(1rem,2vw,1.35rem);font-weight:750}.path-dialog__header button{color:var(--forest);background:0 0;border:1px solid #173f352e;border-radius:999px;padding:9px 15px;font-weight:750}.path-dialog__header>span{color:#718078;font-size:.8rem}.path-legend{color:#65766e;background:var(--paper);border-bottom:1px solid #173f3517;flex-wrap:wrap;gap:10px 22px;padding:14px clamp(18px,4vw,64px);font-size:.75rem;font-weight:700;display:flex}.path-legend span{align-items:center;gap:7px;display:flex}.status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.status-dot--completed{background:var(--leaf)}.status-dot--current{background:var(--gold)}.status-dot--review{background:#c96842}.status-dot--locked{background:var(--locked)}.path-dialog__scroll{overscroll-behavior:contain;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.svg-tree{background:var(--sand);min-width:0;min-height:0;position:absolute;inset:0}.svg-tree svg{width:100%;height:100%;display:block;position:absolute;inset:0}.svg-tree__summary{fill:#768079;font-size:21px}.svg-tree__root-label{fill:#7d8881;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:600}.svg-tree__summary rect{fill:#d2d7d4}.svg-tree__summary .svg-tree__summary-fill{fill:#49b457}.svg-tree__summary-strong{fill:#4d5d55;font-size:21px;font-weight:750}.svg-tree__lines line{stroke:#afb6b2;stroke-width:4px}.svg-tree__track-title{fill:#6d7771;font-size:19px;font-weight:700}.svg-tree__trunk-title{paint-order:stroke;stroke:var(--sand);stroke-width:8px;stroke-linejoin:round}.svg-tree__module{cursor:pointer;outline:none}.svg-tree__module:focus-visible .svg-tree__point,.svg-tree__module:hover .svg-tree__point{stroke:#e4a84b;stroke-width:5px}.svg-tree__point{stroke:#fff;stroke-width:3px;transition:stroke-width .12s}.svg-tree__point--current{stroke:#fff;stroke-width:3px}.svg-tree__module-progress{fill:#939c96;font-size:16px}.svg-tree__flag{fill:#e53935}.svg-tree__fork-point{fill:#9db2a7;stroke:#fff;stroke-width:3px}.svg-tree__fork-progress{fill:#909a94;font-size:13px}@keyframes path-pulse{0%{opacity:.65;transform:scale(.88)}75%,to{opacity:0;transform:scale(1.25)}}@media (width<=1040px){.learning-tree__branches{grid-template-columns:repeat(2,minmax(240px,1fr))}.learning-tree__fork{display:none}.learning-tree__trunk{margin-top:22px}.learning-tree__trunk:before{display:none}}@media (width<=720px){.site-header nav a{display:none}.hero,.path-intro,.lesson-home,.home-hero,.content-section--split{grid-template-columns:1fr}.site-header{padding-inline:16px}.site-header nav{gap:8px}.site-header nav button:not(:last-child){display:none}.home-hero{align-content:center;min-height:calc(100vh - 69px);padding:60px 22px 100px}.home-hero h1{font-size:clamp(3rem,15vw,5rem)}.principle-grid,.steps-grid,.account-grid,.site-footer{grid-template-columns:1fr}.content-section{padding-inline:22px}.course-structure li{grid-template-columns:1fr;gap:5px}.site-footer{padding:34px 22px 120px}.site-footer small{white-space:normal}.lesson-page__header,.lesson-article,.lesson-page__footer{width:min(100% - 34px,780px)}.lesson-page__header{padding-top:32px}.lesson-article p{font-size:1.16rem;line-height:1.85}.lesson-example-block,.lesson-term-list{border-radius:16px;padding:8px 18px}.lesson-example-block>div,.lesson-term-list>div{grid-template-columns:1fr;align-items:start;gap:6px;padding:15px 0}.lesson-example-block span,.lesson-term-list dd{grid-column:1}.lesson-vowel-overview{padding:20px 22px}.lesson-vowel-overview>div{grid-template-columns:repeat(3,36px);gap:12px}.lesson-sentence.lesson-vowel-tone-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-inline:4px}.lesson-vocab-list>div{grid-template-columns:1fr}.lesson-ai-panel textarea{min-height:132px}.lesson-vocab-card{border-radius:22px}.lesson-emphasis-block{padding:20px 20px 20px 24px}.lesson-four-tone-block{border-radius:16px;padding:8px 16px}.lesson-four-tone-block>div{gap:8px}.lesson-try-card{padding:16px 12px}.lesson-try-card__items{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px}.lesson-try-card__items>div{padding-inline:3px}.lesson-page__footer{flex-direction:column-reverse;align-items:stretch}.lesson-page__footer .primary-action{width:100%}.lesson-home{align-content:center;min-height:calc(100vh - 69px);padding:54px 22px 140px}.lesson-home h1{font-size:clamp(3rem,15vw,4.7rem)}.today-summary{margin-top:18px}.module-sheet__close{margin-right:-8px}.hero{min-height:auto;padding-top:70px}.hero h1{font-size:clamp(2.7rem,14vw,4.5rem)}.path-intro{padding-top:54px}.learning-tree{padding-top:24px}.learning-tree__branches{grid-template-columns:1fr}.learning-tree__trunk{max-width:none}.track-branch__header span{min-height:auto}.path-launcher{right:max(24px, calc(env(safe-area-inset-right) + 18px));bottom:max(24px, calc(env(safe-area-inset-bottom) + 18px));width:58px;height:58px}.scroll-to-top{right:max(24px, calc(env(safe-area-inset-right) + 18px));bottom:max(102px, calc(env(safe-area-inset-bottom) + 94px))}.path-dialog__header{padding-top:max(14px, env(safe-area-inset-top))}.path-legend{gap:8px 15px}.svg-tree{min-width:0}}@media (display-mode:standalone){.path-dialog__header{padding-top:max(14px, env(safe-area-inset-top))}.path-dialog__scroll{padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion:reduce){.path-launcher__pulse{animation:none}}
