/* Public pages. Tokens and base styles come from web/app.css. */
.public main { max-width: 36rem; padding-top: 2rem; padding-bottom: 2rem; }
.public h1 { font-size: 2rem; line-height: 1.2; margin: 0 0 0.5rem; }
.public h2 { font-size: 1.25rem; margin: 1.5rem 0 0.5rem; }
.tagline { font-size: 1.25rem; font-weight: 600; margin: 0 0 1rem; }
.signup { display: flex; flex-direction: column; gap: 0.5rem; margin: 1.5rem 0 0.75rem; }
.signup input[type="email"] {
  min-height: 44px;
  padding: 0 0.75rem;
  font: inherit;
  color: var(--fg);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.375rem;
}
.public button {
  min-height: 44px;
  min-width: 44px;
  padding: 0 1rem;
  font: inherit;
  font-weight: 600;
  color: var(--accent-fg);
  background: var(--accent);
  border: 0;
  border-radius: 0.375rem;
  cursor: pointer;
}
.public button:hover { filter: brightness(1.1); }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.error { color: #b00020; font-weight: 600; margin: 0; }
@media (prefers-color-scheme: dark) { .error { color: #ff8a80; } }
.fine { color: var(--muted); font-size: 0.875rem; }
.back { display: inline-flex; align-items: center; min-height: 44px; }
.public .site-footer { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; align-items: center; color: var(--muted); }
.public .site-footer a { display: inline-flex; align-items: center; min-height: 44px; }
