json-theme-even-fork/style.css

254 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: repeat(
auto-fit,
minmax(calc((100% - 1em) / 2), 1fr)
);
}
}