*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body,system-ui, sans-serif);color:var(--color-text);background:var(--color-background);overflow-wrap:break-word;margin:0;font-size:1rem;line-height:1.6}h1,h2,h3{font-family:var(--font-heading,inherit);text-wrap:balance;font-weight:700;line-height:1.2}h1{font-size:clamp(1.75rem,4vw + 1rem,2.75rem)}h2{margin-top:calc(var(--space) * 2.5);font-size:clamp(1.375rem,2vw + 1rem,1.75rem)}img,svg{max-width:100%;height:auto}a{color:var(--color-primary);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:2px}.skip-link{position:absolute;top:0;left:-9999px}.skip-link:focus{z-index:100;background:var(--color-background);color:var(--color-text);padding:.5rem 1rem;top:1rem;left:1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.prose{max-width:42rem}.prose p,.prose ul,.prose ol{margin-block:calc(var(--space) * 1)}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--color-muted);text-align:left;padding:.5rem}.muted{color:var(--color-muted)}.button{border-radius:var(--radius);background:var(--color-primary);min-height:44px;color:var(--color-on-primary);align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{filter:brightness(1.08)}.site-header nav ul,.site-footer nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-header nav a,.site-footer nav a{padding-block:.625rem;display:inline-block}[data-header=solid] .site-header{background:var(--color-primary);color:var(--color-on-primary)}[data-header=solid] .site-header a{color:var(--color-on-primary)}[data-header=solid] .site-header :focus-visible{outline-color:var(--color-on-primary)}[data-header=transparent] .site-header{border-bottom:1px solid var(--color-muted);background:0 0}[data-header=split] .site-header{background:var(--color-surface)}[data-header=split] .site-header-inner{justify-content:space-between}.site-header-inner{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;display:flex}.brand{font-family:var(--font-heading,inherit);font-size:1.25rem;font-weight:700;text-decoration:none}.site-footer{font-size:.9375rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
