
  html, body {
    margin: 0; padding: 0; width: 100%; height: 100%;
    background: #000; overflow: hidden; position: fixed;
    touch-action: none; -webkit-user-select: none; user-select: none;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  }
  #game-container {
    position: fixed; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: #000;
  }
  #game-canvas {
    background: #0f172a;
    touch-action: none;
    display: block;
  }
  /* Rotate-device overlay: mandatory on mobile portrait, never shown on desktop */
  #rotate-overlay {
    position: fixed; inset: 0; z-index: 9999;
    display: none;
    background: rgba(5, 8, 15, 0.97);
    color: #fff;
    flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center; padding: 24px;
  }
  .rotate-icon {
    width: 64px; height: 104px;
    border: 5px solid #fbbf24; border-radius: 14px;
    margin-bottom: 26px; position: relative;
    animation: rotateHint 1.7s ease-in-out infinite;
  }
  .rotate-icon::after {
    content: ''; position: absolute; bottom: 9px; left: 50%;
    transform: translateX(-50%);
    width: 14px; height: 4px; background: #fbbf24; border-radius: 2px;
  }
  @keyframes rotateHint {
    0%, 18% { transform: rotate(0deg); }
    50%, 68% { transform: rotate(90deg); }
    100% { transform: rotate(90deg); }
  }
  #rotate-overlay p {
    font-size: 20px; font-weight: 600; margin: 0; max-width: 320px; line-height: 1.4;
  }

  /* fullscreen */
  .fullscreen-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.9);

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:999999;
}

.fullscreen-overlay.hidden{
    display:none;
}

.fullscreen-content{
    width:min(420px,90%);
    text-align:center;
    color:white;
}

.fullscreen-icon{
    font-size:72px;
    margin-bottom:20px;
}

.fullscreen-content h2{
    margin-bottom:10px;
}

.fullscreen-content p{
    opacity:.8;
    line-height:1.6;
    margin-bottom:30px;
}

.fullscreen-content button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-size:16px;

    margin-bottom:12px;
}
