/* Shared chart styles. Model and domain colours adapt to paper / dark themes. */
:root{
  --m-astra:#d2692c;--m-opus:#6d8582;--m-k3:#2b2622;--m-dpsk:#3f6fb5;--m-gemini:#8766ae;
  --dom-manipulation:#d98078;--dom-mobile:#c99a2e;--dom-locomotion:#5a9d4f;--dom-driving:#6a95d8;--dom-aerial:#9b7cc4;
  --end-solved:#d2692c;--end-env:#9fab9c;--end-budget:#c5bba6;--end-nonaction:#5f5852;--end-adjudicated:#e2c27d;--end-other:#d9d4ca;
}
:root[data-theme=dark]{
  --m-k3:#e7e1d3;--m-opus:#93aba7;
  --end-nonaction:#8b847c;--end-other:#4a4b4c;--end-budget:#7d7565;--end-env:#5f6e5c;
}
.rc-fig{margin:24px 0;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink)}
.rc-fig>figcaption{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}
.rc-fig>figcaption b{font:600 19px/1.3 var(--mono)}
.rc-fig>figcaption span{font-size:13px;color:var(--muted)}
.rc-fig small{color:var(--muted)}
.m-astra{--mc:var(--m-astra)}.m-opus{--mc:var(--m-opus)}.m-k3{--mc:var(--m-k3)}.m-dpsk{--mc:var(--m-dpsk)}.m-gemini{--mc:var(--m-gemini)}
.dom-manipulation{background:var(--dom-manipulation)}.dom-mobile{background:var(--dom-mobile)}.dom-locomotion{background:var(--dom-locomotion)}.dom-driving{background:var(--dom-driving)}.dom-aerial{background:var(--dom-aerial)}
.emb-arm{background:#d98078}.emb-dex{background:#c8645b}.emb-mobile{background:#c99a2e}.emb-humanoid{background:#5a9d4f}.emb-quadruped{background:#3f8a6e}.emb-vehicle{background:#6a95d8}.emb-wheelleg{background:#4f7cb0}.emb-aerial{background:#9b7cc4}

/* Embodiment distribution */
.rc-erow{display:grid;grid-template-columns:minmax(220px,300px) 1fr 34px;gap:16px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.rc-erow:first-child{border-top:0}
.rc-ename{display:grid;grid-template-columns:12px 1fr;gap:0 10px;align-items:center}
.rc-ename i{width:10px;height:10px;border-radius:2px;grid-row:span 2}
.rc-ename b{font:600 14px var(--mono)}.rc-ename small{font-size:12px}
.rc-ebar{height:14px;background:var(--paper2);border-radius:4px;overflow:hidden}
.rc-ebar i{display:block;height:100%;border-radius:4px;animation:rc-wide .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes rc-wide{from{width:0}}
.rc-en{font:600 18px var(--mono);text-align:right}
@media(max-width:560px){.rc-erow{grid-template-columns:1fr 34px;gap:6px 10px}.rc-erow .rc-ebar{grid-column:1/-1;grid-row:2}}

/* Stacked ranking */
.rc-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}
.rc-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.rc-srow{display:grid;grid-template-columns:28px minmax(150px,210px) 92px 1fr;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.rc-shead{border-top:0;padding-top:0;font:12px var(--mono);color:var(--muted)}
.rc-rank{font:500 22px var(--mono)}
.rc-model b{display:block;font:600 16px var(--mono)}.rc-model small{font:11px/1.4 var(--mono)}
.rc-score{font:600 20px var(--mono)}.rc-score small{font-size:12px}
.rc-sbar{display:flex;gap:3px;min-height:34px;align-items:stretch}
.rc-seg{display:flex;align-items:center;justify-content:center;border-radius:5px;color:#1c1a17;font:600 12px var(--mono);cursor:pointer;min-width:18px;transition:filter .15s}
.rc-seg:hover{filter:brightness(1.1)}

/* Slide */
.rc-slide{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,1fr);gap:22px 26px;align-items:center}
.rc-slide>.rc-wallbox{grid-column:1/-1}
.rc-kicker{font:600 18px var(--mono);margin:0}
.rc-sub{font:12px var(--mono);letter-spacing:1.5px;color:var(--muted);margin:18px 0 10px}
.rc-vbars{--plot-height:240px;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:28px 0 0 34px}
.rc-vgrid{position:absolute;top:28px;left:0;right:0;height:var(--plot-height);pointer-events:none}
.rc-grid{position:absolute;left:0;right:0;border-top:1px solid var(--line);font:10px var(--mono);color:var(--muted);height:0;line-height:12px;padding:0}
.rc-vcol{position:relative;display:grid;grid-template-rows:var(--plot-height) 66px 20px;justify-items:center;align-items:start;text-align:center;min-width:0;z-index:1}
.rc-vtrack{position:relative;width:100%;height:100%}
.rc-vbar{position:absolute;bottom:0;left:10%;right:10%;background:var(--mc);border-radius:4px 4px 0 0;animation:rc-grow .9s cubic-bezier(.2,.8,.2,1) both}
.rc-vval{position:absolute;left:0;right:0;transform:translateY(-4px);font:600 16px var(--mono);color:var(--mc);white-space:nowrap}
.rc-vcol strong{padding-top:10px;font:600 12px/1.4 var(--mono);color:var(--mc);overflow-wrap:anywhere}
.rc-vcol small{font:10px/1.4 var(--mono);white-space:nowrap}.rc-vcol .rc-cov{opacity:.75}
@keyframes rc-grow{from{height:0}}
.rc-foot{font-size:12px;color:var(--muted);margin:6px 0 0}
.rc-head{display:flex;flex-direction:column;gap:4px;text-align:center}
.rc-head b{font:600 46px/1 var(--mono);color:var(--m-astra)}
.rc-head strong{font:600 14px var(--mono)}.rc-head span{font-size:12px;color:var(--muted)}

/* Recording wall */
.rc-wall{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;background:var(--line);padding:2px;border-radius:4px}
.rc-wall.compact{grid-template-columns:repeat(16,1fr)}
.rc-tile{aspect-ratio:8/5;background-image:url(/assets/images/mosaic.png);background-repeat:no-repeat;cursor:pointer;filter:saturate(.55) brightness(.85);transition:filter .15s,transform .15s}
.rc-tile.one{filter:none;outline:2px solid var(--m-astra);outline-offset:-2px;z-index:1}
.rc-tile:hover,.rc-tile:focus-visible{filter:none;transform:scale(1.6);z-index:2;position:relative}
.rc-wallnote{font:11px var(--mono);color:var(--muted);margin:8px 0 0;text-align:right}
.rc-livewall{position:relative}
.rc-livewall .rc-tile{position:relative;overflow:hidden}
.rc-livewall .rc-tile:not(.one){filter:saturate(.8) brightness(.92)}
.rc-livewall canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .4s;pointer-events:none}
.rc-livewall.is-live canvas{opacity:1}
.rc-livewall .rc-tile.one{outline:none}
.rc-livewall .rc-tile.one::after{content:"";position:absolute;inset:0;border:2px solid var(--m-astra);pointer-events:none}
.rc-tgroup{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}
.rc-tgroup:first-child{border-top:0}
.rc-tgroup h4{margin:4px 0 0;font:600 13px var(--mono);display:flex;align-items:center;gap:8px}
.rc-tgroup h4 i{width:9px;height:9px;border-radius:50%;flex:none}
.rc-twall{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.rc-twall .rc-tile{filter:none;border-radius:3px}
.rc-twall .rc-tile{position:relative;overflow:hidden}
.rc-twall canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .4s;pointer-events:none}
.is-live .rc-twall canvas{opacity:1}
.rc-twall .rc-tile:hover,.rc-twall .rc-tile:focus-visible{transform:scale(1.35);box-shadow:0 6px 18px rgba(0,0,0,.35)}
.rc-sprite{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
[data-rc=tasks]{position:relative}
.rc-zoom{margin:24px 0 0;border-radius:12px;overflow:hidden;background:#16191c;border:1px solid var(--line)}
.rc-zoom video{display:block;width:100%;aspect-ratio:16/9;background:#16191c}
.rc-zoom figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;font:12px var(--mono);color:#b2afa5;background:#16191c}
.rc-twall .rc-tile.one{outline:none}
.rc-tile.empty{background:var(--paper2);cursor:default}
@media(max-width:860px){.rc-tgroup{grid-template-columns:1fr;gap:8px}.rc-twall{grid-template-columns:repeat(6,1fr)}}

/* Donuts */
.rc-donuts{display:grid;grid-template-columns:1fr 1fr;gap:18px 34px}
.rc-donut-row{display:grid;grid-template-columns:132px 1fr;gap:20px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.rc-donut{position:relative;width:132px;aspect-ratio:1;border-radius:50%}
.rc-donut::after{content:"";position:absolute;inset:16px;border-radius:50%;background:var(--surface)}
.rc-donut span{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rc-donut b{font:600 22px var(--mono)}.rc-donut small{font-size:10px}
.rc-donut-list h4{margin:0;font:600 22px var(--mono);color:var(--mc)}
.rc-donut-list p{margin:2px 0 8px;font:600 13px var(--mono)}
.rc-donut-list ul{list-style:none;margin:0;padding:0}
.rc-donut-list li{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:13px;line-height:1.9}
.rc-donut-list li i{width:9px;height:9px;border-radius:50%}
.rc-donut-list li b{font:600 14px var(--mono)}
.end-solved{background:var(--end-solved)}.end-env{background:var(--end-env)}.end-budget{background:var(--end-budget)}.end-nonaction{background:var(--end-nonaction)}.end-adjudicated{background:var(--end-adjudicated)}.end-other{background:var(--end-other)}

/* Step-use dots */
.rc-drow{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.rc-dhead{border-top:0;padding:0 0 4px}
.rc-axis{position:relative;height:16px;font:10px var(--mono);color:var(--muted)}
.rc-axis span{position:absolute;transform:translateX(-50%)}.rc-axis span:first-child{transform:none}.rc-axis span:last-child{transform:translateX(-100%)}
.rc-lane{position:relative;height:58px;background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/25% 100%;border-right:1px solid var(--line)}
.rc-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;cursor:pointer;opacity:.85}
.rc-dot:hover{transform:scale(1.6);opacity:1;z-index:2}
.rc-dot.one,.dot.one{background:var(--end-solved)}
.rc-dot.zero,.dot.zero{background:transparent;border:1.5px solid var(--muted)}
.rc-dot.na,.dot.na{background:var(--end-nonaction)}
.rc-dlegend{margin-top:12px}.rc-dlegend i.dot{width:10px;height:10px;border-radius:50%;box-sizing:border-box}

@media(max-width:860px){
  .rc-slide{grid-template-columns:1fr}
  .rc-donuts{grid-template-columns:1fr}
  .rc-srow{grid-template-columns:22px 1fr 70px;gap:8px 10px}
  .rc-srow .rc-sbar{grid-column:1/-1}
  .rc-shead .rc-legend{grid-column:1/-1}
  .rc-wall{grid-template-columns:repeat(12,1fr)}
  .rc-wall.compact{grid-template-columns:repeat(12,1fr)}
  .rc-fig{padding:16px}
}
@media(max-width:560px){
  .rc-drow{grid-template-columns:1fr}
  .rc-donut-row{grid-template-columns:100px 1fr;gap:14px}.rc-donut{width:100px}.rc-donut::after{inset:12px}
  .rc-vbars{--plot-height:200px;gap:6px;padding-left:28px}.rc-vval{font-size:12px}.rc-vcol strong{font-size:10px}.rc-vcol small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.rc-vbar{animation:none}}
