:root {
  color-scheme: light;
  --sw-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;

  --sw-navy-950: #051b35;
  --sw-navy-900: #07284c;
  --sw-navy-800: #0b3b68;
  --sw-navy-700: #0d4e7f;
  --sw-blue-600: #1766a3;
  --sw-teal-700: #087b82;
  --sw-teal-600: #0a9697;
  --sw-teal-500: #12aaaa;
  --sw-aqua-400: #42d2cf;
  --sw-aqua-200: #bceeed;
  --sw-sky-100: #eaf7fb;
  --sw-mint-100: #e8f7f2;
  --sw-white: #ffffff;
  --sw-surface: #ffffff;
  --sw-surface-raised: #fbfdff;
  --sw-canvas: #f7fafc;
  --sw-line: #dbe5ec;
  --sw-line-strong: #cbd8e2;
  --sw-text: #08284d;
  --sw-text-soft: #536b85;
  --sw-text-muted: #75879b;
  --sw-success: #189c88;
  --sw-fair: #9eabb7;
  --sw-sun: #f6b91b;

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

  --sw-radius-sm: 10px;
  --sw-radius-md: 14px;
  --sw-radius-lg: 18px;
  --sw-radius-xl: 22px;
  --sw-radius-pill: 999px;

  --sw-shadow-card: 0 12px 30px rgb(9 45 78 / 8%), 0 2px 6px rgb(9 45 78 / 5%);
  --sw-shadow-float: 0 18px 44px rgb(8 37 67 / 14%), 0 4px 12px rgb(8 37 67 / 7%);
  --sw-shadow-nav: 0 -8px 28px rgb(8 37 67 / 8%);

  /* Semantic aliases used by the waypoint/offline workspace. */
  --navy: var(--sw-navy-900);
  --line: var(--sw-line);
  --muted: var(--sw-text-soft);
  --teal: var(--sw-teal-500);
  --teal-dark: var(--sw-teal-700);
  --shadow-card: var(--sw-shadow-card);

  --sw-rail-width: 88px;
  --sw-topbar-height: 76px;
  --sw-bottom-nav-height: 74px;
  --sw-content-max: 1510px;
  --sw-ease: cubic-bezier(.2, .75, .25, 1);
  --sw-duration: 180ms;
  font-family: var(--sw-font);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --sw-teal-700: #43d2cc;
  --sw-teal-600: #2bc1bc;
  --sw-teal-500: #3dd5cf;
  --sw-aqua-400: #64e0db;
  --sw-aqua-200: #183f51;
  --sw-sky-100: #102f44;
  --sw-mint-100: #103a3d;
  --sw-surface: #0a2236;
  --sw-surface-raised: #0d293e;
  --sw-canvas: #041827;
  --sw-line: #244258;
  --sw-line-strong: #345269;
  --sw-text: #eef8fc;
  --sw-text-soft: #a9becc;
  --sw-text-muted: #7892a4;
  --sw-fair: #738798;
  --sw-shadow-card: 0 14px 32px rgb(0 7 17 / 28%), 0 2px 8px rgb(0 7 17 / 20%);
  --sw-shadow-float: 0 22px 52px rgb(0 6 15 / 38%), 0 5px 15px rgb(0 6 15 / 25%);
  --sw-shadow-nav: 0 -9px 30px rgb(0 8 17 / 35%);
}

html[data-theme="outside"] {
  color-scheme: light;
  --sw-navy-950: #001b35;
  --sw-navy-900: #00294d;
  --sw-navy-800: #003a68;
  --sw-teal-700: #006f71;
  --sw-teal-600: #007f80;
  --sw-teal-500: #008f90;
  --sw-aqua-400: #00c5c0;
  --sw-sky-100: #e5f8fa;
  --sw-mint-100: #e6f7ef;
  --sw-surface: #ffffff;
  --sw-surface-raised: #ffffff;
  --sw-canvas: #ffffff;
  --sw-line: #9aabb9;
  --sw-line-strong: #667f93;
  --sw-text: #001d38;
  --sw-text-soft: #304e67;
  --sw-text-muted: #536b7e;
  --sw-sun: #dc9200;
  --sw-shadow-card: 0 2px 0 rgb(0 35 66 / 12%);
  --sw-shadow-float: 0 3px 0 rgb(0 35 66 / 15%);
  --sw-shadow-nav: 0 -2px 0 rgb(0 35 66 / 16%);
  --sw-duration: 80ms;
}

*, *::before, *::after { box-sizing: border-box; }

html { min-width: 320px; background: var(--sw-canvas); }

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: var(--sw-canvas);
  color: var(--sw-text);
  overflow-x: hidden;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button { color: inherit; }

button, a { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid rgb(18 170 170 / 34%);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
