  html, body { margin: 0; height: 100%; background: #04142a; overflow: hidden; font-family: system-ui, "Microsoft JhengHei", sans-serif; }
  html, body { overscroll-behavior: none; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; }
  canvas { display: block; width: 100%; height: 100%; cursor: crosshair; touch-action: none; }
  .touch-only { display: none; }
  @media (pointer: coarse) {
    .touch-only { display: inline; }
    .desktop-only { display: none; }
  }
  #overlay {
    position: fixed; inset: 0; display: flex; align-items: center; justify-content: center;
    color: #e8ecff; text-align: center; padding: 16px; box-sizing: border-box;
    background: radial-gradient(ellipse at 50% 40%, rgba(10, 50, 100, 0.55), rgba(2, 10, 24, 0.88));
  }
  #overlay.hidden { display: none; }
  #overlay .card {
    display: flex; flex-direction: column; align-items: center; gap: 14px;
    max-width: 560px; padding: 36px 40px 28px; border-radius: 20px;
    background: linear-gradient(160deg, rgba(12, 40, 80, 0.85), rgba(4, 16, 36, 0.9));
    border: 1px solid rgba(124, 247, 255, 0.25);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 40px rgba(47, 168, 255, 0.15) inset;
  }
  #overlay h1 {
    font-size: 54px; margin: 0; letter-spacing: 6px; font-weight: 900;
    background: linear-gradient(180deg, #fff6ea 10%, #ffb35c 55%, #ff7a1a);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 0 18px rgba(255, 138, 31, 0.55));
  }
  #overlay p { margin: 0; opacity: 0.9; line-height: 1.8; font-size: 15px; }
  #overlay p.disclaimer {
    margin-top: 6px; padding-top: 14px; border-top: 1px solid rgba(124, 247, 255, 0.15);
    font-size: 12px; opacity: 0.55; line-height: 1.6;
  }
  #overlay p.credit { margin-top: -6px; font-size: 12px; opacity: 0.5; letter-spacing: 1px; }
  #overlay button {
    margin-top: 8px; padding: 14px 48px; font-size: 20px; font-weight: 800; letter-spacing: 4px;
    border: none; border-radius: 999px; cursor: pointer; color: #3a1600;
    background: linear-gradient(180deg, #ffc27a, #ff8a1f);
    box-shadow: 0 6px 24px rgba(255, 138, 31, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.4) inset;
    transition: transform 0.12s, box-shadow 0.12s;
  }
  #overlay button:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(255, 138, 31, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.5) inset; }
  #overlay button:active { transform: translateY(1px); }
  @media (max-width: 520px) {
    #overlay .card { padding: 28px 20px 22px; }
    #overlay h1 { font-size: 40px; letter-spacing: 4px; }
    #overlay p { font-size: 14px; }
  }
