/* ==========================================================================
   RAIO X DA IA · DESIGN SYSTEM
   rxdai.gplansis.com — GPlanSiS|Group
   Derivado do raio-X GPlan: laranja #FF4B12, ink #0B0B0B, paper #F1F0EC.
   Sem CDN. Tipografia de sistema — trocar --f/--d por @font-face locais
   (Archivo / IBM Plex Mono) é substituir apenas as duas variáveis.
   ========================================================================== */
:root{
  --k:#0B0B0B;
  --k2:#121110;
  --k3:#1B1917;
  --bone:#F1F0EC;
  --dim:rgba(241,240,236,.58);
  --dimmer:rgba(241,240,236,.32);
  --hair:rgba(241,240,236,.14);
  --hair2:rgba(255,75,18,.34);

  --ai:#9AA1A8;          /* execução da máquina — neutro */
  --ai2:#C9CDD2;
  --hum:#FF4B12;         /* decisão humana — a cor da casa */
  --ok:#43C08A;
  --warn:#E8B93A;

  --f:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --d:var(--f);
  --m:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --pad:clamp(14px,3.2vw,52px);
  --e:cubic-bezier(.19,.83,.26,1);
}
*{margin:0;padding:0;box-sizing:border-box}
/* O atributo hidden vale display:none pela folha do navegador, e qualquer
   display do autor o atropela — .gate{display:grid} deixava o portão de
   login visível junto do painel. Esta linha fecha a brecha de uma vez. */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--k);color:var(--bone);font-family:var(--f);
  font-size:clamp(14.5px,1vw,16px);line-height:1.5;-webkit-font-smoothing:antialiased;
  overflow-x:hidden}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit;background:none;border:0;width:100%}
select{cursor:pointer}
:focus-visible{outline:2px solid var(--hum);outline-offset:3px}
canvas,svg{display:block}
img{max-width:100%;display:block}
::selection{background:var(--hum);color:#000}
.mono{font-family:var(--m);font-size:11px;letter-spacing:.04em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============================ CAMADAS DE FUNDO ============================ */
#field{position:fixed;inset:0;z-index:0;opacity:0;transition:opacity 1.6s var(--e)}
#field.on{opacity:1}
#fallback{position:fixed;inset:0;z-index:0;background:
  radial-gradient(70vw 60vw at 18% 8%, rgba(255,75,18,.20), transparent 62%),
  radial-gradient(60vw 60vw at 88% 42%, rgba(255,75,18,.10), transparent 60%),
  var(--k)}
#scan{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.16;
  background:repeating-linear-gradient(to bottom,rgba(241,240,236,.07) 0 1px,transparent 1px 3px)}
#grain{position:fixed;inset:-50%;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  animation:gr 8s steps(6) infinite}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-5%,3%)}
  50%{transform:translate(4%,-5%)}75%{transform:translate(-3%,-2%)}100%{transform:translate(0,0)}}

/* ============================ CURSOR ============================ */
#cur{position:fixed;z-index:95;top:0;left:0;width:10px;height:10px;border:1px solid var(--bone);
  border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;
  transition:width .3s var(--e),height .3s var(--e)}
#cur.on{width:72px;height:72px}
#cur b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--m);font-size:9.5px;
  letter-spacing:.1em;color:#000;opacity:0;transition:opacity .22s}
#cur.on b{opacity:1}
@media(hover:none){#cur{display:none}}

/* ============================ BOOT ============================ */
#boot{position:fixed;inset:0;z-index:120;background:var(--k);display:grid;
  grid-template-rows:auto 1fr auto;padding:var(--pad);transition:opacity .6s var(--e)}
#boot.out{opacity:0;pointer-events:none}
#boot .r{display:flex;justify-content:space-between;gap:12px;font-family:var(--m);font-size:10.5px;
  letter-spacing:.12em;color:var(--dim)}
#boot .mid{display:grid;place-items:center;position:relative}
#boot canvas{position:absolute;inset:0;width:100%;height:100%}
#boot .w{position:relative;text-align:center}
#boot .w em{display:block;font-style:normal;font-size:clamp(30px,7.4vw,104px);line-height:.94;
  letter-spacing:-.05em;font-weight:800;overflow:hidden;height:1.02em}
#boot .w em span{display:block;transform:translateY(110%);transition:transform 1s var(--e)}
#boot.go .w em span{transform:none}
#boot .w em:nth-child(2) span{transition-delay:.1s}
#boot .w em:nth-child(2){color:var(--hum)}
#boot .bar{height:1px;background:var(--hair);margin:14px 0 10px;position:relative}
#boot .bar i{position:absolute;inset:0 100% 0 0;background:var(--hum);transition:right .2s linear}
#boot .log{font-family:var(--m);font-size:10.5px;color:var(--dim);min-height:2.6em;white-space:pre-line}

/* ============================ CHROME ============================ */
.hud{position:fixed;z-index:80;inset:0 0 auto 0;height:30px;display:flex;align-items:center;gap:14px;
  padding:0 var(--pad);border-bottom:1px solid var(--hair);background:rgba(11,11,11,.86);
  backdrop-filter:blur(10px);font-family:var(--m);font-size:10px;letter-spacing:.1em;color:var(--dim)}
.hud b{font-weight:400;color:var(--ai)}
.hud .h{color:var(--hum)}
.hud .sp{flex:1}
.hud a:hover{color:var(--bone)}
@media(max-width:820px){.hud .opt{display:none}}

.nav{position:fixed;z-index:80;top:30px;left:0;right:0;display:flex;align-items:center;gap:14px;
  padding:12px var(--pad);border-bottom:1px solid var(--hair);background:rgba(11,11,11,.72);
  backdrop-filter:blur(14px);transition:transform .45s var(--e)}
.nav.up{transform:translateY(calc(-100% - 32px))}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.03em;font-size:19px;
  white-space:nowrap}
.brand .g{width:26px;height:26px;flex:0 0 26px;border:1px solid var(--hair2);display:grid;
  place-items:center;position:relative;overflow:hidden}
.brand .g::before{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,transparent 45%,var(--hum) 50%,transparent 55%);animation:sw 2.6s linear infinite}
@keyframes sw{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
.brand .g svg{width:15px;height:15px;position:relative}
.brand small{font-family:var(--m);font-size:9.5px;letter-spacing:.16em;color:var(--dim);font-weight:400}
.brand em{font-style:normal;color:var(--hum)}
.nav ul{display:flex;gap:2px;list-style:none;margin-left:12px}
.nav ul>li{position:relative}
.nav ul a,.nav ul button.top{display:block;padding:7px 12px;font-size:13.5px;color:var(--dim);
  border:1px solid transparent;transition:.25s var(--e);white-space:nowrap}
.nav ul a:hover,.nav ul a.on,.nav ul button.top:hover,.nav ul li.open>button.top{
  color:var(--bone);border-color:var(--hair);background:rgba(154,161,168,.07)}
.nav .sp{flex:1}
.nav .cta{border:1px solid var(--hum);color:var(--hum);padding:10px 17px;font-size:13.5px;font-weight:600;
  transition:.25s var(--e);white-space:nowrap}
.nav .cta:hover{background:var(--hum);color:#0B0B0B}

/* dropdown de categorias */
.drop{position:absolute;top:calc(100% + 10px);left:0;min-width:270px;border:1px solid var(--hair);
  background:rgba(11,11,11,.97);backdrop-filter:blur(14px);padding:6px;
  display:grid;gap:1px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:.28s var(--e);z-index:5}
li.open>.drop{opacity:1;visibility:visible;transform:none}
.drop a{padding:9px 12px!important;font-size:13px!important;display:flex!important;
  justify-content:space-between;gap:12px;align-items:center}
.drop a b{font-family:var(--m);font-size:9.5px;color:var(--dimmer);font-weight:400}
.drop a:hover b{color:var(--hum)}

/* busca no cabeçalho */
.navsearch{display:flex;align-items:center;gap:8px;border:1px solid var(--hair);padding:8px 12px;
  min-width:210px;transition:.25s var(--e)}
.navsearch:focus-within{border-color:var(--hum)}
.navsearch svg{width:13px;height:13px;flex:0 0 13px;stroke:var(--dim);fill:none;stroke-width:2}
.navsearch input{font-size:13px}
.navsearch input::placeholder{color:var(--dimmer)}

/* hambúrguer */
.burger{display:none;width:38px;height:34px;border:1px solid var(--hair);place-items:center}
.burger i{width:16px;height:1px;background:var(--bone);position:relative;display:block}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:16px;height:1px;
  background:var(--bone);transition:.3s var(--e)}
.burger i::before{top:-5px}.burger i::after{top:5px}
body.menu .burger i{background:transparent}
body.menu .burger i::before{top:0;transform:rotate(45deg)}
body.menu .burger i::after{top:0;transform:rotate(-45deg)}

@media(max-width:1180px){.navsearch{display:none}}
@media(max-width:1040px){
  .nav ul{display:none;position:fixed;top:calc(30px + 59px);left:0;right:0;bottom:0;
    flex-direction:column;gap:1px;margin:0;padding:var(--pad);overflow-y:auto;
    background:rgba(11,11,11,.98);backdrop-filter:blur(18px)}
  body.menu .nav ul{display:flex}
  .nav ul a,.nav ul button.top{width:100%;text-align:left;padding:13px 14px;font-size:15.5px;
    border-bottom:1px solid var(--hair)}
  .drop{position:static;opacity:1;visibility:visible;transform:none;display:none;
    border:0;background:none;padding:0 0 0 14px;backdrop-filter:none}
  li.open>.drop{display:grid}
  .burger{display:grid}
  .nav .cta{padding:9px 13px;font-size:12.5px}
}

main{position:relative;z-index:10;padding-top:92px}
.wrap{width:min(1280px,calc(100% - var(--pad)*2));margin-inline:auto}
.sec{padding:clamp(46px,6vw,110px) 0;position:relative}
.sec.tight{padding:clamp(30px,4vw,64px) 0}

/* ============================ PRIMITIVAS ============================ */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--m);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--hum);border:1px solid var(--hair2);
  padding:6px 11px;background:rgba(255,75,18,.06)}
.eyebrow i{width:6px;height:6px;background:var(--hum);flex:0 0 6px;
  box-shadow:0 0 10px var(--hum);animation:bl 1.8s infinite}
.eyebrow.n{color:var(--ai);border-color:var(--hair)}
.eyebrow.n i{background:var(--ai);box-shadow:0 0 10px var(--ai)}
@keyframes bl{50%{opacity:.3}}
h1{font-size:clamp(34px,6.2vw,92px);line-height:.98;letter-spacing:-.045em;font-weight:800;max-width:17ch}
h2{font-size:clamp(25px,4vw,56px);line-height:1.02;letter-spacing:-.035em;font-weight:800;max-width:22ch}
h3{font-size:clamp(17px,1.8vw,24px);line-height:1.16;letter-spacing:-.025em;font-weight:700}
.lede{font-size:clamp(15px,1.35vw,19px);line-height:1.5;color:var(--dim);max-width:56ch}
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--e),transform .8s var(--e)}
.rv.in{opacity:1;transform:none}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 21px;font-size:14.5px;font-weight:600;
  border:1px solid var(--hair2);transition:.25s var(--e)}
.btn.solid{background:var(--hum);color:#0B0B0B;border-color:var(--hum)}
.btn.solid:hover{background:var(--bone);border-color:var(--bone);color:#000}
.btn.ghost:hover{background:rgba(255,75,18,.12);border-color:var(--hum)}
.btn.sm{padding:9px 15px;font-size:13px}
.hum{color:var(--hum)}.aic{color:var(--ai)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;
  margin-bottom:clamp(20px,3vw,42px)}
.sec-head .lede{margin-top:14px}
.linkmore{font-family:var(--m);font-size:10.5px;letter-spacing:.12em;color:var(--hum);
  border-bottom:1px solid var(--hair2);padding-bottom:4px;transition:.25s var(--e)}
.linkmore:hover{border-color:var(--hum)}

/* ============================ CARD DE ARTIGO ============================ */
.grid{display:grid;gap:1px}
.grid>*{box-shadow:0 0 0 1px var(--hair)}
.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.grid.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.grid.c4,.grid.c3,.grid.c2{grid-template-columns:1fr}}

.post{background:var(--k2);display:flex;flex-direction:column;transition:background .35s var(--e);
  min-height:100%;position:relative;overflow:hidden}
.post:hover{background:var(--k3)}
.post .thumb{aspect-ratio:16/10;background:#070707;border-bottom:1px solid var(--hair);
  position:relative;overflow:hidden}
.post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--e);
  opacity:.88}
.post:hover .thumb img{transform:scale(1.045);opacity:1}
.post .thumb canvas{width:100%;height:100%}
.post .body{padding:clamp(15px,1.6vw,22px);display:flex;flex-direction:column;gap:11px;flex:1}
.post .cat{font-family:var(--m);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--hum)}
.post h3{letter-spacing:-.028em}
.post .ex{font-size:13.5px;color:var(--dim);line-height:1.5}
.post .foot{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:center;
  font-family:var(--m);font-size:9.5px;letter-spacing:.1em;color:var(--dimmer);
  border-top:1px solid var(--hair);padding-top:12px}
.post .foot .go{color:var(--hum)}

/* destaque em faixa larga */
.post.wide{flex-direction:row;align-items:stretch}
.post.wide .thumb{aspect-ratio:auto;width:44%;flex:0 0 44%;border-bottom:0;border-right:1px solid var(--hair)}
.post.wide .body{padding:clamp(20px,2.6vw,40px);gap:14px}
.post.wide h3{font-size:clamp(21px,2.6vw,36px);letter-spacing:-.035em;line-height:1.08}
.post.wide .ex{font-size:15px;max-width:52ch}
@media(max-width:820px){.post.wide{flex-direction:column}
  .post.wide .thumb{width:100%;flex:none;aspect-ratio:16/9;border-right:0;
    border-bottom:1px solid var(--hair)}}

/* ============================ CATEGORIAS ============================ */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1px}
.cats>a{box-shadow:0 0 0 1px var(--hair)}
.cats a{background:var(--k2);padding:clamp(15px,1.8vw,24px);display:flex;flex-direction:column;
  gap:8px;transition:.35s var(--e);position:relative;overflow:hidden}
.cats a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--hum);
  transform:scaleY(0);transform-origin:top;transition:transform .4s var(--e)}
.cats a:hover{background:var(--k3)}
.cats a:hover::before{transform:scaleY(1)}
.cats .n{font-family:var(--m);font-size:9.5px;letter-spacing:.12em;color:var(--dimmer)}
.cats .t{font-size:15.5px;font-weight:700;letter-spacing:-.025em;line-height:1.2}
.cats a:hover .t{color:var(--hum)}
.cats .c{font-family:var(--m);font-size:10px;color:var(--dim);margin-top:auto;padding-top:8px}

/* ============================ RADAR / NOTÍCIAS ============================ */
.radar{border:1px solid var(--hair);background:rgba(8,13,22,.55);backdrop-filter:blur(6px)}
.radar .hd{display:flex;align-items:center;gap:12px;padding:12px 14px;flex-wrap:wrap;
  border-bottom:1px solid var(--hair);font-family:var(--m);font-size:10px;letter-spacing:.1em;
  color:var(--dim)}
.radar .hd .live{display:flex;align-items:center;gap:7px;color:var(--ok)}
.radar .hd .live i{width:7px;height:7px;border-radius:50%;background:currentColor;
  animation:bl 1.6s infinite}
.radar .hd .sp{flex:1}

.nrow{display:grid;grid-template-columns:66px minmax(0,1fr) 132px;gap:14px;padding:13px 15px;
  border-bottom:1px solid var(--hair);align-items:center;transition:background .3s var(--e)}
.nrow:last-child{border-bottom:0}
.nrow:hover{background:rgba(255,75,18,.06)}
.nrow .ts{font-family:var(--m);font-size:10px;color:var(--dimmer);letter-spacing:.06em}
.nrow .tt{font-size:14.5px;font-weight:600;letter-spacing:-.02em;line-height:1.32}
.nrow:hover .tt{color:var(--hum)}
.nrow .sm{font-size:12.5px;color:var(--dim);margin-top:5px;line-height:1.45}
.nrow .src{font-family:var(--m);font-size:10px;color:var(--ai);text-align:right;letter-spacing:.06em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.nrow{grid-template-columns:1fr;gap:7px}
  .nrow .src{text-align:left}.nrow .ts{order:3}}

/* card de notícia (grid do radar) */
.ncard{background:var(--k2);display:flex;flex-direction:column;transition:background .35s var(--e)}
.ncard:hover{background:var(--k3)}
.ncard .thumb{aspect-ratio:16/9;background:#070707;border-bottom:1px solid var(--hair);overflow:hidden}
.ncard .thumb img{width:100%;height:100%;object-fit:cover;opacity:.86;transition:.6s var(--e)}
.ncard:hover .thumb img{opacity:1;transform:scale(1.04)}
.ncard .body{padding:15px;display:flex;flex-direction:column;gap:9px;flex:1}
.ncard .meta{display:flex;gap:9px;align-items:center;font-family:var(--m);font-size:9.5px;
  letter-spacing:.11em;color:var(--dimmer);flex-wrap:wrap}
.ncard .meta .s{color:var(--hum)}
.ncard h4{font-size:15px;font-weight:700;letter-spacing:-.025em;line-height:1.26}
.ncard:hover h4{color:var(--hum)}
.ncard .sm{font-size:12.5px;color:var(--dim);line-height:1.45}
.ncard .foot{margin-top:auto;padding-top:11px;border-top:1px solid var(--hair);
  font-family:var(--m);font-size:9.5px;color:var(--dimmer);display:flex;justify-content:space-between;
  gap:8px}
.ncard .foot .host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* controles do radar */
.filters{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,.8fr)) auto;gap:1px}
.filters>*{box-shadow:0 0 0 1px var(--hair)}
.filters .fl{background:var(--k2);padding:11px 14px;display:flex;flex-direction:column;gap:5px}
.filters label{font-family:var(--m);font-size:9px;letter-spacing:.14em;color:var(--dimmer);
  text-transform:uppercase}
.filters input,.filters select{font-size:14px;padding:2px 0}
.filters select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),
  linear-gradient(135deg,var(--dim) 50%,transparent 50%);
  background-position:calc(100% - 9px) 55%,calc(100% - 5px) 55%;
  background-size:4px 4px,4px 4px;background-repeat:no-repeat;padding-right:18px}
.filters select option{background:var(--k2);color:var(--bone)}
.filters .go{background:var(--k2);display:grid;place-items:center;padding:0 22px;
  font-family:var(--m);font-size:10.5px;letter-spacing:.12em;color:var(--hum);
  transition:.25s var(--e)}
.filters .go:hover{background:var(--hum);color:#0B0B0B}
@media(max-width:1000px){.filters{grid-template-columns:1fr 1fr}
  .filters .fl:first-child{grid-column:1/-1}.filters .go{grid-column:1/-1;padding:14px}}

.chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.chip{border:1px solid var(--hair);padding:7px 13px;font-family:var(--m);font-size:10.5px;
  letter-spacing:.08em;color:var(--dim);transition:.25s var(--e);white-space:nowrap}
.chip:hover{border-color:var(--hum);color:var(--hum)}
.chip[aria-pressed=true],.chip.on{border-color:var(--hum);color:var(--hum);
  background:rgba(255,75,18,.1)}
.chip b{color:var(--dimmer);font-weight:400;margin-left:6px}

/* estado de carregamento / vazio */
.skel{background:var(--k2);min-height:130px;position:relative;overflow:hidden;
  box-shadow:0 0 0 1px var(--hair)}
.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,
  transparent,rgba(241,240,236,.05),transparent);animation:sh 1.4s infinite}
@keyframes sh{to{transform:translateX(100%)}}
.empty{border:1px solid var(--hair);background:var(--k2);padding:clamp(28px,5vw,64px);
  text-align:center}
.empty .mono{color:var(--dimmer);display:block;margin-bottom:12px;letter-spacing:.14em}
.empty h3{color:var(--dim);font-weight:700}
.empty p{color:var(--dimmer);margin-top:10px;font-size:13.5px}

.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:clamp(20px,3vw,40px);
  flex-wrap:wrap}
.pager button{border:1px solid var(--hair);padding:10px 16px;font-family:var(--m);font-size:10.5px;
  letter-spacing:.1em;color:var(--dim);transition:.25s var(--e)}
.pager button:hover:not(:disabled){border-color:var(--hum);color:var(--hum)}
.pager button:disabled{opacity:.3;cursor:not-allowed}
.pager .pg{font-family:var(--m);font-size:10.5px;color:var(--dimmer);padding:0 10px;letter-spacing:.1em}

/* ============================ HERO ============================ */
#hero{padding-top:clamp(14px,3vw,38px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:clamp(20px,3.4vw,58px);align-items:center}
#hero h1 span.sl{display:block}
#hero h1 .neg{color:var(--dimmer)}
#hero h1 .pos{position:relative;display:inline-block}
#hero h1 .pos::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:3px;
  background:var(--hum);transform:scaleX(0);transform-origin:left;
  animation:und 1.1s var(--e) 1.1s forwards}
@keyframes und{to{transform:scaleX(1)}}
.hero-cta{display:flex;gap:11px;flex-wrap:wrap;margin-top:clamp(22px,3vw,34px)}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair);
  margin-top:clamp(26px,4vw,44px)}
.hero-meta div{padding:14px 14px 14px 0;border-right:1px solid var(--hair)}
.hero-meta div:last-child{border-right:0;padding-right:0}
.hero-meta b{display:block;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.04em;font-weight:800}
.hero-meta span{font-family:var(--m);font-size:9.5px;letter-spacing:.12em;color:var(--dim);
  display:block;margin-top:6px}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr}}

/* ============================ LENTE RAIO-X ============================ */
.xr{position:relative;border:1px solid var(--hair2);background:#070707;overflow:hidden;
  aspect-ratio:4/3}
.xr canvas{width:100%;height:100%}
.xr .hudx{position:absolute;inset:12px;pointer-events:none;display:flex;justify-content:space-between;
  align-items:flex-start;font-family:var(--m);font-size:9.5px;letter-spacing:.12em;color:var(--dim)}
.xr .hudx b{color:var(--hum);font-weight:400}
.xr .foot{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;
  gap:10px;font-family:var(--m);font-size:9.5px;letter-spacing:.1em;color:var(--dim);pointer-events:none}
.xr .tip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--m);
  font-size:10.5px;letter-spacing:.18em;color:var(--dim);pointer-events:none;transition:opacity .5s;
  text-align:center}
.xr .tip.gone{opacity:0}
.xr-ctl{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.xr-ctl button{border:1px solid var(--hair);padding:8px 13px;font-family:var(--m);font-size:10.5px;
  letter-spacing:.08em;color:var(--dim);transition:.25s var(--e)}
.xr-ctl button[aria-pressed=true]{border-color:var(--hum);color:var(--hum);background:rgba(255,75,18,.1)}

/* ============================ MARQUEE ============================ */
.mq{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow:hidden;
  padding:16px 0;background:rgba(11,11,11,.5);display:flex;flex-direction:column;gap:8px}
.mq .row{display:flex;gap:38px;white-space:nowrap;will-change:transform}
.mq .row span{display:flex;align-items:center;gap:38px;font-size:clamp(19px,3.2vw,42px);
  letter-spacing:-.035em;font-weight:800;color:var(--dimmer)}
.mq .row span::after{content:"";width:.22em;height:.22em;background:var(--hum);flex:0 0 auto}
.mq .row.b span{font-size:clamp(15px,2.2vw,28px);color:var(--ai);font-weight:600}

/* ============================ NEWSLETTER ============================ */
.news{border:1px solid var(--hum);padding:clamp(24px,4vw,68px);position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,75,18,.10),rgba(11,11,11,.2))}
.news canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.45}
.news>*{position:relative}
.news h2{max-width:20ch}
.news p{color:var(--dim);max-width:52ch;margin-top:14px}
.nform{display:flex;gap:1px;background:var(--hair);border:1px solid var(--hair);
  margin-top:clamp(20px,3vw,32px);max-width:560px}
.nform .in{background:var(--k2);padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:4px}
.nform label{font-family:var(--m);font-size:9px;letter-spacing:.14em;color:var(--dimmer);
  text-transform:uppercase}
.nform input{font-size:15px}
.nform button{background:var(--hum);color:#0B0B0B;padding:0 26px;font-weight:700;font-size:14px;
  transition:.25s var(--e);white-space:nowrap}
.nform button:hover{background:var(--bone)}
.nform button:disabled{opacity:.5;cursor:wait}
.nmsg{font-family:var(--m);font-size:11px;letter-spacing:.06em;margin-top:12px;min-height:1.4em}
.nmsg.ok{color:var(--ok)}.nmsg.bad{color:var(--hum)}
.npriv{font-family:var(--m);font-size:9.5px;color:var(--dimmer);margin-top:10px;letter-spacing:.06em}
@media(max-width:560px){.nform{flex-direction:column}.nform button{padding:15px}}

/* ============================ MÓDULO STATS ============================ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hair);
  background:rgba(8,13,22,.6)}
.stats div{padding:clamp(18px,2.6vw,40px);border-right:1px solid var(--hair)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-size:clamp(30px,4.4vw,66px);line-height:.94;letter-spacing:-.05em;
  font-weight:800;color:var(--hum)}
.stats p{font-family:var(--m);font-size:10.5px;color:var(--dim);margin-top:12px;line-height:1.6}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr}
  .stats div:nth-child(2n){border-right:0}}

/* ============================ FERRAMENTAS ============================ */
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px}
.tools>a{box-shadow:0 0 0 1px var(--hair)}
.tool{background:var(--k2);padding:clamp(17px,2vw,26px);display:flex;flex-direction:column;gap:11px;
  transition:background .35s var(--e)}
.tool:hover{background:var(--k3)}
.tool .top{display:flex;align-items:center;gap:11px}
.tool .ic{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--hair2);display:grid;
  place-items:center;font-family:var(--m);font-size:13px;font-weight:700;color:var(--hum)}
.tool h4{font-size:16px;font-weight:700;letter-spacing:-.025em}
.tool .kind{font-family:var(--m);font-size:9.5px;letter-spacing:.12em;color:var(--dimmer);
  text-transform:uppercase}
.tool p{font-size:13.5px;color:var(--dim);line-height:1.5}
.tool .use{margin-top:auto;padding-top:12px;border-top:1px solid var(--hair);
  font-family:var(--m);font-size:10px;letter-spacing:.1em;color:var(--hum)}

/* ============================ ARTIGO ============================ */
.art-head{max-width:74ch}
.art-meta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-family:var(--m);
  font-size:10px;letter-spacing:.12em;color:var(--dim);margin-top:clamp(18px,2.4vw,28px);
  padding-top:16px;border-top:1px solid var(--hair)}
.art-meta .a{color:var(--hum)}
.art-cover{border:1px solid var(--hair);background:#070707;margin:clamp(24px,3.4vw,48px) 0;
  aspect-ratio:21/9;overflow:hidden}
.art-cover img{width:100%;height:100%;object-fit:cover}
.art-cover canvas{width:100%;height:100%}
.art-body{max-width:72ch;font-size:clamp(15.5px,1.15vw,17.5px);line-height:1.72}
.art-body>*+*{margin-top:1.15em}
.art-body h2{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.03em;margin-top:2em;max-width:none}
.art-body h3{font-size:clamp(18px,1.7vw,23px);margin-top:1.7em}
.art-body h2+*,.art-body h3+*{margin-top:.7em}
.art-body p{color:rgba(241,240,236,.86)}
.art-body a{color:var(--hum);border-bottom:1px solid var(--hair2)}
.art-body a:hover{border-color:var(--hum)}
.art-body strong{color:var(--bone);font-weight:700}
.art-body ul,.art-body ol{padding-left:1.35em;color:rgba(241,240,236,.86)}
.art-body li+li{margin-top:.5em}
.art-body ul li::marker{color:var(--hum)}
.art-body ol li::marker{color:var(--hum);font-family:var(--m);font-size:.85em}
.art-body blockquote{border-left:2px solid var(--hum);padding:4px 0 4px 20px;color:var(--dim);
  font-size:1.08em;letter-spacing:-.01em}
.art-body code{font-family:var(--m);font-size:.87em;background:rgba(255,75,18,.1);
  border:1px solid var(--hair2);padding:2px 6px;color:var(--bone)}
.art-body pre{background:#070707;border:1px solid var(--hair);padding:16px 18px;overflow-x:auto}
.art-body pre code{background:none;border:0;padding:0;font-size:12.5px;line-height:1.6}
.art-body img{border:1px solid var(--hair);margin-block:1.6em}
.art-body hr{border:0;border-top:1px solid var(--hair);margin-block:2.4em}
.art-body table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.art-body th,.art-body td{border:1px solid var(--hair);padding:9px 12px;text-align:left}
.art-body th{font-family:var(--m);font-size:10px;letter-spacing:.1em;color:var(--dim);
  text-transform:uppercase;background:var(--k2)}
.art-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:clamp(28px,4vw,52px);padding-top:20px;
  border-top:1px solid var(--hair)}
.art-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:clamp(28px,4vw,52px)}
.art-nav>a{box-shadow:0 0 0 1px var(--hair)}
.art-nav a{background:var(--k2);padding:clamp(16px,2vw,26px);display:flex;flex-direction:column;gap:9px;
  transition:background .35s var(--e)}
.art-nav a:hover{background:var(--k3)}
.art-nav .d{font-family:var(--m);font-size:9.5px;letter-spacing:.13em;color:var(--dimmer)}
.art-nav a:hover .d{color:var(--hum)}
.art-nav .t{font-size:15.5px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.art-nav a.next{text-align:right;align-items:flex-end}
@media(max-width:680px){.art-nav{grid-template-columns:1fr}.art-nav a.next{text-align:left;align-items:flex-start}}

.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;background:transparent}
.progress i{display:block;height:100%;width:0;background:var(--hum);transition:width .1s linear}

/* ============================ MANIFESTO ============================ */
.man{border:1px solid var(--hair2);padding:clamp(24px,4vw,68px);position:relative;overflow:hidden;
  background:rgba(11,11,11,.7)}
.man canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.42}
.man>*{position:relative}
.man ol{list-style:none;counter-reset:m;display:grid;gap:1px;background:var(--hair);
  margin-top:clamp(20px,3vw,40px);border:1px solid var(--hair)}
.man li{counter-increment:m;background:rgba(8,13,22,.9);padding:16px 18px;display:grid;
  grid-template-columns:44px 1fr;gap:14px;align-items:baseline;font-size:clamp(15px,1.6vw,20px);
  letter-spacing:-.02em;line-height:1.32}
.man li::before{content:counter(m,decimal-leading-zero);font-family:var(--m);font-size:10.5px;
  color:var(--hum);letter-spacing:.1em}
.man li b{color:var(--hum);font-weight:700}
/* O conteudo do <li> tem de vir embrulhado num elemento. Texto solto ao lado
   de um <b> vira um item anonimo de grade — um terceiro item, que cai na linha
   de baixo dentro da coluna de 44px do numero e quebra uma palavra por linha. */
.man li>*{min-width:0;grid-column:2}

/* ============================ RODAPÉ ============================ */
footer{border-top:1px solid var(--hair);margin-top:clamp(40px,6vw,92px);padding:clamp(26px,4vw,54px) 0 20px}
.f-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.7fr));
  gap:clamp(18px,3vw,44px)}
.f-grid h4{font-family:var(--m);font-size:10px;letter-spacing:.14em;color:var(--dimmer);
  margin-bottom:11px;text-transform:uppercase}
.f-grid a{display:block;font-size:13.5px;color:var(--dim);padding:3px 0;transition:color .25s}
.f-grid a:hover{color:var(--hum)}
.f-bot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:clamp(26px,4vw,48px);
  padding-top:14px;border-top:1px solid var(--hair);font-family:var(--m);font-size:10px;
  color:var(--dimmer)}
.f-bot a:hover{color:var(--hum)}
@media(max-width:820px){.f-grid{grid-template-columns:1fr 1fr}}

/* ============================ 404 ============================ */
.nf{display:grid;place-items:center;min-height:64vh;text-align:center}
.nf b{display:block;font-size:clamp(72px,18vw,220px);line-height:.86;letter-spacing:-.06em;
  font-weight:800;color:var(--hum)}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .rv{opacity:1!important;transform:none!important}
}

/* ==========================================================================
   REDAÇÃO (/admin)
   ========================================================================== */
.gate{display:grid;place-items:center;min-height:70vh}
.gate form{border:1px solid var(--hair2);background:var(--k2);padding:clamp(24px,4vw,44px);
  width:min(440px,100%)}
.gate h1{font-size:clamp(24px,3.4vw,40px);max-width:none;margin-bottom:10px}
.gate p{color:var(--dim);font-size:13.5px;margin-bottom:22px}
.gate .f{border:1px solid var(--hair);background:var(--k);padding:12px 14px;
  display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.gate .f:focus-within{border-color:var(--hum)}
.gate label{font-family:var(--m);font-size:9px;letter-spacing:.14em;color:var(--dimmer);
  text-transform:uppercase}
.gate input{font-size:15px;font-family:var(--m)}
.gate button{width:100%;background:var(--hum);color:#0B0B0B;padding:14px;font-weight:700;
  transition:.25s var(--e)}
.gate button:hover{background:var(--bone)}
.gate .msg{font-family:var(--m);font-size:11px;margin-top:12px;min-height:1.4em;color:var(--hum)}

.adm{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:1px;
  align-items:start}
.adm>*{box-shadow:0 0 0 1px var(--hair)}
@media(max-width:1000px){.adm{grid-template-columns:1fr}}

.adm-side{background:var(--k2);padding:16px;position:sticky;top:100px;max-height:calc(100vh - 120px);
  overflow-y:auto}
@media(max-width:1000px){.adm-side{position:static;max-height:none}}
.adm-side h3{font-family:var(--m);font-size:10px;letter-spacing:.14em;color:var(--dimmer);
  text-transform:uppercase;margin-bottom:12px;font-weight:400}
.adm-side .new{display:block;width:100%;border:1px solid var(--hum);color:var(--hum);
  padding:11px;text-align:center;font-weight:600;font-size:13.5px;margin-bottom:18px;
  transition:.25s var(--e)}
.adm-side .new:hover{background:var(--hum);color:#0B0B0B}
.plist{display:flex;flex-direction:column;gap:1px}
.plist button{text-align:left;padding:11px 12px;background:var(--k);display:flex;
  flex-direction:column;gap:5px;transition:.25s var(--e);box-shadow:0 0 0 1px var(--hair)}
.plist button:hover{background:var(--k3)}
.plist button.on{background:rgba(255,75,18,.12);box-shadow:0 0 0 1px var(--hum)}
.plist .t{font-size:13.5px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.plist .m{font-family:var(--m);font-size:9px;letter-spacing:.1em;color:var(--dimmer)}
.plist button.on .m{color:var(--hum)}

.adm-main{background:var(--k2);padding:clamp(16px,2.2vw,28px)}
.adm-head{display:flex;justify-content:space-between;align-items:center;gap:14px;
  flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--hair)}
.adm-head h2{font-size:clamp(19px,2.2vw,28px);max-width:none}
.adm-acts{display:flex;gap:8px;flex-wrap:wrap}
.adm-acts button{border:1px solid var(--hair);padding:10px 16px;font-family:var(--m);
  font-size:10.5px;letter-spacing:.1em;transition:.25s var(--e)}
.adm-acts button:hover{border-color:var(--hum);color:var(--hum)}
.adm-acts button.primary{background:var(--hum);color:#0B0B0B;border-color:var(--hum);font-weight:700}
.adm-acts button.primary:hover{background:var(--bone);border-color:var(--bone)}
.adm-acts button.danger:hover{border-color:var(--hum);color:var(--hum);background:rgba(255,75,18,.1)}
.adm-acts button:disabled{opacity:.4;cursor:not-allowed}

.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
.fgrid>*{box-shadow:0 0 0 1px var(--hair)}
.fgrid .wide{grid-column:1/-1}
@media(max-width:700px){.fgrid{grid-template-columns:1fr}}
.fld{background:var(--k);padding:11px 14px;display:flex;flex-direction:column;gap:5px}
.fld:focus-within{background:var(--k3)}
.fld label{font-family:var(--m);font-size:9px;letter-spacing:.14em;color:var(--dimmer);
  text-transform:uppercase}
.fld label b{color:var(--hum);font-weight:400}
.fld input,.fld select,.fld textarea{font-size:14.5px}
.fld textarea{resize:vertical;min-height:60px;line-height:1.5}
.fld select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),
  linear-gradient(135deg,var(--dim) 50%,transparent 50%);
  background-position:calc(100% - 9px) 55%,calc(100% - 5px) 55%;
  background-size:4px 4px,4px 4px;background-repeat:no-repeat;padding-right:18px}
.fld select option{background:var(--k2);color:var(--bone)}
.fld .hint{font-family:var(--m);font-size:9.5px;color:var(--dimmer);letter-spacing:.04em}
.fld.check{flex-direction:row;align-items:center;gap:10px}
.fld.check input{width:auto;accent-color:var(--hum)}
.fld.check label{text-transform:none;font-size:13px;letter-spacing:0;color:var(--bone)}

.editor{margin-top:1px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
.editor>*{box-shadow:0 0 0 1px var(--hair)}
.editor.solo{grid-template-columns:1fr}
.editor.solo .prev{display:none}
@media(max-width:900px){.editor{grid-template-columns:1fr}.editor .prev{display:none}}
.editor .pane{background:var(--k);display:flex;flex-direction:column}
.editor .ph{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:9px 13px;border-bottom:1px solid var(--hair);font-family:var(--m);font-size:9.5px;
  letter-spacing:.12em;color:var(--dimmer)}
.editor .ph button{font-family:var(--m);font-size:9.5px;letter-spacing:.1em;color:var(--hum)}
.editor textarea{flex:1;min-height:56vh;padding:14px;font-family:var(--m);font-size:13px;
  line-height:1.72;resize:vertical}
.editor .prev .art-body{padding:14px;min-height:56vh;max-width:none;font-size:15px;
  overflow-y:auto;max-height:76vh}
.editor .prev .art-body>*+*{margin-top:1em}
.editor .prev .art-body h2{margin-top:1.4em;font-size:24px}
.editor .prev .art-body h3{margin-top:1.2em;font-size:19px}

.mdbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px 13px;border-bottom:1px solid var(--hair)}
.mdbar button{border:1px solid var(--hair);padding:5px 9px;font-family:var(--m);font-size:10px;
  letter-spacing:.06em;color:var(--dim);transition:.2s var(--e)}
.mdbar button:hover{border-color:var(--hum);color:var(--hum)}

.adm-msg{font-family:var(--m);font-size:11px;letter-spacing:.06em;margin-top:14px;min-height:1.5em}
.adm-msg.ok{color:var(--ok)}
.adm-msg.bad{color:var(--hum)}
.adm-msg a{color:var(--hum);border-bottom:1px solid var(--hair2)}

/* seletor de manchete do radar */
.radarpick{background:var(--k2);padding:16px;margin-bottom:1px;box-shadow:0 0 0 1px var(--hair)}
.radarpick h3{font-family:var(--m);font-size:10px;letter-spacing:.14em;color:var(--dimmer);
  text-transform:uppercase;margin-bottom:6px;font-weight:400}
.radarpick p{font-size:13px;color:var(--dim);margin-bottom:12px}
.radarpick .row{display:flex;gap:8px;margin-bottom:12px}
.radarpick .row input{border:1px solid var(--hair);background:var(--k);padding:10px 12px;font-size:14px}
.radarpick .row button{border:1px solid var(--hair);padding:10px 16px;font-family:var(--m);
  font-size:10.5px;letter-spacing:.1em;color:var(--hum);white-space:nowrap}
.radarpick .row button:hover{background:var(--hum);color:#0B0B0B}
.picks{display:flex;flex-direction:column;gap:1px;max-height:340px;overflow-y:auto}
.picks button{text-align:left;background:var(--k);padding:11px 13px;display:flex;
  flex-direction:column;gap:5px;box-shadow:0 0 0 1px var(--hair);transition:.2s var(--e)}
.picks button:hover{background:var(--k3)}
.picks .t{font-size:13.5px;font-weight:600;line-height:1.3}
.picks .m{font-family:var(--m);font-size:9px;letter-spacing:.1em;color:var(--hum)}
.picks .s{font-size:12px;color:var(--dim);line-height:1.4}
