/* generated by build.mjs — edit themes/themes.mjs instead */
:root {
  --bg: #1c0710;
  --bg-gradient: radial-gradient(85% 65% at 50% 108%, rgba(255,109,77,0.30), transparent 62%), radial-gradient(70% 50% at 50% 0%, rgba(255,93,115,0.10), transparent 60%);
  --surface: rgba(40,13,24,0.8);
  --ink: #fdeee6;
  --ink-dim: #bb8f97;
  --accent: #ff5d73;
  --accent-2: #ffb35c;
  --on-accent: #2a070f;
  --line: rgba(255,93,115,0.24);
  --sign-ink: #ff5d73;
  --sign-tracking: 0.08em;
  --sign-shadow: 0 0 36px rgba(255,93,115,0.45);
  --card-radius: 12px;
  --grain-opacity: 0.06;
  --font-display: "Rozha One", Georgia, serif;
  --font-body: "Mulish", 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");
}
      .sun{position:absolute;left:50%;bottom:-24vh;transform:translateX(-50%);
        width:min(560px,90vw);aspect-ratio:1;border-radius:50%;
        background:radial-gradient(circle,#ffb35ccc 0%,#ff5d7333 55%,transparent 72%);
        filter:blur(6px)}
      .bike{position:absolute;right:4vw;bottom:4vh;width:min(300px,40vw);opacity:.5;
        filter:drop-shadow(0 0 26px rgba(255,141,107,.25))}
      .petals b{position:absolute;top:-6vh;left:var(--x);width:11px;height:11px;
        border-radius:60% 0 60% 0;background:#ff5d7399;
        animation:petal 13s linear infinite;animation-delay:var(--d)}
      @keyframes petal{to{transform:translate(-26px,116vh) rotate(320deg);opacity:0}}
      @media(max-width:640px){.bike{opacity:.22}}
