:root {
  --ink: #14141c;
  --panel: rgba(24, 26, 40, 0.78);
  --panel-b: rgba(255, 255, 255, 0.14);
  --yellow: #ffd23f;
  --orange: #ff8a22;
  --red: #ff5a5f;
  --green: #4cd964;
  --blue: #4cd9ff;
  --font: "Baloo 2", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; overflow: hidden; background: #1d2230; color: #fff; font-family: var(--font); user-select: none; -webkit-user-select: none; }
canvas#game { position: fixed; inset: 0; display: block; }
.hidden { display: none !important; }
button, input, select { font-family: inherit; }
.msg { min-height: 1.3em; margin: 6px 0 0; font-size: 14px; color: #ffd9a0; text-align: center; }
.msg.err { color: #ff8a8a; }
.row { display: flex; gap: 10px; justify-content: center; margin-top: 10px; flex-wrap: wrap; }
kbd { font: inherit; font-size: 11px; background: rgba(255, 255, 255, 0.18); border-radius: 4px; padding: 0 5px; }

.svg-ic { width: 1.25em; height: 1.25em; vertical-align: -0.25em; flex: none; object-fit: contain; }
i.ic { font-style: normal; display: inline-flex; }
