/* Design tokens, fonts, reset */

[data-theme="light"] {
  color-scheme: light;
  --accent: #3864f5;
  --accent-hover: #2f56db;
  --bg: #ffffff;
  --surface: #ffffff;
  --border: #e6e8ec;
  --text: #1b1f24;
  --muted: #667085;
  --gb-bg: #ffffff;
  --gb-sidebar-bg: #fbfbfc;
  --gb-sidebar-border: #e6e8ec;
  --gb-topbar-bg: rgba(255, 255, 255, 0.94);
  --gb-text: #1b1f24;
  --gb-muted: #667085;
  --gb-border: #e6e8ec;
  --gb-hover: #f3f5f8;
  --gb-active-bg: #edf2ff;
  --gb-active-text: #3864f5;
  --gb-code-bg: #f5f7fa;
  --gb-shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
  --gb-editor-bg: #fafbfc;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-rtl: "Vazir", Tahoma, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

[data-theme="dark"] {
  color-scheme: dark;
  --accent: #79a8ff;
  --accent-hover: #9bc0ff;
  --bg: #0f1115;
  --surface: #14171d;
  --border: #252a33;
  --text: #e8edf5;
  --muted: #98a2b3;
  --gb-bg: #0f1115;
  --gb-sidebar-bg: #14171d;
  --gb-sidebar-border: #252a33;
  --gb-topbar-bg: rgba(15, 17, 21, 0.94);
  --gb-text: #e8edf5;
  --gb-muted: #98a2b3;
  --gb-border: #252a33;
  --gb-hover: #1a1f27;
  --gb-active-bg: rgba(56, 100, 245, 0.16);
  --gb-active-text: #79a8ff;
  --gb-code-bg: #11151c;
  --gb-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  --gb-editor-bg: #12161d;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-rtl: "Vazir", Tahoma, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

@font-face {
  font-family: "Vazir";
  src: url("fonts/Vazir-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Vazir";
  src: url("fonts/Vazir-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Vazir";
  src: url("fonts/Vazir-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-sans);
  background: var(--gb-bg);
  color: var(--gb-text);
  line-height: 1.6;
}
[dir="rtl"] body { font-family: var(--font-rtl); }
button, input, select, textarea { font: inherit; }

.code-block-wrap { position: relative; margin: 0 0 1rem; }
.code-block-wrap pre, .code-block-wrap .highlight, .code-block-wrap .codehilite { margin: 0; }
.code-block-wrap pre { padding-top: 2.5rem; }
.code-copy-btn {
  position: absolute; top: 0.55rem; inset-inline-end: 0.55rem; z-index: 2;
  min-width: 4.25rem; padding: 0.3rem 0.65rem;
  border: 1px solid var(--gb-border); border-radius: 0.45rem;
  background: color-mix(in srgb, var(--gb-bg) 88%, transparent);
  color: var(--gb-muted); font-size: 0.75rem; font-weight: 600; cursor: pointer;
}
.code-copy-btn:hover { color: var(--gb-text); border-color: var(--accent); }
.code-copy-btn.is-copied { color: #22c55e; }
