*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-family:var(--font);font-size:var(--fs-base);line-height:1.5;color:var(--text);background:var(--bg);font-feature-settings:"tnum" 0}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{margin:0}
a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
table{border-collapse:collapse;width:100%}
:focus{outline:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}
.mono{font-family:var(--mono);font-size:var(--fs-md)}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--surface);border:1px solid var(--border);padding:8px 12px;border-radius:var(--r-md)}
.skip:focus{left:8px}
.icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-sm{width:14px;height:14px}
.icon-lg{width:20px;height:20px}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
code,kbd,pre,samp{font-family:var(--mono);font-size:.92em}
