html{
font-family:var(--font-sans);
font-size:100%;
color:var(--color-ink);
background-color:var(--color-bg);
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
text-rendering:optimizeLegibility;
scroll-behavior:smooth;
}

@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
}

body{
font-size:var(--font-size-md);
line-height:var(--line-normal);
font-weight:var(--weight-regular);
letter-spacing:var(--letter-normal);
background-color:var(--color-bg);
color:var(--color-ink);
overflow-x:hidden;
}

a{
color:var(--color-accent);
text-decoration:none;
transition:color var(--duration-fast) var(--ease-standard);
}
a:hover{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}

p{margin-bottom:var(--space-5)}
p:last-child{margin-bottom:0}

hr{border-top:1px solid var(--color-line);margin:var(--space-9) 0}

small{font-size:var(--font-size-sm);color:var(--color-muted)}

strong,b{font-weight:var(--weight-semibold)}
em,i{font-style:italic}
mark{background:var(--color-warning-soft);color:var(--color-warning);padding:0 .2em;border-radius:var(--radius-xs)}
abbr[title]{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}

code,kbd,samp,pre{
font-family:var(--font-mono);
font-size:.9em;
}
code{
background:var(--color-bg-muted);
padding:.15em .4em;
border-radius:var(--radius-xs);
color:var(--color-ink-soft);
}
pre{
background:var(--color-bg-muted);
padding:var(--space-5);
border-radius:var(--radius-md);
overflow-x:auto;
border:1px solid var(--color-line);
}
pre code{background:transparent;padding:0}
kbd{
background:var(--color-bg);
border:1px solid var(--color-line-strong);
border-bottom-width:2px;
border-radius:var(--radius-xs);
padding:.1em .45em;
font-size:.8em;
color:var(--color-ink-soft);
}

blockquote{
border-left:3px solid var(--color-accent);
padding:var(--space-2) var(--space-5);
color:var(--color-muted);
margin:var(--space-7) 0;
}

fieldset{min-width:0}

input,select,textarea{
font-family:inherit;
font-size:var(--font-size-md);
color:var(--color-ink);
background:var(--color-bg);
border:1px solid var(--color-line-strong);
border-radius:var(--radius-sm);
padding:.55em .75em;
transition:var(--transition-base);
}
input:hover,select:hover,textarea:hover{border-color:var(--color-muted-soft)}
input:focus,select:focus,textarea:focus{
outline:none;
border-color:var(--color-accent);
box-shadow:0 0 0 3px var(--color-accent-soft);
}
input:disabled,select:disabled,textarea:disabled{
background:var(--color-bg-muted);
color:var(--color-muted);
cursor:not-allowed;
opacity:var(--opacity-muted);
}
textarea{resize:vertical;min-height:100px}
input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}

::selection{background:var(--color-accent-soft);color:var(--color-ink)}

:focus-visible{
outline:2px solid var(--color-focus);
outline-offset:2px;
}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{
background:var(--color-line-strong);
border-radius:var(--radius-pill);
border:2px solid var(--color-bg);
}
::-webkit-scrollbar-thumb:hover{background:var(--color-muted-soft)}

.visually-hidden,.sr-only{
position:absolute!important;
width:1px;height:1px;
padding:0;margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
clip-path:inset(50%);
white-space:nowrap;
border:0;
}

.visually-hidden:focus:not(:focus-visible),
.sr-only:focus:not(:focus-visible){
position:absolute!important;
}

noscript{
display:block;
padding:var(--space-5);
background:var(--color-warning-soft);
color:var(--color-warning);
font-size:var(--font-size-base);
border-bottom:1px solid var(--color-line);
}