:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .6s;--header-height: 72px;--container: min(1200px, 100vw - 2rem)}:root,[data-theme=dark]{--background-deep: #020203;--background-base: #050506;--background-elevated: #0a0a0c;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--surface-card: linear-gradient(to bottom, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02));--foreground: #EDEDEF;--foreground-muted: #8A8F98;--foreground-subtle: rgba(255, 255, 255, .6);--accent-rgb: 92, 107, 237;--accent: #5C6BED;--accent-bright: #6E78F5;--accent-glow: rgba(var(--accent-rgb), .4);--accent-muted: rgba(var(--accent-rgb), .22);--border-default: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .1);--border-accent: rgba(var(--accent-rgb), .5);--color-red: #f87171;--color-orange: #fb923c;--color-green: #4ade80;--font-sans: "Inter", "Geist Sans", system-ui, sans-serif;--font-display: "Inter", "Geist Sans", system-ui, sans-serif;--font-mono: ui-monospace, monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 12px;--shadow-border: 0 0 0 1px rgba(255, 255, 255, .06);--shadow-diffuse: 0 2px 20px rgba(0, 0, 0, .4);--shadow-ambient: 0 0 40px rgba(0, 0, 0, .2);--shadow-card: 0 0 0 1px rgba(255, 255, 255, .06), 0 2px 20px rgba(0, 0, 0, .4), 0 0 40px rgba(0, 0, 0, .2);--shadow-card-hover: 0 0 0 1px rgba(255, 255, 255, .1), 0 8px 40px rgba(0, 0, 0, .5), 0 0 80px rgba(var(--accent-rgb), .15);--shadow-button: 0 0 0 1px rgba(var(--accent-rgb), .55), 0 4px 12px rgba(var(--accent-rgb), .35), inset 0 1px 0 0 rgba(255, 255, 255, .2);--shadow-inset: inset 0 1px 0 0 rgba(255, 255, 255, .1);--header-bg: rgba(5, 5, 6, .95);--header-bg-scrolled: rgba(10, 10, 12, .98);--header-border: rgba(255, 255, 255, .06);--color-primary: var(--accent);--color-primary-hover: var(--accent-bright);--color-primary-muted: var(--accent-muted);--color-bg: var(--background-base);--color-bg-hero: var(--background-elevated);--color-bg-alt: var(--background-elevated);--color-surface: var(--surface);--color-text: var(--foreground);--color-text-muted: var(--foreground-muted);--color-border: var(--border-default);--radius: var(--radius-md);--shadow: var(--shadow-card);--shadow-lg: var(--shadow-card-hover)}[data-theme=light]{--background-deep: #f0f0f2;--background-base: #f8f8fa;--background-elevated: #ffffff;--surface: rgba(0, 0, 0, .04);--surface-hover: rgba(0, 0, 0, .06);--surface-card: linear-gradient(to bottom, rgba(255, 255, 255, .9), rgba(255, 255, 255, .7));--foreground: #1a1a1c;--foreground-muted: #6b6b70;--foreground-subtle: rgba(0, 0, 0, .5);--accent-rgb: 79, 91, 213;--accent: #4f5bd5;--accent-bright: #5E6AD2;--accent-glow: rgba(var(--accent-rgb), .2);--accent-muted: rgba(var(--accent-rgb), .1);--border-default: rgba(0, 0, 0, .08);--border-hover: rgba(0, 0, 0, .12);--border-accent: rgba(var(--accent-rgb), .4);--color-red: #dc2626;--color-orange: #ea580c;--color-green: #16a34a;--shadow-card: 0 0 0 1px rgba(0, 0, 0, .06), 0 2px 12px rgba(0, 0, 0, .08);--shadow-card-hover: 0 0 0 1px rgba(0, 0, 0, .08), 0 8px 24px rgba(0, 0, 0, .12), 0 0 40px rgba(var(--accent-rgb), .08);--shadow-button: 0 0 0 1px rgba(var(--accent-rgb), .4), 0 2px 8px rgba(var(--accent-rgb), .25), inset 0 1px 0 0 rgba(255, 255, 255, .2);--header-bg: rgba(255, 255, 255, .8);--header-bg-scrolled: rgba(255, 255, 255, .95);--header-border: rgba(0, 0, 0, .06);--color-primary: var(--accent);--color-primary-hover: var(--accent-bright);--color-primary-muted: var(--accent-muted);--color-bg: var(--background-base);--color-bg-hero: var(--background-elevated);--color-bg-alt: var(--background-elevated);--color-surface: var(--surface);--color-text: var(--foreground);--color-text-muted: var(--foreground-muted);--color-border: var(--border-default);--radius: var(--radius-md);--shadow: var(--shadow-card);--shadow-lg: var(--shadow-card-hover)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--foreground);background:var(--background-base);transition:background-color var(--duration-normal) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}#root{min-height:100vh;position:relative}section[id]{scroll-margin-top:var(--header-height)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.app-canvas__base{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,#0a0a0f 0%,var(--background-base) 50%,var(--background-deep) 100%)}.app-canvas__noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.015;background-image: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.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app-canvas__blobs{position:absolute;top:0;right:0;bottom:0;left:0}.app-canvas__blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.25;animation:blob-float 10s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.app-canvas__blob{animation:none}}.app-canvas__blob--1{width:900px;height:500px;top:-10%;left:50%;margin-left:-450px;background:var(--accent);animation:blob-float 10s ease-in-out infinite}.app-canvas__blob--2{width:500px;height:400px;top:30%;left:-10%;background:#8b5cf666;animation:blob-float 10s ease-in-out infinite -3s}.app-canvas__blob--3{width:450px;height:350px;top:50%;right:-5%;background:rgba(var(--accent-rgb),.35);animation:blob-float 10s ease-in-out infinite -6s}[data-theme=light] .app-canvas__blob{opacity:.08}@keyframes blob-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(1deg)}}.app-canvas__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.02;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:64px 64px}[data-theme=light] .app-canvas__base{background:radial-gradient(ellipse at top,#e8e8ec 0%,var(--background-base) 60%,var(--background-deep) 100%)}[data-theme=light] .app-canvas__grid{background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px)}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--foreground)}.text-display{font-size:clamp(2.5rem,6vw,4rem);font-weight:600;letter-spacing:-.03em;line-height:1.1}.text-h1{font-size:clamp(1.75rem,4vw,3rem);font-weight:600;letter-spacing:-.02em}.text-h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:-.02em}.text-h3{font-size:1.25rem;font-weight:600}.text-body-large{font-size:1.125rem;line-height:1.6;color:var(--foreground-muted)}.text-body{font-size:1rem;line-height:1.6;color:var(--foreground-muted)}.text-label{font-size:.75rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--foreground-subtle)}.text-gradient{background:linear-gradient(to bottom,var(--foreground) 0%,rgba(255,255,255,.95) 50%,var(--foreground-subtle) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .text-gradient{background:linear-gradient(to bottom,var(--foreground) 0%,rgba(0,0,0,.85) 100%);-webkit-background-clip:text;background-clip:text}.section{padding:clamp(4rem,10vw,8rem) 1rem;max-width:var(--container);margin:0 auto}.section-title{text-align:center;margin-bottom:3rem}.section-title h2{font-size:clamp(1.5rem,4vw,2rem);font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--foreground)}.section-title .text-gradient{background:linear-gradient(to bottom,var(--foreground) 0%,var(--foreground-subtle) 100%);-webkit-background-clip:text;background-clip:text}.section-title p{margin:0;font-size:1rem;color:var(--foreground-muted)}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card-hover)}.card:focus-within{border-color:var(--border-accent);box-shadow:var(--shadow-card-hover)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-button);transition:background var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo)}.btn-primary:hover{background:var(--accent-bright);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.55),0 6px 20px rgba(var(--accent-rgb),.4),inset 0 1px #fff3;text-decoration:none}.btn-primary:active{transform:scale(.98)}.btn-primary:focus-visible{outline:none;box-shadow:var(--shadow-button),0 0 0 2px var(--background-base),0 0 0 4px var(--accent)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:var(--foreground);background:var(--surface);border:none;border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-inset);transition:background var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}.btn-secondary:hover{background:var(--surface-hover);text-decoration:none}.progress-bar-wrap{background:var(--background-elevated);height:14px;padding:2px;width:100%;margin:6px 0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-default)}.progress-bar-fill{height:100%;border-radius:6px;transition:width .4s var(--ease-out-expo)}.progress-bar-fill.red{background:var(--color-red)}.progress-bar-fill.orange{background:var(--color-orange)}.progress-bar-fill.green{background:var(--color-green)}.progress-bar-text{font-size:.875rem;font-weight:500;color:var(--foreground);margin-top:2px}.back-to-top{position:fixed;right:1rem;bottom:1rem;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:999;box-shadow:var(--shadow-button);transition:background var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.back-to-top:hover{background:var(--accent-bright);transform:translateY(-4px)}.back-to-top.visible{display:flex;animation:backToTopIn .35s var(--ease-out-expo)}.back-to-top:focus-visible{outline:none;box-shadow:var(--shadow-button),0 0 0 2px var(--background-base),0 0 0 4px var(--accent)}@keyframes backToTopIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.back-to-top svg{width:20px;height:20px}.animate-in{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo);transition-delay:var(--animate-delay, 0ms)}.animate-in.animate-in--fade{transform:none}.animate-in.animate-in--scale{transform:scale(.96);transition:opacity .5s var(--ease-out-expo),transform .5s var(--ease-out-expo)}.animate-in.animate-in--none{transform:none}.animate-in.in-view{opacity:1;transform:translateY(0) scale(1)}@media (prefers-reduced-motion: reduce){.animate-in{opacity:1;transform:none;transition:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.85}}.upload-zone--idle{animation:border-glow 3s ease-in-out infinite}@keyframes border-glow{0%,to{box-shadow:var(--shadow-card)}50%{box-shadow:0 0 0 1px var(--border-accent),0 2px 20px #0006,0 0 40px var(--accent-glow)}}[data-theme=light] .upload-zone--idle{animation:border-glow-light 3s ease-in-out infinite}@keyframes border-glow-light{0%,to{box-shadow:var(--shadow-card)}50%{box-shadow:0 0 0 1px var(--border-accent),0 2px 12px #00000014}}.nav-underline{position:relative}.nav-underline:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform var(--duration-normal) var(--ease-out-expo);border-radius:1px}.nav-underline:hover:after,.nav-underline:focus-visible:after,.nav-underline.active:after{transform:scaleX(1)}a:focus-visible,button:focus-visible{outline:none}a:focus-visible,button:focus-visible{box-shadow:0 0 0 2px var(--background-base),0 0 0 4px var(--accent)}
