/* Shared coming-soon base — per-site overrides via data-theme on html */
*,*::before,*::after{box-sizing:border-box}
html{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem}
.wrap{max-width:32rem;width:100%;text-align:center}
.badge{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px;margin-bottom:1rem}
h1{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;margin:0 0 .75rem;line-height:1.15}
.lead{font-size:1.05rem;margin:0 0 1.5rem;opacity:.9}
.eco{font-size:.85rem;margin:0 0 2rem;opacity:.75}
.eco a{color:inherit}
form[data-waitlist]{display:flex;flex-direction:column;gap:.75rem;text-align:left;margin:0 auto;max-width:22rem}
form[data-waitlist] label{font-size:.8rem;font-weight:600}
form[data-waitlist] input[type=email]{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid transparent;font-size:1rem}
form[data-waitlist] button{padding:.85rem 1.25rem;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer}
form[data-waitlist] button:disabled{opacity:.6;cursor:not-allowed}
[data-waitlist-status]{font-size:.85rem;min-height:1.25rem;text-align:center}
[data-waitlist-status][data-state=ok]{opacity:.85}
[data-waitlist-status][data-state=err]{opacity:1}
.note{margin-top:2.5rem;font-size:.75rem;opacity:.55}
html[data-theme=gotianguis]{--bg:#1a120c;--card:#2a1f16;--text:#f5ebe0;--muted:#b8a99a;--accent:#e8a54b;--accent-hover:#f0b865;--input-bg:#1a120c;--input-border:#4a3d32}
html[data-theme=forge]{--bg:#0d1217;--text:#f0f4f8;--muted:#94a3b8;--accent:#ff7f0a;--accent-hover:#ff9533;--input-bg:#151b22;--input-border:#2d3748}
html[data-theme=labs]{--bg:#fdf8ee;--text:#1a120c;--muted:#5c4a3a;--accent:#c45c26;--accent-hover:#a84d1f;--input-bg:#fff;--input-border:#e8dcc8}
body{background:var(--bg);color:var(--text)}
.badge{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.lead,.eco{color:var(--muted)}
form[data-waitlist] input{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}
form[data-waitlist] button{background:var(--accent);color:#fff}
form[data-waitlist] button:hover:not(:disabled){background:var(--accent-hover)}
