html[data-visual="rings"] .research-definition .benchmark-comparator { color:#d4dfe5; font-size:18px; line-height:1.65; margin-top:18px; }
.benchmark-comparator strong { color:#eff4f7; font-weight:450; }
html[data-visual="rings"] .proof-dialog { max-width:970px; padding:44px 46px; }
html[data-visual="rings"] .proof-dialog h2 { font-size:38px; margin-top:20px; }
html[data-visual="rings"] .proof-dialog > p { font-size:15px; line-height:1.6; margin-top:16px; }
.leaderboard-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#526c7e; font-size:12px; margin-top:28px; margin-bottom:12px; }
.leaderboard-swipe { display:none; }
.leaderboard-scroll { overflow:auto; max-height:min(410px,47svh); border:1px solid #ccd9e2; border-radius:6px; background:#fff; overscroll-behavior:contain; }
html[data-visual="rings"] .dialog .leaderboard { margin:0; width:100%; min-width:610px; font-size:13px; font-variant-numeric:tabular-nums; border-collapse:separate; border-spacing:0; }
.leaderboard caption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
html[data-visual="rings"] .dialog .leaderboard :is(th,td) { padding:12px 13px; line-height:1.4; white-space:nowrap; border-bottom:1px solid #e0e7ec; }
.leaderboard thead th { position:sticky; top:0; z-index:1; background:#eef3f6; color:#345265; font-weight:500; text-align:left; }
.leaderboard tbody th { text-align:left; font-weight:450; color:#263f50; }
.leaderboard tbody td { color:#506a7c; }
.leaderboard :is(td,th):nth-last-child(-n+3) { text-align:right; }
.leaderboard-casp :is(td,th) { font-weight:600; background:#e4eff6; }
html[data-visual="rings"] .dialog .leaderboard tbody tr:last-child :is(th,td) { border-bottom:0; }
html[data-visual="rings"] .proof-dialog .methodology { font-size:12px; line-height:1.7; margin-top:20px; }
.proof-dialog .text-link { margin-top:18px; }
.proof-sources { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding:23px 0; margin-top:26px; border-block:1px solid #d6e1e8; }
.proof-source + .proof-source { border-left:1px solid #d6e1e8; padding-left:28px; }
.proof-source-label { font-size:10px; letter-spacing:.1em; font-weight:500; color:#536e80; }
.proof-source p { font-size:14px; line-height:1.65; color:#526b7d; margin:10px 0 14px; max-width:340px; }
.proof-source a { display:flex; align-items:center; justify-content:space-between; gap:14px; width:fit-content; font-size:14px; line-height:1.5; color:#284d64; border-bottom:1px solid #a7c0d0; padding-bottom:4px; }
.proof-source a:hover { color:#142e40; border-color:currentColor; }
.proof-source a.proof-secondary-link { margin-top:12px; font-size:12px; border-bottom:0; color:#57768a; }
html[data-visual="rings"] .proof-dialog .proof-founder { font-size:13px; line-height:1.7; color:#526b7d; border-top:1px solid #d6e1e8; padding-top:19px; margin-top:22px; }
.proof-founder strong { font-weight:500; color:#2c495e; }
@media(max-width:540px) {
 html[data-visual="rings"] .research-definition .benchmark-comparator { grid-column:1/-1; font-size:17px; line-height:1.6; margin-top:4px; }
 html[data-visual="rings"] .proof-dialog { padding:30px 20px; }
 html[data-visual="rings"] .proof-dialog h2 { font-size:30px; }
 html[data-visual="rings"] .proof-dialog > p { font-size:13px; }
 .leaderboard-heading { font-size:10px; gap:10px; margin-top:20px; }
 html[data-visual="rings"] .proof-dialog .leaderboard-swipe { display:flex; justify-content:space-between; color:#536c7e; font-size:10px; margin:0 0 10px; }
 .leaderboard-scroll { max-height:45svh; }
 html[data-visual="rings"] .dialog .leaderboard { min-width:560px; font-size:12px; }
 html[data-visual="rings"] .dialog .leaderboard :is(th,td) { padding:11px 10px; }
 html[data-visual="rings"] .proof-dialog .text-link { font-size:12px; }
 .proof-sources { grid-template-columns:1fr; gap:20px; padding:20px 0; }
 .proof-source + .proof-source { border-left:0; border-top:1px solid #d6e1e8; padding:20px 0 0; }
 .proof-source p { max-width:none; }
}
@media(max-width:380px) {
 html[data-visual="rings"] .research-metrics { gap:22px 10px; }
 html[data-visual="rings"] .metric strong { font-size:48px; letter-spacing:-.065em; }
 html[data-visual="rings"] .metric strong > span { font-size:31px; }
 html[data-visual="rings"] .metric:nth-child(3) { padding-left:12px; }
 html[data-visual="rings"] .metric > span { font-size:10px; white-space:normal; }
}

/* Trace the scale and its points before resolving into flat columns. */
.research-leaderboard{width:100%;min-width:0;align-self:center;padding:44px 0 38px}
.research-leaderboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.research-leaderboard-header h3{font-size:18px;line-height:1.4;font-weight:450;letter-spacing:-.025em;color:#e5edf1}
.research-chart-controls{display:flex;flex-shrink:0;gap:2px;border:1px solid #9db6c329;padding:3px;border-radius:4px}
.research-chart-controls button{min-height:32px;padding:0 11px;font-size:11px;background:transparent;color:#a6bac6;border-radius:2px;transition:background .2s,color .2s}
.research-chart-controls button[aria-pressed=true]{background:#bfd5e116;color:#e0eff7;box-shadow:inset 0 0 0 1px #b6d3e03b}
.research-chart-controls button:hover{color:#eff8fc;background:#b7d2e019}
.research-rank-chart{--plot-height:240px;--axis-width:30px;margin:43px 0 0}
.rank-field{position:relative;padding-left:var(--axis-width)}
.rank-axis{position:absolute;inset:0 auto auto 0;height:var(--plot-height);display:flex;flex-direction:column;justify-content:space-between;color:#8fa6b3;font-size:10px;font-variant-numeric:tabular-nums;line-height:0}
.rank-grid{position:absolute;inset:0 0 auto var(--axis-width);height:var(--plot-height);display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.rank-grid i{display:block;border-top:1px solid #91acbb18;width:100%;height:0;transform-origin:left}.rank-grid i:last-child{border-color:#a1bac53d}
.research-rank-series{position:relative;list-style:none;margin:0;padding:0 5px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:start}
.rank-system{display:flex;flex-direction:column-reverse;min-width:0;font-variant-numeric:tabular-nums;text-align:center}
.rank-track{position:relative;height:var(--plot-height);flex-shrink:0}
.rank-trace{position:absolute;bottom:0;left:50%;width:1px;height:var(--trace-height,0%);background:#a5c9dc70;transform:translateX(-50%);pointer-events:none}
.rank-tip{position:absolute;bottom:var(--trace-height,0%);left:50%;width:5px;height:5px;border-radius:50%;background:#c3dbe8;transform:translate(-50%,50%);pointer-events:none}
.rank-system-casp .rank-tip{background:#e2f1f9}
.rank-system-casp .rank-trace{background:#badceb8c}
.research-leaderboard :is(.rank-trace,.rank-tip){opacity:0}
.research-leaderboard[data-chart-state=complete] :is(.rank-trace,.rank-tip),.research-leaderboard[data-chart-state=changing] :is(.rank-trace,.rank-tip){display:none}
.rank-beam{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:55%;max-width:47px;height:var(--score-height);border-radius:2px 2px 0 0;background:#7895a6;border:1px solid #9cb9c94d;border-bottom:0}
.rank-score{position:absolute;bottom:calc(var(--score-height) + 11px);left:50%;transform:translateX(-50%);font-size:14px;line-height:1;color:#c7d9e3;white-space:nowrap}
.rank-label{font-size:13px;line-height:1.5;color:#d6e2e9;margin-top:16px;overflow-wrap:normal}
.rank-name{display:block;font-weight:450}.rank-label small{display:block;font-size:11px;color:#adc3d0;margin-top:6px;line-height:1.4}
.rank-key{display:none}
.rank-system-casp .rank-name{font-size:14px;font-weight:550;color:#f0f8fc}
.rank-system-casp .rank-label small{color:#bcd2df}
.rank-system-casp .rank-beam{border-color:#d2e6f18a;background:#b4d2e3}
.rank-system-casp .rank-score{color:#e8f5fd;font-size:17px;font-weight:450}
.rank-legend{display:none}
.research-chart-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
html[data-visual=rings] .research-leaderboard :is(button,a):focus-visible{outline-color:#c6e0ef}
@media(min-width:1101px){.research-top{grid-template-columns:.78fr 1.22fr;gap:40px}.research-rank-series{gap:8px}}
@media(min-width:801px) and (max-width:1100px){.research-top{grid-template-columns:.8fr 1.2fr;gap:32px}.research-leaderboard-header{align-items:flex-start;flex-direction:column;gap:12px}.research-rank-series{gap:6px;padding:0}.rank-label{font-size:11px}.rank-score{font-size:12px}.rank-system-casp .rank-score{font-size:14px}}
@media(max-width:800px){.research-leaderboard{padding:30px 0 38px}.research-leaderboard-header h3{font-size:20px}}
@media(max-width:540px){
 .research-leaderboard{padding-top:34px}.research-leaderboard-header{align-items:flex-start;flex-direction:column;gap:14px}.research-leaderboard-header h3{font-size:19px}.research-chart-controls button{min-height:36px;font-size:12px;padding:0 15px}
 .research-rank-chart{--plot-height:210px;--axis-width:24px;margin-top:38px}.research-rank-series{gap:6px;padding:0}.rank-beam{width:65%}.rank-score{font-size:11px;bottom:calc(var(--score-height) + 9px)}.rank-system-casp .rank-score{font-size:12px}
 .rank-label{margin-top:12px;font-size:11px}.rank-key{display:block;color:#bed0dc}.rank-system-casp .rank-key{color:#e8f5fd}
 .rank-label .rank-name,.rank-label small{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .rank-legend{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px;list-style:none;margin:24px 0 0;padding:0}.rank-legend li{display:flex;align-items:baseline;gap:9px;font-size:13px;line-height:1.45;color:#d6e2e9}.rank-legend li>span{font-size:11px;color:#aec4d1;flex-shrink:0;font-variant-numeric:tabular-nums}.rank-legend small{display:block;color:#adc3d0;font-size:11px;margin-top:4px}.rank-legend li:first-child{color:#ecf5fb}.rank-legend li:first-child>span{color:#c3dcea}
}
@media(max-width:360px){.research-rank-chart{--plot-height:190px}.research-rank-series{gap:4px}.rank-score{font-size:10px}.rank-system-casp .rank-score{font-size:11px}.rank-legend{gap:14px 12px}.rank-legend li{font-size:12px}}
@media(prefers-reduced-motion:reduce){.research-chart-controls button{transition:none}}
