@import url('./rift-font.css');
.online-lobby{position:absolute;right:28px;top:110px;width:300px;max-height:58vh;overflow:auto;z-index:12;padding:16px;background:rgba(9,18,24,.95);border:1px solid #365460;color:#dbe8ec;font:12px 'Segoe UI',sans-serif;box-shadow:0 8px 30px #0007}
.online-lobby header{display:flex;justify-content:space-between;color:#7bddae}.online-lobby h3{margin:15px 0 8px}.online-lobby p{display:flex;gap:8px;align-items:center;justify-content:space-between}.online-lobby button,.online-result button{padding:9px 12px;border:1px solid #486b7c;background:#183542;color:#effaff;cursor:pointer;margin:4px 3px 4px 0}.online-lobby button:disabled{opacity:.4;cursor:default}.online-lobby details{margin:12px 0}.queue-status{padding:12px 0;line-height:1.6;color:#a9c7d4}.squad-invite{padding:8px;background:#244148}.online-error{color:#ffae98}.online-result{max-width:760px;width:90vw;background:#101e27;color:#e7f2fa;border:1px solid #648190;padding:28px}.online-result::backdrop{background:#000b}.online-result canvas{width:100%;height:auto}.online-result input{width:100%}.online-stats{display:flex;gap:30px;padding:16px 0}.online-stats b{font-size:24px;display:block}.online-result h2{margin:10px 0}.online-result p{line-height:1.6}
@media(max-width:1100px){.online-lobby{width:240px;right:12px;top:90px;font-size:11px}}

.live-options{background:#182122;color:#d9e1d4;border:1px solid #667d70;padding:28px;max-width:400px}.live-options::backdrop{background:rgba(0,0,0,.35)}.live-options button{margin:8px;padding:12px;border:1px solid #7ea482;background:#273e30;color:#fff;cursor:pointer}

.faction-choice{max-width:1100px;max-height:94dvh;overflow:auto;background:#131c20;color:#ded5bd;border:1px solid #758073;padding:24px}.faction-choice::backdrop{background:#080c0fed}.faction-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.faction-cards button{background:#20292b;color:#ded5bd;border:1px solid #647267;padding:16px;cursor:pointer}.faction-cards img{height:clamp(200px,49vh,540px);max-width:100%;object-fit:contain}.faction-banner{position:absolute;bottom:24px;left:30px;display:flex;gap:12px;max-width:430px;pointer-events:none;z-index:3;background:#111b20dd;padding:10px}.faction-banner:empty{display:none}.faction-banner img{width:64px;height:90px}.faction-banner b,.faction-banner small{display:block}.faction-banner p{font-size:11px}.faction-banner span{font-size:10px;color:#8fa592}@media(max-width:700px){.faction-cards img{height:clamp(140px,34vh,280px)}.faction-banner{display:none}}

.hub-armoury{position:absolute;bottom:140px;left:30px;z-index:6;background:#21372c;color:#e4dec7;border:1px solid #8ca283;padding:12px;cursor:pointer}.weapon-preview{background:#142023;color:#e4dfcc;border:1px solid #718d7b;width:min(1000px,92vw);padding:20px}.weapon-preview::backdrop{background:#050909df}.weapon-preview canvas{width:100%;height:min(50vh,500px);display:block}.weapon-preview header{display:flex;justify-content:space-between;align-items:center}.weapon-preview button,.weapon-preview select{padding:12px;background:#294132;color:#e4dfcc;border:1px solid #7e9986;margin:8px;cursor:pointer}.weapon-preview select{max-width:90%}
.hub-armoury[hidden]{display:none}

.raid-network-notice{position:fixed;top:12%;left:50%;transform:translateX(-50%);z-index:20000;width:min(580px,90vw);padding:24px;border:1px solid #dfba67;background:#101a20f5;color:#f2e7cd;text-align:center;font:16px sans-serif;pointer-events:auto}.raid-network-notice[hidden]{display:none}.raid-network-notice[data-kind=reconnect],.raid-network-notice[data-kind=failed]{top:35%;box-shadow:0 0 0 150vmax #020709b0}.raid-network-notice button{padding:12px;background:#344b4c;color:white;border:1px solid #b1bb9b}
/* Match the olive personnel dossier and facility panels. */
.online-lobby{background:linear-gradient(135deg,#2c3224f5,#151b16f5);border-color:#59614b;border-top:2px solid #a89a65;color:#dfdec8;scrollbar-color:#66744e #151b12}.online-lobby header{color:#b4ce92;border-bottom:1px solid #4c583e;padding-bottom:12px}.online-lobby header small{color:#9caa88}.online-lobby h3{color:#e0dfbf;letter-spacing:.04em}.online-lobby details{border-top:1px solid #4c583e;padding-top:12px}.online-lobby summary{color:#c8d0ad;cursor:pointer}.online-lobby p{color:#b7c1a5}.online-lobby button{background:#343e29;border-color:#6b7854;color:#e0dfbf;border-radius:2px;font-weight:700;letter-spacing:.08em}.online-lobby button:hover:not(:disabled){background:#4a5635;border-color:#c4ad73;color:#fff0c7}.online-lobby button:focus-visible{outline:2px solid #d3bd80;outline-offset:2px}.online-lobby .queue-status{color:#a8b593;border-top:1px solid #4c583e;margin-top:14px;padding-top:16px}.online-lobby .squad-invite{background:#35422a;border:1px solid #65744e}.online-lobby .online-error{color:#e4a990}

/* online friends: own box under the squad / queue box (online-lobby-ui.js sets its top) */
.online-lobby.online-friends{max-height:30vh}
#hub.hideout-walking .online-friends{display:none}

/* friends list: status light per friend (green online / orange in a match / grey offline); green rows are clickable invites */
.online-friends .friend-row{display:flex;align-items:center;gap:8px;margin:4px 0;padding:5px 6px;border:1px solid transparent}
.online-friends .friend-row small{margin-left:auto;opacity:.7;font-size:10px;letter-spacing:.06em}
.online-friends .friend-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:#6b7177;box-shadow:0 0 0 1px #0008}
.online-friends .friend-online .friend-dot{background:#3ddc6b;box-shadow:0 0 6px #3ddc6b99}
.online-friends .friend-match .friend-dot{background:#f59e0b;box-shadow:0 0 6px #f59e0b88}
.online-friends .friend-offline{opacity:.55}
.online-friends [data-friend]{cursor:pointer}.online-friends [data-friend]:hover{border-color:#a89a65;background:#ffffff0d}

/* hub radio box = the raid HUD's #battle-radio look (style.css 231-239), bottom-left of the hub, with a chat line */
.hub-radio{position:absolute;left:28px;bottom:300px;width:350px;max-width:40vw;z-index:12;background:linear-gradient(90deg,#0e1c24e6,#0e1c2477);border-left:3px solid #efbd7b;padding:10px 12px;font:11px/1.45 monospace;color:#e2e9e7}
.hub-radio-lines{list-style:none;padding:0;margin:0;max-height:175px;overflow-y:auto;scrollbar-width:thin}
.hub-radio-lines li{margin:0 0 5px;text-shadow:0 1px 2px #000}
.hub-radio-lines time{color:#91a1a8;font-size:9px;margin-right:6px}
.hub-radio-lines b{margin-right:5px}
.hub-radio-form{display:flex;gap:5px;margin-top:8px}
.hub-radio-form input{width:100%;min-width:0;background:#10202a;color:white;border:1px solid #70838c;padding:8px;font:11px monospace}
#hub.hideout-walking .hub-radio{display:none}
.chat-tabs{display:flex;flex-wrap:wrap;gap:3px;margin:-2px 0 8px}
.chat-tabs button{position:relative;background:#10202acc;color:#a8bec8;border:1px solid #2f444e;padding:4px 7px;font:700 9px/1 'Barlow Condensed',monospace;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;gap:4px}
.chat-tabs button:hover{color:#e2e9e7;border-color:#70838c}
.chat-tabs button[aria-selected=true]{background:#efbd7b;color:#10202a;border-color:#efbd7b}
.chat-tabs button.chat-pm{border-color:#6b4d63}
.chat-tabs button.chat-pm[aria-selected=true]{background:#e8b4d8;border-color:#e8b4d8}
.chat-tabs button.chat-raid{border-color:#b9503f}
.chat-tabs button.chat-raid[aria-selected=true]{background:#d9533f;color:#fff;border-color:#d9533f}
.chat-tabs i{font-style:normal;background:#d9533f;color:#fff;border-radius:7px;padding:1px 4px;font-size:8px}
.chat-tabs span{opacity:.7;font-size:11px;line-height:8px}.chat-tabs span:hover{opacity:1}
.hub-radio-lines .chat-empty{color:#70838c;font-style:italic}
.hub-radio-lines .chat-notice span{color:#9fd99b}
.chat-emotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:4px;margin-top:8px;max-height:150px;overflow-y:auto;scrollbar-width:thin}
.chat-emotes[hidden]{display:none}
.chat-emotes button{background:#10202a;border:1px solid #2f444e;color:#e2e9e7;font-size:18px;padding:5px 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.chat-emotes button:hover{border-color:#efbd7b}
.chat-emotes small{font:700 7px/1.1 'Barlow Condensed',monospace;letter-spacing:.5px;color:#a8bec8;text-align:center}
.chat-emote-toggle{flex:0 0 32px;background:#10202a;color:#efbd7b;border:1px solid #70838c;font-size:16px;cursor:pointer}
.chat-emote-toggle[aria-expanded=true]{background:#efbd7b;color:#10202a}
.hub-radio-form input:disabled{opacity:.5}
.friend-menu{position:fixed;z-index:2147483000;min-width:190px;background:#0e1c24f2;border:1px solid #70838c;border-left:3px solid #efbd7b;box-shadow:0 8px 24px #000a;padding:4px 0;font:700 11px/1 'Barlow Condensed',monospace;letter-spacing:1px}
.friend-menu[hidden]{display:none}
.friend-menu header{color:#dbc69a;padding:7px 12px 6px;border-bottom:1px solid #2f444e;margin-bottom:3px}
.friend-menu button{display:block;width:100%;text-align:left;background:none;border:0;color:#e2e9e7;padding:8px 12px;font:inherit;letter-spacing:inherit;cursor:pointer}
.friend-menu button:hover:not(:disabled){background:#efbd7b;color:#10202a}
.friend-menu button:disabled{color:#5d6d74;cursor:default}
.friend-menu button[data-act=remove]{color:#ff8a7a}
.friend-row{cursor:context-menu}
