/* the sign-in and sign-up modal (auth.js) */
dialog.auth{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:22px;background:var(--surface,var(--bg));color:var(--ink);box-shadow:0 24px 70px rgb(0 0 0 / .28);overflow:auto;font-family:inherit}
dialog.auth::backdrop{background:rgb(10 12 18 / .55);backdrop-filter:blur(4px)}
dialog.auth[open]{animation:auth-in .22s ease-out}
@keyframes auth-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.auth-close{position:absolute;top:12px;inset-inline-end:12px;width:40px;height:40px;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.auth-close:hover{color:var(--ink)}
.auth-body{padding:56px 24px 26px}
.auth-body h2{margin:0 0 8px;font-size:21px;line-height:1.7}
.auth-lead{margin:0 0 16px;font-size:14px;line-height:2;color:var(--muted)}
.auth-body label{display:block;margin:12px 0 6px;font-size:13px;color:var(--muted)}
.auth-body input[type=text],.auth-body input:not([type]),.auth-body input[type=tel],.auth-body input[inputmode]{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);font-size:16px;font-family:inherit}
.auth-body input:focus-visible,.auth-btn:focus-visible,.auth-link:focus-visible,.auth-chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.auth-otp{text-align:center;letter-spacing:.6em;font-size:24px!important;font-variant-numeric:tabular-nums}
.auth-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:16px;padding:10px 22px;border:0;border-radius:999px;background:var(--ink);color:var(--bg);font-size:15px;font-weight:650;font-family:inherit;cursor:pointer;text-decoration:none}
.auth-btn:hover{opacity:.9}
.auth-btn:disabled{opacity:.5;cursor:default}
.auth-link{display:block;width:100%;min-height:44px;margin-top:6px;padding:8px;border:0;background:none;color:var(--brand);font-size:13.5px;font-family:inherit;cursor:pointer}
.auth-link:disabled{color:var(--muted);cursor:default}
.auth-row{display:flex;justify-content:space-between;gap:8px}
.auth-row .auth-link{width:auto}
.auth-demo{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted)}
.auth-chip{min-height:38px;padding:4px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:14px;font-family:inherit;cursor:pointer}
.auth-chip:hover{border-color:var(--brand)}
.auth-msg{min-height:1.6em;margin:12px 0 0;font-size:13.5px;line-height:1.8;color:var(--muted)}
.auth-msg.bad{color:var(--down,#c0392b)}
.auth-fine{margin:10px 0 0;font-size:12px;line-height:1.9;color:var(--muted)}
.auth-badge{display:grid;place-items:center;width:46px;height:46px;margin:0 0 12px;border-radius:50%;background:color-mix(in srgb,var(--up,#1a9d62) 18%,transparent);color:var(--up,#1a9d62);font-size:24px;font-weight:700}
.auth-badge.big{width:60px;height:60px;font-size:32px}
.auth-dots{display:flex;gap:6px;margin-top:6px}
.auth-dots i{width:8px;height:8px;border-radius:50%;background:var(--brand);opacity:.25;animation:auth-dot 1s infinite}
.auth-dots i:nth-child(2){animation-delay:.2s}.auth-dots i:nth-child(3){animation-delay:.4s}
@keyframes auth-dot{50%{opacity:1}}
.auth-spinner{width:44px;height:44px;margin:14px 0 18px;border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:auth-spin .9s linear infinite}
@keyframes auth-spin{to{transform:rotate(360deg)}}
.auth-interests{margin:14px 0 0;padding:0;border:0}
.auth-interests legend{margin:0 0 8px;padding:0;font-size:13px;color:var(--muted)}
.auth-interests{display:flex;flex-wrap:wrap;gap:8px}
.auth-interests legend{flex-basis:100%}
.auth-interest{margin:0!important;cursor:pointer}
.auth-interest input{position:absolute;opacity:0;pointer-events:none}
.auth-interest span{display:inline-flex;align-items:center;min-height:40px;padding:4px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:13px;color:var(--ink)}
.auth-interest input:checked+span{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--surface-2));font-weight:650}
.auth-interest input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.auth-check{display:flex!important;align-items:center;gap:8px;margin:16px 0 0!important;font-size:12.5px!important}
.auth-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 14px}
.auth-plan{margin:0!important;cursor:pointer}
.auth-plan input{position:absolute;opacity:0;pointer-events:none}
.auth-plan-box{position:relative;display:flex;flex-direction:column;gap:2px;height:100%;padding:16px 12px 12px;border:2px solid var(--line);border-radius:16px;background:var(--surface-2);text-align:center}
.auth-plan input:checked+.auth-plan-box{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface-2))}
.auth-plan input:focus-visible+.auth-plan-box{outline:2px solid var(--brand);outline-offset:2px}
.auth-plan strong{font-size:16px;color:var(--ink)}
.auth-price{font-size:15px;font-weight:700;color:var(--ink)}
.auth-plan s{font-size:12px;color:var(--muted)}
.auth-plan small{font-size:12px;color:var(--muted)}
.auth-save{position:absolute;top:-11px;left:50%;transform:translateX(-50%);padding:2px 10px;border-radius:999px;background:var(--up,#1a9d62);color:#fff;font-size:11.5px;font-style:normal;font-weight:700;white-space:nowrap}
.auth-features{margin:0;padding:0 18px 0 0;font-size:13px;line-height:2.1;color:var(--ink)}
.auth-sum{margin:6px 0 14px;padding:0}
.auth-sum div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.auth-sum dt{color:var(--muted)}
.auth-sum dd{margin:0;font-weight:600}
.auth-sum .total{border-bottom:0;font-size:16px}
.auth-secure{margin:0;font-size:12.5px;color:var(--muted)}
.acct-link{border:0;font-family:inherit;cursor:pointer}
@media (max-width:480px){.auth-plans{grid-template-columns:1fr}.auth-body{padding:54px 18px 22px}}
@media (prefers-reduced-motion:reduce){dialog.auth[open],.auth-spinner,.auth-dots i{animation:none}}
