*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}.topbar{height:70px;background:#fff;border-bottom:1px solid #e7eaf0;display:flex;justify-content:space-between;align-items:center;padding:0 6%;position:sticky;top:0;z-index:5}.brand{font-size:20px;font-weight:800}.sub{font-size:12px;color:#8a93a5;margin-top:2px}.container{max-width:1050px;margin:35px auto;padding:0 20px}.card{background:#fff;border:1px solid #e8ebf1;border-radius:18px;padding:28px;box-shadow:0 8px 30px rgba(30,50,90,.05)}.auth-card{max-width:540px;margin:70px auto;text-align:center}.auth-card input{display:block;width:100%;margin:10px 0;padding:13px 14px;border:1px solid #dfe4ec;border-radius:10px;font-size:15px}.auth-tabs{display:flex;gap:8px;margin:22px 0}.tab{flex:1;border:0;background:#f1f3f7;padding:11px;border-radius:9px;cursor:pointer}.tab.active{background:#172033;color:white}.primary,.secondary,.ghost{border:0;border-radius:10px;padding:11px 16px;cursor:pointer;font-weight:700}.primary{background:#172033;color:#fff}.secondary{background:#edf1f7;color:#172033}.ghost{background:transparent;border:1px solid #dfe4ec}.big{width:100%;padding:14px;margin-top:20px}.welcome-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:2px;color:#75809a;font-weight:800}.welcome-row h1{margin:5px 0}.date-pill,.tag{background:#eef2f8;padding:8px 12px;border-radius:999px;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat{background:#fff;border:1px solid #e8ebf1;border-radius:14px;padding:18px}.stat b{display:block;font-size:25px}.stat small{display:block;margin-top:6px;font-size:11px;line-height:1.4;color:#94a3b8}.stat span{font-size:13px;color:#7b8497}.nav-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 22px}.nav-card{text-align:left;border:1px solid #e3e7ee;background:#fff;padding:16px;border-radius:14px;cursor:pointer}.nav-card.active{border-color:#172033;box-shadow:0 3px 12px rgba(20,30,50,.07)}.nav-card strong,.nav-card span{display:block}.nav-card span{font-size:12px;color:#7b8497;margin-top:5px}.section-head{display:flex;justify-content:space-between;align-items:center}.question{padding:18px 0;border-top:1px solid #edf0f5}.question:first-child{border-top:0}.q-title{font-weight:750;margin-bottom:10px}.q-note{font-size:12px;color:#8b94a5;margin-bottom:8px}.answer{width:100%;padding:12px;border:1px solid #dfe4ec;border-radius:10px;font-size:15px}.feedback{margin-top:10px;padding:12px;border-radius:10px;background:#f5f7fb;font-size:14px}.correct{border-left:4px solid #3f7d4a}.wrong{border-left:4px solid #a84b4b}.result{margin-top:18px;padding:18px;border-radius:14px;background:#f1f5fb}.result strong{font-size:22px}.mistake-item{border-top:1px solid #edf0f5;padding:16px 0}.mistake-item:first-child{border-top:0}.muted{color:#7b8497;line-height:1.6}.msg{min-height:22px;margin-top:12px;font-size:13px}.status{font-size:12px;color:#667085}.hidden{display:none!important}.progress-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0f5}.review-banner{background:#fff7e8;padding:12px;border-radius:10px;margin-bottom:15px}@media(max-width:700px){.topbar{padding:0 18px}.container{margin:20px auto}.stats{grid-template-columns:repeat(2,1fr)}.nav-cards{grid-template-columns:1fr}.welcome-row{align-items:start;gap:15px;flex-direction:column}.card{padding:20px}}
.scenario{background:#f6f8fb;border:1px solid #e7ebf2;border-radius:14px;padding:18px;margin:18px 0}.customer-msg{background:#fff;border-left:4px solid #172033;border-radius:8px;padding:16px;margin:12px 0;line-height:1.7}.practice-actions{display:flex;gap:10px;margin-top:12px}.practice-actions button{flex:1}.model-answer{background:#eef5ff;border-radius:12px;padding:15px;margin-top:15px}.result ul{line-height:1.8}@media(max-width:700px){.practice-actions{flex-direction:column}}
/* 5.3.6 产品化首页 */
.landing{padding:10px 0 50px}.hero-card{background:linear-gradient(135deg,#ffffff 0%,#f4f7fc 100%);border:1px solid #e3e8f0;border-radius:24px;padding:58px;display:grid;grid-template-columns:1.55fr .7fr;gap:42px;align-items:center;box-shadow:0 14px 45px rgba(30,50,90,.07)}.hero-copy h1{font-size:48px;line-height:1.15;margin:14px 0 12px;letter-spacing:-1.5px}.hero-subtitle{font-size:22px;line-height:1.55;font-weight:700;margin:0 0 14px;max-width:720px}.hero-desc{font-size:15px;max-width:690px}.hero-actions{display:flex;gap:12px;margin-top:24px}.big-cta{width:auto!important;margin-top:0!important;padding:14px 22px!important}.hero-note{font-size:12px;color:#7b8497;margin-top:16px}.hero-panel{background:#172033;color:#fff;border-radius:20px;padding:28px;min-height:260px;box-shadow:0 12px 30px rgba(20,30,50,.18)}.mini-label{font-size:11px;letter-spacing:2px;opacity:.65}.mini-number{font-size:42px;font-weight:800;margin:8px 0}.mini-title{font-weight:700;margin-bottom:22px}.mini-line{padding:10px 0;border-top:1px solid rgba(255,255,255,.14);font-size:13px}.mini-line span{margin-right:8px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 50px}.feature-card,.scenario-card{background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:22px;box-shadow:0 6px 20px rgba(30,50,90,.035)}.feature-icon{width:38px;height:38px;border-radius:11px;background:#eef2f8;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:15px}.feature-card h3{margin:0 0 7px;font-size:17px}.feature-card p{margin:0;color:#7b8497;font-size:13px;line-height:1.65}.landing-section{margin:48px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-title h2{margin:5px 0 0;font-size:30px}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.scenario-card b,.scenario-card span{display:block}.scenario-card b{font-size:17px}.scenario-card span{font-size:13px;color:#7b8497;margin-top:8px}.flow-section{background:#fff;border:1px solid #e6eaf0;border-radius:20px;padding:30px}.flow{display:flex;align-items:center;gap:9px;overflow:auto;padding-bottom:5px}.flow-step{min-width:125px;text-align:center}.flow-step span{display:block;font-size:11px;color:#8a93a5;letter-spacing:1px;margin-bottom:6px}.flow-step b{font-size:13px;white-space:nowrap}.flow i{color:#9aa3b3;font-style:normal}.language-highlight{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;background:#eef3fa;border-radius:22px;padding:36px;margin:48px 0}.language-highlight h2{font-size:27px;line-height:1.4;margin:8px 0}.compare-box{background:#fff;border:1px solid #e2e7ef;border-radius:16px;padding:20px}.compare-box span{font-size:11px;color:#8a93a5}.compare-box p{margin:7px 0;font-size:15px;line-height:1.55}.compare-arrow{text-align:center;color:#9aa3b3;font-size:18px;padding:3px}.audience-list{display:flex;flex-wrap:wrap;gap:10px}.audience-list span{background:#fff;border:1px solid #e0e5ed;border-radius:999px;padding:11px 15px;font-size:13px}.bottom-cta{text-align:center;background:#172033;color:#fff;border-radius:22px;padding:45px 25px;margin-top:55px}.bottom-cta h2{margin:0 0 10px;font-size:30px}.bottom-cta p{margin:0 0 22px;color:#c8cfda}.bottom-cta .primary{background:#fff;color:#172033}.auth-card{margin-top:50px}.top-actions{display:flex;align-items:center;gap:10px}@media(max-width:850px){.hero-card{grid-template-columns:1fr;padding:34px}.hero-copy h1{font-size:38px}.feature-grid{grid-template-columns:repeat(2,1fr)}.scenario-grid{grid-template-columns:repeat(2,1fr)}.language-highlight{grid-template-columns:1fr}}@media(max-width:600px){.landing{padding-top:0}.hero-card{padding:28px 20px;border-radius:18px}.hero-copy h1{font-size:34px}.hero-subtitle{font-size:18px}.hero-actions{flex-direction:column}.big-cta{width:100%!important}.feature-grid,.scenario-grid{grid-template-columns:1fr}.section-title{display:block}.section-title>.muted{margin-top:8px}.flow-section{padding:20px}.language-highlight{padding:25px 20px}.language-highlight h2{font-size:23px}.bottom-cta{padding:35px 20px}.bottom-cta h2{font-size:24px}}
/* 5.3.7 Step 16 - Learning Data Dashboard */
.progress-title-row{margin:12px 0 18px}.progress-title-row h2{margin:5px 0 2px;font-size:28px}.progress-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 14px}.overview-card{background:#172033;color:#fff;border-radius:16px;padding:20px;min-height:118px}.overview-card span,.overview-card small{display:block;color:#c8cfda;font-size:12px}.overview-card b{display:block;font-size:30px;margin:10px 0 4px}.progress-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.progress-grid.lower{grid-template-columns:1fr 1fr}.dashboard-card{padding:22px}.dashboard-card h3{margin:0}.day-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-top:18px}.day-cell{aspect-ratio:1;border-radius:8px;background:#eef1f5;border:1px solid #e3e7ed;display:flex;align-items:center;justify-content:center;font-size:11px;color:#8b94a5}.day-cell.done{background:#dfe7f2;border-color:#c9d4e3;color:#172033;font-weight:700}.day-cell.done.strong{background:#172033;color:#fff;border-color:#172033}.accuracy-chart{margin-top:17px}.chart-row{display:grid;grid-template-columns:48px 1fr 42px;gap:10px;align-items:center;margin:13px 0;font-size:12px}.chart-row b{text-align:right}.bar-track{height:10px;background:#edf0f4;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:#172033;border-radius:999px;transition:width .35s ease}.topic-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0f5}.topic-row:first-child{padding-top:8px}.topic-row:last-child{border-bottom:0}.topic-row div b,.topic-row div span{display:block}.topic-row div span{font-size:11px;color:#8b94a5;margin-top:3px}.topic-row strong{font-size:15px}.practice-score{display:flex;align-items:baseline;gap:10px;margin:16px 0 8px}.practice-score b{font-size:44px}.practice-score span{font-size:12px;color:#7b8497}.practice-meta{display:flex;justify-content:space-between;font-size:12px;color:#7b8497}.practice-progress{height:9px;background:#edf0f4;border-radius:999px;margin-top:18px;overflow:hidden}.practice-progress>div{height:100%;background:#172033;border-radius:999px}.empty-dashboard{padding:18px 0}.empty-dashboard p{margin-bottom:0}.nav-cards{grid-template-columns:repeat(4,1fr)}
@media(max-width:850px){.progress-overview{grid-template-columns:repeat(2,1fr)}.progress-grid,.progress-grid.lower{grid-template-columns:1fr}.day-grid{grid-template-columns:repeat(10,1fr)}}
@media(max-width:600px){.progress-overview{grid-template-columns:1fr 1fr}.overview-card{padding:16px;min-height:105px}.overview-card b{font-size:25px}.day-grid{gap:5px}.day-cell{font-size:10px}.dashboard-card{padding:18px}.progress-title-row{display:block}.progress-title-row .tag{display:inline-block;margin-top:8px}.nav-cards{grid-template-columns:1fr}}
/* Step 17 · 评分系统 2.0 */
.score-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.score-head span{font-size:12px;color:#667085;font-weight:700}.score-mini{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0 10px}.score-mini span{background:#eef2f8;border-radius:999px;padding:4px 8px;font-size:11px;color:#4b5565}.score-suggestions{margin-top:9px;font-size:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.score-suggestions span{background:#fff;border:1px solid #e5e9f0;border-radius:8px;padding:5px 8px;color:#586174}.result-main{display:flex;justify-content:space-between;gap:18px;align-items:center}.result-label{display:block;font-size:11px;letter-spacing:1.5px;color:#7b8497;font-weight:800;margin-bottom:2px}.result-main strong{font-size:38px}.result-main>div:first-child>span:last-child{color:#7b8497}.result-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.result-badges span,.score-legend span{background:#fff;border:1px solid #e1e6ee;border-radius:999px;padding:6px 9px;font-size:11px;color:#5e687a}.score-legend{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 8px}@media(max-width:600px){.score-head{align-items:flex-start;flex-direction:column;gap:4px}.result-main{align-items:flex-start;flex-direction:column}.result-badges{justify-content:flex-start}}
.review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.review-summary>div{padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.review-summary b{display:block;font-size:24px}.review-summary span{font-size:12px;color:#64748b}.review-meta{margin-top:10px;font-size:12px;color:#64748b}.review-card{border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-bottom:12px}@media(max-width:640px){.review-summary{grid-template-columns:1fr}}
.score-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.score-mini{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.score-mini span{padding:6px 9px;border-radius:999px;background:#f1f5f9;font-size:12px}.model-answer{border-left:3px solid currentColor;padding:10px 14px;background:#f8fafc;border-radius:8px}

/* Step 21 · Product UX polish */
body{background:#f7f8fb}.topbar{box-shadow:0 1px 0 rgba(20,30,50,.02)}
.product-welcome{background:linear-gradient(135deg,#fff 0%,#f4f7fb 100%);border:1px solid #e7ebf2;border-radius:20px;padding:26px 28px;margin-bottom:18px;box-shadow:0 10px 28px rgba(30,50,90,.045)}
.product-welcome h1{font-size:30px;letter-spacing:-.5px;max-width:720px}.today-progress{display:flex;align-items:center;gap:12px;max-width:560px;margin-top:16px}.today-progress-bar{height:7px;background:#e9edf3;border-radius:99px;flex:1;overflow:hidden}.today-progress-bar span{display:block;height:100%;width:0;background:#172033;border-radius:99px;transition:width .25s ease}.today-progress>span{font-size:12px;color:#6f788b;white-space:nowrap}
.stat{transition:transform .18s ease,box-shadow .18s ease}.stat:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(30,50,90,.06)}
.nav-cards{grid-template-columns:repeat(4,1fr)}.nav-card{position:relative;min-height:104px;padding:15px 16px 14px;transition:all .18s ease}.nav-card:hover{transform:translateY(-2px);border-color:#cfd6e2}.nav-card.active{background:#172033;color:#fff;border-color:#172033}.nav-card.active span:not(.nav-icon){color:#cbd2df}.nav-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:#eef2f8;color:#5f697c;font-size:11px;font-weight:800;margin-bottom:13px}.nav-card.active .nav-icon{background:rgba(255,255,255,.12);color:#fff}
.today-card{padding:30px}.today-card #dayTitle{font-size:28px;margin:6px 0 0}.submit-hint{font-size:12px;color:#7b8497;margin:18px 0 10px;padding:10px 12px;background:#f7f8fb;border-radius:10px}.big{padding:15px 18px;font-size:15px}
.question{padding:22px 4px}.q-title{font-size:15px;line-height:1.65}.q-note{display:inline-block;background:#f1f3f7;border-radius:99px;padding:4px 8px;margin-bottom:10px}.answer{transition:border-color .15s,box-shadow .15s}.answer:focus{outline:none;border-color:#8c96a8;box-shadow:0 0 0 3px rgba(23,32,51,.06)}
.feedback{border:1px solid #e8ebf1;background:#fafbfc}.correct{background:#f7fbf8}.wrong{background:#fff9f9}.result{border:1px solid #e4e9f0;background:linear-gradient(135deg,#f7f9fc,#eef3f8)}.result-main{display:flex;justify-content:space-between;gap:18px;align-items:center}.result-label{display:block;font-size:12px;color:#7b8497;margin-bottom:3px}.result-main strong{font-size:40px;line-height:1}.result-badges,.score-mini{display:flex;flex-wrap:wrap;gap:7px}.result-badges span,.score-mini span{background:#fff;border:1px solid #e4e8ef;border-radius:99px;padding:5px 9px;font-size:11px;color:#626c7e}.score-legend{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.score-legend span{font-size:11px;color:#6d7788}
.review-banner{border:1px solid #f0dfb8}.mistake-item{padding:18px 4px}.mistake-item:hover{background:#fafbfc}.review-meta{font-size:12px;color:#8a93a5;margin-top:8px}
.progress-title-row{margin:12px 0 20px}.dashboard-card{min-height:160px}.overview-card{transition:transform .18s ease,box-shadow .18s ease}.overview-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(30,50,90,.05)}
.practice-actions button{min-height:46px}.scenario{background:#f8f9fb}.customer-msg{box-shadow:inset 0 0 0 1px #edf0f4}.model-answer{border:1px solid #dce7f7}
.empty-dashboard{padding:10px 0}.page{animation:fadeIn .18s ease}@keyframes fadeIn{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:820px){.nav-cards{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.hero-card{grid-template-columns:1fr;padding:38px}.hero-copy h1{font-size:38px}}
@media(max-width:700px){.product-welcome{padding:20px}.product-welcome h1{font-size:24px}.today-progress{align-items:flex-start;flex-direction:column;gap:6px}.nav-cards{grid-template-columns:1fr 1fr}.nav-card{min-height:96px}.today-card{padding:20px}.result-main{align-items:flex-start;flex-direction:column}.feature-grid{grid-template-columns:1fr}.hero-copy h1{font-size:32px}.hero-actions{flex-direction:column}}


/* Step 24 · Professional UI Upgrade */
:root{color-scheme:light;--ui-bg:#f4f6fb;--ui-surface:#fff;--ui-surface-soft:#f8faff;--ui-text:#18243b;--ui-muted:#71809a;--ui-border:#e2e8f2;--ui-accent:#465ee8;--ui-accent-strong:#3347c7;--ui-accent-soft:#edf0ff;--ui-shadow:0 12px 34px rgba(31,48,91,.065);--ui-shadow-hover:0 18px 42px rgba(31,48,91,.11)}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 8% 0%,rgba(102,125,255,.07),transparent 34%),var(--ui-bg);color:var(--ui-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.55;transition:background .25s ease,color .25s ease}button,input,textarea{font:inherit}button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(70,94,232,.28);outline-offset:2px}button:active{transform:translateY(1px)}.topbar{height:76px;padding:0 max(24px,calc((100% - 1180px)/2));background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--ui-border);box-shadow:0 3px 18px rgba(30,48,88,.035)}.brand{letter-spacing:-.45px;font-size:20px}.sub{letter-spacing:.1px}.top-actions{gap:9px}.status{padding:7px 10px;border-radius:999px;background:#edf9f1;color:#287b4a;font-weight:650}.theme-toggle{white-space:nowrap}.container{max-width:1180px;margin:30px auto 56px}.card,.stat,.feature-card,.scenario-card,.nav-card{border-color:var(--ui-border);box-shadow:var(--ui-shadow);background:var(--ui-surface);transition:background .25s ease,border-color .25s ease,box-shadow .2s ease,transform .2s ease}.card{border-radius:22px;padding:30px}.card:hover{box-shadow:0 14px 38px rgba(31,48,91,.075)}.primary{background:linear-gradient(135deg,#5268ef,#3f53d9);box-shadow:0 6px 15px rgba(70,94,232,.18)}.primary:hover{background:linear-gradient(135deg,#4359e4,#3044c8);box-shadow:0 9px 22px rgba(70,94,232,.26);transform:translateY(-1px)}.secondary{background:var(--ui-accent-soft);color:var(--ui-accent-strong)}.secondary:hover{filter:brightness(.98);transform:translateY(-1px)}.ghost{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}.ghost:hover{border-color:#b9c4ee;background:var(--ui-surface-soft)}.landing{padding-top:8px}.hero-card{position:relative;overflow:hidden;background:linear-gradient(130deg,#fff 0%,#f4f6ff 58%,#eef2ff 100%);border-color:#e1e6fa;border-radius:28px;padding:clamp(30px,5vw,60px);box-shadow:0 20px 60px rgba(44,60,125,.085)}.hero-card:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-150px;top:-165px;background:radial-gradient(circle,rgba(100,120,255,.17),transparent 70%);pointer-events:none}.hero-copy h1{font-size:clamp(34px,4vw,50px);letter-spacing:-1.8px;line-height:1.12}.eyebrow{letter-spacing:1.8px;color:#6877bd;font-size:11px}.hero-subtitle{font-size:clamp(18px,2vw,22px)}.hero-panel{background:linear-gradient(150deg,#1b2743,#273b68);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 35px rgba(20,33,65,.2)}.mini-number{letter-spacing:-1.5px}.feature-card,.scenario-card{box-shadow:0 5px 20px rgba(31,48,91,.035)}.feature-card:hover,.scenario-card:hover{transform:translateY(-3px);box-shadow:var(--ui-shadow-hover);border-color:#d2d9ff}.feature-icon{background:var(--ui-accent-soft);color:var(--ui-accent-strong);border-radius:12px}.landing-section{margin-top:44px}.section-title h2,.language-highlight h2{letter-spacing:-.6px}.bottom-cta{background:linear-gradient(135deg,#26365c,#354d87);box-shadow:0 20px 45px rgba(32,48,91,.16)}.bottom-cta .primary{background:#fff;color:#293b70;box-shadow:none}.auth-card{max-width:560px}.auth-card input,.answer{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border);border-radius:12px}.auth-card input{padding:14px 15px}.auth-tabs{padding:5px;background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:13px}.tab{background:transparent}.tab.active{background:var(--ui-text);box-shadow:0 4px 12px rgba(20,30,50,.12)}.product-welcome{background:linear-gradient(120deg,var(--ui-surface) 0%,var(--ui-surface-soft) 100%);border-color:var(--ui-border);border-radius:24px;padding:30px 32px;box-shadow:var(--ui-shadow)}.product-welcome h1{letter-spacing:-.8px}.today-progress-bar{background:#e9edf7}.today-progress-bar span{background:linear-gradient(90deg,#6b7df4,#465ee8)}.date-pill,.tag{background:var(--ui-accent-soft);color:var(--ui-accent-strong);font-weight:650}.stats{gap:14px}.stat{border-radius:18px;padding:20px 21px}.stat b{font-size:30px;letter-spacing:-.8px}.stat span{color:var(--ui-muted)}.stat small{color:#8c98ae}.nav-cards{gap:14px}.nav-card{border-radius:17px;padding:17px;box-shadow:0 4px 16px rgba(31,48,91,.035)}.nav-card.active{background:linear-gradient(145deg,#202d4b,#2b3e6c);border-color:#2b3e6c;box-shadow:0 12px 24px rgba(32,48,82,.16)}.nav-icon{background:var(--ui-accent-soft);color:var(--ui-accent-strong)}.today-card{padding:clamp(20px,3vw,34px)}.today-card #dayTitle{letter-spacing:-.7px}.question{padding:24px 4px}.q-title{font-size:15px}.q-note{background:var(--ui-accent-soft);color:var(--ui-accent-strong);padding:5px 9px}.answer{padding:14px 15px;line-height:1.6}.answer:focus{border-color:#7180f2;box-shadow:0 0 0 4px rgba(70,94,232,.1)}.submit-hint{background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:12px}.result{background:linear-gradient(135deg,var(--ui-surface-soft),var(--ui-accent-soft));border-color:var(--ui-border);border-radius:18px;animation:resultIn .28s ease both}.feedback{background:var(--ui-surface-soft);border-color:var(--ui-border);border-radius:12px}.correct{background:#effaf3}.wrong{background:#fff4f3}.review-card{background:var(--ui-surface);border-color:var(--ui-border);border-radius:16px}.review-card:hover{border-color:#d0d8f8;box-shadow:0 8px 24px rgba(31,48,91,.06)}.progress-overview{gap:14px}.overview-card{border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#202d4b,#2c4070);border-radius:18px;box-shadow:var(--ui-shadow)}.dashboard-card{border-radius:18px}.day-cell{border-radius:9px;transition:transform .15s ease,background .15s ease}.day-cell:hover{transform:scale(1.06)}.day-cell.done{background:#e9edff;border-color:#d3dafe;color:#3449c8}.day-cell.done.strong{background:#283b69;border-color:#283b69}.bar-fill{background:linear-gradient(90deg,#6d7ef5,#465ee8)}.scenario{background:var(--ui-surface-soft);border-color:var(--ui-border)}.customer-msg{background:var(--ui-surface);border-left-color:var(--ui-accent)}.model-answer{background:var(--ui-accent-soft);border-color:#d9dfff}.muted{color:var(--ui-muted)}.page{animation:pageIn .24s ease both}@keyframes pageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes resultIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
/* Dark theme: opt-in, stored locally per browser */
html[data-theme="dark"]{color-scheme:dark;--ui-bg:#0e1422;--ui-surface:#151e30;--ui-surface-soft:#1b263b;--ui-text:#e8edf8;--ui-muted:#a1aec5;--ui-border:#2a3851;--ui-accent:#9aa8ff;--ui-accent-strong:#c2caff;--ui-accent-soft:#273253;--ui-shadow:0 12px 34px rgba(0,0,0,.18);--ui-shadow-hover:0 18px 42px rgba(0,0,0,.26)}
html[data-theme="dark"] body{background:radial-gradient(ellipse at 8% 0%,rgba(94,112,235,.1),transparent 34%),var(--ui-bg);color:var(--ui-text)}html[data-theme="dark"] .topbar{background:rgba(21,30,48,.9);border-color:var(--ui-border)}html[data-theme="dark"] .hero-card{background:linear-gradient(130deg,#151e30 0%,#192541 58%,#202c4a 100%);border-color:var(--ui-border)}html[data-theme="dark"] .hero-panel,html[data-theme="dark"] .nav-card.active,html[data-theme="dark"] .overview-card{background:linear-gradient(145deg,#1b2945,#26385e)}html[data-theme="dark"] .primary{background:linear-gradient(135deg,#6678f5,#4d60df);color:#fff}html[data-theme="dark"] .tab.active{background:#dce2ff;color:#1a2440}html[data-theme="dark"] .status{background:#173d31;color:#8de2b4}html[data-theme="dark"] .correct{background:#173629}html[data-theme="dark"] .wrong{background:#412626}html[data-theme="dark"] .feature-icon,html[data-theme="dark"] .nav-icon{background:#293653;color:#c2caff}html[data-theme="dark"] .bottom-cta{background:linear-gradient(135deg,#192744,#283d6b)}html[data-theme="dark"] .bottom-cta .primary{background:#e6eaff;color:#202e59}html[data-theme="dark"] .mini-line{border-color:rgba(255,255,255,.12)}html[data-theme="dark"] .score-mini span,html[data-theme="dark"] .score-suggestions span,html[data-theme="dark"] .result-badges span,html[data-theme="dark"] .score-legend span{background:#202c42;border-color:#33415b;color:#d0d9ec}html[data-theme="dark"] .review-summary>div{background:var(--ui-surface-soft);border-color:var(--ui-border)}html[data-theme="dark"] .customer-msg{color:var(--ui-text)}html[data-theme="dark"] .model-answer{background:#202c48;border-color:#34456d}html[data-theme="dark"] .day-cell{background:#202b40;border-color:#2e3c55;color:#a9b6ce}html[data-theme="dark"] .day-cell.done{background:#354575;border-color:#43558e;color:#eef0ff}html[data-theme="dark"] .day-cell.done.strong{background:#596dd0;color:#fff}html[data-theme="dark"] .bar-track,html[data-theme="dark"] .practice-progress{background:#26334a}html[data-theme="dark"] .bar-fill,html[data-theme="dark"] .practice-progress>div{background:linear-gradient(90deg,#8390ff,#596ce7)}html[data-theme="dark"] .q-note{background:#293653;color:#c2caff}html[data-theme="dark"] .date-pill,html[data-theme="dark"] .tag{background:#293653;color:#c2caff}
@media(max-width:820px){.topbar{padding:0 20px}.container{margin-top:22px}.hero-card{gap:28px}.stats{gap:10px}.stat{padding:17px}.progress-overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{height:auto;min-height:68px;padding:12px 14px;gap:10px}.brand{font-size:16px}.sub{font-size:10px}.top-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.status{font-size:10px;padding:5px 7px}.theme-toggle{font-size:11px;padding:8px 9px}.container{padding:0 12px;margin:16px auto 34px}.card{padding:19px;border-radius:17px}.product-welcome{padding:20px}.product-welcome h1{font-size:24px}.stats{gap:9px}.stat{padding:14px;border-radius:14px}.stat b{font-size:25px}.stat span{font-size:12px}.stat small{font-size:10px}.nav-cards{gap:9px}.nav-card{padding:13px;min-height:94px}.nav-card strong{font-size:13px}.nav-card span:not(.nav-icon){font-size:10px}.nav-icon{margin-bottom:8px}.today-card{padding:17px}.question{padding:18px 0}.section-head{gap:10px}.section-head h2{font-size:22px}.progress-overview{grid-template-columns:1fr 1fr}.overview-card{padding:14px;min-height:96px}.overview-card b{font-size:24px}.review-summary{grid-template-columns:1fr}.hero-card{padding:25px 19px;border-radius:20px}.hero-copy h1{font-size:32px}.hero-panel{padding:22px;min-height:unset}.feature-grid{grid-template-columns:1fr}.landing-section{margin-top:30px}.flow{gap:7px}.flow-step{padding:10px}.bottom-cta{padding:30px 18px}.auth-card{margin:22px auto}.practice-actions{flex-direction:column}.result-main{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
