/* Generic placeholder — dark space theme.
   Every text/fill pair below is MEASURED (WCAG 2.x); see DESIGN.md B3. */
:root{
  --bg:#05060f; --ink:#e9ecf5; --muted:#9aa3bd;
  --primary:#8fb7ff; --secondary:#6d5bd0; --accent:#e8c477;
  --on-light:#05060f;            /* dark text on light fills — 9.99:1 / 12.12:1 */
  --edge:rgba(233,236,245,.18);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--ink); overflow:hidden;
  font-family:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
#sky{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}
.nebula{position:fixed;border-radius:50%;filter:blur(90px);opacity:.5;z-index:1;pointer-events:none}
.n1{width:60vmax;height:60vmax;left:-18vmax;top:-22vmax;
    background:radial-gradient(circle at 40% 40%, rgba(109,91,208,.75), transparent 62%);
    animation:drift1 34s ease-in-out infinite alternate}
.n2{width:52vmax;height:52vmax;right:-16vmax;bottom:-20vmax;
    background:radial-gradient(circle at 60% 60%, rgba(143,183,255,.42), transparent 64%);
    animation:drift2 42s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate3d(7vmax,5vmax,0) scale(1.14)}}
@keyframes drift2{to{transform:translate3d(-6vmax,-4vmax,0) scale(1.1)}}
.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 42%, rgba(5,6,15,.82) 100%)}

.stage{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:0 20px;gap:0}
.eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.mark{margin:0 0 16px;font-family:"Bricolage Grotesque",Georgia,serif;font-weight:700;
  font-size:clamp(40px,10vw,92px);line-height:1.02;letter-spacing:-.03em;color:var(--primary);
  text-shadow:0 0 42px rgba(143,183,255,.4)}
.lede{margin:0 0 34px;font-size:clamp(16px,2.4vw,20px);color:var(--muted)}

.waitlist{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:100%;max-width:470px}
.waitlist input{
  flex:1 1 230px;min-width:0;padding:14px 16px;border-radius:12px;font-size:16px;
  color:var(--ink);background:rgba(233,236,245,.07);border:1px solid var(--edge);
  backdrop-filter:blur(6px);
}
.waitlist input::placeholder{color:#7f879f}
.waitlist input:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:transparent}
.waitlist button{
  padding:14px 26px;border:0;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;
  background:var(--primary);color:var(--on-light);
}
.waitlist button:hover{background:var(--accent)}
.waitlist button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.note{margin:18px 0 0;font-size:13px;color:var(--muted);min-height:1.2em}
.note.ok{color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (prefers-reduced-motion:reduce){
  .nebula{animation:none}
}
