/* CAMADA-MED RC-O42 · CONTRASTE SISTÊMICO + DIAGNÓSTICO MOBILE
   Regra operacional: em superfícies escuras, texto informativo nunca herda
   foreground escuro. Controles dourados/claros preservam texto escuro. */

:root{
  --cm-o42-on-dark:#F8F5EC;
  --cm-o42-on-dark-2:#D8E3EE;
  --cm-o42-on-dark-3:#BFCEDF;
  --cm-o42-dark-control-top:#18344F;
  --cm-o42-dark-control-bottom:#071829;
}

/* Diagnóstico: havia dois botões Voltar sobrepostos. O global O8 fica oculto
   nesta tela; o botão nativo do diagnóstico é o único controle visível. */
body.cm149-theme.cm-diagnostic-page .v96-back{display:none!important}
body.cm149-theme.cm-diagnostic-page .btn-back,
body.cm149-theme.cm-diagnostic-page .btn-close{
  background:linear-gradient(145deg,var(--cm-o42-dark-control-top),var(--cm-o42-dark-control-bottom))!important;
  color:var(--cm-o42-on-dark)!important;
  -webkit-text-fill-color:currentColor!important;
  border-color:rgba(230,208,154,.38)!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
body.cm149-theme.cm-diagnostic-page .btn-back svg{stroke:#E6D09A!important}

/* Os dois vazamentos de contraste vistos no iPhone: "1 de 6" e
   "Pergunta 1 de 6" herdavam tokens escuros sobre Ocean. */
body.cm149-theme.cm-diagnostic-page .eyebrow b{
  color:#CBD8E6!important;-webkit-text-fill-color:currentColor!important;opacity:1!important
}
body.cm149-theme.cm-diagnostic-page .sticky-inner em{
  color:#EEF3F8!important;-webkit-text-fill-color:currentColor!important;opacity:1!important
}

/* Opções: vidro cinza + texto branco tinha contraste óptico baixo. Transformar
   a superfície em Safira/Ocean mantém identidade e dá foreground inequívoco. */
body.cm149-theme.cm-diagnostic-page .opt{
  background:linear-gradient(145deg,#24445F,#132A40)!important;
  color:#FBF7ED!important;-webkit-text-fill-color:currentColor!important;
  border-color:rgba(223,235,247,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(198,161,91,.24),0 8px 20px -12px rgba(0,0,0,.72)!important
}
body.cm149-theme.cm-diagnostic-page .opt .dot{border-color:rgba(245,240,230,.62)!important}
body.cm149-theme.cm-diagnostic-page .opt.is-sel{
  background:linear-gradient(163deg,#FDF4CF 0%,#F2DE9A 30%,#DDB456 70%,#B8862A 100%)!important;
  color:#241804!important;-webkit-text-fill-color:currentColor!important
}
body.cm149-theme.cm-diagnostic-page .opt.is-sel *{color:#241804!important;-webkit-text-fill-color:currentColor!important}

/* Guarda semântica em superfícies públicas que o sistema V151 transforma em
   Ocean escuro. Evita que tokens históricos .mute/.note/em voltem a escurecer
   quando uma camada visual posterior muda apenas o background. */
body.cm149-theme:not(.cm-platform-page)
:is(.screen,.card,.result-card,.sticky-inner,.fbox,.score-item,.glass,.today-hero,.panel,.app-card,.modal-card,.qa-card,.library-intro,.year-card,.sp-banner,.subject-card,.module-card,.module-row,.hero-card,.book-feature,.result-box,.cm-route-hero,.cm-lead-capture,.offer,.cm-bridge-card)
:is(.mute,.muted,.note,.tiny,.meta,.caption,.microcopy,.subtitle,.body-text,.eyebrow b,em){
  color:var(--cm-o42-on-dark-2)!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important
}

/* Chrome e cartões inequivocamente escuros da plataforma. Não alcança folhas
   creme nem estados semânticos de risco/alerta. */
body.cmc7-active :is(#cmc7Toolbar,#cmc7Sidebar,#cmc7Dock)
:is(.cmc7-link,.cmc7-brand-caption,span,small,b,strong){
  color:#EAF1F8!important;-webkit-text-fill-color:currentColor!important;opacity:1!important
}
body.cmc7 #app :is(.tile.t-petro,.pi-study-entry,.sc-live)
:is(.tt,.ts,.ti,.mute,.note,.tiny,.eyebrow,p,small,span,b,strong){
  color:#EEF3F8!important;-webkit-text-fill-color:currentColor!important;opacity:1!important
}

/* Exceções de superfície clara/dourada: texto continua escuro. */
body.cm149-theme :is(.btn-gold,.cta-gold,.cm-action-primary,.t-gold,.opt.is-sel){
  color:#172333!important;-webkit-text-fill-color:currentColor!important
}
body.cm149-theme :is(.btn-gold,.cta-gold,.cm-action-primary,.t-gold,.opt.is-sel) :is(span,b,strong,small,em,p){
  color:#172333!important;-webkit-text-fill-color:currentColor!important
}

@media(any-pointer:coarse){
  body.cm149-theme.cm-diagnostic-page :is(.btn-back,.btn-close){
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    transition:transform .08s ease!important
  }
}
@media(prefers-reduced-motion:reduce){
  body.cm149-theme.cm-diagnostic-page :is(.btn-back,.btn-close){transition:none!important}
}
