:root { color-scheme: light; --dark-background-color: rgb(30, 30, 42); --dark-background-color-ui: rgb(50, 50, 62); --dark-foreground: rgb(241, 241, 255); --dark-foreground-dim: rgb(171, 171, 179); --light-background-color: rgb(225, 225, 237); --light-background-color-ui: rgb(241, 241, 255); --light-foreground: rgb(30, 30, 42); --light-foreground-dim: rgb(105, 105, 110); --dark-accent-color: rgb(84, 174, 219); --light-accent-color: rgb(0, 109, 163); --loader-size: 0.5em; } * { box-sizing: border-box; font-family: "Jetbrains Mono"; } html, body { margin: 0; padding: 0; } body { min-height: 100dvh; display: grid; grid-template-rows: auto 1fr auto; background-color: light-dark( var(--light-background-color), var(--dark-background-color) ); color: light-dark(var(--light-foreground), var(--dark-foreground)); } header { padding: 0.5em 2em; display: flex; justify-content: space-between; align-items: center; } header > nav { display: flex; gap: 1em; } footer { padding: 0.5em; display: flex; justify-content: center; color: light-dark(var(--light-foreground-dim), var(--dark-foreground-dim)); font-style: italic; } section { margin: 0 1.5em; padding: 0.5em 1.5em; background-color: light-dark( var(--light-background-color-ui), var(--dark-background-color-ui) ); border-radius: 0.5em; } a { position: relative; text-decoration: none; color: light-dark(var(--light-accent-color), var(--dark-accent-color)); } a::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background-color: light-dark( var(--light-accent-color), var(--dark-accent-color) ); transform-origin: right; transform: scaleX(0); transition: transform 100ms ease-in-out; } a:focus::before, a:hover::before { transform-origin: left; transform: scaleX(1); }