Files
unprompted/css/style.css
Stephen Donahue b9afbc231a
All checks were successful
Deploy to S3 / deploy (push) Successful in 43s
[css] color preference light/dark
2026-04-01 03:01:20 +00:00

253 lines
3.8 KiB
CSS

*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--font-body: Georgia, "Times New Roman", serif;
--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
--color-bg: #fdfdfd;
--color-text: #1a1a1a;
--color-muted: #6b6b6b;
--color-border: #e0e0e0;
--color-link: #1a1a1a;
--color-link-hover: #555;
--color-pre-bg: #f5f5f5;
--max-width: 960px;
--sidebar-width: 200px;
}
html {
font-size: 18px;
line-height: 1.6;
}
body {
font-family: var(--font-body);
color: var(--color-text);
background: var(--color-bg);
max-width: var(--max-width);
margin: 0 auto;
padding: 2rem 1.5rem;
}
a {
color: var(--color-link);
text-decoration: none;
border-bottom: 1px solid var(--color-border);
}
a:hover {
color: var(--color-link-hover);
border-bottom-color: var(--color-muted);
}
/* header */
.site-header {
margin-bottom: 2rem;
}
.site-title {
font-family: var(--font-ui);
font-size: 1rem;
font-weight: 600;
letter-spacing: 0.02em;
border-bottom: none;
}
/* layout */
.site-layout {
display: grid;
grid-template-columns: 1fr var(--sidebar-width);
gap: 3rem;
}
/* main content */
.content h1 {
font-size: 1.6rem;
line-height: 1.25;
margin-bottom: 0.25rem;
}
.column-header time {
font-family: var(--font-ui);
font-size: 0.8rem;
color: var(--color-muted);
}
/* images */
.column-hero {
margin-bottom: 1.5rem;
}
.column-hero picture,
.column-hero img {
display: block;
width: 100%;
height: auto;
}
.column-body picture,
.column-body img {
display: block;
max-width: 100%;
height: auto;
margin: 1.5rem 0;
}
.column-body {
margin-top: 1.5rem;
}
.column-body h2 {
font-size: 1.2rem;
margin-top: 2rem;
margin-bottom: 0.5rem;
}
.column-body h3 {
font-size: 1rem;
margin-top: 1.5rem;
margin-bottom: 0.5rem;
}
.column-body p {
margin-bottom: 1rem;
}
.column-body blockquote {
border-left: 3px solid var(--color-border);
padding-left: 1rem;
color: var(--color-muted);
margin-bottom: 1rem;
}
.column-body ul,
.column-body ol {
margin-bottom: 1rem;
padding-left: 1.5rem;
}
.column-body pre {
background: var(--color-pre-bg);
padding: 1rem;
overflow-x: auto;
margin-bottom: 1rem;
font-size: 0.85rem;
line-height: 1.5;
}
.column-body code {
font-size: 0.85em;
}
.column-body hr {
border: none;
border-top: 1px solid var(--color-border);
margin: 2rem 0;
}
/* sidebar */
.sidebar {
font-family: var(--font-ui);
font-size: 0.8rem;
}
.sidebar h2 {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--color-muted);
margin-bottom: 0.75rem;
}
.sidebar .year-label {
font-size: 0.75rem;
font-weight: 600;
color: var(--color-muted);
margin-top: 0.75rem;
margin-bottom: 0.25rem;
}
.sidebar ul {
list-style: none;
}
.sidebar li {
margin-bottom: 0.3rem;
}
.sidebar a {
border-bottom: none;
color: var(--color-muted);
}
.sidebar a:hover {
color: var(--color-text);
}
/* footer */
.site-footer {
margin-top: 3rem;
padding-top: 1.5rem;
border-top: 1px solid var(--color-border);
}
.footer-nav {
font-family: var(--font-ui);
font-size: 0.8rem;
display: flex;
gap: 1.5rem;
}
.footer-nav a {
color: var(--color-muted);
border-bottom: none;
}
.footer-nav a:hover {
color: var(--color-text);
}
/* dark mode */
@media (prefers-color-scheme: dark) {
:root {
--color-bg: #1a1a1a;
--color-text: #e0e0e0;
--color-muted: #999;
--color-border: #333;
--color-link: #e0e0e0;
--color-link-hover: #bbb;
--color-pre-bg: #2a2a2a;
}
}
/* responsive */
@media (max-width: 640px) {
html {
font-size: 16px;
}
.site-layout {
grid-template-columns: 1fr;
gap: 2rem;
}
.sidebar {
order: 1;
border-top: 1px solid var(--color-border);
padding-top: 1.5rem;
}
}