@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500&display=swap";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-tracking:initial;--tw-duration:initial}}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.bottom-\[-1px\]{bottom:-1px}.z-10{z-index:10}.container{width:100%}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-\[72px\]{height:72px}.h-full{height:100%}.min-h-\[100px\]{min-height:100px}.w-\[72px\]{width:72px}.w-full{width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.object-cover{-o-object-fit:cover;object-fit:cover}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.uppercase{text-transform:uppercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--cream:#faf8f5;--cream-dark:#f2eee8;--black:#1a1a1a;--gray-dark:#4a4a4a;--gray-mid:#8a8a8a;--gray-light:#c4c4c4;--gray-lighter:#e8e5e0;--white:#fff;--accent:#2c2c2c}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--cream);color:var(--black);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}.app-container{background:var(--cream);width:100%;max-width:430px;height:100%;margin:0 auto;position:relative;overflow:hidden}.heading-display{letter-spacing:-.02em;color:var(--black);font-family:Cormorant Garamond,serif;font-size:32px;font-style:italic;font-weight:500;line-height:1.1}.heading-section{color:var(--black);font-family:Cormorant Garamond,serif;font-size:24px;font-style:italic;font-weight:500;line-height:1.2}.text-body{color:var(--gray-dark);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.5}.text-small{color:var(--gray-mid);font-family:DM Sans,sans-serif;font-size:13px;line-height:1.4}.text-label{letter-spacing:.08em;text-transform:uppercase;color:var(--gray-mid);font-family:DM Sans,sans-serif;font-size:11px;font-weight:500}.btn-primary{background:var(--black);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .2s;display:flex}.btn-primary:hover{background:var(--accent)}.btn-primary:disabled{background:var(--gray-light);cursor:not-allowed}.btn-secondary{color:var(--black);border:1px solid var(--gray-lighter);cursor:pointer;background:0 0;border-radius:0;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .2s}.btn-secondary:hover{border-color:var(--black)}.btn-ghost{color:var(--gray-mid);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;transition:color .2s}.btn-ghost:hover{color:var(--black)}.screen{background:var(--cream);width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden auto}.screen-content{min-height:100%;padding:24px 24px 120px}.screen-footer{background:linear-gradient(to top,var(--cream)70%,transparent);width:100%;max-width:430px;padding:16px 24px 32px;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.header{justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 0;display:flex}.header-back{cursor:pointer;width:40px;height:40px;color:var(--black);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.header-title{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-mid);font-family:DM Sans,sans-serif;font-size:11px;font-weight:500}.header-spacer{width:40px}.card{background:var(--white);margin-bottom:12px;padding:20px}.card-image{aspect-ratio:4/3;background:var(--cream-dark);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.card-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.upload-area{aspect-ratio:4/3;border:1px dashed var(--gray-light);cursor:pointer;background:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;transition:all .2s;display:flex}.upload-area:hover{border-color:var(--gray-mid);background:var(--cream)}.upload-icon{width:32px;height:32px;color:var(--gray-light)}.image-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.grid-item{aspect-ratio:1;background:var(--cream-dark);cursor:pointer;position:relative;overflow:hidden}.grid-item img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.grid-item-add{border:1px dashed var(--gray-light);background:var(--white);justify-content:center;align-items:center;display:flex}.grid-item-add:hover{border-color:var(--gray-mid)}.tags-container{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tag{background:var(--cream);color:var(--gray-dark);padding:6px 12px;font-size:12px}.canvas-container{background:var(--black);width:100%;height:100%;position:relative;overflow:hidden}.canvas-venue{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.draggable-item{cursor:move;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:2px solid #0000;transition:border-color .2s;position:absolute}.draggable-item.selected{border-color:var(--white)}.draggable-item img{-o-object-fit:cover;object-fit:cover;pointer-events:none;width:100%;height:100%}.canvas-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;gap:8px;padding:8px;display:flex;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.toolbar-btn{cursor:pointer;width:44px;height:44px;color:var(--black);background:0 0;border:none;justify-content:center;align-items:center;transition:background .2s;display:flex}.toolbar-btn:hover{background:var(--cream)}.resize-handle{border:2px solid var(--black);z-index:10;touch-action:none;background:#fff;border-radius:2px;width:16px;height:16px;position:absolute}.resize-handle.nw{cursor:nw-resize;top:-8px;left:-8px}.resize-handle.ne{cursor:ne-resize;top:-8px;right:-8px}.resize-handle.sw{cursor:sw-resize;bottom:-8px;left:-8px}.resize-handle.se{cursor:se-resize;bottom:-8px;right:-8px}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;max-width:90%;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast{background:var(--white);border:1px solid var(--cream-dark);pointer-events:auto;cursor:pointer;align-items:center;gap:12px;padding:14px 20px;animation:.3s toastSlideIn;display:flex;box-shadow:0 4px 20px #0000001a}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-error .toast-icon{color:#c53030}.toast-success .toast-icon{color:#2f855a}.toast-info .toast-icon{color:#2b6cb0}.toast-message{color:var(--black);font-size:14px;line-height:1.4}@keyframes generationGlow{0%,to{box-shadow:0 0 8px 2px #ffffff4d}50%{box-shadow:0 0 20px 6px #fff9}}@keyframes generationShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.draggable-item.generating{animation:1.5s ease-in-out infinite generationGlow}.draggable-item.generating:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff4d,#0000) 0 0/200% 100%;animation:2s ease-in-out infinite generationShimmer;position:absolute;inset:0}.canvas-venue.generating{animation:2s ease-in-out infinite venuePulse}@keyframes venuePulse{0%,to{filter:brightness()}50%{filter:brightness(1.1)}}.library-panel{background:var(--white);z-index:100;border-radius:16px 16px 0 0;max-height:50%;padding:16px 16px 32px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.library-panel.open{transform:translateY(0)}.library-panel-handle{background:var(--gray-lighter);cursor:pointer;border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.project-card{background:var(--white);cursor:pointer;gap:16px;margin-bottom:12px;padding:16px;transition:background .2s;display:flex}.project-card:hover{background:var(--cream)}.project-thumb{background:var(--cream-dark);flex-shrink:0;width:72px;height:72px;overflow:hidden}.project-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.project-info{flex-direction:column;flex:1;justify-content:center;display:flex}.project-name{color:var(--black);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:500}.project-meta{color:var(--gray-mid);font-size:13px}.input-field{border:none;border-bottom:1px solid var(--gray-lighter);width:100%;color:var(--black);background:0 0;outline:none;padding:14px 0;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .2s}.input-field:focus{border-color:var(--black)}.input-field::-moz-placeholder{color:var(--gray-light)}.input-field::placeholder{color:var(--gray-light)}.textarea-field{border:1px solid var(--gray-lighter);background:var(--white);width:100%;color:var(--black);resize:none;outline:none;min-height:100px;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .2s}.textarea-field:focus{border-color:var(--black)}.textarea-field::-moz-placeholder{color:var(--gray-light)}.textarea-field::placeholder{color:var(--gray-light)}.fab{background:var(--black);width:56px;height:56px;color:var(--white);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;position:fixed;bottom:100px;right:24px;box-shadow:0 4px 20px #0003}.fab:hover{transform:scale(1.05)}.tabs{border-bottom:1px solid var(--gray-lighter);gap:24px;margin-bottom:24px;display:flex}.tab{color:var(--gray-mid);cursor:pointer;background:0 0;border:none;padding:12px 0;font-family:DM Sans,sans-serif;font-size:14px;transition:color .2s;position:relative}.tab.active{color:var(--black)}.tab.active:after{content:"";background:var(--black);height:2px;position:absolute;bottom:-1px;left:0;right:0}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state-icon{width:48px;height:48px;color:var(--gray-light);margin-bottom:16px}.generating-overlay{z-index:200;background:#1a1a1ae6;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.generating-text{color:var(--white);margin-top:24px;font-family:Cormorant Garamond,serif;font-size:20px;font-style:italic}.spinner{border:2px solid #fff3;border-top-color:var(--white);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.description-panel{background:var(--white);z-index:50;padding:20px 24px 32px;position:absolute;bottom:0;left:0;right:0}.hidden-input{display:none}.venue-moments{background:var(--cream);gap:12px;padding:16px 24px;display:flex;overflow-x:auto}.venue-moment{cursor:pointer;opacity:.6;flex-shrink:0;width:100px;transition:opacity .2s}.venue-moment.active{opacity:1}.venue-moment-thumb{background:var(--cream-dark);width:100px;height:75px;margin-bottom:8px;overflow:hidden}.venue-moment-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.venue-moment-label{color:var(--gray-dark);font-size:12px}.results-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.result-card,.result-item{aspect-ratio:3/4;background:var(--cream-dark);cursor:pointer;position:relative;overflow:hidden}.result-card img,.result-item img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.result-card.selected:after,.result-item.selected:after{content:"";border:3px solid var(--black);position:absolute;inset:0}.result-check{background:var(--black);width:24px;height:24px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.auth-container{flex-direction:column;justify-content:center;min-height:100%;display:flex}.btn-icon{cursor:pointer;color:var(--gray-mid);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.btn-icon:hover{color:var(--black)}.lightbox-overlay{z-index:1000;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:10;background:0 0;border:none;padding:8px;position:absolute;top:16px;right:16px}.lightbox-nav{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:none;padding:16px 8px;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3}.lightbox-nav-left{left:0}.lightbox-nav-right{right:0}.lightbox-content{flex-direction:column;max-width:90%;max-height:90%;display:flex}.lightbox-image{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:70vh}.lightbox-actions{background:#ffffff0d;justify-content:space-between;align-items:center;margin-top:8px;padding:16px;display:flex}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--white);width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--cream-dark);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--cream-dark);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.dropdown-menu{background:var(--white);border:1px solid var(--cream-dark);z-index:100;min-width:160px;position:absolute;top:100%;right:0;box-shadow:0 4px 20px #0000001a}.dropdown-item{text-align:left;width:100%;color:var(--black);cursor:pointer;background:0 0;border:none;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;transition:background .2s;display:block}.dropdown-item:hover{background:var(--cream)}.dropdown-item:not(:last-child){border-bottom:1px solid var(--cream-dark)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
