/* a fonte de fallback e ajustada para ocupar o mesmo espaco da Bangers.
   Sem isto o titulo da capa encolhia de 94px para 47px quando a fonte chegava,
   e a pagina inteira subia junto: CLS medido de 0,179. */
@font-face{font-family:"Bangers-fb";src:local("Impact"),local("Haettenschweiler"),local("Arial Black");
  size-adjust:62.7%;ascent-override:105%;descent-override:24%;line-gap-override:0%}
:root{
  /* Grand Line: mar, tesouro, bandeira, pergaminho */
  --papel:#fff6e2; --papel-2:#ffeecb; --tinta:#151016;
  --vermelho:#e03131; --vermelho-esc:#a51d1d;
  --ouro:#ffb703; --ouro-esc:#e08e00;
  --mar:#166d9c; --mar-esc:#0d5580;
  --verde:#217a53; --roxo:#7048a8;
  --sombra:6px 6px 0 var(--tinta);
  --sombra-sm:3px 3px 0 var(--tinta);
  --display:"Bangers","Bangers-fb",Impact,sans-serif;
  --titulo:"Baloo 2",system-ui,sans-serif;
  --corpo:"Nunito",system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{
  background:var(--papel); color:var(--tinta);
  font:400 17px/1.62 var(--corpo); -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(rgba(21,16,22,.085) 1px, transparent 1.1px),
    linear-gradient(180deg,var(--papel-2),var(--papel) 22rem);
  background-size:22px 22px, 100% 100%;
  background-attachment:fixed;
}
body::before{ /* halftone de canto, como sombreado de mangá */
  content:"";position:fixed;right:-8rem;top:-8rem;width:26rem;height:26rem;z-index:0;
  pointer-events:none;opacity:.07;border-radius:50%;
  background:radial-gradient(var(--vermelho) 1.4px,transparent 1.6px);background-size:14px 14px;
  -webkit-mask-image:radial-gradient(circle,#000 40%,transparent 72%);
  mask-image:radial-gradient(circle,#000 40%,transparent 72%);
}
.env{max-width:85rem;margin:0 auto;padding:0 1.4rem;position:relative;z-index:1}
a{color:inherit}

/* ---------- topo ---------- */
header.topo{background:var(--vermelho);border-bottom:4px solid var(--tinta);
  position:sticky;top:0;z-index:60;box-shadow:0 4px 0 rgba(21,16,22,.18)}
.topo .env{display:flex;align-items:center;gap:1.4rem;padding:.7rem 1.4rem}
.marca{font:400 1.9rem/1 var(--display);letter-spacing:.045em;color:var(--papel);
  text-decoration:none;text-shadow:2.5px 2.5px 0 var(--tinta);transform:rotate(-1.6deg);
  display:inline-block;transition:transform .18s}
.marca:hover{transform:rotate(-1.6deg) scale(1.05)}
.marca span{color:var(--ouro)}
nav.topo-nav{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap}
nav.topo-nav a{font:600 .84rem/1 var(--titulo);letter-spacing:.03em;text-transform:uppercase;
  color:var(--tinta);background:var(--papel);text-decoration:none;padding:.5rem .8rem;
  border:2.5px solid var(--tinta);border-radius:999px;box-shadow:var(--sombra-sm);
  transition:transform .14s, background .14s}
nav.topo-nav a:hover{transform:translate(-1px,-2px);background:var(--ouro)}
nav.topo-nav a[aria-current]{background:var(--ouro);transform:rotate(-2deg)}

/* ---------- capa ---------- */
.capa{padding:4.5rem 0 3rem;text-align:center}
.rotulo{display:inline-block;font:600 .8rem/1 var(--titulo);letter-spacing:.1em;
  text-transform:uppercase;background:var(--mar);color:#fff;padding:.5rem .9rem;
  border:2.5px solid var(--tinta);border-radius:999px;box-shadow:var(--sombra-sm);
  transform:rotate(-1.5deg);margin-bottom:1.6rem}
.capa h1{font:400 clamp(3.2rem,10vw,6.5rem)/.92 var(--display);letter-spacing:.02em;
  text-transform:uppercase;color:var(--papel);
  text-shadow:4px 4px 0 var(--tinta),8px 8px 0 var(--ouro);
  -webkit-text-stroke:3px var(--tinta);animation:entra .55s cubic-bezier(.2,1.4,.4,1) both}
.capa h1 em{font-style:normal;color:var(--ouro);-webkit-text-stroke:3px var(--tinta);
  display:inline-block;animation:balanca 3.6s ease-in-out infinite}
@keyframes entra{from{opacity:0;transform:scale(.86) rotate(-3deg)}}
@keyframes balanca{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
.capa .sub{margin:1.8rem auto 0;max-width:56ch;font-size:1.12rem;font-weight:500;
  background:var(--papel);padding:1rem 1.3rem;border-radius:14px;
  border:2.5px solid var(--tinta);box-shadow:var(--sombra-sm)}
.painel{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.6rem}
.painel div{background:var(--papel);border:3px solid var(--tinta);border-radius:14px;
  box-shadow:var(--sombra);padding:.9rem 1.3rem;min-width:8.5rem;
  animation:pula .5s cubic-bezier(.2,1.5,.4,1) both}
.painel div:nth-child(2){transform:rotate(1.4deg);animation-delay:.07s}
.painel div:nth-child(3){transform:rotate(-1.2deg);animation-delay:.14s}
.painel div:nth-child(4){animation-delay:.21s}
@keyframes pula{from{opacity:0;transform:translateY(14px) scale(.9)}}
.painel b{display:block;font:400 2.3rem/1 var(--display);letter-spacing:.03em;color:var(--vermelho)}
.painel div:nth-child(2) b{color:var(--mar)}
.painel div:nth-child(3) b{color:var(--roxo)}
.painel div:nth-child(4) b{color:var(--verde)}
.painel small{font:700 .72rem/1.3 var(--titulo);letter-spacing:.07em;text-transform:uppercase;opacity:.72}

/* ---------- seções ---------- */
section{padding:3.4rem 0}
.cab{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:.6rem}
.cab h1,.cab h2{font:400 2.5rem/1 var(--display);letter-spacing:.03em;text-transform:uppercase;
  color:var(--tinta);text-shadow:0 0 6px var(--papel),0 0 12px var(--papel)}
.cab h1::after,.cab h2::after{content:"";display:block;height:5px;background:var(--ouro);
  border:2.5px solid var(--tinta);border-radius:3px;margin-top:.2rem}
.cab .n{font:700 .78rem/1 var(--mono);background:var(--tinta);color:var(--papel);
  padding:.34rem .6rem;border-radius:999px}
.intro{margin-bottom:2rem;font-weight:500;background:var(--papel);
  padding:.95rem 1.2rem;border-radius:12px;border:2px solid rgba(21,16,22,.14);
  box-shadow:3px 3px 0 rgba(21,16,22,.07)}

/* ---------- hipóteses ---------- */
.hip{background:var(--papel);border:3px solid var(--tinta);border-radius:16px;
  box-shadow:var(--sombra);margin-bottom:1.5rem;overflow:hidden;transition:transform .16s}
.hip:hover{transform:translate(-2px,-3px)}
.hip:nth-of-type(even){transform:rotate(.35deg)}
.hip:nth-of-type(even):hover{transform:rotate(.35deg) translate(-2px,-3px)}
.hip details{border:0}
.hip summary::-webkit-details-marker{display:none}
.hip summary::marker{content:""}
.hip-cab{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;
  cursor:pointer;list-style:none;padding:1.2rem 1.3rem}
.hip-id{font:700 .78rem/1 var(--mono);background:var(--mar);color:#fff;padding:.35rem .55rem;
  border:2px solid var(--tinta);border-radius:8px}
.hip-enun{font:600 1.14rem/1.4 var(--titulo);text-wrap:pretty;margin:0;max-width:74ch}
.hip-pct{font:400 2.1rem/1 var(--display);color:var(--vermelho);letter-spacing:.02em;white-space:nowrap}
.sonda{grid-column:1/4;height:16px;background:var(--papel-2);border:2.5px solid var(--tinta);
  border-radius:999px;overflow:hidden;margin-top:.2rem}
.sonda i{display:block;height:100%;border-right:2.5px solid var(--tinta);
  background:repeating-linear-gradient(45deg,var(--ouro) 0 9px,var(--ouro-esc) 9px 18px);
  animation:sonda 1s cubic-bezier(.2,1.2,.3,1) both}
@keyframes sonda{from{width:0!important}}
.hip[data-rank="0"] .sonda i{background:repeating-linear-gradient(45deg,var(--ouro) 0 9px,var(--ouro-esc) 9px 18px)}
.hip[data-rank="1"] .sonda i{background:repeating-linear-gradient(45deg,var(--mar) 0 9px,var(--mar-esc) 9px 18px)}
.hip[data-rank="2"] .sonda i{background:repeating-linear-gradient(45deg,var(--verde) 0 9px,#217a53 9px 18px)}
.hip .sonda i{background:repeating-linear-gradient(45deg,var(--roxo) 0 9px,#523381 9px 18px)}
.hip-meta{grid-column:1/4;display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.2rem}
.selo{font:700 .7rem/1 var(--titulo);letter-spacing:.04em;text-transform:uppercase;
  background:var(--papel-2);border:2px solid var(--tinta);padding:.32rem .55rem;border-radius:999px}
.selo.ferida{background:var(--vermelho);color:#fff}
.hip[data-status="refutada"]{background:repeating-linear-gradient(45deg,#efe6d2 0 12px,#e9dfc9 12px 24px)}
.hip[data-status="refutada"] .hip-pct{color:var(--tinta);font-size:1.6rem;opacity:.5}
.hip[data-status="refutada"] .hip-enun{text-decoration:line-through;text-decoration-thickness:2px;
  text-decoration-color:var(--vermelho)}
.corpo{padding:0 1.3rem 1.4rem;animation:desdobra .26s ease both}
@keyframes desdobra{from{opacity:0;transform:translateY(-8px)}}
.corpo h4{font:400 1.25rem/1 var(--display);letter-spacing:.03em;text-transform:uppercase;
  color:var(--vermelho-esc);margin:1.6rem 0 .6rem}
.corpo p{margin:.65rem 0;max-width:68ch}
.corpo ul{margin:.5rem 0 .5rem 1.2rem}
.corpo li{margin:.3rem 0}
code{font:.85em var(--mono);background:var(--tinta);color:var(--ouro);
  padding:.12em .4em;border-radius:5px}
.elo{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:.6rem .8rem;margin:.45rem 0;
  background:var(--papel-2);border:2px solid var(--tinta);border-radius:10px;align-items:start}
.elo.contra{background:#ffe3e0}
.elo .ev{font:700 .74rem/1.5 var(--mono);color:#fff;background:var(--verde);text-decoration:none;
  padding:.25rem .45rem;border:2px solid var(--tinta);border-radius:7px;white-space:nowrap}
.elo.contra .ev{background:var(--vermelho)}
.elo .ev:hover{background:var(--tinta)}
.elo .como{font-size:.95rem;max-width:78ch}
.elo .peso{font:700 .7rem var(--mono);opacity:.6;margin-top:.2rem}
.prev{display:flex;gap:.7rem;align-items:baseline;max-width:86ch;padding:.5rem .8rem;margin:.4rem 0;
  background:#e7f3fb;border:2px solid var(--tinta);border-radius:10px}
.prev b{font:700 .68rem/1.5 var(--titulo);letter-spacing:.06em;text-transform:uppercase;
  background:var(--mar);color:#fff;padding:.2rem .45rem;border-radius:999px;white-space:nowrap}
details.rt{margin-top:1.3rem;border:2.5px solid var(--tinta);border-radius:12px;
  background:var(--tinta);overflow:hidden}
details.rt summary{cursor:pointer;padding:.7rem .9rem;font:400 1.15rem/1 var(--display);
  letter-spacing:.05em;text-transform:uppercase;color:var(--ouro);list-style:none}
details.rt summary::-webkit-details-marker{display:none}
details.rt summary::before{content:"⚔ "}
.rt-corpo{padding:0 1rem 1rem;max-width:96ch;color:#e7ddc9;max-height:34rem;overflow:auto;font-size:.9rem}
.rt-corpo h5,.rt-corpo h6{font:400 1.05rem/1.2 var(--display);letter-spacing:.04em;
  color:var(--ouro);margin:1rem 0 .4rem;text-transform:uppercase}
.rt-corpo p{margin:.5rem 0;max-width:66ch}
.rt-corpo ul{margin:.4rem 0 .4rem 1.1rem}
.rt-corpo li{margin:.25rem 0}
.rt-corpo code{background:#2a2230;color:var(--ouro)}
.rt-corpo strong{color:#fff}
.rt-corpo .ref{color:var(--ouro)}

/* ---------- evidências ---------- */
.busca{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.6rem}
.busca input[type=search],.busca select{background:var(--papel);border:3px solid var(--tinta);
  color:var(--tinta);padding:.7rem .9rem;border-radius:12px;box-shadow:var(--sombra-sm);
  font:600 .95rem var(--corpo)}
.busca input[type=search]{flex:1;min-width:15rem}
.busca input[type=search]:focus-visible,.busca select:focus-visible{outline:3px solid var(--tinta);
  outline-offset:2px;background:var(--papel-2)}
.ev-item{content-visibility:auto;contain-intrinsic-size:auto 132px;background:var(--papel);border:2.5px solid var(--tinta);border-radius:12px;
  box-shadow:var(--sombra-sm);padding:.9rem 1.1rem;margin-bottom:.8rem;
  display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;align-items:start;
  transition:transform .14s}
.ev-item:hover{transform:translate(-2px,-2px)}
.ev-item:target{background:var(--ouro);animation:pisca .9s ease 2}
@keyframes pisca{50%{background:var(--papel-2)}}
.ev-id{font:700 .74rem/1.4 var(--mono);color:#fff;background:#166d9c;text-decoration:none;padding:.25rem .45rem;
  border:2px solid var(--tinta);border-radius:7px;display:inline-block}
.ev-cap{display:block;margin-top:.35rem;font:700 .7rem/1.4 var(--titulo);opacity:.65}
.ev-txt{font-size:.99rem;font-weight:500;text-wrap:pretty;max-width:82ch}
.ev-tags{margin-top:.55rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.tag{font:700 .66rem/1 var(--titulo);letter-spacing:.03em;text-transform:uppercase;
  border:2px solid var(--tinta);padding:.26rem .45rem;border-radius:999px;background:var(--papel-2)}
.tag.canonico{background:#1f7d55;color:#fff}
.tag.traducao_disputada{background:var(--vermelho);color:#fff}
.tag.ambiguo{background:var(--ouro)}
.tag.sbs{background:var(--roxo);color:#fff}
.ev-item a.fonte{font:700 .68rem var(--titulo);text-transform:uppercase;letter-spacing:.04em;
  text-decoration:none;border-bottom:2px dotted currentColor;opacity:.7}
.ev-item a.fonte:hover{opacity:1;color:var(--mar)}
.vazio{padding:2rem;text-align:center;font-weight:700;background:var(--papel-2);
  border:3px dashed var(--tinta);border-radius:14px}

/* ---------- método ---------- */
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem;margin-top:1.8rem}
.card{border:3px solid var(--tinta);border-radius:16px;padding:1.3rem;background:var(--papel);
  box-shadow:var(--sombra)}
.card:nth-child(1){background:#fff0d6}.card:nth-child(2){background:#e7f3fb}
.card:nth-child(3){background:#ffe3e0}.card:nth-child(4){background:#e4f6ec}
.card h3{font:400 1.5rem/1 var(--display);letter-spacing:.03em;text-transform:uppercase;
  margin-bottom:.5rem;color:var(--vermelho)}
.card:nth-child(2) h3{color:var(--mar)}.card:nth-child(3) h3{color:var(--vermelho-esc)}
.card:nth-child(4) h3{color:var(--verde)}
.card p{font-size:.94rem;font-weight:500}
blockquote{background:var(--papel-2);border:3px solid var(--tinta);
  border-radius:12px;padding:1.1rem 1.3rem 1.1rem 3.1rem;margin:1.1rem 0;max-width:64ch;
  font-weight:500;box-shadow:var(--sombra-sm);position:relative}
blockquote::before{content:"C";position:absolute;left:.7rem;top:.1rem;
  font:400 3.2rem/1 var(--display);color:var(--ouro)}

footer{background:var(--tinta);color:#e7ddc9;border-top:4px solid var(--tinta);
  padding:2.6rem 0 3.5rem;font-size:.88rem;margin-top:3rem}
footer p{max-width:64ch;margin:.7rem 0}
footer a{color:var(--ouro)}
footer code{background:var(--papel);color:var(--tinta)}
@media(max-width:560px){
  header.topo{position:static}
  nav.topo-nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:.2rem;
    scrollbar-width:none}
  nav.topo-nav::-webkit-scrollbar{display:none}
  nav.topo-nav a{padding:.45rem .6rem;white-space:nowrap}
  .topo .env{gap:.7rem;padding:.6rem 1rem}
  .marca{font-size:1.5rem}
}
@media(max-width:640px){
  .hip-cab{grid-template-columns:1fr auto;padding:1rem}
  .hip-id{display:none}
  .ev-item{grid-template-columns:1fr}
  .capa h1{-webkit-text-stroke:2px var(--tinta)}
}

/* barra so corre quando entra em vista */
.sonda i{display:block;height:100%;width:0;border-right:2.5px solid var(--tinta);
  background:repeating-linear-gradient(45deg,var(--ouro) 0 9px,var(--ouro-esc) 9px 18px)}
.sonda[data-visivel] i{width:var(--pct);transition:width .95s cubic-bezier(.2,1.2,.3,1)}
/* impacto de mangá ao abrir o dossiê */
.hip-cab{position:relative;overflow:hidden}
.hip-cab.bateu::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:conic-gradient(from 0deg,var(--ouro) 0 3deg,transparent 3deg 30deg);
  animation:bate .38s ease-out both}
@keyframes bate{from{opacity:.55;transform:scale(.2)}to{opacity:0;transform:scale(1.5)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ev-cita{margin-top:.5rem;display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;
  font:700 .66rem/1 var(--titulo);text-transform:uppercase;letter-spacing:.03em;opacity:.85}
.ev-cita .cita{text-decoration:none;border:2px solid var(--tinta);border-radius:999px;
  padding:.22rem .45rem;background:#e4f6ec}
.ev-cita .cita.contradiz{background:#ffe3e0}
.ev-cita .cita i{font-style:normal;opacity:.6;margin-left:.25rem;font-size:.9em}
.ev-cita .cita:hover{background:var(--ouro)}
.ev-cita.orfao{opacity:.55;font-style:italic;text-transform:none;letter-spacing:0}
.perma{margin-left:auto;text-decoration:none;font:700 .9rem var(--mono);opacity:.35;
  padding:.1rem .35rem;border-radius:5px}
.perma:hover{opacity:1;background:var(--ouro)}
.hip-meta{align-items:center}
.ref{color:var(--mar);text-decoration:none;border-bottom:1.5px dotted currentColor;
  font:700 .92em var(--mono)}
.ref:hover{background:var(--ouro);color:var(--tinta)}
.tabela{width:100%;border-collapse:separate;border-spacing:0;margin:1rem 0;
  border:3px solid var(--tinta);border-radius:14px;overflow:hidden;background:var(--papel);
  box-shadow:var(--sombra)}
.tabela th{background:var(--tinta);color:var(--papel);font:700 .72rem/1 var(--titulo);
  text-transform:uppercase;letter-spacing:.05em;padding:.7rem .9rem;text-align:left}
.tabela td{padding:.65rem .9rem;border-top:2px solid rgba(21,16,22,.12);font-size:.92rem}
.tabela tr:nth-child(even) td{background:var(--papel-2)}
.tabela .num{text-align:right;font:700 .8rem var(--mono);white-space:nowrap}
.tabela a{font-weight:700}
.botao-grande{display:inline-block;background:var(--ouro);border:3px solid var(--tinta);
  border-radius:12px;padding:.7rem 1.2rem;font:400 1.35rem/1 var(--display);
  letter-spacing:.03em;text-transform:uppercase;text-decoration:none;
  box-shadow:var(--sombra);transition:transform .14s;margin:0 .5rem .5rem 0}
.botao-grande:hover{transform:translate(-2px,-3px)}
.botao-grande.alt{background:var(--mar);color:#fff}
pre.cmd{background:var(--tinta);color:#e7ddc9;border-radius:10px;padding:.7rem .9rem;
  margin:.6rem 0;overflow-x:auto;font:.78rem/1.55 var(--mono);white-space:pre}
.card pre.cmd{font-size:.72rem}
.estado{max-width:62ch;margin:2.4rem auto 0;background:var(--papel);border:3px solid var(--tinta);
  border-radius:16px;box-shadow:var(--sombra);padding:1.2rem 1.4rem;text-align:left}
.estado p{margin:.5rem 0}
.estado b{font:400 1.25rem/1 var(--display);letter-spacing:.03em;text-transform:uppercase;
  color:var(--vermelho);display:block;margin-bottom:.2rem}
.estado .miudo{font-size:.9rem;opacity:.8;border-top:2px dotted rgba(21,16,22,.2);
  padding-top:.6rem;margin-top:.8rem}
.legenda-rot{display:grid;gap:.5rem;margin:-.6rem 0 1.8rem}
.legenda-rot div{display:grid;grid-template-columns:9.5rem 1fr;gap:.7rem;align-items:baseline}
.legenda-rot dd{font-size:.9rem;margin:0}
.selo.morta{background:var(--tinta);color:var(--papel)}
.selo.ferida{background:var(--papel-2);color:var(--vermelho-esc);border-color:var(--vermelho);
  border-style:dashed}
.vered{display:inline-flex;align-items:center;gap:.5rem;margin:.2rem 0 1rem;
  font:600 .92rem var(--titulo);background:var(--papel-2);border:2.5px solid var(--tinta);
  border-radius:999px;padding:.35rem .8rem}
.vered b{font:400 1.05rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;
  color:var(--vermelho)}
.vered.refutada{background:var(--tinta);color:var(--papel)}
.vered.refutada b{color:var(--ouro)}
.conta{font:700 .74rem/1.5 var(--mono);opacity:.72;margin:.3rem 0 1rem;
  border-bottom:2px dotted rgba(21,16,22,.2);padding-bottom:.6rem}
.achados{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.9rem;
  margin:0 0 1.4rem}
.achado{background:var(--papel);border:3px solid var(--tinta);border-radius:14px;
  box-shadow:var(--sombra-sm);padding:.85rem 1rem;display:flex;gap:.7rem;align-items:flex-start}
.achado b{font:400 2rem/1 var(--display);color:var(--vermelho);letter-spacing:.02em}
.achado:nth-child(2) b{color:var(--mar)}
.achado:nth-child(3) b{color:var(--roxo)}
.achado:nth-child(4) b{color:var(--verde)}
.achado span{font-size:.86rem;font-weight:500;line-height:1.4}
.tabela-grafo{margin:1.4rem 0;border:3px solid var(--tinta);border-radius:14px;
  background:var(--papel);box-shadow:var(--sombra-sm)}
.tabela-grafo>summary{cursor:pointer;padding:.8rem 1rem;font:400 1.15rem/1 var(--display);
  letter-spacing:.04em;text-transform:uppercase}
.tabela-grafo .tabela{margin:0 1rem 1rem;box-shadow:none}
.tabela-grafo .intro{margin:0 1rem 1rem}
.ico{vertical-align:-.22em;margin-right:.45rem;color:var(--vermelho)}
.linha{list-style:none;margin:1.5rem 0;padding:0;position:relative}
.linha::before{content:"";position:absolute;left:8.4rem;top:.5rem;bottom:.5rem;width:4px;
  background:repeating-linear-gradient(180deg,var(--tinta) 0 8px,transparent 8px 14px)}
.marco{display:grid;grid-template-columns:8.4rem 1fr;gap:1.6rem;margin-bottom:1.1rem;
  position:relative}
.marco::before{content:"";position:absolute;left:7.75rem;top:1.15rem;width:1.35rem;
  height:1.35rem;border-radius:50%;background:var(--ouro);border:3px solid var(--tinta);z-index:1}
.marco.ambigua::before{background:var(--papel-2)}
.marco.disputada::before{background:var(--vermelho)}
.marco-data{text-align:right;font:700 .78rem/1.4 var(--mono);padding-top:1.2rem;opacity:.75}
.marco-corpo{background:var(--papel);border:3px solid var(--tinta);border-radius:14px;
  box-shadow:var(--sombra-sm);padding:.9rem 1.1rem}
.marco-corpo h3{font:400 1.4rem/1.15 var(--display);letter-spacing:.03em;
  text-transform:uppercase;margin-bottom:.4rem;display:flex;align-items:center}
.marco-corpo p{font-size:.94rem;margin:.35rem 0}
.checas{display:grid;gap:1.1rem;margin:1.6rem 0 2.2rem}
.checa{background:var(--papel);border:2.5px solid var(--tinta);border-radius:14px;
  padding:1.1rem 1.2rem;box-shadow:var(--sombra-sm)}
.checa .afirma{font:600 1.06rem/1.4 var(--titulo);margin:0 0 .55rem;
  color:var(--tinta);text-wrap:balance}
.checa .afirma::before{content:"C";font:700 1.5rem var(--display);
  color:var(--tinta);opacity:.35;margin-right:.15rem}
.checa .vered{margin:0 0 .6rem}
.sel-v{display:inline-block;font:700 .66rem/1 var(--mono);letter-spacing:.06em;
  text-transform:uppercase;padding:.4rem .6rem;border:2.5px solid var(--tinta);
  border-radius:999px;box-shadow:var(--sombra-sm)}
.checa.ok .sel-v{background:var(--ouro)}
.checa.meio .sel-v{background:var(--papel-2)}
.checa.vazio .sel-v,.checa.contra .sel-v{background:var(--vermelho);color:#fff}
.checa .expl{margin:0;font-size:.97rem;line-height:1.62;color:var(--tinta)}
.checa:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--tinta)}
.checa{transition:transform .12s,box-shadow .12s}
@media (prefers-reduced-motion:reduce){.checa{transition:none}}
.marco-ev{margin-top:.6rem;display:flex;gap:.4rem;flex-wrap:wrap}
.marco-ev a{font:700 .68rem var(--mono);text-decoration:none;background:var(--papel-2);
  border:2px solid var(--tinta);border-radius:999px;padding:.22rem .45rem}
.marco-ev a:hover{background:var(--ouro)}
.legenda-cert{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center;
  font:700 .72rem var(--titulo);text-transform:uppercase;letter-spacing:.03em;margin:-.6rem 0 1.2rem}
.legenda-cert .pt{width:.9rem;height:.9rem;border-radius:50%;border:2.5px solid var(--tinta);
  display:inline-block;margin-right:.25rem;vertical-align:-.1em}
.legenda-cert .pt.canonica{background:var(--ouro)}
.legenda-cert .pt.ambigua{background:var(--papel-2)}
.legenda-cert .pt.disputada{background:var(--vermelho)}
@media(max-width:620px){
  .linha::before{left:.55rem}
  .marco{grid-template-columns:1fr;gap:.3rem;padding-left:2.2rem}
  .marco::before{left:0;top:.4rem}
  .marco-data{text-align:left;padding-top:0}
}
mark{background:var(--ouro);color:var(--tinta);padding:0 .12em;border-radius:3px}
.ev-item.selecionado{outline:4px solid var(--mar);outline-offset:2px}
.ev-item[hidden]{display:none}
:focus-visible{outline:3px solid var(--mar);outline-offset:3px;border-radius:4px}
#ao-topo{position:fixed;right:1.1rem;bottom:1.1rem;z-index:70;width:3rem;height:3rem;
  border-radius:50%;border:3px solid var(--tinta);background:var(--ouro);cursor:pointer;
  font:400 1.5rem/1 var(--display);box-shadow:var(--sombra);transition:transform .14s}
#ao-topo:hover{transform:translateY(-3px)}
#ao-topo[hidden]{display:none}
/* pipeline numerado: a ordem dos papéis é o conteúdo */
.grade.passos{counter-reset:passo}
.grade.passos .card{counter-increment:passo;position:relative;padding-top:2.1rem}
.grade.passos .card::before{content:counter(passo);position:absolute;top:-.9rem;left:1.1rem;
  width:2.1rem;height:2.1rem;border-radius:50%;background:var(--tinta);color:var(--ouro);
  display:grid;place-items:center;font:400 1.2rem/1 var(--display);border:3px solid var(--tinta)}
.grade.passos .card::after{content:"→";position:absolute;right:-1.15rem;top:50%;
  transform:translateY(-50%);font:700 1.3rem var(--titulo);color:var(--tinta);opacity:.45}
.grade.passos .card:last-child::after{content:""}
@media(max-width:52rem){.grade.passos .card::after{content:"↓";right:50%;top:auto;bottom:-1.4rem;
  transform:translateX(50%)}}

/* ---------- grafo ---------- */
.g-wrap{display:grid;grid-template-columns:1fr 24rem;gap:1rem;height:min(74vh,780px)}
.g-tela{position:relative;background:var(--papel);border:3px solid var(--tinta);
  border-radius:16px;box-shadow:var(--sombra);overflow:hidden}
#cv{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.g-barra{position:absolute;left:.7rem;top:.7rem;right:.7rem;display:flex;gap:.45rem;
  flex-wrap:wrap;align-items:center;pointer-events:none;z-index:2}
.g-barra>*{pointer-events:auto}
.g-barra input[type=search]{background:var(--papel);border:2.5px solid var(--tinta);
  border-radius:999px;padding:.4rem .8rem;font:600 .82rem var(--corpo);width:12rem;
  box-shadow:var(--sombra-sm)}
.g-chip{display:inline-flex;align-items:center;gap:.32rem;background:var(--papel);
  border:2.5px solid var(--tinta);border-radius:999px;padding:.32rem .6rem;cursor:pointer;
  font:700 .68rem/1 var(--titulo);text-transform:uppercase;letter-spacing:.03em;
  box-shadow:var(--sombra-sm);user-select:none}
.g-chip input{accent-color:var(--tinta);margin:0}
.g-chip i{width:.62rem;height:.62rem;border-radius:50%;border:1.5px solid var(--tinta);display:inline-block}
.g-bt{background:var(--ouro);border:2.5px solid var(--tinta);border-radius:999px;
  padding:.34rem .7rem;font:700 .68rem/1 var(--titulo);text-transform:uppercase;
  letter-spacing:.03em;cursor:pointer;box-shadow:var(--sombra-sm)}
.g-bt:hover{background:var(--papel)}
.g-conta{position:absolute;right:.8rem;bottom:.7rem;font:700 .7rem var(--mono);
  background:var(--tinta);color:var(--papel);padding:.3rem .6rem;border-radius:999px;z-index:2}
.g-legenda{position:absolute;left:.8rem;bottom:.7rem;display:flex;gap:.5rem;flex-wrap:wrap;z-index:2}
.g-leg{display:flex;align-items:center;gap:.3rem;background:rgba(255,246,226,.92);
  border:2px solid var(--tinta);border-radius:999px;padding:.2rem .5rem;
  font:700 .64rem/1 var(--titulo);text-transform:uppercase}
.g-leg i{width:.6rem;height:.6rem;border-radius:50%;border:1.5px solid var(--tinta)}
.g-ajustes{position:relative}
.g-ajustes[open]>summary{background:var(--tinta);color:var(--ouro)}
.g-ajustes summary{list-style:none}
.g-ajustes summary::-webkit-details-marker{display:none}
.g-ctrl{position:absolute;top:2.4rem;left:0;z-index:5;width:17rem;background:var(--papel);
  border:3px solid var(--tinta);border-radius:14px;box-shadow:var(--sombra);padding:.8rem;
  display:flex;flex-direction:column;gap:.55rem;max-height:60vh;overflow-y:auto}
.g-ctrl label{display:grid;font:700 .66rem/1.3 var(--titulo);text-transform:uppercase;
  letter-spacing:.03em;gap:.2rem}
.g-ctrl output{font:700 .72rem var(--mono);color:var(--mar);justify-self:end;margin-top:-1rem}
.g-ctrl input[type=range]{width:100%;accent-color:var(--vermelho);margin:0}
.g-ctrl select{border:2px solid var(--tinta);border-radius:8px;padding:.25rem;
  font:600 .74rem var(--corpo);background:var(--papel)}
.g-ctrl .g-check{display:flex;flex-direction:row;align-items:center;gap:.4rem;text-transform:none}
.g-ctrl .g-bt{margin-top:.3rem}
#painel{background:var(--papel);border:3px solid var(--tinta);border-radius:16px;
  box-shadow:var(--sombra);padding:1rem;overflow-y:auto}
#painel h4{font:400 1.6rem/1 var(--display);letter-spacing:.03em;margin:.5rem 0 .7rem}
#painel h5{font:700 .7rem/1 var(--mono);margin:.9rem 0 .4rem;letter-spacing:.04em}
.g-lab{display:inline-block;font:700 .66rem/1 var(--titulo);text-transform:uppercase;
  letter-spacing:.05em;border:2px solid var(--tinta);border-radius:999px;padding:.24rem .5rem}
.g-prop{display:grid;grid-template-columns:6.2rem 1fr;gap:.5rem;padding:.32rem 0;
  border-bottom:1px dotted rgba(21,16,22,.18);font-size:.82rem}
.g-prop b{font:700 .66rem/1.5 var(--mono);text-transform:uppercase;opacity:.6}
.g-dica{font-size:.85rem;opacity:.7;font-style:italic}
#g-expandir{width:100%;margin:.8rem 0;background:var(--mar);color:#fff;border:2.5px solid var(--tinta);
  border-radius:10px;padding:.5rem;font:700 .74rem var(--titulo);text-transform:uppercase;
  cursor:pointer;box-shadow:var(--sombra-sm)}
#g-expandir:hover{background:var(--tinta)}
.g-lig{padding:.4rem .5rem;margin:.25rem 0;background:var(--papel-2);border:2px solid var(--tinta);
  border-radius:8px;cursor:pointer;font-size:.78rem}
.g-lig:hover{background:var(--ouro)}
.g-lig i{display:block;font:700 .64rem var(--mono);opacity:.6;font-style:normal}
.g-como{display:block;margin-top:.2rem;opacity:.75;font-size:.74rem;line-height:1.4}
.g-lig-mais{font:700 .7rem var(--mono);opacity:.6;padding:.2rem .5rem}
.g-ir{display:inline-block;margin:.5rem 0;font:700 .72rem var(--titulo);color:var(--mar)}
@media(max-width:820px){.g-wrap{grid-template-columns:1fr;height:auto}
  .g-tela{height:60vh}#painel{max-height:24rem}
  .g-ajustes{position:static}
  .g-ctrl{position:static;width:100%;max-height:none;margin-top:.5rem}
  .g-barra{position:static;padding:.7rem .7rem 0}
  .g-tela{display:flex;flex-direction:column;height:auto}
  #cv{height:56vh;min-height:20rem}}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
.perma-linha{margin:0 0 .4rem}
.perma{text-decoration:none;font:700 .72rem var(--mono);opacity:.55;
  padding:.35rem .5rem;border-radius:6px;display:inline-block;min-height:1.6rem}
.perma:hover,.perma:focus-visible{opacity:1;background:var(--ouro)}
.ev-cita .cita{padding:.35rem .55rem}
.ev-cita .cita i{opacity:.78}
.ev-cita.orfao{opacity:.72}
.ev-item a.fonte{display:inline-block;padding:.25rem 0}
.g-ctrl input[type=range]{height:1.6rem}
.g-ctrl .g-check{min-height:1.6rem}
.pula{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ouro);
  border:3px solid var(--tinta);border-radius:0 0 10px 0;padding:.6rem 1rem;
  font:700 .85rem var(--titulo);text-decoration:none}
.pula:focus{left:0}
