/* Gesswen — design tokens, generated from design-tokens/gesswen-tokens.json.
   Structured to match design-system-generator's token schema (foundation/semantic/
   component) so this store can be opened + edited in that tool's editor later. */

/* Self-hosted Fraunces (variable weight 300-900, latin + latin-ext) */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/fraunces-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/fraunces-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/fraunces-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/fraunces-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Self-hosted IBM Plex Mono (400/500/600, latin + latin-ext) */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --f-color-brand-50: hsl(173 90% 97%);
  --f-color-brand-100: hsl(173 85% 94%);
  --f-color-brand-200: hsl(173 80% 87%);
  --f-color-brand-300: hsl(173 75% 76%);
  --f-color-brand-400: hsl(173 72% 63%);
  --f-color-brand-500: hsl(173 70% 52%);
  --f-color-brand-600: hsl(173 68% 42%);
  --f-color-brand-700: hsl(173 65% 34%);
  --f-color-brand-800: hsl(173 60% 26%);
  --f-color-brand-900: hsl(173 55% 18%);
  --f-color-brand2-50: hsl(32 90% 97%);
  --f-color-brand2-100: hsl(32 85% 94%);
  --f-color-brand2-200: hsl(32 80% 87%);
  --f-color-brand2-300: hsl(32 75% 76%);
  --f-color-brand2-400: hsl(32 72% 63%);
  --f-color-brand2-500: hsl(32 70% 52%);
  --f-color-brand2-600: hsl(32 68% 42%);
  --f-color-brand2-700: hsl(32 65% 34%);
  --f-color-brand2-800: hsl(32 60% 26%);
  --f-color-brand2-900: hsl(32 55% 18%);
  --f-color-brand3-50: hsl(220 90% 97%);
  --f-color-brand3-100: hsl(220 85% 94%);
  --f-color-brand3-200: hsl(220 80% 87%);
  --f-color-brand3-300: hsl(220 75% 76%);
  --f-color-brand3-400: hsl(220 72% 63%);
  --f-color-brand3-500: hsl(220 70% 52%);
  --f-color-brand3-600: hsl(220 68% 42%);
  --f-color-brand3-700: hsl(220 65% 34%);
  --f-color-brand3-800: hsl(220 60% 26%);
  --f-color-brand3-900: hsl(220 55% 18%);
  --f-color-neutral-50: hsl(42 8% 98%);
  --f-color-neutral-100: hsl(42 7% 96%);
  --f-color-neutral-200: hsl(42 6% 90%);
  --f-color-neutral-300: hsl(42 5% 80%);
  --f-color-neutral-400: hsl(42 5% 65%);
  --f-color-neutral-500: hsl(42 5% 50%);
  --f-color-neutral-600: hsl(42 5% 38%);
  --f-color-neutral-700: hsl(42 5% 28%);
  --f-color-neutral-800: hsl(42 5% 18%);
  --f-color-neutral-900: hsl(42 5% 10%);
  --f-color-red-50: hsl(4 90% 97%);
  --f-color-red-100: hsl(4 85% 94%);
  --f-color-red-200: hsl(4 80% 87%);
  --f-color-red-300: hsl(4 75% 76%);
  --f-color-red-400: hsl(4 72% 63%);
  --f-color-red-500: hsl(4 70% 52%);
  --f-color-red-600: hsl(4 68% 42%);
  --f-color-red-700: hsl(4 65% 34%);
  --f-color-red-800: hsl(4 60% 26%);
  --f-color-red-900: hsl(4 55% 18%);
  --f-color-green-50: hsl(142 90% 97%);
  --f-color-green-100: hsl(142 85% 94%);
  --f-color-green-200: hsl(142 80% 87%);
  --f-color-green-300: hsl(142 75% 76%);
  --f-color-green-400: hsl(142 72% 63%);
  --f-color-green-500: hsl(142 70% 52%);
  --f-color-green-600: hsl(142 68% 42%);
  --f-color-green-700: hsl(142 65% 34%);
  --f-color-green-800: hsl(142 60% 26%);
  --f-color-green-900: hsl(142 55% 18%);
  --f-color-yellow-50: hsl(45 90% 97%);
  --f-color-yellow-100: hsl(45 85% 94%);
  --f-color-yellow-200: hsl(45 80% 87%);
  --f-color-yellow-300: hsl(45 75% 76%);
  --f-color-yellow-400: hsl(45 72% 63%);
  --f-color-yellow-500: hsl(45 70% 52%);
  --f-color-yellow-600: hsl(45 68% 42%);
  --f-color-yellow-700: hsl(45 65% 34%);
  --f-color-yellow-800: hsl(45 60% 26%);
  --f-color-yellow-900: hsl(45 55% 18%);
  --f-typography-fontFamily-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
  --f-typography-fontFamily-mono: 'IBM Plex Mono', 'Fira Code', monospace;
  --f-typography-fontFamily-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --f-typography-fontSize-xs: 11px;
  --f-typography-fontSize-sm: 13px;
  --f-typography-fontSize-base: 15px;
  --f-typography-fontSize-lg: 17px;
  --f-typography-fontSize-xl: 20px;
  --f-typography-fontSize-2xl: 24px;
  --f-typography-fontSize-3xl: 30px;
  --f-typography-fontSize-4xl: 36px;
  --f-typography-fontSize-5xl: 48px;
  --f-typography-fontWeight-normal: 400;
  --f-typography-fontWeight-medium: 500;
  --f-typography-fontWeight-semibold: 600;
  --f-typography-fontWeight-bold: 700;
  --f-typography-lineHeight-tight: 1.2;
  --f-typography-lineHeight-snug: 1.35;
  --f-typography-lineHeight-normal: 1.5;
  --f-typography-lineHeight-relaxed: 1.75;
  --f-typography-letterSpacing-tight: -0.02em;
  --f-typography-letterSpacing-normal: 0em;
  --f-typography-letterSpacing-wide: 0.04em;
  --f-typography-letterSpacing-wider: 0.08em;
  --f-spacing-0: 0px;
  --f-spacing-1: 4px;
  --f-spacing-2: 8px;
  --f-spacing-3: 12px;
  --f-spacing-4: 16px;
  --f-spacing-5: 20px;
  --f-spacing-6: 24px;
  --f-spacing-8: 32px;
  --f-spacing-10: 40px;
  --f-spacing-12: 48px;
  --f-spacing-16: 64px;
  --f-spacing-20: 80px;
  --f-spacing-24: 96px;
  --f-borderRadius-none: 0px;
  --f-borderRadius-sm: 2px;
  --f-borderRadius-md: 4px;
  --f-borderRadius-lg: 8px;
  --f-borderRadius-xl: 12px;
  --f-borderRadius-2xl: 16px;
  --f-borderRadius-3xl: 24px;
  --f-borderRadius-full: 9999px;
  --f-shadow-none: none;
  --f-shadow-sm: 0 1px 2px 0 hsl(0 0% 0% / 0.06);
  --f-shadow-md: 0 4px 6px -1px hsl(0 0% 0% / 0.08), 0 2px 4px -2px hsl(0 0% 0% / 0.06);
  --f-shadow-lg: 0 10px 15px -3px hsl(0 0% 0% / 0.08), 0 4px 6px -4px hsl(0 0% 0% / 0.05);
  --f-shadow-xl: 0 20px 25px -5px hsl(0 0% 0% / 0.1), 0 8px 10px -6px hsl(0 0% 0% / 0.06);
  --f-zIndex-base: 0;
  --f-zIndex-above: 10;
  --f-zIndex-dropdown: 100;
  --f-zIndex-sticky: 200;
  --f-zIndex-modal: 300;
  --f-zIndex-toast: 400;
  --color-primary: hsl(173 68% 42%);
  --color-primary-hover: hsl(173 65% 34%);
  --color-primary-active: hsl(173 60% 26%);
  --color-primary-subtle: hsl(173 90% 97%);
  --color-primary-foreground: hsl(173 90% 97%);
  --color-secondary: hsl(32 68% 42%);
  --color-secondary-hover: hsl(32 65% 34%);
  --color-secondary-active: hsl(32 60% 26%);
  --color-secondary-subtle: hsl(32 90% 97%);
  --color-secondary-foreground: hsl(32 90% 97%);
  --color-tertiary: hsl(220 68% 42%);
  --color-tertiary-hover: hsl(220 65% 34%);
  --color-tertiary-active: hsl(220 60% 26%);
  --color-tertiary-subtle: hsl(220 90% 97%);
  --color-tertiary-foreground: hsl(220 90% 97%);
  --color-neutral: hsl(42 5% 38%);
  --color-neutral-hover: hsl(42 5% 28%);
  --color-neutral-subtle: hsl(42 7% 96%);
  --color-neutral-foreground: hsl(42 8% 98%);
  --color-success: hsl(142 68% 42%);
  --color-success-subtle: hsl(142 90% 97%);
  --color-success-foreground: hsl(142 90% 97%);
  --color-warning: hsl(45 70% 52%);
  --color-warning-subtle: hsl(45 90% 97%);
  --color-warning-foreground: hsl(45 55% 18%);
  --color-error: hsl(4 68% 42%);
  --color-error-subtle: hsl(4 90% 97%);
  --color-error-foreground: hsl(4 90% 97%);
  --color-surface: hsl(42 8% 98%);
  --color-surface-raised: #ffffff;
  --color-surface-overlay: hsl(42 7% 96%);
  --color-surface-highest: hsl(42 6% 90%);
  --color-text: hsl(42 5% 10%);
  --color-text-muted: hsl(42 5% 50%);
  --color-text-disabled: hsl(42 5% 80%);
  --color-text-inverse: hsl(42 8% 98%);
  --color-border: hsl(42 6% 90%);
  --color-border-strong: hsl(42 5% 65%);
  --color-border-focus: hsl(173 70% 52%);
  --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-code: 'IBM Plex Mono', 'Fira Code', monospace;
  --text-xs: 11px;
  --text-sm: 13px;
  --text-base: 15px;
  --text-lg: 17px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --leading-tight: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px 0 hsl(0 0% 0% / 0.06);
  --shadow-md: 0 4px 6px -1px hsl(0 0% 0% / 0.08), 0 2px 4px -2px hsl(0 0% 0% / 0.06);
  --shadow-lg: 0 10px 15px -3px hsl(0 0% 0% / 0.08), 0 4px 6px -4px hsl(0 0% 0% / 0.05);
  --button-padding-x: 16px;
  --button-padding-y: 8px;
  --button-font-size: 13px;
  --button-font-weight: 600;
  --button-radius: 4px;
  --button-bg: hsl(173 68% 42%);
  --button-bg-hover: hsl(173 65% 34%);
  --button-fg: hsl(173 90% 97%);
  --button-border: hsl(173 68% 42%);
  --button-secondary-bg: hsl(42 7% 96%);
  --button-secondary-bg-hover: hsl(42 7% 96%);
  --button-secondary-fg: hsl(42 5% 10%);
  --button-secondary-border: hsl(42 6% 90%);
  --button-outline-fg: hsl(173 68% 42%);
  --button-outline-border: hsl(173 68% 42%);
  --button-outline-bg-hover: hsl(173 90% 97%);
  --input-padding-x: 12px;
  --input-padding-y: 8px;
  --input-font-size: 13px;
  --input-radius: 4px;
  --input-bg: #ffffff;
  --input-border: hsl(42 6% 90%);
  --input-border-focus: hsl(173 70% 52%);
  --input-text: hsl(42 5% 10%);
  --input-placeholder: hsl(42 5% 50%);
  --card-padding: 24px;
  --card-radius: 8px;
  --card-bg: #ffffff;
  --card-border: hsl(42 6% 90%);
  --card-shadow: 0 4px 6px -1px hsl(0 0% 0% / 0.08), 0 2px 4px -2px hsl(0 0% 0% / 0.06);
  --badge-padding-x: 8px;
  --badge-padding-y: 4px;
  --badge-font-size: 11px;
  --badge-font-weight: 600;
  --badge-radius: 9999px;
  --alert-padding-x: 16px;
  --alert-padding-y: 12px;
  --alert-radius: 4px;
  --alert-font-size: 13px;
  --cal-slot-bg: hsl(42 7% 96%);
  --cal-slot-bg-yes: hsl(142 90% 97%);
  --cal-slot-bg-maybe: hsl(45 90% 97%);
  --cal-slot-bg-taken: hsl(173 90% 97%);
  --cal-slot-border: hsl(42 6% 90%);
  --cal-slot-border-yes: hsl(142 68% 42%);
  --cal-slot-border-maybe: hsl(45 70% 52%);
  --cal-slot-border-taken: hsl(173 68% 42%);
  --cal-slot-radius: 4px;
  --cal-slot-font-size: 11px;
  --heatmap-bg-0: hsl(42 7% 96%);
  --heatmap-bg-5: hsl(142 68% 42%);
  --maybe-badge-bg: hsl(45 90% 97%);
  --maybe-badge-text: hsl(45 70% 52%);
  --maybe-badge-border: hsl(45 70% 52%);
  --booking-bar-bg: #ffffff;
  --booking-bar-border: hsl(42 6% 90%);
  --booking-bar-shadow: 0 10px 15px -3px hsl(0 0% 0% / 0.08), 0 4px 6px -4px hsl(0 0% 0% / 0.05);
  --booking-bar-padding: 16px;
  --nav-bg: #ffffff;
  --nav-border: hsl(42 6% 90%);
  --nav-brand-color: hsl(42 5% 10%);
  --nav-link-color: hsl(42 5% 50%);
  --nav-link-active-bg: hsl(173 90% 97%);
  --nav-link-active-color: hsl(173 68% 42%);
  --typography-heading-color: hsl(42 5% 10%);
  --typography-heading-weight: {heading-weight};
  --typography-body-color: hsl(42 5% 10%);
  --typography-body-weight: {body-weight};
  --typography-muted-color: hsl(42 5% 50%);
  --stat-bg: #ffffff;
  --stat-border: hsl(42 6% 90%);
  --stat-radius: 8px;
  --stat-value-color: hsl(42 5% 10%);
  --stat-value-size: 30px;
  --stat-label-color: hsl(42 5% 50%);
  --stepper-dot-size: 28px;
  --stepper-dot-bg: hsl(42 7% 96%);
  --stepper-dot-border: hsl(42 6% 90%);
  --stepper-dot-active-bg: hsl(173 68% 42%);
  --stepper-dot-active-border: hsl(173 68% 42%);
  --stepper-dot-complete-bg: hsl(142 90% 97%);
  --stepper-dot-complete-border: hsl(142 68% 42%);
  --stepper-connector-color: hsl(42 6% 90%);
  --stepper-connector-complete: hsl(142 68% 42%);
  --stepper-label-active: hsl(173 68% 42%);
  --stepper-label-complete: hsl(142 68% 42%);
  --stat-value-font: 'Fraunces', Georgia, 'Times New Roman', serif;
  --badge-booking-bg: hsl(173 90% 97%);
  --badge-booking-text: hsl(173 68% 42%);
  --badge-poll-bg: hsl(32 90% 97%);
  --badge-poll-text: hsl(32 68% 42%);
  --sidebar-bg: #ffffff;
  --sidebar-width: 260px;
  --target-size-min: 0px;
}
