:root{--ink:#172c25;--muted:#58675f;--green:#2fc15b;--deep:#1f7d3b;--mint:#f3fbf5;--lilac:#eeebfc;--peach:#fff0e7;--line:#dce5dc;--paper:#fffefa;--radius:24px;font-family:"Avenir Next","Segoe UI",Arial,"Noto Sans",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}

/* Native, accessible language selector with a larger and clearer touch target. */
.language-picker{position:relative!important;display:inline-flex!important;align-items:center!important;gap:0!important;min-height:46px;padding-left:12px;border:1px solid #d5e2d1;border-radius:14px;background:#fff;color:var(--deep);box-shadow:0 2px 0 #e7eee3;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.language-picker:hover{border-color:#99c88c;background:#f8fcf6;transform:translateY(-1px)}
.language-picker:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #2fc15b2b,0 2px 0 #dce9d7}
.language-picker>span{display:block;width:18px;height:18px;flex:0 0 18px;font-size:0;pointer-events:none;background:center/18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23174637' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.3 2.45 3.45 5.45 3.45 9S14.3 18.55 12 21M12 3C9.7 5.45 8.55 8.45 8.55 12S9.7 18.55 12 21'/%3E%3C/svg%3E")}
.language-picker:after{content:'';position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:1.8px solid var(--deep);border-bottom:1.8px solid var(--deep);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.language-picker select{appearance:none!important;-webkit-appearance:none!important;width:132px;max-width:none!important;min-height:44px!important;border:0!important;background:transparent!important;padding:9px 31px 9px 8px!important;font-size:13px!important;font-weight:650;color:var(--ink);cursor:pointer;text-overflow:ellipsis}
.language-picker select:focus{outline:none}
@media(max-width:760px){.header-actions{gap:7px!important}.language-picker{min-height:44px;padding-left:10px;border-radius:12px}.language-picker select{width:96px;max-width:none!important;padding-left:7px!important;padding-right:25px!important;font-size:12px!important}.language-picker:after{right:11px}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;font-size:16px;line-height:1.6}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,select,summary{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6a59c7;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--deep);outline-offset:2px}[hidden]{display:none!important}.wrap{width:min(1224px,calc(100% - 88px));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:750;letter-spacing:-.045em;line-height:1.13;text-wrap:balance}h2{font-size:clamp(30px,3.8vw,48px);margin-bottom:22px}h3{font-size:22px;line-height:1.3;letter-spacing:-.02em}p{color:var(--muted)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:96px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800;font-size:23px;letter-spacing:-1px}.brand img{border-radius:11px}.brand-dot{color:var(--deep);margin-left:-9px}nav,.header-actions{display:flex;align-items:center;gap:24px}nav a{font-size:14px;font-weight:650}nav a:hover,footer a:hover{color:var(--deep)}.header-actions{gap:12px}.language-picker{display:flex;align-items:center;gap:4px}.language-picker select{max-width:123px;border:none;background:transparent;padding:10px 0;font-size:13px;color:var(--ink);min-height:44px}.primary{border:0;background:var(--green);border-radius:12px;font-weight:750;padding:14px 21px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:22px;box-shadow:0 3px 0 #28a44d;transition:background .2s,transform .2s}.primary:hover{background:#63d084;transform:translateY(-1px)}.compact{font-size:13px;padding:10px 16px}.large{padding:17px 24px}.quiet{border:0;background:transparent;padding:12px;font-weight:650;min-height:44px}.full{width:100%}.underlined{background:none;border:0;border-bottom:1px solid;padding:8px 0;font-weight:650;min-height:44px;display:inline-flex;gap:8px;align-items:center}.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:65px;align-items:center;padding-block:65px 84px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);display:flex;align-items:center;gap:9px}.tiny-dot{height:8px;width:8px;flex-shrink:0;border-radius:50%;background:var(--green)}h1{font-size:clamp(45px,5.4vw,72px);margin:25px 0}.lede{font-size:18px;max-width:530px;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:28px}.language-proof{display:flex;gap:14px;align-items:center;margin-top:42px;font-size:11px;color:var(--muted)}.language-proof strong,.language-proof small{display:block;font-weight:500;font-size:11px}.hanzi-mini{background:var(--lilac);border-radius:14px;padding:10px;color:#6755b3;letter-spacing:3px;font-weight:700}.hero-stage{position:relative;min-width:0;background:#ecf0e7;border-radius:48% 48% 24px 24px;padding:55px 32px 28px;isolation:isolate}.stroke-label{position:absolute;top:12px;left:20%;font-family:"Kaiti SC",KaiTi,serif;letter-spacing:4px;color:#516248;transform:rotate(-6deg)}.sample-card{position:relative;background:#fff;border:1px solid #dbe3d5;border-radius:20px;padding:26px;box-shadow:0 12px 0 -5px #cedcc4,0 25px 45px #354a2620;z-index:1}.sample-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;font-weight:750;letter-spacing:.07em}.pill{background:var(--mint);color:var(--deep);border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700}.sample-progress{height:5px;background:#eef3ec;border-radius:5px;margin-top:20px}.sample-progress span{display:block;width:40%;height:100%;background:var(--green);border-radius:5px}.sample-instruction{font-size:12px;margin:22px 0 13px}.sample-card h2{font-size:32px;letter-spacing:2px;margin:0 0 8px;line-height:1.5}.blank{color:var(--deep)}.pinyin{font-size:14px;color:#536153}.sample-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.sample-options button,.question-options button{display:flex;align-items:center;gap:14px;background:white;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-align:left;min-height:52px}.sample-options button:hover,.question-options button:hover{border-color:var(--green);background:var(--mint)}.sample-options button span{font-size:12px;background:#f3f5f1;border-radius:6px;padding:3px 7px}.sample-options b{font-size:22px;font-weight:500}.sample-options .right,.question-options .right{border-color:var(--green);background:var(--mint)}.sample-options .wrong,.question-options .wrong{border-color:#b74c38;background:#fff1e9}.sample-feedback{display:flex;gap:10px;align-items:center;padding-top:16px;margin-top:16px;border-top:1px dashed var(--line);font-size:12px;min-height:62px}.feedback-symbol{color:var(--deep);font-size:25px}.hanzi-tile{position:absolute;right:-20px;top:-3px;background:var(--lilac);border:5px solid var(--paper);border-radius:22px;width:100px;height:112px;text-align:center;transform:rotate(10deg);z-index:2;box-shadow:0 6px 15px #0001}.hanzi-tile span{font-size:53px;display:block;line-height:1.35;color:#705bb3}.hanzi-tile small{font-size:10px;color:#705bb3}.stage-caption{display:flex;gap:12px;align-items:center;padding:25px 20px 0;color:#749567}.stage-caption span{font-family:"Kaiti SC",serif;font-size:23px}.stage-caption i{margin-left:auto;font-size:30px}.section-divider{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px;font-size:10px;letter-spacing:.18em;color:#52604d}.section{padding-block:90px}.section-heading{max-width:680px;margin-bottom:40px}.section-heading p:last-child{font-size:17px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.feature{padding:26px;border-radius:var(--radius);display:flex;flex-direction:column;align-items:flex-start}.mint{background:var(--mint)}.lilac{background:var(--lilac)}.peach{background:var(--peach)}.feature h3{margin:25px 0 13px}.feature p{font-size:14px;flex:1}.feature-visual{width:100%;height:170px;border-radius:16px;background:#ffffffa0;display:flex;align-items:center;justify-content:center;flex-direction:column}.vocab>span{font-size:45px;letter-spacing:8px;color:var(--deep)}.vocab small{color:#48654d}.vocab div{display:flex;gap:10px;font-size:10px;margin-top:15px}.vocab div span{padding:3px 9px;background:#e1f0df;border-radius:5px}.writing{position:relative;align-items:flex-start;padding:18px;font-size:19px}.writing p{color:#655879;text-decoration:underline wavy #cbbcdb}.writing>span{color:#5e468b}.insert{background:#d4edce;border-radius:4px;color:var(--deep)}.writing i{position:absolute;right:15px;bottom:10px;color:#8873c0;font-size:28px}.review>span{font-size:30px;color:#aa6849}.review div{font-size:40px;color:#d6a58c}.review b{color:var(--deep);font-size:22px;padding:9px 14px;border-radius:50%;background:#e1f0dd}.how-section{padding-block:78px;background:#f5f7f1}.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.character-grid{display:grid;grid-template-columns:repeat(4,64px);margin-top:35px}.character-grid span{display:grid;place-items:center;height:64px;border:1px solid #cbd9c2;background:linear-gradient(45deg,transparent 49.5%,#e2e9de 50%,transparent 50.5%),linear-gradient(-45deg,transparent 49.5%,#e2e9de 50%,transparent 50.5%);font-size:39px;font-family:"Kaiti SC",serif;color:#789b66}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding-block:22px}.steps li:first-child{padding-top:0}.steps li>span{color:var(--deep);font-size:13px;padding-top:5px}.steps h3{font-size:20px;margin-bottom:9px}.steps p{margin-bottom:0;font-size:14px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.price-flower{font-size:95px;color:#aacb9d;line-height:1}.price-card{border:1px solid var(--line);padding:32px;border-radius:24px;box-shadow:0 10px 0 -4px #ecf3e8}.price{font-size:76px;font-weight:750;letter-spacing:-.06em;display:flex;align-items:baseline;gap:10px;margin:18px 0}.price>span{font-size:18px;letter-spacing:0}.price small{font-size:14px;font-weight:500;letter-spacing:0}.price-card ul{list-style:none;padding:0;margin:0 0 28px}.price-card li{border-top:1px solid var(--line);padding:12px 0;font-size:14px}.price-card li:before{content:'✓';color:var(--deep);margin-right:12px}.fine{font-size:12px;margin:18px 0 0}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-top:1px solid var(--line);padding-top:60px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list summary{font-size:17px;font-weight:650;min-height:36px}.faq-list p{font-size:14px;margin:12px 0}.closing{background:var(--lilac);border-radius:28px;padding:45px;display:flex;align-items:center;gap:45px;justify-content:space-between;margin-bottom:70px}.closing h2{font-size:36px;max-width:650px;margin:0}.closing button{flex-shrink:0}.closing .eyebrow{color:#6c599e}footer{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding:26px 0 35px;border-top:1px solid var(--line);font-size:12px}footer .brand{font-size:20px}footer p{margin:0}footer>div{display:flex;gap:24px;margin-left:auto}
dialog{border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);width:min(530px,calc(100% - 28px));padding:32px;max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#102b2566;backdrop-filter:blur(5px)}dialog h2{font-size:29px;margin-top:12px;padding-right:25px}dialog p{font-size:14px}.close{position:absolute;right:9px;top:9px;border:0;background:none;font-size:25px;width:44px;height:44px}.dialog-logo{border-radius:14px}form{display:grid;gap:16px}label{display:block;font-size:14px}label>span{display:block;margin-bottom:7px;font-weight:650}input,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}textarea{resize:vertical}dialog .underlined{margin-top:16px;font-size:14px}.support-link{display:block;font-size:13px;margin-top:12px}.error{color:#a3392a;font-size:13px;white-space:pre-wrap}.error:empty{display:none}.level-label{display:flex;gap:15px;align-items:center;margin-bottom:20px}.level-label select{padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:white}.level-label span{margin:0}.question-options{display:grid;gap:10px;margin:15px 0}.question-options button{width:100%}.question-options button:disabled{cursor:default;opacity:1}#questionText{font-size:28px;line-height:1.6}#questionTranslation{font-size:14px}.feedback{padding:18px;background:var(--mint);border:1px solid #d3eac9;border-radius:12px;white-space:pre-wrap;margin:18px 0;font-size:15px}.loading{display:flex;align-items:center;justify-content:center;gap:15px;padding:28px;font-size:14px}.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--deep);border-radius:50%;animation:spin 1s linear infinite}.review-item{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;background:white;text-align:left;margin:10px 0}.legal-page{max-width:720px;min-height:65vh;padding-block:80px}.legal-page p{line-height:1.9}.legal-page h1{font-size:46px}@keyframes spin{to{transform:rotate(360deg)}}
html:lang(th) h1,html:lang(th) h2{line-height:1.45;letter-spacing:-.015em}html:lang(ja) h1,html:lang(zh) h1,html:lang(ko) h1{line-height:1.35;letter-spacing:-.045em}html:lang(ru) h1,html:lang(fr) h1{font-size:clamp(40px,4.7vw,64px)}
@media(min-width:1500px){.hero{padding-block:95px 110px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}nav{display:none}.hero{gap:35px}.hero-stage{padding:45px 20px 20px}.sample-card{padding:20px}.how-grid,.pricing-grid{gap:50px}.feature{padding:20px}.writing{font-size:16px}.header-actions{gap:5px}}
@media(max-width:760px){.topbar{min-height:78px;flex-wrap:wrap;padding-block:14px;gap:10px}.brand{font-size:20px}.header-actions{margin-left:auto}.header-actions .compact{display:none}#account:not([hidden]){display:inline-flex;font-size:12px}.language-picker select{max-width:100px}.hero{grid-template-columns:1fr;padding-top:35px;gap:48px}.hero h1{font-size:clamp(40px,9vw,62px)}html:lang(ru) h1,html:lang(fr) h1{font-size:44px}.hero-stage{max-width:480px;width:100%;margin:auto;padding:45px 25px 20px}.hanzi-tile{right:-7px}.lede{font-size:16px}.hero-actions{gap:15px}.language-proof{margin-top:28px}.feature-grid{grid-template-columns:1fr}.feature{padding:24px}.feature-visual{height:170px}.feature h3{margin-top:20px}.writing{font-size:24px}.how-grid,.pricing-grid,.faq-section{grid-template-columns:1fr;gap:35px}.section{padding-block:60px}.how-section{padding-block:55px}.price-flower{display:none}.closing{display:block;padding:28px;margin-bottom:45px}.closing h2{font-size:30px}.closing button{margin-top:25px}.section-divider{font-size:8px;letter-spacing:.08em}.faq-section{padding-top:40px}.character-grid{margin-top:25px}footer{gap:18px}footer>div{margin-left:0;width:100%;flex-wrap:wrap}.price{font-size:64px}dialog{padding:25px}.primary.large{font-size:14px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.brand{font-size:18px;gap:6px}.brand img{width:30px;height:30px}.header-actions .quiet{font-size:12px;padding:8px}.sample-card h2{font-size:26px}.sample-card{padding:17px}.sample-options{gap:7px}.hero-stage{padding-inline:14px}.hero-actions{align-items:flex-start;flex-direction:column}.price-card{padding:24px}html:lang(ru) h1,html:lang(fr) h1{font-size:38px}}
@media(max-width:1100px){.hanzi-tile{right:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Four clear learning paths, scaled down without narrowing the cards. */
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.speaking-visual>span{font-size:54px;line-height:1.2;color:var(--deep)}.speaking-visual>small{color:var(--muted)}.price-card .free-preview-cta{margin-top:10px}.billing-status{min-height:1.5em}
#recommendedLevel:focus{outline:3px solid #6a59c7;outline-offset:5px}
@media(max-width:1100px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.feature-grid{grid-template-columns:1fr}.header-actions #signup.compact{display:inline-flex}}
/* Mandarin typography and learning controls */
:root{font-family:"Inter","Avenir Next","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",Arial,sans-serif}
.sample-prompt-row{display:flex;align-items:center;gap:12px}.sample-prompt-row h2{flex:1}.speak-button{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:42px;height:42px;font-size:18px;display:grid;place-items:center}.speak-button:hover{background:var(--mint);border-color:var(--green)}
.sample-cta{margin-top:14px;width:100%}
.plan-matrix{margin:20px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.matrix-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:750;padding:12px 0 6px}.plan-matrix table{width:100%;border-collapse:collapse;font-size:12px}.plan-matrix th,.plan-matrix td{text-align:left;padding:8px 5px;border-top:1px solid var(--line)}.plan-matrix th:not(:first-child),.plan-matrix td:not(:first-child){text-align:center}.plan-matrix th{font-weight:700;color:var(--muted)}.plan-matrix td:not(:first-child){color:var(--deep);font-weight:700}.annual-option{width:100%;margin:0 0 10px}.annual-option.selected{border-color:var(--deep);background:var(--mint)}.billing-status{font-size:12px;margin:8px 0;color:var(--muted)}
.plan-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:#f1f4ef}.plan-toggle button{border:0;border-radius:10px;background:transparent;padding:11px;font-weight:750}.plan-toggle button.selected{background:#fff;color:var(--deep);box-shadow:0 2px 8px #16352b14}.annual-saving{color:var(--deep);font-weight:750;margin:-4px 0 20px}.assessment-result{text-align:center;padding:6px 0 2px}.assessment-result h2{font-size:46px;color:var(--deep);margin:8px 0}.result-seal{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;border:2px solid var(--deep);border-radius:14px;color:var(--deep);font:700 30px "Kaiti SC",KaiTi,serif;transform:rotate(-4deg)}.level-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.level-chip{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:10px;font-weight:700}.level-chip.selected{border-color:var(--green);background:var(--mint);color:var(--deep)}
.report-lock{display:grid;gap:12px;margin-top:22px;padding:22px;border:1px dashed #9dbb91;border-radius:16px;background:linear-gradient(135deg,#f4faef,#f2effb);text-align:left}.report-lock b{font-size:18px;color:var(--ink)}.report-lock>span{font-size:13px;color:var(--muted)}.report-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:4px}.report-unlocked{text-align:left;margin-top:22px}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-columns section{padding:14px;border-radius:13px;background:var(--mint)}.report-columns section+section{background:var(--peach)}.report-columns section>span{display:block;margin-bottom:9px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.report-tags{display:flex;flex-wrap:wrap;gap:6px}.report-tags span{padding:5px 8px;border-radius:7px;background:#fff;font-size:12px;font-weight:700;color:var(--deep)}.report-tags.focus span{color:#914d34}.report-dimensions{display:grid;gap:12px;margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:14px}.report-dimension>div{display:flex;justify-content:space-between;font-size:12px}.report-dimension i{display:block;height:7px;margin-top:6px;overflow:hidden;border-radius:8px;background:#e8eee4}.report-dimension i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#86b777)}.report-disclaimer{font-size:11px;padding-left:10px;border-left:3px solid #c9badf}.report-unlocked>p:not(.report-disclaimer){font-size:12px;margin-bottom:8px}
.account-dialog{width:min(820px,calc(100% - 28px))}.account-heading{display:flex;align-items:center;gap:16px;margin-bottom:22px}.account-heading img{border-radius:15px}.account-heading h2{margin:2px 0 0;padding:0}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.account-panel h3{font-size:16px;margin-bottom:16px}.account-panel form{gap:12px}.account-panel select{width:100%;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.membership-panel{background:var(--mint)}.membership-panel .billing-status{font-size:20px;color:var(--deep);font-weight:800}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-facts span{display:flex;flex-direction:column;padding:15px;border-radius:12px;background:var(--lilac)}.profile-facts b{font-size:22px}.profile-facts small{color:var(--muted)}.danger-zone .danger{color:#a3392a}.paywall-dialog{text-align:center;width:min(600px,calc(100% - 28px))}.paywall-dialog .dialog-logo{margin-bottom:10px}.paywall-dialog .eyebrow{justify-content:center}.paywall-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.plan-choice{position:relative;display:flex;flex-direction:column;gap:8px;text-align:left;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.plan-choice.selected{border:2px solid var(--green);background:var(--mint);padding:17px}.plan-choice strong{font-size:16px}.plan-choice span{font-size:15px}.plan-choice em{font-size:11px;font-style:normal;color:var(--deep);font-weight:700}
.plan-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:750;margin-top:10px}.plan-label.pro{color:var(--deep);margin-top:18px}.standard-note{display:grid;gap:4px;margin-top:30px;padding:14px 16px;border-left:3px solid var(--green);background:var(--mint);font-size:13px}.standard-note span{color:var(--muted);font-size:12px}
.legal-copy{display:grid;gap:14px;margin:18px 0 22px}.legal-copy section{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.legal-copy h3{font-size:16px;margin:0 0 6px}.legal-copy p{font-size:14px;line-height:1.75;margin:0;color:var(--ink)}.legal-copy .legal-intro{font-size:16px;line-height:1.75}.legal-copy .legal-updated{font-size:12px;color:var(--muted)}.legal-contact{display:block;margin-top:10px;font-size:13px;color:var(--deep)}
.feedback h2,.feedback h3,.feedback h4{margin:18px 0 8px;color:var(--ink);line-height:1.3}.feedback h2{font-size:22px}.feedback h3{font-size:18px}.feedback h4{font-size:16px}.feedback p{margin:10px 0;color:var(--ink);line-height:1.75}.feedback ul{margin:8px 0 14px;padding-left:22px}.feedback li{margin:6px 0;line-height:1.65}.feedback strong{color:var(--deep)}.feedback em{color:#66558e}.feedback blockquote{margin:12px 0;padding:12px 16px;border-left:3px solid #8c78c4;background:#fff;border-radius:0 10px 10px 0;color:var(--muted)}
.consent-check{display:flex;align-items:flex-start;gap:8px;margin:14px 0 2px;color:var(--muted);font-size:12px;line-height:1.55}.consent-check input{width:16px;height:16px;flex:0 0 auto;margin-top:1px;accent-color:var(--green)}.consent-check a{color:var(--deep);text-decoration:underline;text-underline-offset:2px}
.account-delete-page{max-width:760px}.delete-panel{margin:28px 0 34px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#ffffffd9;box-shadow:0 16px 36px #16352b12}.delete-panel h2{margin:0 0 8px;font-size:22px}.delete-panel form,.delete-panel #deleteForm{display:grid;gap:14px}.delete-panel .primary.danger{background:#a3392a;border-color:#a3392a}.delete-panel .primary.danger:disabled{opacity:.45}.delete-panel #accountEmail{color:var(--deep);font-weight:700}@media(max-width:640px){.legal-page{padding-block:48px 64px}.legal-page h1{font-size:36px}.delete-panel{padding:18px}.account-grid{grid-template-columns:1fr}.account-dialog{padding:22px}.paywall-options,.report-columns,.report-actions{grid-template-columns:1fr}.assessment-result h2{font-size:38px}.report-actions .quiet{border:1px solid var(--line);border-radius:10px}}
.learning-home{padding-bottom:90px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:80px;align-items:center;padding-block:76px 86px}.dashboard-hero h1{max-width:780px;font-size:clamp(48px,6vw,78px);margin:22px 0}.level-letter{position:relative;min-height:330px;padding:36px;border:1px solid #cbd9c2;border-radius:28px;background:linear-gradient(145deg,#f6fbf2,#e8f2e2);box-shadow:0 12px 0 -5px #d9e8d2;overflow:hidden}.level-letter>span{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.level-letter>b{display:block;margin:18px 0 60px;font-size:54px;letter-spacing:-.06em;color:var(--deep)}.level-letter>div{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #bbceb3;padding-top:18px}.level-letter small{color:var(--muted)}.level-letter strong{font-size:26px}.level-letter>i{position:absolute;right:-6px;bottom:-45px;font:400 155px "Kaiti SC",KaiTi,serif;color:#b8d5ad66;transform:rotate(-7deg)}.dashboard-section{padding-block:74px;border-top:1px solid var(--line)}.dashboard-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:34px}.dashboard-heading h2{margin-bottom:0}.dashboard-heading>p{max-width:520px;margin:0 0 8px}.study-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}.study-card{position:relative;min-height:350px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.study-card:nth-child(2){background:var(--lilac)}.study-card:nth-child(3){background:var(--peach)}.study-card>div{margin-top:auto;position:relative;z-index:1}.study-card h3{font-size:27px;margin:8px 0 12px}.study-card p:not(.eyebrow){font-size:14px}.study-card button{margin-top:18px;position:relative;z-index:1}.study-mark{display:grid;place-items:center;width:66px;height:66px;border:1px solid #a9c69f;border-radius:50%;font-size:14px;color:var(--deep)}.study-character{font:400 96px "Kaiti SC",KaiTi,serif;color:#9b87c466;line-height:1}.peach-ink{color:#cb8b6d66}.practice-sheet{background:linear-gradient(#ffffffdd,#ffffffdd),repeating-linear-gradient(0deg,transparent 0 35px,#dfe9db 36px)}.dashboard-lower{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.membership-strip,.profile-strip{min-height:190px;padding:28px;border-radius:22px;display:flex;align-items:center;gap:24px}.membership-strip{justify-content:space-between;background:#183d2e;color:#fff}.membership-strip p{color:#d3e1d8}.membership-strip .eyebrow{color:#8fcca8}.membership-strip h3,.profile-strip h3{margin:8px 0;font-size:24px}.membership-strip>div{max-width:570px}.membership-strip .secondary-state{background:#fff;color:#183d2e;box-shadow:none}.profile-strip{border:1px solid var(--line);background:#f5f7f1}.profile-strip .result-seal{flex:0 0 56px;margin:0}.profile-strip>div{flex:1}.profile-strip p{font-size:13px;margin-bottom:0}#learningNav button{padding:8px 4px;font-size:14px}@media(max-width:900px){.dashboard-hero{grid-template-columns:1fr;gap:35px}.level-letter{min-height:250px}.level-letter>b{margin-bottom:25px}.study-grid{grid-template-columns:1fr}.study-card{min-height:280px}.dashboard-lower{grid-template-columns:1fr}.dashboard-heading{grid-template-columns:1fr;gap:10px}}@media(max-width:760px){.dashboard-hero{padding-block:45px 58px}.dashboard-hero h1{font-size:42px}.dashboard-section{padding-block:52px}.membership-strip,.profile-strip{align-items:flex-start;flex-direction:column}.membership-strip button,.profile-strip button{width:100%}#learningNav{display:none}.learning-home{padding-bottom:55px}}

/* 2026-09-21 product-experience hardening */
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--deep);font-size:20px}
.learning-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.learning-actions .underlined{grid-column:1/-1;min-height:44px;margin-top:0}
.scope-note{margin-top:8px!important;color:var(--muted)!important}
@media(max-width:1100px){.menu-toggle{display:inline-grid;place-items:center;margin-left:auto}.topbar nav.open{display:flex;order:3;width:100%;padding:12px 0;border-top:1px solid var(--line);gap:18px;overflow-x:auto}.topbar nav.open a,.topbar nav.open button{white-space:nowrap}.header-actions{margin-left:0}}
@media(max-width:560px){.learning-actions{grid-template-columns:1fr}.learning-actions .underlined{grid-column:auto}}


/* 2026-09-21 website performance, discovery and verified app-status improvements */
.skip-link{position:fixed;z-index:1000;left:18px;top:14px;transform:translateY(-180%);padding:12px 16px;border-radius:10px;background:var(--ink);color:#fff;font-weight:750;box-shadow:0 8px 24px #0003}.skip-link:focus{transform:translateY(0)}
.hero-stage{min-height:620px}.sample-card{min-height:470px}#assessmentQuestion{min-height:395px}.sample-prompt-row{min-height:78px}.sample-feedback{min-height:62px}.assessment-result{min-height:395px}
.app-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;border-top:1px solid var(--line)}.app-intro{position:sticky;top:36px}.app-intro .lede{font-size:16px}.app-grid{display:grid;gap:14px}.app-card{display:flex;align-items:center;gap:20px;min-height:134px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 0 -5px #e7eee3}.app-card:nth-child(2){background:var(--lilac)}.app-card.web-ready{background:var(--mint);border-color:#cbe2c4}.app-card h3{margin:0 0 8px}.app-card p{margin:0}.app-platform{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:17px;background:var(--ink);color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em}.app-card:nth-child(2) .app-platform{background:#6a59a7}.app-card.web-ready .app-platform{background:var(--deep)}.app-status{display:flex;align-items:center;gap:8px;font-size:13px}.app-status>span:first-child{width:8px;height:8px;border-radius:50%;background:#d18b56}.app-card .underlined{margin-top:0}
.guide-page{padding-bottom:90px}.guide-page>.breadcrumbs{display:flex;align-items:center;gap:10px;padding:24px 0;font-size:12px;color:var(--muted)}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.guide-page>article{max-width:820px;margin-inline:auto}.guide-hero{padding:70px 0 60px;border-bottom:1px solid var(--line)}.guide-hero h1,.guide-index h1{font-size:clamp(44px,6vw,78px);max-width:980px}.guide-hero .lede{max-width:760px}.guide-content{display:grid;gap:0}.guide-content section{padding:46px 0;border-bottom:1px solid var(--line)}.guide-content h2{font-size:34px}.guide-content p{font-size:17px;line-height:1.9;color:var(--ink)}.guide-faq{padding:64px 0}.guide-faq details{padding:20px 0;border-bottom:1px solid var(--line)}.guide-faq summary{font-size:18px;font-weight:700}.guide-faq p{margin:12px 0 0}.related-guides{margin-top:30px;padding:42px;border-radius:24px;background:#f3f7ef}.related-guides>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.related-guides a{display:grid;gap:6px;padding:18px;border-radius:14px;background:#fff;border:1px solid var(--line)}.related-guides a strong{font-size:10px;letter-spacing:.09em;color:var(--deep)}.related-guides a span{font-weight:700}.guide-index{padding-block:82px 100px}.guide-index>header{max-width:900px;margin-bottom:60px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-card{display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;transition:transform .18s,border-color .18s,box-shadow .18s}.guide-card:nth-child(3n+1){background:var(--mint)}.guide-card:nth-child(3n+2){background:var(--lilac)}.guide-card:nth-child(3n){background:var(--peach)}.guide-card:hover{transform:translateY(-3px);border-color:#9fc497;box-shadow:0 12px 24px #16352b12}.guide-card>span{font-size:10px;letter-spacing:.1em;color:var(--deep);font-weight:800}.guide-card h2{font-size:28px;margin:20px 0 14px}.guide-card p{font-size:14px;line-height:1.75}.guide-card strong{margin-top:auto;color:var(--deep)}
@media(max-width:900px){.app-section{grid-template-columns:1fr;gap:28px}.app-intro{position:static}.guide-grid{grid-template-columns:1fr}.guide-page>article{max-width:none}}
@media(max-width:760px){.hero-stage{min-height:600px}.sample-card{min-height:465px}.app-card{align-items:flex-start;padding:20px}.guide-hero{padding:45px 0}.guide-hero h1,.guide-index h1{font-size:42px}.guide-content section{padding:36px 0}.guide-content h2{font-size:28px}.related-guides{padding:24px}.related-guides>div{grid-template-columns:1fr}.guide-index{padding-block:50px 70px}.guide-card{min-height:0}.guide-page header nav{display:none}}
@media(max-width:380px){.hero-stage{min-height:610px}.sample-card{min-height:480px}.app-platform{flex-basis:52px;width:52px;height:52px}.guide-hero h1,.guide-index h1{font-size:36px}}
:where(dialog,.feedback,.speaking-turn,.account-panel,details){overflow-wrap:anywhere;min-width:0}
.feedback,.speaking-session p{white-space:pre-wrap;overflow-wrap:anywhere}
.speaking-session{display:grid;gap:16px;min-width:0}
.speaking-session select,.speaking-session textarea{width:100%;min-width:0}
.speaking-session button{min-height:44px;white-space:normal}
.speaking-session button:not(.primary){border:1px solid var(--line);border-radius:12px;background:white;color:var(--deep);padding:10px 14px;font-weight:650}
.speaking-session button:not(.primary):hover{border-color:var(--deep);background:var(--mint)}
.speaking-session select,.speaking-session textarea{border:1px solid var(--line);border-radius:12px;padding:12px;background:white;color:var(--ink)}
.speaking-session label{font-size:14px;font-weight:650;display:grid;gap:8px}
.speaking-session .feedback strong{font-variant-numeric:tabular-nums;font-size:28px;color:var(--deep)}
.speaking-turn{padding:16px;margin-block:12px;border:1px solid var(--line);border-radius:16px;background:var(--mint)}
.speaking-turn p[lang=zh]{font-size:20px;color:var(--ink)}
.speaking-session .feedback button{margin:6px;max-width:100%}
.speaking-session .expression-steps{border-left:4px solid var(--deep);padding:12px 16px;background:var(--mint);font-weight:650}
.speaking-session .expression-report{display:grid;gap:12px;border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}
.speaking-session .expression-report[hidden]{display:none}
.speaking-session .expression-report h4{font-size:14px;color:var(--deep);margin:8px 0 0}
.speaking-session .expression-report p{margin:0;line-height:1.7}
.speaking-session .expression-report small{color:var(--muted)}
.speaking-session .expression-reviews{display:grid;gap:10px}
.speaking-session .expression-reviews button{text-align:left;overflow-wrap:anywhere}
.speaking-session .primary{background:var(--green);color:#fff}
.speaking-session button:disabled{opacity:.55;cursor:not-allowed}
.speaking-session :focus-visible{outline:3px solid var(--deep);outline-offset:3px}
@media(max-width:600px){dialog{max-width:calc(100vw - 24px)}.feedback{padding:16px}.learning-actions{flex-wrap:wrap}}
.legal-page,.guide-page,.guide-index{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.legal-page h1{font-size:clamp(28px,9vw,38px)}.reset-card #language{max-width:100%;margin-top:18px;padding:8px;border:1px solid var(--line);border-radius:10px}}
.social-login-buttons{display:grid;gap:10px;margin:18px 0}
.social-login-buttons button{min-height:48px;border:1px solid #d9dde4;border-radius:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}
.social-login-buttons [data-social-provider="apple"]{background:#000;color:#fff}
.social-login-buttons [data-social-provider="google"]{background:#fff;color:#1f2937}
#authDialog #forgotPassword{margin-right:14px}
.signup-assessment-notice{padding:14px 16px;margin:0 0 18px;background:#e8f7ed;border:1px solid #9bd5ad;border-radius:12px;color:#155c35;font-size:15px;line-height:1.6;font-weight:600}
.signup-assessment-notice:focus{outline:3px solid #178844;outline-offset:3px}

/* Saved reports preserve the learning context. */
#marketingHome.report-view > :not(.hero),
.report-view .hero-copy,.report-view .stroke-label,.report-view .hanzi-tile,.report-view .stage-caption{display:none}
#marketingHome.report-view .hero{display:block;max-width:720px;padding-block:28px}
#marketingHome.report-view .hero-stage{min-height:0;max-width:none;border-radius:24px;padding:20px}
#marketingHome.report-view .sample-card{min-height:0}
@media(max-width:1100px){#learningNav.open:not([hidden]){display:flex}}

/* Completed placement checks become a spacious learning report. */
.report-complete .hero-copy,.report-complete .stroke-label,.report-complete .hanzi-tile,.report-complete .stage-caption{display:none}
#marketingHome.report-complete .hero{display:block;max-width:880px;padding-block:36px 64px}
#marketingHome.report-complete .hero-stage{min-height:0;padding:0;background:transparent;border-radius:28px}
#marketingHome.report-complete .sample-card{min-height:0;padding:36px 48px 40px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 16px 48px #172c250a}
.report-complete .sample-top{padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.1em}
.report-complete .assessment-result{position:relative;min-height:0;padding-top:32px;text-align:left}
.report-complete .assessment-result>.result-seal{position:absolute;right:0;top:36px;width:84px;height:84px;margin:0;border:1px solid #bed9c6;border-radius:24px;background:var(--mint);font-size:44px;transform:none}
.report-complete .assessment-result>.eyebrow{margin:0 110px 8px 0;font-size:12px;letter-spacing:.05em}
.report-complete .assessment-result h2{margin:0 110px 14px 0;font-family:"Avenir Next","Segoe UI",sans-serif;font-size:64px;font-weight:750;letter-spacing:-.06em;line-height:1.1;color:var(--ink)}
.report-complete #assessmentSummary{display:inline-block;margin:0;padding:7px 12px;background:var(--mint);border-radius:8px;color:var(--deep);font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}
.report-complete #reportSampleNote{max-width:560px;margin:18px 0 0;font-size:13px;line-height:1.8;color:var(--muted)}
.report-complete .report-unlocked{margin-top:28px}
.report-complete .report-dimensions{gap:22px;margin:0 0 24px;padding:26px;background:#f8faf9;border:1px solid #e5ece7;border-radius:18px}
.report-complete .report-dimensions h3{margin:0 0 2px;font-size:17px;letter-spacing:0;color:var(--ink)}
.report-complete .report-dimension>div{align-items:center;gap:16px;font-size:14px;line-height:1.5;color:var(--ink)}
.report-complete .report-dimension strong{flex-shrink:0;color:var(--deep);font-size:14px;font-variant-numeric:tabular-nums}
.report-complete .report-dimension i{height:8px;margin-top:10px;background:#e4ece6}
.report-complete .report-dimension i span{background:var(--deep)}
.report-complete .report-disclaimer{margin:0 0 24px;padding:0 0 0 12px;border-color:#bed9c6;font-size:12px;line-height:1.8}
.report-complete .report-unlocked>p:not(.report-disclaimer){margin:0 0 12px;font-size:14px;line-height:1.7}
.report-complete .level-chips{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0 24px}
.report-complete .level-chip{min-height:48px;font-size:13px;border-radius:12px}
.report-complete .level-chip.selected{border-color:var(--deep);background:var(--deep);color:#fff}
.report-complete #reportCurrentLevel{padding:16px 18px;background:var(--mint);border-radius:12px;color:var(--deep)}
.report-complete #saveAssessment,.report-complete #reportToday{margin-top:8px;min-height:54px}
.report-complete .report-lock{margin-top:28px;padding:24px;background:var(--mint);border:1px solid #d7e8dc;border-radius:18px;gap:12px}
.report-complete .report-lock>span{font-size:14px;line-height:1.7}
.report-complete .report-actions{margin-top:8px;gap:12px}
@media(max-width:640px){
 #marketingHome.report-complete .hero{width:calc(100% - 28px);padding-block:18px 36px}
 #marketingHome.report-complete .sample-card{padding:22px 20px 26px;border-radius:22px}
 .report-complete .assessment-result{padding-top:26px}
 .report-complete .assessment-result>.result-seal{top:28px;width:60px;height:60px;border-radius:18px;font-size:32px}
 .report-complete .assessment-result>.eyebrow{margin-right:76px;font-size:11px}
 .report-complete .assessment-result h2{margin-right:76px;font-size:48px}
 .report-complete .report-dimensions{padding:20px 16px;gap:20px}
 .report-complete .level-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
 .report-complete .report-lock{padding:20px}
}

/* Account workspace: matches the approved two-column learning profile. */
#accountDialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fffefa;color:var(--ink);overflow:auto}
#accountDialog::backdrop{background:#fffefa}
#accountDialog .account-top{height:72px;border-bottom:1px solid #e8ede9;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));background:#fff;gap:20px}
#accountDialog .brand{display:flex;align-items:center;gap:10px;font-size:23px;white-space:nowrap}
#accountDialog .brand img{border-radius:10px}
.account-layout{max-width:1368px;margin:auto;padding:28px 24px;display:grid;grid-template-columns:minmax(0,1.95fr) minmax(320px,1fr);gap:28px;align-items:start}
.account-main,.account-sidebar{display:grid;gap:16px;min-width:0}
#accountDialog .account-heading{display:block;margin:0 0 8px;padding:4px 0 8px}
#accountDialog h2{font-size:40px;letter-spacing:-.04em;margin:0 0 8px;padding:0;line-height:1.2}
#accountDialog .account-heading p{font-size:15px;color:var(--muted);margin:0;line-height:1.6}
#accountDialog .account-panel{padding:24px;border:1px solid #e5e9e6;background:#fff;border-radius:16px;min-width:0;box-shadow:none}
#accountDialog h3{font-size:19px;margin:0 0 18px;line-height:1.4}
#accountDialog .account-identity{display:flex;align-items:center;gap:22px;min-height:138px}
#accountDialog .account-identity h3{font-size:26px;margin:0 0 4px}
#accountDialog .account-identity p{font-size:15px;color:var(--muted);margin:0;overflow-wrap:anywhere}
.account-avatar{width:80px;height:80px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#dff6e7;color:#103e2c;font-size:42px;font-weight:750}
.account-current-level{border-left:1px solid var(--line);padding-left:28px;margin-left:20px;display:grid;gap:10px;flex-shrink:0}
.account-current-level small{color:var(--muted);font-size:13px}.account-current-level b{font-size:21px;background:#f3f0ff;border-radius:9px;padding:6px 14px;width:fit-content}
.account-section-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.account-method{position:relative;font-size:13px;color:var(--muted)}.account-method summary{cursor:pointer;padding:4px;min-height:30px}.account-method p{position:absolute;right:0;top:28px;width:min(340px,70vw);background:white;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 6px 24px #172c2514;z-index:2;font-size:13px;line-height:1.7}
.account-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:20px 0 28px;gap:0}.account-stats>div{text-align:center;border-right:1px solid #e5e9e6;padding:0 8px}.account-stats>div:last-child{border:0}.account-stats b{display:block;color:#124c33;font-size:34px;line-height:1.3}.account-stats small{display:block;font-size:13px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}
#learningSyncStatus{position:relative;border-top:1px solid #e5e9e6;padding:20px 0 0}#learningSyncStatus p{margin:0}#learningSyncStatus .account-sync-state{font-weight:700;font-size:15px;color:var(--deep)}#learningSyncStatus .account-sync-scope{font-size:12px;color:var(--muted);line-height:1.6;margin-top:6px}.account-sync-retry{margin-top:10px;border:1px solid var(--line)!important;border-radius:8px;padding:8px 14px!important}
.account-learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-entry{display:flex;align-items:center;gap:16px;text-align:start;width:100%;padding:20px;border:1px solid #e5e9e6;border-radius:12px;background:#fff;min-height:104px;color:var(--ink);box-shadow:none;cursor:pointer;font:inherit}.account-entry span{flex:1;min-width:0}.account-entry strong{display:block;font-size:16px;line-height:1.5}.account-entry small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:4px}.account-icon{width:52px;height:52px;object-fit:scale-down;background:#e6f8eb;padding:14px;border-radius:50%;flex-shrink:0}.account-arrow{width:16px;height:16px;opacity:.65;flex-shrink:0}.account-assessment{border:1px solid #e5e9e6;border-radius:12px}.account-assessment .account-entry{border:0;min-height:80px;padding-bottom:8px}.account-secondary{display:flex;gap:14px;flex-wrap:wrap;padding:0 16px 12px 86px}.account-secondary .quiet{padding:4px 0!important;font-size:12px;color:var(--deep)}.account-review{margin-top:16px;background:#f5f2ff;border-color:transparent}.account-review .account-icon{background:#ebe5ff}.account-review b{font-size:19px;color:var(--ink)}
#accountDialog .membership-panel{background:#f3fbf5;padding:24px 22px}.account-member-heading{display:flex;gap:18px;align-items:center}.account-member-heading .account-icon{width:64px;height:64px;padding:18px}.account-member-heading h3{font-size:14px!important;margin-bottom:4px!important}.account-member-heading .billing-status{font-size:24px;margin:0;color:var(--deep)}#accountRenewal{margin:10px 0;font-size:13px}#accountDialog .primary{background:#2fc15b;color:#103820;border:0;box-shadow:none;min-height:44px;border-radius:9px;font-size:14px;font-weight:700;padding:12px 16px;line-height:1.5}#accountDialog .primary:hover{background:#28a44d}#accountDialog .primary:disabled{opacity:.55;cursor:wait}#accountDialog .membership-panel .primary{margin-top:8px}
#accountDialog #profileForm{display:grid;gap:14px}#profileForm label{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:10px}#profileForm label>span{margin:0;font-weight:600}#profileForm input,#profileForm select{min-height:44px;border:1px solid #dce3de;border-radius:9px;padding:10px 12px;font-size:14px;min-width:0}#profileForm input:disabled{background:#f4f5f6;color:#778378}#accountDialog .account-connections h3{margin-bottom:8px}#accountSocial .social-login-buttons{gap:8px;margin:0}#accountSocial .social-login-buttons button{background:#fff!important;color:var(--ink)!important;border:0!important;border-radius:8px;box-shadow:none;justify-content:flex-start;padding:12px 4px!important;min-height:48px;font-size:14px;gap:14px}#accountSocial .social-login-buttons button:hover{background:#f3fbf5!important}
#accountDialog .danger-zone h3{margin-bottom:8px}#accountDialog .danger-zone>button{display:block;text-align:start;width:100%;padding:12px 4px;border-radius:8px;font-size:14px;min-height:44px}#accountDialog .danger-zone>button:hover{background:#f7f9f7}#accountDialog #accountError{grid-column:1/-1;margin:0}#accountDialog :focus-visible{outline:3px solid #1f7d3b;outline-offset:3px}#accountDialog .account-entry:hover{border-color:#97e0ad;background:#f6fcf8}
@media(max-width:1000px){.account-layout{gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}#accountDialog .account-panel{padding:20px}.account-learning-grid{grid-template-columns:1fr}.account-current-level{margin-left:0;padding-left:18px}.account-stats b{font-size:28px}.account-avatar{width:60px;height:60px;font-size:32px}}
@media(max-width:760px){.account-layout{display:flex;flex-direction:column;padding:20px 16px;gap:16px}.account-main,.account-sidebar{width:100%}#accountDialog h2{font-size:30px}#accountDialog .account-top{height:64px;padding:0 16px}#accountDialog .brand{font-size:18px}.account-current-level{margin-left:auto;padding-left:14px}.account-current-level small{max-width:100px}.account-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}.account-stats>div:nth-child(3){border:0}.account-stats small{font-size:12px}.account-stats b{font-size:28px}#accountDialog .account-identity{gap:12px;padding:18px}.account-avatar{width:48px;height:48px;font-size:28px}#accountDialog .account-identity h3{font-size:21px}#accountDialog .account-identity p{font-size:12px}.account-current-level b{font-size:17px;padding:5px 8px}.account-layout .account-sidebar{gap:16px}}
#accountDialog .account-nav{display:flex;align-items:center;gap:20px;margin-right:auto;margin-left:60px}#accountDialog .account-nav button{font-size:14px;padding:8px 4px;min-height:44px}#accountDialog .account-nav button:hover{color:var(--deep)}
@media(max-width:1000px){#accountDialog .account-nav{gap:12px;margin-left:16px}}@media(max-width:760px){#accountDialog .account-nav{display:none}}
#accountDialog .account-icon{object-fit:contain}#accountLanguage{max-width:144px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:white;font:inherit;font-size:13px}#accountDialog .danger-zone .danger{color:#c12929;background:transparent}
@media(max-width:760px){#accountLanguage{max-width:106px}#accountDialog .account-top{gap:10px}#accountDialog .account-top>[data-close]{font-size:12px;padding:8px 2px}.account-current-level{max-width:108px}.account-current-level small{font-size:11px}}
#accountDialog .membership-panel:has(button:not([hidden]):not(:disabled)){cursor:pointer}#accountDialog .membership-panel:has(button:not([hidden]):not(:disabled)):hover{border-color:#97e0ad}
.account-layout{max-width:1404px}#accountDialog .account-top{padding-inline:max(24px,calc((100vw - 1356px)/2))}
@media(max-width:760px){#accountDialog .account-top{padding-inline:16px}}
#accountDialog h2{font-size:44px}#accountDialog h3{font-size:22px}#accountDialog .account-identity h3{font-size:30px}#accountDialog .account-identity p{font-size:17px}.account-stats b{font-size:40px}.account-stats{padding-top:6px;padding-bottom:24px}.account-stats small{font-size:14px}#learningSyncStatus .account-sync-state{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:12px}#learningSyncStatus .account-sync-scope{padding-left:40px}.account-entry strong{font-size:18px}.account-entry small{font-size:14px}
@media(max-width:760px){#accountDialog h2{font-size:30px}#accountDialog h3{font-size:20px}#accountDialog .account-identity h3{font-size:21px}#accountDialog .account-identity p{font-size:12px}.account-stats b{font-size:28px}.account-stats small{font-size:12px}.account-entry strong{font-size:16px}.account-entry small{font-size:13px}}
/* Account navigation: one visible view, shared header and predictable parent. */
.workspace-account>.account-top{display:none!important}.workspace-header{display:flex;align-items:center;gap:28px;min-height:72px;padding:10px max(24px,calc((100vw - 1356px)/2));border-bottom:1px solid #e5e9e6;background:white;position:relative;z-index:4}.workspace-brand{display:flex;gap:10px;align-items:center;background:transparent;border:0;padding:0;font-size:23px;font-weight:750;white-space:nowrap}.workspace-brand img{border-radius:10px}.workspace-nav{display:flex;gap:20px;margin-right:auto}.workspace-nav button{border:0;background:none;padding:10px 2px;font-size:14px;min-height:44px;white-space:nowrap}.workspace-nav .selected{color:#1f7d3b;box-shadow:inset 0 -3px #2fc15b}.workspace-header select{min-height:44px;max-width:140px;border:1px solid var(--line);border-radius:9px;background:white;padding:8px;font:inherit;font-size:13px}.workspace-menu{display:none}.workspace-breadcrumb{max-width:1356px;margin:0 auto;padding:18px 24px;display:flex;gap:24px;align-items:center;border-bottom:1px solid #e5e9e6;font-size:14px}.workspace-breadcrumb button{border:1px solid var(--line);border-radius:9px;min-height:44px;padding:8px 14px;background:white;color:#1f7d3b}.workspace-breadcrumb>span{color:var(--muted)}
dialog.workspace-page{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fffefa;overflow:auto;text-align:start}dialog.workspace-page::backdrop{background:#fffefa}.workspace-content{max-width:1120px;padding:32px 24px 64px;margin:0 auto;overflow-wrap:anywhere}.workspace-content>h2{font-size:30px;margin:0 0 24px}.workspace-content button{min-height:44px;border-radius:9px}.workspace-content .quiet{padding:10px 16px}.workspace-content .primary{background:#2fc15b;box-shadow:none;color:#103820}.workspace-page :focus-visible,.workspace-header :focus-visible{outline:3px solid #1f7d3b;outline-offset:3px}.workspace-content .sample-card{width:100%;max-width:880px;margin:0 auto;transform:none}.workspace-content .assessment-result h2{font-size:48px}.workspace-content .sample-card:before{display:none}.workspace-task-note,.workspace-context-note{border:1px solid #c5eed1;border-radius:12px;padding:16px;background:#f3fbf5;font-size:14px}.workspace-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:24px;flex-wrap:wrap}.workspace-tabs button{padding:10px 18px;border:1px solid var(--line);border-radius:10px;background:white}.workspace-tabs [aria-selected=true]{background:#e6f8eb;border-color:#2fc15b;color:#1f7d3b;font-weight:700}.workspace-list>div{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.workspace-list>div button{border:1px solid var(--line);background:white;padding:12px 16px;text-align:start}.workspace-list>div button:first-child{flex:1}.workspace-list>p{line-height:1.8}.workspace-list details{border-bottom:1px solid var(--line);padding:12px 0}.workspace-list summary{min-height:44px;padding:10px 0;cursor:pointer}.workspace-empty-action{margin-top:24px}.workspace-page .paywall-options{max-width:720px}.workspace-page .dialog-logo{display:none}.workspace-page .paywall-options~.full{max-width:720px}.workspace-page .error{max-width:720px}.workspace-page #reviewList button{margin:8px 8px 8px 0;min-height:44px;padding:10px 16px}.workspace-page #reviewList>div>button{border:1px solid var(--line);background:white;border-radius:8px}.workspace-page #reviewList .review-item{width:100%}
@media(max-width:1100px){.workspace-header{gap:14px}.workspace-menu{display:block!important;margin-left:auto;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px 12px!important}.workspace-nav{display:none;position:absolute;top:100%;left:16px;right:16px;border:1px solid var(--line);border-radius:12px;background:white;padding:12px;box-shadow:0 8px 24px #172c2514;margin:0;flex-wrap:wrap}.workspace-nav.is-open{display:flex}.workspace-header select{max-width:132px}}
@media(max-width:600px){.workspace-header{padding:12px 16px;gap:10px}.workspace-brand{font-size:17px;gap:6px}.workspace-brand img{width:28px;height:28px}.workspace-header select{max-width:98px}.workspace-menu{font-size:12px}.workspace-breadcrumb{padding:12px 16px;gap:12px}.workspace-content{padding:24px 16px 48px}.workspace-content>h2{font-size:25px}.workspace-list>div{flex-wrap:wrap}.workspace-page .sample-card{padding:20px}.workspace-header .workspace-nav button{min-width:70px}}
.workspace-leave-dialog{max-width:480px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:16px;padding:24px}.workspace-leave-dialog h2{font-size:24px}.workspace-leave-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.workspace-leave-actions button{min-height:44px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:white}.workspace-leave-actions .primary{background:#2fc15b;box-shadow:none;color:#103820;border:0}
.workspace-page.workspace-unavailable #paywallCheckout,.workspace-page.workspace-unavailable [data-i18n=renewalDisclosure]{display:none}.workspace-page.workspace-unavailable #paywallError{padding:16px;border:1px solid #c5eed1;border-radius:12px;background:#f3fbf5;color:#1f7d3b;font-size:14px}
.workspace-required-badge{margin-left:8px;padding:3px 7px;border-radius:6px;background:#e6f8eb;color:#1f7d3b;font-size:11px;font-weight:700}

/* Membership plan: the selected app-inspired design, shared by modal and workspace. */
#paywallDialog.membership-dialog{--membership-ink:#112d22;--membership-muted:#6b7280;text-align:start;color:var(--membership-ink);background:#fff;font-family:"Avenir Next","PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
#paywallDialog.membership-dialog:not(.workspace-page){width:min(910px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:26px 28px 18px;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 24px 90px #10382038}
#paywallDialog.membership-dialog::backdrop{background:#14372c73;backdrop-filter:blur(6px)}
#paywallDialog .membership-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;min-height:34px}
#paywallDialog .membership-heading h2{font-size:28px;font-weight:700;line-height:1.25;letter-spacing:-.035em;margin:0;padding:0;color:#111827}
#paywallDialog #membershipTitle[tabindex="-1"]:focus{outline:none}
#paywallDialog .membership-heading .close{position:static;flex:0 0 36px;width:36px;height:36px;min-height:36px;margin:-4px -7px -4px 0;padding:0;display:grid;place-items:center;border-radius:9px;line-height:1;color:#111827;font-size:27px}
#paywallDialog .membership-heading .close:hover{background:#f3f4f6}
#paywallDialog .membership-hero{display:flex;align-items:center;gap:24px;position:relative;isolation:isolate;min-height:150px;padding:24px 26px;border-radius:17px;background:linear-gradient(115deg,#18602e 0%,#2fc15b 58%,#97e0ad 100%);color:#fff}
#paywallDialog .membership-sparkles{width:56px;height:64px;flex:0 0 56px;object-fit:contain;filter:brightness(0) invert(1)}
#paywallDialog .membership-hero-copy{flex:1;min-width:0;padding-right:72px}
#paywallDialog .membership-hero h3{font-size:36px;font-weight:700;letter-spacing:-.035em;line-height:1.12;color:#fff;margin:0 0 8px}
#paywallDialog .membership-hero p{color:#fff;margin:0;font-size:17px;line-height:1.45}
#paywallDialog .membership-hero p:first-of-type{font-size:20px;font-weight:700;margin-bottom:3px}
#paywallDialog .membership-plus-badge{position:absolute;right:25px;top:24px;display:inline-flex;align-items:center;justify-content:center;padding:4px 17px;border-radius:24px;background:#ffffff30;color:#fff;font-size:17px;font-weight:750;letter-spacing:.12em;line-height:1.6}
#paywallDialog .membership-plans{margin-top:20px}
#paywallDialog .membership-section-heading{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:15px;row-gap:4px;margin-bottom:12px}
#paywallDialog .membership-section-heading h3,#paywallDialog .membership-benefits>h3{font-size:24px;letter-spacing:-.025em;line-height:1.35;margin:0;color:#111827}
#paywallDialog #paywallPriceNote{font-size:13px;line-height:1.55;margin:0;color:var(--membership-muted)}
#paywallDialog .paywall-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:none;margin:0}
#paywallDialog .plan-choice{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:10px;min-width:0;min-height:128px;padding:20px 56px 17px 22px;border:2px solid #dfe3e8;border-radius:17px;background:#fff;text-align:start;color:var(--membership-ink);box-shadow:none;line-height:1.35;transition:border-color .16s,background .16s}
#paywallDialog .plan-choice:hover{border-color:#97e0ad;background:#f8fcf9}
#paywallDialog .plan-choice.selected,#paywallDialog .plan-choice[aria-checked=true]{padding:20px 56px 17px 22px;border-color:#20bd51;background:#f2fbf5}
#paywallDialog .plan-choice:focus-visible{outline:3px solid #1f7d3b;outline-offset:3px}
#paywallDialog .plan-choice-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0}
#paywallDialog .plan-choice-heading strong{font-size:19px;font-weight:650;line-height:1.35;color:#111827}
#paywallDialog .plan-choice-heading>span:not(.plan-choice-check),#paywallDialog .membership-recommended{display:inline-flex;padding:3px 12px;border-radius:20px;background:#e4f8eb;color:#078b31;font-size:13px;font-weight:750;line-height:1.45}
#paywallDialog .plan-choice-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;line-height:1.15}
#paywallDialog .plan-choice-price b{font-size:36px;font-weight:700;letter-spacing:-.035em;overflow-wrap:anywhere}
#paywallDialog .plan-choice-price small{font-size:16px;font-weight:650}
#paywallDialog .plan-choice em{display:block;font-size:14px;font-style:normal;font-weight:700;line-height:1.4;color:#078b31}
#paywallDialog .plan-choice-check,#paywallDialog .plan-choice input[type=radio]{position:absolute;right:20px;top:22px;display:grid;place-items:center;width:28px;height:28px;min-height:0;margin:0;padding:0;border:2px solid #dce1e7;border-radius:50%;background:#fff;appearance:none;flex-shrink:0}
#paywallDialog .selected .plan-choice-check,#paywallDialog [aria-checked=true] .plan-choice-check,#paywallDialog .plan-choice input[type=radio]:checked{border-color:#08a23c;background:#08a23c}
#paywallDialog .selected .plan-choice-check:after,#paywallDialog [aria-checked=true] .plan-choice-check:after,#paywallDialog .plan-choice input[type=radio]:checked:after{content:'';width:8px;height:13px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}
#paywallDialog .membership-quota{display:flex;align-items:center;gap:18px;margin-top:15px;padding:12px 20px;background:#eefaf3;border-radius:14px}
#paywallDialog .membership-quota>img{width:46px;height:46px;flex:0 0 46px;object-fit:contain;padding:7px;border-radius:14px;background:#dff7e9}
#paywallDialog .membership-quota h3{font-size:16px;line-height:1.4;margin:0 0 2px;color:#111827}
#paywallDialog .membership-quota p{font-size:14px;line-height:1.5;margin:0;color:var(--membership-muted)}
#paywallDialog .membership-benefits{margin-top:19px}
#paywallDialog .membership-benefit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:14px;list-style:none;padding:0;margin:13px 0 0}
#paywallDialog .membership-benefit-list li{display:flex;align-items:center;gap:16px;min-width:0;margin:0;padding:0;border:0;background:none}
#paywallDialog .membership-benefit-list li>img{width:48px;height:48px;flex:0 0 48px;object-fit:contain;padding:10px;border-radius:15px;background:#e9faf0}
#paywallDialog .membership-benefit-list li>div{min-width:0}
#paywallDialog .membership-benefit-list strong{display:block;font-size:16px;font-weight:650;line-height:1.45;color:#111827}
#paywallDialog .membership-benefit-list p{font-size:14px;line-height:1.5;margin:2px 0 0;color:var(--membership-muted)}
#paywallDialog .membership-free-note{margin:15px 0 0;text-align:center;color:var(--membership-muted);font-size:13px;line-height:1.6}
#paywallDialog .membership-footer{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:18px;padding:11px 0 0;border-top:1px solid #e0e5e9;font-size:13px}
#paywallDialog .membership-footer #paywallError{max-width:none;margin:0;text-align:center;font-size:13px;line-height:1.5;white-space:pre-wrap}
#paywallDialog .membership-footer #paywallError:empty{display:none}
#paywallDialog .membership-footer>.primary,#paywallDialog .membership-footer>#paywallContinue{width:100%;min-height:50px;margin:0;padding:11px 20px;border:0;border-radius:12px;box-shadow:none;background:#2fc15b;color:#fff;font-size:17px;font-weight:750;line-height:1.5;transition:background .16s}
#paywallDialog .membership-footer>.primary:hover,#paywallDialog .membership-footer>#paywallContinue:hover{background:#24ad4f;transform:none}
#paywallDialog .membership-footer #paywallRenewal{font-size:12px;line-height:1.55;color:var(--membership-muted);margin:1px 0 0;text-align:center}
#paywallDialog .membership-footer .membership-legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:0;width:100%;font-size:13px;color:var(--membership-muted)}
#paywallDialog .membership-legal button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border:0;border-radius:4px;padding:2px 5px;background:none;color:var(--membership-muted);font-size:13px;line-height:1.5;font-weight:500;text-decoration:underline;text-underline-offset:2px}
#paywallDialog .membership-legal button:hover{color:#1f7d3b}
#paywallDialog.membership-dialog.workspace-page .workspace-content{max-width:966px;padding:28px 28px 48px}
#paywallDialog.membership-dialog.workspace-page .paywall-options{max-width:none}
#paywallDialog.membership-dialog.workspace-page .membership-footer #paywallError{padding:0;border:0;border-radius:0;background:none;color:var(--membership-muted);max-width:none;font-size:13px}
#paywallDialog.membership-dialog.workspace-unavailable .membership-footer #paywallError{color:var(--membership-muted)}
#paywallDialog[data-billing-state="unavailable"] #paywallError{color:var(--membership-muted)}
@media(max-width:600px){
  #paywallDialog.membership-dialog:not(.workspace-page){width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px 18px 12px;border-radius:20px}
  #paywallDialog .membership-heading{margin-bottom:14px}
  #paywallDialog .membership-heading h2{font-size:24px}
  #paywallDialog .membership-hero{gap:14px;min-height:154px;padding:22px 18px;border-radius:16px;align-items:flex-start}
  #paywallDialog .membership-sparkles{width:37px;height:46px;flex-basis:37px;margin-top:5px}
  #paywallDialog .membership-hero-copy{padding-right:0}
  #paywallDialog .membership-hero h3{font-size:27px;margin-bottom:8px;padding-right:0}
  #paywallDialog .membership-hero p:first-of-type{font-size:16px;margin-bottom:5px}
  #paywallDialog .membership-hero p{font-size:13px;line-height:1.5}
  #paywallDialog .membership-plus-badge{display:none}
  #paywallDialog .membership-plans{margin-top:18px}
  #paywallDialog .membership-section-heading{display:block;margin-bottom:11px}
  #paywallDialog .membership-section-heading h3,#paywallDialog .membership-benefits>h3{font-size:20px}
  #paywallDialog #paywallPriceNote{font-size:12px;margin-top:4px}
  #paywallDialog .paywall-options{grid-template-columns:1fr;gap:11px}
  #paywallDialog .plan-choice,#paywallDialog .plan-choice.selected,#paywallDialog .plan-choice[aria-checked=true]{min-height:112px;padding:17px 56px 17px 18px;gap:9px;border-radius:15px}
  #paywallDialog .plan-choice-price b{font-size:31px}
  #paywallDialog .plan-choice-heading strong{font-size:18px}
  #paywallDialog .plan-choice-price small{font-size:14px}
  #paywallDialog .plan-choice em{font-size:12px}
  #paywallDialog .membership-quota{gap:13px;padding:13px 14px}
  #paywallDialog .membership-quota h3{font-size:15px}
  #paywallDialog .membership-quota p{font-size:13px}
  #paywallDialog .membership-benefit-list{grid-template-columns:1fr;gap:15px;margin-top:14px}
  #paywallDialog .membership-benefit-list li{gap:14px}
  #paywallDialog .membership-free-note{font-size:13px;text-align:start}
  #paywallDialog .membership-footer{margin-top:18px;padding-top:12px;gap:8px}
  #paywallDialog .membership-legal button{min-height:40px;padding:5px 8px}
  #paywallDialog.membership-dialog.workspace-page .workspace-content{padding:23px 18px 36px}
}
@media(prefers-reduced-motion:reduce){#paywallDialog .plan-choice,#paywallDialog .membership-footer>.primary,#paywallDialog .membership-footer>#paywallContinue{transition:none}}

/* Logged-in learning views share the account header and a stable scroll frame. */
html.learning-workspace{scrollbar-gutter:stable;scroll-behavior:auto}
html.learning-workspace body>.topbar{display:none!important}
#learningWorkspaceHeader[hidden]{display:none!important}
#learningWorkspaceHeader{position:sticky;top:0;z-index:30}
#learningWorkspaceHeader>.workspace-header{position:relative}
.workspace-header{font-family:"Inter","Avenir Next","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.6;color:var(--ink);padding-inline:max(24px,calc((100% - 1356px)/2))}
.workspace-header button,.workspace-header select{font-family:inherit;line-height:1.6;color:inherit}
.workspace-header .workspace-brand{font-size:23px;font-weight:750;min-height:44px;letter-spacing:normal;border-radius:0;box-shadow:none}
.workspace-header .workspace-nav{align-items:center;gap:20px}
.workspace-header .workspace-nav button{font-size:14px;font-weight:400;min-height:44px;padding:10px 2px;border:0;border-radius:0;background:none}
.workspace-header .workspace-nav .selected{color:#1f7d3b}
.workspace-header select{font-size:13px;font-weight:400}
dialog.workspace-page,#accountDialog.workspace-account{scrollbar-gutter:stable;scroll-behavior:auto;overflow-anchor:none}
#learnDialog.workspace-page>.workspace-content>.eyebrow{display:none}
#learnDialog.workspace-page #learnTitle{padding-right:0}
#paywallDialog.workspace-page .membership-heading>.close{display:none!important}
@media(max-width:1100px){.workspace-header .workspace-nav{gap:20px}.workspace-header .workspace-menu{font-size:16px}}
@media(max-width:600px){.workspace-header{padding-inline:16px}.workspace-header .workspace-brand{font-size:17px}.workspace-header .workspace-menu{font-size:12px}}
@media(max-width:380px){.workspace-header .workspace-brand span{display:none}}

/* Keep navigation reachable while preserving the existing workspace styling. */
.workspace-header{position:sticky;top:0;z-index:30}
.workspace-header a{font-family:inherit;line-height:1.6;color:inherit}
.workspace-header .workspace-nav a{display:inline-flex;align-items:center;font-size:14px;font-weight:400;min-height:44px;padding:10px 2px;border:0;border-radius:0;background:none;white-space:nowrap}
.workspace-header .workspace-nav a.selected{color:#1f7d3b}
.workspace-breadcrumb{position:sticky;top:72px;z-index:20;background:#fffefa}
dialog.workspace-page,#accountDialog.workspace-account{scroll-padding-top:164px}
/* Sticky controls are already visible and need no content-focus offset. */
dialog.workspace-page:has(> .workspace-header :focus),#accountDialog.workspace-account:has(> .workspace-header :focus){scroll-padding-top:0}
#learnDialog .workspace-mode-tabs{display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap}
.workspace-mode-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px}
.workspace-mode-tabs a.selected{background:#e6f8eb;border-color:#2fc15b;color:#1f7d3b;font-weight:700}
.workspace-content a.primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:9px}
[data-check-question-title]{scroll-margin-top:164px}
.utility-return{position:sticky;top:0;z-index:30;background:var(--paper,#fffefa);padding-block:10px}
.utility-return a{display:inline-flex;align-items:center;min-height:44px}

/* Public learning guides: a readable example, followed by a self-check exercise. */
.guide-byline{font-size:13px;color:var(--muted);margin:22px 0}
.guide-example{padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--mint);margin:32px 0}
.guide-example h2{font-size:28px;margin:12px 0 24px}
.guide-example__sentence{font-family:"Kaiti SC","STKaiti","Noto Serif CJK SC",serif;font-size:clamp(25px,4vw,38px);line-height:1.6;margin:0 0 24px;color:var(--ink)}
.guide-example__notes{margin:0;display:grid;gap:16px}.guide-example__notes dt{font-size:12px;font-weight:700;color:var(--deep);margin-bottom:5px}.guide-example__notes dd{margin:0;line-height:1.8}
.guide-exercise{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.guide-exercise h3,.guide-next h3{font-size:21px;margin:0 0 12px}.guide-exercise p{line-height:1.8}.guide-exercise summary{cursor:pointer;font-weight:700;min-height:44px;padding-block:12px;color:var(--deep)}.guide-exercise summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}.guide-exercise details[open]{border-bottom:1px solid var(--line);padding-bottom:16px}
.guide-next{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.guide-next .primary{white-space:normal;text-align:center;max-width:100%}.guide-next p{font-size:13px;line-height:1.8;color:var(--muted)}
@media(max-width:600px){.guide-example{padding:22px 18px}.guide-example h2{font-size:25px}.guide-next .primary{display:flex;justify-content:center;width:100%;box-sizing:border-box}}

.guide-corrections{display:grid;gap:16px;margin-top:28px}.guide-correction{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.guide-correction dl{margin:0}.guide-correction dt{font-size:12px;color:var(--muted);margin-bottom:6px}.guide-correction dd{margin:0 0 14px;font-size:20px;line-height:1.7}.guide-correction dt:nth-of-type(2){color:var(--deep);font-weight:700}.guide-correction p{margin:0;font-size:14px;line-height:1.8}

.analytics-consent{position:fixed;z-index:10000;bottom:3.5rem;left:1rem;right:1rem;max-width:34rem;padding:1rem;border:1px solid #cbd5d1;border-radius:12px;background:#fff;color:#17352b;box-shadow:0 6px 28px #0002;font:14px/1.5 system-ui,sans-serif}.analytics-consent[hidden]{display:none}.analytics-consent p{margin:0 0 .75rem}.analytics-consent button,.analytics-consent a{display:inline-block;margin:0 .75rem 0 0;padding:.5rem;border-radius:6px}.analytics-settings{position:fixed;bottom:.5rem;left:.5rem;z-index:9999;padding:.4rem .65rem;border:1px solid #cbd5d1;border-radius:6px;background:#fff;color:#17352b;font:12px/1.5 system-ui,sans-serif}

/* Public guide reading and independent practice. */
.guide-toc{display:flex;flex-wrap:wrap;gap:10px;line-height:1.7;margin:24px 0}.guide-toc a{ text-decoration:underline;text-underline-offset:3px}.guide-depth li{padding:16px 0;border-bottom:1px solid var(--line)}.guide-depth ol{padding-inline-start:24px}.guide-depth details{padding:12px 0}.guide-depth summary{cursor:pointer;font-weight:700}.guide-depth a{text-decoration:underline}.guide-page article [id]{scroll-margin-top:100px}

/* Separate immediate public exercises from account-based AI practice. */
.guide-ai-entry{display:inline-block;margin:16px 20px;text-decoration:underline}.guide-access{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.guide-access>div{padding:22px;border:1px solid var(--line);border-radius:16px}.guide-access h2{font-size:22px}.guide-access p,.guide-fit p{line-height:1.8}.guide-fit{padding:24px 0}.guide-fit h2{font-size:26px}.guide-hsk-hub{padding:28px;margin-bottom:36px;border:1px solid var(--line);border-radius:20px}.guide-hsk-hub nav{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.guide-hsk-hub nav a{padding:12px 18px;background:var(--mint);border-radius:10px;font-weight:700}.guide-hsk-hub>a{display:block;margin:12px 0;text-decoration:underline}@media(max-width:760px){.guide-access{grid-template-columns:1fr}.guide-hsk-hub{padding:20px}}

/* Public fixed-answer practice, usable with keyboard and without scripts. */
.public-practice{padding:36px 0;border-block:1px solid var(--line);margin:28px 0}.public-practice h2{font-size:30px}.public-practice fieldset{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px;min-width:0}.public-practice legend{font-size:18px;font-weight:700;padding:0 8px;line-height:1.7}.public-practice label{display:flex;align-items:flex-start;gap:10px;padding:12px;margin:6px 0;border:1px solid var(--line);border-radius:10px;cursor:pointer;line-height:1.7}.public-practice input[type=radio]{flex:0 0 18px;width:18px;height:18px;min-height:0;padding:0;margin:5px 0 0;accent-color:var(--deep)}.public-practice label>span{flex:1;min-width:0}.public-practice label:focus-within{outline:2px solid var(--deep);outline-offset:2px}.public-practice details{margin-top:14px}.public-practice summary{cursor:pointer;font-weight:700}.public-practice p{line-height:1.8}.practice-local-note{color:var(--muted);font-size:14px}.practice-actions{display:flex;gap:12px;flex-wrap:wrap}.public-practice [data-practice-status]{padding:16px;background:var(--mint);border-radius:12px;font-weight:700}.public-practice [hidden]{display:none}

/* Static listening: explicit controls, no autoplay or eager audio downloads. */
.public-listening{margin:32px 0}.listening-card{padding:24px;margin:20px 0;background:var(--mint);border:1px solid var(--line);border-radius:16px;scroll-margin-top:100px}.public-listening audio{display:block;width:100%;max-width:560px;margin:16px 0}.public-listening .audio-download{display:inline-block;text-decoration:underline;margin-bottom:14px}.public-listening h4{margin:18px 0 8px;font-size:16px}.public-listening details p{overflow-wrap:anywhere}.public-practice fieldset{scroll-margin-top:100px}

/* Public writing workshop: readable text inputs and bounded reference comparison. */
.writing-workshop{margin:32px 0}.writing-workshop form{padding:24px;border:1px solid var(--line);border-radius:16px;margin:24px 0}.writing-workshop .writing-original{font-size:22px;color:var(--ink);background:var(--mint);padding:16px;border-radius:12px}.writing-workshop label{display:block;margin:14px 0 8px;font-weight:650}.writing-workshop textarea{display:block;width:100%;max-width:100%;min-height:88px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:18px;line-height:1.6;color:var(--ink);background:#fff;margin:0 0 14px}.writing-workshop button{margin:8px 8px 8px 0}.writing-workshop .secondary{padding:12px 18px;min-height:44px;background:#fff;border:1px solid var(--line);border-radius:10px}.writing-workshop [role=status]{background:var(--mint);padding:14px;border-radius:10px}.writing-workshop h4{margin-bottom:8px}.writing-workshop [hidden]{display:none}.writing-workshop form{scroll-margin-top:100px}
/* Public listening and question controls stay usable on narrow screens. */
.listening-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}.public-listening .listening-controls label{display:inline-block;padding:0;margin:0;border:0;cursor:default}.listening-controls select{width:auto;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}.listening-controls button,.public-practice .practice-check-one,.practice-actions button:not(.primary){min-height:44px;max-width:100%;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;white-space:normal}.listening-controls button[aria-pressed=true]{background:var(--deep);color:#fff}.public-practice [data-practice-feedback]{padding:10px 14px;background:var(--mint);border-radius:10px}.public-listening [data-audio-status]{padding:12px;background:#fff;border-radius:10px}.listening-controls :focus-visible,.practice-check-one:focus-visible,.practice-actions button:focus-visible{outline:2px solid var(--deep);outline-offset:3px}

.app-card .wishlist-entry{margin-top:12px;min-height:44px}
#wishlistForm select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}
.wishlist-consent{display:flex;align-items:flex-start;gap:10px}
.wishlist-consent input{width:18px;height:18px;flex:0 0 18px;margin-top:4px}
.wishlist-consent>span{font-weight:400;margin:0}
#wishlistResult{margin-top:20px;padding:14px;border-radius:10px;background:var(--mint)}
#wishlistResult:empty{display:none}
#wishlistResult.error{background:#fff1ed}

/* Extra line space keeps Vietnamese stacked accents clear in large headings. */
html:lang(vi) h1,html:lang(vi) h2{line-height:1.25;letter-spacing:-.025em}
