.page-hero{padding:2rem 0;background:transparent;border-bottom:none}.page-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;margin:.8rem 0 .2rem;color:var(--text-primary);text-align:center}.page-subtitle{font-size:1.125rem;color:var(--text-secondary);text-align:center}.gallery-main{background:#fff;min-height:100vh}.filter-section{padding:.5rem 0;background:var(--bg-primary);position:relative;z-index:100}.desktop-filter-controls{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;position:relative;z-index:200}.mobile-filter-compact{display:none;justify-content:center}@media (max-width: 768px){.desktop-filter-controls{display:none}.mobile-filter-compact{display:flex;justify-content:center}.mobile-filter-compact .filter-buttons{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;width:fit-content;max-width:100%;margin:0 auto;position:relative;transform:translateZ(0);will-change:auto;background:var(--bg-secondary);border-radius:50px;padding:4px;border:1px solid var(--border-color)}.mobile-filter-compact .filter-buttons::-webkit-scrollbar{display:none}.mobile-filter-compact .filter-btn{flex:0 0 auto;min-width:auto;padding:clamp(.35rem,1.2vw,.5rem) clamp(.6rem,2vw,.8rem);font-size:clamp(.75rem,1.8vw,.85rem);white-space:nowrap}.filter-section{padding:1rem 0 0;margin-bottom:1rem;background:var(--bg-primary)}}.filter-wrapper{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1.5rem}.filter-group{flex:1;min-width:200px}.filter-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem;position:relative;transform:translateZ(0);will-change:auto;background:var(--bg-secondary);border-radius:50px;padding:4px;border:1px solid var(--border-color);width:fit-content}.filter-indicator{position:absolute;top:4px;left:4px;height:calc(100% - 8px);background:var(--bg-primary);border-radius:50px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1;box-shadow:0 1px 3px #0000001a}.filter-btn{padding:.5rem 1rem;background:transparent;border:none;border-radius:50px;color:var(--text-secondary);font-size:clamp(.8rem,2.2vw,.95rem);font-weight:500;cursor:pointer;transition:all .3s ease;position:relative;z-index:2;white-space:nowrap}.filter-btn:hover{color:var(--text-primary)}.filter-btn.active{color:var(--text-primary);font-weight:600}.filter-btn[data-filter=all]:hover{color:var(--text-primary)}.filter-btn[data-filter=all].active{color:var(--text-primary);font-weight:600}.filter-btn[data-filter=all].active~.filter-indicator{background:#fff}.filter-btn[data-filter=a]:hover{color:var(--text-primary)}.filter-btn[data-filter=a].active{color:#4338ca;font-weight:600}.filter-btn[data-filter=a].active~.filter-indicator{background:#fff}.filter-btn[data-filter=b]:hover{color:var(--text-primary)}.filter-btn[data-filter=b].active{color:#166534;font-weight:600}.filter-btn[data-filter=b].active~.filter-indicator{background:#fff}.filter-btn[data-filter=c]:hover{color:var(--text-primary)}.filter-btn[data-filter=c].active{color:#7c3aed;font-weight:600}.filter-btn[data-filter=c].active~.filter-indicator{background:#fff}.gallery-section .container{max-width:1680px}#galleryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;justify-content:center;margin:0 auto 3rem;max-width:1680px;margin-left:auto;margin-right:auto}@media (min-width: 1200px){#galleryGrid{grid-template-columns:repeat(4,1fr);max-width:1680px}}@media (max-width: 1199px) and (min-width: 900px){#galleryGrid{grid-template-columns:repeat(3,1fr);max-width:900px}}@media (max-width: 899px){#galleryGrid{grid-template-columns:repeat(2,1fr)!important;gap:.8rem;padding:0 .5rem;max-width:600px;margin:0 auto 1.2rem;justify-content:center}.gallery-section .container{max-width:100%;padding:0 1rem}}@media (max-width: 480px){#galleryGrid{gap:.6rem!important;padding:0 .4rem!important;margin:0 auto 1rem!important}}.custom-select{position:relative;min-width:140px}.select-trigger{padding:.5rem 2.5rem .5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:flex-start;-webkit-user-select:none;user-select:none}.select-trigger:hover{border-color:var(--primary-color)}.custom-select.open .select-trigger{border-color:var(--primary-color);background:var(--bg-primary);box-shadow:0 4px 12px #6366f126}.select-arrow{transition:transform .3s ease;color:var(--text-secondary);margin-left:auto;flex-shrink:0;transform-origin:center center}.custom-select.open .select-arrow{transform:rotate(180deg);color:var(--primary-color)}.select-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 40px #0000001a;z-index:2000;opacity:0;visibility:hidden;max-height:0;transform:translateY(-10px) scale(.95);transition:all .35s cubic-bezier(.25,.46,.45,.94),max-height .35s cubic-bezier(.25,.46,.45,.94);overflow:hidden;transform-origin:top center}.custom-select.open .select-dropdown{opacity:1;visibility:visible;max-height:300px;transform:translateY(0) scale(1);overflow:visible}.select-option{padding:.5rem 1rem;cursor:pointer;transition:all .2s ease;position:relative;font-size:.875rem;border-bottom:1px solid var(--border-color)}.select-option:last-child{border-bottom:none}.select-option:hover{color:var(--primary-color)}.select-option.active{color:var(--primary-color);font-weight:600}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:2rem 0;flex-wrap:wrap}.page-btn{min-width:40px;height:40px;padding:0 .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.375rem}.page-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.page-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.page-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.page-btn.prev-btn,.page-btn.next-btn{padding:0 1rem}.page-ellipsis{color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center;padding:0 .5rem}.gallery-section{padding:1.5rem 0;min-height:500px}@media (max-width: 768px){.gallery-section{padding:.4rem 0}.gallery-section .container{padding:0 .3rem}}@media (max-width: 480px){.gallery-section{padding:.3rem 0}.gallery-section .container{padding:0 .2rem}}#galleryGrid.list-view{grid-template-columns:1fr;gap:1rem;max-width:1000px;margin:0 auto 3rem}.gallery-item{position:relative;width:100%;background:var(--bg-primary);border-radius:12px;overflow:hidden;transition:all .3s ease;cursor:pointer;box-shadow:var(--shadow-sm);opacity:0;animation:fadeInUp .6s ease forwards}.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.gallery-item-image{position:relative;aspect-ratio:5/8;overflow:hidden;background:var(--bg-secondary)}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#e6e6e6 25%,#f0f0f0,#e6e6e6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:1;transition:opacity .3s ease}.gallery-item-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s ease;position:relative;z-index:2}.gallery-item.loading .gallery-item-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:1}.gallery-item.loaded .gallery-item-image:before{display:none}.gallery-item.error .gallery-item-image:after{content:"加载失败";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#999;font-size:12px;z-index:3}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.gallery-item:hover .gallery-item-image img{transform:scale(1.05)}.item-name-overlay{position:absolute;bottom:16px;right:16px;pointer-events:none;line-height:1}.item-name-shadow,.item-name-main{font-size:clamp(.875rem,3vw,1.5rem);font-weight:700;letter-spacing:.5px;text-shadow:0 2px 12px rgba(0,0,0,.3);transition:all .4s cubic-bezier(.23,1,.32,1);white-space:nowrap;line-height:1}@media (max-width: 480px){.item-name-shadow,.item-name-main{font-size:.875rem}}@media (min-width: 481px) and (max-width: 768px){.item-name-shadow,.item-name-main{font-size:1rem}}@media (min-width: 769px) and (max-width: 1024px){.item-name-shadow,.item-name-main{font-size:1.125rem}}@media (min-width: 1025px){.item-name-shadow,.item-name-main{font-size:1.25rem}}.item-name-shadow{position:absolute;top:0;right:0;color:#ffffff1e;z-index:1;transition:all .4s cubic-bezier(.23,1,.32,1)}.item-name-main{position:relative;color:#fff;z-index:2}.gallery-item:hover .item-name-main{transform:translate(-8px,-8px) scale(1.5);transform-origin:bottom right}.gallery-item:hover .item-name-shadow{transform:translate(-8px,-8px) scale(1.5);color:var(--primary-color, #6366f1)!important;transform-origin:bottom right}.item-series-overlay{position:absolute;bottom:16px;left:16px;padding:0;background:transparent;color:#fff!important;font-size:clamp(.625rem,2.5vw,.875rem);font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.612);transition:all .3s ease;pointer-events:none;border:none!important;line-height:1;z-index:10}@media (max-width: 480px){.item-series-overlay{font-size:.625rem}}@media (min-width: 481px) and (max-width: 768px){.item-series-overlay{font-size:.75rem}}@media (min-width: 769px){.item-series-overlay{font-size:.875rem}}.gallery-item:hover .item-series-overlay{text-shadow:0 3px 12px rgba(128,128,128,1);transform:translateY(-3px);transform-origin:bottom left}.gallery-item-info{display:none}.loading-placeholder{pointer-events:none}.placeholder-image,.placeholder-title,.placeholder-meta{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-primary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading 1.5s infinite}.placeholder-image{aspect-ratio:5/8;border-radius:12px 12px 0 0}.placeholder-title{height:24px;margin:1.25rem 1.25rem .5rem;border-radius:4px}.placeholder-meta{height:16px;width:60%;margin:0 1.25rem 1.25rem;border-radius:4px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.load-more-wrapper{text-align:center}.load-more-btn{padding:.75rem 2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50px;color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .2s ease}.load-more-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.loading-spinner{display:inline-block;padding:2rem}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lightbox,#lightbox{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:none;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:opacity .2s ease-out,visibility .2s ease-out,backdrop-filter .2s ease-out}.lightbox.active,#lightbox.active{pointer-events:auto;opacity:1;visibility:visible;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.lightbox:not(.active),#lightbox:not(.active){pointer-events:none;opacity:0;visibility:hidden;z-index:-1}#lightbox:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000001a;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);opacity:0;transition:opacity .2s ease-out}#lightbox.active:before{opacity:1}.lightbox-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000e6;cursor:pointer;opacity:0;transition:opacity .2s ease-out}.lightbox.active .lightbox-backdrop{opacity:1}.lightbox-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:none;opacity:0;transition:opacity .2s ease-out}.lightbox.active .lightbox-content,#lightbox.active .lightbox-content{opacity:1;pointer-events:auto}.lightbox-close,#lightboxClose{position:absolute;top:.5rem;right:.5rem;width:48px;height:48px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:#000;transition:opacity .25s ease,transform .3s ease;z-index:10;opacity:0;transform:scale(.8) rotate(90deg)}#lightbox.active #lightboxClose,.lightbox.active .lightbox-close{opacity:1;transform:scale(1) rotate(0);transition:opacity .25s ease,transform .3s ease}.lightbox-close:hover,#lightboxClose:hover{transform:scale(1.2) rotate(90deg)}@media (min-width: 769px){.lightbox-close,#lightboxClose{position:absolute!important;top:.5rem!important;right:.5rem!important;left:auto!important;width:48px!important;height:48px!important}.close-x.desktop-only{display:block!important}.close-arrow.mobile-only{display:none!important}.lightbox-close:hover,#lightboxClose:hover{transform:scale(1.2) rotate(90deg)!important}.lightbox-gallery{position:relative;overflow:hidden}.lightbox-gallery img,#mainImage{transition:none;position:relative;z-index:1}}.lightbox-inner,#lightboxCard{background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000026;width:calc(100vw - 4rem);height:calc(100vh - 4rem);max-width:calc(100vw - 4rem);max-height:calc(100vh - 4rem);min-width:calc(100vw - 4rem);min-height:calc(100vh - 4rem);display:flex;overflow:hidden;position:relative;opacity:0;transition:opacity .2s ease-out}@media (max-width: 768px){.lightbox-inner,#lightboxCard{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;min-width:100vw!important;min-height:100vh!important;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-radius:0;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;top:0!important;left:0!important;right:0!important;position:fixed!important}.lightbox-gallery{width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:var(--mobile-gallery-height, 60vh)!important;min-height:var(--mobile-gallery-height, 60vh)!important;max-height:var(--mobile-gallery-height, 60vh)!important;flex:none!important}.lightbox-gallery img,#mainImage{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}}@media (min-width: 769px) and (max-width: 1024px){.lightbox-inner,#lightboxCard{width:var(--desktop-gallery-width, min(90vw, 900px))!important;height:var(--desktop-gallery-height, min(85vh, 700px))!important;max-width:var(--desktop-gallery-width, min(90vw, 900px))!important;max-height:var(--desktop-gallery-height, min(85vh, 700px))!important;min-width:var(--desktop-gallery-width, min(85vw, 800px))!important;min-height:var(--desktop-gallery-height, min(80vh, 600px))!important;flex-direction:row!important;overflow:hidden!important;border-radius:20px!important}.lightbox-gallery{flex:1!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:auto!important;max-height:none!important}}@media (min-width: 1025px) and (max-width: 1440px){.lightbox-inner,#lightboxCard{width:var(--desktop-gallery-width, min(85vw, 1200px))!important;height:var(--desktop-gallery-height, min(80vh, 900px))!important;max-width:var(--desktop-gallery-width, min(85vw, 1200px))!important;max-height:var(--desktop-gallery-height, min(80vh, 900px))!important;min-width:var(--desktop-gallery-width, min(80vw, 1000px))!important;min-height:var(--desktop-gallery-height, min(75vh, 700px))!important;flex-direction:row!important;overflow:hidden!important;border-radius:20px!important}.lightbox-gallery{flex:1!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:auto!important;max-height:none!important}}@media (min-width: 1441px) and (max-width: 1920px){.lightbox-inner,#lightboxCard{width:var(--desktop-gallery-width, min(80vw, 1400px))!important;height:var(--desktop-gallery-height, min(85vh, 1000px))!important;max-width:var(--desktop-gallery-width, min(80vw, 1400px))!important;max-height:var(--desktop-gallery-height, min(85vh, 1000px))!important;min-width:var(--desktop-gallery-width, min(75vw, 1200px))!important;min-height:var(--desktop-gallery-height, min(80vh, 800px))!important;flex-direction:row!important;overflow:hidden!important;border-radius:20px!important}.lightbox-gallery{flex:1!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:auto!important;max-height:none!important}}@media (min-width: 1921px){.lightbox-inner,#lightboxCard{width:var(--desktop-gallery-width, min(75vw, 1600px))!important;height:var(--desktop-gallery-height, min(80vh, 1200px))!important;max-width:var(--desktop-gallery-width, min(75vw, 1600px))!important;max-height:var(--desktop-gallery-height, min(80vh, 1200px))!important;min-width:var(--desktop-gallery-width, min(70vw, 1400px))!important;min-height:var(--desktop-gallery-height, min(75vh, 1000px))!important;flex-direction:row!important;overflow:hidden!important;border-radius:20px!important}.lightbox-gallery{flex:1!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:auto!important;max-height:none!important}}#lightbox.active #lightboxCard,.lightbox.active .lightbox-inner{opacity:1}@media (min-width: 769px){.lightbox-inner,#lightboxCard{flex-direction:row!important;overflow:hidden!important;border-radius:20px!important;-webkit-overflow-scrolling:auto!important;scroll-behavior:auto!important}.lightbox-gallery{flex:1!important;min-width:0!important;background:#f8f8f8!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:1rem!important;width:auto!important;max-width:none!important;height:auto!important;min-height:auto!important;max-height:none!important}.lightbox-gallery img,#mainImage{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important}}.lightbox-gallery{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem;position:relative;background:#f8f8f8;align-items:center;justify-content:center;overflow:hidden}.lightbox-gallery .gallery-images-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:flex-start}.main-image-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.lightbox-gallery>img,.lightbox-gallery>#mainImage{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block;position:relative;z-index:1}.gallery-carousel-wrapper{width:100%;height:100%;overflow:hidden;position:relative;cursor:grab;-webkit-user-select:none;user-select:none}.gallery-carousel-wrapper:active{cursor:grabbing}.gallery-carousel-container{display:flex;height:100%;transition:transform .3s cubic-bezier(.25,.8,.25,1)}.gallery-carousel-slide{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:100%}.gallery-carousel-container.transitioning{transition:transform .3s cubic-bezier(.25,.8,.25,1)}.lightbox-gallery{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem;position:relative;background:#f8f8f8;align-items:center;justify-content:center;overflow:hidden;opacity:0;transition:opacity .25s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.lightbox.active .lightbox-gallery,#lightbox.active .lightbox-gallery{opacity:1;transition:opacity .25s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.lightbox-gallery img,#mainImage{width:100%;height:100%;object-fit:contain;position:relative;z-index:1;cursor:default!important;-webkit-user-select:none;user-select:none;opacity:1;transform:scale(1);display:block}.gallery-carousel-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;-webkit-user-select:none;display:block}@media (min-width: 769px){.lightbox-gallery img,#mainImage{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center center;position:relative;z-index:1;cursor:default!important;-webkit-user-select:none;user-select:none;opacity:1;transform:scale(1);display:block}.gallery-carousel-slide img,.gallery-images-wrapper .gallery-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center center;pointer-events:none;user-select:none;-webkit-user-drag:none;-webkit-user-select:none;display:block}}.lightbox.active .lightbox-gallery img,.lightbox.active #mainImage,#lightbox.active .lightbox-gallery img,#lightbox.active #mainImage{opacity:1;transform:scale(1)}.image-switcher,.image-switcher.touch-enabled,.swipe-area{display:none!important;pointer-events:none!important}.gallery-nav,.image-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#0006;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none;color:#fff;font-size:1.5rem;box-shadow:0 2px 8px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;pointer-events:auto;isolation:isolate;opacity:0;transform:translateY(-50%) scale(.8);transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.lightbox.active .gallery-nav,.lightbox.active .image-nav,#lightbox.active .gallery-nav,#lightbox.active .image-nav{opacity:1;transform:translateY(-50%) scale(1);transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.gallery-nav:hover,.image-nav:hover{background:#0006;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 16px #0003;color:#fff}.gallery-nav.prev,.image-nav.prev{left:1.5rem}.gallery-nav.next,.image-nav.next{right:1.5rem}.gallery-nav svg,.image-nav svg{stroke:#fff;width:20px;height:20px;fill:none;stroke-width:2;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-images-wrapper{display:flex;height:100%;transition:transform .3s cubic-bezier(.25,.8,.25,1);position:relative;width:100%}.gallery-images-wrapper.transitioning{transition:transform .3s cubic-bezier(.25,.8,.25,1)}.gallery-image{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:100%;position:relative}.gallery-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.image-dots{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:5;opacity:0;transform:translate(-50%) translateY(20px);transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.lightbox.active .image-dots,#lightbox.active .image-dots{opacity:1;transform:translate(-50%) translateY(0);transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.image-dot{width:8px;height:8px;border-radius:50%;background-color:#ffffff80;cursor:pointer;transition:all .3s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.image-dot.active{background-color:#fff;width:24px;border-radius:4px}.image-dot:hover{background-color:#fffc}.lightbox-info{width:400px;min-width:400px;max-width:400px;flex-shrink:0;background:#fff;padding:3rem;overflow-y:auto;display:flex;flex-direction:column;opacity:0;transform:translate(30px);transition:all .5s cubic-bezier(.23,1,.32,1);transition-delay:.2s}#lightbox.active .lightbox-info,.lightbox.active .lightbox-info{opacity:1;transform:translate(0);transition:all .5s cubic-bezier(.23,1,.32,1);transition-delay:.2s}.work-title,#workTitle{font-size:2rem;font-weight:700;color:#111;margin:0;flex:1}.work-info{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;align-items:center}.info-section{margin-bottom:2rem}.info-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#999;margin-bottom:.75rem}.info-value{color:var(--text-primary);font-size:.875rem}.work-description,#workDescription{color:#555;line-height:1.8}.work-tags{display:flex;flex-wrap:wrap;gap:.5rem}.work-tag{padding:.25rem .75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:16px;color:var(--primary-color);font-size:.75rem;font-weight:500}.work-actions{display:flex;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.action-btn{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none;text-align:center}.action-btn:hover,.action-btn.primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.action-btn.primary:hover{background:#6366f1e6}.work-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.work-series-tag{padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:500;display:inline-block;flex-shrink:0}.work-series-tag.series-a{background:#6366f11a;color:#6366f1}.work-series-tag.series-b{background:#1665341a;color:#166534}.work-series-tag.series-c{background:#ff73001a;color:#ff7300}.work-source-tag{padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:500;display:inline-block;flex-shrink:0;background:#9ca3af26;color:#6b7280}.work-meta-text{display:flex;align-items:center;gap:.6rem;color:#6b7280;font-size:.875rem;margin-bottom:2rem}.work-type-text,.work-date-text{font-weight:500}.meta-separator{color:#d1d5db}.work-series{padding:.375rem .875rem;border-radius:20px;font-size:.875rem;font-weight:500;display:inline-block;color:#fff}.work-images-preview{position:relative;margin-bottom:1rem}.work-images-preview:before,.work-images-preview:after{content:"";position:absolute;top:0;bottom:4px;width:40px;pointer-events:none;z-index:1;opacity:1;transition:opacity .3s ease}.work-images-preview:before{left:0;background:linear-gradient(to right,white,transparent)}.work-images-preview:after{right:0;background:linear-gradient(to left,white,transparent)}.work-images-preview.hide-left-gradient:before{opacity:0}.work-images-preview.hide-right-gradient:after{opacity:0}.work-images-preview:has(.work-thumbnail-item:only-child):before,.work-images-preview:has(.work-thumbnail-item:only-child):after{display:none}.work-thumbnails,#workThumbnails,#thumbnailsContainer{display:flex;overflow-x:auto;gap:.5rem;padding:.25rem 4px;margin-bottom:0;scroll-behavior:smooth;transition:all .3s cubic-bezier(.23,1,.32,1)}.work-thumbnails::-webkit-scrollbar,#workThumbnails::-webkit-scrollbar,#thumbnailsContainer::-webkit-scrollbar{height:4px}.work-thumbnails::-webkit-scrollbar-track,#workThumbnails::-webkit-scrollbar-track,#thumbnailsContainer::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.work-thumbnails::-webkit-scrollbar-thumb,#workThumbnails::-webkit-scrollbar-thumb,#thumbnailsContainer::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.work-thumbnails::-webkit-scrollbar-thumb:hover,#workThumbnails::-webkit-scrollbar-thumb:hover,#thumbnailsContainer::-webkit-scrollbar-thumb:hover{background:#ffffff80}.work-thumbnail-item,.thumbnail-item{width:80px;height:80px;flex-shrink:0;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.6;transition:all .2s ease;border:2px solid transparent;position:relative;display:block;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.work-thumbnail-item:hover,.thumbnail-item:hover{opacity:1;transform:scale(1.05)}.work-thumbnail-item.active,.thumbnail-item.active{opacity:1;border-color:var(--primary-color, #6366f1);transform:none;box-shadow:none}.work-thumbnail-item img,.thumbnail-item img{width:100%;height:100%;object-fit:cover;pointer-events:none;display:block}.fade-in{animation:fadeIn .3s ease-in-out}.fade-out{animation:fadeOut .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.image-loading{opacity:.5;transition:opacity .3s ease}.image-loaded{opacity:1}.lightbox-info::-webkit-scrollbar{width:6px}.lightbox-info::-webkit-scrollbar-track{background:transparent}.lightbox-info::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.lightbox-info::-webkit-scrollbar-thumb:hover{background:#0000004d}.gallery-nav,.image-nav,.lightbox-close{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.lightbox-close:focus,.gallery-nav:focus,.image-nav:focus,.action-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (min-width: 769px) and (max-width: 800px){.lightbox-inner,#lightboxCard{width:min(95vw,750px);height:min(90vh,650px);max-width:min(95vw,750px);max-height:min(90vh,650px);min-width:min(90vw,700px);min-height:min(85vh,600px);flex-direction:row;overflow:hidden;border-radius:12px}}@media (max-width: 768px){.filter-wrapper{flex-direction:column}.view-toggle{margin-left:0}.gallery-item-image{aspect-ratio:5/8}.item-title{font-size:1rem}.list-view .gallery-item{flex-direction:column;height:auto}.list-view .gallery-item-image{width:100%;aspect-ratio:16/9}.pagination{gap:.25rem;margin:2rem 0 1rem}.page-btn{min-width:36px;height:36px;font-size:.8125rem}.page-btn.prev-btn,.page-btn.next-btn{padding:0 .75rem}.page-btn svg{width:14px;height:14px}.lightbox-content{padding:0;margin:0}.lightbox,#lightbox{transform:scale(1.05);transition:all .3s cubic-bezier(.23,1,.32,1)}.lightbox.active,#lightbox.active{transform:scale(1);transition:all .3s cubic-bezier(.23,1,.32,1)}.lightbox-inner,#lightboxCard{width:100vw;height:100vh;max-width:100vw;max-height:100vh;min-width:100vw;min-height:100vh;border-radius:0;margin:0;padding:0;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:#fff;position:relative;opacity:0;transform:translateY(100vh);transition:all .35s cubic-bezier(.23,1,.32,1);-webkit-overflow-scrolling:touch;scroll-behavior:smooth;display:flex;align-items:stretch;justify-content:flex-start}.lightbox.active #lightboxCard,#lightbox.active #lightboxCard{opacity:1;transform:translateY(0);transition:all .35s cubic-bezier(.23,1,.32,1)}#lightbox{padding:0!important;margin:0!important}#lightbox:not(.active){pointer-events:none;opacity:0;visibility:hidden;z-index:-1}.lightbox-close,#lightboxClose{position:absolute!important;top:.5rem!important;right:.5rem!important;left:auto!important;width:48px!important;height:48px!important;background:transparent!important;border-radius:50%;color:#fff!important;z-index:10000;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;justify-content:center;border:none;opacity:0;transform:scale(.8) rotate(90deg);transition:all .3s ease;font-size:1.75rem!important;text-shadow:0 2px 4px rgba(0,0,0,.5)!important;box-shadow:none!important}.lightbox.active #lightboxClose,#lightbox.active #lightboxClose{opacity:1;transform:scale(1) rotate(0);transition:all .3s ease}.lightbox-close:hover,#lightboxClose:hover{transform:scale(1.2)!important;background:transparent!important;color:#fff!important}.close-arrow.mobile-only{display:block}.lightbox-gallery{width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:60vh;min-height:60vh;max-height:70vh;flex:none;flex-shrink:0;display:block;background:#fff;padding:0;margin:0;position:relative;overflow:hidden;opacity:0;transform:translateY(50px);transition:all .5s cubic-bezier(.23,1,.32,1);transition-delay:.1s;touch-action:auto;user-select:none;-webkit-user-select:none}.lightbox.active .lightbox-gallery,#lightbox.active .lightbox-gallery{opacity:1;transform:translateY(0);transition:all .5s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.lightbox-gallery img,#mainImage{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;display:block;margin:0;padding:0;border-radius:0;background:#fff;opacity:1;transform:scale(1);transition:all .3s cubic-bezier(.25,.8,.25,1);touch-action:auto;user-select:none;-webkit-user-select:none;pointer-events:auto}.gallery-images-wrapper .gallery-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}#mainImage.switching{opacity:0;transform:scale(.95);transition:all .15s ease-out}#mainImage.switching-in{opacity:1;transform:scale(1);transition:all .15s ease-in}.lightbox.active #mainImage,#lightbox.active #mainImage{opacity:1;transform:scale(1)}.gallery-nav,.image-nav{display:none!important}#imageCounter{display:block!important;position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#0000004d;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;opacity:0;transform:translate(-50%) translateY(20px);transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.lightbox.active #imageCounter,#lightbox.active #imageCounter{opacity:1;transform:translate(-50%) translateY(0);transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.1s}.lightbox-info{width:100%;max-width:100vw;min-width:0;padding:clamp(1rem,4vw,1.5rem);border:none;background:#fff;margin:0;flex:none;flex-shrink:0;overflow:visible;border-top:none;opacity:0;transform:translateY(30px) scale(.95);transform-origin:center center;transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.15s;box-sizing:border-box;padding-bottom:clamp(2rem,6vw,3rem);min-height:40vh}.lightbox.active .lightbox-info,#lightbox.active .lightbox-info{opacity:1;transform:translateY(0) scale(1);transition:all .4s cubic-bezier(.23,1,.32,1);transition-delay:.15s}.work-title,#workTitle{font-size:clamp(1.5rem,6vw,2rem);margin-bottom:.5rem;color:#111;font-weight:700;line-height:1.2;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.work-series-tag{font-size:clamp(.85rem,3.5vw,1rem);padding:clamp(.3rem,2vw,.4rem) clamp(.7rem,3vw,.8rem);margin:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:clamp(12px,3vw,16px);font-weight:500;text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none;line-height:1}.work-meta-text{font-size:clamp(.8rem,3vw,.9rem);margin-bottom:1.5rem;color:#666;flex-wrap:wrap;line-height:1.4}.work-description,#workDescription{font-size:clamp(.9rem,3.5vw,1rem);line-height:1.6;color:#444;display:block;-webkit-line-clamp:none;-webkit-box-orient:unset;line-clamp:none;overflow:visible;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.work-thumbnails,#workThumbnails,#thumbnailsContainer{display:flex;overflow-x:auto;gap:clamp(.25rem,1.5vw,.5rem);padding:clamp(.25rem,1.5vw,.5rem) 0;margin-bottom:1.5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;touch-action:pan-x}.work-thumbnail-item,.thumbnail-item{width:clamp(60px,15vw,80px);height:clamp(60px,15vw,80px);flex-shrink:0;border-radius:clamp(4px,2vw,8px);overflow:hidden;border:2px solid transparent;scroll-snap-align:start;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.work-thumbnail-item.active,.thumbnail-item.active{border-color:var(--primary-color, #6366f1);box-shadow:none;transform:none}.work-thumbnail-item img,.thumbnail-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.work-actions{gap:clamp(.5rem,2vw,.75rem);margin-top:1rem;padding:1rem 0 clamp(1.5rem,4vw,2rem);border-top:1px solid var(--border-color);flex-direction:column}.action-btn{padding:clamp(.6rem,3vw,.8rem) clamp(1rem,4vw,1.5rem);font-size:clamp(.8rem,3.5vw,.9rem);border-radius:clamp(6px,2vw,8px);font-weight:500;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}.work-title-row{display:flex;flex-direction:row;align-items:center;gap:clamp(.6rem,3vw,1rem);margin-bottom:.5rem;width:100%;box-sizing:border-box}.work-title-row h2{font-size:clamp(1.75rem,7vw,2.2rem);margin:0;line-height:1.2;flex:1;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:none}.image-switcher,.swipe-area{display:none;pointer-events:none}.lightbox-gallery,.lightbox-gallery *,.lightbox-info,.lightbox-info *{cursor:default}}@media (max-width: 480px){.page-hero{padding:2rem 0}.mobile-filter-toggle{padding:.75rem 1rem;font-size:.875rem;min-width:200px;max-width:200px}.mobile-filter-compact .custom-select{min-width:200px;max-width:200px}.item-category,.item-date{font-size:.75rem}.page-btn.prev-btn span,.page-btn.next-btn span{display:none}.page-btn.prev-btn,.page-btn.next-btn{min-width:36px;padding:0}.work-title-row h2{font-size:clamp(1.3rem,7vw,1.6rem);max-width:none}.work-series-tag{font-size:clamp(.75rem,3vw,.9rem);padding:clamp(.2rem,1.5vw,.3rem) clamp(.5rem,2.5vw,.6rem);margin:0;border-radius:clamp(10px,2.5vw,14px);font-weight:500;display:inline-flex;align-items:center;justify-content:center;line-height:1}.work-meta-text{font-size:clamp(.8rem,4vw,.9rem)}.action-btn{min-height:48px;padding:clamp(.8rem,4vw,1rem) clamp(1rem,4vw,1.2rem)}}.select-trigger{position:relative}.select-arrow{position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);margin-left:0;transform-origin:center center}.custom-select.open .select-arrow{transform:translateY(-50%) rotate(180deg)}.mobile-lightbox-container::-webkit-scrollbar,.lightbox-info::-webkit-scrollbar{display:none}.mobile-lightbox-container,.lightbox-info{-ms-overflow-style:none;scrollbar-width:none}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeInUp .6s ease forwards}.empty-icon{margin-bottom:1.5rem;opacity:1;display:flex;justify-content:center;align-items:center}.empty-icon img{max-width:120px;max-height:120px;width:auto;height:auto;border:none;object-fit:contain}.empty-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.empty-text{font-size:1.125rem;color:var(--text-secondary);margin:0;font-weight:500}
