:root {
  --bg: #170E14;
  --ink: #F3E2BE;
  --muted: #B59C86;
  --amber: #FFBC4A;
  --coral: #FF6A4A;
  --line: rgba(255, 188, 74, 0.10);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  background: var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--amber); }

/* ===== Landing page: one screen, no scroll, fun warm backdrop ===== */
body.home {
  height: 100vh; overflow: hidden;
  background: radial-gradient(125% 80% at 50% -8%, #3E2018 0%, #1F131A 44%, #120A10 100%);
}
/* faint masked ember grid */
.bg-grid {
  position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.5;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 50px 50px;
  -webkit-mask: radial-gradient(80% 72% at 50% 32%, #000 28%, transparent 80%);
          mask: radial-gradient(80% 72% at 50% 32%, #000 28%, transparent 80%);
}
/* drifting light-motes + little moths */
.bg-decor { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.mote {
  position: absolute; width: 12px; height: 12px; border-radius: 50%;
  background: radial-gradient(circle, #FFE79A 0%, rgba(255, 198, 80, 0.5) 40%, rgba(255, 198, 80, 0) 72%);
  animation: bob var(--d, 8s) ease-in-out infinite var(--delay, 0s);
}
.moth {
  position: absolute; width: 46px; opacity: 0.55; image-rendering: pixelated;
  animation: bob var(--d, 9s) ease-in-out infinite var(--delay, 0s);
  filter: drop-shadow(0 0 10px rgba(255, 150, 70, 0.3));
}
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }
@media (prefers-reduced-motion: reduce) { .mote, .moth { animation: none; } }

.page {
  position: relative; z-index: 2;
  min-height: 100vh; max-width: 460px; margin: 0 auto; padding: 20px 24px;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  text-align: center;
}
.icon {
  width: 100px; height: 100px; border-radius: 23px;
  box-shadow: 0 0 50px rgba(255, 138, 60, 0.4);
}
h1 { font-size: 38px; letter-spacing: 0.2em; margin: 16px 0 4px; font-weight: 700; }
.tag { color: var(--amber); font-size: 17px; margin: 0 0 16px; }
.lead { opacity: 0.9; margin: 0 auto 18px; max-width: 38ch; font-size: 15px; }
.features { list-style: none; margin: 0 auto 22px; max-width: 30ch; text-align: left; }
.features li { position: relative; padding: 7px 0 7px 24px; border-bottom: 1px solid rgba(255,255,255,.07); font-size: 15px; }
.features li::before { content: "\25C6"; color: var(--amber); position: absolute; left: 0; top: 7px; }
.cta {
  display: inline-block; background: var(--amber); color: #3A2410; font-weight: 700;
  text-decoration: none; padding: 14px 30px; border-radius: 14px; font-size: 17px;
}
.cta:hover { filter: brightness(1.07); }
.note { color: var(--muted); font-size: 13px; margin: 14px 0 0; }
footer { color: var(--muted); font-size: 13px; margin-top: 26px; line-height: 1.9; }
footer a { text-decoration: none; }
.foot-links { display: flex; gap: 10px; justify-content: center; margin-bottom: 12px; }
.foot-btn {
  display: inline-block; padding: 9px 20px; border-radius: 999px;
  border: 1px solid rgba(255, 188, 74, 0.35); color: var(--amber);
  font-size: 14px; font-weight: 600;
}
.foot-btn:hover { background: rgba(255, 188, 74, 0.12); }

/* ===== Privacy document (scrollable) ===== */
.doc { max-width: 640px; margin: 0 auto; padding: 48px 24px 64px; line-height: 1.7; }
.doc .back { display: inline-block; margin-bottom: 26px; text-decoration: none; }
.doc h1 { font-size: 30px; letter-spacing: 0.06em; }
.doc h2 { font-size: 18px; color: var(--amber); margin-top: 1.7em; }
.doc p, .doc li { color: var(--ink); opacity: 0.92; margin-top: 0.6em; }
.doc a { word-break: break-word; }
.doc .eff { color: var(--muted); }

@media (max-width: 480px) { h1 { font-size: 32px; } .icon { width: 88px; height: 88px; } .moth { width: 36px; } }
@media (max-height: 640px) { .icon { width: 80px; height: 80px; } h1 { font-size: 32px; } .lead { margin-bottom: 12px; } }
