/* Generic IconButton styling */ .icon-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgb(82 82 91); /* zinc-600 */ border-radius: 6px; background: rgb(39 39 42); /* zinc-800 */ color: rgb(228 228 231); /* zinc-200 */ cursor: pointer; min-width: 33px; min-height: 33px; padding: 0; box-sizing: border-box; } .icon-button:hover { background: rgb(63 63 70); /* zinc-700 */ } .icon-button:active { transform: translateY(1px); } .icon-button.primary { background: rgb(99 102 241); /* indigo-500 */ color: white; border-color: rgb(99 102 241); /* indigo-500 */ } .icon-button.primary:hover { filter: brightness(1.05); } .icon-button.success { background: rgb(99 102 241); /* indigo-500 */ color: white; border-color: rgb(99 102 241); /* indigo-500 */ } .icon-button.success:hover { filter: brightness(1.1); } .icon-button.ghost { background: rgb(39 39 42); /* zinc-800 */ } /* Mobile touch target improvements */ @media (max-width: 768px) { .icon-button { min-width: var(--min-touch-target); min-height: var(--min-touch-target); } /* Keep icon size consistent to prevent blurriness */ .icon-button svg { font-size: 1rem; width: 1em; height: 1em; } } /* Disable hover effects on touch devices */ @media (pointer: coarse) { .icon-button:hover { background: rgb(39 39 42); /* zinc-800 */ } .icon-button.ghost:hover { background: rgb(39 39 42); /* zinc-800 */ } .icon-button:active { background: rgb(63 63 70); /* zinc-700 */ } }