/* KOLScreener — site tasarim sistemi (uretim)
   Kaynak: site/templates/onizleme.html <style> blogu (2 Eyl, Ayhan onayli).
   PLAN.md §15 kilitleri + marka/GORSEL_DILI.md 1/3/4/5/6.

   Kilitli olanlar — olcmeden degistirme:
   · zemin neredeyse siyah, hale (glow) yok            (GORSEL_DILI 4)
   · kutu / cerceve / golge / gradyan yok, yalniz sac teli ayrac  (kural 5)
   · nokta-matris goz alfa .16, sagda buyuk            (kural 6, §15)
   · nane #34E08A ve altin #FFCD6E YALNIZ basamak rakaminda; x10+ altin
   · Bungee yalniz baslik ve kunye                     (kural 3: sira renkle)
   · tablo satiri ~51px (17px ust + 17px alt + 14px satir)
   Fontlar yerelden yuklenir; dis istek yok. */

/* ------------------------------------------------------------------ fontlar */
@font-face{font-family:Bungee;src:url(../fonts/bungee-400.woff2) format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo Black';src:url(../fonts/archivoblack-400.woff2) format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Chakra Petch';src:url(../fonts/chakrapetch-400.woff2) format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Chakra Petch';src:url(../fonts/chakrapetch-500.woff2) format('woff2');
  font-weight:500;font-style:normal;font-display:swap}
/* 600 icin ayri dosya yok; 700'u 600-700 araligina veriyoruz ki tarayici
   sentetik kalinlastirma yapmasin (onizlemede Google 600 vardi, fark yok). */
@font-face{font-family:'Chakra Petch';src:url(../fonts/chakrapetch-700.woff2) format('woff2');
  font-weight:600 700;font-style:normal;font-display:swap}

/* ------------------------------------------------------------------ jetonlar */
/* --muted / --faint: DENETIM.md K2. Eski #4C5854 zeminde 2,69:1 ile AA'nin
   (4,5) altindaydi ve sayfadaki ikincil metnin TAMAMI o renkti — sutun adlari,
   @handle, tarihler, bant, footer. Ton ve doygunluk aynen duruyor, yalnizca
   parlaklik arttI (GORSEL_DILI §2.2'nin "ayni ton, farkli parlaklik" mantigi).
   faint 2,69 -> 4,53 · muted 5,68 -> 6,85. muted da yukari alindi, cunku tek
   basina faint yukselince iki kademe arasi 2,11:1'den 1,25:1'e dusuyordu
   (yeni ayrim 1,51:1). GERI ALMAK ICIN: iki yorumdaki eski degeri yaz. */
:root{
  --ink:#07090A; --text:#E8EFEB;
  --muted:#8E9A95;                      /* eski #7E8C86 — 5,68:1 */
  --faint:#6D7E78 /* 4,66:1 zemin / 4,52:1 hover; onceki #6B7C76 hover'da 4,39 kaliyordu, ilki #4C5854 = 2,69 */;                      /* eski #4C5854 — 2,69:1, AA'yi gecmiyordu */
  --hair:rgba(255,255,255,.07); --hair-2:rgba(255,255,255,.13);
  --mint:#34E08A; --gold:#FFCD6E; --blue:#00C8FF;
  --disp:Bungee,'Arial Black',system-ui,sans-serif;
  --num:'Archivo Black','Arial Black',system-ui,sans-serif;
  --body:'Chakra Petch',ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;
  --maxw:1080px; --pad:28px; --bar:58px;
  --mast-h:0px;                       /* sahne yuksekligi, genis ekranda acilir */

  /* TIPOGRAFIK OLCEK — 1,25 orani, 15 px govdeye demirli (2 Eyl, ikinci
     tasarim turu). Once her punto elle secilmisti (9,5 / 10 / 11,5 / 12 /
     12,5 / 13 / 13,5 / 14 / 14,5 / 15 / 19 / 20 / 27 ...): on bir kademe,
     hicbiri birbiriyle akrabas degil, ve Ayhan'in "cok basit duruyor"
     dedigi duzlugun bir sebebi buydu — her sey ORTA boy. Yeni kademeler
     kok 15'ten ikiye dogru: yukari 1,25 kat, asagi 1,25'e bolerek.
        -2  9,6   etiket (KUCUK CAPS, harf araligi .2em)
        -1  12    ikincil satir, tarih, @handle
         0  15    govde
         1  18,8  vurgu satiri
         2  23,4  bolum ici baslik
         3  29,3
         4  36,6  bolum rakami
         5  45,8  sayac rakami (masthead)
         6  57,2
         7  71,5  kart basamagi (dev)
         8  89,4  manset tavani
     `--t7`/`--t8` tek basina KULLANILMAZ; yerlerine clamp() giriyor ama
     clamp'in tavani hep bu kademe. */
  --t-2:9.6px; --t-1:12px; --t0:15px; --t1:18.8px; --t2:23.4px;
  --t3:29.3px; --t4:36.6px; --t5:45.8px; --t6:57.2px; --t7:71.5px; --t8:89.4px;
  /* Manset: 1024 px'lik kolonu TAM dolduran punto (GORSEL_DILI 2 — "baslik
     cerceveyi doldurur"). 83 px'te "KOLS MAKE THE CALLS." kolonun sonuna
     dayaniyor; 8,1vw - 4,6px ayni orani dar ekranda tutuyor (kolon = vw -
     2x28 px dolgu). Tavan --t8'e yuvarlanmadi cunku olcu metnin kendisinden
     geliyor; kademe ustune YAZI tasmasi bir hata olurdu. */
  --h1:clamp(30px,calc(8.1vw - 4.6px),83px);
}
@media(max-width:640px){:root{--pad:18px}}

/* GENIS EKRAN (Ayhan, 3 Eyl: "sitenin sag solu cok bos geldi, bu kisim
   sinematik dedik olmamis, dumduz duruyor").
   Olculdu: 1900 px'lik ekranda kolon 1080'de kaliyor (iki yanda 410'ar px
   olu alan) ve manset --h1'in 83 px tavaninda duruyor. Ekran buyuyor,
   tasarim buyumuyor; "bos ve duz" hissinin sayisal kaynagi bu.
   Kolon ve manset ekranla birlikte buyuyor, sahneye yukseklik veriliyor. */
@media(min-width:1400px){
  /* 1240 - 2x40 = 1160 px ic genislik; 1160/12,0 = 96 punto tavan.
     Tavan asilirsa manset UC satira kiriliyor (Ayhan, 3 Eyl). */
  :root{--maxw:1240px; --pad:40px; --h1:clamp(83px,7.2vw,96px); --mast-h:72vh}
}
@media(min-width:1700px){
  /* 1380 - 2x48 = 1284 px; 1284/12,0 = 107 punto. */
  :root{--maxw:1380px; --pad:48px; --h1:clamp(96px,6.4vw,107px); --mast-h:76vh}
}

*,*::before,*::after{box-sizing:border-box}
/* scroll-padding: yapiskan bar 58px; Tab ile asagi gecilen ogenin odak
   halkasini ortmesin (DENETIM.md O11) — 58 + 3 outline-offset + 9 pay */
html{-webkit-text-size-adjust:100%;scroll-padding-top:70px}
body{margin:0;background:var(--ink);color:var(--text);
  font:400 15px/1.6 var(--body);-webkit-font-smoothing:antialiased;
  overflow-x:clip}                       /* govde asla yatay kaymaz */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:1px solid var(--mint);outline-offset:3px}
img,svg{max-width:100%}
.num{font-variant-numeric:tabular-nums}
[hidden]{display:none !important}       /* JS suzgeci satirlari boyle gizler */

/* ------------------------------------------------------------------ ust bar */
.top{position:sticky;top:0;z-index:60;background:rgba(7,9,10,.9);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--hair)}
.top-in{display:flex;align-items:center;gap:26px;height:var(--bar)}
.mark{display:flex;align-items:center;gap:9px;flex:none}
.mark img{display:block;width:22px;height:22px}   /* gercek isaret, mark.svg */
.mark span{font:400 13px/1 var(--disp);letter-spacing:.06em}
.menu{display:flex;gap:22px;margin-left:8px}
.menu a,.menu button{display:block;font-size:13px;letter-spacing:.02em;color:var(--muted);
  padding:19px 0;border-bottom:1px solid transparent;transition:color .15s}
.menu a:hover,.menu button:hover{color:var(--text)}
.menu .on{color:var(--text);border-bottom-color:var(--mint)}
.top .right{margin-left:auto;display:flex;align-items:center;gap:18px}
#q{font:400 13px/1 var(--body);color:var(--text);background:none;border:0;
  border-bottom:1px solid var(--hair);padding:7px 2px;width:170px;
  transition:border-color .18s;-webkit-appearance:none;appearance:none;border-radius:0}
#q::placeholder{color:var(--faint)}
#q:focus{outline:0;border-bottom-color:var(--mint)}
.cta{font-size:12.5px;color:var(--mint);white-space:nowrap}
.cta:hover{opacity:.75}
/* DENETIM.md K3: .top-in kuculemez minimumu 426,8 px'ti (gerçek font
   metrikleriyle olculdu) — 360 px'te 102,8 px, 390 px'te 72,8 px tasiyordu ve
   yapiskan bar da kayan icerikle sagi kaciyordu. Iki adim: arama kutusu
   daralabilsin, 480 altinda wordmark yazisi dussun (goz isareti kaliyor —
   GORSEL_DILI §1 zaten "lockup koyulmaz" diyor, kucuk ekranda markanin dili
   gozun kendisi). Olcum: 426,8 -> 309,6 px; 360 px'te 14,4 px pay. */
@media(max-width:720px){
  .top-in{gap:16px}
  .menu{gap:16px}
  .menu a,.menu button{font-size:12.5px}
  #q{width:112px;min-width:0;flex:1 1 84px}   /* 320 px'te daralir, yok olmaz */
  .cta{display:none}
}
@media(max-width:480px){
  .mark span{display:none}                    /* 136,1 -> 19 px: 117,1 px kazanc */
}
/* Menude DORDUNCU oge var artik (Docs — Ayhan, 2 Eyl). Olculdu: bar 320 px'te
   50 px, 360 px'te 10 px tasiyordu; 390 px'te (K3'un hedefi) tam siğiyordu.
   Ucuncu bir kademe: bosluklar kisaliyor, arama kutusu daha da daralabiliyor.
   Yeni olcum bu blogun altinda. */
@media(max-width:440px){
  .top-in{gap:11px}
  .menu{gap:11px;margin-left:0}
  .menu a,.menu button{font-size:12px;letter-spacing:0}
  #q{flex:1 1 56px;width:56px}
}

/* ------------------------------------------------------------------ akan bant */
.tape{overflow:hidden;border-bottom:1px solid var(--hair);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tape-in{display:flex;width:max-content;animation:tape 120s linear infinite}
/* WCAG 2.2.2: durdurma yolu ucte bir. Fare = hover · klavye = odak ·
   dokunmatik = banda dokunmak (.paused'i JS koyar). Ekranda hicbir sey
   eklenmiyor — GORSEL_DILI kural 5. Banda `tabindex="0"` gerekli. */
.tape:hover .tape-in,
.tape:focus-within .tape-in,
.tape.paused .tape-in{animation-play-state:paused}
@keyframes tape{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.ti{display:flex;align-items:baseline;gap:8px;padding:11px 0;margin-right:34px;
  font-size:12px;color:var(--faint);white-space:nowrap}
.ti b{font-family:var(--num);font-size:11.5px;font-variant-numeric:tabular-nums;
  color:var(--mint);letter-spacing:-.01em}
.ti b.g{color:var(--gold)}
.ti em{font-style:normal;color:var(--text);font-weight:500;font-size:12.5px}
.ti s{text-decoration:none;color:var(--muted)}

/* ------------------------------------------------------------------ masthead */
.mast{position:relative;overflow:hidden;border-bottom:1px solid var(--hair);
  min-height:var(--mast-h);display:flex;align-items:center}
.mast>.wrap{width:100%}
/* GORSEL_DILI 6 — arkada KONU var, doku degil.
   ---------------------------------------------------------------------
   2 Eyl, ikinci tur (Ayhan: "nokta-matris goz sag kenarda sonuk bir leke
   gibi duruyor ve kesiliyor"). Uc sey degisti, ucu de olcuye dayaniyor:

   1. BOYUT. 430 px'lik goz 1024 px'lik bir kolonun yaninda bir simge
      kadardi; simdi 820 px'e kadar cikiyor ve mansetin ARKASINDAN geciyor.
      Kompozisyonun parcasi olmak buyuk olmayi gerektiriyor.
   2. TAMLIK. Sag kenardan tasmiyor: `right` pozitif, gozun tamami
      cerceve icinde. Kesilmis bir isaret marka degil, kalintidir.
   3. ALFA .16 -> .30 AMA MASKELI. PLAN §15 ".16, sagda buyuk" diyordu;
      o rakam, gozun metnin YANINDA durdugu bir yerlesim icin secilmisti.
      Goz metnin ALTINA girince ayni alfa iki isi birden goremiyor: metnin
      arkasinda hala fazla, bos tarafta hala sonuk. Ayrildilar — maske
      soldan (mansetin durdugu ucte birlik serit) sifira iniyor, sagda
      tam. Metnin arkasindaki gercek alfa boylece .16'nin ALTINDA
      (okunurluk artti), gozun gorundugu yerde .30 (leke olmaktan cikti).
      Maske gradyani GORSEL_DILI 5'in yasakladigi "sus gradyani" degil,
      bandin kenar maskesiyle ayni aile (marka_denetimi 5 bunu mesru
      istisna olarak ayirir). PLAN §15'in ".16" satiri artik eski —
      TASARIM.md guncellendi, PLAN sahibinden guncelleme istendi. */
/* Genislik OLCUYE gore: goz 560x445, yani 700 px genislik 556 px yukseklik
   demek ve mansetin olculen yuksekligi 630 px — cerceve icinde TAM duruyor,
   kesilmiyor (Ayhan'in sikayetinin ikinci yarisi buydu). `top:48%` onu
   sayac seridinin bir tik ustune aliyor. */
.mast .eye-wrap{position:absolute;right:clamp(0px,1vw,16px);top:47%;
  transform:translateY(-50%);width:min(940px,52vw);display:block;
  pointer-events:none;
  /* 125 derece: maske sol-USTTEN sag-alta akiyor, yani hem mansetin
     arkasini hem sayac seridinin sol yarisini bos birakiyor. 100 derecede
     yalniz sol bosaliyordu ve dokular "KOLS" sutununun uzerine biniyordu. */
  -webkit-mask-image:linear-gradient(125deg,transparent 0 30%,#000 74%);
  mask-image:linear-gradient(125deg,transparent 0 30%,#000 74%)}
.mast .eye{display:block;width:100%;height:auto;opacity:.30}
/* 720 px altinda metin kolonu bütün genisligi kapliyor: goz metnin ARKASINA
   gecmek yerine sagda kaliyor ve kuculuyor, yoksa basligin okunurlugunu
   dusuruyor. */
@media(max-width:720px){
  /* Dar ekranda manset kolonun tamamini kapliyor, yani gozun "yanina"
     cekilecek bir yer yok. Cozum yer degil MASKE: goz buyur, sag alta
     oturur ve soldan sifira inen maske sayesinde metnin arkasinda kalan
     kismi neredeyse gorunmez. Sagda kalan capa gorunur. */
  .mast .eye-wrap{width:min(430px,92vw);right:-16%;top:auto;bottom:-6%;
    transform:none;
    -webkit-mask-image:linear-gradient(115deg,transparent 0 26%,#000 70%);
    mask-image:linear-gradient(115deg,transparent 0 26%,#000 70%)}
}
/* GORSEL_DENETIM K1: `padding` KISAYOLU `.wrap`in `padding:0 var(--pad)`ini
   eziyordu (ayni ozgulluk, sonra tanimli) — mansetin sol bosluğu 390 px'te
   0'a dusuyor, sayfanin geri kalani 18 px'te duruyordu. Uzun ad sart. */
.mast-in{position:relative;padding-top:clamp(64px,12vw,150px);
  padding-bottom:clamp(34px,6vw,74px)}
/* Manset: punto kolonu doldurur (--h1), satir araligi 0,94 — Bungee'nin
   kendi govdesi zaten yuksek, 1,06'da iki satir birbirinden kopuyordu.
   Harf araligi -.018em: 83 px'te varsayilan aralik dagilmis duruyor,
   27 px'te fark edilmiyordu. Bu ucu birlikte "tesadufi" olani biten sey. */
h1{margin:0;font:400 var(--h1)/.94 var(--disp);letter-spacing:-.018em}
h1 em{display:block;font-style:normal;color:var(--mint)}
.sub{margin:clamp(22px,3.4vw,38px) 0 0;font-size:var(--t0);color:var(--muted);
  max-width:46ch}

/* sayac seridi — kutu degil, tek satir */
/* GORSEL_DENETIM O7: `flex-wrap` ile sutun genisligini ETIKET UZUNLUGU
   belirliyordu — 390 px'te ikinci sutunun sol kenari iki satir arasinda
   kayiyor, "HIGHEST" tek basina alt satira dusuyordu. Izgara sutunlari
   esitliyor; sayac sayisi degismedi. */
/* OLCEK KARSITLIGI: etiket --t-2 (9,6 px), rakam --t5 (45,8 px) — 4,8 kat.
   Eskiden 9,5 -> 27 idi (2,8 kat) ve serit "orta boy bir sey" gibi
   okunuyordu. Buyuyen tek sey rakam; etiket kucuk kalirsa rakam buyur. */
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,max-content));
  gap:clamp(24px,3vw,34px) clamp(28px,5vw,64px);padding:clamp(30px,4.4vw,52px) 0 0}
.figs div span{display:block;font-size:var(--t-2);letter-spacing:.2em;text-transform:uppercase;
  color:var(--faint);margin-bottom:12px}
.figs div b{font:400 clamp(26px,4.2vw,45.8px)/1 var(--num);font-variant-numeric:tabular-nums;
  letter-spacing:-.022em;display:block}
.figs div.g b{color:var(--gold)}
/* Bos deger bir rakam degil: --t2'ye iniyor ve sonuk kaliyor. 45,8 px'lik
   Archivo Black em-tiresi ekranda kalin bir cizgi olup ariza gibi
   duruyordu (profil "LAST WARS ROUND"). */
.figs div b.dash,.figs div.g b.dash{font-size:var(--t2);color:var(--faint);
  line-height:1.3}

/* --------------------------------------------------------------- KATMANLAR */
/* TAM GENISLIK (full-bleed) SERIT. Bir KUTU DEGIL: kenarligi, kose
   yaricapi, golgesi yok ve sagi solu sayfanin sonuna kadar gidiyor —
   gozun kutu diye okudugu sey kapali bir cerceve, burada cerceve yok.
   Zemin `rgba(255,255,255,.014)`: yeni bir renk degil, zeminin kendi
   acigi (MARKA_KILIDI'nin "notr" ailesi — sac teli ayracla ayni mantik).
   Neden duz bir hex (#0A0D0F) DEGIL: o renk 204 derece tonda, marka
   bandinin (150 +/- 20) disinda ve marka denetimi onu hakli olarak kacak
   renk sayardi. Beyaz acikligi tonu HIC degistirmiyor.
   Isi: 1080'lik kolonun sonsuz akisini bolmek. Bolumler arasi gecis
   artik bir bosluk degil, bir DUZLEM degisimi. */
.sect{position:relative}
.sect.band{background:rgba(255,255,255,.014);
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.sect.band+.sect.band{border-top:0}
.sect>*:last-child{padding-bottom:clamp(36px,5.5vw,64px)}
.sect.band .head{padding-top:clamp(40px,6vw,68px)}

/* ------------------------------------------------------------- bolum basligi */
.head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;
  padding:clamp(38px,6vw,68px) 0 22px}
.head h2{margin:0;font:600 var(--t-1)/1 var(--body);letter-spacing:.26em;text-transform:uppercase;
  color:var(--text)}
.head p{margin:11px 0 0;font-size:var(--t-1);color:var(--muted);max-width:56ch}
.head .go{font-size:12.5px;color:var(--mint);white-space:nowrap}
.head .tools{margin-left:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.opts{display:flex;gap:15px;flex-wrap:wrap}
.opts a,.opts button{font-size:12.5px;color:var(--faint);letter-spacing:.02em}
.opts a:hover,.opts button:hover{color:var(--muted)}
.opts .on{color:var(--mint)}

/* wars satiri */
.wars-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding:16px 0;border-top:1px solid var(--hair);font-size:13px;color:var(--muted)}
.wars-line b{color:var(--text);font-weight:500}
/* geri sayim — wars satirinda da bolum basliginda da ayni.
   Tur acikken altin; 30 dakikalik molada (.brk) sonraki baslangica sayiyor,
   altin orada bir sey kutlamiyor, sonuk kalir. */
.cd{font-family:var(--num);font-size:12px;color:var(--gold);
  font-variant-numeric:tabular-nums;letter-spacing:.02em}
.cd.brk{color:var(--muted)}
.wars-line .go{margin-left:auto;font-size:12.5px;color:var(--mint)}
@media(max-width:640px){.wars-line .go{margin-left:0}}

/* ------------------------------------------------------------------ tablo */
.tw{overflow-x:auto;margin:0 calc(var(--pad) * -1);padding:0 var(--pad);
  -webkit-overflow-scrolling:touch}
/* DENETIM.md O5: `overflow-x:auto` overflow-y'yi de `auto`ya cevirir, .tw bir
   kaydirma kutusu olur ve icindeki `position:sticky` sayfaya degil o kutuya
   gore konumlanir — kutunun dikey tasmasi sifir oldugu icin baslik hicbir
   zaman yapismaz. `overflow-y:visible` yazmak spesifikasyonca geri cevrilir.
   1080 px ve ustunde tablo zaten sigiyor (olculen en genis tablo 978,7 px,
   kolon genisligi 1024 px), yani yatay kaydirma kutusuna gerek yok: orada
   .tw'yi `visible` yapiyoruz ve sticky GERCEKTEN calisiyor — 551 satirlik
   profil tablosunda sutun adlari yukarida kaliyor. Altinda kutu geri geliyor,
   tablo yatay kayiyor ve sticky sessizce devre disi kaliyor.
   `body`'nin clip'i de ayni kirilimda kalkiyor: ileride bir tablo 1024 px'i
   asarsa icerik KAYBOLMASIN, sayfa yatay kaysin. K3'un mobil tasmasi bu
   genislikte zaten yok (bar minimumu 426,8 px). */
@media(min-width:1080px){
  .tw{overflow-x:visible}
  body{overflow-x:visible}
  /* Yapiskan baslik YALNIZ burada. Olculdu (Ayhan'in 2 Eyl ekran goruntusu,
     ~1000 px): kutu varken sticky "sessizce devre disi" KALMIYOR - basligin
     konum atasi .tw'nin kaydirma alani oldugu icin sayfa kaydikca baslik
     satirlarin uzerine iniyor ve ilk satiri yiyor. */
  th{position:sticky;top:var(--bar);z-index:5}
}
table{width:100%;border-collapse:collapse}
th{text-align:left;font:600 9.5px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;
  color:var(--faint);padding:0 14px 13px 0;border-bottom:1px solid var(--hair-2);
  white-space:nowrap;background:var(--ink)}
th:last-child{padding-right:0}
th.s,th[data-sort]{cursor:pointer}
th.s:hover,th[data-sort]:hover{color:var(--muted)}
th.act{color:var(--text)}
/* GORSEL_DENETIM K3: siralama dugmesinin gercek yuksekligi 10,5 px'ti —
   WCAG 2.5.8'in 24x24 asgarisinin bile altinda. Hedef ::after ile buyutuldu;
   dugmenin KENDI kutusu buyumuyor, yani basligin hizasi ve tablo yuksekligi
   degismiyor. Dokunma hedefi 10,5 -> 34,5 px. */
th button{position:relative}
th button::after{content:"";position:absolute;left:0;right:0;top:-12px;bottom:-12px}
th:last-child button::after{right:-6px}
th .ar{opacity:0;margin-left:5px;color:var(--mint);font-size:8px;vertical-align:1px}
th.act .ar{opacity:1}
td{padding:17px 14px 17px 0;border-bottom:1px solid var(--hair);white-space:nowrap;font-size:14px}
td:last-child{padding-right:0}
tbody tr{transition:background .12s}
tbody tr[data-href],tbody tr[data-link],tbody tr[data-kol]{cursor:pointer}
tbody tr:hover td{background:rgba(255,255,255,.022)}
tbody tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
/* GORSEL_DENETIM O2: `table{width:100%}` + otomatik yerlesim artan genisligi
   sutunlarin max-content'ine ORANTILI dagitiyordu ve o oran hicbir seyle
   ilgili degil — /wars'ta KOL sutunu 461 px, icindeki en uzun ad 180 px'ti
   (433 px olu oluk). Cozum: her sutun icerigi kadar (`1%` + nowrap = max-
   content), artan bosluk TEK bir sutunda toplaniyor (`.wide`). Her tabloda
   bir tane `.wide` var; hangisi oldugu bir tasarim karari, kalinti degil. */
th,td{width:1%}
th.wide,td.wide{width:100%}

/* Sira numarasi ADIN hizasinda durur. Hucre iki satirli (.who) oldugu icin
   varsayilan `vertical-align:middle` numarayi iki satirin ARASINA dusuruyordu
   ve okur onu adin altina ait saniyordu (Ayhan, 2 Eyl). `top` + adin satir
   kutusuyla ayni satir yuksekligi: ikisi ayni temel cizgide. */
td.rkc{vertical-align:top}
.rk{display:block;font-size:12px;line-height:23px;color:var(--faint);
  font-variant-numeric:tabular-nums}
.rk.g{color:var(--gold)}
.who{display:flex;flex-direction:column;gap:3px;min-width:0}
.who b{font-weight:600;font-size:14.5px;line-height:23px;letter-spacing:.005em;
  display:flex;align-items:center;gap:6px}
.who span{font-size:11.5px;color:var(--faint);letter-spacing:.02em;
  display:flex;align-items:center;gap:7px}
.tick{width:13px;height:13px;flex:none}
/* K1: ad gercek bir <a>; ::after onu satirin tamamina yayiyor, boylece
   satirin her yeri tiklanir ama Enter/orta tik/yeni sekme JS'siz calisir. */
tbody tr{position:relative}
/* `.rowlink` KENDISI konumlandirilmaz — konumlandirilsa `inset:0` satira
   degil BAGIN kendi kutusuna oturur ve kaplama hicbir sey kazandirmaz.
   Konumlanan atasi `tr`; oteki baglar z-index 2 ile kaplamanin ustunde
   kalir, yani coin ve mesaj baglari hedefini korur. */
.rowlink::after{content:"";position:absolute;inset:0;z-index:1}
.rowlink:hover{color:var(--mint)}
tbody tr a:not(.rowlink){position:relative;z-index:2}
/* zincir isaretleri — tek renk, currentColor (zincir_isaretleri.py) */
.cm{width:13px;height:13px;flex:none;display:inline-block;vertical-align:-2px}
.cms{display:inline-flex;align-items:center;gap:5px;color:var(--faint)}
.ch .cm{margin-right:5px;vertical-align:-2px}
.mx{font-family:var(--num);font-size:13px;font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;color:var(--mint)}
.mx.g{color:var(--gold)}
.mx.sm{font-size:11.5px;color:var(--muted)}
.dim{color:var(--faint)}
.mut{color:var(--muted)}
/* GORSEL_DENETIM K3: satir ici baglarin kendi kutusu 14-18 px yuksekti.
   Dolgu + esit negatif margin: hedef ~40 px, yerlesim degismiyor. */
.tok{font-weight:600;font-size:14px}
a.tok,td.mut>a,.who span>a{display:inline-block;padding:10px 0;margin:-10px 0}
/* Token hucresinin DexScreener oku. 8.000 satirlik bir sayfada her satira
   kalici bir isaret koymak tam da "kalabalik" demek; ok satir uzerine
   gelince (ya da klavye odaginda) beliriyor. Yer KAPLAMAYA devam ediyor
   (opacity, display degil) — belirince satir zipla­miyor. */
.tx{margin-left:5px;font-size:11px;color:var(--faint);opacity:0;
  transition:opacity .14s,color .14s;display:inline-block;
  padding:11px 8px;margin-top:-11px;margin-bottom:-11px}
tbody tr:hover .tx,.tx:focus-visible{opacity:1}
.tx:hover{color:var(--mint)}
.ch{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-left:8px;
  white-space:nowrap}
.ch em{font-style:normal}
.msub{display:none}                     /* yalniz <=640: token altinda @handle */
.arrow{color:var(--faint);font-size:12px}
tbody tr:hover .arrow{color:var(--mint)}
/* Tarih + dis bagin oku ayni hucrede — ayri ok sutunu 40 px yiyor, hicbir sey
   soylemiyordu. GORSEL_DENETIM K3: tek basina `↗` 10,1x16 px'lik bir hedefti;
   simdi hedef tarihi de kapsiyor ve dikeyde satirin tamamina yayiliyor
   (padding + esit negatif margin: yerlesim degismiyor). */
.wh a{color:inherit;display:inline-block;padding:9px 0;margin:-9px 0}
.ar-x{margin-left:7px;font-size:11px;color:var(--faint)}
tbody tr:hover .ar-x,.wh a:hover{color:var(--mint)}

.foot{padding:22px 0 0;font-size:12.5px;color:var(--faint);display:flex;
  align-items:center;gap:16px;flex-wrap:wrap}
.foot button,.foot a{color:var(--mint);font-size:12.5px}
.empty{padding:34px 0;font-size:13px;color:var(--muted)}

/* ------------------------------------------------------------------ profil */
/* GORSEL_DENETIM D2: `padding:26px 0 0` kutunun 26 px'ini metnin USTUNE
   koyuyordu — gorunur link kutunun dibinde, hedef 44 px'in altinda kaliyordu.
   Ustteki bosluk artik margin, dolgu metnin cevresinde. */
.back{display:inline-block;margin-top:20px;padding:11px 10px 11px 0;
  font-size:12.5px;color:var(--muted)}
.back:hover{color:var(--mint)}
.pf{padding:22px 0 0}
/* Sayfa basligi --t6 (57,2), sayaclar --t5 (45,8): olcekte BIR kademe fark.
   Ikisi de 46 px iken sayfada iki esit "en buyuk" vardi ve hiyerarsi
   duzdu. Harf araligi mansetle ayni (-.018em). */
.pf h1.name{font:400 clamp(30px,5.4vw,57.2px)/1.02 var(--disp);letter-spacing:-.018em;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pf .meta{margin:14px 0 0;font-size:13.5px;color:var(--muted);max-width:72ch}
.pf .meta i{font-style:normal;color:var(--faint);margin:0 8px}
.pf .acts{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0 0;font-size:13px}
.pf .acts a,.pf .acts button{color:var(--mint)}
.pf .acts .b{color:var(--blue)}
.figs.pfg{padding-top:clamp(28px,4vw,44px)}
.figs div b.m{color:var(--mint)}         /* x10 alti "best card" — esik kurali */
/* sayacin altindaki kucuk sahip satiri (KOL Wars all-time) */
.figs div i{display:block;margin-top:8px;font-style:normal;font-size:11.5px;
  color:var(--faint);letter-spacing:.01em}
.figs div i a:hover{color:var(--mint)}

/* --------------------------------------------------------- profil vitrini */
/* Kanal adindaki emoji: Bungee 46 puntoda emojiyi de 46 punto ciziyor ve ad
   tek dev glife donuyordu (Ayhan, 2 Eyl). Cozum METINDE degil FONTTA: emoji
   glifleri zaten Bungee'de yok, sistemin emoji fontundan geliyor — o fonta
   `size-adjust` ile %46 veriliyor ve YALNIZ emoji kuculuyor, harfler Bungee'de
   oldugu gibi kaliyor.
   Neden sarmalayici span degil: `site/kontrol.py`'nin veri maskesi HTML'i
   "her etiket -> bir bosluk" diye duzlestirip kanal adini veritabanindaki ham
   hâliyle ariyor; adin ORTASINA konan her etiket o maskeyi bolüyor ve KOL'un
   kendi adi "yasak kelime" olarak raporlaniyordu. Fontla cozulunce sayfada
   tek karakter markup yok.
   `src` yalniz `local()` — dis istek sifir, dosya eklenmiyor; sistemde emoji
   fontu yoksa aile bos kalir ve her sey Bungee'ye duser (zararsiz).
   Aile adi `emoji`: MARKA_KILIDI §2'nin geri dusme listesinde duran ad. */
@font-face{
  font-family:emoji;
  src:local('Apple Color Emoji'),local('Segoe UI Emoji'),local('Segoe UI Symbol'),
      local('Noto Color Emoji'),local('Twemoji Mozilla'),local('EmojiOne Color'),
      local('Android Emoji');
  size-adjust:46%;
  font-display:swap;
  /* KRITIK (Ayhan, 2 Eyl: "fontlari begenmedim, cok goz aliyor"):
     unicode-range OLMADAN bu aile HARFLERI de sahipleniyordu. Yigina ilk
     sirada yazildigi icin sistemin emoji fontunda Latin glifi varsa butun
     adlar ve manset ONUN glifleriyle ve size-adjust yuzunden %46 boyutta
     ciziliyordu - Bungee ve Chakra Petch hic gorunmuyordu. Aile artik yalniz
     emoji bloklarini talep ediyor. Ok isaretleri (U+2190-21FF) BILEREK disarida:
     -> ve ↗ arayuzun kendi isaretleri, kuculmemeliler. */
  unicode-range:U+FE0F, U+1F000-1FAFF, U+2600-26FF, U+2700-27BF, U+1F1E6-1F1FF;
}
.pf h1.name,.nf h1,h1,.pnm{font-family:emoji,var(--disp)}
.pnm,.who b,.tok{font-family:emoji,var(--body)}

/* EN IYI KART. Kutu degil: ustunde tek sac teli, icinde bosluk. */
.hero{display:flex;align-items:center;gap:clamp(18px,3.2vw,38px);flex-wrap:wrap;
  margin-top:clamp(26px,4vw,38px);padding:clamp(26px,4vw,40px) 0 0;
  border-top:1px solid var(--hair)}
.hero .hx{font:400 clamp(46px,8vw,86px)/.84 var(--num);color:var(--mint);
  font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.hero .hx.g{color:var(--gold)}
.hero .hb{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:8px}
.hl{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--faint)}
.hero .hn{font:600 20px/1.15 var(--body);display:flex;align-items:center;
  gap:10px;flex-wrap:wrap}
.hero .hn a:hover{color:var(--mint)}
.hero .hm{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.hero .hm b{color:var(--text);font-weight:600}
.hero .hm i{font-style:normal;color:var(--faint);margin:0 8px}
.hero .hgo{font-size:12.5px;color:var(--mint);white-space:nowrap}
.empty.hro{border-top:1px solid var(--hair);margin-top:clamp(26px,4vw,38px)}

/* DAGILIM + RITIM. Iki pencere, ustunde tek sac teli. */
.panes{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(26px,5vw,64px);
  margin-top:clamp(30px,4.5vw,46px);padding:clamp(26px,4vw,36px) 0 0;
  border-top:1px solid var(--hair)}
.pane .hl{margin-bottom:16px}
/* Cubuk bir kutu degil, bolunmus 3 px'lik sac teli: dolgu yok, kose yok. */
.bar{display:flex;height:3px;gap:3px}
.bar i{display:block;height:100%}
.bar i.m{background:var(--mint)}
.bar i.g{background:var(--gold)}        /* x10+ bandi — PLAN 15 esigi */
.blabels{display:flex;gap:14px 20px;flex-wrap:wrap;margin-top:14px;
  font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.blabels b{font:400 11.5px/1 var(--num);letter-spacing:-.01em;margin-right:7px}
.blabels b.m{color:var(--mint)}
.blabels b.g{color:var(--gold)}
.spark{display:block;width:100%;height:44px}
.spark .ln{fill:none;stroke:var(--mint);stroke-width:1.6;
  stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.spark .ar{fill:rgba(52,224,138,.09)}
.spark .dot{fill:var(--mint)}
.smeta{margin-top:12px;font-size:12px;color:var(--faint);
  font-variant-numeric:tabular-nums}

/* ARENA SERIDI — tek satir, kutu yok. */
.arena{margin-top:clamp(30px,4.5vw,46px);padding:clamp(26px,4vw,36px) 0 0;
  border-top:1px solid var(--hair)}
.arena .hl{margin-bottom:16px}          /* .pane .hl ile ayni ritim */
.arena-in{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}
.arena .figs.af{padding:0;gap:16px clamp(20px,3.4vw,44px);flex:1 1 auto}
.arena .figs.af div span{margin-bottom:7px}
.arena .figs.af div b{font-size:clamp(17px,2vw,22px)}
.arena .go{font-size:12.5px;color:var(--mint);margin-left:auto;white-space:nowrap}
@media(max-width:760px){
  .panes{grid-template-columns:1fr;gap:30px}
}

/* --------------------------------------------------- coin sayfasi /coin/../ */
/* Profil ile ayni dil: .pf sarmali, .figs sayaclari, .tw tablosu.
   Tek ek: kontrat adresi ve "ilk cagiran" isareti. */
.pf h1.name .ch{margin-left:0;font-size:11px}
/* kontrat adresi: uzun ve alfanumerik — Archivo Black burada okunmuyor */
.ca{font-size:11.5px;letter-spacing:.02em;color:var(--faint);
  font-variant-numeric:tabular-nums;word-break:break-all;white-space:normal}
.ca:hover{color:var(--muted)}
.pf .meta .ca{margin:0}
.first{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
td .first{margin-left:2px}

/* ------------------------------------------------------- coin merdiveni */
/* Cekirdek kural 2'nin resmi: ayni coin, herkes kendi girisinden. Olcek log10
   (site/COIN_VERI.md) — log ekseninde esit MESAFE esit KATTIR, yani girisle
   kart arasindaki uzunluk tam olarak o kattir. Kutu/cerceve/gradyan yok:
   3 px'lik bir cizgi, giriste bir nokta, eksende sac teli. */
.lad{padding:clamp(22px,3.2vw,30px) 0 0;border-top:1px solid var(--hair);
  margin-bottom:clamp(34px,5vw,54px)}
.lad-in{position:relative}
.lr{display:grid;grid-template-columns:minmax(0,168px) 1fr 58px 66px;
  align-items:center;gap:16px;padding:7px 0}
.lk{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.lk a:hover{color:var(--mint)}
.lt{position:relative;height:14px}
/* iz cizgisi: gradyan degil, 1 px'lik sac teli (GORSEL_DILI 5 gradyan yasagi
   bir renk gecisini degil, gradyanin KENDISINI yasakliyor - burada duz bir
   cizgi yeterli ve niyeti daha acik) */
.lt::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;
  margin-top:-.5px;background:var(--hair)}
.le{position:absolute;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;
  border-radius:2.5px;background:var(--muted)}   /* 5 px'lik nokta, kutu degil */
.lb{position:absolute;top:50%;height:3px;margin-top:-1.5px;
  background:var(--mint);min-width:2px}
.lb.g{background:var(--gold)}
.lx{text-align:right}
.lm{text-align:right;font-size:12px;color:var(--faint);
  font-variant-numeric:tabular-nums}
/* butun satirlari kesen "su an" cizgisi (her satirda tekrar eder, dolgu kadar
   tasip komsusuyla birlesir — ekranda tek dikey cizgi) */
.lnow{position:absolute;top:-8px;bottom:-8px;width:1px;background:var(--hair-2);
  margin-left:-.5px;pointer-events:none}
.lad-ax{padding-top:4px}
.lad-ax .lt{background:none;height:14px}
.tk{position:absolute;top:0;transform:translateX(-50%);font-size:10px;
  letter-spacing:.08em;color:var(--faint);font-variant-numeric:tabular-nums;
  white-space:nowrap}
.tk.nw{color:var(--muted);letter-spacing:.16em;text-transform:uppercase}
.lmore{padding-top:14px;font-size:12px;color:var(--faint)}
@media(max-width:640px){
  .lr{grid-template-columns:minmax(0,96px) 1fr 46px;gap:10px}
  .lm{display:none}
  .lk{font-size:11.5px}
}

/* ------------------------------------------------------------------ podyum */
/* Turun ilk ucu. Ayrimi RENK degil BOYUT kuruyor — ilk uc de x10 ustunde
   oldugu icin hepsi altin olsaydi podyum duzlesirdi (PLAN §15 esigi duruyor,
   sadece tek basina yeterli degil). Kutu yok: ust/alt sac teli ve bosluk. */
.podium{display:grid;grid-template-columns:1.5fr 1fr 1fr;
  gap:clamp(20px,3.5vw,48px);align-items:end;
  padding:clamp(24px,3.5vw,34px) 0 clamp(28px,4vw,38px);
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
  margin-bottom:clamp(30px,4.5vw,44px)}
.pod{display:flex;flex-direction:column;gap:9px;min-width:0}
.prk{font-size:11px;letter-spacing:.16em;color:var(--faint);
  font-variant-numeric:tabular-nums}
.prk.g{color:var(--gold)}
.pnm{font:600 15px/1.25 var(--body);overflow-wrap:anywhere;
  display:flex;align-items:center;gap:6px}
.pod.one .pnm{font-size:19px}
.pnm a:hover{color:var(--mint)}
.ptot{font:400 clamp(26px,3.2vw,36px)/1 var(--num);color:var(--mint);
  font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.ptot.g{color:var(--gold)}
.pod.one .ptot{font-size:clamp(46px,7vw,78px)}
@media(max-width:640px){
  .podium{grid-template-columns:1fr;gap:24px;align-items:start}
  .pod.one .ptot{font-size:52px}
}

/* ------------------------------------------------------------------ akis */
/* /cards/ — basamak rakami sayfanin KAHRAMANI. 15 px'te satir icinde
   kayboluyordu (Ayhan, 2 Eyl: "satir icinde kayboluyor"); artik sutunun
   tamamini tutuyor ve sayfa asagi dogru bir basamak sutunu olarak okunuyor. */
.feed-x{font-family:var(--num);font-size:15px;font-variant-numeric:tabular-nums;color:var(--mint)}
.feed-x.g{color:var(--gold)}
td.xc{width:1%;padding-right:26px}
th.xh{width:1%;padding-right:26px}
td.xc .feed-x{font-size:clamp(21px,2.3vw,27px);letter-spacing:-.025em;
  line-height:1;display:block}
@media(max-width:640px){
  td.xc,th.xh{padding-right:16px}
  td.xc .feed-x{font-size:19px}
}
.state{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.state.g{color:var(--gold)}
.parts{font-size:12.5px;color:var(--faint)}

/* ------------------------------------ ana sayfa: son 24 saatin en buyukleri */
/* Sayfanin TEK dev rakam yeri. Basamak --t7 (71,5 px) tavaninda, yanindaki
   her sey --t-1 ve --t-2: 6 kat fark. Ayhan'in "her sey orta boy, o yuzden
   duz duruyor" dedigi seyin panzehiri bu tek karsitlik.
   Kutu yok: her ogenin USTUNDE tek sac teli, gerisi bosluk — profil
   vitrinindeki `.hero` ile ayni dil. */
.bigs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(22px,3vw,40px) clamp(24px,4vw,54px)}
.bg{display:flex;flex-direction:column;gap:10px;min-width:0;
  border-top:1px solid var(--hair);padding-top:clamp(16px,2.2vw,22px)}
.bgx{font:400 clamp(42px,6.4vw,71.5px)/.86 var(--num);color:var(--mint);
  font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.bgx.g{color:var(--gold)}
.bgt{display:flex;align-items:baseline;gap:9px;min-width:0;
  font:600 var(--t1)/1.15 var(--body)}
.bgt .bgn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bg:hover .bgn{color:var(--mint)}
.bgt .ch{margin-left:0;font-style:normal}
.bgm{font-size:var(--t-1);color:var(--faint);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.bgm a{color:var(--muted)}
.bgm a:hover{color:var(--mint)}
.bgm i{font-style:normal;margin:0 7px}
@media(max-width:860px){.bigs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
  .bigs{grid-template-columns:1fr;gap:18px}
  .bgx{font-size:44px}
}

/* ---------------------------------------- ana sayfa: en cok cagrilan coinler */
/* Tablo DEGIL. Ayni sayfada ucuncu bir tablo, Ayhan'in "kalabalik" dedigi
   duzlugu geri getirirdi; burada satirlar bir izgara ve tek isi karsilastirma.
   Sira numarasi --t-1, sembol --t1, sayilar --t0: uc kademe, hepsi olcekten. */
.coins{display:flex;flex-direction:column}
.cn{display:grid;grid-template-columns:34px minmax(0,1fr) 86px 86px 64px;
  align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--hair)}
.cn:hover{background:rgba(255,255,255,.022)}
.cn:hover .cns{color:var(--mint)}
.cnr{font-size:var(--t-1);color:var(--faint);font-variant-numeric:tabular-nums}
.cns{font:600 var(--t1)/1.2 var(--body);display:flex;align-items:baseline;gap:9px;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:emoji,var(--body)}
.cns .ch{margin-left:0;font-style:normal}
.cnk,.cnc{font-size:var(--t-1);color:var(--faint);text-align:right;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.cnk b,.cnc b{color:var(--text);font-weight:500;font-size:var(--t0);margin-right:5px}
.cnb{text-align:right}
@media(max-width:640px){
  .cn{grid-template-columns:28px minmax(0,1fr) 68px 56px;gap:10px}
  .cnc{display:none}
}

/* ------------------------------------------------------------------- docs */
/* Ayhan: "docs gibi bir sey lazim sistemi anlatan." Tek uzun sutun bir
   dokumantasyon degil — okur nerede oldugunu goremez. Solda yapiskan dizin,
   sagda icerik; ikisini AYIRAN sey tek bir dikey sac teli ve bosluk, kutu
   degil. Bolum numaralari (01, 02 ...) yapiyi rakamla kuruyor: ayni dil
   ana sayfadaki `.rk` ve podyumdaki `.prk` ile. */
.dpf{padding-top:clamp(34px,5vw,64px)}
.docs{display:grid;grid-template-columns:minmax(0,232px) minmax(0,1fr);
  gap:clamp(30px,5vw,72px);padding:clamp(30px,4.5vw,54px) 0 0;
  margin-top:clamp(26px,4vw,40px);border-top:1px solid var(--hair)}
.dnav{position:sticky;top:calc(var(--bar) + 26px);align-self:start;
  display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - var(--bar) - 60px);
  overflow-y:auto}
.dnav .hl{margin-bottom:14px}
.dnav a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;
  align-items:baseline;padding:8px 0;font-size:var(--t-1);color:var(--faint);
  line-height:1.35;transition:color .15s}
.dnav a i{font-style:normal;font-family:var(--num);font-size:10px;
  font-variant-numeric:tabular-nums;color:var(--faint);opacity:.75}
.dnav a:hover{color:var(--muted)}
.dnav a.on{color:var(--text)}
.dnav a.on i{color:var(--mint);opacity:1}
.dbody{min-width:0;max-width:64ch}
.dsec{padding-bottom:clamp(30px,4.4vw,52px);scroll-margin-top:calc(var(--bar) + 28px)}
.dsec+.dsec{border-top:1px solid var(--hair);padding-top:clamp(28px,4vw,46px)}
.dnum{display:block;font:400 var(--t-1)/1 var(--num);color:var(--mint);
  font-variant-numeric:tabular-nums;letter-spacing:.06em;margin-bottom:14px}
.dsec h2{margin:0 0 16px;font:600 var(--t2)/1.2 var(--body);letter-spacing:-.005em;
  color:var(--text);text-transform:none}
.dsec h2 .dan{display:inline-flex;align-items:baseline;gap:10px}
.dsec .dlk{font-size:var(--t-1);color:var(--faint);opacity:0;transition:opacity .15s}
.dsec h2:hover .dlk,.dsec .dan:focus-visible .dlk{opacity:1}
.dsec p{margin:0;font-size:var(--t0);line-height:1.72;color:var(--muted)}
/* Dar ekranda dizin yapiskan olamaz (ekranin yarisini yerdi): akisin icine
   giriyor. SATIR olarak sarmalamak denendi ve kotu: "05 Every KOL gets
   their own ladder  06 What you can check" ayni satirda birlesip liste
   olmaktan cikiyor. 620-860 arasi iki kolon, altinda tek kolon. */
@media(max-width:860px){
  .docs{grid-template-columns:1fr;gap:24px;padding-top:26px}
  .dnav{position:static;max-height:none;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .dnav .hl{grid-column:1/-1;margin-bottom:10px}
  .dnav a{padding:7px 0}
}
@media(max-width:620px){
  .dnav{grid-template-columns:1fr}
}

/* -------------------------------------------------- coin sayfasi: grafik */
/* DexScreener gomulusu. Cerceve site.js tarafindan, kutusuna GELINDIGINDE
   kuruluyor: sayfa acilisinda dis istek yok (marka kilidi), grafik ise
   okur oraya vardiginda hazir. Oran korunuyor ki kutu once yer kaplasin ve
   yukleme sayfayi zipla­tmasin. Kenarlik/kose yaricapi yok — kutuyu
   tanimlayan sey ustundeki sac teli, cercevenin kendi zemini degil. */
.chart{margin-top:clamp(30px,4.5vw,46px);padding:clamp(26px,4vw,36px) 0 0;
  border-top:1px solid var(--hair)}
.chead{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.cnote{font-size:var(--t-1);color:var(--faint)}
.cbox{position:relative;width:100%;aspect-ratio:16/9;min-height:320px;
  background:rgba(255,255,255,.014)}
.cbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.cbox noscript .cnote{padding:18px 0;display:block}
/* Telefonda 16:9 kutu 199 px kaliyor ve gomulunun KENDI arac cubuklari
   ondan yuksek — mum icin yer kalmiyordu. Kare + 360 px taban. */
@media(max-width:640px){.cbox{aspect-ratio:1/1;min-height:360px}}

/* --------------------------------------------------------------- duz metin */
/* how-it-works / for-kols gibi tek sutunlu sayfalar. Kutu yok. */
.prose{padding:8px 0 0;font-size:14px;color:var(--muted)}
/* Bolum basligi solda, metin sagda. Ayrac yok — hizanin kendisi yapiyi
   veriyor (GORSEL_DENETIM: 1280'de sag yari bombostu). */
.pr{display:grid;grid-template-columns:minmax(0,190px) minmax(0,58ch);
  gap:clamp(22px,4.5vw,60px);padding:clamp(26px,3.4vw,38px) 0 0}
.pr:first-child{padding-top:14px}
.prose h3{margin:0;font:600 12px/1.5 var(--body);letter-spacing:.2em;
  text-transform:uppercase;color:var(--text)}
.pb>*:last-child{margin-bottom:0}
.prose p{margin:0 0 14px}
@media(max-width:760px){
  .pr{grid-template-columns:1fr;gap:12px;padding-top:30px}
}
.prose b{color:var(--text);font-weight:500}
.prose a{color:var(--mint)}
/* /verified/ — katmanlar. Rozetin kendisi iki boyda: profilde gorundugu 13 px
   ve tanindigi 26 px. "Listed" katmaninin rozeti yok, yeri bos kalir. */
.tier{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;
  align-items:start;margin-bottom:20px}
.tks{display:flex;align-items:center;gap:7px;min-height:26px}
.tks .tick:first-child{width:26px;height:26px}
.tks .tick:last-child{width:13px;height:13px}
.prose ol,.prose ul{margin:0 0 14px;padding-left:20px}
.prose li{margin-bottom:8px}
.prose li::marker{color:var(--faint)}

/* ------------------------------------------------------------------- 404 */
.nf{padding:clamp(70px,14vw,160px) 0 clamp(50px,8vw,90px)}
.nf h1{font:400 clamp(30px,7vw,72px)/1.04 var(--disp)}
.nf h1 em{display:block;font-style:normal;color:var(--mint)}
.nf p{margin:clamp(20px,3vw,32px) 0 0;font-size:14px;color:var(--muted);max-width:44ch}
.nf .acts{display:flex;gap:20px;flex-wrap:wrap;padding:24px 0 0;font-size:13px}
.nf .acts a{color:var(--mint)}

/* ------------------------------------------------------------------ altlik */
footer{border-top:1px solid var(--hair);margin-top:clamp(56px,8vw,96px);
  padding:30px 0 64px;font-size:12px;color:var(--faint)}
footer b{color:var(--muted);font-weight:500}
footer a{color:var(--muted)}
footer a:hover{color:var(--mint)}
footer .l2{margin-top:8px}

/* --------------------------------------------------------------- hareket */
/* UC HAREKET VAR, HEPSI BU:
   1. Bolum sahnelenmesi — kaydirmayla, bir kez, 12 px yukselerek.
   2. Sayaclarin sayilmasi — yalniz masthead, yalniz acilista (site.js).
   3. Gozun uzerinden gecen tarama — sayfadaki TEK "orkestralanmis an"
      (brief'in kendi kurali: bir sayfada bir tane, gerisi sakin).
   Satir uzerine gelince beliren ok (.tx) ve `.dlk` birer gecis, hareket
   degil. `prefers-reduced-motion` ucunu de durduruyor.

   NEDEN BASLANGIC DURUMU JS ILE: `[data-rise]` HTML'de gorunur geliyor;
   gizleyen sey `html.anim` sinifi ve onu site.js koyuyor. JS kapaliyken
   hicbir sey gizlenmis olmuyor — bir sahneleme hatasi sayfayi bos
   birakamaz. */
@media(prefers-reduced-motion:no-preference){
  main{animation:fade .28s ease-out}
  @keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
  .anim [data-rise]{opacity:0;transform:translateY(12px);
    transition:opacity .55s cubic-bezier(.22,.61,.36,1),
               transform .55s cubic-bezier(.22,.61,.36,1)}
  .anim [data-rise].in{opacity:1;transform:none}
  /* TARAMA. Dis katmanin kompozisyon maskesine DOKUNMUYOR; bu, IC
     katmanin kendi maskesi. Maske yalniz eksiltebildigi icin oyunu
     tersten kuruyoruz: hareket varken gozun opakligi .30 -> .42'ye
     cikiyor ve maskenin dinlenme degeri .68 onu geri .29'a indiriyor —
     yani durur haldeki goruntu kilitli degerle ayni. Uzerinden gecen
     serit maskeyi 1'e getirdiginde o an .42 oluyor: noktalarin uzerinden
     gecen bir tarama. 14 sn: fark edilir, dikkat calmaz.
     `prefers-reduced-motion` bu blogun tamamini kapatir ve goz sabit
     .30'a doner. */
  .mast .eye{opacity:.42;
    -webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.68) 0 38%,#000 50%,rgba(0,0,0,.68) 62% 100%);
    mask-image:linear-gradient(100deg,rgba(0,0,0,.68) 0 38%,#000 50%,rgba(0,0,0,.68) 62% 100%);
    -webkit-mask-size:220% 100%;mask-size:220% 100%;
    -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
    animation:scan 14s linear infinite}
  @keyframes scan{from{-webkit-mask-position:135% 0;mask-position:135% 0}
                  to{-webkit-mask-position:-35% 0;mask-position:-35% 0}}
}
@media(prefers-reduced-motion:reduce){
  .tape{overflow-x:auto}                /* bant durur, elle kaydirilir */
  .tape-in{animation:none;width:auto}
  .anim [data-rise]{opacity:1;transform:none}
  *,*::before,*::after{animation-duration:.001ms !important;
    animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

/* ---------------------------------------------------------------- mobil */
@media(max-width:640px){
  body{font-size:14.5px}
  td{padding:15px 12px 15px 0;font-size:13.5px}
  th{padding-right:12px}
  .who b{font-size:13.5px;line-height:21px}
  .rk{line-height:21px}
  .figs{gap:22px 30px}
  .head{padding-top:32px}
  .head .tools{margin-left:0;width:100%;gap:14px}
  /* tablo yatay kayar, govde kaymaz */
  .tw{scrollbar-width:thin}
  /* K2'nin ikinci yarisi: sutunlari dusurmek tek basina yetmedi — ad sutunu
     `nowrap` yuzunden 251 px istiyordu ve tablo yine 36 px tasiyordu. Telefonda
     ad tek satirda kesiliyor (@handle zaten altinda tam duruyor) ve zincir
     isaretleri dusuyor. Olcum: 390 px'te tablo 390 -> 354 px, yatay kaydirma
     SIFIR. */
  .who .cms{display:none}   /* `.who span` ozgullugu `.cms`i geciyor */
  /* zincir ADI duser, ISARETI kalir — isaret zaten o adin isi (13 px yerine
     34 px yiyordu). Coin sayfasinin kunyesi haric: orada zincir baslikta. */
  td .ch em{display:none}
  .msub{display:block;margin-top:4px;font-size:11.5px;color:var(--muted)}
  td.wide{max-width:50vw}
  .who{max-width:46vw}
  .who b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .who b .tick{display:inline-block;vertical-align:-2px;margin-left:5px}
  .who span{display:block;overflow:hidden;text-overflow:ellipsis}
  /* yalniz "duz @handle" hucresi — token hucresindeki <a> blok olursa zincir
     isareti alt satira duser */
  td.mut.wide>a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* GORSEL_DENETIM K2: 390 px'te satirin ASIL rakami ekran disinda kaliyordu
     (/wars'ta 510 px gizli, ana sayfada "Best" yarim kesik). Yatay kaydirma
     duruyor ama artik ona GEREK KALMIYOR: ikincil sutunlar dar ekranda
     dusuyor, satirda "kim" ve "o satirin tek onemli rakami" kaliyor. `.opt`
     hem <th>'ye hem <td>'ye basiliyor, `display:none` hucreyi DOM'da
     birakiyor — site.js'in sutun indisleri (cells[idx]) bozulmuyor. */
  .opt{display:none}
}


/* ==================================================================== SAHNE
   3 Eyl (Ayhan: "cok basit, sinematik degil, kolwars vs header'ler ekle,
   en az 2-3 olmali"). Manset artik tek durağan blok degil: UC panel doner
   ve arkalarinda SICILIN KENDISI durur - son 72 kartin basamaklari.
   Bu bir doku degil KONU (GORSEL_DILI 6): kopyalanamayan tek sey o.
   Hareket tek yerde toplandi (panel gecisi); duvar hareketsiz, yoksa ust
   bandaki akan seritle yarisir ve sayfa gurultuye doner. */
.wall{position:absolute;inset:0 0 0 auto;width:min(58%,900px);
  display:flex;flex-wrap:wrap;align-content:center;justify-content:flex-end;
  gap:.55em 1.15em;padding:0 var(--pad);pointer-events:none;overflow:hidden;
  font:400 clamp(13px,1.15vw,19px)/1 var(--num);font-variant-numeric:tabular-nums;
  -webkit-mask-image:linear-gradient(105deg,transparent 0 34%,#000 78%);
  mask-image:linear-gradient(105deg,transparent 0 34%,#000 78%)}
.wall i{font-style:normal;color:var(--mint);opacity:.10}
.wall i.g{color:var(--gold);opacity:.14}
@media(max-width:900px){.wall{display:none}}

/* --- paneller ------------------------------------------------------- */
.panels{position:relative}
.panel{display:none}
.panel.on{display:block}
@media(prefers-reduced-motion:no-preference){
  .panel.on{animation:sahne .62s cubic-bezier(.16,.84,.28,1) both}
  @keyframes sahne{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
.ebrow{display:inline-flex;align-items:center;gap:9px;font:600 var(--t-2)/1 var(--body);
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(16px,2vw,26px)}
.ebrow.live::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--mint);flex:none}
@media(prefers-reduced-motion:no-preference){
  .ebrow.live::before{animation:nabiz 2.4s ease-in-out infinite}
  @keyframes nabiz{0%,100%{opacity:1}50%{opacity:.28}}
}
.prow{display:flex;align-items:center;gap:clamp(18px,2.6vw,38px);flex-wrap:wrap}
/* Panelin kahramani rakam: manset puntosunun yaridan biraz fazlasi. */
.pbig .mx{font-size:clamp(46px,6.6vw,92px);letter-spacing:-.022em;padding:0;background:none;border:0}
.ptitle{margin:0;font:400 clamp(21px,2.5vw,34px)/1.06 var(--disp);letter-spacing:-.005em;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pmeta{margin:10px 0 0;font-size:var(--t0);color:var(--muted);font-variant-numeric:tabular-nums}
.ptop{list-style:none;margin:clamp(18px,2.4vw,28px) 0 0;padding:0;
  display:flex;gap:clamp(20px,3vw,44px);flex-wrap:wrap}
.ptop li{display:flex;align-items:center;gap:10px;font-size:var(--t0);color:var(--muted)}
.ptop li b{color:var(--text);font-weight:600}
.pgo{display:inline-block;margin-top:clamp(20px,2.6vw,30px);font-size:var(--t0);color:var(--mint)}
.pgo:hover{opacity:.75}

/* --- gostergeler ---------------------------------------------------- */
.dots{display:flex;gap:10px;margin-top:clamp(26px,3.4vw,40px)}
.dots button{width:34px;height:2px;background:var(--hair-2);border-radius:2px;
  padding:0;transition:background .25s}
.dots button:hover{background:var(--muted)}
.dots button.on{background:var(--mint)}

/* Panel 2 ve 3'un mansetleri h1 ile AYNI ailede ama bir tik kucuk: sayfada
   tek bir h1 olmali (SEO ve ekran okuyucu), digerleri h2. Olcu farki
   kasitli - marka paneli sahnenin sahibi, digerleri konuk. */
.phead{margin:0;font:400 calc(var(--h1) * .82)/.94 var(--disp);letter-spacing:-.018em}
.phead em{display:block;font-style:normal;color:var(--mint)}

/* =========================================================== v4 (3 Eyl gece)
   Ayhan'in onayladigi yon: ilk surumun dili, sadelestirilmis. Dev Bungee
   manset + sagda nokta-matris goz (canvas), kutu/panel YOK, dusen cizgi ve
   toz TUM sayfanin arka planinda (#field, canvas). Renk/font kilidi aynen. */
#field{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main,footer,.tape{position:relative;z-index:1}
.lab{display:block;font:500 var(--t-2)/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.dot{width:7px;height:7px;background:var(--mint);border-radius:50%;display:inline-block;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
.live-tag{display:inline-flex;align-items:center;gap:8px;color:var(--mint)}
.arrow{color:var(--mint)}
.note{font-size:12px;color:var(--faint);margin:14px 0 0;max-width:56ch;line-height:1.6}
.note a{color:var(--mint);font-weight:700}
@media(prefers-reduced-motion:reduce){.dot{animation:none}}

/* ---- hero */
.hero4{position:relative;min-height:calc(100vh - var(--bar) - 38px);display:grid;grid-template-columns:minmax(0,1fr);align-items:center;overflow:hidden;border-bottom:1px solid var(--hair)}
.hero4 canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero4>.wrap{position:relative;width:100%;min-width:0;padding-top:64px;padding-bottom:56px}
.hero4 .col{max-width:62%}
.hero4 .panels{display:grid}
.hero4 .panel{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease,visibility 0s .55s}
.hero4 .panel.on{opacity:1;visibility:visible;transform:none;transition:opacity .55s ease,transform .55s ease,visibility 0s}
.ph1{margin:0;font:400 clamp(34px,6.4vw,92px)/.94 var(--disp);letter-spacing:-.005em;text-wrap:balance}
.ph1 em{display:block;font-style:normal;color:var(--mint)}
.hero4 .lab{margin-bottom:22px}
.hero4 .sub{margin:28px 0 0;max-width:50ch;color:var(--muted);font-size:var(--t1);line-height:1.5}
.hero4 .sub b{color:var(--text);font-weight:500}
.hero4 .go{margin-top:30px;display:flex;gap:28px;flex-wrap:wrap;font-weight:700}
.hero4 .go a{color:var(--mint)}
.dots{display:flex;gap:10px;margin-top:30px}
.dots button{width:34px;height:2px;background:rgba(255,255,255,.14);padding:0;position:relative;overflow:hidden}
.dots button i{position:absolute;inset:0;background:var(--mint);transform:scaleX(0);transform-origin:left}
.dots button.on i{animation:fill 8s linear forwards}
@keyframes fill{to{transform:none}}
@media(prefers-reduced-motion:reduce){.dots button.on i{animation:none;transform:none}}
.hero4 .figs{margin-top:40px;display:flex;flex-wrap:wrap;gap:28px 40px;padding:0}
.hero4 .figs div b{font-size:clamp(30px,2.9vw,45.8px)}
.strip{margin-top:64px}
.strip .lab{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.strip .rows{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px}
.lrow{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline;padding:14px 0;border-top:1px solid var(--hair);min-width:0}
.lrow>span{min-width:0}
.lrow b{font-size:var(--t2);color:var(--mint);line-height:1}
.lrow b.g{color:var(--gold)}
.lrow em{font-style:normal;font-weight:700;display:block}
.lrow i{font-style:normal;font-size:12px;color:var(--faint);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow s{grid-column:2;text-decoration:none;font-size:12px;color:var(--faint)}
a.lrow:hover em{color:var(--mint)}
@media(max-width:900px){.hero4{min-height:0}.hero4>.wrap{padding-top:40px;padding-bottom:40px}.hero4 .col{max-width:none}.hero4 .figs{gap:18px 28px;margin-top:32px}.hero4 .figs div b{font-size:var(--t4)}.strip{margin-top:40px}.strip .rows{grid-template-columns:1fr 1fr;gap:0 20px}.hero4 .sub{margin-top:20px}.hero4 .go{margin-top:24px}}

/* ---- bolumler: tek kalip */
.s4{padding:clamp(56px,8vw,104px) 0;border-top:1px solid var(--hair);position:relative}
.h4{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.h4 h2{margin:10px 0 0;font:400 clamp(22px,3.2vw,38px)/1.05 var(--disp);letter-spacing:0;text-transform:none;text-wrap:balance;max-width:22ch}
.h4 h2 em{font-style:normal;color:var(--mint)}
.h4 p{margin:12px 0 0;color:var(--muted);max-width:56ch;font-size:var(--t0)}
.h4 .tools a{color:var(--mint);font-weight:700;white-space:nowrap}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.two>div{min-width:0}
.two .lab{margin-bottom:6px}
@media(max-width:800px){.two{grid-template-columns:1fr;gap:40px}}

/* ---- merdiven */
.ladr{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 0 22px;border-bottom:1px solid var(--hair)}
.rung{display:flex;flex-direction:column;align-items:center;gap:8px}
.rung b{color:var(--mint);line-height:1;letter-spacing:-.03em;font-size:calc(14px + var(--i) * 6px)}
.rung.g b{color:var(--gold)}
.rung small{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:700px){.ladr{flex-wrap:wrap;justify-content:flex-start;gap:16px 22px}}

/* ---- KOL Wars */
.s4 .podium{grid-template-columns:1.3fr 1fr 1fr;padding:0;border:0}
.s4 .pod.one .ptot{font-size:clamp(64px,8.5vw,136px);letter-spacing:-.04em}
.s4 .pod .ptot{font-size:clamp(34px,3.6vw,52px)}
.s4 .pnm{font:400 clamp(16px,1.9vw,22px)/1.1 var(--disp)}
.s4 .pod.one .pnm{font-size:clamp(20px,2.6vw,30px)}
.s4 .state.g{font-size:12px}
.clock{margin-top:40px;padding-top:26px;border-top:1px solid var(--hair)}
.clock .cd{display:block;font-size:var(--t4);letter-spacing:.02em;color:var(--text);margin-top:8px}
.clock .cd.brk{color:var(--muted)}
.board{display:flex;flex-direction:column}
.brow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--hair)}
.brow:last-child{border-bottom:1px solid var(--hair)}
.brow .rk{line-height:1}
.brow .who b{font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brow .mx{font-size:16px}
a.brow:hover{background:rgba(255,255,255,.022)}
a.brow:hover .who b{color:var(--mint)}
@media(max-width:800px){.s4 .podium{grid-template-columns:1fr;gap:26px}}

/* ---- bugun */
.two .bigs{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;margin-top:10px}
.two .bgx{font-size:clamp(40px,4.4vw,60px)}
.two .coins{margin-top:10px}
.two .cn{grid-template-columns:34px minmax(0,1fr) 86px 64px}
.two .cnc{display:none}

/* ---- sicil + cagri */
.clip video{width:100%;aspect-ratio:2.5/1;object-fit:cover;display:block}
.clip .cap{margin:18px 0 0;color:var(--muted);max-width:44ch;font-size:var(--t1)}
.clip .cap b{color:var(--text);font-weight:500}
.facts{display:grid;gap:26px}
.fact b{display:block;font-size:var(--t5);line-height:1;letter-spacing:-.03em;color:var(--text)}
.fact b i{font-style:normal;color:var(--mint)}
.fact p{margin:10px 0 0;color:var(--muted);max-width:30ch;font-size:14px}
.band{margin-top:64px;padding-top:48px;border-top:1px solid var(--hair)}
.band .ph1{font-size:clamp(26px,4.6vw,60px);line-height:.98}
.band .go{margin-top:28px;display:flex;gap:32px;flex-wrap:wrap;font-weight:700}
.band .go a{color:var(--mint)}
.band .go a.v{color:var(--blue)}

/* ---- profil */
.pf4 .pf-id{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}
.avatar{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.06);display:grid;place-items:center;font:400 30px/1 var(--disp);color:var(--text)}
.rankbox{text-align:right}
.rankbox b{display:block;font-size:var(--t6);line-height:1;color:var(--gold);margin-top:8px}
.pf .acts .b{color:var(--blue);font-weight:700}
.h4s{margin:40px 0 8px;padding-top:40px;border-top:1px solid var(--hair)}
.h4s .live-tag{margin-top:12px}
.fbar{display:flex;gap:10px 26px;flex-wrap:wrap;align-items:center;margin:8px 0 6px}
.fgrp{display:flex;gap:4px;align-items:center}
.fgrp span{font:500 var(--t-2)/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-right:8px}
.fgrp button{font:600 12px var(--body);letter-spacing:.06em;padding:7px 10px;color:var(--muted);border-bottom:2px solid transparent}
.fgrp button.on{color:var(--text);border-bottom-color:var(--mint)}
table.calls td .mx{font-size:var(--t2)}
tr.fo{display:none}
.vbar{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--hair);margin-top:8px}
.vbar p{margin:0;color:var(--muted);max-width:60ch;font-size:14px}
.vbar p b{color:var(--text);font-weight:600}
.vbar a{color:var(--blue);font-weight:700;white-space:nowrap}
@media(max-width:700px){.pf4 .pf-id{grid-template-columns:auto 1fr}.rankbox{grid-column:1/-1;text-align:left}.vbar{grid-template-columns:1fr}.avatar{width:52px;height:52px;font-size:22px}}
.s4 .pnm,.s4 .pod.one .pnm{overflow-wrap:normal;word-break:normal;hyphens:none}
.s4 .pnm{font-size:clamp(14px,1.5vw,18px)}
.s4 .pod.one .pnm{font-size:clamp(17px,2vw,24px)}
.clock .cd{font-size:var(--t2);line-height:1.3}
/* ---- Faz 2: kalan sayfalar ayni dil (kols, cards, wars, coin, docs) */
.head h2{font:400 clamp(22px,3.2vw,38px)/1.05 var(--disp);letter-spacing:0;text-transform:none;text-wrap:balance;max-width:22ch}
.head h2 em{font-style:normal;color:var(--mint)}
.head .lab{margin-bottom:10px}
.podium{grid-template-columns:1.3fr 1fr 1fr}
.pod.one .ptot{font-size:clamp(64px,8.5vw,136px);letter-spacing:-.04em}
.pod .ptot{font-size:clamp(34px,3.6vw,52px)}
.pnm{font:400 clamp(14px,1.5vw,18px)/1.1 var(--disp);overflow-wrap:normal;word-break:normal}
.pod.one .pnm{font-size:clamp(17px,2vw,24px)}
.chart{margin-top:28px}
.chart .cbox{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.chart .chead{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
td.xc .feed-x{font-size:clamp(24px,2.6vw,32px)}
.prose h2,.docs h2{font-family:var(--disp);font-weight:400;letter-spacing:0;text-transform:none}
@media(max-width:640px){.podium{grid-template-columns:1fr;gap:22px}}
/* ---- arama: oneriler (4 Eyl) */
.qbox{position:relative}
.sug{position:absolute;top:calc(100% + 8px);right:0;min-width:300px;max-width:min(420px,90vw);background:rgba(7,9,10,.97);border:1px solid var(--hair2);z-index:70;padding:6px 0;max-height:60vh;overflow:auto}
.sug a{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding:9px 14px;font-size:13px}
.sug a b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sug a span{font-size:11px;color:var(--faint);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.sug a:hover,.sug a.on{background:rgba(255,255,255,.05)}
.sug a:hover b,.sug a.on b{color:var(--mint)}
.sug .none{padding:10px 14px;font-size:12px;color:var(--faint)}
@media(max-width:720px){#q{display:block}.top .right{gap:12px}.sug{right:-40px}}
/* ---- bant (4 Eyl): LIVE etiketi + basamak one cikar */
.tape{display:flex;align-items:center;height:46px}
.tlive{flex:none;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 var(--pad);font:700 11px/1 var(--body);letter-spacing:.22em;color:var(--mint);border-right:1px solid var(--hair);background:var(--ink);position:relative;z-index:2}
.tape-in{flex:1;min-width:0}
.ti{padding:0;margin-right:44px;gap:10px;align-items:baseline}
.ti b{font-size:17px;letter-spacing:-.02em}
.ti em{font-size:13.5px;font-weight:700;color:var(--text)}
.ti s{font-size:12px;color:var(--faint)}
.ti s+*{color:var(--faint);font-size:11px}
.ti::after{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--hair2);margin-left:44px;vertical-align:middle}
a.ti:hover em{color:var(--mint)}
@media(max-width:640px){.tlive{padding-left:var(--pad)}.ti{margin-right:28px}.ti::after{margin-left:28px}}
/* ---- podyum tasmasi (4 Eyl): sutunlar minmax(0), rakam nowrap ve bir tik kucuk */
.podium,.s4 .podium{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);gap:24px clamp(20px,3vw,44px);align-items:end}
.pod{min-width:0}
.ptot,.pod.one .ptot,.s4 .pod .ptot,.s4 .pod.one .ptot{white-space:nowrap;line-height:.9}
.pod.one .ptot,.s4 .pod.one .ptot{font-size:clamp(52px,6.6vw,108px)}
.pod .ptot,.s4 .pod .ptot{font-size:clamp(30px,3.2vw,46px)}
.pnm,.s4 .pnm{overflow-wrap:anywhere}
@media(max-width:640px){.podium,.s4 .podium{grid-template-columns:1fr}}

/* bant hizi (4 Eyl, Ayhan: cok yavas) */
.tape-in{animation-duration:55s}
@media(max-width:640px){.tape-in{animation-duration:40s}}

/* bant: yapiskan + daha hizli (4 Eyl) */
.tape{position:sticky;top:var(--bar);z-index:59;background:rgba(7,9,10,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.tape-in{animation-duration:30s}
@media(max-width:640px){.tape-in{animation-duration:22s}}

/* kanal bagi (4 Eyl) */
.top .tg{font-size:12.5px;color:var(--muted);white-space:nowrap}
.top .tg:hover{color:var(--mint)}
@media(max-width:720px){.top .tg{display:none}}

/* kart baglari (4 Eyl) */
a.bgx{display:block}
a.bgx:hover{opacity:.85}

.tlive{color:var(--mint)}
.tlive:hover{color:var(--text)}
@media(max-width:640px){.tlive{font-size:10px;letter-spacing:.16em}}

/* profil: foto + bio (4 Eyl, admin paneli) */
img.avatar{object-fit:cover}
.pf .bio{margin:10px 0 0;color:var(--text);font-size:15px;max-width:60ch}
.pf .acts a{margin-right:4px}
