:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:#fffffff2;padding:1.5rem 2rem;box-shadow:0 2px 10px #0000001a}.header-content{align-items:center;gap:1.5rem;max-width:1800px;margin:0 auto;display:flex}.logo{border-radius:12px;width:60px;height:60px;box-shadow:0 2px 8px #0000001a}.header h1{color:#1a1a2e;margin-bottom:.5rem;font-size:2rem;font-weight:700}.subtitle{color:#666;font-size:1rem}.main-content{flex:1;grid-template-columns:1fr 350px;gap:2rem;width:100%;max-width:1800px;margin:0 auto;padding:2rem;display:grid}.chart-container{background:#fffffff2;border-radius:16px;max-height:calc(100vh - 200px);padding:2rem;overflow:auto;box-shadow:0 4px 20px #0000001a}.chart-container #mermaid-chart{justify-content:center;align-items:center;min-height:400px;display:flex}#mermaid-chart .node{transition:transform .2s,filter .2s}#mermaid-chart .node:hover{filter:brightness(1.1);transform:scale(1.05)}#mermaid-chart .node rect,#mermaid-chart .node circle,#mermaid-chart .node polygon{transition:stroke-width .2s}#mermaid-chart .node:hover rect,#mermaid-chart .node:hover circle,#mermaid-chart .node:hover polygon{stroke-width:3px!important}#mermaid-chart .edgePath{stroke-opacity:.6}#mermaid-chart .edgePath:hover{stroke-opacity:1;stroke-width:2px}.info-panel{background:#fffffff2;border-radius:16px;max-height:calc(100vh - 200px);padding:2rem;overflow-y:auto;box-shadow:0 4px 20px #0000001a}.info-card{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.info-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.category-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.close-btn{cursor:pointer;color:#666;background:#f5f5f5;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;transition:all .2s;display:flex}.close-btn:hover{background:#e0e0e0;transform:rotate(90deg)}.info-title{color:#1a1a2e;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.info-description{color:#444;font-size:1rem;line-height:1.6}.info-placeholder{text-align:center;padding:2rem}.placeholder-icon{margin-bottom:1rem;font-size:4rem}.info-placeholder h3{color:#1a1a2e;margin-bottom:.5rem;font-size:1.5rem}.info-placeholder p{color:#666;margin-bottom:2rem}.legend{text-align:left;background:#f8f9fa;border-radius:12px;padding:1.5rem}.legend h4{color:#1a1a2e;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.legend-item{align-items:center;margin-bottom:.75rem;display:flex}.legend-color{border-radius:4px;flex-shrink:0;width:16px;height:16px;margin-right:.75rem}.legend-item span:last-child{color:#444;font-size:.95rem}.footer{background:#fffffff2;padding:1.5rem 2rem;box-shadow:0 -2px 10px #0000001a}.stats{justify-content:center;gap:3rem;max-width:1200px;margin:0 auto;display:flex}.stat-item{text-align:center}.stat-value{color:#667eea;margin-bottom:.25rem;font-size:2rem;font-weight:700;display:block}.stat-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}@media (width<=1200px){.main-content{grid-template-columns:1fr}.info-panel{max-height:none}.chart-container{max-height:600px}}@media (width<=768px){.header h1{font-size:1.5rem}.main-content{gap:1rem;padding:1rem}.chart-container,.info-panel{padding:1rem}.stats{gap:1.5rem}.stat-value{font-size:1.5rem}}
