114 lines
2.4 KiB
CSS
114 lines
2.4 KiB
CSS
:root {
|
|
--bg: #fafafa;
|
|
--fg: #1a1a1a;
|
|
--muted: #666;
|
|
--line: #ddd;
|
|
--code-bg: #f0f0f0;
|
|
--link: #0b5cad;
|
|
color-scheme: light dark;
|
|
}
|
|
|
|
/* Dark palette: follows the OS unless the switch pinned a theme (data-theme on <html>). */
|
|
@media (prefers-color-scheme: dark) {
|
|
:root:not([data-theme="light"]) {
|
|
--bg: #111;
|
|
--fg: #e6e6e6;
|
|
--muted: #999;
|
|
--line: #333;
|
|
--code-bg: #1c1c1c;
|
|
--link: #7ab7ff;
|
|
}
|
|
}
|
|
|
|
:root[data-theme="dark"] {
|
|
--bg: #111;
|
|
--fg: #e6e6e6;
|
|
--muted: #999;
|
|
--line: #333;
|
|
--code-bg: #1c1c1c;
|
|
--link: #7ab7ff;
|
|
color-scheme: dark;
|
|
}
|
|
|
|
:root[data-theme="light"] { color-scheme: light; }
|
|
|
|
[hidden] { display: none !important; }
|
|
|
|
* { box-sizing: border-box; }
|
|
|
|
body {
|
|
margin: 0;
|
|
background: var(--bg);
|
|
color: var(--fg);
|
|
font: 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
}
|
|
|
|
main {
|
|
max-width: 42rem;
|
|
margin: 0 auto;
|
|
padding: 3rem 1.25rem;
|
|
}
|
|
|
|
h1 { font-size: 1.75rem; margin: 0 0 2rem; }
|
|
|
|
h2 {
|
|
font-size: .8rem;
|
|
letter-spacing: .08em;
|
|
text-transform: uppercase;
|
|
color: var(--muted);
|
|
margin: 2.5rem 0 .75rem;
|
|
}
|
|
|
|
a { color: var(--link); text-decoration: none; }
|
|
a:hover { text-decoration: underline; }
|
|
|
|
/* Theme switch */
|
|
.topbar { display: flex; justify-content: flex-end; margin: -1.5rem 0 1.5rem; }
|
|
.theme-toggle {
|
|
padding: .25rem .7rem;
|
|
background: transparent;
|
|
color: var(--fg);
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
font-family: inherit;
|
|
font-size: .85rem;
|
|
line-height: 1.4;
|
|
cursor: pointer;
|
|
}
|
|
.theme-toggle:hover { border-color: var(--muted); }
|
|
.theme-toggle:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
|
|
|
|
/* Contact list */
|
|
dl {
|
|
display: grid;
|
|
grid-template-columns: max-content 1fr;
|
|
gap: .5rem 1.5rem;
|
|
margin: 0;
|
|
}
|
|
dt { color: var(--muted); }
|
|
dd { margin: 0; overflow-wrap: anywhere; }
|
|
|
|
/* Key blocks */
|
|
.key { margin: 0 0 1.25rem; }
|
|
.key p { margin: 0 0 .35rem; color: var(--muted); font-size: .9rem; }
|
|
|
|
pre {
|
|
margin: 0;
|
|
padding: .75rem 1rem;
|
|
background: var(--code-bg);
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
overflow-x: auto;
|
|
font: .85rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
}
|
|
|
|
/* Error pages (403/404) */
|
|
main.error h2 { margin-top: 0; }
|
|
main.error h1 { margin-bottom: .75rem; }
|
|
main.error p { color: var(--muted); margin: 0 0 2rem; }
|
|
|
|
@media (max-width: 30rem) {
|
|
dl { grid-template-columns: 1fr; gap: 0; }
|
|
dd { margin-bottom: .75rem; }
|
|
}
|