/* ==========================================================================
   CriptoAnalytics — tema "Órbita Neon"

   Grafite quase preto, aurora ao fundo, borda luminosa de 1px e brilho só no
   dado: preço, score e linha do gráfico. Número em fonte tabular, como
   terminal de mercado.

   Os nomes das variáveis são os mesmos de antes de propósito: o gráfico do
   Chart Pro lê --up, --down, --ink, --rule, --blue e --warn do :root em tempo
   de desenho, e concatena alfa no valor (cor + '99'), então esses seis
   precisam continuar em hex de 6 dígitos.

   Author: Dario C Oliveira
   ========================================================================== */

:root{
  --paper:#05060e;      /* fundo da página */
  --sheet:#0c1020;      /* superfície opaca (bordas e recortes do gráfico) */
  --glass:rgba(13,17,32,.62);  /* superfície de vidro dos painéis */
  --ink:#e9eeff;        /* texto */
  --ink-2:#8d9cc4;      /* texto secundário */
  --rule:#1e2742;       /* linhas finas (também no canvas) */
  --blue:#4de8ff;       /* ação principal e EMA20 */
  --violet:#a07bff;     /* acento secundário */
  --up:#2ff5a8;         /* alta */
  --down:#ff5d7a;       /* baixa */
  --warn:#ffc46b;
  --brd:rgba(125,200,255,.17);
  --brd-hi:rgba(77,232,255,.62);
  --hi:rgba(190,230,255,.10);
  --radius:12px;
  --radius-sm:8px;
  --shadow:0 10px 34px rgba(0,0,0,.55),inset 0 1px 0 var(--hi);
  --blur:blur(18px) saturate(130%);
  --glow:0 0 18px rgba(77,232,255,.45);
  --font:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-display:var(--font);
  --mono:'Cascadia Mono','Consolas',ui-monospace,'SF Mono',Menlo,monospace;
}
*{box-sizing:border-box}
/* color-scheme avisa o navegador que a página é escura: com isso a barra de
   rolagem, a lista do <select>, o preenchimento automático e o calendário
   nascem no tom certo em vez de brancos */
html{scroll-behavior:smooth;background:var(--paper);color-scheme:dark;
  scrollbar-color:rgba(77,232,255,.35) rgba(6,8,17,.55);scrollbar-width:thin}
/* as fichas flutuam para fora da arte do radar: sem isto elas criam uma barra
   de rolagem horizontal na página */
body{margin:0;background:none;color:var(--ink);font:16px/1.55 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* barra de rolagem no tom do tema (Chrome, Edge, Safari) */
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:rgba(6,8,17,.55)}
::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:padding-box;border-radius:99px;
  background-color:rgba(77,232,255,.38);background-image:linear-gradient(180deg,rgba(77,232,255,.55),rgba(160,123,255,.55))}
::-webkit-scrollbar-thumb:hover{background-color:rgba(77,232,255,.6);
  background-image:linear-gradient(180deg,rgba(77,232,255,.8),rgba(160,123,255,.8))}
::-webkit-scrollbar-corner{background:transparent}

/* aurora ao fundo */
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(42% 34% at 12% 4%,rgba(160,123,255,.34),transparent 70%),
    radial-gradient(46% 38% at 92% 10%,rgba(77,232,255,.22),transparent 72%),
    radial-gradient(60% 44% at 50% 108%,rgba(120,90,255,.20),transparent 70%),
    linear-gradient(180deg,#05060e 0%,#080b18 38%,#0a0e1f 70%,#070910 100%)}
/* malha fina: leitura de terminal sem roubar a atenção do dado */
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(to right,rgba(125,200,255,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(125,200,255,.055) 1px,transparent 1px);
  background-size:56px 56px,56px 56px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 85%);
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 85%)}

h1,h2,h3{font-family:var(--font-display);line-height:1.1;margin:0;letter-spacing:-.02em;font-weight:700;color:#fff}
h1{font-size:clamp(2.2rem,5.2vw,4rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.15rem;color:var(--blue)}
p{margin:0 0 1em;max-width:62ch}
/* nenhum link sublinhado, em lugar nenhum: a distinção é pela cor do acento,
   e o traço só aparece quando o ponteiro está em cima */
a,a:link,a:visited{color:var(--blue);text-decoration:none;transition:color .2s}
a:hover,a:focus-visible{color:#fff}
a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:rgba(77,232,255,.5)}
/* botão e item de menu nunca ganham traço */
a.btn:hover,.top nav a:hover,.side a:hover,.bnav a:hover,footer.site a:hover,a.tag:hover{text-decoration:none}
strong,b{color:#fff}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.up{color:var(--up)} .down{color:var(--down)} .muted{color:var(--ink-2)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.sr{position:absolute;left:-9999px}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.75em 1.25em;border-radius:var(--radius-sm);
  border:1px solid var(--brd);background:rgba(125,200,255,.07);color:var(--blue);font:600 .95rem var(--font);cursor:pointer;text-decoration:none;
  transition:color .15s,border-color .15s,box-shadow .2s,transform .05s}
.btn:hover{color:#fff;border-color:var(--brd-hi);box-shadow:0 0 0 1px rgba(77,232,255,.25)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(135deg,var(--blue),var(--violet));border-color:transparent;color:#04131a;
  box-shadow:0 8px 24px rgba(77,232,255,.22)}
.btn.primary:hover{color:#04131a;box-shadow:0 10px 30px rgba(77,232,255,.34),var(--glow)}
.btn.small{padding:.4em .8em;font-size:.85rem}
.btn[disabled]{opacity:.45;cursor:not-allowed}

/* topo: barra de vidro flutuando, não uma faixa colada */
.top{position:sticky;top:0;z-index:20;padding:14px 0 0;background:none;border-bottom:0}
.top .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 24px;min-height:64px;
  background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);box-shadow:var(--shadow)}
.brand{display:inline-block;line-height:1;text-decoration:none}
.brand-mark{display:block;font:800 1.45rem var(--font-display);color:var(--blue);letter-spacing:-.4px;text-shadow:var(--glow)}
.brand-mark i{font-style:normal;color:var(--violet);text-shadow:0 0 18px rgba(160,123,255,.45)}
.brand-sub{display:block;font-size:.62rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--ink-2);margin-top:6px}
.brand:hover .brand-mark{color:#fff}
.top nav{display:flex;gap:10px;margin-left:auto;align-items:center}
.top nav a:not(.btn){color:var(--ink);text-decoration:none;font:600 .82rem var(--font);letter-spacing:.8px;text-transform:uppercase;
  padding:10px 16px;border:1px solid transparent;border-radius:var(--radius-sm);transition:background .2s,border-color .2s,color .2s}
.top nav a:not(.btn):hover{color:var(--blue);background:rgba(125,200,255,.07);border-color:var(--brd)}
/* no painel a barra ocupa a largura toda */
.app-top .wrap{max-width:none;margin:0 20px}
@media(max-width:760px){.top nav a.hide-m{display:none}.top .wrap{padding:12px 16px}.brand-mark{font-size:1.2rem}}

/* faixa de cotações: um trilho de vidro, não uma tarja colada */
.tape{position:relative;margin:12px 0 0;overflow:hidden;white-space:nowrap;
  background:rgba(9,12,24,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-block:1px solid var(--brd);font-size:.82rem;font-family:var(--mono);
  scrollbar-width:none}
.tape::-webkit-scrollbar{display:none}
.tape .row{display:inline-flex;align-items:stretch;gap:0;padding:0;animation:tape 45s linear infinite;will-change:transform}
.tape:hover .row{animation-play-state:paused}
/* cada cotação é um bloco com separador, em vez de texto solto espaçado */
.tape .row>span{display:inline-flex;align-items:center;gap:9px;padding:10px 20px;border-right:1px solid var(--rule)}
.tape .row>span b{margin:0;font-weight:600;letter-spacing:1.2px;color:var(--ink-2);text-shadow:none}
.tape .row>span .num:first-of-type{color:#fff}
.tape .moeda{margin:0;box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.tape .up{color:var(--up)}.tape .down{color:var(--down)}
/* as pontas somem no escuro em vez de cortar no meio do número */
.tape::before,.tape::after{content:"";position:absolute;top:0;bottom:0;width:90px;pointer-events:none;z-index:1}
.tape::before{left:0;background:linear-gradient(90deg,#070910,transparent)}
.tape::after{right:0;background:linear-gradient(270deg,#070910,transparent)}
@keyframes tape{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.tape .row{animation:none}.tape{overflow-x:auto}}

/* hero */
.hero{padding:64px 0 48px}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.hero h1{max-width:13ch}
.hero .lead{font-size:1.15rem;color:var(--ink-2);margin:20px 0 28px;max-width:46ch}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.hero .grid{grid-template-columns:1fr}.hero h1{max-width:none}}

/* placar do radar */
.board{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);box-shadow:var(--shadow)}
.board header{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;border-bottom:1px solid var(--brd)}
.board header strong{font:700 1.05rem var(--font-display);color:var(--blue)}
.board header small{color:var(--ink-2)}
.board ol{list-style:none;margin:0;padding:0}
.board li{display:grid;grid-template-columns:62px 1fr 56px;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--rule)}
.board li:last-child{border-bottom:0}
.board .sym{font-weight:700;color:#fff}
.bar{height:8px;background:rgba(125,200,255,.12);border-radius:99px;position:relative;overflow:hidden}
.bar i{position:absolute;inset:0 auto 0 0;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--blue));
  box-shadow:0 0 12px rgba(77,232,255,.4);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.board .sc{text-align:right;font-weight:700;font-family:var(--mono);color:#fff}
.board footer{padding:12px 18px;border-top:1px solid var(--brd);font-size:.9rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* o aviso de "radar ainda não rodou" não é uma linha de ativo: sem sair da
   grade de 3 colunas, o texto ficaria comprimido na primeira coluna de 62px */
.board li.empty{display:block;padding:28px 18px;color:var(--ink-2);text-align:center;max-width:none}
.board li.empty a{font-weight:600}

/* seções */
section{padding:56px 0}
.sec-head{margin-bottom:32px;max-width:60ch}
.sec-head p{color:var(--ink-2);margin-top:12px}
/* recursos em cartões de vidro, não em lista */
.ledger{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.ledger .item{display:flex;flex-direction:column;padding:22px;
  background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);box-shadow:var(--shadow);
  transition:transform .22s,border-color .22s,box-shadow .22s}
.ledger .item:hover{transform:translateY(-5px);border-color:var(--brd-hi);
  box-shadow:0 18px 46px rgba(0,0,0,.55),0 0 0 1px rgba(77,232,255,.2),inset 0 1px 0 var(--hi)}
.ledger .item h3{margin:0 0 .5em}
.ledger .item p{margin:0 0 16px;color:var(--ink-2);font-size:.94rem;max-width:none}
.ledger .item .tag{align-self:flex-start;margin-top:auto}
.tag{font-size:.8rem;font-weight:600;border:1px solid var(--brd);border-radius:var(--radius-sm);padding:2px 10px;color:var(--ink-2);white-space:nowrap}
@media(max-width:760px){.ledger .item{grid-template-columns:1fr;gap:6px}}

/* passos em cartões soltos, com o número em medalha */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:0;padding:0;counter-reset:s;background:none;border:0}
.steps li{list-style:none;position:relative;counter-increment:s;padding:24px 22px;
  background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);box-shadow:var(--shadow)}
.steps li::before{content:counter(s);position:absolute;top:18px;left:-14px;width:36px;height:36px;display:grid;place-items:center;
  font:800 1rem var(--mono);color:#04131a;background:linear-gradient(135deg,var(--blue),var(--violet));
  border-radius:50%;box-shadow:0 0 18px rgba(77,232,255,.35)}
.steps li h3{margin:0 0 .4em;font-size:1.05rem}
.steps li p{margin:0;color:var(--ink-2);font-size:.94rem}
@media(max-width:760px){.steps{grid-template-columns:1fr}.steps li{margin-left:14px}}

/* plano */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:820px}
.plan{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.plan.feat{border-color:var(--brd-hi);box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 0 1px rgba(77,232,255,.2),inset 0 1px 0 var(--hi)}
.plan .price{font:700 2.4rem var(--mono);margin:8px 0 2px;color:#fff;letter-spacing:-.5px}
.plan .price small{font:500 1rem var(--font);color:var(--ink-2)}
.plan ul{padding:0;margin:20px 0 24px;list-style:none}
.plan li{padding:7px 0 7px 26px;position:relative;border-top:1px solid var(--rule);font-size:.95rem;color:var(--ink-2)}
.plan li::before{content:"\25C8";position:absolute;left:0;color:var(--blue);font-weight:700;font-size:.8em;line-height:1.9}
@media(max-width:760px){.plans{grid-template-columns:1fr}}

/* faq */
details{border-top:1px solid var(--rule);padding:16px 0}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;color:var(--blue)}
summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--violet)}
details[open] summary::after{content:"\2212"}
details p{margin:12px 0 0;color:var(--ink-2)}

footer.site{border-top:1px solid var(--brd);padding:32px 0 48px;background:rgba(5,7,15,.86);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:.9rem;color:var(--ink-2)}
footer.site .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
footer.site a{color:var(--blue)}

/* formulários */
.auth{min-height:calc(100vh - 60px);display:grid;place-items:center;padding:32px 20px}
.card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);padding:28px;width:100%;max-width:420px;box-shadow:var(--shadow)}
.card h1{font-size:1.8rem;margin-bottom:8px}
label{display:block;font-weight:600;font-size:.9rem;margin:16px 0 6px}
input,select,textarea{width:100%;padding:.7em .8em;border:1px solid var(--brd);border-radius:var(--radius-sm);
  background:rgba(3,5,12,.5);font:inherit;color:var(--ink)}
input::placeholder{color:rgba(141,156,196,.7)}
input:focus,select:focus,textarea:focus{border-color:var(--brd-hi);outline:none;box-shadow:0 0 0 1px rgba(77,232,255,.25)}
.msg{margin:14px 0 0;font-size:.92rem;min-height:1.2em}
.msg.err{color:var(--down)} .msg.ok{color:var(--up)}
.card .btn{width:100%;margin-top:20px}

/* ===== App (painel) ===== */
.app{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 60px)}
.side{background:rgba(8,11,22,.72);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border-right:1px solid var(--brd);padding:16px 10px;position:sticky;top:60px;height:calc(100vh - 60px);overflow:auto}
.side a{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:var(--radius-sm);
  color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;border:1px solid transparent;transition:background .2s,border-color .2s,color .2s}
.side a:hover{background:rgba(125,200,255,.07);border-color:var(--brd);color:var(--blue)}
.side a.on{position:relative;background:rgba(77,232,255,.09);border-color:rgba(77,232,255,.28);color:var(--blue)}
.side a.on::before{content:"";position:absolute;left:-1px;top:20%;bottom:20%;width:2px;border-radius:2px;background:var(--blue);box-shadow:var(--glow)}
.side a .lock{font-size:.75rem;opacity:.8;font-family:var(--mono);color:var(--ink-2)}
.side h4{margin:18px 12px 6px;font:600 .72rem var(--font);color:var(--ink-2);letter-spacing:2px;text-transform:uppercase}
.main{padding:28px;min-width:0}
.main h1{font-size:1.9rem;margin-bottom:6px}
.main .sub{color:var(--ink-2);margin-bottom:24px}
.panel{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow)}
.panel>h3{padding:12px 16px;border-bottom:1px solid var(--brd);font-size:1rem}
.panel .body{padding:16px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{text-align:left;font:700 .66rem var(--font);letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-2);
  padding:10px 14px;border-bottom:1px solid var(--brd);white-space:nowrap}
td{padding:9px 14px;border-bottom:1px solid var(--rule)}
tbody tr:hover td{background:rgba(125,200,255,.055)}
tr:last-child td{border-bottom:0}
.r{text-align:right}
.scroll{overflow-x:auto}
/* KPIs como cartões separados, não uma régua colada */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;background:none;border:0}
.kpis div{padding:18px 20px;position:relative;
  background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);box-shadow:var(--shadow)}
.kpis small{display:block;color:var(--ink-2);font-size:.66rem;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:8px}
.kpis strong{display:block;font:800 1.7rem var(--mono);color:#fff;letter-spacing:-.5px;text-shadow:0 0 20px rgba(125,200,255,.2)}
.chip{display:inline-block;border:1px solid currentColor;border-radius:var(--radius-sm);padding:1px 9px;font-size:.78rem;font-weight:600;letter-spacing:.6px}
.locked{padding:40px 20px;text-align:center}
.locked p{margin:0 auto 16px}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.tabs button{padding:6px 12px;border:1px solid var(--brd);border-radius:var(--radius-sm);background:rgba(125,200,255,.07);
  font:600 .85rem var(--mono);cursor:pointer;color:var(--ink-2);transition:color .2s,border-color .2s}
.tabs button:hover{color:var(--blue);border-color:var(--brd-hi)}
canvas{width:100%;display:block}
.chat{display:flex;flex-direction:column;height:62vh;min-height:360px}
.chat .log{flex:1;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.msgb{max-width:78ch;background:rgba(125,200,255,.05);border:1px solid var(--brd);border-radius:var(--radius-sm);padding:10px 13px}
.msgb .who{font-weight:700;font-size:.85rem;color:var(--blue)}
.msgb .who small{font-weight:500;color:var(--ink-2);margin-left:6px}
.msgb.ai{background:rgba(77,232,255,.06);border-color:rgba(77,232,255,.26);border-left:3px solid var(--blue);
  padding:10px 13px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.msgb .t{white-space:pre-wrap;word-break:break-word}
.chat form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--brd)}
.chat form input{flex:1}
.chat form .btn{width:auto;margin:0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px}
.kv dt{color:var(--ink-2)}.kv dd{margin:0;font-weight:600;font-family:var(--mono);color:#fff}
.promptbox{white-space:pre-wrap;background:rgba(3,5,12,.5);border:1px solid var(--rule);padding:12px;border-radius:var(--radius-sm);margin:10px 0;font-size:.92rem}
.toast{position:fixed;bottom:20px;right:20px;background:rgba(9,12,24,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid var(--brd-hi);color:var(--ink);padding:12px 18px;border-radius:var(--radius);z-index:50;max-width:340px;box-shadow:var(--shadow)}
@media(max-width:860px){
  .app{grid-template-columns:1fr}
  .side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--brd);display:flex;flex-wrap:wrap;gap:4px;padding:8px}
  .side h4{display:none}
  .main{padding:18px 14px}
}

.warn{color:var(--warn)}
@media(max-width:760px){.hide-m{display:none}}

/* ===== navegação, cards de oportunidade, VIP, Radar Diário, gráficos ===== */
.nbadge{font-size:.72rem;font-weight:700;border:1px solid currentColor;border-radius:99px;padding:0 7px;line-height:1.5;font-family:var(--mono)}
.side a.on .nbadge{border-color:var(--brd-hi)}
.bell{position:relative;display:inline-flex;color:var(--ink);padding:6px}
.bell:hover{color:var(--blue)}
.bellc{position:absolute;top:-2px;right:-4px;background:var(--down);color:#1a0509;font-size:.68rem;font-weight:700;border-radius:99px;
  min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 4px;box-shadow:0 0 12px rgba(255,93,122,.5)}
.billing{background:rgba(255,93,122,.12);border-bottom:1px solid rgba(255,93,122,.45);color:#ffc7d1;font-size:.92rem}
.billing[hidden]{display:none}
.billing .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 20px}
.bnav{display:none}
.h2s{font-size:1.25rem;margin:26px 0 12px}
.note{color:var(--ink-2);font-size:.88rem;max-width:80ch}
.warnbox{margin:0;padding:8px 12px;border:1px solid rgba(255,196,107,.45);border-radius:var(--radius-sm);
  background:rgba(255,196,107,.08);color:var(--warn);font-weight:600;font-size:.92rem}

.oppgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}
.opp{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--brd);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;
  box-shadow:var(--shadow);transition:transform .22s,border-color .22s,box-shadow .22s}
.opp:hover{transform:translateY(-4px);border-color:var(--brd-hi);
  box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 0 1px rgba(77,232,255,.22),inset 0 1px 0 var(--hi)}
.opp.big{max-width:560px;border-color:var(--brd-hi)}
.opp header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.opp header h3{margin:0 0 2px}
.opp .score{border:1px solid var(--brd);border-radius:var(--radius-sm);padding:2px 10px;text-align:center;white-space:nowrap;
  background:rgba(125,200,255,.06)}
.opp .score b{font:700 1.5rem var(--mono);color:#fff}
.opp .score small{display:block;color:var(--ink-2);font-size:.7rem}
.opp.st-buy{border-left:3px solid var(--up)}
.opp.st-wait{border-left:3px solid var(--warn)}
.opp.st-watch{border-left:3px solid var(--ink-2)}
.opp.st-closed{border-left:3px solid var(--rule)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.chip.st{color:var(--ink-2);background:transparent}
.st-buy .chip.st{color:var(--up);border-color:rgba(47,245,168,.45);box-shadow:inset 0 0 14px rgba(47,245,168,.1)}
.st-wait .chip.st{color:var(--warn);border-color:rgba(255,196,107,.45);box-shadow:inset 0 0 14px rgba(255,196,107,.1)}
.chip.near{color:var(--blue);border-color:rgba(77,232,255,.45);box-shadow:inset 0 0 14px rgba(77,232,255,.1)}
.plan4{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.plan4>div{border:1px solid var(--rule);border-radius:var(--radius-sm);padding:6px 8px;background:rgba(3,5,12,.4)}
.plan4 small{display:block;color:var(--ink-2);font-size:.72rem}
.plan4 b{font-size:.95rem;font-family:var(--mono)}
.blk,.why2,.valid,.forming{border:1px solid var(--rule);border-radius:var(--radius-sm);padding:8px 10px;font-size:.9rem}
.blk{background:rgba(255,196,107,.07);border-color:rgba(255,196,107,.3)}
.blk ul,.why2 ul,.valid ul{margin:4px 0 0;padding-left:18px}
.blk p{margin:6px 0 0;max-width:none}
.valid ul{list-style:none;padding:0}
.valid li.ok{color:var(--up)} .valid li.no{color:var(--down)}
.forming{background:rgba(3,5,12,.4)}
.forming small{color:var(--ink-2)}
.opp>.btn{align-self:flex-start}
.gem.gem{border-left:3px solid var(--violet)}

.track{position:relative;height:8px;border-radius:99px;margin:6px 0 2px;
  background:linear-gradient(90deg,rgba(255,93,122,.45) 0%,var(--rule) 40%,rgba(47,245,168,.45) 100%)}
.track .entry{position:absolute;top:-5px;width:2px;height:18px;background:#fff;transform:translateX(-50%);box-shadow:0 0 8px rgba(255,255,255,.6)}
.track .mk{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;border:3px solid var(--sheet);
  transform:translate(-50%,-50%);box-shadow:0 0 0 1px var(--brd)}
.track .upc{background:var(--up);box-shadow:0 0 0 1px var(--brd),0 0 12px rgba(47,245,168,.6)}
.track .downc{background:var(--down);box-shadow:0 0 0 1px var(--brd),0 0 12px rgba(255,93,122,.6)}
.tlabels{display:flex;justify-content:space-between;font-size:.85rem}
.tlabels span{display:flex;flex-direction:column}
.tlabels .c{text-align:center}.tlabels .r{text-align:right}
.stepper{display:flex;list-style:none;margin:0;padding:0;gap:4px}
.stepper li{flex:1;text-align:center;font-size:.76rem;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:4px}
.stepper span{width:24px;height:24px;border-radius:50%;border:1px solid var(--brd);display:grid;place-items:center;
  font:700 .75rem var(--mono);background:rgba(3,5,12,.5)}
.stepper .done{color:var(--up)} .stepper .done span{border-color:rgba(47,245,168,.5);background:rgba(47,245,168,.1);color:var(--up)}
.stepper .cur{color:#fff;font-weight:700}
.stepper .cur span{border-color:var(--brd-hi);background:rgba(77,232,255,.12);color:var(--blue);box-shadow:0 0 14px rgba(77,232,255,.3)}
.dt summary{font-size:.9rem}
.vadm{display:flex;gap:6px;flex-wrap:wrap;border-top:1px dashed var(--rule);padding-top:10px}
.vadm input,.vadm select{width:auto;flex:1;min-width:110px;padding:.4em .6em}

.ev .body{padding:14px 16px}
.evhead{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.impact{border:1px solid var(--brd);border-radius:var(--radius-sm);padding:1px 8px;font-size:.82rem;font-weight:600;font-family:var(--mono)}
.impact.ih{background:rgba(255,93,122,.12);border-color:rgba(255,93,122,.45);color:#ffc7d1}
.impact.im{background:rgba(255,196,107,.1);border-color:rgba(255,196,107,.4);color:var(--warn)}
.why{margin:0;padding-left:10px;border-left:3px solid var(--warn);font-size:.9rem;max-width:80ch}
.tag{display:inline-block;font-size:.78rem;font-weight:600;border:1px solid var(--brd);border-radius:var(--radius-sm);
  padding:1px 9px;color:var(--ink-2);text-decoration:none;white-space:nowrap}
a.tag:hover{color:var(--blue);border-color:var(--brd-hi)}
.gl dt{font-weight:700;margin-top:12px;color:#fff}
.gl dd{margin:2px 0 0;color:var(--ink-2);max-width:70ch}
input[type=search]{background:rgba(3,5,12,.5)}
.tabs button.on{background:linear-gradient(135deg,var(--blue),var(--violet));border-color:transparent;color:#04131a}

/* ===== peças do tema: selo, radar do hero, pílula de score, marca da moeda ===== */

/* selo "radar ativo" acima do título */
.ca-selo{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;padding:7px 15px;
  font-size:.72rem;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-2);
  background:rgba(125,200,255,.07);border:1px solid var(--brd);border-radius:99px}

/* a frase que se digita sozinha */
.ca-papel{color:var(--blue);font-weight:600}
.ca-cursor{display:inline-block;width:2px;height:1.05em;background:var(--blue);vertical-align:-.16em;margin-left:2px}

/* o radar do hero */
.ca-arte{position:relative;max-width:420px;margin-inline:auto;justify-self:center;display:flex;align-items:center;justify-content:center}
.ca-arte svg{width:100%;max-width:400px;height:auto;overflow:visible}
.ca-ficha[hidden]{display:none}
.ca-ficha{position:absolute;display:flex;align-items:center;gap:10px;text-align:left;max-width:210px;padding:10px 14px;
  background:rgba(9,12,24,.84);border:1px solid var(--brd);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  border-radius:var(--radius-sm);box-shadow:0 12px 30px rgba(0,0,0,.45)}
.ca-ficha b{display:block;font:700 .9rem var(--mono);line-height:1.2;color:#fff}
.ca-ficha small{color:var(--ink-2);font-size:.72rem}
.ca-ficha .ca-ponto{width:9px;height:9px;flex:none;border-radius:50%;background:var(--blue);box-shadow:0 0 12px rgba(77,232,255,.7)}
.ca-ficha.ca-sobe .ca-ponto{background:var(--up);box-shadow:0 0 12px rgba(47,245,168,.7)}
.ca-ficha.ca-cai .ca-ponto{background:var(--down);box-shadow:0 0 12px rgba(255,93,122,.7)}
.ca-f1{top:-2%;left:-9%}
.ca-f2{bottom:16%;right:-11%}
.ca-f3{bottom:-4%;left:-4%}
@media(max-width:1020px){.ca-ficha{display:none}.ca-arte{margin-bottom:26px}}

/* pílula do score nas tabelas */
.score-pill{display:inline-grid;place-items:center;min-width:46px;padding:5px 10px;font:800 .95rem var(--mono);
  color:#04131a;background:linear-gradient(135deg,var(--blue),var(--violet));border-radius:var(--radius-sm);
  box-shadow:0 0 16px rgba(77,232,255,.3)}

/* selos de situação */
.chip.buy{color:var(--up);border-color:rgba(47,245,168,.45);box-shadow:inset 0 0 14px rgba(47,245,168,.1)}
.chip.wait{color:var(--blue);border-color:rgba(77,232,255,.45);box-shadow:inset 0 0 14px rgba(77,232,255,.1)}
.chip.watch{color:var(--ink-2)}
.chip.up{color:var(--up);border-color:rgba(47,245,168,.45)}

/* faixa do plano em destaque */
.ribbon{display:inline-block;margin-bottom:14px;padding:5px 12px;font:700 .64rem var(--font);letter-spacing:1.4px;
  text-transform:uppercase;color:#04131a;background:linear-gradient(135deg,var(--blue),var(--violet));border-radius:6px}

/* marca da moeda (sprite em lib/moedas.php) */
.ca-sprite{position:absolute;width:0;height:0;overflow:hidden}
.moeda{width:18px;height:18px;flex:none;vertical-align:-4px;border-radius:50%;margin-right:7px}
.moeda.mini{width:14px;height:14px;vertical-align:-2px;margin-right:5px}
td .moeda,.board .sym .moeda{width:20px;height:20px;vertical-align:-5px}
h3>.moeda{width:22px;height:22px;vertical-align:-5px;margin-right:9px}
.tape .moeda{width:16px;height:16px;vertical-align:-3px;margin-right:6px}

@media(max-width:860px){
  .side{display:none;position:fixed;inset:60px 0 56px 0;z-index:30;overflow:auto;flex-direction:column;flex-wrap:nowrap;height:auto;
    background:rgba(8,11,22,.97)}
  body.menu-open .side{display:flex}
  .bnav{display:flex;position:fixed;left:0;right:0;bottom:0;height:56px;z-index:40;background:rgba(8,11,22,.95);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--brd)}
  .bnav a,.bnav button{flex:1;display:grid;place-items:center;color:var(--ink-2);text-decoration:none;font:600 .78rem var(--font);
    background:none;border:0;cursor:pointer}
  .bnav a.on{color:var(--blue)}
  .main{padding-bottom:84px}
  .plan4{grid-template-columns:repeat(2,1fr)}
}
