/* socle */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal)}
h1,h2,h3,h4{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.02em}
h1{font-size:var(--text-xl)}
p{margin:0 0 var(--space-4)}
p:last-child{margin-bottom:0}
a{color:var(--color-accent);text-underline-offset:2px}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--color-accent);color:var(--color-accent-contrast)}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
code,pre{font-family:var(--font-mono);font-size:var(--text-sm)}
pre{margin:0;padding:var(--space-4);overflow-x:auto;background:var(--color-surface-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}
hr{height:0;margin:var(--space-5) 0;border:0;border-top:var(--border-width) solid var(--color-border)}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-4)}
.center{position:relative;z-index:1;display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:var(--space-5)}
.muted{color:var(--color-muted)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:2;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);transform:translateY(-200%)}
.skip-link:focus{transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
