.camera-main{max-width:1200px;margin:auto;padding:36px 24px}.camera-main h1{font-size:clamp(30px,5vw,48px);margin:12px 0}.camera-filter{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:26px 0 16px}.camera-filter label{margin:0;min-width:180px}.camera-filter input{color-scheme:dark}.camera-filter button{min-height:46px}.camera-days{display:flex;gap:8px;flex-wrap:wrap}.camera-days button{font:inherit;font-size:12px;color:var(--text);background:#171e19;border:1px solid #455050;border-radius:20px;padding:8px 12px}.camera-days button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:22px 0}.camera-frame{margin:0;background:#171e19;border:1px solid #39433d;border-radius:10px;overflow:hidden}.camera-frame a{display:block}.camera-frame img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}.camera-frame figcaption{padding:12px 14px;display:flex;justify-content:space-between;gap:10px;font-size:13px}.camera-frame small{color:var(--muted)}.camera-main>.fine{line-height:1.6}#archiveStatus{color:var(--muted);line-height:1.5}@media(max-width:560px){.camera-main{padding:24px 14px}.camera-grid{grid-template-columns:1fr;gap:14px}.camera-filter{gap:8px}.camera-filter label{flex-basis:100%}}
.archive-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:36px;align-items:start;margin:36px 0}.archive-calendar{padding:22px;background:linear-gradient(150deg,#1c2520,#131a17);border:1px solid #354239;border-radius:22px;box-shadow:0 16px 40px #0002}.calendar-eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--muted);margin:0 0 16px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:8px}.calendar-heading h2{font-size:18px;margin:0;font-weight:600}.calendar-heading button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #354239;background:transparent;color:var(--text);font-size:24px;padding:0}.calendar-week,.calendar-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week{font-size:11px;color:#8e9b92;text-align:center;margin-bottom:10px}.calendar-day{position:relative;aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:transparent;color:#d6ded7;font:inherit;font-size:13px;padding:0;min-width:0}.calendar-day.is-today{border-color:#59694b}.calendar-day.has-frames:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);bottom:3px;left:calc(50% - 2px)}.calendar-day[aria-pressed=true]{color:#18200c;background:var(--accent);font-weight:800;box-shadow:0 3px 14px #c6ee5520}.calendar-day[aria-pressed=true]:after{background:#25320b}.archive-calendar button{cursor:pointer;transition:background .15s,border-color .15s}.archive-calendar button:hover{background:#ffffff12;border-color:#708356}.archive-calendar .calendar-day[aria-pressed=true]:hover{background:var(--accent)}.archive-calendar button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:8px;color:#a5b0a8;font-size:11px;margin:20px 0}.calendar-legend span{width:5px;height:5px;background:var(--accent);border-radius:50%}.calendar-footer{border-top:1px solid #354239;display:flex;justify-content:space-between;gap:8px;padding-top:16px}.calendar-footer button{padding:8px 9px;border:1px solid #354239;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:11px}.calendar-footer button:disabled{opacity:.4;cursor:default}.archive-results{min-width:0}.archive-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-results-heading .calendar-eyebrow{margin-bottom:8px}.archive-results-heading h2{font-size:clamp(19px,2.4vw,26px);margin:0}.archive-results-heading button{font-size:12px;padding:10px 14px;white-space:nowrap}.archive-results .camera-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.archive-results #archiveStatus{font-size:13px;margin-top:20px}.camera-frame{border-radius:14px}.camera-frame a:hover img{opacity:.9}.camera-main>.fine{max-width:850px}@media(max-width:800px){.archive-layout{grid-template-columns:1fr;gap:28px;margin-top:26px}.archive-calendar{width:100%;max-width:380px;justify-self:center;padding:24px}.calendar-day{font-size:15px}.archive-results .camera-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:380px){.archive-calendar{padding:18px}.archive-results-heading{align-items:flex-start}.archive-results-heading button{padding:8px}.archive-results-heading h2{font-size:18px}}
.archive-mode{display:flex;gap:4px;background:#0c120f;border-radius:10px;padding:4px;margin-bottom:20px}.archive-mode button{flex:1;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:10px 5px;font:inherit;font-size:12px}.archive-mode button[aria-pressed=true]{background:#2b372b;color:var(--accent)}.range-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.range-fields label{font-size:12px;margin:0}.range-fields input{width:100%;min-width:0;padding:9px 5px;font-size:12px;color-scheme:dark}#rangeForm .fine{font-size:11px;margin:10px 0;line-height:1.5}#rangeForm>.primary{width:100%;font-size:12px;padding:10px}#rangeForm{margin-bottom:20px}.calendar-day.in-range{background:#c8ed5820}.archive-player{border:1px solid #354239;border-radius:18px;overflow:hidden;background:#111915;margin:22px 0 30px}.player-screen{position:relative;aspect-ratio:16/9;background:#000;display:grid;place-items:center}.player-screen img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.player-screen>p{color:#cad3ca;text-align:center;max-width:85%;font-size:13px;line-height:1.5}.player-screen>button{position:absolute;right:12px;top:12px;width:40px;height:40px;background:#111c;border:1px solid #ffffff40;border-radius:8px;color:white;font-size:23px;cursor:pointer}.player-bottom{padding:18px}.player-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px}.player-caption span{font-size:12px;color:var(--muted);white-space:nowrap}#playerSeek{width:100%;padding:0;margin:18px 0;accent-color:var(--accent);height:20px;cursor:pointer}.player-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.player-transport{display:flex;gap:5px;align-items:center}.player-controls button{min-height:42px;border:1px solid #39483d;border-radius:9px;padding:8px 14px;background:#202b23;color:var(--text);cursor:pointer}.player-controls .primary{background:var(--accent);color:#17210d;font-size:13px;font-weight:700;min-width:110px}.player-controls button:disabled{opacity:.35;cursor:default}.player-controls label{margin:0;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.player-controls select{font:inherit;background:#1c2720;color:var(--text);border:1px solid #39483d;border-radius:7px;padding:9px 5px}.player-controls a{font-size:11px;color:var(--accent);margin-left:auto}.player-bottom>.fine{margin:14px 0 0;font-size:11px;line-height:1.6}.archive-player:fullscreen{width:100%;height:100%;border:0;border-radius:0;display:flex;flex-direction:column;background:#080e0a;overflow:auto}.archive-player:fullscreen .player-screen{flex:1;min-height:100px;aspect-ratio:auto}.archive-player:fullscreen .player-bottom{flex-shrink:0}.frame-preview{display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer}.frame-preview:hover{filter:brightness(1.08)}.camera-frame figcaption a{color:var(--muted);font-size:11px;white-space:nowrap}.camera-frame figcaption time{font-size:12px}#galleryHeading{font-size:14px;color:var(--muted);font-weight:500}.archive-player button:focus-visible,.frame-preview:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}@media(max-width:800px){.archive-layout{gap:24px}.archive-calendar{max-width:420px}.player-bottom{padding:14px}.player-caption{font-size:12px}}@media(max-width:380px){.player-controls{gap:10px}.player-controls a{margin-left:0}.player-caption{align-items:flex-start}.player-caption strong{max-width:80%}.player-controls button{padding:8px 12px}}

.calendar-day.in-range[aria-pressed=true]{background:var(--accent);color:#18200c}
/* One shared calendar for both range endpoints; no native date popup. */
.range-fields .range-date{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:12px 10px;border:1px solid #46544a;border-radius:12px;background:#101913;color:var(--text);font:inherit;text-align:left}.range-date span{font-size:11px;color:#9ca99e}.range-date strong{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}.range-fields .range-date[aria-pressed=true]{background:#c9ef5810;border-color:var(--accent);box-shadow:0 0 0 1px #c9ef5820}.range-date[aria-pressed=true] span{color:var(--accent)}#rangeHint{min-height:32px}#rangeActions{margin-top:18px}#rangeActions>.primary{width:100%;padding:12px;font-size:13px;border-radius:10px}#rangeSummary{text-align:center;font-size:11px;line-height:1.6;margin:10px 0 0}.calendar-week{margin-bottom:12px;font-size:12px}.calendar-dates{gap:5px 0}.calendar-day{border-radius:8px;min-height:34px}.calendar-day.in-range{border-radius:0;background:#c7eb5521}.calendar-day.range-start,.calendar-day.range-end{background:var(--accent)!important;color:#17200b;font-weight:800;box-shadow:none}.calendar-day.range-start{border-radius:9px 0 0 9px}.calendar-day.range-end{border-radius:0 9px 9px 0}.calendar-day.range-start.range-end{border-radius:9px}.calendar-day.in-range:after{background:var(--accent)}.calendar-day.range-start:after,.calendar-day.range-end:after{background:#24320c}.calendar-legend{margin:18px 0}.calendar-heading{margin-bottom:18px}.calendar-heading button{width:38px;height:38px}.archive-calendar{padding:22px}.calendar-footer{padding-top:14px}@media(max-width:800px){.calendar-day{min-height:40px}.range-fields .range-date{padding:12px}.range-date strong{font-size:15px}}

#rangeActions>.primary,#rangeActions>.primary:hover{background:var(--accent);color:#17200b;border:1px solid var(--accent)}#rangeActions>.primary:hover{filter:brightness(1.06)}

/* Keep the previous frame behind the incoming image: no black flash between frames. */
.player-screen img{pointer-events:none;will-change:opacity}.player-screen>p{position:relative;z-index:3;background:#000b;padding:10px;border-radius:8px}.player-screen>button{z-index:4}
.archive-export{margin:18px 0;padding:18px;border:1px solid #354239;border-radius:14px;background:#152019}.export-facts{display:flex;gap:24px;flex-wrap:wrap}.export-facts>div{display:flex;flex-direction:column;gap:5px}.export-facts span{font-size:11px;color:var(--muted)}.export-facts strong{font-size:17px;font-variant-numeric:tabular-nums}.export-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.export-actions button{font-size:12px;padding:11px 15px}.export-actions a{font-size:13px}#exportProgress{width:100%;margin-top:15px;accent-color:var(--accent)}#exportStatus{margin:12px 0 0;font-size:11px;line-height:1.6}@media(max-width:500px){.export-facts{gap:14px}.export-facts strong{font-size:15px}}
