
:root { --bg:#0b0d10; --card:#141820; --muted:#a8b2c1; --text:#e6edf3; --accent:#7cc4ff; }
* { box-sizing: border-box; }
body { margin:0; color:var(--text); font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; min-height:100vh; position:relative; background-color:var(--bg); }
body::before {
  content:"";
  position:fixed;
  inset:0;
  background-image: url("../img/bg.jpg");
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  z-index:-2;
  filter: saturate(90%);
}
body::after {
  content:"";
  position:fixed;
  inset:0;
  background:linear-gradient(180deg, rgba(9,12,18,0.78) 0%, rgba(9,12,18,0.92) 55%, rgba(6,8,12,0.98) 100%);
  z-index:-1;
}
body.home::after {
  background:linear-gradient(160deg, rgba(8,11,17,0.68) 0%, rgba(8,11,17,0.86) 55%, rgba(6,8,12,0.96) 100%);
}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(12,16,24,0.82);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(124,196,255,0.12);
  box-shadow:0 12px 28px rgba(0,0,0,0.28);
}
.site-header-inner {
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 24px;
  gap:24px;
}
.site-brand { display:flex; flex-direction:column; gap:4px; }
.brand-name {
  color:var(--text);
  text-decoration:none;
  font-size:22px;
  font-weight:700;
  letter-spacing:1px;
}
.brand-name:hover { color:var(--accent); }
.brand-tagline {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:rgba(232,237,243,0.6);
}
.site-nav { display:flex; align-items:center; gap:22px; }
.site-nav a {
  position:relative;
  color:var(--muted);
  font-weight:600;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  text-decoration:none;
  padding:6px 0;
  transition:color .15s ease;
}
.site-nav a::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease, opacity .2s ease;
  opacity:0;
}
.site-nav a:hover { color:var(--text); }
.site-nav a:hover::after { transform:scaleX(1); opacity:1; }
.site-nav a.active { color:var(--accent); }
.site-nav a.active::after { transform:scaleX(1); opacity:1; }
h1 { margin:0; font-size:22px; letter-spacing:0.5px; }
.admin .site-header { background:rgba(10,13,20,0.88); border-bottom:1px solid rgba(124,196,255,0.14); }
.admin .site-header-inner { padding:14px 24px; gap:28px; }
.admin .brand-tagline { color:rgba(232,237,243,0.55); }
.admin .site-nav a { font-size:12px; }
.admin .site-header .admin-header-actions { margin-left:auto; display:flex; align-items:center; gap:12px; }
.admin .site-header .admin-header-actions form { margin:0; }
.admin .site-header .link-button { color:rgba(232,237,243,0.7); }
.admin .site-header .link-button:hover { color:var(--accent); }
main { padding:24px 20px; max-width:1100px; margin:0 auto; }
h2 { margin:0 0 12px 0; }
h3 { margin:24px 0 8px 0; }
.card { background:var(--card); padding:14px; border-radius:14px; box-shadow: 0 8px 24px rgba(0,0,0,.3); }
.grid { display:grid; gap:16px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 860px) { 
  .grid-2, .grid-3 { grid-template-columns: 1fr; } 
}
@media (max-width: 640px) {
  .site-header-inner { flex-direction:column; align-items:flex-start; padding:14px 20px; gap:12px; }
  .site-nav { gap:16px; flex-wrap:wrap; }
}
.tournament-section { margin-top:18px; }
.section-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.section-header h2 { margin:0; }
.section-header .muted { font-size:13px; }
.tournament-grid { display:grid; gap:18px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.tournament-card { position:relative; background:rgba(12,16,24,0.78); border-radius:18px; padding:20px; border:1px solid rgba(255,255,255,0.05); box-shadow:0 16px 32px rgba(0,0,0,0.32); display:flex; flex-direction:column; gap:12px; transition:transform .2s ease, box-shadow .2s ease; }
.tournament-card:hover { transform:translateY(-4px); box-shadow:0 18px 36px rgba(0,0,0,0.36); }
.tournament-card.shootout { background:rgba(20,12,24,0.78); border-color:rgba(255,138,124,0.3); box-shadow:0 16px 32px rgba(255,138,124,0.18); }
.tournament-card.shootout .badge.type { background:rgba(255,138,124,0.22); border-color:rgba(255,138,124,0.45); color:#ffb6a9; }
.tournament-card.shootout .button.primary { background:rgba(255,138,124,0.32); color:#1a0d10; }
.tournament-card.shootout .button.primary:hover { opacity:0.95; }
.tournament-card-head { display:flex; align-items:center; gap:8px; }
.tournament-card h3 { margin:0; font-size:20px; letter-spacing:0.4px; }
.tournament-card h3 a { color:var(--text); text-decoration:none; }
.tournament-card h3 a:hover { color:var(--accent); }
.date-range { font-size:13px; letter-spacing:0.5px; text-transform:uppercase; color:rgba(232,237,243,0.7); margin:0; }
.tournament-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; }
.tournament-actions .button { padding:8px 16px; font-size:13px; border-radius:999px; }
.badge.type { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); color:rgba(232,237,243,0.8); }
.live-dot { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:#ff8d94; }
.live-dot::before { content:""; width:8px; height:8px; border-radius:50%; background:#ff6176; box-shadow:0 0 10px rgba(255,97,118,0.7); }
.best-breaks { display:grid; gap:14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.break-card { position:relative; background:rgba(18,22,34,0.82); border-radius:16px; padding:18px; border:1px solid rgba(255,255,255,0.06); box-shadow:0 14px 28px rgba(0,0,0,0.3); display:flex; flex-direction:column; gap:8px; }
.break-card.leader { border-color:rgba(124,196,255,0.45); box-shadow:0 18px 36px rgba(124,196,255,0.22); }
.break-rank { font-size:12px; text-transform:uppercase; letter-spacing:1px; color:rgba(232,237,243,0.6); }
.break-meta { display:flex; gap:8px; align-items:center; }
.break-meta .player { font-weight:600; letter-spacing:0.4px; }
.break-meta .nickname { font-size:12px; color:rgba(232,237,243,0.55); }
.break-points { font-size:32px; font-weight:700; color:var(--accent); }
.break-notes { margin:0; font-size:12px; color:rgba(232,237,243,0.65); }
table { width:100%; border-collapse: collapse; }
th, td { padding:8px 10px; border-bottom:1px solid #1e2430; text-align:left; }
th { color:var(--muted); font-weight:600; font-size:12px; text-transform: uppercase; letter-spacing: .7px; }
td strong { color: var(--accent); }
.table-scroll {
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-top:12px;
}
.table-scroll table {
  min-width:100%;
  table-layout:auto;
}
.table-scroll::-webkit-scrollbar {
  height:6px;
}
.table-scroll::-webkit-scrollbar-thumb {
  background:rgba(255,255,255,0.2);
  border-radius:999px;
}
.table-scroll::-webkit-scrollbar-track {
  background:rgba(255,255,255,0.05);
}
.standings th:first-child,
.standings td:first-child {
  width:34px;
  text-align:center;
}
.standings .col-games,
.standings .col-wins,
.standings .col-losses {
  width:52px;
  text-align:center;
}
.standings .col-games { width:58px; }
.standings .col-points { width:72px; text-align:center; }
.muted { color: var(--muted); }
.status { text-transform: capitalize; }
.matches tr:hover { background: #0f141d; }
ol { margin: 4px 0 0 18px; }
.knockout-grid { display:grid; gap:18px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.knockout-card h4 { margin:0 0 12px 0; font-size:16px; }
.knockout-match { background:rgba(255,255,255,0.03); border-radius:12px; padding:12px; margin-bottom:12px; display:flex; flex-direction:column; gap:10px; }
.tournament-page main { margin-top:28px; }
.tournament-hero { display:flex; flex-direction:column; gap:16px; background:rgba(13,18,28,0.78); border-radius:20px; border:1px solid rgba(124,196,255,0.25); padding:22px 26px; box-shadow:0 18px 40px rgba(0,0,0,0.34); margin-bottom:28px; backdrop-filter:blur(12px); }
.tournament-hero.compact { padding:20px 24px; gap:14px; }
.t-hero-main { display:flex; flex-direction:column; gap:12px; }
.t-hero-header { display:flex; flex-direction:column; gap:10px; }
.t-hero-main h2 { margin:0; font-size:24px; letter-spacing:0.45px; }
.date-range { color:rgba(232,237,243,0.75); font-size:14px; letter-spacing:0.6px; text-transform:uppercase; }
.t-hero-meta-row { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; flex-wrap:wrap; }
.title-block { display:flex; flex-direction:column; gap:6px; }
.status-chip { display:inline-flex; align-items:center; gap:8px; font-size:12px; text-transform:uppercase; letter-spacing:1px; padding:6px 14px; border-radius:999px; background:rgba(124,196,255,0.15); color:var(--accent); width:max-content; }
.status-chip.status-planning { background:rgba(255,199,109,0.18); color:#ffcf70; }
.status-chip.status-live { background:rgba(116,227,163,0.18); color:#76e3a3; box-shadow:0 8px 18px rgba(118,227,163,0.18); }
.status-chip.status-completed { background:rgba(166,181,255,0.18); color:#a6b5ff; }
.t-hero-meta { display:flex; flex-wrap:wrap; gap:14px; margin-top:4px; }
.t-hero-meta .fact { padding:12px 16px; border-radius:14px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.05); min-width:124px; }
.t-hero-meta .fact .label { display:block; font-size:12px; letter-spacing:0.6px; text-transform:uppercase; color:rgba(232,237,243,0.6); margin-bottom:6px; }
.t-hero-meta .fact strong { font-size:20px; }
.t-hero-meta .fact.fact-break { background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.05); box-shadow:none; }
.t-hero-meta .fact.fact-break strong { color:var(--text); font-size:20px; letter-spacing:0.6px; }
.t-hero-meta .fact.fact-break .sub { display:block; margin-top:6px; font-size:13px; color:rgba(232,237,243,0.7); }
.t-hero-side { display:none; }
.t-hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.t-hero-actions .button { padding:8px 16px; font-size:13px; border-radius:999px; }
.t-hero-side h3 { margin:0 0 10px 0; text-transform:uppercase; font-size:16px; letter-spacing:0.8px; color:rgba(124,196,255,0.85); }
.t-hero-side ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; font-size:14px; color:rgba(232,237,243,0.82); }
.t-hero-side li strong { color:var(--accent); font-weight:600; margin-right:6px; }
.t-hero-side code { background:rgba(0,0,0,0.35); padding:4px 6px; border-radius:6px; font-size:13px; color:rgba(232,237,243,0.85); }
.hero { position:relative; overflow:hidden; border-radius:24px; margin-bottom:28px; min-height:260px; background:rgba(10,14,22,0.72); border:1px solid rgba(255,255,255,0.05); box-shadow: 0 18px 36px rgba(0,0,0,0.35); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(8,13,21,0.75) 20%, rgba(68,105,167,0.25) 100%); }
.hero-content { position:relative; padding:56px 54px; display:grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap:36px; align-items:stretch; }
.hero-content .hero-main { display:flex; flex-direction:column; gap:20px; max-width:480px; }
.hero-content h2 { font-size:32px; margin:0; letter-spacing:0.6px; }
.hero-content p { margin:0; color:rgba(230,237,243,0.8); line-height:1.6; }
.hero .button.primary { align-self:flex-start; box-shadow: 0 12px 24px rgba(124,196,255,0.35); }
.hero-contact { align-self:stretch; }
.match-mobile-meta { display:none; }
.col-date .match-date { display:block; font-weight:600; }
.card.glass { background:rgba(15,20,30,0.75); border:1px solid rgba(124,196,255,0.2); backdrop-filter:blur(12px); box-shadow: 0 14px 32px rgba(0,0,0,0.35); border-radius:18px; padding:28px; display:flex; flex-direction:column; gap:10px; }
.card.glass h3 { margin:0 0 6px 0; font-size:20px; letter-spacing:1px; text-transform:uppercase; color:var(--accent); }
.card.glass a { color:var(--text); text-decoration:none; }
.card.glass a:hover { color:var(--accent); }
.hero-contact .small { margin-top:8px; line-height:1.5; }
.pool-card { position:relative; overflow:hidden; }
.pool-card::after { content:""; position:absolute; inset:1px; border-radius:inherit; pointer-events:none; opacity:0.2; transition:opacity .2s; }
.pool-card.pool-a::after { background:linear-gradient(135deg, rgba(76,194,255,0.6), transparent); }
.pool-card.pool-b::after { background:linear-gradient(135deg, rgba(255,138,124,0.6), transparent); }
.pool-card:hover::after { opacity:0.35; }
.pool-row.pool-a td strong { color:#66d1ff; }
.pool-row.pool-b td strong { color:#ff9b8d; }
.pool-chip { display:inline-flex; align-items:center; justify-content:center; min-width:32px; padding:4px 12px; border-radius:999px; font-weight:600; font-size:12px; letter-spacing:1px; text-transform:uppercase; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); }
.pool-chip.pool-a { background:rgba(76,194,255,0.18); border-color:rgba(76,194,255,0.45); color:#66d1ff; box-shadow:0 0 0 1px rgba(76,194,255,0.2); }
.pool-chip.pool-b { background:rgba(255,138,124,0.2); border-color:rgba(255,138,124,0.45); color:#ff9b8d; box-shadow:0 0 0 1px rgba(255,138,124,0.2); }
.match-row.pool-a { background:rgba(76,194,255,0.08); box-shadow:inset 3px 0 0 rgba(76,194,255,0.55); }
.match-row.pool-b { background:rgba(255,138,124,0.08); box-shadow:inset 3px 0 0 rgba(255,138,124,0.55); }
.match-row.pool-a:hover { background:rgba(76,194,255,0.12); }
.match-row.pool-b:hover { background:rgba(255,138,124,0.12); }
.knockout-match.pool-a { border:1px solid rgba(76,194,255,0.25); background:rgba(76,194,255,0.08); }
.knockout-match.pool-b { border:1px solid rgba(255,138,124,0.25); background:rgba(255,138,124,0.1); }
.stage-tabs { display:flex; flex-direction:column; gap:20px; }
.tab-list { display:flex; flex-wrap:wrap; gap:12px; }
.tab-button {
  border:1px solid rgba(124,196,255,0.25);
  background:rgba(124,196,255,0.12);
  color:var(--text);
  padding:8px 18px;
  border-radius:999px;
  font-size:13px;
  letter-spacing:0.8px;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .2s ease;
}
.tab-button:hover { background:rgba(124,196,255,0.18); }
.tab-button.active {
  background:rgba(124,196,255,0.3);
  color:#0a1320;
  box-shadow:0 10px 24px rgba(124,196,255,0.25);
}
.tab-panels { position:relative; }
.tab-panel { display:none; }
.tab-panel.active { display:block; animation:fade-in .25s ease; }
@keyframes fade-in {
  from { opacity:0; transform:translateY(6px); }
  to { opacity:1; transform:translateY(0); }
}
.bracket {
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:64px;
  overflow-x:auto;
  padding:26px 32px 36px;
  background:linear-gradient(160deg, rgba(10,15,23,0.92), rgba(18,24,36,0.78));
  border-radius:26px;
  border:1px solid rgba(156,206,255,0.28);
  box-shadow:0 30px 60px rgba(0,0,0,0.45);
}
.bracket.card { padding:26px 32px 36px; }
.bracket-column {
  position:relative;
  display:flex;
  flex-direction:column;
  flex:0 0 320px;
  width:320px;
  min-width:320px;
  gap:32px;
}
.bracket-column.spread { justify-content:space-between; }
.bracket-column.center { justify-content:center; }
.bracket-round-title {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:rgba(232,237,243,0.55);
  margin-bottom:12px;
  font-weight:600;
}
.bracket-match {
  position:relative;
  left:0;
  right:0;
  background:transparent;
}
.bracket-column[data-round] .bracket-match { right:0; }
.bracket-match-card {
  height:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
  background:rgba(10,15,24,0.92);
  border-radius:20px;
  border:1px solid rgba(156,206,255,0.24);
  box-shadow:0 26px 48px rgba(0,0,0,0.45);
  padding:22px 24px;
  position:relative;
  overflow:hidden;
}
.bracket-match.completed {
  z-index:2;
}
.bracket-match.completed .bracket-match-card {
  border-color:rgba(118,227,163,0.38);
  box-shadow:0 26px 46px rgba(118,227,163,0.3);
}
.bracket-match-body {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:20px;
}
.bracket-match-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:12px;
  letter-spacing:0.6px;
  text-transform:uppercase;
  color:rgba(232,237,243,0.6);
  font-weight:600;
}
.bracket-match-code { font-weight:600; }
.bracket-match-time { color:rgba(232,237,243,0.5); font-weight:500; font-variant-numeric:tabular-nums; }
.bracket-player {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  font-weight:600;
  font-size:20px;
  color:rgba(232,237,243,0.95);
}
.bracket-player.home { justify-content:flex-end; text-align:right; }
.bracket-player.away { justify-content:flex-start; text-align:left; }
.bracket-player .name {
  display:block;
  white-space:normal;
  overflow:visible;
  text-overflow:initial;
  max-width:100%;
}
.bracket-player.winner .name { color:var(--accent); font-weight:700; }
.bracket-slot .slot-name {
  font-weight:600;
  color:rgba(232,237,243,0.92);
}
.bracket-scoreline {
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  font-size:26px;
  color:var(--text);
  min-width:90px;
  justify-content:center;
}
.bracket-scoreline .score { font-size:28px; color:rgba(232,237,243,0.96); }
.bracket-scoreline .pending { font-size:26px; color:rgba(232,237,243,0.4); }
.bracket-match.completed .bracket-scoreline { color:rgba(118,227,163,0.92); }
.bracket-scoreline .dash { opacity:0.6; font-size:22px; }
.bracket-match-meta {
  flex-wrap:wrap;
}
.stage-match-list { display:grid; gap:18px; }
.stage-match { background:rgba(12,16,24,0.62); border:1px solid rgba(255,255,255,0.06); border-radius:16px; padding:18px; display:flex; flex-direction:column; gap:16px; box-shadow:0 12px 26px rgba(0,0,0,0.25); }
.stage-match.pool-upper { border-color:rgba(76,194,255,0.25); box-shadow:0 12px 28px rgba(76,194,255,0.22); }
.stage-match.pool-lower { border-color:rgba(255,138,124,0.25); box-shadow:0 12px 28px rgba(255,138,124,0.22); }
.stage-match-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.stage-match-meta { display:flex; align-items:center; gap:12px; font-size:13px; color:rgba(232,237,243,0.7); text-transform:uppercase; letter-spacing:0.8px; }
.stage-match-body { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; }
.stage-match-player {
  display:flex;
  align-items:center;
  font-weight:600;
  font-size:18px;
}
.stage-match-player.home { justify-content:flex-end; text-align:right; }
.stage-match-player.away { justify-content:flex-start; text-align:left; }
.stage-match-player .name { color:rgba(232,237,243,0.92); }
.stage-match-player .name.winner { font-weight:700; color:var(--accent); }
.stage-match-scoreline {
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  font-size:18px;
  color:var(--text);
  justify-content:center;
}
.stage-match-scoreline .score { font-size:20px; }
.stage-match-scoreline .dash { opacity:0.75; }
.stage-match-scoreline .upcoming {
  font-size:12px;
  font-weight:600;
  letter-spacing:0.8px;
  text-transform:uppercase;
  color:rgba(232,237,243,0.65);
}
.stage-match-status { font-size:12px; letter-spacing:0.6px; text-transform:uppercase; }
.ranking-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap; }
.ranking-header h2 { margin:0; letter-spacing:0.6px; }
.rankings-page .button.secondary { background:rgba(124,196,255,0.18); color:var(--text); border:1px solid rgba(124,196,255,0.32); border-radius:999px; padding:8px 18px; font-size:13px; letter-spacing:0.6px; text-transform:uppercase; }
.rankings-page .button.secondary:hover { background:rgba(124,196,255,0.24); }
.rankings-page table.rankings { width:100%; border-collapse:separate; border-spacing:0 12px; margin-top:12px; }
.rankings-page table.rankings thead { background:none; }
.rankings-page table.rankings th { text-transform:uppercase; letter-spacing:0.6px; font-size:12px; color:rgba(232,237,243,0.7); padding:0 16px 6px; text-align:left; }
.rankings-page table.rankings td { padding:14px 16px; text-align:left; }
.rankings-page table.rankings tbody tr { background:rgba(12,16,24,0.75); border:1px solid rgba(255,255,255,0.06); box-shadow:0 12px 24px rgba(0,0,0,0.32); border-radius:18px; overflow:hidden; }
.rankings-page table.rankings tbody tr td:first-child { border-top-left-radius:18px; border-bottom-left-radius:18px; }
.rankings-page table.rankings tbody tr td:last-child { border-top-right-radius:18px; border-bottom-right-radius:18px; }
.rankings-page table.rankings td strong { color:var(--accent); font-size:18px; }
.muted-stage-alert { background:rgba(12,16,24,0.62); border:1px solid rgba(124,196,255,0.16); border-radius:16px; padding:18px 20px; margin-bottom:22px; box-shadow:0 12px 24px rgba(0,0,0,0.28); }
.muted-stage-alert h3 { margin:0 0 6px 0; text-transform:uppercase; font-size:13px; letter-spacing:0.8px; color:rgba(232,237,243,0.65); }
.muted-stage-alert p { margin:0; color:rgba(232,237,243,0.62); font-size:14px; }
.player-list-scroll { max-height:220px; overflow:auto; border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:10px; background:rgba(10,14,22,0.6); }
.player-list { columns:2; column-gap:18px; list-style:none; margin:0; padding:0; font-size:13px; color:rgba(232,237,243,0.7); }
.player-list li { break-inside:avoid; margin-bottom:6px; }
.modal-open { overflow:hidden; }
.modal-overlay { position:fixed; inset:0; background:rgba(4,8,14,0.72); backdrop-filter:blur(10px); display:flex; align-items:center; justify-content:center; padding:24px; z-index:999; opacity:0; pointer-events:none; transition:opacity .2s ease; }
.modal-overlay.open { opacity:1; pointer-events:auto; }
.modal-overlay .modal { max-width:720px; width:100%; max-height:80vh; overflow:auto; padding:32px 36px; position:relative; }
.modal-overlay h3 { margin-top:0; font-size:22px; letter-spacing:0.8px; text-transform:uppercase; color:var(--accent); }
.modal-overlay h4 { margin:18px 0 6px; font-size:16px; letter-spacing:0.5px; text-transform:uppercase; color:rgba(232,237,243,0.9); }
.modal-overlay p { margin:0 0 10px; line-height:1.6; color:rgba(232,237,243,0.85); }
.modal-overlay ul { margin:0 0 12px 18px; color:rgba(232,237,243,0.8); }
.modal-close { position:absolute; top:16px; right:16px; background:none; border:none; color:rgba(232,237,243,0.65); font-size:26px; cursor:pointer; padding:4px; }
.modal-close:hover { color:var(--accent); }
.button, button { border:none; border-radius:10px; padding:10px 18px; font-weight:600; cursor:pointer; background:rgba(255,255,255,0.05); color:var(--text); transition:background .15s ease, opacity .15s ease; }
.button:hover, button:hover { background:rgba(255,255,255,0.08); }
.button.primary, button.primary { background:var(--accent); color:#04111c; }
.button.primary:hover, button.primary:hover { opacity:0.9; }
.button.secondary { background:rgba(255,255,255,0.08); color:var(--text); }
.button.secondary:hover { background:rgba(255,255,255,0.12); }
.button.danger { background:#ff6176; color:#190206; }
.button.danger:hover { background:#ff7586; }
.button.small { padding:6px 10px; font-size:12px; }
.table-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.table-actions form { margin:0; }
.table-actions .button { min-width:auto; }
.badge { display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; text-transform:uppercase; letter-spacing:0.6px; }
.badge.active { background:#153924; color:#9be7c7; }
.badge.inactive { background:#3a1c1f; color:#ffbfbf; }
.status-badge { background:rgba(255,255,255,0.08); color:var(--text); border:1px solid rgba(255,255,255,0.12); }
.status-badge.status-planning { background:rgba(255,199,109,0.16); color:#ffcf70; border-color:rgba(255,199,109,0.35); }
.status-badge.status-live { background:rgba(116,227,163,0.16); color:#76e3a3; border-color:rgba(116,227,163,0.32); }
.status-badge.status-completed { background:rgba(166,181,255,0.16); color:#a6b5ff; border-color:rgba(166,181,255,0.32); }
.form-actions { display:flex; gap:10px; align-items:center; }
.compact-form { display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; }
.grid.small-gap { gap:10px; }
.form-grid .card { align-self:flex-start; }
a.button { display:inline-block; text-decoration:none; }
.link-button { background:none; border:none; color:var(--accent); cursor:pointer; font-weight:600; }
.link-button:hover { text-decoration:underline; }
.auth-container { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:32px; }
.auth-card { max-width:360px; width:100%; }
.auth-card h1 { margin-bottom:8px; }
.form-label { display:flex; flex-direction:column; gap:6px; font-size:14px; color:var(--muted); margin-bottom:12px; }
.form-label input, .form-label select, .form-label textarea { padding:10px; border-radius:10px; border:1px solid #1f2532; background:#0f131a; color:var(--text); }
.form-label textarea { min-height:140px; resize:vertical; line-height:1.4; }
.form-label.form-checkbox { flex-direction:row; align-items:center; gap:10px; font-size:13px; }
.form-label.form-checkbox input { width:auto; }
input[type="date"], input[type="datetime-local"] {
  font-family:inherit;
  letter-spacing:0.3px;
  background:#111725;
  border:1px solid rgba(124,196,255,0.18);
  color:var(--text);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(0.6);
  opacity:0.8;
}
.alert { padding:10px 12px; border-radius:10px; margin:10px 0; font-size:14px; }
.alert.error { background:#341618; color:#ffbfbf; }
.alert.success { background:#113424; color:#9be7c7; }
.small { font-size:12px; }
.stats .card { text-align:center; }
.stat { font-size:28px; font-weight:700; margin:4px 0 0 0; }
.form-card { display:flex; flex-direction:column; gap:12px; max-width:420px; }
.card.transparent { background:rgba(10,14,22,0.78); border:1px solid rgba(255,255,255,0.05); backdrop-filter:blur(6px); box-shadow: 0 12px 28px rgba(0,0,0,0.32); }
.tournament-list li { background:rgba(18,22,32,0.78); }
.tournament-list li:hover { background:rgba(24,32,46,0.88); }
footer { margin-top:72px; padding:32px 20px 48px; text-align:center; position:relative; color:rgba(232,237,243,0.7); }
footer::before { content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:140px; height:1px; background:linear-gradient(90deg, transparent, rgba(124,196,255,0.4), transparent); opacity:0.9; }
footer small { display:block; font-size:12px; letter-spacing:1.2px; text-transform:uppercase; color:rgba(232,237,243,0.55); }
footer small strong { color:var(--text); }
@media (max-width: 980px) {
  .tournament-hero { padding:20px 22px; }
  .t-hero-actions { width:100%; justify-content:flex-start; }
}
@media (max-width: 640px) {
  .hero-content { grid-template-columns:1fr; padding:32px 22px; gap:20px; }
  .t-hero-meta { gap:10px; }
  .t-hero-meta .fact { flex:1 1 calc(50% - 10px); min-width:138px; padding:10px 12px; }
  .t-hero-meta .fact strong { font-size:18px; }
  .pool-card::after { display:none; }
  .match-row.pool-a, .match-row.pool-b { box-shadow:none; }
  .t-hero-actions { flex-wrap:wrap; gap:8px; }
  .t-hero-actions .button { flex:1; min-width:130px; text-align:center; }
  .table-scroll table { min-width:100%; }
  .standings .col-frames { display:none; }
  .hero-contact { width:100%; }
  .matches thead { display:none; }
  .matches tbody tr { display:flex; flex-direction:column; border-bottom:1px solid rgba(255,255,255,0.06); padding:12px 0; }
  .matches tbody tr td { border-bottom:none; padding:4px 0; }
  .matches .col-stage, .matches .col-pool { display:none; }
  .match-mobile-meta { display:flex; align-items:center; gap:8px; font-size:12px; letter-spacing:0.6px; text-transform:uppercase; color:rgba(232,237,243,0.7); margin-top:4px; }
}
@media (max-width: 540px) {
  body::before { background-attachment:scroll; }
  main { padding:18px 14px; }
  .card { padding:12px; }
  .site-header-inner { padding:12px 16px; }
  .site-nav { width:100%; overflow-x:auto; flex-wrap:nowrap; gap:12px; }
  .site-nav::-webkit-scrollbar { display:none; }
  .site-nav a { font-size:11px; }
  .hero-content { padding:28px 18px; }
  .t-hero-meta { gap:8px; }
  .t-hero-meta .fact { flex:1 1 calc(50% - 8px); min-width:130px; }
  table { font-size:13px; }
  th { font-size:11px; }
  th, td { padding:6px 8px; }
  .table-scroll table { min-width:100%; }
  .standings td:nth-child(2) { width:150px; }
  .standings .col-frames { display:none; }
  .hero-contact { padding:18px; }
}
