* { box-sizing: border-box; }
body { margin: 0; background: var(--color-canvas); color: var(--color-ink-strong); font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.9375rem; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-wrap: anywhere; }
a { color: inherit; text-underline-offset: 0.2em; }
a:hover { color: var(--color-focus); }
button, input, select { font: inherit; }
button, summary { cursor: pointer; }
button, a, summary { touch-action: manipulation; }
button:disabled { cursor: not-allowed; opacity: 0.55; }
input:not([type="checkbox"]), select, textarea { width: 100%; min-width: 0; min-height: 2.75rem; border: 1px solid var(--color-input-border); border-radius: var(--radius-sm); padding: 0.625rem 0.75rem; color: var(--color-ink-strong); background: var(--color-input); font-size: 1rem; font-weight: 400; }
input::placeholder { color: var(--color-ink); opacity: 1; }
input[type="checkbox"] { accent-color: var(--color-focus); }
input[aria-invalid="true"] { border-color: var(--color-danger); }
select:disabled { color: var(--color-ink); opacity: 1; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: var(--space-2); font-size: 1.75rem; line-height: 1.2; letter-spacing: -0.035em; font-weight: 650; text-wrap: balance; }
h2 { margin-bottom: var(--space-4); font-size: 1.125rem; line-height: 1.4; font-weight: 600; }
h3 { margin-bottom: var(--space-2); font-size: 1rem; font-weight: 600; }
p { margin-bottom: var(--space-4); }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: absolute; top: -8rem; left: 1rem; z-index: 10; padding: 1rem; background: var(--color-surface); }
.skip-link:focus { top: 1rem; }
