/* ═══════════════ SwiftScore · Public tournament & player pages ═══════════════ */
.tp-hero{--tc:#22d3ee;position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;
  padding:26px 28px;margin-bottom:18px;border-radius:18px;color:#d6ecf5;
  background:linear-gradient(135deg,#0d2433 0%,#081723 60%,#06121a 100%);border:1px solid #1d4155;box-shadow:0 10px 30px rgba(6,18,26,.25)}
.tp-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--tc),transparent)}
.tp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(34,211,238,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.05) 1px,transparent 1px);background-size:20px 20px}
.tp-hero > *{position:relative;z-index:1}
.tp-hero-main{flex:1 1 320px;min-width:0}
.tp-kicker{font-family:var(--ff-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#67e8f9}
.tp-hero h1{font-family:var(--ff-head);font-weight:900;font-size:clamp(1.3rem,3vw,2rem);color:#fff;margin:6px 0 10px;letter-spacing:.03em;text-shadow:0 0 18px rgba(34,211,238,.35)}
.tp-meta{display:flex;flex-wrap:wrap;gap:6px}
.tp-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid #1d4155;background:rgba(255,255,255,.04);color:#cfe6f1;font-size:.72rem}
.tp-chip.red{color:#fca5a5;border-color:rgba(248,113,113,.5)}
.tp-chip.green{color:#6ee7b7;border-color:rgba(52,211,153,.45)}
.tp-chip.amber{color:#fcd34d;border-color:rgba(251,191,36,.45)}
.tp-chip.cyan{color:#67e8f9;border-color:rgba(34,211,238,.45)}
.tp-stats{display:grid;grid-template-columns:repeat(4,minmax(78px,1fr));gap:10px}
.tp-stat{padding:10px 14px;border-radius:12px;border:1px solid #1d4155;background:rgba(6,18,26,.55);text-align:center}
.tp-stat .v{font-family:var(--ff-head);font-weight:800;font-size:1.4rem;color:#fff;text-shadow:0 0 10px rgba(34,211,238,.45)}
.tp-stat .l{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#7fa6b8}
.tp-stat.live .v{color:#fca5a5;text-shadow:0 0 10px rgba(248,113,113,.6)}
.tp-tabs-card .mx-pane{padding:16px 18px}
.tp-empty{padding:34px 16px;text-align:center;color:#8a9099}
.tp-empty i{font-size:1.8rem;display:block;margin-bottom:6px;color:#cfcfc9}

/* Match cards */
.tp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:10px}
.tp-m{display:block;text-decoration:none!important;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e7e7e4;
  box-shadow:0 1px 2px rgba(16,24,40,.04);color:#1f2328!important;transition:transform .15s,box-shadow .15s,border-color .15s}
.tp-m:hover{border-color:var(--org);box-shadow:0 8px 20px rgba(16,24,40,.08);transform:translateY(-2px)}
.tp-m.live{border-color:rgba(220,38,38,.45)}
.tp-m-top{display:flex;justify-content:space-between;gap:8px;font-size:.66rem;color:#8a9099;font-family:var(--ff-mono);margin-bottom:8px}
.tp-st{font-family:var(--ff-head);font-weight:800;letter-spacing:.1em;font-size:.58rem;white-space:nowrap}
.tp-st.live{color:#dc2626}.tp-st.result{color:#047857}.tp-st.upcoming{color:#b45309}.tp-st.abandoned{color:#6b7280}
.tp-m-row{display:flex;align-items:center;gap:8px;padding:3px 0}
.tp-m-row .nm{flex:1;min-width:0;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-m-row .sc{font-family:var(--ff-head);font-weight:800;color:#111827;font-size:.86rem;white-space:nowrap}
.tp-m-row .sc small{font-family:var(--ff-mono);color:#8a9099;font-weight:400;font-size:.66rem}
.tp-m-row.dim .nm,.tp-m-row.dim .sc{color:#9ca3af}
.tp-m-row .tm-badge{flex-shrink:0}
.tp-m-note{margin-top:8px;padding-top:8px;border-top:1px solid #eeeeea;font-size:.72rem;color:#0e7490}
.tp-m.live .tp-m-note{color:#dc2626}

/* Bracket */
.tp-bracket{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:center}
.tp-col{display:flex;flex-direction:column;gap:12px}
.tp-col-h{font-family:var(--ff-head);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6b7280;text-align:center}
.tp-col-final .tp-m{border:2px solid #f59e0b;box-shadow:0 8px 24px rgba(245,158,11,.18)}
.tp-trophy{text-align:center;font-size:2.2rem;color:#f59e0b;filter:drop-shadow(0 4px 10px rgba(245,158,11,.35))}

/* Teams & squads */
.tp-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tp-team{--tc:#0891b2;border-radius:14px;background:#fff;border:1px solid #e7e7e4;border-top:4px solid var(--tc);overflow:hidden}
.tp-team-h{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #eeeeea}
.tp-team-h .nm{font-weight:800;color:#111827}
.tp-team-h .sub{font-size:.68rem;color:#8a9099}
.tp-squad{list-style:none;margin:0;padding:8px 14px 12px;max-height:340px;overflow:auto}
.tp-squad li{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px dashed #f0f0ec;font-size:.8rem}
.tp-squad li:last-child{border-bottom:none}
.tp-squad a{color:#111827;font-weight:600;text-decoration:none}
.tp-squad a:hover{color:var(--org);text-decoration:underline}
.tp-squad .tag{font-size:.55rem;font-weight:800;padding:1px 5px;border-radius:4px;background:#fef3c7;color:#92400e}
.tp-squad .rl{margin-left:auto;font-size:.6rem;color:#8a9099;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}

/* Tournament list */
.tp-tcard{display:block;text-decoration:none!important;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid #e7e7e4;
  border-left:4px solid var(--org);box-shadow:0 1px 2px rgba(16,24,40,.04);transition:transform .15s,box-shadow .15s}
.tp-tcard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,24,40,.08)}
.tp-tcard .nm{font-family:var(--ff-head);font-weight:800;color:#111827;font-size:.95rem}
.tp-tcard .mt{font-size:.74rem;color:#6b7280;margin-top:4px}
.tp-tcard .nums{display:flex;gap:18px;margin-top:12px}
.tp-tcard .nums b{display:block;font-family:var(--ff-head);font-size:1.1rem;color:#111827}
.tp-tcard .nums span{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#8a9099}

/* Player hero */
.pp-photo{width:96px;height:96px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;overflow:hidden;
  font-family:var(--ff-head);font-weight:900;font-size:1.6rem;color:#fff;background:var(--tc);border:3px solid rgba(255,255,255,.2);
  box-shadow:0 0 24px color-mix(in srgb,var(--tc) 55%,transparent)}
.pp-photo img{width:100%;height:100%;object-fit:cover}
.pp-no{font-size:.75em;color:#67e8f9;margin-left:10px}
@media(max-width:575px){.tp-hero{padding:20px}.tp-stats{grid-template-columns:repeat(2,1fr)}}
