This commit is contained in:
2026-08-19 15:08:39 +03:00
parent 478557f3ad
commit a03c54dbe8
5148 changed files with 31553313 additions and 0 deletions

View File

@@ -0,0 +1,190 @@
.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;
}