/* /tournaments V2 — 06.10.2026 (N276). Site paleti: tw-header-b.css. font-size'lar !important:
   sitenin global `*:where(…){font-size:… !important}` kuralı (tw-header-b.css) aksi hâlde eziyor. */
.tv2{--bg:#0d1730;--bg2:#101A31;--bg3:#1C2946;--line:rgba(146,175,235,.14);--line2:rgba(146,175,235,.26);
  --text:#F3F4F6;--soft:#C9CED6;--muted:rgba(255,255,255,.55);--dim:rgba(255,255,255,.3);
  --red:#FF4655;--purple:#A855F7;--cyan:#00D9FF;--green:#10B981;--gold:#fbbf24;--cs:#F59E0B;
  --glass:rgba(29,88,165,.22);--glass2:rgba(29,88,165,.22);--gline:rgba(146,175,235,.22);--radius:14px;--gap:16px;--card-h:284px;--ease:cubic-bezier(.4,0,.2,1);--tv2-top:72px;
  position:relative;z-index:1;padding:0 0 48px;color:var(--text);font-family:'TW Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px!important;line-height:1.45}
.tv2 *,.tv2 *::before,.tv2 *::after{box-sizing:border-box}
.tv2 .tv2-wrap{max-width:1600px;margin-left:auto;margin-right:auto;width:100%}
.tv2 img{display:block;max-width:100%}
.tv2 a{color:inherit;text-decoration:none}
.tv2 button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.tv2 .hide{display:none!important}
.tv2 .gk{font-style:normal;font-weight:800;letter-spacing:.14em;color:var(--red)}
.tv2 .gk.g-csgo{color:var(--cs)}

/* üst bant */
.tv2 .hero{position:relative;margin:0 0 12px;border-radius:var(--radius);overflow:hidden;isolation:isolate;border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,330px) minmax(280px,380px);gap:28px;align-items:center;padding:24px 28px;background:var(--glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.tv2 .hero.nosl{grid-template-columns:1fr}
.tv2 .hero .tx{position:relative;z-index:3;min-width:0}
.tv2 .hero .mid{position:relative;z-index:3;display:flex;flex-direction:row;align-items:center;gap:16px;min-width:0}
.tv2 .hero .mid .mtx{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1 1 auto}
.tv2 .hero .ring{position:relative;width:64px;height:64px;flex:none}
.tv2 .hero .ring svg{width:64px;height:64px;transform:rotate(-90deg);display:block}
.tv2 .hero .ring .sg{fill:none;stroke:rgba(255,255,255,.14);stroke-width:5;transition:stroke .45s var(--ease),opacity .45s var(--ease);opacity:.9}
.tv2 .hero .ring.lit .sg.on{stroke:url(#tv2RingGrad);opacity:1}
.tv2 .hero .ring.open.lit .sg.on{filter:drop-shadow(0 0 3px rgba(168,85,247,.6))}
.tv2 .hero .ring .spin{fill:none;stroke:rgba(168,85,247,.55);stroke-width:1.5;stroke-dasharray:26 170;stroke-linecap:round;transform-box:fill-box;transform-origin:center;animation:tv2spin 5s linear infinite}
.tv2 .hero .ring.soon .spin{stroke:rgba(255,255,255,.22)}
@keyframes tv2spin{to{transform:rotate(360deg)}}
.tv2 .hero .ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px!important;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;text-align:center;padding:0 6px;line-height:1.1}
.tv2 .hero .ring b em{font-style:normal;color:var(--muted);font-weight:600}
.tv2 .hero .ring.soon b{font-size:10px!important}
.tv2 .hero .mid .st{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:6px;background:var(--red);font-size:11px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;width:fit-content;max-width:100%;white-space:nowrap;overflow:hidden}
.tv2 .hero .mid .st:not(.soon){background:#c8303f} /* 27.10: --red (#ff4655) üstünde açık yazı 3.0:1 idi; sitenin koyu kırmızı düğmesi ~5:1 */
.tv2 .hero .mid .st.soon{background:rgba(251,191,36,.9);color:#1a1300}
.tv2 .hero .mid .st::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:tv2pulse 1.8s ease-out infinite}
.tv2 .hero .mid .nm{font-size:18px!important;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tv2 .hero .mid .mt{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:13px!important;color:var(--soft);font-variant-numeric:tabular-nums}
.tv2 .hero .mid .mt .gk{font-size:11px!important}
.tv2 .hero .mid .mt .nw{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.tv2 .hero .mid .mt .dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--muted);margin:0 2px}
.tv2 .hero .poster{position:relative;z-index:3;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:transparent;border:1px solid var(--line2);animation:tv2posterGlow 3s ease-in-out infinite}
@keyframes tv2posterGlow{0%,100%{border-color:rgba(146,175,235,.26);box-shadow:0 0 0 0 rgba(168,85,247,0)}18%{border-color:rgba(192,132,252,.95);box-shadow:0 0 0 1px rgba(168,85,247,.55),0 0 22px rgba(168,85,247,.45)}}
.tv2 .hero .poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease)}
.tv2 .hero .poster img.on{opacity:1}
.tv2 .hero .bg{position:absolute;inset:-8%;z-index:0;background-size:cover;background-position:center;filter:blur(18px) saturate(1.2);opacity:0;transition:opacity .9s var(--ease)}
.tv2 .hero .bg.on{opacity:.1}
.tv2 .hero .vidw{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.tv2 .hero .vidw iframe,.tv2 .hero .vidw video{position:absolute;top:50%;left:50%;width:100%;aspect-ratio:16/9;min-height:100%;border:0;object-fit:cover;transform:translate(-50%,-50%) scale(1.18);opacity:0;filter:blur(6px) saturate(1.2) brightness(.8);transition:opacity 1.4s ease-out}
.tv2 .hero .vidw.on iframe,.tv2 .hero .vidw.on video{opacity:.55}
.tv2 .hero .shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,23,48,.92) 0%,rgba(13,23,48,.7) 55%,rgba(13,23,48,.5) 100%)}
.tv2 .hero .dots{display:flex;gap:6px;margin-top:4px}
.tv2 .hero .dots i{width:22px;height:4px;border-radius:2px;background:rgba(255,255,255,.22);cursor:pointer;overflow:hidden;position:relative}
.tv2 .hero .dots i.on::after{content:'';position:absolute;inset:0;background:var(--red);transform-origin:left;animation:tv2dot var(--slide,6s) linear forwards}
@keyframes tv2dot{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tv2 .kicker{display:flex;align-items:center;gap:10px;font-size:12px!important;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}
.tv2 .kicker em{font-style:normal;color:var(--muted)}
.tv2 .hero h1{margin:0;font-size:clamp(30px,4vw,46px)!important;font-weight:700;letter-spacing:-.015em;line-height:1.02;color:#fff;text-shadow:none}
.tv2 .hero p{margin:12px 0 0;color:var(--soft);max-width:72ch;font-size:14px!important;line-height:1.5;text-shadow:none;padding:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@keyframes tv2pulse{to{box-shadow:0 0 0 9px rgba(255,255,255,0)}}

/* sayılar */
.tv2 .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.tv2 .stat{position:relative;overflow:hidden;isolation:isolate;height:84px;padding:14px 16px 12px;border-radius:12px;background:var(--glass);border:1px solid var(--gline);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s var(--ease),border-color .2s}
.tv2 .stat:hover{transform:translateY(-2px);border-color:var(--c)}
/* kenarda dolaşan ışık demeti (conic + maske, yalnız 1.5px çerçeve görünür) + yavaş çapraz süpürme */
@property --tv2ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.tv2 .stat small,.tv2 .stat b{position:relative;z-index:1}
.tv2 .stat::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--tv2ang),transparent 0 68%,color-mix(in srgb,var(--k) 45%,transparent) 80%,var(--k) 88%,color-mix(in srgb,var(--k) 45%,transparent) 94%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:tv2beam 5s linear infinite}
.tv2 .stat.live::after{animation-delay:-1.25s}.tv2 .stat.soon::after{animation-delay:-2.5s}.tv2 .stat.done::after{animation-delay:-3.75s}
.tv2 .stat:hover::after{animation-duration:2s}
@keyframes tv2beam{to{--tv2ang:360deg}}
.tv2 .stat::before{content:'';position:absolute;top:-30%;bottom:-30%;left:-40%;width:40%;pointer-events:none;background:linear-gradient(100deg,transparent 0%,color-mix(in srgb,var(--k) 10%,transparent) 40%,color-mix(in srgb,var(--k) 22%,transparent) 50%,color-mix(in srgb,var(--k) 10%,transparent) 60%,transparent 100%);transform:translateX(0) skewX(-12deg);animation:tv2statsheen 7s ease-in-out infinite}
.tv2 .stat.live::before{animation-delay:1.7s}.tv2 .stat.soon::before{animation-delay:3.4s}.tv2 .stat.done::before{animation-delay:5.1s}
@keyframes tv2statsheen{0%,55%{transform:translateX(0) skewX(-12deg)}100%{transform:translateX(380%) skewX(-12deg)}}
.tv2 .stat.open{--c:rgba(16,185,129,.5);--k:rgba(16,185,129,.9);--fx:16,185,129}.tv2 .stat.live{--c:rgba(255,70,85,.5);--k:rgba(255,70,85,.9);--fx:255,70,85}.tv2 .stat.soon{--c:rgba(251,191,36,.42);--k:rgba(251,191,36,.85);--fx:251,191,36}.tv2 .stat.done{--c:rgba(168,85,247,.45);--k:rgba(168,85,247,.85);--fx:168,85,247}.tv2 .stat.done small::before{animation-delay:2.1s}
@keyframes tv2sweep{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}
.tv2 .stat small{font-size:10px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);white-space:nowrap;display:flex;align-items:center;gap:7px}
.tv2 .stat small::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:var(--k);box-shadow:0 0 0 0 var(--c);animation:tv2pulse 2.2s ease-out infinite}
.tv2 .stat.live small::before{animation-delay:.7s}.tv2 .stat.soon small::before{animation-delay:1.4s}
.tv2 .stat b{font-size:34px!important;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em;color:#fff;text-shadow:0 0 14px color-mix(in srgb,var(--k) 55%,transparent),0 0 2px color-mix(in srgb,var(--k) 80%,transparent);transition:text-shadow .25s var(--ease)}
.tv2 .stat:hover b{text-shadow:0 0 22px var(--k),0 0 2px #fff}
/* T1d: uzun durum etiketi ("Tamamlanan (Showdown + Trials)") kesilmesin — tek satır + üç nokta yerine en fazla 2 satır; kutu sabit
   84px yerine en az 84px; .stats öneki 145. satırdaki .badge.st/.stat small .t nowrap kuralını ezsin (ızgara satırı en uzununa göre esner, dört kutu yine eşit yükseklik: align-items stretch). */
.tv2 .stat{height:auto;min-height:84px;gap:6px}
.tv2 .stat small{white-space:normal;line-height:1.3}
.tv2 .stats .stat small .t{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}

/* filtre çubuğu + açılır menü */
.tv2 .bar{position:sticky;top:var(--tv2-top);z-index:20;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;margin:0 0 20px;border-radius:var(--radius);background:linear-gradient(var(--glass),var(--glass)),rgba(13,23,48,.92);border:1px solid var(--gline);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.tv2 .dd{position:relative}
.tv2 .dd-btn{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 10px 0 12px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;font-weight:600;font-size:13px!important;white-space:nowrap;transition:border-color .2s,background .2s}
.tv2 .dd-btn:hover{background:rgba(255,255,255,.06)}
.tv2 .dd.on .dd-btn,.tv2 .dd.open .dd-btn{border-color:rgba(255,70,85,.55)}
.tv2 .dd-btn .chev{width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--ease);margin-left:2px}
.tv2 .dd.open .chev{transform:translateY(2px) rotate(-135deg)}
.tv2 .dd-btn .lbl{color:var(--muted);font-weight:500}
.tv2 .dd-btn .gk{font-size:11px!important}
.tv2 .dd-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;padding:6px;border-radius:12px;background:linear-gradient(var(--glass2),var(--glass2)),rgba(13,23,48,.96);border:1px solid var(--line2);z-index:30;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .16s var(--ease),transform .16s var(--ease)}
.tv2 .dd.open .dd-menu{opacity:1;transform:none;pointer-events:auto}
.tv2 .opt{position:relative;display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border-radius:8px;font-size:13px!important;color:var(--soft);cursor:pointer;transition:background .15s,color .15s}
.tv2 .opt:hover,.tv2 .opt:focus-visible{background:rgba(255,255,255,.06);color:#fff;outline:0}
.tv2 .opt[aria-selected=true]{color:#fff;background:rgba(255,70,85,.12)}
.tv2 .opt[aria-selected=true]::after{content:'';margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
.tv2 .opt .n{margin-left:auto;font-size:11px!important;color:var(--muted);font-variant-numeric:tabular-nums}
.tv2 .opt[aria-selected=true] .n{margin-left:0}
.tv2 .opt .dot{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.tv2 .opt .gk{font-size:11px!important;width:30px}
.tv2 .search{flex:1 1 180px;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);margin:0}
.tv2 .search:focus-within{border-color:rgba(255,70,85,.55)}
.tv2 .search input{flex:1;min-width:0;background:none;border:0;color:var(--text);font:inherit;font-size:13px!important;outline:0;padding:0;height:100%;box-shadow:none}
.tv2 .search input::placeholder{color:var(--dim)}
.tv2 .right{display:flex;align-items:center;gap:6px;margin-left:auto}
.tv2 .count{display:none}
.tv2 .ib{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--line);color:var(--soft);font-size:18px!important}
.tv2 .ib[aria-pressed=true]{background:rgba(255,255,255,.1);color:#fff}
.tv2 .sheet-bg{display:none}

/* ızgara + kart */
.tv2 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--gap);align-items:stretch}
.tv2 .card{position:relative;height:auto;border-radius:var(--radius);isolation:isolate;overflow:hidden;background:transparent;cursor:pointer;opacity:0;transform:translateY(10px) scale(.985);animation:tv2in .34s var(--ease) forwards;animation-delay:calc(var(--i,0)*42ms);transition:transform .22s var(--ease),opacity .25s var(--ease)}
.tv2 .card.hid{display:none}
@keyframes tv2in{to{opacity:1;transform:none}}
.tv2 .card:hover{transform:translateY(-3px)}
.tv2 .card:focus-visible{outline:2px solid rgba(255,70,85,.7);outline-offset:2px}
.tv2 .card:hover .in{border-color:var(--line2)}
.tv2 .card .sheen{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;overflow:hidden}
.tv2 .card .sheen::before{content:'';position:absolute;top:-20%;bottom:-20%;left:-45%;width:45%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.07) 40%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.07) 60%,transparent 100%);transform:translateX(0) skewX(-12deg)}
.tv2 .card:hover .sheen::before{animation:tv2sheen .65s cubic-bezier(.3,.6,.4,1) forwards}
@keyframes tv2sheen{to{transform:translateX(330%) skewX(-12deg)}}
.tv2 .in{position:relative;margin:1px;z-index:1;border-radius:calc(var(--radius) - 1px);background:var(--glass);border:1px solid var(--gline);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);display:flex;flex-direction:column;overflow:hidden}
.tv2 .card.open .in{border-color:rgba(16,185,129,.55)}
.tv2 .card.open{box-shadow:0 0 0 1px rgba(16,185,129,.28),0 0 22px rgba(16,185,129,.16);animation:tv2in .34s var(--ease) forwards,tv2openGlow 2.8s ease-in-out infinite 1s}
@keyframes tv2openGlow{0%,100%{box-shadow:0 0 0 1px rgba(16,185,129,.22),0 0 14px rgba(16,185,129,.1)}50%{box-shadow:0 0 0 1px rgba(16,185,129,.6),0 0 30px rgba(16,185,129,.34)}}
.tv2 .card.open:hover{box-shadow:0 0 0 1px rgba(16,185,129,.7),0 0 36px rgba(16,185,129,.4)}
.tv2 .in>*{position:relative;z-index:1}
.tv2 .card.done .cover,.tv2 .card.done .name,.tv2 .card.done .r2,.tv2 .card.done .champ{opacity:.4;transition:opacity .25s var(--ease)}
.tv2 .card.done .badge.st{opacity:.75}.tv2 .card.done .badge.fmt,.tv2 .card.done .md{opacity:.55}
.tv2 .card.done:hover .cover,.tv2 .card.done:hover .name,.tv2 .card.done:hover .r2,.tv2 .card.done:hover .champ,.tv2 .card.done:hover .badge{opacity:1}
.tv2 .card:not(.done) .cover img{filter:saturate(1.1) contrast(1.04)}
.tv2 .cover{aspect-ratio:16/9;flex:none;position:relative;overflow:hidden;background:var(--bg3)}
.tv2 .cover::after{content:'';position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(180deg,transparent,rgba(16,26,49,.5))}
.tv2 .cover img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tv2 .card:hover .cover img{transform:scale(1.05)}
.tv2 .card.open .cover img{animation:tv2drift 26s ease-in-out infinite alternate;will-change:transform}
@keyframes tv2drift{from{transform:scale(1.06) translate3d(-1.5%,-1%,0)}to{transform:scale(1.12) translate3d(1.5%,1%,0)}}
.tv2 .card.open:hover .cover img{animation-play-state:paused}
.tv2 .badge{position:absolute;z-index:2;height:24px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border-radius:6px;font-size:11px!important;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(13,23,48,.86);border:1px solid var(--line2);color:#fff;white-space:nowrap;max-width:calc(100% - 20px)}
.tv2 .badge.st{top:10px;left:10px;height:26px;padding:0 10px;letter-spacing:.1em;background:rgba(13,23,48,.9);color:var(--sc);border-color:color-mix(in srgb,var(--sc) 55%,transparent);max-width:calc(100% - 118px);display:block;line-height:24px}
.tv2 .badge.st .t,.tv2 .stat small .t{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}
.tv2 .badge.st.long{letter-spacing:.02em;font-size:10px!important}
.tv2 .open .badge.st{--sc:#4ade80;background:rgba(6,28,22,.92);border-color:rgba(16,185,129,.75);display:inline-flex;align-items:center;gap:7px;line-height:1;font-weight:700;box-shadow:0 0 14px rgba(16,185,129,.22)}
.tv2 .open .badge.st::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.9);animation:tv2dotPulse 1.6s ease-out infinite}
@keyframes tv2dotPulse{0%{opacity:1;transform:scale(1)}55%{opacity:.35;transform:scale(.72)}100%{opacity:1;transform:scale(1)}} .tv2 .live .badge.st{--sc:var(--red)} .tv2 .soon .badge.st{--sc:var(--gold)} .tv2 .done .badge.st{--sc:#c084fc}
.tv2 .badge.fmt{top:10px;right:10px;height:28px;padding:0 11px;font-variant-numeric:tabular-nums;font-size:13px!important;gap:8px;background:rgba(13,23,48,.92);border-color:rgba(146,175,235,.3)}
.tv2 .badge.fmt .gk{font-size:11px!important}
.tv2 .badge.fmt .sep{width:1px;height:12px;background:var(--line2)}
.tv2 .badge.twm{top:auto;bottom:128px;right:10px;height:24px;padding:0 10px;letter-spacing:.1em;color:#ffb3ba;border-color:rgba(255,70,85,.6);background:rgba(13,23,48,.9);max-width:none}
.tv2 .badge.twm.topgun{color:#ffe08a;border-color:rgba(251,191,36,.6)}
.tv2 .badge.twm+.badge.twm{bottom:158px}
.tv2 .card.done .badge.twm{opacity:.65}
.tv2 .badge.cdb{top:auto;bottom:128px;left:10px;height:24px;padding:0 10px;gap:6px;color:#6ee7b7;border-color:rgba(16,185,129,.55);background:rgba(13,23,48,.9);max-width:calc(100% - 20px)}
.tv2 .badge.cdb em{font-style:normal;font-size:9px!important;letter-spacing:.1em;color:var(--muted)}
.tv2 .badge.cdb b{font-variant-numeric:tabular-nums;font-size:11px!important;text-transform:none;letter-spacing:.02em}
.tv2 .body{flex:none;height:118px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px 16px 12px;min-width:0}
.tv2 .name{height:22px;overflow:hidden;position:relative;font-size:15px!important;font-weight:700;line-height:22px;margin:0;color:#fff}
.tv2 .name span{display:inline-block;white-space:nowrap;padding-right:12px}
.tv2 .name.slide span{animation:tv2slide var(--dur,8s) ease-in-out infinite alternate}
@keyframes tv2slide{0%,12%{transform:translateX(0)}88%,100%{transform:translateX(var(--dx,0))}}
.tv2 .r2{display:flex;align-items:center;justify-content:space-between;gap:10px;height:20px}
.tv2 .r2 .cm{display:none}
.tv2 .sub{flex:1 1 auto;height:20px;display:flex;align-items:center;gap:7px;font-size:12px!important;color:var(--soft);white-space:nowrap;overflow:hidden;min-width:0}
.tv2 .sub .av{width:18px;height:18px;border-radius:50%;flex:none;background:var(--bg3);border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;font-size:9px!important;font-weight:700;color:#fff;overflow:hidden}
.tv2 .sub .av img{width:100%;height:100%;object-fit:cover}
.tv2 .sl{display:block;flex:1 1 auto;min-width:0;overflow:hidden;position:relative}
.tv2 .sl>span{display:inline-block;white-space:nowrap;padding-right:10px;line-height:20px;vertical-align:top}
.tv2 .sl.slide>span{animation:tv2slide var(--dur,8s) ease-in-out infinite alternate}
.tv2 .r2 .dt{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12px!important;color:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap;max-width:62%;overflow:hidden}
.tv2 .r2 .dt i.dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--muted);margin:0 1px}
.tv2 .r2 .dt>i:not(.dot){font-size:13px!important;color:var(--muted)}
.tv2 .r2 .dt .tw-lt-d,.tv2 .r2 .dt .tw-lt-h{font-size:inherit!important}
.tv2 .dt.gold{color:var(--gold);gap:6px}.tv2 .dt.gold b{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:12px!important}.tv2 .dt.gold em{font-style:normal;font-size:10px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tv2 .dt.stage{color:#ffb3ba}.tv2 .dt.stage>i{color:var(--red)}
.tv2 .md{flex:none;height:18px;display:inline-flex;align-items:center;padding:0 7px;border-radius:5px;font-size:10.5px!important;font-weight:600;letter-spacing:.03em;color:#d9c3ff;border:1px solid rgba(168,85,247,.4);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.tv2 .md.tw{color:#ffb3ba;border-color:rgba(255,70,85,.55);background:rgba(255,70,85,.1);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.tv2 .md.topgun{color:#ffe08a;border-color:rgba(251,191,36,.55);background:rgba(251,191,36,.1)}
.tv2 .r3{display:flex;align-items:center;gap:10px;height:28px;min-width:0}
.tv2 .seg{display:flex;gap:3px;flex:1 1 auto;height:8px;min-width:40px}
.tv2 .seg i{flex:1 1 0;border-radius:2px;background:rgba(255,255,255,.16);transform:scaleY(.7);transition:transform .3s var(--ease),background .3s}
.tv2 .seg i.on{background:linear-gradient(180deg,#c084fc,var(--purple));transform:none}
.tv2 .seg.dim i{background:rgba(255,255,255,.12)}
.tv2 .open .seg i.on:last-of-type{animation:tv2segp 1.6s ease-in-out infinite}
@keyframes tv2segp{0%,100%{opacity:1}50%{opacity:.35}}
.tv2 .live .seg i.on{background:var(--red)}
.tv2 .r3 .cnt{flex:none;font-size:13px!important;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.tv2 .r3 .cnt em{font-style:normal;color:var(--muted);font-weight:600}
.tv2 .champ{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1 1 auto}
.tv2 .champ .lg{align-self:center;width:24px;height:24px;border-radius:50%;flex:none;background:var(--bg3);overflow:hidden;border:1px solid rgba(251,191,36,.55);display:inline-flex;align-items:center;justify-content:center;font-size:10px!important;font-weight:700}
.tv2 .champ .lg img{width:100%;height:100%;object-fit:cover}
.tv2 .champ small{font-size:10px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.tv2 .champ b{font-size:13px!important;font-weight:700;min-width:0;color:#fff}
.tv2 .liveping{flex:none;position:relative;display:inline-flex;align-items:center;gap:8px;font-size:11px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.tv2 .liveping i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--red)}
.tv2 .liveping i::before,.tv2 .liveping i::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--red);opacity:0;animation:tv2ping 1.8s cubic-bezier(0,0,.2,1) infinite}
.tv2 .liveping i::after{animation-delay:.9s}
@keyframes tv2ping{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.tv2 .ozet{flex:none;height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:8px;font-weight:700;font-size:12px!important;color:#fff;border:1px solid rgba(168,85,247,.55);background:rgba(168,85,247,.16);transition:background .2s;white-space:nowrap}
.tv2 .ozet:hover{background:rgba(168,85,247,.32);color:#fff}

/* kompakt liste */
.tv2 .grid.compact{grid-template-columns:1fr;gap:10px}
.tv2 .grid.compact .card{height:104px;animation-delay:calc(var(--i,0)*28ms)}
.tv2 .grid.compact .in{position:absolute;inset:1px;margin:0;flex-direction:row;align-items:center}
.tv2 .grid.compact .cover{aspect-ratio:auto;height:100%;width:164px;flex:none;-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent 100%);mask-image:linear-gradient(90deg,#000 55%,transparent 100%)}
.tv2 .grid.compact .in>.badge{display:none}
.tv2 .grid.compact .r2 .cm{display:inline-flex;gap:6px;margin-right:4px}
.tv2 .grid.compact .r2 .cm .badge{position:static;height:20px;font-size:10px!important;padding:0 7px;max-width:none;display:inline-flex;line-height:1}
.tv2 .grid.compact .r2 .cm .badge.twm{max-width:none}
.tv2 .grid.compact .r2{justify-content:flex-start}
.tv2 .grid.compact .r2 .sub{flex:0 1 auto;max-width:34ch}.tv2 .grid.compact .r2 .sub .sl{max-width:28ch}
.tv2 .grid.compact .body{height:auto;flex:1 1 auto;padding:10px 170px 10px 16px;gap:6px;position:relative}
.tv2 .grid.compact .r3{height:26px}
.tv2 .grid.compact .r2 .dt{position:absolute;right:14px;top:50%;transform:translateY(-50%);max-width:none}
.tv2 .grid.compact .done .r2 .dt{right:104px}
.tv2 .grid.compact .r3 .ozet{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.tv2 .grid.compact .name{height:24px;font-size:15px!important;line-height:24px}
.tv2 .grid.compact .sub{height:16px}
.tv2 .grid.compact .seg{max-width:340px;height:9px}
.tv2 .grid.compact .champ .lg{width:22px;height:22px}

/* boş durum · daha fazla · uyarı */
.tv2 .empty{display:none;flex-direction:column;align-items:center;gap:10px;padding:48px 16px;border-radius:var(--radius);border:1px dashed var(--line2);background:var(--glass);color:var(--soft);text-align:center}
.tv2 .empty.show{display:flex}.tv2 .empty b{font-size:18px!important;color:#fff}.tv2 .empty span{font-size:14px!important}.tv2 .empty i{font-size:34px!important;color:var(--muted)}
.tv2 .pag{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:24px;min-height:40px}
.tv2 .more{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 18px;border-radius:10px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:#fff;font-weight:700;font-size:13px!important;transition:background .2s,border-color .2s}
.tv2 .more:hover{background:rgba(255,255,255,.08);border-color:rgba(255,70,85,.55)}
.tv2 .more[disabled]{opacity:.5;cursor:default}
.tv2 .loading{font-size:13px!important;color:var(--muted)}
.tv2 .toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);z-index:40;padding:10px 16px;border-radius:10px;background:#1C2946;border:1px solid rgba(255,70,85,.55);color:#fff;font-size:13px!important;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px)}
.tv2 .toast.on{opacity:1;transform:translate(-50%,0)}

/* sağdan-sola diller */
.tv2[dir=rtl] .badge.st{left:auto;right:10px}
.tv2[dir=rtl] .badge.fmt{right:auto;left:10px}
.tv2[dir=rtl] .badge.twm{right:auto;left:10px}.tv2[dir=rtl] .badge.cdb{left:auto;right:10px}
.tv2[dir=rtl] .dd-menu{left:auto;right:0}
.tv2[dir=rtl] .right{margin-left:0;margin-right:auto}
.tv2[dir=rtl] .opt .n,.tv2[dir=rtl] .opt[aria-selected=true]::after{margin-left:0;margin-right:auto}
.tv2[dir=rtl] .name span,.tv2[dir=rtl] .sl>span{padding-right:0;padding-left:12px}
.tv2[dir=rtl] .grid.compact .body{padding:8px 14px 8px 150px}
.tv2[dir=rtl] .grid.compact .r2 .dt,.tv2[dir=rtl] .grid.compact .r3 .ozet{right:auto;left:14px}
.tv2[dir=rtl] .grid.compact .done .r2 .dt{left:104px}
.tv2[dir=rtl] .grid.compact .cover{-webkit-mask-image:linear-gradient(270deg,#000 55%,transparent 100%);mask-image:linear-gradient(270deg,#000 55%,transparent 100%)}
.tv2[dir=rtl] .hero .shade{background:linear-gradient(270deg,rgba(13,23,48,.92) 0%,rgba(13,23,48,.7) 55%,rgba(13,23,48,.5) 100%)}

@media (max-width:1100px){.tv2 .hero{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.tv2 .hero.nosl{grid-template-columns:1fr}.tv2 .hero .mid{grid-column:1/-1;order:3}.tv2 .hero .mid .nm{-webkit-line-clamp:1}}
@media (max-width:640px){
  .tv2{padding:0 0 32px}
  .tv2 .hero,.tv2 .hero.nosl{grid-template-columns:1fr;padding:12px;margin:0 0 12px;gap:12px}.tv2 .hero p{display:none}.tv2 .hero .tx{grid-row:1;padding:4px 4px 0}.tv2 .hero .poster{grid-row:2;grid-column:1;order:0}.tv2 .hero .mid{grid-row:2;grid-column:1;order:0;align-self:end;z-index:4;margin:0 8px 8px;padding:10px 12px;border-radius:10px;background:rgba(8,23,43,.9);border:1px solid var(--gline);gap:12px}.tv2 .hero .mid .mtx{gap:6px}.tv2 .hero .mid .nm{font-size:14px!important;-webkit-line-clamp:1}.tv2 .hero .mid .mt{font-size:11px!important}.tv2 .hero .mid .st{height:22px;font-size:10px!important}.tv2 .hero .ring,.tv2 .hero .ring svg{width:50px;height:50px}.tv2 .hero .ring b{font-size:11px!important}.tv2 .hero .ring.soon b{font-size:9px!important}.tv2 .kicker{margin-bottom:6px}
  .tv2 .stats{grid-template-columns:1fr;gap:6px}.tv2 .stat{height:auto;min-height:48px;gap:12px;flex-direction:row;align-items:center;justify-content:space-between;padding:6px 14px}.tv2 .stat b{font-size:20px!important}
  .tv2 .bar{position:static;padding:8px;gap:6px}.tv2 .search{order:-1;flex-basis:100%}.tv2 .bar .dd{flex:1 1 0;min-width:0}.tv2 .dd-btn{width:100%;justify-content:space-between;padding:0 10px}.tv2 .dd-btn .dd-val{overflow:hidden;text-overflow:ellipsis}.tv2 .right{flex-basis:100%;justify-content:flex-end;margin-left:0}
  .tv2 .grid,.tv2 .grid.compact{grid-template-columns:1fr;gap:12px}.tv2 .grid.compact .cover{width:120px}
  .tv2 .sheet-bg{display:block;position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .2s}
  .tv2 .sheet-bg.on{opacity:1;pointer-events:auto}
  .tv2 .dd-menu{position:fixed;left:8px;right:8px;top:auto;bottom:8px;min-width:0;max-height:min(60vh,420px);overflow-y:auto;transform:translateY(12px)}
  .tv2 .opt{height:46px}
  .tv2 #tv2DdGame .dd-btn{justify-content:center;gap:10px}.tv2 #tv2DdGame .gk+.dd-val{display:none}
}
@media (prefers-reduced-motion:reduce){.tv2 *,.tv2 *::before,.tv2 *::after{animation:none!important;transition:none!important}.tv2 .card{opacity:1;transform:none}}
/* rel3 (26.10) — denetçi ölçümü 15-50-01 kusurları.
   1) Kök neden: oturum açıkken hub.php games/_generic/_tp_style.php'yi yükler; onun 21. satırı html VE body'ye overflow-x:hidden verir.
      html'in overflow'u görünür olmayınca body'ninki pencereye taşınmaz, body kendi kaydırma kabı olur (overflow-y auto'ya döner):
      sayfa pencerede değil body içinde kayar, sabit alt menü ve zemin pencere boyunda kalır, altı kesilir. clip kaydırma kabı kurmaz.
      Kapsam: yalnız bu kabuğu taşıyan sayfa (#tv2); :has kimlik özgüllüğüyle sonradan yüklenen _tp_style kuralını yener. */
html:has(#tv2),html:has(#tv2) body{overflow-x:clip}
/* 2) Durum etiketi: büyük harf + .14em aralık 'Tamamlanan (Showdown + Trials)' metnini iki satıra sığdırmıyor, kesiyordu (i.t);
      tr yereli büyütmede 'TRİALS' de yanlış basılıyordu. SKL-EKRAN-06 etiket ölçüsü: 12px/600/.04em, cümle düzeni. */
.tv2 .stat small{font-size:12px!important;font-weight:600;letter-spacing:.04em;text-transform:none;line-height:1.35}
/* 4) Boş oyunda (hiç kayıt yok) temizlenecek filtre yok: düğme gizli, alt metin 'henüz turnuva yok' (görünümde .soon sınıfı). */
.tv2 .empty.soon .ozet{display:none}
/* 1b) Takımlarım kartı (hub, oturum açıkken): opak koyu zemin yerine kabuğun cam yüzeyi; boş durumla arası 24px. */
.tv2 .gx{margin-top:24px!important}
.tv2 .gx .gx-card{background:var(--glass);border:1px solid var(--gline);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
@media (max-width:640px){
  /* 3) Filtre bloğu iki düzenli satır: arama (2 sütun) + görünüm düğmeleri, altında oyun/format/durum eşit sütunlarda.
        Önceden .right %100 tabanla üçüncü satıra düşüyordu. Izgara yönü dir=rtl ile kendiliğinden döner. */
  .tv2 .bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  /* arama tam genişlik (2 sütuna daralınca yer tutucu kesiliyordu); görünüm düğmeleri aynı satırın ucunda, aramanın iç dolgusunda */
  .tv2 .bar .search{grid-column:1/-1;grid-row:1;min-width:0;padding-inline-end:92px}
  .tv2 .bar .right{grid-column:3;grid-row:1;justify-self:end;justify-content:flex-end;margin:0;padding-inline-end:4px;position:relative;z-index:1}
  .tv2 .bar .right .ib{width:40px;height:30px;border-radius:7px}
  .tv2 .bar .dd{grid-row:2;min-width:0}
}
