:root {
  color-scheme: light;
  --brand: #5f43d9;
  --brand-dark: #4028ad;
  --ink: #211f29;
  --muted: #666170;
  --line: #e7e3ef;
  --surface: #ffffff;
  --page: #f7f5fb;
  font-family: system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--page); line-height: 1.7; }
a { color: var(--brand-dark); }
header { background: var(--surface); border-bottom: 1px solid var(--line); }
.bar { max-width: 920px; margin: 0 auto; padding: 18px 24px; display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.brand { margin-right: auto; font-size: 22px; font-weight: 800; color: var(--brand-dark); text-decoration: none; }
nav { display: flex; gap: 16px; flex-wrap: wrap; }
nav a { color: var(--muted); text-decoration: none; }
main { max-width: 920px; margin: 32px auto; padding: 0 24px 64px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 28px; box-shadow: 0 12px 36px rgba(43, 30, 91, .06); }
.hero { padding: 54px 32px; text-align: center; }
h1 { margin: 0 0 12px; font-size: clamp(30px, 6vw, 48px); line-height: 1.15; }
h2 { margin-top: 32px; font-size: 22px; }
h3 { margin-top: 24px; }
p, li { color: #3f3b47; }
.muted { color: var(--muted); }
.actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.button { display: inline-block; border-radius: 12px; padding: 12px 20px; background: var(--brand); color: #fff; text-decoration: none; font-weight: 700; border: 0; cursor: pointer; }
.button.secondary { background: #ece8fb; color: var(--brand-dark); }
.meta { padding: 14px 0 24px; border-bottom: 1px solid var(--line); color: var(--muted); }
label { display: block; margin: 18px 0 8px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid #cfc8dc; border-radius: 10px; padding: 12px; font: inherit; background: #fff; }
textarea { min-height: 150px; resize: vertical; }
.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.check input { width: auto; margin-top: 7px; }
.notice { margin-top: 18px; padding: 14px 16px; border-radius: 10px; background: #f0edfb; color: var(--brand-dark); }
footer { padding: 26px; text-align: center; color: var(--muted); }
@media (max-width: 600px) { .card { padding: 20px; } .bar { padding: 14px 18px; } main { padding: 0 14px 44px; } }
