/* Classic raid-frame hierarchy: class identity, gear quality, elite crest, action. */
.raid-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.raid-leaders line{stroke-width:1;stroke-dasharray:2 3}
.raid-frame{--class-color:#ddd;--gear-color:#ddd;position:relative;box-sizing:border-box;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:7px;row-gap:4px;width:166px;min-width:0;min-height:65px;padding:6px;background:#11100ff2 url('/ui-art/panel.png');border:1px solid #7e7160;border-radius:2px;box-shadow:inset 0 0 0 1px #000,0 2px 7px #000c;color:#f1e7d5;font:10px/1.15 Friz,Georgia,serif;text-align:left;pointer-events:auto;isolation:isolate}
.raid-frame [hidden]{display:none!important}
.raid-frame:hover{background-color:#27221a;border-color:#e3c879;filter:brightness(1.12)}
.raid-frame.elite{width:196px;border:1px solid #bfb6cc;box-shadow:inset 0 0 0 1px #000,0 0 7px #a335ee55,0 3px 8px #000}
.raid-frame.target{outline:2px solid #ffd15e;outline-offset:2px;border-color:#fff2b1;z-index:12;background-color:#2b2415}
.raid-frame.adventurer-plate{position:absolute;transform:translate(-50%,-100%) scale(var(--ui-scale,1));transform-origin:bottom center}
.raid-portrait{position:relative;align-self:start;width:32px;height:32px;margin-top:1px;border:1px solid #91816a;background:#080604;box-shadow:0 0 0 1px #000;border-radius:2px}
.raid-class-icon{display:block;width:32px;height:32px;background:url('/ui-art/classes.png');background-size:128px 128px;background-position:calc(var(--class-x)*-32px) calc(var(--class-y)*-32px)}
.raid-elite-crest{position:absolute;pointer-events:none;width:110px;height:55px;max-width:none;left:-15px;top:-3px;transform:scaleX(-1);clip-path:inset(0 0 0 49%);z-index:2}
.raid-level{position:absolute;right:-4px;bottom:-8px;z-index:3;min-width:14px;padding:1px 2px;border:1px solid #8b7853;border-radius:2px;background:#100d09;color:#ffe1a0;text-align:center;font:10px Friz;box-shadow:0 1px 3px #000}
.raid-body{display:grid;gap:3px;min-width:0}
.raid-heading{display:flex;gap:4px;justify-content:space-between;align-items:center;min-width:0}
.raid-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--class-color);font-size:12px;text-shadow:0 1px 2px #000}
.raid-percent{font-size:9px;color:#ddd5c5}
.raid-guild{font:8px Friz;color:#c4b28c;letter-spacing:.05em}
.raid-health{display:block;position:relative;overflow:hidden;height:8px;border:1px solid #000;background:#060504;box-shadow:0 0 0 1px #504838}
.raid-health-fill{display:block;height:100%;background:linear-gradient(#ffffff40,#00000036),var(--class-color)}
.raid-shield{position:absolute;inset:0 0 0 60%;background:repeating-linear-gradient(120deg,#fff3bbcc 0 2px,transparent 2px 5px);border-left:1px solid #ffe9ab}
.raid-badges{display:flex;flex-wrap:wrap;gap:3px;align-items:center;font-size:8px;line-height:1.25}
.raid-gear{color:var(--gear-color);border-bottom:1px solid var(--gear-color);padding-bottom:1px}
.raid-rank{color:#a69b86}.elite .raid-rank{color:#f0e2ff;font-size:8px;letter-spacing:.08em;background:#493856;padding:1px 3px;border:1px solid #b9a9c2;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 50%,calc(100% - 4px) 100%,4px 100%,0 50%)}
.raid-role{color:#efcf84}
.raid-action{grid-column:1/-1;position:relative;overflow:hidden;border:1px solid #8f6b33;background:#271b0f;min-height:15px;text-align:center;font-size:9px;line-height:15px;color:#ffe5ab}
.raid-cast-fill{position:absolute;inset:0 auto 0 0;background:#b67b2366;z-index:0}
.raid-cast-label{position:relative;z-index:1}
.raid-frame[data-urgency=interrupt]{border-color:#ffe18c;box-shadow:0 0 0 1px #9c401e,0 0 14px #ff8b295e;z-index:10}
.raid-frame[data-urgency=interrupt] .raid-action{color:#fff4cc;background:#5b241399;border-color:#ffc76e;font-weight:bold}
.raid-frame[data-urgency=interrupt] .raid-cast-fill{background:#ffb52a7a}
.raid-frame[data-urgency=taunt]{border-color:#ff8956;z-index:9}.raid-frame[data-urgency=taunt] .raid-action{color:#ffbc93;border-color:#d46e40;background:#3b160d}
.target-card strong{color:var(--class-color)}
.priority-raid{position:absolute;top:max(180px,23vh);right:22px;width:216px;box-sizing:border-box;padding:10px;background:#100d0def url('/ui-art/panel.png');border:1px solid #9b8051;box-shadow:0 4px 18px #000b;display:grid;gap:6px;pointer-events:auto;transform:scale(var(--ui-scale,1));transform-origin:right top;z-index:20}
.priority-raid>strong{color:#e3c489;font:11px Friz;letter-spacing:.12em}.priority-raid>small{color:#b4a17c;font:9px/1.35 Friz}
.priority-raid .raid-frame{width:100%;min-height:69px;transform:none}.priority-raid .raid-frame[data-urgency=interrupt] .raid-role{color:#ffe8ab}
.priority-note{border-top:1px solid #665236;padding-top:5px}
.details-hint{font-size:10px;max-width:270px;line-height:1.4;text-align:right}
@media(max-height:800px){.priority-raid{right:12px;width:206px;padding:8px}.target-card{top:82px;left:15px;max-width:310px;gap:12px}.details-hint{bottom:12px;right:12px}}
@media(prefers-reduced-motion:no-preference){.raid-frame[data-urgency=interrupt] .raid-action{animation:interrupt-glow 1s ease-in-out infinite alternate}@keyframes interrupt-glow{from{filter:brightness(1)}to{filter:brightness(1.35)}}}

.raid-frame .raid-name{color:var(--name-color,var(--class-color));}

/* Compact five-column raid grid; actor counts are never limited by this display. */
.priority-raid{left:1vw;right:auto;top:30vh;width:470px;max-width:48vw;padding:5px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;transform-origin:left top}
.priority-raid>strong,.priority-raid>small{grid-column:1/-1;user-select:none}
.priority-raid .raid-frame{width:100%;min-height:42px;height:48px;padding:3px;grid-template-columns:14px minmax(0,1fr);column-gap:3px;row-gap:1px;background:#080a0eea;border-color:#323437;box-shadow:inset -2px 0 var(--class-color);overflow:hidden}
.priority-raid .raid-portrait{width:12px;height:12px;border:0;margin:0}
.priority-raid .raid-class-icon{transform:scale(.375);transform-origin:top left}
.priority-raid .raid-level{font-size:8px;bottom:-14px;right:0}
.priority-raid .raid-elite-crest{display:none}
.priority-raid .elite{border-color:#b5a0cd}
.priority-raid .raid-body{gap:1px}.priority-raid .raid-name{font-size:10px}.priority-raid .raid-percent,.priority-raid .raid-guild,.priority-raid .raid-badges{display:none}
.priority-raid .raid-health{height:5px}.priority-raid .raid-action{min-height:11px;line-height:11px;font-size:8px;white-space:nowrap}
.priority-raid .raid-frame.target{outline-offset:-2px;z-index:2}
.adventurer-plate:not(.elite) .raid-badges,.adventurer-plate:not(.elite) .raid-percent{display:none}

.raid-minimap-title{position:absolute;right:20px;top:10px;min-width:150px;text-align:center;padding:3px 8px;color:#f2d58e;background:#18120dcc;border:1px solid #8c7544;font:14px Friz,Georgia,serif;pointer-events:none}
/* Expanded V inspection stays below the native player/target frame row. */
.target-card{top:clamp(112px,10vw,160px);left:24px;}

/* Health fills the complete cell; missing health stays black. Keep identity above casts. */
.priority-raid{width:950px;max-width:74vw;grid-template-columns:repeat(5,minmax(0,1fr))}
.priority-raid .raid-frame{height:50px;min-height:50px;position:relative;background:linear-gradient(to right,color-mix(in srgb,var(--class-color) 45%,#111) 0 var(--health),#050505 var(--health) 100%);padding:5px 4px;align-items:start}
.priority-raid .raid-health{display:none}
.priority-raid .raid-name{white-space:normal;overflow:visible;text-overflow:clip;font-size:11px;line-height:13px;color:#fff;text-shadow:0 1px 2px #000}
.priority-raid .raid-heading{align-items:start;min-height:26px}
.priority-raid .raid-body,.priority-raid .raid-portrait{position:relative;z-index:2}
.priority-raid .raid-action{position:absolute;inset:0;min-height:0;background:transparent;border:0;pointer-events:none}
.priority-raid .raid-cast-fill{height:100%;background:#ffffff35}
.priority-raid .raid-cast-label{position:absolute;bottom:1px;right:4px;z-index:3;color:#fff;font-size:9px;text-shadow:0 1px 2px #000}
@media(max-width:1400px){.priority-raid{max-width:78vw}.priority-raid .raid-name{font-size:10px}}

.raid-resource{display:none}.priority-raid .raid-resource{display:block;position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--resource-color) 0 var(--resource),#000 var(--resource) 100%);z-index:4}.priority-raid .raid-cast-label{bottom:5px}

.priority-raid .raid-frame[data-in-range=false]{opacity:.45}.priority-raid .raid-frame.target{opacity:1}

/* Forty cells wrap from five columns down to two rows of twenty cells.
   More than forty pinned threats remain accessible instead of being evicted. */
.priority-raid{resize:both;overflow:auto;min-width:386px;min-height:150px;max-width:calc(100vw - 12px);max-height:calc(100vh - 12px);align-content:start;grid-auto-rows:max-content}
.priority-raid[data-locked=true]{resize:none}
.priority-raid>strong{position:sticky;top:0;background:#17130e;z-index:5;padding:4px}
.priority-raid .raid-frame[data-sticky=true]{box-shadow:inset 0 0 0 2px #eac465;border-color:#eac465}
.priority-raid .raid-frame[data-sticky=true] .raid-name{font-weight:bold}
