/* Shared tokens, inlined into every page the way the Poseful site does it.
   Colours are lifted from DailyFive/Sources/Theme.swift so the site and the
   app cannot drift apart. */
:root {
  --bg: #1F1C21;          /* Theme.onyx */
  --surface: #272329;
  --text: #F2F0EB;
  --muted: #9A958E;
  --gold: #CC9424;        /* Theme.accent */
  --gold-hi: #FFC738;     /* Theme.accentHot */
  --gold-lo: #A87A1C;
  --border: rgba(242, 240, 235, 0.10);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
/* The app sets its headings in the New York serif, Theme.display. The site
   answers with the same voice rather than a rounded sans. */
.display {
  font-family: "New York", ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.aurora { position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.orb { position: absolute; border-radius: 50%; filter: blur(90px); }
.orb-1 { width: 640px; height: 640px; top: -260px; left: 50%; margin-left: -320px;
  background: radial-gradient(closest-side, rgba(204, 148, 36, 0.42), transparent 70%); }
.orb-2 { width: 520px; height: 520px; top: 30%; left: -220px;
  background: radial-gradient(closest-side, rgba(255, 199, 56, 0.22), transparent 70%); }
.orb-3 { width: 560px; height: 560px; bottom: -180px; right: -160px;
  background: radial-gradient(closest-side, rgba(168, 122, 28, 0.30), transparent 70%); }
.orb-4 { width: 380px; height: 380px; top: 12%; right: -80px;
  background: radial-gradient(closest-side, rgba(204, 148, 36, 0.24), transparent 70%); }
@media (prefers-reduced-motion: no-preference) {
  .orb { animation: drift 16s ease-in-out infinite alternate; }
  .orb-2 { animation-duration: 21s; animation-delay: -6s; }
  .orb-3 { animation-duration: 26s; animation-delay: -12s; }
  .orb-4 { animation-duration: 18s; animation-delay: -3s; }
  @keyframes drift { from { transform: translate(0,0) scale(1); } to { transform: translate(60px,40px) scale(1.12); } }
}
main { position: relative; z-index: 1; flex: 1; width: 100%; }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 24px; }
footer { position: relative; z-index: 1; border-top: 1px solid var(--border); margin-top: 96px; padding: 32px 0 48px; }
.footer-inner { max-width: 760px; margin: 0 auto; padding: 0 24px;
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; }
.footer-left { color: var(--muted); font-size: 14px; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-links a { color: var(--muted); text-decoration: none; font-size: 14px; }
.footer-links a:hover { color: var(--gold-hi); }
a { color: var(--gold-hi); }
