:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243341;background:#f5f7fa;font-size:15px}*{box-sizing:border-box}body{margin:0}main{max-width:1580px;margin:auto;padding:30px}h1{font-size:28px;margin:0 0 6px;letter-spacing:-.6px}h2{font-size:19px;margin:0 0 10px}p{line-height:1.5;margin:6px 0;color:#627181}header{display:flex;justify-content:space-between;gap:24px;align-items:center}.actions,.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}label{display:flex;align-items:center;gap:8px}button,input,summary{font:inherit}button{background:white;border:1px solid #ccd4de;border-radius:7px;padding:9px 13px;cursor:pointer;color:#243341}button:hover{background:#eaf0f7}button:disabled{opacity:.5;cursor:wait}#refresh{background:#243f62;color:white;border-color:#243f62}input{border:1px solid #ccd4de;border-radius:6px;padding:8px;background:white;color:#243341}input[type=number]{width:76px}input[type=checkbox]{accent-color:#243f62}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #8aaede;outline-offset:2px}#status{min-height:30px;margin:18px 0;color:#496479}#status.error{color:#a83d2f}.controls{border-top:1px solid #dde3eb;padding:18px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:8px 0 24px}.metrics div{padding:18px;background:white;border:1px solid #e0e5ec;border-radius:9px}.metrics span{display:block;font-size:13px;color:#627181}.metrics strong{display:block;font-size:26px;margin-top:6px;font-weight:650}.chart-card{position:relative;background:white;border:1px solid #e0e5ec;border-radius:10px;padding:22px;margin-bottom:28px}.key{font-size:13px}#chart-wrap{width:100%;overflow:auto}#chart{display:block;min-width:820px;width:100%;height:440px}#tooltip{position:absolute;pointer-events:none;z-index:5;background:#fff;border:1px solid #aab9c9;border-radius:8px;padding:12px;box-shadow:0 3px 12px #0002;font-size:13px;max-width:340px;white-space:pre-line}#model-filter{position:relative;margin-left:auto}summary{cursor:pointer;padding:9px;border-radius:6px}#model-filter[open]{background:white;border:1px solid #d8dfe8;border-radius:8px;padding:8px;width:100%}#models{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;padding:14px 5px;max-height:230px;overflow:auto}#search{width:min(100%,420px);margin:8px 0}#models label{font-size:13px;overflow-wrap:anywhere}.swatch{height:10px;width:10px;display:inline-block;flex-shrink:0;border-radius:2px}#leaders{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin:18px 0 26px}.leader{background:white;border:1px solid #e0e5ec;border-top:3px solid;border-radius:7px;padding:14px}.leader span{display:block;color:#627181;font-size:13px}.leader strong{display:block;margin:7px 0;font-size:15px;overflow-wrap:anywhere}.leader b{display:block;font-size:18px;font-weight:600;margin:7px 0}.source{background:white;border:1px solid #e0e5ec;border-radius:8px;padding:10px;margin-top:15px}.source li{margin:9px 0;line-height:1.5;color:#627181}.source p,.source #sources{padding:10px}footer{font-size:12px;color:#6b7785;line-height:1.6;margin:22px 0}#empty{padding:60px;text-align:center}svg text{font-family:inherit}svg rect:focus{outline:2px solid #162e51}@media(max-width:760px){main{padding:16px}header{display:block}header .actions{margin-top:16px}.metrics{grid-template-columns:repeat(2,1fr);gap:8px}.metrics div{padding:12px}.metrics strong{font-size:21px}.chart-card{padding:12px}.controls{align-items:flex-start}#model-filter{margin-left:0}#leaders{grid-template-columns:repeat(2,minmax(0,1fr))}#chart{min-width:760px}footer{font-size:12px}}
.session-scroll{overflow:auto;margin:16px 0;max-height:560px;border:1px solid #e0e5ec;border-radius:7px}#session-table{border-collapse:collapse;width:100%;font-size:13px;min-width:1160px}#session-table th,#session-table td{padding:11px 12px;border-bottom:1px solid #e0e5ec;text-align:right;vertical-align:top}#session-table th{position:sticky;top:0;background:#f3f6fa;white-space:nowrap;z-index:1}#session-table td:nth-child(-n+4),#session-table th:nth-child(-n+4){text-align:left}#session-table td:first-child{font-family:inherit;min-width:220px;max-width:320px;overflow-wrap:anywhere}#session-table td:nth-child(2){min-width:180px}#session-table td:nth-child(3),#session-table td:nth-child(4){min-width:140px;max-width:240px;overflow-wrap:anywhere}#session-coverage{margin:14px 0;font-size:13px}select{font:inherit;border:1px solid #ccd4de;border-radius:6px;padding:8px;background:#fff;color:#243341;max-width:100%}select:focus-visible,.session-scroll:focus-visible{outline:3px solid #8aaede;outline-offset:2px}
#session-table td:first-child{font-family:inherit!important;min-width:220px;max-width:320px;overflow-wrap:anywhere}
#session-matrix{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;max-height:540px;border:1px solid #dce3eb;margin-top:12px;background:#f2f4f7}
.matrix-grid{display:grid;grid-template-columns:280px 1fr;align-items:center}
.matrix-label{position:sticky;left:0;z-index:1;box-sizing:border-box;height:28px;padding:5px 10px;background:#fff;border-bottom:1px solid #eef1f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.matrix-header{position:sticky;top:0;z-index:2;background:#fff}
.matrix-corner{top:0;z-index:3;height:40px;padding-top:12px;font-weight:600}
.matrix-row{display:block;border-bottom:1px solid #e3e8ef;box-sizing:border-box}
.matrix-row rect:focus{outline:none;stroke:#111;stroke-width:2px}
#matrix-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}
.matrix-colorbar{display:inline-block;width:180px;height:14px;border:1px solid #ccd4de}
#matrix-detail{min-height:36px;font-size:13px;overflow-wrap:anywhere}
.speed-heatmap{overflow:auto;padding:8px 0;margin:12px 0}.speed-heatmap svg{display:block}.speed-heatmap rect:focus{outline:none;stroke:#182e4a;stroke-width:2px}#speed-panel h3{font-size:15px;margin:22px 0 10px}#speed-panel .actions h3{margin-right:auto}#speed-panel .session-summary{margin-bottom:24px}#speed-panel p,#speed-legend{font-size:13px}#speed-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#speed-hover{white-space:pre-line;min-height:72px}#speed-panel .detail-table{min-width:1050px}#speed-panel .detail-table th:nth-child(2),#speed-panel .detail-table td:nth-child(2){text-align:right}#speed-panel .session-scroll{max-height:400px}#speed-panel details{border-top:1px solid #e0e5ec}
.language-switch{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 16px;font-size:13px}
#session-matrix:focus-visible{outline:3px solid #8aaede;outline-offset:2px}
.session-open,.matrix-open{appearance:none;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-open{text-decoration:underline;text-decoration-color:#b9c6d4;text-underline-offset:3px}.session-open:hover,.matrix-open:hover{color:#164f86}.matrix-open{height:28px;padding:5px 10px;width:100%}.matrix-label:has(.matrix-open){padding:0}.session-detail{margin-top:24px;padding:20px;border:1px solid #c8d5e3;border-radius:8px;background:#f8fbfe}.session-detail-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.session-detail h3{margin:0;font-size:17px}.session-detail h4{font-size:14px;margin:22px 0 8px}.session-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.session-summary div{background:#fff;border:1px solid #e0e5ec;border-radius:7px;padding:10px}.session-summary span{display:block;color:#627181;font-size:12px}.session-summary strong{display:block;margin-top:4px;font-size:16px;overflow-wrap:anywhere}.detail-table{border-collapse:collapse;width:100%;font-size:13px;min-width:900px}.detail-table th,.detail-table td{padding:10px 12px;border-bottom:1px solid #e0e5ec;text-align:right}.detail-table th{position:sticky;top:0;background:#f3f6fa;z-index:1;white-space:nowrap}.detail-table td:first-child,.detail-table th:first-child,.detail-table td:nth-child(2),.detail-table th:nth-child(2){text-align:left}.detail-table td:nth-child(2){max-width:280px;overflow-wrap:anywhere}@media(max-width:760px){.session-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.session-detail{padding:12px}.session-detail-heading{display:block}.session-detail-close{margin-top:10px}}
:root { --project-bar-color: #5579a4; }
.project-rank { display:flex; position:relative; align-items:center; justify-content:space-between; gap:16px; width:100%; margin:6px 0; padding:10px 12px 15px; text-align:left; }
.project-rank>span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-rank strong { white-space:nowrap; }
.project-bar { position:absolute; left:0; bottom:0; height:4px; background:var(--project-bar-color); border-radius:2px; max-width:100%; }
.usage-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.usage-heading h2 { margin-bottom:0; }
.usage-heading button { white-space:nowrap; }
#snapshot-status { font-size:13px; margin:10px 0; }
#snapshot-status.error { color:#a83d2f; }
.table-sort { appearance:none; border:0; border-radius:3px; background:transparent; color:inherit; font:inherit; font-weight:inherit; padding:0; width:100%; text-align:inherit; white-space:nowrap; }
.table-sort::after { content:'↕'; display:inline-block; margin-left:6px; opacity:.35; }
th[aria-sort="ascending"] .table-sort::after { content:'↑'; opacity:1; }
th[aria-sort="descending"] .table-sort::after { content:'↓'; opacity:1; }
.table-sort:hover { background:transparent; color:#164f86; }
