/* GENERATED by tools/dev/docs-theme.mjs from apps/web/src/styles/{tokens,fonts}.css — do not edit. */
@font-face {
  font-family: "Fredoka";
  src: url("../assets/fonts/Fredoka-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fredoka";
  src: url("../assets/fonts/Fredoka-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fredoka";
  src: url("../assets/fonts/Fredoka-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/IBMPlexMono-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/IBMPlexMono-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/IBMPlexMono-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root,
[data-md-color-scheme] {
    color-scheme: dark light;

    --brand: oklch(0.6 0.085 232);
    --accent: oklch(0.73 0.18 128);
    --accent-ink: oklch(0.2 0.012 220);
    --accent-text: var(--accent);
    --beige: oklch(0.62 0.065 52);

    --surface: oklch(0.22 0.012 220);
    --surface-2: oklch(0.27 0.015 225);
    --field-bg: oklch(0.19 0.012 222);
    --ink: oklch(0.94 0.006 220);
    --muted: oklch(0.71 0.018 220);
    --line: oklch(0.33 0.016 222);
    --heading: oklch(0.74 0.078 228);
    --topbar-bg: oklch(0.22 0.018 228);
    --chip-bg: oklch(0.3 0.017 226);
    --shadow: oklch(0 0 0 / 0.55);

    --tier-a: oklch(0.7 0.15 145);
    --tier-b: oklch(0.78 0.13 250);
    --tier-c: oklch(0.72 0.04 250);
    --ok: oklch(0.74 0.17 145);
    --warn: oklch(0.8 0.15 85);
    --bad: oklch(0.66 0.19 27);

    --hue-text: 72%;
    --hue-chip: 50%;
    --tier-a-text: color-mix(in oklch, var(--tier-a) var(--hue-text), var(--ink));
    --tier-b-text: color-mix(in oklch, var(--tier-b) var(--hue-text), var(--ink));
    --tier-c-text: color-mix(
      in oklch,
      var(--muted) 80%,
      var(--ink)
    );
    --ok-text: color-mix(in oklch, var(--ok) var(--hue-text), var(--ink));
    --warn-text: color-mix(in oklch, var(--warn) var(--hue-text), var(--ink));
    --bad-text: color-mix(in oklch, var(--bad) var(--hue-text), var(--ink));

    --danger-fill: oklch(0.52 0.19 27);
    --danger-ink: oklch(1 0 0);

    --rail-bg: oklch(0.2 0.012 230);
    --panel-2: oklch(0.185 0.01 225);
    --hair: oklch(0.3 0.012 226);
    --ink-2: oklch(0.8 0.012 220);
    --ink-tier: oklch(0.18 0.02 245);

    --page-bg: oklch(0.17 0.012 220);
    --chrome-ink: oklch(
      1 0 0
    );

    --chrome-ink-muted: color-mix(in oklch, var(--chrome-ink) 84%, var(--topbar-bg));
    --chrome-field-bg: color-mix(in oklch, var(--chrome-ink) 10%, transparent);
    --chrome-hover-bg: color-mix(in oklch, var(--chrome-ink) 22%, transparent);
    --selected-bg: color-mix(in oklch, var(--brand) 22%, transparent);
    --pin-edge: oklch(1 0 0);
    --map-control-ink: oklch(0.25 0.02 245);
    --pin-station: oklch(0.86 0.012 230);

    --type-green: oklch(0.71 0.18 128);
    --type-blue: oklch(0.6 0.085 232);
    --type-forest: oklch(0.57 0.14 128);
    --type-grey: oklch(0.41 0.008 220);
    --type-clay: oklch(0.64 0.09 48);
    --type-sand: oklch(0.7 0.11 75);
    --role-node-ink: var(--pin-edge);
    --meshcom: oklch(0.55 0.16 350);

    --map-night: oklch(0.2 0.035 255);
    --map-grid: oklch(0.66 0.055 233);
    --map-ring: oklch(0.6 0.098 225);
    --map-measure: oklch(0.63 0.19 35);
    --map-arc: oklch(0.6 0.23 286);
    --map-heard-rf: oklch(0.68 0.15 154);
    --map-heard-app: oklch(0.7 0.16 258);
    --map-heard-is: oklch(0.7 0.04 246);
    --map-graticule-bg: oklch(0.26 0.02 228);
    --map-graticule-line: oklch(0.68 0.08 228);
    --qr-bg: oklch(1 0 0);
    --fav: oklch(0.64 0.17 15);
    --award-bg: oklch(0.3 0.05 95);
    --award-ink: oklch(0.86 0.14 95);
    --award-line: oklch(0.42 0.05 95);

    --elevation-hero: 0 18px 50px -22px var(--shadow);

    --hero-bg: oklch(0.6 0.085 232);
    --hero-scrim-top: color-mix(in oklch, oklch(0.28 0.06 234) 82%, transparent);
    --hero-scrim-bottom: color-mix(in oklch, oklch(0.28 0.06 234) 92%, transparent);
    --hero-ink: oklch(1 0 0);
    --hero-accent: oklch(0.73 0.18 128);
    --hero-accent-text: oklch(0.84 0.15 128);
    --hero-accent-ink: oklch(0.2 0.012 220);
    --hero-heading: oklch(0.86 0.06 228);
    --hero-tier-a: oklch(0.7 0.15 145);
    --hero-tier-a-text: oklch(0.82 0.13 145);
    --hero-control-bg: oklch(0.27 0.015 225);
    --hero-control-ink: oklch(0.94 0.006 220);
    --hero-control-line: oklch(0.42 0.02 225);

    --text-micro: 10px;
    --text-caption: 11px;
    --text-label: 12px;
    --text-data: 13px;
    --text-body: 14px;
    --text-input: 16px;
    --text-heading: 17px;
    --text-title: 20px;
    --text-title-lg: 24px;
    --text-display: clamp(34px, 6vw, 56px);
    --leading-tight: 1.15;
    --leading-body: 1.5;
    --tracking-display: -0.01em;
    --weight-strong: 600;
    --weight-title: 700;

    --space-2xs: 2px;
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 12px;
    --space-lg: 16px;
    --space-xl: 24px;
    --space-2xl: 32px;
    --space-3xl: 48px;
    --space-4xl: 64px;
    --gap-inline: var(--space-sm);
    --gap-stack: var(--space-md);
    --pad-card: var(--space-lg);

    --radius-tick: 2px;
    --radius-chip: 6px;
    --radius-control: 8px;
    --radius-card: 12px;
    --radius-sheet: 16px;
    --radius-pill: 999px;

    --elevation-raised: 0 1px 4px var(--shadow);
    --elevation-floating: 0 8px 24px var(--shadow);
    --elevation-floating-up: 0 -4px 16px var(--shadow);
    --elevation-overlay: 0 14px 44px var(--shadow);

    --motion-fast: 120ms;
    --motion-base: 200ms;
    --motion-slow: 320ms;
    --ease-standard: cubic-bezier(0.2, 0, 0, 1);

    --z-splash: 4;
    --z-topbar: 5;
    --z-map-ui: 5;
    --z-panel: 6;
    --z-rail: 6;
    --z-map-card: 6;
    --z-banner: 7;
    --z-tabbar: 8;
    --z-toast: 9;
    --z-popover: 40;
    --z-dialog: 60;
    --z-fx: 2000;

    --topbar-h: 50px;
    --tabbar-h: 60px;
    --rail-w: 72px;
    --rail-w-compact: 56px;
    --panel-w: 348px;
    --dock-w: 340px;
    --dock-w-detail: 392px;
    --dock-w-broad: 640px;
    --hit: 44px;
    --ctl-min-h: 0px;

    --density-fs: var(--text-body);
    --ctl-fs: 1em;
    --ctl-pad-y: var(--space-xs);
    --ctl-pad-x: 11px;
    --row-pad-y: var(--space-sm);
    --subh-mt: var(--space-md);

    --shade: oklch(0 0 none);
    --tint: oklch(1 0 none);

    --diagram-node-bg: color-mix(in oklab, var(--brand) 22%, var(--surface));
    --diagram-node-line: var(--heading);
    --diagram-ink: var(--ink);
    --diagram-edge: var(--muted);
    --diagram-label-bg: var(--surface);
    --diagram-group-bg: color-mix(in oklab, var(--ink) 5%, var(--surface));

    --font-brand: "Fredoka", system-ui, sans-serif;
    --font-ui: system-ui, sans-serif;
    --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;
    --font-system: system-ui, sans-serif;
  }
  @media (prefers-reduced-motion: reduce) {
    :root,
[data-md-color-scheme] {
      --motion-fast: 0ms;
      --motion-base: 0ms;
      --motion-slow: 0ms;
    }
  }
  @media (pointer: coarse) {
    :root,
[data-md-color-scheme] {
      --ctl-min-h: var(--hit);
    }
  }
  [data-density="compact"] {
    --gap-stack: var(--space-sm);
    --pad-card: var(--space-md);
    --density-fs: var(--text-data);
    --ctl-fs: var(--text-label);
    --ctl-pad-y: var(--space-xs);
    --ctl-pad-x: 9px;
    --row-pad-y: 3px;
    --subh-mt: var(--space-md);
  }
  [data-md-color-scheme="slate"] {
    color-scheme: dark;
  }
  [data-md-color-scheme="default"] {
    color-scheme: light;
    --surface: oklch(1 0 0);
    --surface-2: oklch(0.98 0.003 220);
    --field-bg: oklch(1 0 0);
    --ink: oklch(0.33 0.006 220);
    --muted: oklch(0.52 0.009 220);
    --line: oklch(0.92 0.004 220);
    --accent-text: oklch(0.48 0.15 135);
    --hue-text: 34%;
    --hue-chip: 34%;
    --selected-bg: color-mix(in oklch, var(--brand) 13%, transparent);
    --heading: oklch(0.5 0.072 230);
    --topbar-bg: oklch(0.5 0.085 232);
    --chrome-field-bg: color-mix(in oklch, var(--shade) 16%, transparent);
    --map-graticule-bg: oklch(0.95 0.012 226);
    --map-graticule-line: oklch(0.6 0.098 225);
    --chrome-hover-bg: color-mix(in oklch, var(--shade) 28%, transparent);
    --chip-bg: oklch(0.96 0.004 220);
    --shadow: oklch(0 0 0 / 0.16);

    --rail-bg: oklch(0.97 0.003 220);
    --panel-2: oklch(0.99 0.002 220);
    --hair: oklch(0.91 0.004 220);
    --ink-2: oklch(0.4 0.008 220);

    --page-bg: oklch(0.96 0.004 220);
    --award-bg: oklch(0.96 0.05 95);
    --award-ink: oklch(0.52 0.1 85);
    --award-line: oklch(0.9 0.06 95);
  }

  :root,
[data-md-color-scheme] {
    --ansi-0: #2b2b2b;
    --ansi-1: #c0392b;
    --ansi-2: #27ae60;
    --ansi-3: #b8860b;
    --ansi-4: #2e6fb8;
    --ansi-5: #8e44ad;
    --ansi-6: #1696a3;
    --ansi-7: #bdc3c7;
    --ansi-8: #5a5a5a;
    --ansi-9: #e74c3c;
    --ansi-10: #2ecc71;
    --ansi-11: #f1c40f;
    --ansi-12: #5dade2;
    --ansi-13: #af7ac5;
    --ansi-14: #48c9b0;
    --ansi-15: #ffffff;

    --st-bbs: var(--ansi-11);
    --st-node: var(--ansi-12);
    --st-digi: var(--ansi-10);
    --st-dx: var(--ansi-13);
    --st-wx: var(--ansi-14);
    --st-igate: var(--ansi-6);
    --st-service: var(--accent);
    --st-cacher: var(--tier-a);
    --st-beacon: var(--ansi-7);
    --st-user: var(--muted);
  }
