.atlas-camera-wall{position:absolute;inset:0;z-index:12;pointer-events:none;color:#eef2fa;font-family:Inter,system-ui,sans-serif;container:camera-wall / size}
.atlas-camera-wall[hidden]{display:none!important}
.camera-wall-panel{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:min(780px,calc(100% - 44px));height:min(610px,calc(100% - 46px));display:flex;flex-direction:column;background:rgba(8,17,31,.97);border:1px solid #58607e;border-radius:11px;box-shadow:0 24px 75px #0009,0 0 0 1px #09111b;overflow:hidden;pointer-events:auto;backdrop-filter:blur(20px)}
.camera-wall-heading{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #29394e;flex:0 0 auto}
.camera-wall-title{display:flex;align-items:center;gap:11px;min-width:0;flex:1}
.camera-wall-title>svg{width:23px;height:23px;color:#aaa4ff;flex:0 0 auto}
.camera-wall-title>div{min-width:0}.camera-wall-title span{display:block;font:9px ui-monospace,SFMono-Regular,monospace;letter-spacing:1.7px;color:#9baec5}
.camera-wall-title h2{font-size:17px;font-weight:500;letter-spacing:-.4px;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-wall-title .camera-wall-count{font-size:10px;letter-spacing:.2px;border:1px solid #44516a;border-radius:4px;padding:5px 6px;color:#bcb5ff;margin-left:3px}
.camera-wall-toolbar{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.camera-wall-icon-button{border:1px solid #324158;background:#132137;color:#acb9cf;border-radius:4px;width:28px;height:28px;display:inline-grid;place-items:center;padding:0;cursor:pointer}
.camera-wall-icon-button:hover,.camera-wall-card-actions button:hover{color:#fff;background:#24344f}
.camera-wall-layout{display:flex;border:1px solid #3b4564;border-radius:4px;overflow:hidden;margin-right:3px}
.camera-wall-layout button{background:#0b172a;color:#94a5bc;border:0;font:11px ui-monospace,monospace;padding:6px 9px;cursor:pointer}
.camera-wall-layout button[aria-pressed=true]{background:#564a91;color:#f0eaff}
.camera-wall-status{display:flex;align-items:center;gap:7px;padding:8px 16px;font-size:10px;color:#a5b4c8;border-bottom:1px solid #233149;flex:0 0 auto}
.camera-wall-status-light{height:5px;width:5px;border-radius:50%;background:#a5a1ff;flex:0 0 auto}
.camera-wall-fetched{margin-left:auto;color:#8394ad;font-size:10px}
.camera-wall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;padding:10px;min-height:0;flex:1}
.atlas-camera-wall[data-camera-layout="6"] .camera-wall-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.atlas-camera-wall[data-camera-layout="6"] .camera-wall-panel{width:min(960px,calc(100% - 44px))}
.camera-wall-card{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;background:#0b1727;border:1px solid #35435c;border-radius:6px;outline:none}
.camera-wall-card:focus-visible{outline:2px solid #78d6dd;outline-offset:1px}.camera-wall-card:focus-within{border-color:#8278bf}
.camera-wall-card-heading{display:flex;align-items:center;gap:7px;padding:6px 8px;flex:0 0 auto;min-width:0;border-bottom:1px solid #29374c}
.camera-wall-channel{font:10px ui-monospace,monospace;color:#af9fee;border:1px solid #655f8d66;background:#6458871a;border-radius:3px;padding:3px 4px}
.camera-wall-card-heading h3{font-size:11px;font-weight:500;letter-spacing:0;margin:0;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.camera-wall-card-heading .camera-wall-icon-button{width:21px;height:21px;background:none;border-color:transparent}
.camera-wall-anchor-state{display:none;white-space:nowrap;font:8px ui-monospace,monospace;text-transform:uppercase;color:#9caec8}
.camera-wall-anchor-state[data-visible=true]{color:#8fe0de}
.camera-wall-leaders{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.camera-wall-leaders line{stroke:#b6a9ff;stroke-width:1;stroke-opacity:.75;stroke-dasharray:3 3}
.camera-wall-leaders circle{stroke:#b6a9ff;stroke-width:1;fill:#0c172bd9}.camera-wall-leaders .camera-wall-anchor-dot{stroke:none;fill:#a6e9ea}
.camera-wall-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:8px 13px;border:1px solid #b5aaff;border-radius:5px;background:#171f38ed;color:#fff;font-size:11px;white-space:nowrap;cursor:pointer}
.camera-wall-media{display:flex;align-items:center;justify-content:center;position:relative;min-height:55px;flex:1;background:#02060d;overflow:hidden}
.camera-wall-media img,.camera-wall-media video{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#02060d}
.camera-wall-media-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;line-height:1.55;padding:12px;margin:0;color:#98acc2;background:#07101e;z-index:1;pointer-events:none}
.camera-wall-unavailable{color:#e2bc89;background:repeating-linear-gradient(135deg,#101c2b,#101c2b 11px,#121e2e 11px,#121e2e 12px)}
.camera-wall-card-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:7px 9px 5px;flex:0 0 auto;min-width:0}
.camera-wall-type{font-size:10px;color:#76d4dc;font-weight:500}
.camera-wall-time{font-size:10px;color:#9fadc4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-wall-card-source{font-size:10px;color:#8295af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-wall-card-actions{display:flex;gap:3px;padding:0 5px 5px;flex:0 0 auto}
.camera-wall-card-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;font-size:10px;color:#bdc7da;border:1px solid transparent;border-radius:3px;padding:5px 3px;background:none;cursor:pointer}
.camera-wall-card-actions svg{width:12px;height:12px}
.camera-wall-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:0;color:#6b7e98;border:1px dashed #33445c;border-radius:6px;padding:14px;text-align:center;background:#0c172723}
.camera-wall-empty>span{position:absolute;left:9px;top:9px;font:10px ui-monospace,monospace;color:#5a6a83}.camera-wall-empty>svg{width:24px;height:24px;margin-bottom:8px;color:#65748c}.camera-wall-empty strong{font-size:11px;font-weight:500;color:#899ab0}.camera-wall-empty p{font-size:10px;line-height:1.5;margin:6px 0 0;max-width:160px}
.camera-wall-footer{flex:0 0 auto;padding:8px 13px 10px;border-top:1px solid #29374b;font-size:10px;line-height:1.5;color:#7e91ad;max-height:84px;overflow:auto}
.camera-wall-footer>span{display:block;color:#9daec5}.camera-wall-footer [data-camera-wall-attribution]{margin-top:3px}
.camera-wall-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.atlas-camera-wall.is-collapsed .camera-wall-panel{height:auto;max-width:540px}.atlas-camera-wall.is-collapsed .camera-wall-status,.atlas-camera-wall.is-collapsed .camera-wall-grid,.atlas-camera-wall.is-collapsed .camera-wall-footer{display:none}.atlas-camera-wall.is-collapsed [data-camera-action=collapse] svg{transform:rotate(180deg)}
.atlas-camera-wall.is-expanded .camera-wall-grid{grid-template-columns:1fr;grid-template-rows:1fr}.atlas-camera-wall.is-expanded .camera-wall-panel{width:min(880px,calc(100% - 44px))}.atlas-camera-wall.is-expanded .camera-wall-card-meta{grid-template-columns:1fr 1fr}.atlas-camera-wall.is-expanded .camera-wall-card-source{grid-column:1/-1}
.atlas-camera-wall button:focus-visible{outline:2px solid #78d6dd;outline-offset:2px}
@container camera-wall (max-height:650px){
  .camera-wall-panel{top:10px;height:calc(100% - 24px)}
  .camera-wall-heading{padding:6px 12px}.camera-wall-title h2{font-size:15px;line-height:19px;margin-top:2px}
  .camera-wall-status{padding:5px 12px;font-size:9px;line-height:12px}.camera-wall-fetched{font-size:9px}
  .camera-wall-grid{gap:6px;padding:7px}
  .camera-wall-card-heading{padding:3px 7px}.camera-wall-card-heading h3{line-height:15px}.camera-wall-channel{line-height:12px;padding:2px 4px}
  .camera-wall-card-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 6px;padding:4px 8px;line-height:12px}
  .camera-wall-type{grid-column:1;grid-row:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:12px}
  .camera-wall-card-source{grid-column:2;grid-row:1;text-align:right;line-height:12px}
  .camera-wall-time{grid-column:1/-1;grid-row:2;line-height:12px}
  .camera-wall-card-actions{padding:0 5px 4px}.camera-wall-card-actions button{padding:3px;line-height:12px}
  .camera-wall-footer{font-size:9px;line-height:1.35;max-height:58px;padding:5px 10px}
}
@media(max-height:760px){.camera-wall-panel{top:12px;height:calc(100% - 34px)}.camera-wall-heading{padding:8px 12px}.camera-wall-title h2{font-size:15px}.camera-wall-card-heading{padding:4px 7px}.camera-wall-card-meta{padding-top:4px;padding-bottom:2px;gap:1px}.camera-wall-card-actions{padding-bottom:3px}.camera-wall-card-actions button{padding:3px}.camera-wall-footer{font-size:9px;max-height:64px;padding:6px 11px}.camera-wall-grid{gap:6px;padding:8px}.camera-wall-status{padding:6px 12px}.camera-wall-fetched{font-size:9px}}
@media(max-width:700px){.camera-wall-panel,.atlas-camera-wall[data-camera-layout="6"] .camera-wall-panel{width:calc(100% - 22px);top:10px;height:calc(100% - 25px)}.camera-wall-heading{padding:9px}.camera-wall-title h2{font-size:14px}.camera-wall-title>svg,.camera-wall-count{display:none!important}.camera-wall-toolbar{gap:4px}.camera-wall-fetched{display:none}.camera-wall-title span{font-size:8px;letter-spacing:1px}.camera-wall-status{font-size:9px}.camera-wall-card-actions button{font-size:9px}.atlas-camera-wall[data-camera-layout="6"] .camera-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.camera-wall-media{min-height:40px}.camera-wall-card-source{display:none}}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-leaders{display:block}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-panel{left:var(--left-space,20px);right:80px;top:10px;bottom:18px;width:auto;height:auto;transform:none;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;overflow:visible;pointer-events:none}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-heading{width:min(650px,100%);align-self:center;box-sizing:border-box;background:#0a1528f2;border:1px solid #526080;border-radius:8px 8px 0 0;padding:6px 11px;pointer-events:auto}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-title h2{font-size:14px;line-height:18px;margin-top:2px}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-status{width:min(650px,100%);box-sizing:border-box;align-self:center;background:#0a1528ef;border:1px solid #526080;border-top:0;border-radius:0 0 6px 6px;padding:4px 10px;font-size:9px;line-height:12px;pointer-events:auto}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-grid{position:absolute;inset:78px 0 59px;display:block;padding:0;pointer-events:none}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-card,.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-empty{position:absolute;width:min(310px,36%);height:min(245px,calc(50% - 8px));box-sizing:border-box;box-shadow:0 12px 32px #0008;background:#091528f5;pointer-events:auto}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(1){left:0;top:0}.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(2){right:0;top:0}.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(3){left:0;bottom:0}.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(4){right:0;bottom:0}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-card-heading{padding:3px 6px}.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-anchor-state{display:block}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-card-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 6px;padding:4px 7px;line-height:12px}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-type{grid-column:1;grid-row:1;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-card-source{grid-column:2;grid-row:1;text-align:right;line-height:12px}.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-time{grid-column:1/-1;grid-row:2;line-height:12px}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-card-actions{padding-bottom:3px}.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-card-actions button{padding:3px;line-height:12px}
.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-footer{position:absolute;bottom:0;left:0;right:0;background:#0a1528ed;border:1px solid #3b4c69;border-radius:6px;padding:5px 9px;max-height:51px;font-size:9px;line-height:1.3;pointer-events:auto}
.atlas-camera-wall.is-map[data-camera-layout="6"]:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>*{width:calc((100% - 20px)/3)}
.atlas-camera-wall.is-map[data-camera-layout="6"]:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(1){left:0;right:auto;top:0;bottom:auto}.atlas-camera-wall.is-map[data-camera-layout="6"]:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(2){left:50%;right:auto;top:0;bottom:auto;transform:translateX(-50%)}.atlas-camera-wall.is-map[data-camera-layout="6"]:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(3){left:auto;right:0;top:0;bottom:auto}.atlas-camera-wall.is-map[data-camera-layout="6"]:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(4){left:0;right:auto;top:auto;bottom:0}.atlas-camera-wall.is-map[data-camera-layout="6"]:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(5){left:50%;right:auto;bottom:0;transform:translateX(-50%)}.atlas-camera-wall.is-map[data-camera-layout="6"]:not(.is-expanded):not(.is-collapsed) .camera-wall-grid>:nth-child(6){left:auto;right:0;bottom:0}
@container camera-wall (max-width:850px){.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-card{width:43%}.atlas-camera-wall.is-map:not(.is-expanded):not(.is-collapsed) .camera-wall-anchor-state{display:none}}
