:root {
  --preto: #100F0E;
  --grafite: #292824;
  --grafite-2: #1B1A18;
  --linha: #34322D;
  --off: #F2F0EC;
  --texto: #E9E6DF;
  --suave: #A9A499;
  --ouro: #C9A227;
  --ouro-claro: #E3C254;
  --verde: #6FBF8A;
  --vermelho: #E07A5F;
  --raio: 16px;
  --fonte-titulo: 'Montserrat', system-ui, sans-serif;
  --fonte: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--preto);
  color: var(--texto);
  font-family: var(--fonte);
  font-size: 16px;
  line-height: 1.55;
  min-height: 100vh;
  min-height: 100dvh;
}
h1, h2, h3 { font-family: var(--fonte-titulo); color: var(--off); line-height: 1.2; margin: 0 0 .6em; }
h1 { font-size: clamp(1.75rem, 6.4vw, 3rem); font-weight: 800; letter-spacing: -.02em; }
h2 { font-size: clamp(1.3rem, 4.6vw, 1.85rem); font-weight: 700; }
h3 { font-size: 1.08rem; font-weight: 700; display: flex; align-items: center; gap: .5em; }
p { margin: 0 0 1em; }
em { font-style: normal; color: var(--ouro); }
a { color: var(--ouro); }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 3px; border-radius: 6px; }
[hidden] { display: none !important; }

/* Topo */
.topo {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  background: rgba(16, 15, 14, .92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--linha);
}
.topo-logo { height: 18px; width: auto; }
.topo-selo { font-size: .72rem; color: var(--suave); letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Telas */
#app { width: 100%; }
.tela { display: none; padding: 24px 16px 40px; max-width: 640px; margin: 0 auto; }
.tela.ativa { display: block; animation: entra .35s ease both; }
.tela-larga { max-width: 920px; }
@keyframes entra { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* Hero */
.tela-hero.ativa {
  display: flex; align-items: center; justify-content: center;
  min-height: 100vh; min-height: 100dvh;
  max-width: none; position: relative; overflow: hidden;
  padding: 32px 20px;
}
.hero-brilho {
  position: absolute; inset: -20%;
  background:
    radial-gradient(ellipse 50% 40% at 70% 20%, rgba(201,162,39,.20), transparent 70%),
    radial-gradient(ellipse 40% 35% at 15% 85%, rgba(201,162,39,.10), transparent 70%);
  pointer-events: none;
}
.hero-brilho::after {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(242,240,236,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(242,240,236,.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.hero-conteudo { position: relative; max-width: 680px; text-align: left; }
.hero-logo { height: 30px; width: auto; display: block; margin-bottom: 36px; }
.hero-conteudo .sub { font-size: 1.06rem; color: var(--suave); max-width: 560px; margin-bottom: 28px; }
.micro { font-size: .82rem; color: var(--suave); margin-top: 14px; }

.selo {
  display: inline-block;
  font-size: .7rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ouro);
  margin-bottom: 14px;
}
.etapa { font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro); }

/* Cartões */
.cartao {
  background: var(--grafite-2);
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  padding: 22px 18px;
  margin-bottom: 16px;
}
.cartao > .etapa { display: block; margin-bottom: 10px; }
.preambulo { color: var(--suave); font-size: .95rem; }
.ajuda { color: var(--suave); font-size: .9rem; }
.nota { margin-top: 14px; margin-bottom: 0; }

.pilares-lista { list-style: none; padding: 0; margin: 0 0 1.2em; display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.pilares-lista li { border: 1px solid var(--linha); border-radius: 12px; padding: 12px; background: var(--preto); }
.pilares-lista b { display: block; color: var(--ouro); font-family: var(--fonte-titulo); }
.pilares-lista span { font-size: .82rem; color: var(--suave); }

/* Botões */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 12px 22px;
  border-radius: 12px; border: 1px solid transparent;
  font-weight: 600; font-size: 1rem; text-decoration: none;
  transition: transform .15s, background .15s, border-color .15s;
}
.btn:active { transform: scale(.98); }
.btn-ouro { background: var(--ouro); color: var(--preto); }
.btn-ouro:hover { background: var(--ouro-claro); }
.btn-ouro:disabled { opacity: .6; cursor: wait; }
.btn-fantasma { background: transparent; color: var(--texto); border-color: var(--linha); }
.btn-fantasma:hover { border-color: var(--suave); }
.btn-grande { min-height: 56px; font-size: 1.05rem; width: 100%; }
.btn-peq { min-height: 40px; padding: 8px 14px; font-size: .88rem; }
.hero-conteudo .btn-grande { width: auto; padding: 14px 34px; }
.acoes { display: flex; gap: 10px; justify-content: space-between; margin-top: 20px; flex-wrap: wrap; }
.acoes .btn-ouro { flex: 1; }
.acoes-esq { justify-content: flex-start; }
.acoes-centro { justify-content: center; }
.link { background: none; border: 0; padding: 0; color: var(--ouro); text-decoration: underline; font-size: inherit; }

/* Seleção de áreas */
.opcoes { display: grid; gap: 10px; margin: 18px 0 6px; }
.opcao {
  display: flex; gap: 12px; align-items: flex-start;
  text-align: left; width: 100%;
  background: var(--preto); color: var(--texto);
  border: 1.5px solid var(--linha); border-radius: 12px;
  padding: 14px; min-height: 56px;
}
.opcao .caixa {
  flex: none; width: 22px; height: 22px; border-radius: 6px; margin-top: 1px;
  border: 2px solid var(--suave); display: grid; place-items: center;
  font-size: 14px; color: var(--preto); font-weight: 800;
}
.opcao[aria-pressed="true"] { border-color: var(--ouro); background: rgba(201,162,39,.08); }
.opcao[aria-pressed="true"] .caixa { background: var(--ouro); border-color: var(--ouro); }
.opcao small { display: block; color: var(--suave); font-size: .78rem; margin-top: 2px; }
.opcao-extra { border-style: dashed; }
.aviso-erro { color: var(--vermelho); font-size: .88rem; min-height: 1.2em; margin: 6px 0 0; }

/* Quiz */
.progresso-topo { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.contador { font-size: .85rem; color: var(--suave); font-variant-numeric: tabular-nums; }
.barra { height: 6px; background: var(--linha); border-radius: 99px; overflow: hidden; margin-bottom: 26px; }
.barra-fill { height: 100%; background: var(--ouro); width: 0; transition: width .3s ease; border-radius: 99px; }
.pergunta { font-size: clamp(1.2rem, 4.4vw, 1.55rem); min-height: 3.6em; }
.respostas { display: grid; gap: 10px; }
.resposta {
  display: flex; align-items: center; gap: 12px;
  text-align: left; padding: 16px; min-height: 60px;
  background: var(--preto); color: var(--texto);
  border: 1.5px solid var(--linha); border-radius: 12px; font-weight: 500;
}
.resposta .marca { width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--suave); display: grid; place-items: center; flex: none; color: var(--suave); }
.resposta:hover { border-color: var(--suave); }
.resposta.escolhida { border-color: var(--ouro); background: rgba(201,162,39,.08); }
.resposta.escolhida .marca { background: var(--ouro); border-color: var(--ouro); color: var(--preto); }

/* Resultado */
.res-cabeca { margin-bottom: 18px; }
.res-cabeca .etapa { display: block; margin-bottom: 6px; }
.res-grid { display: grid; gap: 16px; }
.res-grid > .cartao { margin-bottom: 0; }
.res-grid { margin-bottom: 16px; }
.res-score { display: flex; gap: 18px; align-items: center; }
.anel { position: relative; width: 112px; height: 112px; flex: none; }
.anel svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.anel circle { fill: none; stroke-width: 10; }
.anel-fundo { stroke: var(--linha); }
.anel-valor { stroke: var(--ouro); stroke-linecap: round; stroke-dasharray: 326.7; stroke-dashoffset: 326.7; transition: stroke-dashoffset 1s ease; }
.anel-num { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.anel-num b { font-family: var(--fonte-titulo); font-size: 2rem; color: var(--off); line-height: 1; }
.anel-num span { font-size: .8rem; color: var(--suave); }
.faixa { display: inline-block; font-family: var(--fonte-titulo); font-weight: 700; color: var(--ouro); margin-bottom: 6px; }
.res-score p { margin: 0; font-size: .92rem; color: var(--suave); }

.barras { display: grid; gap: 14px; }
.barra-pilar .rotulo { display: flex; justify-content: space-between; font-size: .9rem; margin-bottom: 6px; }
.barra-pilar .rotulo b { font-weight: 600; color: var(--off); }
.barra-pilar .rotulo span { color: var(--suave); font-variant-numeric: tabular-nums; }
.barra-pilar .trilho { height: 10px; background: var(--linha); border-radius: 99px; overflow: hidden; }
.barra-pilar .enchimento { height: 100%; width: 0; background: var(--ouro); border-radius: 99px; transition: width .8s ease; }
.barra-pilar.prioridade .enchimento { background: var(--vermelho); }
.barra-pilar .tag { font-size: .7rem; color: var(--suave); margin-left: 6px; font-weight: 400; }

.destaque-ouro { border-color: var(--ouro); background: linear-gradient(135deg, rgba(201,162,39,.12), var(--grafite-2) 60%); }
.destaque-ouro .etapa { display: block; margin-bottom: 6px; }
.destaque-ouro h3 { font-size: 1.3rem; }
.destaque-ouro ul { margin: 0; padding-left: 1.2em; }
.destaque-ouro li { margin-bottom: 6px; }

.ponto { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.ponto-verde { background: var(--verde); }
.ponto-vermelho { background: var(--vermelho); }
.lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.lista li { font-size: .93rem; padding-left: 14px; border-left: 2px solid var(--linha); }
.lista li b { color: var(--off); }

.melhorias { display: grid; gap: 12px; }
.melhoria-grupo b { font-family: var(--fonte-titulo); color: var(--ouro); font-size: .9rem; }
.melhoria-grupo ul { margin: 6px 0 0; padding-left: 1.2em; font-size: .92rem; }
.melhoria-grupo li { margin-bottom: 4px; }

.plano { display: grid; gap: 10px; }
.semana { border: 1px solid var(--linha); border-radius: 12px; padding: 14px; background: var(--preto); }
.semana .periodo { font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ouro); }
.semana h4 { margin: 4px 0 6px; font-family: var(--fonte-titulo); color: var(--off); font-size: 1rem; }
.semana p { margin: 0; font-size: .92rem; }

.foco { border-left: 3px solid var(--vermelho); padding: 4px 0 4px 14px; margin-bottom: 4px; font-size: .92rem; }
.foco ul { margin: 6px 0 0; padding-left: 1.2em; }
.foco li { margin-bottom: 4px; }
.semana .tarefas { margin: 8px 0 10px; padding-left: 1.2em; font-size: .92rem; }
.semana .tarefas li { margin-bottom: 6px; }
.semana .entrega { font-size: .86rem; color: var(--suave); margin-top: 4px; }
.semana .entrega b { color: var(--off); font-weight: 600; }

.cta-var { border-radius: 10px; padding: 10px 12px; margin-top: 10px; }
.cta-var .item-topo { margin-bottom: 4px; align-items: center; }
.cta-var .rot { margin-top: 0; }
.cta-etica { background: rgba(111,191,138,.08); border: 1px solid rgba(111,191,138,.35); }
.cta-etica .rot { color: var(--verde); }
.cta-direta { background: rgba(224,122,95,.08); border: 1px solid rgba(224,122,95,.35); }
.cta-direta .rot { color: var(--vermelho); }

.cadencia { list-style: none; counter-reset: c; padding: 0; margin: 0; display: grid; gap: 8px; }
.cadencia li { counter-increment: c; display: grid; grid-template-columns: 30px 1fr; gap: 0 10px; background: var(--preto); border: 1px solid var(--linha); border-radius: 10px; padding: 10px 12px; font-size: .92rem; }
.cadencia li::before { content: counter(c); grid-row: span 2; width: 26px; height: 26px; border-radius: 50%; background: var(--ouro); color: var(--preto); font-weight: 700; font-size: .8rem; display: grid; place-items: center; }
.cadencia b { color: var(--ouro); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.contatos { display: grid; gap: 8px; }
.contato { background: var(--preto); border: 1px solid var(--linha); border-radius: 10px; padding: 10px 12px; font-size: .9rem; }
.contato b { display: block; color: var(--off); }
.contato span { color: var(--suave); }
@media (min-width: 720px) { .contatos { grid-template-columns: 1fr 1fr; } }

.indicacao { border-color: var(--ouro); }
.indicacao .etapa { display: block; margin-bottom: 6px; }
.numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 4px 0 18px; }
.numeros div { background: var(--preto); border: 1px solid var(--linha); border-radius: 10px; padding: 10px 8px; text-align: center; }
.numeros b { display: block; font-family: var(--fonte-titulo); color: var(--ouro); font-size: 1.15rem; }
.numeros span { font-size: .72rem; color: var(--suave); line-height: 1.3; display: block; }

.boas-vindas { border-color: var(--ouro); background: linear-gradient(135deg, rgba(201,162,39,.12), var(--grafite-2) 60%); }
.boas-vindas .obrigado { font-family: var(--fonte-titulo); font-weight: 700; color: var(--off); font-size: 1.1rem; }
.instagrams { display: grid; gap: 10px; }
.instagram { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--preto); border: 1px solid var(--linha); color: var(--texto); text-decoration: none; min-height: 60px; }
.instagram:hover { border-color: var(--ouro); }
.ig-icone { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: linear-gradient(45deg, #F58529, #DD2A7B 50%, #8134AF); flex: none; }
.instagram b { display: block; color: var(--off); }
.instagram small { color: var(--suave); font-size: .8rem; }
.ig-seguir { margin-left: auto; background: var(--ouro); color: var(--preto); font-weight: 600; font-size: .85rem; padding: 6px 14px; border-radius: 99px; }
@media (min-width: 720px) { .instagrams { grid-template-columns: 1fr 1fr; } }

.desbloqueio { text-align: left; border-color: var(--ouro); }
.bonus-lista { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 8px; }
.bonus-lista li { padding-left: 26px; position: relative; font-size: .95rem; }
.bonus-lista li::before { content: ''; position: absolute; left: 0; top: .4em; width: 12px; height: 12px; background: var(--ouro); border-radius: 3px; }

.metodo summary { cursor: pointer; font-weight: 600; color: var(--off); }
.metodo[open] summary { margin-bottom: 12px; }
.metodo p, .metodo li { font-size: .9rem; color: var(--suave); }

/* Ferramentas */
.abas {
  display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none;
  margin: 0 -16px 16px; padding: 0 16px 4px;
  position: sticky; top: 53px; z-index: 5; background: var(--preto); padding-top: 8px;
}
.abas::-webkit-scrollbar { display: none; }
.aba {
  flex: none; padding: 10px 16px; min-height: 44px;
  border-radius: 99px; border: 1px solid var(--linha);
  background: var(--grafite-2); color: var(--texto); font-weight: 500; font-size: .92rem;
}
.aba[aria-selected="true"] { background: var(--ouro); color: var(--preto); border-color: var(--ouro); font-weight: 600; }

.filtros { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.filtro { padding: 7px 12px; border-radius: 99px; border: 1px solid var(--linha); background: transparent; color: var(--suave); font-size: .82rem; min-height: 36px; }
.filtro[aria-pressed="true"] { border-color: var(--ouro); color: var(--ouro); background: rgba(201,162,39,.08); }

.itens { display: grid; gap: 10px; }
.item { background: var(--grafite-2); border: 1px solid var(--linha); border-radius: 12px; padding: 16px; }
.cartao .item { background: var(--preto); }
.item-topo { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 8px; }
.item-tag { font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ouro); }
.item h4 { margin: 2px 0 0; font-family: var(--fonte-titulo); color: var(--off); font-size: 1rem; }
.item p { margin: 0 0 8px; font-size: .94rem; }
.item p:last-child { margin-bottom: 0; }
.item .rot { display: block; font-size: .72rem; color: var(--suave); text-transform: uppercase; letter-spacing: .06em; margin-top: 8px; }
.item textarea {
  width: 100%; min-height: 96px; resize: vertical;
  background: transparent; color: var(--texto); border: 1px dashed var(--linha); border-radius: 8px;
  padding: 10px; font: inherit; font-size: .93rem;
}
.copiar { flex: none; background: transparent; border: 1px solid var(--linha); color: var(--texto); border-radius: 8px; padding: 6px 10px; font-size: .8rem; min-height: 34px; }
.copiar.ok { border-color: var(--verde); color: var(--verde); }

.perg-tese ol { margin: 0; padding-left: 1.3em; }
.perg-tese li { margin-bottom: 8px; font-size: .94rem; }

.matriz { display: grid; gap: 10px; margin-bottom: 10px; }
.matriz-linha { border: 1px solid var(--linha); border-radius: 12px; padding: 14px; background: var(--preto); }
.matriz-linha.principal { border-color: var(--ouro); }
.matriz-cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.matriz-cab b { font-family: var(--fonte-titulo); color: var(--off); }
.matriz-total { font-variant-numeric: tabular-nums; color: var(--ouro); font-weight: 700; white-space: nowrap; }
.fator { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; margin-bottom: 6px; font-size: .85rem; color: var(--suave); }
.notas { display: flex; gap: 4px; }
.nota-btn { width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--linha); background: transparent; color: var(--suave); font-size: .85rem; }
.nota-btn[aria-pressed="true"] { background: var(--ouro); color: var(--preto); border-color: var(--ouro); font-weight: 700; }
.principal-btn { font-size: .78rem; background: none; border: 1px solid var(--linha); color: var(--suave); border-radius: 99px; padding: 4px 10px; min-height: 30px; }
.matriz-linha.principal .principal-btn { border-color: var(--ouro); color: var(--ouro); }

.campo { display: block; margin-bottom: 14px; }
.campo span { display: block; font-size: .85rem; color: var(--suave); margin-bottom: 6px; }
.campo input {
  width: 100%; min-height: 50px; padding: 12px 14px;
  background: var(--preto); color: var(--off);
  border: 1.5px solid var(--linha); border-radius: 10px; font: inherit; font-size: 16px;
}
.campo input:focus { border-color: var(--ouro); outline: none; }
.campo input[aria-invalid="true"] { border-color: var(--vermelho); }

.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.calc-res { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 6px 0 12px; }
.calc-res div { background: var(--preto); border: 1px solid var(--linha); border-radius: 12px; padding: 12px; }
.calc-res span { display: block; font-size: .75rem; color: var(--ouro); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.calc-res b { display: block; font-family: var(--fonte-titulo); font-size: 1.3rem; color: var(--off); font-variant-numeric: tabular-nums; }
.calc-res small { color: var(--suave); font-size: .75rem; }

.cta-final { border-color: var(--ouro); margin-top: 24px; }
.aviso-juridico { font-size: .8rem; color: var(--suave); margin-top: 16px; }

/* Modal */
.modal {
  position: fixed; inset: 0; z-index: 50;
  background: rgba(0,0,0,.72); backdrop-filter: blur(4px);
  display: flex; align-items: flex-end; justify-content: center;
  padding: 0;
}
.modal-caixa {
  position: relative; width: 100%; max-width: 480px; max-height: 92vh; overflow-y: auto;
  background: var(--grafite-2); border: 1px solid var(--linha); border-bottom: 0;
  border-radius: 20px 20px 0 0; padding: 26px 20px calc(24px + env(safe-area-inset-bottom));
  animation: sobe .3s ease both;
}
@keyframes sobe { from { transform: translateY(30px); opacity: 0; } to { transform: none; opacity: 1; } }
.modal-fechar { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border-radius: 50%; background: transparent; border: 0; color: var(--suave); font-size: 1.6rem; line-height: 1; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: .86rem; color: var(--texto); margin: 4px 0 8px; cursor: pointer; }
.check input { width: 22px; height: 22px; flex: none; accent-color: var(--ouro); margin-top: 1px; }
.texto-priv p { font-size: .9rem; }

.toast {
  position: fixed; left: 50%; bottom: 20px; transform: translate(-50%, 20px);
  background: var(--off); color: var(--preto); padding: 10px 16px; border-radius: 10px;
  font-size: .9rem; font-weight: 500; opacity: 0; pointer-events: none; transition: .25s; z-index: 60;
}
.toast.visivel { opacity: 1; transform: translate(-50%, 0); }

.rodape { max-width: 920px; margin: 0 auto; padding: 20px 16px 36px; border-top: 1px solid var(--linha); }
.rodape p { font-size: .76rem; color: var(--suave); margin-bottom: 6px; }
body.no-hero .rodape { display: block; }
body:not(.no-hero) .rodape { display: none; }

@media (min-width: 720px) {
  .tela { padding-top: 40px; }
  .cartao { padding: 28px; }
  .res-grid { grid-template-columns: 1fr 1fr; }
  .modal { align-items: center; padding: 20px; }
  .modal-caixa { border-radius: 20px; border-bottom: 1px solid var(--linha); }
  .abas { margin: 0 0 16px; padding-left: 0; padding-right: 0; flex-wrap: wrap; }
  .calc-res { grid-template-columns: repeat(4, 1fr); }
  .hero-logo { height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

@media print {
  body { background: #fff; color: #111; }
  .topo, .rodape, .abas, .acoes, .desbloqueio, .metodo, .btn, .cta-final, .aviso-juridico, .toast, .modal { display: none !important; }
  .tela { display: none !important; }
  .tela.ativa { display: block !important; }
  .cartao, .semana { background: #fff; border-color: #ccc; color: #111; break-inside: avoid; }
  h1, h2, h3, h4, .semana h4, .lista li b { color: #111 !important; }
  .ajuda, .semana p, .lista li { color: #333 !important; }
  .painel[hidden] { display: none !important; }
}
