:root { color-scheme: light dark; --color-blue-light: #c8e5f5; --color-gold-light: #ecd399; --color-blue-dark: #02293e; --color-gold-dark: #715511; --color-bg: light-dark(var(--color-blue-light), var(--color-blue-dark)); --color-text: light-dark(var(--color-blue-dark), var(--color-blue-light)); --color-accent: light-dark(var(--color-gold-dark), var(--color-gold-light)); } /* numbered components are from https://www.joshwcomeau.com/css/custom-css-reset/ */ *, *::before, *::after { box-sizing: border-box; /* 1. Use a more-intuitive box-sizing model */ } *:not(dialog) { margin: 0; /* 2. Remove default margin */ padding: 0; } @media (prefers-reduced-motion: no-preference) { html { interpolate-size: allow-keywords; /* 3. Enable keyword animations */ } } #root, #__next { isolation: isolate; /* 10. Create a root stacking context */ } body { line-height: 1.5; /* 4. Increase line-height */ -webkit-font-smoothing: antialiased; /* 5. Improve text rendering */ color: var(--color-text); background-color: var(--color-bg); font-family: "Atkinson Hyperlegible Next"; } main { width: 55%; margin: 0 auto 2rem; scroll-margin-top: 1.5rem; min-height: 50vh; padding-bottom: 2rem; max-width: 1200px; } @media (max-width: 650px) { main { width: 92%; } } img, picture, video, canvas, svg { display: block; /* 6. Improve media defaults */ max-width: 100%; /* 6. Improve media defaults */ height: auto; /* 6. Improve media defaults */ } input, button, textarea, select { font: inherit; /* 7. Inherit fonts for form controls */ } p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; /* 8. Avoid text overflows */ } p { text-wrap: pretty; /* 9. Improve line wrapping */ margin: 0 auto 1.5rem; line-height: 1.5rem; } @media (max-width: 650px) { p { font-size: .9rem; line-height: 1.3rem; } } h1, h2, h3, h4, h5, h6 { text-wrap: balance; /* 9. Improve line wrapping */ } h1 { margin: 3rem auto 1rem; text-align: center; font-size: 2.2rem; } h2, h3 { margin: 3rem auto .5rem; color: var(--color-accent); border-bottom: solid; } h2 { font-size: 1.8rem; } h3 { font-size: 1.35rem; text-align: right; } @media (max-width: 650px) { h1 { font-size: 1.8rem; } h2 { font-size: 1.5rem; } h3 { font-size: 1.2rem; } } a { color: var(--color-text); text-decoration: underline; text-decoration-style: solid; text-decoration-thickness: .2rem; text-decoration-color: var(--color-accent); transition: text-decoration-thickness .5s; padding: 0 .15rem; border-radius: .15rem; } @media (any-hover: hover) { a:hover { text-decoration-thickness: .4rem; } } a:focus-visible { text-decoration: none; outline: var(--color-accent) solid .15rem; } ul { margin: 0 auto 1.5rem 2rem; line-height: 1.5rem; } @media (max-width: 650px) { ul { font-size: .9rem; line-height: 1.3rem; } } time { font-weight: 700; } button { cursor: pointer; background-color: var(--color-bg); } header img { max-height: 25vh; max-width: 100%; width: auto; margin: 0 auto; } @media (max-width: 650px) { header img { max-height: 20vh; } } @media (prefers-color-scheme: light) { #logo-dark { display: none; } } @media (prefers-color-scheme: dark) { #logo-light { display: none; } } #author { text-align: right; margin-bottom: 3rem; font-style: italic; }