.sp-party-foot{position:absolute;z-index:16;width:300px;padding:7px 10px;background:linear-gradient(#20180dec,#0b0806ed);border:1px solid #826933;border-radius:4px;box-shadow:inset 0 0 0 1px #000,0 3px 10px #0008;color:#ebd9a7;font:500 16px/1.2 var(--f-ui,Georgia,serif);pointer-events:auto}
.sp-party-name{display:flex;align-items:center;gap:6px;margin-bottom:5px;min-height:22px}.sp-party-name strong{font-size:20px;color:var(--member-color,#ffd100);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-party-state{margin-left:auto;color:#e8ce85;font-size:14px;white-space:nowrap}
.sp-party-foot.is-active{border-color:#ffd100;box-shadow:0 0 9px #ffcf4040,inset 0 0 0 1px #000}.sp-party-foot.is-down{opacity:.65}.sp-party-offline{width:25px;height:25px;color:#e65d4d;flex-shrink:0;border:1px solid #937744;background:#140d08;border-radius:50%;padding:2px}.sp-party-offline svg{width:100%;height:100%;display:block}.sp-party-offline[hidden]{display:none}
.sp-party-health{height:21px;position:relative;overflow:hidden;border:1px solid #776337;background:#180d07;border-radius:2px}.sp-party-health i{position:absolute;inset:0 auto 0 0;background:linear-gradient(#69b554,#287521);transition:width .24s}.sp-party-health.is-low i{background:linear-gradient(#d44b37,#841d16)}.sp-party-health span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:700 16px Arial,sans-serif;text-shadow:0 1px 2px #000,0 0 4px #000}
.sp-party-vitals{display:flex;justify-content:space-between;gap:6px;font:600 14px/1.25 Arial,sans-serif;margin-top:6px;font-variant-numeric:tabular-nums}.sp-party-vitals span:first-child{color:#a6cffe}.sp-party-vitals span:nth-child(2){color:#ffd100}.sp-party-effects{display:flex;flex-wrap:wrap;gap:5px;max-height:36px;overflow:auto;font:500 13px/1.2 Arial,sans-serif}.sp-party-effects:empty{display:none}.sp-party-effects:not(:empty){margin-top:6px}.sp-party-effects span{color:#c5e6bd}.sp-party-effects .is-debuff{color:#ffaca0}
.sp-group-menu{position:absolute;right:28px;top:180px;z-index:65;width:330px;padding:18px;background:#160e08f5;border:2px solid #987336;box-shadow:0 8px 30px #000b;color:#ebd9a7;font:22px/1.35 var(--f-ui,Georgia,serif)}.sp-group-menu[hidden]{display:none}.sp-group-menu strong{color:#ffd100}.sp-group-menu p{font-size:18px}.sp-group-menu .sp-wowbtn{--h:54px;font-size:20px;width:100%}
.sp-combat--coop .sp-hplate{display:none}.sp-combat--coop .sp-tb__sub{font-size:20px}
body:has(.sp-combat--coop) .sp-coopbar{display:none}
.sp-eplate[data-coop-tgt]:not([data-coop-tgt=""])::after{content:attr(data-coop-tgt);position:absolute;left:50%;top:-30px;transform:translateX(-50%);white-space:nowrap;font:700 18px var(--f-ui,Georgia,serif);color:#f8cc89;text-shadow:0 1px 3px #000;pointer-events:none}.sp-eplate.sp-coop-tgt-me::after{color:#ffb2a6}
.sp-portrait .sp-party-name strong{font-size:25px}.sp-portrait .sp-party-state{font-size:17px}.sp-portrait .sp-party-vitals{font-size:17px;flex-wrap:wrap}.sp-portrait .sp-party-health{height:27px}.sp-portrait .sp-party-health span{font-size:21px}.sp-portrait .sp-group-menu{top:430px;width:430px}.sp-portrait .sp-group-menu p{font-size:24px}
@media(prefers-reduced-motion:reduce){.sp-party-health i{transition:none}}
.sp-coopbar.sp-coopbar--compact{left:auto;right:18px;top:auto;bottom:18px;transform:none;display:block;padding:0;max-width:min(365px,calc(100vw - 28px));width:300px;border:1px solid #a07a38;background:linear-gradient(145deg,#241b12f5,#090807f5);border-radius:5px;box-shadow:0 4px 22px #000a,inset 0 0 0 2px #0b0805;z-index:8200}
.sp-group-toggle{appearance:none;border:0;background:none;color:#edddb7;display:flex;gap:10px;align-items:center;width:100%;padding:11px 14px;text-align:left;cursor:pointer;font:16px/1.25 Georgia,serif;box-sizing:border-box}.sp-group-toggle>span:nth-child(2){flex:1;min-width:0}.sp-group-toggle b,.sp-group-toggle small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-group-toggle b{color:#efd18b}.sp-group-toggle small{font:12px/1.5 Arial,sans-serif;color:#bdb49d}.sp-group-toggle__mark{color:#d5aa57;font-size:22px}.sp-group-toggle:hover{background:#c09a4014}.sp-group-toggle:focus-visible,.sp-group-copy:focus-visible,.sp-group-close:focus-visible{outline:2px solid #f7d786;outline-offset:-3px}
.sp-coopbar--compact .sp-group-details{position:absolute;bottom:calc(100% + 10px);right:0;width:350px;max-width:calc(100vw - 28px);max-height:calc(100vh - 100px);overflow:auto;background:linear-gradient(145deg,#261d14fc,#0c0907fc);border:1px solid #a48142;border-radius:5px;box-shadow:0 8px 30px #000b;box-sizing:border-box}
.sp-group-details{padding:18px;color:#e4d6b6;font:15px/1.4 var(--f-ui,Georgia,serif)}.sp-group-details header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #8b703749;padding-bottom:12px;margin-bottom:14px}.sp-group-details header small{display:block;font:10px Arial,sans-serif;letter-spacing:2px;color:#b69966}.sp-group-details h3{margin:3px 0 0;font:26px/1.1 var(--f-title,Georgia);color:#f5d68e}.sp-group-close{appearance:none;background:none;border:0;color:#d8bf83;cursor:pointer;font:30px/1 Georgia;padding:0 5px}.sp-group-members{display:grid;gap:10px}.sp-group-member{padding:10px 12px;border:1px solid #89713a55;background:#07060577;border-radius:3px}.sp-group-member__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.sp-group-member__head b{color:#f0d294;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-group-member__head small{color:#b3a687;font:11px Arial,sans-serif}.sp-group-details .sp-group-member p{margin:6px 0 0;font:12px/1.3 Arial,sans-serif;color:#c0b69e}
.sp-group-member__health{position:relative;height:16px;margin-top:7px;border:1px solid #79663d;background:#11100a;overflow:hidden}.sp-group-member__health i{display:block;height:100%;background:linear-gradient(#64a64e,#275e26)}.sp-group-member__health span{position:absolute;inset:0;text-align:center;font:11px/16px Arial,sans-serif;color:#fff;text-shadow:0 1px 2px #000}
.sp-group-details .sp-group-leader{font:12px/1.4 Arial,sans-serif;margin:12px 0 5px;color:#c6ae78}.sp-group-details .sp-group-detail{font:13px/1.5 Arial,sans-serif;margin:5px 0 12px;color:#d7cbae}.sp-group-details .sp-group-signal{padding:8px 10px;background:#8c672226;border-left:2px solid #d0a54b;color:#f7d996;font:13px/1.4 Arial,sans-serif}
.sp-group-signals{display:grid;gap:7px;grid-template-columns:1fr}.sp-group-details .sp-wowbtn{width:100%;--h:35px;font-size:13px;min-width:0;box-sizing:border-box}.sp-group-signals .sp-wowbtn[aria-pressed=true]{color:#ffe9a3;filter:brightness(1.2)}.sp-group-room{margin:14px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid #8b703749;font:12px Arial,sans-serif;color:#bba778}.sp-group-room>span{min-width:0;overflow-wrap:anywhere}.sp-group-room b{letter-spacing:2px;color:#e3c37f}.sp-group-copy{appearance:none;border:0;background:none;color:#efcd88;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font:12px Arial,sans-serif;padding:4px;flex-shrink:0}.sp-group-leave{margin-top:4px}
.sp-group-menu.sp-group-menu--details{padding:0;width:370px;max-height:650px;overflow:auto;border:1px solid #a48142;border-radius:5px;background:linear-gradient(145deg,#261d14fc,#0c0907fc)}.sp-group-menu--details .sp-group-details{font-size:20px;padding:22px}.sp-group-menu--details .sp-group-details header small{font-size:13px}.sp-group-menu--details .sp-group-details h3{font-size:32px}.sp-group-menu--details .sp-group-details .sp-wowbtn{--h:42px;font-size:17px}.sp-group-menu--details .sp-group-member__head small,.sp-group-menu--details .sp-group-details .sp-group-member p,.sp-group-menu--details .sp-group-details .sp-group-leader,.sp-group-menu--details .sp-group-room{font-size:15px}.sp-group-menu--details .sp-group-details .sp-group-detail,.sp-group-menu--details .sp-group-details .sp-group-signal{font-size:16px}.sp-group-menu--details .sp-group-member__health{height:20px}.sp-group-menu--details .sp-group-member__health span{font-size:14px;line-height:20px}
@media(max-width:600px){.sp-coopbar.sp-coopbar--compact{right:10px;bottom:10px;width:240px}.sp-group-toggle{padding:8px 10px}.sp-group-toggle__mark{font-size:18px}}
.sp-portrait .sp-group-menu.sp-group-menu--details{width:450px;top:380px;max-height:1050px}
.sp-coopbar.sp-coopbar--compact{left:18px;right:auto}.sp-coopbar--compact .sp-group-details{left:0;right:auto}
.sp-group-comms-label{display:block;color:#baa67d;font:11px/1.5 Arial,sans-serif;margin:9px 0 5px}.sp-group-menu--details .sp-group-comms-label{font-size:14px}
@media(max-width:600px){.sp-coopbar.sp-coopbar--compact{left:10px;right:auto}}

/* The battle panel has a fixed header/footer and a scrollable information area.
   Older mobile button rules also target this panel; scope physical sizes here
   so nested contact buttons cannot force the whole menu beyond the battlefield. */
.sp-combat--coop .sp-group-menu.sp-group-menu--fitted{height:650px;max-height:calc(100% - 210px);overflow:hidden;box-sizing:border-box}
.sp-group-menu--fitted>.sp-group-details{display:flex;flex-direction:column;box-sizing:border-box;height:100%;min-height:0;overflow:hidden}
.sp-group-menu--fitted .sp-group-details>header{flex:none}
.sp-group-menu--fitted .sp-group-details__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#a1844b #17130d}
.sp-group-menu--fitted .sp-group-leave{flex:none}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu.sp-group-menu--details.sp-group-menu--fitted{
  --group-touch:calc(34px / var(--ui-scale,1));--group-text:calc(12px / var(--ui-scale,1));--group-small:calc(10px / var(--ui-scale,1));
  top:calc(max(126px,var(--ml-touch)) + 36px + var(--mobile-safe-top,0px));
  width:min(calc(320px / var(--ui-scale,1)),calc(100% - 36px / var(--ui-scale,1)));
  height:calc(310px / var(--ui-scale,1));max-height:calc(100% - max(126px,var(--ml-touch)) - 60px - var(--mobile-safe-top,0px) - var(--mobile-safe-bottom,0px));
}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted>.sp-group-details{padding:calc(8px / var(--ui-scale,1));gap:calc(6px / var(--ui-scale,1));font-size:var(--group-text)}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-details>header{padding:0 0 calc(5px / var(--ui-scale,1));margin:0;gap:calc(8px / var(--ui-scale,1))}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-details h3{font-size:calc(18px / var(--ui-scale,1));line-height:1.2}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-close{width:calc(30px / var(--ui-scale,1));height:calc(30px / var(--ui-scale,1));font-size:calc(24px / var(--ui-scale,1));flex:none}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-member{padding:calc(6px / var(--ui-scale,1))}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-details :is(.sp-group-member__head b,.sp-group-member__head small,.sp-group-member p,.sp-group-leader,.sp-group-signal,.sp-group-comms-label,.sp-group-room,.sp-group-copy){font-size:var(--group-text);line-height:1.25}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-details .sp-wowbtn{
  --h:var(--group-touch)!important;height:var(--group-touch);min-height:var(--group-touch);min-width:0;font-size:var(--group-text);padding-inline:calc(10px / var(--ui-scale,1));line-height:1.12;white-space:normal;overflow-wrap:normal;
}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-details .sp-group-signals .sp-wowbtn{--h:var(--group-touch)!important;height:var(--group-touch);min-height:var(--group-touch);font-size:var(--group-text)}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-companion-contact{padding:calc(5px / var(--ui-scale,1)) 0;margin:calc(5px / var(--ui-scale,1)) 0;gap:calc(5px / var(--ui-scale,1))}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-companion-contact__hint{font-size:var(--group-small);line-height:1.25}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-details .sp-group-room{margin:calc(6px / var(--ui-scale,1)) 0;padding-top:calc(5px / var(--ui-scale,1))}
body.sp-mobile-landscape .sp-combat--coop .sp-group-menu--fitted .sp-group-details .sp-group-leave{margin:0}
