/* =============================================================
   FORJA — extensão do estilo da sidebar para TODAS as páginas.
   Carregue DEPOIS de sidebar-forja.css:
     <link rel="stylesheet" href="assets/css/forja-app.css">
   Escrito sobre as classes que views.js já emite — não muda markup.
   ============================================================= */:root{
  --f-bg:#0c0c0e; --f-bg-2:#111113; --f-card:#16160f; --f-card-2:#121214;
  --f-linha:#23231f; --f-linha-2:#1b1b18;
  --f-ouro:#c9a227; --f-ouro-cl:#f0d67a; --f-ouro-es:#8f6f14;
  --f-txt:#f5efdf; --f-txt-2:#e8e4d9; --f-mudo:#8a8578; --f-mudo-2:#6b665c;
  --f-fogo:#e0864a; --f-ok:#8ac8a0; --f-erro:#ef9b86;
  --f-r:14px; --f-r-sm:11px;
  --f-serif:'Playfair Display',Georgia,serif;
  --f-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
}


/* ---------- superfícies ---------- */html:not(.tema-claro) body,
html:not(.tema-claro) .main-area{ background:var(--f-bg); color:var(--f-txt-2); }
html:not(.tema-claro) .conteudo{
  background:
    radial-gradient(700px 320px at 25% -8%, rgba(201,162,39,.07), transparent 70%),
    var(--f-bg);
}
html:not(.tema-claro) .topbar{ background:rgba(12,12,14,.85); border-bottom:1px solid var(--f-linha-2); backdrop-filter:blur(8px); }
html:not(.tema-claro) .search{ background:#131315; border:1px solid var(--f-linha); border-radius:10px; }
html:not(.tema-claro) .search input{ color:var(--f-txt-2); }
html:not(.tema-claro) .search input::placeholder{ color:var(--f-mudo-2); }
html:not(.tema-claro) .streak-chip{
  background:linear-gradient(140deg,rgba(201,162,39,.18),rgba(201,162,39,.04));
  border:1px solid rgba(201,162,39,.32); color:var(--f-txt); border-radius:999px;
  font-family:var(--f-mono); font-weight:700;
}
html:not(.tema-claro) .nivel-chip{ background:#131315; border:1px solid var(--f-linha); border-radius:999px; }
html:not(.tema-claro) .nivel-num{ font-family:var(--f-mono); font-size:11px; color:var(--f-ouro); }
html:not(.tema-claro) .xp-bar{ background:#1e1e18; }
html:not(.tema-claro) .xp-fill{ background:linear-gradient(90deg,var(--f-ouro-es),var(--f-ouro-cl)); box-shadow:0 0 10px rgba(201,162,39,.45); }


/* ---------- títulos ---------- */html:not(.tema-claro) .pagina-titulo,
html:not(.tema-claro) .grupo-titulo,
html:not(.tema-claro) .card-head h2,
html:not(.tema-claro) h1,
html:not(.tema-claro) h2{
  font-family:var(--f-serif); color:var(--f-txt); letter-spacing:0;
}
html:not(.tema-claro) .pagina-titulo{ font-size:32px; font-weight:700; line-height:1.1; }
html:not(.tema-claro) .pagina-sub{ font-size:13.5px; color:var(--f-mudo); }
html:not(.tema-claro) .grupo-titulo{ font-size:16px; font-weight:700; display:flex; align-items:center; gap:11px; }
html:not(.tema-claro) .grupo-titulo::after{ content:''; flex:1; height:1px; background:linear-gradient(90deg,var(--f-linha),transparent); }


/* ---------- cards genéricos ---------- */html:not(.tema-claro) .card,
html:not(.tema-claro) .rail-card,
html:not(.tema-claro) .stat,
html:not(.tema-claro) .conq-card,
html:not(.tema-claro) .embreve-card{
  background:linear-gradient(160deg,var(--f-card),var(--f-card-2) 72%);
  border:1px solid var(--f-linha); border-radius:var(--f-r);
}
html:not(.tema-claro) .card-head{ border-bottom:1px solid var(--f-linha-2); }
html:not(.tema-claro) .card-sub{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.12em; color:var(--f-mudo-2); text-transform:uppercase; }


/* ---------- botões ---------- */html:not(.tema-claro) .btn{
  border-radius:var(--f-r-sm); border:1px solid #2b2b24; background:#141410;
  color:var(--f-mudo); font-weight:500; transition:border-color .2s, color .2s, transform .2s, background .2s;
}
html:not(.tema-claro) .btn:hover{ border-color:rgba(201,162,39,.4); color:var(--f-txt-2); }
html:not(.tema-claro) .btn-primary{
  border:none; color:#1a1508; font-weight:600;
  background:linear-gradient(145deg,var(--f-ouro-cl),var(--f-ouro) 60%,#a9861c);
  box-shadow:0 10px 22px -12px rgba(201,162,39,.9);
}
html:not(.tema-claro) .btn-primary:hover{ transform:translateY(-1px); box-shadow:0 14px 26px -12px rgba(201,162,39,1); }


/* ---------- HOME: briefing ---------- */html:not(.tema-claro) .briefing{
  position:relative; overflow:hidden; padding:20px 22px; border-radius:16px;
  border:1px solid var(--f-linha); background:linear-gradient(150deg,#18180f,var(--f-bg-2) 72%);
}
html:not(.tema-claro) .briefing::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg,transparent 42%,rgba(240,214,122,.09) 50%,transparent 58%);
  transform:translateX(-100%); animation:f-brilho 3s ease-out .4s 1;
}
html:not(.tema-claro) .brief-saud{ font-family:var(--f-serif); font-size:27px; font-weight:700; color:var(--f-txt); }
html:not(.tema-claro) .brief-saud strong{ color:var(--f-ouro-cl); }
html:not(.tema-claro) .brief-mini{ font-family:var(--f-mono); font-size:12px; color:var(--f-mudo); }
html:not(.tema-claro) .bm-ic.fire{ color:var(--f-fogo); }
html:not(.tema-claro) .bm-ic.gold{ color:var(--f-ouro); }
html:not(.tema-claro) .brief-acao{ background:#0e0e10; border:1px solid var(--f-linha); border-radius:13px; }
html:not(.tema-claro) .ba-ic{ background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.28); color:var(--f-ouro-cl); border-radius:11px; }
html:not(.tema-claro) .ba-txt{ font-size:15px; font-weight:600; color:var(--f-txt-2); }
html:not(.tema-claro) .ba-txt strong{ color:var(--f-ouro-cl); }
html:not(.tema-claro) .ba-sub{ font-size:12.5px; color:var(--f-mudo); }


/* ---------- HOME: áreas ---------- */html:not(.tema-claro) .area-card{
  padding:16px; border-radius:var(--f-r); border:1px solid var(--f-linha);
  background:linear-gradient(160deg,var(--f-card),var(--f-bg-2) 70%);
  transition:border-color .25s, transform .25s, box-shadow .25s;
}
html:not(.tema-claro) .area-card:hover{ border-color:rgba(201,162,39,.42); transform:translateY(-3px); box-shadow:0 16px 32px -22px rgba(201,162,39,.9); }
html:not(.tema-claro) .area-ico{
  width:36px; height:36px; border-radius:10px; display:grid; place-items:center;
  background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.24); color:var(--f-ouro-cl);
}
html:not(.tema-claro) .area-nome{ font-size:14.5px; font-weight:600; color:var(--f-txt-2); }
html:not(.tema-claro) .area-bar{ height:4px; border-radius:999px; background:#1e1e18; overflow:hidden; }
html:not(.tema-claro) .area-bar > div{ height:100%; background:linear-gradient(90deg,var(--f-ouro-es),var(--f-ouro-cl)); }
html:not(.tema-claro) .area-prog span{ font-family:var(--f-mono); font-size:10px; color:var(--f-mudo-2); }
html:not(.tema-claro) .area-premium{ border-color:rgba(201,162,39,.3); background:linear-gradient(160deg,#1c1a10,var(--f-bg-2) 70%); overflow:hidden; position:relative; }
html:not(.tema-claro) .area-premium::before{
  content:''; position:absolute; top:0; left:0; width:32%; height:100%; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(240,214,122,.1),transparent);
  animation:f-sweep 5.5s ease-in-out infinite;
}
html:not(.tema-claro) .area-selo{ font-family:var(--f-mono); font-size:9px; letter-spacing:.14em; color:var(--f-ouro-cl); }
html:not(.tema-claro) .area-prem-tx{ color:var(--f-ouro); font-size:11.5px; }
html:not(.tema-claro) .prof-card{ border:1px dashed #2b2b24; background:#101012; border-radius:12px; transition:border-color .25s, background .25s; }
html:not(.tema-claro) .prof-card:hover{ border-color:rgba(201,162,39,.45); background:#15150e; }
html:not(.tema-claro) .prof-nome{ font-size:13px; color:#c8c2b4; }
html:not(.tema-claro) .prof-sub{ font-size:12.5px; color:var(--f-mudo); }


/* ---------- HOME: rail ---------- */html:not(.tema-claro) .rail-perfil .avatar-lg{ background:linear-gradient(145deg,var(--f-ouro-cl),var(--f-ouro) 60%,var(--f-ouro-es)); color:#1a1508; box-shadow:0 6px 16px -6px rgba(201,162,39,.6); }
html:not(.tema-claro) .rail-nome{ font-size:14.5px; font-weight:600; color:var(--f-txt); }
html:not(.tema-claro) .rail-rank{ font-family:var(--f-mono); font-size:10.5px; color:var(--f-ouro); }
html:not(.tema-claro) .rail-stat .rs-num{ font-family:var(--f-serif); font-size:21px; font-weight:700; color:var(--f-txt); }
html:not(.tema-claro) .rail-stat .rs-lbl{ font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--f-mudo-2); }
html:not(.tema-claro) .rs-ic.fire{ color:var(--f-fogo); }
html:not(.tema-claro) .rs-ic.gold{ color:var(--f-ouro); }
html:not(.tema-claro) .rail-card-titulo{ font-size:12px; font-weight:600; color:var(--f-txt-2); }
html:not(.tema-claro) .meta-lbl,
html:not(.tema-claro) .aposta-prog-txt{ font-family:var(--f-mono); font-size:11px; color:var(--f-mudo); }
html:not(.tema-claro) .meta-bar{ height:5px; border-radius:999px; background:#1e1e18; overflow:hidden; }
html:not(.tema-claro) .meta-bar > div{ height:100%; background:linear-gradient(90deg,var(--f-ouro-es),var(--f-ouro-cl)); }
html:not(.tema-claro) .meta-bar > div.done{ background:linear-gradient(90deg,#4f7a53,var(--f-ok)); }
html:not(.tema-claro) .aposta-card{ border-color:rgba(201,162,39,.26); background:linear-gradient(150deg,#1a1810,var(--f-bg-2) 72%); }
html:not(.tema-claro) .aposta-op{ border:1px solid #2b2b24; background:#141410; border-radius:10px; color:var(--f-txt); font-family:var(--f-mono); font-weight:700; transition:border-color .2s, background .2s; }
html:not(.tema-claro) .aposta-op:hover{ border-color:rgba(201,162,39,.5); background:#1a1a12; }
html:not(.tema-claro) .aposta-op span{ display:block; font-size:9.5px; font-weight:400; color:var(--f-mudo-2); }
html:not(.tema-claro) .rail-revisoes.tem,
html:not(.tema-claro) .rail-upgrade{
  border-color:rgba(201,162,39,.3);
  background:linear-gradient(140deg,rgba(201,162,39,.14),rgba(201,162,39,.02));
}
html:not(.tema-claro) .rail-revisoes:hover,
html:not(.tema-claro) .rail-upgrade:hover{ transform:translateY(-2px); box-shadow:0 14px 28px -18px rgba(201,162,39,.9); }
html:not(.tema-claro) .rr-t{ font-size:13px; font-weight:600; color:var(--f-txt); }
html:not(.tema-claro) .rr-s{ font-size:11px; color:var(--f-mudo); }


/* ---------- EXERCÍCIO ---------- */html:not(.tema-claro) .ex-head h1{ font-family:var(--f-serif); font-size:27px; font-weight:700; line-height:1.15; color:var(--f-txt); }
html:not(.tema-claro) .skill-tag,
html:not(.tema-claro) .ex-modo{ border-radius:999px; padding:4px 10px; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.08em; }
html:not(.tema-claro) .ex-modo{ background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.26); color:var(--f-ouro-cl); text-transform:uppercase; }
html:not(.tema-claro) .skill-tag{ background:#131315; border:1px solid var(--f-linha); color:var(--f-mudo); }
html:not(.tema-claro) .ex-dif{ color:var(--f-ouro); letter-spacing:2px; }
html:not(.tema-claro) .timer{ font-family:var(--f-mono); font-size:11px; color:var(--f-mudo-2); }
html:not(.tema-claro) .enunciado{
  padding:14px 18px; border-radius:var(--f-r); border:1px solid var(--f-linha);
  background:linear-gradient(160deg,#15150f,var(--f-bg-2) 72%);
  font-size:14px; line-height:1.6; color:#d8d3c6;
}
html:not(.tema-claro) .enunciado code,
html:not(.tema-claro) .exemplo code{
  padding:2px 7px; border-radius:6px; background:#0a0a0c; border:1px solid var(--f-linha);
  font-family:var(--f-mono); font-size:13px; color:var(--f-ouro-cl);
}
html:not(.tema-claro) .confianca-box{ padding:11px 18px; border-radius:var(--f-r); border:1px solid var(--f-linha); background:#101012; }
html:not(.tema-claro) .confianca-label{ font-size:13px; font-weight:600; color:#c8c2b4; }
html:not(.tema-claro) .conf-btn{
  width:36px; height:34px; border-radius:9px; border:1px solid #2b2b24; background:#141410;
  font-family:var(--f-mono); font-weight:600; color:var(--f-mudo); transition:all .2s;
}
html:not(.tema-claro) .conf-btn:hover,
html:not(.tema-claro) .conf-btn.ativo{ border-color:rgba(201,162,39,.5); background:rgba(201,162,39,.14); color:var(--f-txt); }
html:not(.tema-claro) .conf-escala{ font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--f-mudo-2); }
html:not(.tema-claro) .code-win{ border-radius:var(--f-r); border:1px solid var(--f-linha); overflow:hidden; background:#08080c; }
html:not(.tema-claro) .code-win-head{ background:#101014; border-bottom:1px solid #1e1e22; }
html:not(.tema-claro) .cw-dots i{ background:#3a3730; }
html:not(.tema-claro) .cw-lang{ font-family:var(--f-mono); font-size:9.5px; font-weight:600; letter-spacing:.24em; color:var(--f-ouro); }
html:not(.tema-claro) .code-area{ background:#08080c; color:#d8d3c6; font-family:var(--f-mono); font-size:12.5px; line-height:1.6; border:none; }
html:not(.tema-claro) .runner-out{ background:#0a0a0c; border:1px solid var(--f-linha); border-radius:var(--f-r-sm); color:#d8d3c6; font-family:var(--f-mono); font-size:12.5px; }
html:not(.tema-claro) .opcao{ border:1px solid #2b2b24; background:#141410; border-radius:var(--f-r-sm); color:var(--f-txt-2); transition:all .2s; }
html:not(.tema-claro) .opcao:hover{ border-color:rgba(201,162,39,.45); background:rgba(201,162,39,.08); }
html:not(.tema-claro) .opcao-letra{ font-family:var(--f-mono); color:var(--f-ouro); }
html:not(.tema-claro) .resultado{ border-radius:var(--f-r); padding:16px 18px; }
html:not(.tema-claro) .resultado.erro{ border:1px solid rgba(200,90,70,.35); background:linear-gradient(160deg,rgba(160,60,45,.14),#121013 70%); }
html:not(.tema-claro) .resultado.erro .resultado-titulo{ font-family:var(--f-serif); font-size:16px; font-weight:700; color:var(--f-erro); }
html:not(.tema-claro) .resultado.sucesso{ border:1px solid rgba(120,180,140,.3); background:linear-gradient(160deg,rgba(60,120,80,.12),#101312 70%); }
html:not(.tema-claro) .resultado.sucesso .resultado-titulo{ font-family:var(--f-serif); font-size:16px; font-weight:700; color:var(--f-ok); }
html:not(.tema-claro) .erro-feedback{ background:#0e0d10; border:1px solid #26222a; border-radius:10px; font-family:var(--f-mono); font-size:13px; color:#d8d3c6; }
html:not(.tema-claro) .resultado-incentivo{ font-size:12.5px; line-height:1.6; color:var(--f-mudo); }
html:not(.tema-claro) .xp-ganho .xp-num{ font-family:var(--f-serif); font-size:24px; font-weight:700; color:var(--f-ouro-cl); }


/* ---------- RANKING ---------- */html:not(.tema-claro) .rank-hero{
  position:relative; overflow:hidden; padding:24px 26px; border-radius:18px;
  border:1px solid rgba(201,162,39,.28); background:linear-gradient(140deg,#1c1a11,var(--f-bg-2) 70%);
}
html:not(.tema-claro) .rank-hero::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg,transparent 42%,rgba(240,214,122,.1) 50%,transparent 58%);
  transform:translateX(-100%); animation:f-brilho 3.2s ease-out .4s 1;
}
html:not(.tema-claro) .rh-rank{ font-family:var(--f-serif); font-size:34px; font-weight:700; line-height:1; color:var(--f-txt); }
html:not(.tema-claro) .rh-lvl{ font-family:var(--f-mono); font-size:12.5px; color:var(--f-mudo); }
html:not(.tema-claro) .rh-bar{ max-width:520px; height:7px; border-radius:999px; background:#1e1e18; overflow:hidden; }
html:not(.tema-claro) .tier{ border:1px solid var(--f-linha); background:var(--f-bg-2); border-radius:12px; opacity:.6; }
html:not(.tema-claro) .tier.atual{ opacity:1; border-color:rgba(201,162,39,.45); background:linear-gradient(150deg,rgba(201,162,39,.16),#121110); box-shadow:0 10px 26px -18px rgba(201,162,39,.9); }
html:not(.tema-claro) .rank-tabela .eu,
html:not(.tema-claro) .rank-row.eu{
  position:relative; background:linear-gradient(90deg,rgba(201,162,39,.16),rgba(201,162,39,.02));
  border-top:1px solid rgba(201,162,39,.3); border-bottom:1px solid rgba(201,162,39,.3);
}
html:not(.tema-claro) .rank-tabela .eu::before,
html:not(.tema-claro) .rank-row.eu::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--f-ouro-cl); box-shadow:0 0 14px rgba(240,214,122,.9);
}


/* ---------- ESTATÍSTICAS ---------- */html:not(.tema-claro) .stat{ padding:18px; border-radius:15px; }
html:not(.tema-claro) .stat-ic{ width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.24); color:var(--f-ouro-cl); }
html:not(.tema-claro) .stat-num{ font-family:var(--f-serif); font-size:34px; font-weight:700; line-height:1; color:var(--f-txt); }
html:not(.tema-claro) .stat-lbl{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--f-mudo-2); }
html:not(.tema-claro) .hm-cell{ width:12px; height:12px; border-radius:3px; }
html:not(.tema-claro) .hm-0{ background:#17171a; }
html:not(.tema-claro) .hm-1{ background:#3d3211; }
html:not(.tema-claro) .hm-2{ background:#7a5f13; }
html:not(.tema-claro) .hm-3{ background:var(--f-ouro); }
html:not(.tema-claro) .hm-4{ background:var(--f-ouro-cl); }
html:not(.tema-claro) .hm-legend{ font-family:var(--f-mono); font-size:10px; color:#5c574c; }
html:not(.tema-claro) .calib-conf{ font-family:var(--f-mono); font-size:12px; letter-spacing:1px; color:var(--f-mudo); }
html:not(.tema-claro) .calib-bar{ height:8px; border-radius:999px; background:#1a1a17; overflow:hidden; }
html:not(.tema-claro) .calib-bar > div{ height:100%; background:linear-gradient(90deg,var(--f-ouro-es),var(--f-ouro-cl)); }
html:not(.tema-claro) .calib-pct{ font-family:var(--f-mono); font-size:12px; font-weight:600; color:#c8c2b4; }


/* ---------- CONQUISTAS ---------- */html:not(.tema-claro) .conq-hero-num{ font-family:var(--f-serif); font-size:20px; font-weight:700; color:var(--f-ouro-cl); }
html:not(.tema-claro) .conq-hero-sub{ font-size:11.5px; line-height:1.5; color:var(--f-mudo); }
html:not(.tema-claro) .conq-card.on{ border-color:rgba(201,162,39,.32); background:linear-gradient(150deg,rgba(201,162,39,.12),#121110); }
html:not(.tema-claro) .conq-card.off{ opacity:.55; border-style:dashed; }
html:not(.tema-claro) .conq-nome{ font-family:var(--f-serif); font-size:15px; font-weight:700; color:var(--f-txt); }
html:not(.tema-claro) .conq-desc{ font-size:12px; color:var(--f-mudo); }
html:not(.tema-claro) .conq-tag{ font-family:var(--f-mono); font-size:10px; letter-spacing:.06em; }
html:not(.tema-claro) .conq-tag.ok{ color:var(--f-ouro); }
html:not(.tema-claro) .conq-tag.lock{ color:var(--f-mudo-2); }


/* ---------- BOLETIM ---------- */html:not(.tema-claro) .bol-hero h1{ font-family:var(--f-serif); font-size:30px; font-weight:700; color:var(--f-txt); }
html:not(.tema-claro) .ph-badge{ font-family:var(--f-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--f-ouro); }
html:not(.tema-claro) .bol-stat{ border:1px solid var(--f-linha); background:linear-gradient(160deg,var(--f-card),var(--f-card-2) 72%); border-radius:15px; }
html:not(.tema-claro) .bs-v{ font-family:var(--f-serif); font-size:30px; font-weight:700; color:var(--f-txt); }
html:not(.tema-claro) .bs-l{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--f-mudo-2); }


/* ---------- entrada em cascata do conteúdo ---------- */html:not(.tema-claro) .dash > *,
html:not(.tema-claro) .stats-cards,
html:not(.tema-claro) .card,
html:not(.tema-claro) .rail-card,
html:not(.tema-claro) .rank-hero,
html:not(.tema-claro) .conq-hero,
html:not(.tema-claro) .conq-grid,
html:not(.tema-claro) .ex-head,
html:not(.tema-claro) .enunciado,
html:not(.tema-claro) .confianca-box,
html:not(.tema-claro) .quiz-area{
  animation:f-up .5s cubic-bezier(.2,.9,.25,1) both;
}
html:not(.tema-claro) .dash > *:nth-child(1){ animation-delay:.04s }
html:not(.tema-claro) .dash > *:nth-child(2){ animation-delay:.08s }
html:not(.tema-claro) .dash > *:nth-child(3){ animation-delay:.12s }
html:not(.tema-claro) .dash > *:nth-child(4){ animation-delay:.16s }
html:not(.tema-claro) .dash > *:nth-child(n+5){ animation-delay:.2s }
html:not(.tema-claro) .home-aside .rail-card:nth-child(1){ animation-delay:.08s }
html:not(.tema-claro) .home-aside .rail-card:nth-child(2){ animation-delay:.11s }
html:not(.tema-claro) .home-aside .rail-card:nth-child(3){ animation-delay:.14s }
html:not(.tema-claro) .home-aside .rail-card:nth-child(n+4){ animation-delay:.17s }
@keyframes f-up{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@keyframes f-brilho{ to{ transform:translateX(100%); } }
@keyframes f-sweep{ 0%{ transform:translateX(-120%); } 55%,100%{ transform:translateX(340%); } }
@keyframes f-grow{ from{ width:0; } }


/* barras crescem ao entrar */html:not(.tema-claro) .xp-fill,
html:not(.tema-claro) .area-bar > div,
html:not(.tema-claro) .meta-bar > div,
html:not(.tema-claro) .calib-bar > div,
html:not(.tema-claro) .rh-bar > div,
html:not(.tema-claro) .conq-hero-bar > div{
  animation:f-grow 1.2s .25s cubic-bezier(.2,.9,.2,1) backwards;
}
@media (prefers-reduced-motion: reduce){
html:not(.tema-claro) *{ animation:none !important; transition-duration:.01ms !important; }

}

