.site-gallery { display: flex; align-items: center; gap: 4px; min-width: 0; border-top: 1px solid #404040; margin-top: 10px; padding-top: 10px; }
.gallery-placeholder { clear: both; font-size: 12px; color: var(--muted); }
.gallery-strip { display: flex; gap: 6px; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.gallery-thumb { position: relative; flex: 0 0 178px; width: 178px; height: 100px; padding: 0; overflow: hidden; border: 1px solid #696969; background: #101213; cursor: zoom-in; }
.gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-unavailable::after { content: '미리보기 없음'; position: absolute; inset: 0; display: grid; place-items: center; background: #252525; color: #bbb; font-size: 12px; }
.gallery-step { flex: 0 0 24px; padding: 8px 0; border: 0; background: transparent; color: inherit; font-size: 28px; cursor: pointer; }
.gallery-placeholder [data-gallery-retry] { border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
.lightbox-open { overflow: hidden; }
#gallery-lightbox { box-sizing: border-box; position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 50px 44px; border: 0; background: transparent; color: #fff; }
#gallery-lightbox[open] { display: grid; place-items: center; }
#gallery-lightbox::backdrop { background: #080808ed; }
.lightbox-image { max-width: 100%; max-height: calc(100vh - 100px); max-height: calc(100dvh - 100px); object-fit: contain; }
#gallery-lightbox button { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff40; border-radius: 4px; color: #fff; background: #202020aa; font-size: 30px; cursor: pointer; }
.lightbox-close { top: max(8px, env(safe-area-inset-top)); right: max(8px, env(safe-area-inset-right)); }
.lightbox-prev { top: calc(50% - 22px); left: 0; }
.lightbox-next { top: calc(50% - 22px); right: 0; }
.lightbox-status { position: absolute; bottom: 42px; margin: 0; padding: 4px 8px; background: #151515c9; font-size: 13px; text-align: center; }
.lightbox-status:empty { display: none; }
.lightbox-count { position: absolute; bottom: max(16px, env(safe-area-inset-bottom)); font-size: 14px; }
:root[data-theme="light"] .site-gallery { border-color: #c5d0d8; }
:root[data-theme="light"] .gallery-thumb { border-color: #c3cdd4; background: #eef2f5; }
