.content-report-btn{margin-top:10px;color:var(--muted)}
.correction-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 22px}
.correction-stat{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--panel);min-width:0}
.correction-stat b{display:block;font-size:1.5rem;line-height:1.1;color:var(--text)}
.correction-stat span{display:block;margin-top:5px;color:var(--muted);font-size:.75rem}
.correction-list{display:grid;gap:12px}
.correction-card{border:1px solid var(--border);border-inline-start:4px solid var(--warn);border-radius:16px;background:var(--panel);padding:17px 18px;box-shadow:var(--shadow2)}
.correction-card.resolved{border-inline-start-color:var(--good);opacity:.82}
.correction-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.correction-ref{font:600 11px/1.4 var(--mono);color:var(--muted);overflow-wrap:anywhere}
.correction-prompt{font-size:1rem;font-weight:720;line-height:1.55;margin:12px 0 7px;unicode-bidi:plaintext}
.correction-answer{margin-top:10px;padding:11px 13px;border-radius:11px;background:var(--panel2);color:var(--text2)}
.correction-answer b{color:var(--text)}
.correction-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:13px}
.correction-progress{font-size:.75rem;color:var(--muted);margin-inline-start:auto}
.report-form{display:grid;gap:12px;text-align:start}
.report-form label{font-size:.8125rem;font-weight:700;color:var(--text2)}
.report-form select,.report-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--border2);border-radius:10px;background:var(--card);color:var(--text);padding:11px 12px;font:inherit}
.report-form code{display:block;padding:9px 11px;border-radius:9px;background:var(--panel2);color:var(--text2);overflow-wrap:anywhere;direction:ltr;text-align:left}
.practice-alt-btn{margin-top:10px}.practice-alt-note{margin-bottom:14px;padding:10px 12px;border-inline-start:3px solid var(--accent);border-radius:8px;background:var(--accentSoft);color:var(--text2);font-size:.8125rem;line-height:1.45}
#prCard #prInput{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:48px!important;padding:11px 13px;border:1px solid var(--border2);border-radius:11px;background:var(--panel2);color:var(--text);font:inherit;font-size:1rem;line-height:1.4}
@media(max-width:560px){.correction-summary{grid-template-columns:1fr}.correction-card{padding:15px}.correction-progress{width:100%;margin-inline-start:0}}

/* Premium minimal theme system — the palette changes, the product hierarchy does not. */
:root{
  --bg:#071316;--bg2:#0a1a1e;--panel:#0f2328;--panel2:#142b31;--panel3:#19343b;
  --card:var(--panel);--card2:var(--panel2);--border:#29444a;--border2:#47656b;
  --text:#f4f7f6;--text2:#c8d4d1;--muted:#9bada8;--faint:#829791;
  --accent:#f2b705;--accent2:#5aa9c9;--accentSoft:rgba(242,183,5,.13);--ringbg:#213b40;
  --good:#66c79a;--goodSoft:rgba(102,199,154,.14);--warn:#e4ad5b;--warnSoft:rgba(228,173,91,.14);
  --danger:#ed7a89;--dangerSoft:rgba(237,122,137,.14);--on-accent:#132326;--on-good:#10251c;--on-warn:#2b1d08;--on-danger:#2b0d12;
  --shadow:0 12px 28px -22px rgba(0,0,0,.72);--shadow2:0 20px 48px -30px rgba(0,0,0,.78);
  --radius-lg:16px;--radius-md:13px;--radius-control:11px;--surface-hover:#18343a;
}
html[data-theme="slate"]{
  --bg:#0c1117;--bg2:#101720;--panel:#151d26;--panel2:#1b2530;--panel3:#222e3a;--card:var(--panel);--card2:var(--panel2);
  --border:#2c3947;--border2:#46586a;--text:#f3f6f9;--text2:#c9d2dc;--muted:#9caab8;--faint:#8191a1;
  --accent:#8aa4d6;--accent2:#9ec5d5;--accentSoft:rgba(138,164,214,.15);--ringbg:#253242;--surface-hover:#202c38;--on-accent:#101821;
}
html[data-theme="emerald"]{
  --bg:#07140f;--bg2:#0a1b14;--panel:#0f241a;--panel2:#142d21;--panel3:#1a3729;--card:var(--panel);--card2:var(--panel2);
  --border:#294738;--border2:#426650;--text:#f1f7f4;--text2:#c4d7ce;--muted:#93aa9f;--faint:#7a9588;
  --accent:#3ccf91;--accent2:#7dcfae;--accentSoft:rgba(60,207,145,.14);--ringbg:#1f3a2c;--surface-hover:#183629;--on-accent:#082117;
}
html[data-theme="ocean"]{
  --bg:#071521;--bg2:#0a1c2b;--panel:#0f2635;--panel2:#143043;--panel3:#1a3a4f;--card:var(--panel);--card2:var(--panel2);
  --border:#29485b;--border2:#436980;--text:#f2f7fa;--text2:#c4d6df;--muted:#91a9b7;--faint:#819ba9;
  --accent:#4fb3dd;--accent2:#77cad7;--accentSoft:rgba(79,179,221,.14);--ringbg:#203c4c;--surface-hover:#19394c;--on-accent:#08202a;
}
html[data-theme="berry"]{
  --bg:#150d18;--bg2:#1d1221;--panel:#26172a;--panel2:#301d35;--panel3:#3a2440;--card:var(--panel);--card2:var(--panel2);
  --border:#4a314e;--border2:#6a486e;--text:#faf4f9;--text2:#decbdc;--muted:#b49daf;--faint:#9e8699;
  --accent:#d58abe;--accent2:#a79ad8;--accentSoft:rgba(213,138,190,.14);--ringbg:#402943;--surface-hover:#38223c;--on-accent:#281020;
  --warn:#dfb65f;--warnSoft:rgba(223,182,95,.14);--danger:#d96a82;--dangerSoft:rgba(217,106,130,.14);--on-warn:#281c07;--on-danger:#2b0d12;
}
html[data-theme="sunset"]{
  --bg:#1b0f12;--bg2:#241417;--panel:#2d1a1e;--panel2:#382126;--panel3:#43282e;--card:var(--panel);--card2:var(--panel2);
  --border:#523238;--border2:#754951;--text:#fbf5f3;--text2:#e1cec9;--muted:#b79f99;--faint:#a38c87;
  --accent:#ea8574;--accent2:#6e98c5;--accentSoft:rgba(234,133,116,.14);--ringbg:#472b30;--surface-hover:#40252a;--on-accent:#2c100c;
  --warn:#e2b35f;--warnSoft:rgba(226,179,95,.14);--danger:#d278a9;--dangerSoft:rgba(210,120,169,.14);--on-warn:#291b06;--on-danger:#2b0d12;
}
html[data-theme="amber"]{
  --bg:#17130d;--bg2:#201a12;--panel:#292219;--panel2:#332b20;--panel3:#3e3427;--card:var(--panel);--card2:var(--panel2);
  --border:#4c4132;--border2:#6c5b43;--text:#faf7f1;--text2:#ddd3c2;--muted:#b0a28c;--faint:#a19481;
  --accent:#dcae55;--accent2:#829cae;--accentSoft:rgba(220,174,85,.14);--ringbg:#413625;--surface-hover:#3a3024;--on-accent:#281d08;
  --warn:#d48059;--warnSoft:rgba(212,128,89,.14);--danger:#d87a86;--dangerSoft:rgba(216,122,134,.14);--on-warn:#281d08;--on-danger:#2b0d12;
}
html[data-theme="light"]{
  --bg:#f6f7f5;--bg2:#eef1ee;--panel:#ffffff;--panel2:#f1f4f1;--panel3:#e8eeeb;--card:var(--panel);--card2:var(--panel2);
  --border:#d4ddd8;--border2:#aebeb6;--text:#17211e;--text2:#42534d;--muted:#5f716a;--faint:#566761;
  --accent:#0f6f73;--accent2:#8b6b00;--accentSoft:rgba(15,111,115,.11);--ringbg:#dce7e3;--surface-hover:#edf3f0;--on-accent:#fff;
  --good:#236b49;--goodSoft:rgba(35,107,73,.11);--warn:#a75636;--warnSoft:rgba(167,86,54,.11);--danger:#9d2945;--dangerSoft:rgba(157,41,69,.11);--on-good:#fff;--on-warn:#fff;--on-danger:#fff;
  --shadow:0 12px 28px -22px rgba(22,47,40,.36);--shadow2:0 20px 48px -32px rgba(22,47,40,.42);
}
html[data-theme="sepia"]{
  --bg:#f4efe5;--bg2:#ece4d7;--panel:#fffaf1;--panel2:#f6eddf;--panel3:#eee1cf;--card:var(--panel);--card2:var(--panel2);
  --border:#d9cbb6;--border2:#bca98e;--text:#30281f;--text2:#5b4b3b;--muted:#74624e;--faint:#6f5d48;
  --accent:#7a5232;--accent2:#876413;--accentSoft:rgba(122,82,50,.11);--ringbg:#e7dac7;--surface-hover:#f2e8d9;--on-accent:#fff;
  --shadow:0 12px 28px -22px rgba(74,51,31,.30);--shadow2:0 20px 48px -32px rgba(74,51,31,.38);
}
html[data-theme="mint"]{
  --bg:#eef7f2;--bg2:#e5f1eb;--panel:#fbfffd;--panel2:#edf7f1;--panel3:#e2f0e8;--card:var(--panel);--card2:var(--panel2);
  --border:#c9ddd2;--border2:#a3c2b2;--text:#17271f;--text2:#41594c;--muted:#52695d;--faint:#4c6257;
  --accent:#16705a;--accent2:#497764;--accentSoft:rgba(22,112,90,.11);--ringbg:#d5e8de;--surface-hover:#e8f4ed;--on-accent:#fff;
  --shadow:0 12px 28px -22px rgba(26,75,55,.28);--shadow2:0 20px 48px -32px rgba(26,75,55,.36);
}
html[data-theme="canary"]{
  --bg:#fff9e6;--bg2:#f8f0d6;--panel:#fffdf5;--panel2:#fbf5df;--panel3:#f3e9c9;--card:var(--panel);--card2:var(--panel2);
  --border:#ded3ae;--border2:#bdb184;--text:#163034;--text2:#405b5e;--muted:#5a6f71;--faint:#566d6f;
  --accent:#0b6c71;--accent2:#715c92;--accentSoft:rgba(11,108,113,.11);--ringbg:#e9e0bd;--surface-hover:#f8f1dc;--on-accent:#fff;
  --shadow:0 12px 28px -22px rgba(37,78,76,.28);--shadow2:0 20px 48px -32px rgba(37,78,76,.36);
}
html[data-theme="dawn"]{
  --bg:#fff3ee;--bg2:#f9e8e1;--panel:#fffaf7;--panel2:#fbedE7;--panel3:#f3ded8;--card:var(--panel);--card2:var(--panel2);
  --border:#e2cbc5;--border2:#c5a8a3;--text:#332329;--text2:#5f474f;--muted:#785f67;--faint:#6f5860;
  --accent:#8f4f5d;--accent2:#88634c;--accentSoft:rgba(143,79,93,.11);--ringbg:#efdcd7;--surface-hover:#faebe5;--on-accent:#fff;
  --shadow:0 12px 28px -22px rgba(91,45,57,.27);--shadow2:0 20px 48px -32px rgba(91,45,57,.35);
}
html[data-theme="lavender"]{
  --bg:#f6f3fb;--bg2:#eee9f6;--panel:#fefcff;--panel2:#f3eff9;--panel3:#e9e3f2;--card:var(--panel);--card2:var(--panel2);
  --border:#d8d0e4;--border2:#b7accd;--text:#29243a;--text2:#514a66;--muted:#6b627f;--faint:#625873;
  --accent:#675995;--accent2:#527378;--accentSoft:rgba(103,89,149,.11);--ringbg:#e1daeb;--surface-hover:#f0ebf7;--on-accent:#fff;
  --shadow:0 12px 28px -22px rgba(66,53,99,.27);--shadow2:0 20px 48px -32px rgba(66,53,99,.35);
}

#cosmos::before{background:linear-gradient(180deg,var(--bg),var(--bg2))!important}
#cosmos .au,#cosmos .stars{display:none!important}
.card,.stat,.lv-card,.quiz-q,.sci-card,.modal,.hero,.fc-face,
.vcard,.lrow,.ach,.glrow,.ex-list .say,.recommendation-card,.hub-card,.level-pick-card,
.next-action-card,.sentence-practice-card,.canary-journey{background:var(--panel)!important;border-color:var(--border);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--shadow)}
.sidebar,.topbar{background:color-mix(in srgb,var(--bg2) 96%,transparent)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--border)}
.hero::before,.lv-card::after,.lc-card::after{display:none}
.hero h1,.hero h2,h1.page-t,.lesson-head h1,.fc-word,.lc-grad{background:none!important;color:var(--text)!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important;animation:none!important}
.hero{border-radius:var(--radius-lg);box-shadow:var(--shadow2)}
.brand-logo{animation:none!important;box-shadow:none;background:transparent}
.lc-logo{animation:none!important;box-shadow:none;background:var(--accent)}
.btn,.icon-btn,.search-wrap input,textarea.notes,.top-stat,.chip,.wchip,.srs-btn{background:var(--panel2);border-color:var(--border);box-shadow:none}
.btn:hover,.icon-btn:hover,.chip:hover,.wchip:hover,.srs-btn:hover{background:var(--surface-hover);border-color:var(--border2);box-shadow:none;transform:translateY(-1px)}
.btn.primary,.btn.good{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);box-shadow:none}
.btn.primary:hover,.btn.good:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text));border-color:transparent;box-shadow:none;transform:translateY(-1px)}
.nav-item:hover{background:var(--panel2)}
.nav-item.active{background:var(--accentSoft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--text)}
.nav-item.active::before,.nav-badge,.pbar>span,.switch.on{background:var(--accent);box-shadow:none}
.lv-card:hover,.vcard:hover,.lrow:hover,.recommendation-card:hover,.hub-card:hover,.level-pick-card:hover{border-color:var(--border2);box-shadow:var(--shadow2);transform:translateY(-1px)}
.obj-box,.tipbox,.qwhy,.gtable th,.dlg-line,.dlg-line.s1,.ordertgt,.chip.on,.hub-card.featured,.lrow.is-learning{background:var(--panel2)!important;border-color:var(--border2);box-shadow:none}
.toast{background:var(--panel3);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--shadow2)}
.modal-bg{background:rgba(0,0,0,.52);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.theme-grid{grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:12px}
.theme-chip{min-height:112px;padding:12px;background:var(--panel);border-radius:var(--radius-md);box-shadow:var(--shadow)}
.theme-chip:hover{background:var(--panel2);transform:translateY(-1px)}
.theme-chip.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accentSoft)}
.tc-sw{height:38px;border-radius:8px;border-color:color-mix(in srgb,var(--border2) 70%,transparent)}
.tc-name{font-size:.8125rem}.tc-note{line-height:1.4}
.pwa-install-trigger{display:none;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--panel);color:var(--text);font:inherit;font-size:.75rem;font-weight:750;cursor:pointer}
.pwa-install-trigger.is-ready{display:inline-flex}.pwa-install-trigger .ui-icon{width:18px;height:18px}
.pwa-install-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-top:22px;padding:17px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}
.pwa-install-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--accentSoft);color:var(--accent)}
.pwa-install-icon .ui-icon{width:23px;height:23px}.pwa-install-copy{min-width:0}.pwa-install-copy b{display:block;font-size:.9375rem}.pwa-install-copy p{margin:4px 0 0;color:var(--text2);font-size:.78125rem;line-height:1.5}
.pwa-install-card .btn{min-height:44px;white-space:nowrap}.pwa-install-card.is-installed{border-color:color-mix(in srgb,var(--good) 55%,var(--border))}.pwa-install-card.is-installed .pwa-install-icon{background:var(--goodSoft);color:var(--good)}
@media(max-width:900px){.sidebar,.topbar{backdrop-filter:none;-webkit-backdrop-filter:none}.pwa-install-trigger .pwa-install-label{display:none}.pwa-install-trigger{width:44px;padding:0}.lc-mobile-menu-panel .pwa-install-trigger{display:flex;width:100%;justify-content:flex-start;padding-inline:15px}.lc-mobile-menu-panel .pwa-install-trigger .pwa-install-label{display:inline}.card,.stat,.lv-card,.quiz-q,.sci-card,.modal,.hero,.fc-face,.vcard,.lrow{box-shadow:none}}
@media(max-width:560px){.pwa-install-card{grid-template-columns:auto minmax(0,1fr);padding:15px}.pwa-install-card .btn{grid-column:1/-1;width:100%}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.theme-chip{min-height:104px;padding:10px}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);background:var(--bg)}#launcher{padding-top:env(safe-area-inset-top)}.pwa-install-trigger{display:none!important}.pwa-install-card .btn{display:none}.pwa-install-card{border-color:color-mix(in srgb,var(--good) 55%,var(--border))}}
html[data-installed="true"] body{padding-top:env(safe-area-inset-top);background:var(--bg)}html[data-installed="true"] #launcher{padding-top:env(safe-area-inset-top)}html[data-installed="true"] .pwa-install-trigger{display:none!important}html[data-installed="true"] .pwa-install-card .btn{display:none}html[data-installed="true"] .pwa-install-card{border-color:color-mix(in srgb,var(--good) 55%,var(--border))}
.tc-sw[data-sw="dark"]{background:linear-gradient(135deg,#071316 0 42%,#f2b705 42% 72%,#5aa9c9 72%)}
.tc-sw[data-sw="slate"]{background:linear-gradient(135deg,#0c1117 0 42%,#8aa4d6 42% 72%,#9ec5d5 72%)}
.tc-sw[data-sw="emerald"]{background:linear-gradient(135deg,#07140f 0 42%,#3ccf91 42% 72%,#7dcfae 72%)}
.tc-sw[data-sw="ocean"]{background:linear-gradient(135deg,#071521 0 42%,#4fb3dd 42% 72%,#77cad7 72%)}
.tc-sw[data-sw="berry"]{background:linear-gradient(135deg,#150d18 0 42%,#d58abe 42% 72%,#a79ad8 72%)}
.tc-sw[data-sw="sunset"]{background:linear-gradient(135deg,#1b0f12 0 42%,#ea8574 42% 72%,#6e98c5 72%)}
.tc-sw[data-sw="amber"]{background:linear-gradient(135deg,#17130d 0 42%,#dcae55 42% 72%,#829cae 72%)}
.tc-sw[data-sw="light"]{background:linear-gradient(135deg,#f6f7f5 0 42%,#0f6f73 42% 72%,#8b6b00 72%)}
.tc-sw[data-sw="sepia"]{background:linear-gradient(135deg,#f4efe5 0 42%,#7a5232 42% 72%,#876413 72%)}
.tc-sw[data-sw="mint"]{background:linear-gradient(135deg,#eef7f2 0 42%,#16705a 42% 72%,#497764 72%)}
.tc-sw[data-sw="canary"]{background:linear-gradient(135deg,#fff9e6 0 42%,#0b6c71 42% 72%,#715c92 72%)}
.tc-sw[data-sw="dawn"]{background:linear-gradient(135deg,#fff3ee 0 42%,#8f4f5d 42% 72%,#88634c 72%)}
.tc-sw[data-sw="lavender"]{background:linear-gradient(135deg,#f6f3fb 0 42%,#675995 42% 72%,#527378 72%)}

/* Theme foregrounds must win over legacy component-specific color declarations. */
html[data-theme] .btn.primary,html[data-theme] .btn.good{color:var(--on-accent)}
body.launcher-open .lc-card.fr .lc-cta,body.launcher-open .lc-card.en .lc-cta{color:var(--landing-ink)}
.lrow .lnum{background:var(--panel3);color:var(--text2)}
.lrow.is-new{opacity:1}
