* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; height: 100%; overflow: hidden; background: #06263f; font-family: system-ui, sans-serif; }
#view { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: none; display: block; }
#hud { position: absolute; top: 0; left: 0; right: 0; height: 56px; display: flex; align-items: center; gap: 18px; padding: 0 18px; color: #eaf7ff; text-shadow: 0 1px 3px rgba(0,0,0,.6); font-size: 15px; font-weight: 600; pointer-events: none; z-index: 5; }
#hud-moves { background: rgba(255,255,255,.14); border-radius: 10px; padding: 4px 12px; }
#hud-total { margin-left: auto; color: #ffe9a0; }
#overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(3, 18, 34, .72); backdrop-filter: blur(3px); z-index: 10; }
#overlay.hidden { display: none; }
#ov-box { text-align: center; color: #eaf7ff; padding: 34px 44px; background: rgba(8, 34, 58, .85); border: 1px solid rgba(125, 255, 216, .35); border-radius: 20px; box-shadow: 0 18px 60px rgba(0,0,0,.5); max-width: 420px; }
#ov-title { font-size: 34px; margin-bottom: 12px; letter-spacing: .5px; }
#ov-sub { font-size: 15px; line-height: 1.5; opacity: .85; margin-before: 0; margin-bottom: 22px; }
#ov-btn { font-size: 18px; font-weight: 700; color: #06263f; background: linear-gradient(180deg, #7dffd8, #35c9a8); border: none; border-radius: 14px; padding: 12px 34px; cursor: pointer; box-shadow: 0 6px 18px rgba(53, 201, 168, .45); }
#ov-btn:hover { filter: brightness(1.08); }
