/* Bireysel sporlar (Ajan U): tenis kura çizelgesi, MMA kartı, dövüşçü kariyeri, tenis formu, sıklet sıralamaları.
   Önce mobil: kura turları yatay kaydırılan sütunlar (yaslamalı; dar ekranda bir sütun ≈ ekran), geniş ekranda seçilen turdan itibaren
   hizalı çizelge. Renkler tema belirteçlerinden (koyu / açık), yüksek karşıtlık kipinde sistem renkleri. Sayfa yatay taşmaz: kaydırma yalnızca
   .bracket__track içinde. */

/* ------------------------------------------------------------------ kura */
.bracket { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.bracket__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.bracket__head h2 { margin: 0; }
.bracket__champ { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-pill); background: var(--primary-soft);
  color: var(--text); font-size: var(--fs-sm); font-weight: 600; max-width: 100%; }
.bracket__champ a { color: inherit; }
.bracket__chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; padding-block-end: 2px; -webkit-overflow-scrolling: touch; }
.bracket__chip { flex: 0 0 auto; display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 12px; min-height: 36px; border-radius: var(--radius-pill);
  border: 1px solid var(--border); background: var(--surface); color: var(--text-secondary); font-size: var(--fs-sm); text-decoration: none; white-space: nowrap; }
.bracket__chip small { color: var(--muted); font-size: var(--fs-2xs); }
.bracket__chip:hover { border-color: var(--border-strong); color: var(--text); }
.bracket__chip[aria-current="true"], .bracket__chip.is-selected { background: var(--primary-soft); border-color: var(--primary); color: var(--text); font-weight: 600; }
.bracket__chip:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.bracket__hint { margin: 0; }
.bracket__track { display: flex; align-items: flex-start; gap: var(--space-3); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 2px;
  padding-block-end: var(--space-2); -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.bracket__track:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: var(--radius-sm); }
.bracket__round { flex: 0 0 min(86vw, 300px); scroll-snap-align: start; display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.bracket__round[hidden] { display: none; }
.bracket__rname { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0; padding: 6px 10px; border-radius: var(--radius-sm);
  background: var(--surface2); font-size: var(--fs-sm); font-weight: 600; color: var(--text); }
.bracket__rname small { color: var(--muted); font-weight: 500; font-size: var(--fs-2xs); white-space: nowrap; }
.bracket__round.is-current .bracket__rname { box-shadow: inset 3px 0 0 var(--primary); }
.bracket__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); flex: 1 1 auto; }
@media (min-width: 900px) {
  /* Geniş ekran: seçilen turdan sonraki sütunlar ilk görünür sütunun yüksekliğine uzar, maçlar ağaç gibi ortalanır */
  .bracket__track { align-items: stretch; }
  .bracket__round { flex-basis: 260px; }
  .bracket__list { justify-content: space-around; }
}

.bkt { position: relative; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface);
  overflow: hidden; }
.bkt.is-live { border-color: var(--live); box-shadow: var(--live-glow); }
.bkt.is-next { border-color: var(--primary); }
.bkt__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 26px; padding: 3px 4px 3px 10px; background: var(--surface2);
  font-size: var(--fs-2xs); color: var(--muted); }
.bkt__state { display: inline-flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bkt__state .is-live { color: var(--live); font-weight: 600; }
.bkt__tag { padding: 1px 6px; border-radius: var(--radius-pill); background: var(--primary-soft); color: var(--text); font-weight: 600; }
.bkt__open { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 26px; border-radius: var(--radius-xs); color: var(--text-secondary); }
.bkt__open:hover { color: var(--text); background: var(--surface3); }
.bkt__open:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; }
.bkt__side { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 6px; min-height: 34px; padding: 3px 8px 3px 8px;
  font-size: var(--fs-sm); color: var(--text-secondary); }
.bkt__side + .bkt__side { border-block-start: 1px solid var(--border); }
.bkt__side.is-winner { color: var(--text); font-weight: 600; }
.bkt__side.is-winner .bkt__name::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-inline-start: 6px; border-radius: 50%; background: var(--success); vertical-align: middle; }
.bkt__side.is-loser { opacity: .78; }
.bkt__seed { min-width: 22px; padding: 1px 4px; border-radius: var(--radius-xs); background: var(--surface3); color: var(--text-secondary); font-size: var(--fs-2xs);
  font-weight: 600; text-align: center; }
.bkt__seed--empty { background: transparent; }
.bkt__name { display: flex; align-items: center; gap: 6px; min-width: 0; color: inherit; text-decoration: none; }
.bkt__name .truncate { min-width: 0; }
a.bkt__name:hover .truncate { text-decoration: underline; }
a.bkt__name:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: 4px; }
.bkt__name--tbd { color: var(--muted); font-style: italic; font-weight: 400; }
.bkt__rank { color: var(--muted); font-size: var(--fs-2xs); font-weight: 500; }
.bkt__sets { display: inline-flex; gap: 2px; font-variant-numeric: tabular-nums; font-family: var(--font-mono); font-size: var(--fs-xs); }
.bkt__set { min-width: 16px; text-align: center; color: var(--muted); }
.bkt__set.is-won { color: var(--text); font-weight: 700; }
.bkt__set sup { font-size: 0.65em; margin-inline-start: 1px; }
.bkt__note { padding: 3px 10px 6px; font-size: var(--fs-2xs); color: var(--muted); }

.drawnow { display: grid; grid-template-columns: 1fr; gap: var(--space-2); }
@media (min-width: 640px) { .drawnow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ------------------------------------------------------------------ MMA kartı */
.mcard { display: flex; flex-direction: column; gap: var(--space-4); }
.mcard__section h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 var(--space-2); font-size: var(--fs-md); }
.mcard__section h3 small { color: var(--muted); font-weight: 500; font-size: var(--fs-xs); }
.mcard__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.fight { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); padding: var(--space-2) var(--space-3); display: flex;
  flex-direction: column; gap: 6px; }
.fight--main { border-color: var(--primary); background: linear-gradient(180deg, var(--primary-soft), transparent 60%), var(--surface); }
.fight.is-live { border-color: var(--live); box-shadow: var(--live-glow); }
.fight.is-current { outline: 2px solid var(--accent); outline-offset: 1px; }
.fight__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: var(--fs-xs); color: var(--text-secondary); }
.fight__badge { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: var(--radius-pill); font-size: var(--fs-2xs); font-weight: 700;
  letter-spacing: .02em; text-transform: uppercase; background: var(--surface3); color: var(--text); }
.fight__badge--main { background: var(--primary); color: var(--on-primary); }
.fight__badge--title { background: var(--warning-soft); color: var(--text); box-shadow: inset 0 0 0 1px var(--warning); }
.fight__badge--live { background: var(--live); color: #fff; }
.fight__body { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--space-2); }
.fight__side { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--text); text-decoration: none; }
.fight__side--away { flex-direction: row-reverse; text-align: end; }
.fight__who { display: flex; flex-direction: column; min-width: 0; }
.fight__who strong { font-size: var(--fs-sm); line-height: 1.25; overflow-wrap: anywhere; }
.fight__who small { color: var(--muted); font-size: var(--fs-2xs); font-variant-numeric: tabular-nums; }
a.fight__side:hover strong { text-decoration: underline; }
a.fight__side:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: var(--radius-xs); }
.fight__side.is-winner strong::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-inline-start: 6px; border-radius: 50%; background: var(--success); vertical-align: middle; }
.fight__side.is-loser { opacity: .75; }
.fight__rank { display: inline-block; min-width: 22px; padding: 0 4px; border-radius: var(--radius-xs); background: var(--surface3); font-size: var(--fs-2xs); font-weight: 700;
  text-align: center; color: var(--text); }
.fight__rank--champ { background: var(--warning); color: var(--ink-900); }
.fight__mid { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: var(--fs-xs); color: var(--muted); text-align: center; }
.fight__mid a { color: var(--text-secondary); font-weight: 600; }
.fight__result { font-size: var(--fs-xs); color: var(--text-secondary); }
@media (max-width: 420px) {
  .fight__body { grid-template-columns: minmax(0, 1fr); }
  .fight__side--away { flex-direction: row; text-align: start; }
  .fight__mid { flex-direction: row; justify-content: flex-start; gap: 8px; }
}
.mcard-mini { list-style: none; margin: 0; padding: 0; }
.mcard-mini li a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; padding: 6px 10px; color: var(--text); text-decoration: none; border-radius: var(--radius-xs); }
.mcard-mini li a:hover { background: var(--surface-hover); }
.mcard-mini li a[aria-current="page"] { background: var(--primary-soft); }
.mcard-mini small { grid-column: 1 / -1; color: var(--muted); font-size: var(--fs-2xs); }
.mcard-mini .truncate { font-size: var(--fs-sm); }

/* ------------------------------------------------------------------ dövüşçü / form */
.career { display: flex; flex-direction: column; gap: var(--space-4); }
.career__top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5); }
.career__record { display: flex; align-items: baseline; gap: 10px; }
.career__record strong { font-family: var(--font-display); font-size: var(--fs-4xl); line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.career__record span { color: var(--text-secondary); font-size: var(--fs-sm); }
.career__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.career__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
@media (min-width: 720px) { .career__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.career__box { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); padding: var(--space-3); min-width: 0; }
.career__box h3 { margin: 0 0 var(--space-2); font-size: var(--fs-sm); color: var(--text-secondary); font-weight: 600; }
.mbar { display: grid; grid-template-columns: minmax(84px, max-content) minmax(0, 1fr) 2.5ch; align-items: center; gap: 6px 10px; font-size: var(--fs-sm); }
.mbar + .mbar { margin-block-start: 6px; }
.mbar__track { height: 10px; border-radius: var(--radius-pill); background: var(--surface2); overflow: hidden; }
.mbar__fill { display: block; height: 100%; border-radius: inherit; background: var(--success); }
.mbar--loss .mbar__fill { background: var(--danger); }
.mbar__n { text-align: end; font-variant-numeric: tabular-nums; font-weight: 600; }
.stack-bar { display: flex; height: 14px; border-radius: var(--radius-pill); overflow: hidden; background: var(--surface2); }
.stack-bar span { display: block; height: 100%; }
.stack-bar span:nth-child(1) { background: var(--primary); }
.stack-bar span:nth-child(2) { background: var(--accent); }
.stack-bar span:nth-child(3) { background: var(--info); }
.stack-legend { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 6px 0 0; padding: 0; list-style: none; font-size: var(--fs-xs); color: var(--text-secondary); }
.stack-legend li::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-inline-end: 5px; border-radius: 2px; vertical-align: middle; background: var(--primary); }
.stack-legend li:nth-child(2)::before { background: var(--accent); }
.stack-legend li:nth-child(3)::before { background: var(--info); }
.formchips { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 0; }
.formchip { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 30px; min-height: 30px; padding: 2px 4px; border-radius: var(--radius-xs);
  font-size: var(--fs-xs); font-weight: 700; color: #fff; background: var(--muted); line-height: 1.1; }
.formchip small { font-size: 0.6rem; font-weight: 600; opacity: .9; }
.formchip--W { background: var(--win-600); }
.formchip--L { background: var(--loss-600); }
.formchip--D { background: var(--draw-600); }
.formrow { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; padding: 8px 10px; border-radius: var(--radius-sm);
  color: var(--text); text-decoration: none; }
.formrow + .formrow { border-block-start: 1px solid var(--border); }
.formrow:hover { background: var(--surface-hover); }
.formrow__main { display: flex; flex-direction: column; min-width: 0; }
.formrow__main strong { font-size: var(--fs-sm); overflow-wrap: anywhere; }
.formrow__main small { color: var(--muted); font-size: var(--fs-2xs); }
.formrow__end { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: var(--fs-xs); color: var(--text-secondary); text-align: end; }
.surf { display: inline-flex; align-items: center; gap: 4px; padding: 0 6px; border-radius: var(--radius-pill); font-size: var(--fs-2xs); font-weight: 600; background: var(--surface3); color: var(--text); }
.surf::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.surf--hard::before { background: var(--sky-500); }
.surf--clay::before { background: #D2691E; }
.surf--grass::before { background: var(--win-500); }
.surf--carpet::before { background: var(--violet-400); }
.splits { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.splits th, .splits td { padding: 6px 4px; border-block-end: 1px solid var(--border); text-align: start; }
.splits td.n, .splits th.n { text-align: end; font-variant-numeric: tabular-nums; }
.rkcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-2); }
.rkcard { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); background: var(--surface); }
.rkcard strong { display: block; font-family: var(--font-display); font-size: var(--fs-2xl); font-variant-numeric: tabular-nums; }
.rkcard small { display: block; color: var(--muted); font-size: var(--fs-xs); }
.rkchart { width: 100%; height: auto; display: block; color: var(--primary); }
.rkchart .grid { stroke: var(--border); stroke-width: 1; }
.rkchart .line { fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linejoin: round; stroke-linecap: round; }
.rkchart .line--b { stroke: var(--accent); }
.rkchart text { fill: var(--muted); font-size: 11px; font-family: var(--font-body); }
.rkchart circle { fill: currentColor; }

/* ------------------------------------------------------------------ sıklet sıralamaları */
.mrank__tabs { display: flex; gap: 4px; overflow-x: auto; padding: 0 6px 6px; scrollbar-width: thin; }
.mrank__tab { flex: 0 0 auto; padding: 4px 10px; min-height: 32px; border-radius: var(--radius-pill); border: 1px solid var(--border); background: var(--surface);
  color: var(--text-secondary); font-size: var(--fs-xs); cursor: pointer; white-space: nowrap; }
.mrank__tab[aria-selected="true"] { background: var(--primary-soft); border-color: var(--primary); color: var(--text); font-weight: 600; }
.mrank__tab:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.mrank__panel h3 { margin: 0; padding: 4px 10px; font-size: var(--fs-xs); color: var(--text-secondary); }
.mrank__c { color: var(--warning); }

@media (forced-colors: active) {
  .bkt.is-live, .fight.is-live, .bkt.is-next { border: 2px solid Highlight; }
  .mbar__fill, .stack-bar span, .formchip { forced-color-adjust: none; background: Highlight; color: HighlightText; }
}
@media (prefers-reduced-motion: reduce) {
  .bracket__track, .bracket__chips { scroll-behavior: auto; }
}
.fight__result, .mcard__note { margin: 0; }
@media (max-width: 520px) {
  /* Dar ekran: tarih / yöntem / setler adın altına (ad sıkışmaz) */
  .formrow { grid-template-columns: auto minmax(0, 1fr); }
  .formrow__end { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 2px 10px; text-align: start; }
}
