.hillclimb { --hc-3:#468cdb; --hc-15:#16a99a; --hc-45:#9980df; --hc-145:#dc9d48; --hc-audit:#8b939b; --hc-fail:#d67466; }
.hc-heading { padding:26px 26px 18px; display:flex; justify-content:space-between; align-items:flex-start; gap:22px; }
.research-page .hc-heading h3 { font-size:27px; line-height:1.2; margin:0 0 9px; font-weight:500; }
.hc-heading p { margin:0; font-size:14px; color:var(--text-muted); }
.hc-toolbar { padding:0 26px 18px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.hc-legend { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font:10px/1.4 var(--mono); color:var(--text-muted); }
.hc-legend span { display:flex; align-items:center; gap:5px; }
.hc-legend i { width:7px; height:7px; border-radius:50%; background:var(--cohort); }
.hc-scroll { overflow-x:auto; padding:0 14px; scrollbar-width:thin; }
.hc-plot { display:block; width:100%; min-width:740px; height:auto; overflow:visible; }
.hc-plot text { font-family:var(--mono); fill:var(--text-muted); font-size:10px; }
.hc-plot .hc-grid { stroke:var(--grid); stroke-width:1; }
.hc-plot .hc-axis { font-size:10px; }
.hc-plot .hc-callout { font-family:var(--serif); font-size:18px; fill:var(--text-primary); }
.hc-plot .hc-guide { stroke:var(--border-strong); stroke-dasharray:3 5; }
.hc-plot .hc-point { cursor:pointer; outline:none; }
.hc-plot .hc-point:focus .hc-halo, .hc-plot .hc-point:hover .hc-halo { opacity:.24; }
.hc-plot .hc-halo { opacity:0; }
.hc-plot .hc-selected .hc-halo { opacity:.24; }
.hc-plot .hc-event-label { font-size:9px; fill:var(--hc-fail); }
.hc-selection { margin:4px 26px 20px; padding:18px 20px; background:var(--surface-2); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:7px; }
.research-page .hc-selection h4 { font:500 20px/1.35 var(--serif); margin:9px 0 8px; color:var(--text-primary); }
.hc-selection p { font-size:14px; line-height:1.65; margin:0; }
.hc-selection details { margin-top:12px; font-size:12px; color:var(--text-muted); }
.hc-selection summary { cursor:pointer; }
.hc-selection blockquote { margin:10px 0 0; padding:0; border:0; font:12px/1.65 var(--mono); }
.hc-status { margin:20px 26px; font-size:14px; }
@media(max-width:680px) { .hc-heading { padding:20px 17px 15px; }.research-page .hc-heading h3{font-size:23px}.hc-toolbar{padding:0 17px 15px}.hc-selection{margin:5px 17px 18px;padding:14px}.hc-legend{gap:9px}.hc-scroll{padding:0 7px} }
@media print { .hc-plot{min-width:0}.hc-toolbar,.hc-selection details{display:none}.hc-scroll{overflow:visible} }


.hc-range-label { font:11px/1.5 var(--mono); color:var(--text-muted); }
.hc-plot .hc-early-score { font-size:11px; fill:var(--hc-3); }

.hc-plot .hc-callout-guide { stroke-width:2; stroke-dasharray:7 5; opacity:.85; }

.hc-video-dialog { width:min(640px,calc(100vw - 32px)); max-height:90dvh; padding:16px; border:1px solid var(--border-strong); border-radius:12px; background:var(--surface-1); color:var(--text-primary); box-shadow:0 24px 90px #0006; }
.hc-video-dialog::backdrop { background:rgba(0,0,0,.65); }
.hc-video-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
.hc-video-header h3 { font:500 19px/1.3 var(--serif); margin:0; }
.hc-video-header button { font:12px var(--mono); cursor:pointer; padding:8px 10px; border:1px solid var(--border); border-radius:5px; color:var(--text-primary); background:var(--surface-2); white-space:nowrap; }
.hc-video-dialog video { display:block; width:100%; height:auto; max-height:70dvh; background:#080a0d; border-radius:5px; }

.research-page .hc-heading h3 { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 18px; }
.research-page .hc-heading .hc-final-link { font:13px/1.5 var(--mono); color:var(--accent); white-space:nowrap; }
