:root{--bg:#030906;--panel:rgba(5,18,12,.82);--line:rgba(119,255,174,.2);--line-strong:rgba(119,255,174,.48);--green:#39f08d;--mint:#c9ffdd;--text:#edf7f1;--muted:#789486;--danger:#ff6b71;--amber:#ffc465;--fb:Inter,system-ui,sans-serif;--fm:"IBM Plex Mono",ui-monospace,monospace;color-scheme:dark}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--fb);-webkit-font-smoothing:antialiased}button,a{font:inherit}button{color:inherit;cursor:pointer}.broadcast-shell{position:fixed;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(circle at 50% -20%,rgba(57,240,141,.1),transparent 35%),#030906}.broadcast-bar{position:relative;z-index:10;display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 15px;border-bottom:1px solid var(--line);background:rgba(2,10,6,.86);backdrop-filter:blur(18px) saturate(1.2)}.broadcast-brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;white-space:nowrap}.broadcast-brand svg{width:25px;height:18px;color:var(--green)}.broadcast-brand b{font:850 13px var(--fm);letter-spacing:.08em}.broadcast-brand span{padding:4px 7px;border:1px solid var(--line-strong);border-radius:6px;color:var(--mint);font:800 9px var(--fm);letter-spacing:.12em}.broadcast-live{display:flex;align-items:center;gap:6px;color:var(--muted);font:650 9px var(--fm);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.broadcast-live i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}.broadcast-live.online i{background:var(--green);box-shadow:0 0 10px var(--green)}.broadcast-live.offline i{background:var(--danger);box-shadow:0 0 10px var(--danger)}.broadcast-live b{color:var(--text)}.universe-switch{display:flex;margin-left:auto;padding:3px;border:1px solid var(--line);border-radius:11px;background:rgba(5,19,12,.75)}.universe-switch button{display:flex;align-items:center;gap:7px;height:34px;padding:0 15px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:800 10px var(--fm);letter-spacing:.08em}.universe-switch button i{width:7px;height:7px;border-radius:50%;background:#587365}.universe-switch button.on{background:rgba(57,240,141,.15);color:var(--text);box-shadow:inset 0 0 0 1px rgba(57,240,141,.28)}.universe-switch button.on i{background:var(--green);box-shadow:0 0 9px var(--green)}.universe-switch button[data-universe=kopilot].on{background:linear-gradient(135deg,rgba(35,88,117,.62),rgba(47,42,89,.72));box-shadow:inset 0 0 0 1px rgba(93,231,239,.3)}.universe-switch button[data-universe=kopilot].on i{background:#5de7ef;box-shadow:0 0 9px #5de7ef}.broadcast-actions{display:flex;align-items:center;gap:5px}.broadcast-actions button{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:rgba(5,19,12,.7);color:#a5c0b2;font:700 9px var(--fm);white-space:nowrap}.broadcast-actions button:hover,.broadcast-actions button[aria-pressed=true]{border-color:var(--line-strong);background:rgba(57,240,141,.13);color:var(--mint)}#clock{min-width:72px;color:#a9c6b7;text-align:right;font:750 12px var(--fm);font-variant-numeric:tabular-nums}.camera-wall{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px;min-height:0;padding:7px}.camera-card{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#07110c;box-shadow:0 16px 50px rgba(0,0,0,.34);transition:border-color .25s ease,box-shadow .25s ease,opacity .25s ease}.camera-card.selected{border-color:var(--line-strong);box-shadow:0 0 0 1px rgba(57,240,141,.13),0 16px 50px rgba(0,0,0,.38)}.camera-card iframe{display:block;width:100%;height:100%;border:0;background:#07110c}.camera-head{position:absolute;z-index:3;top:10px;left:10px;right:10px;display:flex;align-items:center;gap:8px;pointer-events:none}.camera-title{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 9px;border:1px solid rgba(119,255,174,.25);border-radius:10px;background:rgba(2,10,6,.75);backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(0,0,0,.28)}.camera-title i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber)}.camera-card.loaded .camera-title i{background:var(--green);box-shadow:0 0 8px var(--green)}.camera-card.failed .camera-title i{background:var(--danger);box-shadow:0 0 8px var(--danger)}.camera-title span{display:block;min-width:0}.camera-title b{display:block;overflow:hidden;color:#f0f8f4;font:800 11px var(--fb);white-space:nowrap;text-overflow:ellipsis}.camera-title small{display:block;margin-top:2px;color:#769484;font:650 7px var(--fm);letter-spacing:.08em;text-transform:uppercase}.camera-tools{display:flex;gap:5px;margin-left:auto;pointer-events:auto}.camera-tools button,.camera-tools a{display:grid;width:31px;height:31px;place-items:center;border:1px solid rgba(119,255,174,.25);border-radius:9px;background:rgba(2,10,6,.78);color:#b4d2c2;text-decoration:none;backdrop-filter:blur(10px)}.camera-tools button:hover,.camera-tools a:hover{border-color:var(--line-strong);color:var(--mint)}.camera-skeleton{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center;color:#709080;font:650 9px var(--fm);letter-spacing:.08em;text-transform:uppercase}.camera-skeleton i{width:30px;height:30px;margin:auto;border:2px solid rgba(57,240,141,.15);border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}.camera-card.loaded .camera-skeleton{display:none}@keyframes spin{to{transform:rotate(360deg)}}body.layout-director .camera-wall{grid-template-columns:minmax(0,2fr) minmax(240px,.72fr);grid-template-rows:repeat(3,minmax(0,1fr))}body.layout-director .camera-card{grid-column:2}body.layout-director .camera-card.selected{grid-column:1;grid-row:1/4}body.layout-director .camera-card:not(.selected) .camera-title small{display:none}.broadcast-dock{position:relative;z-index:10;display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(2,10,6,.88);backdrop-filter:blur(18px)}.camera-picker{display:flex;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}.camera-picker::-webkit-scrollbar{display:none}.camera-picker button{display:flex;align-items:center;gap:7px;height:37px;padding:0 10px;border:1px solid rgba(119,255,174,.14);border-radius:9px;background:rgba(5,19,12,.65);color:#819c8e;font:700 9px var(--fm);white-space:nowrap}.camera-picker button:hover,.camera-picker button.on{border-color:var(--line-strong);background:rgba(57,240,141,.12);color:var(--mint)}.camera-picker button i{display:grid;width:20px;height:20px;place-items:center;border-radius:6px;background:rgba(255,255,255,.05);font-style:normal}.broadcast-note{margin-left:auto;min-width:190px;text-align:right}.broadcast-note span,.broadcast-note b{display:block}.broadcast-note span{color:#b7d2c4;font:700 9px var(--fm)}.broadcast-note b{margin-top:3px;color:#5f7a6c;font:550 7px var(--fm);letter-spacing:.07em;text-transform:uppercase}@media(max-width:1180px){.broadcast-bar{gap:8px}.broadcast-live span,.broadcast-brand b,.broadcast-actions button{font-size:0}.broadcast-actions button{width:34px;padding:0;font-size:0}.broadcast-actions button::first-letter{font-size:14px}.universe-switch button{padding:0 10px}.broadcast-note{display:none}}@media(max-width:760px){.broadcast-shell{grid-template-rows:auto minmax(0,1fr) auto}.broadcast-bar{flex-wrap:wrap;padding:7px 9px}.broadcast-brand span,.broadcast-live{display:none}.universe-switch{margin-left:auto}.broadcast-actions{order:3;width:100%;justify-content:center}.broadcast-actions button{width:auto;padding:0 9px;font-size:8px}.camera-wall,body.layout-director .camera-wall{grid-template-columns:1fr;grid-template-rows:1fr;padding:5px}.camera-card{display:none;border-radius:11px}.camera-card.selected{display:block;grid-column:1!important;grid-row:1!important}.broadcast-dock{min-height:54px;padding:6px}.camera-picker button{height:36px;padding:0 8px}.camera-picker button span{display:none}#clock{display:none}}@media(prefers-reduced-motion:reduce){.camera-skeleton i{animation:none}.camera-card{transition:none}}
