blog/content/default.css

237 lines
4.6 KiB
CSS

/* content/default.css */
/*
The "27bslash6" Aesthetic:
- Stark Black & White
- Helvetica / Arial
- Narrow, centered reading column
- Zero border radius, zero shadows
*/
:root {
--bg-color: #ffffff;
--text-color: #000000;
--link-color: #cc0000; /* That specific "angry" red he sometimes uses, or just black */
--meta-color: #666666;
--font-stack: "Helvetica Neue", Helvetica, Arial, sans-serif;
--max-width: 680px; /* The classic narrow column */
}
* {
box-sizing: border-box;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
font-family: var(--font-stack);
font-size: 15px; /* Slightly smaller, crisp text */
line-height: 1.5;
margin: 0;
padding: 2rem 1rem;
}
/* The main document container */
body > * {
max-width: var(--max-width);
margin-left: auto;
margin-right: auto;
display: block;
}
/* Typography */
h1, h2, h3 {
font-weight: bold;
letter-spacing: -0.5px;
margin-top: 2.5rem;
margin-bottom: 1rem;
}
h1 {
font-size: 24px;
border-bottom: 1px solid #000;
padding-bottom: 10px;
margin-top: 0;
}
h2 {
font-size: 18px;
}
p {
margin-bottom: 1.2rem;
text-align: justify; /* Gives it that "formal letter" look */
}
/* Links - Stark and obvious */
a {
color: var(--text-color);
text-decoration: underline;
text-decoration-thickness: 1px;
}
a:hover {
color: var(--link-color);
text-decoration: none;
}
/* Code blocks - Raw and industrial */
pre {
background: #f0f0f0;
border: 1px solid #ccc;
padding: 15px;
font-family: "Monaco", "Menlo", "Consolas", monospace;
font-size: 12px;
overflow-x: auto;
margin: 1.5rem 0;
}
code {
font-family: "Monaco", "Menlo", "Consolas", monospace;
background: #f0f0f0;
padding: 2px 4px;
font-size: 90%;
}
/* Blockquotes - The "Email Reply" look */
blockquote {
margin: 1.5rem 0;
padding-left: 15px;
border-left: 4px solid #000;
color: var(--meta-color);
font-style: italic;
}
/* Images - fit the column */
img {
max-width: 100%;
height: auto;
display: block;
margin: 2rem auto;
border: 1px solid #000; /* Optional: adds to the brutalist feel */
}
/* Lists */
ul, ol {
padding-left: 20px;
margin-bottom: 1.5rem;
}
li {
margin-bottom: 0.5rem;
}
/*
Specific Components
*/
/* Top Banner - The "System Notice" Style
*/
.topbanner {
background-color: #f4f4f4; /* Very light grey, distinct from white body */
border: 1px solid #000; /* Crisp definition */
border-left-width: 6px; /* Thick accent, matches your sidebar theme */
padding: 1.5rem 2rem; /* Generous padding for readability */
margin-bottom: 3rem; /* Push the H1 down */
font-size: 14px; /* Slightly smaller than body text */
}
/* Ensure text inside the banner doesn't inherit the 'justify' from global p */
.topbanner p {
text-align: left;
margin-bottom: 0.5rem;
}
.topbanner p:last-child {
margin-bottom: 0;
}
/* Optional: Make links inside the banner aggressive */
.topbanner a {
font-weight: bold;
border-bottom: 2px solid var(--link-color);
text-decoration: none;
}
.topbanner a:hover {
background-color: var(--link-color);
color: white;
}
/* The Site Headline (Top of Index) */
.site-headline {
margin-bottom: 3rem;
text-align: left;
}
.site-headline h1 {
font-size: 32px;
border: none;
padding: 0;
margin: 0;
letter-spacing: -1px;
}
/* Sidebar Styles */
.sidebar {
float: right;
width: 30%;
min-width: 250px;
margin-left: 2rem;
margin-bottom: 1rem;
padding: 1rem;
background-color: #f9f9f9;
border-left: 4px solid #333;
}
/* The Latest Posts List */
.latest-posts {
margin-top: 3rem;
border-top: 4px solid #000;
padding-top: 1rem;
}
.latest-posts h2 {
font-size: 14px;
text-transform: uppercase;
color: var(--meta-color);
margin-bottom: 1rem;
}
.latest-posts ul {
list-style: none;
padding: 0;
}
.latest-posts li {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #eee;
padding: 8px 0;
}
.latest-posts .date {
color: var(--meta-color);
font-size: 12px;
margin-right: 1rem;
min-width: 100px;
}
.latest-posts a {
text-decoration: none;
font-weight: bold;
}
.latest-posts a:hover {
text-decoration: underline;
color: var(--link-color);
}
/* Directory Link */
.directory-link {
margin: 2rem 0;
text-align: right;
font-size: 12px;
text-transform: uppercase;
font-weight: bold;
}