/* =========================================================
   SKOR TAHMİN — kullanıcı sayfası
   Kök eleman: .te-page.sp-page

   KURAL: bu dosyada ASLA .te-* seçici tanımlanmaz. Hero, KPI şeridi ve
   .te-empty nx-timed-events.css'ten gelir; burada onlara dokunulursa
   Süreli Etkinlikler sayfası da değişir. Fark gerekirse .sp-page üzerinde
   token ezilir veya yeni .sp-* yazılır.

   Tailwind utility YOK: assets/nexus-tailwind.css statik derleme, yeni
   utility sessizce ölü kalır.
   ========================================================= */

.sp-page{
  --sp-line:rgba(148,169,214,.13);
  --sp-line-2:rgba(148,169,214,.24);
  --sp-tx:#eef3fb;
  --sp-tx-2:#9fb0c6;
  --sp-tx-3:#64748b;
  --sp-gold:#f5c451;
  --sp-ok:#34d399;
}

/* =========================================================
   HERO — arma vitrini
   Armalar VERİ GÜDÜMLÜDÜR: panel > Skor Tahmin > Takım Kütüphanesi'ndeki
   ilk 5 aktif takım (sort_order sırası). Gerçek arma taklidi çizilmez.

   Tasarım kararı: armalar KUTUYA KONMAZ. Yüklenen armalar zaten altın
   çerçeveli, yıldızlı, hacimli nesneler; cam plaka içine alınınca çerçeve
   üstüne çerçeve binip tasarım boğuluyor. Bunun yerine kendi gölgeleri,
   nötr haleleri ve altlarındaki ışık havuzuyla serbest dururlar.

   Hale NÖTR (altın-beyaz), her armada aynı: kulüp rengiyle tonlama yapılırsa
   armanın kendi renkleri farklı algılanır. Armaya hiçbir filtre uygulanmaz.
   ========================================================= */
.sp-hero{position:relative}
/* Salt yüzde: px üst sınırı dar kapsayıcıda metni sanatın üzerine
   itiyordu. Yüzde olunca boşluk her genişlikte sabit kalır. */
.sp-hero .te-hero-l{max-width:48%}
.sp-hero .te-hero-c p{max-width:38ch}

.sp-hero-art{
  position:absolute;right:0;top:0;bottom:0;width:48%;
  z-index:1;pointer-events:none;overflow:hidden;
  display:grid;place-items:center;
  padding:0 4% 0 7%;   /* solda metinle, sağda kenarla nefes payı */
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);
}
/* saha geometrisi — vitrinin zemini */
.sp-pitch{
  position:absolute;width:120%;height:120%;color:#f5c451;opacity:.13;
  filter:drop-shadow(0 0 26px rgba(245,196,81,.28));
}
/* sahne ışığı */
.sp-hero-art::before{
  content:'';position:absolute;width:82%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, rgba(161,94,239,.30), transparent 64%);
  filter:blur(8px);
}

/* ---------- hero topu ----------
   Gorsel yari saydam ve koyu (azami alfa ~%62, ortalama parlaklik 45/255).
   Goruntuye DOKUNULMAZ; okunur olmasi icin ARKADAN isiklandirilir - dumanli
   cam top etkisi. Donme `rotate` ozelligiyle yapilir (transform'dan ayri),
   boylece GPU'da akar ve gorsel merkezden zipplamaz. */
.sp-hero-icon{position:relative;overflow:hidden;isolation:isolate}
/* arka isik: topun panelleri kenarlardan isik alsin */
.sp-hero-icon::after{
  content:'';position:absolute;inset:9%;border-radius:50%;z-index:0;
  /* BEYAZ arka isik: gorsel yari saydam ve koyu oldugu icin altin/mor isik
     onu okunur kilmiyordu. Beyaz, topun panellerini net ayirir. */
  background:
    radial-gradient(circle at 42% 36%, rgba(255,255,255,.92), rgba(255,255,255,.55) 38%, rgba(255,255,255,.18) 62%, transparent 76%);
  filter:blur(2px);
}
/* zemine dusen golge: 3D agirlik hissi */
.sp-hero-icon::before{
  content:'';position:absolute;left:18%;right:18%;bottom:7%;height:11%;
  border-radius:50%;z-index:0;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.72), transparent 72%);
  filter:blur(4px);
}
.sp-ball{
  position:relative;z-index:1;
  width:82%;height:82%;object-fit:contain;
  animation:spTopDon 14s linear infinite;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.55));
  will-change:rotate;backface-visibility:hidden;
}
/* Kesintisiz tur: linear + tam 360deg, baslangic ve bitis ayni kare. */
@keyframes spTopDon{from{rotate:0deg}to{rotate:360deg}}

/* ---------- KPI ikonlari ----------
   Ikonlar kendi parlaklik ve hacmi olan 3D nesneler; renkli daire kutunun
   icine alininca kutu ile nesne birbiriyle yarisiyor. Kutu kaldirilir,
   derinlik golge ve zemin isik havuzuyla verilir - hero armalariyla ayni dil. */
.sp-kpi-ikon{
  background:none!important;border:none!important;box-shadow:none!important;
  position:relative;width:58px;height:58px;border-radius:0;
}
.sp-kpi-ikon>i{display:none}
.sp-kpi-ikon img{
  position:relative;z-index:1;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.65)) drop-shadow(0 2px 3px rgba(0,0,0,.42));
}
/* zemin isik havuzu: ikonu karta oturtur */
.sp-kpi-ikon::after{
  content:'';position:absolute;left:14%;right:14%;bottom:-2%;height:15%;
  border-radius:50%;z-index:0;
  background:radial-gradient(ellipse at center, rgba(150,196,255,.30), transparent 70%);
  filter:blur(4px);
}
@media (max-width:620px){ .sp-kpi-ikon{width:48px;height:48px} }

/* KPI ve bos durumdaki top: DONMEZ, ama arkasi yine beyaz isikli olmali -
   gorsel yari saydam ve koyu oldugu icin isiksiz zeminde kayboluyor.
   Isik dogrudan <img> arkaplanina verilir: gorselin seffaf bolgelerinden
   gorunur, ek isaretlemeye gerek kalmaz. */
.sp-kpi-top{background:none!important;border:none!important;position:relative}
.sp-kpi-top img{
  width:86%;height:86%;object-fit:contain;border-radius:50%;
  background:radial-gradient(circle at 42% 36%, rgba(255,255,255,.92), rgba(255,255,255,.5) 38%, rgba(255,255,255,.16) 62%, transparent 76%);
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));
}
/* Tailwind preflight img'yi block yapiyor; text-align:center bu yuzden
   ortalamiyordu - margin ile ortalanir. */
.sp-bos-top{
  display:block;margin:0 auto;
  width:68px;height:68px;object-fit:contain;border-radius:50%;
  background:radial-gradient(circle at 42% 36%, rgba(255,255,255,.90), rgba(255,255,255,.48) 38%, rgba(255,255,255,.15) 62%, transparent 76%);
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.55));
}

/* ---------- arma vitrini ---------- */
.sp-crests{
  position:relative;display:flex;align-items:flex-end;justify-content:center;
  gap:clamp(4px,1cqi,16px);
}
.sp-cp{
  --boy:clamp(72px,9.4cqi,148px);
  position:relative;flex:none;width:var(--boy);height:var(--boy);
  animation:spYuz 7s cubic-bezier(.45,0,.55,1) infinite;animation-delay:var(--d,0s);
  will-change:translate;                 /* birlestirme katmani: kare atlamasin */
  backface-visibility:hidden;
}
/* nötr hale — armanın arkasında, üstünde değil */
.sp-cp::before{
  content:'';position:absolute;inset:-30%;border-radius:50%;
  background:radial-gradient(circle, rgba(255,232,180,.20), transparent 66%);
  filter:blur(9px);
}
/* altındaki ışık havuzu: armaya ağırlık ve zemin hissi verir */
.sp-cp::after{
  content:'';position:absolute;left:8%;right:8%;bottom:-11%;height:16%;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(245,196,81,.34), transparent 70%);
  filter:blur(5px);
}
.sp-cp-in{position:absolute;inset:0;display:grid;place-items:center;overflow:visible;border:0;background:none}
/* Armaya FILTRE UYGULANMAZ; yalnızca dışına gölge düşer. */
.sp-cp-in img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.45));
}

/* arma yoksa: forma motifi + kısa ad (arma TAKLİDİ DEĞİL) */
.sp-cp-in:has(.sp-cp-kit),.sp-cp-in.is-kit{
  border-radius:clamp(14px,1.6cqi,22px);overflow:hidden;
  background:linear-gradient(158deg,rgba(18,24,42,.96),rgba(6,9,18,.98));
  border:1px solid color-mix(in srgb, var(--c1) 46%, rgba(148,169,214,.28));
  box-shadow:0 18px 34px -20px #000, inset 0 1px 0 rgba(255,255,255,.13);
}
.sp-cp-kit{
  position:absolute;inset:0;
  background:repeating-linear-gradient(118deg, var(--c1) 0 22%, var(--c2) 22% 44%);
  opacity:.3;
}
.sp-cp-in b{
  position:relative;color:#fff;font-size:clamp(11px,1.3cqi,17px);font-weight:900;
  letter-spacing:.06em;text-shadow:0 2px 10px rgba(0,0,0,.85);
}

/* yay dizilimi: ortadakiler öne çıkar, kenarlar geri çekilir */
.sp-crests .sp-cp:nth-child(1),
.sp-crests .sp-cp:nth-child(5){transform:scale(.68) translateY(6px);opacity:.7}
.sp-crests .sp-cp:nth-child(2),
.sp-crests .sp-cp:nth-child(4){transform:scale(.85) translateY(-4px);opacity:.9}
.sp-crests .sp-cp:nth-child(3){transform:scale(1) translateY(-16px);z-index:2}
/* takım sayısı 5'ten azsa yay bozulmasın */
.sp-crests[data-n="1"] .sp-cp,
.sp-crests[data-n="2"] .sp-cp{transform:none;opacity:1}
.sp-crests[data-n="3"] .sp-cp:nth-child(1),
.sp-crests[data-n="3"] .sp-cp:nth-child(3){transform:scale(.82) translateY(-2px);opacity:.9}
.sp-crests[data-n="3"] .sp-cp:nth-child(2){transform:scale(1) translateY(-14px);opacity:1;z-index:2}
.sp-crests[data-n="4"] .sp-cp:nth-child(1),
.sp-crests[data-n="4"] .sp-cp:nth-child(4){transform:scale(.76) translateY(6px);opacity:.78}
.sp-crests[data-n="4"] .sp-cp:nth-child(2),
.sp-crests[data-n="4"] .sp-cp:nth-child(3){transform:scale(.98) translateY(-12px);opacity:1;z-index:2}

/* Yerlesim degil, birlestirme katmani: margin-bottom her karede layout
   tetikliyordu (takik hareket). translate ozelligi transform'dan ayridir;
   yay dizilimi transform'da kalir, yuzme burada akar. */
@keyframes spYuz{0%,100%{translate:0 0}50%{translate:0 -12px}}

/* skor tabelası çipi: özelliğin ne olduğunu tek bakışta anlatır */
.sp-hero-chip{
  position:absolute;bottom:clamp(10px,1.7cqi,24px);
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 16px;border-radius:12px;
  background:linear-gradient(180deg,rgba(9,13,22,.96),rgba(4,7,14,.98));
  border:1px solid rgba(245,196,81,.32);
  box-shadow:0 14px 28px -18px #000, inset 0 1px 0 rgba(255,255,255,.09);
}
.sp-hero-chip b{color:#f6cf5e;font-size:clamp(15px,1.7cqi,22px);font-weight:900;font-variant-numeric:tabular-nums;text-shadow:0 0 14px rgba(246,207,94,.5)}
.sp-hero-chip em{color:#64748b;font-style:normal;font-weight:900}

/* Dar ekranda sanat GIZLENMEZ: mutlak konumdan cikip metnin ALTINA,
   duz bir vitrin seridi olarak akar. Yay dizilimi ve saha geometrisi bu
   olcekte gurultu yaptigi icin kapatilir; armalar esit boyda dizilir.
   order:2 -> isaretlemede metinden ONCE geldigi icin gorsel sirasi duzeltilir
   (odak sirasi degismez). */
@media (max-width:900px){
  .sp-hero .te-hero-l{max-width:100%}
  .sp-hero .te-hero-c p{max-width:46ch}
  .sp-hero-art{
    position:static;order:2;width:100%;height:auto;
    /* overflow:hidden masaustunde saha SVG'sini kirpmak icin gerekli, ama
       burada armalar yuzerken 12px yukari cikip KESILIYORDU. Mobilde
       gorunur birakilir; dikey dolgu da yuzmeye pay verir. */
    overflow:visible;
    padding:14px 0 6px;margin-top:clamp(6px,2vw,14px);
    display:flex;flex-direction:column;align-items:center;gap:11px;
    -webkit-mask-image:none;mask-image:none;
  }
  .sp-crests{overflow:visible}
  .sp-pitch{display:none}
  .sp-hero-art::before{display:none}
  .sp-crests{gap:clamp(8px,3.4vw,16px)}
  .sp-cp{--boy:clamp(46px,14vw,64px)}
  /* Duz sira: yay yerine esit boy, hepsi tam opak.
     Ozgulluk NOTU: yay kurallari .sp-crests[data-n="4"] .sp-cp:nth-child(1)
     seklinde (0,4,0). Ayni degerde kalirsa sonuc siraya baglanir; bu yuzden
     .sp-page onekiyle (0,5,0)'e cikarilip kesinlestirildi. */
  .sp-page .sp-hero-art .sp-crests .sp-cp,
  .sp-page .sp-hero-art .sp-crests[data-n] .sp-cp{transform:none;opacity:1;z-index:auto}
  .sp-cp::after{bottom:-9%;height:14%}
  .sp-hero-chip{position:static;padding:6px 14px}
  .sp-hero-chip b{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .sp-cp,.sp-ball{animation:none}
}

/* ---------- sekme + filtre çubuğu ---------- */
.sp-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.sp-seg{display:inline-flex;gap:4px;padding:5px;border-radius:16px;background:rgba(10,14,24,.75);border:1px solid var(--sp-line)}
.sp-seg a{
  display:inline-flex;align-items:center;min-height:38px;padding:0 18px;border-radius:12px;
  color:var(--sp-tx-3);text-decoration:none;font-size:11px;font-weight:850;letter-spacing:.05em;transition:.18s;
}
.sp-seg a:hover{color:var(--sp-tx)}
.sp-seg a.is-on{color:#fff;background:linear-gradient(135deg,#a15eef,#7c3aed);box-shadow:0 10px 24px -14px rgba(161,94,239,.9)}
.sp-filt{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-chip{
  min-height:34px;padding:0 14px;border-radius:99px;cursor:pointer;
  background:rgba(148,169,214,.06);border:1px solid var(--sp-line);color:var(--sp-tx-2);
  font-size:10px;font-weight:800;letter-spacing:.04em;transition:.18s;
}
.sp-chip:hover{color:#fff;border-color:var(--sp-line-2)}
.sp-chip.is-on{color:#fff;background:linear-gradient(135deg,#f43f5e,#be123c);border-color:transparent}
.sp-count{color:var(--sp-tx-3);font-size:10px;font-weight:800;letter-spacing:.06em}
.sp-count b{color:var(--sp-tx);font-size:12px;font-variant-numeric:tabular-nums}
.sp-clear{background:none;border:0;cursor:pointer;color:#fb7185;font-size:10px;font-weight:850;letter-spacing:.04em}
.sp-clear[hidden]{display:none}

/* ---------- ızgara ---------- */
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.sp-card[hidden]{display:none}
.sp-card{
  position:relative;display:flex;flex-direction:column;gap:11px;padding:15px 15px 14px;
  border-radius:20px;border:1px solid var(--sp-line);
  background:linear-gradient(158deg,#131b30,#0a1020);
  box-shadow:0 28px 60px -44px #000, inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;transition:border-color .2s, transform .2s;
}
/* Takım renklerinden iki yandan hafif yıkama — referansta yok, kartı
   maça ait hissettirir. Çok soluk: okunabilirliği bozmaz. */
.sp-card::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--sp-h) 9%, transparent), transparent 55%),
             radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--sp-a) 9%, transparent), transparent 55%);
}
.sp-card>*{position:relative}
.sp-card:hover{border-color:var(--sp-line-2);transform:translateY(-2px)}
.sp-card.is-done{opacity:.94}
.sp-card.is-void{opacity:.7}

.sp-top{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:38px}
.sp-sponsor{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:11px;background:rgba(6,10,18,.8);border:1px solid var(--sp-line)}
.sp-sponsor img{max-height:20px;max-width:96px;object-fit:contain}
.sp-league{color:var(--sp-tx-3);font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.sp-badge{
  display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:10px;
  color:#fca5a5;background:rgba(244,63,94,.08);border:1px solid rgba(244,63,94,.28);
  font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
}
.sp-badge i{font-size:8px}
.sp-when{color:var(--sp-tx-3);font-size:10px;font-weight:750}
.sp-when em{font-style:normal;opacity:.5;margin:0 3px}

/* ---------- skor tabelası ----------
   Gömük plaka + altın hairline: referansın düz gri kutusundan ayrılan
   asıl detay. tabular-nums ile rakamlar zıplamaz. */
.sp-plate{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;
  padding:14px 12px;border-radius:16px;
  background:linear-gradient(180deg,#070b14,#0b1120);
  border:1px solid rgba(245,196,81,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), inset 0 -14px 26px -20px #000;
}
.sp-team{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.sp-crest{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#050810;border:1px solid var(--sp-line);overflow:hidden}
.sp-crest img{width:100%;height:100%;object-fit:contain;padding:5px}
.sp-crest i{color:#3f4b5d;font-size:15px}
.sp-team b{max-width:100%;color:var(--sp-tx);font-size:11.5px;font-weight:850;text-align:center;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sp-team small{display:none;color:var(--sp-tx-3);font-size:9px;font-weight:800;letter-spacing:.08em}
.sp-mid{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none;min-width:56px}
.sp-vs{
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  color:var(--sp-tx-2);font-size:9px;font-weight:900;letter-spacing:.08em;
  background:conic-gradient(from 210deg, rgba(245,196,81,.28), rgba(148,169,214,.06) 45%, rgba(245,196,81,.28));
  box-shadow:inset 0 0 0 1px rgba(148,169,214,.18);
}
.sp-final{color:#fff;font-size:22px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.sp-final em{font-style:normal;color:var(--sp-gold);margin:0 3px}
.sp-mid-l{color:var(--sp-tx-3);font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}

/* ---------- tahminin ---------- */
.sp-pred{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-radius:13px;background:rgba(148,169,214,.05);border:1px solid var(--sp-line)}
.sp-pred-l{color:var(--sp-tx-3);font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.sp-pred-v{color:#fff;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.sp-pred-v em{font-style:normal;color:var(--sp-tx-3);margin:0 3px}
.sp-pred-v.is-empty{color:var(--sp-tx-3);font-size:15px}
.sp-pred-v.is-hit{color:var(--sp-gold);text-shadow:0 0 18px rgba(245,196,81,.45)}
.sp-pred-v.is-over{color:#93c5fd}
.sp-pred-v.is-miss{color:#7c8598}

/* maç sonrası karar satırı — referansta hiç yok */
.sp-verdict{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;font-size:10px;font-weight:800}
.sp-verdict.ok{color:#ffe6ad;background:rgba(245,196,81,.09);border:1px solid rgba(245,196,81,.3)}
.sp-verdict.over{color:#bfdbfe;background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.24)}
.sp-verdict.no{color:#94a3b8;background:rgba(148,169,214,.05);border:1px solid var(--sp-line)}

/* ---------- metrikler ---------- */
.sp-metrics{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-metrics span{display:inline-flex;align-items:center;gap:6px;color:var(--sp-tx-2);font-size:11px;font-weight:800}
.sp-metrics i{color:var(--sp-gold);font-size:11px}
.sp-metrics span:nth-child(2) i{color:#38bdf8}
.sp-metrics b{color:var(--sp-tx);font-variant-numeric:tabular-nums}
.sp-xp{color:#a78bfa!important;font-weight:900!important}

/* ---------- süre ---------- */
.sp-time{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sp-time-l{color:var(--sp-tx-3);font-size:10px;font-weight:800}
.sp-time-v{display:inline-flex;align-items:center;gap:6px;color:var(--sp-tx);font-size:11px;font-weight:850;font-variant-numeric:tabular-nums}
.sp-time-v i{color:var(--sp-tx-3);font-size:10px}
.sp-time-v em{font-style:normal}
.sp-prog{height:3px;border-radius:99px;background:rgba(148,169,214,.12);overflow:hidden}
.sp-prog i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f43f5e,#fb7185)}

/* üç durum: referansta yalnızca "açık" var */
.sp-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:12px;font-size:10px;font-weight:850;letter-spacing:.04em}
.sp-state.wait{color:#fcd34d;background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.24)}
.sp-state.done{color:#86efac;background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.22)}
.sp-state.void{color:#94a3b8;background:rgba(148,169,214,.05);border:1px solid var(--sp-line)}

/* ---------- alt eylem ---------- */
.sp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.sp-aud{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;background:rgba(148,169,214,.06);border:1px solid var(--sp-line);color:var(--sp-tx-2);font-size:9px;font-weight:800}
.sp-aud i{font-size:9px;color:var(--sp-tx-3)}
.sp-go{
  min-height:42px;padding:0 22px;border-radius:13px;border:0;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;background:linear-gradient(135deg,#f43f5e,#be123c);
  font-size:11px;font-weight:900;letter-spacing:.05em;
  box-shadow:0 14px 30px -18px rgba(244,63,94,.95);transition:.18s;
}
.sp-go:hover{filter:brightness(1.08);transform:translateY(-1px)}
.sp-go.need{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 14px 30px -18px rgba(245,158,11,.9)}
.sp-go.is-off{background:rgba(148,169,214,.08);color:var(--sp-tx-3);box-shadow:none;cursor:default;border:1px solid var(--sp-line)}

/* =========================================================
   TAHMİN MODALI
   ========================================================= */
.sp-modal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:18px}
.sp-modal[hidden]{display:none}
.sp-modal-bg{position:absolute;inset:0;background:rgba(2,5,12,.78);backdrop-filter:blur(7px)}
.sp-modal-box{
  position:relative;width:100%;max-width:420px;max-height:92vh;overflow-y:auto;
  padding:22px 22px 24px;border-radius:22px;
  background:linear-gradient(170deg,#151d33,#0a1020);
  border:1px solid rgba(148,169,214,.2);
  box-shadow:0 40px 90px -40px #000;
  animation:spIn .2s cubic-bezier(.4,0,.2,1);
}
@keyframes spIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.sp-modal-x{
  position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;
  border-radius:10px;border:1px solid var(--sp-line);background:rgba(148,169,214,.06);
  color:var(--sp-tx-2);cursor:pointer;font-size:13px;transition:.18s;
}
.sp-modal-x:hover{color:#fff;background:rgba(148,169,214,.15)}
.sp-modal-sp{display:flex;justify-content:center;min-height:40px;align-items:center}
.sp-modal-sp img{max-height:34px;max-width:150px;object-fit:contain}
.sp-modal-title{color:var(--sp-tx);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.sp-modal-when{margin-top:12px;text-align:center;color:var(--sp-tx-3);font-size:10.5px;font-weight:750}

.sp-modal-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:10px;margin-top:16px}
.sp-modal-team{display:flex;flex-direction:column;align-items:center;gap:9px}
.sp-modal-team .sp-crest{width:52px;height:52px;border-radius:14px}
.sp-modal-team b{color:var(--sp-tx);font-size:13px;font-weight:850;text-align:center;line-height:1.3}
.sp-modal-vs{align-self:center;color:var(--sp-tx-3);font-size:10px;font-weight:900;letter-spacing:.1em}
.sp-modal-metrics{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:15px}
.sp-modal-metrics span{display:inline-flex;align-items:center;gap:6px;color:var(--sp-tx-2);font-size:11.5px;font-weight:800}
.sp-modal-metrics i{color:var(--sp-gold)}
.sp-modal-metrics span:nth-child(2) i{color:#38bdf8}
.sp-modal-metrics b{color:var(--sp-tx)}

.sp-rules{margin-top:16px;border-radius:13px;background:rgba(148,169,214,.05);border:1px solid var(--sp-line);overflow:hidden}
.sp-rules>summary{
  display:flex;align-items:center;gap:9px;padding:13px 14px;cursor:pointer;list-style:none;
  color:var(--sp-tx);font-size:11.5px;font-weight:800;
}
.sp-rules>summary::-webkit-details-marker{display:none}
.sp-rules>summary>i:first-child{color:var(--sp-tx-3)}
.sp-rules-c{margin-left:auto;font-size:10px;color:var(--sp-tx-3);transition:transform .2s}
.sp-rules[open] .sp-rules-c{transform:rotate(180deg)}
.sp-rules ul{margin:0;padding:0 14px 14px 32px;display:grid;gap:6px}
.sp-rules li{color:var(--sp-tx-2);font-size:11px;line-height:1.55}

.sp-modal-sep{height:1px;margin:18px 0 16px;background:var(--sp-line)}
.sp-modal-box h3{margin:0 0 16px;text-align:center;color:#fff;font-size:15px;font-weight:900;line-height:1.35}

.sp-in{margin-bottom:13px}
.sp-in label{display:block;margin-bottom:7px;color:var(--sp-tx-2);font-size:11px;font-weight:800}
.sp-step{display:grid;grid-template-columns:46px 1fr 46px;gap:8px;align-items:center}
.sp-step button{
  height:50px;border-radius:13px;cursor:pointer;
  background:rgba(148,169,214,.07);border:1px solid var(--sp-line);color:var(--sp-tx);
  font-size:18px;font-weight:900;line-height:1;transition:.16s;
}
.sp-step button:hover{background:rgba(148,169,214,.16);color:#fff}
.sp-step input{
  height:50px;width:100%;text-align:center;border-radius:13px;
  background:#060910;border:1px solid rgba(174,190,216,.18);color:#fff;
  font-size:22px;font-weight:900;font-variant-numeric:tabular-nums;outline:0;transition:.16s;
}
.sp-step input:focus{border-color:rgba(245,196,81,.5);box-shadow:0 0 0 3px rgba(245,196,81,.09)}
/* sayı okları gizli: stepper butonları var */
.sp-step input::-webkit-outer-spin-button,.sp-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sp-step input[type=number]{-moz-appearance:textfield;appearance:textfield}

.sp-submit{
  width:100%;min-height:52px;margin-top:6px;border:0;border-radius:15px;cursor:pointer;
  color:#fff;background:linear-gradient(135deg,#f43f5e,#be123c);
  font-size:13px;font-weight:900;letter-spacing:.04em;
  box-shadow:0 18px 36px -20px rgba(244,63,94,.95);transition:.18s;
}
.sp-submit:hover{filter:brightness(1.08)}
.sp-submit:disabled{opacity:.6;cursor:default;filter:none}

/* =========================================================
   MOBİL
   ========================================================= */
@media (max-width:760px){
  .sp-bar{gap:10px}
  .sp-seg{width:100%}
  .sp-seg a{flex:1;justify-content:center;min-height:40px;padding:0 10px;font-size:10.5px}
  .sp-chip{min-height:40px;padding:0 16px}
  .sp-grid{grid-template-columns:1fr;gap:12px}
  .sp-card{padding:13px 13px 12px;gap:9px;border-radius:17px}
  .sp-crest{width:38px;height:38px;border-radius:11px}
  /* dar ekranda uzun ad yerine kısa ad */
  .sp-team b{display:none}
  .sp-team small{display:block;font-size:10.5px;color:var(--sp-tx)}
  .sp-plate{padding:11px 10px;gap:8px}
  .sp-vs{width:32px;height:32px;font-size:8px}
  .sp-final{font-size:19px}
  .sp-modal{padding:12px}
  .sp-modal-box{padding:20px 16px 20px;border-radius:19px}
  .sp-modal-team .sp-crest{width:46px;height:46px}
  .sp-step{grid-template-columns:44px 1fr 44px}
  .sp-modal-x{width:40px;height:40px}  /* dokunma hedefi */
}
/* kısa adı olmayan takımda uzun ad geri gelsin */
@media (max-width:760px){
  .sp-team small:empty{display:none}
  .sp-team small:empty + b,
  .sp-team b:last-child{display:-webkit-box}
}

@media (prefers-reduced-motion:reduce){
  .sp-card,.sp-go,.sp-submit,.sp-modal-box{transition:none;animation:none}
}

/* Yan menu ikonu: bu dosya yalnizca skor sayfasinda yuklendigi icin
   burada tanimlanamaz -> header.php'de satir ici stil kullanildi. */
