:root {
  --bg-canvas:      #0d1117;
  --bg-surface:     #161b22;
  --bg-overlay:     #21262d;
  --bg-muted:       #30363d;
  --border:         rgba(48, 54, 61, 0.9);
  --border-subtle:  rgba(33, 38, 45, 0.9);

  --text-primary:   #e6edf3;
  --text-secondary: #8b949e;
  --text-muted:     #6e7681;

  --accent:         #0d9488;
  --accent-dim:     #0f766e;
  --accent-bright:  #14b8a6;
  --accent-glow:    rgba(13, 148, 136, 0.15);
  --accent-ring:    rgba(13, 148, 136, 0.25);

  --red:            #f85149;
  --red-bg:         rgba(248, 81, 73, 0.10);
  --red-border:     rgba(248, 81, 73, 0.25);
  --amber:          #d29922;
  --amber-bg:       rgba(210, 153, 34, 0.10);
  --amber-border:   rgba(210, 153, 34, 0.25);
  --green:          #3fb950;
  --green-bg:       rgba(63, 185, 80, 0.10);
  --green-border:   rgba(63, 185, 80, 0.25);
  --blue:           #58a6ff;
  --blue-bg:        rgba(88, 166, 255, 0.08);
  --blue-border:    rgba(88, 166, 255, 0.20);
  --purple:         #bc8cff;
  --purple-bg:      rgba(188, 140, 255, 0.08);
  --purple-border:  rgba(188, 140, 255, 0.20);

  --radius-sm: 5px;
  --radius:    7px;
  --radius-lg: 10px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow:    0 1px 3px rgba(0, 0, 0, 0.4), 0 4px 16px rgba(0, 0, 0, 0.3);
}

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

html, body {
  height: 100%;
  min-width: 360px;
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--bg-canvas);
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--bg-muted); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #484f58; }
::selection { background: var(--accent-glow); color: var(--text-primary); }
