/* Ekran klavyesi uyumu (core/keyboard.js ile): görünür alan yüksekliği --vvh, klavye açıkken html.kb-open */
:root { --vvh: 100dvh; --vvt: 0px; }
@supports not (height: 100dvh) { :root { --vvh: 100vh; } }
@media (max-width: 860px) {
  .grid { height: calc(var(--vvh) - var(--topbar) - 78px); }
  html.kb-open .tabbar { display: none; }
  html.kb-open .lobby { padding-bottom: 8px; }
  html.kb-open .grid { height: calc(var(--vvh) - var(--topbar) - 16px); }
}

/* Oyun Salonu: tam ekran katman görünür alana oturur. Yazı yazılan oyunlarda klavye açılınca oyun ufalır ama görünür kalır (sohbet yok) */
.arc { inset: auto; left: 0; right: 0; top: var(--vvt, 0px); bottom: auto; height: var(--vvh, 100dvh); }
html.kb-open .arc-head { padding: 4px 8px; gap: 6px; }
html.kb-open .arc-title small, html.kb-open .arc-chips, html.kb-open .arc-hud, html.kb-open .arc-caps { display: none; }
html.kb-open .tg-powers { display: none; }
html.kb-open .tg-dock { padding: 6px; }
html.kb-open .tg-input { padding: 9px 12px; font-size: 16px; }
/* Çarkıfelek: çark küçülür, tahta ve çözüm kutusu görünür; harf tuşları gizlenir */
html.kb-open .ws { padding: 6px 8px; gap: 4px; }
html.kb-open .ws-keys { display: none; }
html.kb-open .ws-mid { grid-template-columns: auto minmax(0, 1fr); gap: 8px; }
html.kb-open .ws-wheel { width: min(36vw, 26vh); padding-top: 8px; }
html.kb-open .ws-ptr { width: 22px; height: 28px; margin-left: -11px; }
html.kb-open .ws-spin { font-size: 14px; padding: 8px 14px; }
html.kb-open .ws-t { width: clamp(18px, 3.4vh, 30px); height: clamp(24px, 4.6vh, 38px); font-size: clamp(12px, 2.4vh, 20px); }
html.kb-open .ws-p { min-width: 58px; padding: 3px 8px; } html.kb-open .ws-p b { font-size: 14px; } html.kb-open .ws-hint { display: none; }
html.kb-open .ws-solve { padding: 8px 12px; font-size: 15px; } html.kb-open .ws-solvebtn { padding: 8px 16px; font-size: 14px; }
/* Emoji / Takım: soru küçülür ama görünür */
html.kb-open .qs { gap: 6px; padding: 6px 12px; justify-content: flex-start; }
html.kb-open .qs-prompt { font-size: clamp(36px, 15vh, 96px); } html.kb-open .qs-prompt.text { font-size: clamp(16px, 4vh, 28px); }
html.kb-open .qs-sub { display: none; } html.kb-open .qs-hint { font-size: 16px; min-height: 20px; }
html.kb-open .qs-input { padding: 8px 12px; font-size: 16px; }
html.kb-open .qs-score { font-size: 24px; } html.kb-open .qs-rosters { display: none; }
/* İhale: teklif yazarken kutu küçülür */
html.kb-open .as { gap: 4px; padding: 8px; justify-content: flex-start; }
html.kb-open .as-box { font-size: clamp(40px, 14vh, 90px); } html.kb-open .as-bid { font-size: clamp(24px, 7vh, 48px); }
html.kb-open .as-range, html.kb-open .as-note, html.kb-open .as-quick { display: none; }
html.kb-open .as-amount { padding: 9px 12px; font-size: 16px; }

/* Sayfa Oyun Salonu açıkken kaymasın/kaydırılmasın (iOS klavye kaydırmasını engeller) */
html.arc-lock body { position: fixed; inset: 0; width: 100%; overflow: hidden; overscroll-behavior: none; }
.arc { overflow: hidden; overscroll-behavior: none; touch-action: manipulation; }
/* Görünür alan çok küçükse (yatay telefon + klavye): üst çubuk gizlenir, oyun ve yazma kutusu kalır */
html.kb-tiny .arc-head { display: none; }
html.kb-tiny .ws-chips, html.kb-tiny .ws-scores, html.kb-tiny .qs-chips, html.kb-tiny .qs-barrow, html.kb-tiny .as-tier, html.kb-tiny .as-leader { display: none; }

html.kb-open .ws-wheel { height: 100%; width: auto; max-width: 40vw; }
html.kb-open .ws { grid-template-rows: auto auto auto minmax(0, 1fr) auto; }
