:root {
    --bg: #f9f6f1;
    --surface: #ffffff;
    --surface-soft: #f0ebe3;
    --text: #1a1a1a;
    --muted: #555555;
    --line: #dddddd;
    --accent: #8b5e3c;
}
* { box-sizing: border-box; }
body {
    font-family: Georgia, serif;
    max-width: 820px;
    margin: auto;
    padding: 2rem;
    background: var(--bg);
    color: var(--text);
    line-height: 1.7;
}
.site-shell { width: 100%; }
header {
    border-bottom: 1px solid var(--line);
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
}
header h1 { color: var(--accent); margin-bottom: 0.25rem; }
.site-description { color: var(--muted); margin-top: 0; }
nav { margin-top: 1.25rem; }
nav a { color: var(--accent); margin-right: 14px; text-decoration: none; }
nav a:hover { text-decoration: underline; }
main { min-height: 55vh; }
.page-header { margin-bottom: 1.5rem; }
.page-header h2 { color: var(--accent); margin-bottom: 0.25rem; }
.page-header p { color: var(--muted); }
.page-body p { margin-bottom: 1rem; }
a { color: var(--accent); }
footer {
    border-top: 1px solid var(--line);
    margin-top: 3rem;
    padding-top: 1rem;
    color: var(--muted);
    font-size: 0.9rem;
}
.resource-group { margin-top: 2rem; }
.resource-group > h3 {
    color: var(--accent);
    border-bottom: 1px solid var(--line);
    padding-bottom: 0.4rem;
    margin-bottom: 1rem;
}
.resource-list { display: grid; gap: 1rem; margin-top: 1rem; }
.resource-card {
    border: 1px solid var(--line);
    padding: 1rem;
    background: var(--surface);
}
.resource-card h3 { margin: 0.25rem 0; }
.resource-card p { margin: 0.5rem 0; color: var(--muted); }
.resource-type {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent);
}
.resource-url { font-size: 0.8rem; color: #999999; word-break: break-all; }
