*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Tahoma,sans-serif;background:var(--bg);color:var(--text)}:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#758099;--line:#e6eaf2;--primary:#4f46e5;--primary2:#3730a3;--soft:#eef2ff;--good:#16a34a;--bad:#dc2626;--shadow:0 8px 28px rgba(34,50,84,.07)}.dark{--bg:#0c111d;--card:#151d2b;--text:#eef2ff;--muted:#9aa6bb;--line:#273247;--soft:#1d2740;--shadow:none}.app{max-width:760px;margin:auto;padding:calc(16px + env(safe-area-inset-top)) 16px 106px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.top h1{margin:0;font-size:29px;letter-spacing:-.5px}.top p{margin:4px 0;color:var(--muted);font-size:13px}.round{width:42px;height:42px;border:0;border-radius:50%;background:var(--card);color:var(--text);box-shadow:var(--shadow)}.card{background:var(--card);border-radius:24px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}.hero{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:white;display:flex;justify-content:space-between;align-items:center;padding:21px}.hero small,.hero span{display:block;opacity:.86}.hero strong{display:block;font-size:48px;line-height:1.05;margin:4px 0}.heroMark{width:68px;height:68px;border-radius:20px;background:rgba(255,255,255,.17);display:grid;place-items:center;font-weight:800;font-size:22px}.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sectionTitle h2,.card h2{margin:0}.sectionTitle span{font-size:12px;color:var(--muted)}label{display:block;font-size:13px;color:var(--muted);margin:13px 2px 7px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chips button,.seg button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:10px 14px}.chips button.active,.seg button.active{background:var(--primary);color:#fff;border-color:var(--primary)}select,input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:14px;padding:14px;font-size:16px;margin-bottom:10px}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.seg button{border-radius:12px;padding:11px 5px;font-size:13px}.practiceSummary{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin:15px 2px 10px}.wide{width:100%;margin-top:8px}.primary,.secondary,.ghost,.speak,.good,.bad{border:0;border-radius:14px;padding:13px 15px;font-size:15px}.primary{background:var(--primary);color:#fff}.secondary{background:var(--soft);color:var(--primary2)}.ghost{background:var(--card);color:var(--primary);border:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mini{text-align:center;padding:13px 6px}.mini small{display:block;color:var(--muted);font-size:11px}.mini strong{font-size:22px}.view{display:none}.view.active{display:block}.filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.item{padding:15px 0;border-bottom:1px solid var(--line)}.item h3{margin:0 0 6px;font-size:20px}.item p{margin:5px 0;color:var(--muted)}.pills{margin:5px 0}.pill{display:inline-block;padding:4px 8px;background:var(--soft);color:var(--primary2);border-radius:99px;font-size:11px;margin:2px}.progressBoxes{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.pbox{font-size:11px;padding:6px 9px;border-radius:9px;background:var(--bg);color:var(--muted)}.reviewTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.flash{min-height:460px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:28px 18px}.flash h2{font-size:34px;margin:10px 0}.meta{color:var(--muted);font-size:12px}.speak{align-self:center;background:var(--soft);color:var(--primary2);padding:9px 13px}.answer{width:100%;border-top:1px solid var(--line);margin-top:16px;padding-top:12px;text-align:initial}.langPanel{background:var(--bg);border-radius:18px;padding:14px;margin:10px 0}.langHead{display:flex;justify-content:space-between;align-items:center}.langPanel p{font-size:19px;margin:12px 0}.grade{display:grid;grid-template-columns:1fr 1fr;gap:8px}.good{background:#dcfce7;color:#166534}.bad{background:#fee2e2;color:#991b1b}.done{text-align:center;color:var(--good);font-weight:600;padding:8px}.forms{background:var(--soft);padding:12px;border-radius:14px;margin-top:10px}.forms p{margin:5px 0}blockquote{margin:12px 0 0;background:var(--bg);border-radius:14px;padding:13px;color:var(--muted)}.hidden{display:none!important}.muted{color:var(--muted);line-height:1.7}.fileLabel{display:block;border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center;color:var(--primary);margin-top:10px}.fileLabel input{display:none}.tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(250,251,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:7px 10px calc(7px + env(safe-area-inset-bottom));z-index:10}.dark .tabs{background:rgba(18,25,39,.94)}.tabs button{background:transparent;border:0;color:var(--muted);padding:8px}.tabs button.active{color:var(--primary)}.tabs span,.tabs small{display:block}@media(max-width:430px){.seg{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.stats{gap:6px}.flash h2{font-size:29px}}
.bigMeaning{font-size:18px!important;line-height:1.7}.examplesBox{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.examplesBox h3{margin:0 0 8px}.exCard{background:var(--bg);border-radius:16px;padding:12px;margin:9px 0}.exCard .de{font-size:16px;font-weight:700;line-height:1.55}.exCard .en,.exCard .fa{font-size:14px;line-height:1.55;margin-top:5px}.exCard .origin{font-size:10px;color:var(--muted);margin-top:5px}.gradeBlock{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.gradeBlock>b{display:block;margin-bottom:8px;color:var(--muted);font-size:13px}.itemExamples{margin-top:8px;font-size:12px;color:var(--muted)}

.sensesBox{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.senseCard{background:var(--bg);border-radius:16px;padding:12px;margin:9px 0}.senseTitle{font-weight:800;margin-bottom:7px}.senseEx{margin-top:7px;padding-top:7px;border-top:1px dashed var(--line);line-height:1.55}.senseEx .en,.senseEx .fa{font-size:13px;margin-top:4px}
.practiceSummary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.practiceSummary span{padding:9px 10px;border-radius:12px;background:var(--soft,rgba(79,70,229,.08));font-size:.86rem}.smallLine{margin:.65rem 0 0}.scheduleNote{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:rgba(79,70,229,.08);font-size:.88rem}.prefGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.prefGrid label{display:flex;flex-direction:column;gap:6px}.stats{grid-template-columns:repeat(4,1fr)}@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}.prefGrid{grid-template-columns:1fr}.practiceSummary{grid-template-columns:1fr 1fr}}

/* dsm brand + motivation dashboard */
.brand{display:flex;align-items:center;gap:11px}.brandLogo{width:64px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;display:grid;place-items:center;font-weight:950;font-size:23px;letter-spacing:.4px;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 25%,transparent)}.brand h1{font-size:27px}.heroMark{font-size:16px;line-height:1.05;text-align:center}.progressCard{overflow:hidden}.masteryRow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.metricHead,.goalLine,.periodTitle{display:flex;justify-content:space-between;align-items:center;gap:8px}.metricHead{font-size:13px;margin-bottom:7px}.metricHead b,.goalLine b{color:var(--primary)}.bar{height:9px;background:var(--soft);border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--primary2));border-radius:99px;transition:width .35s ease}.periodGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.periodBox{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--bg)}.periodTitle span{font-size:11px;color:var(--muted)}.periodNums{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;text-align:center;margin:14px 0}.periodNums strong{display:block;font-size:20px}.periodNums small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.goalLine{font-size:11px;color:var(--muted);margin-bottom:7px}.motivation{display:flex;align-items:center;gap:11px;margin-top:14px;padding:13px;border-radius:16px;background:var(--soft)}.motivation .flame{font-size:28px}.motivation b{color:var(--primary2)}.motivation p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.statsNote{font-size:10.5px;color:var(--muted);margin:10px 2px 0}.dark .periodBox{background:rgba(255,255,255,.025)}
@media(max-width:560px){.periodGrid,.masteryRow{grid-template-columns:1fr}.periodNums strong{font-size:18px}}

.updateNotice{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:3px}.updateNotice b{color:var(--primary2);font-size:13px}.updateNotice span{color:var(--muted);font-size:11px}

/* v9.1 Finance + Business */
.tabs small{font-size:10px}.tabs span{font-size:18px;line-height:1.1}.domainHead{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#fff}.domainHead h2{margin:0 0 5px;font-size:26px}.domainHead p{margin:0;opacity:.88;line-height:1.55}.domainHead strong{font-size:42px}.domainEmoji{font-size:30px;display:block;margin-bottom:6px}.financeHead{background:linear-gradient(135deg,#0f766e,#0891b2)}.businessHead{background:linear-gradient(135deg,#1d4ed8,#4f46e5)}.domainActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px}.domainEmpty{padding:20px;text-align:center;background:var(--bg);border-radius:16px}.domainTag{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--soft);color:var(--primary2);font-size:11px;margin:2px}.domainItem{padding:15px 0;border-bottom:1px solid var(--line)}.domainItem h3{margin:0 0 6px;font-size:20px}.domainItem p{margin:5px 0;color:var(--muted)}@media(max-width:430px){.tabs button{padding:7px 2px}.tabs small{font-size:9px}.domainActions{grid-template-columns:1fr}.domainHead strong{font-size:34px}}

/* v9.2 visible Finance / Business launchers */
.quickDomainGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quickDomain{border:0;border-radius:20px;padding:18px 14px;color:#fff;text-align:right;display:flex;flex-direction:column;gap:5px;min-height:122px;box-shadow:var(--shadow)}.quickDomain span{font-size:28px}.quickDomain b{font-size:18px}.quickDomain small{font-size:11px;opacity:.9;line-height:1.5}.financeQuick{background:linear-gradient(135deg,#0f766e,#0891b2)}.businessQuick{background:linear-gradient(135deg,#1d4ed8,#4f46e5)}.quickHint{margin:10px 2px 0;color:var(--muted);font-size:11px}.tabs{z-index:999}.tabs button{min-width:0}.tabs small{white-space:nowrap}@media(max-width:430px){.quickDomainGrid{grid-template-columns:1fr 1fr}.quickDomain{padding:14px 10px;min-height:112px}.quickDomain b{font-size:15px}.quickDomain small{font-size:10px}}

/* DSM German-progress UI */
.masteryRow{grid-template-columns:1fr!important}.brandLogo{text-transform:uppercase}.heroMark{font-weight:900}.germanMetric{padding:2px 0}

/* DSM bilingual progress redesign */
.brandLogo{font-size:15px!important;letter-spacing:1.4px!important;padding:6px 8px!important;min-width:auto!important}
.heroMark{font-size:13px!important;line-height:1.15!important;opacity:.72!important}
.dualMastery{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;align-items:stretch!important}
.languageMetric{padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.languageMetric small{display:block;margin-top:7px;color:var(--muted);font-size:10px}
.languageMetric .metricHead{gap:8px}
@media(max-width:520px){.dualMastery{grid-template-columns:1fr!important}}
