.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;display:inline-flex}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-primary:active{background-color:var(--primary-active)}.btn-secondary{background-color:var(--surface-elevated);color:var(--foreground);border-color:var(--border)}.btn-secondary:hover{background-color:var(--border)}.btn-secondary:active{background-color:var(--border-strong)}.btn-danger{background-color:var(--danger);color:var(--primary-foreground)}.btn-danger:hover{opacity:.9}.btn-danger:active{opacity:.8}.btn-ghost{color:var(--muted-foreground);background-color:#0000}.btn-ghost:hover{background-color:var(--surface-elevated);color:var(--foreground)}.btn-ghost:active{background-color:var(--border)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-meta)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-highlight)}.btn-icon{padding:var(--space-2);width:36px;height:36px}