*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 240 33% 8%;--foreground: 240 5% 90%;--card: 240 27% 14%;--card-foreground: 240 5% 90%;--popover: 240 10% 12%;--popover-foreground: 240 5% 90%;--primary: 217 91% 60%;--primary-foreground: 0 0% 100%;--secondary: 220 46% 16%;--secondary-foreground: 240 5% 90%;--muted: 240 10% 20%;--muted-foreground: 215 16% 65%;--accent: 217 91% 60%;--accent-foreground: 0 0% 100%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 214 73% 22%;--input: 214 73% 22%;--ring: 217 91% 60%;--success: 142 71% 45%;--success-foreground: 0 0% 100%;--warning: 48 97% 47%;--warning-foreground: 0 0% 0%;--text-muted: 215 16% 47%;--text-subtle: 215 19% 35%;--text-secondary: 213 17% 76%;--canvas-bg: 240 33% 8%;--primary-hover: 217 91% 53%;--primary-light: 217 92% 68%;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--spacing-unit: 4px;--toolbar-height: 3.25rem;--toolbar-padding: .5rem 1rem;--toolbar-gap: .5rem;--toolbar-button-size: 2.5rem;--toolbar-icon-size: 1.125rem;--sidebar-width: 420px;--sidebar-padding: 1rem;--sidebar-section-gap: 1.5rem;--header-height: 3.5rem;--header-padding: .75rem 1.5rem;--panel-padding: 1rem;--panel-gap: 1rem;--button-padding-x: 1rem;--button-padding-y: .5rem;--button-gap: .5rem;--input-height: 2.5rem;--input-padding-x: .75rem;--slider-height: 1.25rem;--slider-thumb-size: 1rem;--radius: .375rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.isolate{isolation:isolate}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-auto{margin-left:auto}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[10px\]{height:10px}.h-\[3px\]{height:3px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[90vh\]{max-height:90vh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-56{width:14rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[10px\]{width:10px}.w-full{width:100%}.w-px{width:1px}.min-w-\[8rem\]{min-width:8rem}.max-w-\[150px\]{max-width:150px}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-4{gap:1rem}.gap-\[var\(--button-gap\)\]{gap:var(--button-gap)}.gap-\[var\(--toolbar-gap\)\]{gap:var(--toolbar-gap)}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-border{border-color:hsl(var(--border))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:hsl(var(--primary))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--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(3px + 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)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}html,body,#root{margin:0;padding:0;height:100%;width:100%;overflow:hidden}.theme-header{height:var(--header-height);padding:var(--header-padding);font-size:var(--font-size-sm)}.theme-sidebar{width:var(--sidebar-width);padding:var(--sidebar-padding)}.theme-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.theme-sidebar-section{margin-bottom:var(--sidebar-section-gap)}.theme-toolbar{height:var(--toolbar-height);padding:var(--toolbar-padding);gap:var(--toolbar-gap)}.theme-toolbar-button{width:var(--toolbar-button-size);height:var(--toolbar-button-size);padding:0}.theme-toolbar-button svg{width:var(--toolbar-icon-size);height:var(--toolbar-icon-size)}.theme-panel{padding:var(--panel-padding);gap:var(--panel-gap)}.theme-button{padding:var(--button-padding-y) var(--button-padding-x);gap:var(--button-gap);font-size:var(--font-size-sm);border-radius:var(--radius)}.theme-input{height:var(--input-height);padding-left:var(--input-padding-x);padding-right:var(--input-padding-x);font-size:var(--font-size-sm);border-radius:var(--radius)}.theme-slider{height:var(--slider-height)}.theme-slider-thumb{width:var(--slider-thumb-size);height:var(--slider-thumb-size)}.theme-label{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;font-weight:600}.theme-label-value{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.theme-section-title{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:hsl(var(--muted-foreground));margin-bottom:calc(var(--spacing-unit) * 2)}[data-density=dense]{--panel-padding: .375rem;--panel-gap: .25rem}[data-density=dense] .theme-section-title{font-size:.5625rem;margin-bottom:.25rem}[data-density=dense] .theme-label,[data-density=dense] .theme-label-value{font-size:.5625rem}[data-density=dense] .toolbar-btn-label{display:none}[data-density=dense] .toolbar-btn{min-width:auto;min-height:auto}[data-theme=affinity]{--hover-opacity: .08}[data-theme=affinity] button:hover:not(:disabled){background-color:hsl(var(--foreground) / .08)}[data-theme=affinity] button.active,[data-theme=affinity] button[data-state=active]{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}[data-theme=affinity] .theme-divider{background-color:hsl(var(--border));opacity:.5}[data-theme=affinity] ::-webkit-scrollbar{width:6px;height:6px}[data-theme=affinity] ::-webkit-scrollbar-track{background:transparent}[data-theme=affinity] ::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:3px}[data-theme=affinity] ::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}[data-theme=clean]{--transition-fast: .1s ease-out;--transition-normal: .15s ease-out}[data-theme=clean] .overall-score{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:none;border-radius:var(--radius-lg);padding:1rem}[data-theme=clean] .overall-score:before{display:none}[data-theme=clean] .overall-score:hover{transform:none;box-shadow:none}[data-theme=clean] .grade-circle{box-shadow:none;transition:none}[data-theme=clean] .overall-score:hover .grade-circle{transform:none;box-shadow:none}[data-theme=clean] .score-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-md);transition:border-color var(--transition-fast)}[data-theme=clean] .score-card.clickable:hover{background-color:hsl(var(--card));transform:none;box-shadow:none;border-color:hsl(var(--muted-foreground) / .3)}[data-theme=clean] .score-card.clickable:active{transform:none;box-shadow:none}[data-theme=clean] .score-card.active{border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .08);box-shadow:none}[data-theme=clean] .analysis-section{border-top:1px solid hsl(var(--border));padding-top:1rem;margin-top:.5rem}[data-theme=clean] .analysis-section:before{display:none}[data-theme=clean] .analysis-section h4{border-left:2px solid hsl(var(--primary));color:hsl(var(--muted-foreground));font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}[data-theme=clean] .recommendation{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-left-width:3px;transition:border-color var(--transition-fast)}[data-theme=clean] .recommendation:hover{transform:none;background-color:hsl(var(--card));border-color:hsl(var(--muted-foreground) / .3)}[data-theme=clean] .recommendation.high{background:hsl(var(--card));border-left-color:hsl(var(--destructive))}[data-theme=clean] .recommendation.high:hover{background:hsl(var(--card))}[data-theme=clean] .recommendation.medium{background:hsl(var(--card));border-left-color:#e7b008}[data-theme=clean] .recommendation.medium:hover{background:hsl(var(--card))}[data-theme=clean] .recommendation.low{background:hsl(var(--card));border-left-color:#21c45d}[data-theme=clean] .recommendation.low:hover{background:hsl(var(--card))}[data-theme=clean] .priority-badge{font-size:.625rem;font-weight:600;letter-spacing:.03em}[data-theme=clean] .priority-badge.high{background-color:hsl(var(--destructive) / .15);color:hsl(var(--destructive));box-shadow:none}[data-theme=clean] .priority-badge.medium{background-color:#e7b00826;color:#e7b008}[data-theme=clean] .priority-badge.low{background-color:#21c45d26;color:#21c45d}[data-theme=clean] .auto-enhance-btn{background:hsl(var(--primary));border:none;color:hsl(var(--primary-foreground));box-shadow:none;text-transform:none;font-weight:500;letter-spacing:0;border-radius:var(--radius-md);transition:opacity var(--transition-fast)}[data-theme=clean] .auto-enhance-btn:hover:not(:disabled){background:hsl(var(--primary));opacity:.9;transform:none;box-shadow:none;border-color:transparent}[data-theme=clean] .auto-enhance-btn:active:not(:disabled){opacity:.8;transform:none}[data-theme=clean] .dropzone{background:hsl(var(--card));border:1px dashed hsl(var(--border));border-radius:var(--radius-lg);transition:border-color var(--transition-fast)}[data-theme=clean] .dropzone:hover,[data-theme=clean] .dropzone.dragging{border-color:hsl(var(--primary));background:hsl(var(--card));transform:none}[data-theme=clean] .analysis-panel.empty{background:hsl(var(--card));border:1px dashed hsl(var(--border));border-radius:var(--radius-lg)}[data-theme=clean] button:hover:not(:disabled){transition:all var(--transition-fast)}[data-theme=clean] button.active,[data-theme=clean] button[data-state=active]{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}[data-theme=clean] *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}[data-theme=clean] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=clean] ::-webkit-scrollbar-track{background:transparent}[data-theme=clean] ::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .25);border-radius:4px}[data-theme=clean] ::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .4)}[data-theme=clean] .histogram{background-color:hsl(var(--muted));border-radius:var(--radius-md)}[data-theme=clean] .toolbar-btn{transition:background-color var(--transition-fast)}[data-theme=clean] .toolbar-btn:hover:not(:disabled){background-color:hsl(var(--muted))}[data-theme=clean] .toolbar-btn.active{background-color:hsl(var(--primary))}[data-theme=clean] .slider-input::-webkit-slider-thumb{background:hsl(var(--primary));border:2px solid hsl(var(--background));box-shadow:0 1px 3px #0000004d}[data-theme=default] ::-webkit-scrollbar{width:8px}[data-theme=default] ::-webkit-scrollbar-track{background:hsl(var(--background))}[data-theme=default] ::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:4px}[data-theme=default] ::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}a{font-weight:500;color:hsl(var(--primary));text-decoration:inherit}a:hover{opacity:.8}h1,h2,h3,h4,h5,h6,p{margin:0}.mono{font-family:var(--font-family-mono)}.text-theme-xs{font-size:var(--font-size-xs)}.text-theme-sm{font-size:var(--font-size-sm)}.text-theme-base{font-size:var(--font-size-base)}.text-theme-lg{font-size:var(--font-size-lg)}.text-theme-xl{font-size:var(--font-size-xl)}.filter-thumbnail-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.filter-thumbnail-card{display:flex;flex-direction:column;align-items:center;gap:0;cursor:pointer;border:none;background:#0f346014;padding:0;border-radius:6px;overflow:hidden;transition:background-color .15s ease-out}.filter-thumbnail-card:hover:not(:disabled){background:#0f346033}.filter-thumbnail-card.active{background:#0f346059;outline:2px solid rgba(59,130,246,.5);outline-offset:-2px}.filter-thumbnail-canvas-wrapper{width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#0003}.filter-thumbnail-canvas{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.filter-thumbnail-placeholder{width:100%;height:100%;background:hsl(var(--muted))}.filter-thumbnail-name{font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:500;color:#94a3b8;white-space:nowrap;text-align:center;line-height:1;padding:5px 4px 6px;width:100%}.filter-thumbnail-card.active .filter-thumbnail-name{color:#e4e4e7;font-weight:600}[data-density=dense] .filter-thumbnail-name{font-size:10px;padding:3px 2px 4px}svg.tone-curve-preview{display:block;width:100%;height:72px;background:#0003;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.hsl-channel-picker{display:flex;gap:8px;justify-content:center;padding:6px 0 10px}.hsl-channel-dot{width:20px;height:20px;border-radius:50%;border:2px solid transparent;background:var(--dot-color);cursor:pointer;transition:border-color .15s,transform .15s;padding:0}.hsl-channel-dot:hover:not(:disabled){transform:scale(1.15)}.hsl-channel-dot.active{border-color:var(--foreground);box-shadow:0 0 0 2px #3b82f680}.filter-categories{display:flex;flex-direction:column;gap:10px}.filter-category-header{font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;padding-bottom:2px}.text-theme-2xl{font-size:var(--font-size-2xl)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-muted-foreground:hover{border-color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--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)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--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)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}@media(min-width:640px){.sm\:inline{display:inline}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xs{max-width:20rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-0{gap:0px}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:max-w-\[250px\]{max-width:250px}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--panel-padding-x: 12px;--panel-padding-y: 12px;--panel-gap: 16px;--section-gap: 8px;--font-xs: .625rem;--font-sm: .75rem;--font-base: .8125rem;--font-lg: .9375rem;--font-xl: 1.375rem;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .5);--primary-rgb: 59, 130, 246;--destructive-rgb: 239, 68, 68;--success-rgb: 34, 197, 94;--warning-rgb: 234, 179, 8;--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-modal: 40;--z-popover: 50;--z-processing: 100;--z-max: 1000;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s}.theme-panel{padding:var(--panel-padding-y) var(--panel-padding-x)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--section-gap)}.section-header__label{display:flex;align-items:center;gap:var(--space-2)}.section-header__icon{display:flex;color:hsl(var(--muted-foreground))}.section-header__title{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.06em;margin:0}.section-header__title--muted{color:hsl(var(--text-muted))}.section-header__reset{color:hsl(var(--muted-foreground));transition:opacity var(--duration-fast)}.section-header__badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-4);height:var(--space-4);font-size:var(--font-xs);font-weight:600;border-radius:var(--space-2);background:rgba(var(--primary-rgb),.2);color:hsl(var(--primary-light));margin-left:var(--space-1);padding:0 var(--space-1)}.app-layout{display:flex;flex-direction:column;height:100vh;background-color:hsl(var(--card));color:hsl(var(--foreground))}.app-body{display:flex;flex:1;overflow:hidden}.header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:hsl(var(--secondary));border-bottom:1px solid hsl(var(--border))}.header-left{display:flex;align-items:center;gap:1rem}.header-title{font-size:1.25rem;font-weight:600;color:hsl(var(--primary));margin:0}.header-filename{color:hsl(var(--muted-foreground));font-size:.875rem}.header-right{display:flex;gap:.5rem}.header-btn{padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--foreground));cursor:pointer;font-size:.875rem;transition:all var(--duration-normal)}.header-btn:hover{background-color:hsl(var(--border))}.header-btn.primary{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.header-btn.primary:hover{background-color:hsl(var(--primary-hover))}.sidebar{width:320px;background-color:hsl(var(--secondary));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;transition:width var(--duration-slow);overflow:hidden}.sidebar.collapsed{width:40px}.sidebar-toggle{padding:.5rem;background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;font-size:1rem;align-self:flex-end}.sidebar-content{flex:1;overflow-y:auto;padding:1rem}.sidebar-section{margin-bottom:1.5rem}.sidebar-section-title{font-size:var(--font-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-bottom:.75rem}.image-info{font-size:.875rem;color:hsl(var(--muted-foreground))}.image-info p{margin:.25rem 0}.progress-container{height:4px;background-color:hsl(var(--border));border-radius:var(--radius-xs);overflow:hidden}.progress-bar{height:100%;background-color:hsl(var(--primary));transition:width var(--duration-slow)}.progress-step{font-size:var(--font-sm);color:hsl(var(--muted-foreground));margin-top:.5rem}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.dropzone{border:2px dashed hsl(var(--border));border-radius:var(--radius-lg);padding:1.5rem;text-align:center;cursor:pointer;transition:all var(--duration-normal)}.dropzone:hover{border-color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.05);box-shadow:0 0 20px rgba(var(--primary-rgb),.08),0 0 40px rgba(var(--primary-rgb),.04)}@keyframes marchingAnts{to{background-position:100% 0}}.dropzone.dragging{border-color:transparent;background-color:rgba(var(--primary-rgb),.06);background-image:repeating-linear-gradient(90deg,hsl(var(--primary)) 0,hsl(var(--primary)) 8px,transparent 8px,transparent 16px);background-size:200% 2px;background-position:0 0;background-repeat:repeat-x;background-clip:padding-box;border:2px dashed hsl(var(--primary));box-shadow:0 0 24px rgba(var(--primary-rgb),.12),0 0 48px rgba(var(--primary-rgb),.06);animation:marchingAnts 1s linear infinite}.dropzone.loading{pointer-events:none;opacity:.7}.dropzone-input{display:none}.dropzone-icon{color:hsl(var(--text-muted));margin-bottom:.75rem}.dropzone-text{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:.875rem}.dropzone-hint{font-size:var(--font-sm);color:hsl(var(--text-muted))}.dropzone-error{color:hsl(var(--destructive));font-size:.875rem;margin-top:.5rem}.dropzone-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.dropzone.center-variant{padding:clamp(3rem,8vh,6rem) 2.5rem;width:100%;background-color:#0f346026;border-color:rgba(var(--primary-rgb),.2);min-height:clamp(180px,30vh,340px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.dropzone.center-variant:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:clamp(80px,12vw,120px);opacity:.04;pointer-events:none;transition:opacity var(--duration-normal) ease}.dropzone.center-variant:hover:before{opacity:.07}.dropzone.center-variant:after{content:"";position:absolute;inset:6px;border:1px solid rgba(var(--primary-rgb),.06);border-radius:var(--radius-md);pointer-events:none;transition:border-color var(--duration-normal) ease}.dropzone.center-variant:hover:after{border-color:rgba(var(--primary-rgb),.12)}.dropzone.center-variant .dropzone-content{display:flex;flex-direction:column;align-items:center;gap:0}.dropzone.center-variant .dropzone-text{display:flex;align-items:center;gap:.5rem;font-family:Outfit,system-ui,sans-serif;font-size:clamp(1.125rem,1.5vw,1.375rem);font-weight:500;margin-bottom:.5rem;color:hsl(var(--text-secondary))}.dropzone.center-variant .dropzone-text-icon{color:hsl(var(--primary));flex-shrink:0;width:clamp(22px,1.5vw,28px);height:clamp(22px,1.5vw,28px)}.dropzone.center-variant .dropzone-hint{font-size:clamp(.8125rem,1vw,.9375rem);color:#4a5568}.dropzone-kbd-hint{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.6875rem;color:hsl(var(--text-subtle));z-index:var(--z-base)}.dropzone-kbd{display:inline-flex;align-items:center;padding:.125rem .5rem;font-family:Outfit,system-ui,sans-serif;font-size:var(--font-xs);font-weight:600;color:hsl(var(--text-muted));background:#64748b1a;border:1px solid rgba(100,116,139,.2);border-radius:var(--radius-sm);letter-spacing:.03em}.dropzone-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:hsl(var(--text-muted));font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.05em}.dropzone-divider:before,.dropzone-divider:after{content:"";flex:1;height:1px;background-color:#64748b4d}.dropzone-sample-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) ease}.dropzone-sample-btn:hover:not(:disabled){background-color:rgba(var(--primary-rgb),.2);border-color:rgba(var(--primary-rgb),.5)}.dropzone-sample-btn:disabled{opacity:.5;cursor:not-allowed}.dropzone-trust{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;font-size:.6875rem;color:hsl(var(--text-muted))}.empty-state-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:2rem;overflow-y:auto;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),radial-gradient(ellipse 60% 50% at 50% 55%,#0f346040,hsl(var(--canvas-bg)) 70%);background-color:hsl(var(--canvas-bg));gap:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state-container .value-proposition{animation:fadeInUp .4s ease-out both;animation-delay:0ms}.empty-state-container .proof-strip{animation:fadeInUp .4s ease-out both;animation-delay:80ms}.empty-state-container .upload-container{animation:fadeInUp .4s ease-out both;animation-delay:.16s}.empty-state-container .upload-samples{animation:fadeInUp .4s ease-out both;animation-delay:.24s}.empty-state-container .landing-footer{animation:fadeInUp .4s ease-out both;animation-delay:.32s}.landing-footer{max-width:620px;width:100%;margin-top:2rem;padding-bottom:2rem}.landing-footer__divider{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(100,116,139,.2) 20%,rgba(var(--primary-rgb),.15) 50%,rgba(100,116,139,.2) 80%,transparent 100%);margin-bottom:1.5rem}.landing-footer__nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.landing-footer__col{display:flex;flex-direction:column;gap:.5rem}.landing-footer__heading{font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--text-subtle));margin:0 0 .25rem}.landing-footer__link{font-size:var(--font-base);color:hsl(var(--text-muted));text-decoration:none;transition:color var(--duration-normal),transform var(--duration-normal);display:inline-block;line-height:1.4}.landing-footer__link:hover{color:#e2e8f0;transform:translate(3px)}.value-proposition{text-align:left;max-width:620px;width:100%;margin-bottom:1.25rem}.value-proposition__headline{font-family:Outfit,system-ui,sans-serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:hsl(var(--primary-foreground));margin:0 0 .75rem;letter-spacing:-.03em;line-height:1.1}.value-proposition__subheadline{font-size:clamp(1.0625rem,1.5vw,1.25rem);color:hsl(var(--muted-foreground));margin:0;line-height:1.5;letter-spacing:-.005em}.proof-strip{max-width:620px;width:100%;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:#64748b0f;border:1px solid rgba(100,116,139,.1);margin-bottom:1.5rem}.proof-strip__main{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem}.proof-strip__thumbs{display:flex;gap:8px;flex-shrink:0}.proof-strip__thumb{width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;opacity:.45;transition:opacity var(--duration-normal),border-color var(--duration-normal);background:none}.proof-strip__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.proof-strip__thumb:hover{opacity:.75}.proof-strip__thumb--active{opacity:1;border-color:#64748b66}.proof-strip__result{display:flex;align-items:center;gap:.75rem;min-width:0}.proof-strip__issue{font-family:Outfit,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));white-space:nowrap}.proof-strip__scores{display:flex;align-items:center;gap:4px;font-family:Outfit,system-ui,sans-serif;font-size:1.0625rem;font-weight:700;font-variant-numeric:tabular-nums}.proof-strip__arrow{opacity:.5;flex-shrink:0}.proof-strip__delta{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);font-weight:600;padding:4px 8px;border-radius:var(--radius-md);background:#a3e63514;white-space:nowrap}.proof-strip__trust{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 1rem;border-top:1px solid rgba(100,116,139,.08);background:#64748b08;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.proof-strip__trust-item{display:inline-flex;align-items:center;gap:.25rem;font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;color:hsl(var(--text-muted));white-space:nowrap}.proof-strip__trust-item svg{color:hsl(var(--primary));flex-shrink:0}.proof-strip__trust-sep{width:3px;height:3px;border-radius:50%;background:#64748b40;flex-shrink:0}.proof-strip__trust-item--interactive{background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-normal)}.proof-strip__trust-item--interactive:hover{color:hsl(var(--foreground))}.proof-strip__privacy-chevron{margin-left:2px;opacity:.5;transition:transform var(--duration-normal) ease}.proof-strip__privacy-chevron--open{transform:rotate(180deg)}.proof-strip__privacy-detail{padding:12px 16px;border-top:1px solid rgba(100,116,139,.15);animation:fadeInUp .25s ease-out}.proof-strip__privacy-detail p{margin:0;font-size:var(--font-sm);color:hsl(var(--muted-foreground));line-height:1.5}.proof-strip__privacy-detail p+p{margin-top:8px;font-size:var(--font-xs);opacity:.7}.proof-strip__privacy-detail strong{color:hsl(var(--foreground));font-weight:600}@media(max-width:480px){.empty-state-container{padding:1.5rem 1rem;justify-content:flex-start;padding-top:15vh}.value-proposition__headline{font-size:1.75rem;line-height:1.15}.proof-strip{max-width:100%}.proof-strip__main{padding:.5rem .75rem;gap:.75rem}.proof-strip__thumb{width:44px;height:44px}.proof-strip__result{gap:.5rem}.proof-strip__trust{gap:.5rem;padding:.4375rem .75rem}.proof-strip__trust-item{font-size:var(--font-base)}}.upload-container{display:flex;flex-direction:column;align-items:center;max-width:620px;width:100%}.upload-samples{width:100%;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(100,116,139,.12)}.upload-samples-label{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);font-weight:500;color:hsl(var(--text-muted));text-align:center;margin-bottom:.75rem}.upload-samples-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:620px;margin:0 auto}.upload-sample-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:0;background:none;border:none;cursor:pointer;transition:transform var(--duration-fast) ease}.upload-sample-card:hover{transform:translateY(-3px)}.upload-sample-card:disabled{opacity:.4;cursor:not-allowed;transform:none}.upload-sample-img-wrap{position:relative;border-radius:var(--radius-md);overflow:hidden;border:2px solid transparent;transition:border-color var(--duration-fast) ease}.upload-sample-card:hover .upload-sample-img-wrap{border-color:rgba(var(--primary-rgb),.5)}.upload-sample-img-wrap img{display:block;width:140px;height:90px;-o-object-fit:cover;object-fit:cover;filter:brightness(.85) saturate(.9);transition:filter var(--duration-normal) ease}.upload-sample-card:hover .upload-sample-img-wrap img{filter:brightness(1) saturate(1)}.upload-sample-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f0f1a99;color:hsl(var(--primary));font-size:var(--font-sm);font-weight:600;letter-spacing:.02em;opacity:0;transition:opacity var(--duration-fast) ease}.upload-sample-card:hover .upload-sample-hover{opacity:1}.upload-sample-label{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;color:hsl(var(--text-secondary));line-height:1.2}.upload-sample-issue{font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:500;color:#f59e0b;letter-spacing:.01em;opacity:.85}.upload-test-random{margin-top:1rem;text-align:center}.upload-test-random-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;color:hsl(var(--muted-foreground));background:transparent;border:1px dashed hsl(var(--border));border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) ease}.upload-test-random-btn:hover:not(:disabled){color:hsl(var(--foreground));border-color:hsl(var(--foreground) / .3);background:hsl(var(--foreground) / .03)}.upload-test-random-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:640px){.value-proposition__headline{font-size:1.625rem}.value-proposition__subheadline{font-size:1rem}.usp-pills{flex-wrap:wrap;justify-content:center}.upload-samples-row{gap:.5rem}.upload-sample-card img{width:100px;height:65px}}.canvas-container{flex:1;position:relative;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");background-color:hsl(var(--canvas-bg));overflow:hidden;padding:0;margin:0}.canvas-container.empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--text-muted))}.image-canvas{position:absolute;top:0;left:0}.canvas-container .canvas-controls,.canvas-container .canvas-info,.canvas-container .compare-controls{transition:opacity var(--duration-slow) ease}.canvas-container.canvas-controls--hidden .canvas-controls,.canvas-container.canvas-controls--hidden .canvas-info,.canvas-container.canvas-controls--hidden .compare-controls{opacity:0;pointer-events:none}.canvas-container.canvas-controls--hidden:hover .canvas-controls,.canvas-container.canvas-controls--hidden:hover .canvas-info,.canvas-container.canvas-controls--hidden:hover .compare-controls{opacity:1;pointer-events:auto}.canvas-controls{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem;align-items:center;background-color:#0f346066;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.5rem;border-radius:var(--radius-md);border:1px solid rgba(100,116,139,.15);z-index:var(--z-dropdown)}.canvas-controls button{font-family:Outfit,system-ui,sans-serif;padding:.25rem .5rem;border-radius:var(--radius-md);border:1px solid rgba(100,116,139,.2);background-color:transparent;color:hsl(var(--text-secondary));cursor:pointer;font-size:var(--font-sm);font-weight:500;transition:all var(--duration-fast) ease}.canvas-controls button:hover{background-color:rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.3);color:hsl(var(--foreground))}.zoom-level{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;color:hsl(var(--muted-foreground));min-width:50px;text-align:center}.canvas-info{position:absolute;bottom:1rem;left:1rem;display:flex;gap:.75rem;align-items:center;background-color:#0f346066;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid rgba(100,116,139,.15);font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;color:hsl(var(--text-secondary));z-index:var(--z-dropdown)}.canvas-info .image-dimensions{color:hsl(var(--text-secondary))}.canvas-info .image-size{color:hsl(var(--text-muted))}.analysis-panel{display:flex;flex-direction:column;gap:1.125rem}.analysis-panel.empty{color:hsl(var(--text-muted));text-align:center;padding:2.5rem 1.5rem;background:#0f34604d;border-radius:var(--radius-lg);border:1px dashed rgba(100,116,139,.3)}.overall-score{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(145deg,hsl(var(--border)),#0a2540);border-radius:var(--radius-lg);border:1px solid rgba(var(--primary-rgb),.2);box-shadow:var(--shadow-lg),inset 0 1px #ffffff0d;position:relative;overflow:hidden}.overall-score:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--primary-rgb),.3),transparent)}.grade-circle{width:64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;box-shadow:var(--shadow-md);transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.overall-score:hover .grade-circle{transform:scale(1.05);box-shadow:var(--shadow-lg)}.grade-circle[data-grade=A],.grade-circle[data-grade=B]{background-color:rgba(var(--primary-rgb),.15);border:2px solid hsl(var(--primary));color:hsl(var(--primary))}.grade-circle[data-grade=C]{background-color:#64748b26;border:2px solid hsl(var(--text-muted));color:hsl(var(--muted-foreground))}.grade-circle[data-grade=D],.grade-circle[data-grade=F]{background-color:rgba(var(--destructive-rgb),.15);border:2px solid hsl(var(--destructive));color:hsl(var(--destructive))}.grade{font-size:1.5rem;line-height:1}.grade-score{font-size:var(--font-sm);opacity:.8}.overall-info h3{margin:0 0 .25rem;font-size:1rem}.strengths{font-size:var(--font-sm);color:hsl(var(--muted-foreground));margin:0}.score-cards{display:flex;flex-direction:column;gap:.5rem}.score-card{padding:.75rem 1rem;background-color:#0f346099;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.03);transition:all var(--duration-normal) ease;position:relative}.score-card.clickable{cursor:pointer}.score-card.clickable:hover{background-color:#1a4980cc;transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#ffffff14}.score-card.clickable:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.score-card.active{border-color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.1);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.3),0 4px 12px rgba(var(--primary-rgb),.15)}.score-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.score-card-icon{font-size:1rem;color:hsl(var(--muted-foreground))}.score-card-title{font-size:.875rem;font-weight:500}.score-card-body{display:flex;align-items:center;gap:1rem}.score-display{display:flex;align-items:baseline;gap:.25rem}.score-value{font-size:1.5rem;font-weight:700}.score-label{font-size:var(--font-xs);text-transform:uppercase}.score-bar-container{flex:1;height:4px;background-color:hsl(var(--card));border-radius:var(--radius-xs);overflow:hidden}.score-bar{height:100%;border-radius:var(--radius-xs);transition:width var(--duration-slower) ease-out}.score-card-details{font-size:var(--font-sm);color:hsl(var(--muted-foreground));margin:.5rem 0 0}.metric-row{border-radius:var(--radius-md);overflow:hidden;background-color:#0f346066;transition:background-color var(--duration-fast) ease}.metric-row.overlay-active{background-color:rgba(var(--primary-rgb),.1)}.metric-row-main{display:flex;align-items:center;padding:.5rem .75rem;gap:.75rem}.metric-row-main.expandable{cursor:pointer}.metric-row-main.expandable:hover{background-color:#1a498080}.metric-title{flex:1;font-size:var(--font-base);font-weight:500;color:hsl(var(--foreground))}.metric-score{font-size:.875rem;font-weight:600;font-family:var(--font-family-mono);color:hsl(var(--primary));min-width:28px;text-align:right}.metric-status{font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em;font-weight:500;min-width:60px;text-align:center;padding:.125rem .5rem;border-radius:var(--radius-sm)}.metric-status.good{color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.15)}.metric-status.fair,.metric-status.needs.work,.metric-status.poor{color:hsl(var(--muted-foreground));background-color:#94a3b81a}.metric-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.metric-overlay-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:24px;height:24px;padding:0 .5rem;border:none;background:transparent;color:hsl(var(--text-muted));cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast) ease}.metric-overlay-btn:hover{background-color:#94a3b826;color:hsl(var(--muted-foreground))}.metric-overlay-btn.active{color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.15)}.overlay-btn-label{font-size:var(--font-xs);font-weight:500;text-transform:uppercase;letter-spacing:.02em}.metric-expand-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:hsl(var(--text-muted))}.metric-row-details{padding:0 .75rem .5rem;border-top:1px solid rgba(100,116,139,.15);margin-top:-2px}.metric-details-text{font-size:var(--font-sm);color:hsl(var(--muted-foreground));margin:.5rem 0 0}.metrics-section{margin-top:.5rem}.metrics-section h4{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--text-muted));margin:0 0 .75rem;padding-left:.25rem;border-left:2px solid hsl(var(--primary))}.metric-rows{display:flex;flex-direction:column;gap:.5rem}.top-improvements{padding:.875rem;background:linear-gradient(135deg,rgba(var(--primary-rgb),.08),rgba(var(--primary-rgb),.04));border-radius:var(--radius-lg);border:1px solid rgba(var(--primary-rgb),.2)}.top-improvements h4{font-size:var(--font-sm);font-weight:600;color:hsl(var(--primary));margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.03em}.improvements-list{display:flex;flex-direction:column;gap:.5rem}.improvement-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#ffffff08;border-radius:var(--radius-md);transition:background-color var(--duration-fast) ease}.improvement-item:hover{background-color:#ffffff0f}.improvement-number{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.6875rem;font-weight:600;color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.15);border-radius:50%;flex-shrink:0}.improvement-text{flex:1;font-size:var(--font-base);color:hsl(var(--foreground));line-height:1.4}.improvement-apply-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.15);border:1px solid rgba(var(--primary-rgb),.3);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) ease;flex-shrink:0}.improvement-apply-btn:hover{background-color:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}.histogram{padding:.5rem;background-color:hsl(var(--canvas-bg));border-radius:var(--radius-md)}.histogram-bars{display:flex;align-items:flex-end;gap:1px}.histogram-bar{flex:1;min-width:1px;border-radius:1px 1px 0 0}.histogram-bars--rgb{position:relative}.histogram-bar-group{flex:1;position:relative;display:flex;align-items:flex-end}.histogram-bar-group .histogram-bar{position:absolute;bottom:0;left:0;right:0;mix-blend-mode:screen}.histogram-bar--red{background-color:rgba(var(--destructive-rgb),.7)!important}.histogram-bar--green{background-color:rgba(var(--success-rgb),.7)!important}.histogram-bar--blue{background-color:rgba(var(--primary-rgb),.7)!important}.histogram-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:var(--font-xs);color:hsl(var(--text-muted))}.exposure-stats{display:flex;justify-content:space-between;font-size:var(--font-sm);color:hsl(var(--muted-foreground));margin-top:.5rem}.color-palette{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch-container{display:flex;flex-direction:column;align-items:center;gap:.25rem}.color-swatch{width:36px;height:36px;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.1)}.color-hex{font-size:.5rem;color:hsl(var(--text-muted));font-family:monospace}.color-percentage{font-size:var(--font-xs);color:hsl(var(--muted-foreground))}.harmony-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-xl);font-size:var(--font-sm);margin-top:.5rem}.harmony-badge.strong{background-color:rgba(var(--success-rgb),.2);color:hsl(var(--success))}.harmony-badge.moderate{background-color:rgba(var(--warning-rgb),.2);color:hsl(var(--warning))}.harmony-badge.weak{background-color:rgba(var(--destructive-rgb),.2);color:hsl(var(--destructive))}.harmony-type{font-weight:500}.harmony-quality{opacity:.7}.analysis-section{padding-top:1.25rem;margin-top:.5rem;border-top:1px solid rgba(15,52,96,.8);position:relative}.analysis-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.1),transparent)}.analysis-section h4{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--text-muted));margin:0 0 .875rem;padding-left:.25rem;border-left:2px solid hsl(var(--primary))}.recommendations-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.recommendation{padding:.875rem 1rem;background-color:#0f346080;border-radius:var(--radius-md);border-left:3px solid;transition:all var(--duration-normal) ease;position:relative;overflow:hidden}.recommendation:hover{background-color:#0f3460b3;transform:translate(2px)}.recommendation.high{border-left-color:hsl(var(--destructive));background:linear-gradient(90deg,rgba(var(--destructive-rgb),.08),#0f346080)}.recommendation.high:hover{background:linear-gradient(90deg,rgba(var(--destructive-rgb),.12),#0f346099)}.recommendation.medium{border-left-color:hsl(var(--warning));background:linear-gradient(90deg,rgba(var(--warning-rgb),.06),#0f346080)}.recommendation.medium:hover{background:linear-gradient(90deg,rgba(var(--warning-rgb),.1),#0f346099)}.recommendation.low{border-left-color:hsl(var(--success));background:linear-gradient(90deg,rgba(var(--success-rgb),.05),#0f346080)}.recommendation.low:hover{background:linear-gradient(90deg,rgba(var(--success-rgb),.08),#0f346099)}.recommendation-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.priority-badge{font-size:.5625rem;text-transform:uppercase;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:700;letter-spacing:.05em}.priority-badge.high{background-color:rgba(var(--destructive-rgb),.25);color:#f87171;box-shadow:0 0 8px rgba(var(--destructive-rgb),.2)}.priority-badge.medium{background-color:rgba(var(--warning-rgb),.2);color:#fbbf24}.priority-badge.low{background-color:rgba(var(--success-rgb),.2);color:#4ade80}.recommendation-category{font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.recommendation-issue{font-size:.875rem;margin:0 0 .25rem}.recommendation-suggestion{font-size:var(--font-sm);color:hsl(var(--muted-foreground));margin:0}.auto-fix-btn{margin-top:.5rem;padding:.25rem .5rem;font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid hsl(var(--primary));background-color:transparent;color:hsl(var(--primary));cursor:pointer;transition:all var(--duration-normal)}.auto-fix-btn:hover{background-color:hsl(var(--primary));color:#fff}.recommendations-empty{text-align:center;padding:1rem;color:hsl(var(--success));font-size:.875rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:hsl(var(--card))}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#1a4980}.editor-toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:hsl(var(--secondary));border-bottom:1px solid hsl(var(--border))}.processor-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-right:.5rem}.processor-badge.gpu{background-color:rgba(var(--success-rgb),.2);color:hsl(var(--success));border:1px solid rgba(var(--success-rgb),.3)}.processor-badge.cpu{background-color:rgba(var(--warning-rgb),.2);color:hsl(var(--warning));border:1px solid rgba(var(--warning-rgb),.3)}.toolbar-section{display:flex;align-items:center;gap:.25rem}.toolbar-divider{width:1px;height:24px;background-color:hsl(var(--border));margin:0 .5rem}.toolbar-spacer{flex:1}.toolbar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:.5rem .75rem;min-height:52px;border:1px solid transparent;border-radius:var(--radius-md);background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal);box-sizing:border-box}.toolbar-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.toolbar-btn.active{background-color:hsl(var(--primary));color:#fff}.toolbar-btn.view-btn{background-color:transparent}.toolbar-btn.view-btn.active-view{background-color:#0f3460cc;border:1px solid rgba(148,163,184,.4);color:hsl(var(--foreground))}.toolbar-btn.view-btn:not(.active-view){opacity:.5}.toolbar-btn.view-btn:not(.active-view):hover:not(:disabled){opacity:.8;background-color:#0f346066}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn-label{font-size:var(--font-xs);text-transform:uppercase}.toolbar-action-btn{padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--foreground));cursor:pointer;font-size:.875rem;transition:all var(--duration-normal)}.toolbar-action-btn:hover:not(:disabled){background-color:hsl(var(--border))}.toolbar-action-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-action-btn.apply{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.toolbar-action-btn.apply:hover:not(:disabled){background-color:hsl(var(--primary-hover))}.adjustment-sliders{display:flex;flex-direction:column;gap:1rem}.adjustment-sliders-header{display:flex;justify-content:space-between;align-items:center}.adjustment-sliders-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.reset-all-btn{padding:.25rem .5rem;font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal)}.reset-all-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.slider-group{display:flex;flex-direction:column;gap:.75rem}.slider-group-title{font-size:var(--font-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.adjustment-slider{display:flex;flex-direction:column;gap:.25rem}.adjustment-active-dot{width:4px;height:4px;border-radius:50%;background:hsl(var(--primary));flex-shrink:0;animation:fadeIn var(--duration-normal) ease-out}[data-slider-key=exposure] [data-orientation]{background:linear-gradient(to right,#1a1a2e,#94a3b8,#fef3c7)!important}[data-slider-key=contrast] [data-orientation]{background:linear-gradient(to right,#6b7280,#374151 50%,#e5e7eb)!important}[data-slider-key=highlights] [data-orientation]{background:linear-gradient(to right,#374151,#fef9c3)!important}[data-slider-key=shadows] [data-orientation]{background:linear-gradient(to right,#0f172a,#64748b)!important}[data-slider-key=whites] [data-orientation]{background:linear-gradient(to right,#475569,#f8fafc)!important}[data-slider-key=blacks] [data-orientation]{background:linear-gradient(to right,#020617,#475569)!important}[data-slider-key=saturation] [data-orientation]{background:linear-gradient(to right,#6b7280,#f472b6)!important}[data-slider-key=vibrance] [data-orientation]{background:linear-gradient(to right,#9ca3af,#a78bfa)!important}[data-slider-key=temperature] [data-orientation]{background:linear-gradient(to right,#60a5fa,#94a3b8 50%,#fb923c)!important}[data-slider-key=tint] [data-orientation]{background:linear-gradient(to right,#4ade80,#94a3b8 50%,#e879f9)!important}[data-slider-key=sharpness] [data-orientation]{background:linear-gradient(to right,#475569,#e2e8f0)!important}[data-slider-key=clarity] [data-orientation]{background:linear-gradient(to right,#64748b,#374151 50%,#cbd5e1)!important}[data-slider-key=grain] [data-orientation]{background:linear-gradient(to right,#1e293b,#78716c)!important}[data-slider-key=fade] [data-orientation]{background:linear-gradient(to right,#1e293b,#94a3b8)!important}[data-slider-key] [data-orientation]{opacity:.6;transition:opacity var(--duration-normal) ease}[data-slider-key]:hover [data-orientation]{opacity:.85}.adj-panel{padding:var(--panel-padding-y) var(--panel-padding-x)}.adj-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.adj-panel-title{font-size:var(--font-sm);font-weight:600;color:hsl(var(--foreground))}.adj-tier-divider{border:none;border-top:1px solid rgba(100,116,139,.12);margin:16px 0}.adj-tier-header{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3)}.adj-tier-header--muted{color:hsl(var(--text-muted))}.adj-group{margin-bottom:var(--space-4)}.adj-group-last{margin-bottom:0}.adj-group-header{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-xs);font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--section-gap)}.adj-subgroup-header--muted{color:hsl(var(--text-muted))}.adj-slider-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.adj-slider-label{font-size:var(--font-sm);color:hsl(var(--muted-foreground));width:70px;flex-shrink:0;line-height:1}.adj-slider-track-wrapper{flex:1;display:flex;align-items:center}.adj-slider-value{font-size:var(--font-xs);color:hsl(var(--muted-foreground) / .7);width:28px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;line-height:1;cursor:text}.adj-slider-value:hover{color:hsl(var(--foreground))}.adj-slider-value--editing{width:36px;background:#ffffff1a;border:1px solid rgba(var(--primary-rgb),.4);border-radius:var(--radius-sm);outline:none;color:hsl(var(--foreground));font-size:var(--font-xs);text-align:right;font-variant-numeric:tabular-nums;padding:0 2px;line-height:1;flex-shrink:0}.adj-slider-value--editing::-webkit-inner-spin-button,.adj-slider-value--editing::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.adj-slider-value--editing{-moz-appearance:textfield}.adj-slider-tooltip{font-size:var(--font-xs)!important;padding:4px 8px!important}.adjustment-reset-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-4);height:var(--space-4);font-size:var(--font-xs);font-weight:600;border-radius:var(--space-2);background:rgba(var(--primary-rgb),.2);color:hsl(var(--primary-light));margin-left:var(--space-1);padding:0 var(--space-1)}.slider-header{display:flex;justify-content:space-between;align-items:center}.slider-label{font-size:var(--font-base);color:hsl(var(--foreground))}.slider-value-container{display:flex;align-items:center;gap:.5rem}.slider-value{font-size:var(--font-sm);color:hsl(var(--muted-foreground));min-width:36px;text-align:right;font-family:monospace}.slider-value.modified{color:hsl(var(--primary))}.slider-value.dragging{color:#fbbf24;font-weight:600}.slider-change{color:hsl(var(--muted-foreground));font-weight:400}.slider-reset-btn{padding:.125rem .5rem;font-size:var(--font-xs);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal)}.slider-reset-btn:hover:not(:disabled){background-color:hsl(var(--border))}.slider-track-container{position:relative;height:20px;display:flex;align-items:center}.slider-input{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--border));border-radius:var(--radius-xs);outline:none}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--primary-foreground))}.slider-input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--primary-foreground))}.slider-input:disabled{opacity:.4;cursor:not-allowed}.slider-center-mark{position:absolute;width:2px;height:8px;background-color:hsl(var(--muted-foreground));transform:translate(-50%);pointer-events:none}.crop-tool{display:flex;flex-direction:column;gap:1rem}.crop-tool-header{display:flex;justify-content:space-between;align-items:center}.crop-tool-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.aspect-ratio-selector{display:flex;flex-direction:column;gap:.5rem}.aspect-ratio-label{font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.aspect-ratio-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.aspect-ratio-btn{padding:.5rem;font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal)}.aspect-ratio-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.aspect-ratio-btn.active{background-color:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff}.crop-dimensions{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background-color:hsl(var(--border));border-radius:var(--radius-md);font-size:var(--font-sm)}.dimension-row{display:flex;justify-content:space-between}.dimension-label{color:hsl(var(--muted-foreground))}.dimension-value{color:hsl(var(--foreground));font-family:monospace}.crop-actions{display:flex;gap:.5rem;margin-top:.5rem}.crop-action-btn{flex:1;padding:.5rem;font-size:var(--font-base);border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--foreground));cursor:pointer;transition:all var(--duration-normal)}.crop-action-btn:hover:not(:disabled){background-color:hsl(var(--border))}.crop-action-btn:disabled{opacity:.4;cursor:not-allowed}.crop-action-btn.primary{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.crop-action-btn.primary:hover:not(:disabled){background-color:hsl(var(--primary-hover))}.tool-panel{display:flex;flex-direction:column;gap:1rem}.tool-panel-header{display:flex;justify-content:space-between;align-items:center}.tool-panel-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.tool-reset-btn{padding:.25rem .5rem;font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-fast)}.tool-reset-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.tool-reset-btn:disabled{opacity:.4;cursor:not-allowed}.tool-section{display:flex;flex-direction:column;gap:.5rem}.tool-section-label{font-size:var(--font-sm);font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.rotate-quick-controls{display:flex;gap:.5rem}.rotate-quick-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:var(--font-sm);transition:all var(--duration-fast)}.rotate-quick-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.rotate-quick-btn:disabled{opacity:.4;cursor:not-allowed}.rotate-numeric-input{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:#0f346080;border-radius:var(--radius-md)}.rotate-input-label{font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.rotate-input{width:70px;padding:.25rem .5rem;font-size:var(--font-base);font-family:var(--font-family-mono);text-align:right;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--foreground));outline:none;transition:border-color var(--duration-fast)}.rotate-input:focus{border-color:hsl(var(--primary))}.rotate-input:disabled{opacity:.4;cursor:not-allowed}.snap-angles{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.snap-angles-label{font-size:.6875rem;color:hsl(var(--text-muted));margin-right:.25rem}.snap-angle-btn{padding:.25rem .5rem;font-size:.6875rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-fast)}.snap-angle-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.snap-angle-btn.active{background-color:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff}.snap-angle-btn:disabled{opacity:.4;cursor:not-allowed}.rotate-tool{display:flex;flex-direction:column;gap:1rem}.rotate-tool-header{display:flex;justify-content:space-between;align-items:center}.rotate-tool-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.rotate-reset-btn{padding:.25rem .5rem;font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal)}.rotate-reset-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.rotate-section{display:flex;flex-direction:column;gap:.5rem}.rotate-label,.flip-label{font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.rotate-controls{display:flex;align-items:center;justify-content:center;gap:1rem}.rotate-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal)}.rotate-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.rotation-value{font-size:.875rem;color:hsl(var(--foreground));min-width:50px;text-align:center;font-family:monospace}.rotation-slider-container{display:flex;flex-direction:column;gap:.25rem}.rotation-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--border));border-radius:var(--radius-xs);outline:none}.rotation-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--primary-foreground))}.rotation-slider-labels{display:flex;justify-content:space-between;font-size:var(--font-xs);color:hsl(var(--text-muted))}.flip-section{display:flex;flex-direction:column;gap:.5rem}.flip-controls{display:flex;gap:.5rem}.flip-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:var(--font-sm);transition:all var(--duration-normal)}.flip-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.flip-btn.active{background-color:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff}.editor-canvas-container{flex:1;position:relative;background-color:hsl(var(--canvas-bg));overflow:hidden;display:flex;flex-direction:column}.editor-split-view{flex:1;display:flex}.editor-split-view.horizontal{flex-direction:row}.editor-split-view.vertical{flex-direction:column}.editor-compare-view{flex:1;display:flex;position:relative}.editor-canvas-view{flex:1;width:100%;height:100%}.editor-view-hidden{visibility:hidden!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:-1!important}.editor-split-view:not(.editor-view-hidden),.editor-compare-view:not(.editor-view-hidden){position:relative;z-index:var(--z-base)}.canvas-stack-container{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.canvas-container-visible{position:relative;flex:1;display:flex;flex-direction:column;z-index:var(--z-base)}.canvas-container-hidden{position:absolute;inset:0;visibility:hidden;pointer-events:none;z-index:0}.compare-view-segment{display:flex;gap:2px;padding:2px;background:#00000040;border-radius:var(--radius-md);margin-right:.25rem}.compare-segment-btn{font-family:Outfit,system-ui,sans-serif;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));font-size:.7rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}.compare-segment-btn:hover{color:hsl(var(--text-secondary));background:#ffffff14}.compare-segment-btn.active{background:#ffffff26;color:hsl(var(--foreground))}.compare-segment-btn svg{width:13px;height:13px;flex-shrink:0}.editor-panel.full{flex:1;width:100%;height:100%}.editor-panel{flex:1;position:relative;background-color:hsl(var(--card));border-radius:var(--radius-md);overflow:hidden}.compare-view-label{position:absolute;top:1rem;left:1rem;padding:4px 10px;background-color:#000000b3;color:hsl(var(--muted-foreground));font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm);z-index:var(--z-sticky);text-transform:uppercase;letter-spacing:.05em;pointer-events:none}.compare-view-label--original{background-color:#000000b3;color:hsl(var(--muted-foreground))}.compare-view-label--edited{background-color:rgba(var(--primary-rgb),.8);color:#fff}.compare-view-label--wipe-left{top:1rem;left:1rem}.compare-view-label--wipe-right{top:1rem;left:auto;right:1rem}.editor-split-label--original.horizontal{top:1rem;left:1rem}.editor-split-label--edited.horizontal{top:1rem;left:calc(50% + 1rem)}.editor-split-label--original.vertical{top:1rem;left:1rem}.editor-split-label--edited.vertical{top:calc(50% + 1rem);left:1rem}.editor-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.editor-overlay-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--z-dropdown)}.crop-action-bar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:var(--z-sticky);display:flex;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:hsl(var(--background) / .85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--border));box-shadow:var(--shadow-md)}.crop-action-bar__btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--space-2);border:none;font-size:var(--font-base);font-weight:600;cursor:pointer;transition:background var(--duration-fast),opacity var(--duration-fast)}.crop-action-bar__btn--cancel{background:transparent;color:hsl(var(--muted-foreground))}.crop-action-bar__btn--cancel:hover{background:hsl(var(--muted) / .6);color:hsl(var(--foreground))}.crop-action-bar__btn--confirm{background:transparent;color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.crop-action-bar__btn--confirm:hover{background:hsl(var(--muted) / .6)}.undo-redo-bar{position:absolute;top:12px;right:1rem;z-index:var(--z-modal);display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:#0f346066;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--border) / .5)}.undo-redo-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--space-1);border:none;background:transparent;color:hsl(var(--foreground));cursor:pointer;transition:background var(--duration-fast),opacity var(--duration-fast)}.undo-redo-btn:hover:not(:disabled){background:hsl(var(--muted) / .6)}.undo-redo-btn:disabled{opacity:.35;cursor:default}.editor-canvas-controls{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem;align-items:center;background-color:#16213ee6;padding:.5rem;border-radius:var(--radius-md)}.zoom-btn{padding:.25rem .75rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--foreground));cursor:pointer;font-size:var(--font-sm);transition:all var(--duration-normal)}.zoom-btn:hover{background-color:hsl(var(--border))}.zoom-level{font-size:var(--font-sm);color:hsl(var(--muted-foreground));min-width:50px;text-align:center}.editor-panel{padding:1rem;display:flex;flex-direction:column;gap:1rem}.editor-panel-info{text-align:center;padding:2rem 1rem;color:hsl(var(--muted-foreground));font-size:.875rem}.editor-panel-info p{margin:0}.export-dialog-backdrop{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-max)}.export-dialog{background-color:hsl(var(--secondary));border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-xl)}.export-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.export-dialog-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.export-dialog-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal)}.export-dialog-close:hover{background-color:hsl(var(--border));color:hsl(var(--foreground))}.export-dialog-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.export-field{display:flex;flex-direction:column;gap:.5rem}.export-label{font-size:var(--font-base);font-weight:500;color:hsl(var(--muted-foreground))}.export-input{padding:.5rem .875rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--foreground));font-size:.875rem;outline:none;transition:border-color var(--duration-normal)}.export-input:focus{border-color:hsl(var(--primary))}.export-input::-moz-placeholder{color:hsl(var(--text-muted))}.export-input::placeholder{color:hsl(var(--text-muted))}.format-options{display:flex;flex-direction:column;gap:.5rem}.format-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:transparent;cursor:pointer;transition:all var(--duration-normal)}.format-option:hover{background-color:hsl(var(--border))}.format-option.selected{border-color:hsl(var(--primary));background-color:#e945601a}.format-option input[type=radio]{margin-top:.125rem;accent-color:hsl(var(--primary))}.format-option-content{display:flex;flex-direction:column;gap:.125rem}.format-option-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.format-option-desc{font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.quality-header{display:flex;justify-content:space-between;align-items:center}.quality-value{font-size:.875rem;font-weight:500;color:hsl(var(--primary));font-family:monospace}.quality-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--border));border-radius:var(--radius-xs);outline:none}.quality-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--primary-foreground))}.quality-labels{display:flex;justify-content:space-between;font-size:var(--font-xs);color:hsl(var(--text-muted));margin-top:.25rem}.export-size-estimate{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:hsl(var(--border));border-radius:var(--radius-md)}.size-label{font-size:var(--font-base);color:hsl(var(--muted-foreground))}.size-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));font-family:monospace}.export-dialog-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid hsl(var(--border))}.export-btn{padding:.5rem 1.25rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--duration-normal)}.export-btn:hover:not(:disabled){background-color:hsl(var(--border))}.export-btn:disabled{opacity:.4;cursor:not-allowed}.export-btn.primary{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.export-btn.primary:hover:not(:disabled){background-color:hsl(var(--primary-hover))}.export-crop-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-top:var(--space-2)}.export-crop-preview__canvas{border-radius:var(--radius-sm);max-width:100%;height:auto}.export-crop-preview__label{font-size:var(--font-xs);color:hsl(var(--warning))}.auto-enhance-container{position:relative}.auto-enhance-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(233,69,96,.5);background:linear-gradient(135deg,#e9456026,#e9456040);color:#f87171;font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #e9456026;text-transform:uppercase;letter-spacing:.03em}.auto-enhance-btn:hover:not(:disabled){background:linear-gradient(135deg,#e9456040,#e9456059);border-color:#e94560b3;box-shadow:0 4px 16px #e9456040;transform:translateY(-1px)}.auto-enhance-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #e9456033}.auto-enhance-btn:disabled{opacity:.4;cursor:not-allowed}.auto-enhance-tooltip{position:absolute;bottom:calc(100% + .5rem);left:0;right:0;background-color:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:var(--radius-md);padding:.75rem;box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.tooltip-title{font-size:var(--font-sm);font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.5rem}.tooltip-list{list-style:none;padding:0;margin:0}.tooltip-list li{font-size:var(--font-sm);color:hsl(var(--foreground));padding:.25rem 0 .25rem 1rem;position:relative}.tooltip-list li:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;background-color:hsl(var(--success));border-radius:50%;transform:translateY(-50%)}.simplified-analysis{padding:.5rem}.simplified-analysis .analysis-section{padding-top:1rem;margin-top:.75rem;border-top:1px solid rgba(100,116,139,.15)}.simplified-analysis .analysis-section:first-child{padding-top:0;margin-top:0;border-top:none}.score-section{padding-bottom:.5rem}.issues-section{min-height:80px}.cta-section{padding:.75rem 0}.photo-score{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1rem;background:linear-gradient(145deg,#0f346099,#0a2540cc);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden}.photo-score:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--primary-rgb),.3),transparent)}.photo-score--small{padding:.875rem;flex-direction:row;justify-content:space-between}.photo-score--small .photo-score__circle{width:48px;height:48px}.photo-score--small .photo-score__value{font-size:1.25rem}.photo-score__circle{position:relative;width:80px;height:80px}.photo-score__ring{width:100%;height:100%;transform:rotate(-90deg)}.photo-score__ring-bg{fill:none;stroke:#64748b33;stroke-width:6}.photo-score__ring-fill{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .8s ease-out,stroke var(--duration-slow) ease}.photo-score__ring-fill.excellent{stroke:hsl(var(--success))}.photo-score__ring-fill.good{stroke:hsl(var(--primary))}.photo-score__ring-fill.fair{stroke:hsl(var(--warning))}.photo-score__ring-fill.poor{stroke:hsl(var(--destructive))}.photo-score__value-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.photo-score__value{font-size:1.75rem;font-weight:700;line-height:1;color:hsl(var(--foreground))}.photo-score__value.score-excellent{color:hsl(var(--success))}.photo-score__value.score-great,.photo-score__value.score-good{color:hsl(var(--primary))}.photo-score__value.score-fair{color:hsl(var(--warning))}.photo-score__value.score-poor{color:hsl(var(--destructive))}.photo-score__max{font-size:var(--font-xs);color:hsl(var(--text-muted));margin-top:.125rem}.photo-score__info{text-align:center}.photo-score__label{font-size:var(--font-base);font-weight:600;margin-bottom:.25rem}.photo-score__label.excellent{color:hsl(var(--success))}.photo-score__label.good{color:hsl(var(--primary))}.photo-score__label.fair{color:hsl(var(--warning))}.photo-score__label.poor{color:hsl(var(--destructive))}.photo-score__display{display:flex;align-items:baseline;justify-content:center;gap:.5rem}.photo-score__previous{font-size:1.125rem;font-weight:500;color:hsl(var(--text-muted));opacity:.7;text-decoration:line-through;text-decoration-color:#64748b80}.photo-score__arrow{font-size:.875rem;color:hsl(var(--text-muted));opacity:.6}.photo-score__bar{width:100%;height:6px;background:#64748b33;border-radius:var(--radius-sm);overflow:hidden}.photo-score__bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .6s ease-out,background-color var(--duration-slow) ease}.photo-score__bar-fill.score-excellent{background:linear-gradient(90deg,hsl(var(--success)),#4ade80)}.photo-score__bar-fill.score-great,.photo-score__bar-fill.score-good{background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--primary-light)))}.photo-score__bar-fill.score-fair{background:linear-gradient(90deg,hsl(var(--warning)),#facc15)}.photo-score__bar-fill.score-poor{background:linear-gradient(90deg,hsl(var(--destructive)),#f87171)}.photo-score__footer{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.photo-score__improvement{display:flex;align-items:center;gap:.25rem;font-size:var(--font-sm);color:hsl(var(--success));font-weight:600;animation:fadeInUp var(--duration-slow) ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.technical-score{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;font-family:Outfit,system-ui,sans-serif}.technical-score__gauge-container{position:relative;display:flex;align-items:center;justify-content:center}.technical-score__gauge-svg{display:block;transform:rotate(0)}.technical-score__gauge-track{stroke:#0f346066}.technical-score__tick{stroke:#64748b33;stroke-width:1}.technical-score__tick--major{stroke:#64748b66;stroke-width:1.5}.technical-score__gauge-fill{transition:stroke-dashoffset .7s cubic-bezier(.16,1,.3,1),filter .4s ease}.technical-score__gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.technical-score__gauge-value{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:2.25rem;font-weight:700;line-height:1;letter-spacing:-.02em;transition:filter .7s cubic-bezier(.16,1,.3,1),opacity .7s cubic-bezier(.16,1,.3,1),text-shadow .4s ease}.technical-score__gauge-value[data-phase=hidden]{opacity:0;filter:blur(12px);text-shadow:0 0 0px transparent}.technical-score__gauge-value[data-phase=revealing]{opacity:1;filter:blur(0px);text-shadow:0 0 0px transparent}.technical-score__gauge-value[data-phase=celebrating]{opacity:1;filter:blur(0px);text-shadow:0 0 24px currentColor}.technical-score__gauge-value[data-phase=idle]{opacity:1;filter:blur(0px);text-shadow:0 0 0px transparent}.technical-score__gauge-label{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--font-xs);font-weight:600;color:hsl(var(--text-muted));margin-top:4px;text-transform:uppercase;letter-spacing:.1em;transition:opacity .4s ease var(--duration-slow),transform .4s ease var(--duration-slow)}.technical-score__gauge-label[data-phase=hidden]{opacity:0;transform:translateY(4px)}.technical-score__gauge-label[data-phase=revealing],.technical-score__gauge-label[data-phase=celebrating],.technical-score__gauge-label[data-phase=idle]{opacity:1;transform:translateY(0)}.technical-score__gauge-delta{font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:600;margin-top:4px;padding:4px 8px;border-radius:var(--radius-full);animation:fadeInUp var(--duration-slow) ease-out}.technical-score__gauge-delta.positive{color:#34d399;background:#34d39926}.technical-score__gauge-delta.negative{color:#f87171;background:#f871711f}.technical-score__subscores-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;padding-top:4px}.subscore-mini{display:flex;flex-direction:column;gap:4px}.subscore-mini__header{display:flex;justify-content:space-between;align-items:baseline}.subscore-mini__label{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:hsl(var(--text-muted))}.subscore-mini__value{font-size:.6875rem;font-weight:700;line-height:1}.subscore-mini__track{height:3px;background:#0f346066;border-radius:var(--radius-xs);overflow:hidden}.subscore-mini__fill{height:100%;border-radius:var(--radius-xs);transition:width var(--duration-slower) cubic-bezier(.4,0,.2,1)}.subscore-mini__delta{font-size:.5625rem;font-weight:600;text-align:right}.subscore-mini__delta.positive{color:#34d399}.subscore-mini__delta.negative{color:#f87171}.technical-score__drivers{width:100%;padding-top:8px}.technical-score__drivers-list{display:flex;flex-wrap:wrap;gap:4px}.technical-score__driver{display:inline-flex;align-items:center;gap:4px;font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:500;padding:4px 8px;border-radius:var(--radius-full);background:#0f346033;color:hsl(var(--muted-foreground));border:1px solid rgba(100,116,139,.12)}.technical-score__driver-dot{width:4px;height:4px;border-radius:50%;flex-shrink:0}.technical-score__driver.positive{background:#34d39914;border-color:#34d39933;color:#6ee7b7}.technical-score__driver.positive .technical-score__driver-dot{background:#34d399}.technical-score__driver.negative{background:#f871710f;border-color:#f8717126;color:#fca5a5}.technical-score__driver.negative .technical-score__driver-dot{background:#f87171}.technical-score__driver.neutral{background:#fbbf240f;border-color:#fbbf2426;color:#fcd34d}.technical-score__driver.neutral .technical-score__driver-dot{background:#fbbf24}.technical-score--updating .technical-score__gauge-fill{opacity:.6;animation:gaugePulse 1.2s ease-in-out infinite}.technical-score--updating .technical-score__gauge-value{opacity:.5}.technical-score--updating .technical-score__gauge-label{color:#64748b;font-size:var(--font-xs)}@keyframes gaugePulse{0%,to{opacity:.6}50%{opacity:.3}}.technical-score__gauge-container[data-phase=celebrating]{animation:celebrationBounce var(--duration-slower) cubic-bezier(.34,1.56,.64,1)}.technical-score__gauge-container[data-phase=celebrating] .technical-score__gauge-fill{filter:url(#gaugeGlow)}.technical-score__gauge-container:after{content:"";position:absolute;inset:4px;border:1.5px solid currentColor;border-radius:50%;opacity:0;transform:scale(.9);pointer-events:none}.technical-score__gauge-container[data-phase=celebrating]:after{animation:radialPulse .6s ease-out}@keyframes celebrationBounce{0%{transform:scale(1)}40%{transform:scale(1.03)}70%{transform:scale(.99)}to{transform:scale(1)}}@keyframes radialPulse{0%{opacity:.4;transform:scale(.9)}to{opacity:0;transform:scale(1.15)}}.technical-score--compact{padding:0;align-items:flex-start}.technical-score__compact-row{display:flex;align-items:baseline;gap:8px}.technical-score__compact-value{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-xl);font-weight:700;letter-spacing:-.02em;transition:color var(--duration-slow) ease}.technical-score__compact-label{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);font-weight:500;color:hsl(var(--text-muted))}.technical-score__compact-delta{font-size:var(--font-sm);font-weight:600;margin-left:auto}.technical-score__compact-delta.positive{color:#34d399}.technical-score__compact-delta.negative{color:#f87171}@keyframes gaugeEntry{0%{transform:scale(.92)}to{transform:scale(1)}}.technical-score__gauge-container[data-phase=hidden],.technical-score__gauge-container[data-phase=revealing]{animation:gaugeEntry .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes issueSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.unified-panel__issue{animation:issueSlideIn .25s ease-out forwards;opacity:0}.unified-panel__issue:nth-child(1){animation-delay:.05s}.unified-panel__issue:nth-child(2){animation-delay:.1s}.unified-panel__issue:nth-child(3){animation-delay:var(--duration-fast)}.unified-panel__issue:nth-child(4){animation-delay:var(--duration-normal)}.unified-panel__issue:nth-child(5){animation-delay:.25s}.subscore-mini{animation:fadeIn var(--duration-slow) ease-out forwards;opacity:0}.subscore-mini:nth-child(1){animation-delay:.1s}.subscore-mini:nth-child(2){animation-delay:var(--duration-fast)}.subscore-mini:nth-child(3){animation-delay:var(--duration-normal)}.subscore-mini:nth-child(4){animation-delay:.25s}.category-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-full);margin-top:.75rem}.category-badge__icon{color:#818cf8;flex-shrink:0}.category-badge__label{font-size:var(--font-sm);font-weight:500;color:#a5b4fc}.issue-list{display:flex;flex-direction:column;gap:.5rem}.issue-list__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--text-muted));margin:0 0 .5rem;padding-left:.25rem;border-left:2px solid hsl(var(--primary))}.issue-list__items{display:flex;flex-direction:column;gap:.5rem}.issue-list__show-more{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem;margin-top:.5rem;background:transparent;border:1px dashed rgba(255,255,255,.15);border-radius:var(--radius-md);color:hsl(var(--muted-foreground));font-size:var(--font-sm);cursor:pointer;transition:all var(--duration-fast) ease}.issue-list__show-more:hover{background:#ffffff0d;border-color:#ffffff40;color:hsl(var(--text-secondary))}.issue-list__show-more svg{width:14px;height:14px}.issue-list--empty{padding:1.25rem;text-align:center}.issue-list__success{display:flex;flex-direction:column;align-items:center;gap:.5rem}.issue-list__success h4{margin:0;font-size:var(--font-lg);font-weight:600;color:hsl(var(--success))}.issue-list__success p{margin:0;font-size:var(--font-base);color:hsl(var(--muted-foreground))}.issue-row{background-color:#0f346066;border-radius:var(--radius-md);overflow:hidden;transition:background-color var(--duration-fast) ease}.issue-row:hover{background-color:#0f346099}.issue-row__main{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem}.issue-row__severity{width:6px;height:6px;border-radius:50%;flex-shrink:0}.severity--high{background-color:hsl(var(--destructive));box-shadow:0 0 6px rgba(var(--destructive-rgb),.5)}.severity--medium{background-color:hsl(var(--warning))}.severity--low{background-color:hsl(var(--success))}.issue-row__icon{color:hsl(var(--muted-foreground));flex-shrink:0}.issue-row__message{flex:1;font-size:var(--font-base);color:hsl(var(--foreground));line-height:1.4}.issue-row__info-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:hsl(var(--text-muted));cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast) ease;flex-shrink:0}.issue-row__info-btn:hover{background-color:#94a3b826;color:hsl(var(--muted-foreground))}.issue-row__info-btn[aria-expanded=true]{color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.15)}.issue-row__fix-btn{padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:hsl(var(--primary));background-color:rgba(var(--primary-rgb),.15);border:1px solid rgba(var(--primary-rgb),.3);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) ease;flex-shrink:0}.issue-row__fix-btn:hover{background-color:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}.issue-row__tip-badge{padding:.25rem .5rem;font-size:var(--font-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));background-color:#94a3b826;border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-sm);flex-shrink:0}.issue-row--tip{background-color:#94a3b81a}.issue-row--tip:hover{background-color:#94a3b826}.issue-row__explanation{padding:.75rem;padding-top:0;border-top:1px solid rgba(100,116,139,.1);margin-top:-.125rem;animation:slideDown var(--duration-normal) ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.issue-row__why{font-size:var(--font-sm);color:hsl(var(--muted-foreground));margin:0 0 .5rem;line-height:1.5}.issue-row__tip{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background-color:rgba(var(--warning-rgb),.08);border-radius:var(--radius-md);font-size:.6875rem;color:hsl(var(--warning));line-height:1.4}.issue-row__tip svg{flex-shrink:0;margin-top:.0625rem}.fix-all-container{position:relative;background:#0f34601f;border:1px solid rgba(var(--primary-rgb),.15);border-radius:var(--radius-lg);padding:10px}.fix-all-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(var(--primary-rgb),.5);background:linear-gradient(135deg,rgba(var(--primary-rgb),.15),rgba(var(--primary-rgb),.25));color:hsl(var(--primary));font-family:Outfit,system-ui,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--duration-normal) ease;box-shadow:0 2px 8px rgba(var(--primary-rgb),.15)}.fix-all-btn__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-lg);background:rgba(var(--primary-rgb),.25);font-size:.6875rem;font-weight:700;color:hsl(var(--primary-light))}.fix-all-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(var(--primary-rgb),.25),rgba(var(--primary-rgb),.4));border-color:rgba(var(--primary-rgb),.7);box-shadow:0 4px 16px rgba(var(--primary-rgb),.25);transform:translateY(-1px)}.fix-all-btn:active:not(:disabled){transform:translateY(0)}.fix-all-btn:disabled{opacity:.4;cursor:not-allowed}.fix-all-btn--reset{background:transparent;border-color:#94a3b84d;color:hsl(var(--muted-foreground));box-shadow:none}.fix-all-btn--reset:hover:not(:disabled){background:#94a3b81a;border-color:#94a3b880;box-shadow:none;transform:none}.fix-all-details{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:8px 4px 0;border-top:1px solid rgba(100,116,139,.1)}@keyframes detailRowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fix-all-details__row{display:flex;align-items:center;gap:8px;animation:detailRowIn .25s ease-out both}.fix-all-details__icon{color:hsl(var(--text-muted));flex-shrink:0}.fix-all-details__label{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;color:hsl(var(--text-secondary));min-width:80px}.fix-all-details__value{font-family:Outfit,system-ui,sans-serif;font-size:.6875rem;font-weight:600;color:hsl(var(--primary));min-width:32px;text-align:right}.fix-all-details__value--neg{color:#f59e0b}.fix-all-details__bar{flex:1;height:4px;background:#0f346066;border-radius:var(--radius-xs);overflow:hidden}.fix-all-details__bar-fill{height:100%;background:hsl(var(--primary));border-radius:var(--radius-xs);transition:width .4s cubic-bezier(.4,0,.2,1)}.fix-all-details__bar-fill--neg{background:#f59e0b}.fix-all-btn__delta{display:inline-flex;align-items:center;justify-content:center;padding:0 6px;height:20px;border-radius:var(--radius-lg);background:#34d39933;font-size:var(--font-sm);font-weight:700;color:#34d399;animation:deltaReveal var(--duration-slow) ease-out both}@keyframes deltaReveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fix-all-btn--edit{gap:.5rem}.fix-all-btn--secondary{margin-top:8px;gap:.5rem}.fix-all-tooltip-anchor{position:relative}.fix-all-tooltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);background:hsl(var(--popover));border:1px solid rgba(var(--primary-rgb),.3);border-radius:var(--radius-md);box-shadow:var(--shadow-md);white-space:nowrap;z-index:var(--z-dropdown);animation:tooltipFadeInBelow var(--duration-slow) ease-out}.fix-all-tooltip--above{top:auto;bottom:calc(100% + 10px);animation:tooltipFadeInAbove var(--duration-slow) ease-out}.fix-all-tooltip__body{position:relative;overflow:hidden;border-radius:inherit;padding:var(--space-2) var(--space-3)}.fix-all-tooltip__body:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(var(--primary-rgb),.12) 50%,transparent 100%);animation:tooltipSweep 3s ease-in-out infinite}.fix-all-tooltip span{position:relative;font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.fix-all-tooltip__arrow{position:absolute;top:-5px;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:hsl(var(--popover));border-top:1px solid rgba(var(--primary-rgb),.3);border-left:1px solid rgba(var(--primary-rgb),.3)}.fix-all-tooltip--above .fix-all-tooltip__arrow{top:auto;bottom:-5px;border-top:none;border-left:none;border-bottom:1px solid rgba(var(--primary-rgb),.3);border-right:1px solid rgba(var(--primary-rgb),.3)}@keyframes tooltipFadeInBelow{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes tooltipFadeInAbove{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes tooltipSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.fix-all-good__message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0;font-family:Outfit,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:#4ade80}.fix-all-good__icon{color:hsl(var(--success))}.fix-all-good__icon--nudge{color:hsl(var(--primary))}.fix-all-analyzing{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px 16px;background:#0f34601f;border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-lg, .5rem)}.fix-all-analyzing__scan{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(var(--primary-rgb),.06),rgba(var(--primary-rgb),.15));border-radius:inherit;transition:width .4s ease-out;pointer-events:none}.fix-all-analyzing__shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(var(--primary-rgb),.06) 40%,rgba(var(--primary-rgb),.12) 50%,rgba(var(--primary-rgb),.06) 60%,transparent 100%);animation:shimmerSweep 2.5s ease-in-out infinite;pointer-events:none}@keyframes shimmerSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.fix-all-analyzing__mark{position:relative;z-index:var(--z-base)}.fix-all-analyzing__label{position:relative;z-index:var(--z-base);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8b3}.fix-all-analyzing__pct{position:relative;z-index:var(--z-base);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:rgba(var(--primary-rgb),.8)}.before-after-toggle{display:flex;flex-direction:column;align-items:center;gap:.5rem}.before-after-toggle__buttons{display:flex;background-color:#0f346080;border-radius:var(--radius-md);padding:.125rem}.before-after-toggle__btn{padding:.5rem .75rem;font-size:var(--font-sm);font-weight:500;border-radius:var(--radius-sm);transition:all var(--duration-fast) ease}.before-after-toggle__btn--active{background-color:rgba(var(--primary-rgb),.2);color:hsl(var(--primary))}.before-after-toggle__hint{font-size:var(--font-xs);color:hsl(var(--text-muted))}.before-after-hold{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:all var(--duration-fast) ease}.before-after-hold--active{background-color:rgba(var(--primary-rgb),.15);border-color:hsl(var(--primary))}.before-after-indicator{display:flex;align-items:center;gap:.5rem;font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.before-after-indicator__divider{color:hsl(var(--text-muted))}.success-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1rem;text-align:center;animation:fadeInUp .4s ease-out}.success-state__dial{display:flex;flex-direction:column;align-items:center;gap:10px}.success-state__dial-gauge{position:relative;width:120px;height:75px;overflow:visible}.success-state__dial-track{fill:none;stroke:#0f346080;stroke-width:5;stroke-linecap:round}.success-state__dial-fill{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1),stroke .6s ease}.success-state__dial-score-wrap{position:absolute;bottom:0;left:50%;transform:translate(-50%);text-align:center}.success-state__dial-score{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:1.75rem;font-weight:700;letter-spacing:-.03em;transition:color var(--duration-slow) ease}.success-state__dial-delta{display:inline-flex;padding:3px 10px;background:rgba(var(--success-rgb),.12);border:1px solid rgba(var(--success-rgb),.2);border-radius:var(--radius-xl);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.6875rem;font-weight:700;color:#22c55e;opacity:0;transform:translateY(4px)}.success-state__dial-delta.show{animation:dialDeltaFadeIn var(--duration-slow) ease-out forwards}@keyframes dialDeltaFadeIn{to{opacity:1;transform:translateY(0)}}.success-state__fixes{width:100%;text-align:left;animation:fadeInUp var(--duration-slow) ease-out var(--duration-normal) both}.success-state__fixes h4{font-size:var(--font-sm);font-weight:600;color:hsl(var(--muted-foreground));margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.03em}.success-state__fixes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.success-state__fix-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:rgba(var(--success-rgb),.08);border-radius:var(--radius-md);font-size:var(--font-base);color:hsl(var(--foreground));animation:slideInLeft var(--duration-slow) ease-out both}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.success-state__actions{display:flex;gap:.75rem;width:100%;animation:fadeInUp var(--duration-slow) ease-out .4s both}.success-state__actions>*{flex:1}.success-state__download-btn{background:linear-gradient(135deg,rgba(var(--primary-rgb),.2),rgba(var(--primary-rgb),.35));border-color:rgba(var(--primary-rgb),.5)}.success-state__download-btn:hover{background:linear-gradient(135deg,rgba(var(--primary-rgb),.3),rgba(var(--primary-rgb),.5))}.success-state__tip{display:flex;align-items:flex-start;gap:.5rem;padding:.875rem;background-color:rgba(var(--warning-rgb),.08);border:1px solid rgba(var(--warning-rgb),.2);border-radius:var(--radius-lg);text-align:left;width:100%;animation:fadeInUp var(--duration-slow) ease-out var(--duration-slower) both}.success-state__tip svg{flex-shrink:0;margin-top:.125rem}.success-state__tip-content{flex:1}.success-state__tip-label{display:block;font-size:.6875rem;font-weight:600;color:hsl(var(--warning));text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.success-state__tip-text{font-size:var(--font-base);color:hsl(var(--foreground));line-height:1.5;margin:0}.advanced-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background-color:#0f34604d;border:1px solid rgba(100,116,139,.15);border-radius:var(--radius-md);color:hsl(var(--muted-foreground));font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}.advanced-toggle:hover{background-color:#0f346080;color:hsl(var(--foreground))}.advanced-toggle__icon{margin-left:auto;transition:transform var(--duration-normal) ease}.advanced-toggle[aria-expanded=true] .advanced-toggle__icon{transform:rotate(180deg)}.advanced-content{margin-top:.75rem;padding:.75rem;background-color:#0f346033;border-radius:var(--radius-md);animation:slideDown var(--duration-normal) ease-out}.advanced-content .metric-rows{gap:.5rem}.filter-gallery{display:flex;flex-direction:column;gap:.75rem}.filter-gallery__header{display:flex;justify-content:space-between;align-items:center}.filter-gallery__title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.filter-gallery__reset-btn{padding:.25rem .5rem;font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-normal)}.filter-gallery__reset-btn:hover:not(:disabled){background-color:hsl(var(--border));color:hsl(var(--foreground))}.filter-gallery__categories{display:flex;gap:.25rem;padding:.25rem;background-color:#0f346080;border-radius:var(--radius-md)}.filter-category-btn{flex:1;padding:.5rem;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border:none;border-radius:var(--radius-sm);background-color:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-fast) ease}.filter-category-btn:hover{color:hsl(var(--foreground))}.filter-category-btn.active{background-color:hsl(var(--primary));color:#fff}.filter-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.filter-card{position:relative;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--duration-normal) ease;border:2px solid transparent}.filter-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.filter-card.selected{border-color:hsl(var(--primary));box-shadow:0 0 0 1px rgba(var(--primary-rgb),.3)}.filter-card__preview{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.filter-card__name{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#000c);font-size:var(--font-xs);font-weight:500;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.03em}.filter-intensity{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background-color:#0f346066;border-radius:var(--radius-md)}.filter-intensity__header{display:flex;justify-content:space-between;align-items:center}.filter-intensity__label{font-size:var(--font-sm);color:hsl(var(--muted-foreground))}.filter-intensity__value{font-size:var(--font-sm);font-weight:500;color:hsl(var(--primary));font-family:monospace}.filter-intensity__slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--border));border-radius:var(--radius-xs);outline:none}.filter-intensity__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--primary-foreground))}.filter-categories{display:flex;flex-direction:column;gap:.75rem}.filter-category-group{display:flex;flex-direction:column;gap:.5rem}.filter-category-header{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));padding-left:2px}.filter-thumbnail-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding-bottom:2px}.filter-thumbnail-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-md);border:2px solid transparent;background:transparent;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.filter-thumbnail-card:hover{background:rgba(var(--primary-rgb),.08);border-color:rgba(var(--primary-rgb),.2)}.filter-thumbnail-card.active{border-color:hsl(var(--primary));background:rgba(var(--primary-rgb),.1)}.filter-thumbnail-canvas-wrapper{width:100%;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:#ffffff0d}.filter-thumbnail-canvas{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.filter-thumbnail-placeholder{width:100%;height:100%;background:#ffffff08}.filter-thumbnail-name{font-size:var(--font-xs);font-weight:500;color:hsl(var(--muted-foreground));text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-thumbnail-card.active .filter-thumbnail-name{color:hsl(var(--primary))}.filter-category-pills,.filter-grid{display:none}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.loader-overlay{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-popover);border-radius:inherit}.logo-breathe g>polygon{animation:petal-glow 1.5s ease-in-out infinite;opacity:.4}.logo-breathe g>polygon:nth-child(1){animation-delay:0s}.logo-breathe g>polygon:nth-child(2){animation-delay:var(--duration-slow)}.logo-breathe g>polygon:nth-child(3){animation-delay:.6s}.logo-breathe g>polygon:nth-child(4){animation-delay:.9s}.logo-breathe g>polygon:nth-child(5){animation-delay:1.2s}.logo-breathe circle{opacity:.7}@keyframes petal-glow{0%,to{opacity:.4}13%{opacity:1}26%{opacity:.4}}.loader-label{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8b3;text-align:center}.progress-loader-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:200px}.progress-loader-track{width:100%;height:4px;background:#ffffff1a;border-radius:var(--radius-xs);overflow:hidden}.progress-loader-bar{height:100%;background:var(--primary, hsl(var(--primary)));border-radius:var(--radius-xs);animation:progress-fill 2s ease-out infinite}@keyframes progress-fill{0%{width:0%;opacity:1}70%{width:85%;opacity:1}90%{width:95%;opacity:1}to{width:100%;opacity:0}}.progress-loader-label{font-size:var(--font-sm);color:var(--muted-foreground, hsl(var(--muted-foreground)))}.processing-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-processing);display:flex;align-items:center;justify-content:center;animation:overlay-fade-in var(--duration-fast) ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.processing-overlay-content{background:var(--card, #1e293b);padding:2rem 3rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:overlay-content-in var(--duration-normal) ease-out forwards}@keyframes overlay-content-in{0%{opacity:0}to{opacity:1}}.processing-overlay__mark-wrapper{position:relative;width:56px;height:56px}.processing-overlay__mark-wrapper .logo-breathe{position:absolute;inset:0;transition:opacity var(--duration-slow) ease}.processing-overlay__checkmark{position:absolute;inset:0;opacity:0}.processing-overlay__mark-wrapper.done .logo-breathe{opacity:.2}.processing-overlay__mark-wrapper.done .processing-overlay__checkmark{animation:overlayCheckFadeIn var(--duration-slow) ease-out forwards}@keyframes overlayCheckFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.processing-overlay__label--success{color:#22c55e!important}.share-success-toast{display:flex;align-items:center;gap:8px;padding:8px 14px;margin-top:8px;background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-md);animation:shareToastIn .25s ease-out forwards,shareToastOut var(--duration-slow) ease-in 2s forwards}.share-success-toast svg{flex-shrink:0;color:#3b82f6}.share-success-toast span{font-size:var(--font-sm);font-weight:600;color:#94a3b8}@keyframes shareToastIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shareToastOut{to{opacity:0;transform:translateY(-4px)}}.loader-inline{display:inline-flex;align-items:center;justify-content:center}.loader-inline .loader-container{display:inline-flex}.loader-inline .loader-spinner{width:1.125rem;height:1.125rem}.loader-inline .loader-label{display:none}.analyzing-section{padding:1rem}.desktop-analysis-progress{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:0 4px}.desktop-analysis-progress__track{width:100%;height:3px;background:#ffffff14;border-radius:var(--radius-xs);overflow:hidden}.desktop-analysis-progress__bar{height:100%;background:#3b82f6;border-radius:var(--radius-xs);transition:width var(--duration-slow) ease-out}.desktop-analysis-progress__label{font-size:.7rem;color:#ffffff73;font-family:Outfit,system-ui,sans-serif;text-align:center}.analyzing-scanner{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#0f346040;border-radius:var(--radius-md);border:1px solid rgba(100,116,139,.15)}.scanner__preview{position:relative;width:100%;border-radius:var(--radius-sm);overflow:hidden;background:#0000004d;aspect-ratio:3 / 2}.scanner__thumb{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.5;filter:grayscale(.6)}.scanner__line{position:absolute;top:0;bottom:0;width:2px;background:var(--primary, hsl(var(--primary)));box-shadow:0 0 8px rgba(var(--primary-rgb),.6),0 0 2px rgba(var(--primary-rgb),.9);transition:left var(--duration-slow) ease-out;z-index:var(--z-base)}.scanner__preview:after{content:"";position:absolute;top:0;left:0;bottom:0;width:var(--scan-progress, 0%);background:#ffffff14;pointer-events:none;z-index:0}.scanner__info{display:flex;align-items:baseline;gap:.75rem}.scanner__pct{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));letter-spacing:-.02em;min-width:3.5ch;text-align:right}.scanner__step{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--font-sm);color:hsl(var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-gauge-skeleton{position:relative}.score-gauge-skeleton__pulse-ring{position:absolute;top:50%;left:50%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(var(--primary-rgb),.15);animation:pulseRing 2s ease-out infinite;pointer-events:none}@keyframes pulseRing{0%{width:120px;height:120px;opacity:.6}to{width:160px;height:160px;opacity:0}}.score-gauge-skeleton__arc{stroke:#3b82f6;opacity:.7;transition:stroke-dashoffset .4s ease-out;animation:arcPulse 1.5s ease-in-out infinite}@keyframes arcPulse{0%,to{opacity:.5}50%{opacity:.85}}.score-gauge-skeleton__tip{fill:#3b82f6;opacity:.9;transition:cx .4s ease-out,cy .4s ease-out;animation:tipGlow 1s ease-in-out infinite}@keyframes tipGlow{0%,to{opacity:.6;r:4}50%{opacity:1;r:6}}.score-gauge-skeleton__pct{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:1.5rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:rgba(var(--primary-rgb),.6);animation:pctIn var(--duration-normal) ease-out}@keyframes pctIn{0%{opacity:.3;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.score-gauge-skeleton__label{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.5625rem;font-weight:600;color:#94a3b880;margin-top:3px;text-transform:uppercase;letter-spacing:.08em;text-align:center;animation:stepFade var(--duration-slow) ease-out}@keyframes stepFade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.compare-controls{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#0f346066;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);border:1px solid rgba(100,116,139,.15);z-index:var(--z-modal);pointer-events:auto}.compare-btn{font-family:Outfit,system-ui,sans-serif;display:flex;align-items:center;gap:.5rem;padding:.5rem;background:transparent;border:1px solid rgba(100,116,139,.2);border-radius:var(--radius-md);color:hsl(var(--text-secondary));font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}.compare-btn:hover{background:rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.3);color:hsl(var(--foreground))}.compare-btn.disabled{opacity:.35;cursor:default;pointer-events:none}.compare-btn.active{background:var(--primary, hsl(var(--primary)));border-color:var(--primary, hsl(var(--primary)));color:#fff}.compare-btn svg{width:14px;height:14px;flex-shrink:0}.compare-hint{font-size:.6875rem;color:#ffffff80;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.15)}@media(max-width:640px){.compare-controls{flex-wrap:wrap;max-width:calc(100% - 24px)}.compare-btn span{display:none}.wipe-slider{width:60px}.compare-hint{display:none}}.layout-left-panel{width:260px;min-width:260px;max-width:260px;display:flex;flex-direction:column;overflow:hidden}.layout-right-panel{width:280px;min-width:280px;max-width:280px;overflow-y:auto;border-left:1px solid hsl(var(--border));transition:width var(--duration-normal) ease,min-width var(--duration-normal) ease,max-width var(--duration-normal) ease}.action-lane{display:flex;flex-direction:column;gap:16px;padding:16px;height:100%}.action-lane--empty{align-items:center;justify-content:center}.action-lane__score,.action-lane__cta{flex-shrink:0}.action-lane__issues{display:flex;flex-direction:column;gap:8px}.action-lane__issues-title{margin:0}.action-lane__issues-list{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}.action-lane__issue-item{display:flex;flex-direction:row;align-items:center;gap:8px}.action-lane__severity-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background-color:#6b7280}.action-lane__severity-dot.severity--high{background-color:hsl(var(--destructive))}.action-lane__severity-dot.severity--medium{background-color:hsl(var(--warning))}.action-lane__severity-dot.severity--low{background-color:#6b7280}.action-lane__issue-message{line-height:1.3}.action-lane__footer{margin-top:auto;padding-top:12px;border-top:1px solid hsl(var(--border))}.action-lane__edit-link{display:flex;flex-direction:row;align-items:center;gap:8px;color:hsl(var(--muted-foreground));background:none;border:none;cursor:pointer;font-size:.875rem;padding:4px 0;transition:color var(--duration-fast) ease}.action-lane__edit-link:hover{color:hsl(var(--foreground))}.detail-panel{display:flex;flex-direction:column;height:100%;font-family:Outfit,system-ui,sans-serif}.detail-panel__header{flex-shrink:0;padding:var(--panel-padding-y) var(--panel-padding-x);border-bottom:1px solid rgba(100,116,139,.12)}.detail-panel__header-text{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--text-muted))}.detail-panel__content{flex:1;overflow-y:auto;padding:var(--panel-padding-y) var(--panel-padding-x);display:flex;flex-direction:column;gap:var(--panel-gap)}.detail-panel__empty{color:hsl(var(--text-muted));font-size:var(--font-sm)}.detail-panel__section{display:flex;flex-direction:column;gap:var(--section-gap)}.detail-panel__section-header{display:flex;align-items:center;justify-content:space-between}.detail-panel__section-title{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--text-muted));margin:0;display:flex;align-items:center;gap:var(--space-2)}.detail-panel__count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-4);height:var(--space-4);padding:0 var(--space-1);border-radius:var(--space-2);background:rgba(var(--primary-rgb),.2);color:hsl(var(--primary-light));font-size:var(--font-xs);font-weight:600}.detail-panel__histogram-tabs{display:flex;gap:2px;background:#0003;border-radius:var(--radius-sm);padding:2px}.detail-panel__hist-tab{font-family:Outfit,system-ui,sans-serif;padding:2px var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:hsl(var(--text-muted));font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:all var(--duration-fast) ease}.detail-panel__hist-tab:hover{color:hsl(var(--muted-foreground))}.detail-panel__hist-tab.active{background:#ffffff1a;color:hsl(var(--foreground))}.detail-panel__exposure-stats{display:flex;justify-content:space-between;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--font-xs);color:hsl(var(--text-muted));font-variant-numeric:tabular-nums}.detail-panel__exposure-type{text-transform:capitalize}.detail-panel__section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:none;background:transparent;cursor:pointer;font-family:Outfit,system-ui,sans-serif}.detail-panel__section-toggle:hover .detail-panel__toggle-chevron{color:hsl(var(--muted-foreground))}.detail-panel__toggle-chevron{color:hsl(var(--text-subtle));flex-shrink:0;transition:color .1s ease}.detail-panel__meta-rows{display:flex;flex-direction:column;gap:2px}.detail-panel__meta-row{display:flex;align-items:flex-start;gap:8px;padding:4px 8px;border-radius:var(--radius-sm);background:#0f346014}.detail-panel__meta-row--empty{background:transparent}.detail-panel__meta-icon{color:hsl(var(--text-subtle));flex-shrink:0;margin-top:1px}.detail-panel__meta-value{font-size:.6875rem;color:hsl(var(--foreground));line-height:1.4}.detail-panel__meta-value--mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--font-xs);letter-spacing:-.02em}.detail-panel__meta-secondary{color:hsl(var(--text-muted))}.detail-panel__share-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border-radius:var(--radius-full);border:1px solid rgba(var(--primary-rgb),.3);background:transparent;color:hsl(var(--primary));font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--duration-fast) ease}.detail-panel__share-btn:hover:not(:disabled){background:rgba(var(--primary-rgb),.1);border-color:rgba(var(--primary-rgb),.5)}.detail-panel__share-btn:disabled{opacity:.6;cursor:default}.detail-panel__share-hint{font-size:.6875rem;color:hsl(var(--text-subtle));text-align:center;margin:4px 0 0}.detail-panel__stats-grid{display:flex;flex-direction:column;gap:4px}.detail-panel__stat-row{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);background:#0f34601a}.detail-panel__stat-label{font-size:.6875rem;color:hsl(var(--text-muted))}.detail-panel__stat-value{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.6875rem;color:hsl(var(--foreground));font-weight:500;text-transform:capitalize}.detail-panel__adjustments-list{display:flex;flex-direction:column;gap:2px}.detail-panel__adj-row{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-radius:var(--radius-sm)}.detail-panel__adj-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.detail-panel__adj-value{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.6875rem;font-weight:600;font-variant-numeric:tabular-nums}.detail-panel__adj-value.positive{color:#34d399}.detail-panel__adj-value.negative{color:#fb923c}@media(max-width:1024px){.layout-left-panel{width:220px;min-width:220px;max-width:220px}.layout-right-panel{width:240px;min-width:240px;max-width:240px}}@media(max-width:768px){.layout-right-panel{display:none}.layout-left-panel{width:200px;min-width:200px;max-width:200px}}.unified-panel{display:flex;flex-direction:column;height:100%;padding:var(--space-4) var(--panel-padding-x);gap:var(--panel-gap);font-family:Outfit,system-ui,sans-serif}.unified-panel--empty{justify-content:center;align-items:center}.unified-panel__score{transition:all var(--duration-normal) ease}.unified-panel__score--compact{padding-bottom:var(--space-2);border-bottom:1px solid rgba(100,116,139,.12)}.unified-panel__cta{margin-top:2px}.unified-panel__issues{animation:fadeIn .25s ease-out}.unified-panel__issues-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.unified-panel__issue{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:#0f346026;border:1px solid rgba(100,116,139,.1);transition:opacity var(--duration-slow) ease,background var(--duration-normal) ease}.unified-panel__issue:hover{background:#0f346040}.unified-panel__issue--fixed{opacity:.35}.unified-panel__issue--fixed .text-sm{text-decoration:line-through}.unified-panel__severity-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:var(--space-1)}.edit-success-toast{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#34d39926;border:1px solid rgba(52,211,153,.3);border-radius:var(--radius-md);color:#34d399;font-size:var(--font-sm);font-weight:600;animation:toastIn var(--duration-slow) ease-out,toastOut var(--duration-slow) ease-in 2.7s forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.unified-panel__postfix-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.unified-panel__footer{margin-top:auto;padding-top:var(--space-3);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.unified-panel__edit-link{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);font-weight:500;color:hsl(var(--muted-foreground));background:transparent;border:1px solid rgba(100,116,139,.2);border-radius:var(--radius-full);cursor:pointer;padding:var(--space-2) var(--space-3);transition:all var(--duration-fast) ease}.unified-panel__edit-link:hover{color:hsl(var(--primary));border-color:rgba(var(--primary-rgb),.3);background:rgba(var(--primary-rgb),.06)}.unified-panel__tabs{display:flex;gap:0;background:transparent;border-bottom:1px solid rgba(100,116,139,.12);padding:0}.unified-panel__tab{flex:1;padding:var(--space-2) var(--space-3);white-space:nowrap;font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);font-weight:500;border:none;border-bottom:2px solid transparent;background:transparent;color:hsl(var(--text-muted));border-radius:0;cursor:pointer;transition:all var(--duration-fast)}.unified-panel__tab:hover{color:hsl(var(--text-secondary))}.unified-panel__tab--active{background:transparent;color:hsl(var(--foreground));border-bottom-color:hsl(var(--primary))}.unified-panel__tab-dot{display:inline-block;width:var(--space-1);height:var(--space-1);border-radius:50%;background:hsl(var(--primary));margin-left:var(--space-1);vertical-align:middle}.unified-panel__tool-content{flex:1;overflow-y:auto;min-height:0;animation:tab-fade-in var(--duration-normal) ease-out}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.unified-panel__edit-footer{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid rgba(100,116,139,.12);margin-top:auto}.unified-panel__done-btn{width:100%;font-family:Outfit,system-ui,sans-serif;font-weight:600;font-size:var(--font-lg);letter-spacing:.01em;padding:var(--space-3) var(--space-4)}.unified-panel__cancel-btn{background:none;border:none;color:hsl(var(--destructive));font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);font-weight:500;cursor:pointer;padding:4px 0;text-align:center;transition:color var(--duration-fast)}.unified-panel__cancel-btn:hover{color:#dc2626}.unified-panel__cancel-btn:disabled{opacity:.4;cursor:not-allowed}.transform-panel{display:flex;flex-direction:column;gap:var(--panel-gap, 1rem)}.transform-section{display:flex;flex-direction:column;gap:var(--section-gap)}.transform-section__header{display:flex;justify-content:space-between;align-items:center}.transform-section__clear{background:none;border:none;color:hsl(var(--muted-foreground));font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;cursor:pointer;padding:2px var(--space-2);transition:color var(--duration-fast)}.transform-section__clear:hover{color:hsl(var(--foreground))}.transform-enter-btn{font-family:Outfit,system-ui,sans-serif;font-weight:500}.transform-aspect-ratios{display:flex;gap:4px}.transform-aspect-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.transform-ratio-btn{padding:var(--space-2);background:#0f346026;border:1px solid rgba(100,116,139,.15);border-radius:var(--space-1);color:hsl(var(--muted-foreground));font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast)}.transform-ratio-btn:hover{background:#0f34604d;color:hsl(var(--foreground))}.transform-ratio-btn.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.transform-rotate-btns,.transform-flip-btns{display:flex;gap:var(--space-2)}.transform-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#0f346026;border:1px solid rgba(100,116,139,.15);border-radius:var(--radius-md);color:hsl(var(--muted-foreground));font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--duration-fast)}.transform-action-btn:hover{background:#0f34604d;color:hsl(var(--foreground))}.transform-action-btn.active{background:rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.3);color:hsl(var(--primary))}.transform-rotation-display{text-align:center;padding:2px 0}.transform-fine-rotation{display:flex;flex-direction:column;gap:4px;padding:4px 0}.transform-fine-rotation__header{display:flex;justify-content:space-between;align-items:center}.transform-fine-rotation__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:#64748b33;border-radius:var(--radius-xs);outline:none;cursor:pointer}.transform-fine-rotation__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid rgba(255,255,255,.2);-webkit-transition:box-shadow var(--duration-fast);transition:box-shadow var(--duration-fast)}.transform-fine-rotation__slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px rgba(var(--primary-rgb),.2)}.transform-fine-rotation__slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid rgba(255,255,255,.2)}.severity--critical .unified-panel__severity-dot,.unified-panel__severity-dot.severity--critical{background:hsl(var(--destructive));box-shadow:0 0 6px rgba(var(--destructive-rgb),.4)}.severity--major .unified-panel__severity-dot,.unified-panel__severity-dot.severity--major{background:#f59e0b;box-shadow:0 0 6px #f59e0b4d}.severity--minor .unified-panel__severity-dot,.unified-panel__severity-dot.severity--minor{background:hsl(var(--text-muted))}.footer-hint{width:100%;text-align:center;font-size:var(--font-xs);color:hsl(var(--text-muted));margin:0 0 var(--space-2) 0;font-family:Outfit,system-ui,sans-serif}@media(max-width:767px){.empty-state-container .proof-strip{margin-bottom:1.25rem}}.score-badge{display:inline-flex;align-items:center;gap:8px}.score-badge__value{font-weight:700}.score-badge__label{opacity:.7;font-size:.875em}.mobile-upload{display:flex;flex-direction:column;align-items:center;width:100%;max-width:620px}.mobile-upload__btn{width:100%;padding:16px 24px;font-family:Outfit,system-ui,sans-serif;font-size:1.125rem;font-weight:600;color:#fff;background:hsl(var(--primary));border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-normal)}.mobile-upload__btn:active{background:hsl(var(--primary-hover))}.mobile-upload__input{position:absolute;width:0;height:0;opacity:0;overflow:hidden}.mobile-upload__error{margin-top:8px;font-family:Outfit,system-ui,sans-serif;font-size:.875rem;color:hsl(var(--destructive));text-align:center}.mobile-picker-backdrop{position:fixed;inset:0;z-index:var(--z-modal);background:#00000080;display:flex;align-items:flex-end;justify-content:center;animation:fade-in var(--duration-normal) ease-out}.mobile-picker-sheet{width:100%;max-width:480px;background:hsl(var(--card));border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:8px 16px max(24px,calc(24px + env(safe-area-inset-bottom,0px)));display:flex;flex-direction:column;gap:4px;animation:slide-up var(--duration-normal) ease-out}.mobile-picker-option{display:flex;align-items:center;gap:14px;width:100%;padding:16px 12px;font-family:Outfit,system-ui,sans-serif;font-size:1.0625rem;font-weight:500;color:hsl(var(--foreground));background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast)}.mobile-picker-option:active{background:hsl(var(--muted))}.mobile-picker-cancel{width:100%;margin-top:4px;padding:14px 12px;font-family:Outfit,system-ui,sans-serif;font-size:1rem;font-weight:500;color:hsl(var(--muted-foreground));background:transparent;border:none;border-top:1px solid hsl(var(--border));cursor:pointer}.mobile-picker-cancel:active{background:hsl(var(--muted))}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.mobile-samples{width:100%;margin-top:1.25rem;text-align:center}.mobile-samples__label{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-xs);color:hsl(var(--muted-foreground));letter-spacing:.05em;text-transform:uppercase}.mobile-samples__row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.mobile-samples__card{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-samples__card:disabled{opacity:.4;pointer-events:none}.mobile-samples__card img{width:100%;aspect-ratio:3 / 2;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md);border:1.5px solid hsl(var(--border) / .5);transition:border-color var(--duration-fast)}.mobile-samples__card:active img{border-color:hsl(var(--primary))}.mobile-samples__issue{font-family:Outfit,system-ui,sans-serif;font-size:var(--font-xs);color:hsl(var(--muted-foreground));line-height:1}.mobile-bottom-bar{flex-shrink:0;padding:var(--space-3) var(--space-4);background:var(--card);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;animation:slideUpBar var(--duration-slow) cubic-bezier(.16,1,.3,1)}@keyframes slideUpBar{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.mobile-score-overlay{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));left:16px;z-index:var(--z-modal);background:#000000bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:8px 16px;border-radius:var(--radius-lg);font-family:Outfit,system-ui,sans-serif;font-size:.8rem;display:flex;align-items:center;gap:3px;pointer-events:none;box-shadow:var(--shadow-sm);animation:scorePopIn var(--duration-slow) cubic-bezier(.34,1.56,.64,1)}@keyframes scorePopIn{0%{opacity:0;transform:scale(.85) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.mobile-score-overlay__num{font-weight:700}.mobile-score-overlay__sep{color:#fff9}.mobile-score-overlay__issues{color:#ffffff80}.mobile-canvas-wrapper{flex:1;display:flex;flex-direction:column;position:relative;min-height:0;overflow:hidden}@media(max-width:767px){.mobile-canvas-wrapper .canvas-container{max-height:100%}}.mobile-analyzing-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-dropdown);pointer-events:none;animation:fadeIn var(--duration-normal) ease-out}.mobile-analyzing-indicator{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 36px 20px;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.mobile-analyzing-step{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8cc}.mobile-analyzing-progress{width:120px;height:3px;background:#ffffff1a;border-radius:var(--radius-xs);overflow:hidden}.mobile-analyzing-progress-bar{height:100%;background:#3b82f6;border-radius:var(--radius-xs);transition:width var(--duration-slow) ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-bottom-bar__issues{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;mask-image:linear-gradient(to right,black calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent)}.mobile-bottom-bar__issues::-webkit-scrollbar{display:none}.mobile-bottom-bar__pill{flex-shrink:0;font-size:var(--font-base);padding:4px 12px;border-radius:var(--radius-md);background:#fbbf241a;color:#fbbf24;border:1px solid rgba(251,191,36,.15);white-space:nowrap}.mobile-bottom-bar__pill--fixed{background:#a3e63514;color:#a3e635;border-color:#a3e6351f;text-decoration:line-through;opacity:.6}.mobile-celebration-toast{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;margin-bottom:8px;background:#22c55e1f;border:1px solid rgba(34,197,94,.25);border-radius:12px;animation:celebrationSlideIn .4s cubic-bezier(.34,1.56,.64,1)}.mobile-celebration-toast__check{color:#22c55e;font-size:1rem;font-weight:700}.mobile-celebration-toast__text{font-family:Outfit,system-ui,sans-serif;font-size:.875rem;font-weight:600;color:#22c55e}.mobile-celebration-toast__delta{font-family:Outfit,system-ui,sans-serif;font-size:.875rem;font-weight:700;color:#34d399}@keyframes celebrationSlideIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-bottom-bar__ctas{display:grid;grid-template-columns:3fr 2fr;gap:10px}.mobile-bottom-bar__cta{flex:1 1 0%;min-width:0;min-height:48px;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;font-family:Outfit,system-ui,sans-serif;font-size:.875rem;font-weight:600;border-radius:12px;cursor:pointer;border:none;transition:background var(--duration-fast)}.mobile-bottom-bar__fix-wrapper{flex:1;min-width:0}.mobile-bottom-bar__fix-wrapper .fix-all-container{background:none;border:none;padding:0;border-radius:0;width:100%}.mobile-bottom-bar__fix-wrapper .fix-all-tooltip-anchor{width:100%}.mobile-bottom-bar__fix-wrapper .fix-all-btn{width:100%;height:48px;min-height:48px;border-radius:12px;font-size:.875rem;font-weight:600;padding:0 16px;gap:8px;background:linear-gradient(135deg,rgba(var(--primary-rgb),.3),rgba(var(--primary-rgb),.5))!important;border:1px solid rgba(var(--primary-rgb),.6)!important}.mobile-bottom-bar__fix-wrapper .fix-all-analyzing{flex-direction:row;height:48px;padding:0 16px;gap:10px;border-radius:12px}.mobile-bottom-bar__fix-wrapper .fix-all-analyzing__mark{flex-shrink:0;width:22px;height:22px}.mobile-bottom-bar__fix-wrapper .fix-all-analyzing__label{font-size:.625rem;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-bottom-bar__fix-wrapper .fix-all-analyzing__pct{font-size:.875rem;margin-left:auto;flex-shrink:0}.mobile-bottom-bar__fix-wrapper .fix-all-good__message{height:48px;padding:0;background:none;border:none;border-radius:0;font-size:.8125rem;font-weight:500;justify-content:flex-start;gap:6px}.mobile-bottom-bar__cta--edit{background:#64748b1f;color:hsl(var(--muted-foreground));border:1px solid rgba(100,116,139,.15);font-size:.875rem;font-weight:600;border-radius:12px}.mobile-bottom-bar__cta--edit:active{background:#64748b33}.mobile-bottom-bar__cta--download{background:hsl(var(--success))!important;color:#fff!important;border-radius:12px}.mobile-editor-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:48px;background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0}.mobile-editor-header__discard{font-family:Outfit,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background:none;border:none;cursor:pointer;padding:8px 12px;min-height:44px;display:flex;align-items:center}.mobile-editor-header__undo-redo{display:flex;gap:2px}.mobile-editor-header__undo-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:hsl(var(--foreground));cursor:pointer;transition:background var(--duration-fast),opacity var(--duration-fast);-webkit-tap-highlight-color:transparent}.mobile-editor-header__undo-btn:active:not(:disabled){background:hsl(var(--muted) / .5)}.mobile-editor-header__undo-btn:disabled{opacity:.25;cursor:default}.mobile-editor-header__score-group{display:flex;align-items:baseline;gap:4px;transition:transform var(--duration-normal) ease}.mobile-editor-header__score-group--pulse{animation:score-pulse var(--duration-slow) ease}@keyframes score-pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.mobile-editor-header__score{font-family:Outfit,system-ui,sans-serif;font-size:1.25rem;font-weight:700;transition:color var(--duration-slow) ease}.mobile-editor-header__score-label{font-family:Outfit,system-ui,sans-serif;font-size:.7rem;font-weight:500;opacity:.8;transition:color var(--duration-slow) ease}.mobile-editor-header__score-delta{font-family:Outfit,system-ui,sans-serif;font-size:.7rem;font-weight:600;margin-left:2px}.mobile-editor-header__score-delta.positive{color:#34d399}.mobile-editor-header__score-delta.negative{color:#f87171}.mobile-editor-header__apply{min-height:44px;padding:0 20px;font-weight:600}@media(max-width:767px){.mobile-hidden-theme-switcher,.theme-divider{display:none!important}.layout-left-panel--mobile-editing{position:absolute;width:0;height:0;overflow:visible}.unified-panel--editing{position:fixed;left:0;right:0;bottom:0;top:50vh;top:50dvh;z-index:var(--z-popover);background:hsl(var(--background));border-top:1px solid var(--border);padding:0;padding-bottom:env(safe-area-inset-bottom,0px);gap:0;display:flex;flex-direction:column;height:auto;overflow:hidden;animation:slideUpEditor .25s ease-out}@keyframes slideUpEditor{0%{transform:translateY(100%)}to{transform:translateY(0)}}.unified-panel--editing .unified-panel__score{display:none}.unified-panel--editing .unified-panel__tabs{padding:0 8px;border-bottom:1px solid var(--border);flex-shrink:0;gap:4px}.unified-panel__tab{padding:12px 16px;min-height:48px;font-size:var(--font-lg)}.unified-panel--editing .unified-panel__tool-content{flex:1;overflow-y:auto;padding:12px 16px 48px;-webkit-overflow-scrolling:touch;min-height:0}.unified-panel--editing .unified-panel__edit-footer{display:none}.canvas-controls,.canvas-info,.compare-view-label{display:none!important}.compare-controls{top:12px;bottom:auto;left:1rem;transform:none;padding:.5rem;gap:.5rem;border-radius:var(--radius-lg);background:#0f346080}.compare-controls .compare-view-segment{display:none}.compare-btn{min-height:48px;min-width:48px;justify-content:center;padding:.5rem;border-radius:var(--radius-lg)}.compare-btn span{display:none}.compare-btn svg{width:20px;height:20px}.crop-action-bar{top:12px;bottom:auto;left:1rem;transform:none;padding:var(--space-1);gap:var(--space-1);border-radius:var(--radius-lg);background:#0f346080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(100,116,139,.15);box-shadow:none}.crop-action-bar__btn{padding:.5rem;font-size:0;gap:0;min-height:36px;min-width:36px;justify-content:center;border-radius:var(--radius-md)}.crop-action-bar__btn span{display:none}.crop-action-bar__btn svg{width:18px;height:18px}.canvas-stack-container{flex:1;min-height:0}.canvas-container-visible{min-height:0}.mobile-canvas-wrapper--editing{max-height:calc(50vh - 48px);max-height:calc(50dvh - 48px);overflow:hidden}.mobile-bottom-bar .fix-all-details,.mobile-bottom-bar .fix-all-btn__count,.mobile-bottom-bar .fix-all-btn--secondary,.mobile-bottom-bar .fix-all-btn--edit,.mobile-bottom-bar .fix-all-tooltip{display:none}.adj-slider-row{padding:12px 0;gap:12px}.adj-slider-label{font-size:.875rem;width:95px;white-space:nowrap}.adj-slider-value{font-size:var(--font-base);width:36px}.adj-slider-track-wrapper{padding:10px 0}[data-radix-slider-track]{height:4px!important}.adj-group--quick .adj-slider-row{padding:14px 0}.adj-group--quick .adj-slider-label{font-size:var(--font-lg);font-weight:600;color:hsl(var(--foreground))}.adj-group--quick [data-radix-slider-track]{height:6px!important}.adj-group--quick .adj-slider-value{font-size:var(--font-lg)}[data-radix-slider-thumb]{width:20px!important;height:20px!important;position:relative}[data-radix-slider-thumb]:before{content:"";position:absolute;inset:-18px -12px -8px}.adj-group-header,.section-label{font-size:var(--font-base);font-weight:600;padding:16px 0 12px}.section-header__reset{min-height:44px;padding-left:var(--space-3);padding-right:var(--space-3)}.adj-tier-header{font-size:var(--font-base);padding:18px 0 12px}.adj-tier-divider{border-top-width:2px;border-color:#64748b33;margin:20px 0}.adj-group{margin-bottom:20px}.hsl-channel-picker button{width:44px!important;height:44px!important;min-width:44px}.mobile-editor-header{padding-top:env(safe-area-inset-top,0px);height:calc(48px + env(safe-area-inset-top,0px))}header{padding-left:max(var(--header-padding-x, 1rem),env(safe-area-inset-left,0px));padding-right:max(var(--header-padding-x, 1rem),env(safe-area-inset-right,0px))}.theme-header{--button-gap: .75rem;--toolbar-gap: .5rem;padding:.625rem 1rem}.theme-header .theme-button{min-height:44px;padding:.5rem .875rem;font-size:.8125rem}.theme-header .theme-button.bg-primary,.theme-header .theme-divider{display:none}.main-layout{position:fixed;inset:0;height:auto}.mobile-bottom-bar{padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}.processing-overlay{background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.processing-overlay-content{padding:1.5rem 2rem;border-radius:var(--radius-xl)}.filter-categories{display:none}.filter-category-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:10px;margin-bottom:8px}.filter-category-pills::-webkit-scrollbar{display:none}.filter-pill{flex-shrink:0;padding:8px 16px;font-family:Outfit,system-ui,sans-serif;font-size:var(--font-sm);font-weight:600;border-radius:var(--radius-xl);border:1px solid rgba(100,116,139,.2);background:#64748b14;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-fast);white-space:nowrap;min-height:36px;display:flex;align-items:center}.filter-pill:active{transform:scale(.96)}.filter-pill.active{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.filter-grid .filter-thumbnail-card{padding:6px;position:relative}.filter-grid .filter-thumbnail-canvas-wrapper{width:100%;min-height:80px;height:auto;aspect-ratio:1;border-radius:var(--radius-md)}.filter-grid .filter-thumbnail-name{font-size:.6875rem;max-width:100%;margin-top:4px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-grid .filter-thumbnail-card.active{border-color:hsl(var(--primary));background:rgba(var(--primary-rgb),.1)}.filter-grid .filter-thumbnail-card.active .filter-thumbnail-canvas-wrapper{box-shadow:0 0 0 2px hsl(var(--primary))}.transform-aspect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.transform-ratio-btn{min-height:48px;padding:12px 8px;font-size:var(--font-base)}.transform-action-btn{min-height:48px;min-width:48px;padding:12px 16px;font-size:var(--font-base)}.transform-rotate-btns,.transform-flip-btns{gap:10px}.transform-fine-rotation__slider{height:40px}.transform-fine-rotation__slider::-webkit-slider-thumb{width:24px;height:24px}.transform-fine-rotation__slider::-moz-range-thumb{width:24px;height:24px}.transform-section__clear{min-height:44px;padding:8px 12px}.filter-category-pills{padding-left:4px;padding-right:4px;scroll-behavior:smooth}.filter-category-pills:after{content:"";display:block;min-width:8px;flex-shrink:0}.filter-grid{gap:12px}.filter-grid .filter-thumbnail-card{padding:8px}.filter-grid .filter-thumbnail-canvas-wrapper{border-radius:var(--radius-lg)}[data-radix-dialog-content]{inset:auto 0 0!important;transform:none!important;width:100%!important;max-width:100%!important;max-height:85vh;max-height:85dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px));animation:sheetSlideUp var(--duration-slow) cubic-bezier(.16,1,.3,1)!important}[data-radix-dialog-content]:before{content:"";display:block;width:36px;height:4px;border-radius:var(--radius-xs);background:#64748b4d;margin:0 auto 12px}@keyframes sheetSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.unified-panel__tab{flex-shrink:0}.mobile-editor-header__score,.mobile-editor-header__score-label,.mobile-editor-header__score-delta{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.02em}.mobile-score-overlay{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media(max-width:767px)and (orientation:landscape){.unified-panel--editing{top:30vh;top:30dvh}.mobile-canvas-wrapper--editing{max-height:calc(30vh - 48px);max-height:calc(30dvh - 48px);overflow:hidden}.unified-panel--editing .unified-panel__tool-content{padding-bottom:max(48px,env(safe-area-inset-bottom,0px));overflow-y:auto;max-height:calc(70vh - 96px);max-height:calc(70dvh - 96px)}.unified-panel--editing .unified-panel__tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.unified-panel--editing .unified-panel__tab{padding:12px 16px;min-height:40px;font-size:.875rem}.main-layout{position:fixed;inset:0;height:100%;overflow:hidden}}@media(min-width:768px)and (orientation:landscape){.canvas-container{height:100%;max-height:100%}.detail-panel,.unified-panel{max-height:100vh;max-height:100dvh;overflow-y:auto}}@media(max-width:390px){.filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:360px){.mobile-bottom-bar__pill{font-size:var(--font-sm);padding:4px 10px;max-width:140px;overflow:hidden;text-overflow:ellipsis}.filter-grid{gap:8px}.filter-grid .filter-thumbnail-card{padding:4px}.adj-slider-label{width:80px;font-size:var(--font-base)}.adj-slider-value{width:32px;font-size:var(--font-sm)}.transform-aspect-grid{gap:8px}.transform-ratio-btn{padding:10px 6px;font-size:var(--font-sm)}[role=dialog]{padding:16px 12px!important;gap:12px!important}[role=dialog] .grid label{padding:8px 10px}[role=dialog] .grid .text-xs{font-size:.6875rem;line-height:1.3}[role=dialog] footer{flex-direction:column;gap:8px}[role=dialog] footer button{width:100%}}
