/* party (party.js): janela flutuante como as outras (.win do app.css), cartoes de convite no canto, aba Party do chat */
.pt-b { display: flex; flex-direction: column; gap: 8px; resize: none; }
.pt-sub { margin: 0; font-size: 13px; color: #c9cfdd; }
.pt-list { display: flex; flex-direction: column; gap: 3px; }
.pt-it { position: relative; }
.g .pt-m { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nome st" "hp hp" "mp mp"; gap: 3px 8px;
  padding: 6px 8px; border-radius: 6px; text-align: left; background: #121624; border: 1px solid #232838; font-size: 13px; }
.g .pt-m[data-pt-row]:hover, .pt-it.aberto .pt-m { border-color: #6b5626; background: #19160e; }
.g .pt-m.eu { border-color: #34405c; cursor: default; }
.pt-nome { grid-area: nome; display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.pt-nome b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.pt-coroa { font-style: normal; color: var(--gold-2); font-size: 13px; }
.pt-lv { font-size: 11px; color: var(--gold-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pt-st { grid-area: st; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; color: var(--dim); text-align: right; align-self: center; }
.pt-st.time { color: #8fd8a0; }
.pt-bar { display: block; height: 5px; border-radius: 3px; background: #0a0c13; overflow: hidden; }
.pt-bar.hp { grid-area: hp; }
.pt-bar.mp { grid-area: mp; }
.pt-bar i { display: block; height: 100%; transition: width .4s; }
.pt-bar.hp i { background: linear-gradient(90deg, #b8322a, #e0533f); }
.pt-bar.mp i { background: linear-gradient(90deg, #2a55b8, #4f86e8); }
.pt-menu { margin: 2px 0 4px 12px; display: flex; flex-direction: column; padding: 4px; border-radius: 6px; background: #171b29; border: 1px solid #3a4258; box-shadow: 0 6px 18px #0009; }
.g .pt-menu button { display: block; width: 100%; padding: 6px 8px; border-radius: 4px; text-align: left; font-size: 12.5px; color: #e2e5ec; }
.g .pt-menu button:hover { background: #262b3c; }
.pt-menu small { display: block; margin-top: 1px; font-size: 10.5px; color: #8f95a6; }
.pt-menu b { color: var(--gold-2); }
.g .pt-menu .pt-rm { color: #ffb4aa; }
.pt-conv { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 4px 8px; border-radius: 6px; border: 1px dashed #3a4258; font-size: 12px; color: #c9cfdd; }
.pt-conv small { color: var(--dim); }
.pt-xp { display: flex; justify-content: space-between; gap: 8px; padding: 6px 8px; border-radius: 6px; background: #0e1119; border: 1px solid #232838; font-size: 12px; color: #c9cfdd; }
.pt-xp b { color: var(--gold-2); }
.pt-xpst { margin: -4px 2px 0; }
.pt-bom { color: #8fd8a0; }
.pt-ruim { color: #ffb4aa; }
.pt-cac { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border-radius: 6px; background: #13200f; border: 1px solid #2f5326; font-size: 12.5px; }
.pt-sec { padding: 6px 8px; border-radius: 6px; background: #0e1119; border: 1px solid #232838; }
.pt-sec.on { border-color: #6b5626; }
.pt-sech { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; }
.pt-sec p { margin: 4px 0 0; }
.pt-kv { display: flex; justify-content: space-between; font-size: 12px; margin-top: 4px; }
.pt-ops { display: flex; flex-direction: column; gap: 4px; }
.pt-chk { display: flex; gap: 6px; align-items: flex-start; font-size: 11.5px; color: #c9cfdd; line-height: 1.35; }
.pt-chk input { margin-top: 2px; }
.pt-add { display: flex; gap: 6px; }
.g .pt-add input { flex: 1; min-width: 0; padding: 6px 8px; border-radius: 6px; background: #0a0c13; border: 1px solid #2a3044; color: var(--txt); font-size: 13px; }
.g .pt-add input:focus { border-color: var(--gold); outline: none; }
.pt-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1px solid #2c3346; }
.pt-foot > span:first-child { white-space: nowrap; }
.pt-foot > span:last-child { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.g .btn.danger { color: #ffb4aa; border-color: #5a2a26; }
/* "Sair da Party" (pedido do Julio, 18/11/2026): area de toque de 44 px (celular, console), dentro da janela da party
   (nao cobre a barra de baixo nem o resto da HUD); o foco do teclado/controle aparece */
.g .pt-foot .pt-sair { min-height: 44px; min-width: 44px; padding: 0 14px; }
/* o rodape fica a vista no fim da janela (o corpo rola por cima dele) */
.pt-win .pt-foot { position: sticky; bottom: -8px; z-index: 1; margin: 0 -8px -8px; padding: 8px; background: #10131d; }
.g .pt-foot .pt-sair:focus-visible, .pt-confb .btn:focus-visible { outline: 2px solid var(--gold-2, #f0c46a); outline-offset: 2px; }
.pt-confb .btn { min-height: 44px; min-width: 88px; }
/* morreu na caçada do time e esta voltando (a contagem do servidor) */
.pt-st.morto { color: #ffb4aa; }
.pt-volta { margin: 6px 0; font-weight: 600; color: var(--gold-2, #f0c46a); font-variant-numeric: tabular-nums; }
.pt-volta.cancelada { font-weight: 400; color: #c9cfdd; }
/* botao Party em cima (so com party) */
.g .g-icons .g-party { position: relative; }
.g-party em { position: absolute; top: -4px; right: -4px; min-width: 16px; padding: 0 4px; border-radius: 99px; background: #c0392b; color: #fff; font-size: 10px; font-style: normal; line-height: 16px; }
/* cartoes de convite e de proposta (canto de cima, como no Huntera) */
.pt-cards { position: absolute; top: 58px; right: 10px; z-index: 8; width: 300px; max-width: calc(100vw - 20px); display: flex; flex-direction: column; gap: 6px; pointer-events: none; }
.pt-card { pointer-events: auto; padding: 8px 10px; border-radius: 8px; background: #141826f2; border: 1px solid #6b5626; box-shadow: 0 8px 22px #000a; font-size: 12.5px; color: #e2e5ec; animation: pt-in .25s ease-out; }
@keyframes pt-in { from { transform: translateY(-6px); opacity: 0; } to { transform: none; opacity: 1; } }
.pt-ch { display: flex; align-items: center; gap: 6px; }
.pt-ch b { flex: 1; color: var(--gold-2); font-size: 12px; letter-spacing: .02em; }
.pt-t { font-size: 11px; color: var(--dim); font-variant-numeric: tabular-nums; }
.g .pt-x { width: 20px; height: 20px; border-radius: 4px; color: var(--dim); font-size: 11px; }
.g .pt-x:hover { background: #262b3c; color: var(--txt); }
.pt-card p { margin: 6px 0; line-height: 1.35; }
.pt-card b { color: #fff; }
.pt-ms { display: block; margin: -2px 0 6px; color: var(--dim); font-size: 11px; }
.pt-cb { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
/* pergunta (sair no meio da cacada, faixa de level, cacada solo) */
.pt-conf { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; background: #0008; padding: 16px; }
.pt-confb { width: 360px; max-width: 100%; padding: 14px; border-radius: 10px; background: #171b29; border: 1px solid #6b5626; box-shadow: 0 12px 32px #000c; color: #e2e5ec; font-size: 13.5px; }
.pt-confb p { margin: 0 0 12px; line-height: 1.4; }
/* alvo da cura (Configurar acao) */
.pt-alvo { margin: 8px 0; padding: 8px; border-radius: 6px; background: #0e1119; border: 1px solid #232838; }
.pt-alvo p { margin: 0 0 6px; }
.pt-alvor { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pt-alvor select { flex: 1; min-width: 160px; }
.g .pt-alvor input { width: 68px; padding: 5px 6px; }
.pt-alvon { margin-top: 6px; width: 100%; }
/* aba Party do chat: verde-claro, como o canal da party */
.g .chat-tabs button[data-chtab="party"] { color: #9df0b0; }
.cm.ch-party span { color: #9df0b0; }
@media (max-width: 759px) {
  .pt-cards { top: 52px; left: 8px; right: 8px; width: auto; }
  .pt-st { max-width: 110px; }
}
/* salas de caçada (Encontrar time, as mesas do Huntera) */
.pt-find h3 { margin: 4px 0 2px; color: var(--gold-2); font-size: 16px; }
.pt-find h4 { margin: 10px 0 4px; font-size: 12px; letter-spacing: .06em; color: #8f95a6; text-transform: uppercase; }
.pt-mesa { margin: 8px 0; padding: 10px; border-radius: 8px; background: #10131d; border: 1px solid #2c3346; }
.pt-mesa.minha { border-color: #6b5626; background: #19160e; }
.pt-mh { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.pt-mh b { color: #fff; font-size: 14px; }
.pt-mh span { font-size: 11px; color: var(--gold-2); }
.pt-mi { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 4px 0 8px; font-size: 12px; color: #c9cfdd; }
.pt-mi b { color: var(--gold-2); }
.pt-seats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.pt-seat { position: relative; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 6px 4px; border-radius: 6px; background: #0a0c13; border: 1px solid #2a3044; font-size: 12px; }
.pt-seat b { color: #fff; }
.pt-seat small { color: var(--dim); font-size: 10.5px; }
.pt-seat i { font-style: normal; font-size: 10px; color: #9fd3ff; }
.pt-seat.vazio { border-style: dashed; justify-content: center; min-height: 52px; }
.pt-seat .pt-x { position: absolute; top: 1px; right: 1px; }
.pt-mvocs { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 8px; font-size: 12px; color: #c9cfdd; }
.pt-mesa .pt-cb { margin-top: 8px; }
/* sala privada: na folha da caçada e na sala do dono */
.pt-priv { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: #c9cfdd; white-space: nowrap; }
.pt-mpriv { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; font-size: 12px; color: #c9cfdd; }
.pt-mpriv label { display: flex; align-items: center; gap: 6px; }
/* "Na fila" em cima (com ou sem party) */
.g .g-icons button.g-fila { width: auto; padding: 0 9px; font-size: 12px; white-space: nowrap; color: #9df0b0; border-color: #2f5326; background: #13200f; }
.g .g-icons button.g-fila.achou b { color: #1d1606; margin-left: 3px; }
.g .g-icons button.g-fila b { margin-left: 4px; font-variant-numeric: tabular-nums; color: #fff; font-weight: 600; }
.g .g-icons button.g-fila.achou { color: #1d1606; background: var(--gold); border-color: var(--gold); animation: pt-pisca 1.2s ease-in-out infinite; }
@keyframes pt-pisca { 50% { filter: brightness(1.25); } }
/* fila automatica (Encontrar time) */
.pt-fila { margin: 8px 0 14px; padding: 10px; border-radius: 8px; background: #10131d; border: 1px solid #2c3346; display: flex; flex-direction: column; gap: 8px; }
.pt-fila p { margin: 0; font-size: 13px; color: #c9cfdd; }
.pt-fila p b { color: var(--gold-2); }
.pt-filah { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.pt-filah > b { color: #9df0b0; font-size: 14px; }
.pt-filah span b { font-variant-numeric: tabular-nums; color: #fff; }
.pt-fsec h4 { margin: 0 0 6px; }
.pt-fmodos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.g .pt-fmodo { display: flex; flex-direction: column; gap: 3px; padding: 10px; border-radius: 8px; border: 1px solid #2a3044; background: #0a0c13; text-align: left; color: var(--txt); }
.g .pt-fmodo.on { border-color: var(--gold); background: #19160e; }
.g .pt-fmodo:disabled { opacity: .5; cursor: default; }
.pt-fmodo b { color: #fff; font-size: 13.5px; }
.pt-fmodo.on b { color: var(--gold-2); }
.pt-fmodo small { color: var(--gold-2); font-size: 11.5px; }
.pt-fmodo span { color: var(--dim); font-size: 11.5px; line-height: 1.35; }
.pt-fsizes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.pt-fsizes > span { margin-right: 4px; color: #c9cfdd; }
.g .pt-fsizes button, .g .pt-fpulls button { padding: 4px 10px; border-radius: 99px; border: 1px solid #2a3044; background: #0a0c13; color: var(--dim); font-size: 12px; }
.g .pt-fsizes button.on, .g .pt-fpulls button.on { border-color: var(--gold); color: var(--gold-2); background: #19160e; }
.g .pt-fsizes button:disabled, .g .pt-fpulls button:disabled { opacity: .45; cursor: default; }
.pt-fcusto { display: flex; gap: 8px; align-items: flex-start; padding: 5px 2px; font-size: 12.5px; cursor: pointer; }
.pt-fcusto input { margin-top: 3px; }
.pt-fcusto b { display: block; color: #e2e5ec; font-weight: 600; }
.pt-fcusto small { color: var(--dim); font-size: 11.5px; line-height: 1.35; }
.g .pt-fbusca { width: 100%; margin: 6px 0; }
.pt-fhunts { display: flex; flex-direction: column; gap: 4px; max-height: 320px; overflow-y: auto; padding-right: 2px; }
.pt-fh { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; padding: 6px 8px; border-radius: 6px; background: #0a0c13; border: 1px solid #1f2433; font-size: 12.5px; }
.pt-fh.on { border-color: #6b5626; background: #15130d; }
.pt-fh label { display: flex; align-items: center; gap: 6px; min-width: 0; cursor: pointer; }
.pt-fh label b { color: #e2e5ec; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-fh label small { color: var(--dim); white-space: nowrap; }
.pt-fpulls { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.pt-fpulls small { margin-right: 2px; color: var(--dim); font-size: 11px; }
.pt-fpulls small.pt-ruim { color: #ffb4aa; }
.pt-ffoot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding-top: 8px; border-top: 1px solid #2c3346; color: #c9cfdd; }
.pt-fcasa { padding: 8px 10px; border-radius: 8px; background: #19160e; border: 1px solid var(--gold); }
.pt-fcasa p { margin: 6px 0; }
.pt-fms { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 4px; }
.pt-fm { padding: 2px 7px; border-radius: 99px; background: #0a0c13; border: 1px solid #2a3044; font-size: 11.5px; color: #c9cfdd; }
.pt-fm small { color: var(--dim); }
.pt-fm.ok { border-color: #2f5326; color: #9df0b0; }
.pt-fst { display: block; margin-top: 2px; color: var(--gold-2); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.pt-find > h3 + p { margin-top: 0; }
@media (max-width: 759px) {
  .pt-fmodos { grid-template-columns: 1fr; }
  .g .g-dynm button.g-fila { width: auto; padding: 0 5px; display: flex; flex-direction: column; justify-content: center; gap: 0; font-size: 9.5px; line-height: 1.1; color: #9df0b0; border-color: #2f5326; background: #13200f; }
  .g .g-dynm button.g-fila b { margin: 0; font-size: 10.5px; }
  .g .g-dynm button.g-fila.achou { color: #1d1606; background: var(--gold); border-color: var(--gold); }
  .g .g-dynm button.g-fila.achou b { color: #1d1606; font-size: 9.5px; }
}
.pt-fila p.pt-ruim { color: #ffb4aa; }
