*, *::before, *::after { box-sizing: border-box; } *:not(dialog) { margin: 0; } @media (prefers-reduced-motion: no-preference) { html { interpolate-size: allow-keywords; } } body { line-height: 1.5; -webkit-font-smoothing: antialiased; } img, picture, video, canvas, svg { display: block; max-width: 100%; } input, button, textarea, select { font: inherit; } p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; } p { text-wrap: pretty; } h1, h2, h3, h4, h5, h6 { text-wrap: balance; } @font-face { font-family: "Host Grotesk"; font-optical-sizing: auto; font-weight: 300 800; font-style: normal; font-display: swap; src: url("/fonts/HostGrotesk-VariableFont.woff2") format("woff2-variations"); } :root { font-size: 16px; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @media (width >= 600px) { font-size: 18px; } font-family: "Host Grotesk", sans-serif; --color-bg: oklch(95% 0 0); --color-surface: oklch(100% 0 0); --color-fg: oklch(0% 0 0); } @media (prefers-color-scheme: dark) { :root { --color-bg: oklch(20% 0 0); --color-surface: oklch(0% 0 0); --color-fg: oklch(100% 0 0); } } :root { background-color: var(--color-bg); color: var(--color-fg); } a { color: inherit; text-decoration: none; font-weight: 700; padding: 0.05rem 0.2rem; margin-inline: -0.2rem; } a:hover, a:active { color: var(--color-surface); background-color: var(--color-fg); } a:focus { outline: 2px solid var(--color-fg); outline-offset: 2px; } h1 { font-size: 2rem; padding-bottom: 0.25rem; } h2 { font-size: 1.5rem; padding-bottom: 0.2rem; } h3 { font-size: 1.25rem; padding-bottom: 0.1rem; } h4 { font-size: 1.125rem; }