/* ===== Identidade BrasilGov Summit =====
   Marinho profundo, verde-água, laranja e azul-claro (as três cores das bolinhas do logo).
   Carregado por último: sobrescreve o visual neutro do protótipo. */
:root {
  --bg: #061018;
  --card: #0c1b2e;
  --ink: #e8f1fb;
  --muted: #93a4ba;
  --line: rgba(255, 255, 255, .09);
  --navy: #022449;
  --navy-2: #0a3a7f;
  --primary: #3df4d0;
  --ok: #3df4d0;
  --gold: #ffad40;
  --warn: #ffad40;
  --danger: #ff6b6b;
  --agua: #3df4d0;
  --agua2: #14b494;
  --laranja: #ffad40;
  --laranja2: #f49416;
  --ceu: #78bbff;
  --sup: #10233a;
  --sup2: #15304f;
  --shadow: 0 10px 30px rgba(0, 0, 0, .35);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--ink);
  color-scheme: dark;
}
html { background: var(--bg); }
body, body[data-tema="jogo"] {
  background-color: var(--bg);
  background-image:
    radial-gradient(900px 600px at 10% -10%, rgba(10, 58, 127, .45), transparent 60%),
    radial-gradient(700px 500px at 110% 110%, rgba(61, 244, 208, .08), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cg fill='none' stroke='%2378bbff' stroke-opacity='.12' stroke-width='1'%3E%3Cpath d='M20 40 L90 20 L160 70 L230 30 M90 20 L110 120 L160 70 M110 120 L40 170 L20 40 M110 120 L200 160 L230 30 M40 170 L130 240 L200 160 L250 230'/%3E%3C/g%3E%3Cg fill='%2378bbff' fill-opacity='.14'%3E%3Ccircle cx='20' cy='40' r='2'/%3E%3Ccircle cx='90' cy='20' r='2.4'/%3E%3Ccircle cx='160' cy='70' r='2'/%3E%3Ccircle cx='230' cy='30' r='2.4'/%3E%3Ccircle cx='110' cy='120' r='2.6'/%3E%3Ccircle cx='40' cy='170' r='2'/%3E%3Ccircle cx='200' cy='160' r='2.4'/%3E%3Ccircle cx='130' cy='240' r='2'/%3E%3Ccircle cx='250' cy='230' r='2'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
  color: var(--ink);
}
body, body[data-tema="jogo"], .celebra, .btn3d, .hud-it, .redondo, .seg a, .tabs button, h1, h2, h3 { font-family: Inter, system-ui, sans-serif; }
a { color: var(--agua); }
h1 { font-weight: 800; letter-spacing: -.02em; }
h2 { font-weight: 800; }
small, .muted, body[data-tema="jogo"] .muted, body[data-tema="jogo"] small { color: var(--muted); }

/* superfícies */
.card, body[data-tema="jogo"] .card { background: linear-gradient(180deg, rgba(21, 48, 79, .55), rgba(12, 27, 46, .75)); border: 1px solid var(--line); border-radius: 18px; box-shadow: none; color: var(--ink); backdrop-filter: blur(6px); }
.empty { border-color: var(--line); color: var(--muted); }
.modal-box { background: #0c1b2e !important; color: var(--ink); border: 1px solid var(--line); }
.modal-back { background: rgba(2, 8, 16, .72) !important; }
.modal-x { color: var(--muted) !important; background: transparent !important; }

/* topo, HUD, menus */
.top, .hud { background: rgba(6, 16, 24, .82) !important; backdrop-filter: blur(10px); border-bottom: 1px solid var(--line) !important; }
.top-brand { color: var(--ink); }
.role-chip { background: rgba(61, 244, 208, .12); color: var(--agua); }
.hud-it, body[data-tema="jogo"] .hud-it { color: var(--ink); }
.hud-it:hover { background: rgba(255, 255, 255, .06); }
.hud-it.xp b { color: var(--laranja); }
.hud-it .dot { background: var(--laranja2) !important; }
.hud-lvl small { color: var(--muted); }
.icon-btn { background: transparent; border-color: var(--line); color: var(--ink); }
.xp-pill { background: rgba(255, 173, 64, .14) !important; color: var(--laranja) !important; border: 1px solid rgba(255, 173, 64, .3); }
.favo-ic { width: 1.15em; height: 1.15em; display: inline-block; vertical-align: -.2em; filter: drop-shadow(0 0 6px rgba(255, 173, 64, .45)); }
.logo { background: radial-gradient(circle at 50% 50%, #fff 18%, transparent 19%), conic-gradient(from 20deg, var(--agua), var(--ceu), var(--laranja), var(--agua)) !important; color: transparent !important; border-radius: 50% !important; }
.side, body[data-tema="jogo"] .side { background: rgba(6, 16, 24, .9) !important; border-right: 1px solid var(--line) !important; color: var(--ink) !important; }
.brand, body[data-tema="jogo"] .brand { color: var(--ink) !important; }
.nav a, body[data-tema="jogo"] .nav a { color: var(--muted) !important; }
.nav a:hover, body[data-tema="jogo"] .nav a:hover { background: rgba(255, 255, 255, .05) !important; color: var(--ink) !important; }
.nav a.on, body[data-tema="jogo"] .nav a.on { background: rgba(61, 244, 208, .1) !important; border-color: rgba(61, 244, 208, .4) !important; color: var(--agua) !important; }
.mode, body[data-tema="jogo"] .mode { background: rgba(255, 255, 255, .05) !important; color: var(--ink) !important; border-color: var(--line) !important; }
.mode.on { background: rgba(61, 244, 208, .12) !important; color: var(--agua) !important; }
.side-foot .link { color: var(--muted) !important; }
.bottom, body[data-tema="jogo"] .bottom { background: rgba(6, 16, 24, .94) !important; backdrop-filter: blur(10px); border-top: 1px solid var(--line) !important; }
.bottom a { color: var(--muted) !important; }
.bottom a.on, body[data-tema="jogo"] .bottom a.on { background: rgba(61, 244, 208, .1) !important; box-shadow: inset 0 0 0 1px rgba(61, 244, 208, .45) !important; color: var(--agua) !important; }
.bottom a .ic, body[data-tema="jogo"] .bottom a .ic { filter: none !important; opacity: .85; }

/* botões */
.btn, body[data-tema="jogo"] .btn { background: var(--agua); color: #032a22; font-weight: 800; border-radius: 12px; box-shadow: 0 3px 0 var(--agua2); border: 0; }
.btn.ghost, body[data-tema="jogo"] .btn.ghost { background: transparent; color: var(--ink); border: 1px solid rgba(255, 255, 255, .18); box-shadow: none; }
.btn.danger { background: var(--danger); color: #fff; box-shadow: none; }
.btn3d { background: var(--laranja); color: #1d1204; box-shadow: 0 4px 0 var(--laranja2), 0 10px 26px rgba(255, 173, 64, .2); border-radius: 99px; letter-spacing: .05em; }
.btn3d.ghost { background: transparent; color: var(--ink); border: 1px solid rgba(255, 255, 255, .2); box-shadow: none; }
.link { color: var(--agua); }
.tabs, body[data-tema="jogo"] .tabs, .seg { background: rgba(255, 255, 255, .05); }
.tabs button { color: var(--muted); }
.tabs button.on, .seg a.on { background: var(--sup2) !important; color: var(--ink) !important; box-shadow: inset 0 0 0 1px rgba(61, 244, 208, .35) !important; }
.seg a { color: var(--muted); }
.chip-btn { background: transparent; color: var(--ink); border-color: var(--line); }
.chip-btn.on { background: rgba(61, 244, 208, .12); border-color: rgba(61, 244, 208, .5); color: var(--agua); }
.pill { background: rgba(255, 255, 255, .07); color: var(--ink); }
.pill.ok { background: rgba(61, 244, 208, .14); color: var(--agua); }
.tt { background: color-mix(in srgb, var(--c) 18%, transparent); color: color-mix(in srgb, var(--c) 60%, white); }
.bar, body[data-tema="jogo"] .bar, .qbar { background: rgba(255, 255, 255, .08); }
.bar span, body[data-tema="jogo"] .bar span { background: linear-gradient(90deg, var(--agua), var(--ceu)); }
.qbar span { background: var(--laranja); }
.qbar em { color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
.quests li.ok .qbar span { background: var(--agua); }
.quests li.ok .qbar em { color: #032a22; text-shadow: none; }
.ring-bg { stroke: rgba(255, 255, 255, .1) !important; }
.ring b { color: var(--ink); }
input, select, textarea { background: rgba(255, 255, 255, .05) !important; color: var(--ink) !important; border-color: rgba(255, 255, 255, .14) !important; }
option { background: #0c1b2e; color: var(--ink); }
.sp-note, .alert, .sponsor { background: rgba(255, 173, 64, .08) !important; border-color: rgba(255, 173, 64, .28) !important; color: var(--ink); }
.meet-time { background: rgba(120, 187, 255, .1) !important; color: var(--ink); }
.hero-card { background: radial-gradient(120% 140% at 100% 0%, #0a3a7f 0%, #022449 60%, #061018 100%) !important; border: 1px solid var(--line); }
.rank, .liga-lista { background: transparent !important; border-color: var(--line) !important; }
.rank li, .liga-lista li { border-color: var(--line) !important; }
.liga-lista li.me { background: rgba(61, 244, 208, .1) !important; }
.liga-lista li.zona { background: rgba(61, 244, 208, .06) !important; color: var(--agua) !important; }
.escudo { background: color-mix(in srgb, var(--c) 18%, transparent); }
.tile, .recs li, .stand, .sp { border-color: var(--line) !important; background: rgba(255, 255, 255, .03); }
.recs li.on { background: rgba(61, 244, 208, .08) !important; border-color: rgba(61, 244, 208, .4) !important; }
.compat { background: rgba(61, 244, 208, .14) !important; color: var(--agua) !important; }
.pitch, .carta-pitch, .plain, .folha p, .celebra p, .steps, .compass-info .sub { color: #c6d3e3 !important; }
.why li { color: #c6d3e3; }
.dest-pill { background: rgba(120, 187, 255, .08) !important; border: 1px solid rgba(120, 187, 255, .3) !important; box-shadow: none !important; color: var(--ink) !important; }
.dp-m { color: var(--ceu) !important; }
.toast { background: #0c1b2e !important; color: var(--ink) !important; border: 1px solid var(--line); }
.toast.xp { border-color: rgba(255, 173, 64, .5); color: var(--laranja) !important; }
.toast.badge { border-color: rgba(61, 244, 208, .5); color: var(--agua) !important; }
.toast.warn { border-color: rgba(255, 107, 107, .5); }

/* cartas de match */
.carta { background: #0c1b2e !important; border-color: var(--line) !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .35) !important; }
.carta-topo { background: linear-gradient(135deg, color-mix(in srgb, var(--c) 70%, #022449), #022449) !important; }
.carta-topo .av { border-color: #0c1b2e !important; }
.fita { background: var(--laranja) !important; color: #1d1204 !important; }
.selo { background: #0c1b2e !important; }
.selo.sim { color: var(--agua); border-color: var(--agua); }
.redondo { background: transparent !important; border-color: rgba(255, 255, 255, .18) !important; box-shadow: none !important; color: var(--ink); }
.redondo.sim { background: var(--agua) !important; border-color: var(--agua) !important; color: #032a22 !important; box-shadow: 0 4px 0 var(--agua2) !important; }
.redondo.info { color: var(--ceu) !important; }
.combo { background: rgba(255, 173, 64, .15) !important; color: var(--laranja) !important; }

/* bússola e planta */
.dial { background: radial-gradient(circle, #0c1b2e 56%, #10233a 57%) !important; border-color: rgba(120, 187, 255, .35) !important; box-shadow: inset 0 0 0 12px rgba(120, 187, 255, .05), 0 0 30px rgba(61, 244, 208, .12) !important; }
.seta path { fill: var(--agua) !important; }
.kicker-dark { color: var(--agua) !important; }
.pl-floor { fill: #0b1a2c !important; stroke: rgba(120, 187, 255, .25) !important; }
.pl-area rect { fill: #10233a !important; stroke: rgba(120, 187, 255, .3) !important; }
.pl-area text, .pl-stand text { fill: #c6d3e3 !important; }
.pl-stand rect { fill: color-mix(in srgb, var(--c) 22%, #0b1a2c) !important; stroke: color-mix(in srgb, var(--c) 60%, transparent) !important; }
.pl-stand.free rect { fill: #0b1a2c !important; stroke: rgba(255, 255, 255, .12) !important; }
.pl-rota { stroke: var(--agua) !important; }
.pl-rota-base { stroke: rgba(61, 244, 208, .18) !important; }
.pl-voce .dot { fill: var(--ceu) !important; }
.sim { background: rgba(255, 255, 255, .03) !important; }

/* ===== Trilha: bolinhas conectadas ===== */
.sec-banner { background: linear-gradient(120deg, color-mix(in srgb, var(--c) 26%, #0c1b2e), #0c1b2e 70%) !important; border: 1px solid color-mix(in srgb, var(--c) 45%, transparent); box-shadow: 0 10px 24px rgba(0, 0, 0, .3) !important; top: 60px; }
.sec-banner small { color: var(--c) !important; }
.sec-banner h2 { color: #fff !important; }
.caminho { position: relative; display: block; width: 360px; max-width: 100%; margin: 6px auto 0; padding: 0; }
.caminho-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.caminho-svg .ponte { fill: var(--c); filter: drop-shadow(0 0 10px color-mix(in srgb, var(--c) 45%, transparent)); }
.caminho-svg .ponte.meia { fill: color-mix(in srgb, var(--c) 45%, transparent); }
.caminho-svg .pontos { stroke: rgba(120, 187, 255, .35); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 0 13; }
.no-pos { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; z-index: 2; }
.no { width: 72px !important; height: 72px !important; border-radius: 50% !important; background: var(--c) !important; box-shadow: 0 0 0 4px #061018, 0 0 24px color-mix(in srgb, var(--c) 55%, transparent) !important; font-size: 30px; }
.no span { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .25)); }
.no.bloqueado { background: #0f2238 !important; box-shadow: 0 0 0 4px #061018, inset 0 0 0 2px rgba(120, 187, 255, .25) !important; }
.no.bloqueado span { filter: grayscale(1); opacity: .35; }
.no.atual { outline: 3px solid var(--c) !important; outline-offset: 6px; animation: brilho-no 1.6s ease-in-out infinite; }
@keyframes brilho-no { 50% { outline-offset: 11px; box-shadow: 0 0 0 4px #061018, 0 0 44px color-mix(in srgb, var(--c) 80%, transparent); } }
.no.feito::after { background: #fff !important; color: #061018 !important; border-color: #061018 !important; }
.no-bau, .no-trofeu { font-size: 34px !important; }
.no-bau.atual { animation: treme 1.3s ease-in-out infinite; }
.no-balao { position: absolute; bottom: calc(100% + 14px); top: auto !important; background: var(--laranja) !important; color: #1d1204 !important; border: 0 !important; box-shadow: 0 6px 18px rgba(255, 173, 64, .35); }
.no-balao::after { background: var(--laranja) !important; border: 0 !important; }
.dica-abelha { position: absolute; z-index: 3; width: 150px; display: flex; flex-direction: column; align-items: center; gap: 6px; transform: translateY(-50%); }
.dica-abelha.esq { left: 0; }
.dica-abelha.dir { right: 0; }
.fala { background: #10233a !important; border: 1px solid rgba(61, 244, 208, .35) !important; color: var(--ink); font-size: 12.5px !important; font-weight: 600 !important; padding: 8px 10px !important; text-align: center; border-radius: 14px !important; }
.fala::before { display: none; }
.fim-trilha { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--muted) !important; }
.fim-trilha p { margin: 0; font-weight: 700; }
.folha-ic { background: color-mix(in srgb, var(--c) 22%, #0c1b2e) !important; box-shadow: 0 0 30px color-mix(in srgb, var(--c) 40%, transparent); }
.chip-xp { background: rgba(255, 173, 64, .15) !important; color: var(--laranja) !important; }
.ok-txt { color: var(--agua) !important; }

/* celebrações */
.celebra h2 { color: var(--laranja) !important; font-weight: 900; }
.celebra.match h2 { color: var(--agua) !important; }
.premio { background: rgba(255, 255, 255, .04); }
.premio b { color: var(--ink) !important; }
.premio.xp { border-color: var(--laranja); } .premio.xp small { background: var(--laranja); color: #1d1204 !important; }
.premio.fogo { border-color: #ff7a45; } .premio.fogo small { background: #ff7a45; }
.premio.nivel { border-color: var(--ceu); } .premio.nivel small { background: var(--ceu); color: #04203c !important; }
.duo .av { border-color: #0c1b2e !important; box-shadow: none !important; }
.raio svg { display: block; filter: drop-shadow(0 0 8px rgba(61, 244, 208, .6)); }

/* ===== Abelha dentro do app ===== */
.abelha-slot { margin: 0 auto; }
.abelha-slot.cel { width: 250px; max-width: 70vw; }
.abelha-slot.brilha { animation: brilha-bau 1.6s ease-in-out infinite; }
@keyframes brilha-bau { 50% { filter: drop-shadow(0 0 26px rgba(255, 173, 64, .75)); } }
.abelha-pose { position: relative; display: block; flex-shrink: 0; aspect-ratio: 1; }
.abelha-pose img { width: 100%; height: 100%; object-fit: contain; display: block; filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .45)) drop-shadow(0 0 22px rgba(61, 244, 208, .18)); animation: abelha-flutua 2.6s ease-in-out infinite; }
.abelha-pose.dica { width: 132px; }
.abelha-pose.vazio { width: 190px; margin: 0 auto; }
.abelha-pose.mini { width: 110px; }
.revela .revela-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; min-height: 38px; margin-top: 8px; }
.revela .revela-chips .chip-pixel { animation: entra-chip .35s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes entra-chip { from { transform: scale(.4); opacity: 0; } }
.revela .revela-txt { animation: aparece .45s both !important; }
.revela .revela-txt[hidden] { display: none !important; }
.revela-txt h2 { color: var(--agua) !important; }

/* ===== Menu lateral ===== */
.hud-menu { display: grid; gap: 4px; width: 40px; height: 40px; padding: 11px 9px; border: 0; border-radius: 12px; background: transparent; cursor: pointer; flex-shrink: 0; }
.hud-menu span { display: block; height: 2.5px; border-radius: 2px; background: var(--ink); }
.hud-menu:hover { background: rgba(255, 255, 255, .06); }
.gaveta { position: fixed; inset: 0; z-index: 90; pointer-events: none; }
.gaveta-fundo { position: absolute; inset: 0; background: rgba(2, 8, 16, .65); opacity: 0; transition: opacity .25s; }
.gaveta-painel { position: absolute; top: 0; bottom: 0; left: 0; width: min(330px, 86vw); background: #081624; border-right: 1px solid var(--line); transform: translateX(-102%); transition: transform .28s cubic-bezier(.3, .8, .3, 1); display: flex; flex-direction: column; overflow-y: auto; }
.gaveta.on { pointer-events: auto; }
.gaveta.on .gaveta-fundo { opacity: 1; }
.gaveta.on .gaveta-painel { transform: none; }
.gaveta-h { flex-shrink: 0; position: relative; display: flex; align-items: center; gap: 12px; padding: 26px 18px 20px; background: linear-gradient(140deg, #0a3a7f, #022449); overflow: hidden; }
.gaveta-h b { display: block; font-size: 17px; }
.gaveta-h small { color: #b7c8dd; }
.gaveta-pontos { position: absolute; right: -18px; top: -14px; width: 130px; height: 90px; opacity: .55; background: radial-gradient(circle at 20% 60%, var(--laranja) 0 9px, transparent 10px), radial-gradient(circle at 45% 30%, var(--ceu) 0 10px, transparent 11px), radial-gradient(circle at 70% 55%, var(--agua) 0 9px, transparent 10px), radial-gradient(circle at 92% 25%, var(--laranja) 0 7px, transparent 8px); }
.gaveta-edit { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .12); font-size: 16px; }
.gaveta-cta { flex-shrink: 0; margin: 14px 16px 6px; padding: 13px; text-align: center; border-radius: 99px; background: var(--laranja); color: #1d1204; font-weight: 900; letter-spacing: .06em; box-shadow: 0 4px 0 var(--laranja2); }
.gaveta-lista { display: flex; flex-direction: column; padding: 8px 10px 30px; }
.gaveta-lista a, .gv-sair { display: flex; align-items: center; gap: 14px; padding: 13px 10px; border-radius: 12px; color: var(--ink); font-weight: 600; font-size: 15px; border: 0; background: none; text-align: left; }
.gaveta-lista a:hover, .gv-sair:hover { background: rgba(255, 255, 255, .05); }
.gaveta-lista a.on { background: rgba(61, 244, 208, .1); color: var(--agua); }
.gv-ic { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(255, 173, 64, .14); font-size: 17px; flex-shrink: 0; }
.gv-sair { color: var(--muted); margin-top: 6px; border-top: 1px solid var(--line); border-radius: 0; padding-top: 16px; }

/* ===== Páginas do evento ===== */
.destaque-ev { background: linear-gradient(130deg, rgba(10, 58, 127, .7), rgba(2, 36, 73, .6)) !important; border-color: rgba(120, 187, 255, .3) !important; }
.destaque-ev .kicker { color: var(--laranja) !important; }
.destaque-ev h2 { font-size: 22px; margin: 4px 0 8px; color: #fff; }
.lista-ok { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lista-ok li { position: relative; padding-left: 22px; color: #c6d3e3; }
.lista-ok li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 9px; height: 9px; border-radius: 50%; background: var(--agua); box-shadow: 0 0 8px var(--agua); }
.numeros-ev { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin-top: 10px; }
.numeros-ev div { padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.numeros-ev b { display: block; font-size: 26px; font-weight: 900; color: var(--agua); }
.numeros-ev span { font-size: 13px; color: var(--muted); }
.fonte { font-size: 12.5px; color: var(--muted); margin: 10px 0 0; }
.contatos { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.contatos li { display: flex; flex-direction: column; }
.contatos span { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.post { display: flex; flex-direction: column; gap: 8px; }
.post-h { display: flex; align-items: center; gap: 10px; }
.post p { margin: 0; color: #d5e1ef; line-height: 1.5; }
.post-acoes { display: flex; gap: 8px; }
.logo-av { background: conic-gradient(from 20deg, var(--agua), var(--ceu), var(--laranja), var(--agua)) !important; color: #061018 !important; font-weight: 900; }
.post-novo { display: flex; flex-direction: column; gap: 10px; }
.post-novo textarea { width: 100%; resize: vertical; padding: 12px; border-radius: 12px; border: 1px solid; font: inherit; }
.post-novo .btn { align-self: flex-end; }
.curadores { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin-top: 10px; }
.curador { display: flex; align-items: center; gap: 10px; }
.curador b { display: block; font-size: 14px; }
.sim-trilha { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #090c16; color: var(--agua); vertical-align: middle; margin-right: 4px; }
.local-card { display: flex; gap: 14px; align-items: flex-start; }
.local-pin { font-size: 34px; }
.logos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.logo-chip { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 12px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); color: var(--ink); font-weight: 700; font-size: 14px; }
.logo-chip small { color: var(--laranja); font-weight: 800; font-size: 11px; }
.logo-chip.cota-master { border-color: rgba(61, 244, 208, .5); }
.logo-chip.cota-ouro { border-color: rgba(255, 173, 64, .5); }
.faq { display: flex; flex-direction: column; gap: 10px; }
.faq-item { padding: 0 !important; overflow: hidden; }
.faq-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; border: 0; background: none; color: var(--ink); font-weight: 700; font-size: 15px; text-align: left; }
.faq-q b { color: var(--agua); font-size: 20px; }
.faq-item p { margin: 0; padding: 0 18px 16px; color: #c6d3e3; line-height: 1.5; }
.faq-item.on { border-color: rgba(61, 244, 208, .4) !important; }

/* entrada pública */
.entrar { color: var(--ink); }
.persona { background: rgba(255, 255, 255, .04) !important; border: 1px solid var(--line) !important; color: var(--ink) !important; }
.persona span, .persona small { color: var(--muted); }
.persona b { color: var(--ink); }
.kicker { color: var(--laranja); }
.duo.mini { display: flex; justify-content: center; }

/* superfícies claras restantes do tema antigo */
.kpi, .facts div, .gap, .check, .chip span, .slot, .public-h, .missions .xp, .sp .xp, .stand.free, .stars button { background: rgba(255, 255, 255, .04) !important; border-color: var(--line) !important; color: var(--ink) !important; }
.kpi b, .facts b { color: var(--agua) !important; }
.slot:hover:not(.off) { border-color: var(--agua) !important; background: rgba(61, 244, 208, .1) !important; }
.slot.off { opacity: .45; text-decoration: line-through; }
.chip input:checked + span, .check:has(input:checked) { background: rgba(61, 244, 208, .14) !important; border-color: rgba(61, 244, 208, .55) !important; color: var(--agua) !important; }
.pill.warn, .pill.est-contratando { background: rgba(255, 173, 64, .16) !important; color: var(--laranja) !important; }
.pill.est-planejando { background: rgba(120, 187, 255, .16) !important; color: var(--ceu) !important; }
.cota-ouro { background: rgba(255, 173, 64, .2) !important; color: var(--laranja) !important; }
.cota-master { background: rgba(61, 244, 208, .18) !important; color: var(--agua) !important; }
.rank li.me { background: rgba(61, 244, 208, .1) !important; }
.qr { background: #fff !important; }
.missions a:hover { background: rgba(255, 255, 255, .05) !important; }
.form label, .form legend { color: var(--ink); }
@media (max-width: 480px) { .top .role-chip, .top-brand strong { display: none; } }

/* ===== Feed (Linha do Tempo) ===== */
.feed .post { padding: 14px 0 6px !important; }
.feed .post > * { margin-left: 14px; margin-right: 14px; }
.feed .post.org { border-color: rgba(61, 244, 208, .22) !important; }
.post-h small { margin-top: 1px; }
.post-foto { display: block; width: calc(100% - 0px) !important; margin: 4px 0 0 !important; max-height: 520px; object-fit: cover; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.post-acoes { display: flex; gap: 4px; padding: 4px 0 6px; }
.acao { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font-weight: 700; font-size: 14px; }
.acao b { color: var(--ink); font-weight: 800; }
.acao:hover { background: rgba(255, 255, 255, .05); }
.acao.on { color: var(--laranja); }
.comentarios { display: flex; flex-direction: column; gap: 10px; padding: 10px 0 12px; border-top: 1px solid var(--line); }
.comentario { display: flex; gap: 10px; align-items: flex-start; }
.comentario .av { width: 32px; height: 32px; font-size: 12px; border-radius: 10px; flex-shrink: 0; }
.comentario p { margin: 0; padding: 8px 12px; border-radius: 14px; background: rgba(255, 255, 255, .05); color: #d5e1ef; font-size: 14px; line-height: 1.4; }
.comentario p b { color: var(--ink); margin-right: 4px; }
.comentario small { margin: 3px 0 0 12px; font-size: 11.5px; }
.comentar { display: flex; gap: 8px; }
.comentar input { flex: 1; min-width: 0; padding: 10px 12px; border-radius: 99px; border: 1px solid; font: inherit; }
.post-novo .post-h { align-items: flex-start; }
.post-novo textarea { border: 0 !important; background: transparent !important; padding: 8px 4px; font-size: 15px; }
.post-novo textarea:focus { outline: none; }
.post-novo-pe { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid var(--line); padding-top: 10px; }
.post-foto-prev { position: relative; }
.post-foto-prev img { display: block; width: 100%; max-height: 320px; object-fit: cover; border-radius: 12px; }
.tirar-foto { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: rgba(6, 16, 24, .8); color: #fff; font-size: 20px; line-height: 1; }

/* ===== Meu ingresso (cartão de carteira com a abelha) ===== */
.ingresso-tela { display: grid; gap: 22px; justify-items: center; }
@media (min-width: 820px) { .ingresso-tela { grid-template-columns: 340px 1fr; align-items: start; justify-items: start; } }
.bilhete { position: relative; width: 320px; max-width: 100%; border-radius: 26px; overflow: hidden; padding: 20px 20px 18px; color: #fff; box-shadow: 0 24px 50px rgba(0, 0, 0, .5);
  background: radial-gradient(120% 80% at 100% 0%, rgba(255, 173, 64, .55), transparent 55%), radial-gradient(120% 90% at 0% 100%, rgba(61, 244, 208, .45), transparent 55%), linear-gradient(160deg, #0a3a7f, #022449 60%, #061018); }
.bilhete::before { content: ""; position: absolute; inset: 0; opacity: .14; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48.5' viewBox='0 0 28 48.5'%3E%3Cpath d='M14 0 L28 8.08 L28 24.25 L14 32.33 L0 24.25 L0 8.08 Z M14 32.33 L14 48.5' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E"); background-size: 28px 48.5px; }
.bilhete > * { position: relative; }
.bilhete-abelha { position: absolute !important; right: 16px; top: 14px; width: 112px; transform: scaleX(-1); filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .45)); animation: abelha-flutua 2.6s ease-in-out infinite; }
.bilhete-marca { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--agua); }
.bilhete-ano { font-size: 24px; font-weight: 900; margin-top: 2px; }
.bilhete-nome { margin-top: 52px; font-size: 22px; font-weight: 900; line-height: 1.1; max-width: 100%; }
.bilhete-cargo { font-size: 12.5px; color: #c6d3e3; margin-top: 4px; }
.bilhete-trilhas { display: flex; gap: 6px; margin-top: 12px; }
.bilhete-trilhas i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(9, 12, 22, .75); color: var(--agua); box-shadow: inset 0 0 0 1px rgba(61, 244, 208, .35); }
.bilhete-linha { display: flex; justify-content: space-between; gap: 8px; margin-top: 14px; font-size: 12px; }
.bilhete-linha small { display: block; font-size: 9.5px; font-weight: 800; letter-spacing: .12em; color: #b7c8dd !important; }
.bilhete-linha b { font-size: 13.5px; }
.bilhete-qr { margin: 16px auto 0; width: 184px; padding: 11px; border-radius: 18px; background: #fff; }
.bilhete-qr svg { display: block; width: 100%; height: auto; }
.bilhete-cod { text-align: center; font: 700 11.5px ui-monospace, Consolas, monospace; letter-spacing: .1em; color: #c6d3e3; margin-top: 8px; }
.ingresso-acoes { display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 340px; }
.carteira-btn { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 16px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .25); background: #000; color: #fff; font: 700 17px Inter, sans-serif; text-align: left; }
.carteira-btn small { display: block; font-size: 11px; font-weight: 500; color: #cfd6df !important; }
.carteira-btn .cb-ic { display: grid; place-items: center; width: 34px; height: 26px; border-radius: 6px; font-weight: 900; }
.carteira-btn.apple .cb-ic { background: linear-gradient(180deg, #3dc6f4 0 25%, #f5b72b 25% 50%, #f15b4f 50% 75%, #4cd964 75%); }
.carteira-btn.google .cb-ic { background: #fff; color: #4285f4; font-size: 18px; }
.carteira-btn:hover { border-color: var(--agua); }

/* ===== Logo oficial do BrasilGov Summit ===== */
.logo, .logo.sm, .logo.xl { background: url(../assets/marca/simbolo.png) center / contain no-repeat !important; color: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
.logo { width: 46px !important; }
.logo.sm { width: 40px !important; }
.logo-evento { display: block; width: 340px; max-width: 100%; height: auto; margin: 0 0 18px; }
.gaveta-h { flex-wrap: wrap; }
.gaveta-logo { flex: 0 0 100%; width: 100%; max-width: none; height: 34px; object-fit: contain; object-position: left center; margin: -6px 0 16px; }
.bilhete-logo { display: block; width: 168px; height: auto; margin-top: 4px; }
.bilhete-nome { margin-top: 64px !important; }

/* ===== Trilha em favos (hexágonos) ligados por linha reta ===== */
.caminho-svg .liga { stroke-linecap: round; fill: none; }
.caminho-svg .liga.futura { stroke: rgba(120, 187, 255, .28); stroke-width: 6; }
.caminho-svg .liga.chegando { stroke: color-mix(in srgb, var(--c) 55%, transparent); stroke-width: 9; }
.caminho-svg .liga.feita { stroke: var(--c); stroke-width: 11; filter: drop-shadow(0 0 6px color-mix(in srgb, var(--c) 60%, transparent)); }
.no-pos { isolation: isolate; }
.no-pos::before { content: ""; position: absolute; left: 50%; top: 50%; width: 88px; height: 100px; transform: translate(-50%, -50%); background: #061018; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); z-index: -1; }
.no-pos.atual::after { content: ""; position: absolute; left: 50%; top: 50%; width: 112px; height: 128px; transform: translate(-50%, -50%); background: var(--c); opacity: .3; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); z-index: -2; animation: favo-pulsa 1.6s ease-in-out infinite; }
@keyframes favo-pulsa { 50% { transform: translate(-50%, -50%) scale(1.12); opacity: .12; } }
.no-pos.feito, .no-pos.atual { filter: drop-shadow(0 0 16px color-mix(in srgb, var(--c) 55%, transparent)); }
.no, .no-bau, .no-trofeu { width: 74px !important; height: 85px !important; border-radius: 0 !important; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); box-shadow: none !important; outline: none !important; animation: none; }
.no { background: var(--c) !important; }
.no.bloqueado { background: #12294a !important; }
.no.atual { animation: none !important; }
.no::after, .no.feito::after { display: none !important; }
.no-bau.atual span { display: inline-block; animation: treme 1.3s ease-in-out infinite; }
.no-check { position: absolute; right: -4px; bottom: 2px; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: #061018; font-size: 14px; font-weight: 900; display: grid; place-items: center; border: 3px solid #061018; }
