html {
background: var(--color-bg);
color: var(--color-text);
}
body {
font-family: var(--font-family-base);
font-size: var(--font-size-base);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-base);
background: var(--color-bg);
color: var(--color-text);
max-width: var(--content-width);
margin: 0 auto;
padding: var(--gutter-xl) var(--gutter-lg);
}
@media (min-width: 48rem) {
body {
padding: var(--gutter-2xl) var(--gutter-xl);
}
}
@media (prefers-reduced-motion: no-preference) {
html {
scroll-behavior: smooth;
}
}
main,
article,
section,
header,
footer,
aside,
nav {
display: block;
}
a {
color: var(--color-link);
text-decoration: underline;
text-underline-offset: 0.15em;
text-decoration-thickness: 1px;
transition: color var(--transition-fast);
}
a:visited {
color: var(--color-indigo);
}
a:hover,
a:focus-visible {
color: var(--color-link-hover);
text-decoration-thickness: 2px;
}
:focus-visible {
outline: var(--border-width) solid var(--color-focus-ring);
outline-offset: 2px;
border-radius: var(--radius-sm);
}
hr {
border: 0;
border-top: var(--border-width-thin) var(--border-style) var(--color-border);
margin: var(--gutter-lg) 0;
}
aside {
background: var(--color-surface-2);
border-left: var(--border-width-thick) var(--border-style) var(--color-border);
border-radius: 0 var(--radius) var(--radius) 0;
padding: var(--gutter-sm) var(--gutter-md);
margin: var(--gutter-md) 0;
}
article > header {
padding-block: var(--gutter-md) var(--gutter-sm);
border-bottom: var(--border-width-thin) var(--border-style) var(--color-border);
margin-bottom: var(--gutter-md);
}
article > footer {
padding-block: var(--gutter-sm);
border-top: var(--border-width-thin) var(--border-style) var(--color-border);
margin-top: var(--gutter-md);
font-size: var(--font-size-sm);
color: var(--color-muted);
}
section > header {
padding-block: var(--gutter-sm);
border-bottom: var(--border-width-thin) var(--border-style) var(--color-border);
margin-bottom: var(--gutter-md);
}
header > nav {
display: flex;
gap: var(--gutter-md);
align-items: center;
flex-wrap: wrap;
}
nav a[aria-current],
nav a[aria-current="page"] {
color: var(--color-text);
font-weight: var(--font-weight-bold);
text-decoration: none;
}
iframe {
display: block;
max-width: 100%;
border: 0;
}
abbr[title] {
text-decoration: underline dotted;
cursor: help;
}
small {
font-size: var(--font-size-sm);
color: var(--color-muted);
}
sub,
sup {
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
position: relative;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }