:root {
  --font: Arial, Helvetica, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --size: 16px;
  --foreground: #f2f1e9;
  --background: #111312;
  --surface: #191c1a;
  --border: #3c423d;
  --control-line: #8c948b;
  --primary: #f2f1e9;
  --muted: #b6bab3;
  --border-radius: 0;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--background); color: var(--foreground); font: 400 var(--size)/1.5 var(--font); }
a, a:visited { color: var(--foreground); }
button, input, select, textarea { font: inherit; }
.input {
  min-width: 200px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--control-line);
  border-radius: 0;
  outline: 0;
  background: var(--background);
  color: var(--foreground);
  line-height: 1.5;
}
.button {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--foreground);
  border-radius: 0;
  background: var(--foreground);
  color: var(--background);
  cursor: pointer;
  text-align: left;
}
.label { display: block; margin-bottom: 4px; font-size: 13px; }
.alert { padding: 16px; border: 1px solid var(--control-line); border-radius: 0; background: var(--surface); }
.card { padding: 16px; border: 1px solid var(--border); border-radius: 0; }
.title { margin: 0 0 16px; font-size: 2rem; font-weight: 500; line-height: 1.04; letter-spacing: -.06em; }
.subtitle { margin: 0 0 16px; font-size: 1.25rem; font-weight: 500; letter-spacing: -.035em; }
.container { max-width: 1024px; margin: 0 auto; }
.icon { width: 20px; height: 20px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.block { display: block; }
.flex { display: flex; }
.flex-1 { flex: 1; }
.p-2 { padding: 8px; }
.p-4 { padding: 16px; }
.py-20 { padding-top: 80px; padding-bottom: 80px; }
.mb-4 { margin-bottom: 16px; }
.mb-8 { margin-bottom: 32px; }
.w-full { width: 100%; }
.error { color: var(--foreground); }
.faded { opacity: .6; }
.text-center { text-align: center; }
.font-bold { font-weight: 500; }
.hidden { display: none; }
.rounded { border-radius: 0; }
.border-r, .border-t, .border-b { border: 0 solid var(--border); }
.border-t { border-top-width: 1px; }
.border-b { border-bottom-width: 1px; }
