.button{justify-content:center;align-items:center;gap:var(--space-2);letter-spacing:.01em;cursor:pointer;transition:background-color var(--duration-normal) ease-out, color var(--duration-fast) ease, transform 50ms ease;border:none;min-width:44px;min-height:44px;font-family:Inter,system-ui,sans-serif;font-weight:500;line-height:1.1;text-decoration:none;display:inline-flex}.button:active:not(.button--disabled){transform:scale(.98)}.button--md{padding:var(--space-3) var(--space-6);font-size:var(--text-base);border-radius:var(--radius-md)}.button--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-md)}.button--primary{background-color:var(--color-cta);color:var(--color-cta-text);box-shadow:var(--shadow-sm)}.button--primary:hover:not(.button--disabled){background-color:var(--color-sauge);color:var(--color-cta-text)}.button--ghost{color:var(--color-terracotta);border:1px solid var(--color-terracotta);background:0 0}.button--ghost:hover:not(.button--disabled){background-color:var(--color-surface-alt);color:var(--color-terracotta)}.button--link{color:var(--color-cta);padding:var(--space-1) var(--space-2);background:0 0;min-width:auto;min-height:auto}.button--link:hover:not(.button--disabled){color:var(--color-sauge);text-decoration:underline}.button--disabled{opacity:var(--opacity-muted);cursor:not-allowed;pointer-events:none}.source-tag{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:Inter,system-ui,sans-serif;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400;line-height:1.4;text-decoration:none;display:inline-flex;position:relative}.source-tag:before{content:"";border-radius:inherit;background-color:var(--color-sable);opacity:var(--opacity-ghost);z-index:-1;position:absolute;inset:0}a.source-tag:hover{color:var(--color-text)}a.source-tag:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
