@font-face {
    font-display: swap;
    font-family: "Inter";
    src: url(/asset/media/inter.woff2);
}
@font-face {
    font-display: swap;
    font-family: "JetBrains Mono";
    src: url(/asset/media/jetbrains-mono.woff2);
}

*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
    --color-001: #1f1f1f;
    --color-002: #fafaf9;
    --color-003: #065b93;
    --color-004: #dfdfdf;
    --font-sans: "Inter", sans-serif;
    --font-serif: var(--font-sans);
    --font-mono: "JetBrains Mono", monospace;
}

a {
    outline-offset: 2px;
    color: var(--color-003);
    text-decoration: underline;
    text-underline-offset: 2px;
    outline: 2px solid transparent;
    text-decoration-color: transparent;
    transition: all 0.175s ease-in-out;
}
a:focus-visible {
    border-radius: 2px;
    outline-color: var(--color-003);
}
a:hover {
    text-decoration-color: var(--color-003);
}
code {
    line-height: 1;
    font-size: 12px;
    padding: 1px 4px;
    border-radius: 4px;
    background: #f2f2f2;
    border: 0.5px solid #cfcfcf;
    font-family: var(--font-mono);
}
figcaption {
    color: var(--color-001);
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 14px;
    font-weight: 500;
}
ol {
    padding-left: 24px;
    margin-bottom: 12px;
}
strong {
    font-weight: 600;
}
ul {
    padding-left: 24px;
    list-style: square;
    margin-bottom: 12px;
}

body {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;
    padding-inline: 24px;
    color: var(--color-001);
    background: var(--color-002);
    font-family: var(--font-sans);
}

header {
    gap: 24px;
    display: flex;
    max-width: 640px;
    line-height: 1.5;
    align-items: center;
    margin-inline: auto;
    padding: 64px 0 32px 0;
    border-bottom: 1px solid var(--color-004);
}
header > img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    outline-offset: 4px;
    border-radius: 9999px;
    object-position: center;
    outline: 2px solid var(--color-003);
}
header div h1 {
    margin-bottom: 4px;
}
header div h1 img {
    width: 18px;
    height: 18px;
    margin-top: -2px;
    margin-left: 4px;
    display: inline-block;
    vertical-align: middle;
}
header div p {
    margin-bottom: 4px;
}
header div a {
    font-weight: 500;
}
header div a img {
    width: 14px;
    height: 14px;
    margin-top: -1px;
    margin-left: 4px;
    display: inline-block;
    vertical-align: middle;
    transition: all 0.175s ease-in-out;
}
header div a:hover img {
    transform: translateX(2px);
}

main {
    padding: 24px 0;
    max-width: 640px;
    margin-inline: auto;
    border-bottom: 1px solid var(--color-004);
}
main section:not(:last-child) {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-004);
}
main section h2,
main section h3 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 12px;
    font-family: var(--font-serif);
}
main section h2:not(:first-child),
main section h3:not(:first-child) {
    margin-top: 24px;
}
main section p,
main section ul,
main section ol {
    font-family: var(--font-serif);
}
main section p:not(:last-child) {
    margin-bottom: 12px;
}

footer {
    max-width: 640px;
    margin-inline: auto;
    padding: 24px 0 64px 0;
}

@media (max-width: 768px) {
    header {
        padding-top: 24px;
    }
    footer {
        padding: 24px 0;
    }
}
