:root {
  --bg: #03050e;
  --bg-2: #080b1a;
  --ink: #f4efe8;
  --pink: #ff1a6b;
  --gold: #ffb800;
  --cyan: #00e5ff;
  --pink-glow: rgba(255, 26, 107, 0.45);
  --cyan-glow: rgba(0, 229, 255, 0.35);
  --cyan-glow-strong: rgba(0, 229, 255, 0.7);
  --gold-glow: rgba(255, 184, 0, 0.4);
  --paper: #f4efe8;
  --muted: rgba(244, 239, 232, 0.55);
  --faint: rgba(244, 239, 232, 0.25);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: #03050e !important; }
html body { overflow-x: hidden; background: #03050e !important; }
body {
  background: var(--bg) !important;
  color: var(--ink);
  font-family: 'Fraunces', serif;
  font-weight: 400;
  line-height: 1.5;
  min-height: 100vh;
  position: relative;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 20% 0%, rgba(255, 26, 107, 0.08), transparent 60%),
    radial-gradient(ellipse 60% 60% at 90% 100%, rgba(0, 229, 255, 0.08), transparent 60%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(255, 184, 0, 0.04), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(0, 229, 255, 0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 229, 255, 0.015) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}
.noise {
  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.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.04;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: overlay;
}
