/* ============================================================
   PORTAL NEXUS — folha de estilo principal
   Identidade: chapa preta, letra branca, chama.
   ============================================================ */

:root{
  /* superfícies */
  --ash:#08080B;
  --coal:#0D0D12;
  --smoke:#14141B;
  --panel:#1A1A22;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.16);

  /* texto */
  --fg:#F2F2F5;
  --fg-dim:#9C9CA8;
  --fg-mute:#6B6B77;

  /* chama em escala de cinza */
  --flare:#FFFFFF;
  --ember:#C6C6CE;
  --coalred:#5E5E68;
  --fire:linear-gradient(180deg,#FFFFFF 0%,#C9C9D1 52%,#75757F 100%);
  --fire-h:linear-gradient(90deg,#FFFFFF 0%,#CFCFD6 50%,#8A8A93 100%);

  /* medidas */
  --wrap:1240px;
  --chamfer:14px;
  --r:4px;
  --ease:cubic-bezier(.2,.7,.25,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ash);color:var(--fg);
  font-family:'Barlow',system-ui,sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
img,iframe,canvas,video,svg{max-width:100%}
img{display:block}
/* filho de grid/flex não pode forçar a largura do pai */
.wrap > *,.news-grid > *,.deck > *,.deck-sm > *,.promo-grid > *,.plans > *{min-width:0}
h1,h2,h3,h4,p,li,td{overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--flare);outline-offset:3px}
::selection{background:var(--ember);color:#0b0b0e}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:.01em;line-height:.98;margin:0;text-transform:uppercase}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ember);display:flex;align-items:center;gap:10px;margin:0 0 14px;
}
.eyebrow::before{content:"//";color:var(--fg-mute)}
.lead{color:var(--fg-dim);font-size:17px;max-width:62ch}

/* ---------- utilidades ---------- */
.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.chamfer{clip-path:polygon(var(--chamfer) 0,100% 0,100% calc(100% - var(--chamfer)),calc(100% - var(--chamfer)) 100%,0 100%,0 var(--chamfer))}
.section{padding:96px 0;position:relative}
.section + .section{border-top:1px solid var(--line)}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px}
.section-head h2{font-size:clamp(26px,5vw,52px);overflow-wrap:break-word}
.hidden{display:none !important}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:13px 24px;
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--line-2);background:var(--smoke);transition:.25s var(--ease);position:relative;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.btn:hover{border-color:var(--ember);background:#20202a;transform:translateY(-2px)}
.btn-fire{background:var(--fire-h);color:#120800;border-color:transparent;font-weight:700}
.btn-fire:hover{background:var(--fire-h);filter:brightness(1.12);color:#120800}
.btn-ghost{background:transparent}
.btn-sm{padding:9px 16px;font-size:11px}
.btn-block{width:100%;justify-content:center}
.btn[disabled]{opacity:.45;pointer-events:none}

/* ============================================================
   TICKER
   ============================================================ */
.ticker{background:var(--coal);border-bottom:1px solid var(--line);overflow:hidden;height:34px;display:flex;align-items:center}
.ticker-tag{
  background:var(--fire-h);color:#140800;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.18em;padding:0 14px;height:34px;display:flex;align-items:center;flex:none;z-index:2;
}
.ticker-track{display:flex;gap:44px;white-space:nowrap;animation:slide 42s linear infinite;padding-left:24px}
.ticker-track span{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--fg-dim);letter-spacing:.06em}
.ticker-track span b{color:var(--flare);font-weight:600;margin-right:8px}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker:hover .ticker-track{animation-play-state:paused}

/* ============================================================
   NAVEGAÇÃO
   ============================================================ */
.nav{position:sticky;top:0;z-index:80;background:rgba(8,8,11,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:20px;height:74px;min-width:0}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand img{width:38px;height:38px;filter:drop-shadow(0 0 14px rgba(255,255,255,.28))}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt strong{font-family:'Anton',sans-serif;font-size:19px;letter-spacing:.06em;text-transform:uppercase}
.brand-txt em{font-family:'JetBrains Mono',monospace;font-style:normal;font-size:9px;letter-spacing:.28em;color:var(--ember)}
.nav-links{display:flex;gap:2px;margin-left:auto;min-width:0;flex-shrink:1;overflow:hidden}
.nav-links a{
  padding:9px 11px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fg-dim);transition:.2s var(--ease);position:relative;
  white-space:nowrap;
}
.nav-links a::after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:1px;background:var(--ember);transform:scaleX(0);transition:transform .25s var(--ease)}
.nav-links a:hover{color:var(--fg)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.icon-btn{
  width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);
  background:var(--smoke);position:relative;transition:.2s var(--ease);
}
.icon-btn:hover{border-color:var(--ember)}
.icon-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}
.badge{
  position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;background:var(--ember);color:#150800;
  font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;display:grid;place-items:center;border-radius:9px;
}
.burger{display:none}

/* menu mobile */
.mobile-menu{position:fixed;inset:74px 0 0;background:var(--ash);z-index:79;padding:24px;display:none;flex-direction:column;gap:6px}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:16px;border-bottom:1px solid var(--line);font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
#embers{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.85}
.hero::after{
  content:"";position:absolute;inset:auto 0 0;height:220px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,var(--ash));
}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:80px 0}
.hero h1{font-size:clamp(34px,9vw,116px);line-height:.9;letter-spacing:-.01em;overflow-wrap:break-word;hyphens:auto}
.hero h1 .burn{
  background:var(--fire);-webkit-background-clip:text;background-clip:text;color:transparent;
  display:inline-block;
}
.hero .lead{margin:22px 0 32px;font-size:18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-stats{display:flex;gap:0;margin-top:44px;border-top:1px solid var(--line)}
.hero-stats div{padding:18px 26px 0 0;margin-right:26px;border-right:1px solid var(--line)}
.hero-stats div:last-child{border-right:0}
.hero-stats strong{display:block;font-family:'Anton',sans-serif;font-size:28px;color:var(--flare)}
.hero-stats span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute)}
.hero-mark{position:relative;display:grid;place-items:center}
.hero-mark img{width:min(100%,380px);filter:drop-shadow(0 0 70px rgba(255,255,255,.22));animation:breathe 5s ease-in-out infinite}
@keyframes breathe{0%,100%{filter:drop-shadow(0 0 60px rgba(255,255,255,.16))}50%{filter:drop-shadow(0 0 100px rgba(255,255,255,.34))}}

/* ============================================================
   LAUNCHER
   ============================================================ */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.tab{
  padding:10px 18px;border:1px solid var(--line);background:var(--coal);
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);
  transition:.2s var(--ease);
}
.tab:hover{color:var(--fg);border-color:var(--line-2)}
.tab.active{background:var(--fire-h);color:#150800;border-color:transparent;font-weight:700}

.deck{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{
  position:relative;padding:26px 22px;background:var(--coal);border:1px solid var(--line);
  overflow:hidden;transition:.3s var(--ease);display:flex;flex-direction:column;gap:14px;min-height:172px;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
.tile::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--fire-h);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);
}
.tile::after{
  content:"";position:absolute;inset:auto -20% -70% -20%;height:150%;
  background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.13),transparent 62%);
  opacity:0;transition:opacity .35s var(--ease);pointer-events:none;
}
.tile:hover{transform:translateY(-5px);border-color:var(--line-2)}
.tile:hover::before{transform:scaleX(1)}
.tile:hover::after{opacity:1}
.tile-ico{width:40px;height:40px;display:grid;place-items:center;background:var(--smoke);border:1px solid var(--line);position:relative;z-index:1}
.tile-ico svg{width:21px;height:21px;fill:currentColor}
.tile h3{font-size:19px;position:relative;z-index:1}
.tile p{margin:0;font-size:13.5px;color:var(--fg-dim);position:relative;z-index:1;flex:1}
.tile .go{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute);
  display:flex;align-items:center;gap:8px;position:relative;z-index:1;transition:.2s var(--ease);
}
.tile:hover .go{color:var(--flare)}
.tile:hover .tile-ico{color:#FFFFFF;border-color:rgba(255,255,255,.55);background:#22222B}

.deck-sm{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(168px,100%),1fr));gap:12px}
.chip-link{
  display:flex;align-items:center;gap:12px;padding:15px 16px;background:var(--coal);border:1px solid var(--line);
  transition:.25s var(--ease);
}
.chip-link:hover{border-color:var(--ember);transform:translateY(-3px);background:var(--smoke)}
.chip-link .dot{width:8px;height:8px;background:var(--fire-h);flex:none;transform:rotate(45deg)}
.chip-link strong{font-size:14px;font-weight:600;display:block;letter-spacing:.01em}
.chip-link small{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute)}

/* ============================================================
   NOTÍCIAS
   ============================================================ */
.news-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:26px}
.search{
  display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--coal);border:1px solid var(--line);
  margin-left:auto;min-width:min(250px,100%);
}
.search input{background:none;border:0;outline:0;width:100%;font-size:14px}
.search input::placeholder{color:var(--fg-mute)}
.search svg{width:16px;height:16px;stroke:var(--fg-mute);fill:none;stroke-width:2;flex:none}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.news-grid .card:first-child{grid-column:span 2;grid-row:span 2}
.card{
  background:var(--coal);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;
  cursor:pointer;transition:.3s var(--ease);text-align:left;
}
.card:hover{border-color:var(--line-2);transform:translateY(-4px)}
.card-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--smoke);flex:none}
.news-grid .card:first-child .card-thumb{aspect-ratio:16/10}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.card:hover .card-thumb img{transform:scale(1.05)}
.card-thumb .gen{position:absolute;inset:0;display:grid;place-items:center}
.card-thumb .gen span{
  font-family:'Anton',sans-serif;font-size:clamp(30px,7vw,64px);letter-spacing:.06em;
  background:var(--fire);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9;
}
.cat{
  position:absolute;top:12px;left:12px;padding:5px 11px;background:rgba(8,8,11,.9);border:1px solid var(--line-2);
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--flare);z-index:2;
}
.card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-body h3{font-size:18px;line-height:1.1}
.news-grid .card:first-child .card-body h3{font-size:clamp(22px,3vw,34px)}
.card-body p{margin:0;font-size:14px;color:var(--fg-dim);flex:1}
.card-meta{
  display:flex;gap:14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;
  color:var(--fg-mute);text-transform:uppercase;border-top:1px solid var(--line);padding-top:12px;
}
.empty{
  padding:60px 20px;text-align:center;border:1px dashed var(--line-2);color:var(--fg-dim);
}
.empty strong{display:block;font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;margin-bottom:8px;color:var(--fg)}

/* ============================================================
   AGÊNCIA
   ============================================================ */
.agency{background:var(--coal)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:26px}
.plan{
  background:var(--ash);border:1px solid var(--line);padding:30px 26px;display:flex;flex-direction:column;gap:18px;
  position:relative;transition:.3s var(--ease);
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
}
.plan:hover{transform:translateY(-6px);border-color:var(--line-2)}
.plan.featured{border-color:rgba(255,255,255,.4);background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 42%),var(--ash)}
.plan-flag{
  position:absolute;top:0;right:0;background:var(--fire-h);color:#150800;padding:6px 14px;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.plan h3{font-size:24px}
.plan .price{display:flex;align-items:baseline;gap:6px;font-family:'Anton',sans-serif}
.plan .price i{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--fg-mute)}
.plan .price b{font-size:44px;background:var(--fire);-webkit-background-clip:text;background-clip:text;color:transparent}
.plan .price em{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--fg-mute)}
.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;flex:1;
  border-top:1px solid var(--line);padding-top:18px}
.plan li{display:flex;gap:11px;font-size:14px;color:var(--fg-dim);line-height:1.45}
.plan li::before{content:"";width:7px;height:7px;background:var(--fire-h);transform:rotate(45deg);margin-top:7px;flex:none}
.plan .spec{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.step{background:var(--coal);padding:26px 22px}
.step .n{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--ember);margin-bottom:12px}
.step h4{font-size:16px;margin-bottom:8px}
.step p{margin:0;font-size:13.5px;color:var(--fg-dim)}

/* ============================================================
   SUPORTE
   ============================================================ */
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.form-card{background:var(--coal);border:1px solid var(--line);padding:30px}
.field{margin-bottom:16px}
.field label{
  display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fg-mute);margin-bottom:7px;
}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;background:var(--ash);border:1px solid var(--line);outline:0;font-size:15px;
  transition:border-color .2s var(--ease);
}
.field textarea{min-height:130px;resize:vertical;font-family:inherit}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ember)}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fg-mute) 50%),linear-gradient(135deg,var(--fg-mute) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.faq details{border:1px solid var(--line);background:var(--coal);margin-bottom:10px}
.faq summary{
  padding:17px 20px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;
  font-weight:600;font-size:15px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'JetBrains Mono',monospace;color:var(--ember);font-size:19px;flex:none}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0;padding:0 20px 20px;color:var(--fg-dim);font-size:14.5px}

.my-tickets{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.ticket-row{
  display:flex;align-items:center;gap:14px;padding:15px 18px;background:var(--coal);border:1px solid var(--line);
  cursor:pointer;transition:.2s var(--ease);text-align:left;width:100%;
}
.ticket-row:hover{border-color:var(--ember)}
.ticket-row .t-id{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--fg-mute);flex:none}
.ticket-row .t-title{flex:1;font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 10px;border:1px solid;flex:none;
}
.status.aberto{color:#FFFFFF;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.10)}
.status.respondido{color:#B4B4BE;border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.05)}
.status.fechado{color:var(--fg-mute);border-color:var(--line-2)}

/* ============================================================
   RODAPÉ
   ============================================================ */
.footer{background:var(--coal);border-top:1px solid var(--line);padding:64px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}
.footer h5{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ember);margin:0 0 16px;font-weight:500;
}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer ul a{color:var(--fg-dim);font-size:14px;transition:.2s var(--ease)}
.footer ul a:hover{color:var(--flare)}
.footer-brand p{color:var(--fg-dim);font-size:14px;max-width:38ch;margin:16px 0 0}
.footer-bottom{
  border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:var(--fg-mute);text-transform:uppercase;
}

/* ============================================================
   MODAIS / OVERLAYS
   ============================================================ */
.overlay{
  position:fixed;inset:0;background:rgba(4,4,6,.86);backdrop-filter:blur(6px);z-index:100;
  display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;
}
.overlay.open{display:flex}
.modal{
  background:var(--coal);border:1px solid var(--line-2);width:100%;max-width:520px;position:relative;
  animation:pop .3s var(--ease);
}
.modal-lg{max-width:900px}
@keyframes pop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.modal-head{
  padding:22px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;
  position:sticky;top:0;background:var(--coal);z-index:3;
}
.modal-head h3{font-size:20px}
.modal-body{padding:26px}
.x{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);flex:none;transition:.2s}
.x:hover{border-color:var(--ember);color:var(--ember)}

.auth-switch{text-align:center;margin-top:18px;font-size:13.5px;color:var(--fg-dim)}
.auth-switch button{color:var(--flare);text-decoration:underline;font-size:13.5px}
.alert{
  padding:12px 15px;border-left:3px solid var(--ember);background:rgba(255,255,255,.05);font-size:13.5px;margin-bottom:18px;
}
.alert.err{border-left-width:5px;border-color:#FFFFFF;background:rgba(255,255,255,.11)}
.alert.ok{border-color:#8E8E99;background:rgba(255,255,255,.04)}

/* leitor de notícia */
.reader-hero{aspect-ratio:21/9;background:var(--smoke);position:relative;overflow:hidden}
.reader-hero img{width:100%;height:100%;object-fit:cover}
.reader-body{padding:34px}
.reader-body h1{font-size:clamp(24px,4.4vw,44px);margin-bottom:16px;overflow-wrap:break-word}
.reader-meta{
  display:flex;flex-wrap:wrap;gap:16px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--fg-mute);padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:26px;
}
.reader-text{font-size:16.5px;line-height:1.75;color:#DCDCE2}
.reader-text p{margin:0 0 18px}
.reader-text h2{font-size:24px;margin:32px 0 14px}
.reader-text ul{padding-left:20px;color:var(--fg-dim)}
.reader-text li{margin-bottom:8px}

/* notificações */
.notif-panel{
  position:absolute;top:64px;right:0;width:min(380px,calc(100vw - 40px));background:var(--coal);
  border:1px solid var(--line-2);z-index:90;max-height:440px;overflow-y:auto;display:none;
}
.notif-panel.open{display:block}
.notif-head{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.notif-head span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-mute)}
.notif-item{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;gap:12px}
.notif-item .nd{width:7px;height:7px;background:var(--fire-h);transform:rotate(45deg);flex:none;margin-top:6px}
.notif-item.read .nd{background:var(--line-2)}
.notif-item strong{display:block;font-size:14px;margin-bottom:3px}
.notif-item p{margin:0;font-size:13px;color:var(--fg-dim)}
.notif-item time{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--fg-mute);display:block;margin-top:6px}

/* toasts */
.toasts{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:10px}
.toast{
  background:var(--panel);border:1px solid var(--line-2);border-left:3px solid var(--ember);padding:14px 20px;
  font-size:14px;min-width:min(260px,100%);max-width:340px;animation:pop .25s var(--ease);
}
.toast.ok{border-left-color:#8E8E99}
.toast.err{border-left-color:#FFFFFF;border-left-width:5px}

/* ============================================================
   PAINEL ADMIN
   ============================================================ */
.admin{position:fixed;inset:0;background:var(--ash);z-index:150;display:none;flex-direction:column}
.admin.open{display:flex}
.admin-top{
  height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 24px;flex:none;
  background:var(--coal);
}
.admin-top .tag{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  background:var(--fire-h);color:#150800;padding:4px 10px;font-weight:700;
}
.admin-main{flex:1;display:grid;grid-template-columns:230px 1fr;overflow:hidden}
.admin-side{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px;background:var(--coal);overflow-y:auto}
.admin-side button{
  text-align:left;padding:12px 15px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--fg-dim);border-left:2px solid transparent;transition:.2s var(--ease);
}
.admin-side button:hover{color:var(--fg);background:var(--smoke)}
.admin-side button.active{color:var(--flare);border-left-color:var(--ember);background:var(--smoke)}
.admin-view{padding:32px;overflow-y:auto}
.admin-view h2{font-size:30px;margin-bottom:6px}
.admin-view .sub{color:var(--fg-dim);font-size:14.5px;margin-bottom:26px}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:34px}
.kpi{background:var(--coal);border:1px solid var(--line);padding:22px}
.kpi span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute)}
.kpi strong{display:block;font-family:'Anton',sans-serif;font-size:38px;margin-top:8px;color:var(--flare)}

.table{width:100%;border-collapse:collapse;background:var(--coal);border:1px solid var(--line)}
.table th{
  text-align:left;padding:13px 16px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-mute);border-bottom:1px solid var(--line);font-weight:500;
}
.table td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tr:hover td{background:var(--smoke)}
.table .acts{display:flex;gap:6px;justify-content:flex-end}
.mini{
  padding:6px 11px;border:1px solid var(--line-2);font-family:'JetBrains Mono',monospace;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;transition:.2s;
}
.mini:hover{border-color:var(--ember);color:var(--flare)}
.mini.danger:hover{border-color:#FFFFFF;color:#FFFFFF;background:rgba(255,255,255,.08)}

.chat{display:flex;flex-direction:column;gap:12px;max-height:340px;overflow-y:auto;padding:18px;background:var(--ash);border:1px solid var(--line);margin-bottom:18px}
.msg{padding:13px 16px;max-width:82%;font-size:14.5px;border:1px solid var(--line)}
.msg.user{background:var(--smoke);align-self:flex-start}
.msg.admin{background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border-color:rgba(255,255,255,.28);align-self:flex-end}
.msg .who{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:5px}

/* ============================================================
   ANIMAÇÃO DE ENTRADA
   ============================================================ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:1080px){
  .deck{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid .card:first-child{grid-column:span 2;grid-row:auto}
  .plans{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-in{grid-template-columns:1fr;gap:36px}
  .hero-mark{order:-1}
  .hero-mark img{width:190px}
}
/* a barra completa só cabe em telas largas; abaixo disso vira menu compacto */
@media (max-width:1200px){
  .nav-links{display:none}
  .burger{display:grid}
}

@media (max-width:820px){
  .support-grid{grid-template-columns:1fr}
  .admin-main{grid-template-columns:1fr}
  .admin-side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}
  .admin-side button{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}
  .admin-side button.active{border-left:0;border-bottom-color:var(--ember)}
  .admin-main{display:flex;flex-direction:column}
  .admin-view{padding:20px}
}
@media (max-width:620px){
  .section{padding:64px 0}
  .deck,.news-grid{grid-template-columns:1fr}
  .news-grid .card:first-child{grid-column:span 1}
  .steps{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .row-2{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap;gap:10px}
  .search{margin-left:0;width:100%}
  .toasts{left:16px;right:16px;bottom:16px}
  .toast{max-width:none}
  .table{display:block;overflow-x:auto}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   TEMA CLARO
   Ativado por data-theme="light" no <html>.
   Só troca as variáveis — todo o resto do CSS continua igual.
   ============================================================ */
:root[data-theme="light"]{
  --ash:#F2F2F4;
  --coal:#FFFFFF;
  --smoke:#EBEBEE;
  --panel:#E2E2E6;
  --line:rgba(0,0,0,.10);
  --line-2:rgba(0,0,0,.22);

  --fg:#0B0B0F;
  --fg-dim:#4C4C56;
  --fg-mute:#79798260;

  --flare:#0B0B0F;
  --ember:#3C3C46;
  --coalred:#8A8A93;
  --fire:linear-gradient(180deg,#4A4A55 0%,#22222A 52%,#0B0B0F 100%);
  --fire-h:linear-gradient(90deg,#33333C 0%,#1A1A21 50%,#0B0B0F 100%);
}
:root[data-theme="light"] .fg-mute,
:root[data-theme="light"]{ --fg-mute:#797982; }

/* a logo é branca: no claro ela precisa virar preta */
:root[data-theme="light"] .brand img{filter:invert(1) drop-shadow(0 0 10px rgba(0,0,0,.12))}
:root[data-theme="light"] .hero-mark img{filter:invert(1) drop-shadow(0 0 60px rgba(0,0,0,.18))}
:root[data-theme="light"] .hero-mark img{animation:breathe-light 5s ease-in-out infinite}
@keyframes breathe-light{
  0%,100%{filter:invert(1) drop-shadow(0 0 40px rgba(0,0,0,.14))}
  50%{filter:invert(1) drop-shadow(0 0 78px rgba(0,0,0,.26))}
}

/* o degradê "fogo" fica escuro no claro: o texto em cima precisa clarear */
:root[data-theme="light"] .btn-fire,
:root[data-theme="light"] .ticker-tag,
:root[data-theme="light"] .badge,
:root[data-theme="light"] .plan-flag,
:root[data-theme="light"] .tab.active{color:#FFFFFF}
:root[data-theme="light"] .btn-fire:hover{color:#FFFFFF}

/* superfícies que no escuro eram translúcidas em branco */
:root[data-theme="light"] .nav{background:rgba(242,242,244,.86)}
:root[data-theme="light"] .overlay{background:rgba(240,240,244,.86)}
:root[data-theme="light"] .tile::after{background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.10),transparent 62%)}
:root[data-theme="light"] .tile:hover .tile-ico{color:#0B0B0F;border-color:rgba(0,0,0,.45);background:#E4E4E8}
:root[data-theme="light"] .plan.featured{border-color:rgba(0,0,0,.35);background:linear-gradient(180deg,rgba(0,0,0,.05),transparent 42%),var(--coal)}
:root[data-theme="light"] .status.aberto{color:#0B0B0F;border-color:rgba(0,0,0,.5);background:rgba(0,0,0,.07)}
:root[data-theme="light"] .status.respondido{color:#55555F;border-color:rgba(0,0,0,.22);background:rgba(0,0,0,.03)}
:root[data-theme="light"] .alert{background:rgba(0,0,0,.045)}
:root[data-theme="light"] .alert.err{border-color:#0B0B0F;background:rgba(0,0,0,.09)}
:root[data-theme="light"] .alert.ok{border-color:#8A8A93;background:rgba(0,0,0,.03)}
:root[data-theme="light"] .toast.err{border-left-color:#0B0B0F}
:root[data-theme="light"] .msg.admin{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.03));border-color:rgba(0,0,0,.2)}
:root[data-theme="light"] .mini.danger:hover{border-color:#0B0B0F;color:#0B0B0F;background:rgba(0,0,0,.06)}
:root[data-theme="light"] ::selection{background:#0B0B0F;color:#fff}
:root[data-theme="light"] .hero::after{background:linear-gradient(180deg,transparent,var(--ash))}

/* botão de troca de tema */
.theme-btn svg{width:19px;height:19px}
.theme-btn .moon{display:none}
:root[data-theme="light"] .theme-btn .moon{display:block}
:root[data-theme="light"] .theme-btn .sun{display:none}


/* ============================================================
   JOGOS, REVIEWS E CALENDÁRIO
   ============================================================ */
.score{display:flex;gap:10px;align-items:stretch}
.score-box{
  flex:1;background:var(--ash);border:1px solid var(--line);padding:12px 14px;text-align:center;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.score-box span{
  display:block;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg-mute);margin-bottom:4px;
}
.score-box strong{font-family:'Anton',sans-serif;font-size:30px;line-height:1;
  background:var(--fire);-webkit-background-clip:text;background-clip:text;color:transparent}
.score-box small{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--fg-mute);margin-top:3px}
.score-box.vazio strong{color:var(--fg-mute);background:none;-webkit-text-fill-color:var(--fg-mute);font-size:22px}

.plats{display:flex;gap:5px;flex-wrap:wrap}
.plat{
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 8px;border:1px solid var(--line-2);color:var(--fg-dim);
}

/* calendário */
.cal-mes{
  font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ember);padding:22px 0 12px;border-bottom:1px solid var(--line);margin-bottom:4px;
}
.cal-item{
  display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);
  cursor:pointer;transition:.2s var(--ease);
}
.cal-item:hover{padding-left:8px}
.cal-dia{
  flex:none;width:56px;text-align:center;border-right:1px solid var(--line);padding-right:14px;
}
.cal-dia strong{display:block;font-family:'Anton',sans-serif;font-size:24px;line-height:1}
.cal-dia span{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute)}
.cal-info{flex:1;min-width:0}
.cal-info h4{font-size:17px;margin-bottom:5px}
.cal-info p{margin:0;font-size:13px;color:var(--fg-dim)}
.cal-hoje .cal-dia strong{color:var(--flare)}
.cal-passou{opacity:.5}

/* votar */
.votos{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}
.voto{
  width:34px;height:34px;border:1px solid var(--line-2);background:var(--coal);
  font-family:'JetBrains Mono',monospace;font-size:12px;transition:.15s var(--ease);
}
.voto:hover{border-color:var(--ember);transform:translateY(-2px)}
.voto.meu{background:var(--fire-h);color:#0A0A0C;border-color:transparent;font-weight:700}

/* ============================================================
   PATROCÍNIO — integrado, mas sempre identificado
   ============================================================ */
.ads{position:relative;border-color:var(--line-2)}
.ads::before{
  content:"Patrocinado";position:absolute;top:12px;right:12px;z-index:3;
  font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;
  padding:4px 9px;background:rgba(8,8,11,.9);border:1px solid var(--line-2);color:var(--fg-mute);
}
:root[data-theme="light"] .ads::before{background:rgba(255,255,255,.92)}
.ads-faixa{
  display:flex;align-items:center;gap:22px;padding:22px 26px;background:var(--coal);
  border:1px solid var(--line);margin:34px 0;transition:.25s var(--ease);position:relative;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
.ads-faixa:hover{border-color:var(--ember);transform:translateY(-3px)}
.ads-faixa img{width:78px;height:78px;object-fit:cover;flex:none;border:1px solid var(--line)}
.ads-faixa .txt{flex:1;min-width:0}
.ads-faixa h4{font-size:19px;margin-bottom:5px}
.ads-faixa p{margin:0;font-size:14px;color:var(--fg-dim)}
.ads-faixa .selo{
  font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fg-mute);display:block;margin-bottom:7px;
}

/* ============================================================
   PERFIL E GAMIFICAÇÃO
   ============================================================ */
.avatares{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:6px}
.av{
  aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);background:var(--ash);
  font-family:'Anton',sans-serif;font-size:19px;transition:.15s var(--ease);
}
.av:hover{border-color:var(--ember)}
.av.sel{background:var(--fire-h);color:#0A0A0C;border-color:transparent}
:root[data-theme="light"] .av.sel{color:#fff}

.nivel-barra{height:7px;background:var(--ash);border:1px solid var(--line);overflow:hidden;margin:10px 0 6px}
.nivel-barra i{display:block;height:100%;background:var(--fire-h);transition:width .6s var(--ease)}
.nivel-linha{
  display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-mute);
}
.selo-nivel{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--fire-h);color:#0A0A0C;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
:root[data-theme="light"] .selo-nivel{color:#fff}

/* botão de instalar o app */
#btnInstall{display:none}
#btnInstall.on{display:inline-flex}

@media (max-width:620px){
  .avatares{grid-template-columns:repeat(4,1fr)}
  .ads-faixa{flex-direction:column;text-align:center}
  .cal-item{gap:12px}
}

/* filtros do banco de jogos */
.filtro{
  padding:11px 34px 11px 14px;background:var(--coal);border:1px solid var(--line);outline:0;
  font-size:14px;appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--fg-mute) 50%),linear-gradient(135deg,var(--fg-mute) 50%,transparent 50%);
  background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat;
}
.filtro:focus{border-color:var(--ember)}
.meta-selo{
  position:absolute;top:12px;right:12px;z-index:2;padding:4px 9px;
  background:rgba(8,8,11,.9);border:1px solid var(--line-2);
  font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;color:var(--flare);
}
:root[data-theme="light"] .meta-selo{background:rgba(255,255,255,.92)}
.imp-log{
  background:var(--ash);border:1px solid var(--line);padding:14px;max-height:220px;overflow-y:auto;
  font-family:'JetBrains Mono',monospace;font-size:11.5px;line-height:1.8;color:var(--fg-dim);margin-top:16px;
}

/* ============================================================
   CORPO DA NOTÍCIA — vídeo, imagem, destaque e citação
   ============================================================ */
.reader-text .realce{color:var(--flare);font-weight:700}
:root[data-theme="light"] .reader-text .realce{color:#0B0B0F}
.reader-text .link-txt{
  color:var(--flare);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--line-2);transition:.2s var(--ease);
}
.reader-text .link-txt:hover{text-decoration-color:var(--flare)}
.reader-text .sub3{font-size:19px;margin:26px 0 12px}

/* imagem com legenda */
.reader-text .fig{margin:28px 0}
.reader-text .fig img{
  width:100%;border:1px solid var(--line);display:block;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.reader-text .fig figcaption{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--fg-mute);
  padding:10px 2px 0;line-height:1.7;
}

/* caixa de destaque no meio da matéria */
.reader-text .destaque{
  border-left:3px solid var(--ember);background:rgba(255,255,255,.05);
  padding:20px 22px;margin:28px 0;font-size:16px;line-height:1.7;
}
:root[data-theme="light"] .reader-text .destaque{background:rgba(0,0,0,.04)}

/* citação */
.reader-text .citacao{
  margin:28px 0;padding:4px 0 4px 24px;border-left:2px solid var(--line-2);
  font-size:19px;line-height:1.6;color:var(--fg);font-style:italic;
}
.reader-text .citacao::before{
  content:"“";font-family:'Anton',sans-serif;font-size:34px;color:var(--ember);
  display:block;line-height:.6;margin-bottom:8px;font-style:normal;
}

/* vídeo do YouTube */
.reader-text .video-yt, .video-yt{
  position:relative;padding-top:56.25%;margin:28px 0;
  border:1px solid var(--line);background:var(--smoke);
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.video-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ============================================================
   COMENTÁRIOS
   ============================================================ */
.coment-form textarea{
  width:100%;min-height:110px;padding:15px;background:var(--ash);border:1px solid var(--line);
  outline:0;font:inherit;font-size:15px;resize:vertical;transition:border-color .2s var(--ease);
}
.coment-form textarea:focus{border-color:var(--ember)}

.coment{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}
.coment:last-child{border-bottom:0}
.coment.oculto{opacity:.55}
.coment-corpo{flex:1;min-width:0}
.coment-topo{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.coment-topo strong{font-size:15px}
.coment-topo time{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--fg-mute);margin-left:auto;
}
.coment-txt{margin:0;font-size:15px;line-height:1.65;color:#DCDCE2;word-break:break-word}
:root[data-theme="light"] .coment-txt{color:#22222A}
.coment-acoes{display:flex;gap:16px;margin-top:10px}
.coment-acoes button{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-mute);transition:.2s var(--ease);
}
.coment-acoes button:hover{color:var(--flare)}
@media (max-width:620px){
  .coment{gap:10px}
  .coment-av-wrap .av-letras,.coment-av-wrap .av-foto{width:34px !important;height:34px !important;font-size:13px !important}
  .coment-topo time{margin-left:0;width:100%}
}

/* ============================================================
   PROMOÇÕES E FOTO DE PERFIL
   ============================================================ */
.promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(268px,100%),1fr));gap:18px}
.promo{
  background:var(--ash);border:1px solid var(--line);display:flex;flex-direction:column;cursor:pointer;
  transition:.28s var(--ease);overflow:hidden;text-align:left;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
.promo:hover{transform:translateY(-5px);border-color:var(--line-2)}
.promo-top{border-color:var(--ember)}
.promo-img{position:relative;aspect-ratio:4/3;background:var(--smoke);overflow:hidden;flex:none}
.promo-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.promo:hover .promo-img img{transform:scale(1.05)}
.promo-off{
  position:absolute;top:10px;left:10px;z-index:2;padding:5px 10px;background:var(--fire-h);color:#0A0A0C;
  font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.04em;
}
:root[data-theme="light"] .promo-off{color:#fff}
.promo-corpo{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.promo-loja{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);
}
.promo-corpo h3{font-size:17px;line-height:1.15}
.promo-prod{margin:0;font-size:13px;color:var(--fg-dim);flex:1}
.promo-preco{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:2px}
.promo-preco s{font-size:13px;color:var(--fg-mute)}
.promo-preco strong{font-family:'Anton',sans-serif;font-size:26px;
  background:var(--fire);-webkit-background-clip:text;background-clip:text;color:transparent}
.promo-cupom{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;padding:7px 10px;
  border:1px dashed var(--line-2);color:var(--fg-dim);
}
.promo-cupom b{color:var(--flare);letter-spacing:.18em}
.promo-obs{margin:0;font-size:12.5px;color:var(--fg-mute)}
.promo .go{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fg-mute);margin-top:4px;transition:.2s var(--ease);
}
.promo:hover .go{color:var(--flare)}

/* avatar com foto */
.av-foto{object-fit:cover;border:1px solid var(--line);display:block;flex:none}
.av-letras{
  display:grid;place-items:center;background:var(--fire-h);color:#0A0A0C;
  font-family:'Anton',sans-serif;flex:none;
}
:root[data-theme="light"] .av-letras{color:#fff}
.coment-av-wrap{flex:none}
.promo-desc{margin:0;font-size:13px;color:var(--fg-dim);line-height:1.6}
.notif-x{
  flex:none;width:24px;height:24px;display:grid;place-items:center;color:var(--fg-mute);
  font-size:13px;border:1px solid transparent;transition:.15s var(--ease);
}
.notif-x:hover{color:var(--flare);border-color:var(--line-2)}


/* ============================================================
   CELULAR ESTREITO — evita que qualquer bloco force o zoom
   ============================================================ */
@media (max-width:430px){
  .wrap{width:min(100% - 28px,var(--wrap))}
  .hero-in{padding:56px 0}
  .hero h1{font-size:clamp(32px,11vw,52px)}
  .hero .lead,.lead{font-size:15.5px}
  .hero-stats{gap:14px}
  .hero-stats div{padding-right:16px;margin-right:16px}
  .hero-stats strong{font-size:23px}
  .btn{padding:12px 16px;font-size:11px}
  .section-head h2{font-size:clamp(24px,8vw,40px)}
  .modal-head{padding:18px}
  .modal-body,.reader-body{padding:20px}
  .form-card,.plan{padding:22px 18px}
  .tabs{gap:6px}
  .tab{padding:9px 12px;font-size:10px}
  .promo-corpo h3{font-size:16px}
  .score-box strong{font-size:26px}
  .table{display:block;overflow-x:auto}
  .admin-view{padding:16px}
  .kpi strong{font-size:30px}
  .votos{gap:4px}
  .voto{width:30px;height:30px;font-size:11px}
}

/* ============================================================
   MEU PC RODA
   ============================================================ */
.veredito{
  display:flex;gap:18px;align-items:flex-start;padding:20px 22px;margin:26px 0 14px;
  background:var(--ash);border:1px solid var(--line);border-left-width:4px;
}
.veredito strong{display:block;font-size:18px;margin-bottom:6px}
.veredito p{margin:0;font-size:14.5px;color:var(--fg-dim);line-height:1.6}
.v-selo{
  flex:none;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.14em;
  padding:8px 12px;border:1px solid var(--line-2);text-align:center;min-width:96px;
}
.v-sim{border-left-color:#FFFFFF}
.v-sim .v-selo{background:var(--fire-h);color:#0A0A0C;border-color:transparent}
:root[data-theme="light"] .v-sim .v-selo{color:#fff}
.v-talvez{border-left-color:var(--ember)}
.v-nao{border-left-color:var(--fg-mute);opacity:.92}
.v-indef{border-left-color:var(--line-2)}
.v-pc{
  display:block;margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:.06em;color:var(--fg-mute);
}
.v-pc button{color:var(--flare);text-decoration:underline;font-size:10.5px;margin-left:8px}

/* ============================================================
   NOTÍCIAS RELACIONADAS
   ============================================================ */
.relac{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.relac-item{
  display:flex;flex-direction:column;gap:10px;text-align:left;background:var(--ash);
  border:1px solid var(--line);overflow:hidden;transition:.25s var(--ease);width:100%;
}
.relac-item:hover{transform:translateY(-3px);border-color:var(--line-2)}
.relac-thumb{position:relative;aspect-ratio:16/9;background:var(--smoke);overflow:hidden;display:block}
.relac-thumb img{width:100%;height:100%;object-fit:cover}
.relac-txt{padding:0 14px 14px;display:block}
.relac-cat{
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ember);display:block;margin-bottom:6px;
}
.relac-item strong{font-family:'Anton',sans-serif;font-weight:400;font-size:15px;line-height:1.15;
  text-transform:uppercase;display:block;margin-bottom:8px}
.relac-item time{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--fg-mute)}
@media (max-width:620px){
  .relac{grid-template-columns:1fr}
  .veredito{flex-direction:column;gap:12px}
  .v-selo{min-width:0}
}


/* ============================================================
   BARRA SUPERIOR — evita que os botões cubram os links
   ============================================================ */
@media (max-width:1400px){
  .nav-links a{padding:9px 9px;font-size:10px;letter-spacing:.08em}
  .brand-txt em{display:none}
}
@media (max-width:1200px){
  .nav-in{gap:14px}
}
@media (max-width:520px){
  .brand img{width:32px;height:32px}
  .brand-txt strong{font-size:16px}
  .nav-actions{gap:6px}
  .icon-btn{width:36px;height:36px}
  .nav-actions .btn-sm{padding:8px 11px;font-size:10px}
}


/* ============================================================
   BARRA NO CELULAR — cabe tudo sem cortar nem sumir o menu
   ============================================================ */
@media (max-width:900px){
  /* o Painel migra para dentro do menu compacto */
  #btnAdmin{display:none}
  .nav-in{gap:10px}
  .brand-txt em{display:none}
  .brand-txt strong{font-size:16px}
  .brand img{width:32px;height:32px}
  .nav-actions{gap:6px}
  .icon-btn{width:34px;height:34px}
  .icon-btn svg{width:16px;height:16px}
  /* nome longo não empurra os outros botões */
  #btnAccount{
    max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    padding:9px 12px;font-size:10px;display:block;
  }
  .burger{display:grid !important;flex:none}
}
@media (max-width:420px){
  .brand-txt{display:none}
  #btnAccount{max-width:76px}
  .ticker-tag{padding:0 10px;font-size:9px}
}


/* ============================================================
   PORTFÓLIO DA AGÊNCIA
   ============================================================ */
.portfolio{margin-top:56px}
.port-titulo{font-size:22px;margin:0 0 20px}
.port-item{
  display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:center;
  background:var(--ash);border:1px solid var(--line);padding:28px;
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
}
.port-img{background:var(--coal);border:1px solid var(--line);display:grid;place-items:center;padding:34px;aspect-ratio:1}
.port-img img{width:100%;max-width:150px;filter:drop-shadow(0 0 30px rgba(255,255,255,.15))}
:root[data-theme="light"] .port-img img{filter:invert(1) drop-shadow(0 0 22px rgba(0,0,0,.15))}
.port-tag{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ember);display:block;margin-bottom:8px;
}
.port-txt h4{font-size:26px;margin-bottom:10px}
.port-txt p{margin:0 0 16px;font-size:15px;color:var(--fg-dim);line-height:1.65}
.port-lista{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.port-lista li{display:flex;gap:10px;font-size:13.5px;color:var(--fg-dim)}
.port-lista li::before{content:"";width:6px;height:6px;background:var(--fire-h);transform:rotate(45deg);margin-top:6px;flex:none}
.port-nota{font-size:11px;color:var(--fg-mute);letter-spacing:.06em;margin-top:16px}
@media (max-width:820px){
  .port-item{grid-template-columns:1fr;gap:20px}
  .port-img{max-width:200px;padding:24px}
  .port-lista{grid-template-columns:1fr}
}
