/* css/party.css — M-31b: bingkai party + toast undangan (js/ui/party-ui.js). */
.party{position:fixed;left:max(12px,env(safe-area-inset-left));top:max(120px,calc(env(safe-area-inset-top) + 120px));z-index:6;width:min(190px,40vw);font:12px/1.3 system-ui,sans-serif;color:#fff}
.party[hidden]{display:none}
body.invopen .party{display:none}
.pframe{display:flex;flex-direction:column;gap:4px}
.phead{display:flex;justify-content:space-between;align-items:center;gap:4px;font-weight:700;text-shadow:0 1px 2px #000}
.phead button,.pact button,.ptoast button{min-width:30px;min-height:28px;border:0;border-radius:7px;background:rgba(255,255,255,.18);color:#fff;font:inherit;padding:0 8px}
.pm{background:rgba(10,14,24,.62);border-radius:8px;padding:4px 6px}
.pm.off{opacity:.5}.pm.sel{outline:1px solid #7fd4ff}
.pn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.pn span,.pn i{opacity:.75;font-style:normal}
.bar{height:5px;margin-top:3px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.bar u{display:block;height:100%;text-decoration:none}.bar.hp u{background:#e0524d}.bar.mp u{background:#4d8fe0}
.pact{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}
.ptoasts{position:fixed;left:50%;transform:translateX(-50%);top:max(64px,calc(env(safe-area-inset-top) + 64px));z-index:40;display:flex;flex-direction:column;gap:6px;align-items:center;font:13px/1.3 system-ui,sans-serif;color:#fff;pointer-events:none}
.ptoast{pointer-events:auto;background:rgba(10,14,24,.88);border-radius:10px;padding:8px 12px;display:flex;gap:8px;align-items:center}
.ptoast.err{background:rgba(120,30,30,.9)}

/* M-33c: bingkai sasaran sekutu */
.tgt { position: fixed; top: 8px; left: 50%; transform: translateX(-50%); z-index: 22; min-width: 150px; padding: 4px 8px; border-radius: 8px; background: rgba(10, 14, 24, .82); color: #fff; font: 12px/1.3 system-ui, sans-serif; border: 1px solid #ffd24d; }
.tgt .th { display: flex; align-items: center; gap: 4px; }
.tgt .th button { margin-left: auto; background: none; border: 0; color: #fff; font-size: 14px; padding: 2px 6px; }
.tgt .bar { height: 5px; margin-top: 3px; background: rgba(255, 255, 255, .18); border-radius: 3px; overflow: hidden; }
.tgt .bar u { display: block; height: 100%; background: #e5484d; }
.pm button.tg { margin-left: 4px; background: none; border: 0; padding: 0 2px; font-size: 12px; }

/* M-34b: ikon buff di bingkai party + kilatan heal + toast heal */
.pbuffs{display:flex;gap:3px;margin-top:3px;flex-wrap:wrap}
.pbf{font:700 9px/16px system-ui,sans-serif;min-width:18px;height:16px;padding:0 3px;border-radius:4px;text-align:center;background:rgba(80,200,120,.35);border:1px solid rgba(120,255,170,.5)}
.ptoast.heal{background:rgba(20,90,50,.9)}
.allyflash{position:fixed;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,rgba(80,255,150,0) 55%,rgba(80,255,150,.28) 100%);animation:allyfl .7s ease-out forwards}
@keyframes allyfl{from{opacity:1}to{opacity:0}}
