/* The same signup surface is used by the header, hero, and product CTAs. */
html.waitlist-modal-open { overflow: hidden; }
.waitlist-modal { width: min(480px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 1px solid #343434; border-radius: 20px; background: #101010; color: #f5f5f5; box-shadow: 0 24px 100px #0009, 0 0 0 1px #ffffff05; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #454545 transparent; }
.waitlist-modal::backdrop { background: rgb(0 0 0 / 70%); backdrop-filter: blur(8px); }
.waitlist-modal[open] { animation: waitlist-appear 180ms cubic-bezier(.2,.7,.3,1) backwards; }
.waitlist-modal-panel { position: relative; padding: 32px; background: radial-gradient(ellipse at 10% 0, #ffffff04, transparent 65%); }
.waitlist-modal-close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid transparent; border-radius: 8px; color: #aaa; background: transparent; cursor: pointer; transition: background 150ms, color 150ms, border-color 150ms; }
.waitlist-modal-close:hover { background: #ffffff08; border-color: #333; color: white; }
.waitlist-modal-heading { margin-bottom: 28px; }
.waitlist-modal-heading h2 { margin: 0; padding-right: 32px; font-size: 32px; font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.waitlist-modal-heading p { margin: 16px 0 0; color: #a8a8a8; font-size: 14px; line-height: 1.65; }
.waitlist-modal-heading p > span { display: block; }
.waitlist-modal .waitlist-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.waitlist-modal .waitlist-options > label { align-items: flex-start; padding: 12px; gap: 8px; }
.waitlist-modal .waitlist-options strong { font-size: 12px; }
.waitlist-modal .waitlist-options small { font-size: 10px; line-height: 1.5; }
.waitlist-modal .waitlist-check { width: 14px; height: 14px; margin-top: 2px; }
.waitlist-modal .waitlist-consent { margin-top: 22px; }
.waitlist-modal .waitlist-success { padding-bottom: 4px; }
.waitlist-modal .waitlist-success h3 { font-size: 26px; }
.waitlist-modal-stage { margin: 22px 0 0; text-align: center; color: #8f8f8f; font-size: 10px; line-height: 1.5; }
.waitlist-modal [hidden] { display: none !important; }
.waitlist-modal :is(input, button, a):focus-visible { outline: 2px solid #eee; outline-offset: 4px; }
.waitlist-success-action { display: inline-flex; align-items: center; gap: 12px; margin-top: 26px; padding: 0 0 6px; border: 0; border-bottom: 1px solid #666; color: #eee; background: none; font: inherit; font-size: 13px; cursor: pointer; }

/* Lift the existing star border gently without replacing its animation. */
.group\/star-button { cursor: pointer; transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease; }
.group\/star-button:focus-visible { outline: 2px solid #d8d8d8; outline-offset: 5px; }
.nav-actions .nav-sign-in { transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
@media (hover: hover) {
  .group\/star-button:hover { transform: translateY(-2px); box-shadow: 0 5px 24px #ffffff16, 0 0 0 1px #ffffff30; filter: brightness(1.14); }
  .group\/star-button:hover svg { transform: translateX(2px); }
  .group\/star-button svg { transition: transform 180ms ease; }
  .nav-actions .nav-sign-in:hover { transform: translateY(-1px); box-shadow: 0 4px 18px #ffffff22; background: #eee; }
}
.group\/star-button:active, .nav-actions .nav-sign-in:active { transform: translateY(0); }
@keyframes waitlist-appear { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 520px) {
  .waitlist-modal { max-height: calc(100dvh - 24px); width: calc(100vw - 24px); border-radius: 16px; }
  .waitlist-modal-panel { padding: 28px 22px 22px; }
  .waitlist-modal-close { width: 40px; height: 40px; top: 10px; right: 10px; }
  .waitlist-modal-heading { margin-bottom: 24px; }
  .waitlist-modal-heading h2 { font-size: 30px; }
  .waitlist-modal .waitlist-success h3 { font-size: 22px; }
  .waitlist-modal .waitlist-interests legend { font-size: 12px; }
}
@media (max-width: 350px) { .waitlist-modal .waitlist-options { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .waitlist-modal[open] { animation: none; }
  .waitlist-modal *, .group\/star-button, .group\/star-button svg, .nav-actions .nav-sign-in { transition: none !important; }
  .group\/star-button:hover, .group\/star-button:hover svg, .nav-actions .nav-sign-in:hover { transform: none; }
}
