* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #000; overflow: hidden; font-family: 'Courier New', monospace; color: #fff; }
canvas { display: block; }

#hud {
  position: fixed; top: 0; left: 0; right: 0; height: 44px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 18px; background: rgba(0,12,4,0.88);
  border-bottom: 1px solid #0a4; font-size: 13px; color: #0c6; z-index: 50;
}
#hud span { color: #0f8; font-weight: bold; }
#hud .lives { color: #f44; letter-spacing: 3px; font-size: 16px; }

#overlay {
  position: fixed; inset: 0; z-index: 100;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  overflow-y: auto;
  background: rgba(0,0,0,0.88);
}
#overlay h1 { font-size: 2.6rem; color: #0f8; text-shadow: 0 0 24px #0f8; margin-bottom: 6px; }
#overlay .sub { color: #8fc; font-size: 1rem; margin-bottom: 22px; }
#overlay .info { color: #888; font-size: 0.82rem; line-height: 2.2; text-align: center; margin-bottom: 18px; }
#overlay .info b { color: #0f8; }

.gbtn {
  background: transparent; border: 2px solid #0f8; color: #0f8;
  font-family: 'Courier New', monospace; font-size: 1.1rem;
  padding: 10px 28px; cursor: pointer; margin: 6px; transition: all .15s;
}
.gbtn:hover { background: #0f8; color: #000; }
.gbtn.sec { border-color: #556; color: #889; }
.gbtn.sec:hover { background: #556; color: #fff; }

#loadNote { color: #556; font-size: 0.75rem; margin-top: 12px; }
#overlay.hidden { display: none; }
#hCard { color: #0f8; font-weight: bold; }

.hbtn {
  background: transparent; border: 1px solid #0a4; color: #0a4;
  font-family: 'Courier New', monospace; font-size: 10px;
  padding: 2px 6px; cursor: pointer; vertical-align: middle; margin-left: 5px; line-height: 1;
}
.hbtn:hover { background: #0a4; color: #000; }
.hbtn.muted { border-color: #333; color: #333; }

@keyframes pulse { from { opacity: .5; } to { opacity: 1; } }
