*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { min-height: 100vh; margin: 0; background: var(--bg); color: var(--on-dark); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 1000; padding: .75rem 1rem; background: var(--panel); color: var(--text); border-radius: 8px; }
.skip-link:focus { top: 1rem; }
