.gallery-page{color:#fff;min-height:100vh;font-family:var(--font-geist-sans);background:#050505;overflow-x:hidden}.gallery-hero{text-align:center;padding:13rem 2rem 6rem;position:relative;overflow:hidden}.gallery-hero:before{content:"";pointer-events:none;background:radial-gradient(90% 55% at 50% 0,#ffffff0e 0%,#0000 70%);position:absolute;inset:0}.gallery-hero:after{content:"";pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");width:200%;height:200%;animation:7s step-end infinite grainShift;position:absolute;inset:-50%}@keyframes grainShift{0%{transform:translate(0)}20%{transform:translate(-3%,4%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-5%,1%)}80%{transform:translate(5%,-3%)}to{transform:translate(0)}}.gallery-hero-label{font-family:var(--font-geist-mono);letter-spacing:.55em;color:#ffffff47;text-transform:uppercase;margin-bottom:2.5rem;font-size:.65rem;display:block}.gallery-hero-title{letter-spacing:.08em;background:linear-gradient(#fff 0%,#ffffff1f 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 40px #ffffff14);-webkit-background-clip:text;background-clip:text;margin-bottom:3rem;font-family:JapanRamen,sans-serif;font-size:clamp(4rem,14vw,9rem);line-height:.9}.gallery-hero-desc{color:#ffffff52;letter-spacing:.015em;max-width:34rem;margin:0 auto;font-size:1rem;line-height:1.8}@media (max-width:1024px){.gallery-hero{padding:8rem 1.5rem 4rem}.gallery-hero-title{font-size:3.5rem}.gallery-hero-desc{font-size:.9rem}}.gallery-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1440px;margin:0 auto 3rem;padding:0 2.5rem;display:flex}@media (max-width:1024px){.gallery-hero{padding:8rem 1.5rem 4rem}.gallery-hero-title{font-size:3.5rem}.gallery-hero-desc{font-size:.9rem}}@media (max-width:640px){.gallery-hero-title{letter-spacing:.04em;font-size:3rem}.gallery-view-btn--cinematic{display:none}}.gallery-view-toggle{background:#ffffff0a;border:1px solid #ffffff14;border-radius:100px;align-items:center;gap:.25rem;padding:.3rem;display:flex}.gallery-view-btn{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:100px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s;display:flex}.gallery-view-btn--active{color:#fff;background:#ffffff1a;box-shadow:0 1px 4px #0000004d}.gallery-view-btn:hover:not(.gallery-view-btn--active){color:#ffffffb3}.gallery-stats{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:3rem;max-width:1440px;margin:0 auto 3.5rem;padding:0 2.5rem;display:flex}.gallery-stats-left{align-items:baseline;gap:1.25rem;display:flex}.gallery-stats-count{font-family:var(--font-orbitron);color:#fff;font-size:2rem;font-weight:700;line-height:1}.gallery-stats-of{color:#ffffff38;font-size:.95rem}.gallery-stats-label{font-family:var(--font-geist-mono);letter-spacing:.42em;color:#ffffff38;text-transform:uppercase;border-left:1px solid #ffffff14;padding-left:1.25rem;font-size:.6rem}.gallery-empty{text-align:center;padding:6rem 2rem}.gallery-empty-text{font-family:var(--font-geist-mono);letter-spacing:.2em;color:#fff3;text-transform:uppercase;font-size:.75rem}.gallery-grid{max-width:1440px;margin:0 auto;padding:0 2.5rem}.gallery-grid--masonry{columns:3;column-gap:1rem}.gallery-grid--masonry .gallery-item{break-inside:avoid;margin-bottom:1rem}.gallery-grid--masonry .gallery-item:nth-child(3n+1) .gallery-item-inner{aspect-ratio:4/3}.gallery-grid--masonry .gallery-item:nth-child(3n+2) .gallery-item-inner{aspect-ratio:3/4}.gallery-grid--masonry .gallery-item:nth-child(3n) .gallery-item-inner{aspect-ratio:1}.gallery-grid--grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.gallery-grid--grid .gallery-item-inner{aspect-ratio:4/3}.gallery-grid--cinematic{flex-direction:column;gap:1.5rem;max-width:900px;display:flex}.gallery-grid--cinematic .gallery-item-inner{aspect-ratio:16/9}.gallery-item{cursor:pointer;opacity:0;background:0 0;border:none;width:100%;padding:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);display:block;transform:translateY(24px)}.gallery-item--visible{opacity:1;transform:translateY(0)}.gallery-item-inner{background:#ffffff08;border-radius:.625rem;width:100%;position:relative;overflow:hidden}.gallery-item-img{object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}.gallery-item:hover .gallery-item-img{transform:scale(1.05)}.gallery-item-overlay{opacity:0;background:linear-gradient(#0000 45%,#000000bf 100%);flex-direction:column;justify-content:flex-end;padding:1.25rem;transition:opacity .4s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-caption{color:#ffffffe6;letter-spacing:.01em;text-align:left;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.gallery-item-actions{gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem}.gallery-item-zoom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;opacity:0;background:#ffffff1a;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .45s cubic-bezier(.16,1,.3,1);display:flex;transform:scale(.6)rotate(-90deg)}.gallery-item:hover .gallery-item-zoom{opacity:1;transform:scale(1)rotate(0)}.gallery-item-rank{font-family:var(--font-geist-mono);color:#ffffff4d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.05em;opacity:0;background:#0006;border:1px solid #ffffff14;border-radius:100px;padding:.2rem .55rem;font-size:.6rem;transition:all .35s;position:absolute;top:1rem;left:1rem;transform:translateY(-4px)}.gallery-item:hover .gallery-item-rank{opacity:1;transform:translateY(0)}.gallery-skeleton{pointer-events:none;opacity:1!important;transform:none!important}.gallery-skeleton-inner{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery-load-more-wrap{justify-content:center;padding:5rem 1.5rem 2rem;display:flex}.gallery-load-more-btn{color:#fff;cursor:pointer;width:180px;height:180px;font-family:var(--font-geist-mono);letter-spacing:.3em;text-transform:uppercase;background:0 0;border:1px solid #ffffff1a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:0;font-size:.65rem;transition:border-color .4s,box-shadow .4s;display:flex;position:relative;overflow:hidden}.gallery-load-more-btn:before{content:"";background:#ffffff0d;border-radius:50%;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scale(0)}.gallery-load-more-btn:hover:not(:disabled):before{transform:scale(1)}.gallery-load-more-btn:hover:not(:disabled){border-color:#ffffff4d;box-shadow:0 0 60px #ffffff0d,0 0 0 1px #ffffff0d}.gallery-load-more-btn:hover:not(:disabled) .gallery-load-more-arrow{transform:translateY(3px)}.gallery-load-more-btn:disabled{cursor:not-allowed;opacity:.6}.gallery-load-more-text{z-index:1;position:relative}.gallery-load-more-sub{color:#ffffff4d;letter-spacing:.12em;z-index:1;font-size:.58rem;position:relative}.gallery-load-more-arrow{z-index:1;color:#fff6;margin-top:.25rem;transition:transform .35s cubic-bezier(.16,1,.3,1);position:relative}.gallery-loader-ring{border:1px solid #ffffff1f;border-top-color:#fffc;border-radius:50%;width:22px;height:22px;animation:.75s linear infinite spin;display:inline-block}.gallery-loader-ring--sm{width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.gallery-end{align-items:center;gap:2rem;max-width:500px;margin:4rem auto 2rem;padding:0 2rem;display:flex}.gallery-end-line{background:#ffffff12;flex:1;height:1px}.gallery-end-text{font-family:var(--font-geist-mono);letter-spacing:.35em;color:#ffffff2e;text-transform:uppercase;white-space:nowrap;font-size:.6rem}.lightbox-overlay{z-index:1000;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#020202f7;justify-content:center;align-items:center;animation:.2s lbFadeIn;display:flex;position:fixed;inset:0}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-topbar{z-index:20;background:linear-gradient(#00000080 0%,#0000 100%);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:absolute;top:0;left:0;right:0}.lightbox-actions{align-items:center;gap:.4rem;display:flex}.lightbox-action-btn{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff17;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .25s;display:flex}.lightbox-action-btn:hover:not(:disabled){color:#fff;background:#ffffff1f;border-color:#ffffff40}.lightbox-action-btn--success{color:#4ade80!important;background:#22c55e26!important;border-color:#22c55e4d!important}.lightbox-action-btn--close:hover{transform:rotate(90deg)}.lightbox-action-btn:disabled{opacity:.35;cursor:not-allowed}.lightbox-counter{font-family:var(--font-geist-mono);color:#fff6;letter-spacing:.1em;font-size:.7rem}.lightbox-counter span{color:#ffffff2e}.lightbox-nav{color:#fff9;cursor:pointer;z-index:20;background:#ffffff0d;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav--prev{left:2rem}.lightbox-nav--next{right:2rem}.lightbox-nav:hover:not(:disabled){color:#fff;background:#ffffff1a;border-color:#ffffff38}.lightbox-nav:disabled{opacity:.15;cursor:not-allowed}.lightbox-content{flex-direction:column;align-items:center;gap:1.25rem;max-width:min(85vw,1100px);transition:transform .2s,opacity .2s;display:flex}.lightbox-content--left{opacity:0;transform:translate(-30px)}.lightbox-content--right{opacity:0;transform:translate(30px)}.lightbox-content--idle{opacity:1;transform:translate(0)}.lightbox-img-wrap{border-radius:.75rem;width:min(82vw,1000px);height:min(68vh,650px);position:relative;overflow:hidden}.lightbox-img{object-fit:contain}.lightbox-caption{color:#ffffff80;text-align:center;letter-spacing:.02em;max-width:50ch;font-size:.875rem;line-height:1.6}.lightbox-thumbs{scrollbar-width:none;background:linear-gradient(#0000 0%,#0009 100%);justify-content:center;align-items:center;gap:.5rem;padding:1.25rem 2rem;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumb{cursor:pointer;opacity:.4;background:0 0;border:1.5px solid #0000;border-radius:4px;flex-shrink:0;width:52px;height:36px;padding:0;transition:all .3s;position:relative;overflow:hidden;transform:scale(.9)}.lightbox-thumb:hover{opacity:.75;transform:scale(1)}.lightbox-thumb--active{opacity:1;border-color:#ffffffbf;transform:scale(1.05)}.lightbox-thumb-img{object-fit:cover}@media (max-width:1024px){.gallery-toolbar,.gallery-stats{padding:0 1.5rem}.gallery-grid--masonry{columns:2}.gallery-hero-title{margin-bottom:2rem;font-size:3.7rem}.gallery-grid--grid{grid-template-columns:repeat(2,1fr)}.gallery-grid--cinematic{max-width:100%}.gallery-grid--masonry,.gallery-grid--grid,.gallery-grid--cinematic{padding:0 1.5rem}.lightbox-nav--prev{left:.75rem}.lightbox-nav--next{right:.75rem}.lightbox-img-wrap{width:88vw;height:58vh}}@media (max-width:640px){.gallery-hero{padding:5.5rem 1.5rem 4rem}.gallery-toolbar{margin-bottom:3rem;padding:0 1rem}.gallery-item{margin-bottom:1rem}.gallery-search-wrap{max-width:100%}.gallery-stats{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2.5rem;padding:0 1rem}.gallery-stats-count{font-size:1.5rem}.gallery-progress-wrap{width:100%;max-width:100%}.gallery-grid--masonry{columns:1;padding:0 1rem}.gallery-grid--masonry .gallery-item:nth-child(n) .gallery-item-inner{aspect-ratio:4/3}.gallery-grid--grid{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:0 1rem}.gallery-grid--cinematic{padding:0 1rem}.lightbox-topbar{padding:1rem}.lightbox-nav--prev{width:40px;height:40px;left:.5rem}.lightbox-nav--next{width:40px;height:40px;right:.5rem}.lightbox-img-wrap{width:94vw;height:55vh}.lightbox-thumbs{display:none}}
