*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{width:100%;min-height:100vh}:root{--deploy-cache-bust-version:20260300;--polaroid-border:12px;--polaroid-shadow:0 4px 8px #00000026;--polaroid-tilt-range:3deg;--gallery-gap:20px;--gallery-padding:20px;--columns:2;--bg-color:#f5f5f0;--polaroid-bg:#fff;--overlay-bg:#000000f2;--button-bg:#ffffffe6;--button-hover-bg:#fff;--transition-fast:.2s ease-out;--transition-medium:.3s ease-out;--transition-slow:.5s ease-out;--lightbox-button-size:48px;--lightbox-button-icon-size:24px}@media (width>=640px){:root{--columns:3;--gallery-gap:24px}}@media (width>=768px){:root{--columns:4;--gallery-gap:28px}}@media (width>=1024px){:root{--columns:5;--gallery-gap:32px;--gallery-padding:32px}}@media (width>=1280px){:root{--columns:6}}@media (width>=1920px){:root{--columns:7}}.gallery-container{background-color:var(--bg-color);width:100%;min-height:100vh;padding:var(--gallery-padding);box-sizing:border-box;padding-bottom:calc(var(--gallery-padding) + 84px)}.gallery-loading{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;display:flex}.gallery-spinner{border:4px solid #0000001a;border-top-color:#000000b3;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite gallery-spin}@keyframes gallery-spin{to{transform:rotate(360deg)}}.gallery-loading-text{color:#0009;font-size:1rem}.gallery-initial-loading{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;opacity:1;background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;transition:opacity .4s;display:flex;position:fixed;inset:0}.gallery-initial-loading.hiding{opacity:0;pointer-events:none}.masonry-grid{column-count:var(--columns);column-gap:var(--gallery-gap);width:100%;max-width:2400px;margin:0 auto}.image-card{--tilt-deg:0deg;width:100%;margin:0 0 var(--gallery-gap);background:var(--polaroid-bg);padding:var(--polaroid-border);box-shadow:var(--polaroid-shadow);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);will-change:transform;break-inside:avoid;transform:rotate(var(--tilt-deg));display:inline-block;position:relative}.image-card:hover{transform:rotate(var(--tilt-deg)) translateY(-4px) scale(1.02);z-index:1;box-shadow:0 8px 16px #0003}.image-media{background:#efefef;width:100%;position:relative;overflow:hidden}.image-card picture,.image-card img{width:100%;height:auto;display:block}.image-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.image-card.loading img{opacity:0;animation:fadeIn var(--transition-medium) forwards}.image-placeholder{filter:blur(10px);background:linear-gradient(135deg,#f0f0f0 0%,#e0e0e0 100%);position:absolute;inset:0}@keyframes fadeIn{to{opacity:1}}.image-card.loading .image-placeholder{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.column-widget{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#ffffffe6;border-radius:999px;gap:8px;padding:8px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}.column-widget-mobile{width:calc(100% - 2 * var(--gallery-padding));max-width:520px}.column-widget-desktop{width:min(100%,420px)}.column-option{color:#333;cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:10px 12px;font-size:.95rem;font-weight:600;transition:background-color .2s,color .2s}.column-option:hover{background:#00000014}.column-option-active{color:#fff;background:#000000d9}:root{--polaroid-border:12px;--polaroid-shadow:0 4px 8px #00000026;--polaroid-tilt-range:3deg;--gallery-gap:20px;--gallery-padding:20px;--columns:2;--bg-color:#f5f5f0;--polaroid-bg:#fff;--overlay-bg:#000000f2;--button-bg:#ffffffe6;--button-hover-bg:#fff;--transition-fast:.2s ease-out;--transition-medium:.3s ease-out;--transition-slow:.5s ease-out;--lightbox-button-size:48px;--lightbox-button-icon-size:24px}@media (width>=640px){:root{--columns:3;--gallery-gap:24px}}@media (width>=768px){:root{--columns:4;--gallery-gap:28px}}@media (width>=1024px){:root{--columns:5;--gallery-gap:32px;--gallery-padding:32px}}@media (width>=1280px){:root{--columns:6}}@media (width>=1920px){:root{--columns:7}}.lightbox-overlay{background:var(--overlay-bg);z-index:1000;opacity:0;animation:fadeInOverlay var(--transition-medium) forwards;overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fadeInOverlay{to{opacity:1}}.lightbox-content{box-sizing:border-box;touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;padding:60px 20px;display:flex;position:relative;overflow:hidden}.lightbox-viewport{align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.lightbox-content-dragging,.lightbox-content-panning{cursor:grabbing}.lightbox-track{will-change:transform;flex-wrap:nowrap;justify-content:flex-start;align-items:center;height:100%;display:flex}.lightbox-track-transitioning{transition:transform .3s cubic-bezier(.4,0,.2,1)}.lightbox-slide{box-sizing:border-box;flex:none;justify-content:center;align-items:center;height:100%;margin:0;padding:0;display:flex;position:relative}.lightbox-image-container{justify-content:center;align-items:center;width:100%;max-width:100%;height:100%;max-height:100%;display:flex;position:relative}.lightbox-image-container picture{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.lightbox-image{object-fit:contain;-webkit-user-select:none;user-select:none;touch-action:none;opacity:0;max-width:100%;max-height:100%;transition:opacity .3s,transform .12s}.lightbox-image.loaded{animation:fadeInImage var(--transition-medium) forwards}.lightbox-image-loading{border:3px solid #ffffff4d;border-top-color:#ffffffe6;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.lightbox-image-current{cursor:zoom-in}.lightbox-content-panning .lightbox-image-current{cursor:grabbing}@keyframes fadeInImage{to{opacity:1}}.lightbox-button{width:var(--lightbox-button-size);height:var(--lightbox-button-size);background:var(--button-bg);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);z-index:1001;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 2px 8px #0000004d}.lightbox-button:hover{background:var(--button-hover-bg);transform:scale(1.1)}.lightbox-button:active{transform:scale(.95)}.lightbox-button svg{width:var(--lightbox-button-icon-size);height:var(--lightbox-button-icon-size);stroke:#000;stroke-width:2px;fill:none}.lightbox-close{top:20px;right:20px}.lightbox-prev{top:50%;left:20px;transform:translateY(-50%)}.lightbox-prev:hover{transform:translateY(-50%)scale(1.1)}.lightbox-next{top:50%;right:20px;transform:translateY(-50%)}.lightbox-next:hover{transform:translateY(-50%)scale(1.1)}.lightbox-download{bottom:20px;right:20px}.lightbox-content.swiping{cursor:grabbing}@media (width<=640px){.lightbox-content{padding:80px 10px 10px}.lightbox-prev,.lightbox-next{width:40px;height:40px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{top:10px;right:10px}.lightbox-download{bottom:10px;right:10px}}
