      :root {
        --accent: #39c0ed;
        --chrome-1: #e0f7ff;
        --chrome-2: #7fdbff;
        --chrome-3: #39c0ed;
        --hot-pink: #ff2d95;
        --violet: #b026ff;
        --bg-deep: #06060e;
        --bg-mid: #0c0c1e;
        --grid-color: rgba(127, 219, 255, 0.04);
        --glow-cyan: rgba(57, 192, 237, 0.6);
        --glow-pink: rgba(255, 45, 149, 0.5);
      }

      @keyframes gridScroll {
        0% { background-position: 0 0; }
        100% { background-position: 0 60px; }
      }

      @keyframes titleGlow {
        0%, 100% { text-shadow: 0 0 40px var(--glow-cyan), 0 0 80px var(--glow-pink), 0 4px 0 rgba(0,0,0,0.3); }
        50% { text-shadow: 0 0 60px var(--glow-pink), 0 0 120px var(--glow-cyan), 0 4px 0 rgba(0,0,0,0.3); }
      }

      @keyframes fadeSlideUp {
        from { opacity: 0; transform: translateY(30px); }
        to { opacity: 1; transform: translateY(0); }
      }

      @keyframes chromePulse {
        0%, 100% { border-color: var(--chrome-2); box-shadow: 0 0 15px rgba(127, 219, 255, 0.15), inset 0 0 15px rgba(127, 219, 255, 0.05); }
        50% { border-color: var(--hot-pink); box-shadow: 0 0 15px rgba(255, 45, 149, 0.15), inset 0 0 15px rgba(255, 45, 149, 0.05); }
      }

      @keyframes scanline {
        0% { transform: translateY(-100%); }
        100% { transform: translateY(100vh); }
      }

      * { margin: 0; padding: 0; box-sizing: border-box; }

      body {
        font-family: 'Rajdhani', sans-serif;
        background: var(--bg-deep);
        color: var(--chrome-1);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 100vh;
        overflow: hidden;
        position: relative;
      }

      /* Perspective grid floor */
      body::before {
        content: '';
        position: fixed;
        inset: 0;
        background:
          linear-gradient(var(--grid-color) 1px, transparent 1px),
          linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
        background-size: 60px 60px;
        animation: gridScroll 3s linear infinite;
        mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.6) 100%);
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.6) 100%);
        pointer-events: none;
      }

      /* Scanline overlay */
      body::after {
        content: '';
        position: fixed;
        top: 0; left: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(to right, transparent, rgba(127, 219, 255, 0.08), transparent);
        animation: scanline 4s linear infinite;
        pointer-events: none;
        z-index: 100;
      }

      /* Top chrome accent bar */
      #game-wrapper,
      #menu-screen {
        position: relative;
        z-index: 1;
      }

      #game-wrapper {
        display: flex;
        align-items: center;
        gap: 24px;
        animation: fadeSlideUp 0.6s ease-out;
      }

      .phase-panel {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        width: 140px;
        background: linear-gradient(135deg, rgba(127, 219, 255, 0.03), rgba(176, 38, 255, 0.03));
        border: 1px solid rgba(127, 219, 255, 0.12);
        border-radius: 12px;
        padding: 16px 10px;
        backdrop-filter: blur(8px);
      }

      .phase-panel canvas { display: block; }

      .phase-label {
        font-family: 'Orbitron', monospace;
        font-size: 11px;
        font-weight: 700;
        color: var(--chrome-2);
        letter-spacing: 3px;
        text-transform: uppercase;
      }

      .phase-angle {
        font-family: 'Orbitron', monospace;
        font-size: 16px;
        color: var(--chrome-3);
        font-weight: 400;
      }

      .phase-status {
        font-family: 'Orbitron', monospace;
        font-size: 12px;
        color: rgba(127, 219, 255, 0.4);
        letter-spacing: 4px;
      }

      .phase-hint {
        font-size: 12px;
        color: rgba(224, 247, 255, 0.2);
        text-align: center;
        margin-top: 4px;
        font-weight: 300;
      }

      /* ── Game Menu ── */
      #game-menu {
        font-family: 'Orbitron', monospace;
        background: linear-gradient(135deg, rgba(6, 6, 14, 0.97), rgba(12, 12, 30, 0.97));
        border-color: rgba(127, 219, 255, 0.2);
        box-shadow:
          0 0 80px rgba(57, 192, 237, 0.08),
          0 0 30px rgba(255, 45, 149, 0.05),
          inset 0 1px 0 rgba(127, 219, 255, 0.08);
      }

      #game-menu h2 {
        font-family: 'Orbitron', monospace;
        color: var(--chrome-1);
        text-shadow: 0 0 30px var(--glow-cyan), 0 0 60px var(--glow-pink);
      }

      .gm-label {
        font-family: 'Orbitron', monospace;
        color: rgba(127, 219, 255, 0.5);
      }

      .gm-val {
        font-family: 'Orbitron', monospace;
        color: var(--hot-pink);
        font-weight: 700;
      }

      .gm-slider-row input[type="range"] {
        accent-color: var(--hot-pink);
      }

      .gm-hints {
        font-family: 'Rajdhani', sans-serif;
        color: rgba(127, 219, 255, 0.3);
      }

      .gm-hints kbd {
        color: rgba(127, 219, 255, 0.5);
        border-color: rgba(127, 219, 255, 0.15);
      }

      .gm-divider {
        background: linear-gradient(90deg, transparent, rgba(255, 45, 149, 0.2) 30%, rgba(127, 219, 255, 0.2) 70%, transparent);
      }

      #max-balls-slider {
        width: 90px;
        accent-color: var(--hot-pink);
        height: 2px;
      }

      #max-balls-value {
        color: var(--hot-pink);
        min-width: 1.5em;
        text-align: center;
        font-weight: 700;
      }

      #game-container {
        position: relative;
        width: 900px;
        height: 600px;
        max-width: 100vw;
        max-height: 100vh;
        border-radius: 4px;
        overflow: hidden;
      }

      @media (max-width: 960px) {
        #game-container { width: 100vw; height: auto; aspect-ratio: 3/2; }
        #game-canvas { width: 100%; height: 100%; }
      }

      @media (max-width: 960px) and (orientation: portrait) {
        #game-container { width: 100vw; height: auto; aspect-ratio: 2/3; max-height: 80dvh; }
        #game-canvas { width: 100%; height: 100%; }
      }

      #game-canvas {
        display: block;
        background: #000;
        border: 1px solid rgba(127, 219, 255, 0.15);
        border-radius: 4px;
        animation: chromePulse 6s ease-in-out infinite;
      }

      #ui {
        position: absolute;
        top: 20px;
        left: 70px;
        right: 70px;
        display: flex;
        justify-content: space-between;
        font-family: 'Orbitron', monospace;
        font-size: 2.8rem;
        font-weight: 900;
        pointer-events: none;
        color: var(--chrome-1);
        text-shadow: 0 0 20px var(--glow-cyan);
      }

      #instructions {
        text-align: center;
        opacity: 0.5;
        font-size: 1rem;
        margin-top: 14px;
        letter-spacing: 1px;
        font-weight: 300;
        position: relative;
        z-index: 1;
      }

      .hidden { display: none !important; }

      /* ── Menu ── */
      #menu-screen {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 48px;
        animation: fadeSlideUp 0.8s ease-out;
      }

      #menu-screen h1 {
        font-family: 'Orbitron', monospace;
        font-size: 4.5rem;
        font-weight: 900;
        color: var(--chrome-1);
        letter-spacing: 12px;
        animation: titleGlow 4s ease-in-out infinite;
        position: relative;
      }

      #menu-screen h1::after {
        content: '';
        position: absolute;
        bottom: -12px;
        left: 10%;
        width: 80%;
        height: 1px;
        background: linear-gradient(to right, transparent, var(--hot-pink), var(--chrome-2), transparent);
      }

      .menu-buttons {
        display: flex;
        gap: 32px;
      }

      .menu-btn {
        font-family: 'Orbitron', monospace;
        font-size: 1rem;
        font-weight: 700;
        padding: 16px 40px;
        background: transparent;
        color: var(--chrome-1);
        border: 1px solid rgba(127, 219, 255, 0.3);
        cursor: pointer;
        letter-spacing: 3px;
        text-transform: uppercase;
        transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
        position: relative;
        overflow: hidden;
        clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
      }

      .menu-btn::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, var(--glow-cyan), var(--glow-pink));
        opacity: 0;
        transition: opacity 0.3s;
      }

      .menu-btn:hover,
      .menu-btn.gamepad-focus {
        border-color: var(--chrome-2);
        transform: translateY(-2px);
        box-shadow: 0 8px 30px rgba(57, 192, 237, 0.2), 0 0 60px rgba(255, 45, 149, 0.1);
      }

      .menu-btn:hover::before,
      .menu-btn.gamepad-focus::before { opacity: 0.12; }

      .menu-buttons-secondary {
        margin-top: -24px;
        gap: 16px;
      }

      .menu-btn-secondary {
        font-size: 0.75rem;
        font-weight: 400;
        padding: 10px 24px;
        color: rgba(224, 247, 255, 0.4);
        border-color: rgba(127, 219, 255, 0.12);
        clip-path: none;
      }

      .menu-btn-secondary::before { display: none; }

      .menu-btn-secondary:hover,
      .menu-btn-secondary.gamepad-focus {
        color: var(--chrome-1);
        border-color: rgba(127, 219, 255, 0.35);
        transform: translateY(-1px);
        box-shadow: 0 4px 20px rgba(57, 192, 237, 0.1);
      }

      .menu-btn-secondary:hover::before,
      .menu-btn-secondary.gamepad-focus::before { display: none; }

      .menu-hint {
        font-size: 0.85rem;
        color: rgba(224, 247, 255, 0.2);
        letter-spacing: 2px;
        font-weight: 300;
      }
