    :root {
      --bg: #0a0b0d;
      --panel: rgba(0, 0, 0, 0.58);
      --border: #23262d;
      --border-soft: rgba(16, 185, 129, 0.18);
      --text: #ffffff;
      --muted: #a1a1aa;
      --muted-2: #71717a;
      --accent: #34d399;
      --shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
      --radius-xl: 32px;
      --max: 1360px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-height: 100vh;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:
        radial-gradient(circle at top left, rgba(22, 163, 74, 0.18), transparent 30%),
        radial-gradient(circle at top right, rgba(120, 53, 15, 0.24), transparent 35%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.82)),
        var(--bg);
      color: var(--text);
    }

.container {
    width: min(95%, 1200px);
    margin: auto;
    padding: 20px;
}

.glass {
    background: rgba(0,0,0,0.6);
    border-radius: 20px;
    padding: 20px;
    border: 1px solid #222;
}

.fixture-card {
    background: rgba(0,0,0,0.5);
    border: 1px solid #222;
    border-radius: 15px;
    padding: 10px;
}

.muted {
    color: #aaa;
    font-size: 14px;
}

.highlight {
    border: 2px solid #34d399 !important;
}
    a {
      color: inherit;
      text-decoration: none;
    }

    button {
      font: inherit;
      cursor: pointer;
      border: 0;
    }

    .container {
      width: min(calc(100% - 32px), var(--max));
      margin: 0 auto;
      padding: 24px 0 40px;
      position: relative;
      z-index: 1;
    }

    .glass {
      background: var(--panel);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid var(--border);
      box-shadow: var(--shadow);
    }

    .site-header,
    .site-footer,
    .panel,
    .stat-card,
    .next-night,
    .hero {
      border-radius: var(--radius-xl);
    }

    .site-header,
    .site-footer {
      padding: 24px 28px;
    }

    .site-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      flex-wrap: wrap;
    }

    .eyebrow {
      margin: 0;
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--accent);
    }

    .site-title {
      margin: 10px 0 0;
      font-size: clamp(2rem, 4vw, 3.5rem);
      line-height: 0.96;
      text-transform: uppercase;
      font-weight: 900;
      max-width: 780px;
    }

    .nav {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .nav a {
      padding: 12px 16px;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: rgba(9, 9, 11, 0.72);
      color: #d4d4d8;
      font-size: 0.86rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      transition: 0.2s ease;
    }

    .nav a:hover,
    .nav a[aria-current="page"] {
      border-color: rgba(52, 211, 153, 0.45);
      color: var(--accent);
      transform: translateY(-1px);
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 24px;
      margin-top: 28px;
    }

    .hero {
      padding: 44px;
      background:
        linear-gradient(135deg, rgba(10, 10, 10, 0.94), rgba(16, 22, 26, 0.92)),
        radial-gradient(circle at right, rgba(16, 185, 129, 0.08), transparent 40%);
      overflow: hidden;
      position: relative;
      min-height: 360px;
      display: flex;
      align-items: center;
    }

    .hero::after {
      content: "🎯";
      position: absolute;
      right: 32px;
      bottom: 18px;
      font-size: 8rem;
      opacity: 0.08;
      filter: saturate(0);
      pointer-events: none;
    }

    .hero h1 {
      margin: 14px 0 0;
      font-size: clamp(2.4rem, 5vw, 4.6rem);
      line-height: 0.93;
      text-transform: uppercase;
      font-weight: 900;
      max-width: 700px;
    }

    .hero p {
      margin: 20px 0 0;
      max-width: 680px;
      color: #d4d4d8;
      font-size: 1.08rem;
      line-height: 1.75;
    }

    .hero-actions {
      margin-top: 30px;
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .btn {
      display: inline-block;
      padding: 14px 22px;
      border-radius: 18px;
      font-weight: 800;
      transition: 0.2s ease;
    }

    .btn-primary {
      background: var(--accent);
      color: #04110b;
    }

    .btn-primary:hover {
      transform: translateY(-2px) scale(1.01);
      background: #4ade80;
    }

    .btn-secondary {
      background: transparent;
      border: 1px solid #3f3f46;
      color: #fff;
    }

    .btn-secondary:hover {
      border-color: rgba(52, 211, 153, 0.45);
      color: var(--accent);
    }

    .stats-column {
      display: grid;
      gap: 24px;
    }

    .stat-card,
    .next-night {
      padding: 24px;
    }

    .stat-content {
      display: flex;
      gap: 18px;
      align-items: flex-start;
    }

    .stat-icon {
      width: 68px;
      height: 68px;
      border-radius: 20px;
      display: grid;
      place-items: center;
      font-size: 2rem;
      border: 1px solid rgba(52, 211, 153, 0.26);
      background: rgba(52, 211, 153, 0.08);
      flex-shrink: 0;
    }

    .label {
      margin: 0;
      font-size: 0.76rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--muted);
    }

    .stat-value {
      margin: 8px 0 0;
      font-size: clamp(2.7rem, 5vw, 4rem);
      line-height: 0.95;
      font-weight: 900;
      color: var(--accent);
    }

    .stat-name {
      margin: 12px 0 0;
      font-size: 1.3rem;
      font-weight: 800;
    }

    .stat-detail,
    .note,
    .muted {
      color: var(--muted);
    }

    .stat-detail {
      margin: 6px 0 0;
      font-size: 0.95rem;
    }

    .next-night h2 {
      margin: 8px 0 0;
      font-size: clamp(2rem, 4vw, 3rem);
      line-height: 1;
      text-transform: uppercase;
      font-weight: 900;
      color: var(--accent);
    }

    .next-night .date-line {
      margin: 12px 0 0;
      font-size: 1.2rem;
      font-weight: 700;
    }

    .next-night .venue-line {
      margin: 6px 0 0;
      color: var(--muted);
    }

    .content-grid {
      margin-top: 28px;
      display: grid;
      grid-template-columns: 1fr 1.1fr 0.95fr;
      gap: 24px;
      align-items: start;
    }

    .panel {
      padding: 22px;
    }

    .panel-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      border-bottom: 1px solid var(--border-soft);
      padding-bottom: 14px;
      margin-bottom: 18px;
      cursor: pointer;
      user-select: none;
    }

    .panel h2 {
      margin: 0;
      font-size: 1.7rem;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      font-weight: 900;
    }

    .panel-controls {
      display: flex;
      gap: 10px;
      align-items: center;
    }

    .panel-action {
      padding: 10px 14px;
      border-radius: 14px;
      border: 1px solid rgba(52, 211, 153, 0.32);
      color: #a7f3d0;
      background: transparent;
      font-size: 0.9rem;
      font-weight: 700;
    }

    .panel-action:hover {
      background: rgba(16, 185, 129, 0.08);
    }

    .panel-toggle {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 42px;
      height: 42px;
      padding: 0 12px;
      border-radius: 14px;
      border: 1px solid rgba(52, 211, 153, 0.32);
      color: #a7f3d0;
      background: transparent;
      font-size: 1rem;
      font-weight: 900;
      transition: 0.2s ease;
    }

    .panel-toggle:hover {
      background: rgba(16, 185, 129, 0.08);
    }

    .panel-body {
      overflow: hidden;
      transition: max-height 0.3s ease, opacity 0.25s ease, margin-top 0.25s ease;
      max-height: 5000px;
      opacity: 1;
    }

    .panel.collapsed .panel-body {
      max-height: 0;
      opacity: 0;
      margin-top: 0;
    }

    .panel.collapsed .panel-toggle {
      color: var(--muted);
    }

    .news-list,
    .fixture-list {
      display: grid;
      gap: 14px;
    }

    .news-item,
    .fixture-card {
      border-radius: 18px;
      border: 1px solid var(--border);
      background: rgba(9, 9, 11, 0.6);
      padding: 18px;
      transition: 0.2s ease;
    }

    .news-item:hover,
    .fixture-card:hover {
      border-color: rgba(52, 211, 153, 0.28);
      transform: translateY(-1px);
    }

    .news-item h3,
    .fixture-team {
      margin: 0;
      font-weight: 800;
      color: #fff;
    }

    .news-item h3 {
      font-size: 1.15rem;
    }

    .news-date {
      margin: 6px 0 0;
      color: var(--accent);
      font-size: 0.9rem;
      font-weight: 700;
    }

    .news-summary {
      margin: 10px 0 0;
      color: #d4d4d8;
      line-height: 1.65;
      font-size: 0.96rem;
    }

    table {
      width: 100%;
      border-collapse: collapse;
      overflow: hidden;
      border-radius: 18px;
      border: 1px solid var(--border);
    }

    thead {
      background: rgba(9, 9, 11, 0.9);
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      font-size: 0.74rem;
    }

    th,
    td {
      padding: 14px 16px;
      text-align: left;
    }

    tbody tr {
      background: rgba(0, 0, 0, 0.18);
      border-top: 1px solid var(--border);
    }

    tbody tr.top-row {
      background: rgba(16, 185, 129, 0.13);
    }

    tbody td:last-child {
      color: var(--accent);
      font-weight: 900;
    }

    .fixture-matchup {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 12px;
    }

    .fixture-away {
      text-align: right;
    }

    .vs {
      padding: 10px 14px;
      border-radius: 999px;
      border: 1px solid rgba(52, 211, 153, 0.32);
      color: var(--accent);
      font-size: 0.8rem;
      font-weight: 900;
      letter-spacing: 0.2em;
      text-transform: uppercase;
    }

    .empty-state {
      padding: 18px;
      border-radius: 18px;
      border: 1px dashed var(--border);
      color: var(--muted);
      background: rgba(9, 9, 11, 0.35);
    }

    .site-footer {
      margin-top: 28px;
      display: flex;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      color: var(--muted);
      font-size: 0.95rem;
    }

    .site-footer strong {
    color: var(--accent);}

      /* =========================
       TOURNAMENT VIEWER
    ========================= */

    .tournament-status {
      color: var(--accent);
      font-weight: 900;
    }

    .tournament-round {
      margin-top: 28px;
    }

    .tournament-winner {
      margin-top: 18px;
      padding: 18px;
      border-radius: 18px;
      border: 1px solid rgba(52, 211, 153, 0.32);
      background: rgba(16, 185, 129, 0.08);
      color: var(--accent);
      font-weight: 900;
    }

    @media (max-width: 1180px) {
      .hero-grid,
      .content-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 760px) {
      .container {
        width: min(calc(100% - 20px), var(--max));
        padding-top: 16px;
      }

      .site-header,
      .site-footer,
      .hero,
      .panel,
      .stat-card,
      .next-night {
        border-radius: 24px;
        padding-left: 18px;
        padding-right: 18px;
      }

      .hero {
        padding-top: 28px;
        padding-bottom: 28px;
      }

      .hero::after {
        font-size: 5rem;
        right: 18px;
      }

      .fixture-matchup {
        grid-template-columns: 1fr;
        text-align: center;
      }

      .fixture-away {
        text-align: center;
      }

      th,
      td {
        padding: 10px 10px;
        font-size: 0.9rem;
      }

      .nav a {
        flex: 1 1 calc(50% - 10px);
        text-align: center;
      }
      
        /* ===============================
           REGION: MOBILE TOURNAMENT TABLE FIX
        ================================ */

        html,
        body {
          max-width: 100%;
          overflow-x: hidden;
        }

        /* Only stack tournament tables on narrow portrait screens.
           Landscape phones keep the normal table layout. */
        @media (max-width: 600px) and (orientation: portrait) {

          .tournament-table thead {
            display: none;
          }

          .tournament-table,
          .tournament-table tbody,
          .tournament-table tr,
          .tournament-table td {
            display: block;
            width: 100%;
          }

          .tournament-table tr {
            margin-bottom: 14px;
            padding: 12px;
            border-radius: 14px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            background: rgba(255, 255, 255, 0.03);
          }

          .tournament-table td {
            display: grid;
            grid-template-columns: 95px 1fr;
            gap: 10px;
            align-items: start;
            padding: 8px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            white-space: normal;
            word-break: break-word;
          }

          .tournament-table td:last-child {
            border-bottom: none;
          }

          .tournament-table td::before {
            color: var(--muted);
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
          }

          /* With match numbers */
          .tournament-table.has-match-numbers td:nth-child(1)::before {
            content: "Match";
          }

          .tournament-table.has-match-numbers td:nth-child(2)::before {
            content: "Venue";
          }

          .tournament-table.has-match-numbers td:nth-child(3)::before {
            content: "Team A";
          }

          .tournament-table.has-match-numbers td:nth-child(4)::before {
            content: "Score";
          }

          .tournament-table.has-match-numbers td:nth-child(5)::before {
            content: "Team B";
          }

          .tournament-table.has-match-numbers td:nth-child(6)::before {
            content: "Winner";
          }

          /* Without match numbers */
          .tournament-table.no-match-numbers td:nth-child(1)::before {
            content: "Venue";
          }

          .tournament-table.no-match-numbers td:nth-child(2)::before {
            content: "Team A";
          }

          .tournament-table.no-match-numbers td:nth-child(3)::before {
            content: "Score";
          }

          .tournament-table.no-match-numbers td:nth-child(4)::before {
            content: "Team B";
          }

          .tournament-table.no-match-numbers td:nth-child(5)::before {
            content: "Winner";
          }
        }
      
       /* ===============================
             REGION: TOURNAMENT DRAWERS
          ================================ */

          .tournament-drawer {
            width: 100%;
          }

          /* Main clickable drawer heading */
          .tournament-drawer-summary {
            cursor: pointer;
            list-style: none;
          }

          /* Hide default browser marker */
          .tournament-drawer-summary::-webkit-details-marker {
            display: none;
          }

          .tournament-drawer-summary::marker {
            display: none;
            content: "";
          }

          /* Force the drawer title to behave like a normal left-aligned heading */
          .tournament-drawer-summary.panel-head {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            gap: 12px !important;
            padding-bottom: 18px;
            border-bottom: 1px solid rgba(52, 211, 153, 0.22);
          }

          /* Restore normal h2 appearance inside the drawer */
          .tournament-drawer-summary.panel-head h2 {
            margin: 0 !important;
            text-align: left !important;
            flex: 0 1 auto !important;
          }

          /* Drawer arrow */
          .drawer-arrow {
            color: var(--accent);
            font-weight: 900;
            font-size: 1.35rem;
            line-height: 1;
            transition: transform 0.2s ease;
            flex: 0 0 auto;
          }

          /* Rotate arrow when drawer is open */
          .tournament-drawer[open] .drawer-arrow {
            transform: rotate(90deg);
          }

          .tournament-drawer .panel-body {
            margin-top: 18px;
          }
   }