.container{background:#fff;height:85vh;text-align:center}.container,.container2{align-items:center;display:flex;justify-content:center;position:relative}.container2{background-color:#fff;height:100vh;overflow:hidden}.overlay{height:100%;position:absolute;width:100%}.sphere-container{align-items:center;display:flex;justify-content:center;perspective:1000px}.sphere{animation:rotateSphere 30s linear infinite;margin:0 auto;position:relative;transition:transform .1s linear}.sphere,.sphere-image-wrapper{transform-style:preserve-3d;will-change:transform}.sphere-image-wrapper{-webkit-backface-visibility:hidden;backface-visibility:hidden;cursor:pointer;overflow:visible!important;position:absolute;transition:transform 1.2s ease-in-out;transition:none!important}.zoom-overlay{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}.sphere-image{background-color:#fff;border-radius:50%;box-shadow:0 0 20px #00000080;height:60px;transform-origin:center center;transform-style:preserve-3d;transition:transform .6s ease;transition:none!important;width:60px;will-change:transform}.sphere-image:hover{box-shadow:0 0 30px #000000b3}.sphere-image-wrapper.fly-out{animation:flyOut 1s ease-out forwards}@keyframes flyOut{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(calc(500px - 1000px*random()),calc(500px - 1000px*random()),calc(500px - 1000px*random()))}}.sphere-image-wrapper.fly-in{animation:flyIn 1s ease-out forwards}@keyframes flyIn{0%{opacity:0;transform:translate3d(calc(500px - 1000px*random()),calc(500px - 1000px*random()),calc(500px - 1000px*random()))}to{opacity:1;transform:translateZ(0)}}.sphere-wrapper{opacity:1;perspective:1000px;transition:opacity .5s ease}.sphere-wrapper.fade-out{opacity:0;pointer-events:none}.fade-in-grid{animation:fadeInGrid 2s ease-in-out forwards;opacity:0}.zoomed-center-image{animation:zoomFlash 2s ease-in-out}@keyframes zoomFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(2.5)}to{opacity:0;transform:translate(-50%,-50%) scale(.5)}}.sphere-wrapper.transitioning-out{opacity:0;transition:opacity 1s ease-in-out}@keyframes fadeScaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.grid-container.fade-in{animation:fadeInGrid .6s ease forwards}@keyframes fadeInGrid{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.fade-out{opacity:0;transition:opacity 1s ease}.fade-in,.fade-in-grid{opacity:1;transition:opacity 1s ease}@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)}}.container-grid-mode{align-items:center;animation:backgroundPulse 6s ease-in-out infinite alternate;background:radial-gradient(circle at center,#111 0,#000 100%);display:flex;height:100vh;justify-content:center;position:relative;width:100vw}@keyframes backgroundPulse{0%{background:radial-gradient(circle at center,#111 0,#000 100%)}to{background:radial-gradient(circle at center,#222 0,#000 100%)}}.grid-container{align-content:center;animation:fadeIn 5s ease forwards;display:grid;grid-auto-rows:8.82353vh;grid-template-columns:repeat(auto-fit,minmax(5vw,1fr));height:110vh;justify-content:center;opacity:.8;perspective:800px;width:100vw}.tile{animation-duration:1.5s;animation-fill-mode:forwards;animation-name:assembleMosaic;animation-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-position:50%;background-size:cover;height:70px;image-rendering:auto;opacity:.8;transition:filter .5s ease,opacity .5s ease;width:70px;will-change:transform,opacity}@keyframes assembleMosaic{0%{opacity:0;transform:var(--start-transform)}to{opacity:1;transform:translateZ(0) scale(1) rotate(0deg)}}.grid-image{height:100%;object-fit:cover;opacity:.8;transition:transform .3s ease,opacity .5s ease;width:100%}.logo-overlay{animation:logoEntrance 2s ease-out forwards,logoPulse 4s ease-in-out infinite;left:50%;mix-blend-mode:screen;opacity:.4!important;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:1300px;z-index:10}@keyframes logoEntrance{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}60%{opacity:.6;transform:translate(-50%,-50%) scale(1.05)}to{opacity:.4;transform:translate(-50%,-50%) scale(1)}}@keyframes logoPulse{0%{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.015)}to{opacity:.4;transform:translate(-50%,-50%) scale(1)}}@keyframes logoFadeIn{to{opacity:1}}.sphere-image.zooming{transform:scale(.5)!important;transition:transform .8s ease-in-out;z-index:999999}.mosaic-container{overflow:hidden;perspective:800px}.mosaic-tile{border-radius:2px;object-fit:cover}@keyframes pulse{0%{opacity:.7;transform:translate(-50%,-50%) scale(1)}to{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.main-wrapper{align-items:flex-start;background:#fff;display:flex;height:100%;justify-content:center;padding-top:80px}.mosaic-container{background:linear-gradient(145deg,#fff,#fcf8f8);border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #e5e7eb;color:#1f2937;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:60%;padding:2rem;text-align:center;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.mosaic-title{color:#dc2626;font-family:"'Crimson Text', serif";font-size:2.5rem;margin-bottom:.5rem;margin-top:0;text-align:center}.mosaic-subtitle{color:#7f8c8d;font-size:1.1rem;margin-bottom:2rem;text-align:center}.upload-area-globe{background-color:#f8f9fa;border:3px dashed #bdc3c7;border-radius:15px;cursor:pointer;display:flex;flex-direction:row;height:150px;justify-content:center;margin:0 auto;text-align:center;transition:all .3s ease;width:500px}.upload-area-globe.dragging,.upload-area-globe:hover{background-color:#e8f4fc;border-color:#dc2626}.upload-content-globe{align-items:center;display:flex;flex-direction:column}.upload-icon-globe{fill:#dc2626;height:50px;margin-bottom:0;margin-top:10px;width:50px}.upload-hint-globe{color:#95a5a6;font-size:.8rem;margin-top:.5rem}.upload-button-globe{border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:1rem;margin:2rem auto;padding:.8rem 2rem;transition:background-color .3s}.upload-button-globe,.upload-button-globe:hover{background-color:#dc2626}.mosaic-grid{grid-gap:15px;display:grid;grid-auto-flow:dense;grid-auto-rows:200px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.mosaic-item{border-radius:8px;box-shadow:0 4px 8px #0000001a;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.mosaic-item:hover{box-shadow:0 6px 12px #00000026;transform:scale(1.03)}.mosaic-item img{display:block;height:100%;object-fit:cover;width:100%}.mosaic-item.large{grid-column:span 2;grid-row:span 2}.mosaic-item.tall{grid-row:span 2}.remove-btn{background-color:#e74c3ccc;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;height:25px;opacity:0;position:absolute;right:10px;top:10px;transition:opacity .3s;width:25px}.mosaic-item:hover .remove-btn{opacity:1}.remove-btn:hover{background-color:#e74c3c}@media (max-width:768px){.mosaic-grid{grid-auto-rows:150px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.mosaic-title{font-family:"'Crimson Text', serif";font-size:2rem;margin-bottom:.3rem}.upload-area-globe{width:212px}.mosaic-subtitle{font-size:1rem}}.upload-container{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;left:50%;margin:0 auto;padding:1rem;position:absolute;top:50%;transform:translate(-50%,-50%);width:60%}#root,.app,body{min-height:100vh;position:relative}.upload-header{margin-bottom:1rem;text-align:center}.upload-header h4{color:#dc2626;font-family:"'Crimson Text', serif";font-size:clamp(1.5rem,4vw,2rem);font-weight:600;margin:0}.upload-area{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;display:flex;justify-content:center;margin:0 auto;max-width:400px;min-height:150px;padding:clamp(2rem,3vw,3rem);text-align:center;transition:all .3s ease;width:100%}.upload-area:hover{background:#f0f9ff;border-color:#dc2626}.upload-area.drag-over{background:#dbeafe;border-color:#dc2626;transform:scale(1.02)}.upload-area.loading{background:#f0f9ff;border-color:#dc2626}.upload-content-inner{width:90%}.upload-area h3{color:#374151;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:500;margin-bottom:0}.or-text{color:#6b7280;margin:1rem 0}.file-input-label,.or-text{font-size:clamp(.9rem,2vw,1rem)}.file-input-label{background:#dc2626;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;margin:.5rem 0;padding:.75rem 2rem;transition:all .2s ease}.file-input-label:hover{background:#dc2626;transform:translateY(-1px)}.file-input{display:none}.file-support{color:#6b7280;font-size:clamp(.8rem,2vw,.9rem);margin-top:1rem}.loading-state{text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#dc2626;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state p{color:#374151;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:500;margin-bottom:.5rem}.loading-state span{color:#6b7280;font-size:clamp(.8rem,2vw,.9rem)}.preview-section{width:100%}.preview-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.preview-header h3{color:#374151;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;margin:0}.reset-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:clamp(.8rem,2vw,.9rem);font-weight:500;padding:.5rem 1.5rem;transition:all .2s ease}.reset-btn:hover{background:#4b5563;transform:translateY(-1px)}.preview-image-container{aspect-ratio:16/9;background:#f9fafb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:1rem;overflow:hidden;position:relative}.preview-image{display:block;height:100%;object-fit:contain;width:100%}.preview-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;color:#fff;left:0;padding:1rem;position:absolute;right:0;text-align:center}.preview-overlay span{font-size:clamp(.9rem,2vw,1rem);font-weight:500}.upload-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;padding:1rem 2rem;transition:all .2s ease;width:100%}.upload-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}@media (max-width:768px){.upload-container{max-width:95%;padding:1.5rem;width:95%}.upload-area{min-height:200px;padding:2rem 1rem}.preview-header{align-items:stretch;flex-direction:column;text-align:center}.reset-btn{padding:.75rem 1.5rem;width:100%}.preview-image-container{aspect-ratio:1}}@media (max-width:480px){.upload-container{max-width:98%;padding:1rem;width:98%}.upload-area{min-height:180px;padding:1.5rem .5rem}.file-input-label{padding:.6rem 1.5rem}.upload-btn{padding:.875rem 1.5rem}}@media (max-width:320px){.upload-container{border-radius:12px;padding:.75rem}.upload-area{min-height:150px;padding:1rem .5rem}}@media (min-width:1200px){.upload-container{max-width:650px}}body,html{height:100%;margin:0;padding:0}#root,.app,.main-container{min-height:100vh;position:relative}
/*# sourceMappingURL=main.11e5f13d.css.map*/