251 lines
3.7 KiB
CSS
251 lines
3.7 KiB
CSS
:root {
|
|
color-scheme: light dark;
|
|
|
|
--color-background: #ffffff; /* White */
|
|
--color-muted: #f3f4f5; /* Light Gray 200 */
|
|
--color-primary: #191e23; /* Dark Gray 900 */
|
|
--color-secondary: #6c7781; /* Dark Gray 300 */
|
|
--color-accent: #ffb900; /* Accent Yellow */
|
|
--color-link: #46b450; /* Accent Green */
|
|
|
|
--scale-ratio: 1.25;
|
|
--scale0: 1rem;
|
|
--scale1: calc(var(--scale0) * var(--scale-ratio));
|
|
--scale2: calc(var(--scale1) * var(--scale-ratio));
|
|
--scale3: calc(var(--scale2) * var(--scale-ratio));
|
|
--scale4: calc(var(--scale3) * var(--scale-ratio));
|
|
--scale5: calc(var(--scale4) * var(--scale-ratio));
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
:root {
|
|
--color-background: #191e23; /* Dark Gray 900 */
|
|
--color-muted: #23282d; /* Dark Gray 800 */
|
|
--color-primary: #fbfbfc; /* Light Gray 100 */
|
|
--color-secondary: #ccd0d4; /* Light Gray 700 */
|
|
}
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
html {
|
|
font-size: 14px;
|
|
}
|
|
|
|
body {
|
|
background: var(--color-background);
|
|
color: var(--color-primary);
|
|
display: grid;
|
|
font: 1em/1.5 Lato, sans-serif;
|
|
gap: 2em;
|
|
grid-template-columns:
|
|
[full-start]
|
|
1fr
|
|
[main-start side-start]
|
|
minmax(min-content, 12em)
|
|
[side-end content-start]
|
|
minmax(min-content, 36em)
|
|
[main-end content-end]
|
|
1fr
|
|
[full-end];
|
|
grid-template-rows: auto [content] 0;
|
|
margin-bottom: 4em;
|
|
}
|
|
|
|
body::before {
|
|
content: '';
|
|
grid-column: full;
|
|
grid-row: content;
|
|
}
|
|
|
|
ol,
|
|
ul {
|
|
padding-left: 1em;
|
|
}
|
|
|
|
:not(.icon-list, .tag-list) > li + li {
|
|
margin-top: 0.4em;
|
|
}
|
|
|
|
li::marker,
|
|
.network {
|
|
color: var(--color-secondary);
|
|
}
|
|
|
|
a {
|
|
color: var(--color-link);
|
|
text-decoration: none;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
a:focus,
|
|
a:hover {
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h5 {
|
|
font-weight: normal;
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3 {
|
|
line-height: 1.2;
|
|
}
|
|
|
|
h1 {
|
|
font-size: var(--scale5);
|
|
}
|
|
|
|
h2 {
|
|
color: var(--color-secondary);
|
|
font-size: var(--scale4);
|
|
}
|
|
|
|
h3 {
|
|
color: var(--color-accent);
|
|
font-size: var(--scale3);
|
|
grid-column: side;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
h4 {
|
|
font-size: var(--scale2);
|
|
}
|
|
|
|
h5 {
|
|
font-size: var(--scale1);
|
|
}
|
|
|
|
h6 {
|
|
font-size: var(--scale0);
|
|
}
|
|
|
|
blockquote {
|
|
border-left: 0.2em solid var(--color-muted);
|
|
padding-left: 1em;
|
|
}
|
|
|
|
cite {
|
|
color: var(--color-secondary);
|
|
font-style: inherit;
|
|
}
|
|
|
|
cite::before {
|
|
content: '— ';
|
|
}
|
|
|
|
svg {
|
|
margin-right: 0.2em;
|
|
vertical-align: -0.2em;
|
|
}
|
|
|
|
.masthead {
|
|
background: var(--color-muted);
|
|
display: inherit;
|
|
gap: inherit;
|
|
grid-column: full;
|
|
grid-template-columns: inherit;
|
|
padding: 4em 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.masthead > *,
|
|
section {
|
|
grid-column: main;
|
|
}
|
|
|
|
.masthead > img {
|
|
border-radius: 50%;
|
|
margin: 0 auto;
|
|
max-width: 12em;
|
|
}
|
|
|
|
article > * + *,
|
|
blockquote > * + * {
|
|
margin-top: 0.6em;
|
|
}
|
|
|
|
.meta {
|
|
color: var(--color-secondary);
|
|
}
|
|
|
|
.stack {
|
|
display: grid;
|
|
gap: 1.5em;
|
|
}
|
|
|
|
.icon-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.4em 1em;
|
|
justify-content: center;
|
|
list-style: none;
|
|
padding: 0;
|
|
}
|
|
|
|
.grid-list {
|
|
display: grid;
|
|
gap: 1em;
|
|
}
|
|
|
|
.tag-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.4em;
|
|
list-style: none;
|
|
padding: 0;
|
|
}
|
|
|
|
.tag-list > li {
|
|
background: var(--color-muted);
|
|
border-radius: 0.2em;
|
|
padding: 0.2em 0.6em;
|
|
}
|
|
|
|
.bullet-item:not(:first-child)::before {
|
|
content: '· ';
|
|
margin: 0 0.2em;
|
|
}
|
|
|
|
@media print, (min-width: 48em) {
|
|
h3 {
|
|
text-align: right;
|
|
margin-bottom: inherit;
|
|
}
|
|
|
|
.masthead {
|
|
text-align: inherit;
|
|
}
|
|
|
|
.masthead > *,
|
|
section {
|
|
grid-column: content;
|
|
}
|
|
|
|
.masthead img {
|
|
grid-column: side;
|
|
grid-row: span 2;
|
|
max-width: 100%;
|
|
}
|
|
|
|
section {
|
|
display: contents;
|
|
}
|
|
|
|
.icon-list {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.grid-list {
|
|
grid-template-columns: 1fr 1fr;
|
|
}
|
|
}
|