@font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-Thin.ttf") format("truetype"); font-weight: 100; font-style: normal; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-ThinItalic.ttf") format("truetype"); font-weight: 100; font-style: italic; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-Extralight.ttf") format("truetype"); font-weight: 200; font-style: normal; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-ExtralightItalic.ttf") format("truetype"); font-weight: 200; font-style: italic; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-Light.ttf") format("truetype"); font-weight: 300; font-style: normal; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-LightItalic.ttf") format("truetype"); font-weight: 300; font-style: italic; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-RegularItalic.ttf") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-Medium.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-MediumItalic.ttf") format("truetype"); font-weight: 500; font-style: italic; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-BoldItalic.ttf") format("truetype"); font-weight: 700; font-style: italic; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-Black.ttf") format("truetype"); font-weight: 900; font-style: normal; font-display: swap; } @font-face { font-family: "Signifier"; src: url("/fonts/signifier/Signifier-BlackItalic.ttf") format("truetype"); font-weight: 900; font-style: italic; font-display: swap; } @font-face { font-family: "Apercu Mono"; src: url("/fonts/apercu-mono/ApercuMonoProLight.ttf") format("truetype"); font-weight: 300; font-style: normal; font-display: swap; } @font-face { font-family: "Apercu Mono"; src: url("/fonts/apercu-mono/ApercuMonoProRegular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: "Apercu Mono"; src: url("/fonts/apercu-mono/ApercuMonoProMedium.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: "Apercu Mono"; src: url("/fonts/apercu-mono/ApercuMonoProBold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; } :root { --bg: #fff; --text: #000; --code-bg: #f4f4f4; --border: #e1e1e1; --grid-color: rgba(200, 200, 200, 0.4); } @media (prefers-color-scheme: dark) { :root { --bg: #000; --text: #fff; --code-bg: #0a0a0a; --border: #1a1a1a; --grid-color: rgba(55, 55, 55, 0.4); } } [data-theme="light"] { --bg: #fff; --text: #000; --code-bg: #f4f4f4; --border: #e1e1e1; --grid-color: rgba(200, 200, 200, 0.4); } [data-theme="dark"] { --bg: #000; --text: #fff; --code-bg: #0a0a0a; --border: #1a1a1a; --grid-color: rgba(55, 55, 55, 0.4); } pre, code, pre code, .astro-code, code[class*="language-"] { font-family: "Apercu Mono", monospace !important; font-size: 0.95em; line-height: 1.5; font-weight: 400; } html, body { font-family: "Signifier", serif; margin: 0; padding: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); color: var(--text); } header, footer { padding: 20px; font-size: 1.5em; display: flex; align-items: center; justify-content: space-between; } #theme-toggle { cursor: pointer; user-select: none; } .main { display: flex; justify-content: center; flex: 1; width: 100%; } a { color: inherit; } li { margin-bottom: 10px; } .graph-background { background-image: linear-gradient(to right, var(--grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px); background-size: 3vw 3vw; } html:has(body.graph-background) { background-image: linear-gradient(to right, var(--grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px); background-size: 3vw 3vw; background-color: var(--bg); } .terminal-cursor { display: inline-block; width: 10px; height: 1em; background-color: var(--bg); border: 1px solid var(--text); vertical-align: text-top; animation: blink 1s step-start infinite; } @keyframes blink { 50% { background-color: transparent; border-color: transparent; } } .terminal-container { font-family: "Courier New", monospace; } pre { font-feature-settings: "liga" 0, "calt" 0; } @media (max-width: 768px) { header { font-size: 0.9em; padding: 15px; } footer { font-size: 0.9em; padding: 15px; } }