* { box-sizing: border-box; }
html { overflow-x: hidden; color-scheme: light; background: var(--background); }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--text); background: var(--background); font: 14px/1.5 var(--font); }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid rgb(37 99 235 / .3); outline-offset: 2px; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: var(--space-1); font-size: 24px; line-height: 1.25; letter-spacing: -.02em; }
h2 { margin-bottom: var(--space-2); font-size: 18px; }
h3 { margin-bottom: var(--space-2); font-size: 15px; }
p { color: var(--muted); }
a { color: var(--primary); }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 12px; top: -50px; z-index: 1000; padding: 10px 14px; color: white; background: var(--primary); border-radius: var(--radius-sm); }
.skip-link:focus { top: 12px; }
.muted { color: var(--muted); }
.danger-text { color: var(--danger); }
.success-text { color: #15803d; }
.numeric { font-variant-numeric: tabular-nums; }
.break-text { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
