/* Feature styles consume these only while the lobby is visible. Their fallback palette remains the match palette. */
html.lobby-active {
  --site-ui-ink:var(--site-ink); --site-ui-muted:var(--site-muted); --site-ui-line:var(--site-line);
  --site-ui-accent:var(--site-accent); --site-ui-panel:var(--site-panel); --site-ui-hover:var(--site-hover);
  --site-ui-danger:var(--site-danger); --site-ui-gold:var(--site-gold); --site-ui-gold-well:var(--site-gold-well);
  --site-ui-shadow:var(--site-shadow); --site-ui-font:'Segoe UI';
}
.lobby-active #clanPage { --cp-font:var(--site-font); --cp-bg:var(--site-bg); --cp-rail:var(--site-chat); --cp-center:var(--site-panel); --cp-panel:var(--site-well); --cp-cyan:var(--site-accent); --cp-blue:var(--site-accent); --cp-line2:var(--site-line); }
.lobby-active #profilePage { --pf-font:var(--site-font); --pf-bg:var(--site-bg); --pf-card:var(--site-panel); --pf-cyan:var(--site-accent); --pf-line2:var(--site-line); }
.lobby-active :is(#clanPage,#profilePage,#leaderPage) { font-size:14px; }
.lobby-active :is(#clanPage,#profilePage,#leaderPage) :is(input,select,textarea) { color:var(--site-ink); background:var(--site-well); border-color:var(--site-line); border-radius:4px; font-size:13px; }
.lobby-active :is(#clanPage,#profilePage,#leaderPage) :is(input,select,textarea)::placeholder { color:var(--site-muted); }
.lobby-active :is(#clanPage,#profilePage) :is(h1,h2,h3) { letter-spacing:-.3px; }
.lobby-active #profilePage .pf-card { border-radius:5px; padding:22px; box-shadow:none; }
.lobby-active #profilePage .pf-title { font-size:26px; }
.lobby-active #profilePage .pf-stat { border-radius:5px; padding:16px; }
.lobby-active #profilePage .pf-stat b { color:var(--site-accent); }
.lobby-active #profilePage .pf-rank { background:var(--site-well); }
.lobby-active #profilePage .pf-rname { color:var(--site-ink) !important; }
.lobby-active #profilePage .pf-rins { filter:brightness(.65); }
.lobby-active[data-lobby-theme="dusk"] #profilePage .pf-rins { filter:none; }
.lobby-active #profilePage .pf-rbar { background:var(--site-line); }
.lobby-active #profilePage .pf-rbar i { background:var(--site-gold) !important; }
.lobby-active #clanPage :is(.cp-card,.cp-ovcard,.cp-form,.cp-logoprev,.cp-emblem) { border-radius:5px; box-shadow:none; }
.lobby-active #clanPage .cp-sect { color:var(--site-muted); letter-spacing:1px; }
.lobby-active #clanPage :is(.cp-chan,.cp-func) { border-radius:3px; font-size:12px; }
.lobby-active #clanPage .cp-chan.on { background:var(--site-hover); color:var(--site-accent); border-left:2px solid var(--site-accent); }
.lobby-active #clanPage .cp-motd { background:var(--site-well); color:var(--site-ink); border-color:var(--site-line); border-radius:4px; }
.lobby-active #clanPage .cp-idname { color:var(--site-ink); }
.lobby-active #clanPage :is(.cp-emblem,.cp-logoph) { color:var(--site-ink); }
.lobby-active #clanPage .cp-badge { background:var(--site-gold); color:var(--site-on-accent); }
.lobby-active #leaderPage :is(.lp-mine,.lp-myplayer) { background:var(--site-hover); border-color:var(--site-line); border-radius:5px; }
.lobby-active #leaderPage .lp-row.me { background:var(--site-hover); border-left-color:var(--site-accent); }
.lobby-active #leaderPage .lp-tabs { margin-bottom:22px; }
.lobby-active #leaderPage .lp-tab { background:none; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--site-muted); }
.lobby-active #leaderPage .lp-tab.on { color:var(--site-accent); border-bottom-color:var(--site-accent); }
.lobby-active #leaderPage .lp-row { padding-top:15px; padding-bottom:15px; }
.lobby-active #leaderPage .lp-rank { color:var(--site-muted) !important; }
.lobby-active :is(#acctModal,#partyPanel,#clanPage #cpOverlay,#applyModal) { background:var(--site-overlay); }
.lobby-active #acctModal .card { border-radius:7px; box-shadow:0 18px 60px var(--site-shadow); padding:30px; color:var(--site-ink); }
.lobby-active #acctModal :is(#acAuthSubmit,#acAuthDiscord),
.lobby-active #profilePage :is(.pf-btn:not(.ghost):not(.danger)),
.lobby-active #clanPage :is(.cp-btn:not(.ghost):not(.cp-danger)),
.lobby-active :is(.pp-ok,.pp-ready) { background:var(--site-action); color:var(--site-on-action); border-color:var(--site-action); border-radius:4px; }
.lobby-active #acctModal .close { width:32px; padding:0; background:none; color:var(--site-muted); }
.lobby-active :is(#partyPanel .pp-card,#vcPanel) { background:var(--site-panel); border-radius:6px; box-shadow:0 15px 40px var(--site-shadow); }
.lobby-active #partyBar .pb-pill { background:var(--site-well); border-color:var(--site-line); color:var(--site-ink); border-radius:4px; box-shadow:none; }
.lobby-active #partyBar .pb-pill b { color:var(--site-ink); }
.lobby-active #chatDock .chatTabs button { font-family:var(--site-font); text-transform:none; letter-spacing:0; font-size:12px; }
.lobby-active #chatDock .chatTabs button.active { color:var(--site-accent); border-color:var(--site-accent); }
.lobby-active #chatHubMsgs .txt { color:var(--site-ink); font-size:14px; line-height:1.55; }
.lobby-active #chatHubMsgs .who { color:var(--site-ink); }
.lobby-active :is(#chatHubMsgs .cav,#clanPage .cp-av) { color:#fff; }
.lobby-active :is(#chatHubInput,#dmToInput,#cpInput) { color:var(--site-ink); background:var(--site-panel); border-color:var(--site-line); border-radius:4px; }
.lobby-active :is(#chatHubSend,#cpSend) { background:var(--site-action); color:var(--site-on-action); border-radius:4px; }
.lobby-active :is(#chatEmojiBtn,#chatGifBtn) { background:none; color:var(--site-muted); border-color:var(--site-line); border-radius:4px; }
.lobby-active :is(.chatMenu,.cmenu,.prof-card,.profile-card) { background:var(--site-panel); color:var(--site-ink); border:1px solid var(--site-line); border-radius:5px; }
.lobby-active :is(.pw-notice,.pw-ask-card) { background:var(--site-panel); color:var(--site-ink); border-color:var(--site-line); }
.lobby-active #pwaBanner { position:relative; background:var(--site-well); color:var(--site-ink); border-top:1px solid var(--site-line); }
.lobby-active #pwaBanner button { background:var(--site-action); color:var(--site-on-action); }
.lobby-active #clanPage .cp-rchip { color:var(--site-ink); border-color:var(--site-line); background:var(--site-panel); border-radius:3px; }
.lobby-active #clanPage .cp-rchip::before { content:''; display:inline-block; width:5px; height:5px; margin-right:4px; border-radius:50%; background:var(--rc); }
.lobby-active #clanPage .cp-dot { box-shadow:none; border:1px solid var(--site-line); background:transparent; }
.lobby-active #clanPage .cp-mrow.on .cp-dot { box-shadow:none; background:var(--site-accent); border-color:var(--site-accent); }

/* Different insignia silhouettes must not change a chat header height. */
.lobby-active #chatHubMsgs .chead { align-items:center; min-height:20px; }
.lobby-active #chatHubMsgs .who { display:inline-flex; align-items:center; line-height:20px; min-height:20px; }

/* Quiet chrome; uploaded avatars, flags and medals retain their identity colours. */
.lobby-active #chatHubMsgs .cmsg.head { margin-top:16px; }
.lobby-active #chatHubMsgs .cdivider { margin-bottom:12px; letter-spacing:.04em; }
.lobby-active #chatHubMsgs .cdivider::before,.lobby-active #chatHubMsgs .cdivider::after { background:var(--site-line); }
.lobby-active #chatHubMsgs .cav { border-radius:4px; }
.lobby-active #chatHubMsgs .cav:not(:has(img)):not(.sp) { background:var(--site-hover) !important; color:var(--site-muted); border:1px solid var(--site-line); box-sizing:border-box; }
.lobby-active #chatHubSend { background:transparent; color:var(--site-accent); border-color:var(--site-line); }
.lobby-active #profilePage .pf-rank { border-left:3px solid var(--site-gold); }
.lobby-active :is(#partyBar .pb-pill,#vcPill) { font-family:var(--site-font); }

/* A single drawn icon vocabulary replaces decorative emoji in the lobby controls. */
.ui-icon { display:inline-block; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; flex:none; }
.vc-lobby-icon { display:none; }
.lobby-active .vc-game-icon { display:none; }
.lobby-active .vc-lobby-icon { display:inline-flex; }
.lobby-active #vcPill { display:flex; align-items:center; justify-content:center; }
.lobby-active #clanPage .cp-func { display:flex; gap:9px; align-items:center; font-size:12px; }
.lobby-active #clanPage .cp-func .ui-icon { width:15px; height:15px; color:var(--site-muted); }
.lobby-active #clanPage .cp-lock .ui-icon { width:12px; height:12px; }
.lobby-active #clanPage .cp-motd .ui-icon { width:14px; height:14px; margin-right:5px; color:var(--site-muted); }
.lobby-active #clanPage .cp-sect { letter-spacing:.06em; }
.lobby-active #clanPage .cp-chan { font-size:13px; }
.lobby-active #partyBar .pb-pill b { font-weight:600; }
.lobby-active #partyPanel .pp-head h3 { font-size:15px; font-weight:600; }
.lobby-active :is(#chatEmojiBtn,#cpEmojiBtn,#chatHubSend) { display:flex; align-items:center; justify-content:center; }
