.benchmark-shell{height:100%;min-height:0;display:flex;flex-direction:column;padding:12px;box-sizing:border-box;gap:12px}
.benchmark-head{position:relative;display:flex;align-items:center;gap:12px;min-height:52px;padding:7px 16px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.benchmark-head h2{font-size:19px;margin:0 0 2px;color:#f2f8fc}.benchmark-head p{margin:0;color:#c2d2dc}
.benchmark-controls{display:flex;align-items:center;gap:14px;padding:5px 12px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.benchmark-tool-actions{display:flex;align-items:center;gap:7px;min-width:0;margin-left:auto}.benchmark-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;box-sizing:border-box;padding:6px 12px;border:1px solid #426077;border-radius:8px;background:#1b3043;color:#edf8fc;font:inherit;font-size:14px;text-decoration:none;white-space:nowrap;cursor:pointer}.benchmark-action:hover,.benchmark-action:focus-visible{background:#29495f;border-color:var(--cyan);color:#fff}.benchmark-action:disabled{opacity:.6;cursor:wait}.benchmark-playlist{color:#b7f2ff;background:#1c4054;border-color:#3e889d;margin-right:7px}
.benchmark-difficulties{display:flex;flex:none;align-items:center;gap:3px;padding:3px;border:1px solid #354453;border-radius:7px;background:#0d1826}
.benchmark-difficulties button{min-width:78px;padding:7px 13px;border:1px solid transparent;border-radius:6px;background:transparent;color:#e0edf5;font:inherit;font-size:14px;cursor:pointer}
.benchmark-difficulties button:hover,.benchmark-difficulties button:focus-visible{background:#22384d;color:#fff}
.benchmark-difficulties button.active{position:relative;background:#20364c;border-color:#3b6178;color:#fff;font-weight:700}
.benchmark-difficulties button.active::before{content:'';position:absolute;left:4px;top:5px;bottom:5px;width:3px;border-radius:3px;background:var(--cyan)}
.benchmark-tools{display:flex;flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;padding-left:14px;border-left:1px solid #354453}
.benchmark-tools select{min-height:34px;min-width:160px;background:#111d2b;color:#edf8fc;border:1px solid #4a6272;border-radius:7px;padding:5px 10px;font-size:14px}
.benchmark-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3b859d #101926;touch-action:pan-x pan-y;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.benchmark-scroll::-webkit-scrollbar{width:9px;height:9px}.benchmark-scroll::-webkit-scrollbar-thumb{background:#3b859d;border:2px solid #101926;border-radius:10px}.benchmark-scroll::-webkit-scrollbar-track{background:#101926}
.benchmark-table{width:100%;min-width:calc(660px + var(--benchmark-rank-count,9)*96px);table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.2;background:var(--panel)}
.benchmark-table .category-col{width:34px}.benchmark-table .subcategory-col{width:34px}.benchmark-table .scenario-col{width:auto}.benchmark-table .score-col{width:88px}.benchmark-table .runs-col{width:54px}.benchmark-table .progress-col{width:calc(118px + var(--benchmark-rank-count,9)*96px)}
.benchmark-table th{position:sticky;top:0;z-index:4;background:#1a2531;color:#eef6fb;text-transform:uppercase;padding:8px 3px;text-align:center;vertical-align:top;border-bottom:2px solid #527083}
.benchmark-table th:first-child{text-align:left;padding-left:77px}
.benchmark-table th.score-heading{text-align:center}
.benchmark-table td{padding:2px 2px;border-bottom:1px solid #354656;text-align:center;white-space:nowrap;height:26px}
.benchmark-table tr.group-start td{box-shadow:inset 0 2px #547083}.benchmark-table tr.sub-start td{box-shadow:inset 0 1px #40515f}
.benchmark-table .benchmark-category,.benchmark-table .benchmark-subcategory{position:relative;padding:0;vertical-align:middle;background:#2d3e4d;color:#f0faff;border-right:1px solid #0f1b27;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.benchmark-table .benchmark-category{width:34px;min-width:34px;background:#224356}.benchmark-table .benchmark-subcategory{width:30px;min-width:30px}
.benchmark-table .vertical-label{position:absolute;top:50%;left:50%;max-height:calc(100% - 6px);box-sizing:border-box;writing-mode:vertical-rl;transform:translate(-50%,-50%) rotate(180deg);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;letter-spacing:0}
.benchmark-table .scenario-name{background:#172338;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 9px;color:var(--text)}.benchmark-table .scenario-name span{display:inline-block;vertical-align:middle;max-width:calc(100% - 25px);overflow:hidden;text-overflow:ellipsis}.benchmark-scenario-link{float:right;min-width:22px;height:20px;margin:-1px 0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--cyan);font-size:16px;cursor:pointer}.benchmark-scenario-link:hover{background:#36576b;color:#fff}
.benchmark-table .score{background:#151f2a;font-weight:650;color:#e1eef5;text-align:center}.benchmark-table .score strong{font-size:13px}
.benchmark-table .benchmark-runs{background:#151f2a;color:#e1eef5;font-size:13px}
.benchmark-table .progress-heading{position:sticky;text-align:center;padding:8px 108px 8px 10px}.benchmark-table .progress-ranks{display:grid;grid-template-columns:repeat(var(--benchmark-rank-count,9),minmax(0,1fr));align-items:center}.benchmark-table .progress-ranks span{text-align:center;white-space:nowrap;padding:0 4px;overflow:hidden;text-overflow:ellipsis}.benchmark-table .rank-heading{position:absolute;right:10px;top:8px;width:88px;text-align:center}.benchmark-table .progress-ranks,.benchmark-table .rank-heading{font-size:12px;text-transform:uppercase}
.benchmark-table .progress-cell{padding:2px 10px;background:#151b23}.benchmark-table .progress-layout{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px;align-items:center}.benchmark-table .progress-track{position:relative;height:16px;overflow:hidden;border:1px solid #31506b;border-radius:4px;background:#0b1727}.benchmark-table .progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#287d96,var(--cyan));box-shadow:0 0 12px #60d7ed99,inset 0 0 7px #b9f5ff77}.benchmark-table .progress-rank{text-align:center;font-size:12px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}
.benchmark-table tr.played .score,.benchmark-table tr.played .progress-cell,.benchmark-table tr.played .benchmark-runs{background:#1b3040}.benchmark-table tr.played .score strong{color:#95e5f7}
.benchmark-table tr:hover .scenario-name,.benchmark-table tr:hover .score,.benchmark-table tr:hover .benchmark-runs,.benchmark-table tr:hover .progress-cell{background:#274052}

@media(max-width:1100px){.benchmark-controls{flex-wrap:wrap;gap:7px;padding:6px 10px}.benchmark-tool-actions{margin-left:auto}.benchmark-tools{width:100%;border-left:0;border-top:1px solid #354453;padding:6px 0 0}}
@media(max-width:750px){.benchmark-shell{padding:5px;gap:5px}.benchmark-head{padding:8px 12px}.benchmark-difficulties{overflow-x:auto}.benchmark-difficulties button{min-width:68px;padding:7px 9px}.benchmark-tools select{min-width:110px}}
