*{box-sizing:border-box}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-height:100vh}#root{min-height:100vh}.home{min-height:100vh;display:flex;flex-direction:column}.home-header{padding:3rem 2rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.home-header h1{margin:0;font-size:3.5rem;font-weight:700;letter-spacing:-.02em}.tagline{margin:1rem 0 0;font-size:1.2rem;opacity:.9}.home-main{flex:1;padding:3rem 2rem;max-width:1200px;margin:0 auto;width:100%}.experiments h2{font-size:2rem;margin-bottom:2rem;color:#333}.experiment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.experiment-card{padding:2rem;border:2px solid #e0e0e0;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease;background:#fff}.experiment-card:hover:not(.coming-soon){border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea26}.experiment-card h3{margin:0 0 1rem;font-size:1.5rem;color:#333}.experiment-card p{margin:0;color:#666;line-height:1.5}.experiment-card.coming-soon{opacity:.6;cursor:default;border-style:dashed}.home-footer{padding:2rem;text-align:center;color:#666;border-top:1px solid #e0e0e0}.home-footer p{margin:0}.image-drop-zone{border:2px dashed #d0d0d0;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}.image-drop-zone:hover:not(.disabled){border-color:#667eea;background:#f8f9ff}.image-drop-zone.dragging{border-color:#667eea;background:#f0f3ff;transform:scale(1.02)}.image-drop-zone.disabled{opacity:.5;cursor:not-allowed}.drop-zone-content{pointer-events:none}.upload-icon{width:64px;height:64px;margin:0 auto 1rem;color:#667eea;opacity:.8}.drop-zone-title{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:#333}.drop-zone-subtitle{margin:0;font-size:.95rem;color:#666}.lab-inversion{min-height:100vh;display:flex;flex-direction:column}.demo-header{padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.back-link{display:inline-block;color:#fff;text-decoration:none;margin-bottom:1rem;opacity:.9;transition:opacity .2s}.back-link:hover{opacity:1}.demo-header h1{margin:0 0 .75rem;font-size:2.5rem}.main-description{margin:0 0 .5rem;font-size:1.2rem;opacity:1}.technical-description{margin:0;font-size:.9rem;opacity:.7;font-style:italic}.demo-main{flex:1;padding:3rem 2rem;max-width:1400px;margin:0 auto;width:100%}.upload-section{margin-bottom:3rem}.processing{text-align:center;padding:2rem;font-size:1.2rem;color:#667eea}.images-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-top:2rem}.image-box{border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;background:#fff}.image-box h3{margin:0 0 1rem;color:#333;font-size:1.3rem}.image-box img{width:100%;height:auto;border-radius:8px;display:block}.download-button{margin-top:1rem;width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.download-button:hover{background:#5568d3}.controls{max-width:400px;margin:0 auto 2rem;padding:1.5rem;background:#fff;border-radius:12px;border:2px solid #e0e0e0}.controls label{display:block;margin-bottom:.75rem;font-weight:600;color:#333;font-size:1rem}.controls input[type=range]{width:100%;height:6px;background:#e0e0e0;border-radius:3px;outline:none;-webkit-appearance:none}.controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#667eea;border-radius:50%;cursor:pointer;transition:transform .2s}.controls input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.controls input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#667eea;border-radius:50%;cursor:pointer;border:none;transition:transform .2s}.controls input[type=range]::-moz-range-thumb:hover{transform:scale(1.2)}.controls input[type=range]:disabled{opacity:.5;cursor:not-allowed}#root{width:100%;min-height:100vh}
