/* E62 · "ao vivo" + chat no site antigo. Celular primeiro (390 e 360 px). Minúsculas, sem emoji, nada sublinhado. Prefixo avc-. */
body.avc-aberto { overflow: hidden; }
#rodape > .avc-linha, .avc-linha { align-self: center; /* 29/10: centralizada */ display: flex; align-items: center; gap: 8px; max-width: 100%; }
#rodape .avc-linha > .totais { align-self: center; margin: 0; }
.avc-btn-vivo { position: relative; flex: none; height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 0 13px 2px 11px; border-radius: 999px; border: 3px solid var(--ink, #1e2430); background: #49d96f; color: var(--ink, #1e2430); font: inherit; font-size: 14.5px; font-weight: 900; line-height: 1; box-shadow: 0 3px 0 rgba(30, 36, 48, .35); cursor: pointer; white-space: nowrap; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.avc-btn-vivo[hidden] { display: none; }
.avc-btn-vivo::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 46px; transform: translateY(-50%); }
.avc-btn-vivo:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(30, 36, 48, .35); }
.avc-btn-vivo:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 6px var(--ink, #1e2430); }
.avc-btn-vivo .avc-n:empty { display: none; }
.avc-ponto { flex: none; width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 2.5px solid var(--ink, #1e2430); animation: avc-pulsa 1.7s ease-out infinite; }
.avc-tt .avc-ponto, .avc-on .avc-ponto { background: #49d96f; }
@keyframes avc-pulsa { 0% { box-shadow: 0 0 0 0 rgba(73, 217, 111, .85); } 70% { box-shadow: 0 0 0 9px rgba(73, 217, 111, 0); } 100% { box-shadow: 0 0 0 0 rgba(73, 217, 111, 0); } }
@media (prefers-reduced-motion: reduce) { .avc-ponto { animation: none; } }
.avc-fundo { position: fixed; inset: 0; z-index: 60; background: rgba(30, 36, 48, .42); }
.avc-fundo[hidden], .avc[hidden] { display: none; }
.avc { --avc-b: 0px; position: fixed; left: 0; right: 0; bottom: var(--avc-b); z-index: 61; margin: 0 auto; width: 100%; max-width: 560px; height: auto; max-height: min(88dvh, var(--avc-h, 100vh) - 12px); display: flex; flex-direction: column; overflow: hidden; background: #fffdf2; color: var(--ink, #1e2430); border: 3.5px solid var(--ink, #1e2430); border-bottom: 0; border-radius: 26px 26px 0 0; box-shadow: 0 -6px 0 rgba(30, 36, 48, .25); font-family: inherit; font-weight: 900; }
.avc.avc-chat { height: min(86dvh, var(--avc-h, 100vh) - 12px); }
.avc, .avc * { box-sizing: border-box; text-decoration: none; }
.avc button, .avc input { font-family: inherit; color: inherit; }
.avc-hd { flex: none; display: flex; align-items: center; gap: 8px; padding: 10px 12px 6px 14px; }
.avc-tt { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; font-size: 22px; line-height: 1.05; }
.avc-tt b { font-size: 21px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avc-chat .avc-tt { flex-wrap: wrap; row-gap: 2px; }
.avc-on { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: var(--muted, #5d6b7e); } .avc-on .avc-ponto { width: 9px; height: 9px; border-width: 2px; margin-right: 2px; }
.avc-uf { font-style: normal; font-size: 12.5px; color: var(--muted, #5d6b7e); }
.avc-ib { flex: none; width: 46px; height: 46px; display: grid; place-items: center; padding: 0; border: 3px solid var(--ink, #1e2430); border-radius: 50%; background: #fff; box-shadow: 0 3px 0 rgba(30, 36, 48, .3); cursor: pointer; }
.avc-ib svg { width: 22px; height: 22px; fill: none; stroke: var(--ink, #1e2430); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.avc-ib:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(30, 36, 48, .3); }
.avc-volta { display: none; } .avc-chat .avc-volta { display: grid; }
.avc-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 4px 14px calc(16px + env(safe-area-inset-bottom)); display: grid; gap: 10px; align-content: start; }
.avc-chat .avc-corpo { display: flex; flex-direction: column; gap: 8px; overflow: hidden; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
.avc-total { display: flex; align-items: baseline; gap: 8px; padding: 10px 14px; background: #49d96f; border: 3px solid var(--ink, #1e2430); border-radius: 16px; }
.avc-total b { font-size: 34px; line-height: 1; } .avc-total span { font-size: 15px; }
.avc-h { margin: 6px 2px 0; font-size: 13px; color: var(--muted, #5d6b7e); }
.avc-lista { display: grid; gap: 8px; }
.avc-lin { min-height: 56px; display: grid; grid-template-columns: 1fr auto auto; grid-template-rows: auto auto; column-gap: 10px; row-gap: 5px; align-items: center; padding: 8px 10px 9px 14px; background: #fff; border: 3px solid var(--ink, #1e2430); border-left-width: 10px; border-left-color: #49d96f; border-radius: 16px; box-shadow: 0 3px 0 rgba(30, 36, 48, .25); }
.avc-nome { min-width: 0; display: flex; align-items: baseline; gap: 6px; } .avc-nome b { font-size: 17px; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avc-sem .avc-nome { flex-direction: column; gap: 1px; }
.avc-num { font-size: 20px; }
.avc-conv, .avc-btn, .avc-env { min-height: 44px; padding: 0 14px 2px; border: 3px solid var(--ink, #1e2430); border-radius: 999px; background: var(--y, #FFD23F); font-size: 14.5px; font-weight: 900; cursor: pointer; box-shadow: 0 3px 0 rgba(30, 36, 48, .3); -webkit-tap-highlight-color: transparent; }
.avc-conv:active, .avc-btn:active, .avc-env:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(30, 36, 48, .3); }
.avc-conv:focus-visible, .avc-btn:focus-visible, .avc-env:focus-visible, .avc-u:focus-visible, .avc-lk:focus-visible, .avc-dn:focus-visible, .avc-ib:focus-visible { outline: 3px solid var(--ink, #1e2430); outline-offset: 2px; }
.avc-env:disabled { opacity: .55; }
.avc-bar { grid-column: 1 / -1; height: 9px; border: 2.5px solid var(--ink, #1e2430); border-radius: 999px; background: #f3efe0; overflow: hidden; } .avc-bar i { display: block; height: 100%; border-radius: 999px; background: #49d96f; }
.avc-vazio, .avc-mais, .avc-nota, .avc-dica { margin: 4px 2px; font-size: 14px; line-height: 1.25; color: var(--muted, #5d6b7e); }
.avc-msgs { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; gap: 8px; padding: 2px 2px 6px; }
.avc-m { align-self: flex-start; max-width: 92%; padding: 7px 11px 6px; background: #fff; border: 2.5px solid var(--ink, #1e2430); border-radius: 16px 16px 16px 4px; }
.avc-m.eu { align-self: flex-end; background: var(--y, #FFD23F); border-radius: 16px 16px 4px 16px; }
.avc-mt { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12.5px; }
.avc-u { padding: 0; border: 0; background: none; font-size: 13.5px; cursor: pointer; text-align: left; min-height: 24px; }
.avc-cg { padding: 1px 7px 2px; border-radius: 999px; background: var(--ink, #1e2430); color: #fff; font-size: 11px; }
.avc-h2 { color: var(--muted, #5d6b7e); font-size: 11.5px; margin-left: auto; }
.avc-mx { margin: 2px 0 0; font-size: 15.5px; line-height: 1.25; font-weight: 800; overflow-wrap: anywhere; }
.avc-ac { display: flex; align-items: center; gap: 4px; margin-top: 1px; }
.avc-lk, .avc-dn { min-width: 40px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 0 6px; border: 0; background: none; cursor: pointer; font-size: 13px; color: var(--muted, #5d6b7e); }
.avc-lk svg, .avc-dn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.avc-lk.on { color: #e0343a; } .avc-lk.on svg { fill: #e0343a; } .avc-dn.on { color: #e0343a; } .avc-dn:disabled { opacity: .35; }
.avc-aviso { flex: none; margin: 0; padding: 6px 10px 7px; background: #fff3c4; border: 2.5px solid var(--ink, #1e2430); border-radius: 12px; font-size: 13.5px; line-height: 1.25; }
.avc-aviso[hidden] { display: none; }
.avc-rod { flex: none; display: grid; gap: 8px; }
.avc-f { display: flex; gap: 8px; }
.avc-in { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 3.5px solid var(--ink, #1e2430); border-radius: 999px; background: #fff; font-size: 16px; font-weight: 800; outline: 0; }
.avc-in:focus-visible { box-shadow: 0 0 0 3px var(--y, #FFD23F); }
.avc-env { height: 48px; }
.avc-ver { display: grid; gap: 7px; padding: 10px 12px 12px; background: #fff; border: 3px solid var(--ink, #1e2430); border-radius: 16px; font-size: 14px; line-height: 1.25; }
.avc-ver span { font-weight: 800; color: var(--muted, #5d6b7e); }
.avc-cod { display: inline-block; justify-self: start; padding: 4px 12px 5px; background: #f3efe0; border: 2.5px solid var(--ink, #1e2430); border-radius: 12px; font-size: 20px; letter-spacing: .5px; user-select: all; }
@media (max-width: 360px) { .avc-lin { column-gap: 7px; padding-left: 11px; } .avc-conv { padding: 0 11px 2px; } .avc-btn-vivo { font-size: 13.5px; padding: 0 10px 2px 9px; } }
.avc-msgs > :first-child { margin-top: auto; }

/* 29/10: aviso do SISTEMA (Game Master) */
.avc-m.sis { align-self: stretch; max-width: none; padding: 10px 13px 11px; background: linear-gradient(160deg, #10131c 0%, #1a1020 100%); color: #f4f6fb; border: 2.5px solid #ff2d3d; border-radius: 6px; box-shadow: 0 0 0 1px rgba(255, 45, 61, .35), 0 0 16px rgba(255, 45, 61, .35), inset 0 0 22px rgba(255, 45, 61, .12); }
.avc-gm { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid rgba(255, 45, 61, .45); }
.avc-gm-tag { padding: 2px 8px 3px; background: #ff2d3d; color: #fff; border-radius: 3px; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-size: 11.5px; font-weight: 800; letter-spacing: 2.5px; }
.avc-gm-nome { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-size: 11.5px; font-weight: 700; letter-spacing: 3px; color: #ff8a93; }
.avc-m.sis .avc-h2 { color: #8f97ab; }
.avc-m.sis .avc-mx { margin: 4px 0 0; font-size: 15px; line-height: 1.35; font-weight: 800; color: #f4f6fb; }
.avc-m.sis .avc-mx:first-of-type { font-size: 16.5px; color: #fff; }

/* 29/10: cidade, UF e nível de quem fala */
.avc-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-top: 2px; font-size: 11px; line-height: 1; color: var(--muted, #5d6b7e); }
.avc-cid { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; }
.avc-uf, .avc-nv { padding: 2px 6px 3px; border: 1.5px solid currentColor; border-radius: 999px; font-size: 10.5px; font-weight: 900; }
.avc-nv { color: var(--ink, #1e2430); background: #f3efe0; border-color: var(--ink, #1e2430); }
.avc-m.eu .avc-meta { color: #4a3d00; } .avc-m.eu .avc-nv { background: #fff; }
/* 30/10: frase do prefeito fixada no topo da sala da cidade */
.avc-fix{margin:0 0 8px;padding:8px 12px;background:#fff8d6;border:2.5px solid var(--ink,#1e2430);border-radius:14px;box-shadow:0 3px 0 rgba(30,36,48,.18)}
.avc-fix-h{display:flex;align-items:center;gap:8px;font-size:13px}
.avc-fix-t{margin:3px 0 0;font-size:14px;line-height:1.3}
/* 30/10: sala por partido */
.avc-pt{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--ink,#1e2430);margin-right:6px;vertical-align:-1px}
/* 01/11: responder uma mensagem + cor do partido de quem fala */
.avc-ptm{width:11px;height:11px;margin:0;border-width:2px;vertical-align:0}
.avc-q{display:flex;align-items:baseline;gap:6px;max-width:100%;margin:4px 0 0;padding:4px 9px 5px 8px;border:0;border-left:4px solid var(--ink,#1e2430);border-radius:3px 10px 10px 3px;background:#f3efe0;color:var(--ink,#1e2430);font:inherit;font-size:12.5px;font-weight:900;line-height:1.2;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.avc-q b{flex:none;font-size:12px}
.avc-q span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;color:var(--muted,#5d6b7e)}
.avc-m.eu .avc-q{background:#fff8d6}
.avc-q:focus-visible{outline:3px solid var(--ink,#1e2430);outline-offset:2px}
.avc-rp{min-height:36px;display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 6px;border:0;background:none;cursor:pointer;font-size:13px;font-weight:900;color:var(--muted,#5d6b7e);-webkit-tap-highlight-color:transparent}
.avc-rp svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.avc-rp[hidden]{display:none}
.avc-rp:focus-visible{outline:3px solid var(--ink,#1e2430);outline-offset:2px}
.avc-rs{display:flex;align-items:center;gap:6px;min-height:38px;padding:0 2px 0 12px;border:2.5px solid var(--ink,#1e2430);border-radius:999px;background:#f3efe0;font-size:13.5px;font-weight:900}
.avc-rs-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avc-rs-x{flex:none;width:36px;height:34px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer;border-radius:50%}
.avc-rs-x svg{width:18px;height:18px;fill:none;stroke:var(--ink,#1e2430);stroke-width:3;stroke-linecap:round}
.avc-rs-x:focus-visible{outline:3px solid var(--ink,#1e2430);outline-offset:-2px}
.avc-m{transition:box-shadow .25s}
.avc-m.avc-alvo{box-shadow:0 0 0 4px var(--y,#FFD23F)}
@media (prefers-reduced-motion:reduce){.avc-m{transition:none}}

/* 04/11: chat direto na sua cidade, com as salas em abas */
.avc-btn-vivo{gap:6px;font-weight:900}
.avc-bal{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linejoin:round}
.avc.avc-chat{height:min(92dvh,var(--avc-h,100vh) - 8px)}
.avc-chat .avc-volta{display:none}
.avc-abas{flex:none;display:flex;gap:6px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}
.avc-abas::-webkit-scrollbar{display:none}
.avc-aba{flex:none;height:40px;padding:0 15px 2px;border:3px solid var(--ink,#1e2430);border-radius:999px;background:#fff;font-weight:900;font-size:14.5px;cursor:pointer}
.avc-aba.on{background:var(--ink,#1e2430);color:var(--y,#FFD23F)}
.avc-aba-m{border-style:dashed}
.avc-tt b{font-size:24px;font-weight:900}
.avc-on{font-size:15px;font-weight:900}
.avc-chat .avc-corpo{display:flex;flex-direction:column}
.avc-m{box-shadow:0 2px 0 rgba(30,36,48,.18)}

/* 07/11 (João): mensagem de quem faz o jogo, em azul, com a tag DEV */
.avc-m.avc-dev, .avc-m.avc-dev.eu { background: #cfe8ff; border-color: #0c3a8a; box-shadow: 0 2px 0 rgba(12, 58, 138, .35); }
.avc-m.avc-dev .avc-meta, .avc-m.avc-dev.eu .avc-meta { color: #0c3a8a; }
.avc-m.avc-dev .avc-q { background: #e8f4ff; }
.avc-cg.avc-cg-dev { background: #1d6fe0; color: #fff; font-weight: 900; letter-spacing: .08em; }
.avc-cg.avc-cg-dev::before { display: none; }
