.rc-button { min-height:var(--rc-control-height); display:inline-flex; align-items:center; justify-content:center; gap:var(--rc-space-2); padding:var(--rc-space-2) var(--rc-space-4); border:1px solid var(--rc-border-strong); border-radius:var(--rc-radius-sm); background:var(--rc-surface); color:var(--rc-text); font-weight:var(--rc-weight-medium); text-decoration:none; cursor:pointer; }
.rc-button:hover:not(:disabled) { background:var(--rc-surface-subtle); }
.rc-button--primary { background:var(--rc-action); color:var(--rc-on-action); border-color:var(--rc-action); }
.rc-button--primary:hover:not(:disabled) { background:var(--rc-action-hover); }
.rc-button--quiet { background:transparent; border-color:transparent; color:var(--rc-text-muted); }
.rc-button--danger { background:var(--rc-danger-soft); border-color:var(--rc-danger); color:var(--rc-danger); }
.rc-button:disabled { opacity:.45; cursor:not-allowed; }
.rc-button { font-family:var(--rc-font-sans); font-size:var(--rc-text-sm); line-height:1.4; box-sizing:border-box; transition:background var(--rc-motion-fast), border-color var(--rc-motion-fast); }
.rc-button:focus-visible { outline:3px solid var(--rc-focus); outline-offset:3px; }
.rc-button:active:not(:disabled) { box-shadow:inset 0 0 0 2px currentColor; }
.rc-button--danger:hover:not(:disabled) { background:var(--rc-danger-soft); border-width:2px; }
.rc-button--sm { min-height:44px; padding:8px 12px; font-size:var(--rc-text-xs); }
.rc-button--lg { min-height:52px; padding:12px 24px; font-size:var(--rc-text-md); }
.rc-button--block { width:100%; }
.rc-button[data-state="loading"]:disabled { opacity:1; cursor:wait; }
.rc-button[data-state="coming-soon"]:disabled { opacity:1; color:var(--rc-text-muted); background:var(--rc-surface-subtle); border:1px dashed var(--rc-border-strong); cursor:not-allowed; }
@media(prefers-reduced-motion:reduce) { .rc-button { transition:none; } }
