275 lines
4.0 KiB
CSS
275 lines
4.0 KiB
CSS
/**
|
|
* Global Styles - Scaffold Theme
|
|
*
|
|
* Minimal styles for demonstration. Replace with your theme's design tokens.
|
|
*/
|
|
|
|
/* Reset */
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/* Variables - replace with your theme's tokens */
|
|
:root {
|
|
--color-text: #1a1a1a;
|
|
--color-text-muted: #666;
|
|
--color-bg: #fff;
|
|
--color-border: #e5e5e5;
|
|
--color-accent: #0066cc;
|
|
|
|
--font-body: system-ui, -apple-system, sans-serif;
|
|
--font-mono: ui-monospace, monospace;
|
|
|
|
--space-sm: 0.5rem;
|
|
--space-md: 1rem;
|
|
--space-lg: 2rem;
|
|
--space-xl: 4rem;
|
|
|
|
--content-width: 40rem;
|
|
--container-width: 60rem;
|
|
}
|
|
|
|
/* Base */
|
|
html {
|
|
font-family: var(--font-body);
|
|
font-size: 16px;
|
|
line-height: 1.6;
|
|
color: var(--color-text);
|
|
background: var(--color-bg);
|
|
}
|
|
|
|
body {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
main {
|
|
flex: 1;
|
|
padding: var(--space-xl) var(--space-md);
|
|
}
|
|
|
|
/* Layout */
|
|
.container {
|
|
max-width: var(--container-width);
|
|
margin: 0 auto;
|
|
padding: 0 var(--space-md);
|
|
}
|
|
|
|
.content-width {
|
|
max-width: var(--content-width);
|
|
}
|
|
|
|
/* Header */
|
|
.site-header {
|
|
padding: var(--space-md) 0;
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.site-header .container {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.site-title {
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
color: inherit;
|
|
}
|
|
|
|
.site-nav {
|
|
display: flex;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.site-nav a {
|
|
color: var(--color-text-muted);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.site-nav a:hover {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
/* Footer */
|
|
.site-footer {
|
|
padding: var(--space-lg) 0;
|
|
border-top: 1px solid var(--color-border);
|
|
color: var(--color-text-muted);
|
|
font-size: 0.875rem;
|
|
}
|
|
|
|
.footer-nav {
|
|
display: flex;
|
|
gap: var(--space-md);
|
|
margin-bottom: var(--space-sm);
|
|
}
|
|
|
|
.footer-nav a {
|
|
color: inherit;
|
|
}
|
|
|
|
/* Typography */
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
line-height: 1.3;
|
|
margin-bottom: var(--space-sm);
|
|
}
|
|
|
|
h1 {
|
|
font-size: 2rem;
|
|
}
|
|
h2 {
|
|
font-size: 1.5rem;
|
|
}
|
|
h3 {
|
|
font-size: 1.25rem;
|
|
}
|
|
|
|
p {
|
|
margin-bottom: var(--space-md);
|
|
}
|
|
|
|
a {
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
code {
|
|
font-family: var(--font-mono);
|
|
font-size: 0.9em;
|
|
background: var(--color-border);
|
|
padding: 0.1em 0.3em;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
/* Images */
|
|
img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
display: block;
|
|
}
|
|
|
|
/* Post Card */
|
|
.post-card {
|
|
margin-bottom: var(--space-lg);
|
|
padding-bottom: var(--space-lg);
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.post-card:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.post-card-image {
|
|
margin-bottom: var(--space-md);
|
|
}
|
|
|
|
.post-card-image img {
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.post-card-title {
|
|
font-size: 1.25rem;
|
|
margin-bottom: var(--space-sm);
|
|
}
|
|
|
|
.post-card-title a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.post-card-title a:hover {
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
.post-card-meta {
|
|
font-size: 0.875rem;
|
|
color: var(--color-text-muted);
|
|
margin-bottom: var(--space-sm);
|
|
}
|
|
|
|
.post-card-excerpt {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
/* Single Post/Page */
|
|
.post-header,
|
|
.page-header {
|
|
margin-bottom: var(--space-lg);
|
|
}
|
|
|
|
.post-meta {
|
|
font-size: 0.875rem;
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
gap: var(--space-md);
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.post-featured-image {
|
|
margin-bottom: var(--space-lg);
|
|
}
|
|
|
|
.post-featured-image img {
|
|
border-radius: 4px;
|
|
}
|
|
|
|
/* Taxonomy terms */
|
|
.post-categories a,
|
|
.post-tags a {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.post-tags {
|
|
margin-top: var(--space-lg);
|
|
display: flex;
|
|
gap: var(--space-sm);
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.tag {
|
|
font-size: 0.875rem;
|
|
padding: var(--space-sm) var(--space-md);
|
|
background: var(--color-border);
|
|
border-radius: 4px;
|
|
text-decoration: none;
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.tag:hover {
|
|
background: var(--color-text);
|
|
color: var(--color-bg);
|
|
}
|
|
|
|
/* Prose (PortableText content) */
|
|
.prose > * + * {
|
|
margin-top: var(--space-md);
|
|
}
|
|
|
|
.prose h2,
|
|
.prose h3,
|
|
.prose h4 {
|
|
margin-top: var(--space-lg);
|
|
}
|
|
|
|
/* Archive header */
|
|
.archive-header {
|
|
margin-bottom: var(--space-lg);
|
|
}
|
|
|
|
/* Utility */
|
|
.text-muted {
|
|
color: var(--color-text-muted);
|
|
}
|