:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#22c55e;text-decoration:inherit}a:hover{color:#16a34a}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#22c55e}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#16a34a}button{background-color:#f9f9f9}}.project-selector{max-width:1200px;margin:0 auto;padding:2rem}.project-selector h1{text-align:center;font-size:2.5rem;margin-bottom:.5rem;color:#333}.subtitle{text-align:center;font-size:1.1rem;color:#666;margin-bottom:3rem}.loading,.error,.no-projects{text-align:center;padding:3rem;font-size:1.2rem}.error{color:#d32f2f}.error h2{margin-bottom:1rem}.error button{margin-top:1rem;padding:.5rem 1.5rem;font-size:1rem;background-color:#22c55e;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.error button:hover{background-color:#16a34a}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.project-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026;border-color:#22c55e}.project-card h3{margin:0 0 1rem;font-size:1.3rem;color:#333}.project-details{display:flex;flex-wrap:wrap;gap:.5rem}.badge{display:inline-block;padding:.25rem .75rem;background-color:#f5f5f5;border-radius:16px;font-size:.85rem;color:#555}@media(max-width:768px){.project-grid{grid-template-columns:1fr}.project-selector h1{font-size:2rem}}.benchmark-charts{padding:20px;max-width:1400px;margin:0 auto;background:#f8f9fa;min-height:100vh}.header{margin-bottom:30px;border-bottom:2px solid #e0e0e0;padding-bottom:20px}.header h1{margin:10px 0;font-size:28px;color:#333}.subtitle{color:#666;font-size:14px;margin:5px 0}.back-button{background:#f5f5f5;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.back-button:hover{background:#e0e0e0}.category-selector{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 12px #00000014;max-width:1000px;margin:0 auto}.category-selector h2{margin-top:0;margin-bottom:10px;color:#1f2937;font-size:28px;font-weight:700}.category-selector>p{color:#6b7280;font-size:16px;margin-bottom:30px}.category-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:30px 0;padding:25px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.filter-group{display:flex;flex-direction:column}.filter-group label{font-weight:600;margin-bottom:8px;color:#374151;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.filter-group select{padding:12px 14px;border:2px solid #d1d5db;border-radius:6px;font-size:15px;background:#fff;cursor:pointer;transition:all .2s ease}.filter-group select:hover{border-color:#9ca3af}.filter-group select:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.action-buttons{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}.primary-button{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:14px 28px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #22c55e33}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 8px #22c55e4d;transform:translateY(-1px)}.primary-button:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none}.secondary-button{background:#f5f5f5;color:#1f2937;border:1px solid #d1d5db;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:all .2s}.secondary-button:hover{background:#e5e7eb;border-color:#16a34a}.favorite-button{display:flex;align-items:center;gap:6px;font-size:15px;transition:all .2s ease}.favorite-button:hover:not(:disabled){background:#fef3c7;border-color:#f59e0b;color:#d97706}.favorite-button.favorited{background:#fef3c7;border-color:#f59e0b;color:#d97706;font-weight:600}.favorite-button:disabled{opacity:.5;cursor:not-allowed}.suggested-filters{margin-top:40px;padding-top:30px;border-top:2px solid #e5e7eb}.filter-suggestion-section{margin-bottom:30px}.filter-suggestion-section:last-child{margin-bottom:0}.filter-suggestion-section h3{color:#374151;font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.filter-suggestion-section h3:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:2px}.filter-tags{display:flex;gap:10px;flex-wrap:wrap}.filter-tag-wrapper{display:flex;align-items:stretch;background:#fff;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s ease}.filter-tag-wrapper:hover{border-color:#22c55e;box-shadow:0 2px 8px #22c55e26}.filter-tag-button{padding:10px 16px;background:#fff;cursor:pointer;font-size:14px;color:#374151;font-weight:500;transition:all .2s ease;text-align:left;border:2px solid #e5e7eb;border-radius:8px}.filter-tag-button:hover{background:#f0fdf4;color:#16a34a;border-color:#22c55e;box-shadow:0 2px 8px #22c55e26;transform:translateY(-1px)}.filter-tag-wrapper .filter-tag-button{border:none;border-radius:0;box-shadow:none;transform:none}.filter-tag-wrapper .filter-tag-button:hover{background:#f0fdf4;color:#16a34a;box-shadow:none;transform:none}.remove-favorite-button{padding:0 12px;background:#fff;border:none;border-left:1px solid #e5e7eb;cursor:pointer;font-size:20px;color:#9ca3af;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-favorite-button:hover{background:#fee2e2;color:#dc2626}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.error{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:4px;margin:20px 0}.no-data{text-align:center;padding:60px 20px;background:#f9f9f9;border-radius:8px;margin:20px 0}.charts-container{margin-top:20px}.filter-summary{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.filter-summary h2{margin:0;font-size:20px;color:#1f2937;font-weight:700}.filter-summary .filter-tags{display:flex;gap:10px;flex-wrap:wrap;flex:1}.filter-summary .filter-tag{background:#f0fdf4;border:1px solid #86efac;padding:8px 14px;border-radius:6px;font-size:13px;color:#166534}.filter-summary .filter-tag strong{color:#15803d;font-weight:700}.category-legend{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.category-legend h3{margin-top:0;margin-bottom:15px;color:#333;font-size:18px}.legend-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.legend-item{display:flex;align-items:center;gap:10px;padding:8px;background:#f9f9f9;border-radius:4px;font-size:13px}.legend-color{width:20px;height:20px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.legend-label{color:#333;line-height:1.3;font-size:12px}.legend-label .category-part{display:inline-block;margin-right:8px}.legend-label .category-name{font-weight:600;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.legend-label .category-value{color:#333;font-weight:500}.legend-label .category-separator{color:#999;margin:0 6px}.chart-section{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.chart-section h2{margin-top:0;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:10px}.summary-section{margin-bottom:30px}.summary-section h3{color:#555;font-size:16px;margin-bottom:15px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.stat-card{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a}.stat-card-header{padding:12px;color:#fff;font-weight:600}.stat-card-header h4{margin:0;font-size:12px;line-height:1.3;font-weight:500}.stat-card-body{padding:15px;background:#fff}.stat-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f0f0f0}.stat-row:last-child{border-bottom:none}.stat-label{color:#666;font-size:13px}.stat-value{font-weight:600;color:#333;font-size:13px}.chart-wrapper{margin-top:20px;background:#fafafa;padding:20px;border-radius:6px}@media(max-width:768px){.category-selector{padding:25px 20px}.category-selector h2{font-size:24px}.category-filters{grid-template-columns:1fr;padding:20px}.action-buttons{flex-direction:column}.primary-button,.secondary-button{width:100%;justify-content:center}.filter-tags{justify-content:stretch}.filter-tag-button,.filter-tag-wrapper{flex:1;min-width:100%}.stats-grid{grid-template-columns:1fr}.filter-summary{flex-direction:column;align-items:flex-start}}#root{max-width:100%;margin:0 auto;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #22c55eaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.benchmark-view{max-width:1200px;margin:0 auto;padding:2rem;text-align:left}.back-button{padding:.75rem 1.5rem;font-size:1rem;background-color:#22c55e;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;margin-bottom:2rem}.back-button:hover{background-color:#16a34a}.benchmark-view h1{text-align:center;font-size:2.5rem;margin-bottom:1rem}.benchmark-view h2{text-align:center;font-size:2rem;color:#22c55e;margin-bottom:2rem}.project-info{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.project-info h3{color:#333;margin-top:1.5rem;margin-bottom:1rem}.project-info h3:first-child{margin-top:0}.project-info ul{list-style-type:disc;padding-left:2rem}.project-info li{margin-bottom:.5rem;color:#555}
