.msg-gallery{--msg-copper:var(--msg-accent,#d1a184);color:var(--msg-text,#f5f3f1);background:var(--msg-background,#16171a);border-radius:24px;padding:clamp(16px,3vw,36px);font:15px/1.5 system-ui,sans-serif;margin:24px 0;isolation:isolate}.msg-gallery *{box-sizing:border-box}.msg-gallery [hidden]{display:none!important}.msg-gallery button,.msg-gallery a.msg-download{font:inherit;cursor:pointer;border:1px solid #51443a;border-radius:18px;background:var(--msg-surface,#302c29);color:var(--msg-text,#f5f3f1);padding:12px 18px;text-decoration:none;text-transform:none;letter-spacing:normal}.msg-gallery button:focus-visible,.msg-gallery a:focus-visible{outline:3px solid var(--msg-copper);outline-offset:3px}.msg-gallery button:hover{border-color:var(--msg-copper)}.msg-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.msg-tools input{flex:1;min-width:180px;background:#242426;color:white;border:1px solid #414143;border-radius:16px;padding:14px;font:inherit}.msg-tools button[aria-pressed=true]{background:var(--msg-copper);color:#191919}.msg-count{color:#bab1aa}.msg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px 10px}.msg-gallery .msg-card{padding:0;border:0;background:transparent;text-align:left;min-width:0}.msg-cover{aspect-ratio:1;position:relative;background:#242426;border-radius:16px;overflow:hidden;display:grid;place-items:center}.msg-cover img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.msg-badge{position:absolute;left:8px;top:8px;background:var(--msg-copper);color:#191919;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:700}.msg-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:8px 2px 0}.msg-card small{font-size:11px;color:#bcb2aa}.msg-play{z-index:1;font-size:32px;color:var(--msg-copper);text-shadow:0 2px 10px black}.msg-gallery .msg-map{height:550px;border-radius:20px;overflow:hidden;z-index:0}.msg-pin{width:48px;height:48px;border:3px solid var(--msg-accent,#d1a184);border-radius:12px;overflow:hidden;background:#222;color:white;box-shadow:0 3px 10px #0007}.msg-pin img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block}.msg-gallery .msg-view{padding:0;border:1px solid #404040;border-radius:26px;background:#222;color:var(--msg-text,#f5f3f1);width:min(1200px,94vw);max-width:94vw;max-height:90dvh;overflow:auto}.msg-view[open]{display:grid;grid-template-columns:minmax(0,1fr) 280px}.msg-view::backdrop{background:#000b;backdrop-filter:blur(8px)}.msg-stage{background:#090909;min-height:300px;display:grid;place-items:center}.msg-stage img,.msg-stage video{display:block;max-width:100%;width:100%;height:70dvh;object-fit:contain}.msg-view aside{padding:64px 22px 26px;min-width:0}.msg-view h3{font:700 18px/1.4 system-ui;color:inherit;overflow-wrap:anywhere;margin:0 0 16px}.msg-details{color:#bbb}.msg-gallery .msg-close{position:absolute;top:12px;right:12px;z-index:1000;background:white;color:black;border:0;border-radius:50%;width:44px;height:44px;padding:0;display:grid;place-items:center;font:30px/1 Arial}.msg-actions{display:flex;gap:8px;flex-wrap:wrap}.msg-gallery .msg-actions button{background:var(--msg-copper);color:#171717}.msg-nav{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:24px}.msg-feedback{overflow-wrap:anywhere;font-size:13px}@media(max-width:650px){.msg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.msg-view[open]{grid-template-columns:1fr}.msg-stage img,.msg-stage video{height:50dvh}.msg-view aside{padding:20px}.msg-tools button{flex:1;padding:10px}.msg-map{max-height:65dvh}}

.msg-gallery{font-family:inherit}.msg-gallery .msg-view{background:var(--msg-surface,#222)}.msg-gallery .msg-view h3{font-family:inherit}.msg-gallery .msg-tools input{background:var(--msg-surface,#242426);color:var(--msg-text,#f5f3f1)}.msg-gallery .msg-count,.msg-gallery .msg-details,.msg-gallery .msg-card small{color:inherit;opacity:.75}.msg-gallery.msg-no-captions .msg-name,.msg-gallery.msg-no-captions .msg-view h3,.msg-gallery.msg-no-info .msg-card small,.msg-gallery.msg-no-info .msg-details{display:none}.msg-gallery .msg-more{display:block;margin:24px auto 0}

/* Explicit per-gallery columns override the original automatic grid. */
.msg-gallery .msg-grid{grid-template-columns:repeat(var(--msg-columns,3),minmax(0,1fr))}.msg-gallery .msg-badge{z-index:2;pointer-events:none}@media(max-width:650px){.msg-gallery .msg-grid{grid-template-columns:repeat(var(--msg-mobile-columns,2),minmax(0,1fr))}}

/* Hover only on devices with a precise pointer; keep the image inside its tile. */
.msg-gallery .msg-cover img{transition:transform .3s ease}
.msg-gallery .msg-cover{transition:box-shadow .3s ease}
@media(hover:hover) and (pointer:fine){
.msg-gallery .msg-card:hover .msg-cover img{transform:scale(1.06)}
.msg-gallery .msg-card:hover .msg-cover{box-shadow:0 0 0 2px var(--msg-accent,#d1a184)}
}
.msg-gallery .msg-card:focus-visible .msg-cover{box-shadow:0 0 0 2px var(--msg-accent,#d1a184)}
@media(prefers-reduced-motion:reduce){
.msg-gallery .msg-cover,.msg-gallery .msg-cover img{transition:none}
.msg-gallery .msg-card:hover .msg-cover img{transform:none}
}
