.pack-select{position:relative;width:100%;height:100dvh;background:#fff;display:flex;align-items:center;justify-content:center}.pack-select__grid{display:flex;flex-direction:column;align-items:center;gap:8px}.pack-select__item{background:none;border:none;padding:4px 8px;font-family:Helvetica,Arial,sans-serif;font-size:47px;font-weight:700;letter-spacing:-.05em;color:#111;cursor:pointer;transition:opacity .2s ease}.pack-select__item:hover{background:#a8d4f0;color:#f5f0c0}.pack-select__footer{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-family:Helvetica,Arial,sans-serif;font-size:47px;font-weight:700;letter-spacing:-.05em;color:#111}.photo-grid{width:100%;min-height:100vh;background:#fff;opacity:1;transition:opacity .4s ease-out;-webkit-overflow-scrolling:touch}.photo-grid--transitioning{opacity:0}.photo-grid__back{position:fixed;top:16px;left:16px;z-index:100;width:40px;height:40px;border:none;background:#ffffffe6;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#111;box-shadow:0 1px 4px #0000001a;transition:all .2s ease}.photo-grid__back:hover{background:#fff;box-shadow:0 2px 8px #00000026}.photo-grid__container{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;width:100%;padding:0}.photo-grid__item{position:relative;overflow:hidden;content-visibility:auto;contain-intrinsic-size:200px;aspect-ratio:3 / 4}.photo-grid__svg-filters{position:absolute;width:0;height:0;overflow:hidden}.photo-grid__image{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;opacity:0;filter:url(#pixelate);transition:opacity .3s ease,transform .3s ease,filter .4s ease;backface-visibility:hidden;will-change:opacity;transform:translateZ(0)}.photo-grid__item--loaded .photo-grid__image{opacity:1}@media (hover: hover){.photo-grid__item:hover .photo-grid__image{transform:scale(1.03);filter:none}.photo-grid__item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background .3s ease;pointer-events:none}.photo-grid__item:hover:after{background:#0000000d}}@media (max-width: 900px){.photo-grid__container{grid-template-columns:repeat(4,1fr)}}@media (max-width: 600px){.photo-grid__container{grid-template-columns:repeat(2,1fr);gap:2px}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000f2;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox__top-actions{position:absolute;top:20px;right:20px;display:flex;gap:8px;align-items:center}.lightbox__download,.lightbox__close{width:48px;height:48px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease;text-decoration:none}.lightbox__download:hover,.lightbox__close:hover{transform:scale(1.1)}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease}.lightbox__nav:hover{transform:translateY(-50%) scale(1.1)}.lightbox__nav--prev{left:20px}.lightbox__nav--next{right:20px}.lightbox__content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox__download--mobile{display:none}.lightbox__image{max-width:100%;max-height:90vh;object-fit:contain;animation:scaleIn .3s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox__counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:14px;font-weight:500;letter-spacing:.5px}@media (max-width: 600px){.lightbox__top-actions{top:12px;right:12px}.lightbox__top-actions .lightbox__download{display:none}.lightbox__download--mobile{display:flex;margin-top:16px}.lightbox__close,.lightbox__nav{width:40px;height:40px}.lightbox__nav--prev{left:12px}.lightbox__nav--next{right:12px}}.app{width:100%;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}html,body,#root{width:100%;height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff}
