/* Lobby squads: four team cards, nickname menu (right click), country picker and in-lobby invites. */
.squad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 14px}
.squad-card{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid #ffffff10;border-radius:10px;background:#ffffff02;transition:border-color .18s ease,background-color .18s ease}
.squad-card.is-mine{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.03)}
.squad-card.is-empty{border-style:dashed}
.squad-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.squad-head .eyebrow{display:block;margin-bottom:8px}
.squad-country{display:flex;align-items:center;gap:10px;min-height:22px}
.squad-country .flag{flex:0 0 32px;width:32px;height:22px}
.squad-country strong{font-size:15px;color:#ececec}
.squad-flag-empty{flex:0 0 32px;width:32px;height:22px;border:1px dashed #ffffff30;border-radius:4px}
.squad-country .squad-no-country{font-weight:500;color:#9a9a9a}
.squad-members{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.squad-member{display:flex;align-items:center;gap:8px;min-width:0}
.squad-nick{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%;margin-left:-4px;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:transparent;color:#e2e2e2;font-size:13px;font-weight:600;text-align:left}
.squad-nick:hover:not(:disabled){background:#ffffff08;border:0}
.squad-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border:1px solid #ffffff1a;border-radius:50%;font-size:11px;color:var(--accent)}
.squad-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.squad-badge{display:inline-flex;align-items:center;flex:0 0 auto;height:20px;padding:0 7px;border:1px solid #ffffff18;border-radius:5px;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#a8a8a8}
.squad-badge.is-captain{border-color:rgba(var(--accent-rgb),.45);color:var(--accent)}
.squad-empty{padding:6px 0;font-size:11px;color:#7f7f7f}
.squad-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.squad-actions .tiny{min-height:36px}
.squad-loose{margin:0 0 14px;padding:14px 16px;border:1px dashed #ffffff18;border-radius:10px}
.squad-loose .eyebrow{display:block;margin-bottom:10px}
.squad-loose .rule-note{margin:10px 0 0}
.squad-invite{margin:0 0 20px;min-height:44px}
.lobby-start-problem{margin:14px 0 10px;font-size:12px;line-height:1.7;color:#e0a7a7}

/* Nickname menu: grows from the pointer, keyboard navigable. */
.member-menu{position:fixed;z-index:60;min-width:210px;padding:6px;border:1px solid #ffffff1f;border-radius:10px;background:#181818;box-shadow:0 14px 40px #0009;animation:member-menu-in .14s cubic-bezier(.23,1,.32,1) both}
.member-menu-title{margin-bottom:4px;padding:6px 10px 8px;border-bottom:1px solid #ffffff10;font-size:11px;color:#8d8d8d}
.member-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#e2e2e2;font-size:12px;font-weight:600;text-align:left}
.member-menu button:hover:not(:disabled),.member-menu button:focus-visible{background:#ffffff0d;border:0;outline:none}
.member-menu button.is-danger{color:#e0a7a7}
@keyframes member-menu-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.member-menu{animation:none}}

/* Country picker and invite dialogs. */
dialog.country-picker-dialog{max-width:480px}
.country-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 4px}
.country-choice{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff03;text-align:left}
.country-choice .flag{flex:0 0 32px;width:32px;height:22px}
.country-choice strong{display:block;font-size:13px;color:#e8e8e8}
.country-choice small{display:block;margin-top:3px;font-size:10px;font-weight:500;color:#8d8d8d}
.country-choice.is-current{border-color:rgba(var(--accent-rgb),.5)}
dialog.lobby-invite-dialog{max-width:560px}
#lobby-invite-list{max-height:min(360px,50dvh);margin:14px 0 4px;overflow:auto}
@media(max-width:600px){.squad-grid,.country-picker{grid-template-columns:1fr}}
