/* =============================================================
   RideTime theme
   Change a color here and it updates on every page.
   ============================================================= */

:root {
  /* Backgrounds */
  --bg: #09080d;            /* page background (near black) */
  --panel: #121019;         /* cards, forms, header */
  --panel-2: #181522;       /* slightly lighter panels */
  --chip: #1f1a2c;          /* badges and small tags */

  /* Lines */
  --border: #231f30;        /* card outlines */
  --field-border: #363049;  /* input box outlines */

  /* Text */
  --text: #f2f0f7;          /* main text */
  --soft: #d4cfe0;          /* body text */
  --muted: #9d96ad;         /* hints and labels */

  /* Brand purple */
  --accent: #a78bfa;        /* buttons, links, highlights */
  --accent-hover: #c4b5fd;
  --on-accent: #120b22;     /* text on purple buttons */
  --glow: #3b1f78;          /* purple glow behind hero */

  /* Status colors (kept green/red so they read at a glance) */
  --ok-bg: #102419;
  --ok-border: #2f7a4d;
  --ok-text: #9be6b7;
  --danger: #f4899b;
  --danger-bg: #2a1219;
  --danger-border: #7a3344;
  --notice-border: #4c3f72;

  /* Trail-sign difficulty colors (don't change these) */
  --green: #3fb950;
  --blue: #3b82f6;
  --black: #000000;

  /* Type */
  --font: "Manrope", "Segoe UI", Arial, sans-serif;
  --display: "Barlow Condensed", "Arial Narrow", "Manrope", sans-serif;

  color-scheme: dark;
}

/* ---------- Shared finish for every page ---------- */

[hidden] { display: none !important; }

body {
  font-family: var(--font) !important;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

input, select, textarea, button { font-family: inherit; }

h1, h2, h3 { letter-spacing: -0.02em; }

.logo, header h1 { font-weight: 800; letter-spacing: -0.02em; }

/* Header: dark, minimal */
header {
  background: color-mix(in srgb, var(--bg) 88%, transparent) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Pill-shaped buttons */
button,
.primary-button,
.secondary-button,
.danger-button {
  border-radius: 999px !important;
  font-weight: 700;
}

/* Softer, rounder cards */
form,
.panel,
.ride-card,
.filters,
.empty-state,
.message-box {
  border-radius: 18px !important;
}

/* Visible keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Thank-you banner at the top of the homepage */
.thanks-banner {
  padding: 10px 16px;
  background: var(--panel-2);
  border-bottom: 1px solid var(--border);
  color: var(--soft);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

.thanks-banner strong,
.thanks-banner .email {
  color: var(--accent);
  font-weight: 700;
}

.thanks-banner .email { user-select: all; overflow-wrap: anywhere; }

/* Footer links (privacy, terms) on every page */
.site-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
  padding: 28px 16px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 14px;
}

.site-footer-links a { color: var(--muted); text-decoration: none; }
.site-footer-links a:hover { color: var(--accent); }

/* "By creating an account..." line on sign-up */
.consent {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.consent a { color: var(--accent); }

/* =============================================================
   Shared site header (every page except the homepage)
   ============================================================= */
.site-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding: 16px 6%;
}

.site-header .logo {
  color: var(--accent);
  font-size: 24px;
  text-decoration: none;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.site-nav a {
  padding: 8px 14px;
  border-radius: 999px;
  color: var(--text);
  text-decoration: none;
  white-space: nowrap;
}

.site-nav a:hover { color: var(--accent); }

.site-nav a[aria-current="page"] {
  background: var(--chip);
  color: var(--accent);
}

/* =============================================================
   Phone polish
   ============================================================= */
@media (max-width: 700px) {
  /* Logo on top, menu as one swipeable row underneath */
  .site-header {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    padding: 12px 16px 8px;
  }

  /* Menu buttons in neat rows of three */
  .site-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    min-width: 0;
  }

  .site-nav a {
    padding: 10px 2px;
    background: var(--panel);
    border: 1px solid var(--border);
    font-size: clamp(12px, 3.5vw, 14px);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* iPhones zoom in on any box with text smaller than 16px */
  input, select, textarea {
    font-size: 16px !important;
  }

  /* Thumb-sized buttons */
  button,
  .primary-button,
  .secondary-button,
  .danger-button {
    min-height: 44px;
  }
}

/* =============================================================
   Rider names that link to profiles
   ============================================================= */
a.rider-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted var(--muted);
}

a.rider-link:hover { color: var(--accent); border-bottom-color: var(--accent); }

.pro-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--on-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  vertical-align: middle;
}

/* =============================================================
   Sponsors
   ============================================================= */
.sponsor-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.sponsor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 10px 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel-2);
  color: var(--text);
  font-weight: 700;
  text-decoration: none;
}

a.sponsor:hover { border-color: var(--accent); }

.sponsor img {
  display: block;
  max-height: 36px;
  max-width: 140px;
  object-fit: contain;
}

/* =============================================================
   Maps
   ============================================================= */
.leaflet-container {
  background: #0e0b16;
  font-family: var(--font);
  border-radius: 16px;
}

/* Purple teardrop pin */
.ride-pin span {
  display: block;
  width: 26px;
  height: 26px;
  margin: 2px;
  border-radius: 50% 50% 50% 0;
  background: var(--accent);
  border: 3px solid #ffffff;
  transform: rotate(-45deg);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.you-pin span {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #3b82f6;
  border: 3px solid #ffffff;
  box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.25);
}

/* Dark popups */
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: var(--panel);
  color: var(--text);
  border: 1px solid var(--border);
}

.leaflet-popup-content { margin: 14px 16px; line-height: 1.45; }
.leaflet-popup-content a { color: var(--accent); font-weight: 700; }
.leaflet-container a.leaflet-popup-close-button { color: var(--muted); }

.map-popup .popup-when { color: var(--accent); font-size: 13px; font-weight: 700; }
.map-popup .popup-title { display: block; margin: 2px 0 4px; font-size: 15px; font-weight: 800; color: var(--text); }
.map-popup .popup-meta { color: var(--muted); font-size: 13px; }
.map-popup .popup-link { display: inline-block; margin-top: 8px; }

.leaflet-control-attribution {
  background: rgba(9, 8, 13, 0.75) !important;
  color: var(--muted) !important;
}

.leaflet-control-attribution a { color: var(--soft) !important; }

.leaflet-bar a {
  background: var(--panel) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* =============================================================
   Unread messages number in the menu
   ============================================================= */
.nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--on-accent);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  vertical-align: 1px;
}

/* =============================================================
   Maps: darken the free OpenStreetMap images to match the site
   ============================================================= */
.leaflet-tile-pane {
  filter: invert(1) hue-rotate(180deg) brightness(0.95) contrast(0.9) saturate(0.6);
}

/* =============================================================
   Notification bell
   ============================================================= */
.site-header { position: relative; }
.bell {
  order: 3;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--text);
  text-decoration: none;
}
.bell:hover, .bell[aria-current="page"] { color: var(--accent); background: var(--chip); }
.bell .bell-badge { position: absolute; top: 2px; right: 0; margin: 0; }
@media (max-width: 700px) {
  .bell { position: absolute; top: 8px; right: 12px; }
}
@media (min-width: 701px) {
  .site-header .site-nav { margin-left: auto; }
  .site-header .bell { margin-left: -12px; }
}

/* =============================================================
   Line icons (instead of emoji). Use: <span class="i i-pin"></span>
   ============================================================= */
.i {
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  flex-shrink: 0;
  vertical-align: -0.17em;
  background: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}
.i-pin      { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.i-repeat   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 2l3 3-3 3'/%3E%3Cpath d='M4 11V9a4 4 0 0 1 4-4h12'/%3E%3Cpath d='M7 22l-3-3 3-3'/%3E%3Cpath d='M20 13v2a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E"); }
.i-camera   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8a2 2 0 0 1 2-2h2l2-2h6l2 2h2a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E"); }
.i-lock     { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.i-list     { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3.5 6h.01M3.5 12h.01M3.5 18h.01'/%3E%3C/svg%3E"); }
.i-map      { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4L3 6v14l6-2 6 2 6-2V4l-6 2z'/%3E%3Cpath d='M9 4v14M15 6v14'/%3E%3C/svg%3E"); }
.i-calendar { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.i-users    { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18 14a6.5 6.5 0 0 1 3.5 6'/%3E%3C/svg%3E"); }
.i-pencil   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='M13.5 6.5l4 4'/%3E%3C/svg%3E"); }
.i-bike     { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5.5' cy='16.5' r='3.5'/%3E%3Ccircle cx='18.5' cy='16.5' r='3.5'/%3E%3Cpath d='M5.5 16.5l4-8h6l3 8M9.5 8.5L12 16.5h1.5M14 5h2.5'/%3E%3C/svg%3E"); }
.i-mountain { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20l7-12 4 6 3-4 6 10z'/%3E%3C/svg%3E"); }
.i-clock    { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.i-phone    { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.i-globe    { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E"); }
.i-flag     { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4M5 4h11l-2 4 2 4H5'/%3E%3C/svg%3E"); }
.i-store    { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v10h16V10M3 10l2-6h14l2 6zM9 20v-6h6v6'/%3E%3C/svg%3E"); }
.i-search   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E"); }
.i-locate   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Ccircle cx='12' cy='12' r='2' fill='black'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3'/%3E%3C/svg%3E"); }

/* =============================================================
   Trail-map contour lines (default covers and banners)
   ============================================================= */
:root {
  --topo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 300' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='%23a78bfa' stroke-opacity='0.16' stroke-width='1.2'%3E%3Cpath d='M183.6 250.0 L184.5 251.8 L184.1 253.6 L182.3 255.2 L179.7 256.5 L176.7 257.5 L173.7 258.2 L171.3 259.0 L169.5 259.8 L168.1 260.9 L166.9 262.1 L165.5 263.3 L163.8 264.3 L161.6 265.0 L159.3 265.3 L156.8 265.2 L154.4 265.0 L152.2 264.8 L150.0 264.8 L147.8 265.0 L145.5 265.4 L143.0 265.7 L140.3 266.0 L137.6 265.9 L135.0 265.6 L132.4 265.1 L130.0 264.3 L127.6 263.4 L125.4 262.4 L123.4 261.2 L121.9 259.7 L121.1 258.1 L121.2 256.3 L122.2 254.5 L123.9 252.8 L125.9 251.3 L127.6 250.0 L128.7 248.9 L128.9 247.8 L128.2 246.5 L127.1 245.0 L125.9 243.3 L125.2 241.4 L125.4 239.7 L126.6 238.2 L128.5 237.1 L130.9 236.3 L133.4 235.8 L135.8 235.2 L138.0 234.5 L140.1 233.7 L142.3 232.8 L144.7 231.9 L147.3 231.3 L150.0 231.2 L152.7 231.5 L155.2 232.3 L157.5 233.3 L159.5 234.4 L161.3 235.5 L163.0 236.5 L164.5 237.6 L166.0 238.6 L167.2 239.7 L168.3 240.8 L169.3 241.9 L170.4 242.9 L171.8 243.9 L173.8 244.8 L176.3 245.8 L179.0 246.9 L181.7 248.3 L183.6 250.0Z'/%3E%3Cpath d='M218.1 250.0 L219.1 253.6 L217.4 257.1 L213.3 260.2 L207.7 262.6 L201.7 264.5 L196.1 266.0 L191.8 267.5 L188.6 269.4 L186.2 271.7 L184.0 274.3 L181.2 276.8 L177.7 278.8 L173.3 280.0 L168.5 280.4 L163.5 280.2 L158.7 279.7 L154.3 279.4 L150.0 279.5 L145.6 280.1 L140.9 281.1 L135.7 282.0 L130.2 282.6 L124.6 282.6 L119.2 282.0 L114.1 280.8 L109.3 279.1 L104.8 277.1 L100.8 274.8 L97.3 272.1 L94.8 269.1 L93.7 265.7 L94.3 262.2 L96.5 258.6 L99.8 255.3 L103.3 252.5 L106.1 250.0 L107.5 247.8 L107.1 245.5 L105.1 242.8 L102.5 239.6 L100.1 236.1 L99.1 232.4 L100.0 229.0 L102.8 226.2 L107.0 224.2 L112.0 222.8 L117.0 221.7 L121.7 220.6 L126.0 219.1 L130.1 217.3 L134.5 215.3 L139.3 213.5 L144.5 212.4 L150.0 212.3 L155.4 213.2 L160.3 214.9 L164.7 217.1 L168.5 219.5 L172.0 221.7 L175.2 223.8 L178.3 225.8 L181.3 227.7 L184.0 229.6 L186.5 231.6 L189.0 233.6 L191.8 235.5 L195.3 237.3 L199.6 239.2 L204.7 241.2 L210.1 243.6 L214.9 246.6 L218.1 250.0Z'/%3E%3Cpath d='M252.9 250.0 L253.0 255.4 L249.4 260.5 L242.6 264.9 L233.9 268.3 L225.1 271.0 L217.4 273.4 L211.6 275.9 L207.6 279.0 L204.5 282.7 L201.4 286.7 L197.2 290.5 L191.7 293.4 L185.0 295.0 L177.5 295.4 L170.0 294.9 L163.0 294.1 L156.4 293.8 L150.0 294.3 L143.4 295.6 L136.1 297.3 L128.1 299.1 L119.6 300.1 L111.0 300.2 L102.7 299.1 L95.1 297.0 L88.2 294.2 L82.0 290.8 L76.5 287.0 L72.1 282.7 L69.2 278.0 L68.3 272.9 L69.6 267.6 L72.8 262.4 L77.3 257.7 L81.8 253.6 L84.9 250.0 L85.7 246.6 L83.9 243.0 L80.3 238.8 L76.1 233.9 L72.8 228.4 L71.9 223.0 L74.0 218.1 L78.9 214.2 L85.7 211.4 L93.4 209.5 L100.9 207.9 L107.7 206.1 L114.0 203.6 L120.1 200.7 L126.6 197.5 L133.8 194.9 L141.7 193.4 L150.0 193.5 L158.0 195.2 L165.3 198.1 L171.6 201.7 L177.1 205.4 L182.0 208.8 L186.7 211.8 L191.5 214.5 L196.2 217.0 L200.8 219.5 L205.2 222.2 L209.7 224.9 L214.7 227.6 L220.5 230.3 L227.4 233.1 L235.1 236.3 L242.8 240.2 L249.1 244.8 L252.9 250.0Z'/%3E%3Cpath d='M287.2 250.0 L285.8 257.1 L279.7 263.7 L270.0 269.3 L258.5 273.7 L247.3 277.2 L238.0 280.5 L231.3 284.1 L226.8 288.6 L223.2 293.9 L219.1 299.4 L213.5 304.4 L205.8 308.0 L196.5 309.8 L186.4 310.0 L176.4 309.2 L167.1 308.3 L158.5 308.1 L150.0 309.3 L141.0 311.6 L131.1 314.4 L120.1 317.0 L108.4 318.6 L96.7 318.5 L85.7 316.8 L75.8 313.6 L67.1 309.3 L59.5 304.3 L53.2 298.7 L48.3 292.7 L45.3 286.3 L44.7 279.5 L46.7 272.6 L50.8 265.9 L56.0 259.9 L60.6 254.7 L63.2 250.0 L62.7 245.4 L59.1 240.4 L53.6 234.5 L48.0 227.7 L44.2 220.4 L44.0 213.3 L47.8 207.1 L55.2 202.3 L64.8 198.9 L75.1 196.5 L85.0 194.3 L93.8 191.6 L101.8 188.0 L109.8 183.7 L118.5 179.4 L128.2 175.9 L139.0 174.3 L150.0 174.9 L160.5 177.7 L170.0 182.1 L178.0 187.2 L185.0 192.3 L191.4 196.7 L197.7 200.4 L204.3 203.5 L211.1 206.3 L217.9 209.2 L224.8 212.3 L231.8 215.6 L239.3 219.1 L247.7 222.7 L257.2 226.6 L267.2 231.2 L276.6 236.6 L283.8 243.0 L287.2 250.0Z'/%3E%3Cpath d='M320.4 250.0 L317.0 258.8 L308.2 266.7 L295.5 273.4 L281.5 278.7 L268.4 283.1 L258.1 287.5 L251.0 292.4 L246.3 298.5 L242.3 305.4 L237.3 312.4 L229.8 318.4 L219.8 322.5 L207.8 324.4 L195.0 324.3 L182.7 323.1 L171.2 322.2 L160.6 322.6 L150.0 324.7 L138.6 328.3 L125.8 332.5 L111.6 336.1 L96.6 338.0 L81.9 337.6 L68.3 334.9 L56.4 330.2 L46.3 324.1 L37.9 317.2 L31.2 309.8 L26.2 302.0 L23.3 293.9 L23.1 285.5 L25.5 277.2 L30.0 269.3 L35.1 262.2 L39.1 255.8 L40.4 250.0 L38.1 244.1 L32.4 237.6 L25.1 229.9 L18.4 221.3 L14.7 212.1 L15.6 203.5 L21.7 196.1 L31.8 190.5 L44.3 186.6 L57.3 183.7 L69.2 180.8 L79.8 177.0 L89.5 172.1 L99.3 166.4 L110.2 160.9 L122.6 156.8 L136.2 155.3 L150.0 156.7 L163.0 161.0 L174.4 167.1 L184.0 173.8 L192.4 180.1 L200.2 185.4 L208.3 189.4 L217.0 192.6 L226.3 195.4 L235.9 198.4 L245.7 201.8 L255.5 205.7 L265.8 209.9 L276.9 214.5 L288.6 219.7 L300.4 225.8 L310.9 233.0 L318.1 241.2 L320.4 250.0Z'/%3E%3Cpath d='M352.2 250.0 L346.4 260.3 L334.8 269.5 L319.5 277.2 L303.3 283.5 L289.0 288.9 L278.3 294.4 L271.2 300.9 L266.4 308.6 L262.0 317.2 L255.6 325.5 L246.2 332.4 L233.6 336.9 L218.8 338.5 L203.4 338.1 L188.8 336.8 L175.3 336.2 L162.7 337.4 L150.0 340.9 L136.0 346.1 L120.1 351.7 L102.6 356.2 L84.3 358.3 L66.7 357.2 L50.8 353.1 L37.3 346.6 L26.3 338.4 L17.6 329.5 L10.7 320.1 L5.8 310.6 L3.2 300.9 L3.1 291.1 L5.5 281.6 L9.7 272.6 L14.1 264.4 L16.8 257.0 L16.2 250.0 L11.7 242.7 L3.9 234.5 L-5.1 225.1 L-12.4 214.5 L-15.5 203.7 L-12.7 193.6 L-4.1 185.3 L9.1 179.0 L24.4 174.6 L39.7 171.1 L53.5 167.3 L65.6 162.3 L76.8 155.8 L88.5 148.6 L101.8 142.1 L117.0 137.6 L133.5 136.6 L150.0 139.3 L165.3 145.3 L178.4 153.2 L189.5 161.5 L199.2 168.8 L208.7 174.5 L218.8 178.5 L230.0 181.4 L242.3 184.0 L255.2 186.9 L268.1 190.5 L281.1 194.9 L294.2 200.1 L307.6 205.9 L321.2 212.6 L334.2 220.4 L345.0 229.4 L351.5 239.4 L352.2 250.0Z'/%3E%3Cpath d='M382.2 250.0 L373.8 261.7 L359.5 272.2 L342.0 280.9 L324.4 288.1 L309.4 294.6 L298.7 301.5 L291.9 309.6 L287.2 319.1 L282.0 329.2 L274.2 338.8 L262.4 346.3 L247.0 350.9 L229.5 352.3 L211.6 351.5 L194.8 350.3 L179.5 350.3 L165.0 352.9 L150.0 358.1 L133.2 365.1 L114.1 372.2 L93.1 377.4 L71.6 379.3 L51.2 377.1 L33.4 371.1 L18.9 362.3 L7.5 351.9 L-1.2 340.7 L-7.8 329.5 L-12.6 318.3 L-15.3 307.3 L-15.7 296.4 L-13.9 285.8 L-10.7 275.8 L-7.7 266.7 L-6.9 258.2 L-9.8 250.0 L-16.7 241.2 L-26.5 231.3 L-36.7 220.0 L-44.0 207.6 L-45.9 195.2 L-40.8 183.9 L-29.3 174.7 L-13.1 167.9 L4.8 162.9 L22.2 158.6 L37.6 153.7 L51.0 147.2 L63.8 139.1 L77.5 130.5 L93.3 123.1 L111.4 118.7 L130.8 118.6 L150.0 122.9 L167.4 130.8 L182.1 140.6 L194.5 150.3 L205.6 158.3 L216.9 163.9 L229.4 167.5 L243.7 169.7 L259.5 171.7 L276.0 174.4 L292.4 178.3 L308.5 183.4 L324.2 189.7 L339.6 197.0 L354.5 205.3 L368.0 215.0 L378.3 225.8 L383.6 237.7 L382.2 250.0Z'/%3E%3Cpath d='M410.2 250.0 L399.3 263.1 L382.8 274.6 L363.5 284.3 L345.0 292.6 L330.0 300.4 L319.6 308.8 L313.2 318.6 L308.4 329.8 L302.4 341.4 L292.7 352.0 L278.4 360.0 L260.1 364.4 L239.8 365.6 L219.6 364.7 L200.8 363.8 L183.8 364.9 L167.4 369.2 L150.0 376.5 L130.2 385.5 L107.7 394.0 L83.2 399.6 L58.6 400.7 L35.8 396.9 L16.6 388.6 L1.5 377.2 L-9.8 364.2 L-18.2 350.9 L-24.6 337.9 L-29.4 325.4 L-32.5 313.2 L-33.8 301.4 L-33.3 290.0 L-31.8 279.2 L-30.9 269.1 L-32.5 259.6 L-37.8 250.0 L-47.0 239.7 L-58.4 227.9 L-69.2 214.8 L-76.0 200.7 L-76.0 186.8 L-68.3 174.4 L-53.8 164.4 L-34.8 157.0 L-14.4 151.4 L4.7 146.1 L21.4 139.8 L36.1 131.7 L50.5 122.0 L66.4 112.1 L84.9 104.2 L106.0 100.2 L128.3 101.4 L150.0 107.7 L169.3 117.7 L185.5 129.2 L199.2 139.9 L211.8 148.1 L225.2 153.3 L240.6 155.8 L258.5 157.0 L278.2 158.3 L298.6 160.8 L318.6 165.1 L337.6 171.2 L355.5 178.8 L372.2 187.8 L387.7 198.1 L401.0 209.7 L410.3 222.5 L413.8 236.2 L410.2 250.0Z'/%3E%3Cpath d='M552.7 40.0 L551.1 41.9 L549.1 43.6 L547.1 45.1 L545.2 46.4 L543.9 47.8 L543.0 49.3 L542.4 51.0 L541.8 52.8 L540.8 54.5 L539.1 56.0 L536.9 56.9 L534.4 57.4 L531.7 57.5 L529.1 57.6 L526.8 57.8 L524.7 58.6 L522.5 59.8 L520.0 61.4 L517.1 63.0 L513.9 64.2 L510.5 64.7 L507.4 64.3 L504.7 63.0 L502.6 61.1 L501.2 58.8 L500.2 56.5 L499.5 54.4 L498.8 52.5 L498.1 50.8 L497.3 49.2 L496.6 47.6 L495.9 46.1 L495.3 44.6 L494.7 43.1 L493.8 41.6 L492.7 40.0 L491.4 38.2 L490.1 36.3 L489.1 34.2 L488.8 32.1 L489.5 30.0 L491.0 28.3 L493.3 26.9 L495.8 25.8 L498.3 24.8 L500.6 23.8 L502.5 22.5 L504.4 21.0 L506.3 19.5 L508.6 18.1 L511.3 17.3 L514.3 17.2 L517.2 18.0 L520.0 19.4 L522.4 21.2 L524.3 22.9 L526.1 24.1 L527.9 24.8 L530.0 24.9 L532.6 24.7 L535.6 24.4 L538.8 24.3 L541.9 24.7 L544.8 25.5 L547.2 26.7 L549.2 28.2 L550.9 29.9 L552.3 31.8 L553.3 33.8 L553.8 35.8 L553.6 37.9 L552.7 40.0Z'/%3E%3Cpath d='M583.4 40.0 L580.4 43.7 L576.9 47.0 L573.3 50.0 L570.2 52.8 L568.0 55.7 L566.5 58.8 L565.4 62.2 L563.9 65.8 L561.6 69.1 L558.1 71.8 L553.5 73.5 L548.4 74.4 L543.1 74.7 L538.3 75.2 L533.9 76.2 L529.6 78.3 L525.2 81.3 L520.0 84.7 L514.0 87.9 L507.4 89.9 L500.8 90.2 L494.7 88.6 L489.8 85.3 L486.3 80.8 L484.0 76.0 L482.4 71.4 L481.0 67.3 L479.5 63.8 L477.6 60.8 L475.4 58.0 L473.3 55.2 L471.3 52.4 L469.5 49.5 L467.7 46.5 L465.7 43.3 L463.4 40.0 L460.9 36.4 L458.7 32.4 L457.3 28.2 L457.4 24.1 L459.2 20.2 L462.6 16.8 L467.1 14.1 L472.0 11.8 L476.7 9.7 L480.9 7.4 L484.7 4.7 L488.4 1.6 L492.4 -1.4 L497.2 -3.8 L502.8 -4.9 L508.8 -4.4 L514.7 -2.4 L520.0 0.7 L524.5 4.2 L528.3 7.2 L531.8 9.1 L535.8 9.6 L540.6 9.1 L546.3 8.1 L552.8 7.2 L559.5 7.0 L565.9 7.9 L571.4 9.8 L575.9 12.6 L579.4 16.0 L582.0 19.7 L584.1 23.7 L585.4 27.7 L585.9 31.9 L585.2 36.0 L583.4 40.0Z'/%3E%3Cpath d='M612.3 40.0 L608.5 45.4 L603.8 50.3 L599.2 54.9 L595.3 59.2 L592.5 63.7 L590.5 68.5 L588.7 73.7 L586.2 78.9 L582.2 83.6 L576.6 87.3 L569.7 89.7 L562.1 91.1 L554.6 92.0 L547.7 93.3 L541.3 95.7 L535.0 99.6 L528.1 104.6 L520.0 109.9 L510.7 114.3 L500.7 116.4 L491.0 115.7 L482.5 112.0 L476.0 106.0 L471.6 98.7 L468.7 91.3 L466.6 84.5 L464.4 78.9 L461.5 74.4 L457.8 70.5 L453.5 66.9 L449.2 63.1 L445.3 59.0 L441.8 54.7 L438.7 50.0 L435.6 45.2 L432.3 40.0 L429.1 34.4 L426.5 28.5 L425.3 22.2 L426.2 16.1 L429.3 10.4 L434.6 5.5 L441.2 1.4 L448.3 -2.1 L454.9 -5.5 L460.9 -9.3 L466.5 -13.5 L472.1 -18.0 L478.6 -22.2 L486.1 -25.1 L494.7 -26.0 L503.8 -24.5 L512.4 -20.9 L520.0 -16.1 L526.4 -11.3 L532.0 -7.7 L537.6 -6.0 L544.1 -6.4 L552.1 -8.2 L561.6 -10.4 L572.0 -11.9 L582.3 -12.0 L591.7 -10.2 L599.4 -6.6 L605.2 -1.8 L609.4 3.9 L612.3 9.9 L614.4 15.9 L615.7 22.1 L616.0 28.2 L614.9 34.2 L612.3 40.0Z'/%3E%3Cpath d='M640.3 40.0 L635.9 47.1 L630.6 53.6 L625.3 59.7 L620.8 65.7 L617.4 71.8 L614.7 78.3 L612.0 85.1 L608.2 91.8 L602.5 97.8 L594.9 102.4 L585.7 105.7 L575.9 107.8 L566.5 109.7 L557.7 112.5 L549.4 116.8 L540.9 122.9 L531.2 130.0 L520.0 136.8 L507.3 141.6 L494.1 143.0 L481.6 140.3 L471.2 133.9 L463.6 124.7 L458.6 114.4 L455.4 104.6 L452.6 96.2 L449.0 89.7 L444.0 84.6 L437.6 80.4 L430.5 76.2 L423.5 71.5 L417.3 66.2 L412.2 60.2 L407.9 53.8 L404.0 47.1 L400.3 40.0 L396.8 32.5 L394.2 24.5 L393.5 16.3 L395.2 8.2 L399.9 0.8 L406.9 -5.7 L415.4 -11.3 L424.3 -16.2 L432.8 -21.0 L440.6 -26.3 L448.0 -31.9 L455.9 -37.7 L465.0 -42.5 L475.6 -45.4 L487.3 -45.5 L499.2 -42.6 L510.3 -37.4 L520.0 -31.2 L528.2 -25.8 L535.7 -22.5 L543.7 -21.9 L553.3 -24.0 L565.0 -27.6 L578.6 -31.1 L593.0 -33.0 L606.9 -32.5 L618.7 -29.1 L627.9 -23.4 L634.2 -16.0 L638.3 -7.8 L641.0 0.5 L642.8 8.7 L644.0 16.7 L644.2 24.7 L643.1 32.5 L640.3 40.0Z'/%3E%3Cpath d='M667.8 40.0 L663.3 48.8 L657.6 57.0 L651.7 64.7 L646.6 72.2 L642.4 80.0 L639.0 88.1 L635.1 96.4 L629.9 104.6 L622.5 111.7 L612.9 117.5 L601.8 121.8 L590.2 125.1 L579.0 128.5 L568.4 133.2 L558.2 139.7 L547.2 148.0 L534.6 156.9 L520.0 164.6 L503.9 169.0 L487.6 168.7 L472.8 163.2 L461.1 153.4 L452.8 140.9 L447.5 127.9 L443.8 116.2 L439.8 106.9 L434.1 100.2 L426.0 95.2 L416.2 90.9 L405.5 86.3 L395.6 80.6 L387.2 73.8 L380.7 66.1 L375.7 57.8 L371.6 49.1 L367.8 40.0 L364.5 30.5 L362.2 20.5 L361.9 10.4 L364.6 0.4 L370.5 -8.8 L379.1 -16.9 L389.4 -24.0 L400.1 -30.4 L410.4 -36.7 L420.1 -43.4 L429.7 -50.3 L440.2 -56.8 L452.2 -61.8 L465.8 -64.2 L480.5 -63.1 L495.1 -58.8 L508.5 -52.3 L520.0 -45.4 L530.0 -40.2 L539.7 -38.1 L550.5 -39.6 L563.7 -44.0 L579.6 -49.4 L597.5 -54.0 L615.9 -55.8 L632.6 -53.9 L646.2 -48.3 L655.9 -39.8 L661.9 -29.5 L665.3 -18.7 L667.5 -8.1 L669.1 2.0 L670.5 11.8 L671.2 21.3 L670.5 30.8 L667.8 40.0Z'/%3E%3Cpath d='M695.6 40.0 L691.1 50.5 L685.0 60.4 L678.4 69.7 L672.4 78.8 L667.3 88.1 L662.8 97.7 L657.9 107.6 L651.3 117.1 L642.4 125.6 L631.1 132.7 L618.4 138.4 L605.2 143.3 L592.5 148.8 L580.2 155.7 L567.7 164.6 L554.0 174.9 L538.1 185.0 L520.0 192.6 L500.6 195.5 L481.6 192.5 L465.0 183.6 L452.3 170.1 L443.7 154.5 L438.1 139.3 L433.4 126.6 L427.4 117.3 L418.6 111.0 L406.7 106.6 L392.6 102.4 L378.2 97.3 L365.4 90.5 L355.2 82.0 L347.9 72.3 L342.9 61.9 L339.0 51.1 L335.6 40.0 L332.5 28.5 L330.5 16.6 L330.7 4.5 L334.1 -7.4 L341.1 -18.4 L351.1 -28.3 L363.0 -37.0 L375.5 -44.9 L387.8 -52.5 L399.7 -60.3 L411.9 -68.1 L425.2 -74.9 L440.3 -79.6 L457.0 -81.1 L474.5 -78.8 L491.5 -73.3 L506.7 -66.1 L520.0 -59.4 L531.9 -55.5 L544.1 -55.6 L558.2 -59.8 L575.5 -66.7 L595.9 -73.9 L618.1 -78.9 L639.9 -79.8 L658.8 -75.8 L673.1 -67.2 L682.4 -55.4 L687.5 -42.1 L690.0 -28.7 L691.6 -16.0 L693.5 -4.2 L695.7 7.1 L697.4 18.1 L697.7 29.1 L695.6 40.0Z'/%3E%3Cpath d='M377.6 170.0 L377.0 171.2 L376.2 172.3 L375.5 173.3 L374.8 174.3 L374.4 175.4 L374.1 176.5 L373.9 177.8 L373.5 179.1 L373.0 180.4 L372.1 181.6 L371.1 182.7 L369.8 183.6 L368.5 184.6 L367.0 185.4 L365.4 186.2 L363.7 186.6 L361.8 186.7 L360.0 186.4 L358.3 185.5 L356.9 184.2 L355.8 182.7 L354.9 181.3 L354.1 180.2 L353.2 179.5 L351.9 179.2 L350.3 179.2 L348.4 179.3 L346.5 179.1 L344.7 178.6 L343.3 177.7 L342.4 176.6 L342.1 175.2 L342.0 173.9 L342.0 172.5 L341.9 171.3 L341.6 170.0 L341.1 168.7 L340.8 167.3 L340.7 165.9 L341.0 164.5 L341.8 163.2 L343.0 162.1 L344.4 161.3 L346.0 160.6 L347.5 160.0 L349.0 159.5 L350.4 159.1 L351.8 158.7 L353.3 158.5 L354.7 158.4 L356.1 158.3 L357.4 158.3 L358.7 158.1 L360.0 157.6 L361.4 156.8 L363.1 155.8 L365.1 154.9 L367.2 154.2 L369.3 154.1 L371.2 154.5 L372.6 155.6 L373.5 157.2 L373.9 158.9 L374.0 160.6 L374.2 162.1 L374.5 163.3 L375.1 164.4 L375.9 165.4 L376.8 166.4 L377.4 167.5 L377.7 168.8 L377.6 170.0Z'/%3E%3Cpath d='M394.9 170.0 L393.5 172.3 L391.8 174.5 L390.3 176.5 L389.3 178.5 L388.9 180.8 L388.8 183.3 L388.7 186.1 L388.3 189.0 L387.2 191.8 L385.5 194.3 L383.2 196.5 L380.4 198.3 L377.4 199.9 L374.2 201.1 L370.7 202.0 L367.1 202.3 L363.5 201.9 L360.0 200.6 L356.9 198.6 L354.2 196.1 L352.1 193.6 L350.2 191.5 L348.3 190.0 L346.0 189.4 L343.0 189.5 L339.3 189.8 L335.2 189.8 L331.3 189.2 L328.1 187.9 L325.9 185.8 L324.7 183.2 L324.4 180.4 L324.4 177.6 L324.4 175.0 L323.9 172.5 L322.9 170.0 L321.8 167.3 L320.9 164.5 L320.8 161.6 L321.7 158.8 L323.7 156.4 L326.5 154.5 L329.7 153.1 L333.1 151.9 L336.3 151.0 L339.2 150.2 L341.9 149.3 L344.4 148.4 L347.0 147.7 L349.5 147.0 L352.1 146.3 L354.6 145.6 L357.2 144.5 L360.0 143.0 L363.1 141.3 L366.7 139.4 L370.7 138.0 L374.9 137.3 L378.8 137.8 L382.0 139.5 L384.3 142.3 L385.6 145.6 L386.2 149.1 L386.5 152.2 L387.1 154.8 L388.2 157.0 L390.0 158.8 L392.0 160.7 L394.0 162.7 L395.3 165.0 L395.6 167.5 L394.9 170.0Z'/%3E%3Cpath d='M411.5 170.0 L409.1 173.4 L406.6 176.6 L404.9 179.6 L404.1 182.8 L404.3 186.5 L404.9 190.7 L405.2 195.3 L404.7 200.0 L402.9 204.4 L400.0 208.1 L396.0 211.1 L391.3 213.3 L386.2 214.9 L380.9 215.9 L375.5 216.3 L370.1 216.0 L364.9 214.8 L360.0 212.7 L355.6 209.9 L351.9 206.7 L348.7 203.9 L345.5 201.8 L342.1 200.7 L337.8 200.7 L332.6 201.3 L326.7 201.7 L320.6 201.5 L315.2 200.1 L311.0 197.4 L308.5 193.8 L307.5 189.6 L307.4 185.3 L307.4 181.3 L306.8 177.5 L305.5 173.8 L303.5 170.0 L301.5 165.9 L300.3 161.6 L300.5 157.3 L302.6 153.3 L306.4 150.0 L311.4 147.5 L316.8 145.8 L322.0 144.5 L326.6 143.3 L330.5 141.9 L334.0 140.3 L337.3 138.5 L340.5 136.6 L343.9 134.7 L347.6 132.9 L351.4 130.9 L355.5 128.7 L360.0 126.3 L365.1 123.8 L370.7 121.6 L376.6 120.4 L382.5 120.6 L387.7 122.4 L391.8 125.9 L394.6 130.5 L396.1 135.5 L397.0 140.4 L397.9 144.5 L399.5 147.9 L402.1 150.6 L405.4 153.1 L408.9 155.8 L411.7 158.9 L413.2 162.5 L413.1 166.3 L411.5 170.0Z'/%3E%3C/g%3E%3C/svg%3E");
  --topo-bg: var(--topo) center / cover no-repeat, linear-gradient(160deg, #1a1524 0%, #0e0c14 100%);
}

/* =============================================================
   Headings: condensed, like trailhead signs
   ============================================================= */
h1, h2, .logo, .site-header .logo {
  font-family: var(--display) !important;
  font-weight: 700;
  letter-spacing: 0.005em;
}
h1 { line-height: 1.02; }
h2 { line-height: 1.1; }
.logo, .site-header .logo { font-size: 28px; letter-spacing: 0.01em; }
