/* ═══ PING · Leilão de Comentários — módulo embarcável ═══
   Gerado do protótipo. Tokens escopados em .lc-root; tema escuro ativa
   SOMENTE com .lc-root[data-lc-theme="dark"], que o JS do módulo seta a
   partir da classe .theme-dark da página (i18n applyTheme).
   NUNCA keyar em html[data-theme]: o canvas de edição injeta esse atributo
   espelhando o SO e prenderia os comentários no escuro. */

.lc-root{
  --bg: oklch(0.985 0.003 90);
  --bg-elev: oklch(0.965 0.004 90);
  --bg-elev-2: oklch(0.93 0.005 90);
  --ink: oklch(0.18 0.018 275);
  --mute: oklch(0.44 0.018 275);
  --dim: oklch(0.62 0.015 275);
  --border: oklch(0.86 0.006 90);
  --border-soft: oklch(0.92 0.004 90);
  --accent: oklch(0.58 0.24 5);
  --accent-bg: oklch(0.96 0.04 5);
  --ping: oklch(0.78 0.16 84);
  --ping-bright: oklch(0.82 0.18 88);
  --ping-deep: oklch(0.58 0.13 76);
  --ping-ink: oklch(0.45 0.10 74);
  --ping-bg: oklch(0.965 0.05 90);
  --ping-line: oklch(0.85 0.10 88);
  --font: "Geist", -apple-system, sans-serif;
  --mono: "Geist Mono", ui-monospace, monospace;
  --serif: "Instrument Serif", Georgia, serif;
}

/* ── MODO ESCURO — só remap de tokens; nenhum componente muda ──
   Fundos: mesmo matiz frio da tinta (275), invertidos.
   PING: âmbar CLARO (luz emite no escuro — o raio brilha em vez de pesar). */
.lc-root[data-lc-theme="dark"]{
  color-scheme: dark;
  --bg: oklch(0.165 0.012 275);
  --bg-elev: oklch(0.205 0.013 275);
  --bg-elev-2: oklch(0.26 0.015 275);
  --ink: oklch(0.93 0.006 90);
  --mute: oklch(0.68 0.012 275);
  --dim: oklch(0.52 0.012 275);
  --border: oklch(0.34 0.014 275);
  --border-soft: oklch(0.27 0.013 275);
  --accent: oklch(0.64 0.21 5);
  --accent-bg: oklch(0.27 0.06 5);
  --ping: oklch(0.80 0.16 86);
  --ping-bright: oklch(0.84 0.18 88);
  --ping-deep: oklch(0.76 0.14 84);
  --ping-ink: oklch(0.80 0.14 84);
  --ping-bg: oklch(0.235 0.035 84);
  --ping-line: oklch(0.40 0.07 84);
}
.lc-root, .lc-root *{ box-sizing:border-box; }

.mono{ font-family:var(--mono); }
.lc-root{ min-height:100vh; padding:40px 20px 120px; }
.lc-wrap{ max-width:680px; margin:0 auto; }
button{ font-family:var(--font); cursor:pointer; }

/* botões base — primary = ink (escuro); o raio âmbar é o único detalhe quente */
.lc-btn-amber{ display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 16px; border:1px solid var(--ink);
  background:var(--ink); color:var(--bg); border-radius:10px; font-size:13.5px; font-weight:500;
  transition:transform 0.12s; }
.lc-btn-amber:hover:not(:disabled){ transform:translateY(-1px); }
/* âmbar SOBRE o botão primário (que inverte no escuro): claro vira escuro */
.lc-root{ --ping-on-primary: var(--ping); }
.lc-root[data-lc-theme="dark"]{ --ping-on-primary: oklch(0.52 0.11 78); }
.lc-btn-amber svg{ color:var(--ping-on-primary); }
.lc-btn-amber .lc-btn-amt{ color:var(--ping-on-primary); font-weight:600; font-family:var(--mono); }
.lc-btn-amber:disabled{ opacity:0.4; cursor:not-allowed; }
.lc-btn-dark{ height:38px; padding:0 16px; border:1px solid var(--ink); background:var(--ink); color:var(--bg); border-radius:10px; font-size:13px; font-weight:500; }
.lc-btn-dark:disabled{ opacity:0.4; cursor:not-allowed; }
.lc-btn-ghost{ height:38px; padding:0 13px; border:0; background:transparent; color:var(--mute); border-radius:9px; font-size:13px; font-weight:500; }
.lc-btn-ghost:hover{ background:var(--bg-elev-2); color:var(--ink); }

/* ── header ── */
.lc-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid var(--border); margin-bottom:22px; flex-wrap:wrap; }
.lc-head-title{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.lc-head-title h1{ font-family:var(--serif); font-weight:400; font-size:34px; letter-spacing:-0.015em; margin:0; white-space:nowrap; }
.lc-count{ font-size:14px; color:var(--mute); background:var(--bg-elev-2); padding:2px 10px; border-radius:999px; font-family:var(--font); font-weight:600; }
.lc-leilao-tag{ display:inline-flex; align-items:center; gap:5px; font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--mute); }
.lc-leilao-tag svg{ color:var(--ping-deep); }
.lc-head-right{ display:flex; align-items:center; gap:14px; margin-left:auto; }
.lc-threshold{ display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
.lc-threshold-lab{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:0.1em; color:var(--dim); }
.lc-threshold-v{ display:inline-flex; align-items:center; gap:4px; font-family:var(--mono); font-size:15px; font-weight:600; color:var(--ping-ink); }
.lc-threshold-v svg{ color:var(--ping-deep); }
.lc-sort{ display:inline-flex; gap:2px; padding:3px; background:var(--bg-elev); border:1px solid var(--border-soft); border-radius:9px; }
.lc-mute{ width:34px; height:34px; border:1px solid var(--border-soft); background:var(--bg-elev); border-radius:9px; color:var(--mute); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:color 0.15s; }
.lc-mute:hover{ color:var(--ink); }
.lc-mute[aria-pressed="false"]{ color:var(--dim); }
.lc-sort button{ border:0; background:transparent; color:var(--mute); font-size:11.5px; font-weight:500; padding:6px 11px; border-radius:7px; }
.lc-sort button.is-active{ background:var(--bg); color:var(--ink); box-shadow:0 1px 2px oklch(0 0 0 / 0.06); }

/* ── face ── */
.lc-face{ position:relative; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:600; border:1.5px solid oklch(1 0 0 / 0.15); flex-shrink:0; text-shadow:0 1px 1px oklch(0 0 0 / 0.15); }
.lc-face-check{ position:absolute; bottom:-2px; right:-2px; background:var(--ink); color:var(--bg); border:2px solid var(--bg); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }

/* ── textarea ── */
.lc-textarea{ width:100%; padding:11px 13px; background:var(--bg); border:1px solid var(--border); border-radius:10px; color:var(--ink); font-family:var(--font); font-size:14.5px; line-height:1.5; resize:vertical; outline:none; transition:border-color 0.15s, box-shadow 0.15s; }
.lc-textarea:focus{ border-color:var(--dim); box-shadow:0 0 0 3px oklch(0.7 0.01 280 / 0.12); }
.lc-textarea::placeholder{ color:var(--dim); }
/* barra de rolagem elegante quando o texto passa da altura — fininha,
   sem setas, mesmo vocabulário da lista da gaveta.
   NOTA: scrollbar-width junto com ::-webkit-scrollbar desliga os pseudos
   no Chromium — então os pseudos ficam na regra principal e o fallback
   `thin` vai num @supports só pra engines sem ::-webkit-scrollbar. */
.lc-textarea{ resize:none; }
.lc-textarea::-webkit-scrollbar{ width:6px; }
.lc-textarea::-webkit-scrollbar-track{ background:transparent; margin:6px 0; }
.lc-textarea::-webkit-scrollbar-thumb{ background:oklch(0.55 0.01 280 / 0.45); border-radius:999px; }
.lc-textarea::-webkit-scrollbar-thumb:hover{ background:oklch(0.65 0.01 280 / 0.6); }
.lc-textarea::-webkit-scrollbar-button{ display:none; height:0; }
@supports not selector(::-webkit-scrollbar) {
  .lc-textarea{ scrollbar-width:thin; scrollbar-color:oklch(0.55 0.01 280 / 0.45) transparent; }
}

/* ── composer ── */
.lc-composer{ background:var(--bg-elev); border:1px solid var(--border-soft); border-radius:16px; padding:16px; display:flex; flex-direction:column; gap:14px; margin-bottom:30px; }
.lc-composer-top{ display:flex; gap:12px; align-items:flex-start; }
.lc-composer-deck{ background:var(--bg); border:1px solid var(--border-soft); border-radius:12px; padding:14px; display:flex; flex-direction:column; gap:12px; }
.lc-deck-label{ display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--mute); }
.lc-deck-label svg{ color:var(--ping-deep); }
.lc-composer-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.lc-composer-bal{ font-size:12px; color:var(--mute); } .lc-composer-bal b{ color:var(--ink); }

/* saldo projetado — atual → depois (ao vivo) */
.lc-proj{ display:inline-flex; align-items:center; gap:6px; }
.lc-proj-now{ display:inline-flex; align-items:center; gap:3px; color:var(--ping-ink); font-weight:600; transition:color 0.2s, opacity 0.2s; }
.lc-proj-now svg{ color:var(--ping-deep); }
.lc-proj.is-active .lc-proj-now{ opacity:0.7; }
.lc-proj-arrow{ color:var(--dim); }
.lc-proj-after{ display:inline-flex; align-items:center; gap:3px; color:var(--ping-ink); font-weight:600; }
.lc-proj-after svg{ color:var(--ping-deep); }
.lc-proj.is-low .lc-proj-after{ color:var(--accent); }
.lc-proj.is-low .lc-proj-after svg{ color:var(--accent); }
.lc-dim{ color:var(--dim); }
.lc-publish{ height:42px; }

/* ── deposit control ── */
.lc-deposit{ display:flex; flex-direction:column; gap:10px; }
.lc-chips{ display:flex; gap:6px; flex-wrap:wrap; }
.lc-deposit-row{ display:flex; align-items:stretch; gap:8px; flex-wrap:wrap; }
.lc-deposit-row .lc-stepper{ flex:0 0 auto; }
.lc-chip{ display:inline-flex; align-items:center; gap:4px; height:32px; padding:0 11px; border:1px solid var(--border); background:var(--bg); color:var(--mute); border-radius:8px; font-size:12.5px; font-weight:500; }
.lc-chip:hover{ border-color:var(--border); color:var(--ink); }
.lc-chip.is-lead{ flex:1 1 150px; height:38px; justify-content:center; border-color:var(--border); background:var(--bg-elev-2); color:var(--ink); font-weight:600; gap:5px; }
.lc-chip.is-lead:hover{ background:var(--border-soft); }
.lc-chip.is-lead svg{ color:var(--ping-deep); }
.lc-lead-txt{ white-space:nowrap; }
.lc-chip-amt{ font-family:var(--mono); color:var(--ping-ink); font-weight:600; }
.lc-stepper{ display:inline-flex; align-items:center; border:1px solid var(--border); border-radius:9px; overflow:hidden; background:var(--bg); }
.lc-stepper button{ width:34px; height:38px; border:0; background:var(--bg); color:var(--mute); font-size:18px; font-family:var(--mono); }
.lc-stepper button:hover{ background:var(--bg-elev-2); color:var(--ink); }
.lc-stepper-val{ display:inline-flex; align-items:center; gap:5px; min-width:84px; justify-content:center; font-family:var(--mono); font-size:15px; font-weight:600; color:var(--ping-ink); }
.lc-stepper-val svg{ color:var(--ping-deep); }

/* ── lance meter ── */
.lc-meter{ display:flex; flex-direction:column; gap:9px; }
.lc-meter-bar{ position:relative; height:7px; border-radius:999px; background:var(--bg-elev-2); overflow:visible; }
.lc-meter-fill{ position:absolute; left:0; top:0; bottom:0; border-radius:999px; background:linear-gradient(90deg, var(--ping), oklch(0.72 0.16 80)); transition:width 0.25s ease; }
.lc-meter-thr{ position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ink); border-radius:1px; }
.lc-meter-msg{ font-size:13px; color:var(--mute); }
.lc-rank-win{ color:var(--ink); font-weight:600; font-family:var(--mono); }
.lc-rank-lose{ color:var(--mute); font-family:var(--mono); }
.lc-need{ display:inline-flex; align-items:center; gap:3px; font-family:var(--mono); color:var(--ping-ink); font-weight:600; }
.lc-need svg, .lc-rank-lose svg{ color:var(--ping-deep); }

/* ── comment card ── */
.lc-list{ display:flex; flex-direction:column; gap:8px; }
.lc-card{ padding:16px; border-radius:14px; border:1px solid transparent; transition:background 0.5s, border-color 0.5s; }
.lc-card.is-lead{ background:var(--bg-elev); border-color:var(--border); }
.lc-card.is-flash{ background:var(--bg-elev-2); border-color:var(--ping-line); }
.lc-card-main{ min-width:0; }
.lc-card-head{ display:flex; align-items:center; gap:10px; }
.lc-head-id{ display:flex; flex-direction:column; gap:1px; min-width:0; flex:1; }
.lc-name{ font-size:14px; font-weight:600; display:inline-flex; align-items:center; gap:7px; flex-wrap:wrap; }
.lc-badge-self{ font-size:9px; text-transform:uppercase; letter-spacing:0.1em; background:var(--bg-elev-2); color:var(--mute); padding:2px 6px; border-radius:4px; border:1px solid var(--border); }
.lc-badge-author{ font-size:9px; text-transform:uppercase; letter-spacing:0.1em; background:oklch(0.55 0.16 250); color:oklch(0.99 0.01 250); padding:2px 7px; border-radius:4px; font-weight:600; }
.lc-badge-author.sm{ font-size:8px; padding:1px 6px; }
.lc-time{ font-size:10.5px; color:var(--dim); }
.lc-res{ display:inline-flex; align-items:center; gap:4px; padding:4px 9px 4px 7px; border-radius:999px; background:var(--bg-elev); border:1px solid var(--border-soft); flex-shrink:0; cursor:pointer; font-family:inherit; transition:border-color 0.15s, background 0.15s; }
.lc-res:hover{ border-color:var(--ping-line); background:var(--ping-bg); }
.lc-res-rank{ display:inline-flex; align-items:center; justify-content:center; min-width:13px; height:14px; font-family:var(--mono); font-size:10px; font-weight:600; color:var(--dim); padding-right:6px; border-right:1px solid var(--border); }7px; border-right:1px solid var(--border); }
.lc-res-rank.is-lead{ color:var(--ping-deep); }
.lc-card.is-lead .lc-res-rank{ border-right-color:var(--ping-line); }
.lc-res svg{ color:var(--ping-deep); }
/* menu ⋯ do card (denunciar / apagar) */
.lc-menu-wrap{ position:relative; flex-shrink:0; margin-left:-8px; margin-right:-10px; }
.lc-menu-btn{ width:30px; height:30px; border:0; background:transparent; color:var(--dim); border-radius:8px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.lc-menu-btn:hover{ background:var(--bg-elev-2); color:var(--ink); }
.lc-menu{ position:absolute; top:calc(100% + 4px); right:0; z-index:25; min-width:188px; background:var(--bg); border:1px solid var(--border); border-radius:11px; padding:5px; box-shadow:0 14px 36px -12px oklch(0.2 0.01 280 / 0.32); }
.lc-menu-item{ width:100%; display:flex; align-items:center; gap:9px; padding:9px 10px; border:0; background:transparent; color:var(--ink); border-radius:8px; font-family:var(--font); font-size:13.5px; font-weight:500; cursor:pointer; text-align:left; }
.lc-menu-item:hover{ background:var(--bg-elev); }
.lc-menu-item:disabled{ opacity:0.5; cursor:default; }
.lc-menu-item svg{ color:var(--mute); flex-shrink:0; }
.lc-menu-item.is-danger{ color:var(--accent); }
.lc-menu-item.is-danger svg{ color:var(--accent); }
/* flag de em revisão */
.lc-card.is-reviewing{ opacity:0.7; }
.lc-review-flag{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:11.5px; font-weight:500; color:var(--accent); background:var(--accent-bg); border:1px solid oklch(0.86 0.06 5); padding:3px 9px; border-radius:999px; }
.lc-res-n{ font-family:var(--mono); font-size:12.5px; font-weight:600; color:var(--ping-ink); }
.lc-card.is-lead .lc-res{ background:var(--bg); border-color:var(--ping-line); }
.lc-text{ font-size:14.5px; line-height:1.55; color:var(--ink); margin:10px 0 0; text-wrap:pretty; }

/* ── raio-x da resultante (breakdown) ── */
.lc-bd{ width:100%; max-width:460px; max-height:88vh; display:flex; flex-direction:column; background:var(--bg); border:1px solid var(--border); border-radius:20px; box-shadow:0 24px 60px -16px oklch(0.2 0.01 280 / 0.35); animation:lcModalPop 0.2s cubic-bezier(0.2,0.8,0.2,1); overflow:hidden; }
.lc-bd-scroll{ flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:4px 20px 20px; }
.lc-bd-author{ display:flex; align-items:center; gap:10px; padding:8px 0 16px; }
.lc-bd-author-id{ display:flex; flex-direction:column; gap:1px; min-width:0; flex:1; }
.lc-bd-author-name{ font-size:14px; font-weight:600; color:var(--ink); display:inline-flex; align-items:center; gap:6px; }
.lc-bd-author-pos{ font-size:11px; color:var(--dim); }
.lc-bd-total{ display:inline-flex; align-items:center; gap:4px; font-family:var(--mono); font-size:18px; font-weight:600; color:var(--ping-ink); }
.lc-bd-total svg{ color:var(--ping-deep); }
.lc-bd-stack{ display:flex; height:14px; border-radius:999px; overflow:hidden; gap:2px; background:var(--bg-elev-2); margin-bottom:18px; }
.lc-bd-stack-seg{ min-width:3px; transition:width 0.4s cubic-bezier(0.2,0.8,0.2,1); }
.lc-bd-rows{ display:flex; flex-direction:column; gap:14px; }
.lc-bd-row{ display:flex; gap:10px; align-items:flex-start; }
.lc-bd-sw{ width:11px; height:11px; border-radius:3px; margin-top:3px; flex-shrink:0; }
.lc-bd-row-main{ flex:1; min-width:0; }
.lc-bd-row-top{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.lc-bd-row-label{ font-size:13.5px; font-weight:600; color:var(--ink); }
.lc-bd-row-v{ font-size:12.5px; color:var(--ping-ink); font-weight:600; display:inline-flex; align-items:center; gap:3px; white-space:nowrap; }
.lc-bd-row-v svg{ color:var(--ping-deep); }
.lc-bd-row-pct{ color:var(--dim); margin-left:2px; }
.lc-bd-bar{ height:6px; border-radius:999px; background:var(--bg-elev-2); overflow:hidden; margin:6px 0 5px; }
.lc-bd-bar-fill{ height:100%; border-radius:999px; transition:width 0.4s cubic-bezier(0.2,0.8,0.2,1); }
.lc-bd-row-desc{ font-size:11.5px; color:var(--mute); line-height:1.4; }
.lc-bd-verdict{ margin-top:18px; padding:13px 15px; border-radius:12px; background:var(--ping-bg); border:1px solid var(--ping-line); font-size:13px; line-height:1.5; color:var(--ping-ink); }
.lc-bd-verdict b{ display:inline-flex; align-items:center; gap:5px; color:var(--ink); font-weight:600; }
.lc-bd-verdict b svg{ color:var(--ping-deep); }
.lc-bd-backers{ margin-top:16px; }
.lc-bd-backers-h{ font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--dim); margin-bottom:9px; }
.lc-bd-backer{ display:flex; align-items:flex-start; gap:9px; padding:7px 0; }
.lc-bd-backer-main{ flex:1; min-width:0; }
.lc-bd-backer-top{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.lc-bd-backer-name{ min-width:0; font-size:13px; color:var(--ink); display:inline-flex; align-items:center; gap:6px; }
.lc-bd-backer-v{ font-size:12px; color:var(--ping-ink); display:inline-flex; align-items:center; gap:3px; white-space:nowrap; }
.lc-bd-backer-v svg{ color:var(--ping-deep); }
.lc-bd-backer .lc-bd-bar{ margin:6px 0 0; }
.lc-bd-foot{ margin-top:18px; padding-top:14px; border-top:1px solid var(--border-soft); font-size:10.5px; color:var(--dim); text-align:center; }

/* ── raio-x INLINE — expande dentro do card, não é pop-up ── */
.lc-bd-inline{ margin:13px 0 3px; padding:4px 15px 15px; border-radius:14px; background:var(--bg-elev); border:1px solid var(--border-soft); overflow:hidden; transform-origin:top; animation:lcBdInline 0.24s cubic-bezier(0.2,0.8,0.2,1); }
.lc-bd-inline-h{ display:flex; align-items:center; gap:6px; padding:12px 0 4px; font-size:10.5px; text-transform:uppercase; letter-spacing:0.09em; color:var(--dim); }
.lc-bd-inline-h svg{ color:var(--ping-deep); }
.lc-bd-inline .lc-bd-author{ padding-top:6px; }
.lc-bd-inline .lc-bd-foot{ text-align:left; }
@keyframes lcBdInline{ from{ opacity:0; transform:translateY(-6px) scaleY(0.98); } to{ opacity:1; transform:translateY(0) scaleY(1); } }
/* pílula da resultante quando o raio-x está aberto */
.lc-res.is-open{ background:var(--ping-bg); border-color:var(--ping-line); }

.lc-compose{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:10px; }
.lc-compose-seg{ font-size:11.5px; color:var(--dim); display:inline-flex; align-items:center; gap:4px; }
.lc-compose-seg b{ display:inline-flex; align-items:center; gap:3px; font-family:var(--mono); color:var(--mute); }
.lc-compose-up b{ color:var(--ping-ink); }
.lc-compose-up b svg, .lc-compose-seg b svg{ color:var(--ping-deep); }
.lc-merit{ font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:0.06em; color:var(--mute); font-style:normal; }
.lc-author-backed{ display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:500; color:oklch(0.45 0.13 250); background:oklch(0.96 0.03 250); border:1px solid oklch(0.86 0.06 250); padding:2px 8px; border-radius:999px; }
.lc-author-backed svg{ color:oklch(0.55 0.16 250); }

.lc-backers{ display:flex; align-items:center; gap:10px; margin-top:12px; }
.lc-backers-faces{ display:inline-flex; }
.lc-backer{ width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:9px; font-weight:600; color:#fff; border:2px solid var(--bg); margin-left:-8px; }
.lc-backer:first-child{ margin-left:0; }
.lc-backers-txt{ font-size:12px; color:var(--mute); } .lc-backers-txt b{ display:inline-flex; align-items:center; gap:3px; font-family:var(--mono); color:var(--ping-ink); }
.lc-backers-txt b svg{ color:var(--ping-deep); }

.lc-actions{ display:flex; align-items:center; gap:14px; margin-top:12px; flex-wrap:wrap; }
.lc-reacts{ display:inline-flex; gap:2px; align-items:center; }
.lc-react{ display:inline-flex; align-items:center; gap:5px; height:28px; padding:0 6px; border:0; background:transparent; color:var(--mute); border-radius:999px; transition:color 0.15s, transform 0.12s, background 0.15s; }
.lc-react:hover{ color:var(--rx); transform:translateY(-1px); }
.lc-react.is-mine{ color:var(--rx); background:oklch(from var(--rx) calc(l + 0.32) calc(c * 0.35) h / 0.5); }
/* dark: o pastel claro vira chip escuro tingido + acento mais luminoso */
.lc-root[data-lc-theme="dark"] .lc-react.is-mine{ color:oklch(from var(--rx) calc(l + 0.14) c h); background:oklch(from var(--rx) calc(l * 0.55) calc(c * 0.6) h / 0.45); }
.lc-emoji{ display:inline-flex; align-items:center; justify-content:center; color:currentColor; }
.lc-emoji svg{ display:block; width:100%; height:100%; }
.lc-react-ic{ position:relative; display:inline-flex; align-items:center; justify-content:center; }
.lc-react.is-mine .lc-react-ic > .lc-emoji{ animation:lcReactPop 0.42s cubic-bezier(0.34,1.56,0.4,1); }
/* coração curtido: preenche o interior na cor do acento (idle já é contorno) */
.lc-react.lc-rx-LOVE.is-mine .lc-emoji svg path{ fill:currentColor; }
/* 👎 discordado: contorno cinza ocioso → preenche o interior na cor ao reagir */
.lc-react.lc-rx-DISAGREE.is-mine .lc-emoji svg path{ fill:currentColor; }
/* fogo é silhueta cheia: preenche naturalmente com currentColor (cinza ocioso → cor ao reagir) */
/* lâmpada "Genial": cinza ociosa → ACENDE amarela ao reagir */
.lc-react.lc-rx-MIND_BLOWN .lc-emoji svg{ transform:scale(1.12); }
.lc-react.lc-rx-MIND_BLOWN.is-mine .lc-emoji svg path{ fill:oklch(0.72 0.17 84); }
@keyframes lcReactPop{ 0%{ transform:scale(1); } 30%{ transform:scale(1.5); } 60%{ transform:scale(0.9); } 100%{ transform:scale(1); } }
/* burst de partículas na cor da reação */
.lc-burst{ position:absolute; left:50%; top:50%; width:0; height:0; pointer-events:none; color:var(--rx); }
.lc-burst-bit{ position:absolute; left:-4.5px; top:-4.5px; opacity:0; transform-origin:center; animation:lcBurst 0.6s cubic-bezier(0.2,0.7,0.3,1) forwards; }
@keyframes lcBurst{
  0%{ opacity:0; transform:rotate(var(--a)) translateY(0) scale(0.3); }
  25%{ opacity:1; }
  100%{ opacity:0; transform:rotate(var(--a)) translateY(-17px) scale(0.9); }
}
/* ⚡ Hypar — a reação especial (âmbar). MANTÉM a moldura+anel; é o herói,
   por isso é o único com botão. Anel + raio enchem em ~1s simulando a transação;
   o pop-up central dispara ao concluir (commit no fim). */
.lc-hype{ border:1px solid var(--ping-line); padding:0 11px 0 8px; color:var(--ping-deep); }
.lc-hype:hover{ border-color:var(--ping-deep); background:var(--ping-bg); transform:translateY(-1px); }
.lc-hype:hover .lc-hype-bolt.out{ color:var(--ping-deep); }
.lc-hype.is-charged{ border-color:var(--ping-line); background:var(--ping-bg); color:var(--ping-ink); }
.lc-hype .lc-react-n{ color:var(--mute); }
.lc-hype.is-charged .lc-react-n{ color:var(--ping-ink); }
.lc-hype-ic{ position:relative; width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; }
.lc-hype-ring{ position:absolute; left:50%; top:50%; width:24px; height:24px; transform:translate(-50%,-50%) rotate(-90deg); pointer-events:none; overflow:visible; }
.lc-hype-ring circle{ fill:none; stroke-width:2; stroke-linecap:round; }
.lc-hype-ring .track{ stroke:var(--ping-line); opacity:0; transition:opacity 0.12s; }
.lc-hype-ring .prog{ stroke:var(--ping-bright); stroke-dasharray:65.97; stroke-dashoffset:65.97; filter:drop-shadow(0 0 3px oklch(0.84 0.18 88 / 0.55)); }
.lc-hype.is-charged .lc-hype-ring .prog{ stroke-dashoffset:0; }
.lc-hype.is-charging .lc-hype-ring .track, .lc-hype.is-discharging .lc-hype-ring .track{ opacity:0.55; }
.lc-hype.is-charging .lc-hype-ring .prog{ animation:lcRingCharge 1s linear forwards; }
.lc-hype.is-discharging .lc-hype-ring .prog{ animation:lcRingDischarge 1s linear forwards; }
@keyframes lcRingCharge{ from{ stroke-dashoffset:65.97; } to{ stroke-dashoffset:0; } }
@keyframes lcRingDischarge{ from{ stroke-dashoffset:0; } to{ stroke-dashoffset:65.97; } }
.lc-hype-bolt{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; line-height:0; }
.lc-hype-bolt.out{ color:var(--mute); }
.lc-hype-bolt.fill{ color:var(--ping-bright); clip-path:inset(100% 0 0 0); }
.lc-hype.is-charged .lc-hype-bolt.fill{ clip-path:inset(0 0 0 0); }
.lc-hype.is-charging .lc-hype-bolt.fill{ animation:lcBoltFill 1s linear forwards; }
.lc-hype.is-discharging .lc-hype-bolt.fill{ animation:lcBoltUnfill 1s linear forwards; }
@keyframes lcBoltFill{ from{ clip-path:inset(100% 0 0 0); } to{ clip-path:inset(0 0 0 0); } }
@keyframes lcBoltUnfill{ from{ clip-path:inset(0 0 0 0); } to{ clip-path:inset(100% 0 0 0); } }
.lc-react-n{ font-size:11px; font-weight:600; }
.lc-act{ display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:var(--mute); font-size:12.5px; font-weight:500; padding:4px 0; }
.lc-act:hover{ color:var(--ink); }
.lc-act-support{ color:var(--mute); font-weight:500; }
.lc-act-support:hover{ color:var(--ping-deep); }
.lc-act-support svg{ color:currentColor; }
/* confirm dialog (apagar) */
.lc-confirm{ width:100%; max-width:380px; background:var(--bg); border:1px solid var(--border); border-radius:18px; padding:22px; text-align:center; box-shadow:0 24px 60px -16px oklch(0.2 0.01 280 / 0.35); animation:lcModalPop 0.2s cubic-bezier(0.2,0.8,0.2,1); }
.lc-confirm-ic{ width:46px; height:46px; margin:0 auto 12px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--accent-bg); color:var(--accent); }
.lc-confirm-title{ font-size:18px; font-weight:600; letter-spacing:-0.01em; margin:0 0 8px; color:var(--ink); }
.lc-confirm-sub{ font-size:13.5px; line-height:1.5; color:var(--mute); margin:0 0 18px; } .lc-confirm-sub b{ color:var(--ink); font-weight:600; } .lc-confirm-sub .mono{ color:var(--ping-ink); }
.lc-confirm-actions{ display:flex; gap:8px; justify-content:center; }
.lc-btn-danger{ height:40px; padding:0 16px; border:1px solid var(--accent); background:var(--accent); color:#fff; border-radius:10px; font-family:var(--font); font-size:13.5px; font-weight:600; cursor:pointer; }
.lc-btn-danger:hover{ filter:brightness(1.05); }
.lc-btn-danger:disabled{ opacity:0.45; cursor:not-allowed; }
/* sheet de denúncia */
.lc-report-intro{ font-size:13.5px; line-height:1.55; color:var(--mute); margin:13px 0 14px; } .lc-report-intro b{ color:var(--ink); font-weight:600; }
.lc-report-reasons{ display:flex; flex-direction:column; gap:7px; padding-bottom:4px; }
.lc-report-reason{ display:flex; align-items:center; gap:11px; width:100%; padding:13px 14px; border:1px solid var(--border-soft); background:var(--bg-elev); border-radius:11px; font-family:var(--font); font-size:13.5px; color:var(--ink); cursor:pointer; text-align:left; transition:border-color 0.12s, background 0.12s; }
.lc-report-reason:hover{ border-color:var(--border); }
.lc-report-reason.is-sel{ border-color:var(--accent); background:var(--accent-bg); }
.lc-report-radio{ width:17px; height:17px; flex-shrink:0; border-radius:50%; border:2px solid var(--border); transition:border-color 0.12s; position:relative; }
.lc-report-reason.is-sel .lc-report-radio{ border-color:var(--accent); }
.lc-report-reason.is-sel .lc-report-radio::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--accent); }
.lc-report-done{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:14px 6px 6px; }
.lc-report-done-ic{ width:52px; height:52px; border-radius:50%; background:var(--bg-elev-2); color:var(--mute); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.lc-report-done-txt{ font-size:13.5px; line-height:1.6; color:var(--mute); margin:0; } .lc-report-done-txt b{ color:var(--ink); font-weight:600; }

.lc-attach-toggle{ align-self:flex-start; display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px; border:1px dashed var(--border); background:transparent; color:var(--mute); border-radius:8px; font-size:12px; font-weight:500; }
.lc-attach-toggle svg{ color:var(--ping-deep); }
.lc-attach-toggle:hover{ background:var(--bg-elev-2); color:var(--ink); }
.lc-attach-toggle.is-on{ border-style:solid; background:var(--bg-elev-2); color:var(--ink); }
.lc-attach-note{ display:block; font-size:11px; line-height:1.5; color:var(--mute); } .lc-attach-note svg{ color:var(--ping-deep); vertical-align:-2px; margin-right:3px; }

/* toggle de respostas (abre/fecha o thread) */
.lc-thread-toggle{ display:inline-flex; align-items:center; gap:7px; margin-top:13px; padding:6px 4px 6px 0; border:0; background:transparent; color:var(--mute); font-family:var(--font); font-size:13px; font-weight:500; cursor:pointer; }
.lc-thread-toggle:hover{ color:var(--ink); }
.lc-thread-caret{ transition:transform 0.18s ease; color:var(--dim); }
.lc-thread-toggle.is-open .lc-thread-caret{ transform:rotate(180deg); }
.lc-thread-ping{ display:inline-flex; align-items:center; gap:3px; font-family:var(--mono); font-weight:600; color:var(--ping-ink); }
.lc-thread-ping svg{ color:var(--ping-deep); }

/* ── thread (histórico) ── */
.lc-thread{ margin-top:16px; margin-left:6px; padding-left:18px; border-left:1.5px solid var(--border-soft); display:flex; flex-direction:column; gap:14px; }
.lc-treply{ display:flex; gap:10px; align-items:flex-start; }
.lc-treply.has-donation .lc-treply-body{ background:var(--bg-elev-2); border:1px solid var(--border-soft); border-radius:10px; padding:8px 11px; }
.lc-treply-body{ flex:1; min-width:0; }
.lc-treply-head{ display:flex; align-items:center; gap:8px; flex-wrap:nowrap; min-width:0; }
/* nunca quebra linha: o NOME trunca com … e a seta fica firme na direita */
.lc-treply-name{ font-size:13px; font-weight:600; color:var(--ink); white-space:nowrap; flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.lc-treply-reply{ margin-left:auto; border:0; background:transparent; color:var(--dim); width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; padding:0; border-radius:7px; cursor:pointer; flex:none; }
.lc-treply-reply:hover{ color:var(--ink); background:var(--bg-elev-2); }
.lc-donation-badge{ flex:none; display:inline-flex; align-items:center; gap:4px; font-family:var(--mono); font-size:10.5px; font-weight:600; color:var(--mute); background:var(--bg); border:1px solid var(--border-soft); padding:2px 8px; border-radius:999px; }
.lc-donation-badge svg{ color:var(--ping-deep); }
.lc-treply-text{ font-size:13px; line-height:1.5; color:var(--ink); margin:4px 0 0; }

/* ── gatilho enxuto de comentar (abre o modal) ── */
.lc-compose-trigger{ width:100%; display:flex; align-items:center; gap:12px; padding:12px 14px; margin-bottom:24px; background:var(--bg-elev); border:1px solid var(--border-soft); border-radius:14px; cursor:pointer; transition:border-color 0.15s, background 0.15s; text-align:left; }
.lc-compose-trigger:hover{ border-color:var(--border); background:var(--bg); }
.lc-compose-trigger-txt{ flex:1; min-width:0; font-size:14px; color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lc-compose-trigger-cta{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--ink); background:var(--bg); border:1px solid var(--border); border-radius:9px; padding:7px 13px; white-space:nowrap; }
.lc-compose-trigger-cta svg{ color:var(--ping-deep); }

/* ── modal unificado (novo comentário / responder / apoiar) ── */
.lc-modal-scrim{ position:fixed; left:0; right:0; top:0; bottom:0; height:100vh; height:100dvh; z-index:60; background:oklch(0.2 0.01 280 / 0.42); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); display:flex; align-items:flex-end; justify-content:center; padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); animation:lcScrim 0.18s ease; }
@keyframes lcScrim{ from{ opacity:0; } to{ opacity:1; } }
@media(min-width:560px){ .lc-modal-scrim{ align-items:center; padding:24px; } }
.lc-modal{ width:100%; max-width:520px; max-height:100%; overflow:hidden; display:flex; flex-direction:column; background:var(--bg); border:1px solid var(--border); border-radius:20px; box-shadow:0 -10px 60px -12px oklch(0.2 0.01 280 / 0.3); animation:lcModalUp 0.24s cubic-bezier(0.2,0.8,0.2,1); }
@media(min-width:560px){ .lc-modal{ max-height:88vh; border-radius:20px; animation:lcModalPop 0.2s cubic-bezier(0.2,0.8,0.2,1); } }
@keyframes lcModalUp{ from{ transform:translateY(40px); opacity:0; } to{ transform:translateY(0); opacity:1; } }
@keyframes lcModalPop{ from{ transform:scale(0.96); opacity:0; } to{ transform:scale(1); opacity:1; } }
.lc-modal-head{ flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px 9px; }
.lc-modal-scroll{ flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:0 16px; }
.lc-modal-title{ font-size:16px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); } .lc-modal-title b{ font-weight:700; }
.lc-modal-x{ width:32px; height:32px; flex-shrink:0; border:1px solid var(--border-soft); background:var(--bg-elev); border-radius:9px; color:var(--mute); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.lc-modal-x:hover{ color:var(--ink); background:var(--bg-elev-2); }
.lc-modal-quote{ display:flex; gap:9px; align-items:flex-start; padding:9px 12px; margin-bottom:10px; background:var(--bg-elev); border:1px solid var(--border-soft); border-left:2px solid var(--border); border-radius:10px; font-size:13px; line-height:1.45; color:var(--mute); }
.lc-modal-quote .lc-face{ margin-top:1px; }
/* identidade de quem comenta — "sai no seu nome" */
.lc-modal-author{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.lc-modal-author-id{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.lc-modal-author-name{ font-size:14.5px; font-weight:600; color:var(--ink); white-space:nowrap; }
.lc-modal-author-sub{ font-size:11.5px; color:var(--dim); white-space:nowrap; }
.lc-modal-ta{ margin-bottom:9px; }
.lc-modal-sub{ display:flex; gap:6px; align-items:flex-start; font-size:12.5px; line-height:1.5; color:var(--mute); margin:0 0 10px; } .lc-modal-sub svg{ color:var(--ping-deep); margin-top:2px; flex-shrink:0; }
.lc-modal .lc-attach-toggle{ margin-bottom:12px; }
/* deck de lance compacto dentro do modal */
.lc-modal-deck{ background:var(--bg-elev); border:1px solid var(--border-soft); border-radius:12px; padding:10px; display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.lc-modal-deck .lc-deck-label{ margin-bottom:-1px; }
.lc-modal-deck .lc-deposit{ gap:8px; }
.lc-modal-deck .lc-chips{ gap:5px; }
.lc-modal-deck .lc-chip{ height:26px; padding:0 8px; font-size:11px; border-radius:7px; }
.lc-modal-deck .lc-deposit-row{ gap:7px; }
.lc-modal-deck .lc-deposit-row .lc-stepper{ flex:1 1 auto; }
.lc-modal-deck .lc-deposit-row .lc-stepper .lc-stepper-val{ flex:1; }
.lc-modal-deck .lc-chip.is-lead{ height:34px; }
.lc-modal-deck .lc-meter{ gap:7px; }
.lc-modal-deck .lc-meter-msg{ font-size:12px; }
.lc-modal-foot{ flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:8px 12px; flex-wrap:wrap; padding:10px 16px; border-top:1px solid var(--border-soft); background:var(--bg); border-radius:0 0 20px 20px; }
.lc-modal-bal{ font-size:11px; color:var(--mute); }
.lc-modal-actions{ display:inline-flex; gap:7px; margin-left:auto; }
.lc-modal-actions .lc-btn-amber{ height:40px; }
/* telas baixas (celulares pequenos): aperta mais um pouco — o objetivo é
   o modal inteiro caber sem barra de rolagem na maioria dos casos */
@media (max-height: 760px){
  .lc-modal-author-sub{ display:none; }
  .lc-modal-author{ margin-bottom:7px; }
  .lc-textarea.lc-modal-ta{ padding:8px 11px; font-size:14px; }
  .lc-modal-deck{ gap:6px; padding:8px; }
  .lc-modal-deck .lc-meter-msg{ font-size:11px; }
}

/* ── pop-up central de reação (sentimento) — ícone grande + burst + label ── */
.lc-reactpop{ position:fixed; left:50%; top:42%; transform:translate(-50%,-50%); z-index:55; pointer-events:none; display:flex; flex-direction:column; align-items:center; gap:10px; padding:22px 30px 18px; border-radius:20px; background:oklch(0.08 0.012 280 / 0.92); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid var(--rx); box-shadow:0 0 48px oklch(from var(--rx) l c h / 0.4), 0 22px 54px -14px oklch(0 0 0 / 0.6); color:var(--rx); animation:lcReactPopIn 1.1s cubic-bezier(0.2,0.8,0.2,1) forwards; }
@keyframes lcReactPopIn{ 0%{ opacity:0; transform:translate(-50%,-44%) scale(0.8); } 10%{ opacity:1; transform:translate(-50%,-46%) scale(1.05); } 18%{ transform:translate(-50%,-46%) scale(1); } 80%{ opacity:1; } 100%{ opacity:0; transform:translate(-50%,-52%) scale(1); } }
.lc-reactpop-ic{ position:relative; width:52px; height:52px; display:flex; align-items:center; justify-content:center; }
.lc-reactpop-ic > .lc-emoji{ animation:lcReactPopBounce 0.6s cubic-bezier(0.34,1.56,0.4,1); filter:drop-shadow(0 2px 10px oklch(from var(--rx) l c h / 0.5)); }
@keyframes lcReactPopBounce{ 0%{ transform:scale(0.4); } 45%{ transform:scale(1.25); } 70%{ transform:scale(0.92); } 100%{ transform:scale(1); } }
.lc-reactpop-burst{ position:absolute; left:50%; top:50%; width:0; height:0; }
.lc-reactpop-bit{ position:absolute; left:-8px; top:-8px; opacity:0; transform-origin:center; animation:lcReactPopBurst 0.7s cubic-bezier(0.2,0.7,0.3,1) forwards; color:var(--rx); }
@keyframes lcReactPopBurst{ 0%{ opacity:0; transform:rotate(var(--a)) translateY(0) scale(0.3); } 25%{ opacity:0.9; } 100%{ opacity:0; transform:rotate(var(--a)) translateY(-40px) scale(1); } }
.lc-reactpop-label{ font-family:var(--font); font-weight:600; font-size:18px; letter-spacing:-0.01em; color:oklch(0.96 0.01 90); text-shadow:0 2px 14px oklch(0 0 0 / 0.5); }

/* ── pulso central ── */
/* ícone: raio dentro de um anel que carrega (enviado) / descarrega (resgatado) */
.lc-pulse-ic{ position:relative; width:46px; height:46px; display:flex; align-items:center; justify-content:center; margin-bottom:2px; }
.lc-pulse-ring{ position:absolute; inset:0; width:46px; height:46px; transform:rotate(-90deg); overflow:visible; }
.lc-pulse-ring circle{ fill:none; stroke-width:2.5; stroke-linecap:round; }
.lc-pulse-ring .track{ stroke:oklch(1 0 0 / 0.13); }
.lc-pulse-ring .prog{ stroke-dasharray:125.66; stroke-dashoffset:125.66; }
.lc-pulse-ic.charge .lc-pulse-ring .prog{ stroke:oklch(0.85 0.16 86); filter:drop-shadow(0 0 5px oklch(0.84 0.18 88 / 0.7)); }
.lc-pulse-ic.discharge .lc-pulse-ring .prog{ stroke:oklch(0.82 0.12 210); filter:drop-shadow(0 0 5px oklch(0.72 0.15 210 / 0.7)); }
.lc-pulse-ic.charge.static .lc-pulse-ring .prog{ stroke-dashoffset:0; }
.lc-pulse-ic.discharge.static .lc-pulse-ring .prog{ stroke-dashoffset:125.66; }
.lc-pulse-ic.charge.run .lc-pulse-ring .prog{ animation:lcPulseRingCharge var(--dur) linear forwards; }
.lc-pulse-ic.discharge.run .lc-pulse-ring .prog{ animation:lcPulseRingDischarge var(--dur) linear forwards; }
@keyframes lcPulseRingCharge{ from{ stroke-dashoffset:125.66; } to{ stroke-dashoffset:0; } }
@keyframes lcPulseRingDischarge{ from{ stroke-dashoffset:0; } to{ stroke-dashoffset:125.66; } }
.lc-pulse-bolt{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; line-height:0; }
.lc-pulse-ic.charge .lc-pulse-bolt{ color:oklch(0.85 0.16 86); }
.lc-pulse-ic.discharge .lc-pulse-bolt{ color:oklch(0.82 0.12 210); }
.lc-pulse-bolt.out{ opacity:0.38; }
.lc-pulse-bolt.fill{ clip-path:inset(100% 0 0 0); }
.lc-pulse-ic.charge.static .lc-pulse-bolt.fill{ clip-path:inset(0 0 0 0); }
.lc-pulse-ic.discharge.static .lc-pulse-bolt.fill{ clip-path:inset(100% 0 0 0); }
.lc-pulse-ic.charge.run .lc-pulse-bolt.fill{ animation:lcBoltFill var(--dur) linear forwards; }
.lc-pulse-ic.discharge.run .lc-pulse-bolt.fill{ animation:lcBoltUnfill var(--dur) linear forwards; }
.lc-pulse{ position:fixed; left:50%; top:42%; transform:translate(-50%,-50%); z-index:50; pointer-events:none; display:flex; flex-direction:column; align-items:center; gap:6px;
  max-width:calc(100vw - 28px); box-sizing:border-box;
  padding:16px 26px 14px; border-radius:18px; background:oklch(0.08 0.012 280 / 0.92); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid oklch(0.78 0.16 84 / 0.5); box-shadow:0 0 48px oklch(0.78 0.16 84 / 0.35), 0 22px 54px -14px oklch(0 0 0 / 0.6); animation:lcPulse 2.3s cubic-bezier(0.2,0.8,0.2,1) forwards; }
.lc-pulse-amt{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; max-width:100%; min-height:2.3em; text-align:center; font-family:var(--mono); font-weight:600; font-size:clamp(20px, 6.2vw, 26px); line-height:1.05; color:oklch(0.9 0.012 90); text-shadow:0 2px 18px oklch(0 0 0 / 0.5); transition:color 0.2s; }
.lc-pulse-amt.is-sent{ color:oklch(0.85 0.16 86); }
.lc-pulse-bal{ font-size:12.5px; color:oklch(0.88 0.008 90); }
/* resgate (credit) = azul/ciano, idêntico ao FLOW (.fl-pingpulse.is-credit) */
.lc-pulse.is-credit{ border-color:oklch(0.72 0.15 210 / 0.55); box-shadow:0 0 48px oklch(0.72 0.15 210 / 0.32), 0 22px 54px -14px oklch(0 0 0 / 0.7); }
.lc-pulse.is-credit .lc-pulse-amt.is-sent{ color:oklch(0.82 0.12 210); }
.lc-pulse.is-credit .lc-pulse-amt.is-sent svg{ color:oklch(0.82 0.12 210); }
@keyframes lcPulse{ 0%{ opacity:0; transform:translate(-50%,-44%) scale(0.85);} 8%{ opacity:1; transform:translate(-50%,-50%) scale(1.04);} 16%{ transform:translate(-50%,-50%) scale(1);} 82%{ opacity:1;} 100%{ opacity:0; transform:translate(-50%,-58%) scale(1);} }

@media(max-width:560px){ .lc-head-title h1{ font-size:27px; } .lc-card{ padding:13px; }
  .lc-thread{ margin-left:0; padding-left:12px; }
}
/* ── REGRA MONOCROMÁTICA: o bloco ⚡+número usa UMA cor só (--ping-value).
   Modo escuro: basta remapear --ping-value pro âmbar claro (ex.: var(--ping)). */
.lc-root{ --ping-value: var(--ping-ink); }
.lc-threshold-v, .lc-res, .lc-res-n, .lc-res-rank.is-lead, .lc-stepper-val, .lc-chip-amt,
.lc-need, .lc-thread-ping, .lc-bd-total, .lc-bd-row-v, .lc-bd-backer-v,
.lc-proj-now, .lc-proj-after, .lc-confirm-sub .mono, .lc-hype.is-charged .lc-react-n{ color:var(--ping-value); }
.lc-threshold-v svg, .lc-res svg, .lc-stepper-val svg, .lc-chip.is-lead svg,
.lc-need svg, .lc-thread-ping svg, .lc-bd-total svg, .lc-bd-row-v svg,
.lc-bd-backer-v svg, .lc-proj-now svg, .lc-proj-after svg{ color:currentColor; }
/* tema: aplica antes do paint pra não piscar */

/* ── ajustes de embed: o módulo preenche o container da página ── */
.lc-module{ min-height:0; padding:0; }
.lc-module .lc-wrap{ max-width:none; padding:0; }
.lc-module{ font-family:var(--font); color:var(--ink); letter-spacing:-0.006em; line-height:1.5; }
.lc-module .lc-head-title h1{ font-size:24px; }
.lc-module .lc-head{ gap:10px 14px; padding-bottom:14px; margin-bottom:18px; }
.lc-module .lc-head-right{ gap:10px; }
.lc-module .lc-head-title{ gap:9px; }
.lc-module .lc-count{ font-size:12.5px; padding:1px 8px; }

/* ── containers estreitos (reader do FLOW em janelas baixas): header empilha ── */
.lc-module{ container-type:inline-size; }
.lc-module .lc-head-right{ flex-wrap:wrap; justify-content:flex-end; min-width:0; }
.lc-module .lc-sort{ flex-shrink:1; min-width:0; }
.lc-module .lc-sort button{ padding:5px 9px; }
.lc-module .lc-card-head{ min-width:0; }
.lc-module .lc-card-head > *{ min-width:0; }
.lc-module .lc-head-id{ flex:1 1 auto; min-width:0; overflow:hidden; }
.lc-module .lc-name{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* reader estreito (celular): quando o bloco da direita quebra pra segunda linha,
   ele ocupa a largura toda e distribui — "1º lugar" ancora à esquerda (sob o título)
   e os controles vão pra direita, sem o vão vazio no meio. */
@container (max-width: 460px){
  .lc-module .lc-head-right{ width:100%; flex:1 1 100%; margin-left:0; justify-content:space-between; }
}
@container (max-width: 300px){
  .lc-module .lc-head{ flex-direction:column; align-items:stretch; }
  .lc-module .lc-head-right{ justify-content:space-between; width:100%; gap:8px; }
  .lc-module .lc-head-title h1{ font-size:20px; }
  .lc-module .lc-sort button{ padding:4px 7px; font-size:11px; }
  .lc-module .lc-card{ padding:10px; }
  .lc-module .lc-thread{ margin-left:0; padding-left:8px; }
}

/* boot: tema é detectado no primeiro frame — sem transições até assentar */
.lc-root.lc-boot, .lc-root.lc-boot *{ transition:none !important; }
