:focus-visible{
 outline: 2px solid var(--primary-color);
 outline-offset: 2px;
}
[data-theme="dark"] :focus-visible{
 outline-color: #90caf9;
}
@media (prefers-color-scheme: dark){
 :root:not([data-theme]) :focus-visible{
 outline-color: #90caf9;
}
}
*,
*::before,
*::after{
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}
img{
 max-width: 100%;
 height: auto;
}
input,
button,
textarea,
select{
 font-family: inherit;
 font-size: 100%;
 line-height: 1.15;
 margin: 0;
 box-sizing: border-box;
}
html{
 scroll-behavior: smooth;
 word-wrap: break-word;
 word-break: auto-phrase;
 scroll-padding-top: calc(var(--header-height, 64px) + var(--space-md));
}
body{
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
 line-height: 1.6;
 color: var(--text-primary);
 background-color: var(--bg-page);
 font-size: var(--text-md);
}
h1,
h2,
h3,
h4,
h5,
h6{
 margin-bottom: var(--space-md);
 font-weight: var(--text-semibold);
 color: var(--text-primary);
 display: block;
 line-height: 1.2;
}
h1{
 font-size: clamp(2rem, 4vw + 1rem, 2.5rem);
}
h2{
 font-size: clamp(1.6rem, 3vw + 1rem, 2rem);
}
h3{
 font-size: clamp(1.3rem, 2vw + 1rem, 1.6rem);
}
h4{
 font-size: clamp(1.1rem, 1.5vw + 1rem, 1.28rem);
}
h5{
 font-size: clamp(1rem, 1vw + 1rem, 1.024rem);
}
h6{
 font-size: clamp(0.9rem, 0.5vw + 1rem, 1rem);
}
p{
 margin-bottom: 1rem;
}
a{
 color: var(--link-color);
 text-decoration: none;
}
a:hover{
 text-decoration: underline;
}
ol,
ul{
 margin-bottom: 1rem;
 list-style-position: inside;
}
ul ul,
ul ol,
ol ul,
ol ol{
 margin-left: 1rem;
 list-style-position: inside;
}
input,
textarea,
select{
 padding: 1rem;
 border-radius: var(--border-radius-sm);
 font-size: var(--text-base);
 width: 100%;
}
form input[type="checkbox"]{
 width: auto;
}
strong,
b{
 font-weight: var(--text-bold);
}
em,
i{
 font-style: italic;
}
code{
 background-color: var(--bg-secondary);
 border-radius: var(--border-radius-sm);
 padding: 0.2em 0.4em;
 font-family: monospace;
 font-size: 90%;
}
pre{
 background-color: var(--bg-secondary);
 border: 1px solid var(--border-color);
 border-radius: var(--border-radius-sm);
 padding: var(--space-md);
 overflow-x: auto;
 max-width: 100%;
 font-family: monospace;
 font-size: var(--text-base);
 white-space: pre-wrap;
 word-break: break-word;
 margin-bottom: var(--space-lg);
}
pre code{
 background-color: transparent;
 padding: 0;
 font-size: inherit;
 border-radius: 0;
}
code mark{
 color: var(--text-primary);
}
blockquote{
 margin: 0 0 var(--space-lg) 0;
 padding: var(--space-md) var(--space-lg);
 background-color: var(--bg-secondary);
 border-left: var(--border-accent-width) solid var(--primary-color);
}
blockquote p:last-child{
 margin-bottom: 0;
}