/* KGFFC Feedback — plain HTML form, no JavaScript. The result message is picked by the URL fragment
   the server redirects to (#sent, #invalid, #slow, #error) and shown with :target. */
.fb { --ok: oklch(74% 0.19 150); --warn: oklch(80% 0.16 80); --fail: oklch(66% 0.22 25); padding-bottom: var(--space-2xl); }
.fb h1 { font-size: var(--text-3xl); margin: var(--space-xs) 0 var(--space-sm); }
.fb .eyebrow { font-family: var(--font-outlier); font-size: var(--text-sm); letter-spacing: .1em; text-transform: uppercase; color: var(--color-muted); }
.fb .lede { max-width: var(--measure); color: var(--color-ink-2); }
.fb .hint { color: var(--color-muted); font-size: var(--text-sm); max-width: var(--measure); }
.fbform { display: grid; gap: var(--space-md); max-width: 36rem; margin-top: var(--space-xl); }
.fbform label { display: grid; gap: var(--space-2xs); font-weight: 600; }
.fbform .req, .fbform .opt { font-weight: 400; color: var(--color-muted); font-size: var(--text-sm); }
.fbform input, .fbform textarea, .fbform select { font: inherit; font-weight: 400; background: var(--color-paper); color: var(--color-ink); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-sm); padding: var(--space-xs); }
.fbform input:focus-visible, .fbform textarea:focus-visible, .fbform select:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.fbform button { justify-self: start; cursor: pointer; background: none; font: inherit; }
.fbform .trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.formnote { display: none; max-width: 36rem; margin-top: var(--space-lg); padding: var(--space-sm) var(--space-md); border-left: 6px solid var(--c); background: color-mix(in oklch, var(--c) 12%, var(--color-paper)); }
.formnote:target { display: block; }
.formnote.ok { --c: var(--ok); } .formnote.warn { --c: var(--warn); } .formnote.fail { --c: var(--fail); }
