.pin.camera{background:#e3eee8;border:2px solid var(--ink);box-shadow:0 2px 6px #183e3b33}.pin.camera.camera-approximate{border-style:dashed}
.camera-catalog-row{display:flex;align-items:center;gap:11px;width:100%;padding:10px 16px;border:0;background:transparent;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.camera-catalog-row:hover,.camera-catalog-row:focus-visible{background:#e6eadd}
.camera-thumb{position:relative;display:block;width:94px;flex:0 0 94px;aspect-ratio:16/9;background:#dce5de;border-radius:8px;overflow:hidden}
.camera-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.camera-thumb-play{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 5px #0009;font-size:19px;background:#0002}
.camera-thumb-neutral{display:grid;place-items:center;color:#6f8276;background:linear-gradient(135deg,#e5e9df,#d7e2da);font-size:22px}
.camera-row-text{min-width:0;display:grid;gap:4px}.camera-row-text strong{font-size:14px;line-height:1.3}.camera-row-text small{font-size:11px;line-height:1.4;color:#65746b}
.camera-external-label{font-size:10px;color:#65746b}.camera-external-heading{margin:10px 16px 3px;font-size:11px;letter-spacing:.5px;color:#6a786e}
.camera-find{margin:7px 16px 9px;padding:7px 0;font:inherit;font-size:12px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #a8b6a9;cursor:pointer}
.camera-empty{margin:10px 16px;font-size:13px;color:#65746b}
.camera-viewer{box-sizing:border-box!important;padding:0!important;width:min(720px,calc(100vw - 28px))!important;max-width:720px!important;max-height:90dvh!important;border:1px solid var(--line);border-radius:16px!important;overflow:auto;overscroll-behavior:contain;position:fixed;font:14px/1.5 system-ui}
.camera-viewer::backdrop{background:#152b29a6}.camera-viewer-close{position:sticky;height:0;top:0;margin:0;z-index:3;text-align:right}
.camera-viewer-close button{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #fff8;border-radius:50%;background:#17332dde;color:white;font:27px/1 system-ui;cursor:pointer;box-shadow:0 1px 6px #0003}
.camera-card{max-width:100%;overflow-wrap:anywhere}.camera-stage{position:relative;aspect-ratio:16/9;background:#18342f;width:100%;overflow:hidden;border-radius:15px 15px 0 0}
.camera-player-slot{position:absolute;inset:0;width:100%;height:100%}.camera-player-slot iframe{display:block;width:100%;height:100%;border:0}
.camera-loading{position:absolute;inset:0;display:grid;place-items:center;color:#e8efe9;font-size:13px;background:#18342f;pointer-events:none}
.camera-loading[hidden],.camera-stage-message[hidden],.camera-recovery[hidden]{display:none}
.camera-stage-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:18px;color:#f6f5ed;text-align:center;box-sizing:border-box}
.camera-stage-message>span{font-size:12px;color:#c4d5c9}.camera-stage-message a{font-size:14px;color:#f6f5ed;text-underline-offset:4px}
.camera-details{padding:18px 22px 20px}.camera-details h2{font:600 23px/1.2 system-ui;margin:0 0 6px;color:var(--ink)}.camera-details p{margin:9px 0}.camera-place{font-size:12px;color:#65746b}.camera-operator{font-size:11px;color:#6c7c70}
.camera-status{display:inline-block;font-size:11px;color:#65746b}.camera-view-status .camera-status-unknown{display:none}.camera-status-live{color:#24724c}.camera-status-live:before{content:'● ';font-size:9px}.camera-status-unavailable{color:#8d4d34}
.camera-feedback{font-size:12px}.camera-recovery{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.camera-recovery button{font:inherit;font-size:12px;color:var(--ink);background:#e5eadd;border:1px solid var(--line);border-radius:8px;padding:9px 11px;cursor:pointer}.camera-recovery a,.camera-source-link{font-size:11px;color:#65746b;text-underline-offset:3px}
.camera-location-choices{display:grid;gap:7px}.camera-location-choices button{font:inherit;text-align:left;padding:10px;cursor:pointer}
@media(max-width:390px){.camera-viewer{width:calc(100vw - 16px)!important;max-height:92dvh!important;border-radius:12px!important}.camera-stage{border-radius:11px 11px 0 0}.camera-details{padding:14px 16px 17px}.camera-details h2{font-size:19px}.camera-catalog-row{padding:9px 11px;gap:9px}.camera-thumb{width:82px;flex-basis:82px}.camera-row-text strong{font-size:13px}.camera-stage-message a{font-size:12px}.camera-viewer-close button{right:8px;top:8px;width:32px;height:32px}.camera-find{margin-left:11px}}
