/* Định Số Public — Multi-theme (mặc định: light) */

/* ── Theme: Sáng (default) ─────────────────────────────────────────────── */
:root,
[data-theme="light"] {
  --pub-bg: #faf8f4;
  --pub-bg-hero: #fffdf9;
  --pub-text: #2c2a26;
  --pub-text-muted: #6b6560;
  --pub-text-faint: #9a948c;
  --pub-heading: #1a1814;
  --pub-accent: #b8860b;
  --pub-accent-mid: #c9a84c;
  --pub-accent-light: #d4a844;
  --pub-accent-dark: #8b6914;
  --pub-border: rgba(184, 134, 11, 0.22);
  --pub-border-subtle: rgba(44, 42, 38, 0.1);
  --pub-nav-bg: rgba(255, 253, 249, 0.94);
  --pub-nav-border: rgba(44, 42, 38, 0.08);
  --pub-card-bg: #ffffff;
  --pub-card-form-bg: rgba(212, 168, 68, 0.07);
  --pub-card-hover-shadow: rgba(184, 134, 11, 0.12);
  --pub-input-bg: #ffffff;
  --pub-input-border: #e5dfd4;
  --pub-input-focus: rgba(184, 134, 11, 0.45);
  --pub-hero-glow: rgba(212, 168, 68, 0.18);
  --pub-stat-divider: rgba(44, 42, 38, 0.12);
  --pub-btn-gradient: linear-gradient(135deg, #8b6914 0%, #c9a84c 50%, #e8c97a 100%);
  --pub-btn-text: #1a1814;
  --pub-scrollbar-track: #f0ebe3;
  --pub-scrollbar-thumb: rgba(184, 134, 11, 0.35);
  --pub-board-wrap-bg: #fffdf8;
  --pub-board-header-bg: rgba(212, 168, 68, 0.1);
  --pub-board-grid-bg: #faf6ee;
  --pub-board-center-bg: rgba(212, 168, 68, 0.08);
  --pub-cung-bg: #ffffff;
  --pub-cung-border: rgba(184, 134, 11, 0.22);
  --pub-cung-hover: rgba(212, 168, 68, 0.06);
  --pub-cung-menh-border: rgba(37, 99, 235, 0.45);
  --pub-cung-menh-bg: rgba(37, 99, 235, 0.06);
  --pub-cung-than-border: rgba(124, 58, 237, 0.4);
  --pub-cung-than-bg: rgba(124, 58, 237, 0.06);
  --pub-dinh-so-bg: #ffffff;
  --pub-dinh-so-border: rgba(184, 134, 11, 0.18);
  --pub-dinh-so-hover-bg: rgba(212, 168, 68, 0.06);
  --pub-lock-overlay: rgba(250, 248, 244, 0.82);
  --pub-cta-bg: linear-gradient(135deg, rgba(212,168,68,0.14) 0%, rgba(180,120,80,0.06) 100%);
  --pub-alert-error-bg: #fef2f2;
  --pub-alert-error-border: #fecaca;
  --pub-alert-error-text: #b91c1c;
  --pub-alert-warn-bg: #fffbeb;
  --pub-alert-warn-border: #fde68a;
  --pub-alert-warn-text: #b45309;
  --pub-badge-open-bg: #ecfdf5;
  --pub-badge-open-text: #047857;
  --pub-badge-open-border: #a7f3d0;
  --pub-badge-lock-bg: rgba(212, 168, 68, 0.12);
  --pub-badge-lock-text: #8b6914;
  --pub-badge-lock-border: rgba(184, 134, 11, 0.25);
  --pub-cond-box-bg: rgba(44, 42, 38, 0.04);
  --pub-gradient-text: linear-gradient(135deg, #8b6914 0%, #c9a84c 50%, #d4a844 100%);
}

/* ── Theme: Ngọc (jade) ─────────────────────────────────────────────────── */
[data-theme="jade"] {
  --pub-bg: #f4faf8;
  --pub-bg-hero: #f8fffd;
  --pub-text: #1e3330;
  --pub-text-muted: #4a6b65;
  --pub-text-faint: #7a9a94;
  --pub-heading: #0f2420;
  --pub-accent: #0d9488;
  --pub-accent-mid: #14b8a6;
  --pub-accent-light: #2dd4bf;
  --pub-accent-dark: #0f766e;
  --pub-border: rgba(13, 148, 136, 0.22);
  --pub-border-subtle: rgba(30, 51, 48, 0.1);
  --pub-nav-bg: rgba(248, 255, 253, 0.94);
  --pub-nav-border: rgba(30, 51, 48, 0.08);
  --pub-card-bg: #ffffff;
  --pub-card-form-bg: rgba(20, 184, 166, 0.08);
  --pub-card-hover-shadow: rgba(13, 148, 136, 0.12);
  --pub-input-bg: #ffffff;
  --pub-input-border: #cce8e4;
  --pub-input-focus: rgba(13, 148, 136, 0.45);
  --pub-hero-glow: rgba(45, 212, 191, 0.2);
  --pub-stat-divider: rgba(30, 51, 48, 0.12);
  --pub-btn-gradient: linear-gradient(135deg, #0f766e 0%, #14b8a6 50%, #5eead4 100%);
  --pub-btn-text: #0f2420;
  --pub-scrollbar-track: #e8f5f2;
  --pub-scrollbar-thumb: rgba(13, 148, 136, 0.35);
  --pub-board-wrap-bg: #f8fffe;
  --pub-board-header-bg: rgba(20, 184, 166, 0.1);
  --pub-board-grid-bg: #f0faf8;
  --pub-board-center-bg: rgba(20, 184, 166, 0.08);
  --pub-cung-bg: #ffffff;
  --pub-cung-border: rgba(13, 148, 136, 0.2);
  --pub-cung-hover: rgba(20, 184, 166, 0.06);
  --pub-cung-menh-border: rgba(37, 99, 235, 0.4);
  --pub-cung-menh-bg: rgba(37, 99, 235, 0.05);
  --pub-cung-than-border: rgba(124, 58, 237, 0.35);
  --pub-cung-than-bg: rgba(124, 58, 237, 0.05);
  --pub-dinh-so-bg: #ffffff;
  --pub-dinh-so-border: rgba(13, 148, 136, 0.18);
  --pub-dinh-so-hover-bg: rgba(20, 184, 166, 0.06);
  --pub-lock-overlay: rgba(244, 250, 248, 0.85);
  --pub-cta-bg: linear-gradient(135deg, rgba(20,184,166,0.12) 0%, rgba(13,148,136,0.05) 100%);
  --pub-alert-error-bg: #fef2f2;
  --pub-alert-error-border: #fecaca;
  --pub-alert-error-text: #b91c1c;
  --pub-alert-warn-bg: #fffbeb;
  --pub-alert-warn-border: #fde68a;
  --pub-alert-warn-text: #b45309;
  --pub-badge-open-bg: #ecfdf5;
  --pub-badge-open-text: #047857;
  --pub-badge-open-border: #a7f3d0;
  --pub-badge-lock-bg: rgba(20, 184, 166, 0.1);
  --pub-badge-lock-text: #0f766e;
  --pub-badge-lock-border: rgba(13, 148, 136, 0.25);
  --pub-cond-box-bg: rgba(30, 51, 48, 0.04);
  --pub-gradient-text: linear-gradient(135deg, #0f766e 0%, #14b8a6 50%, #2dd4bf 100%);
}

/* ── Theme: Hoàng hôn (sunset) ──────────────────────────────────────────── */
[data-theme="sunset"] {
  --pub-bg: #fff8f5;
  --pub-bg-hero: #fffcfa;
  --pub-text: #3d2a26;
  --pub-text-muted: #7a5c55;
  --pub-text-faint: #a88a82;
  --pub-heading: #2a1814;
  --pub-accent: #e07a5f;
  --pub-accent-mid: #f4845f;
  --pub-accent-light: #f9a88c;
  --pub-accent-dark: #c45c42;
  --pub-border: rgba(224, 122, 95, 0.25);
  --pub-border-subtle: rgba(61, 42, 38, 0.1);
  --pub-nav-bg: rgba(255, 252, 250, 0.94);
  --pub-nav-border: rgba(61, 42, 38, 0.08);
  --pub-card-bg: #ffffff;
  --pub-card-form-bg: rgba(244, 132, 95, 0.08);
  --pub-card-hover-shadow: rgba(224, 122, 95, 0.14);
  --pub-input-bg: #ffffff;
  --pub-input-border: #f0ddd6;
  --pub-input-focus: rgba(224, 122, 95, 0.45);
  --pub-hero-glow: rgba(249, 168, 140, 0.25);
  --pub-stat-divider: rgba(61, 42, 38, 0.12);
  --pub-btn-gradient: linear-gradient(135deg, #c45c42 0%, #f4845f 50%, #f9a88c 100%);
  --pub-btn-text: #2a1814;
  --pub-scrollbar-track: #fceee8;
  --pub-scrollbar-thumb: rgba(224, 122, 95, 0.35);
  --pub-board-wrap-bg: #fffcfa;
  --pub-board-header-bg: rgba(244, 132, 95, 0.1);
  --pub-board-grid-bg: #fff5f0;
  --pub-board-center-bg: rgba(244, 132, 95, 0.08);
  --pub-cung-bg: #ffffff;
  --pub-cung-border: rgba(224, 122, 95, 0.22);
  --pub-cung-hover: rgba(244, 132, 95, 0.06);
  --pub-cung-menh-border: rgba(37, 99, 235, 0.4);
  --pub-cung-menh-bg: rgba(37, 99, 235, 0.05);
  --pub-cung-than-border: rgba(124, 58, 237, 0.35);
  --pub-cung-than-bg: rgba(124, 58, 237, 0.05);
  --pub-dinh-so-bg: #ffffff;
  --pub-dinh-so-border: rgba(224, 122, 95, 0.2);
  --pub-dinh-so-hover-bg: rgba(244, 132, 95, 0.06);
  --pub-lock-overlay: rgba(255, 248, 245, 0.85);
  --pub-cta-bg: linear-gradient(135deg, rgba(244,132,95,0.14) 0%, rgba(180,80,60,0.05) 100%);
  --pub-alert-error-bg: #fef2f2;
  --pub-alert-error-border: #fecaca;
  --pub-alert-error-text: #b91c1c;
  --pub-alert-warn-bg: #fffbeb;
  --pub-alert-warn-border: #fde68a;
  --pub-alert-warn-text: #b45309;
  --pub-badge-open-bg: #ecfdf5;
  --pub-badge-open-text: #047857;
  --pub-badge-open-border: #a7f3d0;
  --pub-badge-lock-bg: rgba(244, 132, 95, 0.12);
  --pub-badge-lock-text: #c45c42;
  --pub-badge-lock-border: rgba(224, 122, 95, 0.28);
  --pub-cond-box-bg: rgba(61, 42, 38, 0.04);
  --pub-gradient-text: linear-gradient(135deg, #c45c42 0%, #f4845f 50%, #f9a88c 100%);
}

/* ── Theme: Tối (dark) ──────────────────────────────────────────────────── */
[data-theme="dark"] {
  --pub-bg: #0f0f1a;
  --pub-bg-hero: #0f0f1a;
  --pub-text: #e8e0d0;
  --pub-text-muted: rgba(232, 224, 208, 0.55);
  --pub-text-faint: rgba(232, 224, 208, 0.35);
  --pub-heading: rgba(255, 255, 255, 0.9);
  --pub-accent: #c9a84c;
  --pub-accent-mid: #c9a84c;
  --pub-accent-light: #e8c97a;
  --pub-accent-dark: #9a7a2e;
  --pub-border: rgba(201, 168, 76, 0.2);
  --pub-border-subtle: rgba(255, 255, 255, 0.08);
  --pub-nav-bg: rgba(15, 15, 26, 0.9);
  --pub-nav-border: rgba(255, 255, 255, 0.05);
  --pub-card-bg: rgba(255, 255, 255, 0.03);
  --pub-card-form-bg: rgba(201, 168, 76, 0.04);
  --pub-card-hover-shadow: rgba(201, 168, 76, 0.15);
  --pub-input-bg: rgba(255, 255, 255, 0.05);
  --pub-input-border: rgba(255, 255, 255, 0.1);
  --pub-input-focus: rgba(201, 168, 76, 0.5);
  --pub-hero-glow: rgba(201, 168, 76, 0.08);
  --pub-stat-divider: rgba(255, 255, 255, 0.1);
  --pub-btn-gradient: linear-gradient(135deg, #9a7a2e 0%, #c9a84c 50%, #e8c97a 100%);
  --pub-btn-text: #0d0d1a;
  --pub-scrollbar-track: #1a1a2e;
  --pub-scrollbar-thumb: rgba(201, 168, 76, 0.25);
  --pub-board-wrap-bg: transparent;
  --pub-board-header-bg: rgba(201, 168, 76, 0.06);
  --pub-board-grid-bg: rgba(10, 10, 20, 0.8);
  --pub-board-center-bg: rgba(201, 168, 76, 0.03);
  --pub-cung-bg: rgba(255, 255, 255, 0.03);
  --pub-cung-border: rgba(201, 168, 76, 0.2);
  --pub-cung-hover: rgba(201, 168, 76, 0.05);
  --pub-cung-menh-border: rgba(99, 179, 237, 0.6);
  --pub-cung-menh-bg: rgba(99, 179, 237, 0.05);
  --pub-cung-than-border: rgba(183, 148, 246, 0.6);
  --pub-cung-than-bg: rgba(183, 148, 246, 0.05);
  --pub-dinh-so-bg: rgba(255, 255, 255, 0.04);
  --pub-dinh-so-border: rgba(201, 168, 76, 0.15);
  --pub-dinh-so-hover-bg: rgba(201, 168, 76, 0.06);
  --pub-lock-overlay: rgba(15, 15, 26, 0.6);
  --pub-cta-bg: linear-gradient(135deg, rgba(201,168,76,0.08) 0%, rgba(139,26,26,0.05) 100%);
  --pub-alert-error-bg: rgba(127, 29, 29, 0.3);
  --pub-alert-error-border: rgba(239, 68, 68, 0.3);
  --pub-alert-error-text: #fca5a5;
  --pub-alert-warn-bg: rgba(120, 53, 15, 0.15);
  --pub-alert-warn-border: rgba(245, 158, 11, 0.2);
  --pub-alert-warn-text: rgba(252, 211, 77, 0.85);
  --pub-badge-open-bg: rgba(6, 78, 59, 0.3);
  --pub-badge-open-text: rgba(74, 222, 128, 0.8);
  --pub-badge-open-border: rgba(34, 197, 94, 0.2);
  --pub-badge-lock-bg: rgba(201, 168, 76, 0.1);
  --pub-badge-lock-text: rgba(201, 168, 76, 0.6);
  --pub-badge-lock-border: rgba(201, 168, 76, 0.2);
  --pub-cond-box-bg: rgba(255, 255, 255, 0.04);
  --pub-gradient-text: linear-gradient(135deg, #e8c97a 0%, #c9a84c 50%, #9a7a2e 100%);
}

/* ── Base ───────────────────────────────────────────────────────────────── */
body.pub-body {
  font-family: 'Inter', sans-serif;
  background: var(--pub-bg);
  color: var(--pub-text);
  transition: background 0.25s ease, color 0.25s ease;
}
.font-display { font-family: 'Playfair Display', serif; }

.text-gold-gradient,
.pub-gradient-text {
  background: var(--pub-gradient-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pub-text { color: var(--pub-text); }
.pub-text-muted { color: var(--pub-text-muted); }
.pub-text-faint { color: var(--pub-text-faint); }
.pub-heading { color: var(--pub-heading); }
.pub-accent { color: var(--pub-accent); }
.pub-accent-mid { color: var(--pub-accent-mid); }

/* Nav */
.pub-nav {
  border-bottom: 1px solid var(--pub-nav-border);
  background: var(--pub-nav-bg);
  backdrop-filter: blur(12px);
}
.pub-nav-link {
  color: var(--pub-text-muted);
  transition: color 0.15s;
}
.pub-nav-link:hover { color: var(--pub-accent); }
.pub-nav-cta {
  background: color-mix(in srgb, var(--pub-accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--pub-accent) 35%, transparent);
  color: var(--pub-accent);
  transition: background 0.15s;
}
.pub-nav-cta:hover {
  background: color-mix(in srgb, var(--pub-accent) 22%, transparent);
}

/* Footer */
.pub-footer {
  border-top: 1px solid var(--pub-nav-border);
  color: var(--pub-text-faint);
}
.pub-footer-title { color: var(--pub-text-muted); }
.pub-footer a:hover { color: var(--pub-accent); }

/* Cards */
.pub-card {
  background: var(--pub-card-bg);
  border: 1px solid var(--pub-border-subtle);
  border-radius: 0.75rem;
  transition: background 0.25s, border-color 0.25s, box-shadow 0.2s;
}
.pub-card-form {
  background: var(--pub-card-form-bg);
  border: 1px solid var(--pub-border);
  border-radius: 1rem;
}
.pub-card-feature {
  background: var(--pub-card-bg);
  border: 1px solid var(--pub-border-subtle);
}
.pub-card-glow:hover {
  box-shadow: 0 0 20px var(--pub-card-hover-shadow);
}

/* Form */
.pub-label { color: var(--pub-text-muted); }
.pub-hint { color: var(--pub-text-faint); }
.pub-input,
.pub-select {
  background: var(--pub-input-bg);
  border: 1px solid var(--pub-input-border);
  color: var(--pub-text);
  border-radius: 0.5rem;
  transition: border-color 0.15s, background 0.15s;
}
.pub-input::placeholder { color: var(--pub-text-faint); }
.pub-input:focus,
.pub-select:focus {
  outline: none;
  border-color: var(--pub-input-focus);
}
.pub-select option {
  background: var(--pub-card-bg);
  color: var(--pub-text);
}
.pub-radio-label {
  background: var(--pub-input-bg);
  border: 1px solid var(--pub-input-border);
  color: var(--pub-text);
  transition: border-color 0.15s, background 0.15s;
}
.pub-radio-label:hover { border-color: color-mix(in srgb, var(--pub-accent) 35%, transparent); }
.pub-radio-label:has(:checked) {
  border-color: var(--pub-input-focus);
  background: color-mix(in srgb, var(--pub-accent) 10%, var(--pub-input-bg));
}

.pub-btn-primary {
  background: var(--pub-btn-gradient);
  color: var(--pub-btn-text);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--pub-accent) 25%, transparent);
  transition: opacity 0.15s, transform 0.15s;
}
.pub-btn-primary:hover { opacity: 0.92; transform: scale(1.01); }
.pub-btn-primary:active { transform: scale(0.99); }

.pub-btn-unlock {
  background: color-mix(in srgb, var(--pub-accent) 15%, transparent);
  border: 1px solid color-mix(in srgb, var(--pub-accent) 35%, transparent);
  color: var(--pub-accent);
}
.pub-btn-unlock:hover {
  background: color-mix(in srgb, var(--pub-accent) 25%, transparent);
}

/* Hero */
.pub-hero-glow {
  background: radial-gradient(circle, var(--pub-hero-glow) 0%, transparent 70%);
}
.pub-stat-divider { background: var(--pub-stat-divider); }

/* Alerts */
.pub-alert-error {
  background: var(--pub-alert-error-bg);
  border: 1px solid var(--pub-alert-error-border);
  color: var(--pub-alert-error-text);
}
.pub-alert-warn {
  background: var(--pub-alert-warn-bg);
  border: 1px solid var(--pub-alert-warn-border);
  color: var(--pub-alert-warn-text);
}

/* Badge */
.pub-badge-lunar {
  border: 1px solid var(--pub-border);
  background: color-mix(in srgb, var(--pub-accent) 8%, transparent);
}
.pub-badge-open {
  background: var(--pub-badge-open-bg);
  color: var(--pub-badge-open-text);
  border: 1px solid var(--pub-badge-open-border);
}
.pub-badge-lock {
  background: var(--pub-badge-lock-bg);
  color: var(--pub-badge-lock-text);
  border: 1px solid var(--pub-badge-lock-border);
}

/* Links */
.pub-link-back { color: var(--pub-text-faint); }
.pub-link-back:hover { color: var(--pub-accent); }

/* Định số card */
.pub-dinh-so-card {
  background: var(--pub-dinh-so-bg);
  border: 1px solid var(--pub-dinh-so-border);
  border-radius: 12px;
  transition: all 0.2s;
}
.pub-dinh-so-card:hover {
  border-color: color-mix(in srgb, var(--pub-accent) 40%, transparent);
  background: var(--pub-dinh-so-hover-bg);
}
.pub-cond-box { background: var(--pub-cond-box-bg); }
.pub-lock-overlay {
  background: var(--pub-lock-overlay);
  backdrop-filter: blur(2px);
}
.pub-cta-block {
  background: var(--pub-cta-bg);
  border: 1px solid var(--pub-border);
}
.pub-category-line { background: var(--pub-border-subtle); }

/* Board */
.pub-board-wrap {
  border: 1px solid color-mix(in srgb, var(--pub-accent) 18%, transparent);
  background: var(--pub-board-wrap-bg);
  border-radius: 0.75rem;
  overflow: hidden;
}
.pub-board-header {
  background: var(--pub-board-header-bg);
  border-bottom: 1px solid color-mix(in srgb, var(--pub-accent) 15%, transparent);
}
.pub-board-grid { background: var(--pub-board-grid-bg); }
.pub-board-center {
  background: var(--pub-board-center-bg);
  border: 1px solid color-mix(in srgb, var(--pub-accent) 12%, transparent);
}
.pub-board-legend { border-top: 1px solid var(--pub-border-subtle); }

.cung-cell {
  border: 1px solid var(--pub-cung-border);
  background: var(--pub-cung-bg);
  transition: background 0.2s;
  min-height: 90px;
}
.cung-cell:hover { background: var(--pub-cung-hover); }
.cung-menh {
  border-color: var(--pub-cung-menh-border) !important;
  background: var(--pub-cung-menh-bg) !important;
}
.cung-than {
  border-color: var(--pub-cung-than-border) !important;
  background: var(--pub-cung-than-bg) !important;
}

.pub-cung-label { color: var(--pub-text-faint); }
.pub-cung-chi { color: var(--pub-text-faint); opacity: 0.7; }
.pub-cung-star { color: var(--pub-accent-mid); }
.pub-cung-phu { color: var(--pub-text-muted); }
.pub-cung-empty { color: var(--pub-text-faint); opacity: 0.5; }

/* Conditions */
.pub-cond-logic { color: var(--pub-text-faint); }
.pub-cond-text { color: var(--pub-text-muted); }
.pub-cond-strong { color: var(--pub-text); font-weight: 500; }
.pub-cond-empty { color: var(--pub-text-faint); font-style: italic; }

/* Misc */
.blur-locked {
  filter: blur(5px);
  user-select: none;
  pointer-events: none;
}
.fade-in { animation: pubFadeIn 0.5s ease-in; }
@keyframes pubFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--pub-scrollbar-track); }
::-webkit-scrollbar-thumb {
  background: var(--pub-scrollbar-thumb);
  border-radius: 3px;
}

/* Theme picker */
.pub-theme-picker {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: var(--pub-card-bg);
  border: 1px solid var(--pub-border-subtle);
  border-radius: 9999px;
}
.pub-theme-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 9999px;
  font-size: 10px;
  color: var(--pub-text-muted);
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}
.pub-theme-btn:hover {
  color: var(--pub-text);
  background: color-mix(in srgb, var(--pub-accent) 8%, transparent);
}
.pub-theme-btn.active {
  color: var(--pub-btn-text);
  background: var(--pub-btn-gradient);
  font-weight: 600;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--pub-accent) 20%, transparent);
}
.pub-theme-btn .pub-theme-icon { font-size: 12px; line-height: 1; }

[data-theme="dark"] .pub-board-grid .bg-emerald-100 { background: rgba(6,78,59,0.45); color: #6ee7b7; }
[data-theme="dark"] .pub-board-grid .bg-blue-100 { background: rgba(30,58,138,0.45); color: #93c5fd; }
[data-theme="dark"] .pub-board-grid .bg-purple-100 { background: rgba(88,28,135,0.45); color: #d8b4fe; }
[data-theme="dark"] .pub-board-grid .bg-red-100 { background: rgba(127,29,29,0.45); color: #fca5a5; }

@media (max-width: 640px) {
  .pub-theme-btn .pub-theme-label { display: none; }
  .pub-theme-btn { padding: 5px 7px; }
}
