@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.navigation{position:sticky;top:0;z-index:1000;background:#f8f6f3e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(66,99,148,.15);padding:var(--spacing-md) 0;box-shadow:0 2px 8px #0000000a}.nav-content{display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-family-serif);text-decoration:none;transition:transform var(--transition-fast)}.nav-logo:hover{transform:scale(1.05)}.nav-links{display:flex;gap:var(--spacing-lg);list-style:none;align-items:center}.nav-link{color:var(--color-text-secondary);font-weight:500;font-size:var(--font-size-sm);font-family:var(--font-family-serif);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative}.nav-link:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%) scaleX(0);width:80%;height:2px;background:var(--gradient-primary);transition:transform var(--transition-base)}.nav-link:hover{color:var(--color-text-primary)}.nav-link:hover:after{transform:translate(-50%) scaleX(1)}.nav-link.active{color:var(--color-primary)}.nav-link.active:after{transform:translate(-50%) scaleX(1)}@media (max-width: 768px){.nav-links{gap:var(--spacing-sm)}.nav-link{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.nav-logo{font-size:var(--font-size-lg)}}.home{min-height:100vh}.hero{min-height:80vh;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-bg-lighter) 0%,var(--color-bg-light) 100%)}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(66,99,148,.08) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}.hero-content{position:relative;z-index:1;max-width:800px}.hero-title{font-size:var(--font-size-5xl);font-weight:700;margin-bottom:var(--spacing-lg);line-height:1.1}.hero-subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.hero-cta{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.capabilities{background:var(--color-surface)}.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.capability-card{padding:var(--spacing-xl)}.capability-card h3{color:var(--color-primary);margin-bottom:var(--spacing-md)}.tiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.preview-tile{padding:var(--spacing-xl);text-align:center;cursor:pointer;display:block;color:inherit}.preview-tile.highlight{border:2px solid var(--color-primary);background:#4263940d}.tile-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.preview-tile h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.preview-tile p{margin-bottom:var(--spacing-xs)}.experience{background:var(--color-surface)}.experience-content{padding:var(--spacing-2xl)}.experience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.experience-item h4{color:var(--color-primary);margin-bottom:var(--spacing-xs)}@media (max-width: 768px){.hero{min-height:60vh}.hero-cta{flex-direction:column}.tiles-grid,.capabilities-grid,.experience-grid{grid-template-columns:1fr}}.resume{min-height:100vh;padding-top:0}.resume-content{max-width:1000px;margin:0 auto}.resume-card{padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.resume-header .header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.resume-header .header-text{flex:1}.resume-header h1{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.resume-header h3{font-size:1.5rem}.professional-summary{line-height:1.8;color:var(--color-text-secondary);font-size:var(--font-size-md)}.image-placeholder{background:#ffffff0d;border:2px dashed var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--spacing-md);transition:all .3s ease}.image-placeholder span{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.image-placeholder:hover{background:#ffffff14;border-color:var(--color-accent)}.profile-photo-placeholder .image-placeholder{width:150px;height:150px;border-radius:50%;min-height:unset}.profile-photo-placeholder img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--color-primary);box-shadow:0 4px 12px #0000004d}.project-section{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);border-bottom:1px solid rgba(255,255,255,.1)}.project-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.project-content{display:flex;gap:var(--spacing-2xl);align-items:flex-start}.project-text-column{flex:1;min-width:0}.project-text-column h3{color:var(--color-primary);margin-bottom:var(--spacing-xs);font-size:1.3rem}.project-text-column p{line-height:1.7;color:var(--color-text-secondary)}.project-image-column{flex-shrink:0;width:320px}.project-image-column img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.project-image-column img:hover{transform:scale(1.03);border-color:var(--color-primary);box-shadow:0 8px 24px #0006}.ivory-section{display:flex;flex-direction:column;gap:var(--spacing-xl)}.ivory-text h3{color:var(--color-primary);margin-bottom:var(--spacing-xs);font-size:1.3rem}.ivory-text p{line-height:1.7;color:var(--color-text-secondary)}.ivory-images{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.ivory-images img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.ivory-images img:hover{transform:scale(1.03);border-color:var(--color-primary);box-shadow:0 8px 24px #0006}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);margin-bottom:var(--spacing-md)}.project-text{flex:1}.project-text h3{color:var(--color-primary);margin-bottom:var(--spacing-xs);font-size:1.3rem}.project-image-placeholder{flex-shrink:0}.project-image-placeholder .image-placeholder{width:180px;height:120px;min-height:unset}.project-image-placeholder img{width:180px;height:120px;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.project-image-placeholder img:hover{transform:scale(1.05);border-color:var(--color-primary);box-shadow:0 4px 12px #0000004d}.project-section p{line-height:1.7;color:var(--color-text-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.skill-category{background:#ffffff08;padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);transition:all .3s ease}.skill-category:hover{background:#ffffff0d;transform:translate(4px)}.skill-category h4{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:1.1rem}.skill-category p{color:var(--color-text-secondary);line-height:1.6;font-size:var(--font-size-sm)}.education-section{margin-bottom:var(--spacing-xl)}.education-section:last-child{margin-bottom:0}.education-section h4{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:1.1rem}.education-section p{color:var(--color-text-secondary);line-height:1.6}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.product-item{padding:var(--spacing-xl)}.product-item h3{color:var(--color-primary);margin-bottom:var(--spacing-xs)}.product-item p{margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.product-item strong{color:var(--color-text-primary)}.timeline{position:relative;padding-left:var(--spacing-xl)}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gradient-primary)}.timeline-item{position:relative;margin-bottom:var(--spacing-xl)}.timeline-marker{position:absolute;left:calc(-1 * var(--spacing-xl) - 6px);top:0;width:14px;height:14px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-bg-dark);box-shadow:0 0 0 2px var(--color-primary)}.timeline-content{background:#ffffff08;padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.timeline-content h4{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.timeline-content p{color:var(--color-text-secondary);line-height:1.7}@media (max-width: 768px){.resume-header .header-content{flex-direction:column-reverse;align-items:center;text-align:center}.resume-header .header-text{width:100%}.profile-photo-placeholder{margin-bottom:var(--spacing-lg)}.project-content{flex-direction:column;gap:var(--spacing-lg)}.project-image-column{width:100%;max-width:400px;margin:0 auto}.project-header{flex-direction:column}.project-image-placeholder .image-placeholder{width:100%;max-width:300px;margin:0 auto}.ivory-images,.products-grid,.skills-grid{grid-template-columns:1fr}}.experiments{min-height:100vh;padding-top:0}.experiments-content{max-width:1000px;margin:0 auto}.intro-text{font-size:var(--font-size-lg);line-height:1.8;margin-bottom:var(--spacing-lg)}.intro-badges{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.badge{padding:var(--spacing-xs) var(--spacing-md);background:#3b82f61a;border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-primary-light);font-weight:500}.access-notice{padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl);border:2px solid var(--color-primary);background:#42639414}.experiments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.experiment-tile{padding:var(--spacing-xl);position:relative;cursor:pointer;aspect-ratio:4/3;min-height:auto;overflow:hidden;isolation:isolate}.experiment-tile:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;z-index:0}.experiment-tile.clickable{cursor:pointer}.experiment-tile.clickable:hover{transform:translateY(-4px)}.experiment-tile.locked{cursor:pointer}.view-link{color:var(--color-primary);font-weight:500;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.experiment-tile:hover .view-link{color:var(--color-primary-dark)}.lock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;border-radius:var(--radius-xl);z-index:10;padding-bottom:20%}.lock-icon{font-size:3rem;opacity:.9;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.experiment-tile h3{color:#fff!important;margin-bottom:var(--spacing-md);position:relative;z-index:15;text-shadow:0 2px 4px rgba(0,0,0,.8)}.experiment-tile p{position:relative;z-index:15;color:#fff!important;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.8)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.modal-content{max-width:500px;width:90%;padding:var(--spacing-2xl);animation:slideIn .3s ease}.passphrase-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-family:var(--font-family)}.passphrase-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.error-message{color:var(--color-accent);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:#f43f5e1a;border-radius:var(--radius-sm);border-left:3px solid var(--color-accent)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.experiments.loading{display:flex;align-items:center;justify-content:center;min-height:60vh}@media (max-width: 768px){.experiments-grid{grid-template-columns:1fr}.intro-badges{flex-direction:column;align-items:center}}.what-ive-been-doing{min-height:100vh;padding-top:0}.content{max-width:1000px;margin:0 auto}.intro-card{padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl);text-align:center}.intro-card h1{font-size:2.5rem}.lead-text{font-size:var(--font-size-lg);line-height:1.8;color:var(--color-text-secondary)}.story-card{padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.story-content{display:flex;gap:var(--spacing-2xl);align-items:flex-start;margin-bottom:var(--spacing-xl)}.story-content:last-child{margin-bottom:0}.story-content.reverse{flex-direction:row-reverse}.story-text{flex:1;min-width:0}.story-text h2{font-size:1.8rem}.story-text h3{color:var(--color-primary);margin-bottom:var(--spacing-md);font-size:1.4rem}.story-text p{line-height:1.7;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.story-text p:last-child{margin-bottom:0}.fun-note{background:#ffffff0d;border-left:3px solid var(--color-accent);padding:var(--spacing-md);border-radius:var(--radius-sm);font-style:italic;color:var(--color-text-muted);margin-top:var(--spacing-md)}.story-content-stacked{display:flex;flex-direction:column;gap:var(--spacing-xl)}.story-text-full{width:100%}.story-text-full p{line-height:1.7;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.story-text-full p:last-child{margin-bottom:0}.story-image{flex-shrink:0;width:380px}.story-image img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.story-image img:hover{transform:scale(1.03);border-color:var(--color-primary);box-shadow:0 8px 24px #0006}.story-images-dual{flex-shrink:0;width:380px;display:flex;flex-direction:column;gap:var(--spacing-md)}.story-images-dual img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.story-images-dual img:hover{transform:scale(1.03);border-color:var(--color-primary);box-shadow:0 8px 24px #0006}.story-images-triple{flex-shrink:0;width:380px;display:flex;flex-direction:column;gap:var(--spacing-md)}.story-images-triple img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.story-images-triple img:hover{transform:scale(1.03);border-color:var(--color-primary);box-shadow:0 8px 24px #0006}.story-images-grid-2x2{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.story-images-grid-2x2 img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.story-images-grid-2x2 img:hover{transform:scale(1.03);border-color:var(--color-primary);box-shadow:0 8px 24px #0006}.story-images-horizontal{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.story-images-horizontal img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.story-images-horizontal img:hover{transform:scale(1.03);border-color:var(--color-primary);box-shadow:0 8px 24px #0006}.closing-card{padding:var(--spacing-2xl);text-align:center;background:linear-gradient(135deg,#ffffff0d,#ffffff05)}.closing-card h2{font-size:1.8rem}.closing-card .lead-text{font-size:var(--font-size-md)}@media (max-width: 768px){.intro-card h1{font-size:2rem}.story-content,.story-content.reverse{flex-direction:column;gap:var(--spacing-lg)}.story-image,.story-images-dual,.story-images-triple,.story-images-grid-2x2,.story-images-horizontal{width:100%;max-width:500px;margin:0 auto}.story-images-grid-2x2,.story-images-horizontal{grid-template-columns:1fr}.story-text h2{font-size:1.5rem}.story-text h3{font-size:1.2rem}.lead-text{font-size:var(--font-size-md)}.closing-card h2{font-size:1.5rem}}.contact{min-height:100vh;padding-top:0}.contact-content{max-width:800px;margin:0 auto}.contact-card{padding:var(--spacing-2xl)}.contact-intro{font-size:var(--font-size-lg);text-align:center;margin-bottom:var(--spacing-2xl);line-height:1.8}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.contact-method{padding:var(--spacing-xl);text-align:center;text-decoration:none;color:inherit;display:block;transition:all var(--transition-base)}.contact-method:hover{transform:translateY(-4px)}.method-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.contact-method h3{color:var(--color-primary);margin-bottom:var(--spacing-xs)}.email-method{cursor:default}.email-container{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-md)}.email-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-base);-webkit-user-select:text;user-select:text;cursor:text;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.email-link:hover{color:var(--color-primary);background:#3b82f61a}.copy-button{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.copy-button:hover{background:var(--color-primary-dark, #0052cc);transform:scale(1.05)}.copy-button:active{transform:scale(.98)}.linkedin-method{background:linear-gradient(135deg,#0a66c21a,#0a66c20d)}.linkedin-method:hover{background:linear-gradient(135deg,#0a66c226,#0a66c214)}.linkedin-logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:var(--spacing-md)}.linkedin-logo{width:80px;height:80px;transition:transform var(--transition-base)}.linkedin-method:hover .linkedin-logo{transform:scale(1.1)}.linkedin-container{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-md)}.linkedin-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);-webkit-user-select:text;user-select:text;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.linkedin-link:hover{color:#0a66c2;background:#0a66c21a}@media (max-width: 768px){.contact-methods{grid-template-columns:1fr}.linkedin-logo{width:60px;height:60px}}.coca-landing{min-height:100vh;padding-top:var(--spacing-2xl)}.coca-content{max-width:1600px;margin:0 auto;padding:0 var(--spacing-lg)}.breadcrumb{margin-bottom:var(--spacing-lg)}.breadcrumb-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-family:var(--font-family-sans);cursor:pointer;padding:0 0 var(--spacing-xs) 0;transition:color var(--transition-fast)}.breadcrumb-link:hover{color:var(--color-primary-dark);text-decoration:underline}.intro-card,.demo-card,.boundary-card,.dashboard-card{padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.lead-text{font-size:var(--font-size-xl);line-height:1.8;color:var(--color-text-secondary)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl);margin-top:var(--spacing-lg)}.dashboard-chart-card{background:#42639408;border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid rgba(66,99,148,.1);transition:all var(--transition-normal)}.dashboard-chart-card:hover{background:#4263940d;border-color:#42639433;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.chart-title{font-size:var(--font-size-lg);font-family:var(--font-family-serif);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.chart-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;padding-right:1rem}.active-filter-badge{background:#e8743b26;border:1px solid rgba(232,116,59,.3);border-radius:20px;padding:.5rem 1rem;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-color);animation:fadeIn .3s ease-in-out}.clear-filter-btn{background:none;border:none;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.clear-filter-btn:hover{color:var(--primary-color)}.instruction-text{font-size:.8rem;color:var(--text-muted);font-style:italic}.chart-title{font-size:1.1rem;margin-bottom:.25rem;color:var(--heading-color)}.demo-placeholder{background:var(--color-surface);border:2px dashed rgba(66,99,148,.3);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center}.placeholder-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.demo-placeholder p{margin-bottom:var(--spacing-sm)}.chart-container{width:100%;margin-top:var(--spacing-lg)}.metric-toggle{display:flex;gap:12px;margin-bottom:24px;justify-content:center}.toggle-btn{padding:10px 20px;border:2px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:8px;cursor:pointer;font-family:var(--font-family-sans);font-size:.95rem;font-weight:500;transition:all .2s ease}.toggle-btn:hover{background:#4263941a;transform:translateY(-1px)}.toggle-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #4263944d}.chart-loading,.chart-error{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.chart-error{color:var(--color-error, #d32f2f)}.chart-tooltip strong{color:var(--color-primary)}.boundary-card{background:#42639414;border:1px solid var(--color-primary)}.boundary-notice p{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.boundary-notice strong{color:var(--color-primary)}.charts-transition-layout{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);align-items:flex-start}.charts-column{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xl);min-width:0}.transition-card{padding:var(--spacing-2xl);margin-bottom:0;background:linear-gradient(135deg,#42639408,#42639414);border:2px solid rgba(66,99,148,.2);position:relative;opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out;flex:0 0 30%;max-width:30%;align-self:stretch}.transition-card.visible{opacity:1;transform:translateY(0)}.transition-content{text-align:center;max-width:100%;margin:0}.transition-icon{font-size:2.5rem;color:var(--color-primary);margin-bottom:var(--spacing-md);animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.transition-heading{font-size:var(--font-size-2xl);color:var(--color-primary);margin-bottom:var(--spacing-lg);font-family:var(--font-family-serif)}.transition-text{font-size:var(--font-size-lg);line-height:1.8;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);text-align:left}.transition-text.emphasis{font-size:var(--font-size-xl);font-weight:500;color:var(--color-text-primary);text-align:center;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.highlight-orange{color:#e8743b;font-weight:600;background:#e8743b1a;padding:2px 6px;border-radius:4px;position:relative;animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{background:#e8743b1a;box-shadow:0 0 #e8743b00}50%{background:#e8743b33;box-shadow:0 0 8px #e8743b4d}}.transition-arrow{font-size:2rem;color:var(--color-primary);margin-top:var(--spacing-lg);animation:bounce-slow 3s ease-in-out infinite}@keyframes bounce-slow{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}@media (max-width: 768px){.value-grid{grid-template-columns:1fr}.intro-card,.problem-card,.approach-card,.demo-card,.value-card,.boundary-card,.transition-card{padding:var(--spacing-lg)}.transition-icon{font-size:2rem}.transition-heading{font-size:var(--font-size-xl)}.transition-text{font-size:var(--font-size-md)}.transition-text.emphasis{font-size:var(--font-size-lg)}.transition-arrow{font-size:1.5rem}.charts-transition-layout{flex-direction:column}.transition-card{flex:1;max-width:100%;margin-bottom:var(--spacing-xl)}.charts-column{width:100%}.dashboard-grid{grid-template-columns:1fr}.dashboard-chart-card{padding:var(--spacing-md)}.chart-title{font-size:var(--font-size-md)}}.nivo-dashboard{min-height:100vh;padding-bottom:4rem}.dashboard-content{max-width:1400px;margin:0 auto}.breadcrumb{margin-bottom:2rem}.breadcrumb-link{background:none;border:none;color:var(--text-muted);font-size:.95rem;cursor:pointer;padding:0 0 .5rem;transition:color .3s ease}.breadcrumb-link:hover{color:var(--primary)}.intro-card{margin-bottom:2rem}.lead-text{font-size:1.1rem;line-height:1.6;color:var(--text-secondary)}.filter-badge-container{margin-top:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.filter-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.clear-filter{background:#ffffff4d;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;transition:background .2s ease}.clear-filter:hover{background:#ffffff80}.chart-card{margin-bottom:2rem;padding:2rem}.chart-card h3{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:.5rem}.chart-description{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem;font-style:italic}.chart-container{height:400px;width:100%}.chart-tooltip{background:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid rgba(0,0,0,.1);font-size:.9rem;line-height:1.6}.chart-tooltip strong{color:var(--primary)}.tech-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.note-item h4{font-family:var(--font-serif);color:var(--primary);margin-bottom:.5rem;font-size:1rem}.note-item p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}@media (max-width: 768px){.chart-container{height:300px}.chart-card{padding:1.5rem}.tech-notes{grid-template-columns:1fr}}.fade-in{animation:fadeIn .6s ease-in}.attribute-selector{background:#fff;border-radius:12px;padding:32px;max-width:1000px;margin:0 auto}.attribute-selector h2{margin:0 0 12px;color:#333;font-size:28px}.instructions{color:#666;margin-bottom:32px;line-height:1.6}.attribute-sections{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.attribute-section{border-radius:8px;padding:20px;border:2px solid #e0e0e0}.attribute-section.core{background:linear-gradient(135deg,#e3f2fd,#bbdefb 30%);border-color:#2196f3}.attribute-section.soft{background:linear-gradient(135deg,#fff9c4,#fff59d 30%);border-color:#ffc107}.attribute-section.ignore{background:linear-gradient(135deg,#f5f5f5,#eee 30%);border-color:#9e9e9e}.attribute-section h3{margin:0 0 16px;font-size:18px;color:#333}.attribute-list{display:grid;gap:10px}.attribute-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:#fff;padding:12px 16px;border-radius:6px;transition:box-shadow .2s ease}.attribute-item:hover{box-shadow:0 2px 8px #0000001a}.attr-name{font-size:14px;color:#333;font-weight:500}.attribute-item select{padding:6px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff;cursor:pointer;transition:border-color .2s ease}.attribute-item select:hover{border-color:#4caf50}.weight-input{width:70px;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;text-align:center;font-weight:600;color:#4caf50}.weight-input:focus{outline:none;border-color:#4caf50}.actions{display:flex;justify-content:center;margin-top:32px}.btn-primary{padding:16px 48px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.comparison-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.comparison-header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding:24px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-bottom:2px solid #e0e0e0;align-items:start}.instruction-banner{grid-column:1 / -1;font-style:italic;color:#555;font-size:13px;line-height:1.5;margin-bottom:8px;text-align:left;background:#fff6;padding:10px 15px;border-radius:6px;border:1px solid rgba(255,255,255,.5)}.header-left,.header-right{display:flex;flex-direction:column;transition:background-color .3s ease;padding:12px;margin:-12px;border-radius:8px}.header-left.anchor-changed,.header-right.candidate-changed{animation:anchorHighlight 2s ease-out}@keyframes anchorHighlight{0%{background-color:#ffeb3b99;transform:scale(1.02)}50%{background-color:#ffeb3b66}to{background-color:transparent;transform:scale(1)}}.new-badge{display:inline-block;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;margin-left:8px;text-transform:uppercase;letter-spacing:.5px;animation:badgePulse 2s ease-out;box-shadow:0 2px 4px #4caf504d}@keyframes badgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:8px}.part-info h3{margin:0 0 4px;font-size:18px;color:#333;font-weight:600}.part-info .mpn{font-size:11px;color:#888;background:#ffffffb3;padding:3px 8px;border-radius:4px;display:inline-block;margin-bottom:12px}.commercial-info{display:flex;flex-direction:column;gap:6px;margin-top:8px}.info-item{display:flex;justify-content:space-between;gap:12px;font-size:12px}.info-item .label{color:#666;font-weight:500}.info-item .value{color:#333;font-weight:600}.similarity-indicator{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:10px}.score-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 12px #00000026}.score-circle:before{content:"";position:absolute;width:64px;height:64px;background:#fff;border-radius:50%}.score-circle span{position:relative;z-index:1;font-size:20px;font-weight:700;color:#4caf50}.score-label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.action-buttons-stacked{display:flex;flex-direction:column;gap:8px;margin-top:16px;width:100%;max-width:180px}.btn-stacked{padding:10px 16px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0000001a;width:100%}.btn-stacked:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-stacked.btn-near{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.btn-stacked.btn-near:hover{box-shadow:0 4px 12px #9b59b666}.btn-stacked.btn-similar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-stacked.btn-similar:hover{box-shadow:0 4px 12px #667eea66}.btn-stacked.btn-no{background:linear-gradient(135deg,#a8a8a8,#8c8c8c);color:#fff}.btn-stacked.btn-no:hover{box-shadow:0 4px 12px #8c8c8c66}.rating-hint-badge{position:absolute;left:calc(100% + 15px);top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:8px 14px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #ff6b6b66;animation:pulse-rating 2s ease-in-out infinite;z-index:10}.rating-hint-badge:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #ff6b6b}@keyframes pulse-rating{0%,to{transform:translateY(-50%) scale(1);opacity:1}50%{transform:translateY(-50%) scale(1.05);opacity:.9}}.comparison-table{width:100%;border-collapse:collapse;font-size:10px}.comparison-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.comparison-table th{padding:14px 16px;text-align:left;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.comparison-table th.attribute-name{width:30%}.comparison-table th.reference-value,.comparison-table th.candidate-value{width:28%}.comparison-table th.delta{width:14%;text-align:center}.comparison-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background .2s ease}.comparison-table tbody tr:hover{background:#f9f9f9}.comparison-table td{padding:12px 16px;text-align:center}.comparison-table td.attribute-name{font-weight:500;color:#555;text-align:center}.comparison-table td.delta{text-align:center;font-family:Monaco,Courier New,monospace;font-weight:600;font-size:9px}.comparison-table tbody tr.match{background:linear-gradient(90deg,#e8f5e94d,#e8f5e9cc,#e8f5e94d)}.comparison-table tbody tr.match td.delta{color:#4caf50}.comparison-table tbody tr.similar{background:linear-gradient(90deg,#fff9c44d,#fff9c4cc,#fff9c44d)}.comparison-table tbody tr.similar td.delta{color:#f57f17}.comparison-table tbody tr.different{background:linear-gradient(90deg,#ffebee4d,#ffebeecc,#ffebee4d)}.comparison-table tbody tr.different td.delta{color:#f44336}.comparison-table .core-badge{display:inline-block;background:#2196f3;color:#fff;padding:1px 4px;border-radius:2px;font-size:9px;margin-left:0;font-weight:700;letter-spacing:.3px}.comparison-table tbody tr.mode-ignore{opacity:.6}.button-spacer{height:40px;margin-bottom:8px}.candidate-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.part-info-inline{display:flex;flex-direction:column;min-width:140px}.part-info-inline h3{margin:0 0 4px;font-size:16px;color:#333;font-weight:600}.part-info-inline .mpn{font-size:10px;color:#888;background:#ffffffb3;padding:2px 6px;border-radius:3px;display:inline-block}.action-buttons-inline{display:flex;gap:6px;margin-bottom:8px}.btn-inline{padding:8px 12px;border:none;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.3px;box-shadow:0 2px 4px #0000001a;white-space:nowrap}.btn-inline:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-inline.btn-near{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.btn-inline.btn-near:hover{box-shadow:0 4px 12px #9b59b666}.btn-inline.btn-similar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-inline.btn-similar:hover{box-shadow:0 4px 12px #667eea66}.btn-inline.btn-no{background:linear-gradient(135deg,#a8a8a8,#8c8c8c);color:#fff}.btn-inline.btn-no:hover{box-shadow:0 4px 12px #8c8c8c66}.action-buttons-compact{display:flex;flex-direction:column;gap:8px;margin-top:16px}.btn-compact{padding:10px 16px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0000001a}.btn-compact:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-compact.btn-near{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.btn-compact.btn-near:hover{box-shadow:0 4px 12px #9b59b666}.btn-compact.btn-similar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-compact.btn-similar:hover{box-shadow:0 4px 12px #667eea66}.btn-compact.btn-no{background:linear-gradient(135deg,#a8a8a8,#8c8c8c);color:#fff}.btn-compact.btn-no:hover{box-shadow:0 4px 12px #8c8c8c66}@media (max-width: 1000px){.comparison-header{grid-template-columns:1fr;gap:16px}.similarity-indicator{order:-1}.action-buttons-compact{flex-direction:row;justify-content:center}}.learning-summary-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.learning-summary-panel h3{margin:0 0 20px;font-size:18px;color:#333;font-weight:600}.learning-summary-panel h4{margin:0 0 12px;font-size:14px;color:#666;text-transform:uppercase;letter-spacing:.5px}.stats-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.stat-item{display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px;border-radius:6px;background:#fafafa}.stat-item.near{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.stat-item.similar{background:linear-gradient(135deg,#fff9c4,#fff59d)}.stat-item.no{background:linear-gradient(135deg,#ffebee,#ffcdd2)}.stat-label{font-size:13px;color:#666}.stat-value{font-size:14px;font-weight:700;color:#333}.consistency-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.consistency-bar{width:100%;height:24px;background:#e0e0e0;border-radius:12px;overflow:hidden;margin-bottom:8px}.consistency-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .5s ease}.consistency-value{display:block;text-align:center;font-size:16px;font-weight:700;color:#4caf50}.weight-list{display:flex;flex-direction:column;gap:8px}.weight-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fafafa;border-radius:6px}.weight-name{font-size:13px;color:#666}.weight-value{font-size:14px;font-weight:700;color:#4caf50;background:#e8f5e9;padding:4px 10px;border-radius:4px}.cluster-detail-table{padding:24px;overflow-x:auto}.cluster-detail-table table{width:100%;border-collapse:collapse;font-size:14px}.cluster-detail-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cluster-detail-table th{padding:14px 12px;text-align:left;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.cluster-detail-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background .2s ease}.cluster-detail-table tbody tr:hover{background:#f9f9f9}.cluster-detail-table tbody tr.standard-part{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);font-weight:600}.cluster-detail-table tbody tr.standard-part:hover{background:linear-gradient(135deg,#c8e6c9,#a5d6a7)}.cluster-detail-table td{padding:12px}.badge{display:inline-block;background:#4caf50;color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;margin-left:8px;font-weight:600;text-transform:uppercase}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.active{background:#4caf50;color:#fff}.status-badge.mature{background:#2196f3;color:#fff}.status-badge.declining{background:#ffc107;color:#333}.status-badge.obsolete{background:#f44336;color:#fff}.status-badge.unknown{background:#9e9e9e;color:#fff}.positive-savings{color:#4caf50;font-weight:600}.cluster-detail-table tfoot{background:#f5f5f5;font-weight:700}.cluster-detail-table tfoot td{padding:16px 12px;border-top:2px solid #333}.totals-row{font-size:15px}.cluster-results{max-width:1400px;margin:0 auto}.results-header{margin-bottom:32px}.results-header h2{margin:0 0 24px;font-size:28px;color:#333}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 12px #667eea4d;display:flex;flex-direction:column;gap:8px}.stat-card .stat-value{font-size:36px;font-weight:700;color:#e0e7ff}.stat-card .stat-label{font-size:14px;color:#e0e7ff;text-transform:uppercase;letter-spacing:.5px}.results-controls{margin-bottom:24px;display:flex;justify-content:flex-end}.results-controls label{display:flex;align-items:center;gap:10px;font-size:14px;color:#666}.results-controls select{padding:8px 16px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.cluster-list{display:grid;gap:20px}.cluster-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.cluster-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.cluster-card.selected{border-color:#4caf50}.cluster-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cluster-header h3{margin:0;font-size:20px;color:#333}.part-count{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.cluster-body{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:center}.cluster-graph-wrapper{width:300px;height:300px;background:#f8f9fa;border-radius:6px;overflow:hidden;margin-bottom:0!important}.cluster-info{display:flex;flex-direction:column;gap:12px}.info-row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:10px 14px;background:#fafafa;border-radius:6px}.info-row.savings{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);font-weight:600}.info-label{font-size:13px;color:#666}.info-value{font-size:14px;color:#333}.cluster-footer{display:flex;justify-content:flex-end}.btn-details{padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-details:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.load-more-container{display:flex;justify-content:center;margin-top:32px;padding:20px 0}.btn-load-more{padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-load-more:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.cluster-detail-modal{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:20px;border-radius:12px}.modal-content{background:#fff;border-radius:12px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:100}.modal-header-left{display:flex;align-items:center;gap:32px}.size-control{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.size-control label{font-size:13px;font-weight:600;color:#666;margin:0}.size-control input[type=range]{width:150px;height:6px;border-radius:3px;background:linear-gradient(to right,#667eea,#764ba2);outline:none;-webkit-appearance:none}.size-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #667eea;cursor:pointer;box-shadow:0 2px 4px #0003}.size-control input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #667eea;cursor:pointer;box-shadow:0 2px 4px #0003}.size-value{font-size:13px;font-weight:600;color:#667eea;min-width:40px;text-align:right}.modal-header h2{margin:0;font-size:24px;color:#333}.btn-close{background:none;border:none;font-size:36px;color:#999;cursor:pointer;line-height:1;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.btn-close:hover{background:#f5f5f5;color:#333}.stat-label-with-button{display:flex;align-items:center;gap:10px}.btn-visualize{padding:6px 12px;background:linear-gradient(135deg,#ffffff4d,#fff3);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-visualize:hover{background:linear-gradient(135deg,#fff6,#ffffff4d);border-color:#fff9;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.cluster-of-clusters-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.modal-content-fullscreen{background:#fff;border-radius:12px;width:95vw;height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;overflow:hidden}.modal-body-fullscreen{flex:1;overflow:hidden;padding:20px;background:#f8f9fa}.cluster-of-clusters-graph-container{width:100%;height:100%;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.completion-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completion-modal{background:#fff;border-radius:16px;padding:40px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;text-align:center}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.completion-modal h2{margin:0 0 16px;font-size:28px;color:#333;font-weight:700}.modal-message{font-size:16px;color:#555;line-height:1.6;margin:0 0 12px}.modal-question{font-size:17px;color:#333;font-weight:600;margin:0 0 32px}.modal-actions{display:flex;flex-direction:column;gap:12px}.modal-actions button{padding:16px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:none;letter-spacing:.3px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-secondary{background:#f5f5f5;color:#666;border:2px solid #e0e0e0}.btn-secondary:hover{background:#ebebeb;border-color:#d0d0d0;color:#555}@media (max-width: 600px){.completion-modal{padding:32px 24px}.completion-modal h2{font-size:24px}.modal-message,.modal-question{font-size:15px}}.interview-flow{max-width:1400px;margin:0 auto;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.interview-flow.loading,.interview-flow.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.interview-header{margin-top:0;margin-bottom:40px;border-bottom:2px solid #e0e0e0;padding-bottom:20px}.interview-header h1{margin:0 0 60px;color:#333;font-size:32px}.phase-indicator{display:flex;gap:40px;font-size:14px}.phase-indicator button{position:relative;background:none;border:none;color:#999;padding:0 0 10px;border-bottom:3px solid transparent;transition:all .3s ease;cursor:pointer;font-size:14px;font-family:inherit}.phase-indicator button:not(:disabled):hover{color:#666;border-bottom-color:#ddd}.phase-indicator button.active{color:#4caf50;border-bottom-color:#4caf50;font-weight:600}.phase-indicator button:disabled{cursor:default}.phase-indicator button:disabled:not(.active){cursor:not-allowed;opacity:.5}.config-hint-badge{position:absolute;top:-45px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #ff6b6b66;animation:bounce-hint 2s ease-in-out infinite;z-index:10}.config-hint-badge:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #ee5a6f}@keyframes bounce-hint{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}.interview-phase{display:grid;grid-template-columns:1fr 350px;gap:30px}.interview-main,.interview-sidebar{display:flex;flex-direction:column;gap:20px}.skip-to-results{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.skip-to-results:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media (max-width: 1100px){.interview-phase{grid-template-columns:1fr}.interview-sidebar{order:-1}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.orderable-complexity{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a,#2a1f3a);color:#e8e9ed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:2rem}.oc-header{margin-bottom:2rem}.breadcrumb{margin-bottom:1rem}.breadcrumb-link{background:none;border:none;color:#818cf8;font-size:.95rem;cursor:pointer;transition:color .2s;padding:0}.breadcrumb-link:hover{color:#a5b4fc;text-decoration:underline}.oc-header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.oc-header .subtitle{color:#9ca3af;font-size:1.1rem}.oc-header .subtitle-hint{font-size:.78rem;color:#4b5563;margin-top:.2rem;margin-bottom:0}.oc-header .hint-link{color:#6366f1;text-decoration:none;transition:color .2s}.oc-header .hint-link:hover{color:#818cf8;text-decoration:underline}.oc-main{display:flex;gap:1.5rem;height:calc(100vh - 200px)}.oc-canvas{flex:1;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;display:flex;flex-direction:column}.canvas-toolbar{display:flex;gap:.75rem;padding:1rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.toolbar-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.5rem;color:#fff;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #6366f14d}.toolbar-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f180}.oc-canvas .react-flow{flex:1;background:transparent}.decision-node{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:2px solid rgba(129,140,248,.3);border-radius:.75rem;padding:1rem;min-width:280px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d;transition:all .3s}.decision-node:hover{border-color:#818cf899;box-shadow:0 12px 48px #6366f166}.core-feature-node{background:linear-gradient(135deg,#34d3991a,#10b9811a);border:2px solid rgba(52,211,153,.3);border-radius:.75rem;padding:1rem;min-width:250px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d;transition:all .3s}.core-feature-node:hover{border-color:#34d39999;box-shadow:0 12px 48px #34d39966}.node-header{display:flex;justify-content:space-between;align-items:center}.decision-node-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.node-title-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;padding:.5rem;color:#e8e9ed;font-size:1rem;font-weight:600;transition:all .2s}.node-title-input:focus{outline:none;background:#ffffff14;border-color:#818cf8}.node-delete-btn{background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:.375rem;color:#fca5a5;font-size:1.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;margin-left:.5rem}.node-delete-btn:hover{background:#ef444466;border-color:#ef444499}.node-selection-type{margin-bottom:.75rem}.node-selection-type select{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;padding:.5rem;color:#e8e9ed;font-size:.9rem;cursor:pointer;transition:all .2s}.node-selection-type select:focus{outline:none;background:#ffffff14;border-color:#818cf8}.node-options{margin-top:.75rem}.options-header{font-size:.85rem;color:#9ca3af;margin-bottom:.5rem;font-weight:500}.option-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.option-number{color:#6366f1;font-weight:600;font-size:.85rem;min-width:1.5rem}.option-label-input{flex:1;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.375rem;padding:.4rem .6rem;color:#e8e9ed;font-size:.9rem;transition:all .2s}.option-label-input:focus{outline:none;background:#ffffff0f;border-color:#818cf8}.option-remove-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:.25rem;color:#fca5a5;font-size:1.2rem;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.option-remove-btn:hover{background:#ef44444d}.option-add-btn{width:100%;margin-top:.5rem;padding:.4rem;background:#6366f11a;border:1px dashed rgba(129,140,248,.3);border-radius:.375rem;color:#818cf8;font-size:.85rem;cursor:pointer;transition:all .2s}.option-add-btn:hover{background:#6366f133;border-color:#818cf880}.oc-analysis{width:380px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;box-shadow:0 8px 32px #0000004d}.oc-analysis h2{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem}.analysis-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.analysis-section:last-child{border-bottom:none}.analysis-section h3{font-size:1rem;font-weight:600;color:#c4b5fd;margin-bottom:1rem}.total-count{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#34d399,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;padding:1rem}.breakdown-list{display:flex;flex-direction:column;gap:.5rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;transition:all .2s}.breakdown-item:hover{background:#ffffff0d;border-color:#818cf84d}.breakdown-label{font-weight:500;color:#e8e9ed}.breakdown-count{font-weight:700;color:#34d399;font-size:1.1rem}.deadends-list{display:flex;flex-direction:column;gap:.75rem}.deadend-item{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:.5rem}.deadend-node{font-size:.9rem;color:#fca5a5;margin-bottom:.25rem}.deadend-node strong{color:#fecaca}.deadend-path{font-size:.85rem;color:#9ca3af}.deadends-more{text-align:center;font-size:.9rem;color:#6b7280;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:linear-gradient(135deg,#1e293b,#312e81);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:2rem;max-width:600px;width:90%;box-shadow:0 20px 60px #00000080}.modal-content h2{font-size:1.5rem;font-weight:700;color:#e8e9ed;margin-bottom:1rem}.import-textarea{width:100%;min-height:300px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:1rem;color:#e8e9ed;font-family:Monaco,Courier New,monospace;font-size:.85rem;resize:vertical}.import-textarea:focus{outline:none;border-color:#818cf8}.import-error{margin-top:.75rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:#fca5a5;font-size:.9rem}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-btn{flex:1;padding:.75rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.5rem;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.modal-btn-cancel{background:#ffffff1a}.modal-btn-cancel:hover{background:#ffffff26;box-shadow:0 4px 12px #ffffff1a}.react-flow__node{cursor:grab}.react-flow__node:active{cursor:grabbing}.react-flow__edge-path{stroke:#a5b4fc;stroke-width:3}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge .react-flow__edge-path{stroke:#a5b4fc}.react-flow__edge:hover .react-flow__edge-path{stroke:#c4b5fd;stroke-width:4}.react-flow__arrowhead{fill:#a5b4fc}.react-flow__edge:hover .react-flow__arrowhead{fill:#c4b5fd}.react-flow__edges,.react-flow__edge{z-index:10}@keyframes dashdraw{to{stroke-dashoffset:-10}}.react-flow__controls{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.react-flow__controls button{background:#6366f133;border-bottom:1px solid rgba(255,255,255,.1);color:#e8e9ed;transition:all .2s}.react-flow__controls button:hover{background:#6366f166}.oc-analysis::-webkit-scrollbar{width:8px}.oc-analysis::-webkit-scrollbar-track{background:#ffffff08;border-radius:4px}.oc-analysis::-webkit-scrollbar-thumb{background:#818cf84d;border-radius:4px}.oc-analysis::-webkit-scrollbar-thumb:hover{background:#818cf880}.vin-profitability{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a,#2a1f3a);color:#e8e9ed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:1.5rem}.vpa-header{margin-bottom:1.25rem}.vpa-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.vpa-header .subtitle{color:#9ca3af;font-size:1rem}.vpa-header .subtitle-hint{font-size:.78rem;color:#4b5563;margin-top:.2rem;margin-bottom:0}.vpa-header .hint-link{color:#6366f1;text-decoration:none;transition:color .2s}.vpa-header .hint-link:hover{color:#818cf8;text-decoration:underline}.shortcut-bar{display:flex;align-items:center;gap:.6rem;margin-top:.5rem}.shortcut-pre-text{font-size:.82rem;color:#6b7280;font-weight:500;letter-spacing:.02em}.shortcut-btn{padding:.35rem .85rem;background:linear-gradient(135deg,#fbbf2426,#f59e0b33);border:1px solid rgba(251,191,36,.4);border-radius:2rem;color:#fbbf24;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .25s;font-family:Inter,sans-serif}.shortcut-btn:hover{background:linear-gradient(135deg,#fbbf2440,#f59e0b59);border-color:#fbbf24b3;box-shadow:0 0 12px #fbbf2440;transform:translateY(-1px)}.vpa-main{display:flex;gap:1rem;height:calc(100vh - 140px)}.vpa-tree-panel{width:45%;min-width:400px;display:flex;flex-direction:column;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#00000040;border-bottom:1px solid rgba(255,255,255,.08)}.panel-header h2{font-size:1.15rem;font-weight:600;color:#c4b5fd;margin:0}.panel-actions{display:flex;gap:.5rem}.panel-actions button.btn-disabled,.panel-actions button:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(.5);pointer-events:none}.panel-instructions{padding:.5rem 1rem;background:#6366f10f;border-bottom:1px solid rgba(255,255,255,.05)}.panel-instructions p{font-size:.82rem;color:#9ca3af;margin:0}.tree-canvas{flex:1;position:relative}.tree-canvas .react-flow{background:transparent}.config-count-bar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:#0000004d;border-top:1px solid rgba(255,255,255,.08)}.config-stat{display:flex;flex-direction:column;align-items:center}.config-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.config-value{font-size:1.1rem;font-weight:700;color:#e8e9ed}.config-value.modified{color:#818cf8}.config-value.removed{color:#f87171}.config-arrow{color:#6b7280;font-size:1.2rem}.vpa-chart-panel{flex:1;display:flex;flex-direction:column;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;overflow:hidden}.vin-count-badge{padding:.25rem .75rem;background:#6366f126;border:1px solid rgba(129,140,248,.3);border-radius:2rem;font-size:.8rem;font-weight:500;color:#a5b4fc}.impact-stats-bar{display:flex;gap:0;padding:0;background:#0003;border-bottom:1px solid rgba(255,255,255,.05)}.impact-stat{flex:1;text-align:center;padding:.6rem .5rem;border-right:1px solid rgba(255,255,255,.05);transition:background .3s}.impact-stat:last-child{border-right:none}.impact-stat.has-impact{background:#ef44440f}.stat-value{font-size:1.2rem;font-weight:700;color:#e8e9ed}.stat-value.impacted{color:#f87171}.stat-value.revenue-lift{color:#34d399}.stat-label{font-size:.7rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}.stat-subnote{font-size:.65rem;color:#4b5563;margin-top:.1rem;font-style:italic}.vin-profitability .chart-container{flex:1;padding:.5rem;min-height:300px}.chart-legend-bar{display:flex;gap:1.5rem;padding:.5rem 1rem;background:#0003;border-top:1px solid rgba(255,255,255,.05);justify-content:center}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#9ca3af}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.active{background:linear-gradient(135deg,#6366f1cc,#8b5cf699)}.legend-dot.impacted{background:linear-gradient(135deg,#ef4444e6,#dc2626b3)}.analyze-btn{padding:.4rem .8rem;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:.4rem;color:#fff;font-weight:600;font-size:.82rem;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0596694d}.analyze-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #05966980}.reset-btn{padding:.4rem .8rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:.4rem;color:#9ca3af;font-weight:500;font-size:.82rem;cursor:pointer;transition:all .3s}.reset-btn:hover{background:#ffffff1f;color:#e8e9ed}.vin-profitability .decision-node{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:2px solid rgba(129,140,248,.3);border-radius:.75rem;padding:.75rem;min-width:260px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 24px #0000004d;transition:all .3s}.vin-profitability .decision-node:hover{border-color:#818cf899;box-shadow:0 10px 40px #6366f166}.vin-profitability .core-feature-node{background:linear-gradient(135deg,#34d3991a,#10b9811a);border:2px solid rgba(52,211,153,.3);border-radius:.75rem;padding:.75rem;min-width:230px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 24px #0000004d;transition:all .3s}.vin-profitability .core-feature-node:hover{border-color:#34d39999;box-shadow:0 10px 40px #34d39966}.vin-profitability .node-header,.vin-profitability .decision-node-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.vin-profitability .node-title-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;padding:.35rem .5rem;color:#e8e9ed;font-size:.9rem;font-weight:600;transition:all .2s}.vin-profitability .node-title-input:focus{outline:none;background:#ffffff14;border-color:#818cf8}.vin-profitability .node-delete-btn{background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:.375rem;color:#fca5a5;font-size:1.3rem;width:1.8rem;height:1.8rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;margin-left:.4rem}.vin-profitability .node-delete-btn:hover{background:#ef444466;border-color:#ef444499}.vin-profitability .node-selection-type{margin-bottom:.5rem}.vin-profitability .node-selection-type select{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;padding:.35rem;color:#e8e9ed;font-size:.82rem;cursor:pointer}.vin-profitability .options-header{font-size:.78rem;color:#9ca3af;margin-bottom:.35rem;font-weight:500}.vin-profitability .option-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.vin-profitability .option-number{color:#6366f1;font-weight:600;font-size:.78rem;min-width:1.3rem}.vin-profitability .option-label-input{flex:1;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.375rem;padding:.3rem .5rem;color:#e8e9ed;font-size:.82rem}.vin-profitability .option-label-input:focus{outline:none;background:#ffffff0f;border-color:#818cf8}.vin-profitability .option-remove-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:.25rem;color:#fca5a5;font-size:1.1rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.vin-profitability .option-remove-btn:hover{background:#ef44444d}.vin-profitability .option-add-btn{width:100%;margin-top:.35rem;padding:.3rem;background:#6366f11a;border:1px dashed rgba(129,140,248,.3);border-radius:.375rem;color:#818cf8;font-size:.78rem;cursor:pointer;transition:all .2s}.vin-profitability .option-add-btn:hover{background:#6366f133;border-color:#818cf880}.vin-profitability .node-branching-logic{margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.05)}.vin-profitability .logic-label{font-size:.72rem;color:#6b7280;margin-right:.3rem}.vin-profitability .logic-select{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:.25rem;padding:.2rem .4rem;color:#e8e9ed;font-size:.72rem;cursor:pointer}.vin-profitability .react-flow__controls{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vin-profitability .react-flow__controls button{background:#6366f133;border-bottom:1px solid rgba(255,255,255,.1);color:#e8e9ed;transition:all .2s}.vin-profitability .react-flow__controls button:hover{background:#6366f166}.vin-profitability .react-flow__edge-path{stroke:#a5b4fc;stroke-width:2}.vin-profitability .react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:5;animation:vpa-dashdraw .5s linear infinite}@keyframes vpa-dashdraw{to{stroke-dashoffset:-10}}.vin-profitability .breadcrumb{margin-bottom:.75rem}.vin-profitability .breadcrumb-link{background:none;border:none;color:#818cf8;font-size:.9rem;cursor:pointer;transition:color .2s;padding:0}.vin-profitability .breadcrumb-link:hover{color:#a5b4fc;text-decoration:underline}.vpa-overview{margin-top:2rem;padding:2rem;width:65%;margin-left:auto;margin-right:auto;background:#ffffff05;border:1px solid rgba(255,255,255,.07);border-top:2px solid rgba(129,140,248,.3);border-radius:.75rem}.vpa-overview-heading{font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.25rem}.vpa-overview-lead{font-size:1rem;line-height:1.85;color:#9ca3af;margin:0 0 1rem;max-width:90ch}.vpa-overview-lead:last-child{margin-bottom:0}@media (max-width: 1200px){.vpa-main{flex-direction:column}.vpa-tree-panel{width:100%;min-width:auto;height:50vh}}:root{--color-primary: hsl(210, 45%, 45%);--color-primary-light: hsl(210, 50%, 55%);--color-primary-dark: hsl(210, 50%, 35%);--color-secondary: hsl(215, 40%, 60%);--color-accent: hsl(205, 55%, 50%);--color-bg-light: hsl(40, 20%, 94%);--color-bg-lighter: hsl(40, 25%, 96%);--color-surface: hsl(40, 18%, 91%);--color-surface-dark: hsl(40, 15%, 88%);--color-text-primary: hsl(215, 25%, 25%);--color-text-secondary: hsl(215, 15%, 45%);--color-text-muted: hsl(215, 10%, 60%);--gradient-primary: linear-gradient(135deg, hsl(210, 40%, 50%) 0%, hsl(210, 55%, 60%) 100%);--gradient-accent: linear-gradient(135deg, hsl(205, 45%, 55%) 0%, hsl(210, 50%, 65%) 100%);--gradient-surface: linear-gradient(135deg, var(--color-surface) 0%, var(--color-bg-light) 100%);--gradient-text: linear-gradient(135deg, hsl(210, 50%, 40%) 0%, hsl(210, 60%, 55%) 100%);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 3rem;--font-family-serif: "Merriweather", Georgia, serif;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", 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: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(66, 99, 148, .15);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-serif);font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.section{padding:var(--spacing-3xl) 0}.glass-card{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(66,99,148,.15);border-radius:var(--radius-xl);padding:var(--spacing-lg);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.glass-card:hover{background:#ffffffd9;border-color:#42639440;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-family:var(--font-family-serif)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow);color:#fff}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid rgba(66,99,148,.2)}.btn-secondary:hover{background:var(--color-surface-dark);border-color:#4263944d;color:var(--color-text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.fade-in{animation:fadeIn .6s ease-out}.slide-in{animation:slideIn .6s ease-out}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-gradient{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}@media (max-width: 768px){:root{--font-size-5xl: 2rem;--font-size-4xl: 1.75rem;--font-size-3xl: 1.5rem}.section{padding:var(--spacing-2xl) 0}.container{padding:0 var(--spacing-md)}}
