/* The one waitlist form: site-wide <dialog id="tb-waitlist"> (tb.js) and the /waitlist page. Site palette/type only. */
.tb-wl-dialog { width: min(32rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; margin: auto; padding: 2.5rem 2rem 2rem;
  border: 1px solid var(--foreground); border-radius: 1.5rem; background: var(--lilac); color: oklch(17% .01 290); position: fixed; }
.tb-wl-dialog::backdrop { background: oklch(17% .01 290 / .55); }
.tb-wl-close { position: absolute; top: .75rem; right: .75rem; width: 2.75rem; height: 2.75rem; display: grid; place-items: center;
  border-radius: 999px; font-size: 1.75rem; line-height: 1; background: transparent; color: inherit; cursor: pointer; }
.tb-wl-close:hover { background: oklch(17% .01 290 / .08); }
.tb-wl-close:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }
.tb-wl-kicker { font-size: 2.75rem; line-height: 1; color: var(--violet); margin: 0; }
.tb-wl-h { font-size: clamp(2.25rem, 7vw, 3.5rem); line-height: .95; margin: .35rem 0 0; }
.tb-wl-lede { margin: 1rem 0 0; font-size: 1rem; line-height: 1.55; opacity: .8; }
.tb-wl-form { display: grid; gap: .45rem; margin-top: 1.5rem; }
.tb-wl-label { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; margin-top: .6rem; }
.tb-wl-req { font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .7; }
.tb-wl-input { height: 3.25rem; width: 100%; min-width: 0; border: 1px solid var(--input); border-radius: 999px; background: oklch(99% .003 90);
  padding: 0 1.25rem; font-size: 1rem; color: oklch(17% .01 290); }
.tb-wl-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px oklch(56% .25 292 / .25); }
.tb-wl-submit { margin-top: 1rem; width: 100%; }
.tb-wl-submit[disabled] { opacity: .6; cursor: progress; }
.tb-wl-status { min-height: 1.25rem; margin: .25rem 0 0; font-size: .9rem; }
.tb-wl-status.is-err { color: oklch(45% .2 25); }
.tb-wl-note { margin: .25rem 0 0; font-size: .85rem; line-height: 1.5; opacity: .88; }
.tb-wl-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tb-wl-done { margin-top: 1.5rem; font-family: var(--font-display, serif); font-size: 2rem; line-height: 1.1; }
.tb-wl-page { min-height: 70vh; display: grid; place-items: center; padding: 9rem 1.25rem 5rem; background: var(--petal); }
.tb-wl-card { width: min(34rem, 100%); padding: 2.5rem 2rem; border: 1px solid var(--foreground); border-radius: 1.5rem; background: var(--lilac); }
.tb-wl-flag { display: none; margin: 1.25rem 0 0; font-family: var(--font-display, serif); font-size: 1.75rem; }
.tb-wl-flag:target { display: block; }
.tb-wl-flag--err { font-family: inherit; font-size: 1rem; color: oklch(45% .2 25); }
#sent:target ~ .tb-wl-form { display: none; }
[data-waitlist] { cursor: pointer; }
html.tb-wl-open { overflow: hidden; }
@media (max-width: 480px) { .tb-wl-dialog { padding: 2.25rem 1.25rem 1.5rem; } .tb-wl-card { padding: 2rem 1.25rem; } }
