/* Shared button base for dialog actions (server browser, map info, etc.). */ .DialogButton { background: linear-gradient( to bottom, rgba(48, 164, 151, 0.8), rgba(31, 150, 136, 0.8) 33%, rgba(33, 131, 119, 0.8) 67%, rgba(4, 101, 100, 0.8) ); border: 1px solid rgba(56, 124, 116, 0.8); border-top-color: rgba(87, 183, 185, 0.8); border-radius: 4px; box-shadow: inset 0 0 4px rgba(2, 128, 142, 0.5); color: rgb(153, 255, 241); text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4); font-size: 14px; font-weight: 500; padding: 4px 18px; cursor: pointer; font-family: inherit; } .DialogButton:hover:not(:disabled) { color: rgb(177, 255, 245); border: 1px solid rgba(64, 145, 136, 0.9); border-top-color: rgba(90, 198, 194, 0.9); box-shadow: inset 0 0 4px rgba(2, 128, 142, 0.5), 0 0 5px rgba(62, 255, 191, 0.5); } .DialogButton:active:not(:disabled) { transform: translate(0, 1px); } .DialogButton:disabled { opacity: 0.4; cursor: not-allowed; } /* Secondary/ghost variant for less prominent actions (Close, Cancel). */ .Secondary { composes: DialogButton; background: transparent; border: 1px solid rgba(56, 124, 116, 0.8); box-shadow: none; color: rgba(162, 226, 207, 0.8); text-shadow: none; } .Secondary:hover:not(:disabled) { color: rgba(169, 255, 229, 0.8); border: 1px solid rgba(63, 144, 135, 0.9); }