leilukin-site/src/assets/css/general.css

128 lines
3.3 KiB
CSS

/* GENERAL STYLES */
html {
@media (prefers-reduced-motion: no-preference) {
scroll-behavior: smooth;
}
}
body {
display: flex;
align-items: center;
flex-direction: column;
font-family: var(--ff-default), system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
color: var(--clr-body-txt);
background-color: var(--clr-body-bg);
}
main {
width: 100%;
display: grid;
font-size: var(--fs-main);
}
h1 {
color: var(--clr-main-heading);
font-size: var(--fs-h1);
border-bottom: 0.18rem solid var(--clr-title-border);
padding-bottom: 0.3em;
margin-bottom: 0.5em;
}
h2, h3, h4, h5, h6 { color: var(--clr-sub-heading); }
h1, h2, h3 { line-height: 1.2; }
h2, .h2 { font-size: var(--fs-h2); }
h3, .h3 { font-size: var(--fs-h3); }
h2:has(+ *[class]:not(.heading-anchor)), .h2:has(+ *[class]),
h3:has(+ *[class]:not(.heading-anchor)), .h3:has(+ *[class]) { margin-bottom: 0.5em; }
h4, .h4 { font-size: var(--fs-h4); }
strong { color: var(--clr-bold-txt); }
:focus { outline: 0.15em solid var(--clr-body-txt); }
a {
font-weight: 700;
color: var(--clr-link);
}
a:hover { color: var(--clr-link-hover); }
a:not([class]):focus { outline: 0.15rem solid var(--clr-link); }
a:hover img, a:focus img { outline: 0.2em solid var(--clr-body-txt); }
a[href^="http"]:not([href*="leilukin.com"]):not(:has(img, svg, picture)),
.external-link { padding-right: 1.25em; }
a[href^="http"]:not([href*="leilukin.com"]):not(:has(img, svg, picture))::after,
.external-link::after {
position: absolute;
content: "";
display: inline-block;
width: 1em;
height: 1em;
margin-left: 0.25em;
background-color: currentColor;
mask-size: 100%;
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 12.2 12.2' width='14' height='14'%3E%3Cpath d='M5.7 0v1.5h4L4.5 6.7l1 1.1 5.3-5.2v3.9h1.4V0z'/%3E%3Cpath fill='none' d='M3.4 6.7l3-2.9H1.5v7h7V5.9l-3 2.9z'/%3E%3Cpath d='M8.5 5.9v4.9h-7v-7h4.9l1.5-1.6H0v10h10V4.4z'/%3E%3C/svg%3E");
mask-repeat: no-repeat;
transform: translateY(0.25em);
}
:not(.c-blockquote) > blockquote,
.c-blockquote {
padding: 1em 1.4em 1.4em;
border-inline-start: 0.1em solid var(--clr-main-heading);
background-color: var(--clr-quote-bg);
margin-bottom: 1em;
}
blockquote > * + :not([class]),
* + blockquote,
* + .c-blockquote,
.c-blockquote__attribution { margin-top: var(--sz-paragraph-margin); }
button:hover { cursor: pointer; }
button:focus,
details:focus { outline-offset: 0.2em; }
figure {
margin-bottom: var(--sz-paragraph-margin);
display: grid;
place-content: center;
justify-items: center;
}
figcaption {
text-align: center;
font-size: 0.9em;
margin-top: 0.2em;
}
code { font-family: var(--ff-monospace), ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace; }
:not(pre) > code { padding: 0.125em 0.25em; }
:not(pre) > code,
pre { background-color: var(--clr-code-bg); }
pre {
border: 0.1em solid var(--clr-code-border);
max-width: 90vw;
overflow: auto;
padding: 1rem;
}
pre > code { white-space: pre; }
summary { cursor: pointer; }
dl {
display: grid;
gap: 1em;
grid-template-columns: auto auto;
}
dt { font-weight: 700; }
dd {grid-column-start: 2; }