/* Loojane (loojane.com)
   Cores: azul e lilás da logo, greige, rosado-terracota e grafite.
   Regra: texto sempre em grafite sobre fundo claro (contraste mínimo 4,5:1).
   Cores vivas só em fundo, moldura, ilustração e detalhe. */

@font-face{font-family:"Fredoka";src:url("/assets/fonts/fredoka-var.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("/assets/fonts/nunito-var.woff2") format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("/assets/fonts/nunito-var-italic.woff2") format("woff2");font-weight:200 1000;font-style:italic;font-display:swap}

:root{
  --azul:#56B1FA;      --azul-100:#DDEEFE;   --azul-50:#F0F7FF;
  --lilas:#C5B8FE;     --lilas-100:#EEEAFF;  --lilas-50:#F8F6FF;
  --terra:#C98B7B;     --terra-100:#F6E9E4;  --terra-50:#FCF6F3;
  --areia:#EBD8A6;     --areia-100:#FBF4DF;
  --menta:#A8DCC8;     --menta-100:#E3F4EC;
  --greige:#CFC6BA;    --greige-50:#FAF8F5;  --greige-100:#F2EEE8;  --greige-200:#E6DFD5;
  --grafite:#2B2B2B;   --grafite-70:#55524D;
  --linha:#E4DED5;
  --branco:#fff;
  --bronze:#A56B45; --prata:#8F959A; --ouro:#BC9640;
  --c:var(--azul); --c100:var(--azul-100); --c50:var(--azul-50);
  --titulo:"Fredoka","Nunito",system-ui,sans-serif;
  --texto:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --largura:74rem;
  --raio:20px; --raio-g:30px;
  --sombra:0 2px 0 rgba(43,43,43,.04),0 22px 40px -26px rgba(43,43,43,.45);
  --sombra-g:0 30px 60px -34px rgba(43,43,43,.5);
}
.cat-triagem{--c:var(--azul);--c100:var(--azul-100);--c50:var(--azul-50)}
.cat-organizacao-do-closet{--c:var(--lilas);--c100:var(--lilas-100);--c50:var(--lilas-50)}
.cat-cuidados-e-manutencao{--c:var(--areia);--c100:var(--areia-100);--c50:#FEFAEE}
.cat-consertos{--c:var(--terra);--c100:var(--terra-100);--c50:var(--terra-50)}
.cat-rotacao-e-consumo-consciente{--c:var(--menta);--c100:var(--menta-100);--c50:#F2FAF6}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6.5rem}
body{margin:0;background:var(--branco);color:var(--grafite);font-family:var(--texto);font-size:1.125rem;line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
.ic{display:inline-block;flex:none;vertical-align:middle}
h1,h2,h3,h4{font-family:var(--titulo);font-weight:600;line-height:1.1;letter-spacing:-.01em;margin:0 0 .55em;text-wrap:balance}
h1{font-size:clamp(2.5rem,1.4rem + 4vw,4.3rem);font-weight:600;letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,1.35rem + 2vw,3rem)}
h3{font-size:1.5rem}
p{margin:0 0 1.15em}
a{color:var(--grafite);text-decoration:underline;text-decoration-color:var(--azul);text-decoration-thickness:3px;text-underline-offset:.18em;transition:text-decoration-color .2s}
a:hover{text-decoration-color:var(--terra)}
strong{font-weight:800}
ul,ol{padding-left:1.3em;margin:0 0 1.3em}
li{margin:.4em 0}
hr{border:0;border-top:2px dashed var(--greige);margin:2.5rem 0}
:focus{outline:none}
:focus-visible{outline:3px solid var(--grafite);outline-offset:3px;box-shadow:0 0 0 7px var(--branco);border-radius:8px}
.pular{position:absolute;left:1rem;top:-5rem;background:var(--grafite);color:var(--branco);padding:.8rem 1.1rem;z-index:100;text-decoration:none;border-radius:99px;font-weight:700}
.pular:focus{top:1rem}
main:focus{outline:none}
.contem{width:min(100% - 2.5rem,var(--largura));margin-inline:auto}
.contem-leitura{width:min(100% - 2.5rem,46rem);margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ---------- Cabeçalho ---------- */
.topo{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:saturate(1.3) blur(10px);box-shadow:0 10px 30px -24px rgba(43,43,43,.5)}
.topo::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--azul) 0 20%,var(--lilas) 20% 40%,var(--terra) 40% 60%,var(--areia) 60% 80%,var(--menta) 80% 100%)}
.topo-in{width:min(100% - 2rem,var(--largura));margin-inline:auto;display:flex;align-items:center;gap:1rem;min-height:4.6rem}
.marca{display:flex;align-items:center;text-decoration:none;margin-right:auto;flex:none}
.marca img{display:block;height:2.7rem;width:auto}
.menu ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.2rem}
.menu li{margin:0}
.menu a,.menu summary{display:block;padding:.6rem .95rem;text-decoration:none;font-weight:700;font-size:1rem;cursor:pointer;border-radius:99px;list-style:none;transition:background .2s}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"";display:inline-block;width:.42rem;height:.42rem;margin-left:.5rem;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-.15rem) rotate(45deg)}
.menu a:hover,.menu summary:hover{background:var(--azul-100)}
.menu a[aria-current="page"]{background:var(--lilas-100)}
.menu-prat{position:relative}
.menu-sub{position:absolute;left:0;top:calc(100% + .5rem);min-width:20rem;background:var(--branco);border-radius:22px;padding:.6rem!important;display:block!important;box-shadow:var(--sombra-g);border:2px solid var(--greige-100)}
.menu-sub a{display:flex;align-items:center;gap:.8rem;border-radius:14px}
.menu-sub svg{width:34px;height:34px}
.contador{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;background:var(--azul);color:var(--grafite);border:2px solid var(--grafite);padding:.42rem 1rem;border-radius:99px;font-size:.95rem;font-weight:800;white-space:nowrap;box-shadow:3px 3px 0 var(--grafite);transition:transform .15s,box-shadow .15s}
.contador:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--grafite)}
.menu-botao{display:none;align-items:center;gap:.4rem;background:var(--branco);border:2px solid var(--grafite);color:var(--grafite);padding:.45rem .8rem;font:inherit;font-weight:800;cursor:pointer;border-radius:99px}
.menu-botao .ic-fechar{display:none}
.menu-botao[aria-expanded="true"] .ic-fechar{display:inline-block}
.menu-botao[aria-expanded="true"] .ic-abrir{display:none}
.progresso-leitura{position:fixed;left:0;top:0;height:5px;width:0;background:var(--grafite);z-index:60;transition:width .1s}

@media (max-width:63.99rem){
  .topo-in{flex-wrap:wrap;gap:.5rem;min-height:4rem;padding-block:.55rem}
  .marca img{height:2.3rem}
  .menu-botao{display:inline-flex;order:3}
  .contador{order:2}
  .menu{order:4;flex-basis:100%;width:100%}
  .js .menu{display:none}
  .js .menu.aberto{display:block;padding:.4rem 0 1rem;border-top:2px dashed var(--greige);margin-top:.4rem}
  .menu ul{flex-direction:column;align-items:stretch}
  .menu a,.menu summary{padding:.85rem .6rem;font-size:1.1rem}
  .menu-sub{position:static;box-shadow:none;border:0;margin:0 0 .5rem .4rem;padding:0 0 0 .4rem!important;min-width:0}
}
@media (max-width:36rem){
  .contador{padding:.32rem .7rem;font-size:.82rem;gap:.3rem;box-shadow:2px 2px 0 var(--grafite)}
  .contador .ic{width:18px;height:18px}
  .menu-botao{padding:.5rem .7rem}
  .menu-botao .menu-rotulo{display:none}
  .marca img{height:2rem}
}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.7rem;min-height:3.1rem;font:inherit;font-weight:800;font-size:1.02rem;text-decoration:none;border:2px solid var(--grafite);background:var(--grafite);color:var(--branco);cursor:pointer;border-radius:99px;box-shadow:4px 4px 0 var(--azul);transition:transform .15s,box-shadow .15s,background .2s,color .2s}
.btn:hover{background:var(--grafite);color:var(--branco);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--azul)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--azul)}
.btn--sec{background:var(--branco);color:var(--grafite);box-shadow:4px 4px 0 var(--lilas)}
.btn--sec:hover{background:var(--branco);color:var(--grafite);box-shadow:6px 6px 0 var(--lilas)}
.btn--peq{padding:.55rem 1.1rem;min-height:2.6rem;font-size:.95rem;box-shadow:3px 3px 0 var(--azul)}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Seções ---------- */
.secao{padding-block:clamp(3.5rem,7vw,7rem)}
.secao--azul{background:var(--azul-50)}
.secao--lilas{background:var(--lilas-50)}
.secao--greige{background:var(--greige-50)}
.secao--camada{border-radius:var(--raio-g) var(--raio-g) 0 0;margin-top:-2.5rem;position:relative}
.secao-cab{max-width:44rem;margin-bottom:2.8rem}
.secao-cab p{color:var(--grafite);font-size:1.18rem}
.etiqueta{display:inline-flex;align-items:center;gap:.5rem;background:var(--lilas-100);border:2px solid var(--grafite);padding:.2rem .85rem;border-radius:99px;font-weight:800;font-size:.88rem;margin-bottom:1rem}
.marca-texto{background:linear-gradient(transparent 60%,var(--azul) 60% 90%,transparent 90%);padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ---------- Home: hero ---------- */
.hero{position:relative;padding-block:clamp(2.5rem,5vw,4.5rem) clamp(4rem,7vw,6.5rem);overflow:hidden;background:radial-gradient(52rem 30rem at 92% 0%,var(--lilas-100),transparent 62%),radial-gradient(46rem 28rem at -4% 10%,var(--azul-100),transparent 58%),radial-gradient(30rem 20rem at 40% 110%,var(--terra-100),transparent 60%),var(--branco)}
.hero-in{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center}
.hero h1{margin-bottom:.4em}
.hero-lead{font-size:1.28rem;max-width:34rem;line-height:1.65}
.hero-acoes{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0 1.4rem}
.hero-nota{display:flex;align-items:center;gap:.5rem;font-size:.98rem;margin:0;font-weight:600}
.hero-nota .ic{color:var(--grafite)}
.cena{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 30px rgba(43,43,43,.12))}
.cena text{font-family:var(--titulo);font-weight:600;font-size:23px;fill:#2B2B2B}
.balanca{transform-box:fill-box;transform-origin:50% 0;animation:balanca 5s ease-in-out infinite}
.b1{animation-delay:0s}
.b2{animation-delay:.6s}.b3{animation-delay:1.2s}.b4{animation-delay:1.8s}
@keyframes balanca{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
.cena-medalha{transform-box:fill-box;transform-origin:50% 0;animation:balanca 4s ease-in-out infinite}
.faixa{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:clamp(2rem,4vw,3.5rem)}
.faixa span{display:inline-flex;align-items:center;gap:.55rem;background:var(--branco);border:2px solid var(--grafite);border-radius:99px;padding:.4rem 1rem;font-weight:800;font-size:.97rem;box-shadow:3px 3px 0 var(--greige)}
.faixa .ic{width:22px;height:22px}
@media (max-width:58rem){.hero-in{grid-template-columns:1fr}.cena{max-width:34rem;margin-inline:auto}}

/* ---------- Como funciona ---------- */
.passos-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;counter-reset:ph}
.passo-home{position:relative;background:var(--branco);border:2px solid var(--grafite);border-radius:var(--raio-g);padding:2rem 1.8rem 1.8rem;box-shadow:6px 6px 0 var(--c)}
.passo-home:nth-child(1){--c:var(--azul)}.passo-home:nth-child(2){--c:var(--lilas)}.passo-home:nth-child(3){--c:var(--terra)}
.passo-home::before{counter-increment:ph;content:counter(ph);position:absolute;top:-1.2rem;left:1.6rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;background:var(--c);border:2px solid var(--grafite);border-radius:50%;font-family:var(--titulo);font-weight:700;font-size:1.3rem}
.passo-home .ic{width:48px;height:48px;margin-bottom:.8rem}
.passo-home h3{margin-bottom:.4rem}
.passo-home p{margin:0;font-size:1.02rem}
@media (max-width:52rem){.passos-home{grid-template-columns:1fr;gap:2rem}}

/* ---------- Prateleiras ---------- */
.prateleiras{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.3rem}
.prat{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--branco);border:2px solid var(--grafite);border-radius:var(--raio-g);overflow:hidden;box-shadow:5px 5px 0 var(--c);transition:transform .2s,box-shadow .2s}
.prat:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--c)}
.prat-topo{display:grid;place-items:center;aspect-ratio:1/.85;background:var(--c100);border-bottom:2px solid var(--grafite);position:relative}
.prat-topo svg{width:62%;height:auto}
.prat-corpo{padding:1.1rem 1.2rem 1.3rem;flex:1;display:flex;flex-direction:column}
.prat h3{font-size:1.35rem;margin:0 0 .35rem}
.prat p{font-size:.94rem;color:var(--grafite);margin:0 0 1rem;line-height:1.5}
.prat-prog{margin-top:auto;font-size:.9rem;font-weight:800;display:flex;align-items:center;gap:.6rem}
.barra{flex:1;height:10px;background:var(--greige-100);border:2px solid var(--grafite);border-radius:99px;overflow:hidden}
.barra i{display:block;height:100%;width:0;background:var(--c);transition:width .6s}
@media (max-width:72rem){.prateleiras{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:46rem){.prateleiras{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}
@media (max-width:30rem){.prateleiras{grid-template-columns:1fr}}

/* ---------- Cartões de artigo ---------- */
.cartoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem}
.cartao{display:flex;flex-direction:column;background:var(--branco);border:2px solid var(--grafite);border-radius:var(--raio-g);overflow:hidden;text-decoration:none;color:inherit;box-shadow:5px 5px 0 var(--c);transition:transform .2s,box-shadow .2s}
.cartao:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--c)}
.cartao-topo{display:flex;align-items:center;gap:.9rem;padding:1rem 1.3rem;background:var(--c100);border-bottom:2px solid var(--grafite)}
.cartao-topo svg.il{width:54px;height:54px;flex:none}
.cartao-topo .ic{width:30px;height:30px}
.cartao-cat{font-size:.9rem;font-weight:800;line-height:1.2}
.cartao-selo{margin-left:auto;display:none;align-items:center;gap:.3rem;font-size:.8rem;font-weight:800;background:var(--branco);border:2px solid var(--grafite);padding:.1rem .6rem;border-radius:99px}
.cartao-selo.on{display:inline-flex}
.cartao-corpo{padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.cartao h3,.cartao h2{font-family:var(--titulo);font-size:1.45rem;margin:0 0 .55rem;line-height:1.15}
.cartao p{font-size:.98rem;color:var(--grafite);margin:0 0 1rem;line-height:1.55}
.cartao-meta{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:800}
.cartao-meta .ic{width:18px;height:18px}
@media (max-width:62rem){.cartoes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:40rem){.cartoes{grid-template-columns:1fr}}

/* ---------- Prévia do jogo na home ---------- */
.previa{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,4vw,4rem);align-items:center}
@media (max-width:62rem){.previa{grid-template-columns:1fr}}
.regra-cards{display:grid;gap:.9rem;margin:1.6rem 0}
.regra-card{display:flex;align-items:center;gap:1rem;background:var(--branco);border:2px solid var(--grafite);border-radius:var(--raio);padding:.8rem 1.1rem;box-shadow:4px 4px 0 var(--c)}
.regra-card svg{width:58px;height:58px;flex:none}
.regra-card p{margin:0;font-size:1rem;line-height:1.45}
.regra-card strong{font-family:var(--titulo);font-size:1.25rem;font-weight:600;display:block}

/* ---------- Transparência ---------- */
.transp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.transp-item{background:var(--branco);border:2px solid var(--grafite);border-radius:var(--raio-g);padding:1.8rem;box-shadow:5px 5px 0 var(--c)}
.transp-item:nth-child(1){--c:var(--lilas)}.transp-item:nth-child(2){--c:var(--azul)}.transp-item:nth-child(3){--c:var(--terra)}
.transp-item .ic{width:46px;height:46px;margin-bottom:.8rem;background:var(--c100,var(--greige-100))}
.transp-item h3{font-size:1.45rem}
.transp-item p{font-size:1.02rem;margin:0}
@media (max-width:50rem){.transp{grid-template-columns:1fr}}

/* ---------- Chamada final ---------- */
.chamada{background:var(--grafite);color:var(--branco);border-radius:var(--raio-g);padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:1fr auto;gap:1.5rem 2.5rem;align-items:center;position:relative;overflow:hidden}
.chamada::before{content:"";position:absolute;right:-4rem;top:-4rem;width:16rem;height:16rem;border-radius:50%;background:var(--azul);opacity:.9}
.chamada::after{content:"";position:absolute;right:6rem;bottom:-5rem;width:11rem;height:11rem;border-radius:50%;background:var(--lilas);opacity:.9}
.chamada>*{position:relative;z-index:1}
.chamada h2{margin:0 0 .3em;font-size:clamp(1.8rem,1.2rem + 2vw,2.8rem)}
.chamada p{margin:0;font-size:1.12rem;max-width:34rem}
.chamada .btn{background:var(--branco);color:var(--grafite);border-color:var(--branco);box-shadow:5px 5px 0 var(--terra)}
.chamada .btn:hover{background:var(--branco);color:var(--grafite);box-shadow:7px 7px 0 var(--terra)}
@media (max-width:44rem){.chamada{grid-template-columns:1fr}}

/* ---------- Cabeçalho de página interna ---------- */
.pg-cab{position:relative;overflow:hidden;padding-block:clamp(2.2rem,4vw,4rem) clamp(2rem,4vw,3.2rem);background:radial-gradient(40rem 20rem at 95% 0,var(--lilas-100),transparent 65%),radial-gradient(36rem 18rem at 0 100%,var(--azul-100),transparent 65%),var(--greige-50)}
.pg-cab h1{font-size:clamp(2.3rem,1.4rem + 3.6vw,4.2rem);margin-bottom:.3em}
.pg-cab p{max-width:44rem;font-size:1.22rem;margin-bottom:0}
.trilha{font-size:.92rem;margin-bottom:1.3rem;font-weight:600}
.trilha ol{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem .55rem;padding:0;margin:0}
.trilha li{margin:0;display:flex;align-items:center;gap:.55rem}
.trilha li+li::before{content:"›";color:var(--grafite);font-weight:800}
.trilha a{color:var(--grafite);text-decoration-color:var(--greige)}
.trilha [aria-current]{font-weight:800}

/* ---------- Páginas de texto ---------- */
.prosa{padding-block:clamp(2.5rem,5vw,5rem)}
.prosa h2{font-size:clamp(1.8rem,1.3rem + 1.4vw,2.4rem);margin-top:2.1em;padding-top:1rem;border-top:2px dashed var(--greige)}
.prosa h2:first-child{margin-top:0;border-top:0;padding-top:0}
.prosa h3{margin-top:1.8em}
.prosa li{line-height:1.7}
.prosa table{margin:1.5rem 0}
.aviso{background:var(--terra-100);border:2px solid var(--grafite);border-radius:var(--raio);padding:1.1rem 1.3rem;margin:1.6rem 0}

/* ---------- Artigo ---------- */
.art-cab{position:relative;overflow:hidden;padding-block:clamp(2rem,4vw,3.5rem) clamp(2.2rem,4vw,3.6rem);background:var(--c100);border-bottom:2px solid var(--grafite)}
.art-cab::before{content:"";position:absolute;right:-8rem;top:-9rem;width:30rem;height:30rem;border-radius:50%;background:var(--c);opacity:.35}
.art-cab-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.art-cab h1{font-size:clamp(2.3rem,1.3rem + 3.8vw,4.2rem);max-width:20ch;margin-bottom:.45em}
.art-ilu{width:clamp(7rem,16vw,12rem);height:auto;filter:drop-shadow(6px 8px 0 rgba(43,43,43,.12))}
.art-chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--branco);border:2px solid var(--grafite);padding:.25rem 1rem .25rem .6rem;border-radius:99px;font-size:.92rem;font-weight:800;text-decoration:none;margin-bottom:1.2rem}
.art-chip svg{width:26px;height:26px}
.art-chip:hover{background:var(--branco)}
.art-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.95rem;font-weight:700;margin:0}
.art-meta span{display:inline-flex;align-items:center;gap:.45rem}
.art-meta .ic{width:20px;height:20px}
@media (max-width:42rem){.art-cab-in{grid-template-columns:1fr}.art-ilu{display:none}}

.art-corpo{padding-block:clamp(2rem,4vw,4rem)}
.art-grade{width:min(100% - 2.5rem,70rem);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media (min-width:66rem){
  .art-grade{grid-template-columns:17rem minmax(0,46rem);grid-template-areas:"toc intro" "toc jogo" "toc texto" "toc rodape";column-gap:4rem;justify-content:center}
  .art-grade .intro{grid-area:intro}
  .art-grade .sumario{grid-area:toc;position:sticky;top:7rem;align-self:start;margin-top:.4rem}
  .art-grade .jogo-zona{grid-area:jogo}
  .art-grade .texto-restrito{grid-area:texto}
  .art-grade .art-rodape{grid-area:rodape}
}
.art-grade>*{min-width:0}
.art-corpo{font-size:1.1875rem;line-height:1.85}
.intro{border-left:6px solid var(--c);padding-left:1.4rem;margin-bottom:2rem}
.intro p{font-family:var(--texto);font-size:clamp(1.3rem,1.1rem + .8vw,1.55rem);line-height:1.6;font-weight:600}
.intro p:last-child{margin-bottom:0}
.sumario{border:2px solid var(--grafite);background:var(--branco);padding:1.3rem 1.4rem;margin:0 0 2rem;border-radius:var(--raio);box-shadow:5px 5px 0 var(--c)}
.sumario-tit{font-family:var(--titulo);font-weight:600;font-size:1.3rem;margin:0 0 .6rem;display:flex;align-items:center;gap:.5rem}
.sumario ol{margin:0;padding-left:1.2em;font-size:1rem;line-height:1.5}
.sumario li{margin:.45em 0}
.sumario a{text-decoration-color:var(--c);font-weight:700}
.sumario a.ativo{background:var(--c100);border-radius:6px;padding:0 .3em}
.texto-corpo{font-size:1.1875rem}
.texto-corpo h2{font-size:clamp(1.9rem,1.35rem + 2vw,2.8rem);margin-top:2.4em;padding-top:1.4rem;position:relative}
.texto-corpo h2::before{content:"";position:absolute;left:0;top:0;width:4.5rem;height:8px;border-radius:99px;background:var(--c)}
.texto-corpo h2:first-child{margin-top:.6rem}
.texto-corpo h3{font-size:1.5rem;margin:1.8em 0 .5em}
.texto-corpo li::marker{color:var(--grafite);font-weight:800}
.texto-corpo p,.texto-corpo li,.texto-corpo ul,.texto-corpo ol{max-width:46rem}
.checklist{list-style:none;padding:0;background:var(--c50);border:2px solid var(--grafite);border-radius:var(--raio);padding:1.1rem 1.3rem!important}
.checklist li{position:relative;padding:.1rem 0 .1rem 2.4rem;margin:.6em 0}
.checklist li::before{content:"";position:absolute;left:0;top:.35rem;width:1.5rem;height:1.5rem;border:2px solid var(--grafite);background:var(--branco);border-radius:7px}
.checklist li::after{content:"";position:absolute;left:.5rem;top:.5rem;width:.45rem;height:.8rem;border-right:3px solid var(--grafite);border-bottom:3px solid var(--grafite);transform:rotate(40deg)}
.passos{counter-reset:p;list-style:none;padding:0}
.passos li{position:relative;counter-increment:p;padding-left:3.6rem;margin:1.1em 0;min-height:2.6rem}
.passos li::before{content:counter(p);position:absolute;left:0;top:0;width:2.6rem;height:2.6rem;display:grid;place-items:center;background:var(--c);border:2px solid var(--grafite);font-family:var(--titulo);font-weight:700;font-size:1.3rem;border-radius:50%}
.exemplo{background:var(--lilas-50);border:2px solid var(--grafite);border-radius:var(--raio);padding:1.4rem 1.6rem;margin:1.8rem 0;max-width:46rem;position:relative}
.exemplo-tit{font-family:var(--titulo);font-weight:600;font-size:1.35rem;margin:0 0 .4rem;display:flex;align-items:center;gap:.5rem}
.exemplo-tit::before{content:"";width:1rem;height:1rem;border-radius:50%;background:var(--lilas);border:2px solid var(--grafite)}
.exemplo p:last-child{margin:0}
.dica{background:var(--azul-50);border:2px solid var(--grafite);border-radius:var(--raio);padding:1.4rem 1.6rem 1.4rem 4.4rem;margin:1.8rem 0;max-width:46rem;position:relative;box-shadow:5px 5px 0 var(--azul)}
.dica::before{content:"";position:absolute;left:1.2rem;top:1.3rem;width:2.2rem;height:2.2rem;background:var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%232B2B2B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 33c0-3-5-6-5-13a12 12 0 0 1 24 0c0 7-5 10-5 13z'/%3E%3Cpath d='M18 39h12M20 44h8'/%3E%3C/svg%3E") center/70% no-repeat;border:2px solid var(--grafite);border-radius:50%}
.dica-tit{font-family:var(--titulo);font-weight:600;font-size:1.3rem;margin:0 0 .3rem}
.dica p:last-child{margin:0}
.tabela-rolagem{overflow-x:auto;margin:1.8rem 0;max-width:100%;border:2px solid var(--grafite);border-radius:var(--raio);background:var(--branco)}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:1rem;line-height:1.5}
caption{text-align:left;font-family:var(--titulo);font-weight:600;padding:.9rem 1.1rem;font-size:1.15rem;background:var(--c100);border-bottom:2px solid var(--grafite);caption-side:top}
th,td{padding:.8rem 1.1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--linha)}
thead th{background:var(--greige-100);font-weight:800;border-bottom:2px solid var(--grafite)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background:var(--greige-50)}
tbody th{font-weight:800}
.faq details{border:2px solid var(--grafite);border-radius:var(--raio);margin:.9rem 0;background:var(--branco);transition:background .2s}
.faq details[open]{background:var(--c50);box-shadow:4px 4px 0 var(--c)}
.faq summary{cursor:pointer;font-family:var(--titulo);font-weight:600;font-size:1.28rem;padding:1rem 3.4rem 1rem 1.3rem;position:relative;list-style:none;line-height:1.25;border-radius:var(--raio)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;display:grid;place-items:center;background:var(--c);border:2px solid var(--grafite);border-radius:50%;font-size:1.4rem;line-height:1;font-family:var(--texto);font-weight:700}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 1.3rem .4rem;margin:0 0 .9rem}
.fontes-lista{padding-left:1.3em}
.fontes-lista li{margin:.9em 0;font-size:1rem}
.fonte-nome{font-weight:800}
.fontes-lista small{display:block;color:var(--grafite-70);font-size:.9rem;line-height:1.5}
.leia-tambem{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.leia-tambem a{display:block;border:2px solid var(--grafite);border-radius:var(--raio);padding:1.1rem 1.2rem;text-decoration:none;background:var(--c100);font-family:var(--titulo);font-weight:600;font-size:1.25rem;line-height:1.2;box-shadow:4px 4px 0 var(--c);transition:transform .15s,box-shadow .15s}
.leia-tambem a:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--c)}
.leia-tambem a small{display:block;font-family:var(--texto);font-weight:700;font-size:.82rem;margin-top:.45rem}
@media (max-width:44rem){.leia-tambem{grid-template-columns:1fr}}
.art-rodape h2{font-size:clamp(1.7rem,1.25rem + 1.4vw,2.3rem);margin-top:2.4em;padding-top:1.3rem;border-top:2px dashed var(--greige)}
.art-rodape h2:first-child{margin-top:0}
.art-rodape p{font-size:1rem}

.texto-bloqueio{display:none}
.js:not(.texto-liberado) .texto-restrito .texto-corpo{display:none}
.js:not(.texto-liberado) .texto-restrito .texto-bloqueio{display:flex}
.texto-bloqueio{align-items:center;gap:1.1rem;border:2px dashed var(--grafite);background:var(--terra-100);border-radius:var(--raio);padding:1.2rem 1.4rem;margin:1.6rem 0}
.texto-bloqueio p{margin:0;font-weight:700;font-size:1.05rem}
.texto-bloqueio .ic{flex:none;width:44px;height:44px}

/* ---------- Jogo ---------- */
.jogo{background:var(--branco);border:2px solid var(--grafite);border-radius:var(--raio-g);padding:clamp(1.3rem,3vw,2.2rem);margin:2.4rem 0;position:relative;box-shadow:8px 8px 0 var(--azul);overflow:hidden}
.jogo::before{content:"";position:absolute;right:-4rem;top:-4rem;width:12rem;height:12rem;border-radius:50%;background:var(--lilas-100);z-index:0}
.jogo>*{position:relative;z-index:1}
.jogo-cab{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem}
.jogo-icone{flex:none;width:3.4rem;height:3.4rem;display:grid;place-items:center;background:var(--azul);border:2px solid var(--grafite);border-radius:16px;box-shadow:3px 3px 0 var(--grafite)}
.jogo-icone .ic{width:30px;height:30px}
.jogo-tit{font-family:var(--titulo);font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem);font-weight:600;line-height:1.1;margin:0}
.jogo-sub{margin:0 0 1.5rem;font-size:1.02rem}
.jogo-aviso{background:var(--areia-100);border:2px solid var(--grafite);border-radius:16px;padding:.8rem 1.1rem;font-size:.96rem;margin:0 0 1.3rem;display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.niveis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin:0 0 1rem;padding:0;list-style:none}
.niveis li{margin:0}
.nivel{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;background:var(--bg,var(--branco));border:2px solid var(--grafite);padding:1rem 1.1rem;font:inherit;color:inherit;cursor:pointer;border-radius:18px;transition:transform .15s,box-shadow .15s;box-shadow:4px 4px 0 var(--grafite)}
.niveis li:nth-child(1) .nivel{--bg:#F7E9DD}.niveis li:nth-child(2) .nivel{--bg:#EEF0F2}.niveis li:nth-child(3) .nivel{--bg:#F8EFCF}
.nivel:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--grafite)}
.nivel[aria-pressed="true"]{outline:3px solid var(--grafite)}
.nivel-nome{display:flex;align-items:center;gap:.6rem;font-family:var(--titulo);font-weight:600;font-size:1.55rem;line-height:1.1}
.nivel small{font-size:.9rem;color:var(--grafite);line-height:1.4;font-weight:600}
.med{width:2.1rem;height:2.4rem;flex:none}
.med--bronze{color:var(--bronze)}.med--prata{color:var(--prata)}.med--ouro{color:var(--ouro)}
.med--grande{width:7.5rem;height:8.6rem;filter:drop-shadow(0 10px 0 rgba(43,43,43,.12))}

.criterio{background:var(--azul-50);border:2px solid var(--grafite);border-radius:16px;padding:1rem 1.2rem;margin:0 0 1.1rem;font-size:.98rem}
.criterio-tit{font-weight:800;margin:0 0 .4rem;font-family:var(--titulo);font-size:1.15rem}
.criterio ul{margin:0;padding-left:1.1em}
.criterio li{margin:.25em 0}
.criterio-botao{background:none;border:0;padding:.2rem 0;font:inherit;font-weight:800;text-decoration:underline;text-decoration-color:var(--azul);text-decoration-thickness:3px;text-underline-offset:.2em;cursor:pointer;color:var(--grafite);margin:0 0 1rem}

.mesa-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.8rem;font-weight:800;font-size:1rem}
.mesa-topo>span:first-child{display:inline-flex;align-items:center;gap:.5rem}
.pontos{display:flex;gap:.6rem}
.pontos span{white-space:nowrap;background:var(--lilas-100);border:2px solid var(--grafite);border-radius:99px;padding:.1rem .8rem;font-size:.92rem}
.trilha-cartas{display:flex;gap:.35rem;margin:0 0 1.1rem;padding:0;list-style:none}
.trilha-cartas li{flex:1;height:10px;background:var(--greige-100);border:2px solid var(--grafite);margin:0;border-radius:99px}
.trilha-cartas .feito{background:var(--grafite)}
.trilha-cartas .atual{background:var(--azul)}
.carta{background:var(--areia-100);border:2px solid var(--grafite);border-radius:22px;padding:1.5rem 1.6rem 1.6rem;margin-bottom:1.1rem;box-shadow:5px 5px 0 var(--terra);min-height:8.5rem;position:relative}
.carta::after{content:"";position:absolute;right:1.1rem;top:1.1rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--branco);border:2px solid var(--grafite)}
.carta:focus{outline:none}
.carta-rot{font-size:.9rem;font-weight:800;margin:0 0 .5rem;color:var(--grafite)}
.carta-txt{font-family:var(--titulo);font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);line-height:1.4;font-weight:500;margin:0;padding-right:1.5rem}
.caixas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.caixa{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;background:var(--bg);border:2px solid var(--grafite);padding:1rem .6rem .9rem;font:inherit;color:inherit;cursor:pointer;border-radius:20px;min-height:9rem;transition:transform .15s,box-shadow .15s;box-shadow:4px 4px 0 var(--grafite)}
.caixa--guardar{--bg:var(--azul-100)}.caixa--doar{--bg:var(--lilas-100)}.caixa--consertar{--bg:var(--terra-100)}
.caixa:hover:not([disabled]){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--grafite)}
.caixa:active:not([disabled]){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--grafite)}
.caixa .il-caixa{width:4.4rem;height:4.4rem}
.caixa-nome{font-family:var(--titulo);font-weight:600;font-size:1.5rem;line-height:1}
.caixa small{font-size:.82rem;line-height:1.35;font-weight:600}
.caixa[disabled]{cursor:default}
.caixa.certa{outline:4px solid var(--grafite);outline-offset:2px;background:var(--menta-100)}
.caixa.errada{border-style:dashed;background:var(--terra-100);opacity:.9}
.caixa-marca{display:none;align-items:center;gap:.3rem;font-size:.85rem;font-weight:800;background:var(--branco);border:2px solid var(--grafite);border-radius:99px;padding:0 .6rem}
.caixa.certa .caixa-marca,.caixa.errada .caixa-marca{display:inline-flex}
.retorno{margin:1.1rem 0 0;min-height:1.5rem}
.retorno-in{background:var(--branco);border:2px solid var(--grafite);border-radius:18px;padding:1.1rem 1.3rem;box-shadow:4px 4px 0 var(--c,var(--menta))}
.retorno-in.certo{--c:var(--menta)}
.retorno-in.errado{--c:var(--terra);border-style:dashed}
.retorno-tit{display:flex;align-items:center;gap:.5rem;font-family:var(--titulo);font-weight:600;font-size:1.3rem;margin:0 0 .35rem;flex-wrap:wrap}
.retorno-tit .ic{width:1.8rem;height:1.8rem}
.retorno p{margin:0 0 .7rem;font-size:1rem;line-height:1.55}
.retorno .btn{margin-top:.3rem}
.bonus{display:inline-block;background:var(--areia);border:2px solid var(--grafite);padding:0 .7rem;border-radius:99px;font-size:.82rem;font-weight:800;font-family:var(--texto)}

.final{background:var(--branco);border:2px solid var(--grafite);border-radius:24px;padding:clamp(1.4rem,3vw,2.3rem);text-align:center;position:relative;overflow:hidden}
.final.venceu{background:radial-gradient(22rem 14rem at 50% 0,var(--areia-100),transparent 70%),var(--branco)}
.final .med{display:block;margin:0 auto .5rem}
.final.venceu .med--grande{animation:medalha .9s cubic-bezier(.2,.9,.25,1.2) both}
@keyframes medalha{0%{transform:scale(.3) rotate(-16deg);opacity:0}100%{transform:none;opacity:1}}
.final-tit{font-family:var(--titulo);font-size:clamp(1.9rem,1.4rem + 1.6vw,2.7rem);font-weight:600;line-height:1.1;margin:0 0 .4rem}
.final-pontos{font-weight:800;margin:0 0 1rem}
.final-curio{background:var(--azul-50);border:2px solid var(--grafite);border-radius:18px;padding:1rem 1.3rem;text-align:left;margin:1.1rem auto;max-width:40rem;font-size:1rem}
.final-curio p{margin:0 0 .4rem;line-height:1.55}
.final-curio small{color:var(--grafite);font-size:.88rem}
.final-acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.3rem}
.confete{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.confete i{position:absolute;top:-14px;width:10px;height:16px;border-radius:3px;border:1.5px solid var(--grafite);animation:cai linear forwards}
@keyframes cai{to{transform:translate3d(var(--dx),420px,0) rotate(var(--rot));opacity:.9}}

@media (max-width:40rem){
  .niveis{grid-template-columns:1fr}
  .nivel{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.2rem .8rem}
  .caixas{gap:.5rem}
  .caixa{padding:.8rem .3rem;min-height:7.6rem}
  .caixa .il-caixa{width:3.4rem;height:3.4rem}
  .caixa-nome{font-size:1.2rem}
  .caixa small{display:none}
  .jogo{box-shadow:5px 5px 0 var(--azul)}
}

/* ---------- Álbum ---------- */
.album-resumo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-bottom:2.2rem}
.album-total{font-family:var(--titulo);font-size:clamp(2.6rem,1.8rem + 2.4vw,4rem);font-weight:600;line-height:1;margin:0}
.album-total small{font-family:var(--texto);font-size:1.05rem;font-weight:700;margin-left:.6rem}
.vazio{border:2px dashed var(--grafite);background:var(--terra-100);border-radius:var(--raio-g);padding:1.6rem 1.8rem;margin-bottom:2.6rem;display:flex;flex-wrap:wrap;gap:1.2rem 1.8rem;align-items:center;justify-content:space-between}
.vazio p{margin:0}
.vazio-tit{font-family:var(--titulo);font-size:1.7rem;font-weight:600;line-height:1.15}
.prateleira{margin-bottom:3.4rem}
.prateleira-cab{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}
.prateleira-cab>svg{width:3.6rem;height:3.6rem;background:var(--c100);border:2px solid var(--grafite);border-radius:18px;padding:.3rem}
.prateleira-cab h2{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem);margin:0}
.prateleira-cab h2 a{text-decoration:none}
.prateleira-cab h2 a:hover{text-decoration:underline;text-decoration-color:var(--c)}
.prog-txt{margin-left:auto;font-weight:800;font-size:.98rem;background:var(--c100);border:2px solid var(--grafite);padding:.25rem 1rem;border-radius:99px}
.fileira{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.8rem;align-items:end;padding:0 .8rem;list-style:none;margin:0}
.fileira li{margin:0}
.tabua{height:18px;background:linear-gradient(var(--greige),#B7AC9C);border:2px solid var(--grafite);border-radius:6px;box-shadow:0 18px 22px -14px rgba(43,43,43,.5)}
.mold{position:relative;display:block;text-decoration:none;background:var(--branco);border:3px solid var(--grafite);border-radius:14px;padding:.35rem;aspect-ratio:3/4;box-shadow:4px 6px 0 var(--c);transition:transform .2s}
.mold-in{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.25rem;background:var(--greige-50);gap:.35rem;border-radius:9px}
.mold:hover{transform:translateY(-5px) rotate(-1deg)}
.mold-tit{font-family:var(--titulo);font-weight:500;font-size:1rem;line-height:1.15;hyphens:auto}
.mold--cheia .mold-in{background:var(--c100)}
.mold-selo{width:64%;height:auto}
.mold-med{position:absolute;right:-.55rem;bottom:-.7rem;width:1.8rem;height:2.1rem;filter:drop-shadow(0 2px 0 rgba(43,43,43,.4))}
.mold .so-cheia{display:none}
.mold--cheia .so-cheia{display:block}
.mold--cheia .mold-tit{font-size:.8rem}
@media (max-width:62rem){.fileira{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:1.6rem}}
@media (max-width:40rem){.fileira{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.mold-tit{font-size:.95rem}}
.apagar{margin-top:2rem;padding-top:1.5rem;border-top:2px dashed var(--greige);display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.apagar p{margin:0;font-size:1rem;max-width:34rem}

/* ---------- Explorador ---------- */
.filtros{background:var(--branco);border:2px solid var(--grafite);border-radius:var(--raio-g);padding:1.4rem 1.6rem;margin-bottom:2.2rem;box-shadow:6px 6px 0 var(--lilas)}
.filtros-linha{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}
.campo{display:flex;flex-direction:column;gap:.35rem;flex:1 1 16rem}
.campo label{font-weight:800;font-size:.95rem}
input[type=text],input[type=email],input[type=search],textarea,select{font:inherit;color:var(--grafite);background:var(--branco);border:2px solid var(--grafite);padding:.8rem 1.1rem;border-radius:16px;width:100%;min-height:3.1rem}
textarea{min-height:11rem;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--grafite-70);opacity:1}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;border:0;padding:0}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem .4rem .5rem;border:2px solid var(--grafite);background:var(--branco);border-radius:99px;font-weight:800;font-size:.92rem}
.chip span svg{width:28px;height:28px}
.chip input:checked+span{background:var(--grafite);color:var(--branco)}
.chip input:focus-visible+span{outline:3px solid var(--grafite);outline-offset:3px;box-shadow:0 0 0 7px var(--branco)}
.res-info{font-weight:800;margin:0 0 1.3rem}
.sem-res{border:2px dashed var(--grafite);padding:1.5rem;background:var(--terra-100);border-radius:var(--raio)}
.sem-res p{margin:0}

/* ---------- Categoria ---------- */
.cat-intro{display:flex;gap:1.8rem;align-items:center}
.cat-intro .cat-ilu{flex:none;width:9.5rem;height:9.5rem;display:grid;place-items:center;background:var(--branco);border:2px solid var(--grafite);border-radius:34px;box-shadow:6px 6px 0 var(--c);padding:1.1rem}
.cat-intro .cat-ilu svg{width:100%;height:100%}
@media (max-width:40rem){.cat-intro{flex-direction:column;align-items:flex-start}}

/* ---------- Contato ---------- */
.form{display:grid;gap:1.3rem;max-width:38rem}
.form .campo{flex:none}
.honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.erro-campo{font-weight:800;font-size:.95rem;display:flex;align-items:center;gap:.4rem;margin:0}
.erro-campo .ic{width:1.2rem;height:1.2rem}
.msg{padding:1.1rem 1.3rem;border:2px solid var(--grafite);border-radius:var(--raio);background:var(--menta-100);margin-bottom:1.5rem;max-width:38rem}
.msg--erro{background:var(--terra-100)}
.msg p{margin:0}

/* ---------- 404 ---------- */
.p404{padding-block:clamp(3rem,7vw,6rem);text-align:center;background:radial-gradient(40rem 20rem at 50% 0,var(--lilas-100),transparent 70%)}
.p404 .p404-ilu{width:min(15rem,60%);margin:0 auto 1.5rem}
.p404 h1{font-size:clamp(2.3rem,1.6rem + 2.8vw,3.8rem)}
.p404-busca{display:flex;gap:.7rem;max-width:32rem;margin:1.6rem auto}
.p404-links{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:1.5rem}

/* ---------- Rodapé ---------- */
.rodape{background:var(--grafite);color:var(--branco);margin-top:0;position:relative}
.rodape::before{content:"";display:block;height:8px;background:linear-gradient(90deg,var(--azul) 0 20%,var(--lilas) 20% 40%,var(--terra) 40% 60%,var(--areia) 60% 80%,var(--menta) 80% 100%)}
.rodape a{color:var(--branco);text-decoration-color:var(--azul)}
.rodape a:hover{text-decoration-color:var(--areia)}
.rodape-in{width:min(100% - 2.5rem,var(--largura));margin-inline:auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:2.6rem;padding-block:3.6rem 2.4rem}
.rodape-logo{display:inline-block;background:var(--branco);border-radius:18px;padding:.6rem 1rem;margin-bottom:1rem}
.rodape-logo img{display:block;height:2.6rem;width:auto}
.rodape p{font-size:.98rem;line-height:1.65}
.rodape-aviso{color:#D9D4CC}
.rodape-tit{font-family:var(--titulo);font-weight:600;font-size:1.3rem;margin:0 0 .8rem}
.rodape ul{list-style:none;padding:0;margin:0}
.rodape li{margin:.45em 0;font-size:1rem}
.rodape-fim{border-top:1px solid #4a4a4a;padding:1.2rem 1.25rem;text-align:center}
.rodape-fim p{margin:0;font-size:.92rem}
@media (max-width:60rem){.rodape-in{grid-template-columns:1fr 1fr}.rodape-marca{grid-column:1/-1}}
@media (max-width:30rem){.rodape-in{grid-template-columns:1fr}}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .confete{display:none}
}
@media print{
  .topo,.rodape,.jogo,.pular,.progresso-leitura,.sumario{display:none}
  .js:not(.texto-liberado) .texto-restrito .texto-corpo{display:block}
}
