.btn{min-height:42px;padding:0 var(--space-4);border-radius:var(--radius-m);font-size:var(--text-md);white-space:nowrap;user-select:none;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:650;line-height:1;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-s)}.btn-icon{width:42px;padding:0}.btn-icon.btn-sm{width:36px}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover);color:var(--on-primary)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn[disabled],.btn[aria-disabled=true]{cursor:not-allowed;background:var(--surface-2);border-color:var(--line);color:var(--text-faint);transform:none}.btn-ghost[disabled],.btn-ghost[aria-disabled=true]{background:0 0;border-color:#0000}.btn-label{display:inline-block}
