:is(#friends-window,#party-window){position:fixed;inset:0;margin:auto;width:min(370px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 40px);padding:18px;box-sizing:border-box;color:#e8e5dc;background:#0c0d10ed;border:1px solid #c2a65080;border-radius:10px;box-shadow:0 14px 60px #0009;font:13px/1.5 system-ui,sans-serif;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y}
:is(#friends-window,#party-window)::backdrop{background:#0003}
:is(#friends-window,#party-window) header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d0b75635;padding-bottom:10px}
:is(#friends-window,#party-window) h2{margin:0;color:#ebcc67;font-size:19px}:is(#friends-window,#party-window) h2 small{margin-left:10px;font-size:12px;color:#b7ad8b}
:is(#friends-window,#party-window) h3{margin:18px 0 6px;font-size:13px;color:#d7c47e}:is(#friends-window,#party-window) h3 span{margin-left:5px}
:is(#friends-window,#party-window) button,.friend-context-menu button{font:inherit;color:#e8dfc3;background:#26241dcc;border:1px solid #b09b5c66;border-radius:5px;min-height:34px;padding:5px 11px;cursor:pointer;touch-action:manipulation}
:is(#friends-window,#party-window) button:hover,.friend-context-menu button:hover{color:#f2d971;border-color:#d1b957}
:is(#friends-window,#party-window) button:disabled{opacity:.45;cursor:default}:is(#friends-window,#party-window) .friends-note{font-size:12px;color:#aaa69b;margin:12px 0}
:is(#friend-search-form,#party-search-form) label{display:block;font-size:12px;color:#c5bd9e;margin-bottom:4px}:is(#friend-search-form,#party-search-form)>div{display:flex;gap:6px}
:is(#friend-search-form,#party-search-form) button{flex-shrink:0;white-space:nowrap;min-width:58px}
:is(#friend-search,#party-search){width:100%;min-width:0;padding:7px 10px;background:#090a0cc9;color:#eee9da;border:1px solid #8f8057;border-radius:5px;font-size:16px;user-select:text;-webkit-user-select:text}
:is(#friends-window,#party-window) ul{list-style:none;padding:0;margin:0}:is(#friends-window,#party-window) li{display:flex;gap:7px;align-items:center;min-height:39px;padding:5px 0;border-bottom:1px solid #d0b75618;list-style:none}
:is(#friends-window,#party-window) li strong{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px}:is(#friends-window,#party-window) li small{font-size:11px;color:#baaf87;white-space:nowrap}
:is(#friends-window,#party-window) .friends-empty{font-size:12px;color:#908e86}:is(#friends-window,#party-window) [data-error]{color:#ffb0a3;margin:7px 0;font-size:12px}
:is(#friends-window,#party-window) [data-results]:not(:empty){margin-top:8px;padding:7px 10px;background:#d0b7560a;border:1px solid #d0b75635;border-radius:5px}
:is(#friends-window,#party-window) [data-results] p{margin:0}:is(#friends-window,#party-window) [hidden],.friend-context-menu[hidden]{display:none!important}
.friend-context-menu{position:fixed;z-index:100;width:132px;padding:5px;background:#101115f5;border:1px solid #c2a65099;border-radius:6px;box-shadow:0 5px 24px #0008;font:13px system-ui}
.friend-context-menu button{width:100%;text-align:left}
:is(#friends-button,#party-button){position:relative}:is(#friends-button,#party-button).has-invites::after{content:attr(data-invites);position:absolute;right:-4px;top:-5px;border-radius:8px;min-width:15px;padding:1px 3px;background:#e4c964;color:#17140b;font:10px system-ui;text-align:center}
.touch-ui :is(#friends-window,#party-window){width:min(370px,calc(100vw - 20px));max-height:calc(var(--touch-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);padding:14px}
.touch-ui :is(#friends-window,#party-window) button{min-height:42px}.touch-ui :is(#friends-button,#party-button).has-invites::after{right:5px;top:3px}
.touch-ui .chat-overlay:not(.editing) #messages,.touch-ui .chat-overlay:not(.editing) #messages *{pointer-events:none!important}
.touch-ui .chat-overlay #messages{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.touch-ui .chat-overlay.editing #messages{pointer-events:auto}
.map-legend .map-party{color:#82dce5}.map-legend .map-friend{color:#9cdb98}
#party-invite-dialog{width:min(390px,calc(100vw - 28px));padding:24px;color:#eee6d0;background:#15191afc;border:1px solid #ac965d;border-radius:10px;box-shadow:0 18px 70px #000b;font:14px/1.7 system-ui}
#party-invite-dialog::backdrop{background:#0006}#party-invite-dialog>strong{display:block;font-size:18px;color:#e1c780}#party-invite-dialog p{overflow-wrap:anywhere}
#party-invite-dialog>div{display:flex;gap:10px;margin-top:20px}#party-invite-dialog button{flex:1;min-height:42px}#party-invite-accept{background:#64552e;border-color:#ba9e56}
#party-invite-dialog [data-invite-error]{color:#efac9d;font-size:12px;margin:0}#party-invite-dialog [data-invite-error]:empty{display:none}
#party-hud{position:fixed;left:16px;top:16px;z-index:3;width:190px;max-height:calc(100dvh - 240px);overflow:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none;scrollbar-width:thin}
#party-hud[hidden],.touch-ui #party-hud{display:none!important}
#party-hud .party-hud-distribution{margin-bottom:7px;text-align:right;white-space:pre-line;font:11px/1.6 system-ui,sans-serif;color:#e7cd86;text-shadow:0 1px 3px #000,1px 0 2px #000,-1px 0 2px #000}
#party-hud ol{list-style:none;padding:0;margin:0;display:grid;gap:14px}#party-hud li{padding:0;border:0;background:none}
#party-hud li>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px;line-height:16px;text-shadow:0 1px 3px #000,1px 0 2px #000,-1px 0 2px #000}#party-hud strong{font-size:12px;font-weight:600;color:#f3eee1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#party-hud small{font-size:10px;white-space:nowrap;color:#e7cd86}#party-hud .is-offline{opacity:.5}
#party-hud .is-away{opacity:.5}
.party-vital{position:relative;height:12px;margin-top:3px}.party-vital progress{width:100%;height:100%;border-radius:2px;background:#080c0d}.party-vital progress::-webkit-progress-bar{background:#080c0d}
.party-vital.hp progress::-webkit-progress-value{background:linear-gradient(90deg,#803937,#b7675d)}.party-vital.mp progress::-webkit-progress-value{background:linear-gradient(90deg,#28576f,#548b9f)}
.party-vital.hp progress::-moz-progress-bar{background:#a14f48}.party-vital.mp progress::-moz-progress-bar{background:#407a94}.party-vital span{position:absolute;inset:0;text-align:center;font:9px/12px system-ui;color:#f3ece1;text-shadow:0 1px 2px #000}
@media(max-height:720px){#party-hud ol{gap:10px}}

.party-distribution-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.party-distribution-fields label{display:grid;gap:5px;color:#d7c47e;font-size:12px}
.party-distribution-fields select{width:100%;min-height:36px;padding:6px 8px;border:1px solid #b09b5c66;border-radius:5px;background:#24231d;color:#eee4c6;font:inherit}
.party-distribution-fields select:disabled{opacity:.7;color:#c3bdaa}
#party-window .party-distribution-help{font-size:11px;line-height:1.7;color:#b8b3a5;margin:7px 0 12px}
.party-loot-popup{position:fixed;z-index:65;right:18px;top:27%;width:min(330px,calc(100vw - 24px));box-sizing:border-box;border:1px solid #bda45c99;border-radius:9px;background:#121316f5;color:#eee5cd;box-shadow:0 10px 35px #000b;padding:13px;font:12px/1.5 system-ui,sans-serif;pointer-events:auto;touch-action:pan-y}
.party-loot-popup[hidden]{display:none!important}
.party-loot-popup>header{display:flex;justify-content:space-between;align-items:center;color:#e8ce7d}
.party-loot-popup>header strong{font-size:16px}
.party-loot-note{font-size:10px;color:#aaa38f;margin:6px 0 10px}
.party-loot-cards{max-height:min(480px,53dvh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.party-loot-cards article{border-top:1px solid #bca65c44;padding:10px 0}
.party-loot-cards article:first-child{padding-top:0;border-top:0}
.party-loot-item{display:flex;align-items:center;gap:8px}
.party-loot-item canvas{width:40px;height:40px;flex-shrink:0}
.party-loot-item>strong{flex:1;overflow-wrap:anywhere}
.party-loot-item>small{color:#e4c66e;white-space:nowrap}
.party-loot-cards ul{padding:0;margin:7px 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.party-loot-cards li{display:flex;justify-content:space-between;gap:5px;font-size:11px;min-width:0}
.party-loot-cards li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.party-loot-cards li strong{white-space:nowrap;color:#c2bba8}
.party-loot-cards li.winner,.party-loot-cards li.winner strong{color:#f4d56f}
.party-loot-result{font-size:11px;color:#c3bca9;margin:5px 0 8px}
.party-loot-actions{display:flex;gap:7px}
.party-loot-actions button{min-height:34px;flex:1;border:1px solid #b9a26177;background:#383122;color:#f0ddb0;border-radius:5px;cursor:pointer;font:inherit;touch-action:manipulation}
.party-loot-actions button:last-child{flex:0 0 70px;background:#23242a;color:#b9b6ae}
.party-loot-actions button:disabled{opacity:.45;cursor:default}
.party-loot-actions button:focus-visible,.party-distribution-fields select:focus-visible{outline:2px solid #f3d478;outline-offset:2px}
.party-loot-cards article.resolved .party-loot-actions{display:none}
.touch-ui .party-loot-popup{right:12px;top:20%;padding:10px}
.touch-ui .party-loot-actions button{min-height:44px}

.party-loot-popup{--party-scale:var(--desktop-ui-scale,1);max-width:calc((100vw - 24px) / var(--party-scale))}
.party-loot-cards{max-height:min(480px,calc(65dvh / var(--party-scale) - 80px))}
.touch-ui .party-loot-popup{--party-scale:1}
