/* =====================================================================
   Terminal Operebem · Páginas públicas v2 (referência aprovada OPB-1068)
   Tokens espelham DESIGN.md / app.css do Terminal. Nada de cor solta
   fora deste bloco, exceto a barra do protótipo (fora do produto).
   ===================================================================== */
html[data-theme="all-black"] {
  color-scheme: dark;
  --bg: #000000;
  --bg-2: #070807;
  --surface: #0b0c0b;
  --surface-2: #111311;
  --surface-3: #171a17;
  --border: #1d211d;
  --border-strong: #2a302a;
  --text: #f4f4f5;
  --text-2: #a1a1aa;
  --text-3: #71717a;
  --brand: #00c978;
  --brand-hover: #00e088;
  --brand-ink: #001b10;
  --brand-soft: rgba(0, 201, 120, 0.12);
  --brand-line: rgba(0, 201, 120, 0.35);
  --action: #f4f4f5;
  --action-hover: #ffffff;
  --action-ink: #0b0c0b;
  --up: #00e88f;
  --up-bg: rgba(0, 232, 143, 0.12);
  --up-flash: rgba(0, 232, 143, 0.22);
  --down: #ff5c5c;
  --down-bg: rgba(239, 68, 68, 0.14);
  --down-flash: rgba(239, 68, 68, 0.26);
  --warn: #fbbf24;
  --warn-bg: rgba(245, 158, 11, 0.14);
  --info: #2dd4bf;
  --plus: #7dd3fc;
  --plus-bg: rgba(56, 189, 248, 0.12);
  --pro: #00c978;
  --pro-bg: rgba(0, 201, 120, 0.14);
  --glow: radial-gradient(60% 60% at 50% 0%, rgba(0, 201, 120, 0.16), transparent 70%);
  --grid-line: rgba(255, 255, 255, 0.045);
  --shadow-frame: 0 40px 120px -40px rgba(0, 201, 120, 0.25), 0 0 0 1px rgba(255,255,255,0.06);
  --shadow-pop: 0 24px 60px -20px rgba(0, 0, 0, 0.8);
  --scrim: rgba(0, 0, 0, 0.72);
  --sess-reg: #00c978;
  --sess-pre: rgba(0, 201, 120, 0.32);
  --sess-post: rgba(125, 211, 252, 0.38);
  --sess-track: #101210;
}
html[data-theme="light"] {
  color-scheme: light;
  --bg: #ffffff;
  --bg-2: #f6f8f6;
  --surface: #ffffff;
  --surface-2: #f9faf9;
  --surface-3: #f1f4f1;
  --border: #e4e9e3;
  --border-strong: #cfd7ce;
  --text: #0e1c0f;
  --text-2: #4c584c;
  --text-3: #6f7b6f;
  --brand: #00804d;
  --brand-hover: #00693e;
  --brand-ink: #ffffff;
  --brand-soft: rgba(0, 128, 77, 0.08);
  --brand-line: rgba(0, 128, 77, 0.3);
  --action: #18181b;
  --action-hover: #000000;
  --action-ink: #ffffff;
  --up: #00693e;
  --up-bg: rgba(0, 200, 120, 0.12);
  --up-flash: rgba(0, 200, 120, 0.22);
  --down: #b91c1c;
  --down-bg: rgba(239, 68, 68, 0.1);
  --down-flash: rgba(239, 68, 68, 0.2);
  --warn: #a16207;
  --warn-bg: rgba(245, 158, 11, 0.14);
  --info: #0f766e;
  --plus: #0369a1;
  --plus-bg: rgba(14, 165, 233, 0.1);
  --pro: #00693e;
  --pro-bg: rgba(0, 128, 77, 0.1);
  --glow: radial-gradient(60% 60% at 50% 0%, rgba(0, 128, 77, 0.10), transparent 70%);
  --grid-line: rgba(14, 28, 15, 0.05);
  --shadow-frame: 0 40px 100px -50px rgba(14, 28, 15, 0.35), 0 0 0 1px rgba(14,28,15,0.08);
  --shadow-pop: 0 24px 60px -24px rgba(14, 28, 15, 0.35);
  --scrim: rgba(14, 28, 15, 0.45);
  --sess-reg: #00804d;
  --sess-pre: rgba(0, 128, 77, 0.28);
  --sess-post: rgba(3, 105, 161, 0.3);
  --sess-track: #f1f4f1;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 130px; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Inter", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15.2px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "cv11" 1, "ss01" 1;
}
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 6px; }
svg.lucide { width: 1em; height: 1em; stroke-width: 2; flex: none; }
.mono { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.tab-num { font-variant-numeric: tabular-nums; }
.muted { color: var(--text-2); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.up { color: var(--up); }
.down { color: var(--down); }
.flat { color: var(--text-2); }
.logo-light { display: none !important; }
html[data-theme="light"] .logo-light { display: block !important; }
html[data-theme="light"] .logo-dark { display: none !important; }

.wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding-inline: 24px; position: relative; }
.wrap-narrow { max-width: 880px; }
@media (max-width: 640px) { .wrap { padding-inline: 16px; } }

/* ---------- Barra do protótipo (fora do produto) ---------- */
.pbar {
  position: sticky; top: 0; z-index: 120;
  display: flex; align-items: center; gap: 8px;
  height: 40px; padding: 0 10px;
  background: #1b1c1e; color: #d4d4d8;
  border-bottom: 1px solid #2d2e32;
  font-size: 12.5px;
  font-family: "Inter", system-ui, sans-serif;
}
.pbar button {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 28px; min-width: 28px; padding: 0 8px;
  border: 0; border-radius: 7px; background: transparent; color: #a1a1aa;
}
.pbar button:hover { background: #2a2b2f; color: #fafafa; }
.pbar button:focus-visible { outline: 2px solid #00c978; outline-offset: 1px; }
.purl {
  flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px;
  height: 28px; padding: 0 12px; border-radius: 999px;
  background: #0e0f10; color: #e4e4e7; white-space: nowrap; overflow: hidden;
}
.purl .host { color: #fafafa; font-weight: 600; }
.purl .path { color: #8b8b93; overflow: hidden; text-overflow: ellipsis; }
.purl svg { color: #71717a; }
.pstep { color: #8b8b93; white-space: nowrap; }
.pbar .ppanel { color: #fafafa; background: #2a2b2f; font-weight: 600; }
body.is-embed .pbar { display: none; }
@media (max-width: 640px) { .pstep, .pbar .pnav { display: none !important; } }

/* ---------- Botões (API OPB: 30/36/42, raios 8/9/10) ---------- */
.btn {
  --h: 36px; --r: 9px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: var(--h); padding: 0 14px; border-radius: var(--r);
  border: 1px solid transparent; background: var(--action); color: var(--action-ink);
  font-weight: 600; font-size: 14px; line-height: 1; text-decoration: none; white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn:hover { background: var(--action-hover); }
.btn-lg { --h: 46px; --r: 10px; padding: 0 20px; font-size: 15px; }
.btn-sm { --h: 30px; --r: 8px; padding: 0 11px; font-size: 13px; }
.btn-brand { background: var(--brand); color: var(--brand-ink); }
.btn-brand:hover { background: var(--brand-hover); }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--border-strong); }
.btn-ghost:hover { background: var(--surface-3); }
.btn-quiet { background: transparent; color: var(--text-2); }
.btn-quiet:hover { background: var(--surface-3); color: var(--text); }
.btn[disabled], .btn.is-loading { opacity: .6; pointer-events: none; }
.btn .spin { width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: spin .7s linear infinite; }
.btn-block { width: 100%; }
@keyframes spin { to { transform: rotate(360deg); } }
.link { color: var(--brand); text-decoration: none; font-weight: 600; }
.link:hover { text-decoration: underline; }

/* ---------- Chips e rótulos ---------- */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase;
  color: color-mix(in srgb, var(--brand) 70%, var(--text));
}
.tier {
  display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 6px;
  font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 10.5px; font-weight: 700; letter-spacing: .06em;
  border: 1px solid var(--border-strong); color: var(--text-2); background: var(--surface-2);
}
.tier-plus { color: var(--plus); background: var(--plus-bg); border-color: transparent; }
.tier-pro { color: var(--pro); background: var(--pro-bg); border-color: transparent; }
.pill {
  display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px;
  border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text-2); font-size: 12.5px; font-weight: 500;
}
.dot { width: 7px; height: 7px; border-radius: 50%; background: var(--text-3); flex: none; }
.dot.live { background: var(--up); box-shadow: 0 0 0 0 var(--up-flash); animation: pulse 2s infinite; }
.dot.pre { background: var(--warn); }
.dot.closed { background: var(--text-3); }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 var(--up-flash); } 70% { box-shadow: 0 0 0 7px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }

/* ---------- Header público ---------- */
.hdr {
  position: sticky; top: 40px; z-index: 100;
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter: saturate(160%) blur(18px); -webkit-backdrop-filter: saturate(160%) blur(18px);
  border-bottom: 1px solid var(--border);
}
body.is-embed .hdr { top: 0; }
.hdr-row { height: 62px; display: flex; align-items: center; gap: 20px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 700; letter-spacing: -0.01em; font-size: 16px; }
.brand img { width: 30px; height: 30px; border-radius: 7px; }
.nav { display: flex; gap: 2px; margin-inline: auto; }
.nav a { padding: 8px 12px; border-radius: 8px; text-decoration: none; color: var(--text-2); font-weight: 500; font-size: 14px; }
.nav a:hover { color: var(--text); background: var(--surface-3); }
.nav a[aria-current="page"] { color: var(--text); }
.hdr-actions { display: flex; align-items: center; gap: 8px; }
.icon-btn {
  display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 9px;
  border: 1px solid transparent; background: transparent; color: var(--text-2);
}
.icon-btn:hover { background: var(--surface-3); color: var(--text); }
.menu-btn { display: none; }
@media (max-width: 960px) {
  .nav { display: none; }
  .menu-btn { display: inline-grid; }
  .hdr-row { justify-content: space-between; }
}
@media (max-width: 520px) {
  .hdr .btn-login { display: none; }
  .brand span { font-size: 15px; }
}
.msheet {
  position: fixed; inset: 102px 0 auto 0; z-index: 99;
  background: var(--bg); border-bottom: 1px solid var(--border); padding: 12px 16px 20px;
  display: grid; gap: 2px;
}
body.is-embed .msheet { top: 62px; }
.msheet a { padding: 12px; border-radius: 10px; text-decoration: none; font-weight: 600; }
.msheet a:hover { background: var(--surface-3); }
.msheet .btn { margin-top: 10px; }

/* ---------- Faixa de cotações ---------- */
.tape { border-bottom: 1px solid var(--border); background: var(--bg-2); overflow: hidden; height: 38px; position: relative; }
.tape-track { display: flex; width: max-content; animation: tape 70s linear infinite; }
.tape:hover .tape-track { animation-play-state: paused; }
.tape-item {
  display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 18px;
  border-right: 1px solid var(--border); font-size: 12.5px; white-space: nowrap;
}
.tape-item b { font-weight: 600; color: var(--text); }
.tape-item .v { font-family: "JetBrains Mono", monospace; font-variant-numeric: tabular-nums; color: var(--text); }
.tape-item .p { font-family: "JetBrains Mono", monospace; font-variant-numeric: tabular-nums; font-size: 12px; }
@keyframes tape { to { transform: translateX(-50%); } }

/* ---------- Seções ---------- */
.sec { padding-block: 104px; position: relative; }
.sec-tight { padding-block: 72px; }
.sec-band { background: var(--bg-2); border-block: 1px solid var(--border); }
.sec-head { display: grid; gap: 14px; max-width: 720px; margin-bottom: 48px; }
.sec-head.center { margin-inline: auto; text-align: center; justify-items: center; }
.h1 {
  margin: 0; font-weight: 800; letter-spacing: -0.045em; line-height: 0.98;
  font-size: clamp(2.6rem, 6.4vw, 5.4rem); text-wrap: balance;
}
.h2 { margin: 0; font-weight: 750; letter-spacing: -0.035em; line-height: 1.05; font-size: clamp(2rem, 4vw, 3.1rem); text-wrap: balance; }
.h3 { margin: 0; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; font-size: 1.35rem; text-wrap: balance; }
.lead { margin: 0; color: var(--text-2); font-size: 1.12rem; line-height: 1.6; max-width: 62ch; text-wrap: pretty; }
.accent { color: var(--brand); }
@media (max-width: 640px) { .sec { padding-block: 72px; } .sec-head { margin-bottom: 32px; } }

/* ---------- Hero ---------- */
.hero { position: relative; padding-top: 72px; overflow: clip; }
.hero::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 700px; background: var(--glow); pointer-events: none; }
.hero-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: end; position: relative; z-index: 1; }
.hero-status { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.hero-copy { display: grid; gap: 22px; }
.hero-side { display: grid; gap: 22px; padding-bottom: 6px; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.proof { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--text-2); font-size: 13.5px; margin: 0; padding: 0; list-style: none; }
.proof li { display: inline-flex; align-items: center; gap: 7px; }
.proof svg { color: var(--brand); }
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border); padding-top: 18px; gap: 12px; }
.hero-stats div { display: grid; gap: 2px; }
.hero-stats b { font-size: 1.7rem; font-weight: 750; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.hero-stats span { color: var(--text-3); font-size: 12.5px; line-height: 1.35; }
.hero-frame-wrap { position: relative; z-index: 1; margin-top: 56px; }
@media (max-width: 960px) {
  .hero-top { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  .hero { padding-top: 48px; }
}

/* ---------- Moldura do app ---------- */
.frame {
  border-radius: 16px; overflow: hidden; background: var(--bg);
  box-shadow: var(--shadow-frame); position: relative;
}
.frame-bar {
  display: flex; align-items: center; gap: 12px; height: 36px; padding: 0 14px;
  background: var(--surface-2); border-bottom: 1px solid var(--border);
}
.frame-dots { display: flex; gap: 6px; }
.frame-dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--border-strong); }
.frame-url {
  margin-inline: auto; display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 12px; border-radius: 6px;
  background: var(--surface-3); color: var(--text-3); font-size: 11.5px; font-family: "JetBrains Mono", monospace;
}
.frame-fade { position: absolute; inset: auto 0 0 0; height: 120px; background: linear-gradient(transparent, var(--bg)); pointer-events: none; }

/* App (Terminal logado) */
.app { background: var(--bg); font-size: 13px; }
.app-top { display: flex; align-items: center; gap: 18px; height: 48px; padding: 0 16px; border-bottom: 1px solid var(--border); }
.app-top .brand { font-size: 13.5px; gap: 8px; }
.app-top .brand img { width: 22px; height: 22px; border-radius: 5px; }
.app-nav { display: flex; gap: 2px; }
.app-nav span { padding: 6px 10px; border-radius: 7px; color: var(--text-2); font-weight: 500; font-size: 12.5px; white-space: nowrap; }
.app-nav span.on { color: var(--text); background: var(--surface-3); }
.app-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.app-clock { font-family: "JetBrains Mono", monospace; font-size: 12px; color: var(--text-2); display: inline-flex; align-items: center; gap: 7px; }
.avatar { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--brand); color: var(--brand-ink); font-weight: 700; font-size: 12px; }
.app-tape { display: flex; gap: 0; border-bottom: 1px solid var(--border); overflow: hidden; }
.app-tape div { flex: 1 0 auto; padding: 7px 14px; border-right: 1px solid var(--border); display: grid; gap: 1px; min-width: 120px; }
.app-tape small { color: var(--text-3); font-size: 10.5px; font-weight: 600; letter-spacing: .04em; }
.app-tape span { font-family: "JetBrains Mono", monospace; font-size: 12px; font-variant-numeric: tabular-nums; display: flex; gap: 8px; }
.app-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 12px; align-items: start; }
.app-col { display: grid; gap: 12px; }
@media (max-width: 1080px) { .app-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .app-col.c3 { display: none; } .app-nav span:nth-child(n+4) { display: none; } }
@media (max-width: 720px) {
  .app-grid { grid-template-columns: 1fr; } .app-col.c2 { display: none; }
  .app-nav { display: none; } .app-tape div:nth-child(n+3) { display: none; }
}

/* Card de cotação (espelha .card_indices) */
.qcard { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); overflow: hidden; }
.qcard-h {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 9px 12px; border-bottom: 1px solid var(--border); font-weight: 600; font-size: 12.5px;
}
.media { font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 600; padding: 2px 6px; border-radius: 5px; }
.media.up { background: var(--up-bg); }
.media.down { background: var(--down-bg); }
.qtable { width: 100%; border-collapse: collapse; }
.qtable td { padding: 6px 12px; border-bottom: 1px solid var(--border); white-space: nowrap; font-size: 12.3px; }
.qtable tr:last-child td { border-bottom: 0; }
.qtable .n { display: flex; align-items: center; gap: 8px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; max-width: 170px; }
.qtable .n .fi { width: 16px; height: 12px; border-radius: 2px; flex: none; background-size: cover; }
.qtable .l, .qtable .t, .qtable .c { text-align: right; font-family: "JetBrains Mono", monospace; font-variant-numeric: tabular-nums; }
.qtable .l { font-weight: 600; transition: background-color .6s ease; border-radius: 4px; }
.qtable .c span { display: inline-block; min-width: 62px; padding: 1px 6px; border-radius: 5px; font-weight: 600; font-size: 11.5px; }
.qtable .c .up { background: var(--up-bg); }
.qtable .c .down { background: var(--down-bg); }
.qtable .c .flat { background: var(--surface-3); }
.qtable .t { color: var(--text-3); font-size: 11px; }
.qtable .st { width: 14px; padding-right: 0; }
.qtable tr.f-up .l { background: var(--up-flash); transition: none; }
.qtable tr.f-down .l { background: var(--down-flash); transition: none; }
.qtable tr.is-closed .l { color: var(--text-2); }
.skel { display: block; height: 10px; border-radius: 4px; background: linear-gradient(90deg, var(--surface-3), var(--surface-2), var(--surface-3)); background-size: 200% 100%; animation: shimmer 1.2s linear infinite; }
@keyframes shimmer { to { background-position: -200% 0; } }

/* Gauge sentimento */
.gauge { padding: 12px; display: grid; gap: 8px; }
.gauge svg { width: 100%; height: auto; }
.gauge-read { display: flex; justify-content: space-between; align-items: baseline; }
.gauge-read b { font-size: 26px; font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.gauge-hist { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.gauge-hist div { border: 1px solid var(--border); border-radius: 8px; padding: 6px 8px; display: grid; }
.gauge-hist small { color: var(--text-3); font-size: 10.5px; }
.gauge-hist b { font-family: "JetBrains Mono", monospace; font-size: 12.5px; }

/* Mini notícias */
.news-mini { display: grid; }
.news-mini a { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 9px 12px; border-bottom: 1px solid var(--border); text-decoration: none; }
.news-mini a:last-child { border-bottom: 0; }
.news-mini img { width: 22px; height: 22px; border-radius: 5px; background: #fff; object-fit: contain; }
.news-mini p { margin: 0; font-size: 12.3px; line-height: 1.35; font-weight: 500; }
.news-mini small { color: var(--text-3); font-size: 11px; font-family: "JetBrains Mono", monospace; }
.news-new { animation: newsIn .6s ease; }
@keyframes newsIn { from { background: var(--brand-soft); } to { background: transparent; } }

/* ---------- Fontes (marquee) ---------- */
.sources { padding-block: 40px; border-bottom: 1px solid var(--border); overflow: hidden; }
.sources-label { text-align: center; color: var(--text-3); font-size: 12.5px; margin-bottom: 20px; }
.sources-track { display: flex; gap: 12px; width: max-content; animation: tape 60s linear infinite; }
.src { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px 0 8px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); font-weight: 600; font-size: 13.5px; white-space: nowrap; }
.src img { width: 28px; height: 28px; border-radius: 7px; background: #fff; object-fit: contain; }
.sources-mask { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }

/* ---------- Relógio de sessões ---------- */
.sess-wrap { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); overflow: hidden; }
.sess-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 16px 20px; border-bottom: 1px solid var(--border); }
.sess-now { display: grid; gap: 2px; }
.sess-now b { font-family: "JetBrains Mono", monospace; font-size: 28px; font-weight: 700; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.sess-now small { color: var(--text-3); font-size: 12px; }
.sess-summary { display: flex; flex-wrap: wrap; gap: 8px; }
.sess-tz { margin-left: auto; }
.seg { display: inline-flex; padding: 3px; border-radius: 10px; background: var(--surface-3); border: 1px solid var(--border); }
.seg button { height: 30px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: var(--text-2); font-weight: 600; font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }
.seg button[aria-pressed="true"] { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(0,0,0,.2), 0 0 0 1px var(--border-strong); }
.seg button:disabled { opacity: .5; cursor: not-allowed; }
.sess-scroll { overflow-x: auto; }
.sess-grid { min-width: 760px; position: relative; padding: 8px 20px 14px; }
.sess-hours { display: grid; grid-template-columns: 170px 1fr; font-family: "JetBrains Mono", monospace; font-size: 10.5px; color: var(--text-3); height: 22px; align-items: end; }
.sess-hours .ticks { position: relative; height: 100%; }
.sess-hours .ticks span { position: absolute; bottom: 2px; transform: translateX(-50%); }
.sess-row { display: grid; grid-template-columns: 170px 1fr; align-items: center; height: 34px; }
.sess-name { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; min-width: 0; }
.sess-name .fi { width: 18px; height: 13px; border-radius: 2px; flex: none; }
.sess-name small { color: var(--text-3); font-weight: 500; font-family: "JetBrains Mono", monospace; font-size: 10.5px; }
.sess-name .dot { margin-left: auto; margin-right: 14px; }
.sess-track { position: relative; height: 14px; border-radius: 4px; background: var(--sess-track); }
.sess-track i { position: absolute; top: 0; bottom: 0; border-radius: 3px; }
.sess-track i.reg { background: var(--sess-reg); }
.sess-track i.pre { background: var(--sess-pre); }
.sess-track i.post { background: var(--sess-post); }
.sess-cursor { position: absolute; top: 22px; bottom: 10px; width: 2px; margin-left: -1px; background: var(--text); pointer-events: none; z-index: 2; }
.sess-cursor::before { content: attr(data-t); position: absolute; top: -20px; left: 50%; transform: translateX(-50%); background: var(--text); color: var(--bg); font-family: "JetBrains Mono", monospace; font-size: 10.5px; font-weight: 700; padding: 1px 6px; border-radius: 4px; white-space: nowrap; }
.sess-foot { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--border); }
.sess-range { flex: 1; min-width: 220px; display: flex; align-items: center; gap: 12px; }
.sess-range input { flex: 1; accent-color: var(--brand); }
.legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12.5px; color: var(--text-2); }
.legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend i { width: 14px; height: 8px; border-radius: 2px; display: inline-block; }
.sess-note { font-size: 12.5px; color: var(--text-3); }

.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
@media (max-width: 960px) { .split { grid-template-columns: 1fr; gap: 32px; } }
.checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.checks li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; color: var(--text-2); }
.checks li b { color: var(--text); font-weight: 600; }
.checks svg { color: var(--brand); margin-top: 4px; }

/* Focus */
.focus-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.focus-table th { text-align: left; color: var(--text-3); font-weight: 600; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 8px 10px; border-bottom: 1px solid var(--border); }
.focus-table td { padding: 10px; border-bottom: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.focus-table td.num { font-family: "JetBrains Mono", monospace; text-align: right; }
.focus-table th.num { text-align: right; }
.ai-box { margin-top: 14px; border: 1px solid var(--brand-line); background: var(--brand-soft); border-radius: 12px; padding: 14px; display: grid; gap: 8px; }
.ai-box header { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; }
.ai-box p { margin: 0; font-size: 13.2px; color: var(--text-2); }
.typing::after { content: "▍"; animation: blink 1s steps(1) infinite; color: var(--brand); }
@keyframes blink { 50% { opacity: 0; } }

/* Fed */
.fed { display: grid; gap: 10px; }
.fed-row { display: grid; grid-template-columns: 150px 1fr 48px; gap: 10px; align-items: center; font-size: 13px; }
.fed-bar { height: 10px; border-radius: 3px; background: var(--surface-3); overflow: hidden; }
.fed-bar i { display: block; height: 100%; background: var(--brand); border-radius: 3px; transition: width .8s ease; }
.fed-row b { font-family: "JetBrains Mono", monospace; text-align: right; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 720px) { .two { grid-template-columns: 1fr; } .fed-row { grid-template-columns: 110px 1fr 44px; } }

/* OB índices */
.obi { display: grid; gap: 8px; }
.obi-row { display: grid; grid-template-columns: 64px 1fr 90px 70px; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.obi-row code { font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: 13px; color: var(--brand); }
.obi-row p { margin: 0; font-size: 12.5px; color: var(--text-2); line-height: 1.35; }
.obi-row svg.spark { width: 90px; height: 30px; }
.obi-row b { font-family: "JetBrains Mono", monospace; font-size: 12.5px; text-align: right; }
@media (max-width: 720px) { .obi-row { grid-template-columns: 56px 1fr 60px; } .obi-row svg.spark { display: none; } }

/* Gráfico linha */
.chart { width: 100%; height: auto; display: block; }
.chart text { fill: var(--text-3); font-family: "JetBrains Mono", monospace; font-size: 10px; }
.chart .gl { stroke: var(--grid-line); }
.chart-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--text-2); margin-top: 8px; }
.chart-legend i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }

/* Notícias grandes */
.news-list { display: grid; }
.news-item { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: start; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.news-item img { width: 34px; height: 34px; border-radius: 8px; background: #fff; object-fit: contain; }
.news-item p { margin: 0; font-weight: 600; font-size: 13.5px; line-height: 1.35; }
.news-item small { color: var(--text-3); font-size: 11.5px; }
.news-item .mono { font-size: 11px; color: var(--text-3); }

/* ---------- Ecossistema ---------- */
.eco { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; background: var(--surface); }
.eco-card { padding: 28px; display: grid; gap: 14px; align-content: start; border-right: 1px solid var(--border); text-decoration: none; position: relative; transition: background-color .2s ease; }
.eco-card:last-child { border-right: 0; }
.eco-card:hover { background: var(--surface-2); }
.eco-card img { height: 36px; width: auto; }
.eco-step { font-family: "JetBrains Mono", monospace; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.eco-card p { margin: 0; color: var(--text-2); }
.eco-card .go { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13.5px; color: var(--brand); }
.eco-card.is-here::after { content: "Você está aqui"; position: absolute; top: 24px; right: 24px; font-size: 11px; font-weight: 600; color: var(--brand); border: 1px solid var(--brand-line); padding: 2px 8px; border-radius: 999px; }
.sso-line { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; color: var(--text-2); font-size: 13.5px; text-align: center; }
.eco-shot { margin-top: 28px; border-radius: 14px; overflow: hidden; border: 1px solid var(--border); position: relative; }
.eco-shot img { width: 100%; }
.eco-shot figcaption { position: absolute; left: 16px; bottom: 16px; font-size: 12px; padding: 6px 10px; border-radius: 8px; background: color-mix(in srgb, var(--bg) 85%, transparent); border: 1px solid var(--border); }
@media (max-width: 860px) { .eco { grid-template-columns: 1fr; } .eco-card { border-right: 0; border-bottom: 1px solid var(--border); } .eco-card:last-child { border-bottom: 0; } }

/* ---------- Comunidade ---------- */
.discord { border: 1px solid var(--border); border-radius: 16px; background: var(--surface); overflow: hidden; display: grid; grid-template-columns: 200px 1fr; min-height: 360px; box-shadow: var(--shadow-pop); }
.dc-side { background: var(--surface-2); border-right: 1px solid var(--border); padding: 12px 8px; display: grid; align-content: start; gap: 2px; font-size: 13px; }
.dc-side header { display: flex; align-items: center; gap: 8px; font-weight: 700; padding: 4px 8px 12px; border-bottom: 1px solid var(--border); margin-bottom: 8px; }
.dc-side header img { width: 20px; height: 20px; }
.dc-cat { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; color: var(--text-3); padding: 10px 8px 4px; text-transform: uppercase; }
.dc-ch { padding: 5px 8px; border-radius: 6px; color: var(--text-2); display: flex; align-items: center; gap: 6px; }
.dc-ch.on { background: var(--surface-3); color: var(--text); }
.dc-ch.lock { opacity: .7; }
.dc-main { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; }
.dc-main header { padding: 12px 16px; border-bottom: 1px solid var(--border); font-weight: 700; font-size: 14px; display: flex; gap: 6px; align-items: center; }
.dc-msgs { padding: 8px 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; overflow: hidden; }
.dc-msg { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 6px 16px; animation: newsIn .8s ease; }
.dc-av { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 13px; color: #fff; }
.dc-msg b { font-size: 13.5px; }
.dc-role { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 4px; margin-left: 6px; vertical-align: 1px; }
.dc-msg time { color: var(--text-3); font-size: 11px; margin-left: 6px; }
.dc-msg p { margin: 2px 0 0; font-size: 13.5px; color: var(--text-2); }
.dc-input { margin: 10px 16px 14px; height: 40px; border-radius: 10px; background: var(--surface-3); display: flex; align-items: center; padding: 0 14px; color: var(--text-3); font-size: 13px; }
@media (max-width: 720px) { .discord { grid-template-columns: 1fr; } .dc-side { display: none; } }

.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: s; }
.steps li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 16px 0; border-top: 1px solid var(--border); counter-increment: s; }
.steps li:first-child { border-top: 0; }
.steps li::before { content: counter(s); width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--border-strong); display: grid; place-items: center; font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: 13px; color: var(--brand); }
.steps b { display: block; font-weight: 650; }
.steps span { color: var(--text-2); font-size: 14px; }

/* ---------- Planos ---------- */
.bill { display: flex; justify-content: center; margin-bottom: 28px; }
.save {
  font-family: "JetBrains Mono", monospace; font-size: 10.5px; font-weight: 700; padding: 2px 6px; border-radius: 5px;
  background: var(--surface-3); color: var(--text-3); transition: all .2s ease;
}
.seg button[aria-pressed="true"] .save { background: var(--brand); color: var(--brand-ink); }
.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.plan { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); padding: 26px; display: flex; flex-direction: column; gap: 18px; position: relative; }
.plan.is-pro { border-color: var(--brand-line); background: linear-gradient(180deg, var(--brand-soft), var(--surface) 55%); }
.plan-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 22px; }
.plan-name { font-family: "JetBrains Mono", monospace; font-weight: 700; letter-spacing: .1em; font-size: 12.5px; }
.plan-badge { font-size: 11.5px; font-weight: 600; color: var(--brand); border: 1px solid var(--brand-line); padding: 2px 9px; border-radius: 999px; }
.plan-price { display: grid; gap: 4px; min-height: 104px; align-content: start; }
.plan-price .big { display: flex; align-items: baseline; gap: 6px; }
.plan-price .big b { font-size: 2.6rem; font-weight: 800; letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.plan-price .big span { color: var(--text-2); font-size: 14px; }
.plan-price small { color: var(--text-2); font-size: 13px; line-height: 1.45; }
.plan-price s { color: var(--text-3); }
.plan-desc { margin: 0; color: var(--text-2); font-size: 14px; min-height: 44px; }
.plan-list { list-style: none; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--border); display: grid; gap: 10px; font-size: 14px; }
.plan-list li { display: grid; grid-template-columns: 18px 1fr auto; gap: 10px; align-items: start; }
.plan-list svg { color: var(--brand); margin-top: 4px; }
.plan-list em { font-style: normal; font-family: "JetBrains Mono", monospace; font-size: 12px; color: var(--text); font-weight: 600; }
.plan-list .head { grid-template-columns: 1fr; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.plan .btn { margin-top: auto; }
.plans-note { text-align: center; color: var(--text-2); font-size: 13.5px; margin-top: 22px; }
.plan-skel { display: grid; gap: 12px; }
.plans-error { border: 1px dashed var(--border-strong); border-radius: 18px; padding: 40px; display: grid; justify-items: center; gap: 12px; text-align: center; }
@media (max-width: 960px) { .plans { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; } .plan-price, .plan-desc { min-height: 0; } }

/* Comparativo */
.cmp-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.cmp-tabs button { height: 36px; padding: 0 14px; border-radius: 9px; border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font-weight: 600; font-size: 13.5px; display: inline-flex; gap: 8px; align-items: center; }
.cmp-tabs button[aria-selected="true"] { color: var(--text); border-color: var(--text); }
.cmp-tabs small { font-family: "JetBrains Mono", monospace; font-size: 11px; color: var(--text-3); }
.cmp-scroll { border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.cmp { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.cmp thead th { position: sticky; top: var(--public-header-height, 63px); z-index: 3; background: var(--surface-2); padding: 14px 16px; text-align: center; font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .1em; border-bottom: 1px solid var(--border); }
.cmp thead th:first-child { text-align: left; border-top-left-radius: 16px; }
.cmp thead th:last-child { border-top-right-radius: 16px; color: var(--brand); }
body.is-embed .cmp thead th { top: 62px; }
.cmp td { padding: 12px 16px; border-bottom: 1px solid var(--border); text-align: center; }
.cmp td:first-child { text-align: left; }
.cmp tr.grp td { background: var(--bg-2); font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); padding-block: 10px; }
.cmp tbody tr:last-child td { border-bottom: 0; }
.cmp .yes { color: var(--brand); }
.cmp .no { color: var(--text-3); }
.cmp .val { font-family: "JetBrains Mono", monospace; font-size: 12.5px; font-weight: 600; }
.cmp td:last-child { background: color-mix(in srgb, var(--brand-soft) 60%, transparent); }
@media (max-width: 760px) {
  .cmp-scroll { overflow-x: auto; }
  .cmp { min-width: 620px; }
  .cmp thead th { position: static; }
  .cmp td:first-child, .cmp th:first-child { position: sticky; top: auto; left: 0; background: var(--surface); z-index: 2; min-width: 190px; }
  .cmp tr.grp td:first-child { background: var(--bg-2); }
}

/* ---------- Segurança ---------- */
.trust { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.trust a { border: 1px solid var(--border); border-radius: 12px; padding: 14px; display: grid; gap: 6px; text-decoration: none; background: var(--surface); }
.trust a:hover { border-color: var(--border-strong); }
.trust b { font-size: 13.5px; display: flex; align-items: center; gap: 8px; }
.trust span { font-size: 12.5px; color: var(--text-2); line-height: 1.4; }
.trust svg { color: var(--brand); }
@media (max-width: 960px) { .trust { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* ---------- FAQ ---------- */
.faq { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.faq details { border-bottom: 1px solid var(--border); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 14px; padding: 18px 0; font-weight: 600; font-size: 15px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary svg { color: var(--text-3); transition: transform .2s ease; margin-top: 4px; }
.faq details[open] summary svg { transform: rotate(45deg); color: var(--brand); }
.faq details p { margin: 0 0 18px; color: var(--text-2); font-size: 14.5px; max-width: 62ch; }
@media (max-width: 860px) { .faq { grid-template-columns: 1fr; } }

/* ---------- CTA final ---------- */
.final { position: relative; overflow: hidden; text-align: center; padding-block: 120px; border-top: 1px solid var(--border); }
.final::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 70% at 50% 100%, var(--brand-soft), transparent 70%); }
.final .wrap { display: grid; justify-items: center; gap: 22px; }
.final .h1 { font-size: clamp(2.4rem, 5.2vw, 4.4rem); }

/* ---------- Footer ---------- */
.foot { border-top: 1px solid var(--border); padding-block: 56px 32px; background: var(--bg); }
.foot-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; }
.foot h4 { margin: 0 0 12px; font-family: "JetBrains Mono", monospace; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); font-weight: 600; }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.foot a { text-decoration: none; color: var(--text-2); font-size: 14px; }
.foot a:hover { color: var(--text); }
.foot p { color: var(--text-2); font-size: 14px; margin: 12px 0 0; max-width: 36ch; }
.foot-risk { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; color: var(--text-3); font-size: 12.5px; }
.foot-risk p { margin: 0; max-width: 90ch; color: var(--text-3); font-size: 12.5px; }
.status-link { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 860px) { .foot-grid { grid-template-columns: 1fr 1fr; } .foot-grid > :first-child { grid-column: 1 / -1; } }

/* ---------- Formulários ---------- */
.field { display: grid; gap: 7px; }
.field label { font-weight: 600; font-size: 13.5px; }
.field .hint { color: var(--text-3); font-size: 12.5px; }
.input {
  height: 50px; border-radius: 12px; border: 1px solid var(--border-strong); background: var(--surface);
  padding: 0 14px; width: 100%; font-size: 15px; color: var(--text); transition: border-color .15s ease, box-shadow .15s ease;
}
textarea.input { height: auto; min-height: 132px; padding: 12px 14px; resize: vertical; line-height: 1.5; }
.input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.input[aria-invalid="true"] { border-color: var(--down); }
.input-icon { position: relative; }
.input-icon svg.lucide { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: var(--text-3); }
.input-icon .input { padding-left: 42px; }
.err { color: var(--down); font-size: 13px; display: flex; gap: 6px; align-items: center; }
.ok { color: var(--up); font-size: 13px; display: flex; gap: 6px; align-items: center; }
.otp { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.otp input { height: 56px; text-align: center; font-family: "JetBrains Mono", monospace; font-size: 22px; font-weight: 700; padding: 0; }
.or { display: flex; align-items: center; gap: 12px; color: var(--text-3); font-size: 12.5px; }
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.gbtn { background: var(--surface); color: var(--text); border: 1px solid var(--border-strong); }
.gbtn:hover { background: var(--surface-3); }
.gbtn svg { width: 18px; height: 18px; }
.check { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-size: 14px; color: var(--text-2); }
.check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--brand); }

/* ---------- Modal ---------- */
.modal-scrim { position: fixed; inset: 0; z-index: 200; background: var(--scrim); backdrop-filter: blur(6px); display: grid; place-items: center; padding: 16px; animation: fade .2s ease; }
.modal { width: 100%; max-width: 440px; background: var(--bg); border: 1px solid var(--border-strong); border-radius: 18px; padding: 28px; display: grid; gap: 18px; box-shadow: var(--shadow-pop); position: relative; animation: rise .25s ease; max-height: calc(100vh - 32px); overflow: auto; }
.modal-x { position: absolute; top: 14px; right: 14px; }
.modal h2 { margin: 0; font-size: 1.4rem; letter-spacing: -0.02em; }
.modal .sub { margin: -8px 0 0; color: var(--text-2); font-size: 14px; }
@keyframes fade { from { opacity: 0; } }
@keyframes rise { from { opacity: 0; transform: translateY(10px) scale(.98); } }

/* ---------- Toast ---------- */
.toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 300; background: var(--text); color: var(--bg); padding: 12px 18px; border-radius: 12px; font-weight: 600; font-size: 14px; display: flex; align-items: center; gap: 10px; box-shadow: var(--shadow-pop); animation: rise .25s ease; max-width: calc(100vw - 32px); }

/* ---------- Painel do protótipo ---------- */
.panel { position: fixed; top: 40px; right: 0; bottom: 0; width: 360px; max-width: 100vw; z-index: 150; background: #121314; color: #e4e4e7; border-left: 1px solid #2d2e32; overflow: auto; padding: 20px; display: grid; align-content: start; gap: 22px; font-size: 13.5px; font-family: "Inter", system-ui, sans-serif; box-shadow: -30px 0 60px rgba(0,0,0,.4); }
.panel h3 { margin: 0 0 10px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #8b8b93; font-family: "JetBrains Mono", monospace; }
.panel .pseg { display: flex; background: #1e1f22; border-radius: 9px; padding: 3px; }
.panel .pseg button { flex: 1; height: 30px; border: 0; border-radius: 7px; background: transparent; color: #a1a1aa; font-weight: 600; }
.panel .pseg button[aria-pressed="true"] { background: #2e3035; color: #fff; }
.panel label.pchk { display: grid; grid-template-columns: 18px 1fr; gap: 10px; padding: 6px 0; color: #d4d4d8; }
.panel label.pchk input { accent-color: #00c978; margin-top: 3px; }
.panel label.pchk small { display: block; color: #8b8b93; }
.panel .plinks { display: grid; gap: 2px; }
.panel .plinks a { padding: 7px 10px; border-radius: 8px; text-decoration: none; color: #d4d4d8; display: flex; justify-content: space-between; }
.panel .plinks a:hover { background: #1e1f22; }
.panel .plinks code { color: #71717a; font-size: 11.5px; }
.panel table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.panel td { padding: 6px 0; border-bottom: 1px solid #25262a; vertical-align: top; }
.panel td:first-child { font-family: "JetBrains Mono", monospace; color: #fff; padding-right: 10px; white-space: nowrap; }
.panel td:last-child { color: #a1a1aa; }
.panel ul.chg { margin: 0; padding-left: 18px; display: grid; gap: 6px; color: #c4c4c8; }
.panel .pbtn { width: 100%; height: 36px; border-radius: 9px; border: 1px solid #34363b; background: #1e1f22; color: #fafafa; font-weight: 600; display: inline-flex; gap: 8px; align-items: center; justify-content: center; }
.panel .pbtn:hover { background: #2a2b2f; }
.panel select { width: 100%; height: 34px; border-radius: 8px; background: #1e1f22; border: 1px solid #34363b; color: #fafafa; padding: 0 10px; }

.phone-scrim { position: fixed; inset: 40px 0 0 0; z-index: 160; background: rgba(0,0,0,.8); display: grid; place-items: center; padding: 20px; }
.phone { width: 390px; height: min(844px, calc(100vh - 100px)); border-radius: 44px; border: 10px solid #1f2023; background: #000; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.6); position: relative; }
.phone iframe { width: 100%; height: 100%; border: 0; display: block; }
.phone-close { position: absolute; top: 56px; right: 24px; }

/* ---------- Páginas internas ---------- */
.page-hero { padding-block: 72px 40px; position: relative; overflow: clip; }
.page-hero::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 420px; background: var(--glow); pointer-events: none; z-index: -1; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--text-3); font-size: 13px; margin-bottom: 18px; }
.crumbs a { text-decoration: none; color: var(--text-2); }
.crumbs a:hover { color: var(--text); }

.help-search { position: relative; max-width: 640px; margin-top: 24px; }
.help-search .input { height: 58px; font-size: 16px; padding-left: 50px; border-radius: 14px; }
.help-search > svg.lucide { position: absolute; left: 18px; top: 29px; transform: translateY(-50%); color: var(--text-3); width: 20px; height: 20px; }
.help-results { position: absolute; left: 0; right: 0; top: 64px; z-index: 20; background: var(--bg); border: 1px solid var(--border-strong); border-radius: 14px; box-shadow: var(--shadow-pop); overflow: hidden; }
.help-results a { display: grid; gap: 2px; padding: 12px 16px; border-bottom: 1px solid var(--border); text-decoration: none; }
.help-results a:last-child { border-bottom: 0; }
.help-results a:hover, .help-results a.is-active { background: var(--surface-2); }
.help-results small { color: var(--text-3); font-size: 12px; }
.help-results mark { background: var(--brand-soft); color: var(--brand); border-radius: 3px; padding: 0 2px; }
.help-results .empty { padding: 18px 16px; color: var(--text-2); font-size: 14px; }
.topics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.topic { border: 1px solid var(--border); border-radius: 14px; background: var(--surface); padding: 18px; display: grid; gap: 10px; text-decoration: none; align-content: start; }
.topic:hover { border-color: var(--border-strong); background: var(--surface-2); }
.topic .ic { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--brand-soft); color: var(--brand); }
.topic b { font-size: 15px; }
.topic small { color: var(--text-3); font-family: "JetBrains Mono", monospace; font-size: 11.5px; }
@media (max-width: 860px) { .topics { grid-template-columns: 1fr 1fr; } }
.art-list { display: grid; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; background: var(--surface); }
.art-list a { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 14px 18px; border-bottom: 1px solid var(--border); text-decoration: none; align-items: center; }
.art-list a:last-child { border-bottom: 0; }
.art-list a:hover { background: var(--surface-2); }
.art-list b { font-weight: 600; font-size: 14.5px; }
.art-list span { grid-column: 1; color: var(--text-2); font-size: 13px; }
.art-list svg { grid-column: 2; grid-row: 1 / span 2; color: var(--text-3); }
.help-cols { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px; align-items: start; }
@media (max-width: 860px) { .help-cols { grid-template-columns: 1fr; } }
.side-card { border: 1px solid var(--border); border-radius: 16px; background: var(--surface); padding: 22px; display: grid; gap: 12px; }
.side-card p { margin: 0; color: var(--text-2); font-size: 14px; }
.article { max-width: 68ch; }
.article h1 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); letter-spacing: -0.03em; line-height: 1.1; margin: 0 0 12px; text-wrap: balance; }
.article .meta { color: var(--text-3); font-size: 13px; margin-bottom: 28px; display: flex; gap: 16px; flex-wrap: wrap; }
.article h2 { font-size: 1.2rem; margin: 32px 0 10px; letter-spacing: -0.01em; }
.article p, .article li { color: var(--text-2); font-size: 16px; line-height: 1.7; }
.article ol, .article ul { padding-left: 22px; display: grid; gap: 6px; }
.callout { border: 1px solid var(--border); border-left: 3px solid var(--brand); background: var(--surface); padding: 14px 16px; border-radius: 10px; margin: 20px 0; font-size: 14.5px; color: var(--text-2); }
.helpful { margin-top: 40px; border-top: 1px solid var(--border); padding-top: 22px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* Suporte */
.wizard { max-width: 760px; }
.wiz-step { font-family: "JetBrains Mono", monospace; font-size: 12px; color: var(--text-3); letter-spacing: .08em; text-transform: uppercase; }
.wiz-bar { height: 3px; border-radius: 3px; background: var(--border); overflow: hidden; margin: 10px 0 28px; }
.wiz-bar i { display: block; height: 100%; background: var(--brand); transition: width .3s ease; }
.cats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.cat { text-align: left; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); padding: 16px; display: grid; gap: 8px; color: var(--text); }
.cat:hover { border-color: var(--border-strong); background: var(--surface-2); }
.cat[aria-pressed="true"] { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.cat svg.lucide { color: var(--brand); width: 20px; height: 20px; }
.cat b { font-size: 14.5px; }
.cat span { color: var(--text-2); font-size: 13px; line-height: 1.4; }
@media (max-width: 760px) { .cats { grid-template-columns: 1fr 1fr; } }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }
.drop { border: 1.5px dashed var(--border-strong); border-radius: 14px; padding: 22px; display: grid; justify-items: center; gap: 6px; text-align: center; color: var(--text-2); font-size: 14px; background: var(--surface); cursor: pointer; }
.drop.is-over { border-color: var(--brand); background: var(--brand-soft); }
.thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.thumb { position: relative; width: 84px; height: 64px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.thumb button { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; border-radius: 6px; border: 0; background: rgba(0,0,0,.7); color: #fff; display: grid; place-items: center; }
.done-card { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); padding: 32px; display: grid; gap: 16px; max-width: 620px; }
.done-ic { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: var(--brand-soft); color: var(--brand); }
.done-ic svg { width: 26px; height: 26px; }
.proto-num { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--surface-3); font-family: "JetBrains Mono", monospace; font-size: 18px; font-weight: 700; }
.proto-num button { margin-left: auto; }
.timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.timeline li { display: grid; grid-template-columns: 20px 1fr; gap: 14px; padding-bottom: 20px; position: relative; }
.timeline li::before { content: ""; position: absolute; left: 9px; top: 20px; bottom: 0; width: 2px; background: var(--border); }
.timeline li:last-child::before { display: none; }
.timeline .tl-dot { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--border-strong); background: var(--bg); position: relative; z-index: 1; }
.timeline li.done .tl-dot { background: var(--brand); border-color: var(--brand); }
.timeline li.now .tl-dot { border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }
.timeline b { display: block; font-size: 14.5px; }
.timeline small { color: var(--text-3); font-size: 12.5px; }
.timeline p { margin: 4px 0 0; color: var(--text-2); font-size: 14px; }

/* Cadastro (split) */
.auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100vh - 40px); }
body.is-embed .auth { min-height: 100vh; }
.auth-side { position: relative; overflow: hidden; background: var(--bg-2); border-right: 1px solid var(--border); padding: 40px; display: grid; grid-template-rows: auto 1fr auto; gap: 24px; }
.auth-side::before { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 50% at 20% 100%, var(--brand-soft), transparent 70%); pointer-events: none; }
.auth-side > * { position: relative; }
.auth-quote { align-self: center; display: grid; gap: 14px; max-width: 460px; }
.auth-quote blockquote { margin: 0; font-size: 1.7rem; line-height: 1.25; font-weight: 700; letter-spacing: -0.025em; text-wrap: balance; }
.auth-quote cite { font-style: normal; font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--brand); }
.auth-mini { display: grid; gap: 8px; max-width: 420px; }
.auth-main { display: grid; place-items: center; padding: 40px 24px; }
.auth-box { width: 100%; max-width: 420px; display: grid; gap: 20px; }
.auth-box h1 { margin: 0; font-size: 1.9rem; letter-spacing: -0.03em; line-height: 1.1; }
.auth-box .sub { margin: -10px 0 0; color: var(--text-2); }
.intent { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--brand-line); background: var(--brand-soft); border-radius: 12px; font-size: 13.5px; }
.intent img { width: 28px; height: 28px; border-radius: 7px; }
.auth-steps { display: flex; gap: 6px; }
.auth-steps i { flex: 1; height: 3px; border-radius: 3px; background: var(--border); }
.auth-steps i.on { background: var(--brand); }
.q-opts { display: grid; gap: 8px; }
.q-opt { text-align: left; border: 1px solid var(--border-strong); background: var(--surface); border-radius: 12px; padding: 12px 14px; font-weight: 500; color: var(--text); }
.q-opt[aria-pressed="true"] { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
@media (max-width: 900px) { .auth { grid-template-columns: 1fr; } .auth-side { display: none; } }

/* App logado full */
.app-page { padding: 0; }
.welcome { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 12px; padding: 14px 16px; border: 1px solid var(--brand-line); background: var(--brand-soft); border-radius: 12px; }
.welcome b { font-size: 14.5px; }
.welcome span { color: var(--text-2); font-size: 13.5px; }
.welcome .btn { margin-left: auto; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .tape-track, .sources-track { animation: none !important; }
}

/* ---------- Ajustes ---------- */
.cta-short { display: none; }
@media (max-width: 520px) { .cta-long { display: none; } .cta-short { display: inline; } .theme-btn { display: none; } }
@media (max-width: 400px) { .hdr .brand span { display: none; } }
.tour-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 32px; align-items: start; }
@media (max-width: 1100px) { .tour-grid { grid-template-columns: 1fr; gap: 20px; } }
.qcard { container-type: inline-size; }
@container (max-width: 330px) { .qtable .t { display: none; } .qtable .n { max-width: 130px; } }
.mock .two { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.qtable td { padding: 6px 9px; }
.qtable td:first-child { padding-left: 12px; }
.qtable td:last-child { padding-right: 12px; }
.qtable .n { max-width: 150px; }
.qtable .n > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.qtable .c span { min-width: 58px; }
@container (max-width: 380px) { .qtable .t { display: none; } }
.sess-row { height: 40px; }
.sess-name > span:nth-child(2) { line-height: 1.2; }
.dc-main header { white-space: nowrap; overflow: hidden; }
.dc-main header .muted { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) { .frame-url { display: none; } .frame-bar .tier { margin-left: auto !important; } }
.sess-name { position: sticky; left: 0; z-index: 3; background: var(--surface); height: 100%; }

/* =====================================================================
   Rodada 2 · home refeita
   ===================================================================== */
.wrap { max-width: 1280px; }
.wrap-wide { max-width: 1440px; }
@media (min-width: 1800px) { .wrap { max-width: 1400px; } .wrap-wide { max-width: 1600px; } }
.sec-head.center { max-width: 780px; }
.sec-head.center .lead { margin-inline: auto; text-align: center; }

/* Hero centralizada */
.hero { padding-top: clamp(36px, 5vw, 64px); padding-bottom: 8px; }
.hero-inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; position: relative; z-index: 1; }
.hero .h1 { font-size: clamp(2.7rem, 7.2vw, 6rem); }
.hero-lead { text-align: center; max-width: 60ch; font-size: clamp(1.02rem, 1.4vw, 1.2rem); }
.hero .hero-ctas { justify-content: center; }
.hero .proof { justify-content: center; }
.hero-pill { height: auto; min-height: 30px; padding: 5px 12px; flex-wrap: wrap; justify-content: center; text-align: center; }
.hero-frame-wrap { margin-top: clamp(36px, 5vw, 64px); position: relative; z-index: 1; }
@media (max-width: 520px) { .hero-ctas .btn { flex: 1 1 100%; } .hero .proof { flex-direction: column; align-items: center; gap: 6px; } }

/* Moldura + telas reais */
.frame-spacer { width: 60px; }
.frame-bar .tier { margin-left: 0; }
.tlive { position: relative; overflow: hidden; background: var(--bg); min-height: 240px; }
.tlive iframe { position: absolute; top: 0; left: 0; border: 0; transform-origin: 0 0; background: var(--bg); opacity: 0; transition: opacity .35s ease; }
.tlive.is-ready iframe { opacity: 1; }
.live-skel { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 12px; color: var(--text-3); font-size: 13px; }
.live-skel .spin, .mc-state .spin { width: 22px; height: 22px; border: 2px solid var(--border-strong); border-right-color: var(--brand); border-radius: 50%; animation: spin .8s linear infinite; }
.tlive.is-ready .live-skel { display: none; }
.live-off { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; text-align: center; padding: 24px; color: var(--text-2); font-size: 14px; }
.live-off svg { width: 26px; height: 26px; color: var(--text-3); }
.live-off code { font-family: "JetBrains Mono", monospace; color: var(--text); }
.tlive[data-interactive] iframe { pointer-events: auto; }
.tlive:not([data-interactive]) iframe { pointer-events: none; }

/* Relógio */
.mc-switch { display: flex; justify-content: center; margin-bottom: 20px; }
.seg-lg button { height: 38px; padding: 0 16px; font-size: 14px; }
.seg-lg svg.lucide { width: 16px; height: 16px; }
.mc-state { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 260px; color: var(--text-2); font-size: 14px; flex-wrap: wrap; }
.sess-row, .sess-hours { grid-template-columns: 190px 1fr; }
.sess-name b { font-size: 13px; }
.sess-name small { font-family: "Inter", sans-serif; font-size: 11px; color: var(--text-3); display: inline-block; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: top; }
.sess-grid { min-width: 820px; }
.feature-row { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.feature-row li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--text-2); font-size: 14.5px; }
.feature-row b { color: var(--text); font-weight: 600; }
.feature-row svg { color: var(--brand); margin-top: 3px; }
@media (max-width: 860px) { .feature-row { grid-template-columns: 1fr; } }

/* Tour */
.tour { display: grid; gap: 22px; }
.tour-tabs { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.tour-tab { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font-weight: 600; font-size: 14px; white-space: nowrap; }
.tour-tab svg.lucide { width: 16px; height: 16px; }
.tour-tab:hover { color: var(--text); border-color: var(--border-strong); }
.tour-tab[aria-selected="true"] { color: var(--action-ink); background: var(--action); border-color: var(--action); }
@media (max-width: 900px) {
  .tour-tabs { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 2px 16px 8px; scrollbar-width: none; }
  .tour-tabs::-webkit-scrollbar { display: none; }
}
.tour-panel { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; animation: panelIn .35s ease; }
.tour-panel[hidden] { display: none; }
.tour-copy { display: grid; gap: 14px; position: sticky; top: 130px; }
.tour-copy-head { display: grid; gap: 10px; justify-items: start; }
.tour-copy p { margin: 0; color: var(--text-2); }
.tour-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tour-points li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; font-size: 14.5px; text-align: left; }
.tour-points svg { color: var(--brand); margin-top: 4px; }
@keyframes panelIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 1100px) {
  .tour-panel { grid-template-columns: 1fr; gap: 18px; }
  .tour-copy { position: static; text-align: center; justify-items: center; }
  .tour-copy-head { justify-items: center; }
  .tour-points { justify-items: start; margin-inline: auto; }
}

/* Ecossistema */
.eco-card img { height: 40px; width: 40px; border-radius: 9px; }
.eco-card.is-here::after { content: none; }
.eco-here { display: inline-flex; width: max-content; font-size: 12px; font-weight: 600; color: var(--brand); border: 1px solid var(--brand-line); padding: 3px 10px; border-radius: 999px; }

/* Discord: paleta do próprio cliente, igual nos dois temas */
.dcx {
  --d-rail: #1e1f22; --d-side: #2b2d31; --d-main: #313338; --d-hover: #35373c; --d-sel: #404249; --d-line: #3f4147;
  --d-text: #dbdee1; --d-muted: #949ba4; --d-head: #f2f3f5; --d-input: #383a40;
  display: grid; grid-template-columns: 72px 240px minmax(0, 1fr) 232px; height: 520px;
  border-radius: 14px; overflow: hidden; background: var(--d-main); color: var(--d-text);
  box-shadow: var(--shadow-frame); font-family: "Inter", "gg sans", "Noto Sans", sans-serif; font-size: 14px; text-align: left;
}
.dcx svg.lucide { width: 18px; height: 18px; }
.dcx-rail { background: var(--d-rail); display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 0; }
.dcx-rail > span { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--d-main); position: relative; }
.dcx-home { background: #5865f2 !important; border-radius: 16px !important; }
.dcx-home img { width: 26px; filter: brightness(0) invert(1); }
.dcx-sep { width: 32px !important; height: 2px !important; border-radius: 1px !important; background: var(--d-line) !important; }
.dcx-server img { width: 48px; height: 48px; border-radius: 16px; object-fit: cover; }
.dcx-server.on::before { content: ""; position: absolute; left: -12px; top: 4px; width: 4px; height: 40px; border-radius: 0 4px 4px 0; background: #fff; }
.dcx-add { color: #23a559; font-size: 24px; font-weight: 300; }
.dcx-side { background: var(--d-side); display: grid; grid-template-rows: auto 1fr auto; min-height: 0; }
.dcx-guild { height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; font-weight: 700; color: var(--d-head); border-bottom: 1px solid #1f2023; box-shadow: 0 1px 0 rgba(0,0,0,.2); }
.dcx-chs { overflow: hidden; padding: 8px 8px 0; }
.dcx-cat { display: flex; align-items: center; gap: 2px; padding: 16px 4px 4px; color: var(--d-muted); font-size: 12px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.dcx-cat svg.lucide { width: 12px; height: 12px; }
.dcx-ch { display: flex; align-items: center; gap: 6px; height: 32px; padding: 0 8px; border-radius: 4px; color: var(--d-muted); font-weight: 500; }
.dcx-ch svg.lucide { width: 18px; height: 18px; opacity: .8; }
.dcx-ch:hover { background: var(--d-hover); color: var(--d-text); }
.dcx-ch.on { background: var(--d-sel); color: #fff; }
.dcx-emoji { font-size: 14px; }
.dcx-ch svg.dcx-lock { margin-left: auto; width: 12px; height: 12px; }
.dcx-me { display: grid; grid-template-columns: 32px 1fr auto auto auto; align-items: center; gap: 8px; height: 52px; padding: 0 8px; background: #232428; color: var(--d-muted); }
.dcx-me b { display: block; color: var(--d-head); font-size: 13.5px; line-height: 1.2; }
.dcx-me small { font-size: 12px; }
.dcx-av { position: relative; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; color: #fff; flex: none; }
.dcx-av img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.dcx-av.sm { width: 32px; height: 32px; font-size: 13px; }
.dcx-st { position: absolute; right: -2px; bottom: -2px; width: 12px; height: 12px; border-radius: 50%; background: #23a559; border: 3px solid var(--d-side); }
.dcx-main { display: grid; grid-template-rows: 48px 1fr auto; min-width: 0; min-height: 0; }
.dcx-top { display: flex; align-items: center; gap: 8px; padding: 0 16px; border-bottom: 1px solid #26272b; box-shadow: 0 1px 0 rgba(0,0,0,.2); color: var(--d-head); min-width: 0; }
.dcx-top svg.lucide { color: var(--d-muted); flex: none; }
.dcx-top b { white-space: nowrap; }
.dcx-topic { color: var(--d-muted); font-size: 13px; border-left: 1px solid var(--d-line); padding-left: 10px; margin-left: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.dcx-tools { margin-left: auto; display: flex; gap: 14px; color: var(--d-muted); }
.dcx-msgs { overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; padding: 8px 0 12px; min-height: 0; }
.dcx-day { display: flex; align-items: center; gap: 8px; margin: 8px 16px; color: var(--d-muted); font-size: 12px; font-weight: 600; }
.dcx-day::before, .dcx-day::after { content: ""; flex: 1; height: 1px; background: var(--d-line); }
.dcx-msg { display: grid; grid-template-columns: 40px 1fr; gap: 16px; padding: 4px 16px; margin-top: 12px; animation: newsIn .8s ease; }
.dcx-msg:hover { background: #2e3035; }
.dcx-meta { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.dcx-meta b { font-weight: 600; }
.dcx-meta time { color: var(--d-muted); font-size: 12px; }
.dcx-app { background: #5865f2; color: #fff; font-size: 10px; font-weight: 700; padding: 1px 5px; border-radius: 4px; }
.dcx-body p { margin: 2px 0 0; color: var(--d-text); line-height: 1.375; }
.dcx-mention, .dcx-channel { background: rgba(88, 101, 242, .3); color: #c9cdfb; padding: 0 2px; border-radius: 3px; font-weight: 500; }
.dcx-input { display: flex; align-items: center; gap: 12px; margin: 0 16px 20px; height: 44px; padding: 0 16px; border-radius: 8px; background: var(--d-input); color: #6d6f78; }
.dcx-plus { width: 24px; height: 24px; border-radius: 50%; background: #b5bac1; color: var(--d-input); display: grid; place-items: center; font-weight: 700; }
.dcx-in-tools { margin-left: auto; display: flex; gap: 14px; color: #b5bac1; }
.dcx-members { background: var(--d-side); padding: 12px 8px; overflow: hidden; }
.dcx-mcat { padding: 16px 8px 4px; color: var(--d-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.dcx-mcat:first-child { padding-top: 6px; }
.dcx-member { display: flex; align-items: center; gap: 12px; height: 42px; padding: 0 8px; border-radius: 4px; color: var(--d-muted); font-weight: 500; }
@media (max-width: 1180px) { .dcx { grid-template-columns: 72px 240px minmax(0, 1fr); } .dcx-members { display: none; } }
@media (max-width: 760px) { .dcx { grid-template-columns: minmax(0, 1fr); height: 480px; } .dcx-rail, .dcx-side { display: none; } .dcx-topic { display: none; } }
.comm-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; margin-top: 28px; align-items: stretch; }
.steps-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.steps-row li { border: 1px solid var(--border); border-radius: 14px; padding: 18px; background: var(--surface); grid-template-columns: 1fr; gap: 12px; }
.steps-row li:first-child { border-top: 1px solid var(--border); }
.gami { border: 1px solid var(--border); border-radius: 14px; padding: 18px; background: var(--surface); display: grid; gap: 8px; align-content: start; }
.gami-label { font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--text-3); }
.gami-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 6px; }
.gami-stats div { border: 1px solid var(--border); border-radius: 10px; padding: 10px; display: grid; gap: 2px; text-align: center; }
.gami-stats strong { color: var(--brand); font-size: 18px; }
.gami-stats span { color: var(--text-3); font-size: 12px; }
.center-cta { display: flex; justify-content: center; margin-top: 28px; }
@media (max-width: 1000px) { .comm-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .steps-row { grid-template-columns: 1fr; } }

/* Seletor oficial de periodicidade (.plans-billing em app.css e _plans_style.php) */
.plans-billing { display: flex; justify-content: center; margin: 0 0 32px; }
.plans-billing-toggle { position: relative; overflow: visible; display: inline-grid; grid-template-columns: repeat(2, minmax(112px, 1fr)); padding: 4px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.plans-billing-option { min-height: 44px; padding: .55rem 1.25rem; border: 0; border-radius: 9px; background: transparent; color: var(--text-2); font-size: 14px; font-weight: 600; transition: background-color .15s ease, color .15s ease, box-shadow .15s ease; }
.plans-billing-option:hover { color: var(--text); }
.plans-billing-option[aria-pressed="true"] { background: var(--brand); color: var(--brand-ink); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.plans-annual-discount { position: absolute; z-index: 3; top: -12px; right: -12px; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 22px; padding: 0 .55rem; overflow: hidden; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text-2); box-shadow: 0 1px 2px rgba(0, 0, 0, .2); font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: .02em; white-space: nowrap; isolation: isolate; transition: color .15s ease, border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.plans-annual-discount__label { position: relative; z-index: 1; }
.plans-annual-discount::after { content: ""; position: absolute; z-index: 0; top: -80%; bottom: -80%; left: -75%; width: 48%; transform: skewX(-16deg) translate3d(-240%, 0, 0); background: linear-gradient(105deg, transparent 0%, color-mix(in srgb, white 10%, transparent) 30%, color-mix(in srgb, white 78%, transparent) 50%, color-mix(in srgb, white 10%, transparent) 70%, transparent 100%); opacity: 0; pointer-events: none; }
.plans-billing[data-current-billing="yearly"] .plans-annual-discount { border-color: color-mix(in srgb, var(--brand) 72%, var(--border)); background: color-mix(in srgb, var(--brand) 22%, var(--surface)); color: var(--text); box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 24%, transparent), 0 0 16px color-mix(in srgb, var(--brand) 38%, transparent); }
.plans-billing[data-current-billing="yearly"] .plans-annual-discount::after { opacity: .82; animation: plans-annual-discount-sheen 3.6s linear infinite; }
@keyframes plans-annual-discount-sheen { from { transform: skewX(-16deg) translate3d(-240%, 0, 0); } to { transform: skewX(-16deg) translate3d(470%, 0, 0); } }
@media (max-width: 575.98px) { .plans-billing-toggle { width: min(100%, 320px); grid-template-columns: repeat(2, minmax(0, 1fr)); } .plans-annual-discount { right: -8px; } }
@media (prefers-reduced-motion: reduce) { .plans-annual-discount::after { animation: none; opacity: 0; } }

/* Segurança verificável */
.verify { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 28px; align-items: start; }
.verify-practices { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.verify-practices li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; }
.verify-practices li > svg.lucide { width: 40px; height: 40px; padding: 10px; border-radius: 11px; background: var(--brand-soft); color: var(--brand); }
.verify-practices b { display: block; font-size: 15px; margin-bottom: 2px; }
.verify-practices span { color: var(--text-2); font-size: 14px; }
.verify-list { border: 1px solid var(--border); border-radius: 16px; background: var(--surface); overflow: hidden; }
.verify-row { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 16px 18px; border-bottom: 1px solid var(--border); text-decoration: none; transition: background-color .15s ease; }
.verify-row:last-child { border-bottom: 0; }
.verify-row:hover { background: var(--surface-2); }
.verify-ic { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; border: 1px solid var(--border); color: var(--text-2); }
.verify-ic svg.lucide { width: 18px; height: 18px; }
.verify-txt b { display: block; font-size: 15px; }
.verify-txt span { color: var(--text-2); font-size: 13.5px; }
.verify-host { display: inline-flex; align-items: center; gap: 6px; color: var(--text-3); font-family: "JetBrains Mono", monospace; font-size: 12px; white-space: nowrap; }
.verify-go { display: inline-flex; align-items: center; gap: 4px; color: var(--brand); font-weight: 600; font-size: 13.5px; white-space: nowrap; }
.verify-go svg.lucide { width: 15px; height: 15px; }
@media (max-width: 1000px) { .verify { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .verify-row { grid-template-columns: 40px minmax(0, 1fr) auto; } .verify-host { display: none; } }

/* FAQ no padrão público oficial */
.pfaq-head { max-width: 760px; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.pfaq-eyebrow { display: inline-flex; margin-bottom: 8px; color: color-mix(in srgb, var(--brand) 65%, var(--text)); font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.pfaq-head h2 { margin: 0 0 8px; font-size: clamp(1.6rem, 3.4vw, 2.15rem); font-weight: 700; line-height: 1.18; letter-spacing: -.02em; }
.pfaq-head p { margin: 0; color: var(--text-2); }
.pfaq-acc { max-width: 880px; margin: 0 auto; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: var(--surface); }
.pfaq-item + .pfaq-item { border-top: 1px solid var(--border); }
.pfaq-item h3 { margin: 0; }
.pfaq-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border: 0; background: transparent; color: var(--text); font-size: 15.5px; font-weight: 600; text-align: left; }
.pfaq-btn:hover { background: var(--surface-2); }
.pfaq-btn:focus-visible { outline: none; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--brand) 42%, transparent); border-radius: 0; }
.pfaq-btn svg.lucide { width: 18px; height: 18px; color: var(--text-3); transition: transform .2s ease; flex: none; }
.pfaq-btn[aria-expanded="true"] svg.lucide { transform: rotate(180deg); }
.pfaq-body { padding: 0 20px 20px; }
.pfaq-body p { margin: 0; color: var(--text-2); font-size: 15px; line-height: 1.65; max-width: 72ch; }
.pfaq-more { text-align: center; color: var(--text-2); margin-top: 24px; }

/* Tela logada real */
.app-real { display: block; width: 100%; border: 0; background: var(--bg); }
.app-page .welcome { margin: 12px; }

/* =====================================================================
   Rodada 3
   ===================================================================== */

/* Pílula da hero como CTA */
.hero-cta-pill {
  position: relative; display: inline-flex; align-items: center; gap: 12px; max-width: 100%;
  padding: 6px 6px 6px 8px; border-radius: 999px; text-decoration: none;
  background: color-mix(in srgb, var(--surface) 85%, transparent);
  border: 1px solid var(--brand-line);
  box-shadow: 0 0 0 4px var(--brand-soft), 0 10px 30px -12px color-mix(in srgb, var(--brand) 55%, transparent);
  transition: transform .2s ease, box-shadow .2s ease; isolation: isolate; overflow: hidden;
}
.hero-cta-pill::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--brand) 18%, transparent) 50%, transparent 80%); transform: translateX(-100%); animation: pillSheen 4.5s ease-in-out infinite; }
@keyframes pillSheen { 60%, 100% { transform: translateX(100%); } }
.hero-cta-pill:hover { transform: translateY(-1px); box-shadow: 0 0 0 5px var(--brand-soft), 0 14px 34px -12px color-mix(in srgb, var(--brand) 70%, transparent); }
.hcp-live { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.hcp-text { color: var(--text); font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.hcp-go { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px; background: var(--brand); color: var(--brand-ink); font-size: 13px; font-weight: 700; white-space: nowrap; }
.hcp-go svg.lucide { width: 14px; height: 14px; transition: transform .2s ease; }
.hero-cta-pill:hover .hcp-go svg.lucide { transform: translateX(3px); }
@media (max-width: 560px) {
  .hero-cta-pill { flex-wrap: wrap; justify-content: center; border-radius: 18px; padding: 10px; gap: 8px; }
  .hcp-text { white-space: normal; text-align: center; flex: 1 1 100%; }
}

/* Prévia de canais no padrão de produção (community-public.css) */
.discord-frame { --community-discord: #5865f2; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #1a1b1e; box-shadow: var(--shadow-frame); width: 100%; max-width: 420px; justify-self: center; text-align: left; font-family: "Inter", sans-serif; }
.discord-titlebar { display: flex; align-items: center; gap: .5rem; padding: .75rem .9rem; border-bottom: 1px solid #2d2f34; background: #111214; color: #e3e5e8; font-size: .9rem; font-weight: 700; }
.discord-brand-icon { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 8px; background: var(--community-discord); }
.discord-brand-icon img { width: 15px; filter: brightness(0) invert(1); }
.discord-online { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; color: #9ea3ab; font-size: .74rem; font-weight: 600; }
.discord-channels { padding: .55rem .5rem .9rem; }
.discord-category { display: flex; gap: .35rem; align-items: center; padding: .8rem .55rem .3rem; color: #8a8f98; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.discord-channel { display: flex; align-items: center; gap: .5rem; min-height: 34px; padding: .3rem .6rem; border-radius: 6px; color: #aeb1b7; font-size: .9rem; transition: background-color .15s ease, color .15s ease; }
.discord-channel:hover { background: #26272b; color: #e3e5e8; }
.discord-channel--active { background: color-mix(in srgb, var(--community-discord) 26%, transparent); color: #fff; }
.discord-type-icon { width: 15px !important; height: 15px !important; color: #747982; flex: none; }
.discord-emoji { width: 1.2em; text-align: center; }
.discord-lock { margin-left: auto; width: 13px !important; height: 13px !important; color: #6d717a; }

/* Comunidade na home */
.cm-home { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.cm-home-copy { display: grid; gap: 20px; align-content: start; }
.cm-mini-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: s; }
.cm-mini-steps li { counter-increment: s; display: grid; grid-template-columns: 30px 1fr; column-gap: 12px; }
.cm-mini-steps li::before { content: counter(s); grid-row: span 2; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--brand-line); color: var(--brand); font-weight: 700; font-size: 13px; }
.cm-mini-steps b { font-weight: 650; }
.cm-mini-steps span { color: var(--text-2); font-size: 14px; }
@media (max-width: 960px) { .cm-home { grid-template-columns: 1fr; } }

/* Planos: link por card e comparativo esmaecido */
.plans-note { display: flex; align-items: center; justify-content: center; gap: 8px; }
.plans-note svg { color: var(--brand); width: 16px; height: 16px; }
.plan-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; padding: 0; border: 0; background: none; color: var(--brand); font-weight: 600; font-size: 13.5px; align-self: flex-start; }
.plan-more svg.lucide { width: 15px; height: 15px; transition: transform .2s ease; }
.plan-more:hover span { text-decoration: underline; }
.plan-more:hover svg.lucide { transform: translateY(2px); }
.plan .btn { margin-top: 0; }
.plan .plan-desc { flex: 1 0 auto; }
.cmp-peek { margin-top: 56px; scroll-margin-top: 120px; }
.cmp-peek-head { display: flex; justify-content: center; text-align: center; margin-bottom: 18px; }
.cmp-peek-head > div { display: grid; gap: 8px; justify-items: center; }
.cmp-peek .cmp-tabs { justify-content: center; }
.cmp-peek-body { position: relative; max-height: 520px; overflow: hidden; transition: max-height .5s ease; }
.cmp-peek.is-open .cmp-peek-body { max-height: 6000px; overflow: visible; }
.cmp-peek-fade { position: absolute; inset: auto 0 0 0; height: 220px; background: linear-gradient(to bottom, transparent, var(--bg) 88%); pointer-events: none; transition: opacity .3s ease; }
.cmp-peek.is-open .cmp-peek-fade { opacity: 0; }
.cmp-peek-cta { display: flex; justify-content: center; margin-top: -36px; position: relative; z-index: 2; }
.cmp-peek.is-open .cmp-peek-cta { margin-top: 20px; }
.cmp-peek-cta .btn svg.lucide { transition: transform .2s ease; }
.cmp-peek.is-open .cmp-peek-cta .btn svg.lucide { transform: rotate(180deg); }
.cmp-peek .cmp thead th { top: var(--public-header-height, 63px); }

/* Segurança: notas */
.grades { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.grade-card { position: relative; display: grid; gap: 6px; align-content: start; padding: 22px 18px 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); text-decoration: none; overflow: hidden; transition: border-color .2s ease, transform .2s ease; }
.grade-card::before { content: ""; position: absolute; inset: -40% -40% auto auto; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--up) 22%, transparent), transparent 70%); pointer-events: none; }
.grade-card:hover { border-color: var(--brand-line); transform: translateY(-2px); }
.grade-badge { position: relative; display: inline-grid; place-items: center; min-width: 72px; height: 72px; padding: 0 12px; margin-bottom: 8px; justify-self: start; border-radius: 18px; background: linear-gradient(160deg, #22e38f, #00a862); color: #00170c; font-size: 34px; font-weight: 900; letter-spacing: -0.04em; line-height: 1; box-shadow: 0 12px 30px -10px rgba(0, 201, 120, .7), inset 0 1px 0 rgba(255, 255, 255, .35); }
.grade-badge small { font-size: 16px; font-weight: 800; margin-left: 1px; }
.grade-badge--icon svg.lucide { width: 36px; height: 36px; stroke-width: 2.4; }
.grade-badge--uptime { font-size: 26px; min-width: 112px; }
.grade-name { font-weight: 700; font-size: 15.5px; color: var(--text); }
.grade-what { color: var(--text-2); font-size: 13.5px; line-height: 1.45; }
.grade-foot { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--up); font-size: 12.5px; font-weight: 600; }
.grade-go { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; color: var(--text-3); font-size: 12.5px; font-weight: 600; }
.grade-card:hover .grade-go { color: var(--brand); }
.grade-go svg.lucide { width: 13px; height: 13px; }
@media (max-width: 1180px) { .grades { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .grades { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grade-card:last-child { grid-column: 1 / -1; } }
@media (max-width: 420px) { .grades { grid-template-columns: 1fr; } }
.why-grades { margin-top: 28px; border-top: 1px solid var(--border); padding-top: 24px; }
.why-label { display: block; text-align: center; font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--text-3); margin-bottom: 18px; }
.why-grades ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.why-grades li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--text-2); font-size: 14px; line-height: 1.5; }
.why-grades li b { color: var(--text); }
.why-grades svg.lucide { color: var(--brand); width: 20px; height: 20px; margin-top: 1px; }
@media (max-width: 1100px) { .why-grades ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .why-grades ul { grid-template-columns: 1fr; } }

/* Página da comunidade (base /community) */
.cm-hero { position: relative; overflow: clip; padding-block: clamp(56px, 8vw, 104px) clamp(48px, 6vw, 80px); }
.cm-hero::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 600px; background: radial-gradient(50% 60% at 70% 20%, rgba(88, 101, 242, .16), transparent 70%), var(--glow); pointer-events: none; z-index: -1; }
.cm-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 72px); align-items: center; }
.cm-hero-copy { display: grid; gap: 22px; }
.cm-hero .h1 { font-size: clamp(2.5rem, 5.6vw, 4.6rem); max-width: 14ch; }
@media (max-width: 960px) { .cm-hero-grid { grid-template-columns: 1fr; } }
.cm-claims { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1040px; margin: 0 auto; }
.cm-card { padding: clamp(20px, 3vw, 30px); border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.cm-card--yes { border-color: var(--brand-line); background: linear-gradient(180deg, var(--brand-soft), var(--surface) 60%); }
.cm-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.cm-card--yes .cm-kicker { color: var(--brand); }
.cm-card--no .cm-kicker { color: var(--text-2); }
.cm-kicker svg.lucide { width: 18px; height: 18px; }
.cm-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.cm-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; }
.cm-ic { display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--brand-soft); color: var(--brand); font-size: .75rem; font-weight: 700; }
.cm-card--no .cm-ic { background: color-mix(in srgb, var(--text-2) 14%, transparent); color: var(--text-2); }
.cm-card--no li { color: var(--text-2); }
@media (max-width: 760px) { .cm-claims { grid-template-columns: 1fr; } }
.cm-inside { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px; align-items: start; max-width: 1040px; margin: 0 auto; }
.cm-inside .discord-frame { max-width: none; }
.cm-guide { display: grid; gap: 0; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); overflow: hidden; }
.cm-channel { display: grid; gap: 4px; padding: 18px 20px; border-bottom: 1px solid var(--border); }
.cm-channel:last-child { border-bottom: 0; }
.cm-channel strong { font-size: 15px; }
.cm-channel span { color: var(--text-2); font-size: 14px; }
@media (max-width: 860px) { .cm-inside { grid-template-columns: 1fr; } }
.cm-founder { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.cm-founder > div { display: grid; gap: 16px; }
.cm-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cm-points li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.cm-points li > svg.lucide { width: 44px; height: 44px; padding: 11px; border-radius: 12px; background: var(--brand-soft); color: var(--brand); }
.cm-points strong { display: block; margin-bottom: 2px; }
.cm-points span { color: var(--text-2); font-size: 14px; }
@media (max-width: 860px) { .cm-founder { grid-template-columns: 1fr; } }
.cm-steps { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1040px; position: relative; }
.cm-steps li { position: relative; padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.cm-step-n { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 14px; border-radius: 12px; background: var(--brand); color: var(--brand-ink); font-weight: 800; }
.cm-steps h3 { margin: 0 0 6px; font-size: 16px; }
.cm-steps p { margin: 0; color: var(--text-2); font-size: 14px; }
@media (max-width: 860px) { .cm-steps { grid-template-columns: 1fr; } }
.cm-pricing { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 820px; margin: 0 auto; }
@media (max-width: 700px) { .cm-pricing { grid-template-columns: 1fr; } }

/* Central de ajuda (base /help) */
.sc-hero { position: relative; overflow: clip; padding-block: clamp(48px, 7vw, 88px) clamp(40px, 5vw, 64px); text-align: center; border-bottom: 1px solid var(--border); background: var(--bg-2); }
.sc-hero::after { content: ""; position: absolute; inset: 0; background: var(--glow); pointer-events: none; }
.sc-hero .wrap { position: relative; z-index: 1; display: grid; justify-items: center; gap: 12px; }
.sc-hero h1 { margin: 0; font-size: clamp(2rem, 4.4vw, 3.2rem); font-weight: 800; letter-spacing: -0.035em; line-height: 1.08; }
.sc-hero p { margin: 0; color: var(--text-2); font-size: 1.05rem; }
.sc-hero .help-search { width: 100%; max-width: 680px; margin-top: 14px; text-align: left; }
.help-kbd { position: absolute; right: 14px; top: 29px; transform: translateY(-50%); padding: 2px 8px; border: 1px solid var(--border-strong); border-radius: 6px; color: var(--text-3); font-family: "JetBrains Mono", monospace; font-size: 12px; background: var(--surface-2); }
.sc-popular { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 10px; color: var(--text-3); font-size: 13px; }
.sc-popular a { color: var(--text-2); text-decoration: none; border: 1px solid var(--border); border-radius: 999px; padding: 3px 10px; background: var(--surface); }
.sc-popular a:hover { color: var(--text); border-color: var(--border-strong); }
.sc-crumbs { display: flex; flex-wrap: wrap; align-items: center; justify-content: inherit; gap: 6px; font-size: 13px; color: var(--text-3); }
.sc-crumbs a { color: var(--text-2); text-decoration: none; }
.sc-crumbs a:hover { color: var(--text); }
.sc-crumbs svg.lucide { width: 13px; height: 13px; }
.sc-shell { display: grid; gap: 44px; padding-block: 44px 88px; }
.sc-shell--narrow { max-width: 880px; }
.sc-title { margin: 0 0 16px; font-size: 1.15rem; font-weight: 700; }
.sc-topics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sc-topic { display: grid; gap: 8px; align-content: start; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.sc-topic:hover { border-color: var(--brand-line); transform: translateY(-2px); }
.sc-topic-ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--brand-soft); color: var(--brand); margin-bottom: 4px; }
.sc-topic-ic svg.lucide { width: 20px; height: 20px; }
.sc-topic-name { font-weight: 700; font-size: 15.5px; }
.sc-topic-sample { color: var(--text-2); font-size: 13.5px; line-height: 1.4; }
.sc-meta { color: var(--text-3); font-size: 12.5px; }
@media (max-width: 960px) { .sc-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .sc-topics { grid-template-columns: 1fr; } }
.sc-list { border: 1px solid var(--border); border-radius: 16px; background: var(--surface); overflow: hidden; }
.sc-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 3px; padding: 16px 20px; border-bottom: 1px solid var(--border); text-decoration: none; transition: background-color .15s ease; }
.sc-row:last-child { border-bottom: 0; }
.sc-row:hover { background: var(--surface-2); }
.sc-row-topic { grid-column: 1; color: var(--brand); font-size: 12px; font-weight: 600; }
.sc-row-title { grid-column: 1; font-weight: 600; font-size: 15px; }
.sc-row-sum { grid-column: 1; color: var(--text-2); font-size: 13.5px; }
.sc-row > svg.lucide { grid-column: 2; grid-row: 1 / span 3; align-self: center; color: var(--text-3); }
.sc-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sc-channel { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-content: start; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); text-decoration: none; }
.sc-channel p { margin: 4px 0 0; color: var(--text-2); font-size: 13.5px; }
.sc-channel .btn, .sc-channel .link { grid-column: 1 / -1; justify-self: start; }
.sc-channel-ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--brand-soft); color: var(--brand); }
.sc-channel-ic svg.lucide { width: 20px; height: 20px; }
.sc-channel--status { border-color: var(--brand-line); }
@media (max-width: 960px) { .sc-channels { grid-template-columns: 1fr; } }
.sc-cta-card { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 20px 22px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.sc-cta-card > div { flex: 1 1 260px; }
.sc-cta-card p { margin: 4px 0 0; color: var(--text-2); font-size: 14px; }
.sc-article { gap: 20px; }
.sc-article h1 { margin: 0; font-size: clamp(1.9rem, 3.6vw, 2.6rem); letter-spacing: -0.03em; line-height: 1.12; text-wrap: balance; }
.sc-article .sc-crumbs { justify-content: flex-start; }
.sc-prose { border-top: 1px solid var(--border); padding-top: 24px; font-size: 16px; line-height: 1.75; color: var(--text-2); max-width: 70ch; }
.sc-prose h2 { color: var(--text); font-size: 1.2rem; margin: 30px 0 10px; letter-spacing: -0.01em; }
.sc-prose p { margin: 0 0 14px; }
.sc-prose ol, .sc-prose ul { padding-left: 22px; display: grid; gap: 8px; margin: 0 0 16px; }
.sc-prose a { color: var(--brand); }
.sc-callout { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; margin: 20px 0; padding: 14px 16px; border: 1px solid var(--border); border-left: 3px solid var(--info); border-radius: 12px; background: var(--surface); font-size: 15px; }
.sc-callout p { margin: 0; }
.sc-callout > svg.lucide { color: var(--info); width: 20px; height: 20px; margin-top: 2px; }
.sc-callout--warn { border-left-color: var(--warn); }
.sc-callout--warn > svg.lucide { color: var(--warn); }
.sc-secure { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); color: var(--text-2); font-size: 13.5px; }
.sc-secure svg.lucide { color: var(--brand); width: 18px; height: 18px; margin-top: 2px; }
.sup-subj .help-results { top: 78px; }
.cmp-peek:not(.is-open) .cmp thead th { position: static; }
.grade-badge { display: inline-flex; align-items: baseline; justify-content: center; padding-top: 18px; white-space: nowrap; } .grade-badge--icon { align-items: center; padding-top: 0; }
@media (max-width: 420px) {
  .grades { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .grade-card { padding: 16px 14px 14px; }
  .grade-badge { min-width: 56px; height: 56px; font-size: 26px; border-radius: 14px; padding-top: 14px; }
  .grade-badge--uptime { font-size: 20px; min-width: 92px; }
  .grade-what { font-size: 12.5px; }
}
@media (max-width: 340px) { .grades { grid-template-columns: 1fr; } }

/* =====================================================================
   Rodada 4
   ===================================================================== */

/* Tipografia no padrão do Terminal em produção: Inter sem variantes alternativas */
body { font-feature-settings: normal; }
.h1 { font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
.hero .h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); }
.final .h1 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); }
.cm-hero .h1 { font-size: clamp(2.3rem, 5vw, 3.9rem); }
.h2 { font-weight: 700; letter-spacing: -0.02em; line-height: 1.18; font-size: clamp(1.75rem, 3.4vw, 2.5rem); }
.h3 { letter-spacing: -0.01em; }
.plan-name, .cmp thead th, .foot h4, .eco-step { font-family: "Inter", sans-serif; letter-spacing: .08em; }
.plan-price .big b { letter-spacing: -0.03em; }

/* Pílula da hero: estável */
.hcp-live svg.lucide { width: 13px; height: 13px; }

/* Pôster instantâneo das telas reais */
.tlive-poster { position: absolute; top: 0; left: 0; width: 100%; height: auto; display: block; transition: opacity .5s ease; }
.tlive iframe { transition: opacity .6s ease; }
.tlive.is-ready .tlive-poster { opacity: 0; }

/* Relógio integrado */
.mc-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.mc-copy { display: grid; gap: 18px; align-content: start; }
.mc-feats { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.mc-feats li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--text-2); font-size: 14.5px; }
.mc-feats b { color: var(--text); font-weight: 600; }
.mc-feats svg { color: var(--brand); margin-top: 3px; }
.mc-card { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); overflow: hidden; box-shadow: var(--shadow-pop); }
.mc-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.mc-card .seg button svg.lucide { width: 15px; height: 15px; }
.mc-card [data-mc-panel="clock"] .tlive { background: var(--bg); }
.mc-card [data-mc-lines] { min-height: 420px; display: flex; flex-direction: column; }
@media (max-width: 1000px) { .mc-split { grid-template-columns: 1fr; } }
.mcl-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 16px 16px 8px; }
.mcl-now b { display: block; font-family: "JetBrains Mono", monospace; font-size: 26px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.mcl-now span { color: var(--text-3); font-size: 12.5px; }
.mcl-grid { position: relative; padding: 4px 16px 0; }
.mcl-hours, .mcl-row { display: grid; grid-template-columns: 96px 1fr; align-items: center; }
.mcl-hours { height: 22px; font-family: "JetBrains Mono", monospace; font-size: 10.5px; color: var(--text-3); }
.mcl-hours .ticks { position: relative; height: 100%; }
.mcl-hours .ticks span { position: absolute; bottom: 4px; transform: translateX(-50%); }
.mcl-hours .ticks span:first-child { transform: none; }
.mcl-hours .ticks span:last-child { transform: translateX(-100%); }
.mcl-row { height: 38px; }
.mcl-name { display: flex; align-items: center; gap: 8px; font-size: 13px; min-width: 0; }
.mcl-name .fi { width: 18px; height: 13px; border-radius: 2px; flex: none; }
.mcl-name .dot { margin-left: auto; margin-right: 12px; }
.mcl-more { position: relative; }
.mcl-row.is-faded { opacity: .55; }
.mcl-more::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, color-mix(in srgb, var(--surface) 30%, transparent), var(--surface) 80%); pointer-events: none; }
.mcl-more-note { position: absolute; left: 0; right: 0; bottom: 8px; z-index: 2; display: grid; justify-items: center; gap: 2px; text-align: center; font-size: 13px; }
.mcl-more-note span { color: var(--text-3); font-size: 12px; }
.mcl-cursor { position: absolute; top: 26px; bottom: 60px; width: 2px; margin-left: -1px; background: var(--text); z-index: 3; pointer-events: none; }
.mcl-cursor::before { content: attr(data-t); position: absolute; top: -18px; left: 50%; transform: translateX(-50%); background: var(--text); color: var(--bg); font-family: "JetBrains Mono", monospace; font-size: 10px; font-weight: 700; padding: 1px 5px; border-radius: 4px; }
.mcl-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: auto; padding: 12px 16px 14px; border-top: 1px solid var(--border); }
.mcl-foot input { flex: 1; min-width: 160px; accent-color: var(--brand); }

/* FAQ com abertura suave */
.pfaq-body { display: grid; grid-template-rows: 0fr; padding: 0 20px; transition: grid-template-rows .32s ease, padding .32s ease; }
.pfaq-inner { overflow: hidden; min-height: 0; }
.pfaq-inner p { opacity: 0; transform: translateY(-4px); transition: opacity .25s ease, transform .3s ease; }
.pfaq-item.is-open .pfaq-body { grid-template-rows: 1fr; padding-bottom: 20px; }
.pfaq-item.is-open .pfaq-inner p { opacity: 1; transform: none; transition-delay: .06s; }
.pfaq-btn svg.lucide { transition: transform .32s ease; }

/* Planos: limites e destaque */
.plan-list em.em-limit { color: var(--down); }
.plan-list em.em-up { color: var(--up); }
.shine { font-weight: 700; background: linear-gradient(100deg, var(--text) 0%, var(--text) 38%, var(--brand) 50%, var(--text) 62%, var(--text) 100%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: shineText 3.2s linear infinite; }
@keyframes shineText { from { background-position: 125% 0; } to { background-position: -125% 0; } }

/* Segurança: selos */
.grade-card { justify-items: center; text-align: center; padding: 26px 18px 20px; }
.grade-card::before { inset: -60% auto auto 50%; transform: translateX(-50%); width: 220px; height: 220px; background: radial-gradient(circle, color-mix(in srgb, var(--up) 12%, transparent), transparent 70%); }
.grade-badge { display: none; }
.seal { position: relative; display: grid; place-items: center; width: 92px; height: 92px; margin-bottom: 10px; }
.seal svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.seal-track { fill: color-mix(in srgb, var(--up) 6%, var(--surface)); stroke: var(--border); stroke-width: 3; }
.seal-ring { fill: none; stroke: var(--up); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 251.3; stroke-dashoffset: 251.3; animation: sealDraw 1.4s .2s cubic-bezier(.2, .8, .2, 1) forwards; }
@keyframes sealDraw { to { stroke-dashoffset: 0; } }
.seal-in { position: relative; font-size: 30px; font-weight: 800; letter-spacing: -0.03em; color: var(--up); line-height: 1; display: inline-flex; align-items: baseline; }
.seal-in small { font-size: 13px; font-weight: 700; margin-left: 1px; }
.seal--icon .seal-in svg.lucide { width: 34px; height: 34px; stroke-width: 2.2; }
.seal--uptime .seal-in { font-size: 20px; }
.grade-foot { justify-content: center; }
.protect { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 16px; margin-top: 32px; }
.protect-hero { position: relative; overflow: hidden; display: grid; gap: 12px; align-content: start; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--brand-line); border-radius: 18px; background: linear-gradient(160deg, var(--brand-soft), var(--surface) 55%); }
.protect-ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--brand); color: var(--brand-ink); }
.protect-ic svg.lucide { width: 24px; height: 24px; }
.protect-hero h3 { margin: 0; font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 800; letter-spacing: -0.02em; }
.protect-hero p { margin: 0; color: var(--text-2); max-width: 52ch; }
.protect-demo { display: grid; gap: 8px; margin-top: 8px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--bg); max-width: 360px; }
.pd-label { font-size: 12px; color: var(--text-3); font-weight: 600; }
.pd-code { display: flex; gap: 6px; }
.pd-code i { width: 38px; height: 44px; border-radius: 9px; border: 1px solid var(--border-strong); display: grid; place-items: center; font-style: normal; font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: 18px; opacity: 0; animation: pdIn .35s ease forwards; }
.pd-code i:nth-child(1) { animation-delay: .3s; } .pd-code i:nth-child(2) { animation-delay: .45s; } .pd-code i:nth-child(3) { animation-delay: .6s; }
.pd-code i:nth-child(4) { animation-delay: .75s; } .pd-code i:nth-child(5) { animation-delay: .9s; } .pd-code i:nth-child(6) { animation-delay: 1.05s; }
@keyframes pdIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; border-color: var(--brand-line); } }
.pd-note { display: inline-flex; align-items: center; gap: 6px; color: var(--up); font-size: 12.5px; font-weight: 600; }
.pd-note svg.lucide { width: 14px; height: 14px; }
.protect-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.protect-list li { display: grid; gap: 8px; align-content: start; padding: 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.protect-list li > svg.lucide { width: 38px; height: 38px; padding: 9px; border-radius: 11px; background: var(--brand-soft); color: var(--brand); }
.protect-list b { display: block; font-size: 15px; margin-bottom: 2px; }
.protect-list span { color: var(--text-2); font-size: 13.5px; line-height: 1.5; }
@media (max-width: 1000px) { .protect { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .protect-list { grid-template-columns: 1fr; } }

/* Gamificação */
.cm-home-side { display: grid; gap: 14px; }
.gami-wrap { display: grid; gap: 10px; }
.gami-title { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; }
.gami-title svg.lucide { color: var(--warn); width: 18px; height: 18px; }
.gami2 { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.gami2-head { display: flex; align-items: center; gap: 12px; }
.gami2-av { position: relative; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--brand); color: var(--brand-ink); font-weight: 800; }
.gami2-av i { position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--brand-line); }
.gami2-head b { font-size: 15px; }
.gami2-role { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 5px; background: #f1c40f; color: #1a1400; font-size: 10.5px; font-weight: 800; vertical-align: 1px; }
.gami2-streak { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: color-mix(in srgb, #f97316 14%, transparent); color: #fb923c; font-size: 12.5px; font-weight: 600; }
.gami2-streak svg.lucide { width: 15px; height: 15px; animation: flame 1.4s ease-in-out infinite; }
@keyframes flame { 50% { transform: scale(1.18) rotate(-6deg); } }
.gami2-level { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px 12px; }
.gami2-lv { font-weight: 800; font-size: 14px; }
.gami2-bar { height: 10px; border-radius: 999px; background: var(--surface-3); overflow: hidden; }
.gami2-bar i { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, var(--brand), #7dd3fc); animation: xpFill 1.6s .3s cubic-bezier(.2, .8, .2, 1) forwards; }
@keyframes xpFill { to { width: 68%; } }
.gami2-next { grid-column: 2; color: var(--text-3); font-size: 12px; }
.gami2-log { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.gami2-log li { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; background: var(--surface-2); font-size: 13.5px; opacity: 0; animation: pdIn .4s ease forwards; }
.gami2-log li:nth-child(1) { animation-delay: .5s; } .gami2-log li:nth-child(2) { animation-delay: .8s; } .gami2-log li:nth-child(3) { animation-delay: 1.1s; }
.gami2-log svg.lucide { width: 16px; height: 16px; color: var(--text-3); }
.gami2-log b { margin-left: auto; color: var(--up); font-size: 12px; }

/* Comunidade: simulação da conexão */
.cm-hero-sim { display: grid; gap: 10px; }
.cm-sim-label { font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--text-3); text-align: center; }
.sim { position: relative; border: 1px solid var(--border); border-radius: 20px; background: var(--surface); overflow: hidden; box-shadow: var(--shadow-frame); }
.sim-steps { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--border); }
.sim-steps button { position: relative; display: flex; align-items: center; gap: 8px; padding: 12px 12px 14px; border: 0; background: none; color: var(--text-3); font-weight: 600; font-size: 12.5px; text-align: left; }
.sim-steps button > span { width: 22px; height: 22px; flex: none; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--border-strong); font-size: 11.5px; }
.sim-steps button[aria-selected="true"] { color: var(--text); }
.sim-steps button[aria-selected="true"] > span, .sim-steps button.is-done > span { background: var(--brand); color: var(--brand-ink); border-color: var(--brand); }
.sim-step-bar { position: absolute; left: 12px; right: 12px; bottom: 0; height: 2px; background: var(--border); border-radius: 2px; overflow: hidden; }
.sim-step-bar b { display: block; height: 100%; width: 0; background: var(--brand); }
@keyframes simBar { to { width: 100%; } }
.sim-stage { position: relative; height: 380px; background: radial-gradient(60% 80% at 50% 0%, rgba(88, 101, 242, .14), transparent 70%), var(--bg); }
.sim-scene { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; opacity: 0; visibility: hidden; transform: translateY(10px) scale(.98); transition: opacity .45s ease, transform .45s ease, visibility .45s; }
.sim-scene.is-active { opacity: 1; visibility: visible; transform: none; }
.sim-replay { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font-size: 12px; font-weight: 600; z-index: 5; }
.sim-replay svg.lucide { width: 13px; height: 13px; }
.sim-term { width: min(100%, 360px); border: 1px solid var(--border-strong); border-radius: 16px; background: var(--surface); overflow: hidden; }
.sim-term-top { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--border); font-weight: 700; font-size: 13px; }
.sim-term-top img { width: 20px; height: 20px; border-radius: 5px; }
.sim-term-top span { margin-left: auto; color: var(--text-3); font-weight: 500; font-size: 12px; }
.sim-term-body { position: relative; display: grid; gap: 12px; padding: 16px; }
.sim-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--warn); }
.sim-term-body h4 { margin: 0; font-size: 15px; line-height: 1.35; }
.sim-codebox { display: grid; gap: 4px; justify-items: center; padding: 14px; border: 1px dashed var(--brand-line); border-radius: 12px; background: var(--brand-soft); }
.sim-codebox small { color: var(--text-3); font-size: 11.5px; }
.sim-type, .sim-type2 { display: inline-block; overflow: hidden; white-space: nowrap; width: 0; font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: 22px; letter-spacing: .12em; color: var(--text); border-right: 2px solid var(--brand); }
.is-active .sim-type { animation: type 1s steps(8) .5s forwards, caret .8s step-end 5; }
@keyframes type { to { width: 9.1ch; } }
@keyframes caret { 50% { border-color: transparent; } }
.sim-btn { justify-self: start; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 9px; background: var(--brand); color: var(--brand-ink); font-weight: 700; font-size: 13.5px; }
.sim-btn svg.lucide { width: 14px; height: 14px; }
.is-active .sim-btn { animation: press .3s 3s ease; }
@keyframes press { 50% { transform: scale(.94); filter: brightness(.9); } }
.sim-toast { position: absolute; right: 14px; bottom: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 8px; background: var(--text); color: var(--bg); font-size: 12px; font-weight: 700; opacity: 0; }
.sim-toast svg.lucide { width: 13px; height: 13px; }
.is-active .sim-toast { animation: toastIn 1.6s 3.2s ease forwards; }
@keyframes toastIn { 15% { opacity: 1; transform: translateY(-4px); } 85% { opacity: 1; } 100% { opacity: 0; } }
.sim-cursor { position: absolute; width: 22px; height: 22px; z-index: 4; opacity: 0; background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 10-7 1.5L9 21z' fill='%23fff' stroke='%23000' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.is-active .sim-cursor.s0 { animation: cur0 3.4s .6s ease forwards; }
@keyframes cur0 { 0% { opacity: 0; left: 80%; top: 20%; } 20% { opacity: 1; } 75% { left: calc(50% - 120px); top: calc(50% + 92px); } 82% { transform: scale(.85); } 90%, 100% { opacity: 1; transform: none; left: calc(50% - 120px); top: calc(50% + 92px); } }
.sim-dc { width: min(100%, 380px); border-radius: 14px; background: #313338; color: #dbdee1; overflow: hidden; border: 1px solid #1f2023; font-size: 13.5px; position: relative; }
.sim-dc-top { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid #26272b; font-weight: 700; color: #f2f3f5; }
.sim-dc-top em { font-style: normal; }
.sim-embed { margin: 14px; padding: 12px 14px; border-left: 4px solid #5865f2; border-radius: 6px; background: #2b2d31; display: grid; gap: 6px; }
.sim-embed p { margin: 0; color: #b5bac1; font-size: 13px; }
.sim-dc-btn { justify-self: start; padding: 7px 14px; border-radius: 6px; background: #248046; color: #fff; font-weight: 600; font-size: 13px; }
.is-active .sim-dc-btn { animation: press .3s 1.6s ease; }
.sim-modal { position: absolute; inset: 14px; display: grid; align-content: center; gap: 8px; padding: 18px; border-radius: 10px; background: #313338; box-shadow: 0 20px 60px rgba(0, 0, 0, .6); opacity: 0; transform: scale(.94); }
.is-active .sim-modal { animation: modalIn .35s 2s ease forwards; }
@keyframes modalIn { to { opacity: 1; transform: none; } }
.sim-modal label { color: #b5bac1; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.sim-input { display: block; padding: 10px 12px; border-radius: 6px; background: #1e1f22; }
.sim-type2 { font-size: 17px; color: #f2f3f5; }
.is-active .sim-type2 { animation: type 1.1s steps(8) 2.6s forwards; }
.sim-send { justify-self: end; padding: 7px 16px; border-radius: 6px; background: #5865f2; color: #fff; font-weight: 600; font-size: 13px; }
.is-active .sim-send { animation: press .3s 4.2s ease; }
.is-active .sim-cursor.s1 { animation: cur1 4.6s .4s ease forwards; }
@keyframes cur1 { 0% { opacity: 0; left: 75%; top: 15%; } 15% { opacity: 1; left: 70%; top: 25%; } 28% { left: calc(50% - 150px); top: calc(50% - 4px); } 32% { transform: scale(.85); } 36% { transform: none; } 80% { left: calc(50% + 140px); top: calc(50% + 70px); } 86% { transform: scale(.85); } 100% { opacity: 1; transform: none; left: calc(50% + 140px); top: calc(50% + 70px); } }
.sim-dc--side { padding-bottom: 12px; }
.sim-role { margin-left: auto; padding: 2px 8px; border-radius: 5px; background: #f1c40f; color: #1a1400; font-size: 11px; font-weight: 800; opacity: 0; transform: scale(.6); }
.is-active .sim-role { animation: pop .5s 2.9s cubic-bezier(.2, 1.4, .4, 1) forwards; }
@keyframes pop { to { opacity: 1; transform: none; } }
.sim-cat { padding: 10px 14px 4px; color: #949ba4; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.sim-ch { display: flex; align-items: center; gap: 6px; margin: 0 8px; padding: 5px 8px; border-radius: 5px; color: #949ba4; }
.sim-ch span { opacity: .7; }
.sim-ch em { font-style: normal; }
.sim-ch svg.lucide { margin-left: auto; width: 13px; height: 13px; }
.is-active .sim-ch { animation: unlock .4s var(--d, 0s) ease forwards; }
.is-active .sim-ch svg.lucide { animation: lockOut .35s var(--d, 0s) ease forwards; }
@keyframes unlock { to { color: #f2f3f5; } }
@keyframes lockOut { to { opacity: 0; transform: scale(.4); } }
.sim-ok { display: flex; gap: 10px; align-items: flex-start; margin: 10px 12px 0; padding: 10px; border-radius: 8px; background: #2b2d31; font-size: 12.5px; line-height: 1.45; opacity: 0; transform: translateY(8px); }
.sim-ok img { width: 30px; height: 30px; border-radius: 50%; }
.sim-ok i { font-style: normal; background: #5865f2; color: #fff; font-size: 9.5px; font-weight: 700; padding: 0 4px; border-radius: 3px; }
.is-active .sim-ok { animation: pdIn .45s 2.4s ease forwards; }
@media (max-width: 560px) { .sim-steps button { font-size: 11px; padding: 10px 6px 12px; gap: 6px; } .sim-stage { height: 360px; } .sim-type { font-size: 18px; } }

/* Comunidade: recursos interativos */
.fx { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 24px; align-items: stretch; max-width: 1100px; margin: 0 auto; }
.fx-tabs { display: grid; gap: 6px; }
.fx-tab { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; padding: 14px 16px; border: 1px solid transparent; border-radius: 14px; background: none; color: var(--text); text-align: left; transition: background-color .2s ease, border-color .2s ease; }
.fx-tab:hover { background: var(--surface); }
.fx-tab[aria-selected="true"] { background: var(--surface); border-color: var(--brand-line); }
.fx-tab-ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--surface-3); color: var(--text-2); transition: all .2s ease; }
.fx-tab[aria-selected="true"] .fx-tab-ic { background: var(--brand); color: var(--brand-ink); }
.fx-tab-ic svg.lucide { width: 20px; height: 20px; }
.fx-tab b { display: block; font-size: 15px; }
.fx-tab small { display: block; color: var(--text-2); font-size: 13px; line-height: 1.45; max-height: 0; overflow: hidden; transition: max-height .35s ease, margin .35s ease; }
.fx-tab[aria-selected="true"] small { max-height: 80px; margin-top: 4px; }
.fx-stage { position: relative; display: grid; place-items: center; min-height: 380px; padding: 24px; border: 1px solid var(--border); border-radius: 20px; background: radial-gradient(70% 80% at 50% 0%, var(--brand-soft), transparent 70%), var(--surface); overflow: hidden; }
.fx-stage.is-in > * { animation: panelIn .45s ease; }
.fx-stage > div { width: min(100%, 420px); }
.fx-vc-head { display: flex; align-items: center; gap: 8px; padding-bottom: 12px; margin-bottom: 10px; border-bottom: 1px solid var(--border); font-weight: 700; }
.fx-vc-head svg.lucide { width: 18px; height: 18px; color: var(--text-3); }
.fx-vc-head .pill { margin-left: auto; height: 24px; font-size: 11.5px; }
.fx-vc-user { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; }
.fx-vc-user b { font-size: 14px; }
.fx-av { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 700; flex: none; }
.fx-av[class*="talk-"] { box-shadow: 0 0 0 0 #23a559; animation: talk 2.4s ease-in-out infinite; }
.fx-av.talk-1 { animation-delay: .8s; } .fx-av.talk-2 { animation-delay: 1.6s; } .fx-av.talk-3 { animation-duration: 3.2s; }
@keyframes talk { 0%, 55%, 100% { box-shadow: 0 0 0 0 transparent; } 10%, 40% { box-shadow: 0 0 0 3px #23a559; } }
.fx-role { padding: 1px 6px; border-radius: 5px; background: var(--surface-3); color: var(--text-2); font-size: 10.5px; font-weight: 700; }
.fx-mic { margin-left: auto; width: 16px !important; height: 16px !important; color: var(--text-3); }
.fx-note { margin: 12px 0 0; color: var(--text-3); font-size: 12.5px; text-align: center; }
.fx-thread { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; margin-top: 6px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); opacity: 0; animation: pdIn .4s var(--d) ease forwards; }
.fx-tag { padding: 2px 8px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); font-size: 11px; font-weight: 700; white-space: nowrap; }
.fx-thread b { font-size: 13.5px; font-weight: 600; }
.fx-replies { display: inline-flex; align-items: center; gap: 4px; color: var(--text-3); font-size: 12px; }
.fx-replies svg.lucide { width: 13px; height: 13px; }
.fx-sync { display: grid; gap: 10px; justify-items: stretch; }
.fx-sync-card { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--bg); }
.fx-sync-card img { width: 36px; height: 36px; border-radius: 9px; }
.fx-sync-card small { display: block; color: var(--text-3); font-size: 11.5px; }
.fx-sync-line { position: relative; height: 54px; display: grid; place-items: center; }
.fx-sync-line i { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: var(--border); overflow: hidden; }
.fx-sync-line i::after { content: ""; position: absolute; left: 0; width: 2px; height: 18px; background: var(--brand); animation: flow 1.2s linear infinite; }
@keyframes flow { from { top: -18px; } to { top: 100%; } }
.fx-sync-line span { position: relative; padding: 3px 10px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); color: var(--text-3); font-size: 11.5px; }
.fx-role-swap { margin-left: auto; position: relative; width: 84px; height: 22px; }
.fx-role-swap em { position: absolute; right: 0; top: 0; padding: 2px 8px; border-radius: 5px; font-style: normal; font-size: 11px; font-weight: 800; }
.fx-role-swap .old { background: var(--surface-3); color: var(--text-2); animation: roleOut .4s 1.6s ease forwards; }
.fx-role-swap .new { background: #5dade2; color: #031018; opacity: 0; transform: scale(.6); animation: pop .5s 1.9s cubic-bezier(.2, 1.4, .4, 1) forwards; }
@keyframes roleOut { to { opacity: 0; transform: translateY(-8px); } }
.fx-sub-ch { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 8px; color: var(--text-2); opacity: 0; animation: pdIn .4s var(--d) ease forwards; }
.fx-sub-ch span { color: var(--text-3); }
.fx-sub-ch svg.lucide { margin-left: auto; width: 15px; height: 15px; color: var(--brand); }
@media (max-width: 900px) { .fx { grid-template-columns: 1fr; } .fx-stage { min-height: 340px; } }

/* Ajuda */
.help-kbd { font-family: "Inter", sans-serif; font-weight: 600; letter-spacing: .02em; }
.sc-list--grid { display: grid; grid-template-columns: 1fr 1fr; }
.sc-list--grid .sc-row { border-right: 1px solid var(--border); }
.sc-list--grid .sc-row:nth-child(2n) { border-right: 0; }
.sc-list--grid .sc-row:nth-last-child(-n+2) { border-bottom: 0; }
@media (max-width: 760px) { .sc-list--grid { grid-template-columns: 1fr; } .sc-list--grid .sc-row { border-right: 0; } .sc-list--grid .sc-row:nth-last-child(2) { border-bottom: 1px solid var(--border); } }

@media (prefers-reduced-motion: reduce) {
  .seal-ring { stroke-dashoffset: 0; }
  .sim-type, .sim-type2 { width: 9.1ch; border-right: 0; }
  .sim-modal, .sim-ok, .sim-role, .gami2-log li, .pd-code i, .fx-thread, .fx-sub-ch { opacity: 1; transform: none; }
  .gami2-bar i { width: 68%; }
  .shine { animation: none; color: var(--brand); background: none; }
}
.seal svg.lucide { position: static; transform: none; width: 34px; height: 34px; } .seal > svg { transform: rotate(-90deg); } .seal svg:not(.lucide) { position: absolute; }

.sim-stage { height: 420px; }
.sim-dc--side { padding-bottom: 10px; }
.sim-dc--side .sim-ch { padding: 4px 8px; }
.sim-dc--side .sim-cat { padding-top: 8px; }
@media (max-width: 560px) { .sim-stage { height: 420px; } }

/* =====================================================================
   Rodada 5
   ===================================================================== */
html { scrollbar-gutter: stable; }

/* Troca imperceptível: tela ao vivo por baixo, pôster por cima até ela ficar idêntica */
.tlive iframe { opacity: 1 !important; z-index: 1; transition: none; }
.tlive-poster { z-index: 2; transition: opacity .9s cubic-bezier(.4, 0, .2, 1); image-rendering: auto; }
.tlive.is-ready .tlive-poster { opacity: 0; pointer-events: none; }

/* Cores reais do relógio do Terminal (widgets/market-clock.php) */
html[data-theme="all-black"] { --clock-open: #10b981; --clock-pre: #fbbf24; --clock-post: #2196f3; --clock-closed: #3a433a; }
html[data-theme="light"] { --clock-open: #10b981; --clock-pre: #fbbf24; --clock-post: #2196f3; --clock-closed: #9ea59e; }
.mc-card .sess-track { background: color-mix(in srgb, var(--clock-closed) 45%, transparent); }
.mc-card .sess-track i.reg { background: var(--clock-open); }
.mc-card .sess-track i.pre { background: var(--clock-pre); }
.mc-card .sess-track i.post { background: var(--clock-post); }
.mc-dot--open { background: var(--clock-open); box-shadow: 0 0 0 0 color-mix(in srgb, var(--clock-open) 40%, transparent); animation: pulse 2s infinite; }
.mc-dot--pre { background: var(--clock-pre); }
.mc-dot--post { background: var(--clock-post); }
.mc-dot--closed { background: var(--clock-closed); }
.mcl-foot .legend i { width: 10px; height: 10px; border-radius: 3px; }

/* Os dois painéis do relógio têm a mesma altura: o texto ao lado não se move */
.mc-split { align-items: start; }
.mc-card { --mc-h: 560px; }
.mc-card [data-mc-panel] { height: var(--mc-h); }
.mc-card [data-mc-panel="clock"] .tlive { height: var(--mc-h) !important; }
.mc-card [data-mc-lines] { min-height: 0; overflow: hidden; }
.mc-copy { padding-top: clamp(0px, 3vw, 40px); }

/* Botão do Discord */
.btn-discord { position: relative; overflow: hidden; isolation: isolate; background: #5865f2; color: #fff; }
.btn-discord:hover { background: #4752c4; }
.btn-discord img { width: 20px; height: 20px; filter: brightness(0) invert(1); }
.btn-discord::after { content: ""; position: absolute; inset: -40% auto -40% -60%; width: 45%; z-index: -1; transform: skewX(-18deg); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent); animation: btnSheen 3.2s ease-in-out infinite; }
@keyframes btnSheen { 0% { left: -60%; } 55%, 100% { left: 130%; } }

/* Auditorias: painel institucional */
.grades { display: none; }
.audits { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--border); border-radius: 16px; background: var(--surface); overflow: hidden; }
.audit { display: grid; grid-template-rows: auto auto 1fr auto auto; gap: 6px; padding: 22px 22px 20px; border-right: 1px solid var(--border); text-decoration: none; transition: background-color .2s ease; }
.audit:last-child { border-right: 0; }
.audit:hover { background: var(--surface-2); }
.audit-src { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.audit-grade { font-size: 44px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; color: var(--text); font-variant-numeric: tabular-nums; }
.audit-grade small { font-size: 22px; font-weight: 700; margin-left: 2px; }
.audit-what { color: var(--text-2); font-size: 13.5px; line-height: 1.45; }
.audit-meta { display: inline-flex; align-items: center; gap: 6px; padding-top: 12px; margin-top: 6px; border-top: 1px solid var(--border); color: var(--up); font-size: 12.5px; font-weight: 600; }
.audit-meta svg.lucide { width: 15px; height: 15px; }
.audit-link { display: inline-flex; align-items: center; gap: 4px; color: var(--text-3); font-size: 12.5px; font-weight: 600; }
.audit-link svg.lucide { width: 13px; height: 13px; }
.audit:hover .audit-link { color: var(--brand); }
@media (max-width: 1180px) { .audits { grid-template-columns: repeat(3, minmax(0, 1fr)); } .audit:nth-child(3) { border-right: 0; } .audit:nth-child(-n+3) { border-bottom: 1px solid var(--border); } }
@media (max-width: 700px) {
  .audits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit { border-right: 1px solid var(--border) !important; border-bottom: 1px solid var(--border); padding: 18px 16px; }
  .audit:nth-child(2n) { border-right: 0 !important; }
  .audit:last-child { grid-column: 1 / -1; border-bottom: 0; border-right: 0 !important; }
  .audit-grade { font-size: 36px; }
}

/* Tour em vídeo: telas reais gravadas navegando */
.tvid { position: relative; aspect-ratio: 16 / 10; background: var(--bg); overflow: hidden; }
.tvid video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; background: var(--bg); }
.tvid-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: color-mix(in srgb, var(--border) 70%, transparent); }
.tvid-bar i { display: block; height: 100%; width: 0; background: var(--brand); transition: width .25s linear; }

/* A barra de revisão do pacote não pertence ao produto. */
.hdr { top: 0; }
.msheet { top: 62px; }
html { scroll-padding-top: 90px; }
.audit-grade--pending { font-size: 1.25rem; line-height: 1.25; }
.footer-preferences { border: 0; background: none; padding: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
[aria-busy="true"] { cursor: wait; }
[data-plans-intent-feedback], [data-sup-err], [data-pr-err] { color: var(--red, #dc5656); }

/* OPB-1074: public composition, using the ID's official theme control. */
.public-site .theme-toggle-btn {
  width:36px; height:36px; flex:0 0 36px; display:inline-grid; place-items:center;
  padding:0; border:1px solid transparent; border-radius:10px; background:transparent;
  color:var(--text); line-height:1; transition:background-color .18s, border-color .18s, color .18s;
}
.public-site .theme-toggle-btn:hover, .public-site .theme-toggle-btn:active { background:color-mix(in srgb, var(--text) 8%, transparent); border-color:var(--border); }
.public-site .theme-toggle-btn:focus-visible { box-shadow:0 0 0 3px var(--brand-soft); }
.public-site .theme-toggle-btn svg { width:14px; height:14px; }
.public-site .theme-icon-moon, html.light .public-site .theme-icon-sun { display:none; }
html.light .public-site .theme-icon-moon { display:block; }
.public-market-tape { min-height:46px; overflow:hidden; border-bottom:1px solid var(--border); }
.public-market-tape #widget_long { min-height:46px; }
.hero-inner .proof { margin:22px 0 20px; }
.hero-capture { background:var(--bg); }
.hero-capture picture, .hero-capture img { width:100%; }
.hero-capture img { height:auto; aspect-ratio:1600 / 1000; }
@media (min-width:1024px) { .hero-frame-wrap { width:85%; max-width:1224px; } }
@media (min-width:1800px) { .hero-frame-wrap { max-width:1360px; } }
@media (max-width:639px) { .hero-capture img { aspect-ratio:420 / 1100; } }
.public-clock-frame { display:block; width:100%; height:100%; border:0; background:var(--bg); }
.mc-card { --mc-h:560px; }
@media (max-width:760px) {
  .cmp-peek .cmp thead th:first-child { top:auto; }
  .mc-card { --mc-h:clamp(310px, 85vw, 560px); }
  .mc-card [data-mc-lines] { overflow:auto; }
}

/* Canonical consent tokens: app.css + theme-light/dark.css, isolated to the public shell. */
html.light .public-site { --modal-bg:#fff; --bg-secondary:#f8f9f8; --text-primary:#232523; --text-secondary:#6c757d; --border-color:#e0e2e0; --primary:#00804d; --primary-dark:#00482b; --opb-electric-ink:#fff; }
html.all-black .public-site { --modal-bg:#000; --bg-secondary:#1a1a1a; --text-primary:#fff; --text-secondary:#ccc; --border-color:#333; --primary:#00c978; --primary-dark:#009157; --opb-electric-ink:#001b10; }
.public-site .opb-cookie-consent { line-height:1.5; }
.public-site .opb-cookie-consent h2 { line-height:1.2; }
.public-site .mark { display:inline-flex; width:16px; height:22px; flex:none; align-items:center; }
.public-site .mark svg { width:100%; height:100%; }
.public-site .hdr-actions .mark { width:11px; height:15px; }
.public-site .sso-line .mark { width:10px; height:14px; color:var(--brand); }
.public-market-tape, .public-market-tape .tradingview-widget-container, .public-market-tape .tradingview-widget-container__widget { background:var(--bg); }
.public-market-tape iframe { color-scheme:normal; }
.btn-shimmer { position:relative; overflow:hidden; isolation:isolate; }
.btn-shimmer span { position:relative; z-index:1; }
.btn-shimmer::after { content:""; position:absolute; z-index:0; top:0; left:-60%; width:45%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); animation:public-cta-shimmer 2.2s linear infinite; pointer-events:none; }
@keyframes public-cta-shimmer { to { transform:translateX(360%); } }
@media(prefers-reduced-motion:reduce) { .btn-shimmer::after { animation:none; display:none; } }

.public-market-tape #widget_long { position:relative; }
.public-market-tape .tv-tape-status { display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:8px 16px; font-size:12px; color:var(--text-secondary); background:var(--bg); }
.public-market-tape #widget_long > .tv-tape-status { position:absolute; inset:0; }
.public-market-tape .tv-tape-status button { color:var(--primary); background:transparent; border:0; text-decoration:underline; cursor:pointer; }
