:root {
--bg: #fafaf7;
--fg: #1c1c1c;
--muted: #6b6b6b;
--accent: #2a52be;
--code-bg: #f0eee6;
--border: #d8d4c8;
--max: 720px;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #14140f;
--fg: #e8e6dd;
--muted: #a0a09a;
--accent: #8ab4ff;
--code-bg: #1f1f18;
--border: #2e2e26;
}
}
* {
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
}
body {
background: var(--bg);
color: var(--fg);
font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
sans-serif;
font-size: 16px;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
main {
max-width: var(--max);
margin: 0 auto;
padding: 3rem 1.25rem 4rem;
}
header {
margin-bottom: 3rem;
padding-bottom: 2rem;
border-bottom: 1px solid var(--border);
}
h1 {
font-size: 2.4rem;
margin: 0 0 0.5rem;
font-family:
"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
letter-spacing: -0.02em;
}
h2 {
font-size: 1.4rem;
margin: 2.5rem 0 0.75rem;
padding-top: 0.5rem;
}
h3 {
font-size: 1.05rem;
margin: 1.5rem 0 0.5rem;
font-weight: 600;
}
p {
margin: 0.75rem 0;
}
.tagline {
font-size: 1.15rem;
color: var(--fg);
font-weight: 500;
margin-top: 0;
}
.lede {
color: var(--muted);
font-size: 1rem;
}
.aside {
color: var(--muted);
font-size: 0.9rem;
margin-top: -0.25rem;
}
.badges {
margin-top: 1.5rem;
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.badges img {
display: block;
height: 20px;
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
code,
pre {
font-family:
"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
font-size: 0.875em;
}
code {
background: var(--code-bg);
padding: 0.1em 0.35em;
border-radius: 3px;
white-space: nowrap;
}
pre {
background: var(--code-bg);
border: 1px solid var(--border);
border-radius: 6px;
padding: 0.85rem 1rem;
overflow-x: auto;
line-height: 1.45;
margin: 0.5rem 0;
}
pre code {
background: none;
padding: 0;
white-space: pre;
}
ul {
padding-left: 1.25rem;
}
li {
margin: 0.25rem 0;
}
section {
margin-top: 2.5rem;
}
table {
width: 100%;
border-collapse: collapse;
margin: 1rem 0;
font-size: 0.9rem;
}
th,
td {
text-align: left;
vertical-align: top;
padding: 0.6rem 0.75rem;
border-bottom: 1px solid var(--border);
}
th {
font-weight: 600;
color: var(--muted);
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
td code {
white-space: normal;
}
footer {
margin-top: 4rem;
padding-top: 1.5rem;
border-top: 1px solid var(--border);
color: var(--muted);
font-size: 0.9rem;
}
@media (max-width: 600px) {
main {
padding: 2rem 1rem;
}
h1 {
font-size: 1.85rem;
}
}