.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-sans);line-height:var(--line-tight);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--space-3) var(--space-5);font-size:var(--text-md);transition:transform var(--dur-1) var(--ease-standard), box-shadow var(--dur-2) var(--ease-standard), border-color var(--dur-2) var(--ease-standard), background-position var(--dur-2) var(--ease-standard), color var(--dur-2) var(--ease-standard), opacity var(--dur-2) var(--ease-standard);background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn--full{width:100%}.btn--primary{background:var(--color-primary);color:var(--color-primary-contrast);background-position:50%;background-size:200% 200%}.btn--primary:hover{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary) 50%, var(--color-primary-strong) 100%);color:var(--color-primary-contrast);background-position:99%;background-size:200% 200%}.btn--secondary{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:#eee}.btn--rounded{border-radius:200px}.btn--danger{color:var(--color-danger)!important}.btn--menu,.btn--menu-mobile{background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border);padding:var(--space-1) var(--space-2);justify-content:flex-start}.btn--menu-mobile{padding:var(--space-3) var(--space-3)}.btn--menu:hover,.btn--menu-mobile:hover{background:#eee}.btn__icon{flex-shrink:0;width:24px;height:24px}.btn--icon{padding:0}.btn--icon .btn__icon{width:40px;height:40px}
