@keyframes naraya-lightbox-fade{0%{opacity:0}to{opacity:1}}.naraya-lightbox{position:fixed;inset:0;z-index:var(--z-tooltip,80);display:grid;place-items:center;padding:1rem;background-color:rgb(var(--bg-app)/.88);backdrop-filter:blur(10px);animation:naraya-lightbox-fade var(--duration-base) var(--easing-smooth)}.naraya-lightbox__figure{display:flex;max-height:88vh;width:100%;max-width:64rem;flex-direction:column;align-items:center;gap:.75rem;margin:0}.naraya-lightbox__stage{position:relative;display:grid;place-items:center;width:100%;max-height:78vh;overflow:hidden;border-radius:1rem}.naraya-lightbox__stage--zoomable{touch-action:none}.naraya-lightbox__stage--zoomed{cursor:grab}.naraya-lightbox__img{max-width:100%;max-height:78vh;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:center center;transition:transform var(--duration-base) var(--easing-smooth)}.naraya-lightbox__stage--interacting .naraya-lightbox__img{transition:none}.naraya-lightbox__caption{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:rgb(var(--text-muted));text-align:center}.naraya-lightbox__counter{font-family:var(--font-mono,ui-monospace,monospace);font-size:.75rem}.naraya-lightbox__close,.naraya-lightbox__nav,.naraya-lightbox__zoom-btn{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid hsla(0,0%,100%,.14);background-color:rgb(var(--bg-app)/.6);backdrop-filter:blur(8px);color:rgb(var(--text-main));cursor:pointer;transition:color var(--duration-fast) var(--easing-smooth),border-color var(--duration-fast) var(--easing-smooth)}.naraya-lightbox__close:hover,.naraya-lightbox__nav:hover,.naraya-lightbox__zoom-btn:hover{color:rgb(var(--color-primary));border-color:rgb(var(--color-primary)/.5)}.naraya-lightbox__close:focus-visible,.naraya-lightbox__nav:focus-visible,.naraya-lightbox__zoom-btn:focus-visible{outline:2px solid rgb(var(--ring-focus));outline-offset:2px}.naraya-lightbox__close{top:1rem;right:1rem;height:2.5rem;width:2.5rem;border-radius:.625rem}.naraya-lightbox__nav{top:50%;transform:translateY(-50%);height:2.75rem;width:2.75rem;border-radius:999px}.naraya-lightbox__nav--prev{left:.75rem}.naraya-lightbox__nav--next{right:.75rem}.naraya-lightbox__nav:disabled{opacity:0;pointer-events:none}@media (min-width:640px){.naraya-lightbox__nav--prev{left:1.5rem}.naraya-lightbox__nav--next{right:1.5rem}}.naraya-lightbox__zoom{position:absolute;bottom:1rem;right:1rem;z-index:2;display:flex;gap:.375rem}.naraya-lightbox__zoom-btn{position:static;height:2.25rem;width:2.25rem;border-radius:.5rem}.naraya-lightbox__thumbs{display:flex;gap:.5rem;overflow-x:auto;max-width:100%;padding:.25rem;scrollbar-width:none}.naraya-lightbox__thumbs::-webkit-scrollbar{display:none}.naraya-lightbox__thumb{flex:0 0 auto;height:3.25rem;width:3.25rem;overflow:hidden;border-radius:.5rem;border:2px solid transparent;padding:0;cursor:pointer;opacity:.55;transition:opacity var(--duration-fast) var(--easing-smooth),border-color var(--duration-fast) var(--easing-smooth)}.naraya-lightbox__thumb:hover{opacity:.85}.naraya-lightbox__thumb--active{opacity:1;border-color:rgb(var(--color-primary))}.naraya-lightbox__thumb img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;display:block}.naraya-lightbox-trigger{display:block;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit}.naraya-lightbox-trigger--overlay{position:relative;overflow:hidden}.naraya-lightbox-trigger__overlay{position:absolute;inset:0;border-radius:inherit;display:grid;place-items:center;color:#fff;background-color:rgb(var(--bg-app)/.42);backdrop-filter:blur(2px);opacity:0;transition:opacity var(--duration-base) var(--easing-glide)}.naraya-lightbox-trigger--overlay:focus-visible .naraya-lightbox-trigger__overlay,.naraya-lightbox-trigger--overlay:hover .naraya-lightbox-trigger__overlay{opacity:1}.naraya-lightbox-trigger__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:.5rem;font-size:.75rem;font-weight:600;color:rgb(var(--color-primary));background-color:rgb(var(--color-primary)/.2);box-shadow:inset 0 0 0 1px rgb(var(--color-primary)/.4)}