:root {
  color-scheme: dark;
  font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  color: #f5f0e5;
  background: #101323;
  --gold: #ffdb70;
  --mint: #8ae8ba;
  --muted: #b7bad0;
  --line: #414765;
  --panel: #1b2036;
  --warning: #ff8094;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #101323; }
main { width: min(92vw, 780px); margin: 0 auto; padding: 48px 0 72px; }
.draft { border: 2px solid var(--warning); color: var(--warning); padding: 12px 16px; margin-bottom: 32px; font-weight: 700; letter-spacing: .04em; }
h1, h2 { color: var(--gold); line-height: 1.2; }
h1 { font-size: clamp(30px, 7vw, 48px); letter-spacing: .04em; margin: 0 0 32px; }
h2 { font-size: 20px; margin: 36px 0 12px; }
p, li, address { color: var(--muted); line-height: 1.75; font-size: 16px; }
address { font-style: normal; }
ul { padding-left: 22px; }
a { color: var(--mint); text-underline-offset: 3px; }
.required { color: var(--warning); font-weight: 700; }
.panel { border: 1px solid var(--line); background: var(--panel); padding: 20px; }
form { display: grid; gap: 18px; margin-top: 28px; }
label { display: grid; gap: 8px; color: var(--gold); font-weight: 700; letter-spacing: .06em; }
input, textarea, button { width: 100%; border-radius: 0; font: inherit; font-size: 16px; }
input, textarea { border: 1px solid var(--line); background: var(--panel); color: #f5f0e5; padding: 14px; }
textarea { min-height: 180px; resize: vertical; line-height: 1.5; }
input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
button { min-height: 52px; border: 0; background: var(--gold); color: #27263b; padding: 14px 24px; cursor: pointer; font-weight: 800; letter-spacing: .14em; box-shadow: 4px 4px 0 #a56d48; }
button:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 #a56d48; }
button:disabled { opacity: .65; cursor: wait; }
.cf-turnstile { min-height: 65px; }
.form-note, .status { font-size: 14px; }
.status { min-height: 1.75em; color: var(--mint); font-weight: 700; letter-spacing: .04em; }
.status.error { color: var(--warning); }
footer { border-top: 1px solid var(--line); margin-top: 48px; padding-top: 22px; display: flex; flex-wrap: wrap; gap: 18px; }
@media (max-width: 520px) { main { padding-top: 28px; } h2 { margin-top: 30px; } }
