/* ═══════════════════════════════════════════
   SELF-HOSTED FONTS — VPN proof
   Upload all .woff2 files to /fonts/ folder
═══════════════════════════════════════════ */

/* DM Serif Display */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dm-serif-display-v17-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dm-serif-display-v17-latin-italic.woff2') format('woff2');
}

/* Lora — 400 uses 500 file, italic included */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/lora-v37-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/lora-v37-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/lora-v37-latin-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/lora-v37-latin-italic.woff2') format('woff2');
}

/* Josefin Sans — 300 uses regular file, 400 + 600 exact */
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/josefin-sans-v34-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/josefin-sans-v34-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/josefin-sans-v34-latin-600.woff2') format('woff2');
}

/* Playfair Display */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/playfair-display-v40-latin-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/playfair-display-v40-latin-italic.woff2') format('woff2');
}

/* ══════════════════════════════════════
   DARK MODE (default)
══════════════════════════════════════ */
:root {
  --bg:          #110f10;
  --bg2:         #231a1a;
  --bg3:         #2c2020;
  --surface:     #2c2020;
  --surface2:    #351e1e;
  --text:        #fdf4ec;
  --text-muted:  #9a7878;
  --text-faint:  rgba(253,244,236,.55);
  --rose:        #c97080;
  --deep-rose:   #a84f5f;
  --blush:       #f2c4c4;
  --gold:        #d4a843;
  --brass:       #b8860b;
  --neon:        #ff6b9d;
  --border:      rgba(201,112,128,0.18);
  --gold-border: rgba(212,168,67,0.22);
  --nav-bg:      rgba(17,15,16,0.94);
  --mobile-bg:   rgba(17,15,16,0.97);
  --card-hover-shadow: 0 12px 40px rgba(0,0,0,.4);
  --hero-grad1:  rgba(169,79,95,.2);
  --hero-grad2:  rgba(184,134,11,.07);
  --page-hero-grad: rgba(169,79,95,.15);

  /* legacy aliases so inline styles still work */
  --dark:   #110f10;
  --walnut: #231a1a;
  --walnut2:#2c2020;
  --cream:  #fdf4ec;
  --muted:  #9a7878;
}

/* ══════════════════════════════════════
   LIGHT MODE  (Bunny's pink café)
   Soft pinks, berry rose accents, rose gold highlights.
══════════════════════════════════════ */
[data-theme="light"] {
  --bg:          #fff4f7;   /* soft whisper-pink, cherry blossom in cream */
  --bg2:         #ffe4ec;   /* powder rose */
  --bg3:         #fbd4e0;   /* dusty petal */
  --surface:     #fffafc;   /* near-white with pink kiss — cards */
  --surface2:    #ffe0e8;   /* elevated rose */
  --text:        #3a1d2e;   /* deep wine-plum — warm & readable */
  --text-muted:  #8b4a63;   /* muted rose-brown */
  --text-faint:  rgba(58,29,46,.55);
  --rose:        #c14670;   /* rich berry rose (primary accent) */
  --deep-rose:   #8f2b50;   /* velvet burgundy */
  --blush:       #e07a9b;   /* soft blush highlight */
  --gold:        #b07a4a;   /* rose gold / champagne */
  --brass:       #8a5a30;   /* darker rose gold */
  --neon:        #c14670;
  --border:      rgba(193,70,112,.20);
  --gold-border: rgba(176,122,74,.30);
  --nav-bg:      rgba(255,244,247,.96);
  --mobile-bg:   rgba(255,244,247,1);
  --card-hover-shadow: 0 6px 24px rgba(193,70,112,.15);
  --hero-grad1:  rgba(193,70,112,.12);
  --hero-grad2:  rgba(224,122,155,.08);
  --page-hero-grad: rgba(193,70,112,.09);

  --dark:   #fff4f7;
  --walnut: #ffe4ec;
  --walnut2:#fbd4e0;
  --cream:  #3a1d2e;
  --muted:  #8b4a63;
}

/* ── THEME TOGGLE BUTTON ── */
.theme-toggle {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 2px;
  padding: .38rem .85rem;
  cursor: pointer;
  flex-shrink: 0;
  font-family: 'Josefin Sans', sans-serif;
  font-size: .58rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-muted);
  transition: all .25s;
  position: relative;
  z-index: 300;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  white-space: nowrap;
}
.theme-toggle:hover {
  border-color: var(--rose);
  color: var(--rose);
  background: rgba(224,122,155,.07);
}
.theme-toggle:active { transform: scale(.96); }
.tt-icon { font-size: .9rem; line-height: 1; display: block; pointer-events: none; }
.tt-word { pointer-events: none; }
[data-theme="light"] .theme-toggle {
  background: rgba(193,70,112,.07);
  border-color: rgba(193,70,112,.25);
  color: var(--rose);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Lora', Georgia, serif;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  transition: background .35s ease, color .35s ease;
}

/* GRAIN — desktop only */
@media (min-width: 769px) {
  body::after {
    content: '';
    position: fixed; inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    pointer-events: none; z-index: 100; opacity: 0.3;
  }
}

/* ── NAV ── */
nav {
  position: sticky; top: 0; z-index: 200;
  background: var(--nav-bg);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
  padding: 0 2.5rem;
  display: flex; align-items: center; justify-content: space-between;
  height: 64px;
  transition: background .35s;
}
.nav-logo { font-family:'DM Serif Display',serif; font-size:1.3rem; color:var(--text); text-decoration:none; }
.nav-logo em { color:var(--rose); font-style:italic; }
.nav-links { display:flex; gap:2.2rem; list-style:none; align-items:center; }
.nav-links a {
  font-family:'Josefin Sans',sans-serif; font-size:.66rem;
  letter-spacing:.22em; text-transform:uppercase; text-decoration:none;
  color:var(--text-muted); transition:color .25s;
}
.nav-links a:hover, .nav-links a.active { color:var(--blush); }
.nav-rabbit { font-size:1rem; animation:bob 3s ease-in-out infinite; }
@keyframes bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.hamburger span { display:block; width:22px; height:1.5px; background:var(--text); transition:all .3s; }
.mobile-menu { display:none; position:fixed; top:64px; left:0; right:0; background:var(--mobile-bg); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); padding:1.5rem 2rem; z-index:199; transition:background .35s; }
.mobile-menu.open { display:block; }
.mobile-menu ul { list-style:none; display:flex; flex-direction:column; gap:1.2rem; }
.mobile-menu a { font-family:'Josefin Sans',sans-serif; font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; text-decoration:none; color:var(--text-muted); transition:color .25s; }
.mobile-menu a:hover { color:var(--blush); }
/* theme toggle in mobile menu */
.mobile-menu .theme-toggle-wrap { padding-top:.5rem; border-top:1px solid var(--border); display:flex; align-items:center; gap:.8rem; }
.mobile-menu .theme-label { font-family:'Josefin Sans',sans-serif; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-muted); }

/* ── UTILITIES ── */
.section { max-width:1100px; margin:0 auto; padding:5rem 2rem; }
.label { font-family:'Josefin Sans',sans-serif; font-size:.64rem; letter-spacing:.35em; text-transform:uppercase; color:var(--rose); margin-bottom:.8rem; display:block; }
.title { font-family:'DM Serif Display',serif; font-size:clamp(2rem,4vw,3rem); line-height:1.08; color:var(--text); }
.title em { color:var(--rose); font-style:italic; }
.subtitle { font-family:'Lora',serif; font-style:italic; font-size:1rem; color:var(--text-muted); margin-top:.6rem; line-height:1.7; }
.page-hero {
  padding:5rem 2rem 4rem; text-align:center;
  background:radial-gradient(ellipse 80% 50% at 50% 0%,var(--page-hero-grad),transparent 65%);
  border-bottom:1px solid var(--border);
}

.divider { display:flex; align-items:center; gap:1rem; margin:2rem 0; }
.divider::before,.divider::after { content:''; flex:1; height:1px; background:linear-gradient(to right,transparent,var(--brass),transparent); }
.divider span { color:var(--gold); font-size:.9rem; }

.card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:3px; overflow:hidden;
  transition:transform .3s,border-color .3s,box-shadow .3s,background .35s;
}
.card:hover { transform:translateY(-4px); border-color:rgba(224,122,155,.4); box-shadow:var(--card-hover-shadow); }
[data-theme="light"] .card:hover { border-color:rgba(193,70,112,.35); }

.btn { display:inline-block; font-family:'Josefin Sans',sans-serif; font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; padding:.8rem 2rem; border-radius:2px; cursor:pointer; transition:all .3s; text-decoration:none; border:none; }
.btn-primary { background:var(--rose); color:var(--bg); }
.btn-primary:hover { background:var(--deep-rose); transform:translateY(-2px); box-shadow:0 8px 24px rgba(168,79,95,.35); }
.btn-ghost { background:transparent; color:var(--text); border:1px solid var(--border); }
.btn-ghost:hover { border-color:var(--blush); color:var(--blush); transform:translateY(-2px); }

.badge { display:inline-block; font-family:'Josefin Sans',sans-serif; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; padding:.28rem .75rem; border-radius:2px; background:rgba(224,122,155,.1); border:1px solid rgba(224,122,155,.22); color:var(--rose); }
.badge-gold { background:rgba(212,168,67,.1); border-color:rgba(212,168,67,.22); color:var(--gold); }
[data-theme="light"] .badge { background:rgba(193,70,112,.08); border-color:rgba(193,70,112,.2); }
[data-theme="light"] .badge-gold { background:rgba(176,122,74,.08); border-color:rgba(176,122,74,.2); }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

.neon { color:var(--neon); text-shadow:0 0 8px var(--neon),0 0 24px rgba(255,107,157,.4); animation:flicker 6s infinite; }
[data-theme="light"] .neon { text-shadow:0 0 6px rgba(193,70,112,.3); }
@keyframes flicker { 0%,19%,21%,23%,25%,54%,56%,100%{opacity:1} 20%,24%,55%{opacity:.5} }

.marquee-wrap { background:var(--bg3); overflow:hidden; border-top:1px solid var(--gold-border); border-bottom:1px solid var(--gold-border); padding:.85rem 0; transition:background .35s; }
.marquee-inner { display:flex; gap:4rem; width:max-content; animation:mscroll 30s linear infinite; }
.marquee-inner span { font-family:'Josefin Sans',sans-serif; font-size:.63rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); white-space:nowrap; flex-shrink:0; }
@keyframes mscroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── FOOTER ── */
footer { background:var(--surface); border-top:1px solid var(--gold-border); padding:3rem 2rem; text-align:center; margin-top:4rem; transition:background .35s; }
.footer-logo { font-family:'DM Serif Display',serif; font-size:1.5rem; color:var(--text); margin-bottom:.4rem; }
.footer-logo em { color:var(--rose); font-style:italic; }
.footer-sub { font-family:'Lora',serif; font-style:italic; font-size:.85rem; color:var(--text-muted); margin-bottom:1.5rem; }
.footer-nav { display:flex; gap:2rem; justify-content:center; flex-wrap:wrap; list-style:none; margin-bottom:1.5rem; }
.footer-nav a { font-family:'Josefin Sans',sans-serif; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; text-decoration:none; color:var(--text-muted); transition:color .25s; }
.footer-nav a:hover { color:var(--blush); }
.footer-copy { font-size:.75rem; color:var(--text-muted); opacity:.4; }

@media(max-width:768px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .section { padding:3rem 1.2rem; }
  .page-hero { padding:3rem 1.2rem 2.5rem; }
}

/* ── LIGHT MODE OVERRIDES ── */

/* Base */
[data-theme="light"] body { background:#fff4f7; color:#3a1d2e; }
[data-theme="light"] nav { background:rgba(255,244,247,.97); border-bottom-color:rgba(193,70,112,.3); box-shadow:0 2px 12px rgba(193,70,112,.1); }
[data-theme="light"] .nav-logo { color:#3a1d2e; }
[data-theme="light"] .nav-links a { color:#8b4a63; }
[data-theme="light"] .nav-links a:hover,
[data-theme="light"] .nav-links a.active { color:#c14670; }
[data-theme="light"] .hamburger span { background:#3a1d2e; }
[data-theme="light"] .mobile-menu { background:rgba(255,244,247,1); border-bottom-color:rgba(193,70,112,.25); }
[data-theme="light"] .mobile-menu a { color:#8b4a63; }
[data-theme="light"] .mobile-menu a:hover { color:#c14670; }
[data-theme="light"] .page-hero { background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(193,70,112,.18),transparent 65%); border-bottom-color:rgba(193,70,112,.25); }
[data-theme="light"] .cc-hero { background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(193,70,112,.2),transparent 60%),#fff4f7; }
[data-theme="light"] .title { color:#3a1d2e; }
[data-theme="light"] .title em { color:#c14670; }
[data-theme="light"] .label { color:#c14670; }
[data-theme="light"] .subtitle { color:#8b4a63; }
[data-theme="light"] .card { background:#fffafc; border-color:rgba(193,70,112,.22); }
[data-theme="light"] .card:hover { border-color:#c14670; box-shadow:0 8px 32px rgba(193,70,112,.2); }
[data-theme="light"] .btn-primary { background:#c14670; color:#fff; }
[data-theme="light"] .btn-primary:hover { background:#8f2b50; }
[data-theme="light"] .btn-ghost { color:#3a1d2e; border-color:rgba(193,70,112,.3); }
[data-theme="light"] .btn-ghost:hover { border-color:#c14670; color:#c14670; background:rgba(193,70,112,.05); }
[data-theme="light"] .badge { background:rgba(193,70,112,.1); border-color:rgba(193,70,112,.28); color:#c14670; }
[data-theme="light"] .badge-gold { background:rgba(176,122,74,.1); border-color:rgba(176,122,74,.28); color:#b07a4a; }
[data-theme="light"] .divider::before,
[data-theme="light"] .divider::after { background:linear-gradient(to right,transparent,rgba(193,70,112,.5),transparent); }
[data-theme="light"] .marquee-wrap { background:#fbd4e0; border-color:rgba(193,70,112,.3); }
[data-theme="light"] .marquee-inner span { color:#8f2b50; }
[data-theme="light"] footer { background:#ffe4ec; border-top-color:rgba(193,70,112,.3); }
[data-theme="light"] .footer-logo { color:#3a1d2e; }
[data-theme="light"] .footer-logo em { color:#c14670; }
[data-theme="light"] .footer-sub { color:#8b4a63; }
[data-theme="light"] .footer-nav a { color:#8b4a63; }
[data-theme="light"] .footer-nav a:hover { color:#c14670; }
[data-theme="light"] .footer-copy { color:#8b4a63; opacity:.5; }
[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select { background:#fffafc !important; border-color:rgba(193,70,112,.28) !important; color:#3a1d2e !important; }
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder { color:#8b4a63 !important; }
[data-theme="light"] input:focus,
[data-theme="light"] textarea:focus,
[data-theme="light"] select:focus { border-color:#c14670 !important; box-shadow:0 0 0 2px rgba(193,70,112,.12) !important; }
[data-theme="light"] select option { background:#fffafc; color:#3a1d2e; }
[data-theme="light"] .modal-bg,
[data-theme="light"] .edit-modal-bg { background:rgba(58,29,46,.6); }
[data-theme="light"] .modal-box,
[data-theme="light"] .edit-modal { background:#fffafc; border-color:rgba(193,70,112,.25); box-shadow:0 20px 60px rgba(193,70,112,.15); }
[data-theme="light"] .modal-title { color:#3a1d2e; }
[data-theme="light"] .modal-sub { color:#8b4a63; }
[data-theme="light"] .modal-close { color:#8b4a63; }
[data-theme="light"] .modal-close:hover { color:#c14670; }
[data-theme="light"] .modal-field label { color:#c14670; }
[data-theme="light"] .modal-err { color:#c14670; }
[data-theme="light"] .stats-bar { background:#fbd4e0; border-bottom-color:rgba(193,70,112,.25); }
[data-theme="light"] .stat { color:#8b4a63; }
[data-theme="light"] .stat span { color:#3a1d2e; }
[data-theme="light"] .admin-login-btn { border-color:rgba(193,70,112,.3); color:#8b4a63; }
[data-theme="light"] .admin-login-btn:hover,
[data-theme="light"] .admin-login-btn.logged-in { border-color:#c14670; color:#c14670; background:rgba(193,70,112,.07); }
[data-theme="light"] .admin-bar { background:rgba(193,70,112,.1); border-color:rgba(193,70,112,.3); }
[data-theme="light"] .admin-bar-label { color:#8f2b50; }
[data-theme="light"] .admin-card-controls { background:rgba(193,70,112,.05); border-top-color:rgba(193,70,112,.15); }
[data-theme="light"] .admin-mini-btn { color:#8b4a63; border-color:rgba(193,70,112,.25); }
[data-theme="light"] .admin-mini-btn:hover { border-color:#c14670; color:#c14670; }
[data-theme="light"] .admin-mini-btn.danger:hover { border-color:#cc0000; color:#cc0000; }
[data-theme="light"] .add-panel { background:#ffe4ec; border-color:rgba(193,70,112,.3); }
[data-theme="light"] .add-panel-title { color:#c14670; }
[data-theme="light"] .filt-btn { color:#8b4a63; border-color:rgba(193,70,112,.25); }
[data-theme="light"] .filt-btn:hover { border-color:#c14670; color:#c14670; }
[data-theme="light"] .filt-btn.active { background:rgba(193,70,112,.12); border-color:#c14670; color:#c14670; }
[data-theme="light"] .filter-tag { color:#8b4a63; border-color:rgba(193,70,112,.22); background:rgba(193,70,112,.04); }
[data-theme="light"] .filter-tag:hover,
[data-theme="light"] .filter-tag.active { border-color:#c14670; color:#c14670; background:rgba(193,70,112,.1); }
[data-theme="light"] .poll-card { background:#fffafc; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .poll-card.hot { border-color:rgba(193,70,112,.45); }
[data-theme="light"] .poll-week { color:#8b4a63; }
[data-theme="light"] .poll-heading { color:#c14670; }
[data-theme="light"] .poll-title { color:#3a1d2e; }
[data-theme="light"] .poll-announce { color:#8b4a63; }
[data-theme="light"] .poll-option { background:#fff4f7; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .poll-option:hover:not(.no-vote) { border-color:#e07a9b; background:#ffe0e8; }
[data-theme="light"] .poll-option.my-vote { border-color:#c14670; background:rgba(193,70,112,.06); }
[data-theme="light"] .poll-option-text { color:#3a1d2e; }
[data-theme="light"] .bar-wakie { background:rgba(176,122,74,.2); }
[data-theme="light"] .bar-site { background:rgba(193,70,112,.15); }
[data-theme="light"] .bar-full { background:rgba(193,70,112,.13); }
[data-theme="light"] .poll-hot-badge { background:rgba(176,122,74,.12); border-color:rgba(176,122,74,.3); color:#b07a4a; }
[data-theme="light"] .poll-status-badge.open { background:rgba(193,70,112,.12); border-color:rgba(193,70,112,.3); color:#c14670; }
[data-theme="light"] .poll-status-badge.closed { background:rgba(58,29,46,.06); border-color:rgba(58,29,46,.18); color:#8b4a63; }
[data-theme="light"] .pct-wakie { color:#b07a4a; }
[data-theme="light"] .pct-site { color:#8b4a63; }
[data-theme="light"] .pct-site.myvoted { color:#c14670; }
[data-theme="light"] .vote-count { color:#8b4a63; }
[data-theme="light"] .vote-count span { color:#3a1d2e; }
[data-theme="light"] .poll-footer { border-top-color:rgba(193,70,112,.1); }
[data-theme="light"] .char-card { background:#fffafc; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .char-name { color:#3a1d2e; }
[data-theme="light"] .char-role { color:#c14670; }
[data-theme="light"] .char-desc { color:#8b4a63; }
[data-theme="light"] .char-sig { color:#8b4a63; }
[data-theme="light"] .spotlight { background:#ffe4ec; border-color:rgba(176,122,74,.25); }
[data-theme="light"] .spotlight-title { color:#b07a4a; }
[data-theme="light"] .spotlight-text { color:#3a1d2e; }
[data-theme="light"] .spotlight-quote { border-left-color:#c14670; background:rgba(193,70,112,.07); color:#c14670; }
[data-theme="light"] .post-item { background:#fffafc; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .post-name { color:#3a1d2e; }
[data-theme="light"] .post-text { color:#3a1d2e; }
[data-theme="light"] .post-time { color:#8b4a63; }
[data-theme="light"] .react-btn { color:#8b4a63; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .react-btn:hover { border-color:#c14670; color:#c14670; }
[data-theme="light"] .react-btn.reacted { border-color:#c14670; color:#c14670; background:rgba(193,70,112,.08); }
[data-theme="light"] .post-form { background:#ffe4ec; border-color:rgba(193,70,112,.25); }
[data-theme="light"] .post-form h3 { color:#3a1d2e; }
[data-theme="light"] .post-form p { color:#8b4a63; }
[data-theme="light"] .form-group label { color:#c14670; }
[data-theme="light"] .lore-card { background:#fffafc; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .lore-title { color:#3a1d2e; }
[data-theme="light"] .lore-excerpt { color:#8b4a63; }
[data-theme="light"] .lore-read { color:#c14670; }
[data-theme="light"] .lore-tag-bar { background:#fff4f7; border-bottom-color:rgba(193,70,112,.12); }
[data-theme="light"] .lore-featured-art { background:#ffe4ec; }
[data-theme="light"] .ep-card { background:#fffafc; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .ep-num { color:#c14670; }
[data-theme="light"] .ep-title { color:#3a1d2e; }
[data-theme="light"] .ep-desc { color:#8b4a63; }
[data-theme="light"] .ep-thumb { background:#fbd4e0; }
[data-theme="light"] .ep-watch { color:#c14670; }
[data-theme="light"] .term-card { background:#fffafc; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .term-word { color:#3a1d2e; }
[data-theme="light"] .term-category { color:#c14670; }
[data-theme="light"] .term-def { color:#8b4a63; }
[data-theme="light"] .term-def strong { color:#8f2b50; }
[data-theme="light"] .alpha-btn { color:#8b4a63; border-color:rgba(193,70,112,.2); background:rgba(193,70,112,.04); }
[data-theme="light"] .alpha-btn.has-terms { border-color:rgba(193,70,112,.35); color:#c14670; }
[data-theme="light"] .alpha-btn.active { background:#c14670; border-color:#c14670; color:#fff; }
[data-theme="light"] .alpha-header { color:rgba(193,70,112,.3); }
[data-theme="light"] .random-bar { background:rgba(193,70,112,.07); border-color:rgba(193,70,112,.2); }
[data-theme="light"] .comm-card { background:#fffafc; }
[data-theme="light"] .comm-title { color:#3a1d2e; }
[data-theme="light"] .comm-desc { color:#8b4a63; }
[data-theme="light"] .char-chip { background:#fffafc; border-color:rgba(193,70,112,.22); }
[data-theme="light"] .char-chip:hover { background:#fff4f7; border-color:#c14670; }
[data-theme="light"] .char-chip-name { color:#3a1d2e; }
[data-theme="light"] .char-chip-role { color:#8b4a63; }
[data-theme="light"] .tab-section { background:#ffe4ec; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .tab-btn { color:#8b4a63; }
[data-theme="light"] .tab-btn.active { color:#3a1d2e; border-bottom-color:#c14670; }
[data-theme="light"] .yt-card { background:#fffafc; border-color:rgba(193,70,112,.2); }
[data-theme="light"] .yt-thumb { background:#fbd4e0; }
[data-theme="light"] .yt-title { color:#3a1d2e; }
[data-theme="light"] .yt-label { color:#c14670; }
[data-theme="light"] .yt-meta { color:#8b4a63; }
[data-theme="light"] .yt-channel-name { color:#3a1d2e; }
[data-theme="light"] .yt-channel-name span { color:#c14670; }
[data-theme="light"] .term-teaser { background:rgba(193,70,112,.07); border-color:rgba(193,70,112,.22); }
[data-theme="light"] .term-teaser-word { color:#c14670; font-weight:700; }
[data-theme="light"] .term-teaser-def { color:#8b4a63; }
[data-theme="light"] .neon { color:#c14670; text-shadow:0 0 10px rgba(193,70,112,.4),0 0 20px rgba(193,70,112,.2); }
[data-theme="light"] .theme-toggle { background:#fffafc; border-color:rgba(193,70,112,.35); color:#c14670; font-weight:600; }
[data-theme="light"] .theme-toggle:hover { background:#c14670; border-color:#c14670; color:#fff; }
[data-theme="light"] .theme-toggle-wrap .theme-label { color:#8b4a63; }

/* Catch-all for hardcoded inline styles */
[data-theme="light"] [style*="color:rgba(253,244,236"] { color:#3a1d2e !important; }
[data-theme="light"] [style*="color: rgba(253,244,236"] { color:#3a1d2e !important; }
[data-theme="light"] [style*="background:rgba(17,15,16"] { background:#fffafc !important; }
[data-theme="light"] [style*="background: rgba(17,15,16"] { background:#fffafc !important; }
[data-theme="light"] [style*="background:rgba(44,32,32"] { background:#fffafc !important; }
[data-theme="light"] [style*="background:rgba(30,26,27"] { background:#fffafc !important; }
[data-theme="light"] [style*="background:var(--walnut)"] { background:#ffe4ec !important; }
[data-theme="light"] [style*="background: var(--walnut)"] { background:#ffe4ec !important; }
[data-theme="light"] [style*="background:var(--dark)"] { background:#fffafc !important; }
[data-theme="light"] [style*="color:var(--muted)"] { color:#8b4a63 !important; }
[data-theme="light"] [style*="color: var(--muted)"] { color:#8b4a63 !important; }
[data-theme="light"] [style*="color:var(--cream)"] { color:#3a1d2e !important; }
[data-theme="light"] [style*="color: var(--cream)"] { color:#3a1d2e !important; }
[data-theme="light"] [style*="color:var(--gold)"] { color:#b07a4a !important; }
[data-theme="light"] [style*="color:var(--blush)"] { color:#c14670 !important; }
[data-theme="light"] [style*="color:rgba(154,120,120"] { color:#8b4a63 !important; }
[data-theme="light"] [style*="color:rgba(201,112,128"] { color:#8b4a63 !important; }
[data-theme="light"] [style*="border:1px solid var(--border)"] { border-color:rgba(193,70,112,.25) !important; }
[data-theme="light"] [style*="border:1px solid var(--gold-border)"] { border-color:rgba(193,70,112,.22) !important; }
[data-theme="light"] [style*="border-bottom:1px solid var(--border)"] { border-bottom-color:rgba(193,70,112,.15) !important; }
[data-theme="light"] [style*="border-top:1px solid var(--border)"] { border-top-color:rgba(193,70,112,.15) !important; }
[data-theme="light"] [style*="font-style:italic;color:rgba(253,244,236"] { color:#8b4a63 !important; }
