Spec 0003: Minimal Editorial Design
Overview
Apply a cohesive visual design to The Long Run site using brand colors from the logo, refined typography, and a clean editorial aesthetic inspired by iA Writer and Bear blog.
Goals
- Establish a consistent visual identity using the logo’s color palette
- Add the logo to the site header
- Improve typography for comfortable long-form reading
- Create a design that feels timeless and editorial
- Maintain simplicity - no decorative elements
Non-Goals
- Dark mode (can be added later)
- Custom fonts (system fonts are intentional for longevity)
- Complex layouts or sidebars
- JavaScript-driven interactions
Requirements
R1: Color System
Derive the design system from the logo colors:
:root {
/* From logo */
--color-cream: #F7F6F3; /* Background - warm off-white */
--color-charcoal: #2F3437; /* Text - dark gray */
--color-forest: #3F8358; /* Accent - green */
/* Derived */
--color-muted: #6B7280; /* Secondary text */
--color-border: #E5E4E1; /* Subtle borders */
}Usage:
- Page background:
--color-cream - Body text:
--color-charcoal - Links and accents:
--color-forest - Metadata/dates:
--color-muted
R2: Logo Integration
Add the logo to the site header:
Desktop: Logo (SVG, 32px height) + “The Long Run” text Mobile: Logo only or logo + abbreviated text
Logo files available:
public/images/logos/thelongrun-avatar.svg(scalable)public/images/logos/thelongrun-avatar-128.png(favicon)
Favicon: Use the 128px PNG or generate proper favicon sizes.
R3: Typography Refinement
Keep system fonts but refine the typography:
html {
font-size: 18px; /* Base size */
line-height: 1.7; /* Generous for reading */
}
h1 {
font-size: 2.25rem;
font-weight: 600; /* Slightly lighter than bold */
letter-spacing: -0.02em; /* Tighten headlines */
}
.prose {
font-size: 1.1rem; /* Slightly larger body */
line-height: 1.8; /* Extra breathing room */
}R4: Layout Adjustments
Content width: Keep 680px max-width (optimal for reading)
Spacing:
- More vertical rhythm between sections
- Generous margins around blockquotes
- Clear separation between essay list items
Header:
- Simple horizontal layout: logo + site name on left
- Navigation links on right (Home, About, RSS)
- Subtle bottom border using
--color-border
Footer:
- Minimal: copyright + RSS link
- Use
--color-mutedfor text
R5: Interactive States
Links:
- Default:
--color-forestwith no underline - Hover: Underline appears
- Visited: Slightly muted green (optional)
Essay titles in list:
- Default:
--color-charcoal - Hover:
--color-forest
R6: Code Blocks
Style code to fit the editorial aesthetic:
code {
background: rgba(47, 52, 55, 0.06); /* Charcoal at 6% */
color: var(--color-charcoal);
font-size: 0.9em;
padding: 0.15em 0.4em;
border-radius: 3px;
}
pre {
background: rgba(47, 52, 55, 0.04); /* Charcoal at 4% */
border: 1px solid var(--color-border);
border-radius: 4px;
}Acceptance Criteria
- Colors match logo - Page background is cream, text is charcoal, links are forest green
- Logo appears in header - SVG logo renders at correct size
- Favicon works - Browser tab shows the logo
- Typography is refined - Headlines have letter-spacing, body has generous line-height
- Links use green accent - All links are forest green, underline on hover
- Mobile responsive - Site looks good on phone screens
- No visual regressions - All existing content still renders correctly
Design Reference
Inspiration:
- iA Writer (clean, focused, system fonts)
- Bear Blog (minimal, fast, editorial)
- Craig Mod’s essays (generous typography, warm tones)
Anti-inspiration (avoid):
- Heavy drop shadows
- Gradient backgrounds
- Decorative borders
- Complex grid layouts
Files to Modify
src/styles/global.css- Main stylesheetsrc/layouts/Base.astro- Add logo to header, update faviconsrc/components/SEO.astro- Add favicon linkspublic/favicon.ico- Generate from logo PNG
Out of Scope
- Dark mode toggle
- Theme customization
- Print stylesheet
- Animation/transitions beyond hover states