/* Arena Gym · Contrast Integrity R1 · 2026-08-21
 * Final semantic layer for surfaces that intentionally use a light canvas inside
 * the dark Arena shell. Prevents global dark-theme heading tokens from leaking
 * into white cards. WCAG 2.2 AA fixed-color pairs are audited by ArenaContrastIntegrityR1.
 */
:root{
  --arena-light-ink:#152033;
  --arena-light-muted:#4c5a6c;
  --arena-light-link:#173c78;
  --arena-light-line:#d9e0ea;
  --arena-light-surface:#ffffff;
  --arena-dark-ink:#f5f7fb;
  --arena-dark-muted:#c7ced9;
}
/* Never implement high contrast as a whole-page post-processing filter. */
body.arena-high-contrast{filter:none!important}

/* A heading belongs to its component surface. The dark shell must not force light text into light cards. */
.arena-total-v160 h1,.arena-total-v160 h2,.arena-total-v160 h3{color:inherit}

/* Explicit light-surface contract. */
.arena-total-v160 :where(.arena-contrast-light,.mi-hoy){color:var(--arena-light-ink)}
.arena-total-v160 :where(.arena-contrast-light,.mi-hoy) :where(h1,h2,h3,h4,h5,h6,strong,b,.value,.mi-hoy-status-value){color:var(--arena-light-ink)}
.arena-total-v160 :where(.arena-contrast-light,.mi-hoy) :where(p,small,.muted,.detail,.label,.mi-hoy-empty,.mi-hoy-ai){color:var(--arena-light-muted)}
.arena-total-v160 :where(.arena-contrast-light,.mi-hoy) a:not(.btn):not(.button):not(.arena-role-guide-action){color:var(--arena-light-link)}
.arena-total-v160 :where(.arena-contrast-light,.mi-hoy) :where(input,select,textarea){background:#fff!important;color:var(--arena-light-ink)!important;border-color:#aeb9c8!important}
.arena-total-v160 :where(.arena-contrast-light,.mi-hoy) ::placeholder{color:#667386;opacity:1}

/* Mi Arena Hoy is intentionally light, independent of the selected shell palette. */
.arena-total-v160 .mi-hoy :where(.mi-hoy-hero-main,.mi-hoy-status,.mi-hoy-card,.mi-hoy-panel,.mi-hoy-action){background:#fff;color:var(--arena-light-ink);border-color:var(--arena-light-line)}
.arena-total-v160 .mi-hoy .mi-hoy-primary{background:#f5f8fc;color:var(--arena-light-ink);border-color:var(--arena-light-line)}
.arena-total-v160 .mi-hoy .mi-hoy-primary :where(strong,b){color:var(--arena-light-ink)}
.arena-total-v160 .mi-hoy .mi-hoy-primary b,.arena-total-v160 .mi-hoy .mi-hoy-kicker{color:var(--arena-light-link)}
.arena-total-v160 .mi-hoy .mi-hoy-status-badge.positive{background:#eaf7ef;color:#17653a}
.arena-total-v160 .mi-hoy .mi-hoy-status-badge.warning{background:#fff4e5;color:#8a4b08}

/* Role Guide: dark introduction + light instructional cards, each with its own tokens. */
.arena-role-guide{--rg-ink:#152033;--rg-muted:#4c5a6c;--rg-link:#173c78;--rg-line:#d9e0ea;max-width:1180px;margin:0 auto 48px}
.arena-role-guide-hero{padding:clamp(22px,4vw,38px);border-radius:24px;border:1px solid var(--arena-border);background:linear-gradient(135deg,var(--arena-surface),var(--arena-surface-alt));color:var(--arena-text);margin-bottom:18px}
.arena-total-v160 .arena-role-guide-hero :where(h1,h2,h3,strong){color:var(--arena-text)}
.arena-role-guide-hero p{color:var(--arena-muted);max-width:72ch}.arena-role-guide-hero .eyebrow{color:var(--arena-primary)}
.arena-role-guide-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;margin:16px 0}
.arena-role-guide-card{background:#fff;color:var(--rg-ink);border:1px solid var(--rg-line);border-radius:20px;padding:22px;box-shadow:0 10px 28px rgba(8,20,38,.07)}
.arena-total-v160 .arena-role-guide-card :where(h2,h3,h4,strong,b){color:var(--rg-ink)}
.arena-role-guide-card :where(p,small,li){color:var(--rg-muted)}
.arena-role-guide-card h2,.arena-role-guide-card h3{margin-top:0}
.arena-role-guide-steps{display:grid;gap:10px;counter-reset:role-step;list-style:none;padding:0;margin:0}
.arena-role-guide-step{counter-increment:role-step;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:13px;border:1px solid #e3e8f0;border-radius:14px;background:#f8fafc}
.arena-role-guide-step:before{content:counter(role-step);display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#173c78;color:#fff;font-weight:900}
.arena-role-guide-step strong{display:block}.arena-role-guide-step small{display:block;margin-top:3px;line-height:1.45}
.arena-role-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.arena-role-guide-action{display:block;min-height:82px;padding:14px;border-radius:14px;border:1px solid #cfd8e5;background:#f7f9fc;color:#173c78!important;text-decoration:none;font-weight:800}
.arena-role-guide-action small{display:block;color:#4c5a6c!important;font-weight:500;margin-top:4px;line-height:1.4}
.arena-role-guide-action:hover{border-color:#173c78;background:#eef4fb}.arena-role-guide-action:focus-visible{outline:3px solid #173c78;outline-offset:3px}
.arena-role-guide-note{padding:13px 15px;border-radius:14px;background:#fff8e8;color:#5f4210;border:1px solid #e6cc8c}
.arena-role-guide-note strong{color:#5f4210!important}
@media(max-width:820px){.arena-role-guide-grid{grid-template-columns:1fr}.arena-role-guide-actions{grid-template-columns:1fr}}
@media(forced-colors:active){.arena-role-guide-card,.arena-role-guide-step,.arena-role-guide-action,.mi-hoy-card,.mi-hoy-panel,.mi-hoy-hero-main,.mi-hoy-status{border:1px solid CanvasText}.arena-role-guide-action{color:LinkText!important}}
