@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinFast{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-upload-area{transform:translateZ(0);will-change:transform,background-color,border-color;backface-visibility:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;contain:layout style}.file-upload-area-clicking{transform:translateZ(0) scale(.98);transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.file-upload-icon{transform:translateZ(0);will-change:transform;shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke}.file-input-hidden{position:absolute;left:-9999px;opacity:0;pointer-events:none;visibility:hidden}@media (max-width: 768px){.file-upload-area{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;-webkit-perspective:1000;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.file-upload-area-clicking{transform:translateZ(0) scale(.95);transition:transform .1s ease-out}}@media (max-width: 480px){.file-upload-area{border-radius:.75rem;padding:1.5rem;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased}.file-upload-area-clicking{transform:translateZ(0) scale(.97);transition:transform .08s ease-out}.optimized-text{font-size:.875rem;line-height:1.5;text-align:center;padding:0 .5rem}.file-upload-area button{min-height:44px;padding:.75rem 1rem;font-size:.875rem}}.upload-loading-overlay{transform:translateZ(0);will-change:opacity;contain:layout style paint;animation-fill-mode:both;animation-timing-function:cubic-bezier(.4,0,.2,1);z-index:10;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.upload-spinner{transform:translateZ(0);will-change:transform;animation-timing-function:linear;animation-fill-mode:both;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation:spin 2s linear infinite}.upload-spinner-glow{animation:spinSlow 3s linear infinite;transform:translateZ(0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.spin-slow{animation:spinSlow 3s linear infinite}.spin-fast{animation:spinFast 1s linear infinite}.spin-normal{animation:spin 2s linear infinite}.critical-path-optimized{will-change:transform,opacity;transform:translateZ(0);contain:layout;isolation:isolate}.no-repaint{contain:paint;will-change:auto}.optimized-text{text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;contain:layout}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.file-upload-area{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (hover: none) and (pointer: coarse){.file-upload-area{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-upload-area-clicking{transform:translateZ(0) scale(.96);transition:transform .05s ease-out}}.initial-render-optimized{contain:layout style;content-visibility:auto;box-sizing:border-box}:root{--upload-scale-normal: 1;--upload-scale-pressed: .98;--upload-transition-fast: .1s;--upload-transition-normal: .15s}.file-upload-area{transform:translateZ(0) scale(var(--upload-scale-normal))}.file-upload-area-clicking{transform:translateZ(0) scale(var(--upload-scale-pressed));transition:transform var(--upload-transition-fast) ease-out}@media (max-width: 768px){.prompt-card-mobile{padding:.75rem;min-height:60px;border-radius:.5rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.function-selector-mobile{padding:.5rem;gap:.5rem}.image-preview-mobile{max-height:400px;border-radius:.75rem}.custom-input-mobile{padding:.75rem;font-size:.875rem;line-height:1.25rem;border-radius:.75rem}.uploaded-image-container{border-radius:1rem;overflow:hidden;position:relative;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d}.uploaded-image-toolbar{background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.2),transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.uploaded-image-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .2s ease}.uploaded-image-button:active{transform:scale(.95)}}@media (max-width: 375px){.file-upload-area{padding:1rem .75rem;display:flex;flex-direction:column;justify-content:center}.prompt-card-mobile{padding:.5rem;min-height:54px;font-size:.875rem}.optimized-text{font-size:.8125rem;line-height:1.4}.upload-loading-overlay{border-radius:.75rem}.upload-spinner{width:2.5rem;height:2.5rem}}
