/* The label is only a face and a handle; its larger touch target stays invisible. */
.iso-lobby { position:absolute; inset:0; z-index:35; pointer-events:none; font-family:Inter,Arial,sans-serif; }
.iso-lobby-portal { position:fixed; z-index:45; }
.is-lobby-preview:has(.iso-lobby-profile:not([hidden])) .iso-lobby-lab { visibility:hidden; }
.iso-lobby [hidden] { display:none!important; }
.iso-lobby-labels { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.iso-lobby-label { position:absolute; left:0; top:0; display:flex; align-items:center; gap:8px; min-height:44px; max-width:190px; box-sizing:border-box; padding:8px; border:0; border-radius:0; background:none; box-shadow:none; color:#fff; font:500 13px/1.3 Inter,Arial,sans-serif; text-align:left; white-space:nowrap; pointer-events:auto; touch-action:manipulation; cursor:pointer; }
.iso-lobby-label:hover,.iso-lobby-label:active { background:none; box-shadow:none; }
.iso-lobby-handle { min-width:0; overflow:hidden; text-overflow:ellipsis; text-shadow:0 1px 2px #07150ee6,0 0 4px #07150ecc,1px 0 1px #07150e99,-1px 0 1px #07150e99; }
.iso-lobby-avatar { position:relative; display:inline-grid; place-items:center; width:28px; height:28px; flex:none; overflow:hidden; border:0; border-radius:50%; background:#e8d4ab; color:#ae602d; }
.iso-lobby-avatar svg { display:block; width:24px; height:24px; }
.iso-lobby-avatar img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; border:0; border-radius:inherit; }
.iso-lobby-label:focus-visible { outline:2px solid #d2e9bc; outline-offset:0; border-radius:8px; }
.iso-lobby-shade { position:absolute; inset:0; pointer-events:auto; background:transparent; }
.iso-lobby-profile { position:absolute; z-index:2; width:min(340px,calc(100% - 24px)); max-height:calc(100% - 24px); overflow:auto; overscroll-behavior:contain; box-sizing:border-box; padding:22px; border:1px solid #c6c7ae; border-radius:20px; background:#f8f6ec; color:#24392e; box-shadow:0 14px 36px #07170e40,0 2px 8px #07170e24; pointer-events:auto; font:400 13px/1.5 Inter,Arial,sans-serif; }
.iso-lobby-profile * { box-sizing:border-box; }
.iso-lobby-profile-heading { display:flex; align-items:center; gap:12px; padding-right:22px; }
.iso-lobby-profile-heading .iso-lobby-avatar { width:48px; height:48px; }
.iso-lobby-profile-heading .iso-lobby-avatar svg { width:40px; height:40px; }
.iso-lobby-profile-identity { min-width:0; }
.iso-lobby-profile-name { margin:0; color:inherit; font:500 23px/1.1 var(--font-display,'Cal Sans',Inter,Arial,sans-serif); overflow-wrap:anywhere; }
.iso-lobby-profile-handle { margin:4px 0 0; color:#667063; overflow-wrap:anywhere; font:400 12px/1.4 Inter,Arial,sans-serif; }
.iso-lobby-close { position:absolute; top:8px; right:8px; display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:none; color:#50624f; font:400 24px/1 Inter,Arial,sans-serif; cursor:pointer; touch-action:manipulation; }
.iso-lobby-close:hover { background:#e9ecdf; }
.iso-lobby-profile-bio { margin:16px 0 10px; overflow-wrap:anywhere; white-space:pre-wrap; }
.iso-lobby-profile-followers { margin:0 0 16px; color:#667063; font-variant-numeric:tabular-nums; }
.iso-lobby-profile-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.iso-lobby-follow,.iso-lobby-profile-link,.iso-lobby-retry { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:10px 14px; border-radius:11px; font:500 13px/1.3 Inter,Arial,sans-serif; text-decoration:none; cursor:pointer; touch-action:manipulation; }
.iso-lobby-follow { flex:1; border:1px solid #294734; background:#294734; color:#f7f7e9; }
.iso-lobby-follow[aria-pressed=true] { border-color:#506b46; background:#506b46; color:#fbf9ed; }
.iso-lobby-follow:disabled { cursor:default; opacity:.6; }
.iso-lobby-profile-link,.iso-lobby-retry { border:1px solid #c3c9b5; background:transparent; color:#354b38; }
.iso-lobby-profile-link:hover,.iso-lobby-retry:hover { background:#e8ecdf; }
.iso-lobby-profile-message { margin:12px 0 0; color:#63705d; font:400 12px/1.5 Inter,Arial,sans-serif; overflow-wrap:anywhere; }
.iso-lobby-profile-message:empty { display:none; }
.iso-lobby-profile-message.is-error { color:#8a4131; }
.iso-lobby-retry { margin-top:12px; }
.iso-lobby-profile :is(button,a):focus-visible { outline:2px solid #466a3b; outline-offset:3px; }
.iso-lobby-status { position:absolute; top:76px; right:20px; max-width:min(250px,calc(100% - 40px)); color:#fff; text-align:right; font:400 11px/1.45 Inter,Arial,sans-serif; text-shadow:0 1px 3px #07150ee6,0 0 5px #07150e; pointer-events:none; }
@media(max-width:599px) {
  .iso-lobby-profile { inset:auto 12px max(12px,env(safe-area-inset-bottom)); width:calc(100% - 24px); padding:20px; max-height:calc(100% - 40px); border-radius:22px; }
  .iso-lobby-close { width:44px; height:44px; }
  .iso-lobby-follow,.iso-lobby-profile-link,.iso-lobby-retry { min-height:44px; }
  .iso-lobby-status { top:64px; right:14px; max-width:200px; }
}
@media(forced-colors:active) {
  .iso-lobby-label { color:CanvasText; text-shadow:none; }
  .iso-lobby-profile { color:CanvasText; background:Canvas; border-color:CanvasText; }
  .iso-lobby-profile :is(button,a) { color:ButtonText; background:ButtonFace; border-color:ButtonText; }
}
@media(pointer:coarse) {
  .iso-lobby-close { width:44px; height:44px; }
  .iso-lobby-follow,.iso-lobby-profile-link,.iso-lobby-retry { min-height:44px; }
}
