*{box-sizing:border-box}body{margin:0;min-height:100vh;background-size:cover;background-attachment:fixed;line-height:1.6}a{color:inherit;text-decoration:none}header,main,footer{max-width:1440px;margin:auto;padding:24px 5vw}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff25;gap:24px}.brand{letter-spacing:.15em;font-weight:750;font-size:15px}.brand span{font-weight:400;font-size:10px;opacity:.6}nav{display:flex;gap:20px;flex-wrap:wrap}details{position:relative}summary{cursor:pointer}details>div{position:absolute;z-index:5;min-width:140px;background:#193544;padding:12px;border-radius:10px;box-shadow:0 12px 35px #0008}details a{display:block;padding:8px}.intro{padding:36px 0 26px}.eyebrow{font-size:11px;letter-spacing:.22em;color:#9cc8c4}h1{font-size:clamp(28px,4vw,50px);font-weight:500;line-height:1.16;margin:12px 0}h2{font-weight:500}.intro>p:last-child{opacity:.7}.viewbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.viewer{background:#061016;border:1px solid #ffffff20;border-radius:14px;overflow:hidden}.viewer img,.viewer video{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain}.thumbs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px;margin:18px 0}.thumb{padding:0;background:none;position:relative;border:2px solid transparent;overflow:hidden;border-radius:7px}.thumb img{width:100%;height:74px;object-fit:cover;display:block}.thumb span{position:absolute;inset:0;display:grid;place-items:center}.thumb.selected{border-color:#aad8d0}.empty{text-align:center;padding:70px 24px;background:linear-gradient(130deg,#ffffff08,#ffffff02);border:1px solid #ffffff15;border-radius:18px;min-height:320px}.water{font-size:60px;color:#a2cec8}.panel{background:#102b39ed;border:1px solid #ffffff20;border-radius:14px;padding:26px;color:#edf5f6}.narrow{max-width:500px;margin:40px auto}.settings{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:14px;margin:13px 0}input,select{display:block;width:100%;padding:11px;border:1px solid #ffffff35;border-radius:6px;background:#071e2b;color:#fff;font:inherit}input[type=color]{height:42px}input[type=checkbox]{display:inline;width:auto}button{font:inherit;cursor:pointer;background:#c1ded7;color:#102c33;border:0;border-radius:6px;padding:10px 18px;margin:8px 0}button.secondary{background:transparent;color:inherit;border:1px solid #ffffff45}.camera-form{border-top:1px solid #ffffff20;margin-top:24px;padding-top:10px}.notice{padding:16px;background:#285347;border-radius:7px}footer{opacity:.5;font-size:12px;padding-top:50px}form p,.panel>p{font-size:13px;opacity:.8}@media(max-width:750px){header{align-items:flex-start;flex-direction:column}.settings{grid-template-columns:1fr}.thumbs{grid-template-columns:repeat(5,1fr)}.brand span{display:none}.thumb img{height:60px}}

/* Compact public heading leaves more screen height for camera media. */
.compact-view header{padding-top:12px;padding-bottom:12px;gap:14px}
.compact-view main{padding-top:10px}
.compact-view .intro{padding:6px 0 10px}
.compact-view .intro .eyebrow{font-size:9px;letter-spacing:.16em;line-height:1.3;margin:0 0 4px}
.compact-view .intro h1{font-size:clamp(22px,2.5vw,32px);line-height:1.15;margin:0 0 5px}
.compact-view .intro>p:last-child{font-size:14px;line-height:1.4;margin:0}
.compact-view .viewbar{gap:12px;margin-bottom:8px}
.compact-view .viewbar h2{font-size:18px;line-height:1.3;margin:4px 0}
.compact-view .viewbar>a{font-size:13px}
@media(max-width:750px){
 .compact-view header{gap:8px;padding-top:10px;padding-bottom:10px}
 .compact-view nav{gap:10px 18px;font-size:14px}
 .compact-view main{padding-top:8px}
 .compact-view .intro{padding:4px 0 8px}
 .compact-view .intro h1{font-size:22px}
 .compact-view .intro>p:last-child{font-size:13px}
 .compact-view .viewbar h2{font-size:16px}
}
.media-tabs{display:flex;gap:14px}.media-tabs a[aria-current]{border-bottom:2px solid #c1ded7}.date-picker{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.date-picker label{margin:0;min-width:170px;font-size:12px}.date-picker select{padding:6px 10px}.date-picker button{margin:0;padding:7px 12px}.date-pages{margin-top:14px;display:flex;justify-content:space-between}.drop-zone{border:2px dashed #96bfb9;border-radius:10px;padding:20px;margin-top:20px}.drop-zone.dragging{background:#315d58}.upload-status{margin-top:24px}.upload-result{padding:12px 0;border-bottom:1px solid #ffffff25;overflow-wrap:anywhere}.upload-result p{margin:5px 0;font-size:13px}.upload-link{font-size:15px;text-decoration:underline}
