@font-face { font-family: "Fira Code VF"; src: url("/assets/fonts/FiraCode-VF/FiraCode-VF.woff2") format("woff2-variations"), url("/assets/fonts/FiraCode-VF/FiraCode-VF.woff") format("woff-variations"); font-weight: 200 700; font-style: normal; } :root { --accent: #b462cbff; --background: light-dark(#f3dffc, #16051d); --foreground: light-dark(#faf0ff, #08020b); --text: light-dark(#0f0f0f, #efefef); --success: #9ece6a; --warn: #e0af68; --error: #f7768e; --radius: 8px; font-family: Inter, sans-serif; } @supports (font-variation-settings: normal) { :root { font-family: InterVariable, sans-serif; } } body { color-scheme: light dark; /* Display */ margin: 0; padding: 0; /* Colors */ background-color: var(--background); color: var(--text); } article:first-of-type, main:first-of-type { margin-left: auto; margin-right: auto; padding: 1rem; max-width: 768px; } nav { margin-left: auto; margin-right: auto; max-width: 768px; } nav .links { font-size: small; } h1 { font-size: xx-large; font-weight: bolder; } h2 { font-size: x-large; font-weight: bold; } h3 { font-size: large; font-weight: bold; } h4 { font-size: medium; font-weight: bold; } h5 { font-size: medium; font-weight: bold; } h6 { font-size: medium; font-weight: bold; } a { color: var(--accent); text-underline-offset: 0.15rem; } a[target="_blank"]:not(:has(>img))::after { content: "↗"; display: inline-block; } img, video { max-width: 100%; height: auto; } code { padding-left: 0.15em; padding-right: 0.15em; font-family: "Fira Code VF", monospace; } pre code { display: block; width: 100%; padding: 0.5rem; overflow-x: scroll; } details[open] { padding-bottom: 1px; } details + details { margin-top: 0.5em; } details > * { margin-left: 2em; } details > summary { margin-left: 0; padding: 0.5em; width: fit-content; cursor: pointer; } kbd { padding-left: 0.5em; padding-right: 0.5em; } mark { padding-left: 0.25em; padding-right: 0.25em; } button, input[type="submit"] { padding: 0.5em 1em; background-color: color-mix(in srgb, var(--foreground) 70%, var(--accent)); border: none; border-radius: var(--radius); font-weight: bold; text-transform: uppercase; cursor: pointer; transition: background-color 0.2s; } button:hover, input[type="submit"]:hover { background-color: color-mix(in srgb, var(--foreground) 40%, var(--accent)); } button[disabled], input[type="submit"][disabled] { opacity: 0.6; } input[type="text"] { padding: 0.5em; outline: none; background-color: var(--foreground); color: var(--text); border: 1px solid color-mix(in srgb, var(--foreground) 70%, var(--accent)); border-radius: var(--radius); transition: border 0.2s; } input[type="text"]:focus { border-color: var(--accent); } td, th { padding: 0.25em; } table { display: block; max-width: 100%; overflow-x: scroll; } table.rows tbody tr { background-color: var(--foreground); } table.rows tbody tr:nth-child(2n) { background-color: transparent; } .icon-link > a, .icon-link > span { padding-left: 0.15rem; line-height: 2em; } .icon-link > img { display: inline-block; width: 2em; max-height: 2em; vertical-align: middle; margin-right: 0.25rem; } .upper { text-transform: uppercase; } .foreground { background: var(--foreground); } .card { padding: 1rem; border-radius: var(--radius); } .card > :first-child { margin-top: 0; } .card > :last-child { margin-bottom: 0; } .card + .card { margin-top: 1rem; } .invert { filter: invert() hue-rotate(180deg); } ::selection { background-color: var(--accent); color: var(--background); }