*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }

:root {
  --io-bg: #e3ecf7;
  --io-fg: #2c5282;
  --nso-bg: #fef0e0;
  --nso-fg: #7b4a1e;
  --border: #e2e8f0;
  --surface: #ffffff;
  --base-bg: #f5f5f5;
  --text: #1a1a1a;
  --text-muted: #718096;
  --text-dim: #a0aec0;
  --accent: #4a90d9;
  --accent-dark: #2c5282;
  --mono: "SF Mono", "Fira Code", monospace;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--base-bg);
  color: var(--text);
  font-size: 14px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.io  { background: var(--io-bg);  color: var(--io-fg); }
.nso { background: var(--nso-bg); color: var(--nso-fg); }
