:root{--color-bg-primary:#fff;--color-bg-secondary:#f7f8fa;--color-bg-tertiary:#f1f3f5;--color-bg-glass:#fffffff2;--color-text-primary:#2e2e2e;--color-text-secondary:#5f6368;--color-text-tertiary:#9aa0a6;--color-text-inverse:#fff;--color-accent-primary:#2563eb;--color-accent-hover:#1e4ed8;--color-accent-light:#e8f0fe;--color-accent-start:#2563eb;--color-accent-end:#2563eb;--color-accent-mid:#2563eb;--color-success:#16a34a;--color-warning:#d97706;--color-error:#dc2626;--color-border:#e5e7eb;--color-border-hover:#d1d5db;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;--shadow-glow:0 0 40px #2563eb26;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--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;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.3s cubic-bezier(.4,0,.2,1);--max-width:1200px;--header-height:4rem}[data-theme=dark]{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-glass:#0f172af2;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-text-inverse:#0f172a;--color-accent-light:#2563eb33;--color-border:#334155;--color-border-hover:#475569;--shadow-sm:0 1px 2px 0 #0003;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -4px #0003;--shadow-xl:0 20px 25px -5px #0000004d,0 8px 10px -6px #0003;--shadow-glow:0 0 60px #2563eb40}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;transition:background-color var(--transition-base),color var(--transition-base);line-height:1.6}.gradient-bg{z-index:-1;background:var(--color-bg-primary);position:fixed;inset:0;overflow:hidden}.gradient-bg:before{content:"";background:radial-gradient(ellipse at 50% 0%,var(--color-accent-light),transparent 50%);opacity:.5;width:100%;height:100%;position:absolute;top:0;left:0}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:700;line-height:1.2}.gradient-text{color:var(--color-accent-primary);background:0 0;-webkit-background-clip:unset;-webkit-text-fill-color:currentColor;background-clip:unset}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-xl);font-size:var(--font-size-base);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-sm{padding:var(--space-xs)var(--space-md);font-size:var(--font-size-sm)}.btn-secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.btn-icon{border-radius:var(--radius-md);width:2.5rem;height:2.5rem;padding:0}.card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.card-glass{background:var(--color-bg-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-xl);padding:var(--space-3xl);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--color-bg-secondary);position:relative}.upload-zone:hover,.upload-zone.dragover{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.upload-zone.dragover{box-shadow:var(--shadow-glow);transform:scale(1.01)}.upload-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.progress-bar{background:var(--color-bg-tertiary);border-radius:var(--radius-full);width:100%;height:.5rem;overflow:hidden}.progress-bar-fill{background:var(--color-accent-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-base)}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;width:2rem;height:2rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.comparison-container{border-radius:var(--radius-xl);cursor:col-resize;position:relative;overflow:hidden}.comparison-image{width:100%;height:auto;display:block}.comparison-overlay{width:50%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.comparison-slider{cursor:col-resize;background:#fff;width:4px;height:100%;position:absolute;top:0;left:50%;box-shadow:0 0 10px #0000004d}.comparison-slider:before{content:"";width:2rem;height:2rem;box-shadow:var(--shadow-lg);background:#fff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkered-bg{background-color:#fff;background-image:linear-gradient(45deg,#e5e7eb 25%,#0000 25%),linear-gradient(-45deg,#e5e7eb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e5e7eb 75%),linear-gradient(-45deg,#0000 75%,#e5e7eb 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}[data-theme=dark] .checkered-bg{background-color:#1e293b;background-image:linear-gradient(45deg,#334155 25%,#0000 25%),linear-gradient(-45deg,#334155 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#334155 75%),linear-gradient(-45deg,#0000 75%,#334155 75%)}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.grid{gap:var(--space-lg);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){:root{--space-3xl:3rem}}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}:root{--font-size-5xl:2.25rem;--font-size-6xl:2.75rem;--space-2xl:2rem;--space-3xl:2.5rem}.container{padding:0 var(--space-md)}.btn{padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-sm)}.btn-icon{width:2.25rem;height:2.25rem}}@media (max-width:480px){:root{--font-size-4xl:1.75rem;--font-size-5xl:2rem;--font-size-6xl:2.25rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:1.75rem;--space-3xl:2rem}.container{padding:0 var(--space-sm)}.btn{padding:var(--space-sm)var(--space-md);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-icon{width:2rem;height:2rem}.card{padding:var(--space-md);border-radius:var(--radius-lg)}}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-col{flex-direction:column}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.fade-in{animation:.5s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:.3s ease-out forwards scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pulse{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.badge{padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;font-weight:600;display:inline-flex}.badge-success{color:var(--color-success);background:#16a34a1a}.badge-warning{color:var(--color-warning);background:#d977061a}.badge-error{color:var(--color-error);background:#dc26261a}.badge-accent{background:var(--color-accent-light);color:var(--color-accent-primary)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);padding:var(--space-xs)var(--space-sm);background:var(--color-text-primary);color:var(--color-text-inverse);font-size:var(--font-size-sm);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);box-shadow:var(--shadow-md);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:hover:after{opacity:1}.tabs{gap:var(--space-xs);padding:var(--space-xs);background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex}.tab{padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;font-weight:600}.tab:hover{color:var(--color-text-primary)}.tab.active{background:var(--color-bg-primary);color:var(--color-accent-primary);box-shadow:var(--shadow-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}input[type=text],input[type=email],input[type=password],input[type=search],textarea,select{width:100%;padding:var(--space-md);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-light);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}
