@import url("https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap");

:root {
  --pine: #003F34;
  --pine-ink: #00241E;
  --forest-tint: #0A5A4A;
  --forest-soft: #14705E;

  --mint: #2EDB8F;
  --mint-bright: #52F0A8;
  --mint-press: #1FB874;
  --mint-soft: #C8F6E0;
  --mint-wash: #E8FAF1;

  --mist: #F2F3F1;
  --mist-2: #E6E8E4;
  --mist-3: #D4D7D2;
  --white: #FFFFFF;

  --fg-1: #003F34;
  --fg-2: #0A5A4A;
  --fg-3: #5B6B66;
  --fg-4: #8A968F;
  --fg-inverse: #FFFFFF;

  --on-pine-1: #FFFFFF;
  --on-pine-2: #B8D8CF;
  --on-pine-3: #7FAEA1;
  --on-pine-line: rgba(255, 255, 255, 0.08);
  --on-pine-line-2: rgba(255, 255, 255, 0.14);

  --success: #22C55E;
  --success-wash: #DCFCE7;
  --warning: #F59E0B;
  --warning-wash: #FEF3C7;
  --error: #EF4444;
  --error-wash: #FEE2E2;
  --info: #38BDF8;
  --info-wash: #E0F2FE;

  --state-queued: #38BDF8;
  --state-playing: #2EDB8F;
  --state-awaiting-ack: #F59E0B;
  --state-acknowledged: #14705E;
  --state-skipped: #94A3B8;
  --state-rejected: #EF4444;
  --state-refunded: #A855F7;
  --state-pending-pay: #CBD5E1;
  --state-generating: #818CF8;

  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  --s-1: 8px;
  --s-2: 16px;
  --s-3: 24px;
  --s-4: 32px;
  --s-5: 40px;
  --s-6: 64px;
  --s-7: 96px;

  --shadow-xs: 0 1px 0 rgba(0, 63, 52, 0.05);
  --shadow-sm: 0 1px 2px rgba(0, 63, 52, 0.06), 0 1px 1px rgba(0, 63, 52, 0.04);
  --shadow-md: 0 6px 20px -6px rgba(0, 63, 52, 0.12), 0 2px 4px rgba(0, 63, 52, 0.06);
  --shadow-lg: 0 18px 40px -14px rgba(0, 63, 52, 0.18), 0 4px 10px rgba(0, 63, 52, 0.08);
  --shadow-signal: 0 0 0 6px rgba(46, 219, 143, 0.18), 0 10px 30px -8px rgba(46, 219, 143, 0.35);

  --hair: 1px solid var(--mist-2);
  --hair-strong: 1px solid var(--mist-3);
  --hair-pine: 1px solid rgba(0, 63, 52, 0.08);

  --font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
  --font-ui: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-signal: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 140ms;
  --dur-base: 240ms;
  --dur-slow: 420ms;
}

html,
body {
  font-family: var(--font-ui);
  color: var(--fg-1);
  background: var(--mist);
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
.display {
  font-family: var(--font-display);
  color: var(--fg-1);
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 0;
  text-wrap: balance;
}

h1 {
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -0.035em;
}

h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

h3 {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

h4 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.015em;
}

p,
.body {
  font-size: 16px;
  line-height: 1.55;
  color: var(--fg-2);
  margin: 0;
}

.lede {
  font-size: 20px;
  line-height: 1.45;
  color: var(--fg-2);
}

.small {
  font-size: 13px;
  line-height: 1.5;
  color: var(--fg-3);
}

.micro {
  font-size: 11px;
  line-height: 1.4;
  color: var(--fg-3);
  letter-spacing: 0.02em;
}

.mono,
code,
kbd {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0;
}

.label {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--fg-3);
}

.pine {
  color: var(--pine);
}

.mint {
  color: var(--mint);
}

.on-pine {
  color: var(--on-pine-1);
}

.bg-pine {
  background: var(--pine);
  color: var(--on-pine-1);
}

.bg-mist {
  background: var(--mist);
}

.bg-mint {
  background: var(--mint);
  color: var(--pine);
}

.bg-white {
  background: var(--white);
}
