:root{--ig-primary-color:#337ab7;--ig-white:#fff;--ig-black:#000;--ig-background-overlay:rgba(0,0,0,.4);--ig-thumbnail-size:96px;--ig-thumbnail-size-small:80px;--ig-thumbnail-border-width:4px;--ig-thumbnail-border-width-small:3px;--ig-bullet-size:4px;--ig-bullet-size-small:3px}.image-gallery-icon{appearance:none;background-color:transparent;border:0;color:var(--ig-white,#fff);cursor:pointer;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5));outline:none;position:absolute;transition:all .3s ease-out;z-index:4}@media (hover:hover) and (pointer:fine){.image-gallery-icon:hover{color:var(--ig-primary-color,#337ab7)}.image-gallery-icon:hover .image-gallery-svg{transform:scale(1.1)}}.image-gallery-icon:focus{outline:2px solid var(--ig-primary-color,#337ab7)}.image-gallery-using-mouse .image-gallery-icon:focus{outline:none}.image-gallery-fullscreen-button,.image-gallery-play-button{bottom:0;padding:20px}.image-gallery-fullscreen-button .image-gallery-svg,.image-gallery-play-button .image-gallery-svg{height:32px;width:32px}@media (max-width:768px){.image-gallery-fullscreen-button,.image-gallery-play-button{padding:16px}.image-gallery-fullscreen-button .image-gallery-svg,.image-gallery-play-button .image-gallery-svg{height:24px;width:24px}}@media (max-width:480px){.image-gallery-fullscreen-button,.image-gallery-play-button{padding:12px}.image-gallery-fullscreen-button .image-gallery-svg,.image-gallery-play-button .image-gallery-svg{height:16px;width:16px}}.image-gallery-fullscreen-button{right:0}.image-gallery-play-button{left:0}.image-gallery-bottom-nav,.image-gallery-top-nav{left:50%;padding:12px;transform:translateX(-50%)}.image-gallery-bottom-nav .image-gallery-svg,.image-gallery-top-nav .image-gallery-svg{height:120px;width:96px}@media (max-width:768px){.image-gallery-bottom-nav .image-gallery-svg,.image-gallery-top-nav .image-gallery-svg{height:72px;width:48px}}@media (max-width:480px){.image-gallery-bottom-nav .image-gallery-svg,.image-gallery-top-nav .image-gallery-svg{height:48px;width:32px}}.image-gallery-bottom-nav[disabled],.image-gallery-top-nav[disabled]{cursor:not-allowed;opacity:.6;pointer-events:none}.image-gallery-top-nav{top:0}.image-gallery-bottom-nav{bottom:0}.image-gallery-left-nav,.image-gallery-right-nav{padding:48px 12px;top:50%;transform:translateY(-50%)}.image-gallery-left-nav .image-gallery-svg,.image-gallery-right-nav .image-gallery-svg{height:120px;width:64px}@media (max-width:768px){.image-gallery-left-nav .image-gallery-svg,.image-gallery-right-nav .image-gallery-svg{height:72px;width:32px}}@media (max-width:480px){.image-gallery-left-nav .image-gallery-svg,.image-gallery-right-nav .image-gallery-svg{height:48px;width:24px}}.image-gallery-left-nav[disabled],.image-gallery-right-nav[disabled]{cursor:not-allowed;opacity:.6;pointer-events:none}.image-gallery-left-nav{left:0}.image-gallery-right-nav{right:0}.image-gallery{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;position:relative;-webkit-overflow-scrolling:touch}.image-gallery.fullscreen-modal{background:var(--ig-black,#000);bottom:0;height:100%;left:0;position:fixed;right:0;top:0;width:100%;z-index:5}.image-gallery.fullscreen-modal .image-gallery-content{top:50%;transform:translateY(-50%)}.image-gallery-content{line-height:0;position:relative;top:0}.image-gallery-content.fullscreen{background:var(--ig-black,#000)}.image-gallery-content .image-gallery-slide .image-gallery-image{max-height:calc(100vh - 80px)}.image-gallery-content.image-gallery-thumbnails-left .image-gallery-slide .image-gallery-image,.image-gallery-content.image-gallery-thumbnails-right .image-gallery-slide .image-gallery-image{max-height:100vh}.image-gallery-slide-wrapper{position:relative}.image-gallery-slide-wrapper.image-gallery-thumbnails-left,.image-gallery-slide-wrapper.image-gallery-thumbnails-right{display:inline-block;width:calc(100% - 112px)}@media (max-width:768px){.image-gallery-slide-wrapper.image-gallery-thumbnails-left,.image-gallery-slide-wrapper.image-gallery-thumbnails-right{width:calc(100% - 88px)}}.image-gallery-slide-wrapper.image-gallery-rtl{direction:rtl}.image-gallery-swipe{-webkit-transform:translateZ(0);transform:translateZ(0)}.image-gallery-slides,.image-gallery-swipe{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;touch-action:pan-y pinch-zoom}.image-gallery-slides{contain:layout style paint;isolation:isolate;position:relative}.image-gallery-slides-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform}.image-gallery-slides-container.vertical{flex-direction:column;height:100%}.image-gallery-slides-container.vertical .image-gallery-slide{flex:0 0 100%;height:100%;min-height:0}.image-gallery-slides-container.vertical .image-gallery-slide .image-gallery-image{height:100%;max-width:100%;width:auto}.image-gallery-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;flex:0 0 100%;min-width:0;position:relative}.image-gallery-slide .image-gallery-image{object-fit:contain;width:100%}.image-gallery-slide .image-gallery-description{background:var(--ig-background-overlay,rgba(0,0,0,.4));bottom:72px;color:var(--ig-white,#fff);left:0;line-height:1;padding:12px 20px;position:absolute;white-space:normal}@media (max-width:768px){.image-gallery-slide .image-gallery-description{bottom:48px;font-size:.8em;padding:8px 16px}}.image-gallery-bullets{bottom:20px;left:0;margin:0 auto;position:absolute;right:0;text-align:center;width:80%;z-index:4}.image-gallery-bullets .image-gallery-bullets-container{display:inline-block;margin:0 auto;padding:0}.image-gallery-bullets .image-gallery-bullets-inner{align-items:center;display:flex;justify-content:flex-start;padding:2px 0;white-space:nowrap}.image-gallery-bullets .image-gallery-bullet{appearance:none;background-color:transparent;border:1px solid var(--ig-white,#fff);border-radius:50%;box-shadow:0 2px 2px rgba(0,0,0,.6);cursor:pointer;flex-shrink:0;height:calc(var(--ig-bullet-size, 4px)*2 + 2px);margin:0 4px;outline:none;padding:0;transition:all .2s ease-out;width:calc(var(--ig-bullet-size, 4px)*2 + 2px)}@media (max-width:768px){.image-gallery-bullets .image-gallery-bullet{height:calc(var(--ig-bullet-size-small, 3px)*2 + 2px);margin:0 3px;width:calc(var(--ig-bullet-size-small, 3px)*2 + 2px)}}@media (max-width:480px){.image-gallery-bullets .image-gallery-bullet{height:8px;width:8px}}.image-gallery-bullets .image-gallery-bullet:focus{background:var(--ig-primary-color,#337ab7);border:1px solid var(--ig-primary-color,#337ab7);transform:scale(1.2)}.image-gallery-bullets .image-gallery-bullet.active{background:var(--ig-white,#fff);border:1px solid var(--ig-white,#fff);transform:scale(1.2)}@media (hover:hover) and (pointer:fine){.image-gallery-bullets .image-gallery-bullet:hover{background:var(--ig-primary-color,#337ab7);border:1px solid var(--ig-primary-color,#337ab7)}.image-gallery-bullets .image-gallery-bullet.active:hover{background:var(--ig-primary-color,#337ab7)}}.image-gallery-bullets.image-gallery-bullets-vertical{bottom:auto;left:20px;right:auto;top:50%;transform:translateY(-50%);width:auto}.image-gallery-bullets.image-gallery-bullets-vertical .image-gallery-bullets-inner{flex-direction:column;padding:0 2px}.image-gallery-bullets.image-gallery-bullets-vertical .image-gallery-bullet{display:block;margin:4px 0}@media (max-width:768px){.image-gallery-bullets.image-gallery-bullets-vertical .image-gallery-bullet{margin:3px 0}}@media (max-width:480px){.image-gallery-bullets.image-gallery-bullets-vertical .image-gallery-bullet{margin:3px 0}}.image-gallery-thumbnails-wrapper{position:relative}.image-gallery-thumbnails-wrapper.thumbnails-swipe-horizontal{touch-action:pan-y}.image-gallery-thumbnails-wrapper.thumbnails-swipe-vertical{touch-action:pan-x}.image-gallery-thumbnails-wrapper.thumbnails-wrapper-rtl{direction:rtl}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{display:inline-block;vertical-align:top;width:var(--ig-thumbnail-size,96px)}@media (max-width:768px){.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{width:var(--ig-thumbnail-size-small,80px)}}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails{height:100%;left:0;padding:0;position:absolute;top:0;width:100%}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails .image-gallery-thumbnail,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails .image-gallery-thumbnail{display:block;margin-right:0;padding:0}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails .image-gallery-thumbnail+.image-gallery-thumbnail,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails .image-gallery-thumbnail+.image-gallery-thumbnail{margin-left:0;margin-top:2px}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{margin:0 4px}@media (max-width:768px){.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{margin:0 4px}}.image-gallery-thumbnails{overflow:hidden;padding:4px 0}@media (max-width:768px){.image-gallery-thumbnails{padding:4px 0}}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{background:transparent;border:var(--ig-thumbnail-border-width,4px) solid transparent;display:inline-block;padding:0;transition:border .3s ease-out;width:var(--ig-thumbnail-size,96px)}@media (max-width:768px){.image-gallery-thumbnail{border:var(--ig-thumbnail-border-width-small,3px) solid transparent;width:var(--ig-thumbnail-size-small,80px)}}.image-gallery-thumbnail+.image-gallery-thumbnail{margin-left:2px}.image-gallery-thumbnail .image-gallery-thumbnail-inner{display:block;position:relative}.image-gallery-thumbnail .image-gallery-thumbnail-image{line-height:0;vertical-align:middle;width:100%}.image-gallery-thumbnail.active,.image-gallery-thumbnail:focus{border:var(--ig-thumbnail-border-width,4px) solid var(--ig-primary-color,#337ab7);outline:none}@media (max-width:768px){.image-gallery-thumbnail.active,.image-gallery-thumbnail:focus{border:var(--ig-thumbnail-border-width-small,3px) solid var(--ig-primary-color,#337ab7)}}@media (hover:hover) and (pointer:fine){.image-gallery-thumbnail:hover{border:var(--ig-thumbnail-border-width,4px) solid var(--ig-primary-color,#337ab7);outline:none}}@media (hover:hover) and (pointer:fine) and (max-width:768px){.image-gallery-thumbnail:hover{border:var(--ig-thumbnail-border-width-small,3px) solid var(--ig-primary-color,#337ab7)}}.image-gallery-thumbnail-label{box-sizing:border-box;color:var(--ig-white,#fff);font-size:1em;left:0;line-height:1em;padding:5%;position:absolute;text-shadow:0 2px 2px rgba(0,0,0,.6);top:50%;transform:translateY(-50%);white-space:normal;width:100%}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em;line-height:.8em}}.image-gallery-index{background:var(--ig-background-overlay,rgba(0,0,0,.4));color:var(--ig-white,#fff);line-height:1;padding:10px 20px;position:absolute;right:0;top:0;z-index:4}@media (max-width:768px){.image-gallery-index{font-size:.8em;padding:5px 10px}}:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-accent:linear-gradient(135deg,#0ea5e9,#10b981);--accent-color:#0ea5e9;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.app.dark-mode{--bg-primary:#0f172a;--bg-secondary:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#334155;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4)}*{box-sizing:border-box}body,html{font-family:Inter,Raleway,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);min-height:100%}html{height:100%}.app.dark-mode,.app.dark-mode~*,body:has(.app.dark-mode){background:#0f172a}.app{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding-bottom:60px}.app,.dark-mode-toggle{transition:var(--transition)}.dark-mode-toggle{align-items:center;backdrop-filter:blur(10px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50px;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;gap:10px;padding:10px 16px;position:fixed;right:20px;top:20px;z-index:1000}.dark-mode-toggle:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.dark-mode-toggle input{display:none}.dark-mode-toggle label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;margin:0}.gallery-demo{padding:80px 20px 50px;position:relative;text-align:center}.gallery-demo:before{background:var(--bg-accent);content:"";height:400px;left:0;opacity:.05;position:absolute;right:0;top:0;z-index:0}.gallery-demo-header{background:var(--bg-accent);-webkit-background-clip:text;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin:0 0 16px;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;position:relative;z-index:1}.gallery-demo-heart{display:inline-block;font-size:1.15em;line-height:1;margin:.2em auto;padding:0}.gallery-demo-header{line-height:1.1}.gallery-demo-header-3{color:var(--text-secondary);font-size:clamp(1rem,2vw,1.25rem);font-weight:400;line-height:1.6;margin:0 auto 32px;max-width:600px;position:relative;z-index:1}.gallery-demo-subheader{align-items:center;gap:16px;margin-bottom:20px}.feature-badges,.gallery-demo-subheader{display:flex;flex-wrap:wrap;justify-content:center;position:relative;z-index:1}.feature-badges{gap:12px;margin-top:24px}.feature-badge{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50px;color:var(--text-secondary);display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:var(--transition)}.feature-badge:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.feature-badge svg{height:16px;width:16px}.app .image-gallery{box-shadow:var(--shadow-xl);margin:20px auto 40px;width:min(85%,1000px)}@media (max-width:768px){.app .image-gallery{box-shadow:none;margin:16px 0 32px;width:100%}}.app-sandbox{margin:60px auto 40px;-webkit-user-select:none;user-select:none;width:min(90%,800px)}.app-sandbox-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:32px}.app-header{align-items:center;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:600;gap:10px;letter-spacing:-.01em;margin:0 0 24px;text-transform:none}.app-header:before{content:"⚙️"}.app-buttons{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.app-buttons li{display:block}.app-interval-input-group{display:flex;flex-direction:column;gap:6px}.app-interval-label{background:none;border:none;color:var(--text-muted);display:block;font-size:12px;font-weight:600;letter-spacing:.05em;padding:0;text-transform:uppercase}.app-interval-input{-webkit-appearance:none;appearance:none;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-weight:500;margin:0;padding:12px 16px;transition:var(--transition);width:100%}.app-interval-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(14,165,233,.2);outline:none}.app-interval-input:hover{border-color:#94a3b8}select.app-interval-input{cursor:pointer}.app-checkboxes{border-top:1px solid var(--border-color);display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:24px;padding-top:24px}.app-checkboxes li{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;padding:10px 14px;transition:var(--transition)}.app-checkboxes li:hover{background:var(--bg-primary)}.app-checkboxes input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;flex-shrink:0;height:20px;margin:0;position:relative;transition:var(--transition);width:20px}.app-checkboxes input[type=checkbox]:checked{background:linear-gradient(135deg,#0ea5e9,#10b981);border-color:var(--accent-color)}.app-checkboxes input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.app-checkboxes input[type=checkbox]:hover{border-color:var(--accent-color)}.app-checkboxes label{color:var(--text-secondary);cursor:pointer;font-size:14px;margin-left:12px;transition:var(--transition)}.app-checkboxes li:hover label{color:var(--text-primary)}.play-button{background:hsla(0,0%,100%,.95);border:0;border-radius:50%;bottom:0;box-shadow:var(--shadow-xl);cursor:pointer;height:80px;left:0;margin:auto;position:absolute;right:0;top:0;transition:var(--transition);width:80px}.play-button:hover{background:#fff;transform:scale(1.1)}.play-button:after{border-color:transparent transparent transparent #0ea5e9;border-style:solid;border-width:15px 0 15px 24px;content:"";display:block;left:54%;position:absolute;top:50%;transform:translate(-50%,-50%)}.close-video:before{align-items:center;background:rgba(0,0,0,.7);border-radius:50%;color:#fff;content:"✕";cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;padding:10px;position:absolute;right:10px;top:10px;transition:var(--transition);width:40px;z-index:1}.close-video:hover:before{background:rgba(0,0,0,.9)}.video-wrapper{height:0;padding:33.35% 0;position:relative}.video-wrapper iframe{height:100%;left:0;position:absolute;top:0;width:100%}li,ul{list-style:none}.gallery-container,li,ul{margin:0;padding:0}@media (max-width:768px){.gallery-demo{padding:60px 16px 30px}.dark-mode-toggle{padding:8px 12px;right:12px;top:12px}.app-sandbox-content{padding:20px}.app-buttons,.app-checkboxes{grid-template-columns:1fr}.feature-badges{gap:8px}.feature-badge{font-size:12px;padding:6px 12px}.play-button{height:60px;width:60px}.play-button:after{border-width:10px 0 10px 16px}}@media (max-width:480px){.gallery-demo-header{font-size:2rem}.gallery-demo-header-3{font-size:.95rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gallery-demo{animation:fadeInUp .6s ease-out}.app .image-gallery{animation:fadeInUp .6s ease-out .2s both}.app-sandbox{animation:fadeInUp .6s ease-out .4s both}