/* Meus — shared design tokens (light + dark) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

  /* Light (default) */
  --bg: #ffffff;
  --canvas: #f7f7f8;
  --sidebar: #f9f9f9;
  --sidebar-hover: #ececed;
  --border: #e5e5e7;
  --border-strong: #d4d4d8;
  --text: #1a1a1a;
  --text-muted: #6b7280;
  --text-subtle: #9ca3af;
  --accent: #4f46e5;
  --accent-hover: #4338ca;
  --accent-soft: #eef2ff;
  --accent-text: #4f46e5;
  --bubble-user: #f4f4f5;
  --success: #16a34a;
  --success-soft: #dcfce7;
  --warning: #d97706;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.06);
  --shadow-lg: 0 20px 40px -12px rgba(0,0,0,0.12);
  --shadow-xl: 0 30px 80px -20px rgba(79,70,229,0.18);
}

html[data-theme='dark'] {
  --bg: #0e0e10;
  --canvas: #141416;
  --sidebar: #18181b;
  --sidebar-hover: #27272a;
  --border: #27272a;
  --border-strong: #3f3f46;
  --text: #ececed;
  --text-muted: #9ca3af;
  --text-subtle: #6b7280;
  --accent: #818cf8;
  --accent-hover: #a5b4fc;
  --accent-soft: rgba(129,140,248,0.12);
  --accent-text: #a5b4fc;
  --bubble-user: #27272a;
  --success: #4ade80;
  --success-soft: rgba(74,222,128,0.12);
  --warning: #fbbf24;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg: 0 20px 40px -12px rgba(0,0,0,0.5);
  --shadow-xl: 0 30px 80px -20px rgba(129,140,248,0.15);
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'cv02','cv03','cv04','cv11';
}

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

/* Scrollbars */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 8px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: var(--text-subtle); border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }

/* Theme toggle floating button (shared) */
.theme-toggle {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 100;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text-muted);
  display: grid;
  place-items: center;
  transition: all 0.15s;
}
.theme-toggle:hover { color: var(--text); border-color: var(--border-strong); }
.theme-toggle svg { width: 16px; height: 16px; }
