:root {
  color-scheme: light;
  --paper: #f6f3ea;
  --panel: #fffefa;
  --blue: #2855ec;
  --blue-dark: #183bb8;
  --blue-wash: #e9edff;
  --ink: #171e2b;
  --muted: #626777;
  --line: #dcdedb;
  --good: #20634e;
  --good-wash: #e6f3eb;
  --bad: #ad3434;
  --bad-wash: #fff0ed;
  --warn: #80590f;
  --warn-wash: #fff3d8;
  font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--paper);
  color: var(--ink);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button, .button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
button, .button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; padding: .75rem 1.1rem; border: 1px solid transparent; border-radius: 5px; background: var(--blue); color: #fff; font-weight: 600; line-height: 1.4; transition: background .15s, transform .15s; }
button:hover, .button:hover { background: var(--blue-dark); }
button:disabled { cursor: wait; opacity: .55; }
.secondary { background: var(--panel); border-color: var(--line); color: var(--ink); }
.secondary:hover { background: var(--blue-wash); border-color: #b4c1f5; }
.danger { background: var(--bad); }
.danger:hover { background: #8b2222; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.eyebrow { margin: 0 0 .8rem; color: var(--blue); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .14em; }
.muted { color: var(--muted); }
.brand { display: inline-flex; align-items: center; gap: .85rem; font-weight: 700; letter-spacing: -.02em; }
.brand-mark { width: 43px; height: 43px; display: inline-grid; place-items: center; background: var(--blue); color: white; font-size: 24px; font-weight: 750; letter-spacing: -.08em; flex-shrink: 0; padding-right: 3px; }
.brand-sub { display: block; color: var(--muted); font-size: .72rem; font-weight: 400; letter-spacing: 0; margin-top: 1px; }
.skip-link { position: fixed; top: -100px; left: 1rem; background: var(--ink); color: white; padding: .8rem; z-index: 100; }
.skip-link:focus { top: 1rem; }
.hidden, [hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
input, select { color: var(--ink); background: var(--panel); border: 1px solid #bfc4c9; border-radius: 5px; padding: .7rem .85rem; min-width: 0; }
input::placeholder { color: #767a85; }
label { font-size: .83rem; font-weight: 600; }
em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
