/* Minimal resets and shared primitives. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--text-primary);background:var(--surface-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
a{color:var(--text-link);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-control)}
button,input,select,textarea{font:inherit;color:inherit}
@keyframes cm-spin{to{transform:rotate(360deg)}}
@keyframes cm-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
