.gv-open,.gv-open body{overflow:hidden}
.gv{position:fixed;inset:0;z-index:1000;background:#0d120f;color:#f6f5ef;display:flex;flex-direction:column;touch-action:none;user-select:none;-webkit-user-select:none}
.gv[hidden]{display:none}
.gv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;min-height:56px}
.gv-heading{display:flex;flex-direction:column;min-width:0;font:500 16px/1.3 'DM Sans',system-ui,sans-serif}
.gv-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.gv-count{color:#aab5ad;font-size:15px}
.gv button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.gv-close{width:44px;height:44px;flex:none;border-radius:50%;background:rgba(255,255,255,.12)!important;font-size:18px}
.gv-close:hover{background:rgba(255,255,255,.22)!important}
.gv-stage{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.gv-zoomed .gv-stage{cursor:grab}
.gv-img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain!important;transform-origin:center center;will-change:transform}
.gv-loading{filter:blur(2px)}
.gv-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(0,0,0,.45)!important;font-size:34px!important;line-height:1}
.gv-nav:hover{background:rgba(0,0,0,.7)!important}
.gv-prev{left:14px}.gv-next{right:14px}
.gv-nav[hidden]{display:none}
.gv-zoomed .gv-nav{opacity:.25}
.gv-bottom{padding:10px 16px calc(14px + env(safe-area-inset-bottom));min-height:44px;text-align:center}
.gv-caption{margin:0;color:#dfe5df;font:17px/1.4 'DM Sans',system-ui,sans-serif}
.gv-caption[hidden]{display:none}
.gv-caption-input{width:min(560px,100%);padding:11px 14px;border-radius:10px;border:1px solid #3c4a42;background:#18201b;color:#f6f5ef;font:16px system-ui,sans-serif}
.gv-caption-input[hidden]{display:none}
.gv button:focus-visible,.gv-caption-input:focus-visible{outline:3px solid #d8e8ac;outline-offset:2px}
@media(max-width:650px){.gv-nav{width:44px;height:44px;font-size:28px!important;background:rgba(0,0,0,.3)!important}.gv-prev{left:6px}.gv-next{right:6px}}
@media(pointer:coarse){.gv-nav{display:none}}
