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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body{margin:0;padding:0}.app-container{background-color:#e8e4d9;color:#333;font-family:serif;min-height:100vh;overflow-x:hidden}.texture-background{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%239C92AC' fill-opacity='.4' fill-rule='evenodd'/%3E%3C/svg%3E");inset:0;opacity:.2;pointer-events:none;position:fixed;z-index:0}.nav{justify-content:space-between;padding:1rem 1.5rem;position:relative;z-index:10}.nav,.nav-title{align-items:center;display:flex}.nav-title{color:#7f1d1d;font-size:1.5rem;font-weight:700;gap:.5rem;letter-spacing:.2em}.nav-badge{background-color:#7f1d1d;border:2px solid #7f1d1d;border-radius:.25rem;padding:0 .25rem}.nav-badge,.nav-button{color:#e8e4d9;font-size:.875rem}.nav-button{align-items:center;background-color:#1f2937;border:none;border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.nav-button:hover{background-color:#374151}.main-content{align-items:center;display:flex;flex-direction:column;gap:2rem;justify-content:center;margin:0 auto;max-width:80rem;padding:1rem 1rem 5rem;position:relative;width:100%;z-index:10}@media (min-width:1024px){.main-content{align-items:flex-start;flex-direction:row}}.calendar-container{flex:1 1;margin:0 auto;max-width:28rem;position:relative;width:100%}@media (min-width:1024px){.calendar-container{margin:0}}.calendar-rings{display:flex;justify-content:space-between;left:50%;padding:0 3rem;position:absolute;top:-.75rem;transform:translateX(-50%);width:100%;z-index:20}.calendar-ring{background-color:#d1d5db;border:2px solid #9ca3af;border-radius:9999px;box-shadow:inset 0 2px 4px 0 #0000000f;height:2rem;width:1rem}.calendar-body{background-color:#fff;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;border-top:3rem solid #7f1d1d;box-shadow:0 10px 40px -10px #0000004d;overflow:hidden;position:relative}.calendar-header{background-color:#fef2f2;border-bottom:2px dashed #fecaca;padding:1rem;position:relative;text-align:center}.calendar-date-input{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%;z-index:10}.calendar-year-month{align-items:center;color:#7f1d1d;display:flex;font-family:sans-serif;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem;opacity:.6}.calendar-day-number{color:#dc2626;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-family:serif;font-size:8rem;font-weight:700;letter-spacing:-.05em;line-height:1;transform:scaleY(1.1);-webkit-user-select:none;user-select:none}.calendar-weekday{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:.5rem;margin-top:.5rem}.calendar-weekday-text{color:#1f2937;font-size:1.25rem;font-weight:700}.calendar-event-badge{background-color:#fff;border:2px solid #7f1d1d;border-radius:9999px;color:#7f1d1d;display:inline-block;font-size:.875rem;font-weight:700;letter-spacing:.1em;margin-top:.5rem;padding:.25rem 1.5rem}.calendar-event-badge.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.calendar-event-badge.default{background-color:#f9fafb;border-color:#9ca3af;color:#4b5563}.calendar-hint{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;bottom:1rem;color:#9ca3af;font-size:.75rem;pointer-events:none;position:absolute;right:1rem}.calendar-content{align-items:center;aspect-ratio:9/16;background-color:#fdfbf7;display:flex;justify-content:center;overflow:hidden;position:relative}.calendar-content:hover .calendar-image{transform:scale(1.05);transition:transform .7s}.calendar-image{height:100%;object-fit:cover;transition:transform .7s;width:100%}.calendar-logo{align-items:center;border-radius:50%;box-shadow:0 10px 15px -3px #0000001a;color:#fff;display:flex;font-size:1.25rem;font-weight:700;height:3rem;justify-content:center;position:absolute;right:1rem;top:1rem;width:3rem;z-index:20}.generating-state{text-align:center}.generating-spinner{animation:spin 1s linear infinite;border:4px solid #fecaca;border-radius:50%;border-top-color:#dc2626;display:inline-block;height:4rem;margin-bottom:1rem;width:4rem}@keyframes spin{to{transform:rotate(1turn)}}.generating-text{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;color:#6b7280;font-weight:500}.generating-subtext{color:#9ca3af;font-size:.75rem;margin-top:.5rem}.default-state{opacity:.4;padding:2rem;text-align:center;-webkit-user-select:none;user-select:none}.default-state-text{color:#d1d5db;font-size:3.75rem;margin-bottom:1rem}.default-state-title{color:#9ca3af;font-size:1.5rem;font-weight:700;margin-bottom:2rem}.default-state-divider{border-top:1px solid #d1d5db;margin:1rem auto;width:4rem}.calendar-footer{background-color:#fff;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.generate-button{align-items:center;background-color:#b91c1c;border:none;border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a;color:#fdfbf7;cursor:pointer;display:flex;font-size:1.25rem;font-weight:700;gap:.5rem;justify-content:center;padding:1rem;transition:all .2s;width:100%}.generate-button:hover:not(:disabled){background-color:#dc2626}.generate-button:active:not(:disabled){transform:scale(.98)}.generate-button:disabled{cursor:not-allowed;opacity:.7}.generate-button .icon{transition:transform .5s}.generate-button:hover .icon{transform:rotate(180deg)}.generate-button .icon.spinning{animation:spin 1s linear infinite}.img2img-button{align-items:center;background-color:initial;border:1px dashed #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem;transition:all .2s;width:100%}.img2img-button:hover{border-color:#6b7280;color:#1f2937}.calendar-tear{background:linear-gradient(180deg,#0000000d,#0000);height:1rem}.brand-list{align-items:center;display:flex;flex-direction:row;flex-shrink:0;flex-wrap:wrap;gap:1rem;justify-content:center;padding:.5rem;width:100%;z-index:10}@media (min-width:1024px){.brand-list{flex-direction:column;flex-wrap:nowrap;overflow-x:visible;padding:0;width:6rem}}.brand-item{align-items:center;display:flex;position:relative}.brand-tooltip{background-color:#1f2937;border-radius:.25rem;color:#fff;font-size:.75rem;margin-right:.75rem;opacity:0;padding:.25rem .5rem;pointer-events:none;position:absolute;right:100%;transition:opacity .2s;white-space:nowrap}@media (min-width:1024px){.brand-tooltip{display:block}}.brand-item:hover .brand-tooltip{opacity:1}.brand-button{align-items:center;background:none;border:4px solid #fff;border-radius:50%;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;display:flex;font-size:1.25rem;font-weight:700;height:3.5rem;justify-content:center;overflow:hidden;position:relative;transition:all .3s;width:3.5rem}@media (min-width:1024px){.brand-button{height:4rem;width:4rem}}.brand-button.selected{border-color:#1f2937;box-shadow:0 20px 25px -5px #0000001a;transform:scale(1.1)}.brand-button.selected .brand-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:#fff;inset:0;opacity:.2;position:absolute}.brand-indicator{background-color:#1f2937;border-radius:50%;bottom:-.5rem;height:.375rem;left:50%;position:absolute;transform:translateX(-50%);width:.375rem}@media (min-width:1024px){.brand-indicator{display:none}}.add-brand-button{align-items:center;background:none;border:2px dashed #9ca3af;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;height:3rem;justify-content:center;transition:all .2s;width:3rem}.add-brand-button:hover{border-color:#4b5563;color:#4b5563}.history-section{margin:0 auto 3rem;max-width:80rem;padding:0 1.5rem}.history-header{align-items:center;border-bottom:1px solid #d1d5db;color:#6b7280;display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.history-title{font-size:1.125rem;font-weight:700}.history-empty{background-color:#ffffff80;border:1px dashed #d1d5db;border-radius:.5rem;color:#9ca3af;padding:3rem;text-align:center}.history-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.history-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px){.history-grid{grid-template-columns:repeat(6,1fr)}}.history-item{background-color:#fff;border-radius:.375rem;box-shadow:0 1px 3px 0 #0000001a;padding:.5rem;position:relative;transition:box-shadow .2s}.history-item:hover{box-shadow:0 4px 6px -1px #0000001a}.history-image-container{aspect-ratio:9/16;background-color:#f3f4f6;border-radius:.25rem;margin-bottom:.5rem;overflow:hidden}.history-image{height:100%;object-fit:cover;width:100%}.history-info{align-items:center;color:#6b7280;display:flex;font-size:.75rem;justify-content:space-between}.history-type-badge{border-radius:.25rem;padding:.0625rem .25rem}.history-type-badge.text-to-image{background-color:#dbeafe;color:#1d4ed8}.history-type-badge.image-to-image{background-color:#f3e8ff;color:#7c3aed}.history-event{color:#9ca3af;font-size:.75rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-prompt-copy:hover{background-color:#2563eb}.prompt-modal-content{max-width:48rem}.prompt-display{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;max-height:60vh;overflow-y:auto;padding:1.5rem}.prompt-text{word-wrap:break-word;color:#374151;font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.6;margin:0;white-space:pre-wrap}.history-actions{align-items:center;background-color:#00000080;border-radius:.375rem;display:flex;gap:.5rem;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.history-item:hover .history-actions{opacity:1}.history-action-button{background-color:#fff;border:none;border-radius:50%;color:#1f2937;cursor:pointer;padding:.5rem;transition:transform .2s}.history-action-button:hover{transform:scale(1.1)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;transition:opacity .2s;z-index:50}.modal-content{background-color:#fdfbf7;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:32rem;overflow:hidden;position:relative;width:100%}.modal-header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-title{color:#1f2937;font-size:1.25rem;font-weight:700}.modal-subtitle{color:#6b7280;font-size:.75rem;margin-top:.25rem}.modal-close-button{background-color:initial;border:none;border-radius:50%;cursor:pointer;padding:.5rem;transition:background-color .2s}.modal-close-button:hover{background-color:#f3f4f6}.modal-body{overflow-y:auto;padding:1.5rem}.upload-area{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:.75rem;cursor:pointer;padding:2rem;position:relative;text-align:center;transition:all .2s}.upload-area:hover{background-color:#fff;border-color:#f87171}.upload-input{cursor:pointer;inset:0;opacity:0;position:absolute}.upload-icon{align-items:center;background-color:#fef2f2;border-radius:50%;color:#ef4444;display:flex;height:4rem;justify-content:center;margin:0 auto 1rem;transition:transform .2s;width:4rem}.upload-area:hover .upload-icon{transform:scale(1.1)}.upload-title{color:#374151;font-weight:700}.upload-subtitle{color:#9ca3af;font-size:.875rem;margin-top:.5rem}.uploaded-images{margin-top:1.5rem}.uploaded-images-title{color:#4b5563;font-size:.875rem;font-weight:700;margin-bottom:.75rem}.uploaded-images-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.uploaded-image-item{aspect-ratio:1;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;position:relative}.uploaded-image{height:100%;object-fit:cover;width:100%}.uploaded-image-remove{background-color:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:0;padding:.25rem;position:absolute;right:.25rem;top:.25rem;transition:opacity .2s}.uploaded-image-item:hover .uploaded-image-remove{opacity:1}.modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.modal-button{border:none;border-radius:.375rem;cursor:pointer;padding:.5rem 1.5rem;transition:all .2s}.modal-button-secondary{background-color:initial;color:#4b5563}.modal-button-secondary:hover{background-color:#e5e7eb}.modal-button-primary{background-color:#b91c1c;box-shadow:0 4px 6px -1px #0000001a;color:#fff;font-weight:700}.modal-button-primary:hover{background-color:#dc2626}.modal-button-primary:disabled{cursor:not-allowed;opacity:.5}.date-nav-button{background-color:initial;border:none;border-radius:50%;cursor:pointer;left:.5rem;padding:.5rem;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .2s}.date-nav-button:hover{background-color:#fef2f2}.date-nav-button.right{left:auto;right:.5rem}.paper-texture{inset:0;opacity:.1;pointer-events:none;position:absolute;z-index:10}.add-brand-modal{background-color:#fdfbf7;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:36rem;overflow:hidden;width:100%}.add-brand-header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.add-brand-header h2{color:#1f2937;font-size:1.25rem;font-weight:700;margin:0}.close-button{background-color:initial;border:none;border-radius:50%;color:#6b7280;cursor:pointer;padding:.5rem;transition:background-color .2s}.close-button:hover{background-color:#f3f4f6}.add-brand-form{flex:1 1;overflow-y:auto;padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.625rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#b91c1c;box-shadow:0 0 0 3px #b91c1c1a;outline:none}.form-group textarea{min-height:4rem;resize:vertical}.help-text{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.color-picker{flex-wrap:wrap}.color-input-row,.color-picker{align-items:center;display:flex;gap:.5rem}.color-input-row input[type=color]{border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;height:2.5rem;padding:0;width:2.5rem}.remove-color-button{background-color:initial;border:none;color:#6b7280;cursor:pointer;padding:.25rem;transition:color .2s}.remove-color-button:hover{color:#ef4444}.add-color-button{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;transition:all .2s}.add-color-button:hover{background-color:#f9fafb;border-color:#b91c1c;color:#b91c1c}.logo-upload{width:100%}.logo-preview{display:inline-block;position:relative}.logo-preview img{border:1px solid #e5e7eb;border-radius:.375rem;max-height:200px;max-width:100%}.remove-logo-button{align-items:center;background-color:#000000b3;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;gap:.25rem;padding:.5rem;position:absolute;right:.5rem;top:.5rem;transition:background-color .2s}.remove-logo-button:hover{background-color:#000000e6}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.btn-secondary{background-color:#fff;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-primary{background-color:#b91c1c;box-shadow:0 4px 6px -1px #0000001a;color:#fff}.btn-primary:hover{background-color:#dc2626}.btn:disabled{cursor:not-allowed;opacity:.5}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem}
/*# sourceMappingURL=main.a4942cc3.css.map*/