* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background-color: #0a0a0a;
  color: #aaa;
  font-family: "Courier New", Courier, monospace;
  font-size: 13px;
  line-height: 1.3;
  padding: 20px;
  white-space: pre;
  overflow-x: hidden;
  min-height: 100vh;
  display: flex;
  justify-content: center;
}

#game {
  max-width: 80ch;
  width: 100%;
}

/* ANSI color palette — matches breakfalls-house.html */
.dk-red     { color: #aa0000; }
.red        { color: #ff5555; }
.dk-green   { color: #00aa00; }
.green      { color: #55ff55; }
.dk-yellow  { color: #aa5500; }
.yellow     { color: #ffff55; }
.dk-cyan    { color: #00aaaa; }
.cyan       { color: #55ffff; }
.dk-magenta { color: #aa00aa; }
.magenta    { color: #ff55ff; }
.white      { color: #ffffff; }
.grey       { color: #555555; }
.lt-grey    { color: #aaaaaa; }
.bold       { font-weight: bold; }

/* Glow effects */
.glow-cyan    { text-shadow: 0 0 6px #00aaaa, 0 0 12px #005555; }
.glow-yellow  { text-shadow: 0 0 5px #aa5500, 0 0 10px #553300; }
.glow-magenta { text-shadow: 0 0 6px #aa00aa, 0 0 12px #550055; }
.glow-red     { text-shadow: 0 0 6px #aa0000, 0 0 12px #550000; }
.glow-green   { text-shadow: 0 0 6px #00aa00, 0 0 12px #005500; }

/* Links */
a { color: #55ffff; text-decoration: none; }
a:hover { color: #ff55ff; }

/* Scanline overlay */
.scanlines {
  pointer-events: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    to bottom, transparent 0px, transparent 2px,
    rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 4px
  );
  z-index: 999;
}

/* Input styling */
input[type="text"],
input[type="password"] {
  background: #111;
  border: 1px solid #00aaaa;
  color: #55ffff;
  font-family: "Courier New", Courier, monospace;
  font-size: 13px;
  padding: 2px 6px;
  outline: none;
  width: 20ch;
}

input[type="text"]:focus,
input[type="password"]:focus {
  border-color: #55ffff;
  box-shadow: 0 0 4px #005555;
}

/* Clickable menu items */
.menu-item {
  cursor: pointer;
  display: inline;
}
.menu-item:hover {
  color: #ff55ff;
}

/* HP bar */
.hp-bar {
  display: inline;
}
.hp-fill {
  color: #55ff55;
}
.hp-empty {
  color: #333;
}

/* Combat log */
.combat-log {
  margin: 4px 0;
}

/* Prompt cursor blink */
.cursor {
  animation: blink 1s step-end infinite;
}
@keyframes blink {
  50% { opacity: 0; }
}

/* Number input */
input[type="number"] {
  background: #111;
  border: 1px solid #00aaaa;
  color: #55ffff;
  font-family: "Courier New", Courier, monospace;
  font-size: 13px;
  padding: 2px 6px;
  outline: none;
  width: 12ch;
  -moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
