.lightbox-overlay{max-width:none;max-height:none;width:100vw;height:100vh;padding:0;border:none;margin:0;position:fixed;inset:0;z-index:var(--z-lightbox);background:var(--overlay-scrim);align-items:center;justify-content:center;cursor:zoom-out;opacity:0;transition:opacity var(--dur-medium) ease}.lightbox-overlay[open]{display:flex}.lightbox-overlay::backdrop{background:transparent}.lightbox-overlay.is-active{opacity:1}.lightbox-media{display:flex;align-items:center;justify-content:center;position:relative}.lightbox-img,.lightbox-video{max-width:min(90vw,1280px);max-height:90vh;border-radius:var(--radius-md);box-shadow:var(--shadow-lightbox);transform:scale(.95);transition:transform var(--dur-medium) var(--easing),opacity var(--dur-quick) ease;display:block;cursor:zoom-in}.lightbox-overlay.is-active .lightbox-img,.lightbox-overlay.is-active .lightbox-video{transform:scale(1)}.lightbox-img.is-zoomed{cursor:grab;will-change:transform}.lightbox-img.is-zoomed:active{cursor:grabbing}.lightbox-spinner{position:absolute;width:36px;height:36px;border:3px solid var(--lightbox-spinner-track);border-top-color:var(--lightbox-spinner-head);border-radius:50%;animation:lightbox-spin .7s linear infinite;z-index:0;pointer-events:none}.lightbox-spinner.is-hidden{display:none}@keyframes lightbox-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lightbox-spinner{animation:none;border-top-color:var(--lightbox-spinner-static)}}.lightbox-video{display:none;background:var(--color-video-placeholder)}.lightbox-close{position:absolute;top:16px;right:16px;background:var(--lightbox-btn-bg);border:none;color:var(--text-on-dark);font-size:var(--fs-heading-2xl);width:var(--touch-min);height:var(--touch-min);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-quick) ease}.lightbox-close:hover{background:var(--lightbox-btn-bg-hover)}.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{outline-color:var(--lightbox-focus-ring)}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:var(--lightbox-nav-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid var(--lightbox-btn-border);color:var(--text-on-dark);width:56px;height:56px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-quick) ease,border-color var(--dur-quick) ease,transform var(--dur-quick) ease;z-index:1;flex-shrink:0;touch-action:manipulation}.lightbox-prev{left:max(20px,env(safe-area-inset-left,20px))}.lightbox-next{right:max(20px,env(safe-area-inset-right,20px))}.lightbox-prev:hover,.lightbox-next:hover{background:var(--lightbox-nav-bg-hover);border-color:var(--lightbox-btn-border-hover)}.lightbox-prev:active{transform:translateY(-50%) translate(-2px)}.lightbox-next:active{transform:translateY(-50%) translate(2px)}.lightbox-prev.is-hidden,.lightbox-next.is-hidden{display:none}.lightbox-counter{position:absolute;bottom:72px;left:50%;transform:translate(-50%);color:var(--lightbox-text);font-size:var(--fs-ui);letter-spacing:.06em;pointer-events:none;white-space:nowrap}.lightbox-thumbs{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding-block:10px;padding-inline:calc(50% - 26px);background:var(--lightbox-gradient);overflow-x:auto;scrollbar-width:none}.lightbox-thumbs:empty{display:none}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumb{flex-shrink:0;width:52px;height:36px;border:2px solid var(--lightbox-thumb-border);border-radius:3px;overflow:hidden;cursor:pointer;background:var(--lightbox-thumb-bg);padding:0;color:var(--lightbox-text);font-size:var(--fs-heading);display:flex;align-items:center;justify-content:center;transition:border-color var(--dur-quick) ease,transform var(--dur-quick) ease;touch-action:manipulation}.lightbox-thumb:hover{border-color:var(--lightbox-thumb-border-hover);transform:scale(1.08)}.lightbox-thumb.is-active{border-color:var(--lightbox-thumb-border-active);transform:scale(1.12)}.lightbox-thumb img{width:100%;height:100%;object-fit:cover;opacity:.75}.lightbox-thumb.is-active img{opacity:1}.lightbox-thumb:focus-visible{outline-color:var(--lightbox-focus-ring);border-radius:3px}.lightbox-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--overlay-dark-deep);color:var(--lightbox-text-bright);padding:16px 28px;border-radius:8px;font-size:var(--fs-ui);text-align:center;pointer-events:auto;cursor:pointer;z-index:2;opacity:0;visibility:hidden;transition:opacity var(--dur-medium) ease,visibility var(--dur-medium) ease}.lightbox-hint.is-visible{opacity:1;visibility:visible}.lightbox-hint p{margin:0;line-height:1.6}.lightbox-hint-mobile{display:none}@media(hover:none)and (pointer:coarse){.lightbox-hint-desktop{display:none}.lightbox-hint-mobile{display:block}}@media(prefers-reduced-motion:reduce){.lightbox-hint{transition:none}}.lightbox-img,.lightbox-video{max-height:calc(min(90vw,1280px)*.75);max-height:min(80vh,calc(100vh - 120px))}@media(max-width:640px){.lightbox-prev,.lightbox-next{width:48px;height:48px}.lightbox-prev{left:max(12px,env(safe-area-inset-left,12px))}.lightbox-next{right:max(12px,env(safe-area-inset-right,12px))}}@media(max-width:480px){.lightbox-prev,.lightbox-next{width:44px;height:44px}.lightbox-prev{left:max(8px,env(safe-area-inset-left,8px))}.lightbox-next{right:max(8px,env(safe-area-inset-right,8px))}}
