
.compact{max-width:620px;margin:36px auto 64px}.compact h1{font-size:36px;margin-bottom:14px}.compact .lead{font-size:16px;color:var(--muted);margin-bottom:26px}.compact .roles{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 20px}.compact .choice{border-radius:24px;padding:8px 13px;font-size:14px;align-items:center;gap:8px}.compact .choice input{width:14px;height:14px;flex-basis:14px;margin:0}.compact .field{margin-top:18px}.compact textarea{min-height:88px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compact .checkline{font-size:13px;margin:18px 0}.compact .button{border:0;cursor:pointer;font:16px var(--font-body);margin-top:4px}.compact .fine{font-size:12px!important;line-height:1.5;margin:12px 0}.compact .endline{font-size:13px;color:var(--muted);margin-top:24px}.compact fieldset{padding:0;border:0;margin:0}.compact legend{font-size:15px}.compact legend small{font-size:12px;color:var(--muted)}.compact .error{font-size:14px}.compact .success{border-left:1px solid var(--sage);padding-left:24px;margin:30px 0}.compact .success h2{font-size:30px;max-width:none;margin-bottom:18px}@media(max-width:600px){.compact{margin:24px auto 48px}.compact h1{font-size:32px}.contact-grid{grid-template-columns:1fr;gap:0}.compact .choice{font-size:13px;padding:8px 11px}}

#signup-dialog{box-sizing:border-box;width:min(620px,calc(100% - 48px));max-height:calc(100dvh - 64px);margin:auto;padding:32px 36px 24px;background:#0e0c11;color:var(--paper);border:1px solid #ffffff30;border-radius:20px;box-shadow:0 24px 100px #0009;overflow:auto;overscroll-behavior:contain}#signup-dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}#signup-dialog .compact{margin:0;max-width:none}#signup-dialog .compact h1{font-size:32px;margin:0 40px 10px 0}#signup-dialog .lead{margin-bottom:20px;line-height:1.5}#signup-dialog .roles{margin-bottom:4px}#signup-dialog .field{margin-top:14px}#signup-dialog .checkline{margin:14px 0}#signup-dialog .fine{margin:8px 0}#signup-dialog .endline{margin:18px 0 0}#signup-dialog .button{padding:12px 22px;min-height:46px;font-size:15px}#signup-dialog .error:empty{display:none}.modal-close{position:absolute;right:16px;top:14px;width:40px;height:40px;border:0;background:transparent;color:var(--muted);font:28px Arial;cursor:pointer}.sheet-handle{display:none}body:has(#signup-dialog[open]){overflow:hidden}#signup-dialog[open]{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){#signup-dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;padding:30px 22px max(22px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border-bottom:0}#signup-dialog .contact-grid{grid-template-columns:1fr 1fr;gap:10px}#signup-dialog .compact h1{font-size:29px}#signup-dialog .lead{font-size:14px}#signup-dialog .choice{font-size:13px;padding:7px 10px}#signup-dialog .field{font-size:14px}#signup-dialog .checkline{font-size:12px}#signup-dialog textarea{min-height:76px}.sheet-handle{display:block;position:absolute;top:10px;left:calc(50% - 18px);width:36px;height:4px;background:#ffffff45;border-radius:4px}#signup-dialog[open]{animation:sheet-up .28s ease-out}@keyframes sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){#signup-dialog[open]{animation:none}}

#signup-title:focus{outline:none}

/* Refined signup typography; 16px fields retain comfortable mobile input. */
#signup-dialog .compact h1{font-size:28px;letter-spacing:-.4px}
#signup-dialog .lead{font-size:14px;line-height:1.55}
#signup-dialog legend,#signup-dialog .field{font-size:13px}
#signup-dialog legend small,#signup-dialog .field small{font-size:11px}
#signup-dialog .choice{font-size:12px;padding:7px 11px}
#signup-dialog input[type=text],#signup-dialog input[type=email],#signup-dialog textarea{font-size:14px}
#signup-dialog .checkline{font-size:12px;line-height:1.5}
#signup-dialog .fine{font-size:11px!important}
#signup-dialog .endline{font-size:12px}
#signup-dialog .button{font-size:14px}
#signup-dialog .error{font-size:12px}
#signup-dialog .success h2{font-size:26px}
#signup-dialog .success p{font-size:14px}
@media(max-width:640px){#signup-dialog .compact h1{font-size:26px}#signup-dialog .lead{font-size:13px}#signup-dialog .choice{font-size:12px}#signup-dialog input[type=text],#signup-dialog input[type=email],#signup-dialog textarea{font-size:16px}#signup-dialog textarea::placeholder{font-size:13px}}

.signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
