body.theme-classic {
  --mono: "Cormorant Garamond", Georgia, serif;
  --display: "Playfair Display", "Georgia", serif;
  --serif: "Lora", "Georgia", serif;
}

body.theme-classic .aurora-layer {
  background:
    radial-gradient(ellipse at 30% 20%, rgba(218, 195, 148, 0.12), transparent 50%),
    linear-gradient(160deg, var(--exp-bg-1), var(--exp-bg-2));
}

body.theme-classic .aurora-layer::after {
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 40px,
      rgba(218, 195, 148, 0.03) 40px,
      rgba(218, 195, 148, 0.03) 41px
    );
  animation: none;
}

body.theme-classic .brand-dot {
  border-radius: 0;
  width: 0.6rem;
  height: 1.2rem;
  border: 2px solid var(--exp-accent);
  background: transparent;
  box-shadow: none;
}

body.theme-classic .quick-nav a,
body.theme-classic .hero-link {
  border-radius: 0.2rem;
  border-color: rgba(218, 195, 148, 0.3);
  background: rgba(30, 25, 18, 0.5);
  font-family: var(--serif);
  letter-spacing: 0.04em;
  text-transform: none;
}

body.theme-classic .vibe-btn {
  border-radius: 0.25rem;
  font-family: var(--serif);
}

body.theme-classic .hero h1 {
  font-family: var(--display);
  letter-spacing: -0.01em;
  line-height: 0.95;
  text-shadow: none;
  transform: none;
}

body.theme-classic .hero-kicker {
  font-family: var(--serif);
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: none;
}

body.theme-classic .experience-line {
  font-family: var(--serif);
  font-style: italic;
  text-transform: none;
  letter-spacing: 0.03em;
}

body.theme-classic .panel {
  border-radius: 0.2rem;
  border-color: rgba(218, 195, 148, 0.2);
  backdrop-filter: none;
  background: rgba(20, 17, 12, 0.7);
}

body.theme-classic .panel h2 {
  font-family: var(--display);
  letter-spacing: 0.01em;
}

body.theme-classic .latest-card,
body.theme-classic .track-card,
body.theme-classic .article-card {
  border-radius: 0.2rem;
  background: rgba(20, 17, 12, 0.65);
  border-color: rgba(218, 195, 148, 0.18);
}

body.theme-classic .latest-label {
  font-family: var(--serif);
  font-size: 0.65rem;
  text-transform: capitalize;
  letter-spacing: 0.04em;
  border-radius: 0.15rem;
}

body.theme-classic .latest-title {
  font-family: var(--display);
}

body.theme-classic .book-card {
  border-radius: 0.2rem;
}

body.theme-classic .software-card {
  border-radius: 0.2rem;
}

body.theme-classic .review-card {
  border-radius: 0.2rem;
}

body.theme-classic .press-card {
  border-radius: 0.2rem;
}

body.theme-classic .gallery-thumb {
  border-radius: 0.15rem;
}

body.theme-classic .topbar {
  border-bottom: 2px solid rgba(218, 195, 148, 0.2);
}

body.theme-classic .video-card {
  border-radius: 0.2rem;
  background: rgba(20, 17, 12, 0.65);
  border-color: rgba(218, 195, 148, 0.18);
}

body.theme-classic .sw-link {
  border-radius: 0.2rem;
  font-family: var(--serif);
}

body.theme-classic .photo-grid img {
  border-radius: 0.15rem;
}

body.theme-classic .video-player-wrap {
  border-radius: 0.2rem;
}

body.theme-classic .book-card,
body.theme-classic .video-card {
  border-radius: 0.2rem;
}

body.theme-romantic {
  --mono: "Cormorant Garamond", Georgia, serif;
  --display: "Great Vibes", cursive;
  --serif: "Lora", "Georgia", serif;
}

body.theme-romantic .aurora-layer {
  background:
    radial-gradient(ellipse at 20% 30%, rgba(255, 182, 193, 0.15), transparent 45%),
    radial-gradient(ellipse at 80% 70%, rgba(255, 218, 233, 0.1), transparent 40%),
    linear-gradient(135deg, var(--exp-bg-1), var(--exp-bg-2));
}

body.theme-romantic .aurora-layer::after {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 192, 203, 0.06), transparent 70%);
  animation: romanticPulse 8s ease infinite alternate;
}

@keyframes romanticPulse {
  0% { opacity: 0.5; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.1); }
}

body.theme-romantic .brand-dot {
  border-radius: 50%;
  background: radial-gradient(circle, var(--exp-accent), var(--exp-accent-2));
  box-shadow: 0 0 16px var(--exp-accent), 0 0 32px rgba(255, 182, 193, 0.3);
}

body.theme-romantic .quick-nav a,
body.theme-romantic .hero-link {
  border-radius: 2rem;
  border-color: rgba(255, 192, 203, 0.25);
  background: rgba(80, 20, 40, 0.3);
  font-family: var(--serif);
  letter-spacing: 0.02em;
}

body.theme-romantic .vibe-btn {
  border-radius: 2rem;
  font-family: var(--serif);
  background: linear-gradient(120deg, rgba(255, 105, 135, 0.4), rgba(255, 182, 193, 0.3));
  border-color: rgba(255, 182, 193, 0.4);
}

body.theme-romantic .hero h1 {
  font-family: var(--display);
  letter-spacing: 0.02em;
  line-height: 1;
  text-shadow: 0 0 30px rgba(255, 182, 193, 0.3);
  transform: none;
  font-size: clamp(3rem, 10vw, 6.5rem);
}

body.theme-romantic .hero-kicker {
  font-family: var(--serif);
  font-style: italic;
  letter-spacing: 0.1em;
  text-transform: none;
}

body.theme-romantic .experience-line {
  font-family: var(--serif);
  font-style: italic;
  text-transform: none;
  letter-spacing: 0.03em;
}

body.theme-romantic .panel {
  border-radius: 1rem;
  border-color: rgba(255, 182, 193, 0.15);
  background: rgba(40, 10, 25, 0.5);
  backdrop-filter: blur(6px);
}

body.theme-romantic .panel h2 {
  font-family: var(--display);
  font-size: 2rem;
}

body.theme-romantic .latest-card,
body.theme-romantic .track-card,
body.theme-romantic .article-card {
  border-radius: 0.8rem;
  background: linear-gradient(145deg, rgba(50, 15, 30, 0.7), rgba(30, 10, 20, 0.8));
  border-color: rgba(255, 182, 193, 0.12);
}

body.theme-romantic .latest-card:hover,
body.theme-romantic .track-card:hover,
body.theme-romantic .article-card:hover {
  box-shadow: 0 4px 24px rgba(255, 105, 135, 0.15);
}

body.theme-romantic .latest-label {
  font-family: var(--serif);
  font-style: italic;
  text-transform: none;
  letter-spacing: 0.03em;
  background: rgba(255, 182, 193, 0.1);
  border-radius: 1rem;
}

body.theme-romantic .latest-title {
  font-family: var(--display);
  font-size: 1.3rem;
}

body.theme-romantic .book-card {
  border-radius: 0.8rem;
}

body.theme-romantic .software-card {
  border-radius: 0.8rem;
}

body.theme-romantic .review-card {
  border-radius: 0.8rem;
}

body.theme-romantic .press-card {
  border-radius: 0.8rem;
}

body.theme-romantic .gallery-thumb {
  border-radius: 0.5rem;
}

body.theme-romantic .topbar {
  border-bottom: 1px solid rgba(255, 182, 193, 0.15);
}

body.theme-romantic .video-card {
  border-radius: 0.8rem;
  background: linear-gradient(145deg, rgba(50, 15, 30, 0.7), rgba(30, 10, 20, 0.8));
  border-color: rgba(255, 182, 193, 0.12);
}

body.theme-romantic .sw-link {
  border-radius: 1.5rem;
  font-family: var(--serif);
}

body.theme-romantic .photo-grid img {
  border-radius: 0.5rem;
}

body.theme-romantic .video-player-wrap {
  border-radius: 0.8rem;
}

body.theme-gothic {
  --mono: "Cinzel", Georgia, serif;
  --display: "UnifrakturCook", "Cinzel Decorative", fantasy;
  --serif: "Cinzel", Georgia, serif;
}

body.theme-gothic .aurora-layer {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(120, 0, 30, 0.18), transparent 50%),
    radial-gradient(ellipse at 50% 100%, rgba(30, 0, 60, 0.2), transparent 50%),
    linear-gradient(180deg, var(--exp-bg-1), var(--exp-bg-2));
}

body.theme-gothic .aurora-layer::after {
  background:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 60px,
      rgba(120, 0, 30, 0.04) 60px,
      rgba(120, 0, 30, 0.04) 61px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 60px,
      rgba(120, 0, 30, 0.03) 60px,
      rgba(120, 0, 30, 0.03) 61px
    );
  animation: none;
}

body.theme-gothic .brand-dot {
  border-radius: 0;
  width: 0.9rem;
  height: 0.9rem;
  background: var(--exp-accent);
  box-shadow: 0 0 20px var(--exp-accent);
  transform: rotate(45deg);
}

body.theme-gothic .quick-nav a,
body.theme-gothic .hero-link {
  border-radius: 0;
  border-color: rgba(180, 0, 40, 0.3);
  background: rgba(20, 5, 10, 0.6);
  font-family: var(--serif);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.68rem;
}

body.theme-gothic .vibe-btn {
  border-radius: 0;
  font-family: var(--serif);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.theme-gothic .hero h1 {
  font-family: var(--display);
  letter-spacing: 0.04em;
  line-height: 0.9;
  text-shadow:
    0 0 20px rgba(180, 0, 40, 0.4),
    0 2px 40px rgba(0, 0, 0, 0.6);
  transform: none;
}

body.theme-gothic .hero-kicker {
  font-family: var(--serif);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 0.68rem;
}

body.theme-gothic .experience-line {
  font-family: var(--serif);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.68rem;
}

body.theme-gothic .panel {
  border-radius: 0;
  border-color: rgba(180, 0, 40, 0.2);
  border-width: 1px;
  backdrop-filter: none;
  background: rgba(10, 5, 8, 0.75);
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.3);
}

body.theme-gothic .panel h2 {
  font-family: var(--display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.theme-gothic .latest-card,
body.theme-gothic .track-card,
body.theme-gothic .article-card {
  border-radius: 0;
  background: rgba(12, 5, 10, 0.7);
  border-color: rgba(180, 0, 40, 0.15);
  border-width: 1px;
}

body.theme-gothic .latest-card:hover,
body.theme-gothic .track-card:hover,
body.theme-gothic .article-card:hover {
  border-color: var(--exp-accent);
  box-shadow: 0 0 20px rgba(180, 0, 40, 0.2), inset 0 0 15px rgba(0, 0, 0, 0.3);
}

body.theme-gothic .latest-label {
  font-family: var(--serif);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.6rem;
  border-radius: 0;
}

body.theme-gothic .latest-title {
  font-family: var(--display);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.theme-gothic .book-card {
  border-radius: 0;
}

body.theme-gothic .software-card {
  border-radius: 0;
}

body.theme-gothic .review-card {
  border-radius: 0;
}

body.theme-gothic .press-card {
  border-radius: 0;
}

body.theme-gothic .gallery-thumb {
  border-radius: 0;
}

body.theme-gothic .topbar {
  border-bottom: 2px solid rgba(180, 0, 40, 0.25);
}

body.theme-gothic .hero-link:hover {
  background: rgba(180, 0, 40, 0.2);
}

body.theme-gothic .video-card {
  border-radius: 0;
  background: rgba(12, 5, 10, 0.7);
  border-color: rgba(180, 0, 40, 0.15);
}

body.theme-gothic .sw-link {
  border-radius: 0;
  font-family: var(--serif);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
}

body.theme-gothic .photo-grid img {
  border-radius: 0;
}

body.theme-gothic .video-player-wrap {
  border-radius: 0;
}
