@font-face {
  font-family: 'Zpix';
  src: url('https://cdn.jsdelivr.net/npm/zpix@3.1.0/dist/Zpix.woff2') format('woff2');
  font-display: swap;
}
:root {
  --bg-desktop: #2b2b2b;
  --bg-panel: #3c3c3c;
  --bg-panel-light: #4a4a4a;
  --title-bar: #000080;
  --title-bar-active: #0000a0;
  --highlight: #0000ff;
  --color-up: #ff4444;
  --color-down: #00c853;
  --text: #c0c0c0;
  --text-bright: #ffffff;
  --text-dim: #808080;
  --btn-bg: #808080;
  --btn-hover: #999999;
  --btn-active: #ffffff;
  --border: #000000;
  --danger: #ff0000;
  --warning: #ffff00;
  --success: #00ff00;
  --font-size: 16px;
  --font-size-lg: 20px;
  --font-family: 'Zpix', 'Perfect DOS VGA 437', monospace;
  --crt-overlay: rgba(0, 0, 0, 0.1);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body {
  width: 100%; height: 100%;
  overflow: hidden;
  background: #1a1a1a;
  font-family: var(--font-family);
  font-size: var(--font-size);
  color: var(--text);
  image-rendering: pixelated;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}
button {
  font-family: var(--font-family);
  font-size: var(--font-size);
  background: var(--btn-bg);
  color: var(--text-bright);
  border: 2px solid var(--border);
  padding: 4px 12px;
  cursor: pointer;
  image-rendering: pixelated;
}
button:hover { background: var(--btn-hover); }
button:active { background: var(--btn-active); color: #000; }
input, select, textarea {
  font-family: var(--font-family);
  font-size: var(--font-size);
  background: #1a1a1a;
  color: var(--text);
  border: 1px solid var(--border);
  padding: 4px 6px;
  outline: none;
  image-rendering: pixelated;
}
input:focus { border-color: var(--highlight); }
.hidden { display: none !important; }
.text-up { color: var(--color-up); }
.text-down { color: var(--color-down); }
.text-center { text-align: center; }
