/* ══════════════════════════════════════════════════════════════════
   THEME — SWISS LIGHT
   Clean white. Card panels. Vertical red bar accents.
   Monospaced dates. Rule-flanked section titles.
   ══════════════════════════════════════════════════════════════════ */
[data-theme="swiss-brut-light"] {
  --bg: #fafafa;
  --fg: #111;
  --accent: #e20613;
  --link: #e20613;
  --heading-font: 'Be Vietnam Pro', 'Helvetica Neue', sans-serif;
  --body-font: 'Be Vietnam Pro', 'Helvetica Neue', sans-serif;
  --mono-font: 'JetBrains Mono', monospace;
  --body-size: 15px;
  --body-lh: 1.7;
  --content-width: 760px;

  --header-pad: 20px 0;
  --header-border: 1px solid #ddd;
  --logo-size: 15px;
  --logo-weight: 800;
  --logo-tracking: 0.1em;
  --nav-transform: uppercase;
  --nav-size: 11px;
  --nav-gap: 24px;

  --hero-pad: 80px 24px 60px;
  --hero-title-size: clamp(3rem, 9vw, 7rem);
  --hero-title-weight: 800;
  --hero-title-lh: 0.88;
  --hero-title-tracking: -0.05em;
  --hero-sub-size: 0.9rem;
  --hero-align: left;

  --card-pad: 0;
  --card-border: none;
  --card-title-size: 1.2rem;
  --card-title-weight: 700;
  --card-title-tracking: -0.02em;

  --tag-radius: 0;
  --tag-bg: #e20613;
  --tag-fg: #fff;

  --bq-border: 4px solid #e20613;
  --pre-bg: #111;
  --pre-radius: 0;
  --code-bg: rgba(226,6,19,0.06);
  --hr-style: 1px solid #ddd;

  --meta-size: 10px;
  --meta-transform: uppercase;
  --section-title-size: 10px;
  --post-header-pad: 60px 0 40px;

  --nav-active-border: 2px solid #e20613;
  --nav-active-pb: 2px;

  --border-subtle: #ddd;
  --card-bg: #f0f0f0;
  --card-bg-hover: #eaeaea;
  --year-color: rgba(0,0,0,0.04);
}

[data-theme="swiss-brut-light"] .site-logo {
  text-transform: uppercase;
  font-family: var(--heading-font);
}

[data-theme="swiss-brut-light"] .site-nav a {
  font-weight: 600;
  letter-spacing: 0.08em;
}

/* Vertical red bar on left of hero */
[data-theme="swiss-brut-light"] .hero {
  border-bottom: 1px solid #ddd;
  position: relative;
  padding-left: 48px;
}
[data-theme="swiss-brut-light"] .hero::before {
  content: '';
  position: absolute;
  top: 40px;
  bottom: 40px;
  left: 24px;
  width: 4px;
  background: #e20613;
}

[data-theme="swiss-brut-light"] .hero-title {
  text-transform: uppercase;
}
[data-theme="swiss-brut-light"] .hero-subtitle {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 11px;
  margin-top: 20px;
}

/* Section title with horizontal rules */
[data-theme="swiss-brut-light"] .section-title {
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.15em;
  opacity: 1;
  color: #111;
  display: flex;
  align-items: center;
  gap: 16px;
}
[data-theme="swiss-brut-light"] .section-title::before,
[data-theme="swiss-brut-light"] .section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #ddd;
}

/* Card panels */
[data-theme="swiss-brut-light"] .post-card {
  padding: 24px;
  margin-bottom: 8px;
  background: #f0f0f0;
  border: 1px solid #e0e0e0;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
[data-theme="swiss-brut-light"] .post-card:hover {
  border-color: #e20613;
  background: #eaeaea;
}

/* Monospaced metadata */
[data-theme="swiss-brut-light"] .post-card .post-meta time {
  font-family: var(--mono-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.02em;
  opacity: 0.4;
}

[data-theme="swiss-brut-light"] .tag {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 8px;
}

[data-theme="swiss-brut-light"] .read-more {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #e20613 !important;
}

[data-theme="swiss-brut-light"] .post-card .post-title a:hover {
  color: #e20613;
}

[data-theme="swiss-brut-light"] .site-footer {
  border-top: 1px solid #ddd;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.1em;
  font-weight: 600;
}

/* Post header — red bar beside title like the hero */
[data-theme="swiss-brut-light"] .post-header {
  border-bottom: 1px solid #ddd;
  padding-bottom: 28px;
  position: relative;
  padding-left: 24px;
}
[data-theme="swiss-brut-light"] .post-header::before {
  content: '';
  position: absolute;
  top: 40px;
  bottom: 28px;
  left: 0;
  width: 4px;
  background: #e20613;
}
[data-theme="swiss-brut-light"] .post-header .post-title {
  text-transform: uppercase;
}


[data-theme="swiss-brut-light"] .prose h2,
[data-theme="swiss-brut-light"] .prose h3 {
  text-transform: uppercase;
  letter-spacing: -0.01em;
}

[data-theme="swiss-brut-light"] .prose blockquote {
  background: rgba(226,6,19,0.04);
  padding: 20px 24px;
  border-left: 4px solid #e20613;
}

/* Archive header — red bar beside title */
[data-theme="swiss-brut-light"] .archive-header {
  position: relative;
}
[data-theme="swiss-brut-light"] .archive-header .page-title {
  position: relative;
  padding-left: 24px;
}
[data-theme="swiss-brut-light"] .archive-header .page-title::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: #e20613;
}


/* ══════════════════════════════════════════════════════════════════
   THEME — SWISS NIGHT
   Dark Swiss precision. Near-black bg. Card panels with background.
   Vertical red bar accents. Monospaced metadata. Filled red tags.
   ══════════════════════════════════════════════════════════════════ */
[data-theme="swiss-brut-night"] {
  --bg: #111113;
  --fg: #eee;
  --accent: #e20613;
  --link: #e20613;
  --heading-font: 'Be Vietnam Pro', 'Helvetica Neue', sans-serif;
  --body-font: 'Be Vietnam Pro', 'Helvetica Neue', sans-serif;
  --mono-font: 'JetBrains Mono', monospace;
  --body-size: 15px;
  --body-lh: 1.7;
  --content-width: 760px;

  --header-pad: 20px 0;
  --header-border: 1px solid #2a2a2c;
  --logo-size: 15px;
  --logo-weight: 800;
  --logo-tracking: 0.1em;
  --nav-transform: uppercase;
  --nav-size: 11px;
  --nav-gap: 24px;

  --hero-pad: 80px 24px 60px;
  --hero-title-size: clamp(3rem, 9vw, 7rem);
  --hero-title-weight: 800;
  --hero-title-lh: 0.88;
  --hero-title-tracking: -0.05em;
  --hero-sub-size: 0.9rem;
  --hero-align: left;

  --card-pad: 0;
  --card-border: none;
  --card-title-size: 1.2rem;
  --card-title-weight: 700;
  --card-title-tracking: -0.02em;

  --tag-radius: 0;
  --tag-bg: #e20613;
  --tag-fg: #fff;

  --bq-border: 4px solid #e20613;
  --pre-bg: #0a0a0c;
  --pre-radius: 0;
  --code-bg: rgba(226,6,19,0.1);
  --hr-style: 1px solid #2a2a2c;

  --meta-size: 10px;
  --meta-transform: uppercase;
  --section-title-size: 10px;
  --post-header-pad: 60px 0 40px;

  --nav-active-border: 2px solid #e20613;
  --nav-active-pb: 2px;

  --border-subtle: #2a2a2c;
  --card-bg: #1a1a1c;
  --card-bg-hover: #1e1e20;
  --year-color: rgba(255,255,255,0.03);
}

[data-theme="swiss-brut-night"] .site-logo {
  text-transform: uppercase;
  font-family: var(--heading-font);
}

[data-theme="swiss-brut-night"] .site-nav a {
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #eee;
}

/* Vertical red bar on left of hero */
[data-theme="swiss-brut-night"] .hero {
  border-bottom: 1px solid #2a2a2c;
  position: relative;
  padding-left: 48px;
}
[data-theme="swiss-brut-night"] .hero::before {
  content: '';
  position: absolute;
  top: 40px;
  bottom: 40px;
  left: 24px;
  width: 4px;
  background: #e20613;
}

[data-theme="swiss-brut-night"] .hero-title {
  text-transform: uppercase;
}
[data-theme="swiss-brut-night"] .hero-subtitle {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 11px;
  margin-top: 20px;
}

/* Section title with horizontal rules */
[data-theme="swiss-brut-night"] .section-title {
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.15em;
  opacity: 1;
  color: #eee;
  display: flex;
  align-items: center;
  gap: 16px;
}
[data-theme="swiss-brut-night"] .section-title::before,
[data-theme="swiss-brut-night"] .section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #2a2a2c;
}

/* Card panels with dark background */
[data-theme="swiss-brut-night"] .post-card {
  padding: 24px;
  margin-bottom: 8px;
  background: #1a1a1c;
  border: 1px solid #2a2a2c;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
[data-theme="swiss-brut-night"] .post-card:hover {
  border-color: #e20613;
  background: #1e1e20;
}

/* Monospaced metadata */
[data-theme="swiss-brut-night"] .post-card .post-meta time {
  font-family: var(--mono-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.02em;
  opacity: 0.4;
}

[data-theme="swiss-brut-night"] .tag {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 8px;
}

[data-theme="swiss-brut-night"] .read-more {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #e20613 !important;
}

[data-theme="swiss-brut-night"] .post-card .post-title a:hover {
  color: #e20613;
}

[data-theme="swiss-brut-night"] .site-footer {
  border-top: 1px solid #2a2a2c;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.1em;
  font-weight: 600;
}

/* Post header — red bar beside title like the hero */
[data-theme="swiss-brut-night"] .post-header {
  border-bottom: 1px solid #2a2a2c;
  padding-bottom: 28px;
  position: relative;
  padding-left: 24px;
}
[data-theme="swiss-brut-night"] .post-header::before {
  content: '';
  position: absolute;
  top: 40px;
  bottom: 28px;
  left: 0;
  width: 4px;
  background: #e20613;
}
[data-theme="swiss-brut-night"] .post-header .post-title {
  text-transform: uppercase;
}


[data-theme="swiss-brut-night"] .prose h2,
[data-theme="swiss-brut-night"] .prose h3 {
  text-transform: uppercase;
  letter-spacing: -0.01em;
}

[data-theme="swiss-brut-night"] .prose blockquote {
  background: rgba(226,6,19,0.06);
  padding: 20px 24px;
  border-left: 4px solid #e20613;
}

/* Archive header — red bar beside title */
[data-theme="swiss-brut-night"] .archive-header {
  position: relative;
}
[data-theme="swiss-brut-night"] .archive-header .page-title {
  position: relative;
  padding-left: 24px;
}
[data-theme="swiss-brut-night"] .archive-header .page-title::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: #e20613;
}


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE — Theme-specific mobile overrides
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  [data-theme="swiss-brut-light"] .hero,
  [data-theme="swiss-brut-night"] .hero {
    padding-left: 36px;
  }
  [data-theme="swiss-brut-light"] .hero::before,
  [data-theme="swiss-brut-night"] .hero::before {
    left: 16px;
    top: 28px;
    bottom: 28px;
  }

  [data-theme="swiss-brut-light"] .archive-header .page-title,
  [data-theme="swiss-brut-night"] .archive-header .page-title {
    padding-left: 16px;
  }

  [data-theme="swiss-brut-light"] .post-card,
  [data-theme="swiss-brut-night"] .post-card {
    padding: 20px 16px;
  }
}

@media (max-width: 480px) {
  [data-theme="swiss-brut-light"] .hero,
  [data-theme="swiss-brut-night"] .hero {
    padding-left: 28px;
  }
  [data-theme="swiss-brut-light"] .hero::before,
  [data-theme="swiss-brut-night"] .hero::before {
    left: 12px;
  }
}
