/* Semantic text roles; reuse meanings rather than colouring each sentence. */
:root{--text-heading:#edc98c;--text-instruction:#ecdcf4;--text-support:#b8a2ca;--text-coins:#ffcf58;--text-xp:#a9cfff;--text-protection:#83eac4;--text-opening:#69f79b;--text-danger:#ff6478;--text-error:#ffb6a4}
.adventure,.adventure-journal,.relic-fight,.questmaster-reveal{color:var(--text-instruction)}
.adventure h1,.adventure-journal h1,.adventure-journal h2,.questmaster-reveal h1,.rf-combat-hud h1{color:var(--text-heading)}
.note,.profile-section-help,.qm-details .note,.rf-name,.rf-pattern,.content-badge{color:var(--text-support)}
.relic-fight .rf-cue,.step-card .instr{color:var(--text-instruction)}
.rf-effects,.rf-weakness{color:var(--text-protection)}
#rfError,[role=alert]{color:var(--text-error)}
.top-bar .music-waves,.top-bar .sfx-bolt{display:none}
.top-bar .music-btn-img,.top-bar .topbar-ic{object-fit:contain;image-rendering:pixelated}
.top-bar .pill:has([data-num=coins]),.reward-coins{color:var(--text-coins)}
.top-bar .pill:has([data-num=lv]),.reward-xp{color:var(--text-xp)}
.run-tone{--run-edge:#725882;--run-fill:#24172e;--run-title:#d7bde6;border-color:var(--run-edge)!important;border-left:3px solid var(--run-edge)!important;background:var(--run-fill)!important}
.tone-0{--run-edge:#78618d;--run-fill:#23182e;--run-title:#d1bde4}.tone-1{--run-edge:#567a79;--run-fill:#14292b;--run-title:#b4d7cf}.tone-2{--run-edge:#857156;--run-fill:#2a231b;--run-title:#ddc9a4}.tone-3{--run-edge:#795b70;--run-fill:#2a1b29;--run-title:#dfb8ce}.tone-4{--run-edge:#586d86;--run-fill:#17232f;--run-title:#b8cfe6}
.run-tone h2,.run-tone h3,.run-tone>summary{color:var(--run-title)}
.run-tone p{color:var(--text-instruction)}.run-tone p+p{color:var(--text-support)}
/* Keep new small silhouettes inside accessible touch controls. */
.top-bar .cog-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.top-bar .music-btn-img,.top-bar .topbar-ic{width:28px;height:28px}
.result-earnings .reward-coins,.result-reward-breakdown .reward-coins{color:var(--text-coins)}
.result-earnings .reward-xp,.result-reward-breakdown .reward-xp{color:var(--text-xp)}
/* Reduced motion must skip the CRT's collapsed first frame, not just shorten it. */
@media(prefers-reduced-motion:reduce){.screen.crt-power-on{animation:none;transform:none;filter:none;opacity:1}}
.top-bar .cog-btn{margin-right:0}

.relic-fight .rf-name{color:var(--text-heading)}
.relic-fight .rf-weakness,.relic-fight .rf-effects{color:var(--text-protection)}
