@font-face { font-family: "ploni-round"; src: url("SecularOne-Regular.ttf") format("truetype"); font-weight: normal; } :root { --bg-opacity: 0.95; --ui-scale: 1.0; } html { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background: transparent !important; } body { font-family: "ploni-round"; overflow: hidden; background: transparent !important; margin: 0; padding: 0; } ::-webkit-scrollbar { width: 0px; background: transparent; } .container { display: none; height: auto; width: auto; min-width: 280px; max-width: 350px; position: absolute; top: 40%; left: 75%; box-shadow: 0px 0px 15px 3px rgba(0, 0, 0, 0.6); background: rgba(45, 45, 45, var(--bg-opacity, 0.95)); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 8px; white-space: nowrap; direction: ltr; /* REMOVED: backdrop-filter - this was causing black background */ transform: scale(var(--ui-scale, 1.0)); transform-origin: top left; } .job-tabs-container { display: flex; background-color: rgba(45, 45, 45, var(--bg-opacity, 0.9)); border-bottom: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px 8px 0 0; overflow: hidden; } .job-tab { flex: 1; padding: 8px 12px; text-align: center; background-color: rgba(55, 55, 55, 0.8); border-right: 1px solid rgba(255, 255, 255, 0.1); color: #ccc; font-size: 12px; font-weight: bold; cursor: pointer; transition: all 0.3s ease; position: relative; } .job-tab:last-child { border-right: none; } .job-tab:hover { background-color: rgba(60, 60, 60, 0.9); color: #fff; } .job-tab.active { background-color: rgba(70, 130, 180, 0.8); color: #fff; } .job-tab-count { display: block; font-size: 14px; font-weight: bold; margin-top: 2px; } .job-tab-label { display: block; font-size: 10px; text-transform: uppercase; opacity: 0.8; } .SubtitleContainer { width: auto; height: 20px; background-color: rgba(50, 50, 50, var(--bg-opacity, 0.9)); padding: 8px; display: flex; justify-content: space-between; align-items: center; font-weight: bolder; font-size: 18px; color: #e0e0e0; gap: 5px; direction: ltr; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .officersContainer { direction: ltr; width: auto; height: auto; padding: 6px; background: rgba(55, 55, 55, var(--bg-opacity, 0.85)); font-size: 16px; max-height: 400px; overflow-y: auto; } .officer { margin: 3px; color: #e0e0e0; display: flex; align-items: center; gap: 4px; padding: 3px 6px; border-radius: 4px; transition: background-color 0.2s ease; min-height: 20px; font-size: 13px; } .officer .tag { background: #555; font-weight: bolder; border-radius: 4px; padding: 2px 6px; color: white; font-size: 11px; min-width: 30px; text-align: center; flex-shrink: 0; } .officer .fullname { font-weight: bold; flex: 1; text-align: left; min-width: 100px; font-size: 13px; } .officer .grade { color: #aaa; font-size: 12px; flex-shrink: 0; min-width: 70px; text-align: center; } .officer .radio { font-weight: bolder; color: #aaa; font-size: 11px; flex-shrink: 0; min-width: 40px; text-align: right; } .job-separator { color: #666; margin: 0 4px; flex-shrink: 0; } .tag { background: #555; font-weight: bolder; border-radius: 4px; padding: 2px 6px; color: white; font-size: 12px; } .fullname { font-weight: bold; } .grade { color: #aaa; font-size: 14px; } .radio { font-weight: bolder; color: #aaa; margin-left: auto; padding-left: 10px; font-size: 12px; } .radio-category { font-size: 10px; color: #888; margin-left: 4px; } .radio-channel-section { border-bottom: 1px solid rgba(255, 255, 255, 0.1); margin-bottom: 4px; } .radio-channel-section:last-child { border-bottom: none; margin-bottom: 0; } .radio-channel-header { background: linear-gradient(135deg, rgba(60, 60, 60, 0.9), rgba(70, 70, 70, 0.9)); padding: 8px 12px; border-radius: 6px; margin-bottom: 4px; font-weight: bold; color: #fff; font-size: 14px; display: flex; justify-content: space-between; align-items: center; border-left: 4px solid #4caf50; } .radio-channel-count { background: rgba(76, 175, 80, 0.8); color: white; border-radius: 12px; padding: 2px 8px; font-size: 12px; font-weight: bold; } .commanderC { background: rgb(255, 0, 0); } .swatC { background: rgb(0, 0, 0); } .detectiveC { background: rgb(232, 116, 0); } .trooperC { background: rgb(0, 12, 179); } .tazP { background: rgb(179, 0, 167); } .yasam { background: rgb(158, 158, 158); } .yasmag { background: rgb(0, 179, 51); } .yarokzait { background: rgb(51, 102, 0); } .haki { background: rgb(204, 204, 0); } .hom { background: #351c00; } .me { text-shadow: 0px 0px 2px #4caf50; background-color: rgba(76, 175, 80, 0.1); } .SubtitleButton { color: rgb(181, 181, 181); display: flex; justify-content: center; align-items: center; direction: ltr; gap: 15px; cursor: pointer; transition: all 0.2s ease; } .SubtitleButton:hover { color: white; transform: scale(1.05); } .SubtitleButton:active { color: rgb(181, 181, 181); transform: scale(0.95); } .tabUL { color: white; font-size: 14px; } .speaking { color: #ff5555; text-shadow: 0px 0px 3px #ff0000; animation: pulse 1s infinite; } @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.7; } 100% { opacity: 1; } } .SubtitleCategory { margin-left: 20px; font-size: 16px; } /* COMPLETELY TRANSPARENT MAIN CONTAINER */ .MContainer { display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: fit-content; height: fit-content; background: transparent; border: none; box-shadow: none; padding: 0; margin: 0; overflow: visible; } .TopC { width: 460px; height: 70px; display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; background: linear-gradient(135deg, rgba(50, 50, 50, 0.95), rgba(60, 60, 60, 0.95)); border-radius: 12px 12px 0 0; border: 1px solid rgba(255, 255, 255, 0.1); position: relative; /* REMOVED: backdrop-filter - this was causing black background */ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); } .TopC::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #4caf50, #2196f3, #ff9800); border-radius: 12px 12px 0 0; } .Pimg { filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(180deg) drop-shadow(0 0 5px rgba(255, 255, 255, 0.3)); height: 40px; width: auto; transition: transform 0.3s ease; } .Pimg:hover { transform: scale(1.1); } .SubtitleMCtext { color: #f5f5f5; font-weight: bold; font-size: 22px; display: flex; flex-direction: column; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); } .SubtitleMCtextSmall { color: #bbb; font-size: 12px; font-weight: normal; margin-top: 2px; opacity: 0.9; } .total-count { position: absolute; top: 12px; right: 15px; background: linear-gradient(135deg, #ff6b6b, #ff8e53); color: white; border-radius: 10px; padding: 4px 10px; font-size: 14px; font-weight: bold; box-shadow: 0 2px 6px rgba(255, 107, 107, 0.3); } .BottomC { width: 460px; background: linear-gradient(135deg, rgba(40, 40, 40, 0.95), rgba(50, 50, 50, 0.95)); border: 1px solid rgba(255, 255, 255, 0.1); border-top: none; border-radius: 0 0 12px 12px; padding: 15px 20px; display: flex; flex-direction: column; gap: 12px; /* REMOVED: backdrop-filter - this was causing black background */ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); } .control-element { height: 42px; background: linear-gradient(135deg, rgba(60, 60, 60, 0.9), rgba(70, 70, 70, 0.9)); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 10px; display: flex; align-items: center; transition: all 0.3s ease; position: relative; overflow: hidden; } .control-element::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); transition: left 0.5s ease; } .control-element:hover::before { left: 100%; } .control-element:hover { background: linear-gradient(135deg, rgba(80, 80, 80, 0.95), rgba(90, 90, 90, 0.95)); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); } .callsign-row { width: 100%; } .callsign-container { padding: 0 15px; gap: 12px; justify-content: space-between; } .callsign-label { color: #ddd; font-size: 13px; font-weight: bold; white-space: nowrap; min-width: 70px; } .callsign-input-wrapper { flex: 1; margin: 0 8px; } .callsign-input { width: 100%; height: 28px; background: rgba(30, 30, 30, 0.9); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; font-size: 13px; color: #fff; padding: 0 10px; transition: all 0.3s ease; font-family: inherit; } .callsign-input:focus { outline: none; border-color: #4caf50; box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2); } .confirm-button { background: linear-gradient(135deg, #4caf50, #45a049); border: none; border-radius: 6px; padding: 0 12px; height: 28px; color: white; font-weight: bold; font-size: 11px; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; gap: 4px; box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3); } .confirm-button:hover { background: linear-gradient(135deg, #5cbf60, #4caf50); transform: translateY(-1px); box-shadow: 0 3px 6px rgba(76, 175, 80, 0.4); } .controls-row { width: 100%; display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 10px; } .toggle-button { background: none; border: none; color: #ddd; font-size: 12px; font-weight: bold; cursor: pointer; padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 6px; transition: all 0.3s ease; font-family: inherit; } .toggle-button:hover { color: #fff; } .opacity-container { padding: 0 15px; gap: 8px; justify-content: space-between; } .opacity-label { color: #ddd; font-size: 11px; font-weight: bold; white-space: nowrap; min-width: 50px; } .opacity-slider-wrapper { flex: 1; margin: 0 8px; } .opacity-slider { width: 100%; height: 3px; background: rgba(255, 255, 255, 0.2); border-radius: 2px; outline: none; -webkit-appearance: none; appearance: none; cursor: pointer; } .opacity-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 14px; height: 14px; background: linear-gradient(135deg, #4caf50, #45a049); border-radius: 50%; cursor: pointer; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } .opacity-slider::-moz-range-thumb { width: 14px; height: 14px; background: linear-gradient(135deg, #4caf50, #45a049); border-radius: 50%; cursor: pointer; border: none; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } .opacity-value { color: #4caf50; font-size: 11px; font-weight: bold; min-width: 35px; text-align: center; } .size-container { padding: 0 15px; gap: 8px; justify-content: center; } .size-button { width: 30px; height: 30px; border-radius: 50%; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; font-weight: bold; transition: all 0.3s ease; color: white; font-size: 12px; } .size-button-minus { background: linear-gradient(135deg, #f44336, #d32f2f); box-shadow: 0 2px 4px rgba(244, 67, 54, 0.3); } .size-button-plus { background: linear-gradient(135deg, #4caf50, #45a049); box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3); } .size-button:hover { transform: scale(1.1); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4); } .size-button:active { transform: scale(0.95); } .job-section { border-bottom: 1px solid #333; margin-bottom: 8px; } .job-section:last-child { border-bottom: none; margin-bottom: 0; } .police-header { border-left: 4px solid #2196f3; } .ambulance-header { border-left: 4px solid #f44336; } .job-tab.hidden { display: none; }