/* Keyframes used by components (Button loading, Dialog, Toast, Tooltip) and
   the minimum link + body defaults. Nothing else global lives here — CapturePlan
   components carry their own styling. */
@keyframes cp-spin{to{transform:rotate(360deg)}}
@keyframes cp-fade{from{opacity:0}to{opacity:1}}
@keyframes cp-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes cp-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

body{font-family:var(--font-sans);font-size:var(--size-body);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
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}
::selection{background:var(--cp-green-tint);color:var(--cp-navy)}
