Files
moments/ui/src/App.css
rob thijssen 908ab33bd2 style(blog): smaller list headers, readable date color
list-view post titles were h3 at the bootstrap default, large enough
to wrap; size them to 1.4rem. dates used bootstrap's text-muted, whose
dark grey contrasts poorly on the dark background — replace with a
blog-date class matching the site's opacity-based muted-text pattern,
on the list and the detail page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 10:14:02 +03:00

210 lines
3.1 KiB
CSS

body {
background-color: #2c3e50;
color: #ecf0f1;
text-transform: lowercase;
}
.container {
color: #ecf0f1;
}
a {
color: #ff4081;
text-decoration: none;
}
a:hover {
color: #ff80ab;
text-decoration: underline;
}
.hot-pink,
a.hot-pink {
color: #ff4081;
}
/* react-vertical-timeline-component date label sits in the gutter — readable
against the dark backdrop. */
.vertical-timeline-element-date {
color: #ecf0f1 !important;
opacity: 0.8;
}
.vertical-timeline-element-content {
color: #2c3e50;
}
.vertical-timeline-element-content h4.vertical-timeline-element-title {
font-size: 0.85rem;
}
.vertical-timeline-element-content h5.vertical-timeline-element-subtitle {
font-size: 0.75rem;
}
.vertical-timeline-element-content p,
.vertical-timeline-element-content ul,
.vertical-timeline-element-content li,
.vertical-timeline-element-content code {
font-size: 0.75rem;
}
.vertical-timeline-element-content a {
color: #1565c0;
}
.site-header h1 {
font-size: 1.75rem;
}
.site-header nav a {
color: #ecf0f1;
opacity: 0.7;
}
.site-header nav a:hover {
color: #ff4081;
opacity: 1;
text-decoration: none;
}
.site-header nav a.active {
color: #ff4081;
opacity: 1;
}
.nav-divider {
opacity: 0.3;
}
.graph-label {
fill: #ecf0f1;
font-size: 9px;
opacity: 0.6;
}
.graph-cell {
cursor: pointer;
transition: opacity 0.15s;
}
.graph-cell:hover {
opacity: 0.8;
stroke: #ecf0f1;
stroke-width: 1;
}
.project-card {
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 6px;
height: 100%;
}
.project-card h5 {
font-size: 0.9rem;
}
.forge-icon {
width: 16px;
height: 16px;
margin-right: 6px;
vertical-align: -2px;
opacity: 0.7;
}
.project-card a {
color: #ff4081;
}
.project-card .text-muted {
color: rgba(236, 240, 241, 0.5) !important;
font-size: 0.7rem;
}
.project-card h5,
.project-card .text-muted,
.project-card span {
color: #ecf0f1;
}
.language-bar {
display: flex;
height: 6px;
border-radius: 3px;
overflow: hidden;
}
.language-bar-segment {
min-width: 2px;
}
.language-dot {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
margin-right: 4px;
}
.project-readme {
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 6px;
padding: 1.5rem;
font-size: 0.85rem;
line-height: 1.5;
}
.project-readme h1,
.project-readme h2,
.project-readme h3 {
font-size: 1.1rem;
margin-top: 1rem;
}
.project-readme pre {
background: rgba(0, 0, 0, 0.2);
padding: 0.75rem;
border-radius: 4px;
overflow-x: auto;
}
.project-readme code {
font-size: 0.8rem;
}
.project-readme img {
max-width: 100%;
}
.blog-post img {
max-width: 100%;
height: auto;
border-radius: 6px;
}
.blog-post pre {
background: rgba(0, 0, 0, 0.2);
padding: 0.75rem;
border-radius: 4px;
overflow-x: auto;
}
.blog-list-title {
font-size: 1.4rem;
}
.blog-date {
font-size: 85%;
opacity: 0.6;
}
.site-footer {
margin-top: 3rem;
padding: 1rem 0;
font-size: 0.75rem;
opacity: 0.6;
text-align: center;
}