/* Co-op features: damage meter window (Details/Recount look on WoW 1.12 tooltip art). */
.mt-win { position: fixed; z-index: 8; width: 270px; padding: 6px 8px 8px; font: 12px/1.2 FrizQT, Arial, sans-serif; color: #fff; pointer-events: auto; user-select: none; -webkit-user-select: none;
  background: rgba(0, 0, 0, .78); border: 1px solid #5a5a5a; border-radius: 4px; box-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
body.wowui .mt-win { background: none; border: 0; box-shadow: none; padding: 9px 11px 11px; }
body.wowui .mt-win::before { content: ''; position: absolute; inset: 4px; z-index: -1; background: rgba(0, 0, 0, .8); border-radius: 3px; }
body.wowui .mt-win::after { content: ''; position: absolute; inset: 0; pointer-events: none; border: 16px solid transparent; border-image: var(--wb-tip) 16 / 16px; }
.mt-win.hidden { display: none; }
.mt-title { display: flex; justify-content: space-between; align-items: center; height: 18px; margin-bottom: 3px; cursor: move; color: #ffd100; text-shadow: 1px 1px 0 #000; }
.mt-x, .mt-sz { cursor: pointer; padding: 0 4px; font-size: 15px; color: #c8b070; font-weight: normal; }
.mt-x:hover, .mt-sz:hover { color: #fff; }
.mt-panel { position: relative; }
.mt-tabs { display: flex; gap: 2px; margin-bottom: 3px; }
.mt-tabs b { flex: 1; text-align: center; padding: 2px 0; font-weight: normal; font-size: 11px; color: #c8b070; cursor: pointer; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); border-radius: 2px; }
.mt-tabs b.on { color: #ffd100; background: rgba(255, 209, 0, .14); border-color: rgba(255, 209, 0, .4); }
.mt-tabs b:hover { color: #fff; }
.mt-head { display: flex; justify-content: space-between; gap: 6px; padding: 1px 2px 3px; font-size: 11px; color: #ffd100; text-shadow: 1px 1px 0 #000; white-space: nowrap; }
.mt-head font { font: inherit; }
.mt-head em { font-style: normal; color: #ff3030; animation: mt-blink .5s steps(2) infinite; }
.mt-back { cursor: pointer; font-weight: normal; color: #c8b070; }
.mt-back:hover { color: #fff; }
.mt-body { max-height: 240px; overflow-y: auto; scrollbar-width: thin; }
.mt-bar { position: relative; display: flex; align-items: center; height: 17px; margin-bottom: 1px; background: rgba(255, 255, 255, .05); cursor: pointer; overflow: hidden; }
.mt-bar > i.f { position: absolute; left: 0; top: 0; bottom: 0; background: var(--c); }
body.wowui .mt-bar > i.f { background: var(--c) var(--wt-bar) 0 0 / 100% 100%; background-blend-mode: multiply; }
.mt-bar > u { position: absolute; top: 0; bottom: 0; background: var(--c); opacity: .35; text-decoration: none; }
.mt-bar > span { position: relative; padding: 0 4px; white-space: nowrap; text-shadow: 1px 1px 0 #000, -1px 0 0 #000; font-size: 11px; }
.mt-bar .l { flex: 1; overflow: hidden; text-overflow: ellipsis; }
.mt-bar:hover { outline: 1px solid rgba(255, 255, 255, .35); }
.mt-sp { height: 30px; cursor: default; }
.mt-sp .l small { display: block; font-size: 9px; color: #ddd; opacity: .9; }
.mt-ic { position: relative; flex: none; width: 26px; height: 26px; margin: 0 2px; background-size: cover; border: 1px solid #000; }
.mt-ic.mt-sch, .mt-ic.mt-mob { background: radial-gradient(circle at 40% 35%, #fff8, transparent 60%), var(--c, #7a5a3a); border-radius: 3px; }
.mt-ic.mt-mob.boss { background: radial-gradient(circle at 40% 35%, #fff8, transparent 60%), #8a1a10; }
.mt-pull > i.f { background: repeating-linear-gradient(45deg, #b00 0 6px, #800 6px 12px) !important; }
.mt-tank > span.l { color: #fff; }
.mt-aggro { font-weight: normal; color: #ffd100; }
.mt-tlist { display: flex; flex-wrap: wrap; gap: 2px; margin-bottom: 3px; }
.mt-tsel { font-weight: normal; font-size: 10px; padding: 1px 4px; color: #c8b070; background: rgba(255, 255, 255, .06); cursor: pointer; border-radius: 2px; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mt-tsel.on { color: #ffd100; background: rgba(255, 209, 0, .14); }
.mt-empty { padding: 8px 4px; color: #999; font-size: 11px; text-align: center; }
.mt-warn .mt-head { background: rgba(200, 0, 0, .25); }
@keyframes mt-blink { 50% { opacity: .35; } }
#meterEnd { margin: 10px 0 4px; text-align: left; }
#meterEnd .mt-body { max-height: 200px; }
@media (max-width: 600px) { .mt-win { width: 220px; } }

/* Resurrection: grey world while dead in co-op, WoW casting bar for rez channels. */
body.lf-dead:not(.lf-arena-spec) #game { filter: grayscale(.4) brightness(.9); }
.cb-win { position: fixed; z-index: 8; left: 50%; bottom: 190px; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; pointer-events: none; }
.cb-win.hidden { display: none; }
.cb-ic { width: 22px; height: 22px; flex: none; background-size: cover; border: 1px solid #000; }
.cb-bar { position: relative; width: 195px; height: 13px; background: rgba(0, 0, 0, .55); border: 2px solid #c8b070; border-radius: 3px; box-shadow: 0 0 0 1px #000; overflow: hidden; }
.cb-fill { position: absolute; left: 0; top: 0; bottom: 0; background: rgb(255, 179, 0); }
body.wowui .cb-fill { background: rgb(255, 179, 0) var(--wt-bar) 0 0 / 100% 100%; background-blend-mode: multiply; }
.cb-txt { position: relative; display: block; text-align: center; font: 11px/13px FrizQT, Arial, sans-serif; color: #fff; text-shadow: 1px 1px 0 #000; white-space: nowrap; }

/* Spectate bar while dead in co-op. */
.sp-win { position: fixed; z-index: 8; left: 50%; bottom: 226px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 4px 10px; background: rgba(0, 0, 0, .6); border: 1px solid rgba(255, 209, 0, .35); border-radius: 4px; pointer-events: auto; user-select: none; font: 14px/1.2 FrizQT, Arial, sans-serif; color: #ffd100; text-shadow: 1px 1px 0 #000; text-align: center; }
.sp-win.hidden { display: none; }
.sp-win font { font: inherit; }
.sp-win small { display: block; font-size: 10px; color: #c8b070; }
.sp-btn { cursor: pointer; font-weight: normal; color: #c8b070; padding: 2px 4px; }
.sp-btn:hover { color: #fff; }

/* Raid target icons over enemies, ground and minimap pings, raid icon menu. */
#lfMarks { position: fixed; inset: 0; z-index: 5; pointer-events: none; overflow: hidden; }
#lfMarks.hidden { display: none; }
.mk-over { position: absolute; left: 0; top: 0; width: 28px; height: 28px; will-change: transform; }
.mk-over .mk-ic { width: 28px; height: 28px; }
.mk-ic { display: inline-block; flex: none; width: 18px; height: 18px; background-size: 400% 400%; background-repeat: no-repeat; vertical-align: middle; }
.mk-gl { background: none; font: normal 22px/28px Arial, sans-serif; text-align: center; text-shadow: 0 0 2px #000, 1px 1px 0 #000; font-style: normal; }
.mk-menu .mk-gl { font-size: 15px; line-height: 18px; }
.mk-menu { position: fixed; z-index: 30; min-width: 130px; padding: 10px 12px; font: 12px/1.2 FrizQT, Arial, sans-serif; color: #fff; background: rgba(0, 0, 0, .85); border: 1px solid #5a5a5a; border-radius: 4px; }
body.wowui .mk-menu { background: none; border: 0; }
.mk-menu.hidden { display: none; }
.mk-h { color: #ffd100; margin-bottom: 4px; }
.mk-row { display: flex; align-items: center; gap: 6px; padding: 2px 4px; cursor: pointer; }
.mk-row:hover { background: rgba(255, 209, 0, .15); }
.pg-ground, .pg-mm { position: absolute; left: 0; top: 0; width: 0; height: 0; will-change: transform; }
.pg-ground i, .pg-mm i { position: absolute; left: 0; top: 0; border: 4px solid var(--c, #ffd100); border-radius: 50%; box-shadow: 0 0 10px var(--c, #ffd100), inset 0 0 10px var(--c, #ffd100); transform: translate(-50%, -50%) scale(0, .45); opacity: 0; animation: pg-ring 1s ease-out 3; }
.pg-ground::before, .pg-mm::before { content: ''; position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: #fff; box-shadow: 0 0 8px 3px var(--c, #ffd100); animation: pg-dot 3s linear forwards; }
.pg-ground i { width: 90px; height: 90px; }
.pg-ground i + i, .pg-mm i + i { animation-delay: .5s; }
.pg-mm i { width: 26px; height: 26px; border-width: 2px; transform: translate(-50%, -50%) scale(0); animation-name: pg-mm; }
.pg-ground span { position: absolute; left: 0; top: -40px; transform: translateX(-50%); white-space: nowrap; font: 12px FrizQT, Arial, sans-serif; color: var(--c, #ffd100); text-shadow: 1px 1px 0 #000; }
@keyframes pg-ring { 0% { transform: translate(-50%, -50%) scale(.1, .045); opacity: 1; } 70% { opacity: .8; } 100% { transform: translate(-50%, -50%) scale(1, .45); opacity: 0; } }
@keyframes pg-dot { 0%, 80% { opacity: 1; } 100% { opacity: 0; } }
@keyframes pg-mm { 0% { transform: translate(-50%, -50%) scale(.1); opacity: 1; } 70% { opacity: .8; } 100% { transform: translate(-50%, -50%) scale(1); opacity: 0; } }

/* Downed allies: world marker (pinned to the screen edge when off screen) and minimap skull. */
.dn-mark, .dn-mm { position: absolute; left: 0; top: 0; width: 0; height: 0; will-change: transform; }
.dn-mark i { position: absolute; left: -12px; top: -30px; width: 24px; height: 24px; background: var(--wt-skull, none) center / contain no-repeat; animation: dn-pulse 1s ease-in-out infinite alternate; }
body:not(.wowui) .dn-mark i::after { content: '\2620'; font: 20px/24px Arial, sans-serif; color: #fff; text-shadow: 0 0 3px #f00; }
.dn-mark span { position: absolute; left: 0; top: -4px; transform: translateX(-50%); white-space: nowrap; font: 12px FrizQT, Arial, sans-serif; color: #ff6060; text-shadow: 1px 1px 0 #000, -1px 0 0 #000; }
.dn-mark.edge i { filter: drop-shadow(0 0 4px #f00); }
.dn-mm i { position: absolute; left: -7px; top: -7px; width: 14px; height: 14px; background: var(--wt-skull, none) center / contain no-repeat; filter: drop-shadow(0 0 2px #f00); }
body:not(.wowui) .dn-mm i { background: #f33; border-radius: 50%; }
@keyframes dn-pulse { from { transform: scale(.9); } to { transform: scale(1.1); } }

/* Meter: boss/run segment switch, aggro warning flash, end screen shows only the meter. */
.mt-segs { display: flex; gap: 2px; margin-bottom: 3px; }
.mt-segs.hidden { display: none; }
.mt-segs b { flex: 1; text-align: center; font-weight: normal; font-size: 10px; padding: 1px 0; color: #c8b070; cursor: pointer; background: rgba(255, 255, 255, .05); border-radius: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-segs b.on { color: #ffd100; background: rgba(255, 209, 0, .14); }
.mt-win { transform-origin: 0 0; }
#lfAggro { position: fixed; inset: 0; z-index: 9; pointer-events: none; display: flex; justify-content: center; padding-top: 22vh; box-shadow: inset 0 0 120px rgba(255, 0, 0, .45); font: 26px/1 FrizQT, Arial, sans-serif; color: #ff2020; text-shadow: 2px 2px 0 #000; animation: mt-blink .5s steps(2) infinite; }
#lfAggro.hidden { display: none; }
body.lf-meter-end #end .scorewrap { display: none; }
.mk-mm { position: absolute; left: 0; top: 0; width: 0; height: 0; }
.mk-mm .mk-ic { position: absolute; left: -8px; top: -8px; width: 16px; height: 16px; }
.mk-mm .mk-gl { font-size: 13px; line-height: 16px; }
.pg-ground.pk2 { --c: #ff3030 !important; }

/* Death recap ("What killed you"): under the target frame (UI ARTIST 2), below the WoW panels, clear of the hero and the meter. */
.dr-win { position: fixed; z-index: 5; left: 250px; top: 84px; width: 230px; padding: 7px 10px; transform-origin: 0 0; font: 12px/1.2 FrizQT, Arial, sans-serif; color: #fff; pointer-events: auto; background: rgba(0, 0, 0, .82); border: 1px solid #5a5a5a; border-radius: 4px; }
body.wowui .dr-win { background: none; border: 0; }
.dr-win.hidden { display: none; }
.dr-win.dr-in-end { position: relative; left: auto !important; top: auto !important; width: auto; margin: 8px 0; z-index: auto; }
.dr-h { display: flex; justify-content: space-between; color: #ff4040; margin-bottom: 2px; text-shadow: 1px 1px 0 #000; }
.dr-x { cursor: pointer; font-weight: normal; color: #c8b070; padding: 0 2px; }
.dr-x:hover { color: #fff; }
.dr-row { position: relative; display: flex; align-items: center; height: 18px; margin-bottom: 1px; background: rgba(255, 255, 255, .05); overflow: hidden; }
.dr-row .dr-f { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(200, 30, 30, .55); }
.dr-row .mt-ic { width: 16px; height: 16px; }
.dr-row > span { position: relative; padding: 0 4px; font-size: 11px; white-space: nowrap; text-shadow: 1px 1px 0 #000; }
.dr-row .l { flex: 1; overflow: hidden; text-overflow: ellipsis; text-align: left; }
.dr-row .r { text-align: right; }
.dr-f2 { margin-top: 2px; font-size: 11px; color: #c8b070; }

/* Co-op stand-up button while downed (below the rez cast bar, clear of the hero). */
.st-btn { position: fixed; z-index: 8; left: 50%; bottom: 150px; transform: translateX(-50%); padding: 5px 16px; cursor: pointer; pointer-events: auto; font: 14px FrizQT, Arial, sans-serif; color: #ffd100; text-shadow: 1px 1px 0 #000; background: linear-gradient(#5c100b, #2b0605); border: 1px solid #c9a24a; border-radius: 4px; }
.st-btn:hover { color: #fff; }
.st-btn.hidden { display: none; }
