/* Habillage caméra CYBERTRAX : règles extraites de camera-filters.css (Forgejo, cartographie-pyrobox-remote,
   branche codex/cybertrax-camera-assets, commit 269f563). Seules les règles du cadre caméra sont reprises,
   sans les styles de page. Deux rendus : "modern" (récent, pixels intacts) et "archive" (ancien, traité). */
.camera-feed{position:relative;overflow:hidden;background:#080d0f;--skin:#dceae4;--ct-mono:Consolas,"Courier New",monospace}
.camera-feed>video,.camera-feed>img,.camera-feed>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.camera-overlay{position:absolute;z-index:2;inset:0;pointer-events:none;color:var(--skin);font-family:var(--ct-mono);text-shadow:0 1px 4px #000,0 0 8px #000;letter-spacing:.055em}
.camera-overlay:before,.camera-overlay:after{content:"";position:absolute;pointer-events:none}
.camera-overlay:before{inset:8px;border:1px solid color-mix(in srgb,var(--skin) 42%,transparent)}
.camera-overlay:after{inset:0;background:none}
.camera-corners i{position:absolute;z-index:1;width:16px;height:16px;border-color:var(--skin);border-style:solid;opacity:.92}
.camera-corners i:nth-child(1){top:6px;left:6px;border-width:2px 0 0 2px}.camera-corners i:nth-child(2){top:6px;right:6px;border-width:2px 2px 0 0}
.camera-corners i:nth-child(3){bottom:6px;left:6px;border-width:0 0 2px 2px}.camera-corners i:nth-child(4){bottom:6px;right:6px;border-width:0 2px 2px 0}
.camera-top,.camera-bottom{position:absolute;z-index:2;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.camera-top{top:17px}.camera-bottom{bottom:17px}
.camera-name,.camera-id,.camera-clock,.camera-state{font-size:11px;line-height:1.4}
.camera-name{font-weight:bold;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-id{opacity:.82}.camera-clock{font-size:12px;white-space:nowrap}
.camera-state{padding:1px 4px;border:1px solid currentColor;background:#0710148c;white-space:nowrap;font-size:9px;line-height:1.2;letter-spacing:.04em;opacity:.8}
.camera-feed[data-skin="modern"]{--skin:#d3e4ec}
.camera-feed[data-skin="modern"] .camera-overlay:before{inset:10px;border-color:#c4d9e44a}
.camera-feed[data-skin="modern"] .camera-top{top:18px}.camera-feed[data-skin="modern"] .camera-bottom{bottom:18px}
.camera-feed[data-skin="modern"] .camera-name{font-weight:500;letter-spacing:.13em}
.camera-feed[data-skin="modern"] .camera-id{color:#9ab9c9}
.camera-feed[data-skin="modern"] .camera-state{border-color:#a5d7dfaa;color:#c6f0ef}
.camera-feed[data-skin="archive"]{--skin:#d0d7bd;box-shadow:inset 0 0 0 3px #090f0d}
.camera-feed[data-skin="archive"]>video,.camera-feed[data-skin="archive"]>img,.camera-feed[data-skin="archive"]>canvas{filter:grayscale(.52) sepia(.14) contrast(1.08) brightness(.92)}
.camera-feed[data-skin="archive"] .camera-overlay:before{inset:5px;border:1px solid #d0d7bd38;border-radius:2px}
.camera-feed[data-skin="archive"] .camera-overlay:after{background:repeating-linear-gradient(0deg,#111a1009 0 2px,#dce3d508 3px 4px),linear-gradient(180deg,#07100854,transparent 28%,transparent 68%,#07100882)}
.camera-feed[data-skin="archive"] .camera-corners i{width:12px;height:12px;border-width:1px!important;opacity:.72}
.camera-feed[data-skin="archive"] .camera-top{top:13px}.camera-feed[data-skin="archive"] .camera-bottom{bottom:13px}
.camera-feed[data-skin="archive"] .camera-name{font-size:10px;letter-spacing:.12em}
.camera-feed[data-skin="archive"] .camera-id{font-size:10px;opacity:.7}
.camera-feed[data-skin="archive"] .camera-state{border:0;padding:1px 3px;background:#10180fcc;font-size:9px;opacity:.7}
.camera-feed[data-skin="archive"] .camera-clock{font-size:11px;letter-spacing:.02em}
/* vignettes : habillage réduit */
.camera-feed.mini .camera-top,.camera-feed.mini .camera-bottom,.camera-feed.mini .camera-corners{display:none}
.camera-feed.mini .camera-overlay:before{inset:3px}

/* Shared by desktop and touch hosts; a voluntary cut is distinct from GM rights. */
.camera-disconnect{position:absolute!important;left:10px!important;bottom:10px!important;right:auto!important;top:auto!important;z-index:8!important;background:#651e29!important;color:#fff!important;border:1px solid #e66a78!important;padding:8px 12px!important;border-radius:5px;font:600 12px/1.4 system-ui!important;cursor:pointer;min-height:36px}.camera-disconnect:hover{background:#912b3b!important}.camera-tile .camera-disconnect{font-size:11px!important}.cam-main .camera-disconnect{bottom:12px!important}.camera-select{position:absolute;inset:0 0 42px;width:100%;padding:0;border:0;background:#000;color:inherit;cursor:pointer}.camera-select>span{position:absolute;left:8px;top:6px;z-index:3;padding:3px 6px;background:#000b;font:12px var(--mono,monospace)}

.camera-state:empty{display:none}
