/* Archirew web - tkinter katmaninin DOM stilleri. Konum/boyut Python'dan gelir
 * (Tk yerlesimi); burasi yalnizca gorunum. Modern bilesenler arw-ui.css'te. */
.tk-kok { position: absolute; inset: 0; overflow: hidden; background: #0d0d12; color: #f0f0f5;
  font: 12px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif; }
[data-tk] { box-sizing: border-box; }
.tk-kok [data-tk], .tk-pencere [data-tk] { position: absolute; }
.tk-kutu { overflow: hidden; }
.arw-kart-tk { border-radius: 16px; }

/* --- pencereler (Toplevel) --- */
.tk-pencere { position: absolute; background: #111118; border-radius: 16px; overflow: hidden; color: #f0f0f5;
  box-shadow: 0 0 0 1px rgba(255,255,255,.07), 0 30px 70px -20px rgba(0,0,0,.9), 0 8px 24px rgba(0,0,0,.45);
  font: 12px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif; }
.tk-baslik { display: flex; align-items: center; height: 38px; padding: 0 8px 0 16px; background: #15151d;
  border-bottom: 1px solid #22222e; cursor: move; user-select: none; }
.tk-baslik .ad { flex: 1; font: 600 12.5px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif; color: #d8d8e4; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
.tk-baslik .kapat { width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; color: #9999b0;
  font-size: 13px; cursor: pointer; }
.tk-baslik .kapat:hover { background: rgba(255,77,109,.16); color: #ff4d6d; }
.tk-govde { position: relative; }
.tk-pencere.cercevesiz { border-radius: 12px; }
.tk-kilit { position: fixed; inset: 0; background: rgba(5,5,9,.45); backdrop-filter: blur(2px); }

/* --- yazi --- */
.tk-etiket { display: flex; overflow: hidden; line-height: 1.33; }
.tk-etiket .y { white-space: pre; flex: none; }
.tk-etiket[data-bil="left"] { gap: 4px; } .tk-etiket[data-bil="top"] { flex-direction: column; gap: 2px; }
.tk-etiket[data-bil="right"] { flex-direction: row-reverse; gap: 4px; }
.tk-etiket[data-bil="none"] .tk-resim + .y { display: none; }
.tk-etiket[data-kenar="solid"], .tk-etiket[data-kenar="groove"], .tk-etiket[data-kenar="ridge"] { border: 1px solid #2a2a38; }
.tk-duz { cursor: pointer; }
.tk-resim { display: block; flex: none; }

/* --- dugme (ttk.Button -> arw-btn) --- */
.tk-dugme.arw-btn { min-height: 0; padding: 0 14px; overflow: hidden; gap: 8px; }
.tk-dugme .y { white-space: pre; overflow: hidden; text-overflow: ellipsis; }
/* plan CAD seridi (kullanici 2026-10-02: "biraz daha profesyonel kucuk yap autocad gibi") */
.tk-dugme.arac { padding: 0 8px; border-radius: 4px; font-size: 11px; font-weight: 500; gap: 4px;
  background: #2a313b; box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); color: #dfe5ec; }
.tk-dugme.arac:hover { background: #343d49; box-shadow: inset 0 0 0 1px rgba(255,138,66,.6); }
.tk-dugme.arac.ikon { padding: 0 6px; justify-content: center; font-size: 15px; font-weight: 400; color: #ffb36b;
  font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", "Segoe UI Emoji", system-ui, sans-serif; }
.tk-dugme.arac.ikon:hover { color: #fff; }
.tk-dugme.arac.serit-buyuk { border-radius: 6px; padding: 4px 6px 3px; font-size: 11px; background: transparent;
  box-shadow: none; }
.tk-dugme.arac.serit-kucuk { border-radius: 4px; padding: 0 8px 0 5px; font-size: 11px; justify-content: flex-start;
  background: transparent; box-shadow: none; }
.tk-dugme.arac.serit-buyuk:hover, .tk-dugme.arac.serit-kucuk:hover { background: #343d49;
  box-shadow: inset 0 0 0 1px rgba(255,138,66,.55); }
.tk-dugme.sekme { background: transparent; box-shadow: none; color: #9999b0; }
.tk-dugme.sekme:hover { color: #f0f0f5; background: rgba(255,255,255,.05); }
.tk-dugme.sekme.secili, .tk-dugme.secili { background: var(--arw-g-birincil); color: #fff;
  box-shadow: 0 6px 16px -8px rgba(255,100,80,.8), inset 0 1px 0 rgba(255,255,255,.25); }

/* --- giris --- */
.tk-giris.arw-alan { min-height: 0; }
.tk-giris.arw-alan input { height: 100%; padding: 0 14px; }
.tk-giris.kapali { opacity: .55; }

/* --- acilir liste --- */
.tk-secim .arw-secim { position: absolute; inset: 0; min-height: 0; padding: 0 26px 0 0; }
.tk-secim-inp { width: 100%; height: 100%; border: 0; outline: 0; background: transparent; color: inherit;
  font: inherit; padding: 0 0 0 12px; cursor: text; text-overflow: ellipsis; }
.tk-secim.salt .tk-secim-inp { cursor: pointer; pointer-events: none; }
.tk-secim.kapali { opacity: .55; pointer-events: none; }

/* --- onay / secim --- */
.tk-anahtar { display: flex; align-items: center; gap: 10px; cursor: pointer; overflow: hidden; }
.tk-anahtar i { position: relative; flex: none; width: 34px; height: 20px; border-radius: 999px; background: #1f1f2b;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.6), 0 0 0 1px #2a2a38; transition: background .18s; }
.tk-anahtar i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 14px; height: 14px; border-radius: 50%;
  background: #c8c8d8; transition: transform .18s ease, background .18s; }
.tk-anahtar.secili i { background: var(--arw-g-birincil); box-shadow: 0 4px 12px -4px rgba(255,100,80,.6); }
.tk-anahtar.secili i::after { transform: translateX(14px); background: #fff; }
.tk-anahtar.radyo i { width: 18px; height: 18px; }
.tk-anahtar.radyo i::after { left: 5px; top: 5px; width: 8px; height: 8px; background: transparent; }
.tk-anahtar.radyo.secili i::after { transform: none; background: #fff; }
.tk-anahtar .y { white-space: pre; overflow: hidden; text-overflow: ellipsis; }
.tk-anahtar.kapali { opacity: .5; cursor: default; }

/* --- tuval --- */
.tk-tuval { overflow: hidden; }
.tk-tuval canvas { position: absolute; left: 0; top: 0; }
.tk-tuval-ic { position: absolute; left: 0; top: 0; width: 0; height: 0; }

/* --- tablo --- */
.tk-tablo { overflow: auto; }
.arw-tablo.tk { table-layout: fixed; border-spacing: 0 3px; margin-top: -3px; }
.arw-tablo.tk thead th { position: sticky; top: 0; z-index: 1; background: #0d0d12; height: 29px; padding: 0 12px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: default; }
.arw-tablo.tk td { height: calc(var(--satir, 33px) - 3px); padding: 0 12px; white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; }
.arw-tablo.tk td.sag, .arw-tablo.tk th.sag { text-align: right; font-variant-numeric: tabular-nums; }
.arw-tablo.tk td.orta, .arw-tablo.tk th.orta { text-align: center; }
.arw-tablo.tk tr { color: inherit; }
.arw-tablo .girinti { display: inline-block; }
.arw-tablo .ac-ok { display: inline-block; width: 16px; cursor: pointer; }
.arw-tablo .ac-ok::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 6px 2px 2px;
  border: solid #9999b0; border-width: 0 1.5px 1.5px 0; transform: rotate(-45deg); transition: transform .15s; }
.arw-tablo .ac-ok.acik::before { transform: rotate(45deg); }

/* --- sekmeler (Notebook) --- */
.tk-sekmeler { overflow: hidden; }
.tk-sekme-bas { position: absolute; left: 0; right: 0; top: 0; min-height: 38px; flex-wrap: nowrap; overflow-x: auto;
  scrollbar-width: none; }
.tk-sekme-ic { position: absolute; inset: 0; }

/* --- metin (gunluk) / liste --- */
.tk-metin { overflow: auto; border-radius: 12px; }
.tk-metin pre { margin: 0; white-space: pre; user-select: text; -webkit-user-select: text; cursor: text; }
.tk-liste { overflow: auto; border-radius: 12px; background: #15151d; padding: 4px; }
.tk-liste .satir { padding: 4px 10px; border-radius: 8px; white-space: pre; cursor: pointer; }
.tk-liste .satir:hover { background: rgba(255,255,255,.05); }
.tk-liste .satir.secili { background: rgba(255,120,80,.2); color: #fff; }

/* --- kaydirma / olcek / ilerleme / ayrac --- */
.tk-kaydirma { background: transparent; }
.tk-kaydirma i { position: absolute; border-radius: 99px; background: #2c2c3e; transition: background .15s; }
.tk-kaydirma:hover i { background: #3d3d55; }
.tk-olcek { display: flex; align-items: center; }
.tk-olcek input { width: 100%; accent-color: #ff8a42; }
.tk-olcek[data-yon="v"] input { writing-mode: vertical-lr; direction: rtl; width: auto; height: 100%; }
.tk-ilerleme { border-radius: 99px; background: #1f1f2b; overflow: hidden; }
.tk-ilerleme i { display: block; height: 100%; width: 0; border-radius: 99px; background: var(--arw-g-birincil); transition: width .25s; }
.tk-ilerleme.donuyor i { width: 35% !important; animation: tk-don 1.1s ease-in-out infinite; }
@keyframes tk-don { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
.tk-ayrac { background: #22222e; }

/* --- baslikli cerceve (LabelFrame) --- */
.tk-baslikli > .arw-baslik { position: absolute; left: 0; right: 0; top: 0; margin: 4px 0 0; }

/* --- sag tik menusu --- */
.arw-menu .ayir { height: 1px; margin: 5px 8px; background: #2a2a38; }
.arw-menu .oge.pasif { opacity: .45; cursor: default; }
.arw-menu .oge .kisa { margin-left: auto; padding-left: 24px; color: #6b6b82; font-size: 11.5px; }

/* --- mesaj / soru penceresi --- */
.tk-mesaj-ort { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(5,5,9,.55); backdrop-filter: blur(3px); animation: tk-bel .15s ease; }
@keyframes tk-bel { from { opacity: 0; } to { opacity: 1; } }
.tk-mesaj { display: grid; grid-template-columns: auto 1fr; gap: 14px 16px; width: min(380px, calc(100vw - 32px));
  padding: 22px 22px 18px; border-radius: 20px; background: #15151d; color: #f0f0f5;
  box-shadow: 0 0 0 1px rgba(255,255,255,.07), 0 30px 70px -20px rgba(0,0,0,.9);
  font: 13px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif; animation: arw-ac .16s ease; }
.tk-mesaj .ikon { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(255,138,66,.12); color: #ff8a42; }
.tk-mesaj .ikon.error { background: rgba(255,77,109,.13); color: #ff4d6d; }
.tk-mesaj .ikon.warning { background: rgba(227,179,65,.13); color: #e3b341; }
.tk-mesaj .ikon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tk-mesaj .govde b { display: block; margin: 2px 0 6px; font-size: 14px; font-weight: 600; }
.tk-mesaj .govde .m { color: #b9b9cc; line-height: 1.5; white-space: pre-wrap; word-break: break-word; max-height: 50vh; overflow: auto; }
.tk-mesaj .govde .not { margin-bottom: 8px; color: #9999b0; font-size: 12px; }
/* kompakt kart: dugmeler tam genislik (kullanici: "Tamam'in solu bombos, gereksiz buyuk kutu") */
.tk-mesaj .dugmeler { grid-column: 1 / -1; display: flex; gap: 10px; margin-top: 4px; }
.tk-mesaj .dugmeler > * { flex: 1; }

/* --- bildirim --- */
.tk-bildirim { position: fixed; left: 50%; bottom: 24px; z-index: 100000; transform: translate(-50%, 20px); opacity: 0;
  padding: 10px 18px; border-radius: 999px; background: rgba(24,24,33,.96); color: #f0f0f5;
  box-shadow: 0 0 0 1px rgba(255,138,66,.35), 0 12px 30px -10px rgba(0,0,0,.8);
  font: 600 12.5px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif; transition: opacity .25s, transform .25s; pointer-events: none; }
.tk-bildirim.gor { opacity: 1; transform: translate(-50%, 0); }

/* --- surukle-birak --- */
.tk-birak { position: fixed; inset: 12px; z-index: 100000; display: flex; align-items: center; justify-content: center;
  border: 2px dashed #ff8a42; border-radius: 24px; background: rgba(13,13,18,.72); color: #ff8a42;
  font: 700 22px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif; pointer-events: none; }

/* --- acilis animasyonu (16:9 oldugu gibi, ust / alt siyah bant) --- */
#acilis { position: fixed; inset: 0; z-index: 200000; background: #0d0d12; transition: opacity .45s ease; }
/* tam ekran DEGIL: ortada pencere (kullanici: "full ekran yapmana gerek yok") */
#acilis video { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%);
  width: min(880px, 82vw, calc(72vh * 16 / 9)); aspect-ratio: 16 / 9; height: auto; object-fit: cover;
  border-radius: 14px; box-shadow: 0 18px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06);
  background: #000; opacity: 0; transition: opacity .35s ease; }
#acilis video.gor { opacity: 1; }
#acilis.oynuyor .acilis-alt { opacity: 0; transition: opacity .3s ease; }
#acilis.bitti { opacity: 0; pointer-events: none; }
#acilis .acilis-alt { position: absolute; left: 50%; bottom: 7vh; width: min(320px, 60vw); transform: translateX(-50%);
  text-align: center; font: 12px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif; color: rgba(255,255,255,.75); }
#acilis .acilis-cubuk { height: 3px; border-radius: 3px; background: rgba(255,255,255,.14); overflow: hidden; }
#acilis .acilis-cubuk i { display: block; height: 100%; width: 0; border-radius: 3px; background: var(--arw-g-birincil, #ff8a42);
  transition: width .4s ease; }
#acilis .acilis-durum { margin-top: 10px; min-height: 1em; text-shadow: 0 1px 3px rgba(0,0,0,.8); }

/* --- program calisirken (Python mesgul) --- */
.tk-mesgul { position: fixed; top: 12px; left: 50%; z-index: 100001; transform: translateX(-50%); display: flex; align-items: center;
  gap: 10px; padding: 8px 16px 8px 12px; border-radius: 999px; background: rgba(24,24,33,.95); color: #f0f0f5;
  box-shadow: 0 0 0 1px rgba(255,138,66,.35), 0 12px 30px -10px rgba(0,0,0,.8); font: 600 12px "Segoe UI", "Microsoft YaHei", "Yu Gothic UI", "Malgun Gothic", "Nirmala UI", "Segoe UI", "Noto Sans CJK SC", "Noto Sans Arabic", "Noto Sans Devanagari", system-ui, sans-serif;
  animation: tk-bel .2s ease; pointer-events: none; }
.tk-mesgul i { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255,138,66,.25); border-top-color: #ff8a42;
  animation: tk-dondur .8s linear infinite; }
@keyframes tk-dondur { to { transform: rotate(360deg); } }

/* --- 3B (WebGL) --- */
.tk-webgl { overflow: hidden; background: #0d0d12; }
.tk-webgl canvas { position: absolute; left: 0; top: 0; }

/* --- liste satiri karti (katmanlar ekrani vb.) --- */
.arw-satir-tk { border-radius: 14px; background: #14141c; box-shadow: 0 0 0 1px #1d1d28; transition: background .12s, box-shadow .12s; }
.arw-satir-tk:hover { background: #191923; box-shadow: 0 0 0 1px #2a2a38; }

/* --- sayi kutusu (Spinbox): sayi ortada, kesilmesin --- */
.tk-giris.sayi input { text-align: center; padding: 0 2px; }
.tk-giris.sayi .adim { width: 22px; height: 22px; margin: 0 4px; }

/* --- web yamasiyla modernlesen program parcalari (data-ek) --- */
[data-ek~="cip"] { border-radius: 999px; background: #1f1f2b !important; color: #d8d8e4 !important;
  font-weight: 600 !important; cursor: pointer; transition: background .15s, color .15s; }
[data-ek~="cip"]:hover { background: #2a2a3a !important; color: #fff !important; }
[data-ek~="cip"][data-ek~="secili"], [data-ek~="cip"][data-ek~="vurgu"] { background: var(--arw-g-birincil) !important; color: #fff !important;
  box-shadow: 0 6px 16px -8px rgba(255,100,80,.8), inset 0 1px 0 rgba(255,255,255,.25); }
[data-ek~="cip"][data-ek~="grup"] { background: transparent !important; color: #9999b0 !important; }
[data-ek~="cip"][data-ek~="grup"]:hover { color: #fff !important; background: rgba(255,255,255,.05) !important; }
/* segmentli secici: secili dilim kutunun 2 px icinde, golgesiz (kenara dayanip halka ile
   "ic ice gecmis buton" gibi gorunuyordu) */
[data-ek~="cip"][data-ek~="grup"][data-ek~="secili"] { background: var(--arw-g-birincil) !important; color: #fff !important;
  box-shadow: inset 0 0 0 2px #1a1a24 !important; }
.tk-kutu:has(> [data-ek~="grup"]) { border-radius: 999px; background: #1a1a24 !important; box-shadow: none; overflow: hidden; }
/* program kartlari (tk.Frame + highlight): koseler yuvarlak */
[data-ek~="kart"] { border-radius: 12px; }
/* resim ustte + yazi altta (compound='top'; Lumion tarzi kutuphane / secici dugmeleri) */
.tk-dugme[data-bil="top"] { flex-direction: column; gap: 3px; border-radius: 10px; height: auto; padding: 5px 4px 6px; }
.tk-dugme[data-bil="top"] .y { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.tk-dugme[data-bil="bottom"] { flex-direction: column-reverse; gap: 3px; border-radius: 10px; height: auto; }
/* MENULER PENCERELERIN USTUNDE (hata 2026-10-01: "Yol / Bina'ya tiklayinca bir sey acilmiyor"): pencere z-index'i
   her tiklamada artiyor (zUst++), ~900 tiklamadan sonra 1000'lik menu ana pencerenin ARKASINDA kaliyordu */
.arw-menu { z-index: 150000 !important; }

/* yazilabilir metin kutusu (Text._tk_duzenle) */
.tk-metin-ta { width: 100%; height: 100%; box-sizing: border-box; background: transparent; color: inherit;
  font: inherit; border: none; outline: none; resize: none; padding: 0; margin: 0; white-space: pre-wrap; }

/* goz hizasi kamerasi (3D) */
.tk-goz-ui { position: absolute; right: 10px; top: 10px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; z-index: 5; pointer-events: none; }
.tk-goz-btn { pointer-events: auto; background: rgba(20,20,26,.85); color: #f2f2f7; border: 1px solid #3a3a44; border-radius: 8px; padding: 6px 12px; font: 600 12px 'Segoe UI', sans-serif; cursor: pointer; }
.tk-goz-btn.acik { background: #ff7a3d; border-color: #ff7a3d; color: #fff; }
.tk-goz-yardim { background: rgba(20,20,26,.8); color: #c9c9d3; border-radius: 6px; padding: 4px 8px; font: 11px 'Segoe UI', sans-serif; }

.tk-goz-satir { display: flex; gap: 6px; align-items: center; }
.tk-goz-adam { pointer-events: auto; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 20px; background: #f6c343; border-radius: 8px; cursor: grab; user-select: none; box-shadow: 0 2px 6px rgba(0,0,0,.4); }
.tk-goz-hayalet { position: fixed; z-index: 200000; font-size: 28px; pointer-events: none; filter: drop-shadow(0 3px 4px rgba(0,0,0,.5)); }

.tk-goz-btn.ikon { width: 34px; height: 34px; padding: 0; display: flex; align-items: center; justify-content: center; }
.tk-goz-adam { background: rgba(20,20,26,.85) !important; border: 1px solid #3a3a44; width: 34px !important; height: 34px !important; }
.tk-goz-adam:hover, .tk-goz-btn.ikon:hover { border-color: #ff7a3d; }

/* --- cizen kiz (2026-10-04): calisiyor gostergesi + acilis bekleme --- */
.tk-mesgul.tk-mesgul-kiz { top: 50%; left: 50%; transform: translate(-50%, -50%); flex-direction: column; gap: 6px;
  padding: 0; background: none; box-shadow: none; animation: tk-kiz-gel .25s ease; }
.tk-mesgul-kiz video.kiz { width: 301px; height: 190px; max-width: 70vw; display: block;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.55)); }
.tk-mesgul-kiz span { padding: 6px 14px; border-radius: 999px; background: rgba(24,24,33,.92);
  box-shadow: 0 0 0 1px rgba(255,138,66,.35), 0 10px 24px -10px rgba(0,0,0,.8); }
@keyframes tk-kiz-gel { from { opacity: 0; transform: translate(-50%, -46%); } to { opacity: 1; transform: translate(-50%, -50%); } }
#acilis video.acilis-kiz { position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%); width: auto;
  height: min(46vh, 340px); max-width: 80vw; opacity: 1; aspect-ratio: auto; object-fit: contain;
  background: transparent; border-radius: 0; box-shadow: none; transition: opacity .3s ease; pointer-events: none;
  filter: drop-shadow(0 14px 30px rgba(0,0,0,.6)); }
#acilis.oynuyor video.acilis-kiz { opacity: 0; }

/* ILERLEME KARTI (tk.js ilerlemeKur; T_ilerleme 2026-10-30): uzun islerin tek gostergesi. Ortada hafif karartma +
 * kiz + kart; .yerlesik: Python'un verdigi alanda (DWG duzeltme listesinin alti), yatay, karartmasiz. */
.ilr-ort { position: fixed; inset: 0; z-index: 8990; display: none; pointer-events: none;
  background: rgba(6,6,10,.42); animation: tk-bel .2s ease; }
.ilr { position: fixed; z-index: 9000; display: none; width: 400px; max-width: calc(100vw - 32px); pointer-events: none;
  color: #f0f0f5; font: 13px "Segoe UI", system-ui, sans-serif; animation: ilr-gel .22s cubic-bezier(.2,.8,.2,1); }
@keyframes ilr-gel { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ilr-kiz { display: block; height: 150px; width: 238px; max-width: 100%; margin: -6px auto 6px;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.5)); }
body.tk-ilr-acik .tk-mesgul-kiz { display: none; }
.ilr-kutu { padding: 16px 18px 14px; border-radius: 16px; background: rgba(21,21,29,.97);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 24px 60px -18px rgba(0,0,0,.85); }
.ilr-ust { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.ilr-baslik { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.ilr-yuzde { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; color: #ffb27a; }
.ilr-isaret { display: none; flex: none; width: 18px; height: 18px; border-radius: 50%; align-self: center; }
.ilr-adimlar { display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.ilr-adimlar:empty { display: none; }
.ilr-adimlar li { display: flex; align-items: center; gap: 6px; padding: 3px 9px 3px 4px; border-radius: 999px;
  background: #1d1d28; color: #8a8a9c; font-size: 12px; }
.ilr-adimlar li i { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px;
  border-radius: 50%; background: #2a2a38; color: #b9b9cc; font: 600 10.5px "Segoe UI", system-ui, sans-serif; font-style: normal; }
.ilr-adimlar li.simdi { background: rgba(255,138,66,.14); color: #ffd2b0; box-shadow: inset 0 0 0 1px rgba(255,138,66,.4); }
.ilr-adimlar li.simdi i { background: #ff8a42; color: #1a1209; }
.ilr-adimlar li.bitti { color: #b9b9cc; }
.ilr-adimlar li.bitti i { background: #2f6b4a; color: #e9fff2; }
.ilr-cubuk { position: relative; height: 8px; border-radius: 4px; background: #2c2c38; overflow: hidden; }
.ilr-cubuk > div { height: 100%; width: 0%; border-radius: 4px; background: linear-gradient(90deg, #ff9a3c, #ff4f6d); }
.ilr.belirsiz .ilr-cubuk > div { position: absolute; left: 0; width: 35% !important; animation: ilr-akan 1.4s ease-in-out infinite; }
@keyframes ilr-akan { 0% { transform: translateX(-100%); } 100% { transform: translateX(290%); } }
.ilr-alt { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; color: #9a9aa8; font-size: 11.5px;
  min-height: 15px; }
.ilr-satir { min-width: 0; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ilr-sure { flex: none; font-variant-numeric: tabular-nums; }
.ilr-guven { margin-top: 8px; color: #e3b341; font-size: 12px; line-height: 1.45; }
.ilr-guven:empty { display: none; }
.ilr-hata { display: none; }
/* bitti: yesil tik, cubuk yesil */
.ilr.basari .ilr-isaret { display: inline-block; background: #2fae6b
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat; }
.ilr.basari .ilr-cubuk > div { background: #2fae6b; }
.ilr.basari .ilr-alt, .ilr.basari .ilr-yuzde { visibility: hidden; }
/* hata: kart kalir, sebep + dugmeler (tiklanir) */
.ilr.hatali { pointer-events: auto; }
.ilr.hatali .ilr-kiz, .ilr.hatali .ilr-cubuk, .ilr.hatali .ilr-alt, .ilr.hatali .ilr-adimlar, .ilr.hatali .ilr-guven { display: none; }
.ilr.hatali .ilr-isaret { display: inline-block; background: rgba(255,77,109,.16)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff4d6d' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17v.5'/%3E%3C/svg%3E") center/14px no-repeat; }
.ilr.hatali .ilr-hata { display: block; }
.ilr-hata p { margin: 0 0 14px; color: #c9c9d8; line-height: 1.5; overflow-wrap: anywhere; }
.ilr-dugmeler { display: flex; gap: 10px; }
.ilr-dugmeler > * { flex: 1; }
/* YERLESIK (DWG duzeltme listesinin alti): kucuk kiz solda, kart yaninda, karartma yok */
.ilr.yerlesik { display: none; }
.ilr.yerlesik[style*="display: block"] { display: flex !important; align-items: center; gap: 14px; animation: none; }
.ilr.yerlesik .ilr-kiz { width: 96px; height: 62px; margin: 0; flex: none; }
.ilr.yerlesik .ilr-kutu { flex: 1; min-width: 0; padding: 12px 14px 10px; border-radius: 12px; background: #15151d;
  box-shadow: 0 0 0 1px rgba(255,255,255,.07); }
.ilr.yerlesik .ilr-ust { margin-bottom: 8px; }
.ilr.yerlesik .ilr-baslik { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ilr.yerlesik .ilr-yuzde { font-size: 13px; }
@media (prefers-reduced-motion: reduce) {
  .ilr, .ilr-ort { animation: none; }
  .ilr.belirsiz .ilr-cubuk > div { animation: none; width: 100% !important; opacity: .45;
    background: repeating-linear-gradient(135deg, #ff8a42 0 10px, #c4573a 10px 20px); }
}
html.arw-mobil .ilr { width: calc(100vw - 32px); }
html.arw-mobil .ilr-kiz { height: 110px; width: 174px; }

/* ================================================================ TELEFON DUZENI (2026-10-14)
 * html.arw-mobil: tk.js karar verir (dar ekran ya da dokunmatik kisa kenar <= 820 px). Yerlesim Python'dan
 * (webmobil.py: sol panel alt cekmece, sekmeler tek satir); burasi gorunum, guvenli alan, dokunma. */
html.arw-mobil, html.arw-mobil body { height: 100%; overscroll-behavior: none; -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
html.arw-mobil body { background: #0d0d12 !important; }
html.arw-mobil * { -webkit-touch-callout: none; }
/* centik / ev cubugu: program guvenli alanin icine cizilir (Python'a giden gorunum = bu kutu) */
html.arw-mobil #masaustu { top: env(safe-area-inset-top); right: env(safe-area-inset-right);
  bottom: env(safe-area-inset-bottom); left: env(safe-area-inset-left); }
html.arw-mobil body::after { content: ""; position: fixed; left: 0; right: 0; bottom: 0;
  height: env(safe-area-inset-bottom); background: #111118; pointer-events: none; z-index: 1; }

/* cizim alanlari: tarayici kaydirma / yakinlastirma yok, hareketleri tk.js isler */
html.arw-mobil .tk-tuval, html.arw-mobil .tk-webgl { touch-action: none; }
html.arw-mobil [data-kay] { touch-action: none; }
html.arw-mobil .tk-tablo, html.arw-mobil .tk-metin, html.arw-mobil .tk-liste, html.arw-mobil [data-dogal-kay] {
  touch-action: pan-y; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }

/* yatay kayan sekme seritleri (webmobil.yatay_sira) */
html.arw-mobil [data-ek~="yatay-kay"] { overflow-x: auto !important; overflow-y: hidden !important; touch-action: pan-x;
  scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
          mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); }
html.arw-mobil [data-ek~="yatay-kay"]::-webkit-scrollbar { display: none; }

/* ---- alt cekmece (sol panel) */
html.arw-mobil [data-ek~="mobil-panel"] { z-index: 30; overflow: visible !important; background: #111118 !important;
  border-radius: 18px 18px 0 0; will-change: transform;
  box-shadow: 0 -1px 0 rgba(255,255,255,.08), 0 -18px 40px -12px rgba(0,0,0,.75); }
/* tasinirken alt kenarda bosluk gorunmesin: zemin asagi uzar */
html.arw-mobil [data-ek~="mobil-panel"]::after { content: ""; position: absolute; left: 0; right: 0; top: 100%;
  height: 100vh; background: #111118; pointer-events: none; }
.tk-cekmece-tutamac { position: absolute; left: 0; right: 0; top: 0; height: 22px; z-index: 6; cursor: grab;
  display: flex; align-items: center; justify-content: center; touch-action: none; }
.tk-cekmece-tutamac::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; bottom: -6px; }
.tk-cekmece-tutamac i { width: 38px; height: 5px; border-radius: 3px; background: #3a3a4a; transition: background .15s; }
.tk-cekmece-tutamac:active i { background: #ff8a42; }
html.arw-mobil [data-ek~="mobil-onizleme"] { z-index: 1; }
/* 3D KATLAR / GOSTER listesi: tuvalin ustune sag kenardan binen sayfa (webmobil.kabuk3b) */
html.arw-mobil [data-ek~="mobil-3d-yan"] { z-index: 5; background: #111118 !important; overflow-y: auto !important;
  -webkit-overflow-scrolling: touch; box-shadow: -12px 0 28px -10px rgba(0,0,0,.7); border-left: 1px solid rgba(255,255,255,.08); }

/* ---- yazi kutulari: iOS 16 px altinda odaklaninca sayfayi buyutur */
html.arw-mobil .tk-giris input, html.arw-mobil .tk-secim-inp, html.arw-mobil .tk-metin-ta,
html.arw-mobil .tk-mesaj input, html.arw-mobil .arw-alan input { font-size: 16px !important; }
html.arw-mobil .arw-alan .adim { width: 34px; height: 34px; font-size: 18px; }

/* ---- dugmeler: basinca tepki; dokunmatikte asili kalan hover yok */
html.arw-mobil .arw-btn { transition: transform .12s ease-out, filter .12s ease-out; }
html.arw-mobil .arw-btn:active { transform: scale(.97); }
@media (hover: none) {
  html.arw-mobil .arw-btn:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 0 0 1px rgba(255,255,255,.06), 0 6px 14px -8px rgba(0,0,0,.8); }
  html.arw-mobil .arw-btn.birincil:hover { background: var(--g); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 8px 18px -8px rgba(255,100,80,.65); }
  html.arw-mobil .tk-dugme.arac:hover { background: #2a313b; box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }
  html.arw-mobil .arw-tablo tr:hover td { background: #15151d; color: #d8d8e4; }
}

/* ---- pencereler (Toplevel): tam ekran sayfa, solda geri */
html.arw-mobil .tk-pencere:not(.cercevesiz) { left: 0 !important; top: 0 !important; width: 100% !important;
  height: 100% !important; border-radius: 0; box-shadow: none; animation: tk-sayfa-gel .24s cubic-bezier(.32,.72,0,1); }
@keyframes tk-sayfa-gel { from { transform: translateX(28px); opacity: 0; } to { transform: none; opacity: 1; } }
html.arw-mobil .tk-baslik { height: 52px; padding: 0 12px 0 4px; cursor: default; }
html.arw-mobil .tk-baslik .ad { font-size: 16px; font-weight: 600; text-align: center; padding-right: 44px; }
html.arw-mobil .tk-baslik .kapat { display: none; }
.tk-baslik .geri { display: none; }
html.arw-mobil .tk-baslik .geri { width: 44px; height: 44px; border: 0; border-radius: 12px; background: transparent;
  color: #f0f0f5; display: flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
html.arw-mobil .tk-baslik .geri:active { background: rgba(255,255,255,.08); }
html.arw-mobil .tk-kilit { backdrop-filter: none; }

/* ---- mesaj / soru kutusu: alt sayfa */
html.arw-mobil .tk-mesaj-ort { align-items: flex-end; backdrop-filter: none; background: rgba(5,5,9,.6); }
html.arw-mobil .tk-mesaj { width: 100%; max-width: none; border-radius: 22px 22px 0 0; font-size: 15px;
  padding: 22px 20px calc(18px + env(safe-area-inset-bottom)); animation: tk-alt-gel .28s cubic-bezier(.32,.72,0,1); }
@keyframes tk-alt-gel { from { transform: translateY(100%); } to { transform: none; } }
html.arw-mobil .tk-mesaj .govde b { font-size: 17px; }
html.arw-mobil .tk-mesaj .govde .m { font-size: 15px; max-height: 55vh; }
html.arw-mobil .tk-mesaj .dugmeler { flex-direction: column-reverse; gap: 8px; margin-top: 8px; }
html.arw-mobil .tk-mesaj .dugmeler .arw-btn { min-height: 50px; font-size: 16px; border-radius: 14px; }

/* ---- acilir liste / sag tik menusu: alt sayfa */
html.arw-mobil .arw-menu { left: 8px !important; right: 8px !important; top: auto !important; min-width: 0 !important;
  bottom: calc(8px + env(safe-area-inset-bottom)) !important; max-height: 62vh; padding: 8px; border-radius: 20px;
  box-shadow: 0 0 0 100vmax rgba(5,5,9,.55), 0 0 0 1px rgba(255,255,255,.08); animation: tk-alt-gel .24s cubic-bezier(.32,.72,0,1);
  overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
html.arw-mobil .arw-menu .oge { min-height: 48px; font-size: 16px; padding: 12px 14px 12px 36px; border-radius: 12px; white-space: normal; }
html.arw-mobil .arw-menu .oge .kisa { display: none; }

/* ---- bildirim ve calisiyor gostergesi: cekmecenin ustunde degil, ekranin ustunde */
html.arw-mobil .tk-bildirim { bottom: auto; top: calc(10px + env(safe-area-inset-top)); max-width: calc(100vw - 32px);
  white-space: normal; text-align: center; font-size: 14px; border-radius: 16px; transform: translate(-50%, -16px); }
html.arw-mobil .tk-bildirim.gor { transform: translate(-50%, 0); }
html.arw-mobil .tk-mesgul-kiz video.kiz { width: 220px; height: 139px; }

/* ---- 3B ust dugmeleri: dokunma boyu; yuruyus yardimi (W A S D) telefonda yok */
html.arw-mobil .tk-goz-btn.ikon, html.arw-mobil .tk-goz-adam { width: 44px !important; height: 44px !important; border-radius: 12px; }
html.arw-mobil .tk-goz-yardim { display: none !important; }
html.arw-mobil .tk-goz-ui { right: 8px; top: 8px; }

/* ---- acilis videosu: dikey ekranda tam genislik */
html.arw-mobil #acilis video { width: min(94vw, calc(72vh * 16 / 9)); border-radius: 10px; }

@media (prefers-reduced-motion: reduce) {
  html.arw-mobil .tk-pencere, html.arw-mobil .tk-mesaj, html.arw-mobil .arw-menu { animation: tk-bel .15s ease; }
  html.arw-mobil [data-ek~="mobil-panel"] { transition: none !important; }
}

/* --- mesgul karti (is adi + tahmini yuzde; 2026-10-16) --- */
.tk-mesgul-kart { width: 340px; max-width: 80vw; padding: 12px 16px; border-radius: 12px; background: rgba(20,20,28,.92);
  box-shadow: 0 8px 30px rgba(0,0,0,.45); color: #e8e8ee; font: 12px system-ui, sans-serif; text-align: left; }
.tk-mesgul-kart .mk-ust { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.tk-mesgul-kart .mk-ust span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tk-mesgul-kart .mk-cubuk { height: 8px; border-radius: 4px; background: #2c2c38; overflow: hidden; position: relative; }
.tk-mesgul-kart .mk-cubuk div { height: 100%; border-radius: 4px; background: linear-gradient(90deg, #ff9a3c, #ff4f6d); transition: width .25s linear; }
.tk-mesgul-kart .mk-cubuk div.akan { position: absolute; left: 0; animation: mk-akan 1.4s ease-in-out infinite; }
@keyframes mk-akan { 0% { left: -40%; } 100% { left: 100%; } }
