:root{--nl-lb-backdrop:rgba(10,10,10,0.92);--nl-lb-text:#f5f5f5;--nl-lb-accent:var(--color-primary,#3b82f6);--nl-lb-btn-bg:rgba(255,255,255,0.08);--nl-lb-btn-bg-hover:rgba(255,255,255,0.18);--nl-lb-btn-size:3rem;--nl-lb-transition:.22s ease}.nl-lb{display:block;cursor:zoom-in;text-decoration:none;color:inherit;position:relative}.nl-lb:focus-visible{outline:3px solid var(--nl-lb-accent);outline-offset:3px}.nl-lb img{display:block;border-radius:var(--radius-md,0.5rem);transform:scale(1);transform-origin:center center;transition:transform 0.45s ease,filter 0.45s ease;filter:brightness(1);position:relative;z-index:1}@media (hover:hover) and (pointer:fine){.nl-lb:hover{z-index:2}.nl-lb:hover img{transform:scale(1.05);filter:brightness(1.03)}}@media (prefers-reduced-motion:reduce){.nl-lb img,.nl-lb:hover img{transition:none;transform:none;filter:none}}.nl-lb-dialog{padding:0;border:0;background:transparent;color:var(--nl-lb-text);max-width:100vw;max-height:100vh;width:100%;height:100%;margin:0;overflow:hidden;opacity:0;transition:opacity var(--nl-lb-transition),overlay var(--nl-lb-transition) allow-discrete,display var(--nl-lb-transition) allow-discrete}.nl-lb-dialog[open]{display:flex;align-items:center;justify-content:center;opacity:1}@starting-style{.nl-lb-dialog[open]{opacity:0}}.nl-lb-dialog::backdrop{background:var(--nl-lb-backdrop);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);opacity:0;transition:opacity var(--nl-lb-transition),overlay var(--nl-lb-transition) allow-discrete,display var(--nl-lb-transition) allow-discrete}.nl-lb-dialog[open]::backdrop{opacity:1}@starting-style{.nl-lb-dialog[open]::backdrop{opacity:0}}@media (prefers-reduced-motion:reduce){.nl-lb-dialog,.nl-lb-dialog::backdrop{transition:none}}.nl-lb-frame{position:relative;width:100%;height:100%;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr auto;align-items:center;padding:clamp(1rem,3vw,2.5rem);gap:0.75rem}.nl-lb-figure{grid-column:1 / -1;grid-row:1;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;min-width:0;min-height:0}.nl-lb-img{max-width:100%;max-height:calc(100vh - 10rem);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md,0.5rem);box-shadow:0 25px 60px rgba(0,0,0,0.5);animation:nl-lb-fade var(--nl-lb-transition);transition:opacity var(--nl-lb-transition);opacity:1}.nl-lb-img.is-switching{opacity:0}.nl-lb-caption{max-width:80ch;text-align:center;font-size:0.95rem;line-height:1.5;color:var(--nl-lb-text);opacity:0.88;padding:0 1rem}.nl-lb-caption[hidden]{display:none}@keyframes nl-lb-fade{from{opacity:0;transform:scale(0.98)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.nl-lb-img{animation:none}}.nl-lb-close,.nl-lb-prev,.nl-lb-next{width:var(--nl-lb-btn-size);height:var(--nl-lb-btn-size);border:0;border-radius:999px;background:var(--nl-lb-btn-bg);color:var(--nl-lb-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--nl-lb-transition),transform var(--nl-lb-transition);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.nl-lb-close svg,.nl-lb-prev svg,.nl-lb-next svg{width:60%;height:60%}@media (hover:hover) and (pointer:fine){.nl-lb-close:hover,.nl-lb-prev:hover,.nl-lb-next:hover{background:var(--nl-lb-btn-bg-hover)}}.nl-lb-close:focus-visible,.nl-lb-prev:focus-visible,.nl-lb-next:focus-visible{outline:2px solid var(--nl-lb-accent);outline-offset:3px}.nl-lb-close:active,.nl-lb-prev:active,.nl-lb-next:active{transform:scale(0.92)}@media (prefers-reduced-motion:reduce){.nl-lb-close:active,.nl-lb-prev:active,.nl-lb-next:active{transform:none}}.nl-lb-close{position:absolute;top:1rem;right:1rem;z-index:2}.nl-lb-prev{grid-column:1;grid-row:1;justify-self:start}.nl-lb-next{grid-column:3;grid-row:1;justify-self:end}.nl-lb-prev[hidden],.nl-lb-next[hidden]{display:none}@media (max-width:640px){.nl-lb-frame{padding:0.75rem;gap:0.5rem}.nl-lb-prev,.nl-lb-next{grid-row:2;position:relative}.nl-lb-prev{grid-column:1}.nl-lb-next{grid-column:3}.nl-lb-figure{grid-column:1 / -1;grid-row:1}.nl-lb-img{max-height:calc(100vh - 8rem)}}.nl-lb-counter{grid-column:1 / -1;grid-row:2;text-align:center;font-size:0.85rem;color:var(--nl-lb-text);opacity:0.7;padding-top:0.25rem}.nl-lb-counter[hidden]{display:none}