/* Generated by tools/build-tokens.mjs from design/tokens.json. Do not edit by hand. */
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 200 1000; font-display: swap; src: url("assets/fonts/nunito-variable.ttf") format("truetype"); }
:root {
  color-scheme: light dark;
  --rt-sky: #CCEFFC;
  --rt-white: #FFFFFF;
  --rt-navy: #00174E;
  --rt-coral: #FF5945;
  --rt-coral-accessible: #C93627;
  --rt-cream: #FFFDF5;
  --rt-gold: #FFF0AD;
  --rt-blue: #BBDFFF;
  --rt-muted: #45608B;
  --rt-muted-strong: #304361;
  --rt-hairline: #A7CEEA;
  --rt-night-canvas: #07152E;
  --rt-night-surface: #102444;
  --rt-night-quiet: #19365A;
  --rt-night-hairline: #365579;
  --rt-night-control-border: #90B4D8;
  --rt-night-muted: #B4CCE4;
  --rt-night-brand: #1B3A7A;
  --rt-night-brand-edge: #5B7FB8;
  --rt-teal: #00676B;
  --rt-teal-tint: #DDF2F1;
  --rt-night-teal: #7FD6D2;
  --rt-night-teal-bg: #0B3536;
  --rt-mist: #E4E9F0;
  --rt-slate: #4F5B6E;
  --rt-night-mist: #1E2A3D;
  --rt-night-slate: #A9B4C6;
  --rt-color-canvas: #CCEFFC; /* Page and screen background: pale sky in light */
  --rt-color-surface: #FFFFFF; /* Cards, fields, sheets and prompts on the canvas */
  --rt-color-quiet: #BBDFFF; /* Quiet fills on surface: chips, avatars, empty-state art, selected rows */
  --rt-color-brand-field: #00174E; /* Invitations, reveals, hero cards */
  --rt-color-brand-field-border: #00174E; /* Edge of brandField so it stays distinct from the dark canvas */
  --rt-color-text: #00174E; /* Primary text */
  --rt-color-text-muted: #45608B; /* Secondary text on canvas, surface, quiet */
  --rt-color-text-accent: #00174E; /* Links, navigation and eyebrows */
  --rt-color-text-on-brand: #FFFFFF; /* Text on brandField */
  --rt-color-accent-on-brand: #FFF0AD; /* Eyebrows and details on brandField */
  --rt-color-celebration: #FFF0AD; /* Fill of the new-stories celebration banner; pair only with celebrationText */
  --rt-color-celebration-text: #00174E; /* Text and icons on celebration; fixed navy so dark mode never puts white on gold */
  --rt-color-action-primary: #FF5945; /* Primary button fill; the one coral action per state */
  --rt-color-action-primary-text: #00174E; /* Primary button label */
  --rt-color-action-primary-border: #00174E; /* Primary action boundary */
  --rt-color-action-disabled: #E4E9F0; /* Disabled action fill: neutral, never the quiet blue */
  --rt-color-action-disabled-text: #4F5B6E; /* Disabled action label */
  --rt-color-hairline: #A7CEEA; /* Decorative dividers only */
  --rt-color-control-border: #45608B; /* Borders that define interactive controls */
  --rt-color-focus: #00174E; /* Focus ring on canvas and surface */
  --rt-color-selection: #BBDFFF; /* Text selection */
  --rt-color-selected-border: #00174E; /* Selected card, chip or row boundary */
  --rt-color-selected-indicator: #FF5945; /* Selected glyph fill (checkbox, chosen date, check tile) */
  --rt-color-selected-indicator-text: #00174E; /* Checkmark or number on selectedIndicator */
  --rt-color-toast: #FFF0AD; /* Soft gold artwork accent; never body text */
  --rt-color-coral: #FF5945; /* Accent fill only; never text, never error */
  --rt-color-status-error: #B3261E; /* Error text; always with an icon or words */
  --rt-color-status-error-bg: #FDE4E1; /* Error background */
  --rt-color-status-warning: #8A4B00; /* Warning text */
  --rt-color-status-warning-bg: #FCE9D2; /* Warning background */
  --rt-color-status-success: #00676B; /* Success text: teal, off the red-green axis */
  --rt-color-status-success-bg: #DDF2F1; /* Success background */
  --rt-color-status-info: #00174E; /* In progress / processing text */
  --rt-color-status-info-bg: #BBDFFF; /* In progress background */
  --rt-color-stage-badge: #BBDFFF; /* component · Gift lifecycle badge fill */
  --rt-color-stage-badge-text: #00174E; /* component · Gift lifecycle badge label */
  --rt-color-avatar: #BBDFFF; /* component · Recipient initial tile */
  --rt-color-avatar-text: #00174E; /* component · Recipient initial */
  --rt-color-avatar-shared: #00174E; /* component · Shared gift initial tile */
  --rt-color-avatar-shared-text: #FFFFFF; /* component · Shared gift initial */
  --rt-color-media-canvas: #000000; /* component · Video stage background */
  --rt-color-media-text: #FFFFFF; /* component · Text on video scrim */
  --rt-color-media-scrim: #00174E; /* component · Base color of media scrims; use the scrim overlays for translucency */
  --rt-color-reveal-control: #FFFFFF; /* component · Light controls on the navy reveal field */
  --rt-color-reveal-control-text: #00174E; /* component · Label on light reveal controls */
  --rt-scrim: rgba(0, 23, 78, 0.45); /* Backdrop behind sheets */
  --rt-scrim-strong: rgba(0, 23, 78, 0.6); /* Picker backdrop and top media gradient */
  --rt-scrim-media: rgba(0, 23, 78, 0.75); /* Caption gradient over video */
  --rt-media-control: rgba(255, 255, 255, 0.16); /* Round controls over video */
  --rt-media-track: rgba(255, 255, 255, 0.3); /* Unplayed progress segments over video */
  --rt-state-hover: rgba(0, 23, 78, 0.06); /* Hover tint laid over secondary, quiet and row controls */
  --rt-state-pressed: rgba(0, 23, 78, 0.12); /* Pressed tint laid over secondary, quiet and row controls */
  --rt-shadow-sheet: 0 20px 60px rgba(0, 23, 78, 0.3);
  --rt-shadow-media: 0 10px 28px rgba(0, 23, 78, 0.12);
  --rt-font-display: 'Nunito', 'Arial Rounded MT Bold', ui-rounded, system-ui, sans-serif;
  --rt-font-display-settings: normal;
  --rt-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --rt-weight-regular: 400;
  --rt-weight-medium: 500;
  --rt-weight-semibold: 600;
  --rt-weight-display: 900;
  --rt-weight-heavy: 800;
  --rt-text-reveal: clamp(64px, 14vw, 140px);
  --rt-text-reveal-title: clamp(36px, 6vw, 64px);
  --rt-text-hero: clamp(40px, 7vw, 88px);
  --rt-text-section: clamp(30px, 4.2vw, 48px);
  --rt-text-display: clamp(32px, 5vw, 44px);
  --rt-text-stat: 36px;
  --rt-text-title: 30px;
  --rt-text-heading: 26px;
  --rt-text-subtitle: 20px;
  --rt-text-body-large: 18px;
  --rt-text-body: 17px;
  --rt-text-control: 16px;
  --rt-text-small: 15px;
  --rt-text-caption: 14px;
  --rt-text-eyebrow: 13px;
  --rt-text-micro: 12px;
  --rt-space-1: 4px;
  --rt-space-2: 8px;
  --rt-space-3: 12px;
  --rt-space-4: 16px;
  --rt-space-5: 20px;
  --rt-space-6: 24px;
  --rt-space-8: 32px;
  --rt-space-12: 48px;
  --rt-space-16: 64px;
  --rt-space-20: 80px;
  --rt-radius-sm: 12px;
  --rt-radius-control: 16px;
  --rt-radius-lg: 20px;
  --rt-radius-card: 24px;
  --rt-radius-pill: 999px;
  --rt-radius-mark: 22%;
  --rt-duration-quick: 160ms;
  --rt-duration-reveal: 240ms;
  --rt-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --rt-ease-exit: cubic-bezier(0.3, 0, 1, 1);
}
/* Increase Contrast, light. Placed before the dark rules, which win in a dark appearance. */
@media (prefers-contrast: more) {
  :root {
    --rt-color-text-muted: #304361;
    --rt-color-hairline: #45608B;
    --rt-color-status-error: #931F19;
    --rt-color-status-warning: #743F00;
    --rt-color-status-success: #005458;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --rt-color-canvas: #07152E;
    --rt-color-surface: #102444;
    --rt-color-quiet: #19365A;
    --rt-color-brand-field: #1B3A7A;
    --rt-color-brand-field-border: #5B7FB8;
    --rt-color-text: #FFFFFF;
    --rt-color-text-muted: #B4CCE4;
    --rt-color-text-accent: #CCEFFC;
    --rt-color-text-on-brand: #FFFFFF;
    --rt-color-accent-on-brand: #FFF0AD;
    --rt-color-celebration: #FFF0AD;
    --rt-color-celebration-text: #00174E;
    --rt-color-action-primary: #FF5945;
    --rt-color-action-primary-text: #00174E;
    --rt-color-action-primary-border: #FF5945;
    --rt-color-action-disabled: #1E2A3D;
    --rt-color-action-disabled-text: #A9B4C6;
    --rt-color-hairline: #365579;
    --rt-color-control-border: #90B4D8;
    --rt-color-focus: #CCEFFC;
    --rt-color-selection: #19365A;
    --rt-color-selected-border: #CCEFFC;
    --rt-color-selected-indicator: #FF5945;
    --rt-color-selected-indicator-text: #00174E;
    --rt-color-toast: #FFF0AD;
    --rt-color-coral: #FF5945;
    --rt-color-status-error: #FFB4AB;
    --rt-color-status-error-bg: #4A1512;
    --rt-color-status-warning: #FFC27A;
    --rt-color-status-warning-bg: #3F2600;
    --rt-color-status-success: #7FD6D2;
    --rt-color-status-success-bg: #0B3536;
    --rt-color-status-info: #CCEFFC;
    --rt-color-status-info-bg: #19365A;
    --rt-color-stage-badge: #19365A;
    --rt-color-stage-badge-text: #CCEFFC;
    --rt-color-avatar: #19365A;
    --rt-color-avatar-text: #CCEFFC;
    --rt-color-avatar-shared: #00174E;
    --rt-color-avatar-shared-text: #FFFFFF;
    --rt-color-media-canvas: #000000;
    --rt-color-media-text: #FFFFFF;
    --rt-color-media-scrim: #00174E;
    --rt-color-reveal-control: #FFFFFF;
    --rt-color-reveal-control-text: #00174E;
    --rt-scrim: rgba(0, 0, 0, 0.6);
    --rt-scrim-strong: rgba(0, 0, 0, 0.7);
    --rt-scrim-media: rgba(0, 23, 78, 0.75);
    --rt-media-control: rgba(255, 255, 255, 0.16);
    --rt-media-track: rgba(255, 255, 255, 0.3);
    --rt-state-hover: rgba(255, 255, 255, 0.08);
    --rt-state-pressed: rgba(255, 255, 255, 0.14);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --rt-color-canvas: #07152E;
  --rt-color-surface: #102444;
  --rt-color-quiet: #19365A;
  --rt-color-brand-field: #1B3A7A;
  --rt-color-brand-field-border: #5B7FB8;
  --rt-color-text: #FFFFFF;
  --rt-color-text-muted: #B4CCE4;
  --rt-color-text-accent: #CCEFFC;
  --rt-color-text-on-brand: #FFFFFF;
  --rt-color-accent-on-brand: #FFF0AD;
  --rt-color-celebration: #FFF0AD;
  --rt-color-celebration-text: #00174E;
  --rt-color-action-primary: #FF5945;
  --rt-color-action-primary-text: #00174E;
  --rt-color-action-primary-border: #FF5945;
  --rt-color-action-disabled: #1E2A3D;
  --rt-color-action-disabled-text: #A9B4C6;
  --rt-color-hairline: #365579;
  --rt-color-control-border: #90B4D8;
  --rt-color-focus: #CCEFFC;
  --rt-color-selection: #19365A;
  --rt-color-selected-border: #CCEFFC;
  --rt-color-selected-indicator: #FF5945;
  --rt-color-selected-indicator-text: #00174E;
  --rt-color-toast: #FFF0AD;
  --rt-color-coral: #FF5945;
  --rt-color-status-error: #FFB4AB;
  --rt-color-status-error-bg: #4A1512;
  --rt-color-status-warning: #FFC27A;
  --rt-color-status-warning-bg: #3F2600;
  --rt-color-status-success: #7FD6D2;
  --rt-color-status-success-bg: #0B3536;
  --rt-color-status-info: #CCEFFC;
  --rt-color-status-info-bg: #19365A;
  --rt-color-stage-badge: #19365A;
  --rt-color-stage-badge-text: #CCEFFC;
  --rt-color-avatar: #19365A;
  --rt-color-avatar-text: #CCEFFC;
  --rt-color-avatar-shared: #00174E;
  --rt-color-avatar-shared-text: #FFFFFF;
  --rt-color-media-canvas: #000000;
  --rt-color-media-text: #FFFFFF;
  --rt-color-media-scrim: #00174E;
  --rt-color-reveal-control: #FFFFFF;
  --rt-color-reveal-control-text: #00174E;
  --rt-scrim: rgba(0, 0, 0, 0.6);
  --rt-scrim-strong: rgba(0, 0, 0, 0.7);
  --rt-scrim-media: rgba(0, 23, 78, 0.75);
  --rt-media-control: rgba(255, 255, 255, 0.16);
  --rt-media-track: rgba(255, 255, 255, 0.3);
  --rt-state-hover: rgba(255, 255, 255, 0.08);
  --rt-state-pressed: rgba(255, 255, 255, 0.14);
}
/* Increase Contrast, dark. */
@media (prefers-contrast: more) and (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --rt-color-hairline: #5B7FB8;
  }
}
@media (prefers-contrast: more) {
  :root[data-theme="dark"] {
  --rt-color-hairline: #5B7FB8;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root { --rt-duration-quick: 0ms; --rt-duration-reveal: 0ms; }
}
