/* retoor */ .form { display: grid; gap: var(--space-lg); max-width: 34rem; } .form.wide { max-width: none; } .field { display: grid; gap: var(--space-xs); min-width: 0; } .field label { font-family: var(--font-sans); font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); } .field .help { font-family: var(--font-sans); font-size: var(--text-xs); color: var(--faint); } input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="number"], input[type="search"], select, textarea { width: 100%; background: var(--bg-sunken); color: var(--ink); border: var(--border-strong); border-radius: var(--radius); padding: var(--space-sm) var(--space-md); font: inherit; font-size: var(--text-base); } textarea { min-height: 10rem; line-height: var(--leading-body); resize: vertical; font-family: var(--font-mono); font-size: var(--text-sm); } input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible { outline: 1px solid var(--accent); outline-offset: 2px; } .check { display: flex; gap: var(--space-sm); align-items: center; font-family: var(--font-sans); font-size: var(--text-sm); color: var(--ink-soft); } .honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; } .button { display: inline-flex; align-items: center; gap: var(--space-sm); background: var(--accent); color: var(--accent-ink); border: 1px solid var(--accent); border-radius: var(--radius); padding: var(--space-sm) var(--space-lg); font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.06em; text-decoration: none; cursor: pointer; } .button:hover { color: var(--accent-ink); filter: brightness(1.08); } .button.ghost { background: transparent; color: var(--ink); border-color: var(--rule-strong); font-weight: 500; } .button.ghost:hover { border-color: var(--ink-soft); } .button.danger { background: transparent; color: var(--danger); border-color: var(--danger); } .button.small { padding: var(--space-xs) var(--space-sm); font-size: var(--text-xs); } .button.is-loading { opacity: 0.6; pointer-events: none; } .button .spinner { width: 0.8em; height: 0.8em; border: 2px solid currentColor; border-right-color: transparent; border-radius: var(--radius-pill); animation: spin 700ms linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .actions { display: flex; gap: var(--space-sm); flex-wrap: wrap; align-items: center; } .actions form { margin: 0; }