:root {
      --ui-cyan: #00ffff;
      --gold: #FFD700;
    }
    html,body { height:100%; margin:0; }
    body {
      display:flex; align-items:center; justify-content:center;
      background: radial-gradient(ellipse at center, #0f1020 0%, #081027 60%, #020214 100%);
      font-family: Arial, Helvetica, sans-serif;
      color: #dfefff;
      overflow:hidden;
    }
    #gameContainer {
      position: relative;
      width: 800px;
      height: 600px;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 10px 50px rgba(0,0,0,0.7), 0 0 40px rgba(80, 60, 200, 0.15);
      border: 3px solid rgba(255,255,255,0.03);
    }
    canvas { display:block; width:100%; height:100%; background:transparent; }
    #gameUI { position:absolute; inset:0; pointer-events:none; z-index:20; }
    #scoreDisplay {
      position:absolute; left:18px; top:14px; font-size:20px; font-weight:700;
      color: var(--ui-cyan); text-shadow: 0 2px 6px rgba(0,0,0,0.6);
      pointer-events:none;
    }
    #highScoreDisplay { position:absolute; right:18px; top:14px; font-size:18px; color:var(--gold); font-weight:700; pointer-events:none; }
    #shieldTimer {
      position:absolute; left:18px; bottom:14px; font-size:16px; color:#a3fff0; pointer-events:none;
    }

    /* Start / Game Over screens */
    .panel {
      position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
      background: rgba(2,6,20,0.78); border: 1px solid rgba(0,255,255,0.08);
      padding: 28px; border-radius:14px; text-align:center; pointer-events:all;
      box-shadow: 0 8px 30px rgba(0,0,0,0.6);
    }
    #startScreen h1 { margin:0 0 10px 0; color: var(--gold); font-size:30px; text-shadow:0 0 12px rgba(255,215,0,0.25); }
    .btn {
      margin-top:16px; padding:12px 20px; border-radius:10px; border:none; cursor:pointer; font-weight:700;
      background:linear-gradient(90deg,#2ecc71,#27ae60); color:#fff; box-shadow:0 6px 16px rgba(0,0,0,0.45);
    }
    .small { font-size:14px; color:#bfefff; margin-top:8px; }

    #gameOverScreen h2 { margin:0 0 10px 0; color:#ff6b6b; font-size:28px; text-shadow:0 0 12px rgba(255,100,100,0.2); }

    /* small responsive */
    @media (max-width:840px) {
      #gameContainer { width:95vw; height:75vh; }
    }