/* design tokens */

/* JetBrains Mono - self-hosted, the only allowed font */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

:root {
  /* base colors */
  --bg-1: #0a0a0a;
  --bg0: #0f0f0f;
  --bg1: #151515;
  --bg2: #1e1e1e;
  --bg3: #282828;

  /* foreground/text */
  --fg0: #ffffff;
  --fg1: #d0d0d0;
  --fg2: #8a8a8a;

  /* accent colors */
  --accent: #3a3a3a;
  --focus: #6f6f6f;

  /* semantic colors */
  --urgent: #b85450;
  --urgent-soft: #9a4a47;
  --urgent-hover: #a04743;
  --warning: #b8853d;
  --warning-hover: #a47235;
  --success: #6b9b7a;
  --success-hover: #5e8a6b;
  --info: #5a8cc7;
  --info-hover: #4e7bb0;
  --purple: #7a5a8b;

  /* shadows */
  --shadow-sm-light: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --shadow-sm-dark: 0 2px 4px rgba(0, 0, 0, 0.5);
  --shadow-sm: var(--shadow-sm-light), var(--shadow-sm-dark);

  --shadow-md-light: inset 0 1px 1px rgba(255, 255, 255, 0.1);
  --shadow-md-dark: 0 4px 8px rgba(0, 0, 0, 0.6);
  --shadow-md: var(--shadow-md-light), var(--shadow-md-dark);

  --shadow-lg-light: inset 0 2px 2px rgba(255, 255, 255, 0.12);
  --shadow-lg-dark: 0 8px 16px rgba(0, 0, 0, 0.7);
  --shadow-lg: var(--shadow-lg-light), var(--shadow-lg-dark);

  --shadow-inset: inset 0 2px 4px rgba(0, 0, 0, 0.4),
    inset 0 -1px 1px rgba(255, 255, 255, 0.05);

  /* legacy aliases - maps old tokens to new */
  --bg-primary: var(--bg0);
  --bg-secondary: var(--bg1);
  --bg-tertiary: var(--bg2);
  --bg-hover: var(--bg3);
  --bg-active: #323232;

  --text-primary: var(--fg0);
  --text-secondary: var(--fg1);
  --text-muted: var(--fg2);

  --accent-focus: var(--focus);
  --accent-green: var(--success);
  --accent-orange: var(--warning);
  --accent-red: var(--urgent);
  --accent-blue: var(--info);
  --accent-purple: var(--purple);
  --accent-yellow: var(--warning);

  /* status colors */
  --status-not-examined: var(--fg2);
  --status-in-progress: var(--info);
  --status-deferred: var(--purple);
  --status-stuck: var(--warning);
  --status-discarded: #4a4a4a;
  --status-resolved: var(--success);

  /* spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;

  /* typography - JetBrains Mono only */
  --font-mono: 'JetBrains Mono', monospace;
  --font-serif: 'JetBrains Mono', monospace;
  --font-sans: 'JetBrains Mono', monospace;

  /* borders */
  --border-subtle: 1px solid var(--accent);
  --border-focus: 1px solid var(--focus);
  --border-radius: 0;
  --border-radius-lg: 0;

  /* semantic aliases */
  --bg: var(--bg0);
  --border: var(--bg3);
  --radius: 0;
  --success-bg: rgba(107, 155, 122, 0.1);
  --danger: var(--urgent);
  --accent-subtle: rgba(58, 58, 58, 0.35);
  --text: var(--text-primary);
  /* text sizes - extended scale */
  --text-2xs: 0.65rem;   /* ~8.5px - micro labels */
  --text-xs: 0.75rem;    /* ~10px - small labels */
  --text-sm: 0.875rem;   /* ~11px - secondary text */
  --text-base: 1rem;     /* 13px - body default */
  --text-lg: 1.125rem;   /* ~15px - emphasis */
  --text-xl: 1.25rem;    /* ~16px - h3 level */
  --text-2xl: 1.5rem;    /* ~20px - h2 level */
}
