.hockey-agent-ui { position: relative; z-index: 45; flex: 0 0 auto; font-family: Inter, "Segoe UI", Arial, sans-serif; } .hockey-agent-chip { width: 35px; height: 35px; min-width: 35px; display: grid; place-items: center; padding: 0; border: 1px solid #334b64; border-radius: 10px; color: #dce8f5; background: rgba(8, 18, 30, .96); box-shadow: none; backdrop-filter: blur(12px); cursor: pointer; } .hockey-agent-dot, .hockey-agent-status-light { width: 9px; height: 9px; border-radius: 50%; background: #6c7e91; box-shadow: 0 0 0 3px rgba(108, 126, 145, .12); } .hockey-agent-ui.has-active .hockey-agent-dot, .hockey-agent-status-light.online { background: #53d8a8; box-shadow: 0 0 9px rgba(83, 216, 168, .68); } .hockey-agent-ui.has-vmix .hockey-agent-dot { background: #72f0c4; box-shadow: 0 0 12px rgba(114, 240, 196, .75); } .hockey-agent-ui.is-offline .hockey-agent-dot, .hockey-agent-status-light.offline { background: #ff6c7f; box-shadow: 0 0 8px rgba(255, 108, 127, .5); } .hockey-agent-panel { position: absolute; right: 0; top: calc(100% + 9px); bottom: auto; width: min(440px, calc(100vw - 28px)); max-height: min(650px, calc(100vh - 90px)); overflow: auto; border: 1px solid #304961; border-radius: 16px; color: #dce8f5; background: rgba(7, 16, 27, .985); box-shadow: 0 26px 80px rgba(0, 0, 0, .55); backdrop-filter: blur(18px); } .hockey-agent-panel > header { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 16px 12px; border-bottom: 1px solid #22384d; background: rgba(7, 16, 27, .98); } .hockey-agent-panel > header div { display: grid; gap: 1px; } .hockey-agent-panel > header small { color: #58cda8; font-size: 8px; font-weight: 950; letter-spacing: .14em; } .hockey-agent-panel > header strong { font-size: 16px; } .hockey-agent-panel button.icon { width: 30px; height: 30px; padding: 0; border: 1px solid #314961; border-radius: 9px; color: #9db0c4; background: #0d1b2a; font-size: 20px; cursor: pointer; } .hockey-agent-current-match { margin: 12px 14px 0; padding: 9px 11px; border: 1px solid #243c53; border-radius: 10px; color: #758ba2; background: #0b1928; font-size: 10px; } .hockey-agent-current-match b { color: #dce9f6; } .hockey-agent-notice { margin: 10px 14px 0; padding: 9px 11px; border-radius: 9px; color: #bff9e6; background: #123b31; font-size: 10px; } .hockey-agent-notice.error { color: #ffd2d9; background: #4a2028; } .hockey-agent-list { display: grid; gap: 9px; padding: 12px 14px 14px; } .hockey-agent-empty { padding: 28px 18px; border: 1px dashed #2b4359; border-radius: 12px; color: #6f8398; text-align: center; font-size: 11px; line-height: 1.6; } .hockey-agent-device { display: grid; gap: 10px; padding: 12px; border: 1px solid #263e55; border-radius: 12px; background: #0a1826; } .hockey-agent-device.is-active { border-color: #397f6b; box-shadow: inset 0 0 0 1px rgba(83, 216, 168, .08); } .hockey-agent-device.is-offline { opacity: .72; } .hockey-agent-device-title { display: grid; grid-template-columns: 10px 1fr; align-items: center; gap: 9px; min-width: 0; } .hockey-agent-device-title div { min-width: 0; display: grid; gap: 2px; } .hockey-agent-device-title strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; } .hockey-agent-device-title code { overflow: hidden; color: #687f96; font: 8px ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; } .hockey-agent-device-grid { display: flex; flex-wrap: wrap; gap: 5px 12px; color: #70869d; font-size: 8px; text-transform: uppercase; } .hockey-agent-device-grid b { color: #becddd; font-weight: 900; } .hockey-agent-device-grid b.ok { color: #6ee2bd; } .hockey-agent-device-grid b.warn { color: #ff9b82; } .hockey-agent-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } .hockey-agent-actions button { padding: 7px 10px; border: 0; border-radius: 8px; color: #061820; background: #66d8b6; font-size: 9px; font-weight: 900; cursor: pointer; } .hockey-agent-actions button.secondary { color: #c8d8e8; background: #20364a; } .hockey-agent-actions button.danger { color: #ffbec8; background: #47232c; } .hockey-agent-actions button:disabled { opacity: .45; cursor: default; } .hockey-agent-badge { padding: 6px 8px; border-radius: 8px; color: #9eb0c2; background: #1b2d3f; font-size: 8px; font-weight: 900; text-transform: uppercase; } .hockey-agent-badge.active { color: #87e8c9; background: #143b32; } .hockey-agent-badge.busy { color: #e7b6be; background: #3c252c; } .hockey-agent-panel > footer { padding: 0 14px 14px; color: #60758a; font-size: 8px; line-height: 1.45; } .hockey-agent-test { display: grid; gap: 8px; padding: 10px; border: 1px solid #2c475f; border-radius: 10px; background: #081522; } .hockey-agent-test-title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; } .hockey-agent-test-title strong { color: #dce9f6; font-size: 10px; } .hockey-agent-test-title small { color: #64d8b6; font-size: 8px; font-weight: 900; text-transform: uppercase; } .hockey-agent-test label { display: grid; gap: 4px; color: #70869d; font-size: 8px; font-weight: 900; text-transform: uppercase; } .hockey-agent-test input { width: 100%; box-sizing: border-box; padding: 8px 9px; border: 1px solid #2b4358; border-radius: 8px; outline: none; color: #e5eef7; background: #0d1d2c; font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; } .hockey-agent-test input:focus { border-color: #5ac9aa; box-shadow: 0 0 0 2px rgba(90, 201, 170, .08); } .hockey-agent-test > button { justify-self: start; padding: 8px 11px; border: 0; border-radius: 8px; color: #061820; background: #66d8b6; font-size: 9px; font-weight: 950; cursor: pointer; } .hockey-agent-test > small { color: #60758a; font-size: 8px; line-height: 1.4; } /* BUILD 2026.08.18.22 — browser-local Agent target */ .hockey-agent-device.is-selected-here { outline: 2px solid rgba(110, 226, 189, .42); outline-offset: 1px; }