/* generated by build.mjs — edit themes/themes.mjs instead */
:root {
  --bg: #0a0e23;
  --bg-gradient: radial-gradient(75% 55% at 78% 6%, rgba(159,177,255,0.16), transparent 60%), radial-gradient(70% 55% at 15% 100%, rgba(255,207,135,0.10), transparent 65%);
  --surface: rgba(14,19,42,0.8);
  --ink: #e9edff;
  --ink-dim: #8b93bd;
  --accent: #ffcf87;
  --accent-2: #9fb1ff;
  --on-accent: #1c1504;
  --line: rgba(159,177,255,0.22);
  --sign-ink: #cdd6ff;
  --sign-tracking: 0.14em;
  --sign-shadow: 0 0 30px rgba(159,177,255,0.5);
  --card-radius: 14px;
  --grain-opacity: 0.05;
  --font-display: "Philosopher", Georgia, serif;
  --font-body: "Manrope", system-ui, -apple-system, sans-serif;
  --grain-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
      .moon{position:absolute;right:9vw;top:7vh;width:min(130px,20vw);opacity:.9;
        filter:drop-shadow(0 0 34px rgba(205,214,255,.45))}
      .stars i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;
        border-radius:50%;background:#e9edff;
        box-shadow:0 0 8px 2px rgba(233,237,255,.5);
        animation:twinkle 3.4s ease-in-out infinite;animation-delay:var(--d)}
      @keyframes twinkle{0%,100%{opacity:.9}50%{opacity:.15}}
      .shoot{position:absolute;left:-240px;top:16vh;width:220px;
        animation:shooting 9s ease-in infinite}
      @keyframes shooting{
        0%,74%{transform:none;opacity:0}
        76%{opacity:1}
        88%{transform:translate(46vw,13vh);opacity:0}
        100%{transform:translate(46vw,13vh);opacity:0}}
      .skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:16vh;opacity:.9}
