@font-face { font-family: "Bloktype"; src: url("/fonts/BLOKTYPE.woff2"); } :root { color-scheme: light dark; --color-light: #f3ccfb; --color-dark: #130b16; --color-pink: #ea33d2; --color-blurple: #6d12e2; --color-bg: light-dark(var(--color-light), var(--color-dark)); --color-text: light-dark(var(--color-dark), var(--color-light)); --color-header: light-dark(var(--color-blurple), var(--color-pink)); --color-warn: light-dark(var(--color-pink), var(--color-blurple)); } /* 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 */ } *:focus-visible { outline: .2rem solid var(--color-header); outline-offset: .15rem; background-color: var(--color-header); } html { height: 100%; } @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 */ font-family: "Atkinson Hyperlegible Next", sans-serif; background-color: var(--color-bg); color: var(--color-text); display: grid; grid-template-rows: auto 1fr auto; min-height: 100%; } main { width: 60%; margin: 0 auto 2rem; } @media (max-width: 1100px) { main { width: 80%; } } @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 */ margin: 0 auto; } 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 */ } h1, h2, h3, h4, h5, h6 { text-wrap: balance; /* 9. Improve line wrapping */ color: var(--color-header); font-weight: bold; line-height: 105%; } h1 { margin: 5rem 0; font-size: 3rem; text-align: center; } @media (max-width: 650px) { h1 { margin: 2rem 0; } } h2 { font-size: 2rem; margin: 1.4rem 0; } p + h2, h3 + h2 { padding-top: 3rem; border-top: solid; } h3 { font-size: 1.4rem; margin-top: 1rem; } p { text-wrap: pretty; /* 9. Improve line wrapping */ } p, ul { margin: 1.5rem 0; } ul ul { margin: .5rem 0; } @media (max-width: 650px) { ul { padding-left: 1.5rem; } } a:link, a:visited { background-color: var(--color-text); color: var(--color-bg); font-weight: bold; padding: 0 .2rem; text-decoration: none; border-radius: .2rem; } /* makes the years page prettier */ h3 a:link, h3 a:visited { background-color: var(--color-header); } h3 *:focus-visible { outline: .2rem solid var(--color-text); background-color: var(--color-text); } time { text-decoration: .1rem underline wavy var(--color-blurple); } /* Header nav */ nav { border-bottom: .25rem solid var(--color-header); font-size: 1.1rem; } #skip { position: absolute; left: -999px; top: -999px; } #skip:focus-visible { left: 1rem; top: .5rem; } nav ul { display: flex; flex-flow: row wrap; align-items: stretch; justify-content: center; list-style: none; padding: 0; margin: 0; } nav li { margin: .5rem .5rem; } footer { display: flex; justify-content: space-between; margin: 1rem auto 0; padding: 1rem .5rem; width: 100%; flex-flow: row wrap; border-top: .25rem solid var(--color-header); } footer p { margin: 0.5rem 0; } @media (max-width: 650px) { footer { flex-flow: column nowrap; } footer p { text-align: center; } } .bloktype { font-family: "Bloktype", "Atkinson Hyperlegible Next", sans-serif; font-size: 1.35em; /* because of the blocks the letters are rather small */ color: var(--color-text); } @media (prefers-color-scheme: light) { .dark-mode { display: none; } } @media (prefers-color-scheme: dark) { .light-mode { display: none; } } /* only float insets on larger screens */ @media (min-width: 551px) { .inset { clear: both; width: 40%; padding-left: 1rem; padding-bottom: .5rem; float: right; background-color: var(--color-bg); } }