/* GENERATED by dev-tools/build-dark-css.js — do not edit by hand: change dev-tools/dark-theme/manual.css or re-run it */
/* ═══════════════════════════════════════════
   The public site's dark theme (owner, 2026-10-22; the mockup's colours).
   html[data-theme="dark"] is set in <head> (src/publicRoute.js pageHtml): the visitor's choice (localStorage
   es_theme, the sun / moon button in the header) or else the device's setting.
   This file's first part (the tokens) goes before the generated rules; the part after the LAST marker after them.
═══════════════════════════════════════════ */
html[data-theme="dark"] { color-scheme: dark; }
/* public.css's tokens */
html[data-theme="dark"] {
  --pub-ink: #EEF2F9;
  --pub-body: #C5CEDD;
  --pub-muted: #8E9AB2;
  --pub-line: #22304C;
  --pub-soft: #0F1A2E;
  --pub-accent: #7FA2FF;      /* links and outlines; the filled blue buttons get their own colour below */
  --pub-accent-h: #A3BCFF;
  --pub-accent-s: #1A2A55;
  --pub-amber: #F2B705;
  --pub-amber-s: #3B3110;
  --pub-green: #6FD39A;
  --pub-green-s: #12301F;
  --gw-x: #4E5A73;
  --hc-hot: #3A8F5C; --hc-warm: #C98A2E; --hc-cold: #B84C3E;
}
/* main.css's tokens: the lessons' exercises (only on the public site) */
html[data-theme="dark"] body.pub {
  --bg: #0B1424; --bg2: #0F1A2E; --surface: #121D33; --surface2: #16223B;
  --border: #22304C; --border2: #2C3B5A;
  --accent: #7FA2FF; --accent-h: #A3BCFF; --accent-s: #1A2A55; --accent-m: rgba(127,162,255,0.16);
  --green: #6FD39A; --green-s: #12301F; --green-m: rgba(111,211,154,0.16);
  --amber: #F2C14E; --amber-s: #2E2610; --amber-m: rgba(242,193,78,0.16);
  --red: #FF8A7E; --red-s: #3A1716; --red-m: rgba(255,138,126,0.16);
  --purple: #B79CFF; --purple-s: #231A40;
  --text: #EEF2F9; --text2: #C5CEDD; --text3: #8E9AB2; --text4: #6B7891;
  --shadow: none; --shadow-md: 0 4px 12px rgba(0,0,0,.4); --shadow-lg: 0 10px 30px rgba(0,0,0,.5);
  background: #0B1424; color: #C5CEDD;
}

/* ── generated from public/css/main.css (the lessons' exercises, public site only) ── */
html[data-theme="dark"] body.pub { background: var(--bg); color: var(--text); }
html[data-theme="dark"] body.pub a { color: var(--accent); }
html[data-theme="dark"] body.pub ::-webkit-scrollbar-track { background: transparent; }
html[data-theme="dark"] body.pub ::-webkit-scrollbar-thumb { background: var(--border2); }
html[data-theme="dark"] body.pub .text-muted { color: var(--text3); }
html[data-theme="dark"] body.pub .btn { border: none; }
html[data-theme="dark"] body.pub .btn-primary { background: var(--accent); color: #fff; }
html[data-theme="dark"] body.pub .btn-primary:hover:not(:disabled) { background: var(--accent-h); }
html[data-theme="dark"] body.pub .btn-secondary { background: var(--surface); border: 1px solid var(--border); color: var(--text2); }
html[data-theme="dark"] body.pub .btn-secondary:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .btn-danger { background: var(--red); color: #fff; }
html[data-theme="dark"] body.pub .btn-danger:hover:not(:disabled) { background: #b91c1c; }
html[data-theme="dark"] body.pub .btn-ghost { background: transparent; color: var(--text3); }
html[data-theme="dark"] body.pub .btn-ghost:hover:not(:disabled) { background: var(--bg2); color: var(--text2); }
html[data-theme="dark"] body.pub .btn-green { background: var(--green); color: #fff; }
html[data-theme="dark"] body.pub .btn-green:hover:not(:disabled) { background: #047857; }
html[data-theme="dark"] body.pub .input,
html[data-theme="dark"] body.pub .select,
html[data-theme="dark"] body.pub .textarea { background: var(--surface); border: 1.5px solid var(--border); color: var(--text); outline: none; }
html[data-theme="dark"] body.pub .input:focus,
html[data-theme="dark"] body.pub .select:focus,
html[data-theme="dark"] body.pub .textarea:focus { border-color: var(--accent); }
html[data-theme="dark"] body.pub .input::placeholder,
html[data-theme="dark"] body.pub .textarea::placeholder { color: var(--text4); }
html[data-theme="dark"] body.pub .select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); }
html[data-theme="dark"] body.pub .label { color: var(--text3); }
html[data-theme="dark"] body.pub .card { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); }
html[data-theme="dark"] body.pub .card-header { border-bottom: 1px solid var(--border); }
html[data-theme="dark"] body.pub .card-title { color: var(--text); }
html[data-theme="dark"] body.pub .badge-blue { background: var(--accent-s); color: var(--accent); border: 1px solid rgba(37,99,235,.2); }
html[data-theme="dark"] body.pub .badge-green { background: var(--green-s); color: var(--green); border: 1px solid rgba(5,150,105,.2); }
html[data-theme="dark"] body.pub .badge-amber { background: var(--amber-s); color: var(--amber); border: 1px solid rgba(217,119,6,.2); }
html[data-theme="dark"] body.pub .badge-red { background: var(--red-s); color: var(--red); border: 1px solid rgba(220,38,38,.2); }
html[data-theme="dark"] body.pub .badge-purple { background: var(--purple-s); color: var(--purple); border: 1px solid rgba(124,58,237,.2); }
html[data-theme="dark"] body.pub .badge-gray { background: var(--bg2); color: var(--text3); border: 1px solid var(--border); }
html[data-theme="dark"] body.pub .live-dot::before { background: currentColor; }
html[data-theme="dark"] body.pub .avatar { color: #fff; }
html[data-theme="dark"] body.pub th { color: var(--text3); border-bottom: 1.5px solid var(--border); background: var(--surface2); }
html[data-theme="dark"] body.pub td { border-bottom: 1px solid var(--border); color: var(--text2); }
html[data-theme="dark"] body.pub tr:last-child td { border-bottom: none; }
html[data-theme="dark"] body.pub tr:hover td { background: var(--bg2); }
html[data-theme="dark"] body.pub .modal-backdrop { background: rgba(0,0,0,.35); }
html[data-theme="dark"] body.pub .modal { background: var(--surface); box-shadow: var(--shadow-lg); }
html[data-theme="dark"] body.pub .modal-header { border-bottom: 1px solid var(--border); }
html[data-theme="dark"] body.pub .modal-footer { border-top: 1px solid var(--border); }
html[data-theme="dark"] body.pub .toast { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-md); }
html[data-theme="dark"] body.pub .toast.success { border-color: rgba(5,150,105,.35); }
html[data-theme="dark"] body.pub .toast.error { border-color: rgba(220,38,38,.35); }
html[data-theme="dark"] body.pub .toast.info { border-color: rgba(37,99,235,.3); }
html[data-theme="dark"] body.pub .login-page { background: linear-gradient(135deg, #152137 0%, #1A1F33 60%, #372D15 100%); }
html[data-theme="dark"] body.pub .login-box { background: var(--surface); box-shadow: var(--shadow-lg); }
html[data-theme="dark"] body.pub .login-logo span { color: var(--accent); }
html[data-theme="dark"] body.pub .login-sub { color: var(--text3); }
html[data-theme="dark"] body.pub .login-error { background: var(--red-s); border: 1px solid rgba(220,38,38,.2); color: var(--red); }
html[data-theme="dark"] body.pub .topbar { background: var(--surface); border-bottom: 1.5px solid var(--border); box-shadow: var(--shadow); }
html[data-theme="dark"] body.pub .topbar-logo span { color: var(--accent); }
html[data-theme="dark"] body.pub .topbar-sep { background: var(--border); }
html[data-theme="dark"] body.pub .topbar-nav-item { color: var(--text3); }
html[data-theme="dark"] body.pub .topbar-nav-item:hover { color: var(--text2); background: var(--bg2); }
html[data-theme="dark"] body.pub .topbar-nav-item.active { color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .sidebar { background: var(--surface); border-right: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .sidebar-section { color: var(--text4); }
html[data-theme="dark"] body.pub .sidebar-item { color: var(--text3); }
html[data-theme="dark"] body.pub .sidebar-item:hover { color: var(--text2); background: var(--bg2); }
html[data-theme="dark"] body.pub .sidebar-item.active { color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .sidebar-bottom { border-top: 1px solid var(--border); }
html[data-theme="dark"] body.pub .page-header p { color: var(--text3); }
html[data-theme="dark"] body.pub .stat-card { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); }
html[data-theme="dark"] body.pub .stat-label { color: var(--text3); }
html[data-theme="dark"] body.pub .stat-value { color: var(--text); }
html[data-theme="dark"] body.pub .stat-sub { color: var(--text4); }
html[data-theme="dark"] body.pub .tree-section { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); }
html[data-theme="dark"] body.pub .tree-section-header { background: var(--surface2); border-bottom: 1px solid var(--border); }
html[data-theme="dark"] body.pub .tree-section-header:hover { background: var(--bg2); }
html[data-theme="dark"] body.pub .tree-subsection { border-left: 3px solid var(--border); }
html[data-theme="dark"] body.pub .tree-subsection-header:hover { background: var(--bg2); }
html[data-theme="dark"] body.pub .tree-lesson { border-top: 1px solid var(--border); }
html[data-theme="dark"] body.pub .tree-lesson:hover { background: var(--accent-s); }
html[data-theme="dark"] body.pub .tree-lesson.open-lesson { color: var(--accent); }
html[data-theme="dark"] body.pub .change-lesson-row { border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .change-lesson-row:hover { border-color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .change-lesson-row.current { border-color: var(--border2); background: var(--bg2); }
html[data-theme="dark"] body.pub .lesson-topbar { background: var(--surface); border-bottom: 1.5px solid var(--border); box-shadow: var(--shadow); }
html[data-theme="dark"] body.pub .lesson-left { border-right: 1.5px solid var(--border); background: var(--surface); }
html[data-theme="dark"] body.pub .video-area { background: #13254A; }
html[data-theme="dark"] body.pub .video-pip { background: #2a3040; border: 1.5px solid rgba(34,48,76,0.15); color: rgba(255,255,255,.4); }
html[data-theme="dark"] body.pub .video-controls-bar { background: linear-gradient(to top, rgba(0,0,0,.5), transparent); }
html[data-theme="dark"] body.pub .vc-btn { background: rgba(18,29,51,0.15); border: 1px solid rgba(34,48,76,0.2); color: #fff; }
html[data-theme="dark"] body.pub .vc-btn:hover { background: rgba(18,29,51,0.25); }
html[data-theme="dark"] body.pub .vc-btn.muted { background: var(--red); border-color: var(--red); }
html[data-theme="dark"] body.pub .tool-label { color: var(--text4); }
html[data-theme="dark"] body.pub .dict-result { background: var(--bg2); border: 1px solid var(--border); }
html[data-theme="dark"] body.pub .dict-word { color: var(--accent); }
html[data-theme="dark"] body.pub .wl-save { border: none; background: transparent; color: var(--text4); }
html[data-theme="dark"] body.pub .wl-save:hover { color: var(--accent); background: var(--bg2); }
html[data-theme="dark"] body.pub .wl-save.saved { color: var(--green); }
html[data-theme="dark"] body.pub .wl-save.saved svg,
html[data-theme="dark"] body.pub .wl-saveall.saved svg { fill: currentColor; }
html[data-theme="dark"] body.pub .wl-saveall { border: 1px solid var(--border); background: transparent; color: var(--text3); }
html[data-theme="dark"] body.pub .wl-saveall:hover { color: var(--accent); border-color: var(--accent); }
html[data-theme="dark"] body.pub .wl-saveall.saved { color: var(--green); border-color: rgba(5,150,105,.35); }
html[data-theme="dark"] body.pub .wl-word { border-bottom: 1px dashed transparent; }
html[data-theme="dark"] body.pub .wl-word:hover { color: var(--accent); border-bottom-color: var(--accent); }
html[data-theme="dark"] body.pub .wl-count { color: var(--text4); }
html[data-theme="dark"] body.pub .wl-toggle { color: var(--text3); }
html[data-theme="dark"] body.pub .wl-row { border-bottom: 1px solid var(--border); }
html[data-theme="dark"] body.pub .wl-tr { color: var(--text3); }
html[data-theme="dark"] body.pub .wl-src { color: var(--text4); }
html[data-theme="dark"] body.pub .wl-del { border: none; background: transparent; color: var(--text4); }
html[data-theme="dark"] body.pub .wl-del:hover { color: var(--red, #EB8484); background: var(--bg2); }
html[data-theme="dark"] body.pub .wl-empty { color: var(--text4); }
html[data-theme="dark"] body.pub .dict-pos { color: var(--text3); }
html[data-theme="dark"] body.pub .page-nav-item { color: var(--text3); }
html[data-theme="dark"] body.pub .page-nav-item:hover { background: var(--bg2); color: var(--text2); }
html[data-theme="dark"] body.pub .page-nav-item.active { background: var(--accent-s); color: var(--accent); }
html[data-theme="dark"] body.pub .page-nav-num { background: var(--bg2); }
html[data-theme="dark"] body.pub .page-nav-item.active .page-nav-num { background: var(--accent); color: #fff; }
html[data-theme="dark"] body.pub .lesson-content { background: var(--bg); }
html[data-theme="dark"] body.pub .tab-bar { background: var(--surface); border-bottom: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .tab { color: var(--text3); border-bottom: 2.5px solid transparent; }
html[data-theme="dark"] body.pub .tab:hover { color: var(--text2); }
html[data-theme="dark"] body.pub .tab.active { color: var(--accent); border-bottom-color: var(--accent); }
html[data-theme="dark"] body.pub .lesson-page-title .eyebrow { color: var(--accent); }
html[data-theme="dark"] body.pub .exercise-wrap { background: var(--surface); border: 1.5px solid var(--border); box-shadow: var(--shadow); }
html[data-theme="dark"] body.pub .exercise-type-label { color: var(--text4); }
html[data-theme="dark"] body.pub .group-heading { color: var(--text); }
html[data-theme="dark"] body.pub .exercise-item + .exercise-item { border-top: 1px solid var(--border); }
html[data-theme="dark"] body.pub .ex-text-block { color: var(--text2); }
html[data-theme="dark"] body.pub .ex-text-block h3 { color: var(--text); }
html[data-theme="dark"] body.pub .ex-text-block a { color: var(--accent); }
html[data-theme="dark"] body.pub .ex-text-example { background: rgba(5,150,105,.09); color: var(--text); }
html[data-theme="dark"] body.pub .ex-text-sources { color: var(--text4); }
html[data-theme="dark"] body.pub .ex-text-sources a { color: var(--text4); }
html[data-theme="dark"] body.pub .grammar-title { color: var(--text); }
html[data-theme="dark"] body.pub .grammar-table { border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .grammar-table-label { color: var(--amber); background: var(--amber-s); border-bottom: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .grammar-row + .grammar-row { border-top: 1px solid var(--border); }
html[data-theme="dark"] body.pub .grammar-main { color: var(--text); }
html[data-theme="dark"] body.pub .grammar-main b,
html[data-theme="dark"] body.pub .grammar-main strong { color: var(--accent); }
html[data-theme="dark"] body.pub .grammar-note { color: var(--text3); }
html[data-theme="dark"] body.pub .grammar-rule { color: var(--accent); }
html[data-theme="dark"] body.pub .grammar-legend { color: var(--text2); }
html[data-theme="dark"] body.pub .dd-bank { background: var(--bg2, rgba(0,0,0,.03)); border: 1.5px dashed var(--border); }
html[data-theme="dark"] body.pub .dd-word { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .dd-word:hover { border-color: var(--accent); }
html[data-theme="dark"] body.pub .dd-picked { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,.18); }
html[data-theme="dark"] body.pub .dd-gap { border-bottom: 2px solid var(--border); }
html[data-theme="dark"] body.pub .dd-gap.dd-over { background: rgba(37,99,235,.12); border-color: var(--accent); }
html[data-theme="dark"] body.pub .dd-gap.dd-correct { background: rgba(5,150,105,.16); border-color: #059669; color: #7BF4D2; }
html[data-theme="dark"] body.pub .dd-gap.dd-wrong { background: rgba(220,38,38,.14); border-color: #DC2626; color: #EC8383; }
html[data-theme="dark"] body.pub .dd-gap.hs-gap { border: 2px solid var(--accent); background: #121D33; color: var(--accent); box-shadow: 0 1px 4px rgba(0,0,0,0.36); }
html[data-theme="dark"] body.pub .dd-gap.hs-gap.dd-over { background: #152137; }
html[data-theme="dark"] body.pub .dd-gap.hs-gap.dd-correct { background: #153726; border-color: #059669; color: #7BF4D2; }
html[data-theme="dark"] body.pub .dd-gap.hs-gap.dd-wrong { background: #371715; border-color: #DC2626; color: #EC8383; }
html[data-theme="dark"] body.pub .idm-index { background: rgba(0,0,0,.6); color: #fff; }
html[data-theme="dark"] body.pub .idm-gap { border: 1.5px dashed var(--border); }
html[data-theme="dark"] body.pub .dialogue-chip { color: #fff; }
html[data-theme="dark"] body.pub .dialogue-label { color: #fff; }
html[data-theme="dark"] body.pub .dialogue-reply { border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .dlg-azure { background: #2563EB; }
html[data-theme="dark"] body.pub .dlg-red { background: #DC2626; }
html[data-theme="dark"] body.pub .dlg-green { background: #059669; }
html[data-theme="dark"] body.pub .dlg-orange { background: #D97706; }
html[data-theme="dark"] body.pub .dlgb-azure { border-color: rgba(37,99,235,.45); }
html[data-theme="dark"] body.pub .dlgb-red { border-color: rgba(220,38,38,.45); }
html[data-theme="dark"] body.pub .dlgb-green { border-color: rgba(5,150,105,.45); }
html[data-theme="dark"] body.pub .dlgb-orange { border-color: rgba(217,119,6,.45); }
html[data-theme="dark"] body.pub .sentence-num { color: var(--text4); }
html[data-theme="dark"] body.pub .sentence-row-example { background: rgba(5,150,105,.09); }
html[data-theme="dark"] body.pub .sentence-row-example .sentence-num { color: #7BF4CF; }
html[data-theme="dark"] body.pub .ex-blank-example { background: rgba(5,150,105,.16); }
html[data-theme="dark"] body.pub .dd-table td,
html[data-theme="dark"] body.pub .dd-table tr:last-child td { border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .dd-table tr:hover td { background: transparent; }
html[data-theme="dark"] body.pub .dd-table td.dd-num { color: var(--muted, #8E9AB2); }
html[data-theme="dark"] body.pub .choice-tab { border: 1.5px solid var(--accent-m); background: var(--surface, #121D33); color: var(--accent); }
html[data-theme="dark"] body.pub .choice-tab:hover { background: var(--accent-s); }
html[data-theme="dark"] body.pub .choice-tab.selected { background: var(--accent); border-color: var(--accent); color: #fff; }
html[data-theme="dark"] body.pub .choice-missing { color: var(--amber); background: var(--amber-s); }
html[data-theme="dark"] body.pub .choice-ed-badge { color: var(--amber); background: var(--amber-s); }
html[data-theme="dark"] body.pub .gv2 .gv2-h { color: var(--text); }
html[data-theme="dark"] body.pub .gv2 .gv2-h3 { color: var(--text2); }
html[data-theme="dark"] body.pub .gv2 .gv2-p { color: var(--text); }
html[data-theme="dark"] body.pub .gv2 .gv2-list li::marker { color: var(--accent); }
html[data-theme="dark"] body.pub .gv2 .gv2-table td { border: 0 solid var(--accent-m, #2E436B); }
html[data-theme="dark"] body.pub .gv2 .gv2-b-outer,
html[data-theme="dark"] body.pub .gv2 .gv2-b-rows { border: 1.5px solid var(--accent-m, #2E436B); }
html[data-theme="dark"] body.pub .grammar-mistakes { border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .grammar-mistakes-title { color: var(--text); }
html[data-theme="dark"] body.pub .grammar-mistake + .grammar-mistake { border-top: 1px solid var(--border); }
html[data-theme="dark"] body.pub .mistake-wrong { color: var(--text3); }
html[data-theme="dark"] body.pub .mistake-wrong .mistake-mark { color: #EB8484; }
html[data-theme="dark"] body.pub .mistake-correct { color: var(--text); }
html[data-theme="dark"] body.pub .mistake-correct .mistake-mark { color: #7BF4CF; }
html[data-theme="dark"] body.pub .mistake-correct b { background: rgba(5,150,105,.14); }
html[data-theme="dark"] body.pub .teacher-note-box { background: var(--amber-s); border: 1.5px solid rgba(217,119,6,.25); }
html[data-theme="dark"] body.pub .teacher-note-box p { color: var(--text2); }
html[data-theme="dark"] body.pub .teacher-note-box b { color: var(--text); }
html[data-theme="dark"] body.pub .teacher-note-box .note-heading { color: var(--text); }
html[data-theme="dark"] body.pub .teacher-note-box .note-list { color: var(--text2); }
html[data-theme="dark"] body.pub .teacher-note-box .note-table { background: var(--bg, #121D33); }
html[data-theme="dark"] body.pub .teacher-note-box .note-grammar { background: var(--bg, #121D33); }
html[data-theme="dark"] body.pub .teacher-note-box .note-header { color: var(--amber); }
html[data-theme="dark"] body.pub .video-block { background: var(--surface2); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .video-block video { background: #000; }
html[data-theme="dark"] body.pub .video-block .video-missing { color: var(--text4); }
html[data-theme="dark"] body.pub .audio-player { background: var(--surface2); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .play-btn { background: var(--accent); border: none; color: #fff; }
html[data-theme="dark"] body.pub .play-btn:hover { background: var(--accent-h); }
html[data-theme="dark"] body.pub .play-btn.playing { background: var(--green); }
html[data-theme="dark"] body.pub .vol-pop { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-md); }
html[data-theme="dark"] body.pub .vol-ctrl.open .vol-btn { color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .vol-btn { border: none; background: transparent; color: var(--text3); }
html[data-theme="dark"] body.pub .vol-btn:hover { color: var(--accent); background: var(--bg2); }
html[data-theme="dark"] body.pub .vol-ctrl.muted .vol-btn { color: var(--red); }
html[data-theme="dark"] body.pub .vp { background: #000; }
html[data-theme="dark"] body.pub .vp-bar { background: linear-gradient(transparent, rgba(0,0,0,.65)); color: #fff; }
html[data-theme="dark"] body.pub .vp-btn { border: none; background: transparent; color: #fff; }
html[data-theme="dark"] body.pub .vp-btn:hover { background: rgba(18,29,51,0.15); }
html[data-theme="dark"] body.pub .vp-bar .vol-btn { color: #fff; }
html[data-theme="dark"] body.pub .vp-bar .vol-btn:hover,
html[data-theme="dark"] body.pub .vp-bar .vol-ctrl.open .vol-btn { background: rgba(18,29,51,0.15); color: #fff; }
html[data-theme="dark"] body.pub .vp-bar .vol-ctrl.muted .vol-btn { color: #fca5a5; }
@media (max-width: 768px) {
  html[data-theme="dark"] body.pub .audio-player { background: transparent; border: none; }
}
html[data-theme="dark"] body.pub .progress-track { background: var(--border); }
html[data-theme="dark"] body.pub .progress-fill { background: var(--accent); }
html[data-theme="dark"] body.pub .audio-times { color: var(--text4); }
html[data-theme="dark"] body.pub .sync-note { color: var(--green); }
html[data-theme="dark"] body.pub .sentence-row { color: var(--text); }
html[data-theme="dark"] body.pub .ex-dropdown { background: var(--surface); border: 1.5px solid var(--border); color: var(--text); outline: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); }
html[data-theme="dark"] body.pub .ex-dropdown:focus { border-color: var(--accent); }
html[data-theme="dark"] body.pub .ex-dropdown.correct { border-color: var(--green); background-color: var(--green-s); color: var(--green); }
html[data-theme="dark"] body.pub .ex-dropdown.incorrect { border-color: var(--red); background-color: var(--red-s); color: var(--red); }
html[data-theme="dark"] body.pub .teacher-tip { background: #13254A; color: #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.504); }
html[data-theme="dark"] body.pub .ex-blank { border: none; border-bottom: 2px solid var(--border2); background: transparent; color: var(--text); outline: none; }
html[data-theme="dark"] body.pub .ex-blank:focus { border-bottom-color: var(--accent); }
html[data-theme="dark"] body.pub .ex-blank.correct { border-bottom-color: var(--green); color: var(--green); background: var(--green-s); }
html[data-theme="dark"] body.pub .ex-blank.incorrect { border-bottom-color: var(--red); color: var(--red); }
html[data-theme="dark"] body.pub .ex-blank-hint { color: var(--text4); }
html[data-theme="dark"] body.pub .drag-chip { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .drag-chip:hover { border-color: var(--accent); color: var(--accent); }
html[data-theme="dark"] body.pub .wo-list-sentence .wo-item { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .wo-list-word .wo-item { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .wo-item:hover { border-color: var(--accent); }
html[data-theme="dark"] body.pub .wo-handle { color: var(--text4); }
html[data-theme="dark"] body.pub .td-ghost { box-shadow: 0 8px 20px rgba(0,0,0,0.45); }
html[data-theme="dark"] body.pub .wo-item.wo-lifted { border-color: var(--accent); background: var(--accent-s); box-shadow: 0 6px 16px rgba(37,99,235,.25); }
html[data-theme="dark"] body.pub .dg-bank { background: var(--bg2); border: 1.5px dashed var(--border); }
html[data-theme="dark"] body.pub .dg-dropzone { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .dg-chip.dg-picked { border-color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .so-item:hover { background: var(--red-s); }
html[data-theme="dark"] body.pub .so-item.so-struck { color: var(--text4); }
html[data-theme="dark"] body.pub .image-card { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .data-table td { border: 1px solid var(--border); }
html[data-theme="dark"] body.pub .data-table tr:last-child td { border-bottom: 1px solid var(--border); }
html[data-theme="dark"] body.pub .data-table td b { color: var(--accent); }
html[data-theme="dark"] body.pub .image-card-face { background: var(--bg2); }
html[data-theme="dark"] body.pub .image-drop-target { color: var(--text4); border-top: 1px dashed var(--border); }
html[data-theme="dark"] body.pub .image-drop-target.drag-over { background: var(--accent-s); border-top-color: var(--accent); color: var(--accent); }
html[data-theme="dark"] body.pub .image-drop-target.correct { background: var(--green-s); color: var(--green); border-top-color: var(--green); }
html[data-theme="dark"] body.pub .image-drop-target.incorrect { background: var(--red-s); color: var(--red); border-top-color: var(--red); }
html[data-theme="dark"] body.pub .match-item { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .match-item:hover { border-color: var(--accent); }
html[data-theme="dark"] body.pub .match-item.selected { border-color: var(--accent); background: var(--accent-s); color: var(--accent); }
html[data-theme="dark"] body.pub .match-item.matched { border-color: hsl(var(--pc, 142), 70%, 48%); background: hsla(var(--pc, 142), 85%, 55%, 0.16); color: var(--text); }
html[data-theme="dark"] body.pub .pu-item { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .pu-item:hover { border-color: var(--accent); }
html[data-theme="dark"] body.pub .pu-item.pu-pending,
html[data-theme="dark"] body.pub .pu-item.pu-paired { color: var(--text); }
html[data-theme="dark"] body.pub .pu-item.pu-pending,
html[data-theme="dark"] body.pub .pu-item.pu-paired { border-color: hsl(var(--pc), 70%, 48%); background: hsla(var(--pc), 85%, 55%, 0.16); }
html[data-theme="dark"] body.pub .mc-option { border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .mc-option:hover { border-color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .wo-list.wo-solved .wo-item { border-color: var(--green); background: var(--green-s); }
html[data-theme="dark"] body.pub .dg-chip.dg-right { border-color: var(--green); background: var(--green-s); color: var(--green); }
html[data-theme="dark"] body.pub .dg-chip.dg-wrong { border-color: var(--red); background: var(--red-s); color: var(--red); }
html[data-theme="dark"] body.pub .so-item.so-right { background: var(--green-s); color: var(--green); }
html[data-theme="dark"] body.pub .so-item.so-wrong { background: var(--red-s); color: var(--red); }
html[data-theme="dark"] body.pub .mc-circle { border: 1.5px solid var(--border2); }
html[data-theme="dark"] body.pub .mc-option.correct { border-color: var(--green); background: var(--green-s); }
html[data-theme="dark"] body.pub .mc-option.correct .mc-circle { background: var(--green); border-color: var(--green); }
html[data-theme="dark"] body.pub .mc-option.incorrect { border-color: var(--red); background: var(--red-s); }
html[data-theme="dark"] body.pub .mc-option.incorrect .mc-circle { background: var(--red); border-color: var(--red); }
html[data-theme="dark"] body.pub .mc-option.selected { border-color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .choice-opt:hover { background: var(--accent-s); }
html[data-theme="dark"] body.pub .choice-opt.choice-correct { background: var(--green-s); color: var(--green); }
html[data-theme="dark"] body.pub .choice-opt.choice-wrong { background: var(--red-s); color: var(--red); }
html[data-theme="dark"] body.pub .choice-opt.choice-picked { background: var(--accent-s); color: var(--accent); }
html[data-theme="dark"] body.pub .mc-option.selected .mc-circle { background: var(--accent); border-color: var(--accent); }
html[data-theme="dark"] body.pub .hidden-segment { border: 1.5px dashed var(--amber); background: var(--amber-s); }
html[data-theme="dark"] body.pub .card-caption-placeholder { color: var(--text3); background: var(--bg2); border: 1.5px dashed var(--border); }
html[data-theme="dark"] body.pub .card-caption:hover .card-caption-placeholder { border-color: var(--accent); color: var(--accent); }
html[data-theme="dark"] body.pub .card-caption-text { color: var(--text3); }
html[data-theme="dark"] body.pub .cur-item { border: 1.5px solid transparent; }
html[data-theme="dark"] body.pub .cur-item:hover { background: var(--bg2); }
html[data-theme="dark"] body.pub .cur-item-active { background: var(--accent-s) !important; border-color: rgba(37,99,235,.2); }
html[data-theme="dark"] body.pub .cur-item-num { color: var(--text4); }
html[data-theme="dark"] body.pub .cur-drag-handle { color: var(--text4); }
html[data-theme="dark"] body.pub .list-item:hover { background: var(--bg2); }
html[data-theme="dark"] body.pub .list-item.selected { background: var(--accent-s); }
html[data-theme="dark"] body.pub .subsection-item { color: var(--text3); }
html[data-theme="dark"] body.pub .subsection-item:hover { background: var(--bg2); color: var(--text2); }
html[data-theme="dark"] body.pub .lesson-item { color: var(--text4); }
html[data-theme="dark"] body.pub .lesson-item:hover { background: var(--accent-s); color: var(--accent); }
html[data-theme="dark"] body.pub .lesson-item.active { background: var(--accent-s); color: var(--accent); }
html[data-theme="dark"] body.pub .exercise-editor-item { background: var(--surface); border: 1.5px solid var(--border); }
html[data-theme="dark"] body.pub .exercise-editor-header { background: var(--surface2); }
html[data-theme="dark"] body.pub .exercise-editor-body { border-top: 1px solid var(--border); }
html[data-theme="dark"] body.pub .type-option { background: var(--surface); border: 1.5px solid var(--border); color: var(--text3); }
html[data-theme="dark"] body.pub .type-option:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .type-option.selected { border-color: var(--accent); color: var(--accent); background: var(--accent-s); }
html[data-theme="dark"] body.pub .access-filter { border-bottom: 1px solid var(--border); }
html[data-theme="dark"] body.pub .access-only { color: var(--text2); }
@media (max-width: 768px) {
  html[data-theme="dark"] body.pub .sidebar { border-right: none; border-top: 1.5px solid var(--border); box-shadow: 0 -2px 10px rgba(0,0,0,0.09); }
  html[data-theme="dark"] body.pub .sidebar-item.active { background: transparent; }
  html[data-theme="dark"] body.pub .resp-table tr { border-bottom: 1px solid var(--border); }
  html[data-theme="dark"] body.pub .resp-table tr:hover td { background: transparent; }
  html[data-theme="dark"] body.pub .resp-table td { border: none; }
  html[data-theme="dark"] body.pub .resp-table .rt-section { color: var(--text3); }
  html[data-theme="dark"] body.pub .resp-table .rt-title { color: var(--text); }
}
@media (max-width: 768px) {
  html[data-theme="dark"] body.pub #lesson-title-bar { color: var(--text) !important; }
  html[data-theme="dark"] body.pub .lesson-topbar.more-open .teacher-actions { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-lg); }
  html[data-theme="dark"] body.pub .lesson-left { border-right: none; border-bottom: 1.5px solid var(--border); }
  html[data-theme="dark"] body.pub .vc-min { border: none; background: rgba(0,0,0,.25); color: #fff; }
  html[data-theme="dark"] body.pub .lesson-shell.vid-small .video-controls-bar { background: none; }
  html[data-theme="dark"] body.pub .lesson-shell.vid-split #video-local { border: none !important; border-left: 1px solid rgba(34,48,76,0.2) !important; }
  html[data-theme="dark"] body.pub .lt-dict,
html[data-theme="dark"] body.pub .lt-notes,
html[data-theme="dark"] body.pub .lt-pages { background: var(--surface); border-top: 1.5px solid var(--border); box-shadow: 0 -6px 20px rgba(0,0,0,0.18); }
  html[data-theme="dark"] body.pub .m-close { border: none; background: transparent; color: var(--text3); }
  html[data-theme="dark"] body.pub .lt-pages .pages-lesson-title { color: var(--text); }
  html[data-theme="dark"] body.pub .lesson-scroll { background: var(--surface); }
  html[data-theme="dark"] body.pub .lesson-page-title { border-bottom: 8px solid var(--bg); }
  html[data-theme="dark"] body.pub .exercise-wrap { border: none; box-shadow: none; border-bottom: 8px solid var(--bg); }
  html[data-theme="dark"] body.pub .m-tabs { background: var(--surface); border-top: 1.5px solid var(--border); }
  html[data-theme="dark"] body.pub .m-tabs > button { border: none; background: transparent; color: var(--text3); }
  html[data-theme="dark"] body.pub .m-tabs > button.active { color: var(--accent); }
  html[data-theme="dark"] body.pub .m-tabs .m-tab-exit { color: var(--red); }
  html[data-theme="dark"] body.pub .m-more-menu { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-lg); }
}
html[data-theme="dark"] body.pub .transcript-state { color: var(--text4); }
html[data-theme="dark"] body.pub .transcript.shown-to-student .transcript-state { color: var(--green); }
html[data-theme="dark"] body.pub .transcript-body { background: var(--bg2); }
html[data-theme="dark"] body.pub .transcript.shown-to-student .transcript-body { box-shadow: inset 3px 0 0 var(--green); }
html[data-theme="dark"] body.pub .update-banner { background: var(--surface); border: 1px solid var(--border); box-shadow: 0 6px 24px rgba(0,0,0,0.27); }
html[data-theme="dark"] body.pub .ex-text-callout { background: #373315; border-left: 4px solid #f0dd6a; color: #C5CEDD; }
html[data-theme="dark"] body.pub .sl-level-h { color: var(--accent); }
html[data-theme="dark"] body.pub .sl-num { color: var(--text3); }

/* ── generated from public/css/public.css ── */
html[data-theme="dark"] body.pub { background: #121D33; color: var(--pub-body); }
html[data-theme="dark"] .pub h1,
html[data-theme="dark"] .pub h2,
html[data-theme="dark"] .pub h3 { color: var(--pub-ink); }
html[data-theme="dark"] .pub a { color: var(--pub-accent); }
html[data-theme="dark"] .pub a:hover { color: var(--pub-accent-h); }
html[data-theme="dark"] .pub-skip { background: var(--pub-ink); color: #fff !important; }
html[data-theme="dark"] .pub :focus-visible { outline: 3px solid var(--pub-accent); }
html[data-theme="dark"] .pub-btn { border: 1.5px solid transparent; }
html[data-theme="dark"] .pub-btn-primary { background: var(--pub-accent); color: #fff !important; }
html[data-theme="dark"] .pub-btn-primary:hover { background: var(--pub-accent-h); }
html[data-theme="dark"] .pub-btn-dark { background: var(--pub-ink); color: #fff !important; }
html[data-theme="dark"] .pub-btn-dark:hover { background: #142E54; }
html[data-theme="dark"] .pub-btn-ghost { background: #121D33; color: var(--pub-ink) !important; border-color: #2C3B5A; }
html[data-theme="dark"] .pub-btn-ghost:hover { border-color: var(--pub-ink); }
html[data-theme="dark"] .pub-btn-amber { background: var(--pub-amber); color: var(--pub-ink) !important; border: 0; }
html[data-theme="dark"] .pub-btn-amber:hover { background: #E0A800; }
html[data-theme="dark"] .pub-header { border-bottom: 1px solid var(--pub-line); background: #121D33; }
html[data-theme="dark"] .pub-logo { color: var(--pub-ink) !important; }
html[data-theme="dark"] .pub-logo-mark { background: var(--pub-ink); color: #fff; }
html[data-theme="dark"] .pub-nav a { color: var(--pub-ink); }
html[data-theme="dark"] .pub-login { color: var(--pub-ink) !important; }
html[data-theme="dark"] .pub-footer { background: var(--pub-ink); color: #B7C2D6; }
html[data-theme="dark"] .pub-footer a { color: #B7C2D6; }
html[data-theme="dark"] .pub-footer a:hover { color: #fff; }
html[data-theme="dark"] .pub-footer-name { color: #fff; }
html[data-theme="dark"] .pub-footer-h { color: #fff; }
html[data-theme="dark"] .pub-badge-free { background: var(--pub-accent-s); color: var(--pub-accent-h); }
html[data-theme="dark"] .pub-badge-started { background: var(--pub-green-s); color: var(--pub-green); }
html[data-theme="dark"] .pub-chip { border: 1px solid #2C3B5A; background: #121D33; color: var(--pub-ink) !important; }
html[data-theme="dark"] .pub-chip.is-on { background: var(--pub-ink); border-color: var(--pub-ink); color: #fff !important; }
html[data-theme="dark"] .pub-crumbs,
html[data-theme="dark"] .pl-crumbs { color: var(--pub-muted); }
html[data-theme="dark"] .pub-hero-band { background: var(--pub-soft); border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .pub-levels a { color: var(--pub-muted) !important; border-bottom: 3px solid transparent; }
html[data-theme="dark"] .pub-levels a.is-on { color: var(--pub-ink) !important; border-bottom-color: var(--pub-accent); }
html[data-theme="dark"] .pub-track { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .pub-track:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .pub-track-name { color: var(--pub-ink); }
html[data-theme="dark"] .pub-track-meta { color: var(--pub-muted); }
html[data-theme="dark"] .pub-lesson-card { border: 1px solid var(--pub-line); color: var(--pub-ink) !important; }
html[data-theme="dark"] .pub-lesson-card:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .pub-lesson-num { background: var(--pub-soft); }
html[data-theme="dark"] .pub-lesson-desc { color: var(--pub-muted); }
html[data-theme="dark"] .pub-btn-outline { background: #121D33; color: var(--pub-ink) !important; border-color: var(--pub-ink); }
html[data-theme="dark"] .pub-btn-outline:hover { background: var(--pub-soft); }
html[data-theme="dark"] .pub-btn-light { background: #121D33; color: var(--pub-ink) !important; }
html[data-theme="dark"] .home-hero { background: var(--pub-soft); }
html[data-theme="dark"] .home-eyebrow { color: var(--pub-accent); }
html[data-theme="dark"] .home-contacts a { color: var(--pub-ink) !important; }
html[data-theme="dark"] .home-preview { background: #121D33; border: 1px solid var(--pub-line); box-shadow: 0 18px 40px rgba(0,0,0,0.144); }
html[data-theme="dark"] .home-preview-top { color: var(--pub-muted); }
html[data-theme="dark"] .home-preview-title { color: var(--pub-ink); }
html[data-theme="dark"] .home-preview-note { color: var(--pub-muted); }
html[data-theme="dark"] .home-preview-row > span { color: var(--pub-muted); }
html[data-theme="dark"] .home-preview-row b { border: 1.5px solid #2C3B5A; }
html[data-theme="dark"] .home-preview-row b.is-right { border-color: #2E7D4F; background: var(--pub-green-s); color: var(--pub-green); }
html[data-theme="dark"] .home-preview-row b.is-typing { border-color: var(--pub-accent); color: var(--pub-ink); }
html[data-theme="dark"] .home-preview-foot { border-top: 1px solid var(--pub-line); color: var(--pub-muted); }
html[data-theme="dark"] .home-preview-btn { background: var(--pub-ink); color: #fff; }
html[data-theme="dark"] .home-tick-cols { color: inherit; }
html[data-theme="dark"] .home-tick-cta { background: var(--pub-ink); color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,0.45); }
html[data-theme="dark"] .pub .home-tick-cta,
html[data-theme="dark"] .pub .home-tick-cta:hover { color: #fff; }
html[data-theme="dark"] .home-tick-cta:hover { background: var(--pub-accent); }
html[data-theme="dark"] .pub .home-tick-cols,
html[data-theme="dark"] .pub .home-tick-cols:hover { color: var(--pub-ink); }
html[data-theme="dark"] .ht-card { background: #121D33; border: 1px solid var(--pub-line); box-shadow: 0 10px 26px rgba(0,0,0,0.108); color: var(--pub-ink); }
html[data-theme="dark"] .ht-card:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .ht-c-it { background: #151E37; color: #819DEE; }
html[data-theme="dark"] .ht-c-doc { background: #16362F; color: #85EBE0; }
html[data-theme="dark"] .ht-c-log { background: #372F15; color: #F4CE7B; }
html[data-theme="dark"] .ht-c-sales { background: #372115; color: #F09B7F; }
html[data-theme="dark"] .ht-c-biz { background: #1C2330; color: var(--pub-ink); }
html[data-theme="dark"] .ht-c-day { background: #221537; color: #AD86E9; }
html[data-theme="dark"] .ht-c-des { background: #371529; color: #ED82AD; }
html[data-theme="dark"] .ht-task { color: var(--pub-muted); }
html[data-theme="dark"] .ht-opt { border: 1.5px solid #22304C; }
html[data-theme="dark"] .ht-opt.is-ok,
html[data-theme="dark"] .ht-ok,
html[data-theme="dark"] .ht-dd { border: 1.5px solid #2E7D4F; background: var(--pub-green-s); color: var(--pub-green); }
html[data-theme="dark"] .ht-e { border: 1.5px solid #2C3B5A; }
html[data-theme="dark"] .ht-ch { border: 1.5px solid #2C3B5A; background: var(--pub-soft); }
html[data-theme="dark"] .ht-h { color: var(--pub-muted); }
html[data-theme="dark"] .ht-dd::after { color: var(--pub-muted); }
html[data-theme="dark"] .ht-dd.ht-dd0 { border-color: #2C3B5A; background: #121D33; color: var(--pub-muted); }
html[data-theme="dark"] .ht-pics img { background: var(--pub-soft); }
html[data-theme="dark"] .ht-cap-ok { color: var(--pub-green); background: var(--pub-green-s); border: 1.5px solid #2E7D4F; }
html[data-theme="dark"] .ht-cap-hide { color: var(--pub-muted); border: 1.5px dashed #2C3B5A; }
html[data-theme="dark"] .ht-meta { color: var(--pub-muted); border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .ht-free { color: var(--pub-green); }
html[data-theme="dark"] .home-track { border: 1px solid var(--pub-line); color: var(--pub-body) !important; }
html[data-theme="dark"] .home-track-ico { color: var(--pub-ink); }
html[data-theme="dark"] .home-track-meta { color: var(--pub-muted); }
html[data-theme="dark"] .home-track.is-live { border: 1.5px solid var(--pub-accent); }
html[data-theme="dark"] .home-track.is-live .home-track-meta { color: var(--pub-accent); }
html[data-theme="dark"] .home-track.is-live:hover { background: var(--pub-accent-s); }
html[data-theme="dark"] .home-dark { background: var(--pub-ink); color: #D5DCE8; }
html[data-theme="dark"] .home-dark h2,
html[data-theme="dark"] .home-dark h3 { color: #fff; }
html[data-theme="dark"] .home-step-n { color: var(--pub-amber); }
html[data-theme="dark"] .home-soon { background: var(--pub-amber-s); color: #F4D37B; }
html[data-theme="dark"] .home-levels > div { background: var(--pub-soft); }
html[data-theme="dark"] .home-levels span { color: var(--pub-accent); }
html[data-theme="dark"] .home-levels b { color: var(--pub-ink); }
html[data-theme="dark"] .home-price { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .home-price-name { color: var(--pub-muted); }
html[data-theme="dark"] .home-price-sum { color: var(--pub-ink); }
html[data-theme="dark"] .home-price-sum small { color: var(--pub-muted); }
html[data-theme="dark"] .home-price.is-accent { border: 2px solid var(--pub-accent); }
html[data-theme="dark"] .home-price.is-accent .home-price-name { color: var(--pub-accent); }
html[data-theme="dark"] .home-price.is-dark { background: var(--pub-ink); border-color: var(--pub-ink); color: #D5DCE8; }
html[data-theme="dark"] .home-price.is-dark .home-price-name { color: var(--pub-amber); }
html[data-theme="dark"] .home-price.is-dark .home-price-sum { color: #fff; }
html[data-theme="dark"] .home-book { background: var(--pub-soft); border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .pp-photo img { box-shadow: 0 18px 40px rgba(0,0,0,0.216); }
html[data-theme="dark"] .pp-points { color: var(--pub-ink); }
html[data-theme="dark"] .pp-points svg { color: #97D9B2; }
html[data-theme="dark"] .pp-card { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .pp-tick { background: var(--pub-accent-s); color: var(--pub-accent); }
html[data-theme="dark"] .pp-price { border: 2px solid var(--pub-accent); }
html[data-theme="dark"] .pp-teacher { background: var(--pub-soft); }
html[data-theme="dark"] .pp-faq details { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .pp-faq summary { color: var(--pub-ink); }
html[data-theme="dark"] .pp-faq summary::before { border-left: 7px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
html[data-theme="dark"] .home-dark .home-dark-link { color: #fff !important; }
html[data-theme="dark"] .pp-credit { color: #A9B1BF; }
html[data-theme="dark"] .pub .pp-credit a { color: #A9B1BF; }
html[data-theme="dark"] .cp-stats { color: var(--pub-muted); }
html[data-theme="dark"] .cp-stats b { color: var(--pub-ink); }
html[data-theme="dark"] .cp-tier b { color: var(--pub-ink); }
html[data-theme="dark"] .cp-tier span { color: var(--pub-muted); }
html[data-theme="dark"] .cp-dot-free { background: #2E9E5B; }
html[data-theme="dark"] .cp-dot-account { background: var(--pub-accent); }
html[data-theme="dark"] .cp-dot-sub { background: var(--pub-amber); }
html[data-theme="dark"] .cp-eyebrow { color: var(--pub-accent); }
html[data-theme="dark"] .cp-lesson { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .cp-num { color: var(--pub-muted); }
html[data-theme="dark"] .cp-num b { color: var(--pub-ink); }
html[data-theme="dark"] .cp-main h3 a { color: var(--pub-ink) !important; }
html[data-theme="dark"] .cp-main h3 a:hover { color: var(--pub-accent) !important; }
html[data-theme="dark"] .cp-pill-new { background: var(--pub-accent-s); color: var(--pub-accent-h); }
html[data-theme="dark"] .cp-pill-review { background: var(--pub-amber-s); color: #F4D37B; }
html[data-theme="dark"] .cp-pill-none { background: var(--pub-soft); color: var(--pub-muted); }
html[data-theme="dark"] .cp-words summary { color: var(--pub-muted); }
html[data-theme="dark"] .cp-words summary:hover { color: var(--pub-ink); }
html[data-theme="dark"] .cp-words p span { border: 1px solid var(--pub-line); color: var(--pub-ink); }
html[data-theme="dark"] .cp-unlock { background: #121D33; border-color: #2C3B5A; color: var(--pub-ink) !important; }
html[data-theme="dark"] .cp-unlock:hover { border-color: var(--pub-ink); }
html[data-theme="dark"] .cp-unlock-account svg { color: var(--pub-accent); }
html[data-theme="dark"] .cp-unlock-sub svg { color: #F4D37B; }
html[data-theme="dark"] .cp-soon { color: var(--pub-muted); background: var(--pub-soft); }
html[data-theme="dark"] .cp-free .cp-num b { color: #90DFB0; }
html[data-theme="dark"] .pub-lead-note { color: #E8EEFF; background: rgba(18,29,51,0.08); }
html[data-theme="dark"] .pub-lead { background: var(--pub-ink); color: #D5DCE8; }
html[data-theme="dark"] .pub-lead h2 { color: #fff; }
html[data-theme="dark"] .pub-lead label { color: #fff; }
html[data-theme="dark"] .pub-lead input:not([type="checkbox"]) { border: 0; color: var(--pub-ink); background: #121D33; }
html[data-theme="dark"] .pub-lead .pub-consent { color: #D5DCE8; }
html[data-theme="dark"] .pub-lead-msg.is-err { color: #FFD8D8; }
html[data-theme="dark"] .pub-lead-msg.is-ok { color: #CFE9D9; }
html[data-theme="dark"] .pub-lead-alt a { border: 1px solid #4A5E80; color: #fff !important; }
html[data-theme="dark"] .pub-lead-alt a:hover { border-color: #22304C; }
html[data-theme="dark"] .pl-left { border-right: 1px solid var(--pub-line); }
html[data-theme="dark"] .pl-right { border-left: 1px solid var(--pub-line); }
html[data-theme="dark"] .pl-progress-row { color: var(--pub-muted); }
html[data-theme="dark"] .pl-bar { background: var(--pub-line); }
html[data-theme="dark"] .pl-bar-fill { background: var(--pub-accent); }
html[data-theme="dark"] .pl-page { color: var(--pub-ink) !important; }
html[data-theme="dark"] .pl-page:hover { background: var(--pub-soft); }
html[data-theme="dark"] .pl-page-num { background: var(--pub-line); color: var(--pub-body); }
html[data-theme="dark"] .pl-page.is-done .pl-page-num { background: var(--pub-green-s); color: var(--pub-green); }
html[data-theme="dark"] .pl-page.is-current { background: var(--pub-accent-s); }
html[data-theme="dark"] .pl-page.is-current .pl-page-num { background: var(--pub-accent); color: #fff; }
html[data-theme="dark"] .pl-eyebrow { color: var(--pub-accent); }
html[data-theme="dark"] .pl-empty { color: var(--pub-muted); }
html[data-theme="dark"] .pl-pager { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .pl-finished { color: var(--pub-muted); }
html[data-theme="dark"] .pl-tr-btn { color: var(--pub-accent); background: var(--pub-accent-s); border: 0; }
html[data-theme="dark"] .pub-lesson .ex-text-block.ex-text-sources { color: #A9B1BF; }
html[data-theme="dark"] .pub-lesson .ex-text-sources a { color: #A9B1BF !important; text-decoration-color: rgba(169,177,191,.4); }
html[data-theme="dark"] .pub-lesson .ex-text-sources a:hover { color: var(--pub-muted) !important; }
html[data-theme="dark"] .pub-lesson .exercise-wrap:has(> .exercise-item:only-of-type > .ex-text-sources) { background: transparent; border: 0; box-shadow: none; }
html[data-theme="dark"] .pub-lesson .exercise-item + .exercise-item:has(> .ex-text-sources),
html[data-theme="dark"] .pub-lesson .exercise-item + .exercise-item:has(.ex-text-sources:only-child) { border-top: 0; }
html[data-theme="dark"] .cta-banner { background: var(--pub-ink); color: #D5DCE8; }
html[data-theme="dark"] .cta-banner .cta-title { color: #fff; }
html[data-theme="dark"] .cta-banner .cta-btn { background: var(--pub-amber); color: var(--pub-ink) !important; }
html[data-theme="dark"] .cta-banner .cta-btn:hover { background: #E0A800; }
html[data-theme="dark"] .cta-writing { background: var(--pub-accent); color: #E8EEFF; }
html[data-theme="dark"] .cta-writing .cta-btn { background: #121D33; }
html[data-theme="dark"] .cta-writing .cta-btn:hover { background: var(--pub-accent-s); }
html[data-theme="dark"] .pl-dict { background: var(--pub-soft); }
html[data-theme="dark"] .pl-dict-hint { color: var(--pub-muted); }
html[data-theme="dark"] .pl-sheet-close { border: 0; background: transparent; color: var(--pub-ink); }
html[data-theme="dark"] .pl-dict-label input { border: 1px solid #2C3B5A; background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .pl-dict-result { background: #121D33; }
html[data-theme="dark"] .pl-dict-tip { color: var(--pub-muted); }
html[data-theme="dark"] .pl-dict-word { color: var(--pub-ink); }
html[data-theme="dark"] .pl-dict-pos { color: var(--pub-muted); }
html[data-theme="dark"] .pl-dict-ex { color: var(--pub-muted); }
html[data-theme="dark"] .pl-dict-tr b { color: var(--pub-ink); }
html[data-theme="dark"] .pl-about { background: var(--pub-soft); border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .pl-next a { color: var(--pub-ink) !important; }
html[data-theme="dark"] .pl-next a span { background: #121D33; }
@media (max-width: 900px) {
  html[data-theme="dark"] .pl-left,
html[data-theme="dark"] .pl-right { border: 0; }
  html[data-theme="dark"] .pl-page { border: 1px solid var(--pub-line); }
  html[data-theme="dark"] .pl-page.is-current { border-color: var(--pub-accent); }
  html[data-theme="dark"] .pl-dict { box-shadow: 0 -12px 30px rgba(0,0,0,0.45); background: #121D33; }
  html[data-theme="dark"] body[data-sheet="dict"]::after { background: rgba(11,31,58,0.45); }
  html[data-theme="dark"] .pl-dict-result { background: var(--pub-soft); }
  html[data-theme="dark"] .pl-mbar { background: #121D33; border-top: 1px solid var(--pub-line); box-shadow: 0 -6px 20px rgba(0,0,0,0.144); }
  html[data-theme="dark"] .pl-mbar > * { border: 0; background: transparent; color: var(--pub-ink) !important; }
  html[data-theme="dark"] .pl-mbar .pl-mbar-book { background: var(--pub-accent); color: #fff !important; }
}
html[data-theme="dark"] .cs-sbtn { border: 1.5px solid transparent; color: var(--pub-body) !important; }
html[data-theme="dark"] .cs-sbtn:hover { background: var(--pub-soft); }
html[data-theme="dark"] .cs-sbtn.is-on { background: #121D33; border-color: var(--pub-accent); box-shadow: 0 8px 22px rgba(0,0,0,0.216); }
html[data-theme="dark"] .cs-sbtn b { color: var(--pub-ink); }
html[data-theme="dark"] .cs-sbtn small { color: var(--pub-muted); }
html[data-theme="dark"] .cs-ico-it { background: #151E37; color: #819DEE; }
html[data-theme="dark"] .cs-ico-biz { background: #1C2330; color: var(--pub-ink); }
html[data-theme="dark"] .cs-ico-sales { background: #372115; color: #F09B7F; }
html[data-theme="dark"] .cs-ico-doc { background: #16362F; color: #85EBE0; }
html[data-theme="dark"] .cs-ico-log { background: #372F15; color: #F4CE7B; }
html[data-theme="dark"] .cs-ico-day { background: #221537; color: #AD86E9; }
html[data-theme="dark"] .cs-ico-des { background: #371529; color: #ED82AD; }
html[data-theme="dark"] .cs-eyebrow { color: var(--pub-accent); }
html[data-theme="dark"] .cs-seg { background: var(--pub-soft); }
html[data-theme="dark"] .cs-segb { color: var(--pub-body) !important; }
html[data-theme="dark"] .cs-segb small { color: var(--pub-muted); }
html[data-theme="dark"] .cs-segb:hover { background: rgba(18,29,51,0.6); }
html[data-theme="dark"] .cs-segb.is-on { background: #121D33; color: var(--pub-ink) !important; box-shadow: 0 2px 8px rgba(0,0,0,0.18); }
html[data-theme="dark"] .cs-start { box-shadow: 0 10px 24px rgba(0,0,0,0.45); }
html[data-theme="dark"] .cs-box { background: #1D2630; border: 1px solid var(--pub-line); }
html[data-theme="dark"] .pub .cs-lbl { color: var(--pub-muted); }
html[data-theme="dark"] .cs-cefr { color: var(--pub-muted); }
html[data-theme="dark"] .cs-checks svg { color: var(--pub-green); }
html[data-theme="dark"] .pub .cs-car .ht-card { color: var(--pub-ink); }
html[data-theme="dark"] .cs-unit { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .cs-unit-h b { color: var(--pub-ink); }
html[data-theme="dark"] .cs-un { background: var(--pub-accent-s); color: var(--pub-accent-h); }
html[data-theme="dark"] .cs-ln { color: var(--pub-muted); }
html[data-theme="dark"] .cs-free { color: var(--pub-green); background: var(--pub-green-s); }
html[data-theme="dark"] .cs-others { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .cp-gate b { color: var(--pub-ink); }
html[data-theme="dark"] .cp-gate-account { background: var(--pub-accent-s); color: var(--pub-accent-h); }
html[data-theme="dark"] .cp-gate-sub { background: var(--pub-amber-s); color: #F4CE7B; }
html[data-theme="dark"] .home-track.home-track-ask { border: 1.5px dashed #2E3E6B; background: #121D33; }
html[data-theme="dark"] .home-track.home-track-ask .home-track-ico { color: var(--pub-accent); }
html[data-theme="dark"] .home-track.home-track-ask .home-track-meta { color: var(--pub-accent); }
html[data-theme="dark"] .home-track.home-track-ask:hover { border-color: var(--pub-accent); background: var(--pub-accent-s); }
html[data-theme="dark"] .home-free { color: #F4D37B; }
html[data-theme="dark"] .acc-overlay { background: rgba(19,37,74,0.55); }
html[data-theme="dark"] .acc-box { background: #121D33; box-shadow: 0 24px 60px rgba(0,0,0,0.54); }
html[data-theme="dark"] .acc-x { border: 0; background: none; color: var(--pub-muted); }
html[data-theme="dark"] .acc-x:hover { background: var(--pub-soft); color: var(--pub-ink); }
html[data-theme="dark"] .acc-body label { color: var(--pub-ink); }
html[data-theme="dark"] .acc-body input:not([type="checkbox"]) { border: 1.5px solid #2C3B5A; color: var(--pub-ink); background: #121D33; }
html[data-theme="dark"] .acc-body input:focus { border-color: var(--pub-accent); outline: none; box-shadow: 0 0 0 3px var(--pub-accent-s); }
html[data-theme="dark"] .acc-msg.is-err { color: #EE8981; }
html[data-theme="dark"] .acc-msg.is-ok { color: var(--pub-green); }
html[data-theme="dark"] .acc-small { color: var(--pub-muted); }
html[data-theme="dark"] .acc-switch { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .acct-small { color: var(--pub-muted); }
html[data-theme="dark"] .acct-welcome,
html[data-theme="dark"] .acct-ok { color: var(--pub-green); }
html[data-theme="dark"] .acct-welcome { background: var(--pub-green-s); }
html[data-theme="dark"] .acct-card { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .acct-form label { color: var(--pub-ink); }
html[data-theme="dark"] .acct-form input { border: 1.5px solid #2C3B5A; }
html[data-theme="dark"] .acct-msg.is-err { color: #EE8981; }
html[data-theme="dark"] .acct-msg.is-ok { color: var(--pub-green); }
html[data-theme="dark"] .acct-sub { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .acct-sub b { color: var(--pub-ink); }
html[data-theme="dark"] .acct-warn { color: #EE8981; }
html[data-theme="dark"] .acc-busy { border: 3px solid var(--pub-accent-s); border-top-color: var(--pub-accent); }
html[data-theme="dark"] .legal-date { color: var(--pub-muted); }
html[data-theme="dark"] .legal-links { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .home-price.is-dark .price-list { color: #D5DCE8; }
html[data-theme="dark"] .price-faq details { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .price-faq summary { color: var(--pub-ink); }
html[data-theme="dark"] .pub-footer-op { color: #8F9BB3; }
html[data-theme="dark"] .acc-qr img { border: 1px solid var(--pub-line); background: #121D33; }
html[data-theme="dark"] .acc-ref { color: var(--pub-ink); }
html[data-theme="dark"] .acc-copy { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .acct-link { color: var(--pub-accent); background: none; border: 0; }
html[data-theme="dark"] .pub-langs a { color: var(--pub-muted) !important; }
html[data-theme="dark"] .pub-langs a:hover { color: var(--pub-ink) !important; background: var(--pub-soft); }
html[data-theme="dark"] .pub-langs a[aria-current] { color: var(--pub-ink) !important; background: var(--pub-soft); }
html[data-theme="dark"] .lp-stat { background: #121D33; border: 1px solid var(--pub-line); box-shadow: 0 12px 30px rgba(0,0,0,0.108); }
html[data-theme="dark"] .lp-stat-n { color: var(--pub-ink); }
html[data-theme="dark"] .lp-stat:first-child .lp-stat-n { color: #F4D37B; }
html[data-theme="dark"] .lp-stat-l { color: var(--pub-muted); }
html[data-theme="dark"] .lp-free-band { background: var(--pub-soft); border-top: 1px solid var(--pub-line); border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .lp-free .home-track { background: #121D33; }
html[data-theme="dark"] .lp-price-list { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .lp-price-list li { border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .lp-pl-name { color: var(--pub-ink); }
html[data-theme="dark"] .lp-pl-sum { color: var(--pub-ink); }
html[data-theme="dark"] .lp-pl-note { color: var(--pub-muted); }
html[data-theme="dark"] .pl-links { background: #121D33; border: 1px solid var(--pub-line); border-left: 4px solid var(--pub-amber); }
html[data-theme="dark"] .pl-links-more { color: var(--pub-muted); }
html[data-theme="dark"] .pl-note-text { color: var(--pub-muted); }
html[data-theme="dark"] .pl-note-text strong { color: var(--pub-ink); }
html[data-theme="dark"] .pl-loc button { color: var(--pub-muted); background: none; border: 1px solid var(--pub-line); }
html[data-theme="dark"] body[data-loc="ro"] .pl-loc [data-set-loc="ro"],
html[data-theme="dark"] body[data-loc="ru"] .pl-loc [data-set-loc="ru"] { background: var(--pub-ink); border-color: var(--pub-ink); color: #fff; }
html[data-theme="dark"] .cs-lazy-err { color: var(--pub-muted); }
html[data-theme="dark"] .gr-meta { color: var(--pub-muted); }
html[data-theme="dark"] .gr-ex li { background: var(--pub-soft); border-left: 3px solid var(--pub-accent); }
html[data-theme="dark"] .gr-en { color: var(--pub-ink); }
html[data-theme="dark"] .gr-tr { color: var(--pub-muted); }
html[data-theme="dark"] .gr-lessons a { border: 1px solid var(--pub-line); color: var(--pub-body) !important; }
html[data-theme="dark"] .gr-lessons a:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .gr-lessons b { color: var(--pub-ink); }
html[data-theme="dark"] .gr-lessons small { color: var(--pub-muted); }
html[data-theme="dark"] .gr-list a { color: var(--pub-body) !important; }
html[data-theme="dark"] .gr-list b { color: var(--pub-ink); }
html[data-theme="dark"] .gr-list span { color: var(--pub-muted); }
html[data-theme="dark"] .gr-byline { color: var(--pub-muted); }
@media (max-width: 900px) {
  html[data-theme="dark"] .gr-cta-m { background: var(--pub-soft); border: 1px solid var(--pub-line); }
  html[data-theme="dark"] .gr-cta-m b { color: var(--pub-ink); }
}
html[data-theme="dark"] .cp-about { background: var(--pub-soft); border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .cs-freen { color: #F4D37B; }
html[data-theme="dark"] .lp-price-part:first-of-type { background: var(--pub-accent-s); }
html[data-theme="dark"] .lp-price-part-solo { background: var(--pub-soft); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .lp-teacher-h { color: var(--pub-ink); border-top: 1px solid rgba(31, 79, 216, .18); }
html[data-theme="dark"] .lp-hero-side .lp-stat { box-shadow: 0 8px 20px rgba(0,0,0,0.09); }
html[data-theme="dark"] .lp-intro-lead { color: var(--pub-ink); }
@media (max-width: 1100px) {
  html[data-theme="dark"] .pub-burger { border: 1px solid var(--pub-line); background: #121D33; }
  html[data-theme="dark"] .pub-burger span { background: var(--pub-ink); }
  html[data-theme="dark"] .pub-header.is-menu .pub-nav { background: #121D33; border-bottom: 1px solid var(--pub-line); box-shadow: 0 16px 30px rgba(0,0,0,0.216); }
  html[data-theme="dark"] .pub-header.is-menu .pub-nav a { border-bottom: 1px solid var(--pub-line); }
  html[data-theme="dark"] .pub-header.is-menu .pub-nav a.pub-nav-cta { border: 0; background: var(--pub-accent); color: #fff !important; }
}
html[data-theme="dark"] .gr-list li > a { border: 1px solid var(--pub-line); background: #121D33; }
html[data-theme="dark"] .gr-list li > a::before { background: var(--pub-soft); color: var(--pub-ink); }
html[data-theme="dark"] .gr-list li > a:hover { border-color: var(--pub-accent); box-shadow: 0 8px 20px rgba(0,0,0,0.18); }
html[data-theme="dark"] .gr-study { background: var(--pub-accent); color: #fff; }
html[data-theme="dark"] .gr-list li > a:hover .gr-study { background: var(--pub-accent-h); }
html[data-theme="dark"] .gr-list span.gr-study { color: #fff; }
html[data-theme="dark"] .pub-new { background: var(--pub-amber-s); color: #F4D37B; }
html[data-theme="dark"] .wg-tile { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-body); }
html[data-theme="dark"] .wg-tile:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .wg-tile.is-on { border-color: var(--pub-accent); box-shadow: 0 0 0 2px var(--pub-accent); background: #151E37; }
html[data-theme="dark"] .wg-tile-pic { background: var(--pub-soft); }
html[data-theme="dark"] .wg-tile-text b { color: var(--pub-ink); }
html[data-theme="dark"] .wg-tile-text small { color: var(--pub-muted); }
html[data-theme="dark"] .tp-built { border-bottom: 2px solid var(--pub-line); }
html[data-theme="dark"] .tp-chip { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .tp-line { color: var(--pub-ink); }
html[data-theme="dark"] .tp-gap { border-bottom: 2px dashed #9AA8C0; background: var(--pub-accent-s); }
html[data-theme="dark"] .tp-gap.is-ok { background: #153721; color: #8DE2B1; border-bottom: 2px solid #1F7A45; }
html[data-theme="dark"] .tp-tile { background: #121D33; border: 1px solid #354664; color: var(--pub-ink); }
html[data-theme="dark"] .tp-tile.is-on { background: var(--pub-accent-s); border-color: #2E3E6B; }
html[data-theme="dark"] .tp-card { background: #121D33; border: 1px solid #354664; color: var(--pub-ink); }
html[data-theme="dark"] .tp-card.is-ok { background: #153721; border-color: #1F7A45; color: #8DE2B1; }
html[data-theme="dark"] .tp-card.is-sel { background: var(--pub-accent); border-color: var(--pub-accent-h); color: #fff; }
html[data-theme="dark"] .tp-bar { background: #2C3B5A; }
html[data-theme="dark"] .tp-bar i { background: var(--pub-accent); }
html[data-theme="dark"] .tp-word { color: var(--pub-ink); }
html[data-theme="dark"] .tp-grid i { color: #fff; }
html[data-theme="dark"] .tp-grid .tp-g { background: var(--gw-g); }
html[data-theme="dark"] .tp-grid .tp-y { background: var(--gw-y); }
html[data-theme="dark"] .tp-grid .tp-x { background: var(--gw-x); }
html[data-theme="dark"] .tp-grid .tp-e { border: 2px solid #22304C; }
html[data-theme="dark"] .wg-panel { border: 2px solid var(--pub-accent); background: #121D33; }
html[data-theme="dark"] .wg-panel-head span { color: var(--pub-muted); }
html[data-theme="dark"] .wg-panel-label { color: var(--pub-muted); }
html[data-theme="dark"] .wg-chip { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .wg-chip:hover:not(:disabled) { border-color: var(--pub-accent); }
html[data-theme="dark"] .wg-chip[aria-pressed="true"] { background: var(--pub-accent-s); color: var(--pub-accent); border-color: var(--pub-accent); }
html[data-theme="dark"] .wg-chip small { color: var(--pub-muted); }
html[data-theme="dark"] .wg-chip.is-mine { color: #F4D47B; }
@media (max-width: 720px) {
  html[data-theme="dark"] .wg-tile.is-on { box-shadow: 0 0 0 1px var(--pub-accent); }
  html[data-theme="dark"] .wg-tile-mark { background: var(--pub-accent-s); color: var(--pub-accent); }
  html[data-theme="dark"] .wg-tile-mark-guess { background: var(--gw-g); color: #fff; }
  html[data-theme="dark"] .wg-tile-mark-hunt { background: #F7C948; color: #F4D27B; }
  html[data-theme="dark"] .wg-tile-mark-box { background: #563225; color: #E7A888; }
  html[data-theme="dark"] .wg-tile-mark-hot { background: #D95B4B; color: #fff; }
  html[data-theme="dark"] .wg-tile-mark-links { background: var(--gw-g); color: #fff; }
  html[data-theme="dark"] .wg-tile-mark-phrase { background: #7A4FD0; color: #fff; }
  html[data-theme="dark"] .wg-tile-mark-pairs,
html[data-theme="dark"] .wg-tile-mark-choice { background: var(--pub-amber-s); color: #F4D37B; }
  html[data-theme="dark"] .wg-tile-mark.has-icon { background: #162336; }
  html[data-theme="dark"] .wg-tile-chev { color: #9AA8C0; }
}
html[data-theme="dark"] .wg-level { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-ink) !important; }
html[data-theme="dark"] .wg-level small { color: var(--pub-muted); }
html[data-theme="dark"] .wg-level[aria-pressed="true"] { background: var(--pub-ink); color: #fff !important; border-color: var(--pub-ink); }
html[data-theme="dark"] .wg-level[aria-pressed="true"] small { color: #B7C2D6; }
html[data-theme="dark"] .wg-go { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .wg-go-btn { background: var(--pub-amber); color: var(--pub-ink) !important; }
html[data-theme="dark"] .wg-go p { color: var(--pub-muted); }
html[data-theme="dark"] .wg-go p b { color: var(--pub-ink); }
html[data-theme="dark"] .wg-bar { background: var(--pub-soft); border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .wg-hint { color: var(--pub-muted); }
html[data-theme="dark"] .wg-hint b { color: var(--pub-ink); }
html[data-theme="dark"] .wg-crumb { color: var(--pub-muted); }
html[data-theme="dark"] .wg-meter { color: var(--pub-ink); }
html[data-theme="dark"] .wg-score .r { color: #8DE2B1; }
html[data-theme="dark"] .wg-score .w { color: #E5918A; }
html[data-theme="dark"] .wg-meter-bar { background: #2C3B5A; }
html[data-theme="dark"] .wg-meter-bar i { background: var(--pub-accent); }
html[data-theme="dark"] .wg-wl { border-right: 2px solid #1F7A45; }
html[data-theme="dark"] .wg-wl h2 small { color: var(--pub-muted); }
html[data-theme="dark"] .wg-word { border: 1px solid transparent; background: none; color: var(--pub-ink); }
html[data-theme="dark"] .wg-word:hover { background: var(--pub-soft); border-color: var(--pub-line); }
html[data-theme="dark"] .wg-word.sel { background: var(--pub-accent); color: #fff; }
html[data-theme="dark"] .wg-sentences li { color: var(--pub-ink); }
html[data-theme="dark"] .wg-sentences li::before { color: var(--pub-muted); }
html[data-theme="dark"] .wg-sentences li:nth-child(odd) { background: #1D2630; }
html[data-theme="dark"] .wg-slot { border: 0; border-bottom: 2px dashed #9AA8C0; background: var(--pub-accent-s); color: var(--pub-accent); }
html[data-theme="dark"] .wg-slot:empty::after { color: #9AA8C0; }
html[data-theme="dark"] .wg-slot.filled { border-color: var(--pub-accent); }
html[data-theme="dark"] .wg-slot.right { background: #153721; color: #8DE2B1; border-color: #1F7A45; }
html[data-theme="dark"] .wg-slot.wrong { background: #371915; color: #E5918A; border-color: #C2372B; }
html[data-theme="dark"] .wg-slot.shown { background: #1A2332; color: #8E9AB2; border-color: #A9B4C6; }
html[data-theme="dark"] [data-wg-game] [data-count] { color: var(--pub-ink); }
html[data-theme="dark"] .wg-result { background: #153721; color: #8DE2B1; }
html[data-theme="dark"] .wg-dict { background: #121D33; border: 1px solid var(--pub-line); box-shadow: 0 20px 44px rgba(0,0,0,0.324); }
html[data-theme="dark"] .wg-dict-w { color: var(--pub-ink); }
html[data-theme="dark"] .wg-dict-x { border: 0; background: none; color: var(--pub-muted); }
html[data-theme="dark"] .wg-dict-msg { color: var(--pub-muted); }
html[data-theme="dark"] .wg-dict-pos { color: var(--pub-muted); }
html[data-theme="dark"] .wg-dict-defs { color: var(--pub-ink); }
html[data-theme="dark"] .wg-dict-ex { color: var(--pub-muted); }
html[data-theme="dark"] .wg-dict-tr { border-top: 1px solid var(--pub-line); color: var(--pub-ink); }
html[data-theme="dark"] .wg-dict-tr span { color: var(--pub-accent); background: var(--pub-accent-s); }
html[data-theme="dark"] .wg-join { background: var(--pub-amber-s); border: 1px solid #6B5D2E; }
html[data-theme="dark"] .wg-join b { color: var(--pub-ink); }
html[data-theme="dark"] .wg-join p { color: var(--pub-body); }
html[data-theme="dark"] .wg-my-link { color: var(--pub-accent); }
html[data-theme="dark"] .wg-star { border: 0; background: none; color: #A9B4C6; }
html[data-theme="dark"] .wg-star:hover { background: var(--pub-soft); color: var(--pub-amber); }
html[data-theme="dark"] .wg-star.on { color: var(--pub-amber); }
html[data-theme="dark"] .wg-prog { color: var(--pub-muted); }
html[data-theme="dark"] .wg-prog.is-learned { color: #8DE2B1; }
html[data-theme="dark"] .wg-plus { color: #8DE2B1; background: #153721; }
html[data-theme="dark"] .wg-saved-note { color: #8DE2B1; }
html[data-theme="dark"] .wg-dict-save.is-on { color: #F4D47B; }
html[data-theme="dark"] .mw-stats { color: var(--pub-muted); }
html[data-theme="dark"] .mw-stats b { color: var(--pub-ink); }
html[data-theme="dark"] .mw-lg b { color: #8DE2B1; }
html[data-theme="dark"] .mw-few,
html[data-theme="dark"] .mw-note { color: var(--pub-muted); }
html[data-theme="dark"] .mw-note { background: var(--pub-amber-s); color: var(--pub-body); }
html[data-theme="dark"] .mw-tabs { background: var(--pub-soft); }
html[data-theme="dark"] .mw-tabs button { border: 0; background: none; color: var(--pub-body); }
html[data-theme="dark"] .mw-tabs button[aria-pressed="true"] { background: #121D33; color: var(--pub-ink); box-shadow: 0 1px 3px rgba(0,0,0,0.216); }
html[data-theme="dark"] .mw-goal { color: var(--pub-body); }
html[data-theme="dark"] .mw-goal input { color: var(--pub-ink); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .mw-list { background: #121D33; border: 1px solid var(--pub-line); }
html[data-theme="dark"] .mw-list th { color: var(--pub-muted); border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .mw-list td { border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .mw-list tr:last-child td { border-bottom: 0; }
html[data-theme="dark"] .mw-term { color: var(--pub-ink); }
html[data-theme="dark"] .mw-term small { color: var(--pub-muted); }
html[data-theme="dark"] .mw-prog { color: var(--pub-ink); }
html[data-theme="dark"] .mw-bar { background: #2C3B5A; }
html[data-theme="dark"] .mw-bar i { background: var(--pub-accent); }
html[data-theme="dark"] .mw-pill { color: #8DE2B1; background: #255637; }
html[data-theme="dark"] .mw-list tr.is-learned td { background: #153721; }
html[data-theme="dark"] .mw-list tr.is-learned .mw-term { color: #8DE2B1; }
html[data-theme="dark"] .mw-list tr.is-learned .mw-bar i { background: #1F7A45; }
html[data-theme="dark"] .mw-from { color: var(--pub-muted); }
html[data-theme="dark"] .mw-acts [data-sure] { color: #E5918A; border-color: #C2372B; }
html[data-theme="dark"] .mw-acts .mw-learn { color: #8DE2B1; border-color: #306945; }
html[data-theme="dark"] .mw-acts .mw-learn:hover { background: #153721; }
html[data-theme="dark"] .mw-empty { background: #121D33; border: 1px dashed var(--pub-line); }
@media (max-width: 720px) {
  html[data-theme="dark"] .mw-list tr { border-bottom: 1px solid var(--pub-line); }
  html[data-theme="dark"] .mw-list tr:last-child { border-bottom: 0; }
  html[data-theme="dark"] .mw-list td { border: 0; }
  html[data-theme="dark"] .mw-list tr.is-learned,
html[data-theme="dark"] .mw-list tr.is-learned td { background: #153721; }
}
@media (max-width: 860px) {
  html[data-theme="dark"] .wg-wl { background: #121D33; border-right: 0; border-bottom: 2px solid #1F7A45; }
  html[data-theme="dark"] .wg-word { border-color: var(--pub-line); }
}
html[data-theme="dark"] .wg-games a,
html[data-theme="dark"] .wg-games span { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .wg-games a:hover { border-color: var(--pub-accent); color: var(--pub-accent); }
html[data-theme="dark"] .wg-games span[aria-current] { background: var(--pub-ink); border-color: var(--pub-ink); color: #fff; }
html[data-theme="dark"] .wg-mine-more { color: var(--pub-muted); }
html[data-theme="dark"] .wg-mine-more a,
html[data-theme="dark"] .mw-more a { color: var(--pub-accent); }
html[data-theme="dark"] .wg2-extra { color: var(--pub-ink); }
html[data-theme="dark"] .wg2-msg { color: var(--pub-muted); }
html[data-theme="dark"] .wg2-msg.is-ok { color: #8DE2B1; }
html[data-theme="dark"] .wg2-msg.is-bad { color: #E5918A; }
html[data-theme="dark"] .wg2-msg.is-shown { color: #8E9AB2; }
html[data-theme="dark"] .wg2-msg.is-up { color: #F4D47B; }
html[data-theme="dark"] .wg2-seg { border: 1px solid var(--pub-line); background: #121D33; }
html[data-theme="dark"] .wg2-seg button { border: 0; background: none; color: var(--pub-body); }
html[data-theme="dark"] .wg2-seg button + button { border-left: 1px solid var(--pub-line); }
html[data-theme="dark"] .wg2-seg button[aria-pressed="true"] { background: var(--pub-ink); color: #fff; }
html[data-theme="dark"] .wg2-best { color: var(--pub-muted); }
html[data-theme="dark"] .wg2-dots i { background: #2C3B5A; }
html[data-theme="dark"] .wg2-dots i.is-now { background: var(--pub-accent); }
html[data-theme="dark"] .wg2-dots i.is-ok { background: #1F7A45; }
html[data-theme="dark"] .wg2-dots i.is-shown { background: #A9B4C6; }
html[data-theme="dark"] .sb-key { color: var(--pub-muted); }
html[data-theme="dark"] .sb-key b { color: var(--pub-ink); }
html[data-theme="dark"] .sb-line { border-bottom: 2px solid var(--pub-line); }
html[data-theme="dark"] .sb-line:empty::before { color: #9AA8C0; }
html[data-theme="dark"] .wg2-tile { border: 1px solid #354664; background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .wg2-tile:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .sb-line .wg2-tile { background: var(--pub-accent-s); border-color: #2E3E6B; }
html[data-theme="dark"] .sb-line .wg2-tile.is-bad { background: #371915; border-color: #C2372B; color: #E5918A; }
html[data-theme="dark"] .sb-line .wg2-tile.is-good { background: #153721; border-color: #1F7A45; color: #8DE2B1; }
html[data-theme="dark"] .sb-line .wg2-tile.is-shown { background: #1A2332; border-color: #A9B4C6; color: #8E9AB2; }
html[data-theme="dark"] .mp-card { border: 1px solid #354664; background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .mp-board.is-def [data-right] .mp-card { color: var(--pub-body); }
html[data-theme="dark"] .mp-card:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .mp-card.is-sel { background: var(--pub-accent); border-color: var(--pub-accent-h); color: #fff !important; }
html[data-theme="dark"] .mp-card.is-bad { background: #371915; border-color: #C2372B; color: #E5918A !important; }
html[data-theme="dark"] .mp-card.is-done { background: #153721; border-color: #1F7A45; color: #8DE2B1 !important; }
html[data-theme="dark"] .qc-bar { background: #2C3B5A; }
html[data-theme="dark"] .qc-bar i { background: var(--pub-accent); }
html[data-theme="dark"] .qc-bar.is-low i { background: #C2372B; }
html[data-theme="dark"] .qc-big { color: var(--pub-ink); }
html[data-theme="dark"] .qc-intro .wg-go-btn { border: 0; }
html[data-theme="dark"] .qc-chip { color: var(--pub-accent); background: var(--pub-accent-s); }
html[data-theme="dark"] .qc-chip.is-up { background: var(--pub-amber-s); color: #F4D37B; }
html[data-theme="dark"] .qc-streak i { background: #2C3B5A; }
html[data-theme="dark"] .qc-streak i.is-on { background: var(--pub-amber); }
html[data-theme="dark"] .qc-word { color: var(--pub-ink); }
html[data-theme="dark"] .qc-opt { border: 1px solid #354664; background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .qc-opt kbd { color: var(--pub-muted); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .qc-opt:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .qc-opt.is-ok { background: #153721; border-color: #1F7A45; color: #8DE2B1; }
html[data-theme="dark"] .qc-opt.is-bad { background: #371915; border-color: #C2372B; color: #E5918A; }
html[data-theme="dark"] .wg2-fin { background: var(--pub-soft); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .wg2-nums { color: var(--pub-muted); }
html[data-theme="dark"] .wg2-nums b { color: var(--pub-ink); }
html[data-theme="dark"] .wg2-sub { color: var(--pub-muted); }
html[data-theme="dark"] .wg2-list li { color: var(--pub-ink); }
html[data-theme="dark"] .wg2-list li > .ok { color: #8DE2B1; }
html[data-theme="dark"] .wg2-list li > .x { color: #E5918A; }
html[data-theme="dark"] .wg2-list em { color: var(--pub-muted); }
html[data-theme="dark"] .wg2-saved { color: #8DE2B1; }
html[data-theme="dark"] .wg2-link { color: var(--pub-accent); }
html[data-theme="dark"] .gw-mini { background: var(--gw-x); color: #fff; }
html[data-theme="dark"] .gw-mini.is-g { background: var(--gw-g); }
html[data-theme="dark"] .gw-mini.is-y { background: var(--gw-y); }
html[data-theme="dark"] .gw-head { background: var(--pub-soft); border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .gw-sub b:nth-of-type(1) { color: var(--gw-g); }
html[data-theme="dark"] .gw-sub b:nth-of-type(2) { color: #F4D87B; }
html[data-theme="dark"] .gw-sub b:nth-of-type(3) { color: #8E9AB2; }
html[data-theme="dark"] .gw-num { color: var(--pub-muted); }
html[data-theme="dark"] .gw-hint-btn { border: 1px solid #6B5D2E; background: var(--pub-amber-s); color: #F4D37B; }
html[data-theme="dark"] .gw-hint-btn:hover { border-color: var(--pub-amber); }
html[data-theme="dark"] .gw-tile { border: 2px solid #22304C; background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .gw-tile.is-filled { border-color: #8E99AD; }
html[data-theme="dark"] .gw-tile.is-done { color: #fff; }
html[data-theme="dark"] .gw-tile.is-g { background: var(--gw-g); border-color: var(--gw-g); }
html[data-theme="dark"] .gw-tile.is-y { background: var(--gw-y); border-color: var(--gw-y); }
html[data-theme="dark"] .gw-tile.is-x { background: var(--gw-x); border-color: var(--gw-x); }
html[data-theme="dark"] .gw-msg { color: var(--pub-ink); }
html[data-theme="dark"] .gw-msg.is-bad { color: #E5918A; }
html[data-theme="dark"] .gw-msg.is-ok { color: #8DE2B1; }
html[data-theme="dark"] .gw-hint-line { background: var(--pub-amber-s); color: var(--pub-ink); }
html[data-theme="dark"] .gw-key { border: 0; background: #26324D; color: var(--pub-ink); }
html[data-theme="dark"] .gw-key.is-g { background: var(--gw-g); color: #fff; }
html[data-theme="dark"] .gw-key.is-y { background: var(--gw-y); color: #fff; }
html[data-theme="dark"] .gw-key.is-x { background: var(--gw-x); color: #fff; }
html[data-theme="dark"] .gw-fin { background: var(--pub-soft); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .gw-card { background: #121D33; border: 1px solid var(--pub-line); }
html[data-theme="dark"] .gw-tr p { color: var(--pub-ink); }
html[data-theme="dark"] .gw-lang { color: var(--pub-accent); background: var(--pub-accent-s); }
html[data-theme="dark"] .gw-def { color: var(--pub-body); }
html[data-theme="dark"] .gw-ex { color: var(--pub-muted); }
html[data-theme="dark"] .gw-join { color: var(--pub-accent); }
html[data-theme="dark"] .gw-stats b { color: var(--pub-ink); }
html[data-theme="dark"] .gw-stats span { color: var(--pub-muted); }
html[data-theme="dark"] .gw-dist-h b { color: var(--pub-ink); }
html[data-theme="dark"] .gw-dist-h span { color: var(--pub-muted); }
html[data-theme="dark"] .gw-dist-row { color: var(--pub-ink); }
html[data-theme="dark"] .gw-dist-row i { background: var(--gw-x); color: #fff; }
html[data-theme="dark"] .gw-dist-row i.is-now { background: var(--gw-g); }
html[data-theme="dark"] .gw-copied { color: #8DE2B1; }
html[data-theme="dark"] .gw-share-text { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .gw-how { background: var(--pub-soft); border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .wh-stat { color: var(--pub-muted); }
html[data-theme="dark"] .wh-clue { border: 1px solid var(--pub-line); }
html[data-theme="dark"] .wh-clue small { background: #152137; color: #85A3EA; }
html[data-theme="dark"] .wh-clue b { color: var(--pub-ink); }
html[data-theme="dark"] .wh-status { color: var(--pub-muted); }
html[data-theme="dark"] .wh-status b { color: var(--pub-ink); }
html[data-theme="dark"] .wh-current { color: var(--pub-ink); }
html[data-theme="dark"] .wh-current.is-msg { color: var(--pub-muted); }
html[data-theme="dark"] .wh-current.is-theme { color: var(--pub-accent); }
html[data-theme="dark"] .wh-current.is-span { color: #F4D27B; }
html[data-theme="dark"] .wh-current.is-ok { color: #8DE2B1; }
html[data-theme="dark"] .wh-cell { border: 0; background: transparent; color: var(--pub-ink); }
html[data-theme="dark"] .wh-cell:not(.is-found):hover { background: var(--pub-soft); }
html[data-theme="dark"] .wh-cell.is-sel,
html[data-theme="dark"] .wh-cell.is-sel:hover { background: #2B384F; }
html[data-theme="dark"] .wh-cell.is-hint { box-shadow: inset 0 0 0 2px var(--pub-accent); }
html[data-theme="dark"] .wh-hint { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-muted); }
html[data-theme="dark"] .wh-hint i { background: var(--pub-amber-s); }
html[data-theme="dark"] .wh-hint.is-ready { color: var(--pub-ink); border-color: var(--pub-amber); }
html[data-theme="dark"] .wh-hint.is-ready i { background: var(--pub-amber); }
html[data-theme="dark"] .wh-how { color: var(--pub-muted); }
html[data-theme="dark"] .wh-fin { background: var(--pub-soft); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .wh-words li { background: #121D33; border: 1px solid var(--pub-line); }
html[data-theme="dark"] .wh-words b { color: var(--pub-ink); }
html[data-theme="dark"] .wh-tag { background: #F7C948; color: #F4D27B; }
html[data-theme="dark"] .wh-tr { color: var(--pub-muted); }
html[data-theme="dark"] .wh-credit { color: var(--pub-muted); }
html[data-theme="dark"] .ll-slots i { border: 2px dashed #354664; color: #9AA8C0; }
html[data-theme="dark"] .ll-slots i.is-shown { border-color: var(--gw-g); color: var(--gw-g); }
html[data-theme="dark"] .ll-slots-note { color: var(--pub-muted); }
html[data-theme="dark"] .ll-slots-more { color: #9AA8C0; }
html[data-theme="dark"] .ll-t { color: #fff; }
html[data-theme="dark"] .ll-t.is-g { background: var(--gw-g); }
html[data-theme="dark"] .ll-t.is-y { background: var(--gw-y); }
html[data-theme="dark"] .ll-t.is-x { background: var(--gw-x); }
html[data-theme="dark"] .ll-t.is-typing { background: #121D33; color: var(--pub-ink); border: 2px solid #8E99AD; }
html[data-theme="dark"] .ll-t.is-link::after { background: var(--gw-g); }
html[data-theme="dark"] .ll-msg { color: var(--pub-muted); }
html[data-theme="dark"] .ll-msg.is-bad { color: #E5918A; }
html[data-theme="dark"] .ll-msg.is-hint { color: #F4D47B; }
html[data-theme="dark"] .ll-msg.is-ok { color: #8DE2B1; }
html[data-theme="dark"] .gp-shape { color: var(--pub-muted); }
html[data-theme="dark"] .gp-shape b { color: var(--pub-ink); }
html[data-theme="dark"] .gp-t { color: #fff; }
html[data-theme="dark"] .gp-t.is-g { background: var(--gw-g); }
html[data-theme="dark"] .gp-t.is-y { background: var(--gw-y); }
html[data-theme="dark"] .gp-t.is-p { background: var(--gp-p); }
html[data-theme="dark"] .gp-t.is-x { background: var(--gw-x); }
html[data-theme="dark"] .gp-t.is-typing { background: #121D33; color: var(--pub-ink); border: 2px solid #8E99AD; }
html[data-theme="dark"] .gp-t.is-empty { border: 2px dashed #354664; }
html[data-theme="dark"] .gp-t.is-hint { border: 2px solid var(--gw-g); color: var(--gw-g); background: #121D33; }
html[data-theme="dark"] .gp-t.is-here { border-color: var(--pub-accent); }
html[data-theme="dark"] .gp-meaning { background: #373015; border: 1px solid #6B5E2E; color: var(--pub-ink); }
html[data-theme="dark"] .gp-fin-m { color: var(--pub-ink); }
html[data-theme="dark"] .gp-fin-ex { color: var(--pub-muted); }
html[data-theme="dark"] .gw-key.is-p { background: var(--gp-p); color: #fff; }
html[data-theme="dark"] .gw-how b.gp-yel { color: #F4D87B; }
html[data-theme="dark"] .gw-how b.gp-pur { color: var(--gp-p); }
html[data-theme="dark"] .ll-ex h2 { border-top: 1px solid var(--pub-line); }
html[data-theme="dark"] .tp-ll i { color: #fff; }
html[data-theme="dark"] .tp-ll .g { background: var(--gw-g); }
html[data-theme="dark"] .tp-ll .y { background: var(--gw-y); }
html[data-theme="dark"] .tp-ll .x { background: var(--gw-x); }
html[data-theme="dark"] .tp-ll .l::after { background: var(--gw-g); }
html[data-theme="dark"] .hc-in { border: 2px solid #354664; color: var(--pub-ink); }
html[data-theme="dark"] .hc-in:focus { outline: none; border-color: var(--pub-accent); }
html[data-theme="dark"] .hc-msg { color: var(--pub-muted); }
html[data-theme="dark"] .hc-msg.is-bad { color: #E5918A; }
html[data-theme="dark"] .hc-msg.is-hint { color: #F4D47B; }
html[data-theme="dark"] .hc-msg.is-ok { color: #8DE2B1; }
html[data-theme="dark"] .hc-counts { color: var(--pub-muted); }
html[data-theme="dark"] .hc-link { border: 0; background: none; color: var(--pub-accent); }
html[data-theme="dark"] .hc-link[data-sure] { color: #E5918A; }
html[data-theme="dark"] .hc-row { background: var(--pub-soft); color: var(--pub-ink); }
html[data-theme="dark"] .hc-row.is-hot .hc-bar { background: var(--hc-hot); }
html[data-theme="dark"] .hc-row.is-warm .hc-bar { background: var(--hc-warm); }
html[data-theme="dark"] .hc-row.is-cold .hc-bar { background: var(--hc-cold); }
html[data-theme="dark"] .hc-rank { color: var(--pub-muted); }
html[data-theme="dark"] .hc-last { border-bottom: 1px dashed var(--pub-line); }
html[data-theme="dark"] .hc-last .hc-row { box-shadow: 0 0 0 2px var(--pub-ink); }
html[data-theme="dark"] .hc-secret { color: var(--pub-ink); }
html[data-theme="dark"] .hc-closest li { color: var(--pub-ink); }
html[data-theme="dark"] .tp-hot span { color: var(--pub-ink); background: #121D33; }
html[data-theme="dark"] .wx-goal { color: var(--pub-muted); }
html[data-theme="dark"] .wx-goal b { color: var(--pub-ink); }
html[data-theme="dark"] .wx-cur { border-bottom: 2px solid var(--pub-ink); color: var(--pub-ink); }
html[data-theme="dark"] .wx-cur.is-empty { color: var(--pub-muted); }
html[data-theme="dark"] .wx-chain { color: var(--pub-muted); }
html[data-theme="dark"] .wx-chain span + span::before { color: #A9B4C6; }
html[data-theme="dark"] .wx-msg { color: #E5918A; }
html[data-theme="dark"] .wx-msg.is-ok { color: #8DE2B1; }
html[data-theme="dark"] .wx-ltr .wx-dot { fill: #fff; stroke: var(--pub-ink); }
html[data-theme="dark"] .wx-ltr.is-used .wx-dot { fill: var(--pub-ink); }
html[data-theme="dark"] .wx-ltr.is-cur .wx-dot { fill: #FFB59A; }
html[data-theme="dark"] .wx-ltr.is-last .wx-dot { fill: var(--pub-amber); }
html[data-theme="dark"] .wx-ltr text { fill: var(--pub-ink); }
html[data-theme="dark"] .wx-ltr .wx-hit { fill: transparent; }
html[data-theme="dark"] .wx-ltr .wx-hit:focus-visible { outline: none; stroke: var(--pub-accent); }
html[data-theme="dark"] .wx-btn { border: 1px solid var(--pub-ink); background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .wx-btn.is-main { background: var(--pub-ink); color: #fff; }
html[data-theme="dark"] .wx-hintline { color: #F4D47B; }
html[data-theme="dark"] .wx-sub { color: var(--pub-muted); }
html[data-theme="dark"] .md-table table { background: #121D33; border: 1px solid var(--pub-line); }
html[data-theme="dark"] .md-table th,
html[data-theme="dark"] .md-table td { border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .md-table th { color: var(--pub-ink); background: var(--pub-accent-s); }
html[data-theme="dark"] .md-table tr:last-child td { border-bottom: 0; }
html[data-theme="dark"] .gr-main code,
html[data-theme="dark"] .pl-about code,
html[data-theme="dark"] .cp-about code { background: var(--pub-soft); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .tp-photo img { border: 6px solid #22304C; box-shadow: 0 18px 40px rgba(0,0,0,0.288); }
html[data-theme="dark"] .tp-philo-item { border: 1px solid rgba(34,48,76,0.16); background: rgba(18,29,51,0.04); }
html[data-theme="dark"] .tp-philo-item h3 { color: var(--pub-amber); }
html[data-theme="dark"] .tp-philo-close { color: #fff; }
html[data-theme="dark"] .lp-tutor-card { color: var(--pub-ink); }
html[data-theme="dark"] .lp-tutor-photo img { border: 6px solid #22304C; box-shadow: 0 18px 40px rgba(0,0,0,0.288); }
html[data-theme="dark"] .lp-tutor-role { color: var(--pub-muted); }
html[data-theme="dark"] .lp-tutor-more { color: var(--pub-accent); }
html[data-theme="dark"] .lp-who-facts { background: var(--pub-soft); color: var(--pub-ink); }
html[data-theme="dark"] .lp-who-facts svg,
html[data-theme="dark"] .lp-packs svg { color: #97D9B2; }
html[data-theme="dark"] .lp-packs { color: var(--pub-ink); }
html[data-theme="dark"] .pub-review-card { background: #372F15; border: 1px solid #6B5E2E; }
html[data-theme="dark"] .pub-review-stars { color: #F4D17B; }
html[data-theme="dark"] .pub-review-text b { color: var(--pub-ink); }
html[data-theme="dark"] .pub-review-text p { color: var(--pub-body); }
html[data-theme="dark"] .pub-review-later { background: none; border: 0; color: var(--pub-muted); }
html[data-theme="dark"] .pub-review-later:hover { color: var(--pub-ink); }
html[data-theme="dark"] .qr { background: #152137; border: 1px solid #2E436B; }
html[data-theme="dark"] .qr summary { color: var(--pub-ink); }
html[data-theme="dark"] .qr summary::after { color: var(--pub-muted); }
html[data-theme="dark"] .qr:not([open]) { background: transparent; border-color: transparent; }
html[data-theme="dark"] .qr:not([open]) summary { color: var(--pub-accent); }
html[data-theme="dark"] .qr-q { background: var(--pub-accent); color: #fff; }
html[data-theme="dark"] .qr li { color: var(--pub-body); }
html[data-theme="dark"] .qr li::before { background: #9AA8C0; }
html[data-theme="dark"] .qr-g { background: #3A8F5C; }
html[data-theme="dark"] .qr-y { background: #C99A06; }
html[data-theme="dark"] .qr-x { background: #8A94A6; }
html[data-theme="dark"] .qr-p { background: #7A4FD0; }
html[data-theme="dark"] .qr-r { background: #D9534F; }
html[data-theme="dark"] .qr-yel { background: #F7C948; }
html[data-theme="dark"] .qr-hot { background: var(--hc-hot); }
html[data-theme="dark"] .qr-warm { background: var(--hc-warm); }
html[data-theme="dark"] .qr-cold { background: var(--hc-cold); }
html[data-theme="dark"] .qr-ok { border: 1px solid #2E426B; background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .qr-ok:hover { border-color: var(--pub-accent); }
html[data-theme="dark"] .gb { background: #13254A; color: #fff; }
html[data-theme="dark"] .gb-h { color: #fff; }
html[data-theme="dark"] .gb-new { background: #F2B705; color: #EEF2F9; }
html[data-theme="dark"] .gb-sub { color: #C3CCDD; }
html[data-theme="dark"] .gb-icons a { background: #121D33; }
html[data-theme="dark"] .gb-icons a:focus-visible,
html[data-theme="dark"] .gb-cta:focus-visible { outline: 3px solid #F2B705; }
html[data-theme="dark"] .gb-cta { background: #F2B705; color: #EEF2F9 !important; }
html[data-theme="dark"] .gb-cta:hover { background: #FFC81F; }
html[data-theme="dark"] .pub-lead-legal { color: inherit; }
html[data-theme="dark"] .pub-lead-legal a { color: inherit; }
html[data-theme="dark"] .app-top { background: #121D33; border-bottom: 1px solid var(--pub-line); }
html[data-theme="dark"] .app-back { color: var(--pub-ink) !important; }
html[data-theme="dark"] .app-back:hover { background: var(--pub-soft); }
html[data-theme="dark"] .app-top-title { color: var(--pub-ink); }
html[data-theme="dark"] .app-tabs { background: #121D33; border-top: 1px solid var(--pub-line); box-shadow: 0 -6px 20px rgba(0,0,0,0.108); }
html[data-theme="dark"] .app-tab { border: 0; background: transparent; color: var(--pub-muted) !important; }
html[data-theme="dark"] .app-tab[aria-current="page"] { color: var(--pub-accent) !important; }
html[data-theme="dark"] .app-tab:hover { background: var(--pub-soft); }
html[data-theme="dark"] .app-page h1,
html[data-theme="dark"] .app-hero h1 { color: var(--pub-ink); }
html[data-theme="dark"] .app-hero p { color: var(--pub-body); }
html[data-theme="dark"] .app-small { color: var(--pub-muted); }
html[data-theme="dark"] .app-continue { background: var(--pub-accent); color: #fff !important; }
html[data-theme="dark"] .app-level-tab { border: 1.5px solid var(--pub-line); background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .app-level-tab small { color: var(--pub-muted); }
html[data-theme="dark"] .app-level-tab[aria-selected="true"] { border-color: var(--pub-accent); background: var(--pub-accent-s); }
html[data-theme="dark"] .app-level-meta { color: var(--pub-muted); }
html[data-theme="dark"] .app-unit { color: var(--pub-ink); }
html[data-theme="dark"] .app-unit span { color: var(--pub-muted); }
html[data-theme="dark"] .app-lesson { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-ink) !important; }
html[data-theme="dark"] .app-lesson:hover { border-color: #344565; }
html[data-theme="dark"] .app-n { background: var(--pub-soft); }
html[data-theme="dark"] .app-st { color: var(--pub-muted); }
html[data-theme="dark"] .app-lesson.is-done .app-n { background: var(--pub-green-s); color: var(--pub-green); }
html[data-theme="dark"] .app-lesson.is-done .app-st { color: var(--pub-green); }
html[data-theme="dark"] .app-lesson.is-started .app-st { color: var(--pub-accent); }
html[data-theme="dark"] .app-lesson.is-locked { color: var(--pub-muted) !important; background: var(--pub-soft); }
html[data-theme="dark"] .app-gate { background: var(--pub-amber-s); border: 1px solid #6B5B2E; color: var(--pub-ink); }
html[data-theme="dark"] .app-sheet { background: rgba(11,31,58,0.45); }
html[data-theme="dark"] .app-sheet-box { background: #121D33; }
html[data-theme="dark"] .app-sheet-box h2 { color: var(--pub-ink); }
html[data-theme="dark"] .app-card { border: 1px solid var(--pub-line); background: #121D33; }
html[data-theme="dark"] .app-card h2 { color: var(--pub-ink); }
html[data-theme="dark"] .app-select { color: var(--pub-ink); }
html[data-theme="dark"] .app-select select { border: 1px solid var(--pub-line); background: #121D33; color: var(--pub-ink); }
html[data-theme="dark"] .app-facts li { color: var(--pub-ink); }
html[data-theme="dark"] .app-facts svg { color: var(--pub-green); }
html[data-theme="dark"] .app-trial-form { border: 1px solid var(--pub-line); background: #121D33; }
html[data-theme="dark"] .app-trial-form label { color: var(--pub-ink); }
html[data-theme="dark"] .app-trial-form input { border: 1px solid var(--pub-line); color: var(--pub-ink); background: #121D33; }
html[data-theme="dark"] .app-msg { color: var(--pub-muted); }
html[data-theme="dark"] .app-msg.is-err { color: #EE8981; }
html[data-theme="dark"] .app-thanks { color: var(--pub-ink); }
html[data-theme="dark"] .app-trial { border: 1px solid var(--pub-line); background: #121D33; }
html[data-theme="dark"] .app-trial h2 { color: var(--pub-ink); }
html[data-theme="dark"] .app-trial p { color: var(--pub-body); }
html[data-theme="dark"] .pl-dict-ai { color: var(--pub-muted); border: 1px solid var(--pub-line); }
html[data-theme="dark"] .app-dict-page .pl-dict-result { background: var(--pub-soft); }

/* ── the hand-made rules (after the generated ones: they win) ── */
/* the filled blue buttons: a blue that holds white text (the accent token is the lighter link blue) */
html[data-theme="dark"] .pub-btn-primary { background: #3B66F0; color: #fff !important; }
html[data-theme="dark"] .pub-btn-primary:hover { background: #2F55D4; }
/* the logo's square: a navy one step lighter than the page */
html[data-theme="dark"] .pub-logo-mark { background: #1F3A6B; }
/* the theme switch (sun / moon) in the header */
.pub-theme { display: inline-grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 10px; border: 1px solid var(--pub-line); background: transparent; color: var(--pub-ink); cursor: pointer; padding: 0; }
.pub-theme:hover { border-color: var(--pub-accent); }
.pub-theme:focus-visible { outline: 3px solid var(--pub-accent); outline-offset: 2px; }
.pub-theme svg { width: 18px; height: 18px; }
.pub-theme .is-sun { display: none; }
html[data-theme="dark"] .pub-theme .is-sun { display: block; }
html[data-theme="dark"] .pub-theme .is-moon { display: none; }
/* the page: the deepest navy (white cards on it become the one-step-lighter card colour); the header blends in */
html[data-theme="dark"] body.pub { background: #0B1424; }
html[data-theme="dark"] .pub-header { background: #0B1424; border-bottom-color: #22304C; }
/* a phone: the header keeps the logo, the languages, the theme switch and the menu on one line */
@media (max-width: 480px) {
  .pub-header-actions { gap: 6px; }
  .pub-theme { width: 32px; height: 32px; border-radius: 9px; }
  .pub-theme svg { width: 16px; height: 16px; }
}
/* the navy blocks (light: var(--pub-ink) as their ground, which turns light in the dark theme) → a lighter navy with a
   thin edge, as in the mockup; the footer the darkest */
html[data-theme="dark"] .pub-footer { background: #070E1B; }
html[data-theme="dark"] .home-dark,
html[data-theme="dark"] .pub-lead,
html[data-theme="dark"] .cta-banner,
html[data-theme="dark"] .home-price.is-dark { background: #13254A; border: 1px solid #2A4374; }
html[data-theme="dark"] .home-dark { border-width: 1px 0; }
/* selected chips, pills and dark buttons (light: navy with white text): a light pill with navy text */
html[data-theme="dark"] .pub-skip,
html[data-theme="dark"] .pub-btn-dark,
html[data-theme="dark"] .home-preview-btn,
html[data-theme="dark"] .pub .home-tick-cta, html[data-theme="dark"] .pub .home-tick-cta:hover,
html[data-theme="dark"] .pub-chip.is-on,
html[data-theme="dark"] .wg-level[aria-pressed="true"],
html[data-theme="dark"] .wg-games span[aria-current],
html[data-theme="dark"] .wg2-seg button[aria-pressed="true"],
html[data-theme="dark"] body[data-loc="ro"] .pl-loc [data-set-loc="ro"], html[data-theme="dark"] body[data-loc="ru"] .pl-loc [data-set-loc="ru"],
html[data-theme="dark"] .wx-btn.is-main { color: #0B1F3A !important; background: #EEF2F9 !important; border-color: #EEF2F9 !important; }
/* inputs without a ground of their own (the browser's grey otherwise) */
html[data-theme="dark"] .hc-in { background: #0E182B; }
/* Word box: the box and its letter dots (drawn by word-box.js with white / navy) */
html[data-theme="dark"] .wx-box > rect { fill: #121D33; stroke: #C5CEDD; }
html[data-theme="dark"] .wx-ltr .wx-dot { fill: #121D33; }
/* the /wordgame tile pictures: Word box's box, dots and letters; Word Hunt's letters that are on no word */
html[data-theme="dark"] .tp-box rect, html[data-theme="dark"] .tp-box circle { fill: #121D33; stroke: #C5CEDD; }
html[data-theme="dark"] .tp-box text, html[data-theme="dark"] .tp-hunt .tp-plain { fill: #EEF2F9; }
/* a mid-size screen (a laptop, a tablet across): the header's buttons a little closer, room for the theme switch */
@media (min-width: 481px) and (max-width: 1280px) {
  .pub-header-actions { gap: 10px; }
  .pub-theme { width: 34px; height: 34px; }
}
