/* Waitlist modal (store buttons, pre-launch) */
.wl-back{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(8,18,4,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.wl-back.open{display:flex}
.wl{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border-radius:24px;padding:30px 28px 26px;box-shadow:0 30px 80px rgba(8,18,4,.35);text-align:center;animation:wl-in .22s ease-out}
@keyframes wl-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.wl-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:var(--lime-soft);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.wl-x:hover{background:var(--lime)}
.wl h2{font-size:clamp(24px,4.5vw,30px);line-height:1.1;margin:4px 0 8px;letter-spacing:-.03em}
.wl p.wl-sub{margin:0 auto 6px;max-width:400px;color:var(--muted);font-size:15.5px}
.wl-route{width:100%;height:auto;margin:6px 0 2px;overflow:visible}
.wl-route .done{stroke:var(--ink)}
.wl-route .todo{stroke:var(--lime-deep)}
.wl-route .plane{fill:var(--ink)}
.wl-route .pulse{fill:var(--lime);opacity:.5;transform-box:fill-box;transform-origin:center;animation:wl-pulse 1.6s ease-out infinite}
@keyframes wl-pulse{from{transform:scale(.6);opacity:.7}to{transform:scale(2.2);opacity:0}}
.wl-route text{font:600 12.5px Inter,system-ui,sans-serif;fill:var(--muted)}
.wl-route text.now{fill:var(--ink);font-weight:700}
.wl-status{display:inline-flex;align-items:center;gap:8px;margin:2px 0 18px;padding:6px 14px;border-radius:999px;background:var(--lime-soft);font-size:13.5px;font-weight:600;color:var(--ink)}
.wl-status i{width:8px;height:8px;border-radius:50%;background:var(--lime-deep);animation:wl-blink 1.2s ease-in-out infinite}
@keyframes wl-blink{50%{opacity:.25}}
.wl form{display:flex;gap:8px;max-width:420px;margin:0 auto}
.wl input[type=email]{flex:1;min-width:0;min-height:52px;padding:0 16px;border:1.5px solid var(--line);border-radius:14px;font:inherit;font-size:16px;background:var(--bg);color:var(--text)}
.wl input[type=email]:focus{outline:none;border-color:var(--ink)}
.wl .btn{cursor:pointer;font:inherit;font-weight:600}
.wl .btn[disabled]{opacity:.6;cursor:wait}
.wl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wl-fine{margin:12px auto 0;max-width:400px;font-size:12.5px;color:var(--muted)}
.wl-fine a{color:var(--ink)}
.wl-msg{margin:12px 0 0;font-size:14.5px;font-weight:600;min-height:1em}
.wl-msg.err{color:#b42318}
.wl.sent form,.wl.sent .wl-fine{display:none}
.wl-ok{display:none;margin:4px auto 0;max-width:380px}
.wl.sent .wl-ok{display:block}
.wl-ok b{display:block;font-family:var(--display);font-size:20px;margin-bottom:4px}
@media (max-width:480px){.wl{padding:26px 18px 22px}.wl form{flex-direction:column}.wl form .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.wl,.wl-route .pulse,.wl-status i{animation:none}}
.wl-who-line{margin:12px 0 0;font-size:14px;color:var(--muted)}
.wl-who{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.wl-again{margin-top:6px;padding:6px 8px;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.wl.sent .wl-sub{display:none}
.wl.sent .wl-sub{display:none}
