/* Gallery refactor: gallery.php */
:root{--bg:#0d0e10;--ink:#ececea;--muted:#94979a;--side:clamp(18px,3.5vw,60px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif}
main{padding:110px 0 110px}h1{text-align:center;text-transform:uppercase;font-size:clamp(48px,8vw,100px);line-height:.95;letter-spacing:-.07em;margin:25px var(--side) 80px}.chapter{margin:0 0 clamp(75px,12vw,180px)}h2{text-align:center;font-size:clamp(22px,3vw,40px);letter-spacing:-.04em;text-transform:uppercase;margin:0 var(--side) 30px}.chapter-text{max-width:760px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;margin:0 auto 35px;padding:0 20px;color:var(--muted);font-size:13px}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,185px),1fr));gap:clamp(9px,1.3vw,18px);margin:0 var(--side)}.thumb{display:block;position:relative;background:var(--bg);border:0;padding:0;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}.thumb img{width:100%;height:100%;display:block;object-fit:contain}.thumb:hover img{opacity:.95}.thumb::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:rgba(236,236,234,.65);transition:right 180ms ease}.thumb[data-prefetch="loading"]::after{right:38%}.thumb[data-prefetch="ready"]::after{right:0;opacity:0;transition:right 140ms ease,opacity 350ms ease 120ms}body.lightbox-open .thumb img{opacity:1}.empty{text-align:center;color:var(--muted);padding:100px 20px}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.97);display:flex;align-items:center;justify-content:center;touch-action:pan-y}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .lightbox{background:rgba(0,0,0,.80);backdrop-filter:blur(24px) brightness(.58);-webkit-backdrop-filter:blur(24px) brightness(.58)}
}
body.lightbox-open{overflow:hidden}
.lightbox-frame{display:flex;align-items:center;justify-content:center;flex:none;max-width:calc(100vw - 120px);max-height:calc(100vh - 32px);overflow:hidden;pointer-events:none}.lightbox-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.lightbox-zone{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.lightbox-left,.lightbox-right{position:absolute;top:0;bottom:0;width:min(16vw,140px);z-index:2;border:0;background:transparent;color:rgba(255,255,255,.65);font-size:clamp(24px,4vw,48px);cursor:pointer}.lightbox-left{left:0}.lightbox-right{right:0}.lightbox-left:hover,.lightbox-right:hover{background:rgba(255,255,255,.035);color:white}.lightbox-count{position:absolute;right:22px;bottom:15px;font:11px Arial,sans-serif;color:#aaa;pointer-events:none}
@media(max-width:600px){main{padding-top:85px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox-frame{max-width:calc(100vw - 88px)}.lightbox-left,.lightbox-right{width:44px}}

.lightbox-close{position:absolute;z-index:3;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font:30px/1 Arial,sans-serif;cursor:pointer}.lightbox-close:hover{background:rgba(255,255,255,.15)}.lightbox button:focus-visible,.thumb:focus-visible{outline:2px solid #fff;outline-offset:-4px}
