/* C_BASE base element defaults. Kept deliberately small. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--type-body);text-wrap:pretty;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,p,figure{margin:0}
h1{font:var(--type-h1);letter-spacing:var(--ls-display)}
h2{font:var(--type-h2);letter-spacing:var(--ls-tight)}
h3{font:var(--type-h3)}
h4{font:var(--type-h4)}
a{color:var(--text-link);text-decoration:none;text-underline-offset:3px;transition:var(--transition-control)}
a:hover{color:var(--text-link-hover);text-decoration:underline}
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}
img,svg,video{display:block;max-width:100%}
button{font:inherit;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
hr{border:0;border-top:1px solid var(--border-subtle);margin:0}
::selection{background:var(--c-yellow-500);color:var(--c-black)}
@keyframes cbase-spin{to{transform:rotate(360deg)}}
@keyframes cbase-pulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes cbase-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}
