/* BUTTONS */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); white-space: nowrap; font-family: var(--font-head); font-weight: 600; font-size: var(--text-sm); line-height: 1; padding: 0 var(--space-5); height: 44px; border-radius: var(--radius-sm); cursor: pointer; transition: all var(--duration-fast) var(--ease-out); position: relative; border: none; outline: none; text-transform: uppercase; letter-spacing: 0.05em; isolation: isolate; } .btn:disabled { opacity: 0.5; cursor: not-allowed; filter: grayscale(1); } .btn-primary { background-color: var(--color-cyan-500); color: #000; } .btn-primary:hover { background-color: var(--color-cyan-400); box-shadow: 0 0 20px var(--color-cyan-glow); transform: translateY(-1px); } .btn-primary:active { transform: translateY(1px); box-shadow: none; } .btn-secondary { background-color: var(--color-magenta-500); color: #fff; } .btn-secondary:hover { background-color: var(--color-magenta-400); box-shadow: 0 0 20px var(--color-magenta-glow); transform: translateY(-1px); } .btn-outline { background: transparent; border: 1px solid var(--color-void-300); color: var(--color-void-800); } .btn-outline:hover { border-color: var(--color-cyan-400); color: var(--color-cyan-400); background: rgba(0, 219, 245, 0.05); } .btn-ghost { background: transparent; color: var(--color-void-600); } .btn-ghost:hover { color: var(--color-void-900); background: var(--color-void-200); } .btn-danger { background: rgba(239, 68, 68, 0.1); color: var(--color-error); border: 1px solid rgba(239, 68, 68, 0.2); } .btn-danger:hover { background: rgba(239, 68, 68, 0.2); box-shadow: 0 0 15px rgba(239, 68, 68, 0.2); } .btn-ronin { clip-path: var(--clip-button-r); border-radius: 0; padding-left: var(--space-6); padding-right: var(--space-6); } .btn-hacker { font-family: var(--font-mono); background: #000; color: var(--color-lime-500); border: 1px solid var(--color-lime-500); text-transform: none; } .btn-hacker::before { content: "> "; margin-right: 4px; color: var(--color-lime-500); } .btn-hacker:hover { background: var(--color-lime-500); color: #000; box-shadow: var(--shadow-neon-cyan); } .btn-hacker:hover::before { color: #000; } .btn-sm { height: 32px; font-size: var(--text-xs); padding: 0 var(--space-3); } .btn-lg { height: 56px; font-size: var(--text-base); padding: 0 var(--space-8); } .btn-icon { width: 44px; padding: 0; border-radius: 50%; } /* GAMING BUTTON */ .btn-gaming { background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); color: var(--color-xp-gold); border: 2px solid var(--color-xp-gold); border-radius: var(--radius-sm); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -2px 0 rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.5); text-shadow: 0 0 10px var(--color-xp-gold); font-family: 'Orbitron', sans-serif; letter-spacing: 0.1em; } .btn-gaming:hover { background: linear-gradient(180deg, #3a3a3a 0%, #2a2a2a 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -2px 0 rgba(0, 0, 0, 0.3), 0 0 20px rgba(255, 215, 0, 0.4); transform: translateY(-2px); } /* NATURE BUTTON */ .btn-nature { background: linear-gradient(135deg, var(--color-moss) 0%, var(--color-leaf) 100%); color: #fff; border-radius: var(--radius-2xl); border: none; box-shadow: 0 4px 15px rgba(45, 90, 61, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); font-family: var(--font-body); text-transform: capitalize; } .btn-nature:hover { transform: scale(1.02); box-shadow: 0 6px 25px rgba(45, 90, 61, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.2); } /* GRAFFITI BUTTON */ .btn-graffiti { background: var(--grad-sunset); color: #fff; font-family: var(--font-display); font-size: var(--text-lg); letter-spacing: 0.2em; clip-path: polygon(5% 0, 95% 5%, 100% 95%, 0% 100%); text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3); border: none; padding: 0 var(--space-8); transform: rotate(-2deg); } .btn-graffiti:hover { animation: graffiti-shake 0.3s ease-in-out; filter: drop-shadow(0 0 15px var(--color-magenta-500)); }