/* ==========================================================================
   RPP PWA — 15 тем (портированы из дизайнов Telegram-бота)
   Каждая тема задаёт набор CSS-переменных + небольшие декоративные штрихи.
   ========================================================================== */

:root,
[data-theme="default"] {
  --bg: #eef3fb;
  --bg-image:
    radial-gradient(1200px 600px at 10% -10%, #dbe7ff 0%, transparent 60%),
    radial-gradient(900px 500px at 110% 0%, #e6dcff 0%, transparent 55%),
    linear-gradient(180deg, #f3f7ff 0%, #eef3fb 100%);
  --surface: #ffffff;
  --surface-2: #f4f7fd;
  --surface-3: #e8eef9;
  --text: #172033;
  --muted: #5d6b85;
  --faint: #8b97ad;
  --accent: #3867f4;
  --accent-2: #7a5cff;
  --accent-soft: rgba(56, 103, 244, 0.12);
  --accent-contrast: #ffffff;
  --line: rgba(23, 32, 51, 0.08);
  --line-strong: rgba(23, 32, 51, 0.16);
  --ok: #1c9b62;
  --warn: #d9820b;
  --danger: #d64545;
  --radius: 22px;
  --radius-sm: 14px;
  --radius-xs: 10px;
  --shadow: 0 16px 40px -18px rgba(30, 55, 110, 0.35);
  --shadow-soft: 0 6px 18px -10px rgba(30, 55, 110, 0.25);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--font);
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --header-bg: rgba(243, 247, 255, 0.78);
  --tabbar-bg: rgba(255, 255, 255, 0.86);
  --tabbar-line: rgba(23, 32, 51, 0.08);
  --hero-1: #3867f4;
  --hero-2: #7a5cff;
  --card-deco: none;
  --card-deco-size: auto;
  --card-deco-repeat: no-repeat;
}

/* 1. Швейцарский минимализм */
[data-theme="swiss"] {
  --bg: #f4f4f1;
  --bg-image: linear-gradient(180deg, #fafaf7 0%, #f1f1ed 100%);
  --surface: #ffffff;
  --surface-2: #f6f6f2;
  --surface-3: #ecece6;
  --text: #101010;
  --muted: #5a5a54;
  --faint: #8d8d85;
  --accent: #e2231a;
  --accent-2: #101010;
  --accent-soft: rgba(226, 35, 26, 0.1);
  --accent-contrast: #ffffff;
  --line: rgba(16, 16, 16, 0.14);
  --line-strong: rgba(16, 16, 16, 0.5);
  --radius: 2px;
  --radius-sm: 2px;
  --radius-xs: 2px;
  --shadow: none;
  --shadow-soft: none;
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-display: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --header-bg: rgba(250, 250, 247, 0.9);
  --tabbar-bg: #ffffff;
  --tabbar-line: #101010;
  --hero-1: #101010;
  --hero-2: #333333;
}
[data-theme="swiss"] .card,
[data-theme="swiss"] .lesson-list,
[data-theme="swiss"] .bells-card {
  border: 1.5px solid var(--line-strong);
}
[data-theme="swiss"] .segmented {
  border: 1.5px solid var(--line-strong);
  background: #fff;
}
[data-theme="swiss"] .segmented button.active {
  background: var(--accent);
  color: #fff;
  border-radius: 0;
}
[data-theme="swiss"] .brand-title {
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

/* 2. Тёмное стекло */
[data-theme="dark-glass"] {
  --bg: #0b1020;
  --bg-image:
    radial-gradient(800px 500px at 15% -10%, rgba(88, 101, 242, 0.35) 0%, transparent 60%),
    radial-gradient(700px 500px at 110% 10%, rgba(0, 210, 180, 0.22) 0%, transparent 55%),
    linear-gradient(180deg, #10162b 0%, #080c18 100%);
  --surface: rgba(255, 255, 255, 0.07);
  --surface-2: rgba(255, 255, 255, 0.05);
  --surface-3: rgba(255, 255, 255, 0.11);
  --text: #eef2ff;
  --muted: #a6b0cc;
  --faint: #6f7a99;
  --accent: #7c8cff;
  --accent-2: #2ee6c5;
  --accent-soft: rgba(124, 140, 255, 0.18);
  --accent-contrast: #0b1020;
  --line: rgba(255, 255, 255, 0.1);
  --line-strong: rgba(255, 255, 255, 0.22);
  --ok: #2ee6a8;
  --warn: #ffc46b;
  --danger: #ff7a7a;
  --shadow: 0 24px 60px -24px rgba(0, 0, 0, 0.8);
  --shadow-soft: 0 10px 30px -16px rgba(0, 0, 0, 0.7);
  --header-bg: rgba(11, 16, 32, 0.62);
  --tabbar-bg: rgba(16, 22, 43, 0.72);
  --tabbar-line: rgba(255, 255, 255, 0.12);
  --hero-1: #5865f2;
  --hero-2: #00b8a0;
}
[data-theme="dark-glass"] .card,
[data-theme="dark-glass"] .lesson-list,
[data-theme="dark-glass"] .bells-card,
[data-theme="dark-glass"] .tabbar {
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid var(--line);
}
[data-theme="dark-glass"] .topbar {
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}

/* 3. Блокнот */
[data-theme="notebook"] {
  --bg: #f7f2e2;
  --bg-image:
    linear-gradient(90deg, transparent 0 12px, rgba(214, 92, 92, 0.28) 12px 13px, transparent 13px),
    repeating-linear-gradient(180deg, transparent 0 27px, rgba(74, 110, 165, 0.14) 27px 28px);
  --surface: #fffdf4;
  --surface-2: #f9f4e4;
  --surface-3: #f0e9d4;
  --text: #2c3a55;
  --muted: #5c6b88;
  --faint: #8b97ad;
  --accent: #3c6e9f;
  --accent-2: #c05a5a;
  --accent-soft: rgba(60, 110, 159, 0.14);
  --accent-contrast: #ffffff;
  --line: rgba(60, 80, 120, 0.18);
  --line-strong: rgba(60, 80, 120, 0.3);
  --radius: 8px;
  --radius-sm: 6px;
  --radius-xs: 4px;
  --shadow: 4px 6px 0 rgba(60, 80, 120, 0.12);
  --shadow-soft: 2px 3px 0 rgba(60, 80, 120, 0.1);
  --font: "Comic Sans MS", "Segoe Print", "Bradley Hand", "Comic Neue", cursive;
  --font-display: var(--font);
  --font-mono: "Courier New", Courier, monospace;
  --header-bg: rgba(247, 242, 226, 0.88);
  --tabbar-bg: rgba(255, 253, 244, 0.94);
  --tabbar-line: rgba(60, 80, 120, 0.2);
  --hero-1: #3c6e9f;
  --hero-2: #c05a5a;
}
[data-theme="notebook"] .card,
[data-theme="notebook"] .lesson-list,
[data-theme="notebook"] .bells-card {
  border: 1px dashed var(--line-strong);
}
[data-theme="notebook"] .lesson-name {
  text-decoration: underline;
  text-decoration-color: rgba(60, 110, 159, 0.35);
  text-underline-offset: 3px;
}

/* 4. Конструктивизм */
[data-theme="constructivist"] {
  --bg: #efe9df;
  --bg-image:
    linear-gradient(135deg, rgba(214, 40, 40, 0.08) 0 18%, transparent 18% 100%),
    linear-gradient(315deg, rgba(16, 16, 16, 0.06) 0 12%, transparent 12% 100%),
    #efe9df;
  --surface: #fbf7ef;
  --surface-2: #f3ede1;
  --surface-3: #e7dfd0;
  --text: #141414;
  --muted: #55524b;
  --faint: #8a857b;
  --accent: #d62828;
  --accent-2: #141414;
  --accent-soft: rgba(214, 40, 40, 0.12);
  --accent-contrast: #ffffff;
  --line: rgba(20, 20, 20, 0.18);
  --line-strong: rgba(20, 20, 20, 0.6);
  --radius: 0;
  --radius-sm: 0;
  --radius-xs: 0;
  --shadow: 6px 6px 0 rgba(20, 20, 20, 0.9);
  --shadow-soft: 3px 3px 0 rgba(20, 20, 20, 0.75);
  --font: "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--font);
  --header-bg: rgba(239, 233, 223, 0.92);
  --tabbar-bg: #fbf7ef;
  --tabbar-line: #141414;
  --hero-1: #141414;
  --hero-2: #d62828;
}
[data-theme="constructivist"] .card,
[data-theme="constructivist"] .lesson-list,
[data-theme="constructivist"] .bells-card {
  border: 2px solid var(--text);
}
[data-theme="constructivist"] .brand-title,
[data-theme="constructivist"] .card-title,
[data-theme="constructivist"] .section-title {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
[data-theme="constructivist"] .lesson-num {
  border-radius: 0;
  transform: rotate(-6deg);
}

/* 5. Пастельные карточки */
[data-theme="pastel"] {
  --bg: #fdf4f7;
  --bg-image:
    radial-gradient(600px 400px at 0% 0%, #ffe3ee 0%, transparent 60%),
    radial-gradient(600px 400px at 100% 20%, #dff1ff 0%, transparent 60%),
    radial-gradient(500px 400px at 50% 120%, #e8ffe9 0%, transparent 60%),
    #fdf4f7;
  --surface: #ffffff;
  --surface-2: #fdf3f7;
  --surface-3: #f6e8f0;
  --text: #3b2a38;
  --muted: #7a6474;
  --faint: #a894a3;
  --accent: #e0679e;
  --accent-2: #7aa8e8;
  --accent-soft: rgba(224, 103, 158, 0.14);
  --accent-contrast: #ffffff;
  --line: rgba(59, 42, 56, 0.08);
  --line-strong: rgba(59, 42, 56, 0.18);
  --radius: 26px;
  --radius-sm: 18px;
  --radius-xs: 12px;
  --shadow: 0 18px 40px -20px rgba(190, 120, 160, 0.5);
  --shadow-soft: 0 8px 20px -12px rgba(190, 120, 160, 0.45);
  --header-bg: rgba(253, 244, 247, 0.82);
  --tabbar-bg: rgba(255, 255, 255, 0.9);
  --tabbar-line: rgba(59, 42, 56, 0.08);
  --hero-1: #e0679e;
  --hero-2: #7aa8e8;
}
[data-theme="pastel"] .lesson-item:nth-child(3n + 1) { background: #fff4f9; }
[data-theme="pastel"] .lesson-item:nth-child(3n + 2) { background: #f3f8ff; }
[data-theme="pastel"] .lesson-item:nth-child(3n + 3) { background: #f4fff5; }

/* 6. Панель управления */
[data-theme="dashboard"] {
  --bg: #081420;
  --bg-image:
    linear-gradient(rgba(0, 220, 180, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 220, 180, 0.06) 1px, transparent 1px),
    radial-gradient(900px 500px at 100% 0%, rgba(0, 180, 255, 0.14), transparent 60%),
    #081420;
  --surface: #0e1e2e;
  --surface-2: #0a1826;
  --surface-3: #13283c;
  --text: #dff3ff;
  --muted: #8aa8bd;
  --faint: #5f7d92;
  --accent: #22d3a7;
  --accent-2: #38bdf8;
  --accent-soft: rgba(34, 211, 167, 0.14);
  --accent-contrast: #04231b;
  --line: rgba(125, 220, 220, 0.14);
  --line-strong: rgba(125, 220, 220, 0.3);
  --ok: #22d3a7;
  --warn: #fbbf24;
  --danger: #f87171;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-xs: 6px;
  --shadow: 0 0 0 1px rgba(34, 211, 167, 0.08), 0 20px 50px -25px #000;
  --shadow-soft: 0 10px 30px -20px #000;
  --font: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  --font-display: var(--font);
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --header-bg: rgba(8, 20, 32, 0.82);
  --tabbar-bg: rgba(10, 24, 38, 0.92);
  --tabbar-line: rgba(125, 220, 220, 0.16);
  --hero-1: #0b3b3d;
  --hero-2: #0a2a44;
}
[data-theme="dashboard"] body {
  background-size: 32px 32px, 32px 32px, auto, auto;
}
[data-theme="dashboard"] .card,
[data-theme="dashboard"] .lesson-list,
[data-theme="dashboard"] .bells-card {
  border: 1px solid var(--line);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), var(--shadow-soft);
}
[data-theme="dashboard"] .card-title,
[data-theme="dashboard"] .section-title,
[data-theme="dashboard"] .field-label {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  color: var(--accent);
  font-family: var(--font-mono);
}
[data-theme="dashboard"] .lesson-time,
[data-theme="dashboard"] .hero-timer {
  font-family: var(--font-mono);
}

/* 7. Комикс */
[data-theme="comic"] {
  --bg: #fff3c4;
  --bg-image:
    radial-gradient(circle at 20% 20%, rgba(255, 82, 82, 0.16) 0 12%, transparent 12%),
    radial-gradient(circle at 80% 0%, rgba(64, 140, 255, 0.18) 0 10%, transparent 10%),
    radial-gradient(circle at 90% 80%, rgba(255, 210, 0, 0.55) 0 14%, transparent 14%),
    #fff8dc;
  --surface: #fffdf5;
  --surface-2: #fff6d8;
  --surface-3: #ffe9a8;
  --text: #1b1b1b;
  --muted: #4c4c4c;
  --faint: #7d7d7d;
  --accent: #ff3b30;
  --accent-2: #1f6feb;
  --accent-soft: rgba(255, 59, 48, 0.14);
  --accent-contrast: #ffffff;
  --line: rgba(27, 27, 27, 0.2);
  --line-strong: #1b1b1b;
  --radius: 18px;
  --radius-sm: 12px;
  --radius-xs: 8px;
  --shadow: 6px 6px 0 #1b1b1b;
  --shadow-soft: 4px 4px 0 #1b1b1b;
  --font: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive;
  --font-display: var(--font);
  --header-bg: rgba(255, 248, 220, 0.92);
  --tabbar-bg: #fffdf5;
  --tabbar-line: #1b1b1b;
  --hero-1: #ff3b30;
  --hero-2: #1f6feb;
}
[data-theme="comic"] .card,
[data-theme="comic"] .lesson-list,
[data-theme="comic"] .bells-card,
[data-theme="comic"] .segmented,
[data-theme="comic"] .btn,
[data-theme="comic"] .tabbar {
  border: 2.5px solid #1b1b1b;
}
[data-theme="comic"] .brand-title {
  text-shadow: 2px 2px 0 #ffd400;
}

/* 8. Ботанический */
[data-theme="botanical"] {
  --bg: #eef3e8;
  --bg-image:
    radial-gradient(120px 120px at 8% 12%, rgba(90, 130, 80, 0.1) 0 48%, transparent 50%),
    radial-gradient(90px 90px at 92% 4%, rgba(90, 130, 80, 0.1) 0 48%, transparent 50%),
    radial-gradient(140px 140px at 85% 92%, rgba(150, 120, 70, 0.1) 0 48%, transparent 50%),
    linear-gradient(180deg, #f4f7ee 0%, #e9f0e1 100%);
  --surface: #fbfdf7;
  --surface-2: #f1f6e9;
  --surface-3: #e2ecd6;
  --text: #26371f;
  --muted: #5c6f52;
  --faint: #8a9a80;
  --accent: #4f7a3a;
  --accent-2: #a87b3f;
  --accent-soft: rgba(79, 122, 58, 0.14);
  --accent-contrast: #ffffff;
  --line: rgba(38, 55, 31, 0.1);
  --line-strong: rgba(38, 55, 31, 0.22);
  --radius: 20px;
  --radius-sm: 14px;
  --radius-xs: 10px;
  --shadow: 0 18px 38px -22px rgba(50, 80, 40, 0.5);
  --shadow-soft: 0 8px 18px -12px rgba(50, 80, 40, 0.4);
  --font: "Georgia", "Iowan Old Style", "Times New Roman", serif;
  --font-display: var(--font);
  --header-bg: rgba(244, 247, 238, 0.86);
  --tabbar-bg: rgba(251, 253, 247, 0.94);
  --tabbar-line: rgba(38, 55, 31, 0.12);
  --hero-1: #4f7a3a;
  --hero-2: #a87b3f;
}
[data-theme="botanical"] .card,
[data-theme="botanical"] .lesson-list,
[data-theme="botanical"] .bells-card {
  border: 1px solid var(--line);
}

/* 9. Газетный */
[data-theme="newspaper"] {
  --bg: #f3efe4;
  --bg-image: repeating-linear-gradient(0deg, rgba(30, 30, 30, 0.02) 0 1px, transparent 1px 4px), #f3efe4;
  --surface: #faf7ef;
  --surface-2: #f0ebdf;
  --surface-3: #e5ddcc;
  --text: #1c1c1c;
  --muted: #4f4b44;
  --faint: #857f73;
  --accent: #1c1c1c;
  --accent-2: #8b0000;
  --accent-soft: rgba(28, 28, 28, 0.08);
  --accent-contrast: #ffffff;
  --line: rgba(28, 28, 28, 0.22);
  --line-strong: #1c1c1c;
  --radius: 0;
  --radius-sm: 0;
  --radius-xs: 0;
  --shadow: none;
  --shadow-soft: none;
  --font: "Georgia", "Iowan Old Style", "Times New Roman", serif;
  --font-display: "Playfair Display", "Georgia", serif;
  --header-bg: rgba(243, 239, 228, 0.94);
  --tabbar-bg: #faf7ef;
  --tabbar-line: #1c1c1c;
  --hero-1: #1c1c1c;
  --hero-2: #4a4a4a;
}
[data-theme="newspaper"] .brand-title,
[data-theme="newspaper"] .section-title,
[data-theme="newspaper"] .card-title {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
[data-theme="newspaper"] .card,
[data-theme="newspaper"] .lesson-list,
[data-theme="newspaper"] .bells-card {
  border-top: 3px double var(--text);
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}
[data-theme="newspaper"] .lesson-item {
  border-bottom: 1px dotted var(--line-strong);
  border-radius: 0;
  background: transparent;
}

/* 10. Карта метро */
[data-theme="metro"] {
  --bg: #f6f6f4;
  --bg-image:
    linear-gradient(115deg, transparent 0 46%, rgba(217, 48, 37, 0.16) 46% 48%, transparent 48%),
    linear-gradient(65deg, transparent 0 62%, rgba(26, 115, 232, 0.14) 62% 64%, transparent 64%),
    #f6f6f4;
  --surface: #ffffff;
  --surface-2: #f2f2ef;
  --surface-3: #e7e7e2;
  --text: #1d1d1b;
  --muted: #5a5a55;
  --faint: #8f8f88;
  --accent: #d93025;
  --accent-2: #1a73e8;
  --accent-soft: rgba(217, 48, 37, 0.1);
  --accent-contrast: #ffffff;
  --line: rgba(29, 29, 27, 0.1);
  --line-strong: rgba(29, 29, 27, 0.24);
  --radius: 16px;
  --radius-sm: 12px;
  --radius-xs: 8px;
  --shadow: 0 14px 30px -20px rgba(30, 30, 30, 0.35);
  --shadow-soft: 0 6px 16px -12px rgba(30, 30, 30, 0.3);
  --font: "Helvetica Neue", Arial, "Segoe UI", sans-serif;
  --font-display: var(--font);
  --header-bg: rgba(246, 246, 244, 0.9);
  --tabbar-bg: rgba(255, 255, 255, 0.94);
  --tabbar-line: rgba(29, 29, 27, 0.1);
  --hero-1: #d93025;
  --hero-2: #1a73e8;
}
[data-theme="metro"] .lesson-num {
  border-radius: 999px;
  color: #fff;
  background: var(--accent);
  position: relative;
}
[data-theme="metro"] .lesson-item::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--accent-soft);
  z-index: 0;
}

/* 11. Терминал */
[data-theme="terminal"] {
  --bg: #050a06;
  --bg-image:
    repeating-linear-gradient(0deg, rgba(0, 255, 120, 0.045) 0 1px, transparent 1px 3px),
    radial-gradient(900px 500px at 50% -20%, rgba(0, 255, 120, 0.12), transparent 70%),
    #050a06;
  --surface: #081009;
  --surface-2: #060d07;
  --surface-3: #0d1a0f;
  --text: #8dffb0;
  --muted: #58b574;
  --faint: #377a49;
  --accent: #38ff87;
  --accent-2: #a8ff60;
  --accent-soft: rgba(56, 255, 135, 0.12);
  --accent-contrast: #031006;
  --line: rgba(56, 255, 135, 0.16);
  --line-strong: rgba(56, 255, 135, 0.4);
  --ok: #38ff87;
  --warn: #ffd166;
  --danger: #ff5c5c;
  --radius: 6px;
  --radius-sm: 4px;
  --radius-xs: 3px;
  --shadow: 0 0 24px -6px rgba(56, 255, 135, 0.25);
  --shadow-soft: 0 0 14px -8px rgba(56, 255, 135, 0.3);
  --font: "Courier New", Courier, ui-monospace, monospace;
  --font-display: var(--font);
  --font-mono: var(--font);
  --header-bg: rgba(5, 10, 6, 0.9);
  --tabbar-bg: rgba(8, 16, 9, 0.94);
  --tabbar-line: rgba(56, 255, 135, 0.2);
  --hero-1: #0a2010;
  --hero-2: #071408;
}
[data-theme="terminal"] .card,
[data-theme="terminal"] .lesson-list,
[data-theme="terminal"] .bells-card,
[data-theme="terminal"] .segmented {
  border: 1px solid var(--line-strong);
}
[data-theme="terminal"] .brand-title::before { content: "> "; }
[data-theme="terminal"] .card-title::before { content: "## "; }
[data-theme="terminal"] .tabbar .tab.active .tab-label::after { content: "_"; animation: blink 1.1s steps(2) infinite; }
@keyframes blink { 50% { opacity: 0; } }

/* 12. Академический */
[data-theme="academic"] {
  --bg: #f1ece2;
  --bg-image: linear-gradient(180deg, #f7f3ea 0%, #ede6d8 100%);
  --surface: #fdfaf3;
  --surface-2: #f5efe2;
  --surface-3: #eadfcc;
  --text: #2a2620;
  --muted: #665d4e;
  --faint: #918674;
  --accent: #7b2d26;
  --accent-2: #2f4a3c;
  --accent-soft: rgba(123, 45, 38, 0.1);
  --accent-contrast: #ffffff;
  --line: rgba(42, 38, 32, 0.12);
  --line-strong: rgba(42, 38, 32, 0.3);
  --radius: 6px;
  --radius-sm: 4px;
  --radius-xs: 3px;
  --shadow: 0 14px 30px -22px rgba(80, 60, 40, 0.5);
  --shadow-soft: 0 6px 16px -14px rgba(80, 60, 40, 0.45);
  --font: "Georgia", "Iowan Old Style", "Times New Roman", serif;
  --font-display: var(--font);
  --header-bg: rgba(247, 243, 234, 0.9);
  --tabbar-bg: rgba(253, 250, 243, 0.96);
  --tabbar-line: rgba(42, 38, 32, 0.14);
  --hero-1: #7b2d26;
  --hero-2: #2f4a3c;
}
[data-theme="academic"] .card,
[data-theme="academic"] .lesson-list,
[data-theme="academic"] .bells-card {
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
}
[data-theme="academic"] .section-title,
[data-theme="academic"] .card-title {
  font-variant: small-caps;
  letter-spacing: 0.05em;
}

/* 13. Скевоморфизм */
[data-theme="skeuomorphic"] {
  --bg: #e9e2d4;
  --bg-image:
    repeating-linear-gradient(45deg, rgba(120, 90, 60, 0.04) 0 2px, transparent 2px 6px),
    linear-gradient(180deg, #efe9dd 0%, #e3d9c7 100%);
  --surface: #fffaf0;
  --surface-2: #f7f0e2;
  --surface-3: #eee3cf;
  --text: #3a2f22;
  --muted: #6d5c46;
  --faint: #98866d;
  --accent: #8a5a2b;
  --accent-2: #3f6b5a;
  --accent-soft: rgba(138, 90, 43, 0.14);
  --accent-contrast: #fffaf0;
  --line: rgba(90, 70, 45, 0.16);
  --line-strong: rgba(90, 70, 45, 0.34);
  --radius: 14px;
  --radius-sm: 10px;
  --radius-xs: 7px;
  --shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 -2px 0 rgba(120, 90, 55, 0.12) inset,
    0 18px 34px -20px rgba(70, 50, 30, 0.55);
  --shadow-soft: 0 6px 14px -10px rgba(70, 50, 30, 0.5);
  --font: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --font-display: var(--font);
  --header-bg: rgba(239, 233, 221, 0.9);
  --tabbar-bg: linear-gradient(180deg, #fffaf0 0%, #efe6d4 100%);
  --tabbar-line: rgba(90, 70, 45, 0.3);
  --hero-1: #8a5a2b;
  --hero-2: #b07d43;
}
[data-theme="skeuomorphic"] .card,
[data-theme="skeuomorphic"] .lesson-list,
[data-theme="skeuomorphic"] .bells-card {
  border: 1px solid var(--line-strong);
  box-shadow: 0 1px 0 #fff inset, 0 16px 30px -20px rgba(70, 50, 30, 0.55);
}
[data-theme="skeuomorphic"] .segmented {
  background: #e6dcc9;
  box-shadow: inset 0 2px 5px rgba(90, 70, 45, 0.25);
}
[data-theme="skeuomorphic"] .segmented button.active {
  background: linear-gradient(180deg, #fffdf7 0%, #f0e6d2 100%);
  box-shadow: 0 2px 4px rgba(90, 70, 45, 0.25), 0 1px 0 #fff inset;
}

/* 14. Мультяшный */
[data-theme="cartoon"] {
  --bg: #dff3ff;
  --bg-image:
    radial-gradient(180px 180px at 85% 8%, #ffe680 0 55%, transparent 56%),
    radial-gradient(120px 70px at 12% 18%, rgba(255, 255, 255, 0.9) 0 55%, transparent 56%),
    radial-gradient(150px 90px at 30% 6%, rgba(255, 255, 255, 0.75) 0 55%, transparent 56%),
    linear-gradient(180deg, #d7f0ff 0%, #eef9ff 55%, #e2f6df 100%);
  --surface: #ffffff;
  --surface-2: #f0faff;
  --surface-3: #dcf1ff;
  --text: #13324a;
  --muted: #4f7191;
  --faint: #82a0ba;
  --accent: #ff7a1a;
  --accent-2: #1fa2ff;
  --accent-soft: rgba(255, 122, 26, 0.14);
  --accent-contrast: #ffffff;
  --line: rgba(19, 50, 74, 0.1);
  --line-strong: rgba(19, 50, 74, 0.22);
  --radius: 24px;
  --radius-sm: 16px;
  --radius-xs: 11px;
  --shadow: 0 16px 0 -10px rgba(19, 50, 74, 0.14), 0 22px 38px -22px rgba(19, 80, 120, 0.45);
  --shadow-soft: 0 8px 0 -6px rgba(19, 50, 74, 0.12), 0 12px 22px -16px rgba(19, 80, 120, 0.4);
  --font: "Nunito", "Trebuchet MS", "Segoe UI", Verdana, sans-serif;
  --font-display: var(--font);
  --header-bg: rgba(233, 248, 255, 0.88);
  --tabbar-bg: rgba(255, 255, 255, 0.94);
  --tabbar-line: rgba(31, 162, 255, 0.25);
  --hero-1: #1fa2ff;
  --hero-2: #34c759;
}
[data-theme="cartoon"] .card,
[data-theme="cartoon"] .lesson-list,
[data-theme="cartoon"] .bells-card {
  border: 2px solid #ffffff;
}
[data-theme="cartoon"] .brand-mark {
  transform: rotate(-4deg);
}
[data-theme="cartoon"] .lesson-num {
  background: linear-gradient(180deg, #ffd84d 0%, #ff9f1a 100%);
  color: #13324a;
}
