:root{--carousel-size: 300px;--carousel-padding: 20px;--carousel-bg: #fff;--carousel-radius: 10px;--carousel-shadow: 0 6px 24px rgba(0,0,0,.12);--carousel-control-bg: rgba(0,0,0,.55);--carousel-control-bg-hover: rgba(0,0,0,.70);--carousel-control-fg: #fff}.neo-carousel{width:var(--carousel-size);height:var(--carousel-size);padding:var(--carousel-padding);box-sizing:border-box;background:transparent}.neo-carousel__card{width:100%;height:100%;background:var(--carousel-bg);border-radius:var(--carousel-radius);box-shadow:var(--carousel-shadow);overflow:hidden;display:grid;grid-template-rows:1fr 44px}.neo-carousel__stage{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden}.neo-carousel__img{max-width:100%;max-height:100%;display:none;user-select:none;-webkit-user-drag:none;object-fit:contain;min-height:100%}.neo-carousel__img.is-active{display:block}.neo-carousel__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid rgba(0,0,0,0.06)}.neo-carousel__label{font:13px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:rgba(0,0,0,0.7);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.neo-carousel__controls{display:inline-flex;gap:6px;flex:0 0 auto}.neo-carousel__btn{width:34px;height:28px;border:0;border-radius:8px;background:var(--carousel-control-bg);color:var(--carousel-control-fg);cursor:pointer;display:flex;align-items:center;justify-content:center}.neo-carousel__btn:hover{background:var(--carousel-control-bg-hover)}.neo-carousel__btn:active{transform:translateY(1px)}.neo-carousel__btn svg{width:18px;height:18px;display:block}.neo-carousel__overlay{position:fixed;inset:0;background:rgba(0,0,0,0.88);display:none;z-index:99999;padding:12px;box-sizing:border-box}.neo-carousel__overlay.is-open{display:block}.neo-carousel__overlayContent{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto;padding:12px 12px calc(12px + env(safe-area-inset-bottom)) 12px;box-sizing:border-box}.neo-carousel__overlayImgWrap{position:relative;overflow:hidden;display:grid;place-items:center}.neo-carousel__overlayImg{max-width:100%;max-height:calc(100vh - 90px);user-select:none;-webkit-user-drag:none;transform:translate3d(var(--pan-x, 0px), var(--pan-y, 0px), 0) scale(var(--zoom, 1));transform-origin:center center;will-change:transform;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.35);touch-action:none}.neo-carousel__overlayFooter{display:flex;justify-content:center;gap:10px;padding-top:10px;padding-bottom:2px}.neo-carousel__overlayNavBtn{width:54px;height:54px;border:0;border-radius:16px;background:rgba(255,255,255,0.14);color:#fff;cursor:pointer;display:grid;place-items:center}.neo-carousel__overlayNavBtn:hover{background:rgba(255,255,255,0.22)}.neo-carousel__overlayNavBtn svg{width:22px;height:22px}.neo-carousel__overlay.is-zoomed .neo-carousel__overlayFooter{opacity:0;pointer-events:none}.neo-carousel__overlayClose{position:fixed;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,0.14);color:#fff;cursor:pointer;display:grid;place-items:center;z-index:100000}.neo-carousel__overlayClose:hover{background:rgba(255,255,255,0.22)}.neo-carousel__overlayClose svg{width:20px;height:20px}
