/* generated by build.mjs — edit themes/themes.mjs instead */
:root {
  --bg: #0c0b09;
  --bg-gradient: radial-gradient(70% 50% at 50% 90%, rgba(232,179,60,0.16), transparent 65%);
  --surface: rgba(22,19,15,0.84);
  --ink: #f0e7d6;
  --ink-dim: #9c8f79;
  --accent: #e8b33c;
  --accent-2: #c0392b;
  --on-accent: #161309;
  --line: rgba(232,179,60,0.22);
  --sign-ink: #e8b33c;
  --sign-tracking: 0.18em;
  --card-radius: 4px;
  --card-border: 1px solid rgba(232,179,60,0.28);
  --grain-opacity: 0.08;
  --font-display: "Bebas Neue", Georgia, serif;
  --font-body: "Oswald", 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");
}
      .grille{position:absolute;inset:0;opacity:.5;
        background:repeating-linear-gradient(45deg,#ffffff07 0 2px,transparent 2px 6px),
                   repeating-linear-gradient(-45deg,#00000055 0 2px,transparent 2px 6px)}
      .glow{position:absolute;left:50%;bottom:-10vh;transform:translateX(-50%);
        width:60vw;height:36vh;border-radius:50%;
        background:radial-gradient(circle,rgba(232,179,60,.22),transparent 68%);filter:blur(24px)}
      .vu{position:absolute;left:4vw;bottom:6vh;width:min(260px,32vw);opacity:.6}
      .needle{transform-box:fill-box;transform-origin:120px 104px;
        animation:vu 2.6s ease-in-out infinite}
      @keyframes vu{0%,100%{transform:rotate(-32deg)}42%{transform:rotate(18deg)}
        62%{transform:rotate(-6deg)}80%{transform:rotate(26deg)}}
      @media(max-width:640px){.vu{opacity:.22}}
