
:root { color-scheme: light; --page: #f9f9f7; --surface: #fcfcfb; --ink: #0b0b0b; --ink-2: #52514e; --ring: rgba(11,11,11,0.12); --accent: #2a78d6; --warn: #d03b3b; }
@media (prefers-color-scheme: dark) { :root { color-scheme: dark; --page: #0d0d0d; --surface: #1a1a19; --ink: #ffffff; --ink-2: #c3c2b7; --ring: rgba(255,255,255,0.14); --accent: #3987e5; --warn: #e66767; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--page); color: var(--ink); font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width: 640px; margin: 0 auto; padding: 40px 16px 64px; }
h1 { font-size: 36px; margin: 0 0 8px; }
h2 { font-size: 20px; margin: 32px 0 4px; }
.lede { font-size: 18px; color: var(--ink-2); }
.points { color: var(--ink-2); padding-left: 20px; }
form { display: grid; gap: 14px; margin-top: 16px; }
label { display: grid; gap: 4px; font-weight: 600; font-size: 14px; }
input:not([type=checkbox]):not([type=radio]), select { font: inherit; font-weight: 400; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--ring); background: var(--surface); color: var(--ink); width: 100%; }
fieldset { border: 1px solid var(--ring); border-radius: 8px; padding: 10px 14px; }
legend { font-weight: 600; font-size: 14px; padding: 0 4px; }
label.choice, label.consent { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
label.consent { font-size: 14px; color: var(--ink-2); }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
button { font: inherit; font-weight: 600; padding: 12px 18px; border: 0; border-radius: 8px; background: var(--accent); color: #fff; cursor: pointer; justify-self: start; }
.problems { border: 1px solid var(--warn); border-radius: 8px; padding: 4px 14px; color: var(--warn); }
.note { border-left: 3px solid var(--accent); padding: 4px 12px; color: var(--ink); }
a { color: var(--accent); }
