/* Shared primitives only. No vendor CSS or legacy stylesheet copied. */
* { box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100dvh; background: var(--page); color: var(--text); font-family: var(--font); line-height: 1.6; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--link); text-underline-offset: .22em; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .7; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
h1 { font-size: 1.5rem; line-height: 1.4; margin: 0 0 .5rem; text-wrap: balance; }
p { text-wrap: pretty; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 30; background: var(--surface); padding: .75rem; }
.skip-link:focus { top: .5rem; }
