/* © 2026 bladept696 — Centro de Comando / Hash Commander. Todos os direitos reservados.
   é proibido copiar, modificar, redistribuir ou publicar este ficheiro, no todo ou em parte, sem autorização escrita do autor.
   https://github.com/bladept696/centro-de-comando-v3 */
  /* ===== Banner "Hash Commander" removido a pedido do usuário ===== */
  /* ===== Banner "Hash Commander" (rede neural animada) ===== */
  #hcBanner{
    position: relative;
    width: 100%;
    height: 140px;
    margin: 0 0 14px 0;
    border-radius: 14px;
    overflow: hidden;
    background: radial-gradient(ellipse 70% 120% at 50% 130%, #5a3206 0%, #24130a 42%, #070b10 78%);
    border: 1px solid #3d2c14;
    box-shadow: 0 8px 30px -10px #000a, inset 0 -18px 40px -22px #ff9d1c55;
  }
  #hcBanner canvas{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
  }
  #hcBannerGrid{
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(rgba(255,170,60,0.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,170,60,0.045) 1px, transparent 1px);
    background-size: 26px 26px;
    pointer-events: none;
  }
  #hcBannerText{
    position: absolute;
    top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: 0.38em;
    font-family: 'Orbitron', 'Space Grotesk', Arial, sans-serif;
    font-weight: 900;
    font-size: clamp(20px, 4.1vw, 44px);
    letter-spacing: 0.14em;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    filter: drop-shadow(0 2px 0 #3a1d02) drop-shadow(0 0 16px rgba(255,160,40,0.55)) drop-shadow(0 0 38px rgba(255,120,20,0.32));
    animation: hcFlicker 4.2s infinite ease-in-out;
  }
  #hcBannerText .hc-w{
    display: inline-flex;
    align-items: center;
    color: transparent;
    background: linear-gradient(180deg, #fff3c9 0%, #ffd45a 36%, #ff9d1c 68%, #7a3f05 100%), linear-gradient(105deg, transparent 40%, #ffffffcc 50%, transparent 60%);
    background-size: 100% 100%, 260% 100%;
    background-repeat: no-repeat;
    background-position: 0 0, 160% 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-stroke: 0.5px #ffd98a55;
    animation: hcShine 6.5s infinite ease-in-out;
  }
  #hcBannerText .hc-w + .hc-w{ animation-delay: .35s; }
  /* o "O" de COMMANDER é uma moeda de bitcoin a rodar */
  #hcBannerText .hc-coin{
    display: inline-grid;
    place-items: center;
    width: 0.86em;
    height: 0.86em;
    margin: 0 0.07em;
    border-radius: 50%;
    font-style: normal;
    font-size: 1em;
    line-height: 1;
    color: #5a3300;
    background: radial-gradient(circle at 34% 28%, #fff1b8 0%, #ffcf4a 38%, #f0911a 72%, #8a4a07 100%);
    box-shadow: inset 0 0 0 0.07em #ffe08a, inset 0 0 0 0.13em #b8700f, 0 0 14px #ffb02099;
    -webkit-text-fill-color: #5a3300;
    text-stroke: 0;
    -webkit-text-stroke: 0;
    animation: hcCoin 3.6s infinite ease-in-out;
    transform-style: preserve-3d;
  }
  @keyframes hcCoin { 0%, 100% { transform: perspective(160px) rotateY(-32deg); } 50% { transform: perspective(160px) rotateY(32deg); } }
  @keyframes hcShine { 0%, 55% { background-position: 0 0, 160% 0; } 80%, 100% { background-position: 0 0, -60% 0; } }
  @keyframes hcFlicker {
    0%, 100% { opacity: 1; }
    46% { opacity: 0.94; }
    50% { opacity: 0.82; }
    54% { opacity: 0.97; }
  }
  #hcBannerVignette{
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 60px 18px #06090d;
    pointer-events: none;
  }
  @media (max-width: 640px){
    #hcBanner{ height: 100px; }
    #hcBannerText{ letter-spacing: 0.08em; gap: 0.25em; }
  }
  @media (prefers-reduced-motion: reduce){
    #hcBannerText, #hcBannerText .hc-w, #hcBannerText .hc-coin{ animation: none; }
  }
  /* ===== Fundo animado low-poly (azul/dourado), fixo atrás de tudo ===== */
  #lowPolyBg{
    position: fixed;
    inset: 0;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    opacity: 0.4;
  }
  @media (prefers-reduced-motion: reduce){
    #lowPolyBg{ display:none; }
  }
  /* === Desempenho: menos repintura durante o scroll === */
  body[data-theme="glass"] .panel, body[data-theme="glass"] .gauge,
  body[data-theme="glass"] .sim-card, body[data-theme="glass"] .channel-card, body[data-theme="glass"] .support-card,
  body[data-theme="glass"] .metric-row{ backdrop-filter:none; -webkit-backdrop-filter:none; }
  .block-card:first-child::after{ content:''; position:absolute; inset:0; border-radius:10px; pointer-events:none;
    box-shadow: inset 0 0 22px -4px var(--green-dim); animation: latestBlockGlowOp 2.4s ease-in-out infinite; }
  @keyframes latestBlockGlowOp{ 0%,100%{ opacity:0; } 50%{ opacity:1; } }
  html.is-scrolling body::before, html.is-scrolling body::after,
  html.is-scrolling .block-card:first-child::after, html.is-scrolling .dot{ animation-play-state:paused; }
  body.perf-mode #bodyMatrixCanvas, body.perf-mode .wave-bg-canvas, body.perf-mode #hcBannerCanvas,
  body.perf-mode #footerMatrixCanvas{ display:none !important; }
  body.perf-mode::before, body.perf-mode::after{ display:none; }
  body.perf-mode .block-card:first-child::after, body.perf-mode .dot{ animation:none; }
  #perfBtn[aria-pressed="true"]{ border-color:var(--green); color:var(--green); }
  /* === Refrigeração líquida + VDroop === */
  .cool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:12px;margin:12px 0;}
  .cool-stat{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;}
  .cool-stat .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
  .cool-stat .val{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;color:var(--cyan);}
  .cool-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);}
  .cool-field input[type=text],.cool-field input[type=number],.cool-select{background:var(--panel-2);border:1px solid var(--line-strong);color:var(--text);border-radius:8px;padding:7px 10px;font-size:12px;}
  .cool-banner{border-radius:10px;padding:10px 14px;font-size:12.5px;margin:10px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
  .cool-banner.trip{background:#2b0d0d;border:1px solid var(--red);color:var(--red);}
  .cool-banner.warn{background:#2b220d;border:1px solid var(--amber);color:var(--amber);}
  .cool-svg{width:100%;height:120px;background:#0a1620;border:1px solid var(--line);border-radius:8px;}
  /* === Placas de hash === */
  .hb-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:10px;}
  .hb-table th{color:var(--muted);font-weight:600;text-align:left;padding:6px 10px;border-bottom:1px solid var(--line-strong);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;}
  .hb-table td{padding:7px 10px;border-bottom:1px solid var(--line);color:var(--text);}
  .hb-table tr.hb-bad td{background:#2b0d0d;color:var(--red);}
  .hb-table tr.hb-warn td{background:#2b220d;color:var(--amber);}
  /* === Parasite: vida e efeitos (só transform/opacity) === */
  #tab-parasite{ position:relative; }
  .pv-spores{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
  .pv-spores span{ position:absolute; bottom:-10px; width:4px; height:4px; border-radius:50%; background:var(--cyan); opacity:0; box-shadow:0 0 6px var(--cyan); animation:pvSpore linear infinite; will-change:transform,opacity; }
  @keyframes pvSpore{ 0%{ transform:translateY(0) translateX(0); opacity:0; } 10%{ opacity:.7; } 90%{ opacity:.25; } 100%{ transform:translateY(-520px) translateX(24px); opacity:0; } }
  #tab-parasite .blocks-container, #tab-parasite .panel{ position:relative; z-index:1; }
  #tab-parasite .rate-chip{ position:relative; overflow:hidden; transition:transform .2s ease, border-color .2s ease; }
  #tab-parasite .rate-chip:hover{ transform:translateY(-3px); border-color:var(--cyan); }
  #tab-parasite .rate-chip::before{ content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg,transparent,rgba(120,220,255,.16),transparent); transform:skewX(-18deg); animation:pvSweep 6s ease-in-out infinite; pointer-events:none; }
  #tab-parasite .rate-chip:nth-child(2)::before{ animation-delay:1s; } #tab-parasite .rate-chip:nth-child(3)::before{ animation-delay:2s; }
  #tab-parasite .rate-chip:nth-child(4)::before{ animation-delay:3s; } #tab-parasite .rate-chip:nth-child(5)::before{ animation-delay:4s; }
  @keyframes pvSweep{ 0%,55%{ transform:translateX(0) skewX(-18deg); } 100%{ transform:translateX(420%) skewX(-18deg); } }
  #tab-parasite .rate-value{ text-shadow:0 0 10px rgba(79,214,255,.35); }
  #tab-parasite .rate-value.pv-flash{ animation:pvFlash .9s ease-out; }
  @keyframes pvFlash{ 0%{ transform:scale(1.18); color:#fff; text-shadow:0 0 18px #4fd6ff; } 100%{ transform:scale(1); } }
  #tab-parasite .icon-parasite-mite{ animation:pvMite 3.4s ease-in-out infinite; transform-origin:50% 60%; }
  @keyframes pvMite{ 0%,100%{ transform:translateY(0) rotate(-4deg); } 50%{ transform:translateY(-3px) rotate(4deg); } }
  #tab-parasite .refinery-progress-fill{ position:relative; overflow:hidden; }
  #tab-parasite .refinery-progress-fill::after{ content:''; position:absolute; top:0; left:0; width:50%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); animation:pvBar 2.2s ease-in-out infinite; }
  @keyframes pvBar{ 0%{ transform:translateX(-100%); } 100%{ transform:translateX(300%); } }
  #tab-parasite .refinery-status.status-fulfilled, #tab-parasite .refinery-status.status-active, #tab-parasite .refinery-status.status-pending{ animation:pvBadge 2.4s ease-in-out infinite; }
  @keyframes pvBadge{ 0%,100%{ opacity:.7; } 50%{ opacity:1; } }
  #tab-parasite .refinery-table tbody tr{ animation:pvRow .5s ease-out both; transition:background .2s; }
  #tab-parasite .refinery-table tbody tr:hover{ background:rgba(79,214,255,.07); }
  #tab-parasite .refinery-table tbody tr:nth-child(2){ animation-delay:.08s; } #tab-parasite .refinery-table tbody tr:nth-child(3){ animation-delay:.16s; }
  #tab-parasite .refinery-table tbody tr:nth-child(4){ animation-delay:.24s; } #tab-parasite .refinery-table tbody tr:nth-child(n+5){ animation-delay:.32s; }
  @keyframes pvRow{ from{ opacity:0; transform:translateX(-10px); } to{ opacity:1; transform:none; } }
  html.is-scrolling #tab-parasite .pv-spores span, html.is-scrolling #tab-parasite .rate-chip::before,
  html.is-scrolling #tab-parasite .refinery-progress-fill::after, html.is-scrolling #tab-parasite .icon-parasite-mite{ animation-play-state:paused; }
  body.perf-mode .pv-spores{ display:none; }
  body.perf-mode #tab-parasite .rate-chip::before, body.perf-mode #tab-parasite .refinery-progress-fill::after,
  body.perf-mode #tab-parasite .icon-parasite-mite, body.perf-mode #tab-parasite .refinery-status{ animation:none; }
  /* === Gráficos 3D === */
  .hc3d-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:1; }
  .hc3d-labels{ position:absolute; inset:0; pointer-events:none; z-index:2; overflow:hidden; }
  .hc3d-lbl{ position:absolute; left:0; top:0; font-size:10px; color:var(--muted); white-space:nowrap; text-shadow:0 1px 2px #000a; font-variant-numeric:tabular-nums; }
  .hc3d-lbl-strong{ font-size:11px; font-weight:600; color:var(--text); }
  .hc3d-tip{ position:absolute; pointer-events:none; display:none; z-index:3; background:color-mix(in srgb,var(--panel) 93%,transparent); border:1px solid var(--line-strong); border-radius:6px; padding:4px 8px; font-size:11px; color:var(--text); white-space:nowrap; }
  /* === Relógio 3D + tempo === */
  .wx-panel{ position:relative; display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding:6px 18px; margin:10px 0; border:1px solid var(--line-strong); border-radius:14px; background:linear-gradient(120deg,color-mix(in srgb,var(--panel-2) 82%,transparent),color-mix(in srgb,var(--deep) 82%,transparent)); }
  .wx-globe{ position:relative; width:104px; height:104px; flex:0 0 104px; }
  body.perf-mode .wx-globe{ display:none; }
  .wx-time{ font-family:'Space Grotesk',monospace; font-weight:700; font-size:40px; line-height:1; color:#dff6ff; transform-origin:50% 100%; animation:wxSway 9s ease-in-out infinite alternate;
    text-shadow:1px 1px 0 #1a6a8a,2px 2px 0 #165b78,3px 3px 0 #124c66,4px 4px 0 #0e3d54,6px 9px 16px rgba(0,0,0,.65),0 0 22px rgba(79,214,255,.35); }
  @keyframes wxSway{ from{ transform:perspective(700px) rotateX(16deg) rotateY(-7deg); } to{ transform:perspective(700px) rotateX(16deg) rotateY(7deg); } }
  body.perf-mode .wx-time{ animation:none; transform:none; }
  html.is-scrolling .wx-time{ animation-play-state:paused; }
  .wx-sec{ font-size:19px; color:var(--cyan); }
  .wx-date{ font-size:11px; color:var(--muted); margin-top:5px; text-transform:capitalize; }
  .wx-place{ font-size:12px; color:var(--text); margin-top:1px; font-weight:600; }
  .wx-temp{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:28px; color:#fff; }
  .wx-cond{ font-size:12px; color:var(--amber); margin:1px 0 4px; }
  .wx-meta{ display:flex; gap:16px; flex-wrap:wrap; font-size:11.5px; color:var(--muted); }
  .wx-meta b{ color:var(--text); }
  .wx-gear{ position:absolute; top:8px; right:10px; background:transparent; border:1px solid var(--line-strong); color:var(--muted); border-radius:8px; padding:3px 9px; cursor:pointer; font-size:14px; }
  .wx-gear:hover{ color:var(--cyan); border-color:var(--cyan); }
  .wx-settings{ position:absolute; top:42px; right:10px; z-index:8; width:300px; background:color-mix(in srgb,var(--panel) 96%,transparent); border:1px solid var(--line-strong); border-radius:10px; padding:10px 12px; font-size:12px; color:var(--text); }
  .wx-settings input[type=text]{ background:var(--panel-2); border:1px solid var(--line-strong); color:var(--text); border-radius:6px; padding:5px 8px; width:200px; }
  .wx-settings button{ background:var(--panel-2); border:1px solid var(--line-strong); color:var(--text); border-radius:6px; padding:4px 9px; cursor:pointer; }
  .wx-modes,.wx-search{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
  .wx-results button{ display:block; width:100%; text-align:left; margin-bottom:4px; }

  /* ===== Chat em Tempo Real (Balão Flutuante) ===== */
  .chat-fab{ position:fixed; right:18px; bottom:18px; z-index:10000; width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,#0c2b22,#0f3a2c); border:2px solid #21ffb055; color:var(--green); font-size:20px; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 8px 22px #000a,0 0 0 1px #ffffff08; transition:all .15s ease, border-color .15s ease; }
  .chat-fab:hover{ transform:scale(1.06); border-color:var(--green); box-shadow:0 8px 22px #000a,0 0 0 1px #ffffff08; }
  .chat-fab-badge{ position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; border-radius:9px; background:var(--amber); color:#000; font-size:10px; font-weight:700; font-family:'Space Grotesk',sans-serif; display:flex; align-items:center; justify-content:center; padding:0 4px; }
  .chat-fab-badge:empty{ display:none; }
  .chat-panel{ position:fixed; right:18px; bottom:130px; z-index:9999; width:380px; height:500px; background:var(--panel); border:1px solid var(--line-strong); border-radius:16px; display:none; flex-direction:column; box-shadow:0 12px 48px #000c,0 0 40px #21ffb011; overflow:hidden; animation:chatPanelIn .25s ease; }
  .chat-panel.open{ display:flex; }
  @keyframes chatPanelIn{ from{opacity:0;transform:translateY(20px) scale(.95)} to{opacity:1;transform:translateY(0) scale(1)} }
  .chat-header{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--line-strong); background:var(--panel-2); flex-shrink:0; }
  .chat-header-left{ display:flex; align-items:center; gap:8px; }
  .chat-header-icon{ font-size:18px; }
  .chat-header-title{ font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:700; color:var(--cyan); letter-spacing:.06em; }
  .chat-header-actions{ display:flex; align-items:center; gap:10px; }
  .chat-online-badge{ display:flex; align-items:center; gap:5px; font-size:11px; color:var(--muted); }
  .chat-online-dot{ width:6px; height:6px; border-radius:50%; background:#5fd38d; box-shadow:0 0 5px #5fd38d; }
  .chat-close-btn{ background:none; border:1px solid var(--line-strong); border-radius:8px; color:var(--muted); font-size:14px; padding:2px 8px; cursor:pointer; transition:all .15s ease; line-height:1; }
  .chat-close-btn:hover{ color:var(--text); border-color:var(--text); }
  .chat-body{ display:flex; flex:1; overflow:hidden; }
  .chat-messages{ flex:1; overflow-y:auto; padding:10px 12px; display:flex; flex-direction:column; gap:5px; scroll-behavior:smooth; }
  .chat-messages::-webkit-scrollbar{ width:5px; }
  .chat-messages::-webkit-scrollbar-thumb{ background:var(--line-strong); border-radius:3px; }
  .chat-msg{ display:flex; flex-direction:column; max-width:82%; padding:7px 10px; border-radius:12px; font-size:12px; line-height:1.5; word-wrap:break-word; animation:chatFadeIn .2s ease; }
  @keyframes chatFadeIn{ from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:translateY(0)} }
  .chat-msg-other{ background:var(--panel-2); border:1px solid var(--line-strong); align-self:flex-start; border-bottom-left-radius:4px; }
  .chat-msg-self{ background:linear-gradient(135deg,#0c2b22,#0f3a2c); border:1px solid #21ffb033; align-self:flex-end; border-bottom-right-radius:4px; }
  .chat-msg-sys{ background:transparent; border:none; align-self:center; color:var(--muted); font-size:10px; padding:3px 0; text-align:center; }
  .chat-msg-author{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:10px; margin-bottom:1px; }
  .chat-msg-other .chat-msg-author{ color:var(--amber); }
  .chat-msg-self .chat-msg-author{ color:var(--green); }
  .chat-msg-text{ color:var(--text); }
  .chat-msg-time{ font-size:9px; color:var(--muted); margin-top:2px; text-align:right; }
  .chat-sidebar{ width:120px; border-left:1px solid var(--line-strong); padding:8px; overflow-y:auto; background:var(--panel-2); display:flex; flex-direction:column; gap:3px; flex-shrink:0; }
  .chat-sidebar-title{ font-family:'Space Grotesk',sans-serif; font-size:9px; font-weight:700; color:var(--muted); letter-spacing:.1em; margin-bottom:4px; text-transform:uppercase; }
  .chat-sidebar-user{ display:flex; align-items:center; gap:6px; padding:3px 6px; border-radius:6px; font-size:11px; color:var(--text); transition:all .12s ease; }
  .chat-sidebar-dot{ width:5px; height:5px; border-radius:50%; background:#5fd38d; box-shadow:0 0 4px #5fd38d; flex-shrink:0; }
  .chat-input-bar{ display:flex; align-items:center; gap:6px; padding:8px 12px; border-top:1px solid var(--line-strong); background:var(--panel-2); flex-shrink:0; }
  .chat-emoji-btn{ background:none; border:1px solid var(--line-strong); border-radius:6px; color:var(--text); font-size:16px; padding:3px 6px; cursor:pointer; transition:all .12s ease; line-height:1; }
  .chat-emoji-btn:hover{ border-color:var(--amber); background:#ffb02022; }
  .chat-input{ flex:1; background:var(--panel); border:1px solid var(--line-strong); border-radius:8px; color:var(--text); font-family:'JetBrains Mono',monospace; font-size:12px; padding:8px 10px; outline:none; transition:border-color .12s ease; min-width:0; }
  .chat-input:focus{ border-color:var(--cyan); }
  .chat-input::placeholder{ color:var(--muted); }
  .chat-send-btn{ background:var(--green); color:#000; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:12px; padding:8px 14px; border:none; border-radius:8px; cursor:pointer; transition:all .12s ease; white-space:nowrap; }
  .chat-send-btn:hover{ background:#50ffcc; box-shadow:0 3px 10px #21ffb044; }
  .chat-send-btn:disabled{ opacity:.4; cursor:not-allowed; }
  .chat-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1; color:var(--muted); gap:8px; padding:20px; }
  .chat-empty-icon{ font-size:36px; opacity:.5; }
  .chat-empty-text{ font-size:12px; text-align:center; }
  .chat-emoji-picker{ position:absolute; bottom:52px; left:12px; background:var(--panel-2); border:1px solid var(--line-strong); border-radius:10px; padding:8px; display:none; flex-wrap:wrap; gap:3px; max-width:250px; box-shadow:0 8px 20px #000a; z-index:100; }
  .chat-emoji-picker.open{ display:flex; }
  .chat-emoji-pick{ background:none; border:none; font-size:18px; padding:3px; cursor:pointer; border-radius:6px; transition:background .1s; }
  .chat-emoji-pick:hover{ background:var(--panel); }
  @media(max-width:500px){ .chat-panel{ width:calc(100vw - 16px); right:8px; bottom:130px; height:55vh; } .chat-sidebar{display:none} .chat-fab{ right:12px; bottom:12px; } }
  /* === Pools genéricas (Molepool, etc.) === */
  .gp-select-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}
  .gp-select-row select, .gp-select-row input{background:var(--panel-2);border:1px solid var(--line-strong);color:var(--text);border-radius:8px;padding:7px 10px;font-size:12.5px;}
  .gp-select-row input{width:280px;}
  .gp-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px;margin:10px 0;}
  .gp-stat{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;}
  .gp-stat .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
  .gp-stat .val{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;color:var(--cyan);}
  .gp-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px;}
  .gp-table th{color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line-strong);font-size:10px;text-transform:uppercase;}
  .gp-table td{padding:6px 8px;border-bottom:1px solid var(--line);}
  .gp-table tr.gp-mine{background:#0d2b1d;}
  .gp-table tr.gp-mine td:first-child{border-left:3px solid var(--green);}
  .gp-badge{font-size:10px;padding:2px 7px;border-radius:5px;background:var(--panel-2);border:1px solid var(--line-strong);}
  .gp-badge.pending{color:var(--amber);border-color:var(--amber);}
  .gp-badge.confirmed{color:var(--green);border-color:var(--green);}
  /* === Destaque Molepool na página principal === */
  .gp-spot{position:relative;display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:14px 0;padding:14px 22px;border-radius:14px;
    border:1px solid #ffb02055;background:linear-gradient(120deg,rgba(43,34,13,.55),rgba(14,20,32,.7));overflow:hidden;}
  .gp-spot::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(255,176,32,.12),transparent 55%);pointer-events:none;}
  .gp-spot-item{position:relative;display:flex;flex-direction:column;gap:2px;padding:0 24px;border-right:1px solid var(--line-strong);}
  .gp-spot-item:last-child{border-right:none;}
  .gp-spot-item .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
  .gp-spot-item .val{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;color:#ffd27a;}
  .gp-spot-item .val.addr{font-size:13px;font-family:monospace;color:var(--text);letter-spacing:0;cursor:pointer;}
  .gp-spot-bar{position:relative;flex:1 1 180px;min-width:160px;padding:0 24px;}
  .gp-spot-bar .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;}
  .gp-spot-track{height:8px;border-radius:5px;background:#1c2330;overflow:hidden;}
  .gp-spot-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,#4fd6ff,#ffb020);transition:width 1s ease;}
  .gp-spot-pct{font-size:11px;color:var(--amber);margin-top:4px;}
  /* régua logarítmica até ao bloco */
  .gp-rl{position:relative;height:62px;margin-right:10px;}
  .gp-rl-trk{position:absolute;left:0;right:0;top:26px;height:10px;border-radius:6px;background:#0b0805;border:1px solid #3a2a14;overflow:hidden;}
  .gp-rl-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#7a4a0c,#ffb43a,#ffd98a);box-shadow:0 0 14px #ffb43a;transition:width 1s ease;}
  .gp-rl-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff6,transparent);background-size:40% 100%;background-repeat:no-repeat;animation:gp-rl-run 3s linear infinite;}
  @keyframes gp-rl-run{from{background-position:-40% 0}to{background-position:140% 0}}
  .gp-rl-tick{position:absolute;top:40px;transform:translateX(-50%);font-size:10px;color:var(--muted);white-space:nowrap;}
  .gp-rl-tick::before{content:"";position:absolute;left:50%;top:-6px;width:1px;height:5px;background:#5a4220;}
  .gp-rl-me{position:absolute;top:0;transform:translateX(-50%);font-size:11px;color:#ffd98a;white-space:nowrap;text-align:center;}
  .gp-rl-me::after{content:"";display:block;width:2px;height:12px;margin:2px auto 0;background:#ffd98a;box-shadow:0 0 8px #ffb43a;}
  .gp-rl-goal{position:absolute;right:-10px;top:20px;font-size:18px;filter:drop-shadow(0 0 8px #ffb43a);}
  .gp-rl-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:2px;}
  .gp-rl-foot b{color:#ffd98a;}
  body.perf-mode .gp-rl-fill::after{animation:none;}
  @media (prefers-reduced-motion:reduce){.gp-rl-fill::after{animation:none;}}
  .gp-spot-empty{position:relative;color:var(--muted);font-size:12.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .gp-spot-empty a{color:var(--cyan);cursor:pointer;}
  .gp-spot-pool{background:#0c1a26;border:1px solid #ffcf7a55;color:#ffd27a;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;cursor:pointer;color-scheme:dark;text-transform:none;letter-spacing:0;}
  .gp-spot-fiat{font-size:11px;color:#e8c48a;margin-top:2px;}
  .gp-spot-pool option{background:#0c1a26;color:#f3e6c8;}
  .gp-spot-setup input{background:var(--panel-2);border:1px solid var(--line-strong);color:var(--text);border-radius:8px;padding:6px 10px;font-size:12.5px;width:260px;}
  .footer-coffee{position:relative;z-index:2;display:inline-flex;align-items:center;gap:5px;margin-left:12px;padding:3px 10px;border-radius:7px;
    background:#2b220d;border:1px solid #ffb02066;color:#ffd27a;font-size:11px;text-decoration:none;white-space:nowrap;transition:transform .15s,border-color .15s;}
  .footer-coffee:hover{transform:translateY(-1px);border-color:#ffb020;color:#fff;}
  /* === Chat da comunidade: melhorias === */
  .chat-panel{ transition:width .2s ease,height .2s ease; }
  .chat-panel.wide{ width:min(620px,calc(100vw - 16px)); height:min(680px,calc(100vh - 150px)); }
  .chat-panel.full{ right:8px; bottom:8px; top:8px; left:8px; width:auto; height:auto; z-index:10030; }
  .chat-grip{ position:absolute; left:0; top:0; width:18px; height:18px; cursor:nwse-resize; z-index:3; background:linear-gradient(135deg,var(--cyan) 0 2px,transparent 2px 5px,var(--cyan) 5px 7px,transparent 7px); opacity:.35; border-top-left-radius:16px; touch-action:none; }
  .chat-grip:hover{ opacity:.9; }
  .chat-panel.wide .chat-grip,.chat-panel.full .chat-grip{ display:none; }
  .chat-hbtn{ background:none; border:1px solid var(--line-strong); border-radius:8px; color:var(--muted); font-size:13px; padding:2px 7px; cursor:pointer; line-height:1.3; }
  .chat-hbtn:hover{ color:var(--text); border-color:var(--text); }
  .chat-fab-badge.mention{ background:var(--red); color:#fff; }
  .chat-search{ display:flex; align-items:center; gap:8px; padding:6px 12px; border-bottom:1px solid var(--line-strong); background:var(--panel-2); }
  .chat-search[hidden],.chat-settings[hidden],.chat-replybar[hidden],.chat-mention-list[hidden],.chat-share[hidden]{ display:none; }
  .chat-search input{ flex:1; background:var(--panel); border:1px solid var(--line-strong); border-radius:8px; color:var(--text); font:inherit; font-size:12px; padding:5px 9px; outline:none; }
  .chat-search input:focus{ border-color:var(--cyan); } .chat-search span{ font-size:10px; color:var(--muted); white-space:nowrap; }
  .chat-settings{ display:grid; gap:7px; padding:10px 14px; border-bottom:1px solid var(--line-strong); background:var(--panel-2); font-size:12px; color:var(--text); max-height:42%; overflow:auto; }
  .chat-settings label{ display:flex; align-items:center; gap:8px; cursor:pointer; } .chat-settings label.col{ flex-direction:column; align-items:stretch; gap:4px; }
  .chat-settings input[type=text]{ background:var(--panel); border:1px solid var(--line-strong); border-radius:7px; color:var(--text); font:inherit; font-size:12px; padding:5px 8px; }
  .chat-set-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); }
  .chat-set-row button{ font:inherit; font-size:11px; font-weight:700; color:var(--text); background:var(--panel); border:1px solid var(--line-strong); border-radius:7px; padding:3px 9px; cursor:pointer; }
  .chat-set-note{ font-size:10.5px; color:var(--muted); line-height:1.45; }
  .chat-messages{ gap:3px; }
  .chat-row{ position:relative; display:flex; align-items:flex-end; gap:6px; max-width:94%; }
  .chat-row.self{ align-self:flex-end; flex-direction:row-reverse; } .chat-row.other{ align-self:flex-start; }
  .chat-row.grouped{ margin-top:-1px; } .chat-row:not(.grouped){ margin-top:5px; }
  .chat-row .chat-msg{ max-width:100%; min-width:0; align-self:auto; position:relative; }
  .chat-row.self .chat-msg-self{ border-bottom-right-radius:4px; }
  .chat-row.mention .chat-msg{ border-color:var(--amber); box-shadow:0 0 0 1px #ffb02055,0 0 12px -2px #ffb02066; }
  .chat-row.flash .chat-msg{ animation:chatFlash 1.4s ease; }
  @keyframes chatFlash{ 0%,60%{ box-shadow:0 0 0 2px var(--cyan),0 0 16px var(--cyan); } }
  .chat-av{ flex:none; width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:9.5px; font-weight:800; color:#fff; background:linear-gradient(135deg,hsl(var(--h,200) 62% 46%),hsl(calc(var(--h,200) + 40) 62% 32%)); box-shadow:inset 0 1px 0 #ffffff33; }
  .chat-av.ghost{ background:none; box-shadow:none; }
  .chat-msg-author{ color:hsl(var(--h,40) 78% 66%) !important; }
  .chat-msg-text a{ color:var(--cyan); word-break:break-all; } .chat-msg-text{ white-space:pre-wrap; }
  .chat-mention{ color:var(--cyan); font-weight:700; } .chat-mention.me{ background:#ffb02033; color:var(--amber); border-radius:4px; padding:0 3px; }
  .chat-img{ display:block; margin-top:5px; } .chat-img img{ max-width:100%; max-height:170px; border-radius:8px; border:1px solid var(--line-strong); display:block; }
  .chat-reply{ border-left:3px solid var(--cyan); background:#00000026; border-radius:5px; padding:2px 7px; margin-bottom:4px; font-size:10.5px; color:var(--muted); cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .chat-reply b{ color:var(--cyan); }
  .chat-reacts{ display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
  .chat-react{ font:inherit; font-size:11px; color:var(--text); background:var(--panel); border:1px solid var(--line-strong); border-radius:99px; padding:1px 7px; cursor:pointer; } .chat-react b{ font-size:10px; color:var(--muted); }
  .chat-react.mine{ border-color:var(--cyan); background:#4fd6ff22; }
  .chat-tools{ position:absolute; top:-13px; display:none; gap:1px; background:var(--panel); border:1px solid var(--line-strong); border-radius:8px; padding:1px; box-shadow:0 4px 12px #000a; z-index:2; }
  .chat-row.self .chat-tools{ left:26px; } .chat-row.other .chat-tools{ right:26px; }
  .chat-row:hover .chat-tools,.chat-row:focus-within .chat-tools{ display:flex; }
  .chat-tools button{ background:none; border:none; color:var(--text); font-size:12px; padding:2px 6px; border-radius:6px; cursor:pointer; } .chat-tools button:hover{ background:var(--panel-2); }
  .chat-quick{ position:absolute; top:100%; z-index:5; display:flex; gap:2px; background:var(--panel); border:1px solid var(--line-strong); border-radius:99px; padding:3px 6px; box-shadow:0 6px 18px #000b; }
  .chat-row.self .chat-quick{ right:0; } .chat-row.other .chat-quick{ left:28px; }
  .chat-quick button{ background:none; border:none; font-size:16px; cursor:pointer; border-radius:50%; padding:2px 4px; transition:transform .1s; } .chat-quick button:hover{ transform:scale(1.25); }
  .chat-day{ align-self:center; margin:8px 0 3px; padding:1px 10px; font-size:10px; color:var(--muted); border:1px solid var(--line-strong); border-radius:99px; background:var(--panel-2); }
  .chat-unread-line{ display:flex; align-items:center; gap:8px; margin:6px 0 2px; color:var(--red); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
  .chat-unread-line::before,.chat-unread-line::after{ content:''; flex:1; height:1px; background:currentColor; opacity:.5; }
  .chat-more{ align-self:center; font:inherit; font-size:11px; color:var(--cyan); background:none; border:1px dashed var(--line-strong); border-radius:99px; padding:3px 12px; cursor:pointer; margin-bottom:4px; }
  .chat-event{ align-self:center; display:flex; align-items:center; gap:8px; max-width:92%; margin:6px 0; padding:6px 12px; font-size:12px; color:#ffe9a8; background:linear-gradient(135deg,#3a2a05,#241a04); border:1px solid #ffd34a77; border-radius:12px; box-shadow:0 0 16px -4px #ffd34a66; animation:chatFadeIn .3s ease; }
  .chat-event time{ font-size:9px; color:var(--muted); }
  .chat-card{ margin-top:5px; border:1px solid var(--line-strong); border-left:3px solid var(--green); border-radius:9px; background:#00000030; padding:6px 9px; min-width:180px; }
  .chat-card.warm{ border-left-color:var(--amber); } .chat-card.hot,.chat-card.off{ border-left-color:var(--red); }
  .chat-card-h{ font-weight:700; font-size:11.5px; margin-bottom:3px; }
  .chat-card-g{ display:grid; grid-template-columns:auto 1fr auto 1fr; gap:1px 8px; font-size:10.5px; } .chat-card-g span{ color:var(--muted); } .chat-card-g b{ text-align:right; }
  .chat-typing{ min-height:15px; padding:0 14px 2px; font-size:10.5px; color:var(--muted); font-style:italic; }
  .chat-replybar{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 12px; font-size:11px; color:var(--text); background:var(--panel-2); border-top:1px solid var(--line-strong); border-left:3px solid var(--cyan); }
  .chat-replybar em{ color:var(--muted); font-style:normal; } .chat-replybar span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .chat-replybar button{ background:none; border:none; color:var(--muted); cursor:pointer; font-size:13px; }
  .chat-mention-list,.chat-share{ position:absolute; left:12px; right:12px; bottom:56px; z-index:6; display:flex; flex-direction:column; background:var(--panel-2); border:1px solid var(--line-strong); border-radius:10px; padding:4px; box-shadow:0 10px 26px #000c; max-height:210px; overflow:auto; }
  .chat-mention-list button,.chat-share button{ display:flex; align-items:center; gap:8px; background:none; border:none; color:var(--text); font:inherit; font-size:12px; padding:5px 8px; border-radius:7px; cursor:pointer; text-align:left; }
  .chat-mention-list button:hover,.chat-share button:hover{ background:var(--panel); }
  .chat-share button span{ margin-left:auto; color:var(--muted); font-size:11px; } .chat-share button i{ width:7px; height:7px; border-radius:50%; background:var(--green); } .chat-share button i.warm{ background:var(--amber); } .chat-share button i.hot,.chat-share button i.off{ background:var(--red); }
  .chat-pop-title{ font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); padding:3px 8px; } .chat-pop-empty{ font-size:12px; color:var(--muted); padding:8px; }
  .chat-sidebar-user .chat-av{ width:18px; height:18px; font-size:8px; } .chat-sidebar-user em{ color:var(--muted); font-style:normal; font-size:9px; }
  .chat-sidebar{ width:132px; }
  @media(max-width:500px){ .chat-row{ max-width:98%; } .chat-tools{ display:flex; opacity:.9; } .chat-panel.full{ left:0; right:0; top:0; bottom:0; border-radius:0; } }
  @media (prefers-reduced-motion: reduce){ .chat-event,.chat-row.flash .chat-msg{ animation:none !important; } }
  /* canais e mensagens privadas */
  .chat-tabs{ display:flex; gap:4px; padding:5px 10px; overflow-x:auto; border-bottom:1px solid var(--line-strong); background:var(--panel-2); scrollbar-width:thin; flex-shrink:0; }
  .chat-tab{ position:relative; flex:none; font:inherit; font-size:11px; font-weight:700; color:var(--muted); background:var(--panel); border:1px solid var(--line-strong); border-radius:99px; padding:3px 11px; cursor:pointer; white-space:nowrap; }
  .chat-tab:hover{ color:var(--text); } .chat-tab.on{ color:var(--cyan); border-color:var(--cyan); background:#4fd6ff1a; }
  .chat-tab.dm{ color:#d9b3ff; } .chat-tab.dm.on{ color:#e6ccff; border-color:#b07cff; background:#b07cff22; }
  .chat-tab i{ font-style:normal; margin-left:6px; min-width:15px; height:15px; border-radius:8px; background:var(--red); color:#fff; font-size:9px; display:inline-flex; align-items:center; justify-content:center; padding:0 4px; vertical-align:middle; }
  .chat-tab i:empty{ width:8px; min-width:8px; height:8px; padding:0; }
  .chat-tab-x{ display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; margin:0 -3px 0 6px; border-radius:50%; font-size:12px; line-height:1; color:inherit; opacity:.55; cursor:pointer; }
  .chat-tab-x:hover{ opacity:1; background:#ffffff1f; color:#fff; }
  .chat-sidebar-user.can-dm{ cursor:pointer; } .chat-sidebar-user.can-dm:hover{ background:var(--panel); }
  .chat-msg-sys.has-act{ background:#ff5d5d14; border:1px solid #ff5d5d55; border-radius:10px; padding:8px 10px; color:var(--text); max-width:94%; }
  .chat-msg-sys.has-act button{ display:block; margin:6px auto 0; font:inherit; font-size:11px; font-weight:700; color:#04210f; background:var(--green); border:none; border-radius:8px; padding:5px 12px; cursor:pointer; }
