:root {
  color-scheme: dark;
  --darask-bg: #0b0a0e;
  --darask-surface: #131218;
  --darask-surface-2: #17151d;
  --darask-stripe: #1c1a24;
  --darask-gate: #121017;
  --darask-text: #ece9f0;
  --darask-secondary: #cfcbd8;
  --darask-body: #b6b2c2;
  --darask-muted: #9a96a6;
  --darask-muted-soft: #8d899a;
  --darask-subtle: #6f6b7c;
  --darask-accent: #ff3d77;
  --darask-accent-hover: #ff5a8c;
  --darask-accent-rgb: 255, 61, 119;
  --darask-on-accent: #0b0a0e;
  --darask-line-rgb: 255, 255, 255;
  --darask-gate-overlay: rgba(7, 6, 9, .86);
  --darask-gate-shadow: rgba(0, 0, 0, .6);
  --darask-placeholder-overlay: rgba(11, 10, 14, .92);
  --darask-badge-pink: #ff7da5;
  --darask-badge-green: #7fe8c4;
  --darask-badge-purple: #b3a1ff;
  /* Brand tiles and text over cover art retain their own contrast. */
  --darask-brand-ink: #0b0a0e;
  --darask-photo-text: #ece9f0;
  --darask-photo-muted: #cfcbd8;
  --darask-photo-accent: #ff7da5;
}

:root[data-theme="light"] {
  color-scheme: light;
  --darask-bg: #fbf8fc;
  --darask-surface: #ffffff;
  --darask-surface-2: #f3edf6;
  --darask-stripe: #eae3ef;
  --darask-gate: #ffffff;
  --darask-text: #241c2c;
  --darask-secondary: #44384f;
  --darask-body: #51465c;
  --darask-muted: #63576e;
  --darask-muted-soft: #6c6077;
  --darask-subtle: #716879;
  --darask-accent: #bd174a;
  --darask-accent-hover: #a90e3e;
  --darask-accent-rgb: 189, 23, 74;
  --darask-on-accent: #ffffff;
  --darask-line-rgb: 52, 33, 67;
  --darask-gate-overlay: rgba(241, 234, 246, .88);
  --darask-gate-shadow: rgba(44, 22, 61, .18);
  --darask-placeholder-overlay: rgba(251, 248, 252, .94);
  --darask-badge-pink: #ad1243;
  --darask-badge-green: #076d45;
  --darask-badge-purple: #6141bf;
}

.site-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}
.site-header .site-nav { justify-content: flex-end; }
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(var(--darask-line-rgb), .2);
  border-radius: 50%;
  background: var(--darask-surface);
  color: var(--darask-text);
  cursor: pointer;
  font: inherit;
  transition: border-color .15s ease, color .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.theme-toggle:hover { border-color: var(--darask-accent); color: var(--darask-accent); }
.theme-toggle:focus-visible { outline: 3px solid var(--darask-accent); outline-offset: 4px; }
.theme-toggle svg { width: 20px; height: 20px; }
.theme-toggle .theme-icon-moon { display: none; }
:root[data-theme="light"] .theme-toggle .theme-icon-sun { display: none; }
:root[data-theme="light"] .theme-toggle .theme-icon-moon { display: block; }
.age-gate-theme-toggle { position: absolute; top: 16px; right: 16px; z-index: 1; }

@media (max-width: 760px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 14px; }
  .site-header > .theme-toggle { grid-column: 2; grid-row: 1; }
  .site-header .site-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .theme-toggle { transition: none; }
}
