
      :root {
        --bg: #121a24;
        --panel: rgba(18, 26, 36, 0.90);
        color-scheme: dark;
        --btn-text: #f7f9fc;
      }

      * {
        box-sizing: border-box;
      }

      html,
      body {
        height: 100%;
        margin: 0;
      }

      body.playing {
        background: var(--bg);
        color: #edf2f7;
        font-family: "Rajdhani", "Segoe UI", sans-serif;
      }

      .bg {
        position: fixed;
        inset: 0;
        background:
          linear-gradient(180deg, rgba(8, 15, 23, 0.18) 0%, rgba(8, 15, 23, 0.32) 100%),
          radial-gradient(circle at 18% 20%, rgba(88, 197, 255, 0.12), transparent 45%),
          radial-gradient(circle at 80% 10%, rgba(100, 230, 165, 0.1), transparent 40%),
          var(--cover) center / cover no-repeat;
        pointer-events: none;
        filter: blur(14px) saturate(0.92);
        transform: scale(1.05);
      }

      .vignette {
        position: fixed;
        inset: 0;
        box-shadow: inset 0 0 120px rgba(8, 15, 23, 0.32);
        pointer-events: none;
      }

      .stage {
        position: relative;
        z-index: 1;
        width: 100%;
        height: 100%;
        padding: 0;
        overflow: hidden;
      }

      .game-iframe {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
      }

      body.is-playing .game-iframe {
        opacity: 1;
        pointer-events: auto;
      }

      .splash {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        padding: 24px;
        text-align: center;
        z-index: 2;
      }

      .splash-card {
        width: min(92vw, 420px);
        padding: 28px 26px 26px;
        border-radius: 22px;
        background: var(--panel);
        border: 1px solid rgba(15, 23, 35, 0.08);
        box-shadow: 0 22px 48px rgba(0, 0, 0, 0.32);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
      }

      .splash-icon {
        width: 72px;
        height: 72px;
        border-radius: 16px;
        margin: 0 auto 16px;
        object-fit: cover;
        border: none;
      }

      .splash-title {
        margin: 0 0 12px;
        font-size: 1.5rem;
        letter-spacing: 1.5px;
        text-transform: uppercase;
      }

      .splash-subtitle {
        margin: 0 0 20px;
        font-size: 0.95rem;
        color: #b4c1cf;
        line-height: 1.5;
      }

      .play-button {
        width: min(260px, 100%);
        padding: 12px 18px;
        border-radius: 9px;
        border: none;
        background: linear-gradient(155deg, rgba(74, 80, 90, 0.94) 0%, rgba(33, 37, 45, 0.97) 58%, rgba(10, 12, 15, 1) 100%);
        color: var(--btn-text);
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-family: "Orbitron", sans-serif;
        cursor: pointer;
        box-shadow:
          0 14px 24px rgba(0, 0, 0, 0.34),
          inset 0 1px 0 rgba(255, 255, 255, 0.06);
        transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
      }

      .play-button:hover {
        transform: translateY(-2px);
        filter: brightness(1.04);
        box-shadow:
          0 20px 30px rgba(0, 0, 0, 0.4),
          0 0 18px rgba(236, 241, 248, 0.14);
      }

      .play-button:focus-visible {
        outline: 2px solid #88dfdf;
        outline-offset: 4px;
        transform: translateY(-2px);
      }

      .play-button:active {
        transform: translateY(0) scale(0.98);
      }

      .play-button:disabled {
        cursor: not-allowed;
        opacity: 0.7;
        transform: none;
        box-shadow: none;
        filter: none;
      }

      @media (prefers-reduced-motion: reduce) {
        .play-button {
          transition: none;
        }

        .play-button:hover,
        .play-button:focus-visible,
        .play-button:active {
          transform: none;
        }
      }

      body.is-playing .splash {
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
      }

      @media (max-width: 720px) {
        .splash-card {
          width: min(92vw, 360px);
        }
      }
      /* Fit the launch screen inside short landscape/mobile game frames. */
      @media (max-height: 360px) {
        .splash { padding: 10px; }
        .splash-card { width: min(100%, 360px); padding: 12px 16px; border-radius: 16px; }
        .splash-icon { width: 44px; height: 44px; margin-bottom: 6px; }
        .splash-title { font-size: 1rem; margin-bottom: 6px; letter-spacing: .5px; }
        .splash-subtitle { font-size: .8rem; margin-bottom: 8px; }
        .play-button { padding: 9px 14px; font-size: .85rem; }
      }
      @media (max-height: 220px) {
        .splash-icon, .splash-subtitle { display: none; }
        .splash-title { margin-bottom: 10px; }
      }
      .splash-card, .splash-icon, .play-button { border: 0; }
      .splash-title { font-family: "Orbitron", sans-serif; }
    
.noscript-message { position: absolute; z-index: 4; inset: 0; background: #121a24; color: white; padding: 20px; }
.noscript-message a { color: #88dfdf; }
.game-iframe { background: #121a24; }
.splash-title { overflow-wrap: anywhere; font-family: "Segoe UI", sans-serif; letter-spacing: .04em; }
@media (prefers-reduced-motion: reduce) { .game-iframe, .splash { transition: none; } }

[hidden] { display: none !important; }

.external-game-link { display: inline-block; text-decoration: none; }
