/* The model page's report: scorecard, game replays and models with similar scores (model-overview.js). */
.model-scorecard,.model-games,.model-pairs{scroll-margin-top:84px}
.model-overview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px}
.model-overview-head .eyebrow{margin:0 0 8px;color:var(--olive,#4b6244)}
.model-overview-head h2{margin:0;font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.04em}
.model-overview-all{flex:none;font-size:12px;font-weight:550;white-space:nowrap;color:inherit;text-decoration:none;padding-bottom:3px}
.model-overview-all:hover{text-decoration:underline;text-underline-offset:4px}
.model-overview-all:focus-visible,.pair-list a:focus-visible,.model-game-play:focus-visible,.scorecard-total a:focus-visible::after{outline:2px solid var(--olive,#4b6244);outline-offset:3px}

/* Scorecard */
.model-scorecard{--field-focus:var(--ink);border:1px solid var(--line);border-radius:16px;background:#fffefa;padding:26px 30px;margin:8px auto 28px}
.scorecard-totals{display:flex;flex:none;margin:0}
.scorecard-total{position:relative;padding:0 26px;border-left:1px solid var(--line)}
.scorecard-total:first-child{padding-left:0;border-left:0}
.scorecard-total:last-child{padding-right:0}
.scorecard-total dt{margin:0 0 7px;font-size:11px;font-weight:650;color:var(--muted)}
.scorecard-total dd{margin:0}
.scorecard-total a{display:grid;gap:5px;color:inherit;text-decoration:none}
/* The whole tile is the link. The overlay is nearly clear so the numbers stay readable on hover. */
.scorecard-total a::after{content:'';position:absolute;inset:-8px -12px;border-radius:10px}
.scorecard-total a:hover::after{background:#4b62440d}
.scorecard-total strong{font-size:30px;line-height:1;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.scorecard-total strong small{margin-left:4px;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}
.scorecard-total a>span{font-size:12px;line-height:1.3;color:var(--muted)}
.scorecard-total.intelligence-general strong,.scorecard-total.intelligence-visual strong{color:var(--intelligence-color)}
.scorecard-total strong.is-unrated{font-size:22px;line-height:30px;font-weight:600;color:var(--muted)}
.scorecard-legend{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 20px;font-size:12px;color:var(--muted)}
.scorecard-legend>span{display:inline-flex;align-items:center;gap:8px}
.scorecard-key{display:inline-block;flex:none}
.scorecard-key--focus{width:12px;height:12px;border-radius:50%;background:var(--field-focus)}
.scorecard-key--dot{width:7px;height:7px;border-radius:50%;background:var(--field-dot,#9aa58a);opacity:.7}
.scorecard-key--median{width:2px;height:12px;border-radius:1px;background:var(--field-ink,#233229);opacity:.85}
.scorecard-group+.scorecard-group{margin-top:22px}
.scorecard-group-title{margin:0 0 4px;padding:0 10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.scorecard-row{position:relative;display:grid;grid-template-columns:72px minmax(220px,1.2fr) minmax(220px,2fr) 96px;column-gap:20px;align-items:center;padding:12px 10px;border-radius:10px;color:inherit;text-decoration:none}
/* The divider is a line inside the row, so the rounded hover background never bends it. */
.scorecard-row::before{content:'';position:absolute;inset:0 10px auto;height:1px;background:var(--line)}
.scorecard-group-title+.scorecard-row::before{display:none}
a.scorecard-row:hover,a.scorecard-row:focus-visible{--field-ring:#f4f6ef;background:#f4f6ef}
a.scorecard-row:focus-visible{outline:2px solid var(--olive,#4b6244);outline-offset:-2px}
.scorecard-thumb{display:block;width:72px;height:48px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#f1f2ec}
.scorecard-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.scorecard-thumb.is-cover img{object-fit:cover}
.scorecard-thumb.is-empty{background:#eceee6}
.scorecard-name{display:grid;gap:3px;min-width:0}
.scorecard-title{display:flex;align-items:center;flex-wrap:wrap}
.scorecard-title strong{font-size:15px;line-height:1.3;font-weight:650}
.scorecard-name>small{font-size:12px;line-height:1.4;color:var(--muted)}
.scorecard-badge{margin-left:8px;padding:3px 7px;border-radius:999px;background:#f3e6c4;color:#6b4a12;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.scorecard-outcomes{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;font-size:12px;line-height:1.4;color:var(--muted)}
.scorecard-outcomes .game-outcome{width:13px;height:13px}
.scorecard-outcomes>span{margin-left:6px}
.scorecard-field{min-width:0}
.scorecard-score{display:grid;gap:2px;justify-items:end;text-align:right}
.scorecard-score strong{font-size:20px;line-height:1.15;font-weight:650;font-variant-numeric:tabular-nums}
.scorecard-score small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.scorecard-score em{font-style:normal;font-size:13px;color:var(--muted)}

/* Games */
.model-games{margin:8px auto 28px}
.model-games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.model-game{display:grid;gap:14px;align-content:start;min-width:0;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:#fffefa;scroll-margin-top:84px}
.model-game-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.model-game h3{margin:0;font-size:22px;line-height:1.15;font-weight:650;letter-spacing:-.02em}
.model-game-head p{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.model-game-score{display:grid;flex:none;gap:2px;justify-items:end;text-align:right}
.model-game-score strong{font-size:26px;line-height:1.1;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.model-game-score strong small{margin-left:3px;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}
.model-game-score>small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.model-game-score.is-none strong{font-size:16px;line-height:1.4;font-weight:600;color:var(--muted)}
.model-game-field .game-benchmark__context{margin:0 0 8px}
.model-game-field .game-benchmark__preview{aspect-ratio:3/2;height:auto;margin:0;overflow:hidden;border-radius:8px;background:#e9eddd}
.model-game-field .game-benchmark__preview>img{object-fit:contain}
.model-game:has(.has-replay) .game-benchmark__outcomes{display:none}
.model-game-levels-title{margin:6px 0 -6px;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.model-game-levels{display:grid;margin:0;padding:0;list-style:none}
.model-game-levels>li{display:grid;grid-template-columns:minmax(120px,.9fr) 1.6fr auto;align-items:center;column-gap:14px;padding:9px 0;border-top:1px solid var(--line)}
.model-game-levels>li:first-child{margin-top:6px}
.level-name{display:grid;gap:1px;min-width:0;font-size:14px;line-height:1.3;font-weight:600}
.level-name small{font-size:12px;font-weight:400;color:var(--muted)}
.level-score{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:12px;min-width:0}
.level-points{min-width:52px;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.level-points strong{font-size:15px;font-weight:650}
.level-points small{font-size:11px;color:var(--muted)}
.level-bar{display:block;height:4px;border-radius:2px;background:#dfe4d7;overflow:hidden}
.level-bar i{display:block;height:100%;width:calc(var(--w,0) * 1%);border-radius:2px;background:var(--ink);opacity:.85}
.level-best{font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.model-game-levels .game-benchmark__outcome{justify-self:end;font-size:12px}
.level-none{font-size:12px;color:var(--muted)}
.model-game-levels>li.is-missing{grid-template-columns:minmax(120px,.9fr) 1fr}
.model-game .game-missing{display:grid;align-content:center;justify-items:center;gap:6px;aspect-ratio:3/2;padding:20px;border:1px dashed #c4ccb9;border-radius:8px;background:#f6f7f0;text-align:center}
.model-game .game-missing strong{font-size:15px;font-weight:650}
.model-game .game-missing span{max-width:30ch;font-size:13px;line-height:1.5;color:var(--muted)}
.model-game-task{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.model-game-play{justify-self:start;font-size:13px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.model-game-play:hover{color:var(--olive,#4b6244)}

/* Models with similar scores */
.model-pairs{margin:8px auto 36px}
.pair-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.pair-list a{display:flex;align-items:baseline;gap:8px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fffefa;color:inherit;text-decoration:none;transition:border-color .15s}
.pair-list a:hover{border-color:#a9b79a}
.pair-vs{font-size:11px;font-weight:600;color:var(--muted)}
.pair-list strong{flex:1 1 0;min-width:0;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.pair-other-score{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}
.pair-gap{font-size:12px;color:var(--muted);white-space:nowrap}
.pair-list a>span[aria-hidden]{font-size:12px;color:var(--muted)}

@media(max-width:900px){
  .model-games-grid{grid-template-columns:1fr}
  .pair-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .model-scorecard{padding:20px 16px}
  .model-scorecard .model-overview-head{flex-direction:column;align-items:stretch;gap:16px}
  .scorecard-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .scorecard-total{padding:0 10px}
  .scorecard-total strong{font-size:24px}
  .scorecard-total strong.is-unrated{font-size:18px;line-height:24px}
  .scorecard-row{grid-template-columns:56px minmax(0,1fr) auto;column-gap:14px;row-gap:10px;padding:12px 6px}
  .scorecard-row::before{inset:0 6px auto}
  .scorecard-thumb{grid-area:1/1;width:56px;height:38px}
  .scorecard-name{grid-area:1/2}
  .scorecard-score{grid-area:1/3}
  .scorecard-field{grid-area:2/1/3/-1}
  .scorecard-group-title{padding:0 6px}
}
@media(max-width:560px){
  .model-overview-head h2{font-size:21px}
  .pair-list{grid-template-columns:minmax(0,1fr)}
  .model-game{padding:16px}
  .model-game h3{font-size:20px}
  .model-game-levels>li,.model-game-levels>li.is-missing{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
  .level-name{grid-area:1/1}
  .model-game-levels .game-benchmark__outcome{grid-area:1/2}
  .level-score{grid-area:2/1/3/-1}
  .level-none{grid-area:1/2}
}
@media(forced-colors:active){
  .scorecard-key{forced-color-adjust:none}
  .scorecard-key--focus{background:CanvasText}
  .scorecard-key--dot{background:GrayText}
  .scorecard-key--median{background:CanvasText}
  .level-bar i{background:CanvasText}
}
