/* ═══════════════════════════════════════════════
   VIBE IN PUBLIC — style.css
   Design system extraído do Overclock Web (ver DESIGN-DNA.md):
   preto puro, hairlines #1f2937, Geist/Geist Mono, acento
   vermelho #ef4444 com parcimônia, status verde #22c55e.
   Contratos vivos (não renomear): #board #agg-streak
   #live-pip #live-off · builder__* board__* · #ficha #diario #acervo
   ═══════════════════════════════════════════════ */

:root {
  /* paleta Overclock */
  --ground: #000;
  --deep: #050505;
  --ink: #fff;
  --ink-soft: #e5e7eb;
  --muted-2: #9ca3af;
  --muted: #6b7280;
  --faint: #4b5563;
  --faintest: #1f2937;
  --brand: #ef4444;
  --brand-2: #dc2626;
  --live: #22c55e;
  --warn: #eab308;
  --brand-08: #ef444414;
  --brand-30: #ef44444d;
  --brand-40: #ef444466;
  --live-40: #22c55e66;
  --input-bg: #ffffff08;
  /* tipografia */
  --sans: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --mono: "Geist Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;
  --t-h1: clamp(40px, 6vw, 80px);
  --t-h2: clamp(28px, 4vw, 48px);
  --t-h3: 20px;
  --t-body: 16px;
  --t-body-sm: 14px;
  --t-meta: 12px;
  --t-label: 10px;
  --ls-display: -.03em;
  --ls-tight: -.02em;
  --ls-label: .18em;
  --ls-meta: .05em;
  /* forma */
  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 8px;
  --r-xl: 12px;
  --r-pill: 999px;
  --hair: 1px solid var(--faintest);
  --glow-red: 0 0 20px #ef444440;
  --glow-live: 0 0 20px #22c55e40;
  --shadow-os: 0 24px 60px -10px #000000b3;
  /* aliases de compatibilidade (templates do script.js/builder.js) */
  --accent: var(--brand);
  --line: var(--faintest);
  --display: var(--sans);
  --body: var(--sans);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: dark; }

body {
  background: var(--ground);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--t-body);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.mono { font-family: var(--mono); }
em { font-style: normal; color: var(--brand); }
a { color: var(--ink); }
[hidden] { display: none !important; }
::selection { background: var(--brand); color: #fff; }

/* ═══ STATUSBAR · MENU GLOBAL ═══ */
.statusbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; gap: 28px;
  height: 60px; padding: 0 24px;
  background: #000000d1;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-bottom: var(--hair);
}
.statusbar__brand {
  font-family: var(--mono); font-size: var(--t-meta); font-weight: 600;
  letter-spacing: var(--ls-label); color: var(--ink);
  text-decoration: none; white-space: nowrap;
}
.statusbar__brand .cursor { color: var(--brand); animation: blink 1.2s steps(1) infinite; }
@keyframes blink { 0%, 55% { opacity: 1; } 56%, 100% { opacity: 0; } }

.menu { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.menu a {
  font-family: var(--mono); font-size: var(--t-label); font-weight: 500;
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--muted-2); text-decoration: none;
  transition: color .15s;
}
.menu a:hover { color: var(--ink); }
.menu a[aria-current] { color: var(--ink); }
.menu .menu__cta {
  color: var(--brand); border: 1px solid var(--brand-30); border-radius: var(--r-md);
  padding: 7px 12px; transition: background .15s, border-color .15s, color .15s;
}
.menu .menu__cta:hover { background: var(--brand-08); border-color: var(--brand-40); color: var(--brand); }

.statusbar__metrics {
  display: flex; align-items: center; gap: 20px;
  font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--muted);
  padding-left: 24px; border-left: var(--hair); white-space: nowrap;
}
.metric b { color: var(--ink); font-weight: 600; }
.metric--live { color: var(--live); display: inline-flex; align-items: center; gap: 7px; }
.metric--off { color: var(--muted); opacity: .55; }
.pip {
  width: 7px; height: 7px; border-radius: 50%; background: var(--live);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 #22c55e80; }
  50% { box-shadow: 0 0 0 6px #22c55e00; }
}

/* ═══ GATES / SEÇÕES ═══ */
.gate {
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  position: relative;
  padding: clamp(110px, 14vh, 150px) 24px clamp(72px, 10vh, 110px);
}
.gate__inner { max-width: 1120px; margin: 0 auto; width: 100%; position: relative; z-index: 2; }
.gate__inner--narrow { max-width: 760px; }

.gate + .gate { border-top: var(--hair); }

.eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--muted); margin-bottom: 28px;
}
.eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--brand); flex-shrink: 0; }

.gate__headline {
  font-family: var(--sans); font-weight: 600;
  font-size: var(--t-h2); line-height: 1.05;
  letter-spacing: var(--ls-tight); margin-bottom: 24px;
  max-width: 24ch;
}
.gate__body { font-size: 18px; line-height: 1.6; color: var(--muted-2); max-width: 62ch; }
.gate__body a { color: var(--ink); text-decoration-color: var(--faint); text-underline-offset: 3px; transition: color .15s, text-decoration-color .15s; }
.gate__body a:hover { color: var(--brand); text-decoration-color: var(--brand); }
.gate__footnote { margin-top: 40px; font-size: var(--t-body-sm); }
.gate__footnote a {
  font-family: var(--mono); font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  color: var(--muted-2); text-decoration: none; border-bottom: 1px solid var(--faintest);
  padding-bottom: 2px; transition: color .15s, border-color .15s;
}
.gate__footnote a:hover { color: var(--brand); border-color: var(--brand); }
/* ═══ BOTÕES ═══ */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono); font-size: var(--t-body-sm); font-weight: 600;
  letter-spacing: var(--ls-meta);
  color: #fff; background: var(--brand);
  padding: 10px 18px; border: 1px solid transparent; border-radius: var(--r-md);
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: all .15s;
}
.btn:hover { background: var(--brand-2); box-shadow: var(--glow-red); }
.btn--ghost {
  background: transparent; color: var(--muted-2);
  border-color: var(--faintest); margin-top: 32px;
}
.btn--ghost:hover { background: var(--input-bg); border-color: var(--faint); color: var(--ink); box-shadow: none; }
.btn--big { font-size: var(--t-body); padding: 14px 26px; border-radius: var(--r-lg); margin-top: 40px; }

/* ═══ GATE 0 · HERO — os vibecoders são o hero ═══ */
.hero__headline {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(28px, 3.6vw, 44px); line-height: 1.08;
  letter-spacing: var(--ls-tight); margin: 56px 0 20px;
  max-width: 26ch;
}
.hero__headline .reveal-line { display: block; }
.hero__subline {
  font-size: 18px; line-height: 1.6;
  color: var(--muted-2); max-width: 62ch; margin-bottom: 32px;
}
/* entrada por linha, stagger */
.reveal-line {
  opacity: 0; transform: translateY(20px);
  transition: opacity .45s cubic-bezier(.22, 1, .36, 1), transform .45s cubic-bezier(.22, 1, .36, 1);
}
.reveal-line.in { opacity: 1; transform: none; }

/* fundo de estrelas Three.js (hero-cine.js) — atrás do conteúdo, sem clique */
.gate--hero { overflow: hidden; }
#hero-stars { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
#hero-stars canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.hero-shoot {
  position: absolute; top: 0; left: 0; width: 80px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--ink-soft));
  opacity: 0; transform-origin: left center; pointer-events: none;
}
.hero-shoot.is-flying { animation: hero-shoot-fly var(--dur, 900ms) ease-out forwards; }
@keyframes hero-shoot-fly {
  0% { transform: translate(var(--x0), var(--y0)) rotate(var(--rot)); opacity: 0; }
  12% { opacity: .9; }
  70% { opacity: .7; }
  100% { transform: translate(var(--x1), var(--y1)) rotate(var(--rot)); opacity: 0; }
}

/* ═══ BOARD DE STREAK — mora no hero (estilo TrustMRR) ═══ */
.board__rule {
  margin-top: 20px; font-size: var(--t-body-sm); line-height: 1.6;
  color: var(--muted); max-width: 62ch;
}
.board__sort {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-top: 36px;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted);
}
.board__seg {
  display: inline-flex; gap: 2px;
  border: var(--hair); border-radius: var(--r-pill); padding: 3px;
  background: var(--deep);
}
.board__seg button {
  font: inherit; letter-spacing: inherit; text-transform: inherit;
  background: transparent; color: var(--muted-2);
  border: 1px solid transparent; border-radius: var(--r-pill);
  padding: 6px 14px; cursor: pointer;
  transition: all .15s;
}
.board__seg button:hover { color: var(--ink); }
.board__seg button.on { background: var(--brand); color: #fff; box-shadow: var(--glow-red); }
.board__sortcap {
  margin-top: 12px;
  font-size: 11px; letter-spacing: var(--ls-meta); color: var(--muted);
}
.board { margin-top: 20px; border-top: var(--hair); }
.board__foot {
  margin-top: 20px;
  font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--faint);
}

/* estado vazio honesto */
.board__empty {
  border: var(--hair); border-radius: var(--r-xl);
  background: var(--deep);
  padding: clamp(24px, 4vw, 44px);
}
.board__grid {
  display: grid; grid-template-columns: repeat(14, 1fr); gap: 6px;
  max-width: 460px; margin-bottom: 24px;
}
.board__grid span {
  aspect-ratio: 1; border-radius: 3px;
  background: var(--input-bg); border: 1px solid #ffffff0d;
}
.board__grid .you {
  background: transparent;
  border: 1px dashed var(--brand-40);
  animation: you-blink 2.2s ease-in-out infinite;
}
@keyframes you-blink { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.board__empty-title {
  font-family: var(--sans); font-weight: 600;
  font-size: var(--t-h3); letter-spacing: var(--ls-tight);
}
.board__empty-sub { color: var(--muted-2); margin-top: 10px; max-width: 52ch; line-height: 1.6; font-size: var(--t-body-sm); }
.board__microcopy {
  margin-top: 32px; font-size: var(--t-body-sm); color: var(--muted-2); font-style: italic;
}
.board__microcopy .mono {
  font-style: normal; font-size: var(--t-label);
  letter-spacing: var(--ls-label); color: var(--brand);
}

/* ═══ AS PREMIAÇÕES — escada do que o streak destrava ═══ */
.premios { margin-top: 56px; border-top: var(--hair); }
.premio {
  display: grid; grid-template-columns: 170px 1fr; gap: 24px;
  padding: 30px 0; border-bottom: var(--hair);
}
.premio__gate {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  color: var(--brand); padding-top: 4px; white-space: nowrap;
}
.premio__tit { font-family: var(--sans); font-weight: 600; font-size: 18px; letter-spacing: var(--ls-tight); }
.premio__txt { margin-top: 8px; font-size: var(--t-body-sm); color: var(--muted); max-width: 58ch; line-height: 1.6; }
@media (max-width: 700px) {
  .premio { grid-template-columns: 1fr; gap: 8px; }
}

/* linha do ranking — lista tipo leaderboard (rank · quem · timeline · números · status) */
.builder {
  position: relative;
  display: grid;
  /* trilhas fixas: cada linha é um grid independente — coluna "auto" desalinha entre linhas */
  grid-template-columns: 2.2em 48px minmax(0, 1fr) 165px 240px 150px;
  align-items: center; gap: 16px;
  padding: 18px 12px;
  border-bottom: var(--hair);
  text-decoration: none; color: inherit;
  transition: background .15s;
}
.builder:hover { background: var(--input-bg); }
.builder.is-live { box-shadow: inset 3px 0 0 var(--live); }
.builder__rank { font-size: var(--t-meta); color: var(--faint); letter-spacing: var(--ls-meta); }
.builder__ava {
  width: 48px; height: 48px; border-radius: 50%; object-fit: cover;
  border: var(--hair); flex-shrink: 0;
}
.builder.is-live .builder__ava { border-color: var(--live-40); }
.builder__id { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.builder__nome { font-family: var(--sans); font-weight: 600; font-size: 16px; letter-spacing: var(--ls-tight); }
.builder__canal { font-size: var(--t-meta); color: var(--muted); letter-spacing: var(--ls-meta); }
.builder__vende {
  font-size: var(--t-label); letter-spacing: var(--ls-label); color: var(--brand);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* corte do overflow come os dias ANTIGOS (esquerda) — o fim do grid é sempre hoje */
.builder__grid {
  display: flex; gap: 3px; min-width: 0; overflow: hidden;
  justify-content: flex-end;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px);
  mask-image: linear-gradient(90deg, transparent 0, #000 28px);
}
.builder__grid span {
  width: 9px; height: 9px; border-radius: 2px; flex-shrink: 0;
  background: var(--input-bg); border: 1px solid #ffffff0a;
}
.builder__grid span.on { background: var(--brand); border-color: var(--brand); }
.builder__nums {
  display: flex; flex-direction: column; align-items: flex-end; gap: 4px;
  text-align: right; white-space: nowrap;
}
.builder__streak { font-size: var(--t-body-sm); font-weight: 600; color: var(--ink); letter-spacing: var(--ls-meta); }
.builder__streak em { font-style: normal; color: var(--brand); }
.builder.is-auge .builder__streak em { color: var(--live); }
.builder__auge {
  font-style: normal; font-size: var(--t-label);
  letter-spacing: var(--ls-label); color: var(--live);
  white-space: nowrap;
}
.builder__hours { font-size: 11px; color: var(--muted-2); letter-spacing: var(--ls-meta); }
.builder__status {
  font-family: var(--mono); font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  color: var(--muted-2); justify-self: end; text-align: right;
}
.builder__status--live { color: var(--live); }
.builder__status--off { color: var(--muted); }
@media (max-width: 900px) {
  .builder { grid-template-columns: 2.2em auto 1fr auto; row-gap: 12px; }
  .builder__id { min-width: 0; }
  .builder__grid { grid-column: 1 / -1; }
  /* nums e status dividem a última linha — sem sobreposição (nums largava na coluna de 2.2em) */
  .builder__nums { align-items: flex-start; text-align: left; grid-column: 1 / -2; white-space: normal; min-width: 0; }
  .builder__status { justify-self: end; grid-column: -2 / -1; }
}

/* tooltip com a ficha — hover revela, nunca modal */
.builder__tip {
  position: absolute; bottom: calc(100% + 10px); left: 22px; z-index: 20;
  display: flex; flex-direction: column; gap: 4px;
  background: #08080a; border: var(--hair); border-radius: var(--r-lg);
  box-shadow: var(--shadow-os);
  padding: 14px 16px; min-width: 260px;
  font-family: var(--mono); font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  color: var(--muted-2);
  opacity: 0; pointer-events: none; transform: translateY(4px);
  transition: opacity .15s, transform .15s;
}
.builder__tip span:first-child {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand); margin-bottom: 2px;
}
.builder__tip span:last-child { color: var(--ink); margin-top: 4px; }
.builder:hover .builder__tip { opacity: 1; transform: none; }

/* ═══ GATE 2 · MANUSCRIPT ═══ */
.gate--manuscript .gate__headline { margin-bottom: 48px; }
.manuscript { border-left: 2px solid var(--brand-30); padding-left: clamp(20px, 4vw, 48px); }
.manuscript p {
  font-family: var(--sans); font-weight: 500;
  font-size: clamp(24px, 3.2vw, 38px); line-height: 1.35;
  letter-spacing: var(--ls-tight); margin-bottom: 28px;
}
.manuscript__lead { color: var(--brand); font-weight: 600; }
.manuscript__close { color: var(--muted-2); font-size: clamp(17px, 2vw, 22px); margin-top: 44px; font-weight: 400; }

/* ═══ GATE 3 · LEDGER ═══ */
.ledger { list-style: none; margin-top: 16px; border-top: var(--hair); }
.ledger li {
  display: flex; align-items: baseline; gap: clamp(14px, 3vw, 34px);
  padding: 24px 8px;
  border-bottom: var(--hair);
  transition: background .15s;
}
.ledger li:hover { background: var(--input-bg); }
.ledger__n { font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--brand); min-width: 2.2em; }
.ledger__txt {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(20px, 2.8vw, 34px); letter-spacing: var(--ls-tight); line-height: 1.22;
}
.ledger__new .ledger__n { color: var(--live); }
.ledger__tag {
  margin-left: auto; font-size: var(--t-label); letter-spacing: var(--ls-label);
  color: var(--live); border: 1px solid var(--live-40);
  padding: 1px 6px; border-radius: var(--r-sm); white-space: nowrap;
}

/* ═══ GATE 4 · CTA FINAL ═══ */
.gate--cta { text-align: center; }
.gate--cta .gate__inner { display: flex; flex-direction: column; align-items: center; }
.cta__headline {
  font-family: var(--sans); font-weight: 600;
  font-size: var(--t-h1); line-height: 1.02; letter-spacing: var(--ls-display);
  max-width: 20ch;
}
.cta__hint { margin-top: 24px; font-size: var(--t-label); letter-spacing: .25em; color: var(--muted); }

/* ═══ FOOTER ═══ */
.footer {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 28px 24px; border-top: var(--hair);
  font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--muted);
}
.footer a { color: var(--muted-2); text-decoration: none; transition: color .15s; }
.footer a:hover { color: var(--ink); }

/* ═══ PÁGINA DO BUILDER (/b/<handle>) ═══ */
.bpage .gate, .lpage .gate { min-height: auto; padding: 140px 24px 96px; }
.ficha__head { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
.ficha__ava {
  width: 96px; height: 96px; border-radius: 50%; object-fit: cover;
  border: var(--hair); flex-shrink: 0;
}
.ficha__head .gate__headline { margin-bottom: 10px; }
.ficha__stats { margin-top: 14px; color: var(--muted-2); }

/* bloco de estatísticas do acervo — o status completo do builder */
.ficha__bar {
  display: flex; gap: clamp(20px, 3vw, 40px); align-items: center; flex-wrap: wrap;
  margin-top: 24px; padding: 20px 24px;
  border: var(--hair); border-radius: var(--r-xl); background: var(--deep);
}
.ficha__bar span {
  display: flex; flex-direction: column; gap: 5px;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted);
}
.ficha__bar b {
  font-family: var(--sans); font-size: 24px; font-weight: 600;
  letter-spacing: var(--ls-tight); color: var(--ink);
}
.ficha__bar .ficha__bar-datas {
  margin-left: auto; text-transform: none;
  font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted-2);
}
@media (max-width: 720px) { .ficha__bar .ficha__bar-datas { margin-left: 0; } }

/* seção perfil (perfil.md convertido no builder.js) */
.perfil { max-width: 68ch; }
.perfil h2 {
  font-family: var(--sans); font-weight: 600;
  font-size: var(--t-h3); letter-spacing: var(--ls-tight);
  margin: 32px 0 12px;
}
.perfil h3 {
  font-family: var(--mono); font-size: var(--t-meta); font-weight: 500;
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--brand); margin: 28px 0 12px;
}
.perfil p { color: var(--muted-2); line-height: 1.7; margin: 12px 0; }
.perfil strong { color: var(--ink); font-weight: 600; }
.perfil i { font-style: italic; }
.perfil code {
  font-family: var(--mono); font-size: .88em;
  background: var(--input-bg); border: var(--hair);
  border-radius: var(--r-sm); padding: 1px 5px;
}
.perfil ul { margin: 12px 0 12px 20px; color: var(--muted-2); line-height: 1.7; }
.perfil li { margin: 4px 0; }
.perfil blockquote {
  border-left: 2px solid var(--brand-30);
  padding: 4px 0 4px 16px; margin: 14px 0;
  color: var(--ink-soft); font-style: italic; line-height: 1.6;
}
.perfil__pre {
  border: var(--hair); border-radius: var(--r-lg); background: var(--deep);
  padding: 16px 18px; margin: 14px 0;
  font-size: var(--t-meta); line-height: 1.7; color: var(--ink-soft);
  overflow-x: auto; white-space: pre;
}

.diario__dia {
  border-left: 2px solid var(--faintest);
  padding: 0 0 24px 24px; margin: 24px 0;
}
.diario__dia h3 {
  font-size: var(--t-meta); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand); margin-bottom: 12px;
}
.diario__dia p { color: var(--muted-2); line-height: 1.65; margin: 8px 0; max-width: 68ch; }
.diario__dia p.mono { font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted); }
.diario__dia blockquote {
  border-left: 2px solid var(--brand-30);
  padding: 4px 0 4px 16px; margin: 12px 0;
  color: var(--ink-soft); font-style: italic; line-height: 1.6;
}
.diario__dia a { color: var(--muted-2); transition: color .15s; }
.diario__dia a:hover { color: var(--brand); }
.diario__thumb {
  width: 260px; max-width: 100%; aspect-ratio: 16/9; object-fit: cover;
  border-radius: var(--r-lg); border: var(--hair); display: block; margin: 10px 0;
  transition: border-color .15s;
}
a:hover .diario__thumb { border-color: var(--faint); }

.acervo__item {
  display: flex; gap: 16px; align-items: center;
  padding: 14px 8px; border-bottom: var(--hair); flex-wrap: wrap;
  transition: background .15s;
}
.acervo__item:hover { background: var(--input-bg); }
.acervo__item a { flex: 1 1 12rem; color: var(--ink-soft); text-decoration: none; transition: color .15s; }
.acervo__item a:hover { color: var(--brand); }
.acervo__item a.acervo__thumblink { flex: 0 0 auto; }
.acervo__item span.mono { font-size: var(--t-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--muted); }
.acervo__pend { color: var(--warn) !important; }
.acervo__thumb {
  width: 120px; aspect-ratio: 16/9; object-fit: cover;
  border-radius: var(--r-md); border: var(--hair); display: block;
  transition: border-color .15s;
}
a:hover .acervo__thumb { border-color: var(--faint); }

/* ═══ PÁGINA DE LIVE (/b/<handle>/l/<videoId>) ═══ */
.live__crumb { margin-bottom: 24px; }
.live__crumb a {
  font-family: var(--mono); font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  color: var(--muted-2); text-decoration: none; transition: color .15s;
}
.live__crumb a:hover { color: var(--brand); }
.live__thumb {
  width: 100%; aspect-ratio: 16/9; object-fit: cover;
  border-radius: var(--r-xl); border: var(--hair); display: block;
  background: var(--deep);
}
.live__title {
  font-family: var(--sans); font-weight: 600;
  font-size: var(--t-h2); line-height: 1.08; letter-spacing: var(--ls-tight);
  margin: 28px 0 16px; max-width: 28ch;
}
.live__meta {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  font-family: var(--mono); font-size: var(--t-meta);
  letter-spacing: var(--ls-meta); color: var(--muted-2);
  margin-bottom: 28px;
}
.live__badge { padding: 1px 6px; border-radius: var(--r-sm); font-size: var(--t-label); letter-spacing: var(--ls-label); text-transform: uppercase; }
.live__badge--ok { color: var(--live); border: 1px solid var(--live-40); }
.live__badge--pend { color: var(--warn); border: 1px solid #eab30866; }
.live__badge--off { color: var(--muted); border: 1px solid var(--faintest); }
.live__aviso {
  border: var(--hair); border-radius: var(--r-lg);
  background: var(--deep);
  padding: 16px 20px; margin: 0 0 28px;
  font-family: var(--mono); font-size: var(--t-meta);
  letter-spacing: var(--ls-meta); line-height: 1.7; color: var(--muted-2);
}
.live__aviso strong { color: var(--warn); font-weight: 600; letter-spacing: var(--ls-label); }
.live__corpo { max-width: 68ch; }
.live__corpo p {
  font-size: 17px; line-height: 1.75; color: var(--ink-soft);
  margin-bottom: 22px;
}
.live__actions { margin: 32px 0; display: flex; gap: 12px; flex-wrap: wrap; }
.live__actions .btn--ghost { margin-top: 0; }

/* ═══ POST SEO — o artigo do dia, renderizado do markdown do loop ═══ */
.live__post { max-width: 68ch; margin: 48px 0 64px; }
.live__post h2 {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(20px, 2.4vw, 28px); letter-spacing: var(--ls-tight);
  line-height: 1.25; margin: 44px 0 16px;
}
.live__post h3 { font-weight: 600; font-size: 18px; line-height: 1.35; margin: 32px 0 12px; }
.live__post p { font-size: 17px; line-height: 1.75; color: var(--ink-soft); margin: 0 0 22px; }
.live__post > p:first-child { font-family: var(--mono); font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted-2); }
.live__post blockquote {
  border-left: 2px solid var(--brand-30);
  padding: 0.5em 0 0.5em 1.2em; margin: 24px 0 28px;
}
.live__post blockquote p { color: var(--ink); font-size: 17px; line-height: 1.6; margin: 0; }
.live__post a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--brand-30); text-underline-offset: 3px; }
.live__post a:hover { color: var(--brand); }

/* ═══ MANIFESTO / LEIS (texto verbatim — só estilo) ═══ */
.creed { margin: 48px 0; padding-bottom: 40px; border-bottom: var(--hair); }
.creed h2 {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(20px, 2.4vw, 28px); letter-spacing: var(--ls-tight);
  margin-bottom: 16px; line-height: 1.25;
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
}
.creed blockquote {
  border-left: 2px solid var(--brand-30);
  padding: 0.5em 0 0.5em 1.2em; margin: 16px 0 20px;
  color: var(--ink); font-size: 17px; line-height: 1.6;
}
.creed p { line-height: 1.65; color: var(--muted-2); margin: 12px 0; }
.creed p.mono { color: var(--ink-soft); margin-top: 20px; font-size: var(--t-meta); letter-spacing: var(--ls-meta); }
.creed table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.creed th, .creed td {
  text-align: left; padding: 0.85em 0.6em;
  border-bottom: var(--hair); line-height: 1.5; color: var(--muted-2);
}
.creed th {
  color: var(--ink); font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: var(--ls-label); text-transform: uppercase;
}
.leis-intro { font-style: italic; color: var(--muted); line-height: 1.65; margin: 20px 0 40px; max-width: 62ch; }

/* ═══ RESPONSIVO ═══ */
@media (max-width: 960px) {
  .statusbar__metrics { display: none; }
}
@media (max-width: 720px) {
  .statusbar { gap: 16px; padding: 0 16px; height: 52px; }
  .menu { gap: 14px; }
  .menu a { letter-spacing: .1em; }
  .menu .menu__cta { padding: 5px 8px; }
  .board { grid-template-columns: 1fr; }
  .board__grid { grid-template-columns: repeat(7, 1fr); }
  .builder__tip { display: none; }
  .hero__headline { margin-top: 40px; }
}

/* ═══ MOTION SEGURO ═══ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal-line { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ═══════════════════════════════════════════════
   institucional — /manifesto e /leis
   Tudo escopado em .inst pra não vazar na home.
   Texto é citação: o CSS trata, nunca reescreve.
   ═══════════════════════════════════════════════ */

.inst .gate { min-height: auto; padding: clamp(108px, 13vh, 148px) 24px clamp(72px, 9vh, 104px); }
/* uma coluna só nas duas camadas: a margem esquerda nunca pula entre seções */
.inst__inner { max-width: 1000px; }
.inst .eyebrow { margin-bottom: 36px; }

/* ── camada 1 · declaração tribal (peça recitável) ── */
.inst__gate--tribal { padding-bottom: clamp(88px, 11vh, 130px) !important; }
/* a peça é pra ser recitada: a coluna é larga o bastante pra cada
   verso caber numa linha só — quando quebra, quebra com recuo */
.tribal { margin-top: 8px; }

.tribal__open {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(34px, 5.4vw, 64px); line-height: .98;
  letter-spacing: var(--ls-display);
  color: var(--ink); margin-bottom: clamp(44px, 6vh, 64px);
}

.tribal__stanza {
  position: relative;
  font-family: var(--sans); font-weight: 500;
  font-size: clamp(18px, 2.25vw, 28px); line-height: 1.38;
  letter-spacing: var(--ls-tight);
  color: var(--ink-soft);
  margin: 0 0 clamp(34px, 4.6vh, 46px);
  padding-top: 26px;
  max-width: 52ch;
}
.tribal__line { display: block; padding-left: 1.1em; text-indent: -1.1em; }
.tribal__stanza::before {
  content: ""; position: absolute; top: 0; left: 0;
  width: 22px; height: 1px; background: var(--faintest);
}

.tribal__end {
  margin-top: clamp(52px, 7vh, 76px); padding-top: clamp(48px, 6vh, 68px);
  border-top: var(--hair);
}
.tribal__end .tribal__open { margin-bottom: 32px; }
.tribal__stanza--close {
  padding-top: 0; color: var(--brand); font-weight: 600;
}
.tribal__stanza--close::before { display: none; }

/* ── o que se pede de quem entra + CTA ── */
.entra__lead { color: var(--muted-2); font-size: 18px; line-height: 1.6; }
.entra__quote {
  border-left: 2px solid var(--brand-30);
  padding: 4px 0 4px clamp(16px, 3vw, 28px); margin: 20px 0 24px;
  font-family: var(--sans); font-weight: 500;
  font-size: clamp(19px, 2vw, 26px); line-height: 1.4;
  letter-spacing: var(--ls-tight); color: var(--ink);
  max-width: 40ch;
}
.entra__quote strong { font-weight: 600; }
.entra__quote cite {
  display: block; margin-top: 14px; font-style: normal; font-weight: 400;
  font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted);
}
.entra__body { color: var(--muted-2); font-size: 18px; line-height: 1.6; max-width: 62ch; }

.inst__cta { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 8px; }
.inst__cta .btn--big { margin-top: 40px; }
.inst__cta-alt {
  margin-top: 40px;
  font-family: var(--mono); font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  color: var(--muted-2); text-decoration: none;
  border-bottom: 1px solid var(--faintest); padding-bottom: 3px;
}
.inst__cta-alt:hover { color: var(--brand); border-color: var(--brand); }

/* sem entrada, sem reveal, sem transição: o texto já está lá quando abre */

/* ── camada 2 · crenças e leis ── */
/* prosa fica na medida de leitura dentro da coluna larga */
.inst .creed, .inst .leis-intro, .inst__next { max-width: 720px; }
.inst .creed:first-of-type { margin-top: 40px; }
.inst .creed--last { border-bottom: 0; padding-bottom: 8px; }
.inst .creed blockquote strong { color: var(--ink); font-weight: 600; }
.inst .creed p strong { color: var(--ink-soft); font-weight: 600; }
.inst .creed td i, .inst .creed p i, .inst .creed blockquote i { font-style: italic; }

/* segundo bloco dentro de uma lei (ex.: crença 7 dentro da Lei 7) */
.creed__sub { margin-top: 38px; padding-top: 30px; border-top: var(--hair); }
.inst .creed__sub h3 {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(18px, 2vw, 22px); letter-spacing: var(--ls-tight);
  line-height: 1.3; color: var(--ink); margin-bottom: 14px;
}

/* ── bloco NA LINHAGEM (leis 1, 2, 8, 9) ── */
.linhagem {
  display: block; margin: 26px 0 4px;
  padding: 22px 24px 20px;
  border: var(--hair); border-left: 2px solid var(--brand-30);
  border-radius: var(--r-lg);
  background: var(--deep);
}
/* especificidade alta de propósito: .creed p.mono vem antes e roubaria a cor */
.inst .creed p.linhagem__label {
  display: flex; align-items: center; gap: 10px;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand);
  margin: 0 0 16px;
}
.linhagem__label::after {
  content: ""; flex: 1; height: 1px; background: var(--faintest);
}
.inst .linhagem__quote {
  border: 0; margin: 0; padding: 0;
  font-size: 16px; line-height: 1.6; color: var(--ink);
}
.linhagem__quote cite {
  display: block; margin-top: 12px; font-style: normal;
  font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted-2);
}
/* marca da tradução — o original é em inglês e isso fica dito */
.inst .creed p.linhagem__trad {
  margin: 10px 0 0;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--faint);
}
.inst .linhagem__who {
  margin: 18px 0 0; padding-top: 16px; border-top: var(--hair);
  font-size: var(--t-body-sm); line-height: 1.6; color: var(--muted-2);
}
.inst .creed p.linhagem__who strong { color: var(--ink); font-weight: 600; }
.inst .linhagem__tie {
  margin: 10px 0 0;
  font-size: var(--t-body-sm); line-height: 1.6; color: var(--ink-soft);
}

/* ── ponte entre as duas páginas ── */
.inst__next { margin-top: 56px; padding-top: 32px; border-top: var(--hair); }
.inst__next-link {
  display: inline-flex; flex-direction: column; gap: 10px;
  text-decoration: none; color: inherit;
}
.inst__next-link .mono {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted);
}
.inst__next-link b {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(20px, 2.4vw, 28px); letter-spacing: var(--ls-tight);
  color: var(--ink);
}
.inst__next-link:hover .mono { color: var(--brand); }
.inst__next-link:hover b { color: var(--brand); }

@media (max-width: 720px) {
  .inst .gate { padding-left: 20px; padding-right: 20px; }
  .tribal__stanza { max-width: none; padding-top: 20px; }
  .linhagem { padding: 18px 18px 16px; }
}

/* ── imprimível: a declaração vira pôster, o resto some ── */
@media print {
  .inst .statusbar, .inst .footer, .inst__gate--entra { display: none; }
  body.inst { background: #fff; color: #000; }
  .inst .gate { min-height: 0; padding: 0; display: block; }
  .inst .eyebrow { color: #666; }
  .inst .eyebrow::before { background: #000; }
  .inst .tribal__open { color: #000; }
  .inst .tribal__stanza { color: #111; break-inside: avoid; }
  .inst .tribal__stanza::before { background: #ccc; }
  .inst .tribal__stanza--close { color: #000; }
  .inst .tribal__end { border-top-color: #ccc; }
}


/* ═══════════════════════════════════════════════════════════════
   builder page — /b/<handle> · ficha cockpit, perfil, diário, acervo
   (bloco próprio, sobrescreve por cascata as regras anteriores)
   ═══════════════════════════════════════════════════════════════ */

.bpage .gate { min-height: auto; padding: 88px 24px; justify-content: flex-start; }
.bpage .gate--ficha { padding-top: 128px; }
.bpage .gate:last-of-type { padding-bottom: 120px; }

.bsec__title {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(26px, 3.2vw, 40px); line-height: 1.06;
  letter-spacing: var(--ls-tight); max-width: 22ch; margin-bottom: 16px;
}
.bsec__lead { font-size: 17px; line-height: 1.6; color: var(--muted-2); max-width: 62ch; margin-bottom: 44px; }
.bsec__vazio { font-size: 16px; line-height: 1.65; color: var(--muted); max-width: 62ch; }

/* ── 1 · ficha ───────────────────────────────────────────────── */
.ficha__head { display: flex; gap: 40px; align-items: flex-start; flex-wrap: wrap; }
.ficha__ava {
  width: 132px; height: 132px; flex-shrink: 0;
  border-radius: var(--r-xl); border: var(--hair);
  object-fit: cover; background: var(--deep);
}
.ficha__ava--vazio {
  display: flex; align-items: center; justify-content: center;
  color: var(--faint); font-size: 32px;
}
.ficha__id { flex: 1 1 22rem; min-width: 0; }
.ficha__nome {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(36px, 5vw, 64px); line-height: .98;
  letter-spacing: var(--ls-display); margin-bottom: 12px;
}
.ficha__canal { font-size: var(--t-body-sm); letter-spacing: var(--ls-meta); margin-bottom: 18px; }
.ficha__canal a { color: var(--muted-2); text-decoration: none; }
.ficha__canal a:hover { color: var(--brand); }

.bstatus {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: var(--ls-label); text-transform: uppercase;
  padding: 4px 10px; border-radius: var(--r-sm); border: 1px solid var(--faintest);
  color: var(--muted);
}
.bstatus--live { color: var(--live); border-color: var(--live-40); box-shadow: var(--glow-live); }
.bstatus--hoje { color: var(--ink-soft); border-color: var(--faint); }
.bstatus__pip {
  width: 6px; height: 6px; border-radius: 50%; background: var(--live);
  animation: pulse 1.6s ease-in-out infinite;
}

.ficha__vende { margin-top: 22px; font-size: 17px; line-height: 1.55; color: var(--ink); max-width: 56ch; }
.ficha__vende--vazio { color: var(--muted); }
.ficha__vende-lab {
  display: block; font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand); margin-bottom: 6px;
}
.ficha__vende--vazio .ficha__vende-lab { color: var(--muted); }
.ficha__nota {
  display: block; margin-top: 8px; font-size: var(--t-body-sm);
  line-height: 1.6; color: var(--faint); max-width: 54ch;
}
.ficha__cta { margin-top: 28px; font-size: var(--t-body); padding: 13px 24px; border-radius: var(--r-lg); }

/* ── 2 · cockpit de stats ────────────────────────────────────── */
.cockpit {
  margin-top: 64px; display: grid; gap: 1px;
  grid-template-columns: repeat(7, 1fr);
  background: var(--faintest); border: var(--hair); border-radius: var(--r-lg);
  overflow: hidden;
}
.cockpit__cell {
  position: relative; background: var(--ground);
  padding: 22px 18px 20px;
  display: flex; flex-direction: column; gap: 8px;
}
.cockpit__cell:hover { background: var(--deep); }
.cockpit__num {
  font-size: clamp(28px, 3.2vw, 40px); font-weight: 500;
  line-height: 1; letter-spacing: var(--ls-tight); color: var(--ink);
}
.cockpit__num--data { font-size: clamp(14px, 1.5vw, 18px); letter-spacing: var(--ls-meta); color: var(--ink-soft); }
.cockpit__lab {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted);
}
.cockpit__cell--auge { background: var(--brand-08); }
.cockpit__cell--auge:hover { background: #ef44441f; }
.cockpit__cell--auge .cockpit__num { color: var(--brand); }
.cockpit__selo {
  position: absolute; top: 10px; right: 10px;
  font-size: 9px; letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--brand); border: 1px solid var(--brand-30);
  border-radius: var(--r-sm); padding: 2px 6px;
}

/* ── 3 · perfil ──────────────────────────────────────────────── */
/* prosa em coluna estreita; só o bloco de código da ficha respira mais largo */
.perfil { max-width: 100%; }
.perfil h2, .perfil h3, .perfil p, .perfil ul, .perfil blockquote { max-width: 68ch; }
.perfil h2 {
  font-family: var(--sans); font-weight: 600; font-size: 26px;
  letter-spacing: var(--ls-tight); margin: 48px 0 14px;
}
.perfil h3 {
  font-family: var(--mono); font-size: var(--t-meta);
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--brand); margin: 40px 0 14px;
}
.perfil h3:first-child { margin-top: 0; }
.perfil p { color: var(--muted-2); line-height: 1.75; margin: 14px 0; font-size: 17px; }
.perfil strong { color: var(--ink); font-weight: 600; }
.perfil i { font-style: italic; color: var(--ink-soft); }
.perfil code {
  font-family: var(--mono); font-size: 13px; color: var(--ink-soft);
  background: var(--input-bg); border-radius: var(--r-sm); padding: 1px 5px;
}
.perfil ul { margin: 14px 0 14px 18px; color: var(--muted-2); line-height: 1.75; }
.perfil li { margin: 6px 0; padding-left: 4px; }
.perfil li::marker { color: var(--brand); }
.perfil blockquote {
  border-left: 2px solid var(--brand-30); padding: 4px 0 4px 18px;
  margin: 20px 0; color: var(--ink-soft); font-size: 17px; line-height: 1.6;
}
.perfil__pre {
  font-family: var(--mono); font-size: 12.5px; line-height: 1.75;
  color: var(--ink-soft); background: var(--deep);
  border: var(--hair); border-left: 2px solid var(--brand-30);
  border-radius: var(--r-lg); padding: 20px 22px; margin: 24px 0;
  overflow-x: auto; white-space: pre; max-width: min(100%, 880px);
}

/* ── 4 · diário da trincheira ────────────────────────────────── */
.dia {
  display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px;
  padding: 36px 0; border-top: var(--hair); align-items: start;
}
.dia:first-child { border-top: none; padding-top: 0; }
.dia__data { font-size: var(--t-meta); letter-spacing: var(--ls-label); color: var(--muted); margin-bottom: 12px; }
.dia__thumblink { display: block; }
.dia__thumb {
  width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block;
  border-radius: var(--r-lg); border: var(--hair); background: var(--deep);
}
.dia__thumblink:hover .dia__thumb { border-color: var(--faint); }

.dia__apr { border-left: 2px solid var(--brand); padding-left: 20px; margin-bottom: 24px; }
.dia__apr-lab {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand); margin-bottom: 10px;
}
.dia__apr-txt {
  font-family: var(--sans); font-weight: 500;
  font-size: clamp(18px, 1.6vw, 21px); line-height: 1.45;
  letter-spacing: var(--ls-tight); color: var(--ink); max-width: 48ch;
}
.dia__resumo { color: var(--muted-2); line-height: 1.72; font-size: 16px; max-width: 66ch; }
.dia__cit {
  margin: 22px 0; padding: 0 0 0 18px; border-left: 1px solid var(--faintest);
  color: var(--ink-soft); font-size: 16px; line-height: 1.6; font-style: italic; max-width: 60ch;
}
.dia__cit::before { content: "“"; }
.dia__cit::after { content: "”"; }
.dia__meta {
  margin-top: 18px; font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  color: var(--muted-2); line-height: 1.7; max-width: 64ch;
  padding-left: 18px; border-left: 1px solid var(--faintest);
}
.dia__meta + .dia__meta { margin-top: 10px; }
.dia__meta-lab {
  display: block; font-size: 9px; letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted); margin-bottom: 3px;
}
.dia__link {
  display: inline-block; margin-top: 22px;
  font-size: var(--t-label); letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--muted-2); text-decoration: none;
  border-bottom: 1px solid var(--faintest); padding-bottom: 3px;
}
.dia__link:hover { color: var(--brand); border-color: var(--brand); }
/* CTA da entrada do diário: botão de verdade — o post interno vem antes do YouTube */
.dia__btn {
  margin-top: 24px; font-size: var(--t-label);
  letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--ink);
}

.lacuna {
  border: var(--hair); border-left: 2px solid var(--brand-30);
  border-radius: var(--r-lg); background: var(--deep); padding: 26px 28px; max-width: 66ch;
}
.lacuna__tit {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand); margin-bottom: 12px;
}
.lacuna p:not(.lacuna__tit) { color: var(--muted-2); line-height: 1.7; font-size: 16px; }

/* ── 5 · acervo ──────────────────────────────────────────────── */
.acv {
  display: grid; grid-template-columns: 120px 92px minmax(0, 1fr) 56px 150px;
  gap: 20px; align-items: center;
  padding: 14px; border-bottom: var(--hair);
  text-decoration: none;
}
.acv:hover { background: var(--input-bg); }
.acv__thumb {
  width: 120px; aspect-ratio: 16/9; object-fit: cover; display: block;
  border-radius: var(--r-md); border: var(--hair); background: var(--deep);
}
.acv:hover .acv__thumb { border-color: var(--faint); }
.acv__data { font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted); }
.acv__tit {
  font-size: var(--t-body-sm); line-height: 1.45; color: var(--ink-soft);
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.acv:hover .acv__tit { color: var(--ink); }
.acv__dur { font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted); text-align: right; }
.acv__views { display: block; font-style: normal; font-size: 10px; margin-top: 3px; color: var(--muted-2); }
.acv__badge {
  justify-self: end; text-align: center;
  font-size: 9px; letter-spacing: var(--ls-label); text-transform: uppercase;
  border-radius: var(--r-sm); padding: 3px 8px; border: 1px solid var(--faintest); white-space: nowrap;
}
.acv__badge--ok { color: var(--live); border-color: var(--live-40); }
.acv__badge--pend { color: var(--warn); border-color: #eab30866; }
.acv__badge--off { color: var(--muted); border-color: var(--faintest); }

/* ── responsivo ──────────────────────────────────────────────── */
@media (max-width: 900px) {
  .cockpit { grid-template-columns: repeat(3, 1fr); }
  .dia { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
  .acv { grid-template-columns: 100px minmax(0, 1fr) 130px; row-gap: 8px; align-items: start; }
  .acv__thumb { width: 100px; grid-column: 1; grid-row: 1 / span 2; }
  .acv__data { grid-column: 2; }
  .acv__tit { grid-column: 2; grid-row: 2; }
  .acv__dur { grid-column: 3; grid-row: 2; text-align: right; }
  .acv__badge { grid-column: 3; grid-row: 1; }
}
@media (max-width: 640px) {
  .bpage .gate { padding: 64px 20px; }
  .bpage .gate--ficha { padding-top: 96px; }
  .cockpit { grid-template-columns: repeat(2, 1fr); }
  .ficha__head { gap: 24px; }
  .ficha__ava { width: 88px; height: 88px; }
  .dia { grid-template-columns: 1fr; gap: 20px; }
  .dia__aside { display: flex; align-items: center; gap: 14px; }
  .dia__data { margin-bottom: 0; }
  .dia__thumblink { flex: 0 0 132px; }
}
.bpage .cursor { color: var(--brand); }

/* ═══════════════════════════════════════════════
   live page — o post do dia (/b/<handle>/l/<videoId>)
   Hierarquia: título/meta → APRENDIZADO DO DIA (a estrela)
   → o que aconteceu → transcrição → série → malha.
   ═══════════════════════════════════════════════ */
.gate__inner--post { max-width: 820px; }
.lpage .gate { min-height: auto; padding: clamp(110px, 13vh, 140px) 24px 96px; }

.live { animation: live-in .45s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes live-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ── trilha de migalhas: a malha começa aqui ── */
.live__crumb {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  color: var(--faint); margin-bottom: 32px;
}
.live__crumb a { color: var(--muted-2); text-decoration: none; transition: color .15s; }
.live__crumb a:hover { color: var(--brand); }
.live__crumb-atual { color: var(--muted); }

/* ── cabeçalho do post ── */
.live__head .eyebrow { margin-bottom: 20px; }
.live__title {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(32px, 4.6vw, 54px); line-height: 1.05;
  letter-spacing: var(--ls-display); color: var(--ink);
  margin: 0 0 20px; max-width: 20ch;
}
.live__meta {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  font-family: var(--mono); font-size: var(--t-meta);
  letter-spacing: var(--ls-meta); color: var(--muted); margin: 0 0 32px;
}
.live__meta time { color: var(--ink-soft); }
.live__meta a { color: var(--muted-2); text-decoration: none; transition: color .15s; }
.live__meta a:hover { color: var(--brand); }

/* ── thumbnail grande: o pôster do dia ── */
.live__hero {
  display: block; position: relative; overflow: hidden;
  border: var(--hair); border-radius: var(--r-xl);
  background: var(--deep); transition: border-color .15s;
}
.live__hero:hover { border-color: var(--faint); }
.live__hero .live__thumb { border: 0; border-radius: 0; }
.live__play {
  position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%);
  width: 72px; height: 72px; border-radius: var(--r-pill);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: var(--ink); padding-left: 4px;
  background: #000000a6; border: 1px solid #ffffff26;
  backdrop-filter: blur(8px); transition: all .15s;
}
.live__hero:hover .live__play {
  background: var(--brand); border-color: var(--brand); box-shadow: var(--glow-red);
}
.live__actions { margin: 28px 0 0; }

/* ── ★ O APRENDIZADO DO DIA — o motivo da página existir ── */
.live__learn {
  margin: 72px 0; padding: 40px clamp(24px, 4vw, 48px);
  border: var(--hair); border-left: 2px solid var(--brand);
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, #ef44440a, #ef444400 60%), var(--deep);
}
.live__learn-label {
  display: flex; align-items: center; gap: 12px;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand); margin: 0 0 22px;
}
.live__learn-label::after { content: ""; flex: 1; height: 1px; background: var(--faintest); }
.live__learn-text {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(21px, 2.7vw, 32px); line-height: 1.32;
  letter-spacing: var(--ls-tight); color: var(--ink);
  max-width: 32ch; margin: 0;
}
/* aprendizado longo: desce um degrau de escala para não virar parede */
.live__learn-text--longo { font-size: clamp(19px, 2.1vw, 26px); line-height: 1.4; max-width: 42ch; }
/* sem entrada no diário: a lacuna aparece como lacuna */
.live__learn--vazio { border-left-color: var(--faintest); background: var(--deep); }
.live__learn--vazio .live__learn-label { color: var(--muted); }
.live__learn-nada {
  font-size: var(--t-meta); letter-spacing: var(--ls-meta);
  line-height: 1.8; color: var(--muted); max-width: 62ch; margin: 0;
}

/* ── o que aconteceu: resumo, dados do dia, citação ── */
.live__sec { margin: 72px 0; }
.live__sec .eyebrow { margin-bottom: 20px; }
.live__resumo { font-size: 18px; line-height: 1.75; color: var(--muted-2); max-width: 68ch; margin: 0; }
.live__chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; }
.live__chip {
  border: var(--hair); border-radius: var(--r-pill); padding: 7px 16px;
  font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted-2);
}
.live__quote {
  margin: 32px 0 0; padding: 2px 0 2px 24px;
  border-left: 2px solid var(--brand-30); quotes: "\201C" "\201D";
  font-size: 19px; line-height: 1.6; color: var(--ink); max-width: 60ch;
}
.live__quote-txt::before { content: open-quote; color: var(--brand); }
.live__quote-txt::after { content: close-quote; color: var(--brand); }
.live__quote cite {
  display: block; margin-top: 14px; font-style: normal;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted);
}

/* ── transcrição completa: o corpo de texto que ranqueia, por último ── */
.live__transcricao { margin: 72px 0; border-top: var(--hair); }
.live__transcricao > summary {
  display: flex; align-items: center; gap: 14px;
  padding: 22px 2px; cursor: pointer; list-style: none;
}
.live__transcricao > summary::-webkit-details-marker { display: none; }
.live__sum-label {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--ink);
}
.live__sum-count { font-size: var(--t-meta); letter-spacing: var(--ls-meta); color: var(--muted); }
.live__sum-ico { margin-left: auto; font-size: 16px; color: var(--muted); transition: transform .15s, color .15s; }
.live__transcricao > summary:hover .live__sum-label,
.live__transcricao > summary:hover .live__sum-ico { color: var(--brand); }
.live__transcricao[open] .live__sum-ico { transform: rotate(45deg); color: var(--brand); }
.live__transcricao[open] > summary { border-bottom: var(--hair); }
.live__transcricao .live__corpo { padding-top: 32px; }

/* ── a série: dia anterior ⇄ próximo dia ── */
.live__serie { margin: 72px 0 0; border-top: var(--hair); padding-top: 28px; }
.live__serie-label {
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted); margin: 0 0 16px;
}
.live__serie-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.live__nav-card {
  display: block; padding: 16px; border: var(--hair); border-radius: var(--r-lg);
  text-decoration: none; transition: all .15s;
}
a.live__nav-card:hover { border-color: var(--faint); background: var(--input-bg); }
.live__nav-papel {
  display: block; font-size: var(--t-label); letter-spacing: var(--ls-label);
  color: var(--muted); margin-bottom: 14px; transition: color .15s;
}
a.live__nav-card:hover .live__nav-papel { color: var(--brand); }
.live__nav-linha { display: flex; align-items: center; gap: 12px; }
.live__nav-thumb {
  width: 88px; aspect-ratio: 16/9; object-fit: cover; flex: 0 0 auto;
  border: var(--hair); border-radius: var(--r-sm);
}
.live__nav-dia {
  display: block; font-size: var(--t-label); letter-spacing: var(--ls-label);
  color: var(--muted); margin-bottom: 5px;
}
.live__nav-titulo { display: block; font-size: var(--t-body-sm); line-height: 1.45; color: var(--ink-soft); }
.live__serie-grid > :last-child { text-align: right; }
.live__serie-grid > :last-child .live__nav-linha { flex-direction: row-reverse; }
.live__nav-card--fim { opacity: .55; }
.live__nav-card--fim .live__nav-titulo {
  color: var(--muted); font-size: var(--t-meta); letter-spacing: var(--ls-meta);
}

/* ── malha SEO: nenhuma página é beco sem saída ── */
.live__mesh {
  margin-top: 64px; padding-top: 28px; border-top: var(--hair);
  display: flex; gap: 28px; flex-wrap: wrap;
  font-family: var(--mono); font-size: var(--t-meta); letter-spacing: var(--ls-meta);
}
.live__mesh a { color: var(--muted-2); text-decoration: none; transition: color .15s; }
.live__mesh a:hover { color: var(--brand); }

@media (max-width: 720px) {
  .live__learn { margin: 56px 0; padding: 28px 20px; }
  .live__sec, .live__transcricao, .live__serie { margin: 56px 0; }
  .live__play { width: 52px; height: 52px; font-size: 15px; }
  .live__serie-grid { grid-template-columns: 1fr; }
  .live__serie-grid > :last-child { text-align: left; }
  .live__serie-grid > :last-child .live__nav-linha { flex-direction: row; }
  .live__mesh { gap: 14px 24px; }
}

/* ═══ SEM TRANSIÇÃO — decisão do dono 01/08. Conteúdo aparece pronto, sem teatro.
   Animações de DADO (pulso AO VIVO, piscada do TU) permanecem — são informação. ═══ */
* { transition: none !important; }
.reveal-line { opacity: 1 !important; transform: none !important; }

/* ── botão Discord (canto direito do header) ── */
.discord-btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: #5865F2; color: #fff; margin-left: 14px; }
.discord-btn:hover { background: #6a75f3; }

/* ── feed do diário na home ── */
.feed { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; margin-top: 40px; }
.post {
  display: flex; flex-direction: column; gap: 12px;
  padding: 20px; border: var(--hair); border-radius: var(--r-xl);
  text-decoration: none; color: inherit; background: var(--deep);
  transition: border-color .15s, background .15s, transform .15s;
}
.post:hover { border-color: var(--faint); background: #0a0a0a; transform: translateY(-2px); }
.post__thumb { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--r-lg); border: var(--hair); }
.post__meta {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--muted);
}
.post__ava { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; border: var(--hair); }
.post__aprendizado {
  font-size: 17px; font-weight: 500; line-height: 1.5;
  letter-spacing: var(--ls-tight); color: var(--ink-soft);
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.post__prod {
  margin-top: auto;
  font-size: var(--t-label); letter-spacing: var(--ls-label);
  color: var(--brand); text-transform: uppercase;
}

.mono, .hero__headline em { font-variant-numeric: tabular-nums; }
