﻿body {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.font-display {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
}
body.theme-dark {
  background: radial-gradient(circle at top left, #111827 0%, #0c1219 55%, #090f14 100%);
  color: #e2e8f0;
}

body.theme-dark .paper-noise {
  background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  opacity: 0.12;
}

body.theme-dark .bg-paper-50 {
  background-color: #0f1419 !important;
}

body.theme-dark .bg-paper-50\/90 {
  background-color: rgba(15, 20, 25, 0.9) !important;
}

body.theme-dark .bg-paper-50\/80 {
  background-color: rgba(15, 20, 25, 0.8) !important;
}

body.theme-dark .bg-paper-50\/70 {
  background-color: rgba(15, 20, 25, 0.7) !important;
}

body.theme-dark .bg-paper-100 {
  background-color: #141c24 !important;
}

body.theme-dark .bg-paper-100\/70 {
  background-color: rgba(18, 26, 35, 0.7) !important;
}

body.theme-dark .bg-paper-100\/80 {
  background-color: rgba(18, 26, 35, 0.8) !important;
}

body.theme-dark .bg-white {
  background-color: #1c2633 !important;
}

body.theme-dark .bg-white\/40 {
  background-color: rgba(20, 28, 40, 0.45) !important;
}

body.theme-dark .bg-white\/50 {
  background-color: rgba(20, 28, 40, 0.55) !important;
}

body.theme-dark .bg-white\/60 {
  background-color: rgba(20, 28, 40, 0.65) !important;
}

body.theme-dark .bg-white\/70 {
  background-color: rgba(20, 28, 40, 0.75) !important;
}

body.theme-dark .bg-white\/80 {
  background-color: rgba(22, 32, 44, 0.85) !important;
}

body.theme-dark .bg-white\/90 {
  background-color: rgba(24, 36, 50, 0.92) !important;
}

body.theme-dark .bg-white\/95 {
  background-color: rgba(26, 38, 52, 0.96) !important;
}

body.theme-dark .border-ink-200 {
  border-color: rgba(148, 163, 184, 0.45) !important;
}

body.theme-dark .border-ink-200\/70 {
  border-color: rgba(148, 163, 184, 0.4) !important;
}

body.theme-dark .border-ink-200\/60 {
  border-color: rgba(148, 163, 184, 0.34) !important;
}

body.theme-dark .border-ink-200\/40 {
  border-color: rgba(148, 163, 184, 0.28) !important;
}

body.theme-dark .text-ink-900 {
  color: #f8fafc !important;
}

body.theme-dark .text-ink-800 {
  color: #eef2f7 !important;
}

body.theme-dark .text-ink-700 {
  color: #e2e8f0 !important;
}

body.theme-dark input,
body.theme-dark textarea,
body.theme-dark select {
  color: #ffffff !important;
}

body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

body.theme-dark .text-ink-600 {
  color: #d7e0eb !important;
}

body.theme-dark .text-ink-500 {
  color: #b6c3d5 !important;
}

body.theme-dark .text-ink-400 {
  color: #9fb0c6 !important;
}

body.theme-dark .text-ink-300 {
  color: #d8e2ee !important;
}

body.theme-dark .text-ink-200 {
  color: #e6edf5 !important;
}

body.theme-dark .text-ink-50 {
  color: #f1f5f9 !important;
}

body.theme-dark .bg-ink-900\/10 {
  background-color: rgba(148, 163, 184, 0.14) !important;
}

body.theme-dark .bg-ink-900\/15 {
  background-color: rgba(148, 163, 184, 0.18) !important;
}

body.theme-dark .from-paper-50\/90 {
  --tw-gradient-from: rgba(15, 20, 25, 0.92) !important;
  --tw-gradient-to: rgba(15, 20, 25, 0) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

body.theme-dark .via-paper-50\/70 {
  --tw-gradient-stops: var(--tw-gradient-from), rgba(18, 26, 35, 0.7), var(--tw-gradient-to) !important;
}

body.theme-dark .to-paper-100\/80 {
  --tw-gradient-to: rgba(20, 30, 42, 0.85) !important;
}

body.theme-dark .shadow-soft {
  box-shadow: 0 20px 50px -30px rgba(8, 14, 23, 0.8) !important;
}

.theme-toggle {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255, 238, 222, 0.9), rgba(255, 226, 210, 0.9));
  border-color: rgba(214, 106, 82, 0.4);
  color: #b45340;
  box-shadow: 0 14px 28px -18px rgba(214, 106, 82, 0.55);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease,
    color 0.25s ease;
  animation: themePulse 6s ease-in-out infinite;
}

.theme-toggle::before {
  content: "";
  position: absolute;
  inset: -8px;
  background: radial-gradient(circle, rgba(214, 106, 82, 0.35), transparent 60%);
  opacity: 0.9;
  z-index: 0;
}

.theme-toggle:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 18px 34px -20px rgba(214, 106, 82, 0.6);
}

body.theme-dark .theme-toggle {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(234, 88, 12, 0.28)) !important;
  border-color: rgba(248, 250, 252, 0.25) !important;
  color: #f8fafc !important;
  box-shadow: 0 16px 32px -20px rgba(15, 23, 42, 0.8);
}

body.theme-dark .theme-toggle:hover {
  box-shadow: 0 18px 36px -20px rgba(15, 23, 42, 0.9);
}

.theme-toggle svg {
  position: relative;
  z-index: 1;
}

#mobileMenuBtn {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.85) !important;
  border-color: rgba(234, 88, 12, 0.55) !important;
  color: #c2410c !important;
  box-shadow: 0 12px 22px -16px rgba(234, 88, 12, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#mobileMenuBtn::before {
  content: "";
  position: absolute;
  inset: -6px;
  background: radial-gradient(circle, rgba(251, 146, 60, 0.35), transparent 65%);
  opacity: 0.35;
  z-index: 0;
}

#mobileMenuBtn:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 16px 26px -16px rgba(234, 88, 12, 0.6);
}

body.theme-dark #mobileMenuBtn {
  background: rgba(15, 20, 25, 0.9) !important;
  border-color: rgba(251, 146, 60, 0.45) !important;
  color: #fdba74 !important;
  box-shadow: 0 14px 24px -16px rgba(8, 12, 18, 0.9);
}

body.theme-dark #mobileMenuBtn::before {
  background: radial-gradient(circle, rgba(251, 146, 60, 0.4), transparent 65%);
  opacity: 0.3;
}

#mobileMenuBtn svg {
  position: relative;
  z-index: 1;
}

@keyframes themePulse {
  0%,
  100% {
    box-shadow: 0 14px 28px -18px rgba(214, 106, 82, 0.5);
  }
  50% {
    box-shadow: 0 18px 32px -20px rgba(214, 106, 82, 0.65);
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle {
    animation: none;
  }
}

body.theme-dark.input-white-text input,
body.theme-dark.input-white-text textarea,
body.theme-dark.input-white-text select {
  color: #fff;
}

body.theme-dark.input-white-text input::placeholder,
body.theme-dark.input-white-text textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
