<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Apexx Events</title>

    <!-- Preconnect to critical origins for faster initial load -->
    <link rel="preconnect" href="https://firebaseapp.com" />
    <link rel="preconnect" href="https://firestore.googleapis.com" />
    <link rel="preconnect" href="https://identitytoolkit.googleapis.com" />
    <link rel="dns-prefetch" href="https://firebaseapp.com" />
    <link rel="dns-prefetch" href="https://firestore.googleapis.com" />

    <!-- Font CDN preconnects (Stream A: 13A — 6 weights only, 1A — display=swap) -->
    <link rel="preconnect" href="https://api.fontshare.com" crossorigin />
    <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin />

    <!-- Fonts: Satoshi (display) + Instrument Sans (body) + Geist Mono (numeric) -->
    <link
      href="https://api.fontshare.com/v2/css?f[]=satoshi@900,700&f[]=instrument-sans@400,500,600&display=swap"
      rel="stylesheet"
    />
    <link
      href="https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/style.min.css"
      rel="stylesheet"
    />

    <!-- Favicon (Apexx Events "A" mark) -->
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />

    <!-- Theme color for mobile browsers (DESIGN.md: sidebar slate) -->
    <meta name="theme-color" content="#0F172A" />
    <script type="module" crossorigin src="/assets/index-9RGepsWc.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/vendor-tanstack-CC9bGzDC.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-react-DuzZ1Jpj.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-radix-DeZX7NuI.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-charts--Eov6pYm.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-firebase-firestore-DyOyb45n.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-firebase-core-Bj6OATfZ.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-firebase-auth-B6nzSuRH.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-firebase-storage-CSOW9w9K.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-dates-B-mYwfUv.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-sentry-DEOV2Mv2.js">
    <link rel="stylesheet" crossorigin href="/assets/index-Dl61CVVp.css">
  </head>
  <body>
    <div id="root">
      <!-- Instant loading skeleton - shows before React loads -->
      <style>
        .app-loading {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          min-height: 100vh;
          background: #ffffff;
          color: #1e293b;
          font-family: system-ui, -apple-system, sans-serif;
        }
        .app-loading-spinner {
          width: 40px;
          height: 40px;
          border: 3px solid #e2e8f0;
          border-top-color: #0EA5E9;
          border-radius: 50%;
          animation: spin 1s linear infinite;
        }
        .app-loading-text {
          margin-top: 16px;
          font-size: 14px;
          color: #64748b;
        }
        @keyframes spin {
          to { transform: rotate(360deg); }
        }
      </style>
      <div class="app-loading">
        <div class="app-loading-spinner"></div>
        <div class="app-loading-text">Loading...</div>
      </div>
    </div>
  </body>
</html>
