/* ══════════════════════════════════
   LOBBY – schwebende Spieler-Formen, QR rechts
══════════════════════════════════ */
#view-lobby.active{display:grid;position:fixed;inset:0;grid-template-columns:1fr minmax(320px,400px);}
.lobby-stage{position:relative;overflow:hidden;}
.lobby-hdr{position:absolute;top:22px;left:26px;right:26px;display:flex;align-items:center;gap:16px;z-index:2;pointer-events:none;}
.lobby-hdr .btn{pointer-events:auto;}
.lobby-title{font-family:'Anton',sans-serif;font-size:clamp(22px,3vw,40px);color:var(--gold);letter-spacing:3px;text-shadow:0 4px 18px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lobby-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.28);font-family:'Barlow Condensed',sans-serif;font-size:clamp(20px,2.4vw,30px);font-weight:600;letter-spacing:.04em;text-align:center;padding:24px;pointer-events:none;}
.lobby-empty-big{font-size:clamp(40px,6vw,80px);}

.lobby-blob{position:absolute;top:0;left:0;width:150px;height:150px;transform-origin:0 0;will-change:transform;}
.lobby-blob svg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));}
.lobby-blob-name{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.lobby-blob-name span{font-family:'Barlow Condensed',sans-serif;font-weight:800;line-height:1.05;overflow-wrap:anywhere;hyphens:auto;max-width:100%;}
.lobby-blob-name.nobreak span{overflow-wrap:normal;hyphens:manual;}
.lobby-blob-name.clip span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.lobby-blob.leaving{transition:opacity .45s;opacity:0;}

.lobby-side{background:rgba(1,8,30,.72);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 26px 96px;overflow-y:auto;backdrop-filter:blur(4px);}
.lobby-join{font-family:'Anton',sans-serif;font-size:30px;letter-spacing:3px;color:#fff;}
.lobby-join-sub{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:-10px;}
.lobby-qr{flex-shrink:0;background:#fff;padding:12px;border-radius:12px;width:284px;height:284px;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 40px rgba(0,0,0,.5);}
.lobby-qr img,.lobby-qr canvas{display:block;}
.lobby-qr-wait{display:flex;flex-direction:column;align-items:center;gap:16px;color:#10131c;font-weight:600;font-size:15px;}
.lobby-qr-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.12);border-top-color:var(--gold);border-radius:50%;animation:lobbySpin .9s linear infinite;}
@keyframes lobbySpin{to{transform:rotate(360deg)}}
.lobby-code-lbl{font-size:13px;color:rgba(255,255,255,.4);}
.lobby-code{font-family:'Anton',sans-serif;font-size:38px;letter-spacing:8px;color:var(--gold);line-height:1;}
.lobby-url{font-size:11px;color:rgba(255,255,255,.3);word-break:break-all;text-align:center;}
.lobby-count{font-size:14px;font-weight:600;color:rgba(255,255,255,.65);text-align:center;}
.lobby-teams{width:100%;display:flex;flex-direction:column;gap:6px;}
.lobby-team{display:flex;align-items:center;gap:10px;padding:7px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);}
.lobby-team-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;}
.lobby-team-name{flex:1;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lobby-team-n{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:18px;color:rgba(255,255,255,.6);}
.lobby-start{position:fixed;right:26px;bottom:26px;z-index:5;width:auto;box-shadow:0 10px 30px rgba(0,0,0,.5);}

@media (max-width:800px){
  #view-lobby.active{grid-template-columns:1fr;grid-template-rows:55vh auto;overflow-y:auto;}
  .lobby-side{border-left:none;border-top:1px solid rgba(255,255,255,.08);padding:24px 16px 96px;}
  .lobby-hdr{left:16px;right:16px;top:16px;}
}
