/* Masa (lobi): koltuk kartları, avatar seçimi, Hazır, Oyuncu/Bot, online paylaşım kutusu, başlat düğmesi. */
.lobby{padding-bottom:0}
.lb-q{font:22px var(--f-display)}
.lb-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.lb-meta b{font-family:var(--f-display);font-weight:400;font-size:12px}

/* ---------- koltuklar ---------- */
.seats{display:flex;flex-direction:column;gap:14px}
.seat{position:relative;padding:14px;border-radius:20px;border:2.5px solid transparent;
  background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--team) 22%,transparent),transparent 65%) padding-box,
    linear-gradient(170deg,var(--stone2),var(--stone) 60%,var(--bg1)) padding-box,
    linear-gradient(140deg,var(--team-hi),var(--team-lo) 45%,var(--gold-lo) 70%,var(--gold)) border-box;
  box-shadow:0 0 0 2px var(--stone-edge),0 6px 0 var(--stone-edge),0 12px 22px var(--shadow);transition:box-shadow .25s}
.seat[data-ready]{box-shadow:0 0 0 2px var(--stone-edge),0 6px 0 var(--stone-edge),0 0 26px color-mix(in srgb,var(--team) 55%,transparent)}
.seat[data-empty]{border-style:dashed;background:linear-gradient(170deg,var(--stone2),var(--stone)) padding-box,linear-gradient(var(--team-lo),var(--team-lo)) border-box;opacity:.85}
.seat-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;min-height:34px}
.seat-no{font:15px/1 var(--f-display);color:#fff;padding:6px 10px;border-radius:99px;
  background:linear-gradient(var(--team-hi),var(--team) 50%,var(--team-lo));box-shadow:0 2px 0 rgba(0,0,0,.35);text-shadow:0 1px 0 rgba(0,0,0,.35)}
.seat-tag{font:900 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--team-hi)}
.seat-kind{margin-left:auto}
.seat-kind button{display:inline-flex;align-items:center;gap:5px;font:800 13px var(--f-body);padding:7px 10px}
.seat-kind button svg{width:15px;height:15px}

.seat-me{display:flex;align-items:center;gap:12px}
.seat-crest{width:56px;height:56px;box-shadow:0 0 0 2.5px var(--team),0 0 0 4.5px var(--gold-ink),0 0 16px color-mix(in srgb,var(--team) 50%,transparent)}
.seat-name{flex:1;min-width:0;height:50px;border:0;border-radius:13px;padding:0 14px;font:800 17px var(--f-body);color:var(--text);
  background:var(--stone-edge);box-shadow:inset 0 0 0 1.5px rgba(242,193,78,.35),inset 0 3px 6px rgba(0,0,0,.35)}
.seat-name:focus{outline:none;box-shadow:inset 0 0 0 2px var(--team-hi),inset 0 3px 6px rgba(0,0,0,.35)}
.seat-name:disabled{opacity:.85;color:var(--text)}

.avatars{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:14px 0}
.av{aspect-ratio:1;border:0;padding:0;border-radius:50%;cursor:pointer;background:var(--stone-edge);
  box-shadow:0 0 0 1.5px rgba(242,193,78,.3);transition:transform .15s,box-shadow .15s}
.av img{width:100%;height:100%;border-radius:50%;display:block}
.av.sel{transform:scale(1.12);box-shadow:0 0 0 2.5px var(--team-hi),0 0 0 4px var(--gold-ink),0 0 12px var(--team)}
.av:disabled{cursor:default;opacity:.55}
.av.sel:disabled{opacity:1}

.ready-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;height:52px;border-radius:14px;
  font:19px var(--f-display);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35);
  background:linear-gradient(var(--team-hi),var(--team) 45%,var(--team-lo));
  box-shadow:inset 0 2px 0 rgba(255,255,255,.35),inset 0 -3px 0 rgba(0,0,0,.2),0 4px 0 color-mix(in srgb,var(--team-lo) 60%,#000),0 8px 14px var(--shadow)}
.ready-btn:active{transform:translateY(3px);box-shadow:inset 0 2px 0 rgba(255,255,255,.35),0 1px 0 color-mix(in srgb,var(--team-lo) 60%,#000)}
.ready-btn svg{width:20px;height:20px}
.ready-btn.on{background:linear-gradient(var(--stone2),var(--stone));color:var(--team-hi);box-shadow:inset 0 0 0 2px var(--team),0 4px 0 var(--stone-edge)}

.seat-state{margin-top:12px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:8px;
  font:800 15px var(--f-body);color:var(--muted);background:var(--stone-edge);box-shadow:inset 0 0 0 1.5px rgba(174,179,224,.25)}
.seat-state.ok{color:var(--team-hi);box-shadow:inset 0 0 0 2px var(--team)}
.seat-state svg{width:18px;height:18px}
.seat-wait{display:flex;align-items:center;gap:10px;margin:2px 0 4px;font:700 14px/1.45 var(--f-body);color:var(--muted)}
.dots{display:inline-flex;gap:3px}
.dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:dot 1.2s infinite}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{opacity:.25}30%{opacity:1}}
.spin{width:16px;height:16px;flex:none;border-radius:50%;border:2.5px solid rgba(242,193,78,.25);border-top-color:var(--gold-hi);animation:spinR .8s linear infinite;display:inline-block}
@keyframes spinR{to{transform:rotate(360deg)}}

/* ---------- online paylaşım ---------- */
.share-box{margin-bottom:14px;padding:14px;border-radius:18px;text-align:center;
  background:rgba(10,13,38,.45);box-shadow:inset 0 0 0 1.5px rgba(134,230,255,.35)}
.sh-code small{display:block;font:900 11px var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sh-code b{display:block;margin:4px 0 10px;font:42px/1 var(--f-display);letter-spacing:.18em;padding-left:.18em;color:var(--gold-hi);text-shadow:0 3px 0 var(--gold-ink),0 0 20px rgba(242,193,78,.35);user-select:all;-webkit-user-select:all}
.sh-code.guest b{font-size:30px;margin-bottom:6px}
.sh-acts{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.sh-stat{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;font:800 13.5px var(--f-body);color:var(--muted)}
.sh-stat.ok{color:#8BE9A5}
.sh-stat.warn{color:var(--gold-hi);font-size:12.5px;line-height:1.4;text-align:center}
.seat-kick{margin-left:auto}
.sh-stat.ok i{width:9px;height:9px;border-radius:50%;background:#45D46E;box-shadow:0 0 10px #45D46E}
.sh-err b{display:block;font:800 14px/1.45 var(--f-body);color:var(--red-hi);margin-bottom:10px}
.pill{border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:99px;font:800 13px var(--f-body);
  color:var(--gold-hi);background:var(--stone-edge);box-shadow:inset 0 0 0 1.5px rgba(242,193,78,.5)}
.pill svg{width:15px;height:15px}
.pill.gold{color:var(--gold-ink);background:linear-gradient(var(--gold-hi),var(--gold));box-shadow:0 2px 0 var(--gold-lo)}

/* ---------- kurallar ve başlat ---------- */
.lb-rules{margin-top:14px;padding:12px 14px;border-radius:16px;background:rgba(10,13,38,.45);box-shadow:inset 0 0 0 1px rgba(242,193,78,.22)}
.lb-rules summary{cursor:pointer;font:800 15px var(--f-body);color:var(--text);list-style:none;display:flex;justify-content:space-between}
.lb-rules summary::-webkit-details-marker{display:none}
.lb-rules summary::after{content:"+";color:var(--gold);font-family:var(--f-display)}
.lb-rules[open] summary::after{content:"–"}
.lb-rules-cam{margin:10px 0 8px;font:700 13.5px var(--f-body);color:var(--muted)}
.lb-rules-cam b{color:var(--gold-hi)}
.lb-foot{position:sticky;bottom:0;margin:16px -16px 0;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 14px);
  background:linear-gradient(transparent,var(--bg0) 30%)}
.lb-start{height:58px;font-size:20px}
.lb-start svg{width:18px;height:18px}
