/* Árvore genealógica — compartilhada por familia/arvore.html e musskopf/arvore.html.
   Carregada pelo front matter "css: [arvore]". Cores vêm de site.css (--ouro = acento da família). */
.rkr{color:var(--texto);}
.rkr *{box-sizing:border-box;}
.rkr p,.rkr h2,.rkr h3,.rkr h4,.rkr ol,.rkr li{margin:0;padding:0;list-style:none;}

.arv-intro{
  color:var(--texto-suave);max-width:620px;margin:0 auto 2.4rem;text-align:center;font-size:1.1rem;
}

.rkr-controles{display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:center;margin-bottom:1.2rem;}
.rkr-btn{font-family:var(--mono);font-size:0.85rem;letter-spacing:.06em;text-transform:uppercase;min-height:48px;
  background:transparent;color:var(--soft);border:1px solid rgba(156, 107, 60,.4);border-radius:6px;
  padding:0.5rem 1rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s;}
.rkr-btn:hover{border-color:var(--ouro);color:var(--ouro);background:rgba(156, 107, 60,.08);}
.rkr-btn[aria-pressed="true"]{background:var(--ouro);border-color:var(--ouro);color:var(--papel);}
.rkr-btn:focus-visible{outline:2px solid var(--ouro);outline-offset:2px;}

.rkr-legenda{display:flex;flex-wrap:wrap;gap:0.6rem 1.2rem;justify-content:center;
  font-family:var(--mono);font-size:0.8rem;color:var(--mudo);margin:0 auto 2.6rem;max-width:720px;}
.rkr-legenda span{display:flex;align-items:center;gap:0.45rem;}
.rkr-ponto{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 9px;}
.rkr-ponto.doc{background:var(--ouro);}
.rkr-ponto.ext{background:var(--sage);}
.rkr-ponto.epi{background-image:linear-gradient(90deg,var(--ouro) 50%,var(--borda) 50%);border:1px solid var(--ouro);}
.rkr-ponto.inf{background-image:linear-gradient(90deg,var(--ouro) 50%,transparent 50%);border:1px solid var(--ouro);}
.rkr-ponto.hip{background:transparent;border:1px dashed var(--mudo);}
.rkr-ponto.conf{background:var(--terra);}
.rkr-ponto.abt{background:transparent;border:1px dashed var(--sage);}

.rkr-arvore{display:flex;flex-direction:column;align-items:center;}
.rkr-ger{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;}
.rkr-elo{width:1px;height:28px;background:var(--borda);}
.rkr-gerlabel{font-family:var(--mono);font-size:0.8rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mudo);margin:1.5rem 0 0.9rem;width:100%;text-align:center;}

.rkr-cartao{background:var(--superficie);border:1px solid var(--borda);border-radius:10px;
  width:min(270px,100%);padding:1.1rem;text-align:left;cursor:pointer;display:flex;gap:0.85rem;
  align-items:flex-start;font-family:inherit;color:var(--texto);
  transition:border-color .2s ease,background .2s ease;}
.rkr-cartao:hover,.rkr-cartao:focus-visible{border-color:var(--ouro);}
.rkr-cartao:focus-visible{outline:2px solid var(--ouro);outline-offset:3px;}
.rkr-cartao[data-linha="direta"]{border-color:rgba(156, 107, 60,.5);background:rgba(156, 107, 60,.05);}
.rkr-cartao[data-linha="aberta"]{border-style:dashed;border-color:rgba(90, 110, 86,.6);}
.rkr-cartao[aria-current="true"]{border-color:var(--ouro);background:rgba(156, 107, 60,.1);}

.rkr-chapa{width:42px;height:50px;flex:0 0 42px;background:var(--ouro);border-radius:3px;
  display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:bold;
  font-size:1rem;color:var(--papel);}

.rkr-nome{font-family:Georgia,serif;font-size:1.15rem;color:var(--claro);line-height:1.25;display:block;}
.rkr-vida{font-family:var(--mono);font-size:0.8rem;color:var(--mudo);margin-top:0.4rem;display:block;line-height:1.45;}
.rkr-papel{font-size:1rem;color:var(--soft);margin-top:0.5rem;line-height:1.5;display:block;}

/* ---- painel de detalhe, agora INLINE dentro da grade da geração ---- */
.rkr-detalhe{
  flex:1 1 100%;
  max-width:100%;
  margin-top:0.35rem;
  margin-bottom:0.35rem;
  border:1px solid var(--ouro);
  border-radius:10px;
  background:var(--superficie);
  padding:1.4rem 1.3rem;
}
.rkr-detalhe-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;}
.rkr-detalhe h2{font-family:Georgia,serif;font-size:1.5rem;color:var(--claro);line-height:1.2;text-align:left;margin:0;}
.rkr-detalhe-sub{font-family:var(--mono);font-size:0.8rem;color:var(--ouro);letter-spacing:.1em;text-transform:uppercase;margin-top:0.35rem;}
.rkr-fechar{background:none;border:1px solid var(--borda);border-radius:6px;color:var(--soft);
  font-family:var(--mono);font-size:0.8rem;padding:0.4rem 0.8rem;cursor:pointer;flex:0 0 auto;}
.rkr-fechar:hover{border-color:var(--ouro);color:var(--ouro);}

.rkr-bloco{margin-top:1.4rem;}
.rkr-bloco h3{font-family:var(--mono);font-size:0.8rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mudo);padding-bottom:0.5rem;border-bottom:1px solid var(--borda);margin:0 0 0.7rem;}
.rkr-fato{display:grid;grid-template-columns:12px 1fr;gap:0.8rem;padding:0.55rem 0;align-items:start;}
.rkr-fato+.rkr-fato{border-top:1px dotted rgba(92, 86, 77,.28);}
.rkr-fato .rkr-ponto{margin-top:8px;}
.rkr-rot{font-family:var(--mono);font-size:0.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mudo);display:block;margin-bottom:0.2rem;}
.rkr-val{font-size:1.0625rem;color:var(--texto);display:block;line-height:1.55;}
.rkr-src{font-family:var(--mono);font-size:0.8rem;color:var(--mudo);margin-top:0.35rem;display:block;line-height:1.55;}
.rkr.filtrado .rkr-fato[data-status="inf"],.rkr.filtrado .rkr-fato[data-status="hip"]{opacity:.2;}

.rkr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.rkr-busca-wrap{width:100%;max-width:440px;margin:0 auto 1.1rem;}
.rkr-busca{
  width:100%;font-family:Georgia,serif;font-size:1.08rem;line-height:1.4;
  background:var(--superficie);color:var(--claro);border:1px solid var(--borda);
  border-radius:8px;padding:0.8rem 1rem;min-height:48px;
}
.rkr-busca::placeholder{color:var(--mudo);}
.rkr-busca:focus{outline:2px solid var(--ouro);outline-offset:2px;border-color:var(--ouro);}
.rkr-busca-status{font-family:var(--mono);font-size:0.8rem;color:var(--mudo);text-align:center;margin:0.5rem 0 0;}

.rkr-gerbloco{width:100%;display:flex;flex-direction:column;align-items:center;}
.rkr-gerbloco[hidden]{display:none !important;}
.rkr-gerbtn{
  font-family:var(--mono);font-size:0.8rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mudo);background:transparent;border:1px solid var(--borda);border-radius:999px;
  padding:0.55rem 1.1rem;cursor:pointer;margin:1.15rem 0 0.75rem;min-height:44px;max-width:100%;
}
.rkr-gerbtn:hover,.rkr-gerbtn:focus-visible{border-color:var(--ouro);color:var(--ouro);}
.rkr-gerbtn[aria-expanded="true"]{color:var(--ouro);border-color:rgba(156, 107, 60,.45);}
.rkr-gercont{width:100%;display:flex;flex-direction:column;align-items:center;}
.rkr-gercont[hidden]{display:none !important;}
.rkr-cartao[hidden]{display:none !important;}

.rkr-links{display:flex;flex-direction:column;gap:0.55rem;margin-top:1.3rem;}
.rkr-link{
  display:flex;align-items:center;justify-content:space-between;gap:0.8rem;
  background:rgba(156, 107, 60,.06);border:1px solid rgba(156, 107, 60,.35);
  border-radius:8px;padding:0.75rem 1rem;color:var(--claro);text-decoration:none;
  min-height:44px;font-size:0.95rem;text-align:left;
}
.rkr-link:hover{border-color:var(--ouro);color:var(--ouro);text-decoration:none;}
.rkr-link-tipo{font-family:var(--mono);font-size:0.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ouro);flex:0 0 auto;}

@media (max-width:480px){
  .rkr-cartao{width:100%;}
  .rkr-detalhe{padding:1.1rem 1rem;}
  .rkr-detalhe h2{font-size:1.3rem;}
}
@media (prefers-reduced-motion:reduce){.rkr *{transition:none!important;animation:none!important;}}
