*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--type-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-heading);font-family:var(--font-display);letter-spacing:var(--tracking-tight);text-wrap:balance}
h1{font:var(--type-h1)}h2{font:var(--type-h2)}h3{font:var(--type-h3)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
code,kbd,pre,samp{font-family:var(--font-mono)}
img,svg{display:block;max-width:100%}
hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-8) 0}
::selection{background:var(--cyan-200);color:var(--teal-900)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}
@keyframes bc-shimmer{to{background-position:-400% 0}}
@keyframes bc-spin{to{transform:rotate(360deg)}}
@keyframes bc-fade{from{opacity:0}}
@keyframes bc-rise{from{opacity:0;transform:translateY(12px)}}
@keyframes bc-fade-out{to{opacity:0}}
@keyframes bc-rise-out{to{opacity:0;transform:translateY(12px)}}
