html.lpl-open{overflow:hidden!important}
.lpl-modern{position:fixed;inset:0;z-index:2147483000;background:var(--lpl-bg,#000);color:#fff;display:flex;flex-direction:column;box-sizing:border-box;font-family:system-ui,sans-serif}
.lpl-modern *{box-sizing:border-box}.lpl-stage{flex:1;position:relative;min-height:0;margin:10px 2vw;touch-action:pan-y;overflow:hidden}.lpl-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}.lpl-layer img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;transition:none!important}
.lpl-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;min-height:62px;padding:8px 12px;flex-wrap:wrap;background:rgba(25,25,25,.9);transition:opacity .25s ease}.lpl-btn{appearance:none;border:1px solid rgba(255,255,255,.24);background:#292929;color:#fff;border-radius:8px;min-width:43px;height:43px;padding:4px 9px;font-size:23px;line-height:1;cursor:pointer}.lpl-btn:focus-visible,.lpl-strip button:focus-visible{outline:3px solid #7abcff;outline-offset:2px}.lpl-btn:hover{background:#444}.lpl-count{min-width:60px;text-align:center;font-variant-numeric:tabular-nums}.lpl-caption{text-align:center;min-height:28px;padding:4px 14px;font-size:14px}.lpl-strip{display:flex;gap:8px;overflow-x:auto;padding:8px;background:#141414;max-height:100px}.lpl-strip[hidden]{display:none}.lpl-strip button{border:2px solid transparent;background:transparent;padding:0;flex:none;cursor:pointer}.lpl-strip button[aria-current=true]{border-color:white}.lpl-strip img{height:65px;width:80px;object-fit:cover}.lpl-modern.lpl-idle .lpl-toolbar{opacity:.12}.lpl-modern.lpl-idle .lpl-toolbar:hover,.lpl-modern.lpl-idle .lpl-toolbar:focus-within{opacity:1}
@media(max-width:600px){.lpl-stage{margin:4px 1vw}.lpl-toolbar{gap:4px;padding:7px 5px}.lpl-btn{min-width:40px;height:42px}.lpl-strip img{height:48px;width:62px}}
@media(prefers-reduced-motion:reduce){.lpl-toolbar,.lpl-layer{transition:none!important}}

/* 1.7.1: ensure visible clickable controls independent of theme button rules */
html body .lpl-modern{display:flex!important;visibility:visible!important;opacity:1!important;z-index:2147483000!important}
html body .lpl-modern .lpl-toolbar{display:flex!important;flex-shrink:0!important;visibility:visible!important;opacity:1;position:relative;z-index:15;min-height:62px}
html body .lpl-modern .lpl-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;width:auto;max-width:none;min-width:44px;min-height:44px;position:relative;z-index:20;box-shadow:none;text-transform:none;font-family:Arial,sans-serif;font-weight:400}
html body .lpl-modern .lpl-side-controls{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:25;pointer-events:none;display:flex;justify-content:space-between;padding:0 clamp(8px,2vw,32px)}
html body .lpl-modern .lpl-side-controls .lpl-btn{pointer-events:auto!important;background:rgba(15,15,15,.78)!important;border:1px solid rgba(255,255,255,.55)!important;color:white!important;border-radius:50%!important;width:52px!important;height:52px!important;font-size:36px!important}
html body .lpl-modern .lpl-floating-close{position:absolute!important;z-index:30!important;top:max(12px,env(safe-area-inset-top));right:12px;width:48px!important;height:48px!important;background:rgba(15,15,15,.9)!important;color:#fff!important;border:1px solid #aaa!important;font-size:28px!important}
@media(max-width:600px){html body .lpl-modern .lpl-side-controls .lpl-btn{width:44px!important;height:44px!important;font-size:29px!important}html body .lpl-modern .lpl-toolbar{min-height:64px!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}}
@media(prefers-reduced-motion:reduce){html body .lpl-modern .lpl-layer{transition:none!important}}
/* 1.8: configurable controls, cinematic presentation and touch gestures */
.lpl-modern .lpl-stage{touch-action:none;overscroll-behavior:contain}
.lpl-modern .lpl-layer{will-change:opacity,transform}
.lpl-modern .lpl-layer img{max-height:100%;transform-origin:center center;will-change:transform}
.lpl-modern .lpl-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;padding:16px;border-radius:8px;background:#292929;text-align:center}
.lpl-modern .lpl-error[hidden],.lpl-modern .lpl-toolbar[hidden],.lpl-modern .lpl-btn[hidden]{display:none!important}
.lpl-modern .lpl-strip{max-height:calc(var(--lpl-thumb-size) + 28px);scrollbar-width:thin;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.lpl-modern .lpl-strip img{width:calc(var(--lpl-thumb-size) * 1.28);height:var(--lpl-thumb-size)}
.lpl-modern .lpl-strip button{scroll-snap-align:center;border-radius:3px;position:relative}
.lpl-modern .lpl-strip button.lpl-approved::after{content:'♥';position:absolute;right:3px;top:2px;color:#fff;text-shadow:0 1px 3px #000;font-size:18px}
html body .lpl-modern .lpl-side-controls .lpl-btn{color:var(--lpl-arrow-color)!important;font-size:var(--lpl-arrow-size)!important}
html body .lpl-modern[data-arrow-style="minimal"] .lpl-side-controls .lpl-btn{background:transparent!important;border-color:transparent!important}
html body .lpl-modern[data-arrow-style="chevron"] .lpl-side-controls .lpl-btn{border-radius:8px!important}
html body .lpl-modern[data-arrow-style="classic"] .lpl-side-controls .lpl-btn{border-radius:8px!important}
html body .lpl-modern[data-arrow-style="circle"] .lpl-side-controls .lpl-btn{border-radius:50%!important}
.lpl-modern.lpl-cinema .lpl-stage{margin:0}
.lpl-modern.lpl-cinema .lpl-toolbar{background:rgba(0,0,0,.65)}
html body .lpl-modern.lpl-idle .lpl-toolbar{opacity:.08!important}
html body .lpl-modern.lpl-idle .lpl-toolbar:hover,html body .lpl-modern.lpl-idle .lpl-toolbar:focus-within{opacity:1!important}
.lpl-modern.lpl-idle .lpl-side-controls{opacity:.12}
.lpl-modern.lpl-idle .lpl-side-controls:hover,.lpl-modern.lpl-idle .lpl-side-controls:focus-within{opacity:1}
.lpl-modern.lpl-no-control-transitions .lpl-toolbar,.lpl-modern.lpl-no-control-transitions .lpl-side-controls{transition:none!important}
@media(max-width:600px){.lpl-modern .lpl-stage{margin:0}.lpl-modern .lpl-strip{padding-bottom:max(8px,env(safe-area-inset-bottom))}html body .lpl-modern .lpl-side-controls .lpl-btn{font-size:clamp(24px,var(--lpl-arrow-size),48px)!important}}

/* 1.8.4: distraction-free presentation (cinema and running slideshow).
   Keep the picture full-sized by overlaying all controls rather than reserving space. */
html body .lpl-modern.lpl-presentation .lpl-stage{margin:0}
html body .lpl-modern.lpl-presentation .lpl-toolbar{
 position:absolute;bottom:0;left:0;right:0;z-index:18;
 padding-bottom:max(8px,env(safe-area-inset-bottom));
 background:rgba(0,0,0,.68)
}
.lpl-modern.lpl-presentation .lpl-caption{
 position:absolute;bottom:66px;left:0;right:0;z-index:16;
 padding:9px 16px;background:linear-gradient(transparent,rgba(0,0,0,.68));
 pointer-events:none
}
.lpl-modern.lpl-presentation .lpl-strip{
 position:absolute;left:0;right:0;bottom:66px;z-index:17;
 background:rgba(0,0,0,.82)
}
.lpl-modern.lpl-presentation.lpl-strip-visible .lpl-caption{
 bottom:calc(80px + var(--lpl-thumb-size))
}
html body .lpl-modern .lpl-floating-close,
html body .lpl-modern .lpl-side-controls,
html body .lpl-modern .lpl-toolbar,
html body .lpl-modern .lpl-caption,
html body .lpl-modern .lpl-strip{
 transition:opacity .3s ease
}
/* Hide *completely* when idle. The existing theme safety CSS forces some
   buttons visible with !important, so these rules must override it. */
html body .lpl-modern.lpl-presentation.lpl-idle > .lpl-floating-close,
html body .lpl-modern.lpl-presentation.lpl-idle .lpl-side-controls,
html body .lpl-modern.lpl-presentation.lpl-idle .lpl-toolbar,
html body .lpl-modern.lpl-presentation.lpl-idle .lpl-caption,
html body .lpl-modern.lpl-presentation.lpl-idle .lpl-strip,
html body .lpl-modern.lpl-idle:not(.lpl-presentation) .lpl-toolbar{
 opacity:0!important;visibility:hidden!important;pointer-events:none!important
}
html body .lpl-modern.lpl-presentation.lpl-idle .lpl-side-controls .lpl-btn,
html body .lpl-modern.lpl-presentation.lpl-idle .lpl-toolbar .lpl-btn,
html body .lpl-modern.lpl-presentation.lpl-idle .lpl-strip button,
html body .lpl-modern.lpl-presentation.lpl-idle > .lpl-floating-close,
html body .lpl-modern.lpl-idle:not(.lpl-presentation) .lpl-toolbar .lpl-btn{
 opacity:0!important;visibility:hidden!important;pointer-events:none!important
}
.lpl-modern.lpl-presentation.lpl-idle{cursor:none}
html body .lpl-modern.lpl-no-control-transitions .lpl-floating-close,
html body .lpl-modern.lpl-no-control-transitions .lpl-side-controls,
html body .lpl-modern.lpl-no-control-transitions .lpl-toolbar,
html body .lpl-modern.lpl-no-control-transitions .lpl-caption,
html body .lpl-modern.lpl-no-control-transitions .lpl-strip{transition:none!important}
@media(max-width:600px){
 html body .lpl-modern.lpl-presentation .lpl-toolbar{min-height:64px}
 .lpl-modern.lpl-presentation .lpl-strip{bottom:64px}
 .lpl-modern.lpl-presentation .lpl-caption{bottom:64px}
 .lpl-modern.lpl-presentation.lpl-strip-visible .lpl-caption{bottom:calc(76px + var(--lpl-thumb-size))}
}
@media(prefers-reduced-motion:reduce){
 html body .lpl-modern .lpl-floating-close,
 html body .lpl-modern .lpl-side-controls,
 html body .lpl-modern .lpl-toolbar,
 html body .lpl-modern .lpl-caption,
 html body .lpl-modern .lpl-strip{transition:none!important}
}
/* The general (non-presentation) auto-hide option only controls its toolbar. */
html body .lpl-modern.lpl-idle:not(.lpl-presentation) .lpl-side-controls{opacity:1!important}
