@font-face {
  font-family: Figtree;
  src: url("../fonts/figtree.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 89.6%;
}
:root {
  --font-text: Figtree, -apple-system, BlinkMacSystemFont, "SF Pro Text",
               "Segoe UI", system-ui, Roboto, "Helvetica Neue", sans-serif;
  --font-display: Figtree, -apple-system, BlinkMacSystemFont, "SF Pro Display",
                  "Segoe UI", system-ui, Roboto, sans-serif;
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;
  --type-large-title: clamp(2rem, 1.55rem + 2.1vw, 2.75rem);
  --type-title-1:     clamp(1.55rem, 1.3rem + 1.15vw, 2rem);
  --type-title-2:     clamp(1.32rem, 1.19rem + 0.6vw, 1.6rem);
  --type-title-3:     1.25rem;
  --type-headline:    1.0625rem;
  --type-body:        1.0625rem;
  --type-callout:     1rem;
  --type-subhead:     0.9375rem;
  --type-footnote:    0.8125rem;
  --type-caption:     0.75rem;
  --leading-tight: 1.15;
  --leading-snug:  1.3;
  --leading-body:  1.55;
  --track-large-title: -0.022em;
  --track-title:       -0.018em;
  --track-body:        -0.01em;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-s:   0.75rem;
  --space-m:   1rem;
  --space-l:   1.25rem;
  --space-xl:  1.5rem;
  --space-2xl: 2rem;
  --space-3xl: 2.75rem;
  --space-4xl: 4rem;
  --gutter: var(--space-m);
  --section-gap: clamp(2.5rem, 1.6rem + 4vw, 4.5rem);
  --scrim-rgb: 8 15 28;
  --plate-mix: 72%;
  --measure: 68ch;
  --content-max: 60rem;
  --radius-s:  8px;
  --radius-m:  12px;
  --radius-l:  16px;
  --radius-xl: 22px;
  --radius-pill: 999px;
  --tap-min: 44px;
  --sys-blue:   #007AFF;
  --sys-green:  #34C759;
  --sys-indigo: #5856D6;
  --sys-orange: #FF9500;
  --sys-red:    #FF3B30;
  --sys-teal:   #30B0C7;
  --sys-yellow: #FFCC00;
  --gray:   #8E8E93;
  --gray-2: #AEAEB2;
  --gray-3: #C7C7CC;
  --gray-4: #D1D1D6;
  --gray-5: #E5E5EA;
  --gray-6: #F2F2F7;
  --bg:            #FFFFFF;
  --bg-grouped:    #F2F2F7;
  --bg-elevated:   #FFFFFF;
  --bg-tertiary:   #F2F2F7;
  --label:           rgba(0, 0, 0, 0.92);
  --label-secondary: rgba(60, 60, 67, 0.78);
  --label-tertiary:  rgba(60, 60, 67, 0.32);
  --separator:       rgba(60, 60, 67, 0.22);
  --separator-opaque:#C6C6C8;
  --accent:       #0B6BCB;
  --accent-hover: #0A5CAF;
  --accent-soft:  #E8F1FC;
  --on-accent:    #FFFFFF;
  --cta:        #C2410C;
  --cta-hover:  #9A3412;
  --on-cta:     #FFFFFF;
  --cta-shadow: 0 1px 2px rgba(194, 65, 12, 0.30),
                0 6px 18px -4px rgba(194, 65, 12, 0.45);
  --star: #9A6304;
  --cta-ink: var(--cta);
  --success: #15803D;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 1px 3px rgba(0, 0, 0, 0.06), 0 6px 16px -6px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 2px 6px rgba(0, 0, 0, 0.07), 0 14px 34px -10px rgba(0, 0, 0, 0.16);
  --ease: cubic-bezier(0.32, 0.72, 0, 1);
  --dur-fast: 0.18s;
  --dur: 0.28s;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --plate-mix: 44%;
    --bg:            #000000;
    --bg-grouped:    #000000;
    --bg-elevated:   #1C1C1E;
    --bg-tertiary:   #2C2C2E;
    --label:           rgba(255, 255, 255, 0.96);
    --label-secondary: rgba(235, 235, 245, 0.62);
    --label-tertiary:  rgba(235, 235, 245, 0.32);
    --separator:       rgba(84, 84, 88, 0.60);
    --separator-opaque:#38383A;
    --sys-blue: #0A84FF;
    --accent:       #4FA3F7;
    --accent-hover: #6FB5F9;
    --accent-soft:  #16283D;
    --on-accent:    #00121F;
    --cta:       #AF470B;
    --cta-hover: #7A3208;
    --on-cta:    #FFFFFF;
    --cta-ink:   #F67023;
    --star:      #F5A524;
    --success:   #4ADE80;
    --gray-5: #2C2C2E;
    --gray-6: #1C1C1E;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 28px rgba(0, 0, 0, 0.6);
  }
}
:root[data-theme="dark"] {
    --plate-mix: 44%;
    --bg:            #000000;
    --bg-grouped:    #000000;
    --bg-elevated:   #1C1C1E;
    --bg-tertiary:   #2C2C2E;
    --label:           rgba(255, 255, 255, 0.96);
    --label-secondary: rgba(235, 235, 245, 0.62);
    --label-tertiary:  rgba(235, 235, 245, 0.32);
    --separator:       rgba(84, 84, 88, 0.60);
    --separator-opaque:#38383A;
    --sys-blue: #0A84FF;
    --accent:       #4FA3F7;
    --accent-hover: #6FB5F9;
    --accent-soft:  #16283D;
    --on-accent:    #00121F;
    --cta:       #AF470B;
    --cta-hover: #7A3208;
    --on-cta:    #FFFFFF;
    --cta-ink:   #F67023;
    --star:      #F5A524;
    --success:   #4ADE80;
    --gray-5: #2C2C2E;
    --gray-6: #1C1C1E;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 28px rgba(0, 0, 0, 0.6);
}
