*, *::before, *::after { box-sizing: border-box; } html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); } html, body { overflow-x: hidden; } body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-feature-settings: 'cv11', 'ss01'; } h1, h2, h3, h4 { margin: 0; line-height: 1.2; letter-spacing: -0.015em; font-weight: 650; color: var(--ink); } p { margin: 0; } a { color: var(--accent-strong); text-decoration: none; } a:hover { text-decoration: underline; text-underline-offset: 3px; } button, input, select, textarea { font: inherit; color: inherit; } button { cursor: pointer; } img, svg { max-width: 100%; } code, kbd, pre, .mono { font-family: var(--font-mono); font-feature-settings: normal; } .mono { font-size: 0.92em; } .tabular { font-variant-numeric: tabular-nums; } ::selection { background: var(--accent-soft); color: var(--ink); } :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; } .visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } [hidden] { display: none !important; }