:root{color-scheme:dark;--bg:#071d31;--panel:#0b2c47;--cyan:#51e8ec;--muted:#b4cddd}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#095b8c 0,transparent 46%),var(--bg);color:#fff;font:16px/1.5 system-ui,sans-serif}a{color:var(--cyan);text-decoration:none}header,main,footer{max-width:1320px;margin:auto;padding:20px 30px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff25}header img{width:132px;height:auto;display:block;background:#ffffffed;border-radius:14px;padding:7px}.back{font-weight:650;font-size:14px}.intro{padding:24px 0 15px}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:800;color:var(--cyan)}h1{font-size:clamp(29px,4vw,46px);line-height:1.1;letter-spacing:-1px;margin:12px 0}p{color:var(--muted)}.tools{background:#0b2c47d9;border:1px solid #ffffff25;border-radius:16px;padding:18px;display:flex;justify-content:space-between;align-items:end;gap:18px}label{font-size:12px;color:var(--muted);font-weight:700;display:grid;gap:6px;min-width:210px}select,button{font:inherit;border-radius:9px;border:1px solid #ffffff40;padding:11px 15px;background:#123e5b;color:#fff}select{font-size:16px}button{cursor:pointer;font-size:14px;font-weight:650}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){border-color:var(--cyan)}.primary{background:var(--cyan);color:#082a40;border-color:transparent}.actions{display:flex;gap:10px;flex-wrap:wrap}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}h2{margin:12px 0;font-size:26px}#count{font-size:14px;color:var(--muted)}#status{font-size:13px;min-height:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{display:block;border:1px solid #ffffff55;border-radius:16px;overflow:hidden;background:var(--panel);color:#fff}.photo{aspect-ratio:16/9;background:#153c55;position:relative;display:flex;align-items:center;justify-content:center}.photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo .missing{padding:30px;text-align:center;color:var(--muted)}.details{padding:14px 17px}.details h3{font-size:18px;line-height:1.35;margin:0 0 7px}.details p{font-size:12px;margin:3px 0}.badge{display:inline-block;font-size:11px;color:var(--cyan);font-weight:750;margin-bottom:5px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:25px 0 15px}.hint{font-size:13px;max-width:900px}footer{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:25px}#preview{width:min(100%,700px);height:auto;border-radius:12px}#previewBox{border-top:1px solid #ffffff25;margin-top:30px;padding-top:20px}@media(max-width:650px){header,main,footer{padding:16px}.tools{align-items:stretch;flex-direction:column}.actions{display:grid;grid-template-columns:1fr 1fr}button{font-size:12px;padding:11px}.grid{grid-template-columns:1fr}.heading{align-items:start}.heading h2{font-size:22px}.heading span{padding-top:16px}.pagination{gap:12px}.pagination span{font-size:13px}header img{width:105px}footer{gap:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.photo iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

@media(min-width:1100px){.grid[data-size="8"]{grid-template-columns:repeat(4,minmax(0,1fr))}}

.stream-state{position:absolute;bottom:10px;left:10px;right:10px;z-index:2;padding:8px 10px;border-radius:8px;background:#47220feb;color:#fff;font-size:12px;font-weight:700;pointer-events:none}.stream-state.playing{background:#063929d9;right:auto;color:#85ffd2}

.camera-weather{margin-top:12px;padding-top:11px;border-top:1px solid #ffffff26}
.camera-weather[hidden]{display:none}
.weather-heading{display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap;color:#9eeaf2;font-size:12px;font-weight:700}
.weather-heading time{color:var(--muted);font-size:11px;font-weight:500}
.weather-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.weather-metric{display:flex;align-items:baseline;gap:5px;padding:5px 8px;border:1px solid #ffffff25;border-radius:8px;background:#ffffff0e;white-space:nowrap}
.weather-metric small{font-size:11px;color:var(--muted)}
.weather-metric strong{font-size:12px;color:#fff}
