/* Generated by /workspace/part1/src/palette.py. Do not edit by hand.
   Palette 'Carbon Ops' (IBM Carbon colours): light is the default; dark is the alternate. Primitive -> semantic -> component.
   "low" is for fills and strokes only, never text. Every *-text token passes 4.5:1 on bg, surface, surface-2 and its own tint. */
@font-face { font-family: "IBM Plex Sans"; src: url("fonts/IBMPlexSans-Var.ttf") format("truetype"); font-weight: 100 700; font-stretch: 85% 100%; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/IBMPlexMono-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/IBMPlexMono-Medium.ttf") format("truetype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/IBMPlexMono-SemiBold.ttf") format("truetype"); font-weight: 600; font-display: swap; }

:root {
  /* primitives */
  --p-white: #ffffff;
  --p-gray-10: #f4f4f4;
  --p-gray-20: #e0e0e0;
  --p-gray-30: #c6c6c6;
  --p-gray-40: #a8a8a8;
  --p-gray-50: #8d8d8d;
  --p-gray-60: #6f6f6f;
  --p-gray-70: #525252;
  --p-gray-80: #393939;
  --p-gray-90: #262626;
  --p-gray-100: #161616;
  --p-teal-10: #d9fbfb;
  --p-teal-30: #3ddbd9;
  --p-teal-40: #08bdba;
  --p-teal-60: #007d79;
  --p-teal-70: #005d5d;
  --p-yellow-10: #fcf4d6;
  --p-yellow-30: #f1c21b;
  --p-yellow-50: #b28600;
  --p-yellow-70: #684e00;
  --p-orange-10: #fff2e8;
  --p-orange-30: #ffb784;
  --p-orange-40: #ff832b;
  --p-orange-70: #8a3800;
  --p-red-10: #fff1f1;
  --p-red-40: #ff8389;
  --p-red-50: #fa4d56;
  --p-red-60: #da1e28;
  --p-red-70: #a2191f;
  --p-green-10: #defbe6;
  --p-green-30: #6fdc8c;
  --p-green-40: #42be65;
  --p-green-60: #198038;
  --p-green-70: #0e6027;
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --radius: 12px; --radius-sm: 8px; --stroke: 1.5px; --icon: 20px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 72px;
  --measure: 68ch;
  --shadow: none;
}
/* semantic: light (default) */
:root, :root[data-theme="light"] {
  --bg: #ffffff;
  --surface: #f4f4f4;
  --surface-2: #e0e0e0;
  --hairline: #e0e0e0;
  --hairline-strong: #c6c6c6;
  --text: #161616;
  --text-muted: #525252;
  --low: #8d8d8d;
  --tool: #007d79;
  --tool-text: #005d5d;
  --analyst: #f1c21b;
  --analyst-ink: #684e00;
  --analyst-text: #684e00;
  --critical: #da1e28;
  --critical-text: #a2191f;
  --correct: #198038;
  --correct-text: #0e6027;
  --medium: #ff832b;
  --medium-text: #8a3800;
  --grade-tp: #da1e28;
  --grade-bp: #ff832b;
  --grade-fp: #525252;
  --grade-tp-text: #da1e28;
  --grade-bp-text: #8a3800;
  --grade-fp-text: #525252;
  --on-tp: #ffffff;
  --on-bp: #161616;
  --on-fp: #ffffff;
  --on-tool: #ffffff;
  --rich-black: #161616;
  --critical-tint: #fff1f1;
  --correct-tint: #defbe6;
  --medium-tint: #fff2e8;
  --tool-tint: #d9fbfb;
  --analyst-tint: #fcf4d6;
  --low-tint: #f4f4f4;
  --focus: #005d5d;
  color-scheme: light;
}
/* semantic: dark (user choice or system preference) */
:root[data-theme="dark"] {
  --bg: #161616;
  --surface: #262626;
  --surface-2: #393939;
  --hairline: #393939;
  --hairline-strong: #525252;
  --text: #f4f4f4;
  --text-muted: #c6c6c6;
  --low: #6f6f6f;
  --tool: #08bdba;
  --tool-text: #3ddbd9;
  --analyst: #f1c21b;
  --analyst-ink: #f1c21b;
  --analyst-text: #f1c21b;
  --critical: #fa4d56;
  --critical-text: #ff8389;
  --correct: #42be65;
  --correct-text: #42be65;
  --medium: #ff832b;
  --medium-text: #ffb784;
  --grade-tp: #fa4d56;
  --grade-bp: #ff832b;
  --grade-fp: #c6c6c6;
  --grade-tp-text: #ff8389;
  --grade-bp-text: #ffb784;
  --grade-fp-text: #c6c6c6;
  --on-tp: #161616;
  --on-bp: #161616;
  --on-fp: #161616;
  --on-tool: #161616;
  --rich-black: #161616;
  --critical-tint: #482C2E;
  --correct-tint: #2A3B2F;
  --medium-tint: #443327;
  --tool-tint: #223B3B;
  --analyst-tint: #423C24;
  --low-tint: #333333;
  --focus: #3ddbd9;
  --shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --bg: #161616;
  --surface: #262626;
  --surface-2: #393939;
  --hairline: #393939;
  --hairline-strong: #525252;
  --text: #f4f4f4;
  --text-muted: #c6c6c6;
  --low: #6f6f6f;
  --tool: #08bdba;
  --tool-text: #3ddbd9;
  --analyst: #f1c21b;
  --analyst-ink: #f1c21b;
  --analyst-text: #f1c21b;
  --critical: #fa4d56;
  --critical-text: #ff8389;
  --correct: #42be65;
  --correct-text: #42be65;
  --medium: #ff832b;
  --medium-text: #ffb784;
  --grade-tp: #fa4d56;
  --grade-bp: #ff832b;
  --grade-fp: #c6c6c6;
  --grade-tp-text: #ff8389;
  --grade-bp-text: #ffb784;
  --grade-fp-text: #c6c6c6;
  --on-tp: #161616;
  --on-bp: #161616;
  --on-fp: #161616;
  --on-tool: #161616;
  --rich-black: #161616;
  --critical-tint: #482C2E;
  --correct-tint: #2A3B2F;
  --medium-tint: #443327;
  --tool-tint: #223B3B;
  --analyst-tint: #423C24;
  --low-tint: #333333;
    --focus: #3ddbd9;
    --shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5);
    color-scheme: dark;
  }
}
/* print and the poster are always light paper */
@media print {
  :root, :root[data-theme] {
  --bg: #ffffff;
  --surface: #f4f4f4;
  --surface-2: #e0e0e0;
  --hairline: #e0e0e0;
  --hairline-strong: #c6c6c6;
  --text: #161616;
  --text-muted: #525252;
  --low: #8d8d8d;
  --tool: #007d79;
  --tool-text: #005d5d;
  --analyst: #f1c21b;
  --analyst-ink: #684e00;
  --analyst-text: #684e00;
  --critical: #da1e28;
  --critical-text: #a2191f;
  --correct: #198038;
  --correct-text: #0e6027;
  --medium: #ff832b;
  --medium-text: #8a3800;
  --grade-tp: #da1e28;
  --grade-bp: #ff832b;
  --grade-fp: #525252;
  --grade-tp-text: #da1e28;
  --grade-bp-text: #8a3800;
  --grade-fp-text: #525252;
  --on-tp: #ffffff;
  --on-bp: #161616;
  --on-fp: #ffffff;
  --on-tool: #ffffff;
  --rich-black: #161616;
  --critical-tint: #fff1f1;
  --correct-tint: #defbe6;
  --medium-tint: #fff2e8;
  --tool-tint: #d9fbfb;
  --analyst-tint: #fcf4d6;
  --low-tint: #f4f4f4;
    --focus: #005d5d; --shadow: none;
    color-scheme: light;
  }
}
.paper {
  --bg: #ffffff;
  --surface: #f4f4f4;
  --surface-2: #e0e0e0;
  --hairline: #e0e0e0;
  --hairline-strong: #c6c6c6;
  --text: #161616;
  --text-muted: #525252;
  --low: #8d8d8d;
  --tool: #007d79;
  --tool-text: #005d5d;
  --analyst: #f1c21b;
  --analyst-ink: #684e00;
  --analyst-text: #684e00;
  --critical: #da1e28;
  --critical-text: #a2191f;
  --correct: #198038;
  --correct-text: #0e6027;
  --medium: #ff832b;
  --medium-text: #8a3800;
  --grade-tp: #da1e28;
  --grade-bp: #ff832b;
  --grade-fp: #525252;
  --grade-tp-text: #da1e28;
  --grade-bp-text: #8a3800;
  --grade-fp-text: #525252;
  --on-tp: #ffffff;
  --on-bp: #161616;
  --on-fp: #ffffff;
  --on-tool: #ffffff;
  --rich-black: #161616;
  --critical-tint: #fff1f1;
  --correct-tint: #defbe6;
  --medium-tint: #fff2e8;
  --tool-tint: #d9fbfb;
  --analyst-tint: #fcf4d6;
  --low-tint: #f4f4f4;
  --shadow: none;
  color-scheme: light;
}
