Files
blog/frontend/app/assets/css/main.css
T

116 lines
1.7 KiB
CSS
Raw Normal View History

:root {
--color-text: #16181d;
--color-muted: #5b6270;
--color-bg: #ffffff;
--color-surface: #f5f6f8;
--color-border: #e2e5ea;
--color-accent: #2f4bd8;
--radius: 10px;
--width: 68rem;
--space: 1.25rem;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
body {
margin: 0;
color: var(--color-text);
background: var(--color-bg);
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 1.05rem;
line-height: 1.65;
}
img {
max-width: 100%;
height: auto;
}
a {
color: var(--color-accent);
}
h1,
h2,
h3 {
line-height: 1.25;
text-wrap: balance;
}
:focus-visible {
outline: 3px solid var(--color-accent);
outline-offset: 2px;
}
.container {
width: 100%;
max-width: var(--width);
margin-inline: auto;
padding-inline: var(--space);
}
.skip-link {
position: absolute;
left: -9999px;
}
.skip-link:focus {
left: var(--space);
top: var(--space);
z-index: 10;
padding: 0.5rem 0.75rem;
background: var(--color-bg);
border: 1px solid var(--color-border);
border-radius: var(--radius);
}
.muted {
color: var(--color-muted);
}
.card-grid {
display: grid;
gap: 1.75rem;
grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
padding: 0;
margin: 0;
list-style: none;
}
.prose {
max-width: 44rem;
}
.prose img {
border-radius: var(--radius);
}
.prose pre {
overflow-x: auto;
padding: 1rem;
background: var(--color-surface);
border-radius: var(--radius);
}
.tag-list {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
padding: 0;
margin: 2rem 0 0;
list-style: none;
}
.tag-list a {
display: inline-block;
padding: 0.15rem 0.6rem;
font-size: 0.9rem;
background: var(--color-surface);
border-radius: 999px;
text-decoration: none;
}