@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Roboto:wght@300;400;500&family=Open+Sans:wght@400;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Roboto,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}button{font-family:inherit;cursor:pointer;transition:all .3s ease}input[type=file]{display:none}.app{width:100%;min-height:100vh;position:relative}.image-tile{position:relative;width:100%;border-radius:12px;overflow:hidden;cursor:pointer;background-color:#8080804d;transition:transform .3s ease}.image-tile:hover{transform:scale(1.02)}.tile-image{width:100%;height:auto;display:block;object-fit:cover;transition:opacity .3s ease}.tile-image.loading{opacity:0}.image-placeholder{min-height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#80808033,#8080804d,#80808033);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite;position:relative;overflow:hidden}.image-placeholder:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#ffffff1a;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(.8);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.2}}.spinner{width:30px;height:30px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff9;border-radius:50%;animation:spin 1s linear infinite;position:relative;z-index:1}.image-tile.error,.error-container{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#808080cc;color:#fff;cursor:default}.error-icon{font-size:48px;margin-bottom:10px}.error-container p{margin:0;font-family:Roboto,sans-serif;font-size:14px;text-align:center;padding:0 10px}.fullscreen-overlay{position:fixed;inset:0;background-color:#000000f2;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.close-button{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff;font-size:36px;cursor:pointer;z-index:1001;transition:transform .2s ease;padding:10px;line-height:1}.close-button:hover{transform:scale(1.1)}.fullscreen-image-container{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.fullscreen-image{max-width:100%;max-height:90vh;object-fit:contain;cursor:zoom-in}.video-card{position:relative;width:100%;border-radius:16px;overflow:hidden;background-color:#000;box-shadow:0 8px 16px #00000080}.react-player{position:absolute;top:0;left:0}.video-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#80808033,#8080804d,#80808033);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite;display:flex;align-items:center;justify-content:center;z-index:1;overflow:hidden}.video-placeholder .spinner{width:30px;height:30px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff9;border-radius:50%;animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.video-card.error,.error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center;color:#fff;min-height:200px}.error-icon{font-size:48px;margin-bottom:16px}.error-title{font-weight:700;font-size:16px;margin-bottom:8px;font-family:Roboto,sans-serif}.error-message{font-size:12px;color:#fffc;word-break:break-word;max-width:100%;font-family:Roboto,sans-serif}.mute-button{position:absolute;bottom:8px;right:8px;background:none;border:none;color:#fffc;cursor:pointer;padding:8px;transition:all .2s ease;z-index:10}.mute-button:hover{color:#fff;transform:scale(1.1)}.mute-button svg{display:block}.global-image-viewer{position:fixed;inset:0;background-color:#000000f2;z-index:3000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease;-webkit-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.viewer-close-button{position:absolute;top:20px;right:20px;background:#000000b3;border:none;color:#fff;font-size:28px;cursor:pointer;z-index:3001;padding:15px;border-radius:50%;transition:all .3s ease;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.viewer-close-button:hover{background:#fff3;transform:scale(1.1)}.nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border:none;color:#fff;cursor:pointer;padding:20px;border-radius:50%;transition:all .3s ease;z-index:3001;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.nav-button.desktop-nav{width:45px;height:45px;padding:12px;background:#0009}.nav-button:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.prev-button{left:20px}.next-button{right:20px}.viewer-image-container{position:relative;width:95vw;height:85vh;display:flex;align-items:center;justify-content:center}.viewer-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 40px #00000080;transition:opacity .3s ease,transform .3s ease;cursor:zoom-in}.viewer-image.loading{opacity:0}.viewer-image:hover{transform:scale(1.02)}.viewer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;min-height:200px}.viewer-loading .spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.2);border-top-color:#c33764;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.viewer-loading p{font-family:Roboto,sans-serif;font-size:16px}.viewer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;min-height:200px}.viewer-error .error-icon{font-size:60px;margin-bottom:20px}.viewer-error p{font-family:Roboto,sans-serif;font-size:16px}.image-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:10px 20px;border-radius:20px;font-family:Roboto,sans-serif;font-size:14px;z-index:3001}@media (max-width: 768px){.nav-button{width:50px;height:50px;padding:15px}.prev-button{left:10px}.next-button{right:10px}.viewer-close-button{top:15px;right:15px;width:50px;height:50px;font-size:24px}.viewer-image-container{max-width:95vw;max-height:85vh}}.home-screen{position:relative;min-height:100vh;width:100%;overflow-x:hidden}.carousel-container{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-2}.carousel-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2s ease-in-out}.carousel-image.active{opacity:1}.gradient-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(to bottom,#0006,#000c);z-index:-1}.content-container{position:relative;z-index:1;min-height:100vh;transition:opacity .3s ease,transform .3s ease}.hero-section{padding:20px;padding-top:calc(10vh + 20px);text-align:center;max-width:800px;margin:0 auto}.main-title{font-family:Great Vibes,cursive;font-size:55px;font-weight:700;color:#fff;text-shadow:0 0 10px rgba(0,0,0,.54);margin-bottom:20px;line-height:1.2}.subtitle{font-family:Roboto,sans-serif;font-size:18px;color:#fff;line-height:1.5;margin-bottom:40px}.upload-section{margin:40px 0}.upload-button{display:inline-flex;align-items:center;gap:10px;background-color:#c33764;color:#fff;border:none;padding:20px 40px;font-family:Roboto,sans-serif;font-size:16px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.upload-button:hover{background-color:#b02d58;transform:translateY(-2px);box-shadow:0 6px 12px #0003}.upload-button:active{transform:translateY(0)}.upload-progress{width:100%;max-width:400px;margin:0 auto}.progress-bar{width:100%;height:8px;background-color:#ffffff3d;border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background-color:#c33764;transition:width .3s ease}.upload-status{color:#ffffffb3;font-size:14px;font-family:Roboto,sans-serif}.error-message{background-color:#f4433633;border:1px solid rgba(244,67,54,.5);color:#ffcdd2;padding:10px 20px;border-radius:4px;margin:20px 0;font-family:Roboto,sans-serif;font-size:14px}.divider{width:50%;height:1px;background-color:#ffffff8a;margin:40px auto 10px}.gallery-title{font-family:Roboto,sans-serif;font-size:24px;font-weight:300;color:#fff;margin:10px 0 20px}.gallery-container{padding:0 10px 40px;transition:opacity .3s ease,transform .3s ease}.empty-gallery{color:#ffffffb3;font-family:Roboto,sans-serif;text-align:center;padding:20px}.gallery-grid{display:flex;width:auto;max-width:1600px;margin:0 auto}.gallery-column{padding-left:10px;background-clip:padding-box}.gallery-column>div{margin-bottom:10px}.gallery-item{opacity:1}.gallery-item.fade-in{opacity:0;animation:fadeIn .5s ease forwards}@keyframes fadeIn{to{opacity:1}}.gallery-loading{display:flex;align-items:center;justify-content:center;padding:40px}.gallery-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#c33764;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.main-title{font-size:40px}.subtitle{font-size:16px}.upload-button{padding:16px 32px;font-size:14px}}@media (max-width: 480px){.main-title{font-size:32px}.hero-section{padding:15px;padding-top:calc(10vh + 15px)}}.delete-all-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.delete-all-card{background:#fffffff2;border-radius:16px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 40px #0003;text-align:center}.delete-all-card h1{color:#333;margin-bottom:30px;font-family:Roboto,sans-serif;font-size:28px}.delete-progress{margin:30px 0}.progress-bar{width:100%;height:20px;background-color:#e0e0e0;border-radius:10px;overflow:hidden;margin-bottom:20px}.progress-fill{height:100%;background:linear-gradient(90deg,#c33764,#1d2671);transition:width .3s ease;border-radius:10px}.delete-status{color:#666;font-family:Roboto,sans-serif;font-size:16px;margin:10px 0}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:15px;border-radius:8px;margin:20px 0;font-family:Roboto,sans-serif}.delete-all-card p{color:#666;font-family:Roboto,sans-serif;font-size:16px}.download-all-container{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-family:Roboto,sans-serif}.download-content{background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 40px #0003;max-width:500px;width:90%;text-align:center}.download-content h1{font-family:Great Vibes,cursive;font-size:36px;color:#c33764;margin-bottom:30px}.download-info{margin-bottom:20px}.download-info p{margin:10px 0;color:#333;font-size:18px}.file-counter{font-size:16px;color:#666}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin:20px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#c33764,#1d2671);transition:width .3s ease}.progress-text{font-size:24px;font-weight:700;color:#c33764;margin-top:10px}.download-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:20px;border-radius:10px;margin-bottom:20px}.download-error button{margin-top:15px;background-color:#c33764;color:#fff;border:none;padding:10px 20px;border-radius:5px;font-size:16px;cursor:pointer;transition:background-color .3s ease}.download-error button:hover{background-color:#b02d58}.download-complete{animation:fadeIn .5s ease}.checkmark{font-size:60px;color:#4caf50;margin-bottom:20px;animation:scaleIn .5s ease}.download-complete p{margin:10px 0;color:#333}.download-complete .subtitle{font-size:18px;color:#666;margin-bottom:20px}.close-info{font-size:14px;color:#999;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.download-start{margin-bottom:20px}.download-start p{margin-bottom:20px;color:#666;font-size:16px}.download-button{background:linear-gradient(90deg,#c33764,#1d2671);color:#fff;border:none;padding:15px 30px;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;transition:transform .3s ease}.download-button:hover{transform:translateY(-2px)}@media (max-width: 600px){.download-content{padding:30px 20px}.download-content h1{font-size:28px}}
