/* Bozkurt Online dokunmatik düzen (2026-11-07): telefon ve tablet. Bütün kurallar body.dokunmatik altında: masaüstünde
   hiçbiri işlemez (sınıfı js/dokunmatik.js koyar: dokunmatik ekran ya da Ayarlar'da "Dokunmatik düzen: Açık").
   Yerleşim: sol üstte madalyon + can/mana, üst ortada hedef, sağ üstte küçük harita + sohbet / menü düğmeleri,
   sol altta sanal kol (parmağın değdiği yerde açılır), sağ altta ⚔ saldır düğmesi ve çevresinde yay biçiminde beceri
   ve iksir yuvaları (beceri çubuğunun kendi yuvaları). Pencereler ekrana sığan sayfalar; heybe başka bir pencereyle
   açıksa ekranı yan yana (dikeyde üst üste) paylaşırlar. Çentikli ekranlar için env(safe-area-inset-*). */

/* yalnız dokunmatikte görünenler (masaüstünde gizli) */
.dk-yalniz, #dk-kol, #dk-kol-yer, #dk-eylem, #dk-ust, .dk-etiket, .dk-yardim, #dk-sohbet-kapat, #dk-hedef-birak { display: none; }
/* Ayarlar'da "Dokunmatik düzen" satırı ve notu yalnız dokunmatik ekranı olan cihazda (masaüstü penceresi aynı kalsın) */
html:not(.dk-dokunabilir) .dk-ayar { display: none; }

body.dokunmatik {
  --sol: env(safe-area-inset-left, 0px); --sag: env(safe-area-inset-right, 0px);
  --ust: env(safe-area-inset-top, 0px); --alt: env(safe-area-inset-bottom, 0px);
  /* düğme ölçüsü birimi: telefonda ekranın kısa kenarına göre; adres çubuklu kısa yatay ekranda (~300 px) da yuvalar
     parmak boyunda kalsın diye alt sınır */
  --u: clamp(3.5px, 1vmin, 4.3px);
  --A: calc(var(--u) * 18);           /* ⚔ saldır düğmesi */
  --d: calc(var(--u) * 12);           /* beceri ve iksir yuvası */
  --k: max(40px, calc(var(--u) * 11)); /* küçük düğme (hedef) */
  --cx: calc(var(--sag) + var(--u) * 3 + var(--A) / 2);   /* düğme kümesinin merkezi: sağ kenardan */
  --cy: calc(var(--alt) + var(--u) * 3 + var(--A) / 2);   /* düğme kümesinin merkezi: alt kenardan */
  --yh: 100vh;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  overscroll-behavior: none;
}
@supports (height: 100dvh) { body.dokunmatik { --yh: 100dvh; } }
body.dokunmatik #sahne canvas, body.dokunmatik #hud { touch-action: none; }
body.dokunmatik button, body.dokunmatik .yuva, body.dokunmatik a { touch-action: manipulation; }
body.dokunmatik .yuva[draggable="true"] { -webkit-user-drag: none; }
/* iPhone, 16 pikselden küçük yazı kutusuna dokununca sayfayı yakınlaştırır (id ile yazı boyu verilen kutular da) */
body.dokunmatik input:not([type=range]):not([type=checkbox]), body.dokunmatik textarea, body.dokunmatik select,
body.dokunmatik #sohbet-giris, body.dokunmatik #sikayet-not, body.dokunmatik #oneri-metin { font-size: 16px; }
/* iPhone user-scalable=no'yu dinlemez; touch-action kalıtılmaz ve kayan kutuda kesilir: kutularda çift dokunuş büyütmesin */
body.dokunmatik .ekran, body.dokunmatik #hud .pencere, body.dokunmatik #sohbet-akis, body.dokunmatik #toplama-akis, body.dokunmatik #grup-akis, body.dokunmatik #ozel-akis,
body.dokunmatik #duyuru-akis, body.dokunmatik .ac-menu, body.dokunmatik #yardim-kutu, body.dokunmatik #heybe-detay, body.dokunmatik #dukkan-liste,
body.dokunmatik #beceriler-ic, body.dokunmatik #tz-mallar { touch-action: manipulation; }

/* masaüstüne özgü: tuş harfleri, heybe büyütme tutamağı */
body.dokunmatik #menu-dugmeleri kbd, body.dokunmatik #beceri-cubugu .tus, body.dokunmatik .boyut-tutamak { display: none; }

/* ---------- sol üst: madalyon, can, mana, tecrübe ---------- */
body.dokunmatik #ben-cerceve { top: calc(var(--ust) + 4px); left: calc(var(--sol) + 4px); transform: scale(0.62); transform-origin: top left; }
body.dokunmatik .ac-sol { position: fixed; z-index: 3; top: calc(var(--ust) + 76px); left: calc(var(--sol) + 8px); display: flex; flex-direction: column; align-items: flex-start; gap: 5px; pointer-events: none; }
body.dokunmatik .ac-gostergeler { width: 172px; gap: 5px; }
body.dokunmatik .ac-gostergeler .gosterge { height: 15px; }
body.dokunmatik .ac-gostergeler .gosterge span, body.dokunmatik .ac-gostergeler .gosterge em { line-height: 15px; font-size: 10.5px; }
body.dokunmatik #tecrube-kure { gap: 4px; margin-left: 2px; }
body.dokunmatik #tecrube-kure i { width: 13px; height: 13px; box-shadow: inset 0 0 0 1px #0d0a08, 0 0 0 1px #a8844c; }
body.dokunmatik #tecrube-kure i::after { display: none; }
body.dokunmatik #tecrube-kure-yazi { display: none; }
body.dokunmatik #grup-cerceve { top: calc(var(--ust) + 128px); left: calc(var(--sol) + 6px); width: 170px; transform: scale(0.9); transform-origin: top left; }
/* Nesne Market düğmesi (2026-11-08): yalnız BP simgesi, yuvarlak, can/mana çubuklarının sağında (madalyonun sağındaki
   ad levhası yatay telefonda hedefin × düğmesine, dikeyde hedef çerçevesine yer bırakır). Dikey telefonda hedef yiğidin
   gruba çağır / takas / şikâyet düğmelerinin altında; görev takibi düğmeye değmesin diye biraz dar. Pencere ya da sohbet
   açıkken gizli (öbür düğmeler gibi). Dokunma alanı 42 px (tablette 46). */
body.dokunmatik #nm-dugme { top: calc(var(--ust) + 76px); left: calc(var(--sol) + 188px); z-index: 3; width: 42px; height: 42px; padding: 0; justify-content: center; border-radius: 50%; }
body.dokunmatik #nm-dugme > :not(.bp) { display: none; }
body.dokunmatik #nm-dugme .bp { width: 32px; height: 32px; }
@media (hover: none) { body.dokunmatik #nm-dugme:hover { filter: none; } }
body.dokunmatik #nm-dugme:active { filter: brightness(1.3); transform: scale(0.95); }
/* 360 px'ten dar dikey ekranda (katlanır telefonun kapak ekranı 344, eski iPhone SE 320, büyük ekran boyutu ayarı) düğme
   küçük haritanın 4 px solunda durur; can/mana çubukları, görev takibi ve grup çerçevesi düğmenin 4 px solunda biter.
   360 px ve üstünde hiçbiri değişmez. */
body.dokunmatik.dk-telefon.dk-dikey #nm-dugme { top: calc(var(--ust) + 100px); left: min(calc(var(--sol) + 186px), calc(100vw - var(--sag) - 174px)); }
body.dokunmatik.dk-telefon.dk-dikey .ac-gostergeler { width: min(172px, calc(100vw - var(--sol) - var(--sag) - 186px)); }
body.dokunmatik.dk-telefon.dk-dikey #gorev-takip { width: min(176px, calc(100vw - var(--sol) - var(--sag) - 184px)); }
body.dokunmatik.dk-telefon.dk-dikey #grup-cerceve { width: min(170px, calc((100vw - var(--sol) - var(--sag) - 184px) / 0.9)); }
/* dar yatay telefonda (680 px'ten dar: iPhone SE / 8 yatay 667, Android 640) yiğit hedefteyken gruba çağır, takas ve
   şikâyet düğmeleri Nesne Market düğmesinin (sol + 188…230) 4 px sağından başlar (en çok 22 px kayar; sağdaki etkinlik,
   Kızıl Ova ve zindan levhalarına değmez). Daha dar yatayda o sıra sığmaz: düğmeler kaymaz, Nesne Market düğmesi
   çubukların altına, görev takibinin sağına iner; orada açık ☰ menüsü (içinde market de var) üstüne uzanır, menü
   açıkken gizlenir. */
body.dokunmatik.dk-telefon:not(.dk-dikey) .hedef-sikayet { transform: translateX(max(0px, calc(var(--sol) + 340px - 50vw))); }
@media (max-width: 635px) {
  body.dokunmatik.dk-telefon:not(.dk-dikey) .hedef-sikayet { transform: none; }
  body.dokunmatik.dk-telefon:not(.dk-dikey) #nm-dugme { top: calc(var(--ust) + 120px); left: calc(var(--sol) + 206px); }
  body.dokunmatik.dk-telefon.dk-menu-acik:not(.dk-dikey) #nm-dugme { display: none; }
}
body.dokunmatik:not(.dk-telefon) #nm-dugme { top: calc(var(--ust) + 106px); left: calc(var(--sol) + 236px); width: 46px; height: 46px; }
body.dokunmatik:not(.dk-telefon) #nm-dugme .bp { width: 36px; height: 36px; }
body.dokunmatik.dk-pencere-acik #nm-dugme, body.dokunmatik.dk-sohbet-acik #nm-dugme { display: none; }

/* ---------- üst orta: hedef ---------- */
body.dokunmatik #hedef-cerceve { top: calc(var(--ust) + 4px); width: min(320px, 44vw); gap: 3px; }
body.dokunmatik #hedef-cerceve .levha { transform: scale(0.85); }
body.dokunmatik .hedef-levha { min-width: 0; max-width: 100%; }
body.dokunmatik #hedef-ad { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
body.dokunmatik.dk-telefon.dk-dikey #hedef-alt { display: none; }
body.dokunmatik #hedef-cerceve .gosterge { width: min(260px, 40vw); height: 15px; }
/* yatayda biraz sola: sağ üstteki binek, sohbet ve menü düğmeleriyle çakışmasın */
body.dokunmatik:not(.dk-dikey) #hedef-cerceve { left: calc(50% - 40px); width: min(280px, 36vw); }
body.dokunmatik:not(.dk-dikey) #hedef-cerceve .gosterge { width: min(250px, 34vw); }
/* yiğit hedefteyken gruba çağır, takas, şikâyet: can çubuğunun altında ortalı, parmak boyunda (çubuğu örtmez) */
body.dokunmatik .hedef-sikayet { top: calc(100% + 4px); width: 40px; height: 40px; }
body.dokunmatik .hedef-sikayet svg { width: 20px; height: 20px; }
body.dokunmatik #hedef-sikayet { right: calc(50% - 66px); }
body.dokunmatik #hedef-takas { right: calc(50% - 20px); }
body.dokunmatik #hedef-grup { right: calc(50% + 26px); }
/* hedefi bırak (masaüstünde Esc): hedef levhasının solunda ×; dokunma alanı görünenden büyük */
body.dokunmatik #dk-hedef-birak { display: block; position: absolute; left: -4px; top: -2px; width: 32px; height: 32px; padding: 0; pointer-events: auto; cursor: pointer;
  border-radius: 50%; border: 1px solid #0f0904; color: #2a1606; font: 900 20px/28px var(--yazi);
  background: radial-gradient(circle at 35% 30%, #fbe8b8, #b48a4c 50%, #4a3014 100%); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.75); }
body.dokunmatik #dk-hedef-birak::after { content: ''; position: absolute; inset: -7px; }
/* dikeyde × sağda: solda seviye yazısını ve madalyonun yanındaki etkileri örtüyordu */
body.dokunmatik.dk-telefon.dk-dikey #dk-hedef-birak { left: auto; right: -4px; }

/* ---------- sağ üst: küçük harita (dokununca büyük harita), bölge, sohbet ve menü düğmeleri ---------- */
body.dokunmatik #sag-ust { top: calc(var(--ust) + 2px); right: calc(var(--sag) + 2px); width: auto; align-items: flex-end; }
body.dokunmatik .minimap-cerceve { transform: scale(0.5); transform-origin: top right; margin: 0 0 -126px -126px; }
body.dokunmatik .yakin-dugme, body.dokunmatik .harita-gizle { display: none; }
body.dokunmatik .bolge-levha { margin-top: -6px; min-width: 0; height: 26px; padding: 0 4px; border-width: 6px 14px; }
body.dokunmatik #bolge-adi { font-size: 12px; }
body.dokunmatik #saat-satiri { display: none; }
/* küçük harita dokunmatikte hep açık (kapatma düğmesi yok; dokununca büyük harita); saydam kutu dokunuşu yutmasın */
body.dokunmatik #sag-ust { pointer-events: none; }
body.dokunmatik #sag-ust > * { pointer-events: auto; }
body.dokunmatik.harita-kapali .minimap-cerceve { display: block; }
body.dokunmatik.harita-kapali .harita-ac { display: none; }
body.dokunmatik.harita-kapali .bolge-levha { margin-top: -6px; }
/* etkinlik, Kızıl Ova ve zindan levhaları küçük haritanın altından alınır (yatayda beceri yayının üstüne biniyordu):
   yatayda sohbet / menü düğmelerinin altında, dikey telefonda binek düğmesinin altında; zindandayken yalnız zindan
   levhası görünür */
body.dokunmatik #etkinlik-rozet, body.dokunmatik #ova-rozet, body.dokunmatik #zindan-cubuk {
  position: fixed; z-index: 4; margin: 0; top: calc(var(--ust) + 54px); right: calc(var(--sag) + 136px); transform: scale(0.85); transform-origin: top right; }
body.dokunmatik #etkinlik-rozet:not(.gizli) ~ #ova-rozet { top: calc(var(--ust) + 96px); }
body.dokunmatik.zindanda #etkinlik-rozet, body.dokunmatik.zindanda #ova-rozet { display: none; }
body.dokunmatik #zindan-cubuk { min-width: 0; }
body.dokunmatik #zc-cik { min-height: 40px; padding: 6px 14px; font-size: 13px; }
body.dokunmatik.dk-telefon.dk-dikey #etkinlik-rozet, body.dokunmatik.dk-telefon.dk-dikey #ova-rozet { top: calc(var(--ust) + 198px); right: calc(var(--sag) + 6px); transform: scale(0.8); }
body.dokunmatik.dk-telefon.dk-dikey #etkinlik-rozet:not(.gizli) ~ #ova-rozet { top: calc(var(--ust) + 238px); }
body.dokunmatik.dk-telefon.dk-dikey #zindan-cubuk { top: calc(var(--ust) + 132px); left: calc(var(--sol) + 6px); right: auto; transform: scale(0.8); transform-origin: top left; }
/* çok kısa dikey ekranda (araç çubuklu küçük iPhone) bilgi rozetleri yayın üstüne binmesin */
@media (max-height: 600px) { body.dokunmatik.dk-telefon.dk-dikey #etkinlik-rozet, body.dokunmatik.dk-telefon.dk-dikey #ova-rozet { display: none; } }
body.dokunmatik #dk-ust { position: fixed; z-index: 7; top: calc(var(--ust) + 6px); right: calc(var(--sag) + 136px); display: flex; gap: 6px; }
body.dokunmatik .dk-ust-dugme, body.dokunmatik #dk-binek {
  position: relative; width: 42px; height: 42px; padding: 7px; border-radius: 50%; border: 1px solid #0f0904; color: #f3dca4; cursor: pointer;
  background: radial-gradient(circle at 50% 35%, #4a4540, #1c1917 80%);
  box-shadow: inset 0 0 0 2px rgba(200, 160, 95, 0.9), inset 0 -4px 6px rgba(0, 0, 0, 0.55), 0 2px 5px rgba(0, 0, 0, 0.7);
}
body.dokunmatik .dk-ust-dugme svg, body.dokunmatik #dk-binek svg { width: 100%; height: 100%; display: block; }
body.dokunmatik .dk-ust-dugme:active, body.dokunmatik #dk-binek:active { filter: brightness(1.3); }
body.dokunmatik #dk-sohbet-yeni { position: absolute; right: 2px; top: 2px; width: 10px; height: 10px; border-radius: 50%; background: #ffd36b; box-shadow: 0 0 0 2px #1c1917, 0 0 6px #ffd36b; }
body.dokunmatik.dk-menu-acik #dk-menu, body.dokunmatik.dk-sohbet-acik #dk-sohbet { box-shadow: inset 0 0 0 2px #6ff0de, 0 0 10px rgba(60, 192, 176, 0.6); color: #d6fff7; }

/* ---------- görev takibi: sol yanda, küçük ---------- */
/* sanal kolun alanında durur: dokunuşu yutmaz (altındaki tuvale gider, kol açılır); tıklanacak bir şeyi yok */
body.dokunmatik #gorev-takip { top: calc(var(--ust) + 128px); right: auto; left: calc(var(--sol) + 6px); width: 196px; max-height: 34vh; overflow: hidden; padding: 5px 8px 6px; pointer-events: none; }
body.dokunmatik.harita-kapali #gorev-takip, body.dokunmatik.etkinlik-var #gorev-takip { top: calc(var(--ust) + 128px); }
/* telefonda kısa kalsın: günlük işler (Görevler penceresinde de var) asıl görevin altındaysa gizlenir */
body.dokunmatik.dk-telefon #gorev-takip > .gt-gunluk:not(:first-child) { display: none; }
body.dokunmatik.dk-grupta #gorev-takip { display: none; }
body.dokunmatik #gorev-takip .gt-baslik { font-size: 13px; }
body.dokunmatik #gorev-takip .gt-ilerleme { font-size: 12.5px; }
body.dokunmatik #gorev-takip .gt-yer, body.dokunmatik #gorev-takip { font-size: 11.5px; }

/* ---------- sohbet: kapalıyken alt ortada son satırlar (dokunulmaz), açıkken üstte tam pencere ---------- */
body.dokunmatik #sohbet { left: max(calc(var(--sol) + 136px), calc(50% - 160px)); bottom: calc(var(--alt) + 6px); width: min(270px, calc(29vw - var(--sag))); pointer-events: none; }
body.dokunmatik #sohbet-sekmeler, body.dokunmatik #sohbet-giris, body.dokunmatik #toplama-akis, body.dokunmatik #grup-akis, body.dokunmatik #ozel-akis, body.dokunmatik #duyuru-akis, body.dokunmatik #sohbet-kime { display: none; }
body.dokunmatik #sohbet-akis { height: 62px; padding: 3px 7px; font-size: 11.5px; line-height: 1.3; background: rgba(12, 8, 5, 0.35); border-width: 0; overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 40%); mask-image: linear-gradient(180deg, transparent, #000 40%); }
body.dokunmatik .sohbet-bayrak { display: none; }
body.dokunmatik:not(.dk-sohbet-acik) #sohbet-akis.gizli { display: block !important; }
body.dokunmatik.dk-sohbet-acik #sohbet { z-index: 30; left: 50%; transform: translateX(-50%); top: calc(var(--ust) + 54px); bottom: auto; width: min(560px, calc(100vw - var(--sol) - var(--sag) - 12px)); pointer-events: auto; display: flex; flex-direction: column; }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler { order: -3; }
/* yazı kutusu iletilerin üstünde: telefon klavyesi ekranın altını kapatır */
body.dokunmatik.dk-sohbet-acik #sohbet-giris { order: -2; margin-bottom: 4px; }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler { display: flex; position: static; margin: 0 0 -1px 8px; }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler button { padding: 6px 14px; font-size: 13px; }
body.dokunmatik.dk-sohbet-acik #sohbet-akis:not(.gizli), body.dokunmatik.dk-sohbet-acik #toplama-akis:not(.gizli), body.dokunmatik.dk-sohbet-acik #grup-akis:not(.gizli), body.dokunmatik.dk-sohbet-acik #ozel-akis:not(.gizli), body.dokunmatik.dk-sohbet-acik #duyuru-akis:not(.gizli) { display: block; height: min(34vh, 260px); overflow-y: auto; font-size: 13.5px; background: rgba(12, 8, 5, 0.86);
  border-width: 6px; -webkit-mask-image: none; mask-image: none; }
body.dokunmatik.dk-sohbet-acik #sohbet-giris { display: block; width: 100%; height: 44px; }
body.dokunmatik.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet { left: calc(var(--sol) + 6px); transform: none; width: min(440px, 52vw); }
body.dokunmatik.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet-akis:not(.gizli), body.dokunmatik.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #toplama-akis:not(.gizli),
body.dokunmatik.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #grup-akis:not(.gizli), body.dokunmatik.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #ozel-akis:not(.gizli),
body.dokunmatik.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #duyuru-akis:not(.gizli) { height: min(28vh, 200px); }
body.dokunmatik.dk-sohbet-acik .sohbet-bayrak { display: inline-block; opacity: 0.55; }
body.dokunmatik.dk-sohbet-acik #dk-sohbet-kapat { display: block; position: absolute; right: 4px; top: -4px; width: 40px; height: 40px; padding: 0; border-radius: 50%; border: 1px solid #0f0904; cursor: pointer;
  background: radial-gradient(circle at 35% 30%, #fbe8b8, #b48a4c 50%, #4a3014 100%); color: #2a1606; font: 900 24px/36px var(--yazi); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.75); }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler { margin-right: 48px; }
/* özel sohbet (2026-11-08): dört sekme (Sohbet, Grup, Özel, Toplama) tek sırada; okunmayan sayısı sekmenin köşesinde
   (sekmeyi genişletmez). Kime satırı yazı kutusunun hemen üstünde, parmak boyunda; yiğidin menüsü büyük düğmeli. Sohbet
   düğmesinde okunmayan fısıltı ve grup satırı sayısı (sarı noktanın yerine) */
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler { flex-wrap: nowrap; min-width: 0; }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler button { position: relative; flex: 0 1 auto; min-width: 0; }
/* Duyuru ile beş sekme (2026-11-09): sığmazsa aralar daralır, en dar ekranda yazı 12 px (arayuz.js sekmeSigdir) */
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler.sik button { padding: 6px 8px; }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler.cok-sik { gap: 2px; }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler.cok-sik button { padding: 6px 4px; font-size: 12px; }
/* daralan sekmeler sıranın boşluğunu doldurur (360 px'te grupta Özel ve Grup 36 px'e iniyordu) */
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler.sik button, body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler.cok-sik button { flex: 1 1 auto; }
body.dokunmatik.dk-sohbet-acik #sohbet-sekmeler small { position: absolute; top: -8px; right: -4px; z-index: 1; min-width: 18px; font-size: 11px; line-height: 17px; box-shadow: 0 0 0 1px #1c1917; }
body.dokunmatik.dk-sohbet-acik #sohbet-kime { display: flex; order: -2; height: 34px; padding: 0 6px 0 10px; font-size: 14px; background: rgba(12, 8, 5, 0.96); }
body.dokunmatik #kime-kapat { width: 30px; height: 30px; font-size: 19px; line-height: 30px; }
body.dokunmatik #kime-diger { height: 28px; }
body.dokunmatik #kime-diger button { padding: 3px 10px; font-size: 13.5px; line-height: 20px; }
/* hedef çerçevesinde yiğidin ad levhası: ▾ yerine konuşma balonu çipi (dokununca Mesaj at, Engelle; inceleme 2026-11-08:
   telefonda 10 px'lik ▾ bulunmuyordu). Levha 0,85 / 0,72 küçüldüğünden çip 28 px */
body.dokunmatik #hedef-menu-ok { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 28px; height: 28px; margin-left: 0; border: 1px solid #0f0904; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fbe8b8, #b48a4c 50%, #4a3014 100%); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.35); }
body.dokunmatik #hedef-menu-ok span { display: none; }
body.dokunmatik #hedef-menu-ok svg { display: block; width: 16px; height: 16px; fill: #2a1606; }
body.dokunmatik.emoji-acik #sohbet[data-sekme="ozel"] #emoji-kutu:not(.gizli) { top: 118px; }
body.dokunmatik #yigit-menu { min-width: 180px; z-index: 40; }
body.dokunmatik #yigit-menu button { min-height: 44px; padding: 10px 14px; font-size: 16px; }
body.dokunmatik #ym-ad { font-size: 15px; }
body.dokunmatik #dk-sohbet-sayi { position: absolute; right: 0; top: 0; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; font: 900 12px/20px var(--yazi); color: #2a1804; background: #ffd36b; box-shadow: 0 0 0 2px #1c1917, 0 0 6px #ffd36b; }
body.dokunmatik #dk-sohbet-sayi:empty { display: none; }
body.dokunmatik #dk-sohbet:has(#dk-sohbet-sayi:not(:empty)) #dk-sohbet-yeni { display: none; }

/* ---------- alt çubuk dağılır: göstergeler sol üste, beceriler sağ alta, menü ☰ ile ---------- */
body.dokunmatik #alt-cubuk { height: 0; }
body.dokunmatik .ac-govde { display: contents; }
body.dokunmatik .ac-govde::before { display: none; }

/* beceri ve iksir yuvaları: ⚔ düğmesinin çevresinde iki yay (iç yayda 3, dış yayda 5), iksirler yanda */
body.dokunmatik #beceri-cubugu { display: block; padding: 0; background: none; box-shadow: none; }
body.dokunmatik #beceri-cubugu .ayrac { display: none; }
body.dokunmatik #beceri-cubugu .yuva {
  position: fixed; z-index: 6; width: var(--d); height: var(--d); border-radius: 50%;
  right: calc(var(--cx) + var(--l, 0) * var(--u) - var(--d) / 2);
  bottom: calc(var(--cy) + var(--t, 0) * var(--u) - var(--d) / 2);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
}
body.dokunmatik #beceri-cubugu .yuva::after { border: 2px solid #c9a364; border-image: none; border-radius: 50%; box-shadow: inset 0 0 0 1px #0f0904, 0 0 0 1px #0f0904; }
body.dokunmatik #beceri-cubugu .yuva img { border-radius: 50%; }
body.dokunmatik #beceri-cubugu .yuva .cd, body.dokunmatik #beceri-cubugu .yuva .kilit { inset: 2px; border-radius: 50%; }
body.dokunmatik #beceri-cubugu .yuva .kilit { font-size: 11px; }
body.dokunmatik #beceri-cubugu .yuva .cd-yazi { font-size: 16px; }
body.dokunmatik #beceri-cubugu .yuva .adet { right: 50%; bottom: -3px; transform: translateX(50%); font-size: 11px; }
body.dokunmatik #beceri-cubugu .yuva:active { filter: brightness(1.35); }
body.dokunmatik #beceri-cubugu .yuva[data-pos="0"] { --l: 19; --t: 0; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="1"] { --l: 13.43; --t: 13.43; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="2"] { --l: 0; --t: 19; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="3"] { --l: 33; --t: 0; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="4"] { --l: 30.49; --t: 12.63; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="5"] { --l: 23.33; --t: 23.33; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="6"] { --l: 12.63; --t: 30.49; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="7"] { --l: 0; --t: 33; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="8"] { --l: 47; --t: 0; }
body.dokunmatik #beceri-cubugu .yuva[data-pos="9"] { --l: 47; --t: 14; }

/* eylem düğmeleri: ⚔ merkezde; topla ve hedef iksirlerin yanında; binek sağ üstteki düğmelerin yanında */
body.dokunmatik #dk-eylem { display: block; position: fixed; inset: 0; z-index: 6; pointer-events: none; }
body.dokunmatik .dk-dugme {
  position: fixed; pointer-events: auto; padding: 0; border-radius: 50%; border: 1px solid #0f0904; color: #f6e2b2; cursor: pointer;
  background: radial-gradient(circle at 50% 30%, #5a4632, #231812 75%);
  box-shadow: inset 0 0 0 2px #c9a364, inset 0 -5px 8px rgba(0, 0, 0, 0.55), 0 3px 8px rgba(0, 0, 0, 0.7);
}
body.dokunmatik .dk-dugme svg { width: 62%; height: 62%; display: block; margin: auto; filter: drop-shadow(0 1px 1px #000); }
body.dokunmatik .dk-dugme:active { filter: brightness(1.35); transform: scale(0.95); }
body.dokunmatik #dk-saldir { width: var(--A); height: var(--A); right: calc(var(--cx) - var(--A) / 2); bottom: calc(var(--cy) - var(--A) / 2);
  color: #fff1dc; background: radial-gradient(circle at 50% 30%, #c0503c, #6a1a12 75%); box-shadow: inset 0 0 0 3px #e8c27a, inset 0 -6px 10px rgba(40, 0, 0, 0.55), 0 4px 12px rgba(0, 0, 0, 0.75); }
body.dokunmatik #dk-topla { --l: 61; --t: 0; width: var(--d); height: var(--d);
  right: calc(var(--cx) + var(--l) * var(--u) - var(--d) / 2); bottom: calc(var(--cy) + var(--t) * var(--u) - var(--d) / 2); }
body.dokunmatik #dk-hedef { --l: 61; --t: 14; width: var(--k); height: var(--k);
  right: calc(var(--cx) + var(--l) * var(--u) - var(--k) / 2); bottom: calc(var(--cy) + var(--t) * var(--u) - var(--k) / 2); }
body.dokunmatik #dk-binek { position: fixed; pointer-events: auto; top: calc(var(--ust) + 6px); right: calc(var(--sag) + 232px); }
/* Alp Kepeneği (VİP, 2026-11-08; masaüstünde F): yalnız heybede kepenek varken (ana.js kepenek-var), hedef düğmesinin üstünde */
body.dokunmatik #dk-kepenek { display: none; --l: 61; --t: 28; width: var(--k); height: var(--k);
  right: calc(var(--cx) + var(--l) * var(--u) - var(--k) / 2); bottom: calc(var(--cy) + var(--t) * var(--u) - var(--k) / 2); }
body.dokunmatik.kepenek-var #dk-kepenek { display: block; }

/* dikey ekranda iksirler, topla ve hedef kümenin üstüne (sol yan sanal kola kalsın); kepenek hedefin solunda */
body.dokunmatik.dk-dikey #beceri-cubugu .yuva[data-pos="8"] { --l: 0; --t: 47; }
body.dokunmatik.dk-dikey #beceri-cubugu .yuva[data-pos="9"] { --l: 14; --t: 47; }
body.dokunmatik.dk-dikey #dk-topla { --l: 0; --t: 61; }
body.dokunmatik.dk-dikey #dk-hedef { --l: 14; --t: 61; }
body.dokunmatik.dk-dikey #dk-kepenek { --l: 28; --t: 61; }

/* dikey telefonda üst sıra dar: ad levhası ve yol yazısı gizlenir (madalyon, seviye, etkiler kalır); hedef ortada;
   sohbet, menü ve binek düğmeleri küçük haritanın altında sütun; sohbet şeridi görev takibinin altında */
body.dokunmatik.dk-telefon.dk-dikey .ben-levha, body.dokunmatik.dk-telefon.dk-dikey #ben-sinif { display: none; }
body.dokunmatik.dk-telefon.dk-dikey #hedef-cerceve { width: min(200px, calc(100vw - 210px)); left: calc(var(--sol) + 96px + (100vw - var(--sol) - var(--sag) - 96px - 140px) / 2); }
body.dokunmatik.dk-telefon.dk-dikey #hedef-cerceve .levha { transform: scale(0.72); transform-origin: top center; margin-bottom: -8px; }
body.dokunmatik.dk-telefon.dk-dikey #hedef-cerceve .gosterge { width: 100%; }
body.dokunmatik.dk-telefon.dk-dikey #dk-ust { top: calc(var(--ust) + 148px); right: calc(var(--sag) + 8px); flex-direction: row; }
body.dokunmatik.dk-telefon.dk-dikey #dk-binek { top: calc(var(--ust) + 148px); right: calc(var(--sag) + 104px); }
body.dokunmatik.dk-telefon.dk-dikey #sohbet { left: calc(var(--sol) + 6px); top: calc(var(--ust) + 250px); bottom: auto; width: min(230px, 58vw); }
body.dokunmatik.dk-telefon.dk-dikey #gorev-takip { max-height: 112px; }
/* dikey telefonda açık sohbet: üstte ortada, tam genişlik (yukarıdaki şerit kuralının konumunu ezer) */
body.dokunmatik.dk-telefon.dk-dikey.dk-sohbet-acik #sohbet { left: 50%; transform: translateX(-50%); top: calc(var(--ust) + 54px); bottom: auto; width: calc(100vw - var(--sol) - var(--sag) - 12px); }

/* ---------- sanal kol ---------- */
body.dokunmatik #dk-kol { display: block; position: fixed; left: 0; top: 0; z-index: 5; width: 0; height: 0; pointer-events: none; opacity: 0; transition: opacity 0.12s; }
body.dokunmatik #dk-kol.acik { opacity: 1; }
#dk-kol .dk-kol-taban { position: absolute; left: -58px; top: -58px; width: 116px; height: 116px; border-radius: 50%;
  background: radial-gradient(circle, rgba(20, 14, 9, 0.18) 55%, rgba(20, 14, 9, 0.45) 70%, rgba(243, 220, 164, 0.4) 72%, rgba(20, 14, 9, 0) 76%); }
#dk-kol .dk-kol-tepe { position: absolute; left: 0; top: 0; width: 54px; height: 54px; border-radius: 50%; transform: translate(-50%, -50%);
  background: radial-gradient(circle at 40% 35%, #fbe8b8, #b48a4c 55%, #4a3014 100%); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.7), inset 0 0 0 1px #0f0904; }
body.dokunmatik #dk-kol-yer { display: flex; position: fixed; z-index: 4; left: calc(var(--sol) + 22px); bottom: calc(var(--alt) + 22px); flex-direction: column; align-items: center; gap: 6px; pointer-events: none; opacity: 0.85; }
#dk-kol-yer i { width: 92px; height: 92px; border-radius: 50%; border: 2px dashed rgba(243, 220, 164, 0.55); background: rgba(20, 14, 9, 0.22); }
#dk-kol-yer span { font: 800 12px var(--yazi); color: #f3dca4; text-shadow: 0 1px 2px #000, 0 0 4px #000; }
body.dokunmatik.dk-kol-kullanildi #dk-kol-yer { display: none; }

/* ---------- menü (☰): menü düğmeleri açılır kutu olur, akçe başında ---------- */
body.dokunmatik .ac-menu { display: none; }
body.dokunmatik.dk-menu-acik .ac-menu {
  position: fixed; z-index: 31; top: calc(var(--ust) + 54px); right: calc(var(--sag) + 8px); display: flex; flex-direction: column; align-items: stretch; gap: 8px;
  width: min(340px, calc(100vw - var(--sol) - var(--sag) - 16px)); max-height: calc(var(--yh) - var(--ust) - var(--alt) - 62px); overflow-y: auto; padding: 10px;
  border-radius: 8px; background: rgba(22, 15, 10, 0.95); box-shadow: inset 0 0 0 1px rgba(207, 168, 101, 0.6), 0 10px 28px rgba(0, 0, 0, 0.7);
}
body.dokunmatik.dk-menu-acik .altin-gosterge { justify-content: center; font-size: 16px; }
body.dokunmatik.dk-dikey.dk-menu-acik .ac-menu { top: auto; bottom: calc(var(--alt) + 8px); max-height: calc(var(--yh) - var(--ust) - var(--alt) - 210px); }
body.dokunmatik.dk-menu-acik #menu-dugmeleri { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: auto; gap: 6px; }
body.dokunmatik.dk-menu-acik #menu-dugmeleri button { width: auto; height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 0 2px 5px; }
body.dokunmatik.dk-menu-acik #menu-dugmeleri .simge { inset: 5px 50% auto; width: 32px; height: 32px; transform: translateX(-50%); }
body.dokunmatik.dk-menu-acik #menu-dugmeleri .dk-etiket { display: block; position: relative; font: 800 11px/1.1 var(--yazi); color: #f3dca4; text-align: center; text-shadow: 0 1px 2px #000; white-space: nowrap; overflow: hidden; max-width: 100%; text-overflow: ellipsis; }
body.dokunmatik.dk-menu-acik #menu-dugmeleri .dk-yalniz { display: flex; }
body.dokunmatik.dk-menu-acik #yurda-dugme .cd-yazi { font-size: 15px; }
.dk-tam { font-style: normal; color: #f3dca4; }
.dk-tam svg { width: 100%; height: 100%; display: block; }

/* ---------- pencereler: ekrana sığan sayfa ---------- */
body.dokunmatik #hud .pencere {
  position: fixed; left: 50%; top: calc(var(--ust) + 6px); right: auto; bottom: auto; transform: translateX(-50%); z-index: 20;
  width: min(var(--pg, 560px), calc(100vw - var(--sol) - var(--sag) - 12px)); min-width: 0; max-width: none;
  max-height: calc(var(--yh) - var(--ust) - var(--alt) - 12px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
body.dokunmatik #hud .pencere header button { width: 36px; height: 36px; font-size: 22px; line-height: 32px; }
body.dokunmatik #hud .pencere h3 { font-size: 16.5px; }
body.dokunmatik #hud .pencere h3::before, body.dokunmatik #hud .pencere h3::after { width: 24px; }
body.dokunmatik #p-heybe { --pg: 290px; }
body.dokunmatik #p-dukkan, body.dokunmatik #p-demirci, body.dokunmatik #p-depo { --pg: 420px; }
body.dokunmatik #p-takas, body.dokunmatik #p-tezgahkur, body.dokunmatik #p-tezgah { --pg: 520px; }
body.dokunmatik #p-market { --pg: 640px; }
body.dokunmatik #p-beceriler { --pg: 720px; }
body.dokunmatik #p-harita { --pg: 900px; }
body.dokunmatik #p-pazar, body.dokunmatik #p-ayarlar, body.dokunmatik #p-gorevler, body.dokunmatik #p-siralama, body.dokunmatik #p-oneri, body.dokunmatik #p-sikayet, body.dokunmatik #p-diyalog { --pg: 480px; }
/* heybe: kendi ölçeğini ve köşesini bırakır */
body.dokunmatik #hud #p-heybe { transform: translateX(-50%); max-height: calc(var(--yh) - var(--ust) - var(--alt) - 12px); }
/* heybe başka bir pencereyle (tüccar, demirci, depo, takas, tezgâh) açıksa: yatayda heybe sağda, öbürü solda */
body.dokunmatik.dk-heybe-yanli #hud #p-heybe { left: auto; right: calc(var(--sag) + 6px); transform: none; width: min(290px, 44vw); }
body.dokunmatik.dk-heybe-yanli #hud .pencere:not(#p-heybe):not(.gizli) { left: calc(var(--sol) + 6px); transform: none; width: min(var(--pg, 560px), calc(100vw - var(--sol) - var(--sag) - min(290px, 44vw) - 18px)); }
/* dikeyde üst üste: öbürü üst yarıda, heybe alt yarıda */
body.dokunmatik.dk-telefon.dk-dikey.dk-heybe-yanli #hud .pencere:not(#p-heybe):not(.gizli) { left: 50%; transform: translateX(-50%); width: calc(100vw - var(--sol) - var(--sag) - 12px); max-height: calc(var(--yh) * 0.5 - var(--ust) - 9px); }
body.dokunmatik.dk-telefon.dk-dikey.dk-heybe-yanli #hud #p-heybe { left: 50%; right: auto; top: auto; bottom: calc(var(--alt) + 6px); transform: translateX(-50%); width: calc(100vw - var(--sol) - var(--sag) - 12px); max-height: calc(var(--yh) * 0.5 - var(--alt) - 9px); }
/* dikeyde heybe alt yarıdaysa eşya ızgarası hemen görünsün: özellik tablosu gizlenir, kuşam alanı kısalır */
body.dokunmatik.dk-telefon.dk-dikey.dk-heybe-yanli #heybe-istatistik { display: none; }
body.dokunmatik.dk-telefon.dk-dikey.dk-heybe-yanli .kusam-alan { height: 112px; }
body.dokunmatik.dk-telefon.dk-dikey.dk-heybe-yanli #heybe-govde-resim { height: 108px; }
body.dokunmatik.dk-telefon.dk-dikey.dk-heybe-yanli .kusam-yer.zirh, body.dokunmatik.dk-telefon.dk-dikey.dk-heybe-yanli .kusam-yer.silah { top: 8px; }
/* başlığı sabit, içi kayan pencereler: uzun liste pencerenin içinde kayar, × hep görünür */
body.dokunmatik #hud #p-dukkan, body.dokunmatik #hud #p-beceriler, body.dokunmatik #hud #p-tezgah { display: flex; flex-direction: column; overflow: hidden; }
body.dokunmatik #p-dukkan > *, body.dokunmatik #p-beceriler > *, body.dokunmatik #p-tezgah > * { flex: none; }
body.dokunmatik #p-dukkan > #dukkan-liste, body.dokunmatik #p-beceriler > #beceriler-ic, body.dokunmatik #p-tezgah > #tz-mallar { flex: 1 1 auto; min-height: 0; max-height: none; overflow-y: auto; overscroll-behavior: contain; }
/* tüccarın satış alanı (2026-11-09, sürükle-bırakın dokunmatikteki karşılığı): heybede seçili eşya buraya dokununca satılır */
body.dokunmatik #dukkan-sat { display: flex; align-items: center; gap: 8px; align-self: stretch; min-height: 44px; margin: 8px 10px 0; padding: 6px 10px; border-radius: 4px; text-align: left;
  font: 700 13px/1.3 var(--yazi); color: var(--soluk); background: rgba(0, 0, 0, 0.32); border: 1px dashed rgba(207, 168, 101, 0.55); cursor: pointer; }
body.dokunmatik #dukkan-sat.hazir { color: #fff0d0; border: 1px solid #ffd36b; background: rgba(90, 60, 20, 0.5); box-shadow: 0 0 10px rgba(255, 210, 110, 0.3); }
body.dokunmatik #dukkan-sat.ret { color: #ffb47a; border-color: rgba(224, 100, 74, 0.6); }
body.dokunmatik #dukkan-sat img { width: 30px; height: 30px; flex: none; }
body.dokunmatik #dukkan-sat i { flex: none; font-style: normal; font-size: 18px; color: #ffd36b; }
body.dokunmatik #dukkan-sat small { display: block; margin-top: 1px; font: 400 11.5px/1.2 var(--yazi); color: rgba(255, 240, 208, 0.72); }
/* beceri kartları dar pencerede taşmasın: sütun sayısı genişliğe göre */
body.dokunmatik .bc-temel { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
body.dokunmatik .bc-cift { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
/* Beceriler penceresinde "Yuvaların yeri": dokunarak yer değiştirme */
body.dokunmatik .dk-cubuk-sira { display: grid; grid-template-columns: repeat(auto-fill, minmax(42px, 46px)); gap: 6px; margin: 4px 0 6px; }
body.dokunmatik .dk-cubuk-sira .yuva { position: relative; width: 100%; height: auto; aspect-ratio: 1; padding: 0; border: 0; cursor: pointer; }
body.dokunmatik .dk-cubuk-sira .yuva img { left: 0; top: 0; width: 100%; height: 100%; display: block; }
body.dokunmatik .dk-cubuk-sira .yuva small { position: absolute; left: 3px; top: 1px; font: 800 11px var(--yazi); color: #fff1cf; text-shadow: 0 1px 2px #000, 0 0 3px #000; }
/* pencere açıkken altta kalan düğmeler pencerenin önüne geçmesin */
body.dokunmatik.dk-pencere-acik #dk-eylem, body.dokunmatik.dk-pencere-acik #beceri-cubugu .yuva, body.dokunmatik.dk-pencere-acik #dk-kol-yer { visibility: hidden; }
/* heybe ızgarası ve yuvalar parmağa göre */
body.dokunmatik #heybe-izgara { grid-template-columns: repeat(5, minmax(0, 46px)); }
body.dokunmatik #heybe-izgara .yuva { width: 100%; height: auto; aspect-ratio: 1; }
body.dokunmatik .heybe-sayfalar button { min-height: 40px; padding: 8px 12px; }
body.dokunmatik .heybe-sayfalar { flex-wrap: wrap; row-gap: 4px; }
body.dokunmatik .heybe-bp { min-height: 38px; padding: 4px 10px 4px 6px; }
body.dokunmatik .detay-dugmeler .dugme { padding: 8px 12px; font-size: 13.5px; }
body.dokunmatik .dugme.kucuk { min-height: 40px; padding: 7px 12px; }

/* pencerelerdeki küçük düğmeler parmağa göre (en az 40 piksel): market sekmeleri ve adet, Ayarlar seçenekleri ve
   kaydıraçları, beceri seçimi */
/* yan boşluk 10 px: VİP sekmesiyle sekiz sekme yatay telefonda (844x390) yine tek satıra sığar */
body.dokunmatik .nm-sekmeler { gap: 5px; }
body.dokunmatik .nm-sekmeler button { min-height: 40px; padding: 8px 10px; font-size: 13.5px; }
body.dokunmatik .nm-adet { gap: 4px; }
body.dokunmatik .nm-adet button { width: 40px; height: 40px; font-size: 20px; line-height: 36px; }
body.dokunmatik .secenekler { flex-wrap: wrap; gap: 6px; }
body.dokunmatik .secenekler button { min-height: 40px; padding: 8px 12px; font-size: 13.5px; }
body.dokunmatik .kaydirac input[type=range] { width: min(170px, 42vw); height: 40px; }
body.dokunmatik .bc-kart .dugme { min-height: 40px; padding: 8px 12px; font-size: 13.5px; }
body.dokunmatik .emek a { display: inline-block; padding: 8px 0; margin: -8px 0; }
body.dokunmatik .detay-dugmeler .dugme { min-height: 40px; }
body.dokunmatik .detay-dugmeler { gap: 7px; }
body.dokunmatik .detay-adet input { min-height: 40px; width: 64px; }
body.dokunmatik .tz-al input { min-height: 40px; width: 64px; }
body.dokunmatik .tk-mal { grid-template-columns: 44px minmax(0, 1fr) 112px 40px; }
body.dokunmatik .tk-cikar { width: 40px; height: 40px; font-size: 18px; line-height: 36px; }
body.dokunmatik .sikayet-sebepler button { min-height: 40px; }
/* pencerenin × düğmesi: görünüş aynı, dokunma alanı büyük */
body.dokunmatik #hud .pencere header button::after { content: ''; position: absolute; inset: -6px -2px -6px -6px; }

/* ---------- pencere içleri ---------- */
/* bütünü kayan pencerelerde başlık (×) üstte, ana eylem düğmeleri altta sabit; içerik aralarında kayar */
body.dokunmatik #hud .pencere > header { position: sticky; top: 0; z-index: 6;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.1)), var(--ahsap) center / 256px repeat, #1b130d; }
body.dokunmatik :is(.takas-dugmeler, .tk-dugmeler, .sikayet-dugmeler, #diyalog-dugmeler, #tz-alt) {
  position: sticky; bottom: 0; z-index: 6; padding-top: 6px; padding-bottom: 6px; background: #1b130d; box-shadow: 0 -6px 10px rgba(0, 0, 0, 0.5); }
body.dokunmatik #yukselt-dugme { position: sticky; bottom: 6px; z-index: 6; }
/* heybe: seçilen eşyanın ayrıntısı ve düğmeleri altta sabit (ızgaranın üstündeki eşyada aşağı kaydırmak gerekmesin);
   düğmeler başta, özellikler altında kayar */
body.dokunmatik #heybe-detay { position: sticky; bottom: 0; z-index: 6; display: flex; flex-direction: column; max-height: min(calc(var(--yh) * 0.32), 170px); overflow-y: auto;
  overscroll-behavior: contain; background: linear-gradient(180deg, #2a1d12, #1b130d); box-shadow: 0 -8px 14px rgba(0, 0, 0, 0.65), inset 0 0 0 1px rgba(207, 168, 101, 0.35); }
body.dokunmatik #heybe-detay .detay-dugmeler { order: -1; margin-bottom: 6px; }
/* yatay telefonda heybe kısa: karakter görüntüsü yerine yalnız zırh ve silah yuvaları, ayrıntı kutusu alçak; seçilen göz
   ayrıntının altında kalmasın diye kaydırma payı (arayuz.js seçince görünür alana kaydırır) */
body.dokunmatik.dk-telefon:not(.dk-dikey) .kusam-alan { height: 66px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #heybe-govde-resim { display: none; }
body.dokunmatik.dk-telefon:not(.dk-dikey) .kusam-yer.zirh, body.dokunmatik.dk-telefon:not(.dk-dikey) .kusam-yer.silah { top: 3px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) .kusam-yer .yuva { width: 44px; height: 44px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #heybe-detay { max-height: 92px; }
body.dokunmatik #hud #p-heybe { scroll-padding-bottom: 100px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #hud #p-heybe { scroll-padding-bottom: 96px; }
/* bir şey seçili değilken (yalnız anlatım yazısı) yapışmaz: ızgaranın altını boşuna kapatmasın */
body.dokunmatik #heybe-detay:has(> p.soluk) { position: static; max-height: none; box-shadow: inset 0 0 0 1px rgba(207, 168, 101, 0.25); background: rgba(0, 0, 0, 0.32); }
/* bir eşya seçiliyken boş gözler hafif parlar: dokununca eşya oraya taşınır */
body.dokunmatik #heybe-izgara:has(.yuva.secili) .yuva.bos { box-shadow: inset 0 0 0 1px rgba(255, 210, 110, 0.55); filter: brightness(1.25); }
/* takas: iki taraf dar ekrana sığar, dikey telefonda alt alta */
body.dokunmatik .takas-govde { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
body.dokunmatik .takas-izgara { grid-template-columns: repeat(4, minmax(0, 44px)); }
body.dokunmatik .takas-izgara .yuva { width: 100%; height: auto; aspect-ratio: 1; }
body.dokunmatik.dk-telefon.dk-dikey .takas-govde { grid-template-columns: minmax(0, 1fr); }
body.dokunmatik.dk-telefon.dk-dikey .takas-ok { justify-self: center; transform: rotate(90deg); }
/* tezgâh kurma: pencerenin bütünü kayar (masaüstündeki küçülen liste telefonda tek satıra iniyordu) */
body.dokunmatik #hud #p-tezgahkur { display: block; }
body.dokunmatik #p-tezgahkur .tk-govde { display: block; }
body.dokunmatik #p-tezgahkur #tk-mallar { max-height: none; min-height: 0; overflow: visible; }
/* sıralama: iki tablo alt alta (yan yana taşıyordu) */
body.dokunmatik #siralama-ic { flex-direction: column; gap: 10px; }
body.dokunmatik .sir-kolon { flex: none; }
/* büyük harita: pencere tuvalin genişliği kadar */
body.dokunmatik #hud #p-harita { width: auto; }
/* dikey telefonda uzun pencere başlığı × düğmesinin altına girmesin */
body.dokunmatik.dk-telefon.dk-dikey #hud .pencere h3 { display: block; min-width: 0; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
body.dokunmatik.dk-telefon.dk-dikey #hud .pencere h3::before, body.dokunmatik.dk-telefon.dk-dikey #hud .pencere h3::after { display: none; }
/* yalnız dokunmatikte / yalnız masaüstünde görünen yazı parçaları (ör. "tıkla" / "dokun") */
.dk-metin { display: none; }
body.dokunmatik .dk-metin { display: inline; }
body.dokunmatik .masa-metin { display: none; }

/* ---------- küçük kutular ---------- */
body.dokunmatik #ipucu { max-width: min(320px, calc(100vw - 16px)); }
/* takas ve grup daveti: üst ortada, yatayda biraz solda (sağ alttaki düğme kümesinin üstüne binmesin, savaşta iksir
   içilebilsin), dikeyde sağdaki düğme sütununun solunda; ikisi birden gelirse alt alta */
body.dokunmatik #takas-istek, body.dokunmatik #grup-davet { top: calc(var(--ust) + 60px); left: calc(50% - 50px); width: min(280px, calc(100vw - var(--sol) - var(--sag) - 16px)); padding: 4px 12px 8px; z-index: 32; }
body.dokunmatik #takas-istek p, body.dokunmatik #grup-davet p { margin: 2px 0 6px; }
body.dokunmatik #takas-istek p br, body.dokunmatik #grup-davet p br { display: none; }
body.dokunmatik #takas-istek:not(.gizli) ~ #grup-davet { top: calc(var(--ust) + 176px); }
body.dokunmatik.dk-telefon.dk-dikey #takas-istek, body.dokunmatik.dk-telefon.dk-dikey #grup-davet { left: calc(50% - 26px); width: min(270px, calc(100vw - 120px)); }
body.dokunmatik #yurda-cubuk { bottom: auto; top: 38%; }
/* yardım: ortada; yatayda iki sütun, "Anladım" hep görünür (kutu kayarken altta yapışık) */
body.dokunmatik #yardim-kutu { left: 50%; top: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); width: min(460px, calc(100vw - 16px)); max-height: calc(var(--yh) - var(--ust) - var(--alt) - 16px); overflow-y: auto; z-index: 40; }
body.dokunmatik:not(.dk-dikey) #yardim-kutu { width: min(720px, calc(100vw - var(--sol) - var(--sag) - 16px)); }
body.dokunmatik:not(.dk-dikey) #yardim-kutu .dk-yardim { columns: 2; column-gap: 26px; }
body.dokunmatik #yardim-kutu .dk-yardim li { break-inside: avoid; }
body.dokunmatik #yardim-kutu .klavye-yardim { display: none; }
body.dokunmatik #yardim-kutu .dk-yardim { display: block; }
body.dokunmatik #yardim-kapat { position: sticky; bottom: 0; width: 100%; min-height: 44px; }
body.dokunmatik #olum .olum-kutu, body.dokunmatik #olum > .panel { max-width: calc(100vw - 16px); }
/* ölüm ekranı açık menü ve sohbetin de üstünde */
body.dokunmatik #olum { z-index: 35; }
/* grup çerçevesinin küçük düğmeleri (Ayrıl, üyeyi çıkar): görünüş aynı, dokunma alanı büyük */
body.dokunmatik .grup-baslik button { min-height: 32px; padding: 4px 12px; font-size: 12.5px; }
body.dokunmatik .gu-ust button { position: relative; }
body.dokunmatik .gu-ust button::after { content: ''; position: absolute; inset: -6px; }
body.dokunmatik .grup-uye { padding: 3px 0; }
/* grup çerçevesi kolun alanında: boş yerleri ve satırlar dokunuşu kola bırakır; yalnız ad (hedef al), × ve başlık
   düğmeleri dokunulur. Telefonda mana çubuğu ve küçük yazılar gizli, çerçeve ekrandan taşmaz */
body.dokunmatik #grup-cerceve { pointer-events: none; max-height: calc((var(--yh) - var(--ust) - var(--alt) - 140px) / 0.9); overflow: hidden; }
body.dokunmatik .grup-uye { pointer-events: none; }
body.dokunmatik .grup-uye .gu-ust b, body.dokunmatik .grup-uye .gu-ust button, body.dokunmatik .grup-baslik button { pointer-events: auto; }
/* ganimet dağıtımı (2026-11-09): liderin Sırayla / Serbest düğmeleri dokunulur, dokunma alanı büyük */
body.dokunmatik #grup-ganimet { font-size: 11.5px; }
body.dokunmatik .gg-sec button { pointer-events: auto; min-height: 30px; padding: 3px 7px; font-size: 11.5px; }
/* yatay telefonda (inceleme: Ganimet satırı çerçeveden 2-3 üye satırını dışarı itiyordu) seçim başlıkta tek düğme
   (#grup-kip, liderde dokununca öbür kipe geçer), "Grup" sözcüğü ona yer açar: üye satırları eski yerleşimdeki gibi */
body.dokunmatik.dk-telefon:not(.dk-dikey) #grup-ganimet, body.dokunmatik.dk-telefon:not(.dk-dikey) .grup-baslik .gs-ad { display: none; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #grup-kip { display: block; padding: 2px 7px; font-size: 11.5px; line-height: 13px; }
/* düğmenin üstünde küçük "Ganimet" (telefonda ipucu yok: ne seçtiği yazsın), yükseklik Ayrıl'la aynı kalır */
body.dokunmatik.dk-telefon:not(.dk-dikey) #grup-kip small { display: block; font-size: 8.5px; line-height: 10px; font-weight: 700; opacity: 0.75; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #grup-kip:not(.gizli) ~ #grup-ayril { margin-left: 0; padding: 4px 9px; }
body.dokunmatik.dk-telefon .gu-mana, body.dokunmatik.dk-telefon .gu-ust small { display: none; }
body.dokunmatik.dk-telefon.dk-dikey.dk-grupta:not(.dk-sohbet-acik) #sohbet { display: none; }
/* dikeyde altta yalnız kolun işareti kadar pay (çerçeve dokunuşu kola bırakır): kısa ekranda da 7 üye sığar */
body.dokunmatik.dk-telefon.dk-dikey #grup-cerceve { max-height: calc((var(--yh) - var(--ust) - var(--alt) - 128px - 150px) / 0.9); }
/* dikey telefonda zindandayken grup çerçevesi zindan levhasının altına iner (levha grup başlığını ve ilk üyeleri örtüyordu) */
body.dokunmatik.dk-telefon.dk-dikey.zindanda #grup-cerceve { top: calc(var(--ust) + 246px); max-height: calc((var(--yh) - var(--ust) - var(--alt) - 246px - 150px) / 0.9); }
/* grupta kolun yeri grup çerçevesinin sağına */
body.dokunmatik.dk-grupta:not(.dk-dikey) #dk-kol-yer { left: calc(var(--sol) + 176px); }

/* dokunmatik ekranda dokunulan öğe "üstüne gelinmiş" (parlak) kalmasın */
@media (hover: none) {
  body.dokunmatik .dugme:hover:not(:disabled) { filter: none; box-shadow: inset 0 0 0 1px rgba(207, 168, 101, 0.75), inset 0 2px 0 rgba(255, 236, 196, 0.18), inset 0 -3px 6px rgba(0, 0, 0, 0.45), 0 2px 4px rgba(0, 0, 0, 0.6); }
  body.dokunmatik #menu-dugmeleri button:hover { filter: none; box-shadow: inset 0 0 0 1px rgba(200, 160, 95, 0.9), inset 0 2px 0 rgba(255, 236, 196, 0.18), inset 0 -4px 6px rgba(0, 0, 0, 0.55), 0 2px 3px rgba(0, 0, 0, 0.65); }
  body.dokunmatik .yuva:hover:not(.bos), body.dokunmatik .heybe-sayfalar button:hover, body.dokunmatik .nm-sekmeler button:hover, body.dokunmatik .pencere header button:hover,
  body.dokunmatik #sohbet-sekmeler button:hover, body.dokunmatik .hedef-sikayet:hover, body.dokunmatik .heybe-bp:hover, body.dokunmatik .grup-baslik button:hover, body.dokunmatik .gg-sec button:hover { filter: none; }
}
/* hızlı dokunuşla basılan düğme (js/dokunmatik.js "basili"): tarayıcının :active'i dokunuş yakalanınca gelmez */
body.dokunmatik .dk-dugme.basili { filter: brightness(1.35); transform: scale(0.95); }
body.dokunmatik #beceri-cubugu .yuva.basili { filter: brightness(1.35); }

/* ---------- giriş, kayıt, yol seçimi: kısa ekranda kayar ---------- */
body.dokunmatik .ekran { overflow-y: auto; -webkit-overflow-scrolling: touch; }
/* yatay telefonda giriş iki sütun: solda logo, Bozkurt Saati, çevrimiçi sayısı ve bağlantılar; sağda form (sığmazsa kayar) */
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 370px); grid-template-rows: 1fr auto auto auto 1fr; column-gap: 18px; align-items: center;
  padding: calc(var(--ust) + 8px) calc(var(--sag) + 16px) calc(var(--alt) + 8px) calc(var(--sol) + 16px);
}
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .logo { grid-column: 1; grid-row: 2; margin: 0; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .logo .runik { font-size: 18px; margin-bottom: 2px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .logo h1 { font-size: clamp(36px, 6.6vw, 60px); }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .logo .alt-baslik { margin-top: 6px; font-size: 16px; gap: 10px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .logo .alt-baslik::before, body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .logo .alt-baslik::after { width: 46px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .logo .slogan { display: block; margin-top: 4px; font-size: 11.5px; }
/* ortalanır ama ekrandan uzunsa üstten başlar (kesilmez, aşağı kayar) */
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .giris-panel { grid-column: 2; grid-row: 1 / -1; align-self: start; width: 100%; max-width: none; margin: auto 0; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .bozkurt-levha { grid-column: 1; grid-row: 3; justify-self: center; position: relative; left: auto; bottom: auto; width: min(320px, 100%); margin-top: 10px; align-items: center; text-align: center; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .giris-alt { grid-column: 1; grid-row: 4; justify-self: center; margin: 0; padding: 8px 0 0; font-size: 13px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .giris-linkler { grid-column: 1; grid-row: 5; align-self: end; justify-self: center; position: relative; right: auto; bottom: auto; flex-wrap: wrap; justify-content: center; gap: 0 12px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .giris-panel .sekmeler { margin-bottom: 8px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .giris-panel label { margin-bottom: 6px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .giris-panel input { padding: 7px 10px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .google-alan { margin-top: 7px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .ayrac { margin-bottom: 6px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris .giris-panel .not { margin-top: 6px; }
/* iPhone ana ekran uygulamasında (çentik, ada) dikey giriş ekranı güvenli alanda */
body.dokunmatik.dk-dikey #giris { padding: var(--ust) var(--sag) 0 var(--sol); }
body.dokunmatik .ivme-perde { padding: max(16px, var(--ust)) max(16px, var(--sag)) max(16px, var(--alt)) max(16px, var(--sol)); }
/* dikey telefonda bağlantılar en altta ortada, alt alta binmez */
body.dokunmatik.dk-dikey .giris-linkler { position: relative; right: auto; bottom: auto; flex-wrap: wrap; justify-content: center; gap: 0 12px; padding-bottom: calc(var(--alt) + 6px); }
body.dokunmatik.dk-dikey .giris-alt { padding-bottom: 4px; }
/* giriş ekranındaki küçük bağlantılar parmakla rahat tutulsun (yerleşim değişmeden dokunma alanı büyür) */
body.dokunmatik .giris-linkler a { padding: 11px 4px; }
body.dokunmatik .giris-panel .not a { display: inline-block; padding: 10px 6px; margin: -10px -6px; }
body.dokunmatik .giris-panel input, body.dokunmatik #s-yigit { min-height: 42px; }
body.dokunmatik #sinif-sec { justify-content: flex-start; padding-top: calc(var(--ust) + 10px); }
body.dokunmatik #sinif-sec h2 { position: static; margin: 8px 0 10px; font-size: 26px; }
body.dokunmatik #sinif-kartlar { flex-wrap: wrap; justify-content: center; gap: 10px; }
body.dokunmatik .sinif-kart { width: min(300px, calc(100vw - 24px)); }
/* telefonda yol seçme: yatayda üç kart yan yana ve kısa, dikeyde alt alta; alt satır (Geri, ad, Destanı başlat) ekrana
   sığar, ad kutusu kendi satırında */
body.dokunmatik.dk-telefon #sinif-sec { padding: calc(var(--ust) + 6px) calc(var(--sag) + 8px) calc(var(--alt) + 12px) calc(var(--sol) + 8px); }
body.dokunmatik.dk-telefon #sinif-sec h2 { margin: 2px 0 6px; font-size: 22px; }
body.dokunmatik.dk-telefon .sinif-kart { padding: 2px 8px 10px 10px; border-width: 10px; }
body.dokunmatik.dk-telefon .sinif-kart img { width: 40px; height: 40px; margin-right: 8px; }
body.dokunmatik.dk-telefon .sk-ad { font-size: 20px; }
body.dokunmatik.dk-telefon .sk-unvan { font-size: 12.5px; }
body.dokunmatik.dk-telefon .sinif-kart p { margin: 6px 0 4px; min-height: 0; font-size: 12.5px; line-height: 1.35; }
body.dokunmatik.dk-telefon .sk-puan div { margin-top: 1px; font-size: 11.5px; }
body.dokunmatik.dk-telefon .sinif-kart.secili, body.dokunmatik.dk-telefon .sinif-kart:hover { transform: none; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #sinif-kartlar { flex-wrap: nowrap; gap: 6px; width: 100%; justify-content: center; }
body.dokunmatik.dk-telefon:not(.dk-dikey) .sinif-kart { width: auto; flex: 1 1 0; min-width: 0; max-width: 300px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) .sinif-kart p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.dokunmatik.dk-telefon .sinif-alt { flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 8px; margin-top: 10px; width: 100%; max-width: 640px; }
body.dokunmatik.dk-telefon .sinif-alt .dugme { padding: 10px 18px; font-size: 16px; min-height: 44px; }
body.dokunmatik.dk-telefon .sinif-alt .yigit-ad { flex: 1 1 200px; min-width: 0; }
body.dokunmatik.dk-telefon #s-yigit { width: 100%; }
body.dokunmatik.dk-telefon.dk-dikey .sinif-alt .yigit-ad { flex-basis: 100%; order: -1; }
body.dokunmatik.dk-telefon.dk-dikey .sinif-alt .dugme { flex: 1 1 0; }

/* heybe ve depo ayrıntısında eşyanın özellikleri (fareyle üstüne gelince çıkan ipucunun içeriği) */
body.dokunmatik .detay-ipucu { margin-bottom: 8px; font-size: 13px; line-height: 1.4; }
body.dokunmatik .detay-ipucu .ip-ad { font-size: 14.5px; }
body.dokunmatik #depo-bilgi .detay-dugmeler { margin-top: 2px; }
body.dokunmatik #depo-bilgi:has(.detay-dugmeler) { position: sticky; bottom: 0; z-index: 6; display: flex; flex-direction: column; max-height: min(calc(var(--yh) * 0.32), 170px); overflow-y: auto;
  padding: 7px 9px; background: linear-gradient(180deg, #2a1d12, #1b130d); box-shadow: 0 -8px 14px rgba(0, 0, 0, 0.65), inset 0 0 0 1px rgba(207, 168, 101, 0.35); }
body.dokunmatik #depo-bilgi .detay-dugmeler { order: -1; margin: 0 0 6px; }

/* büyük harita: kare tuval ekrana sığar */
body.dokunmatik #dunya-harita { --hb: min(640px, calc(var(--yh) - var(--ust) - var(--alt) - 96px), calc(100vw - var(--sol) - var(--sag) - 48px));
  width: var(--hb); height: var(--hb); margin: 8px auto 0; }

/* duyurular, büyük yazılar, ölüm penceresi: küçük ekrana göre */
/* duyurular ekran boyunca ortalı (dar sütunda kırılmasın); dokunuşu yutmaz */
body.dokunmatik #bildirimler { top: calc(var(--ust) + 64px); left: calc(var(--sol) + 8px); right: calc(var(--sag) + 8px); transform: none; pointer-events: none; z-index: 26; transition: top 0.3s ease; }
body.dokunmatik.dk-telefon.dk-dikey #bildirimler { top: calc(var(--ust) + 132px); }
body.dokunmatik .bildirim { max-width: min(560px, calc(100vw - 24px)); font-size: 13px; padding: 4px 12px; }
body.dokunmatik #orta-mesaj, body.dokunmatik #bolge-ilan { z-index: 26; }
/* üstteki kısa duyuru (2026-11-09, arayuz.js ustDuyuru): yatayda hedef çerçevesinin ve yiğit hedefteyken altındaki
   düğmelerin altında; solda can / mana ve Nesne Market düğmesi, sağda etkinlik, Kızıl Ova ve zindan levhaları arasında
   ortalı. Dikey telefonda üstteki düğme ve levha kümesinin ve sohbet şeridinin altında, ekran boyunca. Bir öğeye değerse
   (kalabalık grup çerçevesi) altına iner. Görünürken bildirimler yatayda altına kayar */
body.dokunmatik #ust-duyuru { top: calc(var(--ust) + 112px); left: calc(var(--sol) + 236px); right: calc(var(--sag) + 262px); max-width: 520px; padding: 5px 22px 6px; font-size: 13.5px; }
body.dokunmatik.dk-telefon.dk-dikey #ust-duyuru { top: calc(var(--ust) + 318px); left: calc(var(--sol) + 8px); right: calc(var(--sag) + 8px); }
body.dokunmatik.ust-duyuru-acik:not(.dk-telefon.dk-dikey) #bildirimler { top: var(--ust-duyuru-alt, calc(var(--ust) + 160px)); }
/* seviye, görev, takas büyük yazısı da yatayda yazının altına iner (iki yazı üst üste okunmuyordu) */
body.dokunmatik #orta-mesaj { transition: top 0.3s ease; }
body.dokunmatik.ust-duyuru-acik:not(.dk-telefon.dk-dikey) #orta-mesaj { top: max(24%, var(--ust-duyuru-alt, 24%)); }
/* harita geçiş perdesinin başlığı dar ekrana sığar (dikeyde 514 px'lik başlık iki yandan taşıyordu) */
body.dokunmatik #gecis-perde b { font-size: clamp(24px, 7vmin, 40px); letter-spacing: 0.08em; gap: 10px; max-width: calc(100vw - var(--sol) - var(--sag) - 24px); text-align: center; }
body.dokunmatik #gecis-perde b::before, body.dokunmatik #gecis-perde b::after { width: clamp(24px, 8vmin, 64px); }
body.dokunmatik:has(#takas-istek:not(.gizli), #grup-davet:not(.gizli)) #bildirimler { top: calc(var(--ust) + 290px); }
body.dokunmatik #orta-mesaj b { font-size: clamp(26px, 7vmin, 44px); }
body.dokunmatik #orta-mesaj span { font-size: 14px; }
body.dokunmatik #bolge-ilan b { font-size: clamp(20px, 6vmin, 34px); gap: 10px; }
body.dokunmatik #bolge-ilan b::before, body.dokunmatik #bolge-ilan b::after { width: 54px; }
body.dokunmatik #bolge-ilan span { font-size: 13px; }
body.dokunmatik .olum-kutu { min-width: 0; width: min(400px, calc(100vw - var(--sol) - var(--sag) - 16px)); max-height: calc(var(--yh) - 16px); overflow-y: auto; padding: 8px 16px 12px; }
body.dokunmatik .olum-kutu h2 { font-size: 26px; }
body.dokunmatik .olum-dugmeler .dugme { min-width: 0; flex: 1 1 0; min-height: 44px; }

/* ---------- tablet (kısa kenarı 500 pikselden uzun): telefon kadar küçültülmez ---------- */
body.dokunmatik:not(.dk-telefon) #ben-cerceve { transform: scale(0.85); }
body.dokunmatik:not(.dk-telefon) .ac-sol { top: calc(var(--ust) + 106px); }
body.dokunmatik:not(.dk-telefon) .ac-gostergeler { width: 220px; }
body.dokunmatik:not(.dk-telefon) #gorev-takip, body.dokunmatik:not(.dk-telefon) #grup-cerceve { top: calc(var(--ust) + 168px); }
body.dokunmatik:not(.dk-telefon) .minimap-cerceve { transform: scale(0.75); margin: 0 0 -63px -63px; }
body.dokunmatik:not(.dk-telefon) #dk-ust { right: calc(var(--sag) + 198px); }
body.dokunmatik:not(.dk-telefon) #dk-binek { right: calc(var(--sag) + 296px); }
body.dokunmatik:not(.dk-telefon) #etkinlik-rozet, body.dokunmatik:not(.dk-telefon) #ova-rozet, body.dokunmatik:not(.dk-telefon) #zindan-cubuk { right: calc(var(--sag) + 198px); }
/* dikey tablet: sohbet, menü ve binek küçük haritanın altında sütun, hedef ad levhasıyla harita arasında */
body.dokunmatik.dk-dikey:not(.dk-telefon) #dk-ust { top: calc(var(--ust) + 216px); right: calc(var(--sag) + 10px); flex-direction: column; }
body.dokunmatik.dk-dikey:not(.dk-telefon) #dk-binek { top: calc(var(--ust) + 312px); right: calc(var(--sag) + 10px); }
body.dokunmatik.dk-dikey:not(.dk-telefon) #hedef-cerceve { left: calc(var(--sol) + 264px + (100vw - var(--sol) - var(--sag) - 264px - 196px) / 2); width: min(300px, calc(100vw - 470px)); }
body.dokunmatik.dk-dikey:not(.dk-telefon) #etkinlik-rozet, body.dokunmatik.dk-dikey:not(.dk-telefon) #ova-rozet, body.dokunmatik.dk-dikey:not(.dk-telefon) #zindan-cubuk { top: calc(var(--ust) + 362px); right: calc(var(--sag) + 10px); }
body.dokunmatik.dk-dikey:not(.dk-telefon) #etkinlik-rozet:not(.gizli) ~ #ova-rozet { top: calc(var(--ust) + 404px); }

/* ---------- kısa yatay ekran (adres çubuğu açık telefon, ~300-340 piksel): küçük harita küçülür, görev takibi
   gizlenir (Görevler penceresinde var); beceri yayı haritanın altına sığar ---------- */
@media (max-height: 340px) {
  body.dokunmatik:not(.dk-dikey) .minimap-cerceve { transform: scale(0.4); margin: 0 0 -151px -151px; }
  body.dokunmatik:not(.dk-dikey) .bolge-levha { display: none; }
  body.dokunmatik:not(.dk-dikey) #dk-ust { right: calc(var(--sag) + 112px); }
  body.dokunmatik:not(.dk-dikey) #dk-binek { right: calc(var(--sag) + 208px); }
  body.dokunmatik:not(.dk-dikey) #etkinlik-rozet, body.dokunmatik:not(.dk-dikey) #ova-rozet, body.dokunmatik:not(.dk-dikey) #zindan-cubuk { right: calc(var(--sag) + 112px); transform: scale(0.75); }
  body.dokunmatik:not(.dk-dikey) #etkinlik-rozet:not(.gizli) ~ #ova-rozet { top: calc(var(--ust) + 90px); }
  body.dokunmatik:not(.dk-dikey) #gorev-takip { display: none; }
}

/* telefonda dünyadaki yazılar biraz küçük: alan becerisinde art arda çıkan hasar sayıları görüşü kapatmasın */
body.dokunmatik.dk-telefon .sayi { font-size: 17px; }
body.dokunmatik.dk-telefon .sayi.kritik { font-size: 24px; }
body.dokunmatik.dk-telefon .sayi.diger, body.dokunmatik.dk-telefon .sayi.xp { font-size: 13px; }
body.dokunmatik.dk-telefon .etiket { font-size: 12.5px; }
body.dokunmatik.dk-telefon .etiket small, body.dokunmatik.dk-telefon .etiket .ad i { font-size: 10.5px; }

/* küçük dokunmatik ekranda masaüstü düzeni açıkken: "Dokunmatik düzen" dönüş düğmesi (js/dokunmatik.js kacisDenetle) */
#dk-kacis { position: fixed; z-index: 60; top: 8px; left: 50%; transform: translateX(-50%); min-height: 44px; padding: 8px 18px; font-size: 15px; }

/* "İsimler: Üstüne gelince" dokunmatikte anlamsız (fare yok): isimler hep görünür, Ayarlar'da o satır gizlenir */
body.dokunmatik.isim-fare .etiket.oyuncu:not(.uzerinde):not(.hedefte), body.dokunmatik.isim-fare .etiket.yaratik:not(.uzerinde):not(.hedefte):not(.patron) { visibility: visible; }
body.dokunmatik .ayar-satir:has(> [data-ayar="isim"]) { display: none; }

/* Safari: uzun basınca yazı seçilmez (yazı kutuları hariç; yoksa iPhone'da yazılamaz), çift dokunuş yakınlaştırmaz,
   aşağı çekince sayfa yenilenmez */
body.dokunmatik { -webkit-user-select: none; user-select: none; touch-action: manipulation; }
body.dokunmatik input, body.dokunmatik textarea, body.dokunmatik [contenteditable], body.dokunmatik .nm-yukleme { -webkit-user-select: text; user-select: text; }
html.dokunmatik { overscroll-behavior: none; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* ---------- klavye açıkken: body.dk-klavye (dokunmatik.js klavyeDenetle) ----------
   Android'de sayfa küçülür (yatay telefonda ~100 piksel kalır), iPhone'da görünen alan. Sınıf yalnız görünen yükseklik
   değişince konur / kalkar; odağa bağlanmaz: düğmeye dokununca odak yazı kutusundan çıkıyor, yerleşim parmak kalkmadan
   kayıyor ve dokunuş boşa (ya da perdeye) gidiyordu */
/* yatay telefonda sohbet en üste çıkar, sekmeler gizlenir: yazı kutusu klavyenin altında kalmasın */
body.dokunmatik.dk-klavye.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet { top: calc(var(--ust) + 6px); }
body.dokunmatik.dk-klavye.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet-sekmeler { display: none; }
body.dokunmatik.dk-klavye.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet-giris { padding-right: 48px; }
/* Özel sekmesinde Kime satırı klavye açıkken de görünür (yazılanın kime gittiği), × ve emoji düğmesinin altında kalmaz */
body.dokunmatik.dk-klavye.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet-kime { padding-right: 48px; }
body.dokunmatik.emoji-acik.dk-klavye.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet-kime { padding-right: 96px; }
/* pencerelerde yapışkan başlık ve alt düğmeler akışa döner: daralan pencerede kayan alan yazı kutusuna kalır (başlık
   konumlu kalır: × onun içinde durur) */
body.dokunmatik.dk-klavye #hud .pencere > header { position: relative; box-shadow: none; }
body.dokunmatik.dk-klavye #hud .pencere :is(.takas-dugmeler, .tk-dugmeler, .sikayet-dugmeler, #diyalog-dugmeler, #yukselt-dugme, #heybe-detay, #depo-bilgi) {
  position: static; max-height: none; box-shadow: none; }
/* tezgâhta kayan liste yerinde kalır, alt çubuk gizlenir: liste daralan pencereyi doldurur (kaydırma kabı değişince
   liste başa sarıyordu) */
body.dokunmatik.dk-klavye #hud #p-tezgah > #tz-alt { display: none; }

/* ---------- oyun içi soru kutusu (tarayıcının onay / sayı penceresi yerine; arayuz.js sor, sorSayi) ---------- */
body.dokunmatik #dk-soru { z-index: 60; }
body.dokunmatik #dk-soru .ivme-kutu { width: min(420px, 100%); max-height: 100%; overflow-y: auto; padding: 14px 16px 12px; }
body.dokunmatik #dk-soru p { margin: 0 0 12px; font-size: 15px; line-height: 1.45; }
body.dokunmatik #dk-soru .ivme-alt { gap: 10px; }
body.dokunmatik #dk-soru .ivme-alt .dugme { min-height: 44px; min-width: 104px; }
body.dokunmatik .dk-soru-sayi { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 12px; }
body.dokunmatik .dk-soru-sayi .dugme { min-width: 48px; min-height: 44px; padding: 0 12px; font-size: 22px; line-height: 1; }
body.dokunmatik #dk-soru .dk-soru-sayi input { width: 96px; min-height: 44px; padding: 4px 6px; text-align: center; font-size: 18px; }
/* klavye açıkken kutu üstte ve sıkışık: yatay telefonda klavye ~100 piksel bırakır (kutu sığmayınca Tamam çerçevenin
   altında kalıyordu); sayı ve düğmeler tek satır, yatay telefonda soru yazısı gizli */
body.dokunmatik.dk-klavye #dk-soru { place-items: start center; padding-top: max(4px, var(--ust)); padding-bottom: 4px; }
body.dokunmatik.dk-klavye #dk-soru .ivme-kutu { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 10px; width: min(560px, 100%); padding: 2px 8px; }
body.dokunmatik.dk-klavye #dk-soru .ivme-kutu > p { flex-basis: 100%; margin: 0; }
body.dokunmatik.dk-klavye #dk-soru :is(.dk-soru-sayi, .ivme-alt) { margin: 0; }
body.dokunmatik.dk-klavye.dk-telefon:not(.dk-dikey) #dk-soru p { display: none; }

/* dikey telefonda zindan levhası kolun alanına biniyor: dokunuşu yutmasın, yalnız "Zindandan çık" dokunulur (yatayda ve
   tablette levha sağ üstte, dokunuşu yutar: dünyaya geçip yürütmesin) */
body.dokunmatik.dk-telefon.dk-dikey #sag-ust > #zindan-cubuk { pointer-events: none; }
body.dokunmatik.dk-telefon.dk-dikey #zc-cik { pointer-events: auto; }
/* dikey telefonda hedef çerçevesi soldaki göstergelerin üstünde: yiğit hedefinin düğmeleri (takas, gruba çağır, şikâyet)
   onların altında kalıyordu (pencereler yine üstte) */
body.dokunmatik.dk-telefon.dk-dikey #hedef-cerceve { z-index: 4; }

/* ================= uygulama tadı (2026-11-07): yalnız dokunmatikte; masaüstü değişmez ================= */
/* Ayarlar'da "Tam ekran" ve "Titreşim" satırları yalnız destekleyen dokunmatik cihazda (js/dokunmatik.js html sınıfı) ve
   dokunmatik düzende (ikisi de yalnız orada çalışır; dokunmatik ekranlı dizüstünün masaüstü düzeninde görünmez) */
html:not(.dk-tamekran-var) .dk-tamekran-ayar, html:not(.dk-titresim-var) .dk-titresim-ayar,
body:not(.dokunmatik) :is(.dk-tamekran-ayar, .dk-titresim-ayar) { display: none; }
/* anında basılı görünüm (sınıfı index.html'deki açılış betiği koyar): parmak değer değmez (Chrome'un :active'i parmak
   kalkınca ya da ~100-150 ms sonra geliyordu; menü düğmeleri ve Ayarlar seçeneklerinde hiç yoktu). translate / scale ayrı
   özellikler: düğmenin kendi transform'u bozulmaz */
body.dokunmatik .dk-basili:not(:disabled) { filter: brightness(1.28); translate: 0 1px; transition: none; }
body.dokunmatik .sinif-kart.dk-basili { filter: brightness(1.12); translate: none; scale: 0.985; }
body.dokunmatik #menu-dugmeleri button.dk-basili { box-shadow: inset 0 0 0 2px #e8c27a, inset 0 2px 8px rgba(0, 0, 0, 0.6); }
/* hızlı düğmelerin "basili" sınıfı ☰, sohbet, hedef ×, takas / grup / şikâyet, Zindandan çık ve davet düğmelerinde
   görünmüyordu (kural yalnız .dk-dugme ve yuvalarda vardı) */
body.dokunmatik :is(.dk-ust-dugme, #dk-hedef-birak, .hedef-sikayet, #zc-cik, .ti-dugmeler button, #dk-sohbet-kapat).basili { filter: brightness(1.3); scale: 0.94; }
/* ekranlar arası geçiş: yol seçimi belirerek gelir; giriş ekranı açılışta ilk boyamada hazırdır (belirmez), yol seçiminden
   dönünce belirir (dk-gecisli: js/arayuz.js showScreen). Oyuna girerken dünya karanlıktan açılır (girişteki kamera
   sıçraması ve ilk karelerin gölgelendirici derlemesi görünmez). #hud kendi katmanı (z-index 3): ::before yalnız dünyayı
   ve 3B adları örter, arayüz hemen görünür */
@keyframes dk-belir { from { opacity: 0; } }
@keyframes dk-perde { from { opacity: 1; } to { opacity: 0; visibility: hidden; } }
body.dokunmatik.dk-gecisli #giris:not(.gizli), body.dokunmatik #sinif-sec:not(.gizli) { animation: dk-belir 0.22s ease-out; }
body.dokunmatik #hud:not(.gizli)::before { content: ''; position: fixed; inset: 0; z-index: -1; background: #0d0a08; pointer-events: none; animation: dk-perde 0.5s ease-out 0.08s both; }
@media (prefers-reduced-motion: reduce) { body.dokunmatik #giris, body.dokunmatik #sinif-sec, body.dokunmatik #hud::before, #dk-ios-ipucu, #g-yukle { animation-duration: 1ms !important; } }
/* giriş, kayıt, şifre yenileme ve "Destanı başlat": sunucu cevabına kadar düğmede dönen işaret (yalnız soluk düğme vardı).
   Oyun hazırlanırken düğmedeki "Yiğitler hazırlanıyor… n/13" yazısı (hazirlaniyor) görünür kalır */
@keyframes dk-don { to { rotate: 360deg; } }
body.dokunmatik :is(#g-gir, #k-tamam, #y-tamam, #s-tamam):disabled:not(.hazirlaniyor) { position: relative; color: transparent; text-shadow: none; opacity: 0.92; filter: none; }
body.dokunmatik :is(#g-gir, #k-tamam, #y-tamam, #s-tamam):disabled:not(.hazirlaniyor)::after { content: ''; position: absolute; left: calc(50% - 11px); top: calc(50% - 11px); width: 22px; height: 22px; box-sizing: border-box;
  border-radius: 50%; border: 3px solid rgba(255, 242, 220, 0.3); border-top-color: #fff2dc; animation: dk-don 0.7s linear infinite; }
/* giriş ekranında "Uygulamayı yükle" (Android): yeri ilk boyamada ayrılır (index.html; kurulabilen tarayıcıda), tarayıcı
   izin verince görünür; giriş ekranı kaymaz. Yatay telefonda sol sütunun boş üst satırında, öbür düzenlerde "Bozkır seni
   bekliyor" yazısının altında */
#g-yukle { display: none; }
body.dokunmatik #g-yukle { display: block; margin: 8px auto 0; min-height: 40px; visibility: hidden; }
html.dk-yukle-hazir body.dokunmatik #g-yukle { visibility: visible; animation: dk-belir 0.22s ease-out; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris #g-yukle { grid-column: 1; grid-row: 1; align-self: start; justify-self: center; margin: 0; }
body.dokunmatik:not(.dk-telefon):not(.dk-dikey) #giris #g-yukle { margin: -12px auto 18px; }
/* iPhone: "Ana Ekrana Ekle" kartı (bir kez; "Anladım"). Sabit konumlu: giriş formunu itmez; yatay telefonda giriş ekranının
   sol sütununda (formun üstüne binmez) */
#dk-ios-ipucu { position: fixed; z-index: 45; left: max(10px, env(safe-area-inset-left)); right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom));
  margin: 0 auto; max-width: 440px; padding: 10px 14px 12px; font-size: 14px; line-height: 1.45; text-align: center; animation: dk-belir 0.3s ease-out; }
#dk-ios-ipucu > b:first-child { display: block; margin-bottom: 4px; font-size: 16px; color: #f3dca4; }
#dk-ios-ipucu p { margin: 0 0 10px; }
#dk-ios-ipucu .dugme { min-width: 140px; min-height: 42px; }
body.dokunmatik.dk-telefon:not(.dk-dikey) #giris #dk-ios-ipucu { left: calc(var(--sol) + 16px); right: auto; width: min(440px, calc(100vw - var(--sol) - var(--sag) - 420px)); margin: 0; }
/* dikey telefonda giriş ekranının üstünde (logonun ve sekmelerin üstüne biner): altta küçük iPhone'da (375x553) "Bozkıra
   gir"i, 390x664'te Google düğmesini ve "Kayıt ol" bağlantısını örtüyordu */
body.dokunmatik.dk-telefon.dk-dikey #giris #dk-ios-ipucu { top: max(10px, env(safe-area-inset-top)); bottom: auto; }

/* ---------- VİP (2026-11-08): emoji düğmesi açık sohbetin üst sırasında ×'in solunda, seçici yazı kutusunun altında (açılınca
   klavye kapanır, seçici görünür); Işınlanma Yüzüğü penceresi öbür pencereler gibi ---------- */
body.dokunmatik.emoji-acik #emoji-dugme { display: none; }
body.dokunmatik.emoji-acik.dk-sohbet-acik #emoji-dugme { display: block; top: -4px; right: 50px; bottom: auto; width: 40px; height: 40px; border-radius: 50%; font-size: 21px; line-height: 38px; }
body.dokunmatik.emoji-acik.dk-sohbet-acik #sohbet-sekmeler { margin-right: 96px; }
body.dokunmatik.emoji-acik.dk-klavye.dk-telefon.dk-sohbet-acik:not(.dk-dikey) #sohbet-giris { padding-right: 96px; }
body.dokunmatik:not(.dk-sohbet-acik) #emoji-kutu { display: none !important; }
body.dokunmatik.emoji-acik #emoji-kutu:not(.gizli) { top: 84px; bottom: auto; right: 0; z-index: 31; grid-template-columns: repeat(8, 40px); }
body.dokunmatik #emoji-kutu button { width: 40px; height: 40px; font-size: 22px; line-height: 38px; }
body.dokunmatik #p-yuzuk { --pg: 480px; }
/* dikey telefonda ad levhası gizli, hedef çerçevesi madalyonun hemen sağından başlar: VİP simgesi etkiler satırında yer
   tutmaz (muska ve beceri simgeleri hedef çerçevesinin altına itilmesin), madalyonun sol üst köşesinde rozet gibi durur
   (seviye rozetinin karşılığı; .ben-bilgi madalyonun 86 px sağında, 20 px aşağısında başlar); dar: VİP üstte, kalan gün altta */
body.dokunmatik.dk-telefon.dk-dikey .vip-cip { position: absolute; z-index: 3; left: -90px; top: -24px; flex-direction: column; justify-content: center; gap: 2px; height: 34px; padding: 2px 3px; }
body.dokunmatik.dk-telefon.dk-dikey .vip-cip .vu { display: none; }
body.dokunmatik.dk-telefon.dk-dikey .vip-cip .vk { display: block; font-size: 11px; line-height: 1; }
