.btn { padding: var(--space-sm) var(--space-md); border: 1px solid transparent; border-radius: var(--radius-md); font-weight: 500; font-size: var(--text-sm); color: var(--text-color); background: var(--button-gradient); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: var(--shadow-sm), var(--inset-shadow); transition: background var(--dur-fast) var(--ease-out-soft), transform var(--dur-fast) var(--ease-out-soft), box-shadow var(--dur-fast) var(--ease-out-soft); position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 44px; text-align: center; -webkit-tap-highlight-color: transparent; } .btn::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.06) 50%, transparent 70%); transform: translateX(-100%); transition: transform var(--dur-med) var(--ease-out-soft); pointer-events: none; } .btn:hover, .btn:focus-visible { background: var(--button-hover-gradient); transform: translateY(-1px) scale(1.012); box-shadow: var(--shadow-md), var(--accent-glow-ring); color: var(--text-color); } .btn:hover::before, .btn:focus-visible::before { transform: translateX(100%); } .btn:active { transform: translateY(0) scale(0.99); } @media (max-width: 768px) { .btn { min-height: 48px; padding: var(--space-md) var(--space-lg); font-size: var(--text-sm); } } @media (max-width: 480px) { .btn { padding: var(--space-sm) var(--space-md); } }