/* /signup. Colours come only from themes.css tokens. */
.su-body{background:var(--bg);min-height:100vh}
.su{width:min(620px,100%);margin:0 auto;padding:28px 16px 64px}
.su-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;margin-bottom:18px}
.su-brand .brand-mark.small{margin:0}
.su-brand b{font-size:17px;letter-spacing:-.01em}
.su-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px}
.su-card h1{font-size:26px;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px}
.su-lead{color:var(--muted);line-height:1.5;margin:0 0 14px;font-size:15px}
.su-note{background:var(--panel2);border-radius:8px;padding:10px 12px;margin:0 0 14px;font-size:14px}
.su-btn{display:inline-block;text-decoration:none;margin-top:6px}
.su fieldset{border:0;border-top:1px solid var(--line);margin:22px 0 0;padding:16px 0 0}
.su legend{font-weight:600;font-size:15px;padding:0 0 4px}
.su label{display:block;margin-top:12px;font-size:13px;color:var(--muted)}
.su label input:not([type=radio]):not([type=checkbox]),.su textarea{display:block;width:100%;margin-top:5px}
.su textarea{resize:vertical;font:inherit;min-height:90px}
.su-row{display:grid;grid-template-columns:120px 1fr;gap:12px}
.su-hint{margin:8px 0 0}
.su-hint.su-bad{color:var(--danger)}
.su-plan-list{display:grid;gap:10px;margin-top:8px}
.su .su-plan{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--ink);cursor:pointer;transition:border-color .15s}
.su .su-plan:hover{border-color:var(--muted)}
.su .su-plan:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.su-plan input{margin-top:3px;accent-color:var(--accent)}
.su-plan-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.su-plan-head{display:flex;justify-content:space-between;gap:10px;font-size:15px}
.su-plan-head span{color:var(--muted)}
.su-plan-head span b{color:var(--ink)}
.su-plan-feat{font-size:13px;color:var(--muted);line-height:1.4}
.su .su-terms{display:flex;gap:10px;align-items:flex-start;margin-top:22px;font-size:14px;color:var(--ink);line-height:1.4}
.su-terms input{margin-top:3px;accent-color:var(--accent)}
.su a{color:var(--accent)}
.su-go{margin-top:6px;padding:13px 18px;font-size:15px}
.su-small{text-align:center;margin:10px 0 0}
@media(max-width:520px){.su-card{padding:20px}.su-row{grid-template-columns:96px 1fr}.su-card h1{font-size:22px}}
.su input[type=radio],.su input[type=checkbox]{width:auto;flex:none;padding:0;margin:3px 0 0;box-shadow:none}
.su textarea{color:var(--ink);padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);outline:none}
.su textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
