:root {
  --c-bg: #f5f6f8;
  --c-surface: #ffffff;
  --c-text: #1f2937;
  --c-muted: #6b7280;
  --c-border: #e5e7eb;
  --c-accent: #1e40af;
  --c-accent-hover: #1d4ed8;
  --c-error: #b91c1c;
  --c-error-bg: #fee2e2;
  --c-ok-bg: #dcfce7;
  --radius: 6px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.05);
}
body { background: var(--c-bg); color: var(--c-text); }
main { max-width: 1200px; margin: 1.5rem auto; padding: 0 1rem; }
h1 { font-size: 1.4rem; margin: 0 0 .75rem; }
h2 { font-size: 1.15rem; margin: 1rem 0 .5rem; }
.card {
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius); padding: 1.25rem; box-shadow: var(--shadow-sm);
}
.hero { text-align: center; padding: 2rem 1rem; }
.hero h1 { font-size: 2rem; letter-spacing: .05em; }
.tagline { color: var(--c-muted); margin-top: -.25rem; }
.flash { list-style: none; padding: 0; margin: 1rem auto; max-width: 1200px; }
.flash li { padding: .5rem .75rem; border-radius: var(--radius); margin: .25rem 1rem; }
.flash-error { background: var(--c-error-bg); color: var(--c-error); }
.flash-info, .flash-message { background: var(--c-ok-bg); }
.footer {
  max-width: 1200px; margin: 2rem auto 1rem; padding: 1rem;
  display: flex; justify-content: space-between; color: var(--c-muted);
  border-top: 1px solid var(--c-border); font-size: .875rem; flex-wrap: wrap; gap: 1rem;
}
.footer-links a { color: var(--c-accent); text-decoration: none; margin: 0 .15rem; }
.footer-meta { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.footer-credit { color: var(--c-muted); }
.btn {
  display: inline-block; padding: .5rem .9rem; border-radius: var(--radius);
  border: 1px solid var(--c-border); background: var(--c-surface);
  text-decoration: none; cursor: pointer; color: var(--c-text);
}
.btn:hover { border-color: var(--c-accent); }
.btn.primary { background: var(--c-accent); color: #fff; border-color: var(--c-accent); }
.btn.primary:hover { background: var(--c-accent-hover); }
.quick-links { list-style: none; padding: 0; }
.quick-links li { padding: .25rem 0; }
.quick-links a { color: var(--c-accent); text-decoration: none; }
.quick-links a:hover { text-decoration: underline; }
