.uploader-module__1CtwlW__container{flex-direction:column;gap:2rem;display:flex}.uploader-module__1CtwlW__dropzone{border-radius:var(--border-radius);cursor:pointer;background-color:#fff6;border:2px dashed #596a5b4d;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 2rem;transition:all .2s ease-in-out;display:flex}.uploader-module__1CtwlW__dropzone:hover,.uploader-module__1CtwlW__dragging{border-color:var(--accent-burgundy);background-color:#722f370d}.uploader-module__1CtwlW__uploadIcon{color:var(--accent-burgundy);margin-bottom:.5rem}.uploader-module__1CtwlW__dropText{color:var(--text-primary);font-size:1.125rem}.uploader-module__1CtwlW__bold{color:var(--accent-burgundy);font-weight:600}.uploader-module__1CtwlW__subText{color:var(--text-secondary);font-size:.875rem}.uploader-module__1CtwlW__hiddenInput{display:none}.uploader-module__1CtwlW__previewGrid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;display:grid}.uploader-module__1CtwlW__previewItem{aspect-ratio:1;box-shadow:var(--shadow-sm);background:var(--bg-secondary);border-radius:8px;position:relative;overflow:hidden}.uploader-module__1CtwlW__imageWrapper{width:100%;height:100%;position:relative}.uploader-module__1CtwlW__previewImage{object-fit:cover;width:100%;height:100%}.uploader-module__1CtwlW__removeBtn{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:opacity .2s;display:flex;position:absolute;top:4px;right:4px}.uploader-module__1CtwlW__previewItem:hover .uploader-module__1CtwlW__removeBtn{opacity:1}.uploader-module__1CtwlW__overlay{background:#fff9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.uploader-module__1CtwlW__successOverlay{background:#b5c9b3cc}.uploader-module__1CtwlW__errorOverlay{background:#722f37cc}.uploader-module__1CtwlW__spinner{border:3px solid #722f374d;border-top-color:var(--accent-burgundy);border-radius:50%;width:24px;height:24px;animation:1s ease-in-out infinite uploader-module__1CtwlW__spin}@keyframes uploader-module__1CtwlW__spin{to{transform:rotate(360deg)}}.uploader-module__1CtwlW__actionSection{justify-content:center;display:flex}.uploader-module__1CtwlW__uploadBtn{background-color:var(--accent-burgundy);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:100px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:background-color .2s,transform .1s}.uploader-module__1CtwlW__uploadBtn:hover{background-color:var(--accent-burgundy-hover)}.uploader-module__1CtwlW__uploadBtn:active{transform:scale(.98)}
.page-module__F_2V3G__main{flex-direction:column;align-items:center;gap:3rem;max-width:800px;min-height:100vh;margin:0 auto;padding:4rem 2rem;display:flex}.page-module__F_2V3G__header{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;animation:1s ease-out page-module__F_2V3G__fadeIn;display:flex}@keyframes page-module__F_2V3G__fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-module__F_2V3G__titleWrapper{margin-bottom:.5rem}.page-module__F_2V3G__title{color:var(--accent-burgundy);margin-bottom:0;font-size:4rem;line-height:1.1}.page-module__F_2V3G__subtitle{color:var(--text-primary);letter-spacing:.1em;font-size:3rem;font-weight:400}.page-module__F_2V3G__blurb{color:var(--text-secondary);max-width:500px;font-size:1.125rem;line-height:1.6}.page-module__F_2V3G__heartIcon{color:var(--accent-burgundy);opacity:.7}.page-module__F_2V3G__uploadSection{width:100%;animation:1s ease-out .2s both page-module__F_2V3G__fadeIn}.page-module__F_2V3G__uploadSection>div{padding:2.5rem}.page-module__F_2V3G__footer{color:var(--text-secondary);text-align:center;margin-top:auto;padding-top:2rem;font-size:.875rem;animation:1s ease-out .4s both page-module__F_2V3G__fadeIn}@media (max-width:600px){.page-module__F_2V3G__title{font-size:3rem}.page-module__F_2V3G__subtitle{font-size:2.25rem}.page-module__F_2V3G__main{padding:2rem 1.25rem}.page-module__F_2V3G__uploadSection>div{padding:1.5rem}}
