/* The data page (/research/): the landing's look (landing.css, algocademy.css) with stat tiles and bar charts drawn
   in plain HTML, so every number reads without JavaScript. index.html and data/ are written by
   /var/lib/algocademy-datapage/build.py; this file is hand-written.
   Chart colours (checked for colour-blind readers on white): --rs-1/--rs-2 one blue ramp for "first try / later
   try", --rs-k1..3 for the three kinds of failure. Text never takes a chart colour. */
.academy-page{--rs-1:#076b95;--rs-2:#7fb6cf;--rs-0:#e3e8e1;--rs-k1:#076b95;--rs-k2:#eb6834;--rs-k3:#6250d6}
.academy-page .rs-hero{display:block;text-align:center;padding-block:56px 36px}
.academy-page .rs-hero h1{font-size:clamp(34px,4.7vw,60px);letter-spacing:-2.2px;line-height:1.1;margin:24px auto 20px;max-width:880px}
.rs-hero .hero-description{max-width:640px;margin-inline:auto}

.rs-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:920px;margin:34px auto 0;text-align:left}
.rs-tiles div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column}
.rs-tiles dt{font-size:13px;color:var(--muted);line-height:1.4;margin-bottom:8px}
.rs-tiles dd{margin:auto 0 0;font-size:34px;font-weight:650;letter-spacing:-1.2px;line-height:1.1}
.rs-tiles dd.rs-sub{margin-top:6px;font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);line-height:1.4}
.rs-tiles-two{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.rs-tiles-two dd{font-size:48px;letter-spacing:-2px}

.rs-section{max-width:920px;padding-block:44px 8px}
.academy-page .rs-section h2{font-size:clamp(25px,3vw,34px);letter-spacing:-1.1px;line-height:1.18;margin:0 0 10px}
.rs-lead{font-size:17px;line-height:1.6;color:var(--muted);margin:0 0 22px;max-width:720px}
.rs-lead a,.rs-note a,.rs-name a{color:inherit;text-decoration:underline;text-decoration-color:#b9c6bb;text-underline-offset:3px}
.rs-name a:hover,.rs-lead a:hover{text-decoration-color:var(--ink)}

.rs-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px 20px}
.rs-card figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:16px}
.rs-card figcaption strong{font-size:15px;font-weight:650}
.rs-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted)}
.rs-legend span{display:inline-flex;align-items:center;gap:7px}
.rs-legend i{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.rs-legend .s0{box-shadow:inset 0 0 0 1px #c9d1c8}
.s0{background:var(--rs-0)}.s1{background:var(--rs-1)}.s2{background:var(--rs-2)}
.k1{background:var(--rs-k1)}.k2{background:var(--rs-k2)}.k3{background:var(--rs-k3)}

.rs-rows{list-style:none;margin:0;padding:0}
.rs-head,.rs-row{display:grid;grid-template-columns:minmax(0,270px) 52px minmax(0,1fr) 62px;align-items:center;column-gap:14px}
.rs-head{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-weight:650;padding-bottom:8px;border-bottom:1px solid var(--line)}
.rs-head span:nth-child(2),.rs-head span:nth-child(4){text-align:right}
.rs-row{padding:9px 0;border-bottom:1px solid #eef1ec;outline-offset:3px;border-radius:2px}
.rs-rows .rs-row:last-child{border-bottom:0}
.rs-row:hover{background:#fafbf8}
.rs-row-one{grid-template-columns:minmax(0,270px) minmax(0,1fr) 52px}
.rs-row-short{grid-template-columns:minmax(0,130px) minmax(0,1fr) 52px}
.rs-row-stack{grid-template-columns:minmax(0,200px) minmax(0,1fr)}
.rs-name{font-size:15px;font-weight:550;line-height:1.35;min-width:0}
.rs-name small{display:block;font-size:12.5px;font-weight:400;color:var(--muted);margin-top:2px}
.rs-num,.rs-end{font-size:15px;text-align:right;font-variant-numeric:tabular-nums}
.rs-num{font-weight:650}
.rs-end{color:var(--muted)}
.rs-bar{display:flex;gap:2px;height:14px;background:var(--rs-0);border-radius:0 4px 4px 0;overflow:hidden}
.rs-bar i{display:block;height:100%;min-width:0}
.rs-bar i[style="width:0%"]{display:none}
.rs-bar-tip{background:none;overflow:visible}
.rs-bar-tip i{border-radius:0 4px 4px 0;min-width:2px}
.rs-bar-full{height:26px;background:none}
.rs-bar-full i{display:flex;align-items:center;justify-content:center}
.rs-bar-full em{font-style:normal;font-size:12.5px;font-weight:650;color:#fff;font-variant-numeric:tabular-nums}
.rs-bar-full .k2 em{color:#1b2327}
.rs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rs-note{font-size:13px;line-height:1.55;color:var(--muted);margin:14px 0 0}
.rs-facts{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;font-size:15.5px;line-height:1.55}
.rs-facts b{font-weight:650}

.rs-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rs-cols>div{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.rs-cols h3{font-size:15px;font-weight:650;margin:0 0 12px;letter-spacing:0}
.rs-cols ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.6;color:#33474d}
.rs-cols li{margin-bottom:8px}
.rs-files a{color:var(--blue);font-weight:550;text-decoration:underline;text-underline-offset:3px}
.rs-cite{font-size:14px;line-height:1.6;background:#f4f7ef;border:1px solid #dce5d4;border-radius:10px;padding:12px 14px;margin:0 0 10px;overflow-wrap:anywhere}
.rs-copy{font:inherit;font-size:13px;font-weight:650;padding:8px 14px;border-radius:8px;border:1px solid #c8d4bd;background:#fff;color:var(--ink);cursor:pointer}
.rs-copy:hover{border-color:#7b9653}
.rs-contact{font-size:14px;color:var(--muted);margin:18px 0 0}
.rs-use{padding-bottom:40px}

.rs-tip{position:fixed;z-index:50;max-width:300px;background:var(--ink);color:#fff;font-size:13px;line-height:1.5;padding:9px 12px;border-radius:8px;pointer-events:none;box-shadow:0 6px 20px rgba(23,46,54,.18)}

@media(max-width:760px){
  .rs-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs-tiles dd{font-size:28px}
  .rs-tiles-two dd{font-size:38px}
  .rs-cols{grid-template-columns:1fr}
  .rs-card{padding:18px 16px 16px}
  .rs-head{display:none}
  .rs-row{grid-template-columns:44px minmax(0,1fr) 44px;row-gap:7px;padding:11px 0}
  .rs-row .rs-name{grid-column:1/-1}
  .rs-row-one,.rs-row-short{grid-template-columns:minmax(0,1fr) 44px}
  .rs-row-stack{grid-template-columns:1fr}
  .rs-num{text-align:left}
  .rs-row-one .rs-num{text-align:right}
  .rs-section{padding-top:34px}
  .rs-lead{font-size:16px}
}
