

@font-face { font-family: "TWK Lausanne Pan"; font-style: normal; font-weight: 300; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c46b2cc4ad9b909aad_TWKLausannePan-300.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: italic; font-weight: 300; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c4031fbdad6b086b2d_TWKLausannePan-300Italic.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c45934d9755f034429_TWKLausannePan-400.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c41f7ba3c5753a01f4_TWKLausannePan-400Italic.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c470fd919740913782_TWKLausannePan-500.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c4afd093a7a8dd47c7_TWKLausannePan-600.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: italic; font-weight: 600; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c4acf7a6f191b63a24_TWKLausannePan-600Italic.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c4eab70da198747049_TWKLausannePan-700.woff2") format("woff2"); }
@font-face { font-family: "TWK Lausanne Pan"; font-style: italic; font-weight: 700; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6c4566e82dd4cf851d2_TWKLausannePan-700Italic.woff2") format("woff2"); }

@font-face { font-family: "Basis Grotesque Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("https://cdn.prod.website-files.com/663e4960fd682070c6a1bfdc/6a13e6435a1df589c5a76960_font.woff2") format("woff2"); }

:root {
  
  --brand-1:  rgba(191, 30, 48, 0.08);
  --brand-2:  rgba(191, 30, 48, 0.16);
  --brand-3:  rgba(191, 30, 48, 0.30);
  --brand-4:  rgba(191, 30, 48, 0.60);
  --brand-5:  rgb(191, 30, 48);           
  --brand-6:  rgb(210, 50, 65);
  --brand-7:  rgb(59, 130, 246);
  --brand-8:  rgb(120,  8, 48);
  --brand-deep: rgb(120, 8, 48);

  
  --gray-1:  rgb(15, 16, 18);             
  --gray-2:  rgb(18, 19, 21);             
  --gray-3:  rgb(23, 23, 23);
  --gray-4:  rgb(24, 26, 31);             
  --gray-5:  rgb(34, 35, 38);
  --gray-6:  rgb(54, 56, 62);
  --gray-7:  rgb(94, 96, 104);
  --gray-8:  rgb(140, 143, 150);
  --gray-9:  rgb(163, 163, 163);
  --gray-10: rgb(200, 202, 208);
  --gray-11: rgb(230, 231, 234);
  --gray-12: rgb(250, 250, 250);          

  
  --fg-1:        rgba(255, 255, 255, 0.92);   
  --fg-2:        rgba(255, 255, 255, 0.75);   
  --fg-3:        rgba(255, 255, 255, 0.60);   
  --fg-4:        rgba(255, 255, 255, 0.40);   
  --fg-muted:    rgba(255, 255, 255, 0.25);

  --fg-on-light-1: rgba(0, 0, 0, 0.85);
  --fg-on-light-2: rgba(0, 0, 0, 0.75);
  --fg-on-light-3: rgba(0, 0, 0, 0.60);

  
  --bg-app:      var(--gray-1);
  --bg-panel:    var(--gray-2);
  --bg-raised:   rgba(255, 255, 255, 0.02);
  --bg-raised-2: rgba(255, 255, 255, 0.04);
  --bg-hover:    rgba(255, 255, 255, 0.06);
  --bg-active:   rgba(255, 255, 255, 0.08);

  --bg-app-light:     rgb(250, 250, 250);
  --bg-panel-light:   rgb(255, 255, 255);
  --bg-raised-light:  rgba(0, 0, 0, 0.02);
  --bg-hover-light:   rgba(0, 0, 0, 0.04);

  
  --border-subtle:  rgba(255, 255, 255, 0.04);
  --border-1:       rgba(255, 255, 255, 0.06);
  --border-2:       rgba(255, 255, 255, 0.12);
  --border-strong:  rgba(255, 255, 255, 0.25);

  --border-subtle-light: rgba(0, 0, 0, 0.04);
  --border-1-light:      rgba(0, 0, 0, 0.08);
  --border-2-light:      rgba(0, 0, 0, 0.12);

  
  --success:     rgb(129, 190, 76);
  --success-bg:  rgba(129, 190, 76, 0.10);
  --success-fg:  rgb(163, 214, 110);
  --success-deep: rgb(0, 87, 18);

  --warning:     rgb(235, 182, 75);
  --warning-bg:  rgba(235, 182, 75, 0.10);
  --warning-fg:  rgb(240, 182, 67);

  --danger:      rgb(199, 80, 90);
  --danger-bg:   rgba(199, 80, 90, 0.08);
  --danger-border: rgba(199, 80, 90, 0.40);
  --danger-fg:   rgb(217, 78, 91);
  --danger-deep: rgb(120, 8, 48);
  --danger-flag: rgb(191, 30, 48);

  --info:        rgb(102, 171, 217);
  --info-bg:     rgba(102, 171, 217, 0.10);
  --info-fg:     rgb(115, 172, 229);

  
  --flag-white:  rgb(250, 250, 250);
  --flag-sky:    rgb(115, 172, 229);
  --flag-yellow: rgb(250, 209, 0);
  --flag-orange: rgb(240, 120, 30);
  --flag-red:    rgb(191, 30, 48);
  --flag-navy:   rgb(31, 25, 135);
  --flag-forest: rgb(0, 87, 18);
  --flag-gold:   rgb(235, 182, 75);
  --flag-berry:  rgb(120, 8, 48);
  --flag-moss:   rgb(25, 59, 0);
  --flag-stone:  rgb(200, 202, 208);

  
  --shadow-xs:  0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm:  0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-md:  0 4px 8px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --shadow-lg:  0 12px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  --shadow-xl:  0 24px 48px rgba(0, 0, 0, 0.20), 0 8px 16px rgba(0, 0, 0, 0.10);
  
  --shadow-inset-sm: inset 0 2px 8px rgba(0, 0, 0, 0.04);
  --shadow-inset-md: inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 -1px 0 rgba(0, 0, 0, 0.20);
  --glow-brand: 0 0 0 3px rgba(97, 85, 250, 0.25);

  
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-pill: 9999px;

  
  --space-1: 2px;
  --space-2: 4px;
  --space-3: 6px;
  --space-4: 8px;
  --space-5: 12px;
  --space-6: 16px;
  --space-7: 20px;
  --space-8: 24px;
  --space-9: 32px;
  --space-10: 40px;
  --space-11: 48px;
  --space-12: 64px;

  
  --font-sans: "TWK Lausanne Pan", Arial, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-mono: "Basis Grotesque Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --fz-12: 12px; --lh-12: 16px;
  --fz-13: 13px; --lh-13: 20px;
  --fz-14: 14px; --lh-14: 20px;  
  --fz-16: 16px; --lh-16: 24px;
  --fz-18: 18px; --lh-18: 28px;
  --fz-20: 20px; --lh-20: 28px;
  --fz-32: 32px; --lh-32: 36px;
  --fz-40: 40px; --lh-40: 44px;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;

  --tracking-tight: -0.001em;
}

[data-theme="light"] {
  --fg-1: rgba(0, 0, 0, 0.85);
  --fg-2: rgba(0, 0, 0, 0.75);
  --fg-3: rgba(0, 0, 0, 0.60);
  --fg-4: rgba(0, 0, 0, 0.40);
  --fg-muted: rgba(0, 0, 0, 0.25);

  --bg-app: var(--bg-app-light);
  --bg-panel: var(--bg-panel-light);
  --bg-raised: var(--bg-raised-light);
  --bg-hover: var(--bg-hover-light);

  --border-subtle: var(--border-subtle-light);
  --border-1: var(--border-1-light);
  --border-2: var(--border-2-light);
}

.t-display {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  font-size: var(--fz-40);
  line-height: var(--lh-40);
  letter-spacing: var(--tracking-tight);
}
.t-h1 {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  font-size: var(--fz-32);
  line-height: var(--lh-32);
  letter-spacing: var(--tracking-tight);
}
.t-h2 {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fz-20);
  line-height: var(--lh-20);
  letter-spacing: var(--tracking-tight);
}
.t-h3 {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fz-18);
  line-height: var(--lh-18);
}
.t-body {
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fz-14);
  line-height: var(--lh-14);
}
.t-body-strong {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fz-14);
  line-height: var(--lh-14);
}
.t-caption {
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fz-13);
  line-height: var(--lh-13);
  color: var(--fg-3);
}
.t-micro {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fz-12);
  line-height: var(--lh-12);
  letter-spacing: 0.01em;
}
.t-mono {
  font-family: var(--font-mono);
  font-weight: var(--fw-regular);
  font-size: var(--fz-13);
  line-height: var(--lh-13);
}
.t-mono-lg {
  font-family: var(--font-mono);
  font-weight: var(--fw-medium);
  font-size: var(--fz-32);
  line-height: var(--lh-32);
}

:root {
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-accel:    cubic-bezier(0.4, 0, 1, 1);
  --ease-decel:    cubic-bezier(0, 0, 0.2, 1);
  --duration-fast: 120ms;
  --duration-base: 180ms;
  --duration-slow: 280ms;
}
