﻿/* ==========================================================================
   HAKEM HATALARI — Tasarım Sistemi
   Renk referansı: site logosu (bordo kukla figürü + ten tonu el)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design Tokens
   -------------------------------------------------------------------------- */
:root {
    /* Marka — logodaki bordo */
    --bordo-900: #4A0E19;
    --bordo-800: #6B1424;
    --bordo-700: #8C1C2B;
    --bordo-600: #A62234;
    --bordo-500: #C22A3F;
    --bordo-300: #E68A97;
    --bordo-100: #FBE9EC;

    /* Marka — logodaki ten tonu (ikincil vurgu) */
    --ten-600: #C98668;
    --ten-500: #E0A183;
    --ten-300: #F0C9B4;
    --ten-100: #FBEEE7;

    /* Nötrler */
    --ink-900: #140D0F;
    --ink-800: #201619;
    --ink-700: #3A2C30;
    --ink-500: #6B5B60;
    --ink-400: #8E8085;
    --ink-200: #DED6D8;
    --ink-100: #EFEAEB;
    --ink-050: #F8F5F5;
    --white: #ffffff;

    /* Durum renkleri */
    --success: #1E8E5A;
    --warning: #C98A16;
    --danger: var(--bordo-500);

    /* Tipografi */
    --font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
    --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

    /* Ölçek */
    --radius-sm: 6px;
    --radius: 12px;
    --radius-lg: 20px;
    --shadow-sm: 0 1px 2px rgba(20, 13, 15, .06), 0 2px 6px rgba(20, 13, 15, .04);
    --shadow: 0 4px 12px rgba(20, 13, 15, .08), 0 12px 32px rgba(20, 13, 15, .06);
    --shadow-lg: 0 12px 28px rgba(20, 13, 15, .12), 0 32px 64px rgba(20, 13, 15, .10);

    --container: 1220px;
    --gutter: 24px;
    --header-h: 72px;

    /* Yüzey renkleri — koyu temada bunlar ezilir. Doğrudan --white ya da
       --ink-900 yazmak yerine mümkün olduğunca bunlar kullanılmalıdır. */
    --yuzey: var(--white);
    --yuzey-alt: var(--ink-050);
    --kenar: var(--ink-100);

    /* Her iki temada da koyu kalan yüzeyler (hero, üst bar, footer, skor rozeti…).
       Bu bölümlerin yazısı beyaz sabitlendiği için zemin asla açılmamalıdır. */
    --koyu-yuzey: #140D0F;

    /* Skor rozetleri — yazısı her iki temada da beyaz sabit olduğu için
       zeminleri koyu tonda tutulur ve temaya göre değiştirilmez. */
    --skor-gercek: #16764B;
    --skor-hatasiz: #A61E37;

    color-scheme: light;
}

/* --------------------------------------------------------------------------
   1b. Koyu tema
   --------------------------------------------------------------------------
   Tasarım baştan sona CSS değişkenleri üzerinden kurulduğu için koyu tema
   yalnızca bu değişkenleri yeniden tanımlar. Nötr ölçek ters çevrilir:
   --ink-900 artık en açık, --ink-050 en koyu tondur; böylece "koyu yazı /
   açık zemin" varsayan mevcut kurallar olduğu gibi çalışır.

   Tema seçimi <html data-tema="koyu|acik"> ile sabitlenir; seçim yoksa
   işletim sisteminin tercihi uygulanır.
   -------------------------------------------------------------------------- */
:root[data-tema="koyu"] {
    color-scheme: dark;

    /* Nötrler ters çevrildi */
    --ink-900: #F3EFF0;
    --ink-800: #E4DEDF;
    --ink-700: #CFC6C8;
    --ink-500: #A2989B;
    --ink-400: #8B8083;
    --ink-200: #3A3134;
    --ink-100: #2B2427;
    --ink-050: #221C1F;
    --white: #191316;

    /* Marka tonları koyu zeminde okunur hâle getirildi */
    --bordo-900: #F0BDC5;
    --bordo-800: #EBA9B3;
    --bordo-700: #D9636F;
    --bordo-600: #C9515E;
    --bordo-500: #C22A3F;
    --bordo-300: #7E2733;
    --bordo-100: #3A1A20;

    --ten-600: #E0A183;
    --ten-500: #E0A183;
    --ten-300: #8A5B45;
    --ten-100: #33231C;

    --success: #4ECB8F;
    --warning: #E3B455;
    --danger: #E8697A;

    --yuzey: #1F181B;
    --yuzey-alt: #241D20;
    --kenar: #322A2D;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35);
    --shadow: 0 4px 12px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .38);
    --shadow-lg: 0 12px 28px rgba(0, 0, 0, .55), 0 32px 64px rgba(0, 0, 0, .45);
}

/* --------------------------------------------------------------------------
   Daima koyu kalan bölümlerin iç bağlamı
   --------------------------------------------------------------------------
   Bu bölümlerin zemini her iki temada da koyudur (--koyu-yuzey). İçlerindeki
   yazılar "beyaz" olarak yazıldığı için (color: var(--white)) koyu temada
   --white kararınca görünmez oluyordu. Değişkenleri bu kapsayıcılar içinde
   yeniden tanımlamak, tek tek kuralları değiştirmeden sorunu çözer.
   -------------------------------------------------------------------------- */
.topbar,
.hero,
.page-hero,
.team-hero,
.note-card,
.footer,
.section--dark,
.cta-band,
.match__score,
.shots__stage,
.stat {
    --white: #FFFFFF;
    --ink-900: #F3EFF0;
    --ink-800: #E4DEDF;
    --ink-700: #CFC6C8;
    --ink-500: #A2989B;
    --ink-400: #8B8083;
    --ink-200: #3A3134;
    --ink-100: #2B2427;
    --ink-050: #221C1F;
    --yuzey: #1F181B;
    --yuzey-alt: #241D20;
    --kenar: #322A2D;
}

/* Kullanıcı bir tema seçmediyse işletim sistemi tercihine uyulur. */
@media (prefers-color-scheme: dark) {
    :root:not([data-tema]) {
        color-scheme: dark;

        --ink-900: #F3EFF0;
        --ink-800: #E4DEDF;
        --ink-700: #CFC6C8;
        --ink-500: #A2989B;
        --ink-400: #8B8083;
        --ink-200: #3A3134;
        --ink-100: #2B2427;
        --ink-050: #221C1F;
        --white: #191316;

        --bordo-900: #F0BDC5;
        --bordo-800: #EBA9B3;
        --bordo-700: #D9636F;
        --bordo-600: #C9515E;
        --bordo-500: #C22A3F;
        --bordo-300: #7E2733;
        --bordo-100: #3A1A20;

        --ten-600: #E0A183;
        --ten-500: #E0A183;
        --ten-300: #8A5B45;
        --ten-100: #33231C;

        --success: #4ECB8F;
        --warning: #E3B455;
        --danger: #E8697A;

        --yuzey: #1F181B;
        --yuzey-alt: #241D20;
        --kenar: #322A2D;

        --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35);
        --shadow: 0 4px 12px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .38);
        --shadow-lg: 0 12px 28px rgba(0, 0, 0, .55), 0 32px 64px rgba(0, 0, 0, .45);
    }
}

/* --------------------------------------------------------------------------
   2. Reset & Temel
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 20px); }

body {
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
    color: var(--ink-700);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: var(--bordo-700); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--bordo-500); }
ul { margin: 0; padding: 0; list-style: none; }

h1, h3, h4, h5 {
    font-family: var(--font-display);
    color: var(--ink-900);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 .5em;
    text-transform: uppercase;
}

h2 {
    font-family: var(--font-display);
    color: var(--ink-900);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 .5em;
}
h1 {
    font-size: clamp(2.6rem, 6vw, 4.6rem);
}   
h2 { font-size: clamp(2rem, 4vw, 3rem); }
h3 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
h4 { font-size: 1.25rem; }
p  { margin: 0 0 1rem; }

.container {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--gutter);
}

.section {
    padding: clamp(15px, 8vw, 15px) 0;
}
.section--tight {
    padding: clamp(15px, 5vw,15px) 0 !important;
}
.section--alt { background: var(--ink-050); }

/* Koyu zeminli bölümler */
.section--dark {
    background: var(--koyu-yuzey);
    color: rgba(255, 255, 255, .72);
    position: relative;
    overflow: hidden;
}
.section--dark h2, .section--dark h3, .section--dark h4 { color: var(--white); }
.section--dark .section-head p { color: rgba(255, 255, 255, .6); }

/* Bölüm başlığı */
.section-head { text-align: center; max-width: 680px; margin: 0 auto clamp(36px, 5vw, 56px); }
.section-head .eyebrow { margin-bottom: 14px; }
.section-head h2 { margin-bottom: .35em; }
.section-head p { color: var(--ink-500); font-size: 1.02rem; margin: 0; }
.section-head--left { text-align: left; margin-inline: 0; }

/* Etiket / eyebrow */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--bordo-600);
}
.eyebrow::before {
    content: "";
    width: 28px;
    height: 2px;
    background: var(--bordo-500);
}
.section--dark .eyebrow { color: var(--ten-500); }
.section--dark .eyebrow::before { background: var(--ten-500); }

/* --------------------------------------------------------------------------
   3. Butonlar
   -------------------------------------------------------------------------- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 26px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); }

.btn--primary {
    background: var(--bordo-700);
    color: var(--white);
    box-shadow: 0 6px 18px rgba(140, 28, 43, .28);
}
.btn--primary:hover { background: var(--bordo-600); color: var(--white); box-shadow: 0 10px 26px rgba(140, 28, 43, .34); }

/* Açık zemin varsayılandır; koyu bölümlerdeki karşılığı aşağıda ezilir.
   Yazı rengi hover'da da okunur kalmalı, bu yüzden zemin de birlikte değişir. */
.btn--ghost {
    background: transparent;
    color: var(--ink-800);
    border-color: var(--ink-200);
}
.btn--ghost:hover {
    background: var(--bordo-100);
    border-color: var(--bordo-500);
    color: var(--bordo-800);
}

/* Koyu zeminli kapsayıcılar. Yeni bir koyu bölüm eklenirse seçicisi buraya
   da yazılmalı; aksi hâlde düğme koyu zeminde koyu yazıyla görünmez kalır.
   Hover'da yalnızca kenarlık ve yazı rengi değişir; açık zemin varyantının
   açık zemini burada geri alınır. */
.topbar .btn--ghost,
.hero .btn--ghost,
.page-hero .btn--ghost,
.team-hero .btn--ghost,
.note-card .btn--ghost,
.section--dark .btn--ghost,
.cta-band .btn--ghost {
    color: var(--white);
    border-color: rgba(255, 255, 255, .28);
}
.topbar .btn--ghost:hover,
.hero .btn--ghost:hover,
.page-hero .btn--ghost:hover,
.team-hero .btn--ghost:hover,
.note-card .btn--ghost:hover,
.section--dark .btn--ghost:hover,
.cta-band .btn--ghost:hover {
    background: rgba(255, 255, 255, .08);
    border-color: var(--ten-500);
    color: var(--ten-500);
}

.btn--sm { padding: 9px 18px; font-size: .95rem; }

/* Metin bağlantısı */
.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: 1.02rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--bordo-700);
}
.link-arrow svg { transition: transform .2s ease; }
.link-arrow:hover svg { transform: translateX(4px); }

/* --------------------------------------------------------------------------
   4. Header / Navigasyon
   -------------------------------------------------------------------------- */
.topbar {
    background: var(--koyu-yuzey);
    color: rgba(255, 255, 255, .6);
    font-size: .82rem;
    letter-spacing: .02em;
}
.topbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 38px;
}
.topbar a { color: rgba(255, 255, 255, .78); }
.topbar a:hover { color: var(--ten-500); }
.topbar__meta { display: flex; align-items: center; gap: 18px; }
.topbar__auth { display: flex; align-items: center; gap: 14px; }
.topbar__sep { color: rgba(255, 255, 255, .22); }

/* Sezon seçici (üst bar) */
.season-picker {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.season-picker__label { color: rgba(255, 255, 255, .45); }
.season-picker__select {
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 6px;
    color: rgba(255, 255, 255, .85);
    font: inherit;
    line-height: 1;
    padding: 4px 22px 4px 8px;
    cursor: pointer;
}
.season-picker__select:hover { border-color: rgba(255, 255, 255, .3); }
.season-picker__select:focus-visible { outline: 2px solid var(--ten-500); outline-offset: 1px; }
.season-picker__caret {
    position: absolute;
    right: 7px;
    width: 12px;
    height: 12px;
    pointer-events: none;
    color: rgba(255, 255, 255, .55);
}

.header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: color-mix(in srgb, var(--yuzey) 94%, transparent);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ink-100);
}
.header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: var(--header-h);
    max-width: none; /* header tam genişlikte akar */
}

/* 1200px ve üstünde header kenarlarına yalnızca 5px boşluk */
@media (min-width: 1200px) {
    .header .container { padding-inline: 5px; }
}

.brand { display: flex; align-items: center; gap: 12px; }
.brand__mark { width: 40px; height: 40px; flex: none; }
.brand__text { display: flex; flex-direction: column; line-height: 1; }
.brand__name {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .01em;
    color: var(--bordo-700);
}
.brand__tag {
    font-size: .66rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-400);
    margin-top: 3px;
}

.nav { display: flex; align-items: center; gap: 4px; }
.nav > li { position: relative; }
.nav > li > a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    font-family: var(--font-display);
    font-size: 1.02rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--ink-700);
    border-radius: var(--radius-sm);
}
.nav > li > a:hover,
.nav > li:hover > a { color: var(--bordo-700); background: var(--bordo-100); }
.nav > li > a.is-active { color: var(--bordo-700); }
.nav > li > a.is-active::after {
    content: "";
    position: absolute;
    left: 12px; right: 12px; bottom: -1px;
    height: 3px;
    background: var(--bordo-600);
    border-radius: 3px 3px 0 0;
}

.nav__caret { width: 9px; height: 9px; opacity: .5; }

/* Dropdown — saf CSS hover */
/* Menünün sonundaki açılır listeler sola değil sağa yaslanır; aksi hâlde
   268px genişlikleriyle görüntü alanının dışına taşıp yatay kaydırma açarlar. */
.nav > li:last-child .dropdown,
.nav > li:nth-last-child(2) .dropdown {
    left: auto;
    right: 0;
}

.dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 268px;
    padding: 8px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.nav > li:hover > .dropdown,
.nav > li:focus-within > .dropdown {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.dropdown a {
    display: block;
    padding: 9px 14px;
    border-radius: var(--radius-sm);
    font-size: .93rem;
    color: var(--ink-700);
}
.dropdown a:hover { background: var(--bordo-100); color: var(--bordo-700); }
.dropdown hr { border: 0; border-top: 1px solid var(--ink-100); margin: 6px 10px; }

.header__actions { display: flex; align-items: center; gap: 10px; }

/* Mobil menü — checkbox hack (JS yok) */
.nav-toggle { display: none; }
.nav-toggle__btn {
    display: none;
    width: 44px; height: 44px;
    align-items: center; justify-content: center;
    border: 1px solid var(--ink-200);
    border-radius: var(--radius-sm);
    background: var(--white);
    cursor: pointer;
}
.nav-toggle__btn span,
.nav-toggle__btn span::before,
.nav-toggle__btn span::after {
    content: "";
    display: block;
    width: 20px; height: 2px;
    /* Menü çizgileri yazı rengini izler; koyu temada açık görünmeli. */
    background: var(--ink-900);
    border-radius: 2px;
    transition: transform .22s ease, opacity .22s ease;
}
.nav-toggle__btn span::before { transform: translateY(-6px); }
.nav-toggle__btn span::after  { transform: translateY(4px); }

/* --------------------------------------------------------------------------
   5. Hero
   -------------------------------------------------------------------------- */
.hero {
    position: relative;
    background: var(--koyu-yuzey);
    color: rgba(255, 255, 255, .74);
    overflow: hidden;
    padding: clamp(72px, 11vw, 132px) 0 clamp(56px, 8vw, 92px);
}
/* Saha çizgisi dokusu — görsel bağımlılığı yok */
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(1100px 520px at 82% -8%, rgba(166, 34, 52, .55), transparent 62%),
        radial-gradient(760px 460px at 6% 108%, rgba(224, 161, 131, .16), transparent 64%),
        repeating-linear-gradient(115deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 92px);
    pointer-events: none;
}
.hero .container { position: relative; z-index: 1; }

.hero__grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}

.hero h1 { color: var(--white); margin-bottom: 22px; }
.hero h1 em {
    font-style: normal;
    color: var(--ten-500);
    position: relative;
}
.hero h1 em::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: .08em;
    height: 6px;
    background: var(--bordo-600);
    border-radius: 3px;
    z-index: -1;
}
.hero__lead {
    font-size: clamp(1.02rem, 1.5vw, 1.16rem);
    color: rgba(255, 255, 255, .68);
    max-width: 54ch;
    margin-bottom: 32px;
}
.hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 44px; }

/* Hero altı hızlı rakamlar */
.hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 26px;
}
.hero__fact strong {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3.2vw, 2.6rem);
    font-weight: 700;
    color: var(--white);
    line-height: 1;
}
.hero__fact span {
    display: block;
    margin-top: 8px;
    font-size: .78rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
}

/* Hero sağdaki "son hata" kartı */
.hero__card {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-lg);
    padding: 22px;
    backdrop-filter: blur(6px);
}
.hero__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.hero__card-head h4 { color: var(--white); margin: 0; font-size: 1.05rem; letter-spacing: .06em; }

.live-dot {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
    color: var(--ten-500);
}
.live-dot::before {
    content: "";
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--bordo-500);
    box-shadow: 0 0 0 4px rgba(194, 42, 63, .25);
}

.mini-error { display: flex; gap: 14px; padding: 12px 0; }
.mini-error + .mini-error { border-top: 1px solid rgba(255, 255, 255, .08); }
.mini-error__week {
    flex: none;
    min-width: 46px; min-height: 46px;
    padding: 6px 10px;
    display: grid; place-items: center;
    text-align: center;
    line-height: 1.15;
    white-space: nowrap;
    border-radius: 10px;
    background: rgba(194, 42, 63, .18);
    border: 1px solid rgba(194, 42, 63, .38);
    font-family: var(--font-display);
    font-size: 1.15rem; font-weight: 700;
    color: var(--ten-500);
}
.mini-error__body { min-width: 0; }
.mini-error__match {
    display: block;
    font-family: var(--font-display);
    font-size: 1.06rem;
    font-weight: 600;
    letter-spacing: .03em;
    color: var(--white);
}
.mini-error__meta { font-size: .82rem; color: rgba(255, 255, 255, .55); }
.mini-error__meta b { color: var(--ten-500); font-weight: 600; }

/* --------------------------------------------------------------------------
   6. Hakkımızda
   -------------------------------------------------------------------------- */
.about__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}
.about__logo {
    position: relative;
    background: var(--ink-050);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius-lg);
    padding: clamp(28px, 5vw, 56px);
    display: grid;
    place-items: center;
}
.about__logo::after {
    content: "";
    position: absolute;
    inset: auto -1px -1px -1px;
    height: 5px;
    background: linear-gradient(90deg, var(--bordo-700), var(--ten-500));
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}
.about__logo img { width: min(320px, 100%); }

.work-list { display: grid; gap: 18px; margin-top: 28px; }
.work-list li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 14px;
    align-items: start;
}
.work-list__num {
    width: 34px; height: 34px;
    display: grid; place-items: center;
    border-radius: 50%;
    background: var(--bordo-100);
    color: var(--bordo-700);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1rem;
}
.work-list strong { display: block; color: var(--ink-900); font-weight: 600; }
.work-list p { margin: 2px 0 0; font-size: .94rem; color: var(--ink-500); }

/* --------------------------------------------------------------------------
   7. İstatistik şeridi
   -------------------------------------------------------------------------- */
.stats__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.stat {
    background: var(--koyu-yuzey);
    padding: clamp(24px, 3.5vw, 40px) 20px;
    text-align: center;
}
.stat__value {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4.4vw, 3.4rem);
    font-weight: 700;
    line-height: 1;
    color: var(--white);
}
.stat__value sup { color: var(--ten-500); font-size: .45em; vertical-align: super; }
.stat__label {
    margin-top: 10px;
    font-size: .8rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
}

/* --------------------------------------------------------------------------
   8. Hata kriterleri
   -------------------------------------------------------------------------- */
.criteria__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.criteria-card {
    position: relative;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    padding: 26px 24px 24px;
    box-shadow: var(--shadow-sm);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.criteria-card::before {
    content: "";
    position: absolute;
    left: 0; top: 24px; bottom: 24px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--bordo-600);
    transition: top .22s ease, bottom .22s ease;
}
.criteria-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
    border-color: var(--ink-200);
}
.criteria-card:hover::before { top: 12px; bottom: 12px; }

.criteria-card__icon {
    width: 46px; height: 46px;
    display: grid; place-items: center;
    border-radius: 10px;
    background: var(--bordo-100);
    margin-bottom: 16px;
}
.criteria-card__icon svg { width: 24px; height: 24px; }
.criteria-card h4 { margin-bottom: 8px; font-size: 1.18rem; letter-spacing: .02em; }
.criteria-card p { margin: 0; font-size: .92rem; color: var(--ink-500); }

/* Kart ikonlarının renk varyantları */
.criteria-card--red    .criteria-card__icon { background: var(--bordo-100); }
.criteria-card--yellow .criteria-card__icon { background: #FCF3DC; }
.criteria-card--ten    .criteria-card__icon { background: var(--ten-100); }

/* --------------------------------------------------------------------------
   9. Son hatalar (hata kartı)
   -------------------------------------------------------------------------- */
.errors__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.error-card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform .22s ease, box-shadow .22s ease;
}
.error-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }

.error-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, var(--ink-800), var(--bordo-900));
    overflow: hidden;
}
.error-card__media img { width: 100%; height: 100%; object-fit: cover; }
.error-card__media::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(20, 13, 15, .55), transparent 55%);
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.badge--type   { background: var(--bordo-700); color: var(--white); }
.badge--week   { background: rgba(255, 255, 255, .92); color: #140D0F; }
.badge--soft   { background: var(--bordo-100); color: var(--bordo-700); }

.error-card__tags {
    position: absolute;
    z-index: 1;
    left: 14px; right: 14px; top: 14px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.error-card__body { padding: 20px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.error-card__title { margin: 0; font-size: 1.3rem; letter-spacing: .02em; }
.error-card__title a { color: var(--ink-900); }
.error-card__title a:hover { color: var(--bordo-700); }

/* Hakem ikilisi */
/* Dar kartlarda iki hakem yan yana sığmazsa alt alta geçer. */
.officials { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.official {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    min-width: 0;
    background: var(--ink-050);
    border-radius: var(--radius-sm);
}
.official__avatar {
    width: 42px; height: 42px;
    flex: none;
    border-radius: 50%;
    object-fit: cover;
    background: var(--ink-200);
    border: 2px solid var(--white);
    box-shadow: var(--shadow-sm);
}
.official__info { min-width: 0; }
.official__role {
    display: block;
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-400);
}
/* Uzun hakem adları kırpılmak yerine alt satıra taşar; kart yüksekliği
   satır sayısına göre esner. */
.official__name {
    display: block;
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--ink-900);
    overflow-wrap: anywhere;
    hyphens: auto;
}
.verdict { font-size: .78rem; font-weight: 600; }
.verdict--ok   { color: var(--success); }
.verdict--fail { color: var(--danger); }

/* Aleyh / Leh satırı */
.sides {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px dashed var(--ink-200);
    border-radius: var(--radius-sm);
}
.side { display: flex; align-items: center; gap: 8px; }
.side__label {
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-400);
}
.side--against .side__label { color: var(--bordo-600); }
.side--favor   .side__label { color: var(--success); }
.side__crest {
    width: 28px; height: 28px;
    border-radius: 50%;
    display: grid; place-items: center;
    font-family: var(--font-display);
    font-size: .78rem;
    font-weight: 700;
    color: var(--white);
    letter-spacing: .02em;
}
.sides__vs { color: var(--ink-200); font-weight: 700; }

.error-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    border-top: 1px solid var(--ink-100);
    background: var(--ink-050);
    font-size: .86rem;
    color: var(--ink-500);
    margin-top: auto;
}
.error-card__foot b { color: var(--ink-900); }

.stars { display: inline-flex; gap: 2px; color: var(--ten-600); }
.stars svg { width: 15px; height: 15px; }
.stars .is-off { color: var(--ink-200); }

/* --------------------------------------------------------------------------
   10. Hatasız puan durumu
   -------------------------------------------------------------------------- */
.standings {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: clamp(24px, 4vw, 48px);
    align-items: start;
}

.table-wrap {
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    overflow-x: auto;
}
table.standings-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    font-size: .92rem;
}
.standings-table thead th {
    padding: 14px 10px;
    font-family: var(--font-display);
    font-size: .88rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ink-400);
    text-align: center;
    background: var(--ink-050);
    border-bottom: 1px solid var(--ink-100);
    white-space: nowrap;
}
.standings-table thead th:nth-child(2) { text-align: left; padding-left: 18px; }
.standings-table tbody td {
    padding: 12px 10px;
    text-align: center;
    border-bottom: 1px solid var(--ink-100);
    color: var(--ink-700);
}
.standings-table tbody tr:last-child td { border-bottom: 0; }
.standings-table tbody tr:hover { background: var(--bordo-100); }

.rank {
    display: inline-grid;
    place-items: center;
    width: 26px; height: 26px;
    border-radius: 7px;
    font-family: var(--font-display);
    font-weight: 700;
    background: var(--ink-100);
    color: var(--ink-700);
}
.rank--uel { background: var(--ten-500); color: #140D0F; }

/* td olarak kalmalı: display:flex hücreyi tablo düzeninden çıkarıp
   alt çizgiyi diğer hücrelerle hizasız bırakıyor. */
.team-cell {
    text-align: left !important;
    padding-left: 18px !important;
    white-space: nowrap;
    vertical-align: middle;
}
.team-cell > * { vertical-align: middle; }
.team-cell > * + * { margin-left: 10px; }
.crest {
    width: 26px; height: 26px;
    flex: none;
    border-radius: 50%;
    display: inline-grid; place-items: center;
    vertical-align: middle;
    font-family: var(--font-display);
    font-size: .72rem;
    font-weight: 700;
    color: var(--white);
}
.team-cell span { font-weight: 600; color: var(--ink-900); }

.col-pts { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--bordo-700); }
.text-success { color: var(--success); font-weight: 600; }
.text-warning { color: var(--warning); }
.text-danger  { color: var(--danger); }
/* Tema seçici — üst barda, koyu zemin üzerinde */
.tema-dugme {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}
.tema-dugme:hover { background: rgba(255, 255, 255, .12); color: var(--ten-500); }
.tema-dugme svg { width: 16px; height: 16px; }

/* Açık temada ay, koyu temada güneş simgesi gösterilir. */
.tema-dugme__ay { display: block; }
.tema-dugme__gunes { display: none; }
:root[data-tema="koyu"] .tema-dugme__ay { display: none; }
:root[data-tema="koyu"] .tema-dugme__gunes { display: block; }

@media (prefers-color-scheme: dark) {
    :root:not([data-tema]) .tema-dugme__ay { display: none; }
    :root:not([data-tema]) .tema-dugme__gunes { display: block; }
}

/* --------------------------------------------------------------------------
   Aranabilir seçim kutusu (assets/js/secici.js)
   --------------------------------------------------------------------------
   Özgün <select> gizlenir ama DOM'da kalır; form onu gönderir. Betik
   yüklenmezse .secici hiç oluşmaz ve normal seçim kutusu görünür.
   -------------------------------------------------------------------------- */
/* Seçici, kaynağın kapladığı alanı birebir devralır. */
.secici { position: relative; width: 100%; min-width: 0; }

/* Kaynak <select> ekran okuyuculardan ve tıklamadan çıkarılır.
   Ölçüler !important ile sabitlenir: dosyanın ilerisindeki
   ".field .select-field select { width:100% }" gibi kurallar aksi hâlde
   gizli öğeyi yeniden genişletiyor. Görsel-gizleme yardımcılarında bu
   yaygın ve kasıtlı bir istisnadır. */
.secici > select.secici__kaynak {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
    pointer-events: none;
}

.secici__dugme {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 11px 40px 11px 16px;
    font: inherit;
    font-size: .92rem;
    text-align: left;
    color: var(--ink-900);
    background: var(--ink-050);
    border: 1px solid var(--ink-100);
    border-radius: 999px;
    cursor: pointer;
    position: relative;
}
.secici__dugme::after {
    content: "";
    position: absolute;
    right: 17px; top: 50%;
    width: 7px; height: 7px;
    border-right: 2px solid var(--ink-400);
    border-bottom: 2px solid var(--ink-400);
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}
.secici__dugme:hover { border-color: var(--bordo-300); }
.secici__dugme[aria-expanded="true"] {
    border-color: var(--bordo-300);
    box-shadow: 0 0 0 3px var(--bordo-100);
}
.secici__etiket { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.secici__panel {
    position: absolute;
    z-index: 60;
    top: calc(100% + 6px);
    left: 0;
    min-width: 100%;
    max-width: min(340px, 90vw);
    padding: 8px;
    background: var(--yuzey);
    border: 1px solid var(--kenar);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.secici__arama {
    width: 100%;
    padding: 8px 12px;
    margin-bottom: 6px;
    font: inherit;
    font-size: .88rem;
    color: var(--ink-900);
    background: var(--ink-050);
    border: 1px solid var(--ink-100);
    border-radius: 999px;
}
.secici__arama:focus { outline: none; border-color: var(--bordo-300); }

.secici__liste {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 260px;
    overflow-y: auto;
}
.secici__oge {
    padding: 8px 12px;
    border-radius: 8px;
    font-size: .9rem;
    color: var(--ink-800);
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secici__oge:hover,
.secici__oge.is-vurgulu { background: var(--ink-050); color: var(--ink-900); }
.secici__oge.is-secili {
    background: var(--bordo-100);
    color: var(--bordo-800);
    font-weight: 600;
}
.secici__bos { padding: 10px 12px; font-size: .86rem; color: var(--ink-400); }

/* Çoklu seçim: her öğenin başında kutucuk, panel açık kalarak işaretlenir. */
.secici__oge--coklu {
    display: flex;
    align-items: center;
    gap: 10px;
}
.secici__oge--coklu::before {
    content: "";
    flex: 0 0 auto;
    width: 15px; height: 15px;
    border: 1.5px solid var(--ink-400);
    border-radius: 4px;
    background: var(--yuzey);
    box-shadow: inset 0 0 0 3px var(--yuzey);
}
/* İşaretli öğede kutunun içi dolar (inset gölge sıfırlanır). */
.secici__oge--coklu.is-secili::before {
    border-color: var(--bordo-600);
    background: var(--bordo-600);
    box-shadow: none;
}

/* Detay sayfalarının iç bağlantı bloğu (SEO: tarayıcılar için gezinme yolu) */
.seo-links {
    margin-top: 32px;
    padding: 20px 22px;
    background: var(--yuzey-alt);
    border: 1px solid var(--kenar);
    border-radius: var(--radius);
}
.seo-links h2 {
    margin: 0 0 12px;
    font-size: 1.1rem;
}
.seo-links ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 8px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.seo-links li { position: relative; padding-left: 16px; font-size: .92rem; }
.seo-links li::before {
    content: "›";
    position: absolute;
    left: 0;
    color: var(--bordo-500);
    font-weight: 700;
}
.seo-links a { color: var(--ink-700); }
.seo-links a:hover { color: var(--bordo-700); text-decoration: underline; }

/* Çoklu seçim kutucukları (hata türü filtresi) */
.checks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--ink-200);
    border-radius: 999px;
    background: var(--white);
    font-size: .9rem;
    font-weight: 500;
    color: var(--ink-700);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.check:hover { border-color: var(--bordo-300); }
.check input { accent-color: var(--bordo-700); cursor: pointer; }
/* İşaretli kutucuk :has ile vurgulanır; desteklenmeyen tarayıcıda da okunur kalır. */
.check:has(input:checked) {
    border-color: var(--bordo-500);
    background: var(--bordo-100);
    color: var(--bordo-800);
}

/* Görselli hata satırı — küçük resim, hafta rozetinin yerine geçer.
   Izgara sütunu .record kuralının yanında genişletilir (bkz. .record--media). */
.record--media .record__thumb {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: var(--ink-100);
    display: block;
}
.record--media .record__thumb img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}
.record__chip {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--ink-050);
    color: var(--ink-500);
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 600;
}


/* --------------------------------------------------------------------------
   Sunucuda çizilen SVG grafikler (_CizgiGrafik)
   -------------------------------------------------------------------------- */
.chart {
    margin: 0;
    padding: 18px;
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    background: var(--white);
}
.chart__title {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ink-900);
    margin-bottom: 10px;
}
/* Dar ekranda grafik kendi içinde yatay kayar; sayfa kaymaz. */
.chart__canvas { overflow-x: auto; }
.chart__canvas svg { width: 100%; min-width: 520px; height: auto; display: block; }

.chart__grid { stroke: var(--ink-100); stroke-width: 1; }
.chart__axis { fill: var(--ink-400); font-size: 12px; font-family: var(--font-body); }
.chart__line { fill: none; stroke: var(--bordo-600); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.chart__area { stroke: none; }
.chart__dot {
    fill: var(--white);
    stroke: var(--bordo-600);
    stroke-width: 2.5;
    transition: r .15s ease;
}
.chart__dot:hover { r: 6; fill: var(--bordo-600); }
a:focus-visible .chart__dot { r: 6; }

/* Hata kriteri listesi (hatasız puan durumu sayfası) */
.criteria-list { display: grid; gap: 10px; }
.criteria {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--ink-100);
    border-left: 4px solid var(--ink-200);
    border-radius: var(--radius);
    background: var(--white);
}
/* Hatasız tabloyu etkileyen kriterler kenarlığından ayırt edilir. */
.criteria--affects { border-left-color: var(--bordo-600); }

.criteria__icon { width: 34px; height: 34px; object-fit: contain; }
.criteria__body h4 { margin: 0 0 2px; font-size: 1.05rem; }
.criteria__body p { margin: 0; font-size: .88rem; color: var(--ink-500); }

.criteria__flag {
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--ink-050);
    color: var(--ink-500);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}
.criteria--affects .criteria__flag { background: var(--bordo-100); color: var(--bordo-800); }


.delta { font-size: .8rem; font-weight: 600; }
.delta--up   { color: var(--success); }
.delta--down { color: var(--danger); }
.delta--flat { color: var(--ink-400); }

/* Yan panel — açıklama kutusu */
.note-card {
    background: var(--koyu-yuzey);
    color: rgba(255, 255, 255, .68);
    border-radius: var(--radius);
    padding: 28px;
}
.note-card h3 { color: var(--white); font-size: 1.35rem; }
.note-card p { font-size: .93rem; }
.note-card .legend { display: grid; gap: 10px; margin: 20px 0 24px; }
.note-card .legend li { display: flex; align-items: center; gap: 10px; font-size: .86rem; }
.legend__swatch { width: 14px; height: 14px; border-radius: 4px; flex: none; }

/* --------------------------------------------------------------------------
   11. Ekip (admin & temsilciler)
   -------------------------------------------------------------------------- */
.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 18px;
}
.team-grid--admins {
    grid-template-columns: repeat(auto-fit, minmax(230px, 260px));
    justify-content: center;
}

.person {
    text-align: center;
    padding: 24px 16px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.person:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--ink-200); }

.person__avatar {
    width: 84px; height: 84px;
    margin: 0 auto 14px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--ink-100);
    border: 3px solid var(--white);
    box-shadow: 0 0 0 2px var(--bordo-100);
}
.person--admin .person__avatar { width: 104px; height: 104px; box-shadow: 0 0 0 2px var(--bordo-500); }
.person__name { font-family: var(--font-display); font-size: 1.08rem; font-weight: 600; color: var(--ink-900); text-transform: uppercase; letter-spacing: .03em; }
.person__role { font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-400); margin-top: 4px; }
.person__handle {
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: 10px;
    font-size: .82rem;
    color: var(--bordo-700);
}
.person__handle svg { width: 13px; height: 13px; }

/* --------------------------------------------------------------------------
   12. İletişim / CTA
   -------------------------------------------------------------------------- */
.contact__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.contact-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.contact-card:hover { border-color: var(--bordo-300); transform: translateY(-3px); box-shadow: var(--shadow); }
.contact-card__icon {
    width: 50px; height: 50px;
    flex: none;
    display: grid; place-items: center;
    border-radius: 12px;
    background: var(--bordo-700);
    color: var(--white);
}
.contact-card__icon svg { width: 22px; height: 22px; }
.contact-card__label { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-400); }
.contact-card__value { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; color: var(--ink-900); }

.cta-band {
    position: relative;
    /* Yazısı beyaz sabitlendiği için zemin koyu bordo kalmalı. */
    background: #6B1424;
    color: rgba(255, 255, 255, .78);
    border-radius: var(--radius-lg);
    padding: clamp(32px, 5vw, 56px);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    align-items: center;
}
.cta-band::before {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(600px 300px at 88% 10%, rgba(224, 161, 131, .28), transparent 65%);
    pointer-events: none;
}
.cta-band > * { position: relative; z-index: 1; }
.cta-band h2 { color: var(--white); margin-bottom: .3em; }
.cta-band p { margin: 0; max-width: 56ch; }
.cta-band .btn--primary { background: #FFFFFF; color: #6B1424; box-shadow: none; }
.cta-band .btn--primary:hover { background: #FBEEE7; color: #4A0E19; }

/* --------------------------------------------------------------------------
   13. Footer
   -------------------------------------------------------------------------- */
.footer {
    background: var(--koyu-yuzey);
    color: rgba(255, 255, 255, .58);
    padding-top: clamp(48px, 6vw, 72px);
    font-size: .92rem;
}
.footer a { color: rgba(255, 255, 255, .7); }
.footer a:hover { color: var(--ten-500); }

.footer__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
    gap: clamp(24px, 4vw, 48px);
    padding-bottom: 44px;
}
.footer h2 {
    color: var(--white);
    font-size: 1.05rem;
    letter-spacing: .1em;
    margin-bottom: 18px;
}
.footer__links { display: grid; gap: 10px; }
.footer__brand .brand__name { color: var(--white); }
.footer__brand p { margin: 18px 0 0; max-width: 42ch; font-size: .9rem; }

.socials { display: flex; gap: 10px; margin-top: 22px; }
.socials a {
    width: 38px; height: 38px;
    display: grid; place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .8);
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.socials a:hover { background: var(--bordo-700); border-color: var(--bordo-700); color: var(--white); }
.socials svg { width: 16px; height: 16px; }

.footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding: 20px 0 28px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: .85rem;
    color: rgba(255, 255, 255, .45);
}
.footer__bottom b { color: rgba(255, 255, 255, .8); font-weight: 600; }

/* --------------------------------------------------------------------------
   14. Takım renk yardımcıları (logo yerine geçici arma rozetleri)
   -------------------------------------------------------------------------- */
.c-gs  { background: #A62234; }
.c-fb  { background: #123C6B; }
.c-ts  { background: #7A1220; }
.c-bjk { background: #201619; }
.c-bs  { background: #17357A; }
.c-ss  { background: #C22A3F; }
.c-gz  { background: #C25A00; }
.c-ky  { background: #B02A2A; }
.c-ey  { background: #6B1424; }
.c-neu { background: var(--ink-500); }

/* --------------------------------------------------------------------------
   15. Responsive
   -------------------------------------------------------------------------- */



/* --------------------------------------------------------------------------
   16. İç sayfa başlığı (page hero) + breadcrumb
   -------------------------------------------------------------------------- */
.page-hero {
    position: relative;
    background: var(--koyu-yuzey);
    color: rgba(255, 255, 255, .7);
    overflow: hidden;
    padding: clamp(44px, 6vw, 72px) 0;
}
.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(900px 420px at 85% -20%, rgba(166, 34, 52, .5), transparent 62%),
        repeating-linear-gradient(115deg, rgba(255, 255, 255, .03) 0 2px, transparent 2px 92px);
    pointer-events: none;
}
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { color: var(--white); font-size: clamp(2.2rem, 5vw, 3.4rem); margin-bottom: .3em; }
.page-hero p { color: rgba(255, 255, 255, .62); max-width: 62ch; margin: 0; }
/* Maçlar, hatasız PD gerekçe ve hatalar sayfalarında başlık düz yazımda kalır */
.page-hero--plain h1 { text-transform: none; }

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    font-size: .84rem;
    color: rgba(255, 255, 255, .45);
}
.breadcrumb a { color: rgba(255, 255, 255, .72); }
.breadcrumb a:hover { color: var(--ten-500); }
.breadcrumb__sep { opacity: .4; }

/* --------------------------------------------------------------------------
   17. Araç çubuğu (arama / sıralama)
   -------------------------------------------------------------------------- */
.toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    margin-bottom: 32px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}

.search-field { position: relative; flex: 1 1 260px; max-width: 380px; }
.search-field svg {
    position: absolute;
    left: 14px; top: 50%;
    transform: translateY(-50%);
    width: 17px; height: 17px;
    color: var(--ink-400);
    pointer-events: none;
}
.search-field input {
    width: 100%;
    padding: 11px 14px 11px 42px;
    font: inherit;
    font-size: .94rem;
    color: var(--ink-900);
    background: var(--ink-050);
    border: 1px solid var(--ink-100);
    border-radius: 999px;
    transition: border-color .18s ease, background .18s ease;
}
.search-field input::placeholder { color: var(--ink-400); }
.search-field input:focus {
    outline: none;
    background: var(--white);
    border-color: var(--bordo-300);
    box-shadow: 0 0 0 3px var(--bordo-100);
}

.toolbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

.select-field { position: relative; }
.select-field select {
    appearance: none;
    padding: 11px 40px 11px 16px;
    font: inherit;
    font-size: .92rem;
    color: var(--ink-900);
    background: var(--ink-050);
    border: 1px solid var(--ink-100);
    border-radius: 999px;
    cursor: pointer;
}
.select-field select:focus { outline: none; border-color: var(--bordo-300); box-shadow: 0 0 0 3px var(--bordo-100); }
.select-field::after {
    content: "";
    position: absolute;
    right: 17px; top: 50%;
    width: 7px; height: 7px;
    margin-top: -5px;
    border-right: 2px solid var(--ink-400);
    border-bottom: 2px solid var(--ink-400);
    transform: rotate(45deg);
    pointer-events: none;
}

.toolbar__count { font-size: .88rem; color: var(--ink-500); white-space: nowrap; }
.toolbar__count b { color: var(--ink-900); }

/* --------------------------------------------------------------------------
   18. Takım kartları (takimlar.html)
   -------------------------------------------------------------------------- */
.teams__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}

.team-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.team-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--ink-200); }

/* Üstteki renk bandı takımın kendi rengiyle boyanır (inline style ile) */
.team-card__band { height: 5px; background: var(--ink-500); }

.team-card__head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 20px 16px;
}
.team-card__crest {
    width: 52px; height: 52px;
    flex: none;
    display: grid; place-items: center;
    border-radius: 50%;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--white);
    letter-spacing: .02em;
}
/* Takım adları veritabanındaki yazımıyla gösterilir; bazı takımların adı
   küçük harfle yazıldığı için burada büyük harfe çevrilmez. */
.team-card__name {
    font-family: var(--font-display);
    font-size: 1.28rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--ink-900);
    line-height: 1.15;
}
.team-card__rank { font-size: .78rem; color: var(--ink-400); letter-spacing: .08em; text-transform: uppercase; }

.team-card__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--ink-100);
    border-block: 1px solid var(--ink-100);
}
.team-stat { background: var(--white); padding: 14px 8px; text-align: center; }
.team-stat__value {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--ink-900);
}
.team-stat--against .team-stat__value { color: var(--bordo-600); }
.team-stat--favor   .team-stat__value { color: var(--success); }
.team-stat__label {
    margin-top: 6px;
    font-size: .68rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ink-400);
}

.team-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    margin-top: auto;
    font-size: .85rem;
    color: var(--ink-500);
}
.team-card__foot .link-arrow { font-size: .92rem; }

/* Kartın tamamını tıklanabilir yapar */
.stretched-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* --------------------------------------------------------------------------
   19. Takım detay (takim.html)
   -------------------------------------------------------------------------- */
.team-hero {
    position: relative;
    overflow: hidden;
    color: rgba(255, 255, 255, .74);
    background: var(--koyu-yuzey);
    padding: clamp(40px, 6vw, 68px) 0;
}
/* --takim-renk JS tarafından inline set edilir */
.team-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, var(--takim-renk, var(--bordo-700)) 0%, transparent 58%),
        repeating-linear-gradient(115deg, rgba(255, 255, 255, .04) 0 2px, transparent 2px 92px);
    opacity: .9;
    pointer-events: none;
}
.team-hero .container { position: relative; z-index: 1; }

.team-hero__head { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.team-hero__crest {
    width: 88px; height: 88px;
    flex: none;
    display: grid; place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    border: 2px solid rgba(255, 255, 255, .3);
    font-family: var(--font-display);
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--white);
}
.team-hero h1 { color: var(--white); margin: 0; font-size: clamp(2.2rem, 5vw, 3.4rem); }
.team-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }

.chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .16);
    font-size: .8rem;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .85);
}
.chip--solid { background: var(--bordo-700); border-color: var(--bordo-700); color: var(--white); }

/* Özet metrik kutuları */
.metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin-top: 36px;
}
.metric {
    padding: 20px;
    border-radius: var(--radius);
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .13);
    backdrop-filter: blur(6px);
}
.metric__value {
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 700;
    line-height: 1;
    color: var(--white);
}
.metric__label {
    margin-top: 8px;
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}
.metric__value.is-against { color: #FF8A9C; }
.metric__value.is-favor   { color: #6FDCA8; }

/* Karşılaştırma: resmî vs hatasız */
.compare {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: clamp(16px, 3vw, 36px);
    align-items: center;
    padding: clamp(24px, 4vw, 40px);
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}
.compare__side { text-align: center; }
.compare__label {
    font-size: .74rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-400);
    margin-bottom: 10px;
}
.compare__rank {
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 6vw, 4rem);
    font-weight: 700;
    line-height: 1;
    color: var(--ink-900);
}
.compare__rank sup { font-size: .34em; vertical-align: super; color: var(--ink-400); }
.compare__pts { margin-top: 8px; font-size: .92rem; color: var(--ink-500); }
.compare__pts b { color: var(--ink-900); }
.compare__side--fixed .compare__rank { color: var(--bordo-700); }

.compare__arrow {
    display: grid;
    place-items: center;
    width: 54px; height: 54px;
    border-radius: 50%;
    background: var(--bordo-100);
    color: var(--bordo-700);
}
.compare__arrow svg { width: 22px; height: 22px; }

/* Hata türü dağılımı — CSS bar chart */
.dist { display: grid; gap: 18px; }
.dist__row { display: grid; grid-template-columns: 210px 1fr; gap: 16px; align-items: center; }
.dist__name { font-size: .9rem; font-weight: 500; color: var(--ink-900); }
.dist__bars { display: grid; gap: 6px; }
.dist__bar {
    display: flex;
    align-items: center;
    gap: 10px;
}
.dist__track {
    flex: 1;
    height: 12px;
    border-radius: 999px;
    background: var(--ink-100);
    overflow: hidden;
}
.dist__fill {
    height: 100%;
    border-radius: 999px;
    min-width: 2px;
    transition: width .5s ease;
}
.dist__fill--against { background: linear-gradient(90deg, var(--bordo-600), var(--bordo-500)); }
.dist__fill--favor   { background: linear-gradient(90deg, #1E8E5A, #43BB86); }
.dist__num {
    width: 26px;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink-700);
    text-align: right;
}

.dist-legend { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 28px; font-size: .86rem; }
.dist-legend span { display: inline-flex; align-items: center; gap: 8px; }
.dist-legend i { width: 14px; height: 14px; border-radius: 4px; display: block; }

/* Takımın hata kayıtları — liste görünümü */
.record-list { display: grid; gap: 12px; }
.record {
    display: grid;
    grid-template-columns: 62px 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 16px 20px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-left: 4px solid var(--ink-200);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    transition: transform .18s ease, box-shadow .18s ease;
}
.record:hover { transform: translateX(3px); box-shadow: var(--shadow); }
/* Görselli satırda ilk sütun küçük resmi taşır; hafta rozeti için ayrılan 62px
   dar kaldığından görsel taşıp metnin altına giriyordu. */
.record--media { grid-template-columns: 96px 1fr auto; }
/* Yorum satırında hafta rozeti sütunu yok; iki çocuk varsayılan şablonda
   62px + 1fr sütunlarına düşüyor ve metin kelime kelime alt alta iniyordu. */
.record--yorum { grid-template-columns: 1fr auto; align-items: start; }
.record--against { border-left-color: var(--bordo-600); }
.record--favor   { border-left-color: var(--success); }

.record__week {
    text-align: center;
    font-family: var(--font-display);
    line-height: 1;
}
.record__week b { display: block; font-size: 1.7rem; color: var(--ink-900); }
.record__week span { font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-400); }

.record__main { min-width: 0; }
.record__match {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--ink-900);
}
.record__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; }
.record__meta { font-size: .84rem; color: var(--ink-500); }
.record__meta b { color: var(--ink-900); }
.record__officials { font-size: .82rem; color: var(--ink-500); margin-top: 6px; }
.record__officials b { color: var(--ink-700); font-weight: 500; }

.record__side { text-align: right; white-space: nowrap; }
.tag-side {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tag-side--against { background: var(--bordo-100); color: var(--bordo-700); }
.tag-side--favor   { background: #E4F6ED; color: var(--success); }

/* Detay sayfası iki sütun */
.detail-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: clamp(24px, 4vw, 48px);
    align-items: start;
}
.side-card {
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    padding: 24px;
    box-shadow: var(--shadow-sm);
}
.side-card + .side-card { margin-top: 20px; }
.side-card h3 { font-size: 1.25rem; margin-bottom: 16px; }

.kv { display: grid; gap: 0; }
.kv__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ink-100);
    font-size: .9rem;
}
.kv__row:last-child { border-bottom: 0; }
.kv__row dt { color: var(--ink-500); margin: 0; }
.kv__row dd { margin: 0; font-weight: 600; color: var(--ink-900); }

/* --------------------------------------------------------------------------
   20. Hatalar sayfası — filtre çubuğu
   -------------------------------------------------------------------------- */
.filters {
    padding: 22px;
    margin-bottom: 15px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.filters__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.filters__head h3 { margin: 0; font-size: 1.15rem; letter-spacing: .04em; }

.filters__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: 14px;
    align-items: end;
}
/* Üç kutulu filtre satırı (tür + hafta + sıralama). */
.filters__row--uclu { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }

.field label {
    display: block;
    margin-bottom: 7px;
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-400);
}
.field .select-field select { width: 100%; }

/* Aktif filtre rozetleri */
.filters__active {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--ink-200);
    font-size: .85rem;
    color: var(--ink-500);
}
.filters__active:empty { display: none; }

.pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 8px 5px 14px;
    border-radius: 999px;
    background: var(--bordo-100);
    color: var(--bordo-700);
    font-size: .84rem;
    font-weight: 500;
}
.pill button {
    display: grid;
    place-items: center;
    width: 20px; height: 20px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(140, 28, 43, .14);
    color: var(--bordo-700);
    cursor: pointer;
    line-height: 1;
    transition: background .18s ease;
}
.pill button:hover { background: var(--bordo-700); color: var(--white); }
.pill svg { width: 11px; height: 11px; }

/* --------------------------------------------------------------------------
   21. Hata kartı — tıklanabilir (modal açar)
   -------------------------------------------------------------------------- */
.error-card--clickable { cursor: pointer; text-align: left; padding: 0; border-width: 1px; font: inherit; width: 100%; }
.error-card--clickable:focus-visible { outline: 3px solid var(--ten-500); outline-offset: 3px; }

/* Görsel yerine geçen "hata türü" kapağı */
.error-card__cover {
    position: relative;
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, var(--ink-800), var(--bordo-900));
}
.error-card__cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(115deg, rgba(255, 255, 255, .045) 0 2px, transparent 2px 60px);
}
.error-card__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.error-card__cover-icon {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 58px; height: 58px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .75);
}
.error-card__cover-icon svg { width: 26px; height: 26px; }

.error-card__hint {
    position: absolute;
    z-index: 1;
    left: 14px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .76rem;
    letter-spacing: .08em;
    /* text-transform: uppercase;*/
    color: rgba(255, 255, 255, .72);
}
.error-card__hint svg { width: 13px; height: 13px; }

/* Sayfalama */
.pager {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 44px;
    flex-wrap: wrap;
}
.pager button {
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--ink-200);
    border-radius: var(--radius-sm);
    background: var(--white);
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink-700);
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.pager button:hover:not(:disabled) { border-color: var(--bordo-500); color: var(--bordo-700); }
.pager button[aria-current="page"] { background: var(--bordo-700); border-color: var(--bordo-700); color: var(--white); }
.pager button:disabled { opacity: .4; cursor: not-allowed; }

/* Kart/kutu bileşenleri display:flex|grid taşıdığı için hidden özniteliğinin
   varsayılan display:none'ını eziyordu; süzme çalışsın diye burada geri alınıyor. */
[hidden] { display: none !important; }

/* --------------------------------------------------------------------------
   22. Modal
   -------------------------------------------------------------------------- */
body.is-modal-open { overflow: hidden; }

.modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: grid;
    place-items: center;
    padding: 20px;
}
.modal[hidden] { display: none; }

.modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 13, 15, .68);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity .2s ease;
}
.modal.is-open .modal__backdrop { opacity: 1; }

.modal__dialog {
    position: relative;
    width: min(720px, 100%);
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    opacity: 0;
    transform: translateY(16px) scale(.98);
    transition: opacity .2s ease, transform .2s ease;
}
.modal.is-open .modal__dialog { opacity: 1; transform: none; }

.modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--ink-100);
    background: var(--white);
}
.modal__title { margin: 0; font-size: 1.35rem; letter-spacing: .02em; }

.modal__close {
    display: grid;
    place-items: center;
    width: 38px; height: 38px;
    flex: none;
    padding: 0;
    border: 1px solid var(--ink-200);
    border-radius: 50%;
    background: var(--white);
    color: var(--ink-700);
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.modal__close:hover { background: var(--bordo-700); border-color: var(--bordo-700); color: var(--white); }
.modal__close svg { width: 17px; height: 17px; }

.modal__body { padding: 24px; overflow-y: auto; }
.modal__body .state { border: 0; background: transparent; padding: 48px 0; }

/* --- Modal içeriği: hata detayı ---------------------------------------- */
.mh { display: grid; gap: 22px; }

/* Skor tablosu */
.mh__score {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: center;
    padding: 20px;
    background: var(--ink-050);
    border-radius: var(--radius);
}
.mh__team { display: grid; justify-items: center; gap: 8px; text-align: center; }
.mh__team .crest { width: 44px; height: 44px; font-size: .9rem; }
.mh__team-name { font-family: var(--font-display); font-size: 1rem; font-weight: 600; color: var(--ink-900); }
.mh__result {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--success);
    letter-spacing: .04em;
    white-space: nowrap;
}
/* Hatasız skor satırı — sahadaki skorun karşısında kırmızı. */
.mh__minute--hatasiz { color: var(--danger); font-weight: 700; }
.mh__minute {
    display: block;
    text-align: center;
    font-family: var(--font-body);
    font-size: .74rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bordo-700);
    margin-top: 4px;
}

/* Verilen karar → olması gereken */
.mh__verdict {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: center;
}
.mh__box {
    padding: 16px;
    border-radius: var(--radius);
    border: 1px solid var(--ink-100);
    text-align: center;
}
.mh__box-label { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-400); margin-bottom: 6px; }
.mh__box-value { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; text-transform: uppercase; color: var(--ink-900); }
.mh__box--wrong { background: var(--bordo-100); border-color: var(--bordo-300); }
.mh__box--wrong .mh__box-value { color: var(--bordo-700); }
.mh__box--right { background: #E4F6ED; border-color: #A8DDC4; }
.mh__box--right .mh__box-value { color: var(--success); }
.mh__verdict-arrow { color: var(--ink-400); }
.mh__verdict-arrow svg { width: 22px; height: 22px; }

.mh h2 {
    font-size: 1rem;
    letter-spacing: .1em;
    color: var(--ink-400);
    margin-bottom: 10px;
}
.mh p { margin: 0; }

/* Hakem ikilisi (modal içi) */
.mh__officials { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mh__official {
    padding: 14px;
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
}
.mh__official .official__role { margin-bottom: 4px; }
.mh__official .official__name { font-size: 1rem; white-space: normal; }

/* Etki uyarısı */
.mh__impact {
    display: flex;
    gap: 12px;
    padding: 16px;
    border-radius: var(--radius);
    border-left: 4px solid var(--ink-200);
    background: var(--ink-050);
    font-size: .92rem;
}
.mh__impact--yes { border-left-color: var(--bordo-600); background: var(--bordo-100); color: var(--bordo-800); }
.mh__impact svg { width: 20px; height: 20px; flex: none; margin-top: 2px; }

/* Alt meta bilgi ızgarası */
.mh__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1px; background: var(--ink-100); border: 1px solid var(--ink-100); border-radius: var(--radius); overflow: hidden; }
.mh__meta div { background: var(--white); padding: 14px 12px; text-align: center; }
.mh__meta dt { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-400); margin-bottom: 5px; }
.mh__meta dd { margin: 0; font-family: var(--font-display); font-size: 1.05rem; font-weight: 600; color: var(--ink-900); }

.modal__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 20px;
    margin-top: 4px;
    border-top: 1px solid var(--ink-100);
}

/* --------------------------------------------------------------------------
   23. Hatasız puan durumu sayfası
   -------------------------------------------------------------------------- */

/* Özet kartları */
.summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 18px;
    margin-bottom: 40px;
}
/* İstatistik sayfalarının özet kartları. Görünümlerde .summary__card
   kullanılıyor ama karşılığı tanımlı değildi; kartlar biçimsiz kalıyordu. */
.summary__card {
    padding: 20px 18px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    text-align: center;
}
.summary__value {
    display: block;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--ink-900);
}
.summary__label {
    display: block;
    margin-top: 6px;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-400);
}

.summary-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.summary-card__crest {
    width: 46px; height: 46px;
    flex: none;
    display: grid; place-items: center;
    border-radius: 50%;
    background: var(--bordo-700);
    color: var(--white);
    font-family: var(--font-display);
    font-size: .9rem;
    font-weight: 700;
}
.summary-card__crest svg { width: 22px; height: 22px; }
.summary-card__label {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-400);
}
.summary-card__value {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--ink-900);
    text-transform: uppercase;
}
.summary-card__note { font-size: .82rem; color: var(--ink-500); }

/* Tablo görünümü seçici (segmented control) */
.segmented {
    display: inline-flex;
    padding: 4px;
    background: var(--ink-050);
    border: 1px solid var(--ink-100);
    border-radius: 999px;
}
/* Sekmeler düğme ya da bağlantı olabilir (JS kapalıyken gezilebilsin). */
.segmented button,
.segmented a {
    display: inline-block;
    text-decoration: none;
    padding: 9px 20px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--ink-500);
    cursor: pointer;
    white-space: nowrap;
    transition: background .18s ease, color .18s ease;
}
.segmented button:hover,
.segmented a:hover { color: var(--ink-900); }
.segmented button[aria-selected="true"],
.segmented a[aria-selected="true"] {
    background: var(--bordo-700);
    color: var(--white);
    box-shadow: 0 2px 8px rgba(140, 28, 43, .28);
}

.table-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.table-head h3 { margin: 0; font-size: 1.3rem; }
.table-head p { margin: 4px 0 0; font-size: .88rem; color: var(--ink-500); }

/* Bölge çizgileri: Avrupa / düşme hattı */
.standings-table tbody tr.zone-edge td { border-bottom: 2px solid var(--ink-200); }
.standings-table tbody tr.zone-drop td:first-child { box-shadow: inset 3px 0 0 var(--bordo-500); }

/* Sıra değişimi oku */
.move {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: .78rem;
    font-weight: 600;
}
.move svg { width: 11px; height: 11px; }
.move--up   { color: var(--success); }
.move--down { color: var(--danger); }
.move--flat { color: var(--ink-200); }

/* Vurgulanan takım satırı (hover/aktif) */
.standings-table tbody tr.is-changed { background: rgba(224, 161, 131, .12); }
.standings-table tbody tr.is-changed:hover { background: var(--bordo-100); }

/* Hata sütunları */
.col-err-against { color: var(--bordo-600); font-weight: 600; }
.col-err-favor   { color: var(--success); font-weight: 600; }

/* Bölge açıklaması */
.zones {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 22px;
    font-size: .86rem;
    color: var(--ink-500);
}
.zones span { display: inline-flex; align-items: center; gap: 8px; }
.zones i { width: 14px; height: 14px; border-radius: 4px; display: block; flex: none; }

/* --------------------------------------------------------------------------
   24. Maçlar
   -------------------------------------------------------------------------- */
.week-block + .week-block { margin-top: 40px; }
.week-block__title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}
.week-block__title h3 { margin: 0; font-size: 1.3rem; white-space: nowrap; }
.week-block__title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--ink-100);
}

/* Maç kartları — hata kartlarıyla aynı ızgara ritmi. */
.match-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
}

/* Kart bir bağlantıdır (SEO için taranabilir). */
.mac-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 18px 0;
    text-align: left;
    font: inherit;
    color: inherit;
    text-decoration: none;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mac-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--ink-200); }
.mac-card:focus-visible { outline: 3px solid var(--ten-500); outline-offset: 3px; }

.mac-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.mac-card__week {
    display: inline-flex;
    padding: 4px 12px;
    border-radius: 999px;
    background: var(--bordo-100);
    color: var(--bordo-700);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.mac-card__season { font-size: .75rem; color: var(--ink-400); }

/* Ev sahibi — skor — deplasman */
.mac-card__teams {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}
.mac-card__team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 0;
    text-align: center;
}
.mac-card__crest {
    width: 52px; height: 52px;
    flex: none;
    border-radius: 50%;
    display: grid; place-items: center;
    background: var(--ink-100);
    border: 1px solid var(--ink-100);
    font-family: var(--font-display);
    font-size: .9rem;
    font-weight: 700;
    color: var(--ink-500);
}
.mac-card__team-name {
    font-family: var(--font-display);
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .02em;
    color: var(--ink-900);
    overflow-wrap: anywhere;
}

.mac-card__scores { display: grid; gap: 6px; justify-items: center; padding-top: 6px; }

/* Sahadaki skor — kartın görsel odağı. */
.mac-card__score {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 84px;
    justify-content: center;
    padding: 6px 14px;
    border-radius: var(--radius-sm);
    background: var(--skor-gercek);
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .04em;
    white-space: nowrap;
}
.mac-card__score i { font-style: normal; opacity: .5; font-size: 1.1rem; }

/* Skor girilmemiş maçlarda kutu boş kalır. */
.mac-card__score--empty {
    background: transparent;
    border: 1px dashed var(--ink-200);
    min-height: 42px;
}

.mac-card__clean {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 84px;
    justify-content: center;
    padding: 3px 10px;
    border-radius: var(--radius-sm);
    background: var(--skor-hatasiz);
    border: 1px solid var(--skor-hatasiz);
    color: #fff;
    font-family: var(--font-display);
    font-size: .95rem;
    white-space: nowrap;
}
/* Hatasız skor resmî skordan farklıysa ayrıca halkayla vurgulanır. */
.mac-card__clean.is-different { box-shadow: 0 0 0 2px rgba(166, 30, 55, .28); }
.mac-card__clean--empty {
    border-style: dashed;
    border-color: var(--ink-200);
    background: transparent;
    color: var(--ink-400);
    box-shadow: none;
}
.mac-card__clean-label {
    font-family: var(--font-body);
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .75;
}

.mac-card__officials { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.official--sm { padding: 8px; gap: 8px; }
.official__avatar--sm { width: 34px; height: 34px; }
/* Hakem atanmamışsa fotoğraf yeri boş bırakılır. */
.official__avatar--empty { background: transparent; border: 1px dashed var(--ink-200); box-shadow: none; }
.official--sm .official__name { font-size: .8rem; min-height: 1em; }

.mac-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: auto -18px 0;
    padding: 12px 18px;
    border-top: 1px solid var(--ink-100);
    background: var(--ink-050);
}
.mac-card__hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .78rem;
    font-weight: 600;
    color: var(--ink-500);
}
.mac-card__hint svg { width: 13px; height: 13px; }
.mac-card:hover .mac-card__hint { color: var(--bordo-700); }

.match-list { display: grid; gap: 10px; }

/* Satır görünümü — diğer sayfalardaki maç listeleri. */
.match {
    display: grid;
    grid-template-columns: 92px 1fr 170px;
    gap: 18px;
    align-items: center;
    width: 100%;
    padding: 14px 20px;
    text-align: left;
    font: inherit;
    color: inherit;
    text-decoration: none;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.match:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--ink-200); }
.match:focus-visible { outline: 3px solid var(--ten-500); outline-offset: 3px; }

.match__date { font-size: .78rem; color: var(--ink-400); line-height: 1.4; }
.match__date b { display: block; color: var(--ink-700); font-weight: 600; }

.match__teams {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}
.match__team { display: flex; align-items: center; gap: 10px; min-width: 0; }
.match__team--away { flex-direction: row-reverse; }
.match__team span.name {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--ink-900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.match__score {
    padding: 5px 14px;
    border-radius: var(--radius-sm);
    background: var(--skor-gercek);
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .06em;
    white-space: nowrap;
}

/* Sahadaki skor + (varsa) hatasız skor alt alta */
.match__scores { display: grid; gap: 4px; justify-items: center; }

.match__score--clean {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 3px 10px;
    background: var(--skor-hatasiz);
    color: #fff;
    border: 1px solid var(--skor-hatasiz);
    font-size: .95rem;
}
/* Hatasız skor resmî skordan farklıysa ayrıca halkayla vurgulanır. */
.match__score--clean.is-different { box-shadow: 0 0 0 2px rgba(166, 30, 55, .28); }
.match__score-label {
    font-family: var(--font-body);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .75;
}

.match__meta { text-align: right; white-space: nowrap; }
.match__errors {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: var(--ink-100);
    color: var(--ink-500);
}
.match__errors--has { background: var(--bordo-100); color: var(--bordo-700); }
.match__ref { display: block; margin-top: 5px; font-size: .78rem; color: var(--ink-400); }

/* --------------------------------------------------------------------------
   25. Hakemler
   -------------------------------------------------------------------------- */
.ref-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

.ref-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 24px 20px 20px;
    text-align: center;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ref-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--ink-200); }

.ref-card__avatar {
    width: 86px; height: 86px;
    margin: 0 auto 14px;
    display: grid; place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ink-800), var(--bordo-800));
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .02em;
    object-fit: cover;
}
.ref-card__name {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--ink-900);
    line-height: 1.2;
}
.ref-card__sub { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-400); margin-top: 4px; }

.ref-card__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 16px -20px -20px;
    background: var(--ink-100);
    border-top: 1px solid var(--ink-100);
}
.ref-card__stats > div { background: var(--white); padding: 12px 4px; }
.ref-card__stats b {
    display: block;
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--ink-900);
    line-height: 1;
}
.ref-card__stats span { display: block; margin-top: 5px; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-400); }

/* Kalite rozeti */
.grade {
    position: absolute;
    top: 14px; right: 14px;
    padding: 3px 10px;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .04em;
}
.grade--good { background: #E4F6ED; color: #14724A; }
.grade--mid  { background: #FCF3DC; color: #8A5E0C; }
.grade--bad  { background: var(--bordo-100); color: var(--bordo-800); }

/* Hakem detay başlığı */
.ref-hero__avatar {
    width: 104px; height: 104px;
    flex: none;
    display: grid; place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    border: 2px solid rgba(255, 255, 255, .28);
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    color: var(--white);
}

/* --------------------------------------------------------------------------
   26. İstatistik bileşenleri
   -------------------------------------------------------------------------- */

/* Dikey sütun grafiği (hafta hafta) */
.chart-col {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 260px;
    padding: 20px 16px 0;
    overflow-x: auto;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.chart-col__item {
    flex: 1 0 22px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    gap: 6px;
}
.chart-col__bar {
    width: 100%;
    min-height: 3px;
    border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, var(--bordo-500), var(--bordo-700));
    transition: height .5s ease;
    position: relative;
}
.chart-col__bar span {
    position: absolute;
    top: -20px; left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-display);
    font-size: .85rem;
    font-weight: 700;
    color: var(--ink-700);
}
.chart-col__label { font-size: .68rem; color: var(--ink-400); padding-bottom: 10px; }

/* Yatay sıralama listesi */
.rank-list { display: grid; gap: 10px; }
.rank-row {
    display: grid;
    grid-template-columns: 34px 1fr 60px;
    gap: 14px;
    align-items: center;
    padding: 12px 16px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.rank-row__no {
    display: grid; place-items: center;
    width: 30px; height: 30px;
    border-radius: 8px;
    background: var(--ink-100);
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--ink-700);
}
.rank-row:nth-child(1) .rank-row__no { background: var(--bordo-700); color: var(--white); }
.rank-row:nth-child(2) .rank-row__no { background: var(--bordo-600); color: var(--white); }
.rank-row:nth-child(3) .rank-row__no { background: var(--ten-500); color: #140D0F; }

.rank-row__body { min-width: 0; }
.rank-row__name {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ink-900);
}
.rank-row__track {
    height: 8px;
    margin-top: 7px;
    border-radius: 999px;
    background: var(--ink-100);
    overflow: hidden;
}
.rank-row__fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--bordo-600), var(--bordo-500)); }
.rank-row__value {
    text-align: right;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bordo-700);
}

/* Çift yönlü bar (aleyhe / lehe) */
.duo { display: grid; gap: 10px; }
.duo-row {
    display: grid;
    grid-template-columns: 150px 1fr 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px 16px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.duo-row__name { display: flex; align-items: center; gap: 9px; font-weight: 600; color: var(--ink-900); font-size: .92rem; }
.duo-bar { display: flex; align-items: center; gap: 8px; }
.duo-bar--left { flex-direction: row-reverse; }
.duo-bar__track { flex: 1; height: 14px; border-radius: 4px; background: var(--ink-100); overflow: hidden; display: flex; }
.duo-bar--left .duo-bar__track { justify-content: flex-end; }
.duo-bar__fill { height: 100%; min-width: 2px; }
.duo-bar--left  .duo-bar__fill { background: var(--bordo-600); border-radius: 4px 0 0 4px; }
.duo-bar--right .duo-bar__fill { background: var(--success); border-radius: 0 4px 4px 0; }
.duo-bar__num { width: 24px; font-family: var(--font-display); font-weight: 700; font-size: .95rem; color: var(--ink-700); }

/* Donut (hata türleri) */
.donut-wrap { display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: center; }
.donut { width: 220px; height: 220px; }
.donut circle { fill: none; stroke-width: 26; transition: stroke-dasharray .6s ease; }
.donut-legend { display: grid; gap: 10px; }
.donut-legend li { display: grid; grid-template-columns: 14px 1fr auto auto; gap: 12px; align-items: center; font-size: .9rem; }
.donut-legend i { width: 14px; height: 14px; border-radius: 4px; display: block; }
.donut-legend b { font-family: var(--font-display); font-size: 1.05rem; color: var(--ink-900); }
.donut-legend em { font-style: normal; color: var(--ink-400); font-size: .84rem; min-width: 46px; text-align: right; }

/* Büyük sayı kutuları */
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px; }
.kpi {
    padding: 24px;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    border-top: 3px solid var(--bordo-600);
}
.kpi__value { font-family: var(--font-display); font-size: clamp(2rem, 3.6vw, 2.8rem); font-weight: 700; line-height: 1; color: var(--ink-900); }
.kpi__label { margin-top: 8px; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-400); }
.kpi__note { margin-top: 6px; font-size: .84rem; color: var(--ink-500); }

/* --------------------------------------------------------------------------
   27. Formlar (giriş / kayıt / iletişim)
   -------------------------------------------------------------------------- */
.form-card {
    width: min(460px, 100%);
    margin-inline: auto;
    padding: clamp(28px, 4vw, 40px);
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.form-card--wide { width: 100%; }
.form-card h2 { margin-bottom: .3em; }
.form-card > p { color: var(--ink-500); font-size: .94rem; }

.form-grid { display: grid; gap: 18px; margin-top: 26px; }
.form-grid--2 { grid-template-columns: 1fr 1fr; }

.input-field label {
    display: block;
    margin-bottom: 7px;
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-400);
}
.input-field input,
.input-field textarea {
    width: 100%;
    padding: 12px 15px;
    font: inherit;
    font-size: .95rem;
    color: var(--ink-900);
    background: var(--ink-050);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius-sm);
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.input-field textarea { resize: vertical; min-height: 130px; }
.input-field input:focus,
.input-field textarea:focus {
    outline: none;
    background: var(--white);
    border-color: var(--bordo-300);
    box-shadow: 0 0 0 3px var(--bordo-100);
}
.input-field__hint { margin-top: 6px; font-size: .8rem; color: var(--ink-400); }

.form-note {
    margin-top: 20px;
    padding: 14px 16px;
    border-radius: var(--radius-sm);
    background: var(--ink-050);
    border-left: 3px solid var(--ten-500);
    font-size: .86rem;
    color: var(--ink-500);
}
.form-foot { margin-top: 22px; text-align: center; font-size: .9rem; color: var(--ink-500); }

/* İçerik sayfaları (hakkımızda, gizlilik) */
.prose { max-width: 78ch; }
.prose h2 { margin-top: 2em; font-size: 1.7rem; }
.prose h3 { margin-top: 1.6em; font-size: 1.25rem; }
.prose h2:first-child, .prose h3:first-child { margin-top: 0; }
.prose ul { margin: 0 0 1.2rem; padding-left: 0; }
.prose ul li {
    position: relative;
    padding-left: 26px;
    margin-bottom: .55rem;
}
.prose ul li::before {
    content: "";
    position: absolute;
    left: 4px; top: .62em;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--bordo-500);
}
.prose strong { color: var(--ink-900); }

/* --------------------------------------------------------------------------
   28. Yükleniyor / hata / boş durumlar
   -------------------------------------------------------------------------- */
.state {
    grid-column: 1 / -1;
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 56px 24px;
    text-align: center;
    color: var(--ink-500);
    background: var(--white);
    border: 1px dashed var(--ink-200);
    border-radius: var(--radius);
}
.state p { margin: 0; max-width: 46ch; }
.state strong {
    font-family: var(--font-display);
    font-size: 1.3rem;
    text-transform: uppercase;
    color: var(--ink-900);
}
.state--error { border-color: var(--bordo-300); background: var(--bordo-100); }
.state--error .btn--ghost { color: var(--bordo-700); border-color: var(--bordo-300); }

.spinner {
    width: 30px; height: 30px;
    border-radius: 50%;
    border: 3px solid var(--ink-100);
    border-top-color: var(--bordo-600);
    animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* --------------------------------------------------------------------------
   29. Erişilebilirlik
   -------------------------------------------------------------------------- */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 200;
    padding: 12px 20px;
    background: #8C1C2B;
    color: #FFFFFF;
}
.skip-link:focus { left: 12px; top: 12px; color: #FFFFFF; }

:focus-visible { outline: 3px solid var(--ten-500); outline-offset: 2px; border-radius: 4px; }

/* Yönetim panelinden girilen metinlerde uzun/boşluksuz kelimeler (bağlantılar,
   yapıştırılan diziler) dar ekranda kabı taşırıyordu; satır sonunda bölünürler. */
.prose,
.prose p,
.record__officials,
.criteria__body p,
h1, h2, h3, h4 {
    overflow-wrap: anywhere;
}

/* Izgara/esnek kutu çocukları varsayılan min-width:auto yüzünden küçülemiyor. */
.detail-grid > *,
.kv__row,
.record,
.record__main {
    min-width: 0;
}

/* --------------------------------------------------------------------------
   İstatistik sayfalarının mobil uyumu
   --------------------------------------------------------------------------
   Dar ekranda çubuk grafikler, özet kartları, filtreler ve tablolar taşıyordu.
   Aşağıdaki kurallar yalnızca yerleşimi değiştirir; renk/biçim aynı kalır.
   -------------------------------------------------------------------------- */


@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.sr-only {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ==========================================================================
   .NET sürümü eklentileri
   --------------------------------------------------------------------------
   Şablon rozetleri renk + kısa metin ile çiziliyordu; API gerçek logo ve
   fotoğraf döndüğü için görsel taşıyan varyantlar burada tanımlanır.
   ========================================================================== */

.crest--logo,
.side__crest--logo,
.mac-card__crest--logo,
.team-card__crest--logo,
.team-hero__crest--logo {
    background: var(--white);
    overflow: hidden;
}

.crest--logo img,
.side__crest--logo img,
.mac-card__crest--logo img,
.team-card__crest--logo img,
.team-hero__crest--logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.team-hero__crest--logo { background: rgba(255, 255, 255, .92); }

/* Takım kartı üst şeridi artık takım rengi taşımıyor. */
.team-card__band { background: linear-gradient(90deg, var(--bordo-700), var(--ten-500)); }

/* Yatay çubuk grafikler — istatistik sayfalarında kullanılır. */
.bars { display: grid; gap: 14px; }
.bar {
    display: grid;
    grid-template-columns: minmax(120px, 200px) 1fr auto;
    align-items: center;
    gap: 14px;
}
.bar__label { font-size: .9rem; font-weight: 600; color: var(--ink-900); }
.bar__label a { color: inherit; }
.bar__track {
    height: 10px;
    border-radius: 999px;
    background: var(--ink-100);
    overflow: hidden;
}
.bar__fill {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--bordo-700);
}
.bar__fill--favor { background: var(--success); }
.bar__value { font-size: .85rem; color: var(--ink-500); white-space: nowrap; }


/* Hata detayındaki pozisyon görüntüleri */
.mh__shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.mh__shots img { width: 100%; border-radius: 10px; display: block; }

/* Hata görüntüleri — büyük sahne + küçük resim şeridi */
.shots { display: grid; gap: 10px; }

.shots__stage {
    position: relative;
    background: var(--koyu-yuzey);
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.shots__img { width: 100%; height: 100%; object-fit: contain; display: block; }

.shots__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: rgba(20, 13, 15, .55);
    color: var(--white);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease;
}
.shots__nav:hover { background: var(--bordo-700); }
.shots__nav--prev { left: 10px; }
.shots__nav--next { right: 10px; }

.shots__count {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(20, 13, 15, .6);
    color: var(--white);
    font-size: .8rem;
    font-weight: 600;
}

.shots__thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
}
.shots__thumb {
    flex: 0 0 auto;
    width: 92px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 8px;
    background: var(--ink-100);
    overflow: hidden;
    cursor: pointer;
    opacity: .65;
    transition: opacity .2s ease, border-color .2s ease;
}
.shots__thumb img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.shots__thumb:hover { opacity: 1; }
.shots__thumb.is-active { opacity: 1; border-color: var(--bordo-500); }

/* Form alanı doğrulama mesajları */
.field-error { display: block; margin-top: 6px; font-size: .82rem; color: var(--bordo-700); }
.input-field input.input-validation-error,
.input-field textarea.input-validation-error { border-color: var(--bordo-500); }

/* Sunucu tarafı sayfalama bağlantıları düğme gibi görünür. */
.pager a, .pager span.is-disabled {
    display: inline-grid;
    place-items: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid var(--ink-100);
    background: var(--white);
    color: var(--ink-900);
    font-weight: 600;
    text-decoration: none;
}
.pager a:hover { border-color: var(--bordo-500); color: var(--bordo-700); }
.pager a[aria-current="page"] { background: var(--bordo-700); border-color: var(--bordo-700); color: var(--white); }
.pager span.is-disabled { opacity: .4; }

/* Üst bardaki sezon seçici */
.season-picker { display: inline-flex; align-items: center; gap: 6px; position: relative; }
.season-picker__label { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.season-picker__select {
    appearance: none;
    background: transparent;
    border: 1px solid currentColor;
    border-radius: 8px;
    color: inherit;
    font: inherit;
    font-size: .78rem;
    padding: 2px 22px 2px 8px;
    cursor: pointer;
}
/* Açılan liste tarayıcının yerel penceresidir; zemini açıkça üst bar rengine
   sabitlenmezse Windows'ta beyaz gelip yazıyla aynı tona düşüyor. */
.season-picker__select,
.season-picker__select option,
.season-picker__select optgroup {
    background-color: var(--koyu-yuzey);
    color: rgba(255, 255, 255, .88);
}
.season-picker__select option:checked { color: #fff; }
.season-picker__caret { width: 12px; height: 12px; position: absolute; right: 7px; pointer-events: none; }

/* Yoğun metinlerde (editörden gelen HTML) daha derli toplu aralık */
.prose--compact > :first-child { margin-top: 0; }
.prose--compact > :last-child { margin-bottom: 0; }

/* ==========================================================================
   DUYARLI (RESPONSIVE) KURALLAR
   --------------------------------------------------------------------------
   Bu bloklar dosyanın sonunda durmalıdır: aynı özgüllükteki bir taban kuralı
   daha sonra geldiğinde medya kuralını ezer. Önceden bu bölüm dosyanın
   ortasındaydı ve .detail-grid, .record, .bar gibi 30'dan fazla mobil kuralı
   etkisiz kalıyordu.
   ========================================================================== */
@media (max-width: 560px) {
    .record--media .record__thumb { width: 72px; }
}

@media (max-width: 640px) {
    .criteria { grid-template-columns: auto 1fr; }
    .criteria__flag { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 1080px) {
    .criteria__grid, .errors__grid, .contact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .standings { grid-template-columns: 1fr; }
    .footer__grid { grid-template-columns: 1fr 1fr; }
    .detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .hero__grid, .about__grid { grid-template-columns: 1fr; }
    .about__logo { order: -1; }
    .stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cta-band { grid-template-columns: 1fr; }

    /* Mobil navigasyon */
    .nav-toggle__btn { display: inline-flex; }
    .header .container { flex-wrap: wrap; }
    .nav {
        display: none;
        order: 3;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding: 12px 0 18px;
        border-top: 1px solid var(--ink-100);
        max-height: 70vh;
        overflow-y: auto;
    }
    .nav-toggle:checked ~ .nav { display: flex; }
    .nav-toggle:checked ~ .header__actions .nav-toggle__btn span { transform: rotate(45deg); }
    .nav-toggle:checked ~ .header__actions .nav-toggle__btn span::before { opacity: 0; }
    .nav-toggle:checked ~ .header__actions .nav-toggle__btn span::after { transform: rotate(-90deg) translateX(-4px); }
    .nav > li > a { padding: 12px 14px; }
    .nav > li > a.is-active::after { display: none; }
    .dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: 0;
        border-left: 2px solid var(--bordo-100);
        border-radius: 0;
        margin-left: 14px;
        padding: 0 0 6px;
        min-width: 0;
    }
}

@media (max-width: 640px) {
    .criteria__grid, .errors__grid, .contact__grid,
    .officials, .hero__facts { grid-template-columns: 1fr; }
    .stats__grid { grid-template-columns: 1fr; }
    .footer__grid { grid-template-columns: 1fr; }
    .topbar__meta { display: none; }
    .header__actions .btn { display: none; }
    .hero__facts { gap: 18px; }

    /* Takım sayfaları */
    .teams__grid { grid-template-columns: 1fr; }
    .toolbar { flex-direction: column; align-items: stretch; }
    .search-field { max-width: none; }
    .toolbar__right { justify-content: space-between; }
    .compare { grid-template-columns: 1fr; text-align: center; }
    .compare__arrow { margin: 0 auto; transform: rotate(90deg); }
    .dist__row { grid-template-columns: 1fr; gap: 8px; }
    .record { grid-template-columns: 48px 1fr; }
    .record--yorum { grid-template-columns: 1fr; }
    .record__side { grid-column: 2; text-align: left; }
    .record--yorum .record__side { grid-column: 1; }

    /* Hatalar sayfası + modal */
    .filters__row { grid-template-columns: 1fr; }
    .modal { padding: 0; align-items: end; }
    .modal__dialog {
        width: 100%;
        max-height: 92vh;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    }
    .mh__verdict { grid-template-columns: 1fr; }
    .mh__verdict-arrow { transform: rotate(90deg); margin: 0 auto; }
    .mh__officials { grid-template-columns: 1fr; }
    .mh__score { grid-template-columns: 1fr auto 1fr; gap: 8px; padding: 16px 10px; }
    .mh__result { font-size: 1.7rem; }

    /* Maçlar / hakemler / istatistikler */
    .match-grid { grid-template-columns: 1fr; gap: 14px; }
    .mac-card__crest { width: 44px; height: 44px; }
    .mac-card__score { font-size: 1.25rem; }
    .match { grid-template-columns: 1fr; gap: 12px; }
    .match__teams { grid-template-columns: minmax(0, 1fr) 108px minmax(0, 1fr); gap: 8px; }
    .match__meta { text-align: left; }
    .match__team span.name { font-size: .92rem; }
    .ref-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .ref-card { padding: 18px 12px 14px; }
    .ref-card__stats { margin: 14px -12px -14px; }
    .donut-wrap { grid-template-columns: 1fr; justify-items: center; }
    .duo-row { grid-template-columns: 1fr; gap: 8px; }
    .rank-row { grid-template-columns: 28px 1fr 50px; gap: 10px; }
    .form-grid--2 { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    /* Özet kartları ikişerli sığar; tek sütun çok uzun oluyordu. */
    .summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .summary__card { padding: 14px 12px; }
    .summary__value { font-size: 1.5rem; }
    .summary__label { font-size: .7rem; }

    /* Çubuk grafik: etiket üstte, değer altta; çubuk tam genişlik. */
    .bar {
        grid-template-columns: 1fr auto;
        gap: 6px 10px;
    }
    .bar__label { grid-column: 1 / -1; }
    .bar__track { grid-column: 1; }
    .bar__value { grid-column: 2; white-space: nowrap; }

    /* Filtreler alt alta; düğmeler tam genişlik. */
    .filters__row { grid-template-columns: 1fr; gap: 10px; }
    .filters__row .btn { width: 100%; }
    .filters__head { flex-direction: column; align-items: flex-start; gap: 6px; }

    .table-head { flex-direction: column; align-items: stretch; }
    .segmented { width: 100%; justify-content: space-between; }
    .segmented button,
    .segmented a { flex: 1; text-align: center; padding: 9px 10px; font-size: .9rem; }

    /* Grafik dar ekranda daha az yer kaplasın. */
    .chart { padding: 12px 10px; }
    .chart__canvas svg { min-width: 460px; }

    /* Kriter ve kadro listeleri */
    .criteria { grid-template-columns: auto 1fr; }
    .criteria__flag { grid-column: 1 / -1; justify-self: start; }

    /* Hakem kartları ikişerli */
    .ref-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .summary { grid-template-columns: 1fr; }
    .ref-grid { grid-template-columns: 1fr; }
    .checks { gap: 6px; }
    .check { padding: 6px 11px; font-size: .84rem; }
    .chart__canvas svg { min-width: 340px; }

    /* Hata/maç satırlarında düğme alta geçsin (.record bir grid'dir). */
    .record {
        grid-template-columns: 62px 1fr;
        gap: 12px;
    }
    .record--media { grid-template-columns: 72px 1fr; }
    .record--yorum { grid-template-columns: 1fr; }
    .record__side { grid-column: 1 / -1; }
    .record__side .btn { width: 100%; }
}

@media (max-width: 640px) {
    .bar { grid-template-columns: 1fr; gap: 6px; }
}

/* --------------------------------------------------------------------------
   Çerez / veri işleme bildirimi
   -------------------------------------------------------------------------- */
.cerez-bildirimi {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;
    background: var(--yuzey);
    border-top: 1px solid var(--kenar);
    box-shadow: var(--shadow-lg);
    transform: translateY(100%);
    transition: transform .25s ease;
}

.cerez-bildirimi--acik { transform: translateY(0); }

.cerez-bildirimi__govde {
    max-width: var(--container);
    margin: 0 auto;
    padding: 16px var(--gutter);
    display: flex;
    align-items: center;
    gap: 20px;
}

.cerez-bildirimi__metin {
    margin: 0;
    font-size: .92rem;
    line-height: 1.55;
    color: var(--ink-500);
}

.cerez-bildirimi__onay { flex: 0 0 auto; white-space: nowrap; }

@media (max-width: 720px) {
    .cerez-bildirimi__govde { flex-direction: column; align-items: stretch; gap: 12px; }
    .cerez-bildirimi__onay { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .cerez-bildirimi { transition: none; }
}

/* --------------------------------------------------------------------------
   Form seçim kutuları
   --------------------------------------------------------------------------
   Metin girişleriyle aynı görünümü paylaşır; tarayıcının yerel oku gizlenip
   yerine tema rengini kullanan bir SVG ok konur. */
.input-field select {
    width: 100%;
    padding: 12px 40px 12px 15px;
    font: inherit;
    font-size: .95rem;
    color: var(--ink-900);
    background-color: var(--ink-050);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%238E8085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    border: 1px solid var(--ink-100);
    border-radius: var(--radius-sm);
    appearance: none;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.input-field select:focus {
    outline: none;
    background-color: var(--white);
    border-color: var(--bordo-300);
    box-shadow: 0 0 0 3px var(--bordo-100);
}

/* --------------------------------------------------------------------------
   Hesabım sayfası
   -------------------------------------------------------------------------- */
.hesap-duzen {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}

.hesap-yan { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 16px; }

.hesap-profil {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 30px 24px;
    text-align: center;
    background: var(--yuzey);
    border: 1px solid var(--kenar);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}
.hesap-profil__avatar {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: linear-gradient(140deg, var(--bordo-600), var(--bordo-800));
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.9rem;
    letter-spacing: .04em;
    box-shadow: 0 8px 22px rgba(140, 28, 43, .28);
}
.hesap-profil__ad {
    font-family: var(--font-display);
    font-size: 1.5rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--ink-900);
}
.hesap-profil__mail { font-size: .88rem; color: var(--ink-500); word-break: break-all; }
.hesap-profil__cikis { margin-top: 14px; width: 100%; }

.hesap-ozet {
    display: grid;
    gap: 2px;
    padding: 18px 20px;
    background: var(--yuzey);
    border: 1px solid var(--kenar);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.hesap-ozet__baslik {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-400);
}

.rozet {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    margin-top: 8px;
    justify-self: start;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 600;
    background: var(--ink-050);
    border: 1px solid var(--kenar);
    color: var(--ink-700);
}
.rozet::before {
    content: "";
    width: 8px; height: 8px;
    border-radius: 50%;
    background: currentColor;
}
.rozet--acik { background: rgba(30, 142, 90, .12); border-color: rgba(30, 142, 90, .35); color: var(--success); }
.rozet--kapali { background: var(--bordo-100); border-color: var(--bordo-300); color: var(--bordo-700); }

.hesap-icerik { display: grid; gap: 22px; }

.hesap-kart {
    padding: clamp(22px, 3vw, 32px);
    background: var(--yuzey);
    border: 1px solid var(--kenar);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}
.hesap-kart__bas {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 16px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--kenar);
}
.hesap-kart__ikon {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px; height: 42px;
    border-radius: 12px;
    background: var(--bordo-100);
    color: var(--bordo-700);
}
.hesap-kart__ikon svg { width: 21px; height: 21px; }
.hesap-kart__bas h2 { margin: 0; font-size: 1.45rem; }
.hesap-kart__bas p { margin: 2px 0 0; font-size: .86rem; color: var(--ink-500); }
.hesap-kart > p { color: var(--ink-500); font-size: .92rem; }

.hesap-eylem { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.uyari {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    margin-bottom: 22px;
    border-radius: var(--radius);
    border: 1px solid var(--kenar);
    background: var(--yuzey);
    font-size: .93rem;
    color: var(--ink-700);
}
.uyari p { margin: 0; }
.uyari svg { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; }
.uyari--basarili { background: rgba(30, 142, 90, .10); border-color: rgba(30, 142, 90, .32); color: var(--success); }
.uyari--hata { background: var(--bordo-100); border-color: var(--bordo-300); color: var(--bordo-700); }

@media (max-width: 900px) {
    .hesap-duzen { grid-template-columns: 1fr; }
    .hesap-yan { position: static; }
}

/* HATA YORUM TASARIMI */

.star-rating-input {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 6px;
    font-size: 1.75rem;
    cursor: pointer;
    user-select: none;
}

    .star-rating-input span {
        color: #d1d5db; /* Boş yıldız gri rengi */
        transition: color 0.15s ease-in-out, transform 0.15s ease-in-out;
    }

        /* Hover ve Seçim Efektleri (Trendyol Tarzı Soldan Sağa Dolma) */
        .star-rating-input span:hover,
        .star-rating-input span:hover ~ span,
        .star-rating-input span.is-selected,
        .star-rating-input span.is-selected ~ span {
            color: #f59e0b; /* Dolu yıldız altın sarısı */
        }

        .star-rating-input span:hover {
            transform: scale(1.15);
        }

.record__avatar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0; /* uzun isimlerde satırın taşmasını engeller */
}

.yorum-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
    flex-shrink: 0;
}

.yorum-avatar--fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2563eb; /* mavi */
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.record__avatar-row .record__match {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record--yorum {
    position: relative;
    padding-top: 10px; /* tarihe yer açmak için üstten boşluk */
}

.record__tarih {
    position: absolute;
    top: 10px;
    right: 12px;
    font-size: 11px;
    color: var(--ink-400, #9ca3af);
    white-space: nowrap;
}

/* Masaüstünde yıldız+buton satırı tarihle çakışmasın diye aşağı itilir */
.record--yorum .record__side {
    margin-top: 26px;
}

@media (max-width: 640px) {
    .record--yorum {
        padding-top: 30px;
    }

        .record--yorum .record__side {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 6px;
            margin-top: 0; /* mobilde zaten column, ekstra boşluğa gerek yok */
        }

            .record--yorum .record__side [data-yorum-sil] {
                width: 100%;
                margin-top: 4px;
            }

    .record__tarih {
        font-size: 10px;
        top: 8px;
    }
}

.yorum-item {
    background: rgba(255, 255, 255, 0.03); /* Hafif transparan arka plan */
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all 0.3s ease;
}

.yorum-item__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
}

.yorum-item__user-block {
    display: flex;
    align-items: center;
    gap: 12px;
}

.yorum-item__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.yorum-item__avatar--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ink-700, #333);
    color: var(--ink-200, #eee);
    font-weight: 600;
    font-size: 16px;
}

.yorum-item__user-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.yorum-item__name-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.yorum-item__name {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-main);
}

.yorum-item__username {
    font-size: 0.85rem;
    color: var(--ink-400, #9ca3af);
}

.yorum-item__team-logo {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.yorum-item__right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.yorum-item__date {
    font-size: 0.8rem;
    color: var(--ink-500, #6b7280);
}

.yorum-item__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.yorum-item__body {
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--text-main);
    /* Avatarın hizasından değil, direkt ismin altından başlasın istersen margin-left: 56px; yapabilirsin. */
}

.section:has(#teamsGrid) .container {
    max-width: 1650px; /* İhtiyacınıza göre bu değeri 1500px - 1800px arası ayarlayabilirsiniz */
    margin-inline: auto;
}

/* Masaüstünde 6 sütunlu düzen */
@media (min-width: 1200px) {
    .teams__grid {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 16px;
    }
}