.waitlist-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}
.waitlist-trigger{position:relative;isolation:isolate;overflow:hidden;white-space:nowrap;justify-content:center}
.waitlist-trigger .label{position:relative;z-index:1}.waitlist-short{display:none}
.button-ascii{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .45s cubic-bezier(.22,.61,.36,1)}
.button-ascii span{position:absolute;inset:0;display:block;overflow:hidden;color:transparent;background:linear-gradient(130deg,#8f3cff,#f83bac);background-clip:text;-webkit-background-clip:text;font:9px/11px monospace;letter-spacing:3px;mask-image:linear-gradient(90deg,transparent,#000 38%,#000 62%,transparent);mask-size:100% 100%;mask-repeat:no-repeat;mask-position:-160px 0;animation:ascii-pill 3.6s linear infinite;animation-play-state:paused}
.waitlist-trigger:is(:hover,:focus-visible,:active,.is-preview-hover,.is-touch-pressed) .button-ascii{opacity:.38}
.waitlist-trigger:is(:hover,:focus-visible,:active,.is-preview-hover,.is-touch-pressed) .button-ascii span{animation-play-state:running}
@keyframes ascii-pill{from{mask-position:-180px 0}to{mask-position:180px 0}}
.waitlist-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;color:#171b20;background:#fff;overflow:auto;overscroll-behavior:contain}
.waitlist-dialog::backdrop{background:#fff}
.waitlist-dialog[open]{animation:waitlist-enter .36s ease both}
@keyframes waitlist-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.waitlist-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:max(20px,env(safe-area-inset-top)) 28px 10px;background:#ffffffed}
.waitlist-top img{width:112px;height:44px;object-fit:contain}
.waitlist-close{display:flex;justify-content:center;gap:10px;align-items:center;min-height:40px;padding:0 14px;background:#ededed;border-radius:14px;font-size:14px}
.waitlist-content{min-height:calc(100dvh - 94px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 24px max(40px,env(safe-area-inset-bottom));text-align:center}
.waitlist-art{position:relative;width:min(720px,85vw);height:clamp(150px,23vw,270px);margin:0 0 26px;pointer-events:none;flex-shrink:0}
.waitlist-art canvas{width:100%;height:100%;display:block}
.waitlist-art .unavailable{visibility:hidden}
.waitlist-form,.waitlist-success{width:min(100%,400px);margin:0}
.waitlist-dialog h1{font-size:32px;font-weight:600;letter-spacing:-.045em;line-height:1.1;margin:0 0 12px}
.waitlist-intro,.waitlist-success p{font-size:16px;line-height:1.45;color:#58616b;margin:0 0 26px}
.waitlist-form label{display:block;font-size:14px;text-align:left;margin:0 0 8px}
.waitlist-form input{display:block;width:100%;height:52px;border:1px solid #cbd0d5;border-radius:12px;background:#fff;padding:0 15px;font:16px Arial;color:#171b20;outline-offset:3px;scroll-margin:100px}
.waitlist-form input:focus-visible{outline:2px solid #a43ce4;border-color:transparent}
.waitlist-form input[aria-invalid=true]{border-color:#a2254b}
.waitlist-submit{width:100%;min-height:50px;border-radius:12px;background:#171b20;color:white;font-size:15px;margin-top:12px}
.waitlist-submit:disabled{opacity:.65;cursor:wait}
.waitlist-error{min-height:20px;text-align:left;margin:8px 0 0;font-size:13px;line-height:1.4;color:#9b2043}
.waitlist-privacy{font-size:12px;line-height:1.5;color:#68717a;margin:12px auto 0;max-width:360px}
.waitlist-privacy a{text-decoration:underline;text-underline-offset:3px}
.waitlist-preview-note{font-size:11px;color:#68717a;line-height:1.5;border-top:1px solid #ececef;padding-top:12px;margin:18px auto 0;max-width:360px}
.waitlist-dialog [hidden]{display:none!important}
.waitlist-success:focus{outline:0}.waitlist-success{animation:waitlist-enter .35s ease both}
.waitlist-success .waitlist-close{margin:22px auto 0}
body.waitlist-open{overflow:hidden}
@media(max-width:760px){.waitlist-long{display:none}.waitlist-short{display:inline}.waitlist-top{padding-left:16px;padding-right:16px}.waitlist-content{padding:8px 24px max(28px,env(safe-area-inset-bottom))}.waitlist-art{width:min(650px,100%);height:150px;margin-bottom:26px}.waitlist-dialog h1{font-size:29px}.waitlist-intro{font-size:15px}.waitlist-trigger{font-size:13px;padding:0 12px}}
@media(max-width:380px){.site-header{left:12px;right:12px}.waitlist-actions{gap:6px}.waitlist-actions .brand-button{min-width:0;padding:0 10px;gap:8px}.waitlist-actions .waitlist-trigger{font-size:12px}.waitlist-content{padding-left:20px;padding-right:20px}}
@media(max-height:650px){.waitlist-content{justify-content:flex-start}.waitlist-art{height:110px;margin-bottom:14px}.waitlist-intro{margin-bottom:18px}.waitlist-top{padding-top:max(12px,env(safe-area-inset-top))}}
@media(max-height:450px){.waitlist-art{height:74px;width:300px}.waitlist-dialog h1{font-size:25px}.waitlist-content{padding-top:0}.waitlist-preview-note{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.waitlist-dialog[open],.waitlist-success,.waitlist-trigger .button-ascii span{animation:none!important}.button-ascii{transition:none}.button-ascii span{mask-position:0 0;opacity:.6}}
