:root{
  --bg:#071027;
  --panel:#0d1624;
  --accent:#ff8a3d;
  --muted:#9fb0c8;
  --white:#eef6ff;
  --glass: rgba(255,255,255,0.03);
}
*{box-sizing:border-box}
body{font-family:Poppins,Inter,system-ui,Segoe UI,Arial;background:linear-gradient(180deg,var(--bg) 0%, #0f1724 100%);color:var(--white);margin:0;padding:28px}
.container{max-width:980px;margin:0 auto}
.hero{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.hero h1{font-size:30px;margin:0}
.subtitle{color:var(--muted);margin:0}
.note{background:linear-gradient(90deg,rgba(255,138,61,0.06),transparent);border-left:4px solid var(--accent);padding:12px;border-radius:10px;margin-bottom:18px;color:var(--muted)}

/* Table style */
.matches table{width:100%;border-collapse:separate;border-spacing:0 8px;background:transparent}
thead th{background:transparent;text-align:left;padding:12px 16px;font-weight:700;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:0.6px}
tbody td{padding:14px 16px;border-top:0}
tbody tr{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:10px;box-shadow: 0 6px 18px rgba(0,0,0,0.45);transition:transform .18s ease, box-shadow .18s ease}
tbody tr:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,0.55)}

.time{font-weight:800;color:var(--white);width:90px}

/* Terrain badge */
.location-badge{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,0.03);color:var(--muted);font-weight:700;font-size:13px;border:1px solid rgba(255,255,255,0.03)}
.location-badge.terrain-1{background:linear-gradient(90deg, rgba(255,138,61,0.12), rgba(255,138,61,0.02));color:var(--accent);border-color:rgba(255,138,61,0.18)}
.location-badge.terrain-2{background:linear-gradient(90deg, rgba(124,124,255,0.06), rgba(124,124,255,0.02));color:#7c7cff;border-color:rgba(124,124,255,0.12)}

.teams-cell{display:flex;gap:10px;align-items:center}
.team-name{font-weight:700}
.vs{color:var(--muted);font-weight:600}

/* Arrive (5min before) highlight */
.arrive{display:inline-block;padding:6px 10px;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}

.footer{margin-top:18px;color:var(--muted);font-size:13px}

/* Controls */
.controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.controls-left{display:flex;gap:8px;align-items:center}
#search{padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:var(--white)}
#filter{padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:var(--white)}
#filter{padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:var(--panel);color:var(--white);box-shadow:0 6px 18px rgba(0,0,0,0.4);appearance:none}
#filter option{background:var(--panel);color:var(--white)}
#filter::-ms-expand{display:none}
#sortBtn{display:none}
.countdown-box{text-align:right;font-weight:700}
#nextCountdown{font-size:18px;color:var(--accent)}

/* Highlight current match */
tbody tr.current{border-left:4px solid var(--accent);box-shadow:0 14px 36px rgba(0,0,0,0.6);}

/* Back button */
.hero-top{display:flex;align-items:center;gap:12px}
.back-btn{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--white);padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:700}
.back-btn:hover{background:rgba(255,255,255,0.02)}

@media(max-width:640px){body{padding:14px}.hero h1{font-size:20px}thead th{font-size:11px}tbody td{padding:10px}.time{width:72px}}

/* Entry animation for planning page when navigated from index */
.container.page-enter{opacity:0;transform:translateY(18px);transition:transform 0.6s ease, opacity 0.6s ease}
.container.page-enter.showing{opacity:1;transform:none}

/* Exit animation for planning container */
.container.page-exit{
  transition: transform 0.45s cubic-bezier(.2,.9,.2,1), opacity 0.45s ease, filter 0.45s ease;
  transform: translateY(-24px) scale(0.995);
  opacity: 0;
  filter: blur(6px) brightness(0.9);
  pointer-events: none;
}
