:root{--bg:#17181c;--card:#1f2126;--border:#33363d;--text:#fff;--text-muted:#a6abb5;--brand:#3e79f7;--brand-hover:#2c71f6;--danger:#f7625e;--radius:16px;--radius-sm:12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}#root{min-height:100vh}.page,.landing{flex-direction:column;max-width:640px;min-height:100vh;margin:0 auto;padding:16px 16px 32px;display:flex}.landing{justify-content:center}.card,.landing-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px}.center-card{text-align:center;margin-top:24px;padding:48px 24px}.landing-card{text-align:center;padding:48px 24px}.landing-logo{letter-spacing:.2em;color:var(--brand);margin-bottom:8px;font-size:14px;font-weight:700}h1{margin:0 0 8px;font-size:24px;font-weight:700;line-height:1.3}.description{color:var(--text-muted);white-space:pre-line;margin:0 0 20px}.muted{color:var(--text-muted)}.banner{border-radius:var(--radius);width:100%;max-width:100%;height:auto;margin-bottom:16px;display:block}.landing-link{color:var(--brand);margin-top:16px;font-weight:500;text-decoration:none;display:inline-block}.landing-link:hover{color:var(--brand-hover);text-decoration:underline}.field{margin-bottom:20px}.label{margin-bottom:6px;font-weight:500;display:block}.req{color:var(--brand)}.help{color:var(--text-muted);margin:-2px 0 8px;font-size:14px}.input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text);padding:10px 14px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-muted);opacity:.7}.input:focus,.input:focus-visible{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #3e79f740}.textarea{resize:vertical;min-height:100px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23a6abb5' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option,.checkbox-option{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;padding:10px 14px;transition:border-color .15s;display:flex}.radio-option:hover,.checkbox-option:hover{border-color:var(--brand)}.radio-option input,.checkbox-option input{accent-color:var(--brand);cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:2px}.radio-option input:focus-visible,.checkbox-option input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.field-error .input,.field-error .radio-option,.field-error .checkbox-option{border-color:var(--danger)}.error{color:var(--danger);margin:6px 0 0;font-size:14px}.submit-error{text-align:center;margin-bottom:12px}.consent-block{margin-top:4px}.inline-link{color:var(--brand);text-decoration:underline}.inline-link:hover{color:var(--brand-hover)}.policy h2{margin:20px 0 6px;font-size:16px;font-weight:700}.policy p{color:var(--text-muted);margin:0}.hp-wrap{width:1px;height:1px;position:absolute;top:-9999px;left:-9999px;overflow:hidden}.submit-btn{background:var(--brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;min-height:52px;margin-top:8px;font-family:inherit;font-size:17px;font-weight:700;transition:background .15s}.submit-btn:hover:not(:disabled){background:var(--brand-hover)}.submit-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.success-check{margin-bottom:16px}.spinner{border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.footer{text-align:center;color:var(--text-muted);margin-top:auto;padding-top:24px;font-size:13px}@media (width>=480px){.card{padding:32px 28px}h1{font-size:28px}}
