/* imakarov.us — shared design tokens */
:root {
  --bg: #0A0A0A;
  --bg-elev: #111111;
  --bg-elev-2: #161616;
  --border: #1F1F1F;
  --border-strong: #2A2A2A;
  --fg: #EDEDED;
  --fg-dim: #B4B4B4;
  --muted: #7A7A7A;
  --muted-2: #525252;

  /* per-direction accent — overridden in each artboard */
  --accent: oklch(0.78 0.14 145);
  --accent-dim: oklch(0.45 0.08 145);

  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-display: "Inter", system-ui, sans-serif;

  --radius-sm: 4px;
  --radius: 6px;
  --radius-lg: 10px;
}

* { box-sizing: border-box; }
body, html { margin: 0; padding: 0; }
body {
  font-family: var(--font-sans);
  color: var(--fg);
  background: var(--bg);
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

/* utility */
.mono { font-family: var(--font-mono); font-feature-settings: "zero", "ss01"; }
.dim { color: var(--muted); }
.hairline { border-top: 1px solid var(--border); }

/* — image-slot dark theme — exposes ::part(frame) ::part(empty) ::part(image) */
image-slot {
  color: rgba(255,255,255,0.55) !important;
  font-family: var(--font-mono) !important;
}
image-slot::part(frame) {
  background: rgba(255,255,255,0.025);
  outline: 1.5px dashed rgba(255,255,255,0.18);
  outline-offset: -1.5px;
  transition: background .2s, outline-color .2s;
}
image-slot:hover::part(frame) {
  background: rgba(120,140,255,0.06);
  outline-color: rgba(120,140,255,0.45);
}
image-slot::part(empty) {
  color: rgba(255,255,255,0.55);
}
