@charset "UTF-8";
:root{--ink:#172638;--muted:#74808b;--blue:#315fe7;--blue-pale:#edf2ff;--line:#e4e8ec;--paper:#f6f7f9;--green:#1e9d7c;--sidebar:224px;color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button{color:inherit}a{color:inherit;text-decoration:none}button,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue)}button{border:0;background:none}button svg{flex-shrink:0}[hidden]{display:none!important}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin:0}h2{font-size:21px;line-height:1.3;letter-spacing:-.65px;font-weight:600}button,a{touch-action:manipulation}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--ink);color:white;padding:30px 20px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:13px;padding:0 4px}.brand-mark{font-size:39px;font-weight:650;letter-spacing:-4px;line-height:1}.brand-mark>span{color:#a9bcff}.brand-name{font-size:10px;letter-spacing:2.2px;line-height:1.6;font-weight:650}.brand-name>span{display:block;font-size:6px;letter-spacing:1.45px;color:#aab5c5;margin-top:4px}.sidebar-project{margin-top:46px;padding:0 8px}.sidebar-label{font-size:8px;letter-spacing:1.6px;color:#98a6b8}.sidebar-project>div{display:flex;align-items:center;gap:10px;margin-top:17px}.project-avatar{height:34px;width:34px;background:#30415a;border:1px solid #45546b;border-radius:9px;display:grid;place-items:center;font-size:17px}.sidebar-project strong{font-size:14px;font-weight:550}.sidebar-project small{display:block;font-size:10px;color:#a0adbf}.project-dot{height:6px;width:6px;background:#9bb6f8;border-radius:50%;margin-left:auto}.main-nav{margin-top:32px;display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:12px 12px;border-radius:8px;color:#aebbd0;font-size:12px;transition:background .15s,color .15s}.nav-item.active{color:white;background:#334562}.nav-item:hover{background:#263850;color:white}.nav-count{margin-left:auto;font-size:10px;color:#a9bcff;background:#435779;padding:1px 5px;border-radius:4px}.sidebar-tv{border-top:1px solid #344256;margin-top:auto;padding:24px 9px}.sidebar-tv>.icon{color:#b0c2ee;width:25px;height:25px;margin-bottom:13px}.sidebar-tv strong{display:block;font-size:13px;font-weight:550}.sidebar-tv p{font-size:11px;color:#a8b5c7;line-height:1.7;margin-top:5px}.sidebar-tv button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 0 0;color:#c4d0ec;font-size:11px}.sidebar-tv button:hover{color:white}.sidebar-tv button .icon{width:16px}.sidebar-bottom{display:flex;gap:8px;align-items:flex-start;border-top:1px solid #344256;padding:21px 9px 0;font-size:9px;color:#bac4d2;line-height:1.8}.sidebar-bottom small{color:#8090a8}.small-dot{display:inline-block;width:6px;height:6px;background:#90b0ff;border-radius:50%;flex-shrink:0}.sidebar-bottom .small-dot{margin-top:6px}
.app-shell{margin-left:var(--sidebar)}.topbar{height:77px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:9px;letter-spacing:1.7px;color:#8a95a1;display:flex;gap:15px}.breadcrumb strong{font-weight:550;color:#3e4a59}.breadcrumb>span{color:#c8ced5}.topbar-actions{display:flex;align-items:center;gap:14px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;transition:background .15s;flex-shrink:0}.icon-button:hover{background:#edf1f6}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;border-radius:7px;font-size:11px;font-weight:550;line-height:1.5;transition:background .15s}.button-light{background:white;border:1px solid var(--line)}.button-light:hover{background:#f6f8fb}.button-primary{background:var(--blue);color:white;border:1px solid var(--blue)}.button-primary:hover{background:#234dcc}.button .icon{width:16px;height:16px}.text-button{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--blue);padding:5px}.text-button .icon{width:16px}.text-button:hover{text-decoration:underline}main{max-width:1680px;margin:0 auto;padding:32px 38px 0}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:23px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.65px;display:flex;align-items:center;gap:7px;color:#68798b}.eyebrow .small-dot{background:var(--blue);width:5px;height:5px}.project-heading h1{font-size:38px;line-height:1.2;letter-spacing:-1.7px;font-weight:600;margin:8px 0}.project-heading p{font-size:12px;color:var(--muted)}.project-totals{display:flex;gap:26px}.project-totals>div+div{padding-left:26px;border-left:1px solid #dce2e9}.project-totals strong{font-size:25px;letter-spacing:-1px;font-weight:550;display:block;line-height:1.3}.project-totals span{font-size:10px;color:var(--muted)}.demo-strip{border:1px solid #dfe6f6;background:#eff3fc;border-radius:7px;display:flex;align-items:center;gap:9px;padding:9px 12px;font-size:10px;color:#64748e;margin-bottom:26px}.demo-strip>.icon{width:14px;height:14px;color:#6882b3}.demo-strip strong{font-weight:600;color:#4c607f}.demo-strip button{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:10px;color:#536a9d}.demo-strip button .icon{width:14px;height:14px}
.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-toolbar p{font-size:11px;color:var(--muted);margin-top:5px}.toolbar-controls{display:flex;gap:10px;align-items:center}.segmented{display:inline-flex;padding:3px;background:#e9edf2;border-radius:7px;gap:2px}.segmented button{padding:6px 10px;border-radius:5px;font-size:10px;white-space:nowrap;color:#788390}.segmented button.selected{background:white;color:var(--ink);box-shadow:0 1px 3px #17263814}.segmented button:hover{color:var(--ink)}.camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.camera-grid.single{grid-template-columns:1fr}.camera-card{background:white;border-radius:10px;border:1px solid var(--line);overflow:hidden;box-shadow:0 3px 8px #17263803}.camera-card-header{padding:15px 17px;display:flex;justify-content:space-between;gap:8px;align-items:center}.camera-title{display:flex;align-items:center;gap:9px}.camera-number{font-size:9px;color:#8b98a5;border:1px solid #e5e9ee;border-radius:4px;width:25px;height:25px;display:grid;place-items:center}.camera-title strong{font-size:13px;font-weight:600}.camera-title small{font-size:9px;color:var(--muted);display:block;margin-top:1px}.camera-date{font-size:9px;text-align:right;color:var(--muted);line-height:1.7}.camera-date strong{font-weight:500;color:#4a596a}.camera-image{position:relative;background:#192330;aspect-ratio:2.15;overflow:hidden}.camera-image>button{display:block;width:100%;height:100%;padding:0;position:relative}.camera-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s}.camera-image>button:hover img{transform:scale(1.035)}.camera-grid.single .camera-image{aspect-ratio:2.77}.camera-overlay{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.image-chip{background:#172638b0;color:white;font-size:8px;letter-spacing:.6px;padding:5px 8px;border-radius:4px;backdrop-filter:blur(8px);display:flex;align-items:center;gap:6px}.image-chip .small-dot{width:4px;height:4px;background:#bdcfff}.expand-chip{width:28px;height:28px;display:grid;place-items:center;background:#ffffffdf;border-radius:5px;color:var(--ink)}.expand-chip .icon{width:15px;height:15px}.camera-stats{display:grid;grid-template-columns:1fr 1fr 1.1fr;padding:14px 17px;gap:10px}.camera-stat{display:flex;align-items:center;gap:7px}.camera-stat .icon{width:16px;height:16px;color:#98a4b2}.camera-stat strong{font-size:11px;display:block;font-weight:550}.camera-stat span{display:block;font-size:8px;color:var(--muted)}.camera-card-footer{border-top:1px solid #edf0f4;padding:9px 17px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px}.camera-card-footer button{font-size:9px;color:var(--blue);display:flex;align-items:center;gap:5px}.camera-card-footer button .icon{width:12px;height:12px}.viewer-footnote{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#8b96a3;margin:12px 0 0}.viewer-footnote>span:first-child{display:flex;gap:6px;align-items:center}.viewer-footnote .icon{width:13px;height:13px}.quiet-badge{font-size:9px;letter-spacing:.5px;background:#edf0f4;padding:6px 9px;border-radius:5px;color:#718095}.view-panel{margin-bottom:25px}
.timeline-card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px 24px 17px;box-shadow:0 3px 8px #17263803}.timeline-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-header .eyebrow{font-size:8px;letter-spacing:1.4px;color:#8795a5}.timeline-header h2{font-size:19px;margin-top:5px}.date-navigator{display:flex;gap:4px;align-items:center}.date-picker{position:relative;border:1px solid var(--line);border-radius:6px;display:flex;gap:8px;align-items:center;padding:8px 10px;font-size:11px;white-space:nowrap;background:#fafbfd}.date-picker .icon{width:15px;height:15px;color:#6d7e94}.date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;color-scheme:light}.date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.date-picker:focus-within{outline:2px solid var(--blue);outline-offset:2px}.previous .icon{transform:rotate(180deg)}.timeline-track{position:relative;height:122px;margin:8px 10px 0}.timeline-rule{position:absolute;top:64px;left:0;right:0;height:3px;background:#e6eaf0;border-radius:5px}.timeline-progress{position:absolute;top:64px;left:0;width:100%;height:3px;background:#7896ec;border-radius:5px}.timeline-events{position:absolute;inset:0}.timeline-event{position:absolute;top:12px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;padding:0;z-index:2;white-space:nowrap}.timeline-event:first-child{transform:translateX(0)}.timeline-event:last-child{transform:translateX(-100%)}.event-marker{width:27px;height:27px;display:grid;place-items:center;border:1px solid #c4d2fd;border-radius:50%;color:var(--blue);background:#edf2ff;box-shadow:0 0 0 5px #fff;transition:transform .15s}.event-marker .icon{width:13px;height:13px}.timeline-event:hover .event-marker{transform:translateY(-3px)}.timeline-event.photo .event-marker{background:#eaf7f1;color:#159576;border-color:#b9e1d1}.timeline-event .event-stem{height:15px;width:1px;background:#d6deec}.event-title{position:absolute;top:-2px;left:34px;font-size:8px;color:#75849a;max-width:110px;overflow:hidden;text-overflow:ellipsis}.timeline-event:last-child .event-title{left:auto;right:34px}.timeline-track input[type=range]{position:absolute;top:53px;left:-9px;width:calc(100% + 18px);height:26px;margin:0;background:transparent;appearance:none;-webkit-appearance:none;cursor:ew-resize;z-index:3}.timeline-track input[type=range]::-webkit-slider-runnable-track{height:3px;background:transparent}.timeline-track input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:24px;margin-top:-10px;border-radius:4px;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 1px var(--blue)}.timeline-track input[type=range]::-moz-range-track{background:transparent;height:3px}.timeline-track input[type=range]::-moz-range-thumb{width:9px;height:20px;border:3px solid white;border-radius:4px;background:var(--blue)}.timeline-ticks{position:absolute;top:85px;left:0;right:0;display:flex;justify-content:space-between;color:#8492a2;font-size:9px}.timeline-ticks span{position:relative}.timeline-ticks span:before{content:"";position:absolute;top:-13px;left:0;height:5px;width:1px;background:#cad3dd}.timeline-bottom{border-top:1px solid #edf0f4;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:9px;color:#8a96a5}.legend{display:flex;gap:17px;flex-wrap:wrap}.legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:6px;height:6px;border-radius:50%;background:#a0aaba;display:inline-block}.legend-dot.drone{background:var(--blue)}.legend-dot.photo{background:var(--green)}.event-detail{margin-top:17px;background:#f6f8fc;border:1px solid #e6ebf4;border-radius:7px;padding:13px;display:flex;align-items:center;gap:12px}.event-detail>.icon{color:var(--blue)}.event-detail strong{display:block;font-size:11px}.event-detail small{font-size:9px;color:var(--muted)}.event-detail .button{margin-left:auto}.event-detail .icon-button{width:25px;height:25px}.page-footer{display:flex;justify-content:space-between;gap:12px;padding:21px 0;color:#9aa3ad;font-size:9px}.page-footer>span:first-child{font-style:italic;color:#798591}
.compact-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}select{border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 26px 8px 9px;color:var(--ink);font-size:11px;max-width:100%}.comparison-card{border:1px solid var(--line);background:white;border-radius:10px;overflow:hidden}.comparison-dates{display:flex;align-items:center;gap:15px;padding:17px 20px}.comparison-dates label{display:flex;align-items:center;gap:9px}.comparison-dates label>span{font-size:8px;letter-spacing:1px;color:#8796a8}.comparison-arrow{display:flex;align-items:center;color:#a1adbb}.comparison-arrow .icon{width:16px;height:16px}.comparison-zoom{margin-left:auto;display:flex;align-items:center;gap:4px}.comparison-zoom output{font-size:10px;min-width:38px;text-align:center;color:#74839a}.comparison-stage{position:relative;aspect-ratio:2.77;background:#15232e;overflow:hidden;touch-action:none;cursor:grab}.comparison-image{position:absolute;inset:0;overflow:hidden;pointer-events:none}.comparison-image img{width:100%;height:100%;object-fit:contain;transform-origin:center;user-select:none;will-change:transform}.comparison-image.before{clip-path:inset(0 50% 0 0)}.image-label{position:absolute;bottom:14px;color:white;background:#172638b8;border-radius:4px;padding:6px 9px;backdrop-filter:blur(8px);font-size:10px;z-index:2;pointer-events:none}.before-label{left:14px}.after-label{right:14px}.comparison-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:white;pointer-events:none;z-index:4}.comparison-handle>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;height:36px;width:36px;display:grid;place-items:center;background:white;color:var(--ink);font-size:17px;letter-spacing:3px;box-shadow:0 2px 10px #0003}.comparison-slider{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:5;cursor:ew-resize;margin:0;touch-action:none}.comparison-stage:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:-3px}.comparison-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 20px;font-size:9px;color:#8895a5}
.media-filters{margin-bottom:18px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.media-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:left;padding:0;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;min-width:0}.media-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #1726380a}.media-card-thumb{width:100%;aspect-ratio:1.8;position:relative;overflow:hidden;background:#edf2fa}.media-card-thumb img{width:100%;height:100%;object-fit:cover}.placeholder-thumb{display:flex;align-items:center;justify-content:center;background-color:#edf2fa;background-image:linear-gradient(#bccbe426 1px,transparent 1px),linear-gradient(90deg,#bccbe426 1px,transparent 1px);background-size:24px 24px;color:#7191c7;flex-direction:column;gap:10px}.placeholder-thumb.photo{background-color:#edf6f1;color:#619f84;background-image:linear-gradient(#b4d9c626 1px,transparent 1px),linear-gradient(90deg,#b4d9c626 1px,transparent 1px)}.placeholder-thumb>.icon{width:42px;height:42px;stroke-width:1}.placeholder-thumb span{font-size:8px;letter-spacing:1.2px}.media-tag{position:absolute;top:10px;left:10px;font-size:8px;border-radius:4px;padding:4px 7px;background:#ffffffed;color:#50739d}.media-card-content{padding:15px;display:block;width:100%}.media-card-content .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:6px}.media-card-content strong{font-size:13px;font-weight:550;display:block;line-height:1.5}.media-card-content small{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8995a4;margin-top:9px}.media-card-content small .icon{width:14px;height:14px}.local-note{display:flex;gap:7px;align-items:center;font-size:10px;color:#8593a5;line-height:1.7;margin-top:17px}.local-note .icon{width:14px;height:14px}.play-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0000000f}.play-overlay>span{width:42px;height:42px;border-radius:50%;background:#fffffff0;display:grid;place-items:center;color:var(--ink);box-shadow:0 3px 15px #0002}.play-overlay .icon{width:20px;height:20px;fill:var(--ink);stroke-width:0;margin-left:3px}#video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
dialog{padding:25px;border:1px solid #e1e6ee;border-radius:13px;box-shadow:0 20px 80px #1726383d;color:var(--ink);background:white;width:min(620px,calc(100vw - 32px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#0c1b2ecc;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px}.dialog-heading h2{font-size:23px;margin-top:5px;letter-spacing:-.7px}.dialog-heading p{font-size:11px;color:var(--muted);margin-top:7px}.dialog-heading .icon-button{margin:-5px -5px 0 0}.form-intro{font-size:12px;color:var(--muted);margin-bottom:20px}.form-label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:550;margin-bottom:16px}.form-label input,.form-label select{width:100%;border:1px solid #dbe2ec;border-radius:6px;padding:10px;font-size:12px;font-weight:400;color:var(--ink);background:white;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.upload-zone{border:1px dashed #bccbed;background:#f5f8ff;border-radius:8px;padding:25px 15px;display:flex;align-items:center;flex-direction:column;gap:8px;cursor:pointer;position:relative}.upload-zone>.icon{color:var(--blue);width:27px;height:27px}.upload-zone strong{font-size:12px;font-weight:550}.upload-zone span{font-size:10px;color:var(--muted)}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-zone:focus-within{outline:2px solid var(--blue);outline-offset:2px}.file-summary{font-size:10px;color:#7b8aa1;margin:9px 0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.form-error{font-size:11px;color:#b54242;margin-top:10px}.about-dialog p{font-size:12px;line-height:1.9;color:#6c7d91;margin:13px 0}.about-dialog strong{color:var(--ink)}.media-dialog{width:min(950px,calc(100vw - 32px))}.media-dialog video{display:block;width:100%;max-height:65dvh;border-radius:7px;background:#172638}.media-dialog-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-dialog-gallery img{width:100%;height:100%;max-height:330px;object-fit:contain;background:#142331;border-radius:7px}.media-dialog-gallery button{padding:0}.media-empty{border:1px dashed #cbd7e9;background:#f6f8fc;border-radius:8px;text-align:center;padding:45px 20px;color:#71839b}.media-empty>.icon{width:43px;height:43px;color:#7292c6;margin-bottom:13px}.media-empty h3{font-size:16px;color:#3c526e;font-weight:550}.media-empty p{font-size:12px;max-width:420px;margin:10px auto 18px;line-height:1.8}.photo-dialog{width:calc(100vw - 48px);height:calc(100dvh - 48px);max-height:none;max-width:1600px;padding:0;background:#14212d;color:white;overflow:hidden}.photo-dialog-header{height:68px;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#172638}.photo-dialog-header strong{font-size:13px;display:block}.photo-dialog-header span{font-size:10px;color:#9fafc2}.photo-tools{display:flex;align-items:center;gap:5px}.photo-tools .icon-button:hover{background:#30425c}.photo-tools output{font-size:11px;min-width:45px;text-align:center;color:#bbc9dc}.photo-tools .text-button{color:#b5c8f2}.photo-stage{height:calc(100% - 104px);position:relative;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:grab}.photo-stage.dragging,.comparison-stage.dragging{cursor:grabbing}.photo-stage img{width:100%;height:100%;object-fit:contain;transform-origin:center;user-select:none;will-change:transform}.photo-dialog-footer{height:36px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#8093ab}.toast{position:fixed;bottom:25px;left:calc(50% + var(--sidebar)/2);transform:translate(-50%,10px);background:var(--ink);color:white;padding:12px 18px;border-radius:8px;font-size:12px;box-shadow:0 4px 20px #0002;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:200;max-width:calc(100vw - 32px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{position:fixed;inset:20px;background:white;padding:30px;z-index:999}
.tv-view{position:fixed;inset:0;z-index:100;background:#0c1520;color:#f4f7ff;padding:26px 32px;display:flex;flex-direction:column}.tv-view>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.tv-view .eyebrow{color:#7e92af;font-size:10px}.tv-view h1{font-size:32px;letter-spacing:-1px;font-weight:550;margin-top:4px}.tv-header-right{display:flex;align-items:center;gap:15px}.tv-header-right .quiet-badge{background:#1c2b3f;color:#90a5c2}.tv-header-right .icon-button:hover{background:#24354b}.tv-header-right .button-light{background:#1e2d40;color:#b9c9e0;border-color:#33465f}.tv-header-right #tv-clock{font-size:22px;font-variant-numeric:tabular-nums;color:#c4d3e9}.tv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex:1;min-height:0}.tv-camera{background:#142131;border:1px solid #25364b;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.tv-camera>header{padding:22px;display:flex;justify-content:space-between;gap:15px;align-items:center}.tv-camera>header strong{font-size:21px;font-weight:500}.tv-camera>header small{font-size:12px;color:#8fa2bc}.tv-camera .tv-image{flex:1;min-height:0;display:grid;place-items:center;background:#0a131d}.tv-image img{width:100%;height:100%;object-fit:contain}.tv-camera .camera-stats{padding:23px;gap:20px}.tv-camera .camera-stat strong{font-size:20px;color:#d7e3f4}.tv-camera .camera-stat span{font-size:11px;color:#8195b1}.tv-camera .camera-stat>.icon{width:22px;height:22px;color:#607b9f}.tv-view>footer{display:flex;justify-content:space-between;gap:15px;color:#5d7391;font-size:11px;padding-top:23px}
.passage-context{margin-bottom:23px}.passage-context-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:11px}.passage-context-heading strong{font-weight:550}.passage-context-heading>span{color:var(--muted);font-size:10px}.passage-camera-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.passage-camera{padding:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;text-align:left;background:#f8fafc}.passage-camera img{width:100%;aspect-ratio:2.77;object-fit:contain;display:block;background:#172638}.passage-camera>span{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:9px 11px}.passage-camera strong{font-size:11px;font-weight:550}.passage-camera small{font-size:9px;color:var(--muted)}
@media(min-width:1700px){main{padding-top:40px}.camera-image{aspect-ratio:2.3}.project-heading{margin-bottom:32px}.demo-strip{margin-bottom:32px}.timeline-card{margin-top:30px}}
@media(max-width:1200px){:root{--sidebar:194px}.sidebar{padding-left:14px;padding-right:14px}.brand-name{font-size:8px}.brand-mark{font-size:35px}.brand-name>span{font-size:5px}.topbar{padding:0 25px}main{padding:27px 25px 0}.project-heading h1{font-size:32px}.project-totals{gap:15px}.project-totals>div+div{padding-left:15px}.project-totals strong{font-size:22px}.toolbar-controls .button{font-size:10px;padding:8px}.camera-card-header{padding:13px}.camera-date{font-size:8px}.camera-stats{padding:13px;gap:5px}.camera-stat{gap:5px}.camera-stat strong{font-size:10px}.camera-stat>.icon{width:14px}.event-title{display:none}.comparison-dates{gap:10px;padding:13px}.comparison-zoom .text-button{display:none}.comparison-dates label{gap:6px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){:root{--sidebar:0px}.sidebar{position:static;width:100%;height:auto;padding:16px 22px;display:flex;flex-direction:row;gap:25px;align-items:center}.brand-mark{font-size:29px;letter-spacing:-3px}.brand-name{font-size:7px;letter-spacing:1.5px}.brand-name>span{display:none}.sidebar-project,.sidebar-tv,.sidebar-bottom{display:none}.main-nav{flex-direction:row;margin:0 0 0 auto;gap:3px}.nav-item{width:auto;white-space:nowrap;padding:10px;font-size:10px;gap:7px}.nav-item .icon{width:16px;height:16px}.nav-count{display:none}.topbar{height:62px}.project-heading h1{font-size:32px}.toast{left:50%}.tv-header-right .quiet-badge{display:none}.tv-view{padding:20px}.tv-grid{gap:15px}.tv-camera>header{padding:15px}.tv-camera>header small{font-size:10px}.tv-camera .camera-stats{padding:15px;gap:6px}.tv-camera .camera-stat strong{font-size:16px}.tv-camera .camera-stat span{font-size:9px}.tv-view>footer{font-size:9px}}
@media(max-width:650px){.sidebar{padding:14px 17px;flex-wrap:wrap;gap:15px}.brand-mark{font-size:29px}.brand-name{font-size:8px}.main-nav{width:100%;justify-content:space-between;gap:2px}.nav-item{flex:1;justify-content:center;padding:9px 3px;font-size:9px;gap:5px}.nav-item .icon{width:14px;height:14px}.topbar{height:58px;padding:0 17px}.breadcrumb{font-size:8px;gap:9px;letter-spacing:1px}.topbar-actions{gap:4px}.topbar-actions .button{padding:8px}.topbar-actions .button>span{display:none}main{padding:22px 17px 0}.project-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:18px}.project-heading h1{font-size:32px;margin-top:9px}.project-heading p{font-size:11px;max-width:300px;line-height:1.7}.project-totals{gap:25px}.project-totals>div{display:flex;align-items:baseline;gap:8px}.project-totals>div+div{padding-left:25px}.project-totals strong{font-size:19px}.project-totals span{font-size:9px}.demo-strip{font-size:9px;align-items:flex-start;padding:10px;line-height:1.7;margin-bottom:22px}.demo-strip>.icon{margin-top:2px}.demo-strip button{display:none}.section-toolbar{align-items:flex-start;flex-direction:column;gap:13px}.section-toolbar h2{font-size:20px}.toolbar-controls{width:100%;justify-content:space-between;gap:5px}.toolbar-controls .button{font-size:9px;gap:5px}.toolbar-controls .button .icon{width:13px}.segmented button{font-size:9px;padding:6px 8px}.camera-grid{grid-template-columns:1fr;gap:14px}.camera-image,.camera-grid.single .camera-image{aspect-ratio:2.2}.camera-card-header{padding:12px 14px}.camera-date{font-size:9px}.camera-stats{padding:13px 14px;gap:12px}.camera-stat strong{font-size:11px}.camera-stat span{font-size:9px}.camera-stat .icon{width:16px}.camera-card-footer{padding:9px 14px}.viewer-footnote{font-size:8px;line-height:1.6;flex-direction:column;gap:4px}.view-panel{margin-bottom:20px}.timeline-card{padding:17px 15px 15px}.timeline-header{align-items:flex-start;flex-direction:column;gap:12px}.timeline-header h2{font-size:19px}.date-navigator{align-self:flex-end}.date-picker{font-size:10px;padding:7px 10px}.timeline-track{margin-left:3px;margin-right:3px;height:115px}.timeline-ticks{font-size:8px}.timeline-bottom{flex-direction:column;align-items:flex-start;gap:9px;font-size:8px}.legend{gap:12px}.event-marker{height:25px;width:25px}.event-detail{flex-wrap:wrap;gap:8px}.event-detail .button{margin-left:0;font-size:10px}.event-detail>.icon-button{margin-left:auto}.page-footer{font-size:8px;flex-direction:column;gap:3px;padding:17px 0}.comparison-dates{flex-wrap:wrap;gap:10px}.comparison-dates label{flex:1;gap:5px}.comparison-dates select{font-size:9px;padding-left:5px;padding-right:16px}.comparison-dates label>span{font-size:7px}.comparison-zoom{width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:7px}.comparison-zoom .text-button{display:block}.comparison-stage{aspect-ratio:1.5}.comparison-footer{align-items:flex-start;flex-direction:column;gap:7px;padding:12px;font-size:9px}.image-label{font-size:8px;padding:5px 6px;bottom:10px}.before-label{left:8px}.after-label{right:8px}.comparison-handle>span{width:30px;height:30px}.media-grid,#video-grid{grid-template-columns:1fr;gap:15px}.media-card-thumb{aspect-ratio:2.2}.local-note{font-size:9px;align-items:flex-start}.local-note .icon{margin-top:3px}.form-row{grid-template-columns:1fr}.form-row .form-label{margin-bottom:12px}dialog{padding:20px}.dialog-heading h2{font-size:21px}.photo-dialog{width:100vw;height:100dvh;border-radius:0}.photo-dialog-header{height:106px;flex-wrap:wrap;padding:12px;gap:7px}.photo-tools{width:100%;justify-content:space-between;gap:2px}.photo-tools .text-button{font-size:9px}.photo-tools .icon-button{width:30px;height:30px}.photo-stage{height:calc(100% - 142px)}.photo-dialog-footer{font-size:9px}.media-dialog-gallery{grid-template-columns:1fr}.tv-view{padding:15px}.tv-view>header{gap:10px;margin-bottom:15px;align-items:flex-start}.tv-view h1{font-size:25px}.tv-view .eyebrow{font-size:8px}.tv-header-right{gap:6px;flex-wrap:wrap;justify-content:flex-end}.tv-header-right #tv-clock{font-size:17px}.tv-header-right .button-light{font-size:0;padding:7px}.tv-header-right .button-light .icon{width:15px}.tv-grid{grid-template-columns:1fr;gap:12px}.tv-camera>header{padding:9px 13px}.tv-camera>header strong{font-size:15px}.tv-camera>header small{font-size:9px}.tv-camera .camera-stats{padding:10px 13px}.tv-camera .camera-stat strong{font-size:13px}.tv-camera .camera-stat>.icon{width:16px}.tv-camera .camera-stat span{font-size:8px}.tv-view>footer{font-size:8px;padding-top:12px;flex-wrap:wrap;gap:5px}.tv-view>footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Version 2 : frise en tête, identité fournie et contenus sans texte éditorial. */
:root{--blue:#078bbf;--blue-pale:#eaf7fd}
.brand{padding:0;width:100%}.brand-logo{display:block;width:100%;height:auto;max-width:190px}.sidebar-project{margin-top:36px}.sidebar-project strong{font-size:13px}.sidebar-tv{padding-top:20px;padding-bottom:20px}.sidebar-tv>.icon{margin-bottom:2px}.sidebar-tv button{font-size:12px;color:#dce6f2}.sidebar-tv button:hover{color:#07c4fc}.nav-item.active{background:#2d435c}.project-dot,.sidebar-bottom .small-dot{background:#07c4fc}.topbar{height:89px}.client-header{display:flex;align-items:center;gap:24px}.client-header>img{width:130px;height:48px;object-fit:contain;background:#052971;padding:7px 9px;border-radius:5px}.client-header>div{border-left:1px solid var(--line);padding-left:24px}.client-header h1{font-size:21px;letter-spacing:-.6px;line-height:1.2;font-weight:600}.client-header>div>span{font-size:10px;color:var(--muted)}.prototype-label{font-size:10px;color:#8b97a5}.topbar-actions{gap:12px}main{padding-top:23px;padding-bottom:28px}
.timeline-card{padding:17px 21px 12px;margin-bottom:21px;box-shadow:none}.timeline-title{display:flex;align-items:center;gap:13px}.timeline-title h2{font-size:17px;margin:0;letter-spacing:-.3px}.timeline-title .quiet-badge{font-size:8px;padding:4px 7px;background:#f3f5f8}.date-picker{font-size:12px;background:white;font-weight:500;padding:7px 11px}.date-navigator .icon-button{width:30px;height:30px}.timeline-track{height:83px;margin:8px 14px 0}.timeline-rule,.timeline-progress{top:41px}.timeline-progress{background:#67c3e5}.timeline-track input[type=range]{top:30px}.timeline-events .timeline-event{top:0;transform:translateX(-50%)}.event-marker{height:24px;width:24px;color:var(--blue);background:#ebf8fd;border-color:#b7def0;box-shadow:0 0 0 4px white}.event-marker .icon{width:12px;height:12px}.timeline-event .event-stem{height:17px}.event-title{top:4px;left:32px;font-size:9px}.timeline-event:last-child .event-title{right:32px}.timeline-event.is-active .event-marker{background:var(--blue);color:white;border-color:var(--blue)}.timeline-event.photo.is-active .event-marker{background:var(--green);border-color:var(--green);color:white}.timeline-ticks{top:57px;font-size:9px}.timeline-ticks span:before{top:-10px;height:4px}.timeline-bottom{padding-top:9px;font-size:9px}.legend-dot.drone{background:var(--blue)}
.camera-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 15px}.view-selector{display:flex;gap:12px;align-items:center}.view-selector>span{font-size:11px;color:#8490a0}.view-selector .segmented{background:#e6ebf1;padding:4px;gap:3px}.view-selector .segmented button{font-size:12px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:500}.view-selector .segmented button>.icon{width:15px;height:15px}.view-selector .segmented button.selected{color:var(--blue);box-shadow:0 1px 4px #17263817}.view-selector .segmented button:not(.selected):hover{background:#eef2f6}.camera-toolbar .button{font-size:11px;padding:9px 12px}.camera-card{box-shadow:none}.camera-card-header{padding:14px 16px}.camera-title strong{font-size:14px}.camera-date{font-size:10px}.camera-image{aspect-ratio:2.55}.camera-overlay{justify-content:flex-end}.camera-overlay .image-chip{margin-right:auto;font-size:9px;letter-spacing:0}.camera-card-footer{padding:8px 15px;justify-content:flex-end}.camera-card-footer button{font-size:10px}.camera-card-footer button>.icon{width:14px;height:14px}.view-panel{margin-bottom:23px}.section-toolbar h2{font-size:20px}.comparison-footer>span{font-size:10px}
.inline-passage{background:white;border:1px solid var(--line);border-radius:10px;padding:18px;margin:0 0 27px;overflow:hidden}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px}.gallery-kicker{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--blue);font-weight:600;letter-spacing:1px}.gallery-kicker>.icon{width:14px;height:14px}.gallery-heading h2{font-size:19px;margin-top:4px;letter-spacing:-.4px}.gallery-heading>div>span:last-child{font-size:10px;color:#8391a3}.gallery-actions{display:flex;gap:8px;align-items:center}.gallery-actions .quiet-badge{font-size:9px;letter-spacing:0;color:#6b8298;background:#eff5fa}.gallery-player{aspect-ratio:2.15;background:#111d2a;position:relative;border-radius:7px;overflow:hidden}.gallery-player video{display:block;width:100%;height:100%;object-fit:contain;background:#111d2a}.gallery-image-button{position:relative;display:block;width:100%;height:100%;padding:0}.gallery-image-button img{display:block;width:100%;height:100%;object-fit:contain}.gallery-image-button .expand-chip{position:absolute;bottom:13px;right:13px}.gallery-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:#819cb9}.gallery-empty>.icon{width:38px;height:38px}.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 13px;border-bottom:1px solid #edf0f4;color:#728096;font-size:11px}.gallery-navigation{display:flex;align-items:center;gap:5px;flex-shrink:0}.gallery-navigation output{min-width:37px;text-align:center;font-size:10px;color:#8896a8}.gallery-navigation .icon-button{width:27px;height:27px}.gallery-navigation .icon-button .icon{width:16px}.gallery-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:15px 2px 3px;scrollbar-width:thin;scrollbar-color:#c7dce7 transparent}.gallery-thumbnail{border:1px solid #e0e6ec;padding:3px;background:white;border-radius:7px;flex:0 0 172px;text-align:left;overflow:hidden}.gallery-thumbnail.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.gallery-thumbnail:hover{border-color:#8ec6dd}.gallery-thumbnail-preview{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:2;background:#e7eef4;border-radius:4px;position:relative;overflow:hidden;color:#9db0c3}.gallery-thumbnail-preview>img{width:100%;height:100%;object-fit:cover}.gallery-thumbnail-preview>.icon{width:25px;height:25px}.thumbnail-kind{position:absolute;bottom:5px;right:5px;height:22px;width:22px;border-radius:4px;display:grid;place-items:center;background:#ffffffdc;color:#29445f}.thumbnail-kind>.icon{width:12px;height:12px}.gallery-thumbnail-caption{display:flex;align-items:center;gap:6px;padding:7px 4px 4px;font-size:9px;color:#718199}.gallery-thumbnail-caption strong{font-size:8px;color:var(--blue)}.gallery-thumbnail-caption>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-stats{border-top:1px solid #dfe5ec;margin-top:31px;padding-top:22px}.project-stats>.section-toolbar{margin-bottom:15px}.project-stats h2{font-size:18px;color:#52667d}.project-stats .quiet-badge{font-size:9px;letter-spacing:0}.stats-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:#eef1f5;border:1px solid #e3e8ef;border-radius:8px;padding:18px;margin-bottom:17px}.stats-summary>div+div{border-left:1px solid #d9e1e9;padding-left:18px}.stats-summary span{display:block;font-size:9px;color:#8997a7}.stats-summary strong{display:block;font-size:21px;font-weight:550;letter-spacing:-.5px;margin-top:5px;color:#50657f}.project-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.stats-camera{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.stats-camera>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 17px;border-bottom:1px solid #edf0f4}.stats-camera>header strong{font-size:13px;font-weight:550}.stats-camera>header span{font-size:9px;color:#9aa6b4}.stats-camera-overview{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;padding:17px}.stats-camera-overview>div{display:grid;grid-template-columns:18px 1fr;column-gap:7px;align-items:center}.stats-camera-overview .icon{width:16px;height:16px;color:#9cabbc;grid-row:1 / 3}.stats-camera-overview strong{font-size:12px;font-weight:550;color:#576f89}.stats-camera-overview span{font-size:8px;color:#98a5b5}.stats-camera dl{margin:0}.stats-camera dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;font-size:10px}.stats-camera dt{color:#8695a7}.stats-camera dd{margin:0;color:#637c95;text-align:right}.stats-last-photo{padding:0 17px 12px}.stats-details{border-top:1px solid #edf0f4}.stats-details summary{list-style:none;cursor:pointer;padding:11px 17px;font-size:10px;color:#6a8098;display:flex;align-items:center;justify-content:space-between;gap:12px}.stats-details summary:after{content:"+";font-size:14px;color:#93a5b9}.stats-details[open] summary:after{content:"−"}.stats-details summary::-webkit-details-marker{display:none}.stats-details summary>span{font-size:8px;margin-left:auto;color:#9eafc0}.stats-details dl{padding:0 17px 12px}.stats-details dd{color:#a7b3c0;font-size:9px}
@media(min-width:1700px){.timeline-card{margin-top:0}.camera-image{aspect-ratio:2.6}}
@media(max-width:1200px){.brand-logo{max-width:170px}.client-header{gap:18px}.client-header>div{padding-left:18px}.view-selector .segmented button{font-size:11px;padding:7px 10px}.camera-date{font-size:9px}.stats-camera-overview strong{font-size:11px}.stats-camera-overview{padding:14px;gap:5px}}
@media(max-width:900px){.brand{width:auto}.brand-logo{width:175px;max-width:none}.sidebar{gap:18px}.topbar{height:78px}.client-header>img{width:111px;height:36px}.client-header h1{font-size:19px}.prototype-label{display:none}.sidebar-project{display:none}.camera-image{aspect-ratio:2.25}.stats-summary strong{font-size:18px}}
@media(max-width:650px){.brand-logo{width:183px}.sidebar{gap:14px}.topbar{height:77px;padding:0 17px}.client-header{gap:11px}.client-header>img{width:77px;height:29px}.client-header>div{padding-left:11px}.client-header h1{font-size:17px;letter-spacing:-.4px}.client-header>div>span{font-size:8px}.topbar-actions{gap:2px}.topbar-actions .icon-button{width:28px;height:30px}.topbar-actions .icon{width:16px;height:16px}.topbar-actions .button{padding:7px}.topbar-actions #about-button{display:none}main{padding-top:17px}.timeline-card{padding:13px 12px 10px;margin-bottom:17px}.timeline-header{flex-direction:row;align-items:center;gap:6px}.timeline-title h2{font-size:14px}.timeline-title .quiet-badge{display:none}.date-navigator{align-self:auto;gap:0}.date-navigator .icon-button{width:23px;height:25px}.date-picker{padding:6px 7px;font-size:9px;gap:5px}.date-picker .icon{width:13px;height:13px}.timeline-track{margin:10px 7px 0;height:78px}.timeline-bottom{font-size:8px;flex-direction:row;align-items:flex-start;gap:8px}.timeline-bottom .legend{gap:10px;flex-shrink:0}.timeline-bottom #timeline-hint{font-size:7px;text-align:right;max-width:130px;line-height:1.5}.timeline-ticks{font-size:8px}.event-title{display:none}.camera-toolbar{align-items:flex-start;flex-wrap:wrap;gap:9px;margin-bottom:12px}.view-selector{flex-direction:column;align-items:flex-start;gap:6px;width:100%}.view-selector>span{font-size:9px}.view-selector .segmented{width:100%}.view-selector .segmented button{font-size:11px;padding:8px 9px;flex:1}.view-selector .segmented button>.icon{width:14px;height:14px}.camera-toolbar>.button{margin-left:auto;font-size:9px;padding:7px 9px}.camera-image,.camera-grid.single .camera-image{aspect-ratio:2.4}.camera-card-header{padding:12px 13px}.camera-title strong{font-size:13px}.camera-date{font-size:9px}.camera-card-footer{padding:7px 13px}.inline-passage{padding:13px;margin-bottom:22px}.gallery-heading{gap:10px;margin-bottom:12px}.gallery-heading h2{font-size:16px;line-height:1.4}.gallery-kicker{font-size:8px}.gallery-heading>div>span:last-child{font-size:9px}.gallery-actions{flex-direction:column-reverse;align-items:flex-end;gap:5px}.gallery-actions .quiet-badge{font-size:7px;max-width:100px;text-align:right;padding:4px 6px}.gallery-actions .icon-button{width:25px;height:25px}.gallery-player{aspect-ratio:1.6}.gallery-caption{font-size:9px;gap:7px;padding:7px 0 10px}.gallery-thumbnail{flex-basis:130px}.gallery-thumbnails{gap:9px;padding-top:12px}.gallery-thumbnail-caption{font-size:8px}.project-stats{margin-top:25px;padding-top:18px}.project-stats>.section-toolbar{flex-direction:column;gap:7px;align-items:flex-start}.project-stats h2{font-size:16px}.project-stats .quiet-badge{font-size:8px}.stats-summary{grid-template-columns:1fr 1fr;padding:13px;gap:15px}.stats-summary>div+div{padding-left:0;border-left:0}.stats-summary span{font-size:8px}.stats-summary strong{font-size:18px}.project-stats-grid{grid-template-columns:1fr}.stats-camera>header{padding:13px}.stats-camera-overview{padding:14px;gap:7px}.stats-camera-overview strong{font-size:11px}.stats-last-photo{padding-left:14px;padding-right:14px}.stats-camera dl>div{font-size:9px}.stats-camera-overview span{font-size:8px}}
.gallery-player{width:100%;max-height:440px}

/* Version 3 : zoom intégré, télémétrie compacte et pages de reportage. */
.camera-card-header{justify-content:flex-start;flex-wrap:wrap;gap:8px 13px;padding:12px 14px}.camera-card-header .camera-title{gap:7px}.camera-card-header .camera-title strong{font-size:13px}.camera-card-header .camera-date{font-size:9px;color:#8a97a7;white-space:nowrap}.camera-telemetry{display:flex;align-items:center;gap:12px;margin-left:auto;color:#71869c;font-size:10px}.camera-telemetry>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.camera-telemetry .icon{width:14px;height:14px;color:#9bafbf}.camera-telemetry sup{font-size:8px;color:#a4b4c2;margin-left:-3px}.camera-pan-stage{touch-action:none;cursor:grab}.camera-pan-stage.dragging{cursor:grabbing}.camera-pan-stage>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;transition:none;will-change:transform}.camera-pan-stage .camera-overlay{pointer-events:none;bottom:10px;left:10px;right:10px}.camera-zoom-tools{display:flex;align-items:center;gap:1px;background:#fffffff2;border:1px solid #ffffff85;border-radius:6px;box-shadow:0 2px 7px #10213421;pointer-events:auto;color:#3f617a;padding:3px;margin-left:auto}.camera-zoom-tools>button{width:26px;height:26px;display:grid;place-items:center;border-radius:4px;padding:0}.camera-zoom-tools>button:hover{background:#dfeff6}.camera-zoom-tools .icon{width:14px;height:14px}.camera-zoom-tools output{min-width:38px;font-size:9px;text-align:center}.camera-zoom-tools .camera-reset{font-size:9px;font-weight:600;border-left:1px solid #e1e8ef;border-radius:0}.camera-card-footer{justify-content:space-between;font-size:8px;color:#9cabbc}.camera-card-footer>button{font-size:10px}.gallery-caption{flex-wrap:wrap}.gallery-caption>#gallery-file-name{flex:1;min-width:150px}.gallery-caption>.button{font-size:10px;padding:6px 9px}.gallery-navigation{margin-left:auto}.media-options{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.media-options .media-filters{margin-bottom:0}.media-sort-label{display:flex;align-items:center;gap:8px;font-size:10px;color:#8393a5}.media-sort-label select{font-size:11px;min-width:245px}.media-entry{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.media-entry>.media-card{border:0;border-radius:0;box-shadow:none;width:100%;transform:none}.media-entry:hover{box-shadow:0 5px 15px #17263807}.media-entry>.media-card:hover{transform:none;box-shadow:none}.media-entry .media-card-content small{margin-top:6px;font-size:10px}.media-entry-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf1f4;padding:10px 15px;font-size:10px;color:#8d9bad}.media-entry-actions .text-button{font-size:11px}.video-actions{display:flex;justify-content:flex-end;padding-top:14px}.passage-page>#passage-back{margin:0 0 20px;padding-left:0}.previous-arrow{transform:rotate(180deg)}.passage-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.passage-page-heading h2{font-size:27px;margin:5px 0 7px;letter-spacing:-.8px}.passage-page-heading p{font-size:11px;color:#8796a8}.passage-page-heading .button{white-space:nowrap;font-size:11px}.passage-source-note{font-size:10px;color:#869ab0;border:1px solid #e2eaf2;background:#f0f5fa;padding:9px 12px;border-radius:6px;margin-bottom:25px}.shooting-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.shooting-heading h3{font-size:15px;font-weight:550;letter-spacing:-.2px}.shooting-heading>span{font-size:10px;color:#93a1b1}.passage-file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.shooting-file{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}.shooting-preview{display:flex;align-items:center;justify-content:center;padding:0;position:relative;width:100%;aspect-ratio:1.65;background:#e7eef5;color:#9aadbf}.shooting-preview>img{width:100%;height:100%;object-fit:cover}.shooting-preview>.icon{width:38px;height:38px}.shooting-file-info{padding:13px;display:grid;gap:5px}.shooting-file-info strong{font-size:12px;font-weight:550;overflow-wrap:anywhere}.shooting-file-info>span{font-size:10px;color:#93a1b3}.shooting-file-info>.button{margin-top:9px;justify-self:start;font-size:10px;padding:7px 9px}.passage-page-player{background:white;border:1px solid var(--line);padding:14px;border-radius:9px;margin-bottom:25px}.passage-page-player>video{width:100%;height:min(440px,45vw);object-fit:contain;display:block;background:#142130;border-radius:6px}.passage-page-player>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;font-size:12px}.passage-page-player>div>strong{font-weight:500}
@media(max-width:1200px){.camera-telemetry{gap:9px;font-size:9px}.camera-card-header .camera-date{font-size:8px}.camera-card-header{gap:6px 9px;padding:11px}.passage-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.camera-card-header{padding:11px 12px;gap:8px}.camera-card-header .camera-title{flex:1}.camera-card-header .camera-date{font-size:9px}.camera-telemetry{width:100%;margin-left:0;justify-content:flex-start;gap:20px;font-size:10px;padding-left:1px}.camera-telemetry .icon{width:14px}.camera-zoom-tools>button{width:27px;height:27px}.camera-zoom-tools output{font-size:9px;min-width:35px}.camera-card-footer{font-size:7px;padding:7px 12px}.camera-card-footer>button{font-size:9px}.gallery-caption>#gallery-file-name{flex-basis:100%;font-size:10px}.gallery-caption>.button{font-size:9px}.media-options{flex-direction:column;align-items:flex-start;gap:13px;margin-bottom:17px}.media-sort-label{width:100%;justify-content:space-between;font-size:9px}.media-sort-label select{min-width:0;max-width:250px;font-size:10px}.media-entry-actions{font-size:9px}.media-entry-actions .text-button{font-size:10px}.passage-page-heading{flex-direction:column;align-items:flex-start;gap:14px}.passage-page-heading h2{font-size:23px}.passage-page-heading p{font-size:10px;line-height:1.8}.passage-page-heading .button{font-size:10px}.passage-file-grid{grid-template-columns:1fr}.shooting-preview{aspect-ratio:1.9}.passage-source-note{font-size:9px;line-height:1.6;margin-bottom:20px}.passage-page-player{padding:10px}.passage-page-player>video{height:210px}.passage-page-player>div{flex-direction:column;align-items:flex-start;gap:8px;font-size:11px}}

/* Version 4 : panoramas, deux frises, visionneuse et aperçus animés. */
:root{--surface:#fff;--raised:#edf2f7}
.camera-grid,.camera-grid.single{grid-template-columns:1fr;gap:24px}
.camera-grid .camera-image,.camera-grid.single .camera-image{aspect-ratio:1920 / 692}
.camera-toolbar{justify-content:flex-end}
.camera-card-header .camera-title strong{font-size:15px}
.camera-card-header .camera-date{font-size:11px}
.camera-telemetry{font-size:11px}
.camera-card-footer{padding:10px 15px;font-size:10px}
.camera-card-footer .camera-fullscreen{font-size:12px;font-weight:550;gap:8px;padding:7px 11px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--surface)}
.camera-card-footer .camera-fullscreen:hover{background:var(--raised)}
.camera-card-footer .camera-fullscreen .icon{width:16px;height:16px}
.camera-zoom-tools{padding:4px;gap:3px}
.camera-zoom-tools>button{width:30px;height:30px}
.camera-zoom-tools output{font-size:11px;min-width:44px}
.comparison-timelines{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.comparison-date-slider{display:block;padding:16px 20px;border:1px solid var(--line);border-radius:9px;background:var(--surface);min-width:0}
.comparison-date-slider>span:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}
.comparison-date-slider strong{font-size:12px;color:var(--ink);font-weight:550}
.comparison-date-slider input{width:100%;margin:16px 0 9px;height:22px;accent-color:var(--blue);cursor:ew-resize}
.comparison-date-ticks{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}
.timeline-card.is-compare .date-navigator,.timeline-card.is-compare #timeline-slider{display:none}
.timeline-card.is-compare .timeline-progress{display:none}
.timeline-card.is-compare .timeline-track{height:78px}
.timeline-card.is-compare #timeline-hint{display:none}
.media-open-hint{display:flex;align-items:center;gap:6px;color:var(--blue);font-size:11px;margin-top:14px}
.media-open-hint .icon{width:14px;height:14px}
.media-entry-actions{flex-wrap:wrap}
.media-entry-actions .text-button{white-space:nowrap}
.media-preview{display:block;width:100%;height:100%;position:relative;overflow:hidden;background:#162537}
.media-preview>video,.media-preview>img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.preview-kind{display:flex;align-items:center;gap:4px;position:absolute;left:7px;bottom:9px;color:white;background:#132034db;border:1px solid #ffffff21;border-radius:4px;font-size:8px;letter-spacing:.5px;padding:3px 5px;pointer-events:none}
.preview-kind>.icon{width:12px;height:12px}
.photo-preview .preview-kind{background:#153d31db}
.preview-time{position:absolute;right:7px;bottom:9px;color:white;background:#132034db;border-radius:3px;font-size:9px;padding:2px 5px;pointer-events:none}
.preview-time:empty{display:none}
.preview-progress{position:absolute;bottom:0;left:0;height:3px;width:0;background:#0bc4f6;pointer-events:none}
.preview-hover-hint{position:absolute;bottom:37px;left:7px;color:#fff;background:#132034d9;padding:3px 6px;border-radius:4px;font-size:9px;opacity:0;pointer-events:none;transition:opacity .15s}
.video-preview.is-scrubbing .preview-hover-hint{opacity:1}
.gallery-thumbnail-preview{display:block;aspect-ratio:1.8}
.gallery-thumbnail .preview-kind{font-size:7px;padding:2px 4px;left:4px;bottom:7px;gap:3px}
.gallery-thumbnail .preview-time{font-size:8px;right:4px;bottom:7px}
.gallery-thumbnail .preview-kind>.icon{width:10px;height:10px}
.gallery-thumbnail .preview-hover-hint{font-size:8px;bottom:30px;left:4px;padding:2px 4px}
.reportage-dialog{width:min(1120px,calc(100vw - 32px));max-height:94dvh;padding:21px}
.reportage-dialog .dialog-heading{margin-bottom:15px}
.reportage-dialog .dialog-heading h2{font-size:20px;overflow-wrap:anywhere}
.reportage-stage{height:clamp(220px,48dvh,560px);position:relative;border-radius:8px;overflow:hidden;background:#101a28;touch-action:pan-y}
.reportage-stage>video,.reportage-photo-pan{width:100%;height:100%;display:block}
.reportage-stage>video{object-fit:contain}
.reportage-photo-pan{overflow:hidden;cursor:grab;touch-action:pan-y}
.reportage-photo-pan img{width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none}
.reportage-photo-pan.dragging{cursor:grabbing;touch-action:none}
.reportage-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.reportage-controls .gallery-navigation{margin-left:0}
.reportage-controls .button{font-size:11px}
.reportage-zoom{display:flex;align-items:center;gap:3px}
.reportage-zoom output{font-size:11px;min-width:40px;text-align:center}
.reportage-dialog .gallery-thumbnails{padding-top:14px}
.theme-toggle{font-size:11px}
:root[data-theme="dark"]{--ink:#e5edf7;--muted:#a5b3c6;--paper:#0e1723;--surface:#182535;--raised:#223348;--line:#304155;--blue:#5ac8ed;--blue-pale:#173e51;color-scheme:dark}
[data-theme="dark"] .sidebar{background:#111d2c}
[data-theme="dark"] :is(.topbar,.timeline-card,.camera-card,.comparison-card,.media-entry,.media-card,.shooting-file,.inline-passage,dialog,.passage-page-player,.gallery-thumbnail,.date-picker,.button-light){background:var(--surface);border-color:var(--line)}
[data-theme="dark"] :is(select,input:not([type="range"]):not([type="file"])){background:var(--surface);color:var(--ink);border-color:var(--line);color-scheme:dark}
[data-theme="dark"] :is(.icon-button:hover,.button-light:hover,.segmented,.quiet-badge,.timeline-title .quiet-badge,.passage-source-note){background:var(--raised);color:var(--muted)}
[data-theme="dark"] .segmented button.selected{background:#31465d;color:var(--ink)}
[data-theme="dark"] :is(.camera-card-footer,.comparison-footer,.gallery-caption,.timeline-bottom,.media-entry-actions){border-color:var(--line);color:var(--muted)}
[data-theme="dark"] :is(.camera-date,.camera-card-header .camera-date,.camera-telemetry,.camera-telemetry .icon,.camera-telemetry sup,.media-card-content small,.shooting-file-info>span,.gallery-thumbnail-caption,.gallery-caption,.passage-page-heading p,.gallery-heading>div>span:last-child,.client-header>div>span,.comparison-dates label>span,.eyebrow,.comparison-zoom output,.timeline-bottom,.event-title,.timeline-ticks,.prototype-label,.local-note,.media-sort-label){color:var(--muted)}
[data-theme="dark"] .timeline-rule{background:#354860}
[data-theme="dark"] .event-marker{box-shadow:0 0 0 4px var(--surface);background:#213d50;color:#72d6f9;border-color:#44778d}
[data-theme="dark"] .timeline-event.photo .event-marker{background:#193c33;color:#64d8b5;border-color:#3d7f6b}
[data-theme="dark"] .timeline-event.is-active .event-marker{background:#256e8c;color:white}
[data-theme="dark"] .timeline-event.photo.is-active .event-marker{background:#25775e;color:white}
[data-theme="dark"] .timeline-card .date-picker{background:var(--surface)}
[data-theme="dark"] .camera-number{border-color:var(--line);color:var(--muted)}
[data-theme="dark"] .camera-zoom-tools{background:#182535ed;border-color:#607089;color:var(--ink)}
[data-theme="dark"] .camera-zoom-tools>button:hover{background:#31465d}
[data-theme="dark"] .gallery-actions .quiet-badge{background:var(--raised);color:var(--muted)}
[data-theme="dark"] .button-primary{background:#087ea9;border-color:#087ea9;color:white}
[data-theme="dark"] .button-primary:hover{background:#096b90}
[data-theme="dark"] .gallery-thumbnail{border-color:var(--line)}
[data-theme="dark"] .gallery-thumbnail.selected{border-color:var(--blue)}
[data-theme="dark"] .form-label>input,[data-theme="dark"] .upload-zone{background:var(--raised);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .tv-view{color:#e5edf7}
@media(max-width:900px){.camera-card-footer{font-size:9px}.comparison-dates{flex-wrap:wrap}.comparison-zoom{margin-left:0}.comparison-date-slider{padding:14px}.comparison-date-slider>span:first-child{flex-wrap:wrap;gap:4px}.comparison-date-slider strong{font-size:11px}}
@media(max-width:650px){.camera-grid{gap:18px}.camera-card-header .camera-date{font-size:9px}.camera-card-header .camera-title strong{font-size:13px}.camera-telemetry{font-size:10px}.camera-card-footer{font-size:8px;gap:8px}.camera-card-footer .camera-fullscreen{font-size:10px;white-space:nowrap;padding:7px}.camera-zoom-tools>button{width:28px;height:28px}.camera-zoom-tools output{font-size:10px;min-width:38px}.theme-toggle{padding:7px!important}.theme-toggle>span{display:none}.topbar-actions{gap:5px}.comparison-timelines{gap:10px}.comparison-date-slider{padding:10px}.comparison-date-slider>span:first-child{font-size:11px}.comparison-date-slider strong{font-size:9px}.comparison-date-ticks{font-size:7px;gap:3px}.reportage-dialog{padding:12px;width:calc(100vw - 16px);max-height:96dvh}.reportage-dialog .dialog-heading h2{font-size:16px}.reportage-stage{height:38dvh;min-height:200px}.reportage-controls{gap:10px}.reportage-controls .button{font-size:10px;padding:7px}.reportage-controls .gallery-navigation{gap:3px}.reportage-controls .gallery-navigation output{min-width:34px}.reportage-controls .reportage-zoom{order:3}.reportage-dialog .gallery-thumbnail{flex-basis:135px}.media-entry-actions .text-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.preview-hover-hint{transition:none}}
.camera-pan-stage{touch-action:pan-y}
.camera-pan-stage.is-zoomed,.reportage-photo-pan.is-zoomed{touch-action:none}

/* Version 5 : deux caméras, frise commune et aperçu de tout le reportage. */
:root{--date-left:#078bbf;--date-right:#d68421}
:root[data-theme="dark"]{--date-left:#5ac8ed;--date-right:#f4b05b}
.camera-grid,.camera-grid.single{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.camera-card-header .camera-title strong{font-size:13px}
.camera-card-header .camera-date{font-size:9px}
.camera-telemetry{font-size:10px;gap:10px}
.camera-card-footer{font-size:8px;gap:8px}
.camera-card-footer .camera-fullscreen{font-size:10px;padding:6px 8px}
.camera-pan-stage .camera-zoom-tools{padding:3px;gap:1px}
.camera-pan-stage .camera-zoom-tools>button{width:26px;height:26px}
.camera-pan-stage .camera-zoom-tools output{font-size:10px;min-width:39px}
.compare-date-labels{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px}
.compare-date-chip{display:inline-flex;align-items:center;gap:9px;font-size:11px;padding:6px 9px;border-radius:6px;border:1px solid var(--line);background:var(--surface)}
.compare-date-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.compare-date-chip strong{color:var(--ink);font-weight:550}
.left-date{color:var(--date-left)}.right-date{color:var(--date-right)}
.dual-selection{position:absolute;top:24px;height:4px;border-radius:3px;z-index:1;pointer-events:none}
.dual-handles{position:absolute;inset:0;pointer-events:none;z-index:4}
.date-handle{position:absolute;top:24px;width:18px;height:28px;border-radius:5px;transform:translate(-50%,-50%);border:3px solid var(--surface);box-shadow:0 0 0 1px currentColor;pointer-events:auto;touch-action:none;cursor:ew-resize;padding:0}
.date-handle:before{content:"";position:absolute;inset:-8px}
.before-handle{color:var(--date-left);background:var(--date-left)}
.after-handle{color:var(--date-right);background:var(--date-right)}
.date-handle:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.dual-handles.is-overlap .before-handle{top:10px}
.dual-handles.is-overlap .after-handle{top:38px}
.timeline-card.is-compare .timeline-track{height:79px;margin-top:12px;touch-action:pan-y;user-select:none}
.timeline-card.is-compare .timeline-rule{top:24px}
.timeline-card.is-compare .timeline-ticks{top:60px;display:block;height:12px}
.timeline-card.is-compare .timeline-ticks>span{position:absolute;white-space:nowrap;transform:translateX(-50%)}
.timeline-card.is-compare .timeline-ticks>span:first-child{transform:none}
.timeline-card.is-compare .timeline-ticks>span:last-child{transform:translateX(-100%)}
.timeline-card.is-compare .timeline-bottom,.timeline-card.is-compare .timeline-events{display:none}
#compare-view .comparison-dates{justify-content:space-between}
#compare-view .comparison-dates .compact-label{font-size:11px;color:var(--muted)}
.collection-preview,.collection-frames,.collection-frame{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.collection-counter{position:absolute;right:9px;top:9px;border:1px solid #ffffff30;background:#132034db;color:white;font-size:10px;padding:3px 6px;border-radius:4px;pointer-events:none}
.collection-segments{position:absolute;bottom:3px;left:5px;right:5px;display:flex;gap:3px;pointer-events:none}
.collection-segments>i{height:3px;border-radius:2px;flex:1;background:#ffffff70}
.collection-segments>i.selected{background:#13c9f5}
.collection-hint{position:absolute;bottom:37px;left:7px;color:white;background:#132034da;font-size:9px;padding:3px 6px;border-radius:4px;opacity:0;pointer-events:none}
.collection-preview.is-browsing .collection-hint{opacity:1}
.collection-preview .preview-hover-hint{display:none}
.collection-preview .preview-progress{bottom:8px;height:2px}
.collection-preview .preview-kind,.collection-preview .preview-time{bottom:14px}
@media(max-width:650px){.camera-grid,.camera-grid.single{grid-template-columns:1fr;gap:17px}.camera-card-footer{font-size:8px}.compare-date-labels{gap:8px}.compare-date-chip{flex:1;gap:5px;font-size:9px;padding:6px}.compare-date-chip strong{font-size:9px}.compare-date-chip:before{width:5px;height:5px;flex-shrink:0}.date-handle{width:17px}.timeline-card.is-compare .timeline-track{margin-left:10px;margin-right:10px}.timeline-card.is-compare .timeline-ticks{font-size:8px}}
[data-theme="dark"] .expand-chip{background:#223348e6;color:var(--ink);border:1px solid var(--line)}

/* Version 6 : navigation simplifiée et calendriers de comparaison. */
.sidebar-section-title{margin:36px 8px 0}
.sidebar .main-nav{margin-top:14px}
.compare-date-chip{position:relative;cursor:pointer;padding-right:10px}
.compare-date-chip>.icon{width:15px;height:15px;margin-left:3px}
.compare-date-chip:hover{background:var(--raised)}
.compare-date-chip:focus-within{outline:2px solid currentColor;outline-offset:3px}
.compare-calendar{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.compare-calendar::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
@media(max-width:900px){.sidebar-section-title{display:none}.sidebar .main-nav{margin-top:0}}
@media(max-width:650px){.compare-date-chip{padding:7px 6px;gap:4px}.compare-date-chip>.icon{width:12px;height:12px;margin-left:auto}}
/* Champ visible : le calendrier natif reste lisible, y compris dans WebKit. */
.compare-date-chip{cursor:default;padding:5px 7px}
.compare-date-chip>.icon{display:none}
.compare-calendar{position:static;inset:auto;opacity:1;width:142px;height:30px;max-width:100%;border:1px solid var(--line);border-radius:5px;padding:4px 7px;font-size:11px;color:var(--ink);background:var(--surface);cursor:pointer}
.compare-calendar::-webkit-calendar-picker-indicator{position:static;inset:auto;width:14px;height:14px;cursor:pointer}
@media(max-width:650px){.compare-date-chip{flex-wrap:wrap;justify-content:flex-start;padding:7px;gap:4px}.compare-calendar{flex-basis:100%;width:100%;min-width:0;height:30px;font-size:10px;padding:4px}}

/* Version connectée : sélection quotidienne et horaire. */
.connection-status{font-size:11px;color:var(--muted);margin:0 0 15px;min-height:16px}
.connection-warning{color:#be632e;background:var(--surface);padding:12px;border:1px solid #d9a278;border-radius:6px;line-height:1.7}
.capture-time{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.capture-time input,.compare-time{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:4px 6px;font:inherit}
.timeline-card.is-compare .capture-time{display:none}
.timeline-bottom{flex-wrap:wrap;gap:12px}
.compare-date-chip{flex-wrap:wrap}.compare-time{max-width:115px;font-size:11px;height:30px}
.capture-select-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}
.capture-select-label select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:5px 7px;font-size:11px;max-width:175px}
.camera-pan-stage img{transition:transform .08s ease-out}
@media(max-width:650px){.timeline-header{flex-wrap:wrap;gap:12px}.timeline-title{flex-wrap:wrap}.compare-date-labels{gap:8px}.compare-date-chip{min-width:0}.compare-time{width:100%;max-width:100%}.capture-time{width:100%}}

/* Version 8 : panoramas empilés et navigation capture par capture. */
.camera-grid,.camera-grid.single{grid-template-columns:1fr;gap:26px}
.camera-grid .camera-image,.camera-grid.single .camera-image{aspect-ratio:1920 / 692}
.camera-card-header{padding:15px 18px;gap:15px}.camera-card-header .camera-title strong{font-size:18px}.camera-card-header .camera-date{font-size:12px}.camera-telemetry{font-size:12px}
.camera-player{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px;background:#26323b;color:#fff;padding:9px 14px 6px;border-top:1px solid #ffffff18}
.player-controls{display:flex;align-items:center;gap:3px}.player-controls button{display:grid;place-items:center;width:34px;height:32px;padding:6px;border-radius:5px;color:#f1f5f7;background:transparent}
.player-controls button:hover{background:#ffffff1a}.player-controls button:disabled{opacity:.28;cursor:default}.player-controls button:focus-visible{outline:2px solid #7ed7f5;outline-offset:1px}
.player-controls .icon{width:17px;height:17px}.player-controls [data-photo-nav="previous"] .icon{transform:rotate(180deg)}
.player-date-time{display:flex;justify-content:center;align-items:center;gap:8px;min-width:0}
.player-date-time input,.player-date-time select{font:inherit;font-size:13px;font-weight:600;color:#fff;background:#ffffff09;border:1px solid #ffffff15;border-radius:5px;padding:6px 8px;min-width:0;color-scheme:dark;cursor:pointer}
.player-date-time input{width:145px}.player-date-time select{max-width:115px}.player-date-time option{background:#26323b;color:#fff}
.player-scrubber{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:5px}.player-scrubber input{flex:1;min-width:0;height:18px;cursor:ew-resize;accent-color:#79c8e7}.player-scrubber output{font-size:10px;color:#c5d0d6;min-width:48px;text-align:right;font-variant-numeric:tabular-nums}
.camera-card-footer{padding:10px 18px}.camera-pan-stage .camera-overlay{top:12px;bottom:auto}.camera-date{font-variant-numeric:tabular-nums}
.compare-date-group{display:flex;align-items:center;gap:7px}.compare-frame-controls{display:flex;gap:2px}.compare-frame-controls button{display:grid;place-items:center;width:28px;height:30px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font-size:20px;padding:3px}.compare-frame-controls button:hover{background:var(--raised)}.compare-frame-controls button:disabled{opacity:.3}.compare-frame-controls .icon{width:15px;height:15px}
.compare-calendar{width:140px}.compare-time{width:93px;max-width:93px}
@media(max-width:1100px){.compare-date-group{flex-wrap:wrap}.compare-date-labels{align-items:flex-start}.compare-date-chip{gap:5px}}
@media(max-width:650px){.camera-card-header{padding:12px}.camera-card-header .camera-title strong{font-size:16px}.camera-card-header .camera-date{font-size:10px}.camera-player{padding:8px;column-gap:4px}.player-controls{gap:0}.player-controls button{width:26px;height:30px;padding:5px}.player-date-time{gap:4px}.player-date-time input{width:115px}.player-date-time input,.player-date-time select{font-size:10px;padding:5px 3px}.player-date-time select{width:66px}.player-scrubber{gap:6px}.camera-card-footer>span{display:none}.camera-card-footer{justify-content:flex-end}.compare-date-group{flex:1;min-width:0;gap:5px}.compare-date-chip{flex:1;min-width:0}.compare-date-labels{gap:10px}.compare-time{width:100%;max-width:100%}.compare-frame-controls{width:100%;justify-content:flex-start}.player-controls .icon{width:14px;height:14px}}
@media(max-width:380px){.camera-player{column-gap:2px;padding:6px}.player-controls button{width:23px}.player-date-time input{width:104px}.player-date-time select{width:62px}}

/* Version 9 : distinguer la journée du projet et l'heure dans la journée. */
.timeline-track,.timeline-card.is-compare .timeline-track{height:92px}
.timeline-ticks,.timeline-card.is-compare .timeline-ticks{top:57px;height:25px;display:block;z-index:4}
.timeline-card.is-compare .timeline-ticks{top:47px}
.timeline-date-tick{position:absolute;transform:translateX(-50%);padding:5px 6px;border:1px solid transparent;border-radius:5px;white-space:nowrap;font-size:9px;color:var(--muted);background:transparent;line-height:1.1;cursor:pointer}
.timeline-date-tick:first-child{transform:none;padding-left:0}.timeline-date-tick:last-child{transform:translateX(-100%);padding-right:0}
.timeline-date-tick:hover,.timeline-date-tick:focus-visible,.timeline-date-tick.is-selected{color:var(--blue);background:var(--raised);border-color:var(--line)}
.timeline-date-tick:before{content:"";position:absolute;top:-10px;left:50%;width:1px;height:7px;background:var(--muted);opacity:.6}
.timeline-date-tick:first-child:before{left:0}.timeline-date-tick:last-child:before{left:auto;right:0}
.timeline-day-marks{position:absolute;top:42px;left:0;right:0;height:6px;pointer-events:none}.timeline-day-marks i{position:absolute;display:block;width:1px;height:3px;top:3px;background:var(--muted);opacity:.15}.timeline-day-marks i.has-capture{height:5px;opacity:.4}
.timeline-card.is-compare .timeline-day-marks{top:25px}
.player-date-time{gap:16px}.player-long-date{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;color:#f5f7fa;white-space:nowrap;font-size:13px;font-weight:550;min-width:0}
.player-long-date:hover,.player-long-date:focus-within{background:#ffffff12}.player-long-date .icon{width:15px;height:15px;color:#c5d6e1;flex-shrink:0}
.player-date-time .player-native-date{position:absolute;inset:0;width:100%;height:100%;opacity:0;padding:0;border:0;cursor:pointer}
.player-native-date::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.player-hour-choice{display:flex;align-items:center;gap:8px;flex-shrink:0}.player-hour-choice>span{font-size:10px;color:#b5c3ce;font-weight:450}.player-hour-choice select{font-size:12px;border-radius:6px;background:#ffffff0c;min-width:80px}
.camera-player{padding:11px 18px 15px;row-gap:6px;background:#24313d}
.player-scrubber{display:block;margin-top:5px;min-width:0}
.daylight-heading{font-size:10px;font-weight:550;color:#c5d1dd;display:flex;justify-content:space-between;align-items:center;gap:10px}
.daylight-heading>span{font-size:9px;color:#8fa5b7;font-weight:400}
.daylight-control{position:relative;height:52px;margin-top:30px;--day-progress:0%}
.daylight-rail{position:absolute;left:10px;right:10px;top:9px;height:6px;border-radius:6px;background:#40515f;overflow:hidden}
.daylight-fill{position:absolute;inset:0;background:linear-gradient(90deg,#75c6d4 0%,#c3dfcc 30%,#ead494 55%,#dfb39e 78%,#b3a9d6 100%);clip-path:inset(0 calc(100% - var(--day-progress)) 0 0);transition:clip-path .15s ease-out}
.player-scrubber input[type=range]{appearance:none;-webkit-appearance:none;position:absolute;inset:0 auto auto 0;display:block;width:100%;height:25px;margin:0;border:0;outline:0;padding:0;background:transparent;cursor:ew-resize;z-index:2;touch-action:pan-y}
.player-scrubber input[type=range]::-webkit-slider-runnable-track{height:6px;background:transparent;border-radius:6px}
.player-scrubber input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;margin-top:-7px;border:4px solid #24313d;background:#e5dbc4;box-shadow:0 0 0 1px #cbdbe780,0 0 0 0 #9de8ff00;transition:box-shadow .18s,background .18s}
.player-scrubber input[type=range]::-moz-range-track{height:6px;background:transparent;border:0}
.player-scrubber input[type=range]::-moz-range-thumb{width:12px;height:12px;border:4px solid #24313d;border-radius:50%;background:#e5dbc4;box-shadow:0 0 0 1px #cbdbe780}
.player-scrubber input[type=range]:hover::-webkit-slider-thumb,.player-scrubber input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px #dce8f1,0 0 0 5px #9de8ff18}
.player-scrubber input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 0 1px #dce8f1,0 0 0 7px #9de8ff22;background:#fff}
.daylight-bubble{position:absolute;top:-28px;transform:translateX(-50%);display:grid;place-items:center;min-width:54px;height:25px;padding:3px 8px!important;background:#eef2f4;border:1px solid #ffffff30;border-radius:6px;color:#23343f!important;font-size:12px!important;font-weight:650;font-variant-numeric:tabular-nums;line-height:1;box-shadow:0 3px 9px #07111d25;pointer-events:none;transition:left .15s ease-out;z-index:3}
.daylight-bubble:after{content:"";position:absolute;top:100%;left:calc(50% + var(--bubble-pointer,0px));transform:translateX(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #eef2f4}
.daylight-control:has(input:active) .daylight-bubble{transition:none}.daylight-control:has(input:active) .daylight-fill{transition:none}
.daylight-ticks{position:absolute;top:28px;left:10px;right:10px;height:20px}
.daylight-ticks button{position:absolute;transform:translateX(-50%);font-size:10px;font-weight:400;color:#a9bdcd;padding:3px 0;background:transparent;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:pointer}
.daylight-ticks button:first-child{transform:none}.daylight-ticks button:last-child{transform:translateX(-100%)}
.daylight-ticks button:before{content:"";position:absolute;top:-5px;left:50%;width:1px;height:4px;background:#8198aa80}.daylight-ticks button:first-child:before{left:0}.daylight-ticks button:last-child:before{left:auto;right:0}
.daylight-ticks button:hover,.daylight-ticks button:focus-visible{color:white}.daylight-ticks .is-noon{color:#e8d89e;font-weight:600}
.daylight-ticks button:only-child,.timeline-date-tick:only-child{transform:none}
.daylight-empty{display:block;color:#a9bdcd;font-size:10px;margin-top:4px}.daylight-empty[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.daylight-bubble,.daylight-fill,.player-scrubber input[type=range]::-webkit-slider-thumb{transition:none}}
@media(max-width:650px){.camera-player{padding:10px 12px 12px;column-gap:6px;row-gap:6px}.player-date-time{display:contents}.player-long-date{grid-column:1/-1;grid-row:1;font-size:12px;padding:5px 0;justify-self:center;max-width:100%}.player-controls{grid-row:2}.player-controls:last-of-type{grid-column:3}.player-hour-choice{grid-row:2;grid-column:2;justify-self:center;gap:7px}.player-hour-choice select{width:79px;font-size:12px}.player-hour-choice>span{font-size:10px}.player-long-date input{width:100%}.player-scrubber{grid-row:3}.daylight-heading{font-size:10px}.daylight-heading>span{display:none}.daylight-control{margin-top:30px}.daylight-bubble{font-size:11px!important;min-width:50px}.timeline-date-tick{font-size:8px;padding:5px 2px}.timeline-track{margin-left:5px;margin-right:5px}}

/* Version 10 : publications persistantes, corbeille et contrôles alignés. */
.compare-frame-controls{align-items:center}.compare-frame-controls button{width:32px;height:32px;padding:0;line-height:1;display:grid;place-items:center}.compare-frame-controls .icon{display:block;width:16px;height:16px}
.media-entry-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.delete-button{color:#ae4c50!important}.delete-button:hover{color:#d55960!important}
.library-empty{grid-column:1/-1;padding:28px;font-size:13px;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:8px;line-height:1.7}
.upload-progress{margin:16px 0}.upload-progress[hidden]{display:none}.upload-progress progress{width:100%;height:10px;accent-color:var(--blue)}.upload-progress p{font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;margin-top:8px}
.form-actions{flex-wrap:wrap}.form-actions [hidden]{display:none}
.trash-entry{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:15px 0}.trash-entry>div{display:grid;gap:7px}.trash-entry strong{font-size:13px}.trash-entry span{font-size:11px;color:var(--muted)}.trash-entry .button{font-size:11px}
#toast button{color:#b8e6fb;text-decoration:underline;margin-left:9px;background:transparent;font:inherit}
.media-options>#trash-button{font-size:11px;margin-right:auto}.passage-page-heading{flex-wrap:wrap}.passage-page-heading>div{flex:1;min-width:230px}
@media(max-width:650px){.media-options>#trash-button{align-self:flex-end}.media-entry-buttons{gap:12px}.passage-page-heading>div{width:100%;min-width:0}.compare-frame-controls button{width:30px;height:30px}}

/* v11 : qualité originale, tri stable et corbeille */
.camera-pan-stage .camera-zoom-tools>.camera-quality{width:42px;font-size:11px;font-weight:650;border:1px solid #b5c5d1;margin:0 3px;color:#294b67}
.camera-pan-stage .camera-zoom-tools>.camera-quality[aria-pressed="true"]{background:#007fb0;color:white;border-color:#007fb0}
.camera-quality[aria-busy="true"]{opacity:.7}
.media-sort{position:relative;display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}
.media-sort>button{min-width:260px;justify-content:space-between;font-size:11px}
.media-sort>button .icon{transform:rotate(90deg);width:14px;height:14px}
.media-sort-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:25;min-width:270px;padding:5px;border:1px solid var(--line);background:var(--surface,#fff);border-radius:9px;box-shadow:0 10px 30px #13253726}
.media-sort-menu[hidden]{display:none}
.media-sort-menu>button{display:block;width:100%;padding:11px 12px;border-radius:5px;text-align:left;white-space:nowrap;font-size:12px;color:var(--ink)}
.media-sort-menu>button:hover,.media-sort-menu>button:focus-visible{background:#eaf3f8;outline:2px solid #007fb0;outline-offset:-2px}
.media-sort-menu>button[aria-pressed="true"]{background:#e5f3fa;color:#00769f;font-weight:600}
[data-theme="dark"] .media-sort-menu{background:#1d2d40}
[data-theme="dark"] .media-sort-menu>button{color:#e1eaf4}
[data-theme="dark"] .media-sort-menu>button:hover,[data-theme="dark"] .media-sort-menu>button[aria-pressed="true"]{background:#2a435c;color:#89dcff}
.trash-actions{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.button-danger{background:#b52f43;color:white}.button-danger:hover{background:#922638}
@media(max-width:650px){.media-sort{width:100%;justify-content:space-between}.media-sort>button{min-width:0;font-size:10px}.media-sort-menu{min-width:260px}.trash-entry{align-items:flex-start;flex-direction:column}.trash-actions{justify-content:flex-start}.client-header>div>span{display:block;max-width:240px;line-height:1.4}}

[data-theme="dark"] .camera-pan-stage .camera-zoom-tools>.camera-quality{color:#d7ecf8;border-color:#607089}

/* v12 : journée et heure distinctes, cibles tactiles et qualité 6K */
.camera-player{display:block;padding:12px 16px 10px}
.camera-player .player-date-time{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.player-day-navigation{display:flex;align-items:center;gap:6px;min-width:0}
.camera-player .player-long-date{font-size:13px;padding:6px 8px;max-width:none}
.player-hour-tools{display:flex;align-items:center;gap:12px}
.player-day-navigation>button,.player-hour-navigation>button,.player-noon{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #ffffff25;background:#ffffff09;border-radius:7px;color:#e4edf4;width:38px;height:38px;padding:7px;cursor:pointer}
.player-day-navigation>button:hover,.player-hour-navigation>button:hover,.player-noon:hover{background:#ffffff1c;border-color:#ffffff50}
.player-day-navigation>button:disabled,.player-hour-navigation>button:disabled{opacity:.25;cursor:default}
.player-day-navigation>button:focus-visible,.player-hour-navigation>button:focus-visible,.player-noon:focus-visible{outline:2px solid #79c8e7;outline-offset:2px}
.player-day-navigation .icon,.player-hour-navigation>button .icon,.player-noon .icon{width:18px;height:18px}
[data-player-day="previous"]>.icon,.player-hour-navigation>[data-photo-nav="previous"]>.icon{transform:rotate(180deg)}
.camera-player .player-hour-choice{display:flex;align-items:center;gap:8px}
.camera-player .player-hour-choice select{width:85px;height:38px;padding:5px 8px;font-size:13px}
.player-noon{width:auto;padding:7px 10px;gap:6px;font-size:11px}
.player-noon .icon{color:#e8d89e}
.camera-player .player-scrubber{display:block;margin-top:15px}
.player-hour-navigation{display:flex;align-items:flex-start;gap:12px;padding-top:28px}
.player-hour-navigation>.daylight-control{flex:1;min-width:0;margin-top:0}
.player-hour-navigation>button{margin-top:-7px}
.quality-switch{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;border:1px solid var(--line);background:var(--surface,#fff);border-radius:6px;color:var(--ink);font-size:11px;font-weight:650;padding:4px 7px;cursor:pointer}
.quality-switch[aria-pressed="true"]{background:#007fb0;color:white;border-color:#007fb0}
.quality-switch[aria-busy="true"]{opacity:.7}
.quality-switch:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.comparison-zoom,.photo-tools{flex-wrap:wrap}
@media(max-width:650px){
 .camera-player{padding:12px}
 .camera-player .player-date-time{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .player-day-navigation{justify-content:space-between;gap:3px}
 .camera-player .player-long-date{font-size:12px;padding:6px 3px;white-space:normal;text-align:center;line-height:1.4}
 .player-day-navigation>button,.player-hour-navigation>button{width:44px;height:44px}
 .player-day-navigation .icon,.player-hour-navigation>button .icon{width:20px;height:20px}
 .player-hour-tools{justify-content:center;gap:18px}
 .camera-player .player-hour-choice select,.player-noon{height:40px}
 .player-hour-navigation{gap:7px}
 .player-hour-navigation>button{margin-top:-10px}
 .camera-player .player-scrubber{margin-top:13px}
 .camera-player .daylight-control{margin-top:0}
 .comparison-zoom{gap:5px}
 .comparison-zoom .quality-switch,.photo-tools .quality-switch{min-width:44px;height:40px}
 .photo-dialog-header{flex-wrap:wrap;gap:9px}
 .photo-tools{gap:5px}
}

/* v13 : clients, lien permanent et dernier état des boîtiers */
.client-header h1{white-space:nowrap;font-size:20px}
.camera-telemetry{gap:15px}.camera-telemetry>span{white-space:nowrap;gap:5px}
#home-link-button{white-space:nowrap}
@media(max-width:1100px){.topbar-actions{gap:6px}.topbar-actions .button>span{display:none}.client-header{gap:14px}.client-header>div{padding-left:14px}.client-header h1{font-size:18px}}
@media(max-width:650px){.client-header h1{font-size:15px}.client-header>div>span{font-size:9px}.camera-telemetry{gap:17px}}
@media(max-width:650px){
 .topbar{height:auto;min-height:89px;display:flex;flex-wrap:wrap;gap:12px;padding:14px 18px}
 .client-header{flex:1 1 100%;min-width:0}
 .topbar-actions{flex:1 1 100%;justify-content:flex-end;gap:8px}
 .topbar-actions .prototype-label{display:none}
 .topbar-actions .button{font-size:10px;padding:7px 9px!important}
 .topbar-actions .button>span{display:inline}
 .topbar-actions .button .icon{width:14px;height:14px}
}

/* v16 — TV : deux panoramas superposés, adaptés à un écran 16:9. */
.topbar-actions .tv-toggle>span{display:inline;font-size:12px;font-weight:650}
.tv-view{padding:20px 26px}.tv-view>header{margin-bottom:14px;gap:16px}.tv-view h1{font-size:clamp(18px,1.7vw,30px);letter-spacing:-.6px}.tv-header-right{gap:12px}.tv-header-right .quiet-badge{font-size:9px}.tv-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:14px}.tv-camera{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(170px,16vw,260px);grid-template-rows:minmax(0,1fr)}.tv-camera>header{position:absolute;z-index:1;top:0;left:0;right:clamp(170px,16vw,260px);padding:13px 18px;display:flex;justify-content:flex-start;gap:14px;background:linear-gradient(#0a131deb,#0a131d00);pointer-events:none}.tv-camera>header strong{font-size:20px;white-space:nowrap}.tv-camera>header small{font-size:12px;color:#d1dce8}.tv-quality{margin-left:auto;border:1px solid #536f82;background:#172b3b;color:#b1c3d4;border-radius:5px;padding:4px 7px;font-size:10px;white-space:nowrap}.tv-quality.is-original{color:#92e1cc;border-color:#446c65;background:#16362f}.tv-camera .tv-image{grid-area:1/1;min-width:0;height:100%;display:block}.tv-image img{display:block;width:100%;height:100%;object-fit:contain}.tv-telemetry{grid-area:1/2;min-height:0;display:flex;align-items:center;border-left:1px solid #25364b}.tv-camera .camera-stats{display:grid;grid-template-columns:1fr;gap:clamp(10px,2.3vh,25px);width:100%;padding:18px 22px}.tv-camera .camera-stat{display:flex;gap:13px;align-items:center}.tv-camera .camera-stat>div{display:grid;gap:4px}.tv-camera .camera-stat strong{font-size:clamp(18px,1.6vw,28px);font-variant-numeric:tabular-nums}.tv-camera .camera-stat span{font-size:11px}.tv-camera .camera-stat>.icon{width:22px;height:22px}.tv-view>footer{padding-top:13px;font-size:11px;align-items:center}.tv-warning{color:#e5bd85}
@media(max-width:1000px){.tv-view{padding:14px}.tv-view h1{font-size:21px}.tv-camera>header{padding:10px 13px;gap:9px}.tv-camera>header strong{font-size:17px}.tv-camera>header small{font-size:10px}.tv-camera .camera-stats{padding:14px;gap:13px}.tv-camera .camera-stat strong{font-size:20px}.tv-camera .camera-stat span{font-size:10px}.tv-view>footer{font-size:10px}.tv-header-right .quiet-badge{display:none}}
@media(max-width:650px){.tv-view{padding:10px}.tv-view>header{margin-bottom:10px;gap:8px}.tv-view h1{font-size:16px}.tv-header-right #tv-clock{font-size:14px}.tv-grid{gap:10px}.tv-camera{grid-template-columns:minmax(0,1fr) 105px}.tv-camera>header{right:105px;padding:8px;flex-wrap:wrap;gap:5px}.tv-camera>header strong{font-size:13px}.tv-camera>header small{font-size:8px;order:3;width:100%}.tv-quality{font-size:8px;padding:2px 4px}.tv-camera .camera-stats{padding:10px;gap:12px}.tv-camera .camera-stat{gap:6px}.tv-camera .camera-stat strong{font-size:15px}.tv-camera .camera-stat span{font-size:8px}.tv-camera .camera-stat>.icon{width:14px;height:14px}.tv-view>footer{font-size:8px;padding-top:8px}.camera-telemetry{gap:13px}}
.tv-camera .camera-stat strong{line-height:1.2}.tv-camera .camera-stat span{line-height:1.3}

/* v17 — timelapses dans l’historique et modification des reportages. */
.timeline-event-group{position:absolute;top:0;display:flex;gap:8px;transform:translateX(-50%);z-index:2}.timeline-events .timeline-event-group .timeline-event{position:relative;top:0;left:auto;transform:none}.timeline-event-group.has-many .event-title{display:none}.timeline-event-group .timeline-event .event-title{left:32px;right:auto}.timeline-event-group:last-child .timeline-event .event-title{left:auto;right:32px}.timeline-event.timelapse .event-marker{color:#8265ba;background:#f2edfb;border-color:#d8ccec}.timeline-event.timelapse.is-active .event-marker{background:#8265ba;border-color:#8265ba;color:white}.legend-dot.timelapse{background:#8265ba}.edit-dialog{max-width:520px}.edit-dialog .form-label{margin-top:16px}.edit-dialog .form-actions{margin-top:24px}.edit-dialog .form-row{align-items:start}.media-entry-actions{align-items:flex-start}.media-entry-buttons{justify-content:flex-end}[data-theme="dark"] .timeline-event.timelapse .event-marker{color:#c5b0ec;background:#342846;border-color:#645080}[data-theme="dark"] .timeline-event.timelapse.is-active .event-marker{background:#8265ba;color:white}
@media(max-width:650px){.timeline-bottom{flex-wrap:wrap}.timeline-bottom .legend{flex-wrap:wrap;gap:8px 12px}.timeline-bottom #timeline-hint{max-width:none;text-align:left}.media-entry-buttons{gap:10px}.edit-dialog{padding:20px}.edit-dialog .form-row .form-label{margin-bottom:0}}

.timeline-event-group.has-many{max-width:calc(100% - 32px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.timeline-event-group .timeline-event{flex-shrink:0}

/* v18 — une même échelle pour les événements, les dates et le curseur. */
.timeline-track{--timeline-thumb-size:16px;--timeline-line-y:41px;--timeline-height:92px;height:var(--timeline-height)}
.timeline-track .timeline-rule,.timeline-track .timeline-progress{top:var(--timeline-line-y)}
.timeline-track #timeline-slider{left:calc(var(--timeline-thumb-size) / -2);width:calc(100% + var(--timeline-thumb-size));top:calc(var(--timeline-line-y) - 12px);height:27px;padding:0;border:0;touch-action:pan-y}
.timeline-track #timeline-slider::-webkit-slider-runnable-track{height:3px}
.timeline-track #timeline-slider::-webkit-slider-thumb{box-sizing:border-box;width:var(--timeline-thumb-size);height:24px;margin-top:-10.5px}
.timeline-track #timeline-slider::-moz-range-track{height:3px}
.timeline-track #timeline-slider::-moz-range-thumb{box-sizing:border-box;width:var(--timeline-thumb-size);height:24px}
.timeline-track .timeline-day-marks{top:calc(var(--timeline-line-y) + 1px)}
.timeline-track .timeline-ticks{top:calc(var(--timeline-line-y) + 16px)}
.timeline-events .timeline-event{top:0;width:24px;transform:translateX(-50%)}
.timeline-events .timeline-event .event-stem{height:var(--event-stem-height,17px);pointer-events:none}
.timeline-events .timeline-event .event-title{left:32px;right:auto}
.timeline-events .timeline-event .event-title.align-left{left:auto;right:32px}
.timeline-event.is-crowded .event-title{display:none}
.timeline-card.is-compare .timeline-track{--timeline-line-y:24px;--timeline-height:92px;height:var(--timeline-height)}
