garden/public/css/theme.css
Vigilio Desto 9226c270ae
Migrate garden to Hugo + ASW pack — 30 writings, 147 pages
20 writings from vault source (~/.napkin/writing/), 10 extracted
from HTML. ASW Hugo pack as theme, pure ASW CSS (no theme.css).
garden.trentuna.com now serves Hugo static output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 14:53:59 +02:00

130 lines
3.1 KiB
CSS

/*
* Trentuna theme tokens for ASW-Hugo pack
* Overrides ASW custom properties with trentuna-specific values.
*
* Zero CDN dependencies — system font stacks only, matching ASW's own ethos.
* ASW framework (web-fonts.css) uses system fonts by design: zero external requests,
* zero layout shift, fonts resolve to native equivalents on every device.
*
* Inter and JetBrains Mono resolve to system-ui / monospace on most platforms.
* To use web fonts: add @font-face declarations to a local fonts.css and
* @import it before this file.
*/
:root {
/* --- Typography (system font stacks — no external loading) --- */
--font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', ui-monospace, monospace;
/* --- Dark palette --- */
--color-bg: #0f0f0f;
--color-surface: #1a1a1a;
--color-surface-2:#222222;
--color-border: #2e2e2e;
--color-text: #e8e8e8;
--color-muted: #888888;
--color-accent: #e8c87a; /* warm gold */
--color-accent-2: #7aadcf; /* cool blue */
--color-danger: #cf7a7a;
--color-success: #7acf9a;
/* --- Spacing scale (matches ASW defaults) --- */
--space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2.5rem;
--space-2xl: 4rem;
}
/* Base */
html {
background-color: var(--color-bg);
color: var(--color-text);
font-family: var(--font-sans);
}
code, pre, kbd, samp, tt {
font-family: var(--font-mono);
}
/* Links */
a {
color: var(--color-accent);
}
a:hover {
color: var(--color-accent-2);
}
a[data-wikilink] {
text-decoration: underline dotted;
}
/* Navigation */
header nav {
display: flex;
gap: var(--space-md);
align-items: center;
padding: var(--space-md) var(--space-lg);
border-bottom: 1px solid var(--color-border);
}
header nav a {
text-decoration: none;
font-weight: 500;
}
header nav strong {
color: var(--color-text);
margin-right: var(--space-md);
}
/* Tag cloud */
nav[data-role="tag-cloud"] {
display: flex;
flex-wrap: wrap;
gap: var(--space-xs) var(--space-sm);
}
nav[data-role="tag-cloud"] a {
font-size: 0.8rem;
text-decoration: none;
padding: 0.15em 0.5em;
border: 1px solid var(--color-border);
border-radius: 2px;
color: var(--color-muted);
}
nav[data-role="tag-cloud"] a:hover {
color: var(--color-accent);
border-color: var(--color-accent);
}
a[data-tag] {
font-size: 0.8rem;
color: var(--color-muted);
text-decoration: none;
}
a[data-tag]:hover {
color: var(--color-accent);
}
/* Grid layout */
section[data-layout="grid"] {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
gap: var(--space-lg);
}
/* Article cards in grid */
section[data-layout="grid"] article {
border: 1px solid var(--color-border);
padding: var(--space-md);
border-radius: 3px;
}
section[data-layout="grid"] article:hover {
border-color: var(--color-border);
background: var(--color-surface);
}
/* Footer */
footer {
padding: var(--space-lg);
color: var(--color-muted);
border-top: 1px solid var(--color-border);
font-size: 0.85rem;
}