:root{--color-primary: #6366f1;--color-primary-opacity-10: rgba(99, 102, 241, .1);--color-primary-opacity-20: rgba(99, 102, 241, .2);--color-primary-opacity-30: rgba(99, 102, 241, .3);--color-primary-opacity-50: rgba(99, 102, 241, .5);--color-primary-opacity-80: rgba(99, 102, 241, .8);--color-primary-glow: var(--color-primary-opacity-50);--color-error: rgb(248, 113, 113);--color-error-opacity-10: rgba(248, 113, 113, .1);--color-error-opacity-20: rgba(248, 113, 113, .2);--color-white: rgb(255, 255, 255);--color-white-opacity-2: rgba(255, 255, 255, .02);--color-white-opacity-5: rgba(255, 255, 255, .05);--color-white-opacity-10: rgba(255, 255, 255, .1);--color-white-opacity-20: rgba(255, 255, 255, .2);--color-black: rgb(0, 0, 0);--color-black-opacity-10: rgba(0, 0, 0, .1);--color-black-opacity-20: rgba(0, 0, 0, .2);--color-black-opacity-70: rgba(0, 0, 0, .7);--secondary: #ec4899;--bg-dark: #0f172a;--text-white: #f1f5f9;--text-dim: #94a3b8;--font-brand: "Pacifico", cursive}html{box-sizing:border-box;height:100%;font-size:16px}*,*:before,*:after{box-sizing:inherit}*{margin:0;padding:0}body{font-family:Plus Jakarta Sans,sans-serif;background-color:#0f172a;color:var(--text-white);font-size:1rem;line-height:1.5;text-rendering:optimizeLegibility}.btn{--btn-bg: transparent;--btn-fg: inherit;--btn-space: 1em;--btn-space-x: var(--btn-space);--btn-space-y: var(--btn-space);width:100%;padding:var(--btn-space-y) var(--btn-space-x);border-radius:1.5em;border:none;text-decoration:none;cursor:pointer;background-color:var(--btn-bg);font-weight:600;font-size:inherit;line-height:1;color:var(--btn-fg);display:inline-flex;align-items:center;justify-content:center}.btn:active{transform:scale(.97)}.btn:disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.3}.btn-primary{--btn-bg: var(--color-primary);--btn-fg: var(--color-white)}.btn-white{--btn-bg: var(--color-white);--btn-fg: var(--color-black)}.btn-action{gap:1rem;font-size:1.2rem;box-shadow:0 1.25rem 2rem -1rem var(--color-primary-opacity-30);transition:transform .15s,box-shadow .3s,opacity .3s}.btn-action:hover{box-shadow:0 1.25rem 2rem -1rem var(--color-primary-opacity-50)}.btn-glass{--btn-fg: var(--color-white);--btn-bg: var(--color-white-opacity-5);border:1px solid var(--color-white-opacity-10);transition:all .25s ease}.btn-glass:hover{background-color:var(--color-white-opacity-10)}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:1.5em;height:1.5em;border-radius:.4em;background-color:var(--color-white-opacity-5);border:.125em solid var(--color-white-opacity-10);cursor:pointer;position:relative;transition:all .2s;display:inline-block}input[type=checkbox]:hover{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-opacity-20)}input[type=checkbox]:checked{border-color:var(--color-primary)}input[type=checkbox]:checked:after{content:"";position:absolute;left:.625em;top:.25em;width:.25em;height:.75em;border:solid var(--color-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}label>input[type=checkbox]{margin-right:.5em}label[for]{cursor:pointer}label{display:flex;align-items:center}.glass{background:var(--color-white-opacity-2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-white-opacity-5);border-radius:2.5rem;padding:2rem}.text-highlight{color:var(--color-primary)}.error-message{text-align:center;font-size:.875rem;line-height:1.25rem;color:var(--color-error);background-color:var(--color-error-opacity-10);padding:.5rem;border-radius:.75rem;border:1px solid var(--color-error-opacity-10)}.busy-mask{display:none;background-color:#ffffff0d;opacity:0}.busy-mask.busy{display:flex;position:fixed;z-index:10000;inset:0;width:100%;height:100%;align-items:center;justify-content:center;opacity:1}.busy-mask .spinner{--spin-size: 3rem;--spin-color: var(--color-primary)}.view-fade-enter-active,.view-fade-leave-active{transition:all .6s cubic-bezier(.4,0,.2,1)}.view-fade-enter-from{opacity:0;transform:translateY(20px)}.view-fade-leave-to{opacity:0;transform:translateY(-20px)}@keyframes fade-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.pet-festive-header{display:flex;justify-content:space-between;align-items:center;animation:fade-down .8s ease-out forwards}.pet-festive-header .brand-icon-title{display:flex;align-items:center;gap:.5rem}.pet-festive-header .brand-icon-title .brand-icon{width:3rem;height:3rem;background-color:var(--glass);border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:2rem;box-shadow:0 10px 15px -3px #6366f14d,0 4px 6px -4px #6366f14d}.pet-festive-header .brand-icon-title .brand-title{font-size:1.875rem;line-height:2.25rem;font-family:var(--font-brand, inherit);background-clip:text;-webkit-background-clip:text;color:transparent;background-image:linear-gradient(to right,#818cf8,#ec4899);letter-spacing:-.025em;padding:0 .5rem}.pet-festive-header .reset-app-button{font-size:.875rem;line-height:1.25rem;font-weight:600;padding:.5rem 1rem;color:var(--text-dim);border-radius:1rem;transition:color .15s ease-in-out}.pet-festive-header .reset-app-button:hover{color:#fff}.theme-select{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.theme-select .theme-card{display:flex;flex-direction:column;align-items:center;height:100%;padding:1rem;border-radius:1rem;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s}.theme-select .theme-card .theme-emoji{font-size:2.25rem;margin-bottom:.75rem;transition:transform .3s}.theme-select .theme-card .theme-name{font-weight:600;font-size:.875rem;line-height:1.25rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);text-align:center}.theme-select .theme-card .theme-check{display:none;position:absolute;top:-.5rem;right:-.5rem;width:1.5rem;height:1.5rem;border-radius:1.5rem;background:var(--color-primary);color:#fff;font-size:1rem;align-items:center;justify-content:center}.theme-select .theme-card:hover{border-color:var(--color-primary-opacity-20);background:var(--color-primary-opacity-10)}.theme-select .theme-card:hover .theme-emoji{transform:scale(1.25)}.theme-select .theme-option{position:relative}.theme-select .theme-option .theme-radio{position:absolute;opacity:0;pointer-events:none}.theme-select .theme-option .theme-radio:checked+.theme-card{border-color:var(--color-primary);background:var(--color-primary-opacity-20);transform:scale(1.05);box-shadow:0 0 30px var(--color-primary-opacity-20)}.theme-select .theme-option .theme-radio:checked+.theme-card .theme-name{color:var(--color-primary)}.theme-select .theme-option .theme-radio:checked+.theme-card .theme-check{display:flex}.theme-select .theme-option .theme-radio:focus-visible+.theme-card{outline:2px solid var(--color-primary-opacity-80);outline-offset:4px}.upload-image{position:relative;overflow:hidden;cursor:pointer;transition:all .5s}.upload-image:hover{border-color:var(--color-white-opacity-20)}.upload-image.is-dragging{background:var(--color-primary-opacity-10);box-shadow:0 0 0 4px var(--color-primary-opacity-50) inset}.upload-image .upload-input{display:none}.upload-image.empty{padding:1rem}.upload-image .upload-empty{width:100%;height:100%;padding:2rem;display:grid;text-align:center;border:2px dashed var(--color-white-opacity-10);border-radius:2rem;transition:border-color .3s}.upload-image:hover .upload-image .upload-empty{border-color:var(--color-primary-opacity-50)}.upload-image .upload-empty .icon{width:6rem;height:6rem;border-radius:50%;background:var(--color-primary-opacity-10);display:flex;align-items:center;justify-content:center;font-size:2.25rem;margin:auto;box-shadow:inset 0 2px 10px var(--color-white-opacity-20);transition:transform .5s}.upload-image:hover .upload-image .upload-empty .icon{transform:scale(1.1)}.upload-image .upload-empty .title{font-size:1.5rem;font-size:clamp(.9rem,2.5vw,1.5rem);font-weight:900;margin:1rem auto}.upload-image .upload-empty .hint{color:var(--text-dim);font-weight:500}.upload-image .upload-preview{position:relative;overflow:hidden;width:100%;aspect-ratio:1}.upload-image .upload-preview .img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.upload-image .upload-preview:hover .img{transform:scale(1.05)}.upload-image .upload-preview .overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.upload-image .upload-preview .overlay .label{--btn-space-y: .5em;width:auto}.loading-spinner{--spin-color: var(--color-white);--spin-bg: var(--color-white-opacity-20);--spin-size: 1.5em;display:inline-flex;align-items:center;justify-content:center;gap:1rem}.loading-spinner .status{animation:pulse 2s ease-in-out infinite}.loading-spinner .spinner{width:var(--spin-size);height:var(--spin-size);aspect-ratio:1;border-radius:50%;border:3px solid var(--spin-bg);border-top-color:var(--spin-color);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pet-festive-setup-form{display:grid;gap:2rem}@media(min-width:50rem){.pet-festive-setup-form{grid-template-columns:3fr 2fr}.pet-festive-setup-form .image-container .upload-image{aspect-ratio:1}}.pet-festive-setup-form .theme-container{display:grid;gap:1.5rem}.pet-festive-setup-form .section-title{font-size:1.25rem;font-weight:600;letter-spacing:-.015em}.step-instructions{text-align:center;display:flex;flex-direction:column;gap:2rem}.step-instructions>.title{font-size:clamp(1.5rem,5vw,3rem);line-height:1;font-weight:900;letter-spacing:-.05em;font-style:italic}.step-instructions>.description{color:var(--text-white);font-size:1.125rem;max-width:30ch;margin-left:auto;margin-right:auto;font-weight:500}.pet-festive-step{display:grid;gap:2rem}.media-preview{display:block;margin:auto;max-width:100%;aspect-ratio:1;object-fit:contain}.media-diff-preview{display:grid;gap:2.5rem}@media(min-width:60rem){.media-diff-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}.media-diff-preview .media-box{position:relative;padding:1rem;border-radius:3rem;border:1px solid var(--color-white-opacity-10)}.media-diff-preview .media-box .tag{position:absolute;top:1.5rem;left:1.5rem;z-index:1;background-color:var(--color-black-opacity-70);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.5rem 1rem;border-radius:1rem;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:#cbd5e1;border:1px solid var(--color-white-opacity-10)}.media-diff-preview .media-box.highlight{border:2px solid var(--color-primary);box-shadow:0 0 2rem #6366f14d}.media-diff-preview .media-box.highlight .tag{background-color:var(--color-primary);border:none;box-shadow:0 .5rem 1rem -.25rem var(--color-black-opacity-20)}.edit-image-form{display:grid;gap:1.5rem;width:100%}.edit-image-form .checkbox-label{font-size:1.25rem}.edit-image-form .fields-container{display:grid;gap:1rem}@media(min-width:60rem){.edit-image-form .fields-container{grid-template-columns:1fr auto}}.edit-image-form .form-input{flex:1;background-color:var(--color-white-opacity-5);border:1px solid var(--color-white-opacity-10);border-radius:1rem;padding:1.25rem 2rem;font-size:1.125rem;font-weight:500;color:var(--color-white);outline:none;transition:all .2s ease}.edit-image-form .form-input::placeholder{color:var(--text-dim)}.edit-image-form .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-opacity-20)}.edit-image-form .form-button{background-color:var(--color-white);color:var(--color-black);font-weight:900;text-transform:uppercase;letter-spacing:.15em;padding:1.25rem 2.5rem;border-radius:1rem;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 20px 25px -5px var(--color-black-opacity-10);transition:all .3s ease}.edit-image-form .form-button:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.edit-image-form .form-button:disabled{opacity:.3;cursor:not-allowed}.refine-image{width:100%}.refine-image .refine-card{max-width:56rem;margin:0 auto;padding:2.5rem;border-radius:3rem;background-color:#ffffff0d;box-shadow:0 25px 50px #00000040}.refine-image .refine-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.refine-image .refine-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background-color:#6366f133;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:inset 0 2px 4px #0003}.refine-image .refine-text{display:flex;flex-direction:column;gap:.25rem}.refine-image .refine-title{font-weight:900;font-size:1.5rem;letter-spacing:-.02em;text-transform:uppercase;margin:0}.refine-image .refine-description{font-size:1rem;font-weight:500;color:#94a3b8;margin:0}.final-actions{width:100%}.final-actions .actions-container{display:grid;align-items:center;justify-content:center;gap:1.5rem;padding-bottom:3rem}@media(min-width:60rem){.final-actions .actions-container{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}}.final-actions .actions-container .btn{font-size:1.2rem;letter-spacing:.1em}.pet-festive{display:grid;gap:3rem;grid-template-rows:auto 1fr;max-width:75rem;margin:0 auto;padding:2rem 1rem}@media(min-width:50rem){.pet-festive{padding:3rem 1rem}}
