.app{min-height:100vh;max-width:64rem;padding:2rem;text-align:center;animation:fadeIn .8s cubic-bezier(.4,0,.2,1)}.app,.intro-text{margin-left:auto;margin-right:auto}.intro-text{margin-bottom:4rem;max-width:48rem}.main-desc{margin-bottom:2rem;font-size:3rem;line-height:1;font-weight:700;background:linear-gradient(135deg,#4f46e5,#f43f5e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:float 8s ease-in-out infinite}.sub-desc{margin-bottom:3rem}.sub-desc>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sub-desc{font-size:1.125rem;color:rgb(71 85 105/var(--tw-text-opacity))}.solution,.sub-desc{line-height:1.75rem;line-height:1.625;--tw-text-opacity:1}.solution{border-radius:1rem;padding:2rem;font-size:1.25rem;color:rgb(51 65 85/var(--tw-text-opacity));background:linear-gradient(135deg,rgba(79,70,229,.1),rgba(244,63,94,.1));box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06),inset 0 0 0 1px hsla(0,0%,100%,.5)}.file-upload-container{margin-top:4rem;margin-bottom:4rem}.file-upload-button{position:relative;display:inline-flex;align-items:center;overflow:hidden;border-radius:1rem;padding:1.25rem 2.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 6px -1px rgba(79,70,229,.2),0 2px 4px -1px rgba(79,70,229,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.file-upload-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 12px -1px rgba(79,70,229,.2),0 4px 8px -1px rgba(79,70,229,.1)}.file-upload-button:active{transform:translateY(1px) scale(.98)}.image-container{position:relative;margin-top:4rem;margin-bottom:4rem;overflow:hidden;border-radius:1.5rem;animation:fadeIn .8s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.image-container img{width:100%;border-radius:1.5rem;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transform-origin:center}.image-container:hover img{transform:scale(1.02)}.scanning-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:1.5rem;--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background:linear-gradient(135deg,rgba(79,70,229,.8),rgba(244,63,94,.8));animation:pulse 2.5s ease-in-out infinite}.scanning-overlay span{font-size:1.25rem;line-height:1.75rem;font-weight:500;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));text-shadow:0 2px 4px rgba(0,0,0,.1)}.chat-display{margin:4rem auto;max-width:48rem}.chat-display>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.chat-display{text-align:left;animation:fadeIn .8s cubic-bezier(.4,0,.2,1)}.chat-bubble{position:relative;max-width:80%;border-radius:1rem;padding:1.25rem 2rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.chat-bubble.left{margin-right:auto;border-top-left-radius:.125rem;background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(243,244,246,.95))}.chat-bubble.right{margin-left:auto;border-top-right-radius:.125rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));background:linear-gradient(135deg,#4f46e5,#4338ca)}.form-container{margin:4rem auto;display:flex;width:100%;max-width:42rem;flex-direction:column;gap:1.5rem;animation:fadeIn .8s cubic-bezier(.4,0,.2,1)}.select-input,.text-input{border-radius:.75rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity));background-color:hsla(0,0%,100%,.9);padding:1.25rem 2rem;font-size:1.125rem;line-height:1.75rem;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.select-input:hover,.text-input:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity));background-color:hsla(0,0%,100%,.95);transform:translateY(-1px);box-shadow:0 6px 8px -1px rgba(0,0,0,.1),0 4px 6px -1px rgba(0,0,0,.06)}.select-input:focus,.text-input:focus{transform:translateY(-2px)}.select-input.selected,.select-input:focus,.text-input.has-content,.text-input:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity))}.generate-button{position:relative;overflow:hidden;border-radius:.75rem;padding:1.25rem 2.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 6px -1px rgba(5,150,105,.2),0 2px 4px -1px rgba(5,150,105,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.generate-button:not(:disabled):hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 12px -1px rgba(5,150,105,.2),0 4px 8px -1px rgba(5,150,105,.1)}.generate-button:disabled{transform:none;cursor:not-allowed;--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity));opacity:.7;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.suggestions-container{margin:4rem auto;max-width:48rem}.suggestions-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.suggestions-container{text-align:left;animation:fadeIn .8s cubic-bezier(.4,0,.2,1)}.suggestion-item{position:relative;overflow:hidden;border-radius:1rem;padding:2rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.9);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06),inset 0 0 0 1px hsla(0,0%,100%,.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.suggestion-item:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 12px -1px rgba(0,0,0,.1),0 4px 8px -1px rgba(0,0,0,.06),inset 0 0 0 1px hsla(0,0%,100%,.7);background:hsla(0,0%,100%,.95)}.suggestion-item strong{margin-bottom:1rem;display:block;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:.025em;background:linear-gradient(135deg,#4f46e5,#f43f5e);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.reset-button{position:relative;margin-top:4rem;overflow:hidden;border-radius:.75rem;padding:1.25rem 2.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 6px -1px rgba(220,38,38,.2),0 2px 4px -1px rgba(220,38,38,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.reset-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 12px -1px rgba(220,38,38,.2),0 4px 8px -1px rgba(220,38,38,.1)}@media (max-width:640px){.app{padding:1rem}.main-desc{font-size:1.875rem;line-height:2.25rem}.solution{padding:1.5rem;font-size:1.125rem;line-height:1.75rem}.file-upload-button,.generate-button,.reset-button,.select-input,.text-input{padding:1rem 1.5rem;font-size:1rem;line-height:1.5rem}.suggestion-item{padding:1.5rem}.chat-bubble{padding:1rem 1.5rem}}@media (prefers-color-scheme:dark){.app{background-color:transparent}.main-desc{background:linear-gradient(135deg,#818cf8,#fb7185);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(129,140,248,.2)}.sub-desc{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.solution{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity));background:linear-gradient(135deg,rgba(129,140,248,.1),rgba(251,113,133,.1));box-shadow:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.1),inset 0 0 0 1px hsla(0,0%,100%,.05)}.file-upload-button{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 4px 6px -1px rgba(129,140,248,.3),0 2px 4px -1px rgba(129,140,248,.2)}.file-upload-button:hover{box-shadow:0 8px 12px -1px rgba(129,140,248,.3),0 4px 8px -1px rgba(129,140,248,.2),0 0 0 1px rgba(129,140,248,.3)}.chat-bubble.left{background:linear-gradient(135deg,rgba(30,41,59,.8),rgba(15,23,42,.8));--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity));box-shadow:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.1),inset 0 0 0 1px hsla(0,0%,100%,.05)}.chat-bubble.right{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 4px 6px -1px rgba(129,140,248,.3),0 2px 4px -1px rgba(129,140,248,.2)}.select-input,.text-input{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity));background-color:rgba(30,41,59,.8);--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity));box-shadow:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.1),inset 0 0 0 1px hsla(0,0%,100%,.05)}.select-input:hover,.text-input:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity));background-color:rgba(30,41,59,.9);box-shadow:0 6px 8px -1px rgba(0,0,0,.2),0 4px 6px -1px rgba(0,0,0,.1),inset 0 0 0 1px hsla(0,0%,100%,.1)}.select-input.selected,.select-input:focus,.text-input.has-content,.text-input:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(129,140,248,.2)}.generate-button{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 6px -1px rgba(52,211,153,.3),0 2px 4px -1px rgba(52,211,153,.2)}.generate-button:not(:disabled):hover{box-shadow:0 8px 12px -1px rgba(52,211,153,.3),0 4px 8px -1px rgba(52,211,153,.2),0 0 0 1px rgba(52,211,153,.3)}.generate-button:disabled{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity));opacity:.5}.suggestion-item{background:rgba(30,41,59,.8);--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity));box-shadow:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.1),inset 0 0 0 1px hsla(0,0%,100%,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.suggestion-item:hover{background:rgba(30,41,59,.9);box-shadow:0 8px 12px -1px rgba(0,0,0,.2),0 4px 8px -1px rgba(0,0,0,.1),inset 0 0 0 1px hsla(0,0%,100%,.1)}.suggestion-item strong{background:linear-gradient(135deg,#818cf8,#fb7185);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(129,140,248,.2)}.reset-button{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 4px 6px -1px hsla(0,91%,71%,.3),0 2px 4px -1px hsla(0,91%,71%,.2)}.reset-button:hover{box-shadow:0 8px 12px -1px hsla(0,91%,71%,.3),0 4px 8px -1px hsla(0,91%,71%,.2),0 0 0 1px hsla(0,91%,71%,.3)}}