/* Shared chrome for the two digital-identification games
   (scan-operations-arena.html, scan-smart-quiz.html).
   Both pages kept their own near-identical token blocks and drifted apart
   (--ink, --line, --bg, --blue and --amber all differed by a shade); the
   canonical values now live here so the pair cannot drift again. */
.scan-game{
  --navy:#000054;--red:#e60028;--ink:#12122b;--muted:#63667e;--line:#e2e4ee;
  --bg:#f7f8fd;--green:#087f57;--amber:#b66a00;--blue:#1261a0;--purple:#6842a6;
  --shadow:0 18px 45px rgba(0,0,54,.10);--ease:cubic-bezier(.2,.8,.2,1)
}

/* Technology glyphs. These four tiles used the literal characters
   "▥ ▦ ))) Aa", which render as boxes in several fonts and read as
   placeholder text next to the rest of the lab. */
.si-ic{display:block;width:60%;height:60%;color:currentColor}
.guide-icon .si-ic,.machine-icon .si-ic,.tech-icon .si-ic,.guide .icon .si-ic{width:24px;height:24px}
.guide-icon,.machine-icon,.tech-icon,.guide .icon{overflow:hidden}

/* Live class standing. rl-host.js kioskMode() strips every internal link the
   moment a student joins, so the leaderboard page is unreachable during class.
   The standing has to be on the game page itself or the contest is invisible. */
.kpi.rank b{font-size:19px}
.kpi.rank.lead b{color:var(--green)}
.standings{margin-top:12px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#f7f8fd}
.standings:empty{display:none}
.standings .st-ey{display:block;color:var(--muted);font-size:9.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.standings>b{display:block;margin-top:3px;color:var(--navy);font-size:17px;letter-spacing:-.02em}
.standings .st-gap{display:block;margin-top:2px;color:var(--muted);font-size:11.5px;font-weight:700}
.standings .st-list{display:grid;gap:3px;margin:10px 0 0;padding:0;list-style:none}
.standings .st-list li{display:grid;grid-template-columns:20px 1fr auto;gap:9px;align-items:center;
  padding:6px 8px;border-radius:9px;background:#fff;font-size:12px}
.standings .st-list li span{color:var(--muted);font-weight:850;font-variant-numeric:tabular-nums}
.standings .st-list li b{color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.standings .st-list li i{color:var(--navy);font-style:normal;font-weight:850;font-variant-numeric:tabular-nums}
.standings .st-list li.me{background:#fff0f2;box-shadow:inset 0 0 0 1px #f3b1bc}
.standings .st-list li.me b,.standings .st-list li.me i{color:#8f0921}

/* "About this tool" band, canonical lab format (matches dashboard/beer-game/
   kanban/cold-chain): uppercase navy h3 with the red dot, RED uppercase h4,
   13.5px ink body. The scan pages and PrintWorks previously fell back to
   browser-default headings here and read as a different product. */
.scan-game .edu-card h3{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#000054;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.scan-game .edu-dot{width:9px;height:9px;border-radius:3px;background:#E60028;display:inline-block;flex:none}
.scan-game .edu-grid h4{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#E60028;margin:0 0 6px}
.scan-game .edu-grid p{font-size:13.5px;line-height:1.55;color:#33365c;margin:0}
.scan-game .edu-src{margin-top:14px;font-size:12.5px;color:#6b7099}
.scan-game .edu-src a{color:#000054;font-weight:600}
