:root{font-size:16px}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden}code{background-color:#f5f5f7;border-radius:3px;font-family:Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em;padding:.2em .4em}:focus{outline:2px solid #6c63ff;outline-offset:2px}html{scroll-behavior:smooth}@media (max-width:768px){:root{font-size:14px}}@media (min-width:1400px){:root{font-size:18px}}:root{--primary-dark:#1a1a2e;--primary-purple:#6c63ff;--primary-white:#fff;--secondary-light:#f8f9fa;--secondary-gray:#6c757d;--accent-light-purple:#a5a1ff;--accent-dark-purple:#5046e4;--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--info-color:#2196f3;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 8px #0000001a;--shadow-lg:0 8px 16px #0000001a;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px}.app-container{background-color:#f8f9fa;background-color:var(--secondary-light);color:#1a1a2e;color:var(--primary-dark);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}header{background:linear-gradient(135deg,#1a1a2e,#2d2b55);background:linear-gradient(135deg,var(--primary-dark) 0,#2d2b55 100%);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 4px 8px #0000001a;box-shadow:var(--shadow-md);color:#fff;color:var(--primary-white);margin-bottom:32px;overflow:hidden;padding:28px 24px;position:relative}header:after{background:radial-gradient(circle at top right,#6c63ff33,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}header h1{font-size:2.2rem;font-weight:700;letter-spacing:-.5px;margin-bottom:12px}header h1,header p{color:#fff;color:var(--primary-white)}header p{font-size:1.05rem;margin:0;max-width:800px;opacity:.95}.header-subtitle{font-size:.95rem;font-weight:400;margin-top:8px;opacity:.85}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c00;margin-bottom:20px;padding:15px}.upload-section{background-color:#f7f7f7;border-radius:8px;margin-bottom:20px;padding:20px}.upload-section h2{font-size:1.3rem;margin-bottom:8px;margin-top:0}.upload-section p{color:#666;margin-bottom:15px}.file-input{border:1px solid #ddd;border-radius:4px;display:block;margin-bottom:10px;padding:8px;width:100%}.data-stats{color:#555;font-size:.9rem;font-style:italic}.filters{background-color:#fff;background-color:var(--primary-white);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000000d;box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px}.filter,.filters{align-items:center;display:flex}.filter{gap:10px}.filter label{font-weight:500}.filter label,.filter select{color:#1a1a2e;color:var(--primary-dark);font-size:.9rem}.filter select{-webkit-appearance:none;appearance:none;background-color:#fff;background-color:var(--primary-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c63ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #6c63ff4d;border-radius:4px;border-radius:var(--border-radius-sm);min-width:140px;padding:10px 30px 10px 14px;transition:all .2s ease;transition:all var(--transition-fast)}.filter select:focus,.filter select:hover{border-color:#6c63ff;border-color:var(--primary-purple)}.filter select:focus{box-shadow:0 0 0 3px #6c63ff26;outline:none}.record-count{background-color:#6c63ff14;border-radius:4px;border-radius:var(--border-radius-sm);color:#6c757d;color:var(--secondary-gray);font-size:.9rem;font-weight:500;margin-left:auto;padding:8px 12px}.tabs{border-bottom:1px solid #6c63ff33;display:flex;gap:4px;margin-bottom:24px;padding-bottom:1px}.tabs button{background:#f8f9fa;background:var(--secondary-light);border:none;border-radius:8px 8px 0 0;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;color:#1a1a2e;color:var(--primary-dark);cursor:pointer;font-size:.95rem;font-weight:500;overflow:hidden;padding:12px 20px;position:relative;transition:all .2s ease;transition:all var(--transition-fast)}.tabs button:after{background-color:#6c63ff;background-color:var(--primary-purple);bottom:0;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease;width:100%}.tabs button:hover{background:#6c63ff14;color:#1a1a2e;color:var(--primary-dark)}.tabs button:hover:after{transform:scaleX(.5);transform-origin:bottom left}.tabs button.active{background:#fff;background:var(--primary-white);box-shadow:0 -3px 8px #0000000d;color:#6c63ff;color:var(--primary-purple);font-weight:600}.tabs button.active:after{transform:scaleX(1);transform-origin:bottom left}.charts-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}@media (min-width:768px){.charts-container{grid-template-columns:1fr 1fr}}.chart-card{background:#fff;background:var(--primary-white);border-radius:8px;border-radius:var(--border-radius-md);border-top:4px solid #6c63ff;border-top:4px solid var(--primary-purple);box-shadow:0 4px 8px #0000001a;box-shadow:var(--shadow-md);margin-bottom:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.chart-card:hover{box-shadow:0 8px 16px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.chart-card h2{color:#1a1a2e;color:var(--primary-dark);font-size:1.4rem;font-weight:600;letter-spacing:-.3px;margin-bottom:8px;margin-top:0}.chart-card p{color:#6c757d;color:var(--secondary-gray);font-size:.95rem;line-height:1.5;margin-bottom:18px;margin-top:0}.chart{height:400px;width:100%}.chart-scrollable{overflow-x:auto;width:100%}.no-data{align-items:center;border:1px dashed #ccc;border-radius:4px;color:#888;display:flex;font-style:italic;height:300px;justify-content:center}.data-table-container{border:1px solid #00000014;border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000000d;box-shadow:var(--shadow-sm);margin-top:16px;max-height:500px;overflow-x:auto;overflow-y:auto}.data-table-container,.data-table-container h3{background-color:#fff;background-color:var(--primary-white)}.data-table-container h3{border-bottom:1px solid #00000014;color:#1a1a2e;color:var(--primary-dark);font-size:1.2rem;font-weight:600;margin:0;padding:16px;position:sticky;top:0;z-index:10}.data-table{border-collapse:collapse;font-size:.9rem;width:100%}.data-table th{background:#1a1a2e;background:var(--primary-dark);color:#fff;color:var(--primary-white);font-weight:600;padding:14px 16px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}.data-table th:first-child{border-top-left-radius:4px}.data-table th:last-child{border-top-right-radius:4px}.data-table td{border-bottom:1px solid #0000000d;max-width:250px;overflow:hidden;padding:12px 16px;text-overflow:ellipsis;transition:background-color .2s ease;transition:background-color var(--transition-fast);white-space:nowrap}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:#6c63ff0d}.data-table a{color:#6c63ff;color:var(--primary-purple);font-weight:500;text-decoration:none;transition:color .2s ease;transition:color var(--transition-fast)}.data-table a:hover{color:#5046e4;color:var(--accent-dark-purple);text-decoration:underline}.about-section{background-color:#f8f9fa;background-color:var(--secondary-light);border:1px solid #0000001a;border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000000d;box-shadow:var(--shadow-sm);color:#1a1a2e;color:var(--primary-dark);margin-top:40px;overflow:hidden;padding:24px;position:relative}.about-section:after{content:none}.about-section h2{border-bottom:1px solid #0000001a;font-size:1.4rem;letter-spacing:-.3px;margin-bottom:16px;margin-top:0;padding-bottom:10px}.about-section h2,.about-section h3{color:#6c757d;color:var(--secondary-gray);font-weight:600}.about-section h3{font-size:1.1rem;margin-bottom:10px;margin-top:20px}.about-section p{color:#6c757d;color:var(--secondary-gray);font-size:.95rem;line-height:1.5;margin-bottom:14px;max-width:800px}.about-section ol,.about-section ul{margin-bottom:16px;padding-left:25px}.about-section li{color:#6c757d;color:var(--secondary-gray);font-size:.95rem;line-height:1.4;margin-bottom:8px}.about-insights{background-color:#00000008;border:1px solid #0000000d;border-radius:4px;border-radius:var(--border-radius-sm);box-shadow:none;margin:16px 0;padding:16px}.about-insights .insights-panel{background-color:initial;border-left:3px solid #6c757d;border-left:3px solid var(--secondary-gray);margin:0;padding:0 0 0 14px}.about-insights .insights-panel ul,.source-note{color:#6c757d;color:var(--secondary-gray)}.source-note{font-size:.8rem;font-style:italic;margin-top:20px;text-align:right}.source-note a{border-bottom:1px dotted #6c757d;border-bottom:1px dotted var(--secondary-gray);color:#6c757d;color:var(--secondary-gray);text-decoration:none;transition:all .2s ease;transition:all var(--transition-fast)}.source-note a:hover{border-bottom-color:#6c63ff;border-bottom-color:var(--primary-purple);color:#6c63ff;color:var(--primary-purple)}.loading-container{align-items:center;background-color:#f8f9fa;background-color:var(--secondary-light);display:flex;height:100vh;justify-content:center}.loading-message{background-color:#fff;background-color:var(--primary-white);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 4px 8px #0000001a;box-shadow:var(--shadow-md);max-width:400px;overflow:hidden;padding:32px;position:relative;text-align:center}.loading-message:after{animation:loading-bar 2s infinite;background:linear-gradient(90deg,#0000,#6c63ff,#0000);background:linear-gradient(90deg,#0000,var(--primary-purple),#0000);bottom:0;content:"";height:3px;left:0;position:absolute;width:100%}.loading-message h2{color:#1a1a2e;color:var(--primary-dark);font-size:1.6rem;font-weight:600;margin-bottom:12px}.loading-message p{color:#6c757d;color:var(--secondary-gray);font-size:1rem}@keyframes loading-bar{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.heatmap-container{background-color:#fff;background-color:var(--primary-white);border-radius:4px;border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #0000000d;box-shadow:var(--shadow-sm);margin-top:20px;max-width:100%;overflow-x:auto;padding-bottom:10px}.heatmap-table{border-collapse:initial;border-spacing:2px;font-size:.85rem;width:100%}.heatmap-table th{background-color:#1a1a2e;background-color:var(--primary-dark);color:#fff;color:var(--primary-white);font-weight:600;padding:10px}.heatmap-table td{padding:10px;text-align:center}.occupation-header{box-shadow:2px 0 5px #0000001a;color:#fff;color:var(--primary-white);left:0;padding:12px 16px;position:sticky;text-align:left;z-index:1}.occupation-header,.usecase-header{background-color:#1a1a2e;background-color:var(--primary-dark);font-weight:600}.usecase-header{line-height:1.2;min-height:160px;overflow:visible;padding:16px 8px;transform:rotate(180deg);white-space:normal;width:40px;writing-mode:vertical-rl}.occupation-cell{background:linear-gradient(135deg,#6c63ff,#5046e4);background:linear-gradient(135deg,var(--primary-purple) 0,var(--accent-dark-purple) 100%);box-shadow:2px 0 5px #0000001a;color:#fff;color:var(--primary-white);font-weight:500;left:0;padding:12px 16px;position:sticky;text-align:left}.heatmap-cell{border-radius:4px;font-weight:500;min-width:70px;position:relative;transition:all .3s ease;transition:all var(--transition-normal)}.heatmap-cell:hover{box-shadow:0 0 12px #00000026;transform:scale(1.08);z-index:2}.heatmap-cell:after{background-color:initial;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;transition:background-color .2s}.heatmap-cell:hover:after{background-color:#ffffff1a}.industry-impact-chart{position:relative}.industry-impact-chart .tooltip{box-shadow:0 2px 8px #00000026;font-size:.85rem;line-height:1.5;z-index:10}.industry-impact-chart svg{overflow:visible}.evolution-chart{padding-bottom:20px}.source-comparison{display:flex;flex-direction:column;gap:30px}.comparison-row{display:flex;flex-direction:column;gap:20px}@media (min-width:768px){.comparison-row{flex-direction:row}.usecase-header{font-size:.8rem;min-height:180px;padding:16px 6px;width:36px}}.comparison-column{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1 1;min-width:0;padding:15px}.comparison-title{color:#333;font-size:1.1rem;margin-bottom:15px;margin-top:0;text-align:center}.visualization-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.visualization-filter{gap:8px}.visualization-filter label{font-size:.9rem}.visualization-filter select{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:6px 10px}.insights-panel{background-color:#f8f9fa;background-color:var(--secondary-light);border-left:4px solid #6c63ff;border-left:4px solid var(--primary-purple);border-radius:0 4px 4px 0;margin:20px 0;padding:15px}.insights-panel h3{color:#6c63ff;color:var(--primary-purple);font-size:1.1rem;margin-bottom:10px;margin-top:0}.insights-panel ul{margin:0;padding-left:20px}.insights-panel li{margin-bottom:5px}.interaction-helper{align-items:center;background-color:#6c63ff14;border-left:3px solid #6c63ff;border-left:3px solid var(--primary-purple);border-radius:0 4px 4px 0;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;box-shadow:0 2px 4px #0000000d;box-shadow:var(--shadow-sm);display:flex;margin-bottom:20px;padding:14px 16px}.interaction-icon{align-items:center;animation:pulse 2s infinite;color:#6c63ff;color:var(--primary-purple);display:flex;justify-content:center;margin-right:12px}.interaction-text{color:#1a1a2e;color:var(--primary-dark);font-size:.95rem;line-height:1.5}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.toggle-container{border:1px solid #a5a1ff;border:1px solid var(--accent-light-purple);border-radius:4px;display:flex;margin-left:10px;overflow:hidden}.toggle-button{background-color:#fff;background-color:var(--primary-white);border:none;color:#1a1a2e;color:var(--primary-dark);cursor:pointer;font-size:.9rem;padding:6px 12px;transition:all .2s}.toggle-button:first-child{border-right:1px solid #a5a1ff;border-right:1px solid var(--accent-light-purple)}.toggle-button.active{background-color:#6c63ff;background-color:var(--primary-purple);color:#fff;color:var(--primary-white)}.toggle-button:hover:not(.active){background-color:#a5a1ff;background-color:var(--accent-light-purple);color:#fff;color:var(--primary-white)}.visualization-filter{align-items:center;display:flex;margin-bottom:15px}.visualization-filter label{font-weight:500;margin-right:5px}.white-text{color:#fff}.about-section .white-text{color:#6c63ff;color:var(--primary-purple)}.pagination{align-items:center;background-color:#f8f9fa80;border-top:1px solid #00000014;display:flex;justify-content:space-between;margin-top:20px;padding:16px}.pagination-info{color:#6c757d;color:var(--secondary-gray);font-size:.9rem}.pagination-controls{display:flex;gap:6px}.pagination-button{background-color:#fff;background-color:var(--primary-white);border:1px solid #6c63ff4d;border-radius:4px;border-radius:var(--border-radius-sm);color:#1a1a2e;color:var(--primary-dark);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 14px;transition:all .2s ease;transition:all var(--transition-fast)}.pagination-button:hover:not(:disabled){background-color:#6c63ff14;border-color:#6c63ff;border-color:var(--primary-purple)}.pagination-button.active{background-color:#6c63ff;background-color:var(--primary-purple);border-color:#6c63ff;border-color:var(--primary-purple);color:#fff;color:var(--primary-white)}.pagination-button:disabled{border-color:#0000001a;cursor:not-allowed;opacity:.5}.distribution-row{margin-bottom:30px}.distribution-row .chart-card{width:100%}.recharts-wrapper{transition:filter .3s ease;transition:filter var(--transition-normal)}.recharts-wrapper:hover{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.recharts-tooltip-wrapper{border-radius:4px;border-radius:var(--border-radius-sm);box-shadow:0 4px 8px #0000001a;box-shadow:var(--shadow-md);overflow:hidden;transition:opacity .2s ease;transition:opacity var(--transition-fast)}.recharts-default-tooltip{background-color:#fff!important;background-color:var(--primary-white)!important;border:none!important;border-radius:4px!important;border-radius:var(--border-radius-sm)!important;box-shadow:0 4px 8px #0000001a!important;box-shadow:var(--shadow-md)!important;padding:12px 16px!important}.recharts-tooltip-label{color:#1a1a2e!important;color:var(--primary-dark)!important;font-weight:600!important;margin-bottom:8px!important}.recharts-tooltip-item{padding:4px 0!important}.recharts-tooltip-item-name,.recharts-tooltip-item-value{font-size:.9rem!important}.recharts-cartesian-axis-tick-value{fill:#6c757d;fill:var(--secondary-gray);font-size:.85rem;line-height:1.4}.recharts-yAxis .recharts-cartesian-axis-tick-value{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:break-word}.recharts-yAxis .recharts-cartesian-axis-tick{margin-bottom:4px}.recharts-legend-item-text{color:#1a1a2e!important;color:var(--primary-dark)!important;font-size:.9rem}.recharts-bar-rectangle,.recharts-rectangle{cursor:pointer;transition:opacity .2s,filter .2s}.recharts-bar-rectangle:hover,.recharts-rectangle:hover{filter:brightness(1.1);opacity:.8}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #6c63ff;outline:3px solid var(--primary-purple);outline-offset:2px}.data-table a:focus-visible{outline-color:#6c63ff;outline-color:var(--primary-purple)}.white-text:focus-visible{outline-color:#fff;outline-color:var(--primary-white)}@media (prefers-contrast:more){:focus{outline:3px solid #000!important}}@media (max-width:768px){.app-container{padding:16px}header{padding:20px 16px}header h1{font-size:1.8rem}.chart-card{padding:16px}.filters{gap:12px;padding:12px}.filter select{min-width:120px}.tabs button{font-size:.85rem;padding:10px 14px}.about-section{margin-top:30px;padding:20px 16px}.about-section h2{font-size:1.3rem}.about-section h3{font-size:1rem}.about-section li,.about-section p{font-size:.9rem}.about-insights{padding:14px}}@media (max-width:480px){header h1{font-size:1.6rem}.record-count{margin-top:8px;text-align:center;width:100%}.tabs{flex-wrap:wrap}.tabs button{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:0}}
/*# sourceMappingURL=main.a3abdda2.css.map*/