/* Simplified theme styles - automatic color detection based on background */

/* Theme-aware text colors */
.theme-text-primary {
  color: var(--theme-text-primary, #1F2937) !important;
}

.theme-text-secondary {
  color: var(--theme-text-secondary, #6B7280) !important;
}

/* Page container uses theme colors for all child text by default */
.page-container {
  background-color: var(--theme-background, #FFFFFF);
  color: var(--theme-text-primary, #1F2937);
  font-family: var(--theme-font-family, "Inter", sans-serif);
  /* Own stacking context so the immersive atmosphere can sit at z-index:-1
     (behind content, above the page fill) without us having to promote every
     content child to position:relative — that promotion used to clobber fixed
     overlays (the theme drawer) and drop them into page flow. isolation/relative
     do NOT create a containing block for position:fixed, so overlays still
     anchor to the viewport. */
  position: relative;
  isolation: isolate;
}

.page-container h1,
.page-container h2,
.page-container h3,
.page-container h4,
.page-container h5,
.page-container h6 {
  color: var(--theme-text-primary, #1F2937);
}

.page-container p,
.page-container span:not(.preserve-color),
.page-container label:not(.preserve-color) {
  color: var(--theme-text-primary, #1F2937);
}

/* The Add / Edit Detail panel is a neutral light surface. Reset the themed
   colour variables on it so a dark page theme doesn't turn its labels and the
   Save/Add button white-on-white. The accent stays inherited for highlights. */
.detail-modal-surface {
  --theme-text-primary: #111827;
  --theme-text-secondary: #6B7280;
  --theme-background: #FFFFFF;
  --theme-surface: #FFFFFF;
  --theme-border: #E5E7EB;
  color: #111827;
}

/* Detail cards use theme surface color for subtle contrast */
.detail-card {
  background-color: var(--theme-surface, transparent);
  border-color: transparent;
  color: var(--theme-text-primary, #1F2937);
  border-radius: var(--theme-card-radius, var(--theme-button-radius, 10px));
  transition: all 0.2s ease;
}

/* Hover is a tint only — no scale, no lift. Cards must never change size or
   move under the cursor (they push the page around and read as jittery). */
.detail-card.detail-card-clickable:hover {
  background-color: var(--theme-surface-hover, rgba(0, 0, 0, 0.03));
}

/* Outline card shape variant */
.detail-card.detail-card-outline {
  background-color: transparent;
  border: 1.5px solid var(--theme-border, #E5E7EB);
}

.detail-card.detail-card-outline.detail-card-clickable:hover {
  background-color: var(--theme-surface-hover, rgba(0, 0, 0, 0.03));
  border-color: var(--theme-text-secondary, #6B7280);
}

/* Simple link centered layout */
.detail-card.detail-card-simple-link {
  text-align: center;
}

/* Social icon tiles keep a fixed compact radius regardless of the page card
   shape — they must never inherit a pill/oval radius from --theme-card-radius. */
.page-container .detail-card.social-tile {
  border-radius: 16px;
}

.detail-card h3,
.detail-card h4,
.detail-card p {
  color: var(--theme-text-primary, #1F2937);
}

/* Detail card secondary text (descriptions, URLs) */
.detail-card .detail-secondary-text {
  color: var(--theme-text-secondary, #6B7280);
}

/* Bottom sheets use theme background color to match page */
.theme-sheet {
  background-color: var(--theme-background, #FFFFFF);
  color: var(--theme-text-primary, #1F2937);
}

/* Floating theme drawer — same translucent glass language as the toolbar pill,
   tinted by the page theme so it still previews on-theme. The header is a touch
   more opaque so the tabs stay legible over content scrolling beneath it. */
.theme-sheet.theme-sheet-floating {
  background-color: color-mix(in srgb, var(--theme-background, #FFFFFF) 82%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}
.theme-sheet-header {
  background-color: color-mix(in srgb, var(--theme-background, #FFFFFF) 92%, transparent);
  color: var(--theme-text-primary, #1F2937);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.theme-sheet h2,
.theme-sheet h3,
.theme-sheet label,
.theme-sheet p {
  color: var(--theme-text-primary, #1F2937);
}

.theme-sheet .border-gray-200,
.theme-sheet .border-gray-100 {
  border-color: var(--theme-border, #E5E7EB) !important;
}

.theme-sheet input,
.theme-sheet textarea,
.theme-sheet select {
  background-color: var(--theme-surface, #F8FAFC) !important;
  color: var(--theme-text-primary, #1F2937) !important;
  border-color: var(--theme-border, #E5E7EB) !important;
}

.theme-sheet input::placeholder,
.theme-sheet textarea::placeholder {
  color: var(--theme-text-secondary, #6B7280) !important;
}

.theme-sheet button:hover {
  background-color: var(--theme-surface, #F3F4F6);
}

/* Add detail button - stands out with dashed border and centered icon */
.add-detail-button {
  background-color: var(--theme-surface, #F8FAFC);
  border-color: var(--theme-border, #E5E7EB);
  color: var(--theme-text-primary, #1F2937);
  border-radius: var(--theme-button-radius, 8px);
}

.add-detail-button:hover {
  background-color: var(--theme-surface-hover, rgba(0, 0, 0, 0.03));
}

/* Social icon row - theme-aware hover backgrounds */
.page-container .social-icon-link {
  transition: all 0.2s ease;
}

.page-container.theme-dark .social-icon-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.page-container.theme-light .social-icon-link:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

/* Context menu / dropdown for dark themes */
.page-container.theme-dark .theme-dropdown {
  background-color: var(--theme-surface, #2D2D3F);
  border-color: var(--theme-border, #374151);
}

.page-container.theme-dark .theme-dropdown button,
.page-container.theme-dark .theme-dropdown a {
  color: var(--theme-text-primary, #E5E5E5);
}

.page-container.theme-dark .theme-dropdown button:hover,
.page-container.theme-dark .theme-dropdown a:hover {
  background-color: rgba(255, 255, 255, 0.08);
}

.page-container.theme-light .theme-dropdown {
  background-color: #FFFFFF;
  border-color: #E5E7EB;
}

/* Section headers */
.page-container .section-header-text {
  color: var(--theme-text-secondary, #6B7280);
}

/* View counter */
.page-container .view-counter {
  color: var(--theme-text-secondary, #6B7280);
}

/* Edit mode labels */
.page-container .edit-label {
  color: var(--theme-text-secondary, #6B7280);
}

/* Footer theme integration */
.page-container .theme-footer {
  border-color: var(--theme-border, #E5E7EB);
}

.page-container .theme-footer p {
  color: var(--theme-text-secondary, #6B7280);
}

.page-container.theme-dark .theme-footer img {
  filter: invert(1);
}

/* Smooth transitions for theme changes - applied to specific elements for better performance */
.theme-transition,
.page-container,
.detail-card,
button,
a,
input,
textarea,
select {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Form Controls - Scoped to page-container for theme integration */
.page-container input[type="text"],
.page-container input[type="email"],
.page-container input[type="password"],
.page-container input[type="url"],
.page-container input[type="tel"],
.page-container input[type="number"],
.page-container input[type="search"],
.page-container input[type="date"],
.page-container input[type="time"],
.page-container input[type="datetime-local"],
.page-container textarea,
.page-container select:not(.text-transparent) {
  background-color: var(--theme-surface, #ffffff) !important;
  color: var(--theme-text-primary, #374151) !important;
  border-color: var(--theme-border, #d1d5db) !important;
}

/* Allow text-transparent selects to remain transparent */
.page-container select.text-transparent {
  color: transparent !important;
}

/* Focus states - scoped to page-container, using theme accent */
.page-container input:focus,
.page-container textarea:focus,
.page-container select:not(.text-transparent):focus {
  border-color: var(--theme-accent, #52A8FF) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent, #52A8FF) 15%, transparent) !important;
  outline: none;
}

/* Specific overrides for common form classes */
.page-container .form-input,
.page-container .form-textarea,
.page-container .form-select {
  background-color: var(--theme-surface, #ffffff) !important;
  color: var(--theme-text-primary, #374151) !important;
  border-color: var(--theme-border, #d1d5db) !important;
}

.page-container .form-input:focus,
.page-container .form-textarea:focus,
.page-container .form-select:focus {
  border-color: var(--theme-accent, #52A8FF) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent, #52A8FF) 15%, transparent) !important;
}

/* Layout selector buttons - theme aware */
.page-container .layout-btn {
  border-color: var(--theme-border, #E5E7EB);
  color: var(--theme-text-secondary, #9CA3AF);
}

.page-container .layout-btn:hover {
  border-color: var(--theme-border-light, #D1D5DB);
}

.page-container .layout-btn.layout-btn-active {
  border-color: var(--theme-accent, #52A8FF);
  color: var(--theme-accent, #52A8FF);
}

/* Error banners stay consistent regardless of theme */
.page-container .error-banner {
  background-color: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
}

/* Section dashed borders for dark themes */
.page-container.theme-dark .section-container {
  border-color: var(--theme-border, #374151);
}

/* Edit mode action buttons (grip, menu, etc.) */
.page-container .edit-action-btn {
  color: var(--theme-text-secondary, #9CA3AF);
}

.page-container .edit-action-btn:hover {
  color: var(--theme-text-primary, #1F2937);
  background-color: rgba(128, 128, 128, 0.1);
}

/* Custom scrollbar to match theme */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--theme-surface, #F8FAFC);
}

::-webkit-scrollbar-thumb {
  background: var(--theme-border, #D1D5DB);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--theme-border-light, #9CA3AF);
}

/* Theme-aware card border radius */
.page-container .detail-card {
  border-radius: var(--theme-card-radius, var(--theme-button-radius, 0.5rem));
}

.page-container .add-detail-button {
  border-radius: var(--theme-button-radius, 0.5rem);
}

/* Hero layout - featured first item gets larger styling */
.hero-featured-item .detail-card {
  padding: 2rem;
}

.hero-featured-item .detail-card h3 {
  font-size: 1.25rem;
}

.hero-featured-item .detail-card img {
  max-height: 400px;
  object-fit: cover;
}

.hero-featured-item .detail-card iframe {
  min-height: 300px;
}

/* ── Mobile touch target improvements ── */

/* On touch devices (coarse pointer), enlarge edit controls for easier tapping */
@media (pointer: coarse) {
  /* Drag handle: wider touch target */
  .detail-card [title="Drag to reorder"] {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    opacity: 0.4;
  }

  /* …but the compact social/icon tiles can't fit a 44px handle next to the edit
     button without colliding with the centred icon, so keep their controls small. */
  .detail-card.social-tile [title="Drag to reorder"] {
    min-width: 28px;
    min-height: 28px;
    width: 28px;
    height: 28px;
  }

  /* 3-dot context menu button: larger touch target */
  .detail-card [title="More options"] {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    opacity: 0.6;
  }

  /* Context menu items: taller rows for easier tapping */
  .theme-dropdown button,
  .theme-dropdown a {
    min-height: 44px;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
}

/* ── Flowline shared-utility protection ──
   The element-scoped input rules above use !important (so themed pages don't get
   white-on-white fields). When a field opts into the shared .form-input-soft /
   .focus-ring-accent polish, those !important rules would otherwise stomp its
   soft radius + accent focus glow. Re-assert the soft treatment at higher
   specificity (class + container) so the premium states win without weakening
   the existing themed-input behaviour for non-opted fields. */
.theme-sheet input.form-input-soft,
.theme-sheet textarea.form-input-soft,
.theme-sheet select.form-input-soft,
.detail-modal-surface input.form-input-soft,
.detail-modal-surface textarea.form-input-soft,
.detail-modal-surface select.form-input-soft,
.page-container input.form-input-soft,
.page-container textarea.form-input-soft,
.page-container select.form-input-soft,
input.form-input-soft,
textarea.form-input-soft,
select.form-input-soft {
  border-radius: 12px !important;
}

.theme-sheet input.form-input-soft:focus,
.theme-sheet textarea.form-input-soft:focus,
.theme-sheet select.form-input-soft:focus,
.detail-modal-surface input.form-input-soft:focus,
.detail-modal-surface textarea.form-input-soft:focus,
.detail-modal-surface select.form-input-soft:focus,
.page-container input.form-input-soft:focus,
.page-container textarea.form-input-soft:focus,
.page-container select.form-input-soft:not(.text-transparent):focus,
input.form-input-soft:focus,
textarea.form-input-soft:focus,
select.form-input-soft:focus {
  border-color: var(--theme-accent, #52A8FF) !important;
  box-shadow:
    0 0 0 2px var(--theme-accent, #52A8FF),
    0 0 0 6px color-mix(in srgb, var(--theme-accent, #52A8FF) 18%, transparent) !important;
  outline: none !important;
}

.theme-sheet .focus-ring-accent:focus-visible,
.detail-modal-surface .focus-ring-accent:focus-visible,
.page-container .focus-ring-accent:focus-visible {
  outline: 2px solid var(--theme-accent, #52A8FF) !important;
  outline-offset: 2px !important;
}

/* ── Swipeable detail styles ── */
.swipeable-detail-wrapper {
  /* Prevent text selection during swipe */
  -webkit-user-select: none;
  user-select: none;
}

/* Keyboard focus outline for navigated details */
.swipeable-detail-wrapper.ring-2 {
  outline: none;
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */
  tab-size: 4; /* 3 */
  font-family: Poppins, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-2\.5 {
  top: -0.625rem;
}
.-top-3 {
  top: -0.75rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-full {
  bottom: 100%;
}
.end-2 {
  inset-inline-end: 0.5rem;
}
.left-0 {
  left: 0px;
}
.left-0\.5 {
  left: 0.125rem;
}
.left-1 {
  left: 0.25rem;
}
.left-1\/2 {
  left: 50%;
}
.left-2 {
  left: 0.5rem;
}
.left-3 {
  left: 0.75rem;
}
.left-3\.5 {
  left: 0.875rem;
}
.left-4 {
  left: 1rem;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-2 {
  right: 0.5rem;
}
.right-2\.5 {
  right: 0.625rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.start-2 {
  inset-inline-start: 0.5rem;
}
.top-0 {
  top: 0px;
}
.top-0\.5 {
  top: 0.125rem;
}
.top-1 {
  top: 0.25rem;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[69\] {
  z-index: 69;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[80\] {
  z-index: 80;
}
.z-\[9999\] {
  z-index: 9999;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.-mx-0\.5 {
  margin-left: -0.125rem;
  margin-right: -0.125rem;
}
.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}
.-my-0\.5 {
  margin-top: -0.125rem;
  margin-bottom: -0.125rem;
}
.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}
.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.\!me-1 {
  margin-inline-end: 0.25rem !important;
}
.\!me-1\.5 {
  margin-inline-end: 0.375rem !important;
}
.\!ms-auto {
  margin-inline-start: auto !important;
}
.-mb-px {
  margin-bottom: -1px;
}
.-ml-1\.5 {
  margin-left: -0.375rem;
}
.-mr-1 {
  margin-right: -0.25rem;
}
.-mr-1\.5 {
  margin-right: -0.375rem;
}
.-mt-0\.5 {
  margin-top: -0.125rem;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-14 {
  margin-bottom: 3.5rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-7 {
  margin-bottom: 1.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-6 {
  margin-left: 1.5rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.ms-0\.5 {
  margin-inline-start: 0.125rem;
}
.ms-2 {
  margin-inline-start: 0.5rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-px {
  margin-top: 1px;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.\!inline {
  display: inline !important;
}
.inline {
  display: inline;
}
.\!flex {
  display: flex !important;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.size-3 {
  width: 0.75rem;
  height: 0.75rem;
}
.size-3\.5 {
  width: 0.875rem;
  height: 0.875rem;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}
.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}
.size-8 {
  width: 2rem;
  height: 2rem;
}
.\!h-2\.5 {
  height: 0.625rem !important;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[20px\] {
  height: 20px;
}
.h-\[22px\] {
  height: 22px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[52px\] {
  height: 52px;
}
.h-\[600px\] {
  height: 600px;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.max-h-0 {
  max-height: 0px;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-72 {
  max-height: 18rem;
}
.max-h-\[55vh\] {
  max-height: 55vh;
}
.max-h-\[600px\] {
  max-height: 600px;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[72vh\] {
  max-height: 72vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[88vh\] {
  max-height: 88vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[calc\(90vh-72px\)\] {
  max-height: calc(90vh - 72px);
}
.min-h-\[1px\] {
  min-height: 1px;
}
.min-h-\[2\.5rem\] {
  min-height: 2.5rem;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-screen {
  min-height: 100vh;
}
.\!w-2\.5 {
  width: 0.625rem !important;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-44 {
  width: 11rem;
}
.w-5 {
  width: 1.25rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-60 {
  width: 15rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[20px\] {
  width: 20px;
}
.w-\[22px\] {
  width: 22px;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[400px\] {
  width: 400px;
}
.w-\[52px\] {
  width: 52px;
}
.w-\[600px\] {
  width: 600px;
}
.w-\[80\%\] {
  width: 80%;
}
.w-\[calc\(100\%-32px\)\] {
  width: calc(100% - 32px);
}
.w-auto {
  width: auto;
}
.w-fit {
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-24 {
  min-width: 6rem;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[28px\] {
  min-width: 28px;
}
.min-w-full {
  min-width: 100%;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[210px\] {
  max-width: 210px;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[40vw\] {
  max-width: 40vw;
}
.max-w-\[80\%\] {
  max-width: 80%;
}
.max-w-\[90vw\] {
  max-width: 90vw;
}
.max-w-\[calc\(100vw-2rem\)\] {
  max-width: calc(100vw - 2rem);
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.grow {
  flex-grow: 1;
}
.basis-full {
  flex-basis: 100%;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-2 {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-3\.5 {
  --tw-translate-x: 0.875rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-6 {
  --tw-translate-x: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2 {
  --tw-translate-y: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes fade-in {

  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
.animate-fade-in {
  animation: fade-in 0.2s ease-out;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes slide-in-right {

  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(0);
  }
}
.animate-slide-in-right {
  animation: slide-in-right 0.25s ease-out;
}
@keyframes slide-out-right {

  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(100%);
  }
}
.animate-slide-out-right {
  animation: slide-out-right 0.2s ease-in forwards;
}
@keyframes slide-up {

  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(0);
  }
}
.animate-slide-up {
  animation: slide-up 0.3s ease-out;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-crosshair {
  cursor: crosshair;
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-text {
  cursor: text;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize {
  resize: both;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start {
  scroll-snap-align: start;
}
.list-inside {
  list-style-position: inside;
}
.list-disc {
  list-style-type: disc;
}
.appearance-none {
  appearance: none;
}
.grid-flow-row-dense {
  grid-auto-flow: row dense;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-\[1fr_auto\] {
  grid-template-columns: 1fr auto;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.place-items-center {
  place-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.\!justify-between {
  justify-content: space-between !important;
}
.justify-between {
  justify-content: space-between;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[2px\] {
  gap: 2px;
}
.gap-x-1 {
  column-gap: 0.25rem;
}
.gap-x-2 {
  column-gap: 0.5rem;
}
.gap-x-3 {
  column-gap: 0.75rem;
}
.gap-x-5 {
  column-gap: 1.25rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.-space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}
.divide-white\/\[0\.06\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.06);
}
.divide-white\/\[0\.08\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.08);
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-nowrap {
  text-wrap: nowrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-r-lg {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.rounded-t-lg {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.rounded-t-md {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.rounded-t-none {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-solid {
  border-style: solid;
}
.border-dashed {
  border-style: dashed;
}
.\!border-gray-200 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)) !important;
}
.border-accent-base {
  --tw-border-opacity: 1;
  border-color: rgb(255 218 185 / var(--tw-border-opacity, 1));
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-300\/40 {
  border-color: rgb(252 211 77 / 0.4);
}
.border-amber-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.border-black\/10 {
  border-color: rgb(0 0 0 / 0.1);
}
.border-black\/5 {
  border-color: rgb(0 0 0 / 0.05);
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-current {
  border-color: currentColor;
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-200\/70 {
  border-color: rgb(229 231 235 / 0.7);
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-400 {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}
.border-gray-700 {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-neutral-700 {
  --tw-border-opacity: 1;
  border-color: rgb(64 64 64 / var(--tw-border-opacity, 1));
}
.border-neutral-gray-darker {
  --tw-border-opacity: 1;
  border-color: rgb(192 192 192 / var(--tw-border-opacity, 1));
}
.border-primary-base {
  --tw-border-opacity: 1;
  border-color: rgb(162 210 255 / var(--tw-border-opacity, 1));
}
.border-primary-darkest {
  --tw-border-opacity: 1;
  border-color: rgb(82 168 255 / var(--tw-border-opacity, 1));
}
.border-primary-darkest\/15 {
  border-color: rgb(82 168 255 / 0.15);
}
.border-primary-darkest\/20 {
  border-color: rgb(82 168 255 / 0.2);
}
.border-primary-darkest\/30 {
  border-color: rgb(82 168 255 / 0.3);
}
.border-primary-darkest\/40 {
  border-color: rgb(82 168 255 / 0.4);
}
.border-primary-lighter {
  --tw-border-opacity: 1;
  border-color: rgb(196 224 255 / var(--tw-border-opacity, 1));
}
.border-purple-200 {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-600 {
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-800 {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.border-sky-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 242 254 / var(--tw-border-opacity, 1));
}
.border-slate-900\/5 {
  border-color: rgb(15 23 42 / 0.05);
}
.border-stone-300 {
  --tw-border-opacity: 1;
  border-color: rgb(214 211 209 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/\[0\.04\] {
  border-color: rgb(255 255 255 / 0.04);
}
.border-white\/\[0\.06\] {
  border-color: rgb(255 255 255 / 0.06);
}
.border-white\/\[0\.08\] {
  border-color: rgb(255 255 255 / 0.08);
}
.border-white\/\[0\.12\] {
  border-color: rgb(255 255 255 / 0.12);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-l-red-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-l-red-600 {
  --tw-border-opacity: 1;
  border-left-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.border-t-primary-base {
  --tw-border-opacity: 1;
  border-top-color: rgb(162 210 255 / var(--tw-border-opacity, 1));
}
.border-t-sky-500 {
  --tw-border-opacity: 1;
  border-top-color: rgb(14 165 233 / var(--tw-border-opacity, 1));
}
.border-t-transparent {
  border-top-color: transparent;
}
.\!bg-white {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
}
.bg-\[\#171717\] {
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2d2d42\] {
  --tw-bg-opacity: 1;
  background-color: rgb(45 45 66 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7FBFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 251 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f2f7fd\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 247 253 / var(--tw-bg-opacity, 1));
}
.bg-\[var\(--flh-accent\2c \#3D95E8\)\] {
  background-color: var(--flh-accent,#3D95E8);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/5 {
  background-color: rgb(0 0 0 / 0.05);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/\[0\.04\] {
  background-color: rgb(0 0 0 / 0.04);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-current {
  background-color: currentColor;
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/\[0\.04\] {
  background-color: rgb(16 185 129 / 0.04);
}
.bg-emerald-900\/40 {
  background-color: rgb(6 78 59 / 0.4);
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-200\/70 {
  background-color: rgb(229 231 235 / 0.7);
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-500\/10 {
  background-color: rgb(107 114 128 / 0.1);
}
.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-gray-900\/50 {
  background-color: rgb(17 24 39 / 0.5);
}
.bg-gray-900\/60 {
  background-color: rgb(17 24 39 / 0.6);
}
.bg-gray-900\/70 {
  background-color: rgb(17 24 39 / 0.7);
}
.bg-gray-900\/75 {
  background-color: rgb(17 24 39 / 0.75);
}
.bg-gray-900\/80 {
  background-color: rgb(17 24 39 / 0.8);
}
.bg-gray-900\/90 {
  background-color: rgb(17 24 39 / 0.9);
}
.bg-gray-900\/95 {
  background-color: rgb(17 24 39 / 0.95);
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/15 {
  background-color: rgb(34 197 94 / 0.15);
}
.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-inherit {
  background-color: inherit;
}
.bg-neutral-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}
.bg-neutral-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-pink-500\/10 {
  background-color: rgb(236 72 153 / 0.1);
}
.bg-primary-base {
  --tw-bg-opacity: 1;
  background-color: rgb(162 210 255 / var(--tw-bg-opacity, 1));
}
.bg-primary-base\/\[0\.18\] {
  background-color: rgb(162 210 255 / 0.18);
}
.bg-primary-darker\/10 {
  background-color: rgb(122 191 255 / 0.1);
}
.bg-primary-darkest {
  --tw-bg-opacity: 1;
  background-color: rgb(82 168 255 / var(--tw-bg-opacity, 1));
}
.bg-primary-darkest\/20 {
  background-color: rgb(82 168 255 / 0.2);
}
.bg-primary-darkest\/5 {
  background-color: rgb(82 168 255 / 0.05);
}
.bg-primary-darkest\/60 {
  background-color: rgb(82 168 255 / 0.6);
}
.bg-primary-darkest\/\[0\.03\] {
  background-color: rgb(82 168 255 / 0.03);
}
.bg-primary-darkest\/\[0\.06\] {
  background-color: rgb(82 168 255 / 0.06);
}
.bg-primary-lighter {
  --tw-bg-opacity: 1;
  background-color: rgb(196 224 255 / var(--tw-bg-opacity, 1));
}
.bg-primary-lightest {
  --tw-bg-opacity: 1;
  background-color: rgb(230 243 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/60 {
  background-color: rgb(254 242 242 / 0.6);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}
.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-red-900\/20 {
  background-color: rgb(127 29 29 / 0.2);
}
.bg-red-900\/40 {
  background-color: rgb(127 29 29 / 0.4);
}
.bg-red-950\/20 {
  background-color: rgb(69 10 10 / 0.2);
}
.bg-red-950\/50 {
  background-color: rgb(69 10 10 / 0.5);
}
.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-sky-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}
.bg-sky-500\/10 {
  background-color: rgb(14 165 233 / 0.1);
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/55 {
  background-color: rgb(15 23 42 / 0.55);
}
.bg-stone-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 244 / var(--tw-bg-opacity, 1));
}
.bg-stone-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(231 229 228 / var(--tw-bg-opacity, 1));
}
.bg-stone-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-violet-500\/10 {
  background-color: rgb(139 92 246 / 0.1);
}
.bg-violet-900\/40 {
  background-color: rgb(76 29 149 / 0.4);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/85 {
  background-color: rgb(255 255 255 / 0.85);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-white\/\[0\.02\] {
  background-color: rgb(255 255 255 / 0.02);
}
.bg-white\/\[0\.03\] {
  background-color: rgb(255 255 255 / 0.03);
}
.bg-white\/\[0\.04\] {
  background-color: rgb(255 255 255 / 0.04);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.bg-white\/\[0\.07\] {
  background-color: rgb(255 255 255 / 0.07);
}
.bg-white\/\[0\.08\] {
  background-color: rgb(255 255 255 / 0.08);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/10 {
  background-color: rgb(234 179 8 / 0.1);
}
.bg-opacity-0 {
  --tw-bg-opacity: 0;
}
.bg-opacity-75 {
  --tw-bg-opacity: 0.75;
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-amber-50 {
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-50\/30 {
  --tw-gradient-from: rgb(255 251 235 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-50 {
  --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-base {
  --tw-gradient-from: #A2D2FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(162 210 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-base\/\[0\.06\] {
  --tw-gradient-from: rgb(162 210 255 / 0.06) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(162 210 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-darker {
  --tw-gradient-from: #7ABFFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(122 191 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-darkest {
  --tw-gradient-from: #52A8FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(82 168 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-lightest {
  --tw-gradient-from: #E6F3FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(230 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-gray-100 {
  --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position);
}
.to-orange-50 {
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-primary-base {
  --tw-gradient-to: #A2D2FF var(--tw-gradient-to-position);
}
.to-primary-darkest {
  --tw-gradient-to: #52A8FF var(--tw-gradient-to-position);
}
.to-primary-lighter\/40 {
  --tw-gradient-to: rgb(196 224 255 / 0.4) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.fill-black {
  fill: #000;
}
.fill-gray-200 {
  fill: #e5e7eb;
}
.object-cover {
  object-fit: cover;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.\!py-0\.5 {
  padding-top: 0.125rem !important;
  padding-bottom: 0.125rem !important;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-9 {
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-28 {
  padding-top: 7rem;
  padding-bottom: 7rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-7 {
  padding-bottom: 1.75rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 0px\)\+0\.75rem\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,0px) + 0.75rem);
}
.pe-6 {
  padding-inline-end: 1.5rem;
}
.pl-0\.5 {
  padding-left: 0.125rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-12 {
  padding-left: 3rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-3\.5 {
  padding-left: 0.875rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-1\.5 {
  padding-right: 0.375rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-3\.5 {
  padding-right: 0.875rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-3\.5 {
  padding-top: 0.875rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-start {
  text-align: start;
}
.text-end {
  text-align: end;
}
.align-middle {
  vertical-align: middle;
}
.align-bottom {
  vertical-align: bottom;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.\!text-sm {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.\!font-medium {
  font-weight: 500 !important;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-\[1\.1\] {
  line-height: 1.1;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-accent-base {
  --tw-text-opacity: 1;
  color: rgb(255 218 185 / var(--tw-text-opacity, 1));
}
.text-accent-darker {
  --tw-text-opacity: 1;
  color: rgb(255 197 156 / var(--tw-text-opacity, 1));
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-fuchsia-600 {
  --tw-text-opacity: 1;
  color: rgb(192 38 211 / var(--tw-text-opacity, 1));
}
.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-500\/40 {
  color: rgb(107 114 128 / 0.4);
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-indigo-500 {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}
.text-inherit {
  color: inherit;
}
.text-neutral-200 {
  --tw-text-opacity: 1;
  color: rgb(229 229 229 / var(--tw-text-opacity, 1));
}
.text-neutral-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 212 / var(--tw-text-opacity, 1));
}
.text-neutral-400 {
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-neutral-500 {
  --tw-text-opacity: 1;
  color: rgb(115 115 115 / var(--tw-text-opacity, 1));
}
.text-neutral-800 {
  --tw-text-opacity: 1;
  color: rgb(38 38 38 / var(--tw-text-opacity, 1));
}
.text-neutral-gray-base {
  --tw-text-opacity: 1;
  color: rgb(224 224 224 / var(--tw-text-opacity, 1));
}
.text-neutral-gray-darker {
  --tw-text-opacity: 1;
  color: rgb(192 192 192 / var(--tw-text-opacity, 1));
}
.text-neutral-gray-darkest {
  --tw-text-opacity: 1;
  color: rgb(160 160 160 / var(--tw-text-opacity, 1));
}
.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-pink-400 {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.text-pink-500 {
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-primary-base {
  --tw-text-opacity: 1;
  color: rgb(162 210 255 / var(--tw-text-opacity, 1));
}
.text-primary-darker {
  --tw-text-opacity: 1;
  color: rgb(122 191 255 / var(--tw-text-opacity, 1));
}
.text-primary-darkest {
  --tw-text-opacity: 1;
  color: rgb(82 168 255 / var(--tw-text-opacity, 1));
}
.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-600\/80 {
  color: rgb(220 38 38 / 0.8);
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-sky-400 {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.text-sky-500 {
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-stone-600 {
  --tw-text-opacity: 1;
  color: rgb(87 83 78 / var(--tw-text-opacity, 1));
}
.text-stone-700 {
  --tw-text-opacity: 1;
  color: rgb(68 64 60 / var(--tw-text-opacity, 1));
}
.text-stone-900 {
  --tw-text-opacity: 1;
  color: rgb(28 25 23 / var(--tw-text-opacity, 1));
}
.text-text-primary {
  --tw-text-opacity: 1;
  color: rgb(85 85 85 / var(--tw-text-opacity, 1));
}
.text-text-secondary {
  --tw-text-opacity: 1;
  color: rgb(119 119 119 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-violet-300 {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.no-underline {
  text-decoration-line: none;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-white\/30::placeholder {
  color: rgb(255 255 255 / 0.3);
}
.accent-purple-600 {
  accent-color: #9333ea;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.12\] {
  opacity: 0.12;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.6\)\2c 0_10px_26px_-16px_rgba\(61\2c 149\2c 232\2c 0\.5\)\] {
  --tw-shadow: inset 0 1px 0 rgba(255,255,255,0.6),0 10px 26px -16px rgba(61,149,232,0.5);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 10px 26px -16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-black\/10 {
  --tw-shadow-color: rgb(0 0 0 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-black\/20 {
  --tw-shadow-color: rgb(0 0 0 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-900\/10 {
  --tw-shadow-color: rgb(17 24 39 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-900\/20 {
  --tw-shadow-color: rgb(17 24 39 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-900\/10 {
  --tw-shadow-color: rgb(15 23 42 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-900\/15 {
  --tw-shadow-color: rgb(15 23 42 / 0.15);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-900\/30 {
  --tw-shadow-color: rgb(15 23 42 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.\!ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-emerald-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}
.ring-emerald-500\/20 {
  --tw-ring-color: rgb(16 185 129 / 0.2);
}
.ring-gray-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
}
.ring-gray-900\/5 {
  --tw-ring-color: rgb(17 24 39 / 0.05);
}
.ring-primary-base\/40 {
  --tw-ring-color: rgb(162 210 255 / 0.4);
}
.ring-primary-base\/50 {
  --tw-ring-color: rgb(162 210 255 / 0.5);
}
.ring-primary-darkest {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(82 168 255 / var(--tw-ring-opacity, 1));
}
.ring-primary-darkest\/20 {
  --tw-ring-color: rgb(82 168 255 / 0.2);
}
.ring-primary-darkest\/30 {
  --tw-ring-color: rgb(82 168 255 / 0.3);
}
.ring-primary-lighter {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(196 224 255 / var(--tw-ring-opacity, 1));
}
.ring-purple-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(233 213 255 / var(--tw-ring-opacity, 1));
}
.ring-purple-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}
.ring-slate-900\/5 {
  --tw-ring-color: rgb(15 23 42 / 0.05);
}
.ring-stone-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(214 211 209 / var(--tw-ring-opacity, 1));
}
.ring-violet-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity, 1));
}
.ring-violet-500\/20 {
  --tw-ring-color: rgb(139 92 246 / 0.2);
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/10 {
  --tw-ring-color: rgb(255 255 255 / 0.1);
}
.ring-white\/\[0\.12\] {
  --tw-ring-color: rgb(255 255 255 / 0.12);
}
.ring-offset-1 {
  --tw-ring-offset-width: 1px;
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[128px\] {
  --tw-blur: blur(128px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-sm {
  --tw-blur: blur(4px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[height\2c max-height\2c border-radius\] {
  transition-property: height,max-height,border-radius;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.will-change-transform {
  will-change: transform;
}

/* Import custom theme styles */

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ──────────────────────────────────────────────────────────────────────────
   Floating editor toolbar geometry
   Single source of truth shared by Toolbar.js (which positions the pill) and
   the page container (which must reserve enough room below its last element —
   the Add detail / Add section buttons — so the pill never covers them).
   ────────────────────────────────────────────────────────────────────────── */
:root {
    /* Height of the pill: 2 x 6px padding + 36px tallest control (Save). */
    --editor-toolbar-height: 48px;
    /* Gap between the pill and the bottom of the (safe) viewport. */
    --editor-toolbar-offset: 18px;
    /* Distance from the bottom of the viewport to the top of the pill,
       including the iOS home-indicator inset. */
    --editor-toolbar-inset: calc(
        var(--editor-toolbar-height) + var(--editor-toolbar-offset) + env(safe-area-inset-bottom, 0px)
    );
    /* What scrollable editor content must clear: the pill plus breathing room. */
    --editor-toolbar-clearance: calc(var(--editor-toolbar-inset) + 1.5rem);
}

/* Applied to the page container only while the floating toolbar is rendered
   (owner/editor view). Public pages get no dead space. */
.has-editor-toolbar {
    padding-bottom: var(--editor-toolbar-clearance);
}

/* ──────────────────────────────────────────────────────────────────────────
   Shared premium-polish utilities ("Flowline")
   Light/dark-safe via --theme-* vars. Animated affordances are wrapped in
   prefers-reduced-motion: no-preference so they stay calm when asked.
   ────────────────────────────────────────────────────────────────────────── */

/* Eyebrow label: Poppins, uppercase, wide tracking, short accent rule. */
.ey-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-family: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--theme-text-secondary, #6B7280);
}
.ey-eyebrow::before {
    content: '';
    width: 1.75rem;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg,
        var(--theme-accent, #52A8FF),
        color-mix(in srgb, var(--theme-accent, #52A8FF) 35%, transparent));
    flex: none;
}

/* Accent gradient-clipped heading text. */
.accent-gradient-text {
    background: linear-gradient(120deg,
        var(--theme-accent, #52A8FF) 0%,
        color-mix(in srgb, var(--theme-accent, #52A8FF) 72%, #78C2CE) 55%,
        color-mix(in srgb, var(--theme-accent, #52A8FF) 88%, #A78BFA) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Soft translucent panel surface with layered depth. */
.form-surface {
    border-radius: 16px;
    background: color-mix(in srgb, var(--theme-card, var(--theme-surface, #FFFFFF)) 88%, transparent);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid var(--theme-card-border, rgba(0, 0, 0, 0.06));
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 12px 30px -18px rgba(15, 23, 42, 0.22);
}

/* Soft rounded input with tasteful hover lift and accent focus glow. */
.form-input-soft {
    border-radius: 12px;
    border: 1px solid var(--theme-border, #E5E7EB);
    background: var(--theme-surface, #FFFFFF);
    transition: border-color 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
                transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.form-input-soft:hover {
    border-color: color-mix(in srgb, var(--theme-accent, #52A8FF) 40%, var(--theme-border, #E5E7EB));
    box-shadow: 0 4px 12px -8px rgba(15, 23, 42, 0.25);
}
.form-input-soft:focus,
.form-input-soft:focus-visible {
    outline: none;
    border-color: var(--theme-accent, #52A8FF);
    box-shadow:
        0 0 0 2px var(--theme-accent, #52A8FF),
        0 0 0 6px color-mix(in srgb, var(--theme-accent, #52A8FF) 18%, transparent);
}

/* iOS focus-zoom guard (app-wide). Mobile Safari zooms toward any focused
   text field whose font-size is < 16px and does NOT zoom back out, leaving the
   page partially scaled and horizontally scrollable. Render every text input at
   >= 16px on touch devices so focusing one never triggers the zoom — across the
   editor, theme drawer, auth, search, page fields, everywhere. Desktop keeps the
   smaller, denser type. Non-text controls (checkbox/radio/range/color) are
   excluded since font-size doesn't affect them. */
@media (pointer: coarse) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    textarea,
    select {
        font-size: 16px !important;
    }
}

/* Keyboard focus ring helper. */
.focus-ring-accent:focus-visible {
    outline: 2px solid var(--theme-accent, #52A8FF);
    outline-offset: 2px;
    border-radius: inherit;
}

/* Primary accent button: gradient fill, glow, hover lift, press squash. */
.btn-accent-lift {
    background: linear-gradient(120deg,
        var(--theme-accent, #52A8FF) 0%,
        color-mix(in srgb, var(--theme-accent, #52A8FF) 78%, #78C2CE) 100%);
    color: #FFFFFF;
    border: none;
    box-shadow: 0 6px 18px -6px color-mix(in srgb, var(--theme-accent, #52A8FF) 65%, transparent);
    transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
                opacity 0.2s ease;
}
/* No lift on hover — nothing in the UI changes size or position on hover
   (see the hover rules documented below). Depth only. */
.btn-accent-lift:hover {
    box-shadow: 0 10px 24px -6px color-mix(in srgb, var(--theme-accent, #52A8FF) 70%, transparent);
}
.btn-accent-lift:active {
    transform: scale(0.98);
}
.btn-accent-lift:disabled,
.btn-accent-lift[disabled],
.btn-accent-lift[aria-disabled="true"] {
    opacity: 0.4;
    box-shadow: none;
    transform: none;
    cursor: not-allowed;
}

/* Pro/upsell callout card. */
.upsell-card {
    border: 1px solid #FCD34D;
    border-left-width: 2px;
    border-left-color: #F59E0B;
    background: rgba(255, 251, 235, 0.4);
    color: #92400E;
    border-radius: 14px;
}

/* Brief accent pulse to confirm a copy action. */
.copy-flash {
    animation: copy-flash 0.6s ease-out;
}
@keyframes copy-flash {
    0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--theme-accent, #52A8FF) 55%, transparent); }
    40%  { box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-accent, #52A8FF) 28%, transparent); }
    100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--theme-accent, #52A8FF) 0%, transparent); }
}

@media (prefers-reduced-motion: reduce) {
    .form-input-soft,
    .btn-accent-lift { transition: none; }
    .copy-flash { animation: none; }
}

/* Detail spotlight overlay animations */
@keyframes spotlight-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes spotlight-fade-out {
    from { opacity: 1; }
    to { opacity: 0; }
}
@keyframes spotlight-card-in {
    from { opacity: 0; transform: scale(0.92) translateY(20px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes spotlight-card-out {
    from { opacity: 1; transform: scale(1) translateY(0); }
    to { opacity: 0; transform: scale(0.92) translateY(20px); }
}
.animate-spotlight-fade-in { animation: spotlight-fade-in 0.25s ease-out forwards; }
.animate-spotlight-fade-out { animation: spotlight-fade-out 0.3s ease-in forwards; }
.animate-spotlight-card-in { animation: spotlight-card-in 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.animate-spotlight-card-out { animation: spotlight-card-out 0.3s ease-in forwards; }

/* Shared animated button styles (used by Index.js and LinktreeAlternative.js) */
.animated-button {
    background: linear-gradient(90deg, #52A8FF 0%, #78C2CE 50%, #52A8FF 100%);
    background-size: 200% 100%;
    box-shadow: 0 4px 14px 0 rgba(82, 168, 255, 0.35);
    transition: all 0.3s ease;
}
/* Depth only — no lift. Nothing changes size or position on hover. */
.animated-button:hover {
    box-shadow: 0 6px 20px rgba(82, 168, 255, 0.5);
}
@keyframes gradientShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
@media (prefers-reduced-motion: no-preference) {
    .animated-button { animation: gradientShift 6s ease-in-out infinite; }
}

/* ── Shared slide-up entrance ──
   Used by DetailModal / DetailSidebar / BackgroundPicker / CollaboratorsPanel.
   Refined to a premium, decisive curve so panels feel like they "settle" in. */
@keyframes slide-up {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}
.animate-slide-up {
    animation: slide-up 0.35s cubic-bezier(0.32, 0.72, 0, 1) forwards;
}

/* Reduced-motion guard: spotlight + slide-up entrances/exits resolve instantly
   to their end state so nothing animates when the user has asked for less. */
@media (prefers-reduced-motion: reduce) {
    .animate-spotlight-fade-in,
    .animate-spotlight-fade-out,
    .animate-spotlight-card-in,
    .animate-spotlight-card-out,
    .animate-slide-up,
    .animate-slide-out-bottom {
        animation-duration: 0.001s !important;
    }
}

/* ── Touch device utilities ── */
/* Show elements at reduced opacity on touch devices (coarse pointer) */
@media (pointer: coarse) {
    .coarse-pointer\:opacity-40 {
        opacity: 0.4 !important;
    }
}

/* Mobile bottom-sheet slide-out animation */
@keyframes slide-out-bottom {
    from { transform: translateY(0); }
    to { transform: translateY(100%); }
}
.animate-slide-out-bottom {
    animation: slide-out-bottom 0.2s ease-in forwards;
}

/* ── Detail editing highlight ── */
/* Pulse applied to the card being edited. Uses the active theme accent (via
   color-mix) so the highlight is coherent with whatever theme is set, instead
   of a hardcoded blue. */
@keyframes editing-pulse {
    0%, 100% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-accent, #52A8FF) 55%, transparent); }
    50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-accent, #52A8FF) 28%, transparent); }
}
.detail-editing-highlight {
    border-radius: 12px;
    animation: editing-pulse 2s ease-in-out 3;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-accent, #52A8FF) 55%, transparent);
    position: relative;
}
.detail-editing-highlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
    border-radius: 12px 0 0 12px;
    background: var(--theme-accent, #52A8FF);
    z-index: 1;
}

/* ── Inline editing affordance ── */
/* Subtle accent cue on hover so creators can see what is tap-to-edit,
   plus a theme-accent focus ring while editing a title/URL in place. */
.inline-edit-affordance:hover {
    background: rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 -1px 0 0 color-mix(in srgb, var(--theme-accent, #52A8FF) 45%, transparent);
}
.inline-edit-input:focus {
    border-color: var(--theme-accent, #52A8FF);
    box-shadow: 0 1px 0 0 var(--theme-accent, #52A8FF);
}

/* ── Drag handle affordance ── */
/* The drag handle used to be hover-only (opacity-0 group-hover), which made it
   invisible and unusable on phones — the primary device — where there is no
   hover. Keep it always at least faintly visible in edit mode, brighter on
   hover, and fully visible on touch devices. */
.drag-handle-affordance {
    opacity: 0.5;
    touch-action: none;
}
.group:hover .drag-handle-affordance {
    opacity: 0.85;
}
.drag-handle-affordance:hover {
    opacity: 1;
    background: color-mix(in srgb, var(--theme-accent, #52A8FF) 8%, transparent);
    border-radius: 8px;
    color: var(--theme-accent, #52A8FF);
}
@media (pointer: coarse) {
    .drag-handle-affordance {
        opacity: 0.7;
    }
}

/* ── Drag-and-drop polish ── */

/* Suppress text selection on sortable cards so dragging never highlights
   their text/labels (the previous behaviour the user found distracting). */
.sortable-detail-item {
    -webkit-user-select: none;
    user-select: none;
}

/* While a detail is being dragged, embed iframes must not swallow the pointer
   (they otherwise capture it the instant the cursor crosses them, breaking the
   drag and sometimes leaving a card stuck over another). */
body.dnd-dragging iframe {
    pointer-events: none !important;
}

/* Source slot placeholder: the original position of the dragged card collapses
   to a muted, dashed ghost so it's clear the card has "lifted out". The real
   card travels in the DragOverlay (.unified-drag-overlay). */
.sortable-detail-item.is-drag-placeholder {
    border-radius: 12px;
}

.sortable-detail-item.is-drag-placeholder > * {
    opacity: 0.5;
    filter: grayscale(0.25);
    outline: 2px dashed color-mix(in srgb, var(--theme-accent, #52A8FF) 60%, transparent);
    outline-offset: -2px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--theme-accent, #52A8FF) 6%, transparent);
    transition: opacity 0.12s ease;
}

/* The card that follows the cursor: lifted, accented, slightly tilted so it
   reads as "grabbed". */
.unified-drag-overlay {
    cursor: grabbing;
    transform: rotate(-1.5deg) scale(1.04);
    filter: drop-shadow(0 18px 32px rgba(15, 23, 42, 0.32));
    border-radius: 16px;
}

.unified-drag-overlay > .detail-card,
.detail-card-dragging {
    border-color: var(--theme-accent, #52A8FF) !important;
    box-shadow:
        inset 0 0 0 1.5px var(--theme-accent, #52A8FF),
        0 0 0 3px color-mix(in srgb, var(--theme-accent, #52A8FF) 45%, transparent);
}

/* Reorder group layout */
.reorder-group-y {
    display: flex;
    flex-direction: column;
}

.reorder-group-x {
    display: flex;
    flex-wrap: wrap;
}

/* ── Insertion indicator ──
   A glowing accent line that animates in at the exact slot the dragged item
   will land. Rendered on the neighbouring item via .drop-indicator-before
   (line above the item) / .drop-indicator-after (line below, i.e. end-of-list).
   The wrapper is position:relative-friendly; the line is an absolutely placed
   pseudo so it never affects layout/reflow. */
.sortable-detail-item {
    position: relative;
}

.sortable-detail-item.drop-indicator-before::before,
.sortable-detail-item.drop-indicator-after::after {
    content: '';
    position: absolute;
    left: 2px;
    right: 2px;
    height: 5px;
    border-radius: 999px;
    background: var(--theme-accent, #52A8FF);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--theme-accent, #52A8FF) 35%, transparent),
                0 0 14px color-mix(in srgb, var(--theme-accent, #52A8FF) 65%, transparent);
    z-index: 40;
    pointer-events: none;
    animation: drop-line-in 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.sortable-detail-item.drop-indicator-before::before {
    top: -8px;
}

.sortable-detail-item.drop-indicator-after::after {
    bottom: -8px;
}

/* A pulsing dot on the leading edge of the line for extra clarity. */
.sortable-detail-item.drop-indicator-before::before,
.sortable-detail-item.drop-indicator-after::after {
    background-image: radial-gradient(circle at 6px 50%, color-mix(in srgb, var(--theme-accent, #52A8FF) 95%, white) 3px, transparent 3.5px);
}

@keyframes drop-line-in {
    from { transform: scaleX(0.4); opacity: 0; }
    to   { transform: scaleX(1);   opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .sortable-detail-item.drop-indicator-before::before,
    .sortable-detail-item.drop-indicator-after::after { animation: none; }
}

/* ── Section-over highlight ──
   When a detail is dragged INTO a section (cross-container), the whole section
   container glows so the target is unmistakable. */
.unified-container {
    border-radius: 12px;
    transition: box-shadow 0.15s ease, background-color 0.15s ease;
}

.unified-container.unified-container-over,
.unified-empty-dropzone.unified-container-over {
    background-color: color-mix(in srgb, var(--theme-accent, #52A8FF) 6%, transparent);
    box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--theme-accent, #52A8FF) 70%, transparent),
                0 0 0 7px color-mix(in srgb, var(--theme-accent, #52A8FF) 12%, transparent);
}

/* Empty-section drop target in the unified editor DnD. Shows a dashed well so a
   creator can drag a detail into a section that has no details yet. While a
   drag is active it grows and shows a "Drop here to add to {section}" CTA. */
.unified-empty-dropzone {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px;
    border: 1px dashed var(--theme-border, #d1d5db);
    border-radius: 10px;
    transition: background-color 0.15s ease, border-color 0.15s ease, min-height 0.15s ease;
}

.unified-empty-dropzone.is-drag-active {
    min-height: 60px;
    border-width: 2px;
    border-color: color-mix(in srgb, var(--theme-accent, #52A8FF) 60%, transparent);
    background-color: color-mix(in srgb, var(--theme-accent, #52A8FF) 6%, transparent);
}

.unified-empty-dropzone-cta {
    font-size: 12px;
    font-weight: 500;
    color: var(--theme-accent, #2563eb);
}

.unified-empty-dropzone.is-over {
    border-color: var(--theme-accent, #52A8FF);
    background-color: color-mix(in srgb, var(--theme-accent, #52A8FF) 14%, transparent);
}

/* ── Toolbar pinning during drag (founder issue #3) ──
   While a unified-DnD drag is active the sticky editor toolbar is frozen at the
   visual-viewport top (top:0, set inline). Disable overscroll chaining on the
   document during a drag so a rubber-band at the BOTTOM of the page can't shift
   the visual viewport (which previously dragged the toolbar down the page), and
   force the pinned header to ignore any inherited transform. */
body.dnd-dragging {
    overscroll-behavior-y: contain;
}

.toolbar-drag-pinned {
    transform: none !important;
    will-change: auto;
}

/* ── Consistent card surface (founder issue #2) ──
   Every detail card — simple link, social tile, and complex types — gets the
   SAME themed surface so they read as uniform cards on any backdrop, including
   multi-stop gradients where the flat-derived --theme-surface barely differs
   from the background. --theme-card is a translucent veil set per-theme in
   applyThemeToPage(); the backdrop-filter keeps text legible where the gradient
   runs light↔dark under a single card. These override themes.css (imported at
   the top of this file) at equal specificity by source order.

   Solid (non-gradient) presets still look correct: the veil sits over their
   matching surface colour, so the card reads as before. */
.page-container .detail-card,
.page-container .detail-card.detail-card-simple-link,
.page-container .detail-card.social-tile {
    background-color: var(--theme-card, var(--theme-surface, rgba(255, 255, 255, 0.62)));
    border: 1px solid var(--theme-card-border, rgba(0, 0, 0, 0.06));
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.page-container .detail-card.detail-card-clickable:hover {
    background-color: var(--theme-card-hover, var(--theme-surface-hover, rgba(255, 255, 255, 0.82)));
}

/* Outline shape opts out of the filled veil — keep it a clean bordered card,
   but use the themed card border so it's visible on a gradient too. */
.page-container .detail-card.detail-card-outline {
    background-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border: 1.5px solid var(--theme-card-border, var(--theme-border, #E5E7EB));
}

/* The featured (hero) card and inline-editor surfaces keep their own treatment;
   don't double-veil them. */
.page-container .hero-featured-item .detail-card {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

/* ── Card hover (Flowline) ──
   Detail cards get a hairline accent border and a soft shadow on hover — but
   NEVER a size or position change. The old translateY lift ("grow on hover")
   made the page twitch under the cursor and was cut. Source order beats the
   themes.css hover (which only swaps background). Radius harmonised to >=16px so
   cards read as soft, modern surfaces regardless of --theme-card-radius. */
.detail-card.detail-card-clickable:hover {
    border: 1px solid color-mix(in srgb, var(--theme-accent, #52A8FF) 55%, transparent);
    box-shadow: 0 10px 24px -14px rgba(15, 23, 42, 0.28);
}

/* ── Click-to-edit affordance (edit mode) ──
   The edit pencil is gone: the whole card is the edit target. Signal that with
   a pointer cursor and a tint/border on hover — again, no scale or translate.
   The drag handle keeps its own grab cursor (it drags, it never edits). */
.detail-card.detail-card-editable {
    cursor: pointer;
}

.detail-card.detail-card-editable:hover {
    background-color: var(--theme-card-hover, var(--theme-surface-hover, rgba(0, 0, 0, 0.03)));
    border-color: color-mix(in srgb, var(--theme-accent, #52A8FF) 45%, transparent);
}

.detail-card.detail-card-editable:focus-visible {
    outline: 2px solid var(--theme-accent, #52A8FF);
    outline-offset: 2px;
}

.detail-card.detail-card-editable .drag-handle-affordance {
    cursor: grab;
}

.page-container .detail-card {
    border-radius: max(16px, var(--theme-card-radius, var(--theme-button-radius, 16px)));
}

.file\:mr-3::file-selector-button {
  margin-right: 0.75rem;
}

.file\:rounded-lg::file-selector-button {
  border-radius: 0.5rem;
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-gray-100::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.file\:px-3::file-selector-button {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.file\:py-1\.5::file-selector-button {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.file\:text-xs::file-selector-button {
  font-size: 0.75rem;
  line-height: 1rem;
}

.file\:font-semibold::file-selector-button {
  font-weight: 600;
}

.file\:text-gray-700::file-selector-button {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.before\:absolute::before {
  content: var(--tw-content);
  position: absolute;
}

.before\:inset-0::before {
  content: var(--tw-content);
  inset: 0px;
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:left-\[2px\]::after {
  content: var(--tw-content);
  left: 2px;
}

.after\:top-\[2px\]::after {
  content: var(--tw-content);
  top: 2px;
}

.after\:h-3\.5::after {
  content: var(--tw-content);
  height: 0.875rem;
}

.after\:h-4::after {
  content: var(--tw-content);
  height: 1rem;
}

.after\:w-3\.5::after {
  content: var(--tw-content);
  width: 0.875rem;
}

.after\:w-4::after {
  content: var(--tw-content);
  width: 1rem;
}

.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}

.after\:border::after {
  content: var(--tw-content);
  border-width: 1px;
}

.after\:border-gray-300::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.after\:bg-white::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.after\:transition-all::after {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.last\:pb-0:last-child {
  padding-bottom: 0px;
}

.focus-within\:border-primary-darkest\/60:focus-within {
  border-color: rgb(82 168 255 / 0.6);
}

.hover\:border-\[color\:var\(--theme-accent\2c \#52A8FF\)\]:hover {
  border-color: var(--theme-accent,#52A8FF);
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.hover\:border-primary-darker:hover {
  --tw-border-opacity: 1;
  border-color: rgb(122 191 255 / var(--tw-border-opacity, 1));
}

.hover\:border-primary-darkest\/30:hover {
  border-color: rgb(82 168 255 / 0.3);
}

.hover\:border-purple-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}

.hover\:border-red-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}

.hover\:border-white\/20:hover {
  border-color: rgb(255 255 255 / 0.2);
}

.hover\:border-white\/30:hover {
  border-color: rgb(255 255 255 / 0.3);
}

.hover\:border-white\/\[0\.1\]:hover {
  border-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-amber-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}

.hover\:bg-black\/80:hover {
  background-color: rgb(0 0 0 / 0.8);
}

.hover\:bg-black\/\[0\.03\]:hover {
  background-color: rgb(0 0 0 / 0.03);
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200\/70:hover {
  background-color: rgb(229 231 235 / 0.7);
}

.hover\:bg-gray-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50\/50:hover {
  background-color: rgb(249 250 251 / 0.5);
}

.hover\:bg-gray-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-darker:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(122 191 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-hover:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(61 149 232 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-lighter:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(196 224 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-lightest:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(230 243 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-lightest\/50:hover {
  background-color: rgb(230 243 255 / 0.5);
}

.hover\:bg-purple-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100\/70:hover {
  background-color: rgb(254 226 226 / 0.7);
}

.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}

.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-sky-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-stone-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-stone-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(231 229 228 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}

.hover\:bg-white\/\[0\.02\]:hover {
  background-color: rgb(255 255 255 / 0.02);
}

.hover\:bg-white\/\[0\.03\]:hover {
  background-color: rgb(255 255 255 / 0.03);
}

.hover\:bg-white\/\[0\.04\]:hover {
  background-color: rgb(255 255 255 / 0.04);
}

.hover\:bg-white\/\[0\.05\]:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:bg-white\/\[0\.06\]:hover {
  background-color: rgb(255 255 255 / 0.06);
}

.hover\:bg-white\/\[0\.1\]:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-opacity-50:hover {
  --tw-bg-opacity: 0.5;
}

.hover\:from-primary-darkest:hover {
  --tw-gradient-from: #52A8FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(82 168 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:to-primary-darker:hover {
  --tw-gradient-to: #7ABFFF var(--tw-gradient-to-position);
}

.hover\:text-\[var\(--theme-accent\2c \#52A8FF\)\]:hover {
  color: var(--theme-accent,#52A8FF);
}

.hover\:text-amber-800:hover {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-900:hover {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-700:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-200:hover {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-300:hover {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-800:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-primary-base:hover {
  --tw-text-opacity: 1;
  color: rgb(162 210 255 / var(--tw-text-opacity, 1));
}

.hover\:text-primary-darker:hover {
  --tw-text-opacity: 1;
  color: rgb(122 191 255 / var(--tw-text-opacity, 1));
}

.hover\:text-primary-hover:hover {
  --tw-text-opacity: 1;
  color: rgb(61 149 232 / var(--tw-text-opacity, 1));
}

.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:text-red-700:hover {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.hover\:text-red-800:hover {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.hover\:text-sky-600:hover {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-700:hover {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:no-underline:hover {
  text-decoration-line: none;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:brightness-110:hover {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.hover\:file\:bg-gray-200::file-selector-button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.focus\:border-accent-darker:focus {
  --tw-border-opacity: 1;
  border-color: rgb(255 197 156 / var(--tw-border-opacity, 1));
}

.focus\:border-blue-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.focus\:border-gray-300:focus {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.focus\:border-gray-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.focus\:border-gray-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.focus\:border-primary-base:focus {
  --tw-border-opacity: 1;
  border-color: rgb(162 210 255 / var(--tw-border-opacity, 1));
}

.focus\:border-primary-darker:focus {
  --tw-border-opacity: 1;
  border-color: rgb(122 191 255 / var(--tw-border-opacity, 1));
}

.focus\:border-primary-darkest:focus {
  --tw-border-opacity: 1;
  border-color: rgb(82 168 255 / var(--tw-border-opacity, 1));
}

.focus\:border-red-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.focus\:border-red-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.focus\:bg-gray-100:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.focus\:text-gray-600:focus {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.focus\:ring-gray-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
}

.focus\:ring-primary-base:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(162 210 255 / var(--tw-ring-opacity, 1));
}

.focus\:ring-primary-darkest:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(82 168 255 / var(--tw-ring-opacity, 1));
}

.focus\:ring-purple-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity, 1));
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:cursor-grabbing:active {
  cursor: grabbing;
}

.active\:bg-gray-100:active {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.active\:bg-red-800:active {
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\:translate-y-0:disabled {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.disabled\:transform-none:disabled {
  transform: none;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:cursor-wait:disabled {
  cursor: wait;
}

.disabled\:no-underline:disabled {
  text-decoration-line: none;
}

.disabled\:opacity-30:disabled {
  opacity: 0.3;
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.disabled\:shadow-none:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.disabled\:hover\:text-gray-300:hover:disabled {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:max-h-16 {
  max-height: 4rem;
}

.group:hover .group-hover\:text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-primary-base {
  --tw-text-opacity: 1;
  color: rgb(162 210 255 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-primary-hover {
  --tw-text-opacity: 1;
  color: rgb(61 149 232 / var(--tw-text-opacity, 1));
}

.group\/child:hover .group-hover\/child\:opacity-100 {
  opacity: 1;
}

.group\/img:hover .group-hover\/img\:opacity-100 {
  opacity: 1;
}

.group\/og:hover .group-hover\/og\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.peer:checked ~ .peer-checked\:bg-primary-darkest {
  --tw-bg-opacity: 1;
  background-color: rgb(82 168 255 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-violet-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:after\:translate-x-\[14px\]::after {
  content: var(--tw-content);
  --tw-translate-x: 14px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:after\:translate-x-full::after {
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:after\:border-white::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.peer:focus ~ .peer-focus\:outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: no-preference) {

  .motion-safe\:animate-\[fadeIn_0\.2s_ease-out\] {
    animation: fadeIn 0.2s ease-out;
  }

  .motion-safe\:animate-\[slideUp_0\.3s_cubic-bezier\(0\.16\2c 1\2c 0\.3\2c 1\)\] {
    animation: slideUp 0.3s cubic-bezier(0.16,1,0.3,1);
  }

  @keyframes fade-in {

    0% {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
  }

  .motion-safe\:animate-fade-in {
    animation: fade-in 0.2s ease-out;
  }

  @keyframes slide-up {

    0% {
      transform: translateY(100%);
    }

    100% {
      transform: translateY(0);
    }
  }

  .motion-safe\:animate-slide-up {
    animation: slide-up 0.3s ease-out;
  }

  @keyframes spin {

    to {
      transform: rotate(360deg);
    }
  }

  .motion-safe\:animate-spin {
    animation: spin 1s linear infinite;
  }

  .motion-safe\:hover\:shadow-md:hover {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  .motion-safe\:active\:translate-y-0:active {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .group:hover .motion-safe\:group-hover\:shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}

@media (prefers-reduced-motion: reduce) {

  .motion-reduce\:transform-none {
    transform: none;
  }

  .motion-reduce\:transition-none {
    transition-property: none;
  }
}

@media (min-width: 640px) {

  .sm\:inset-x-auto {
    left: auto;
    right: auto;
  }

  .sm\:bottom-auto {
    bottom: auto;
  }

  .sm\:left-1\/2 {
    left: 50%;
  }

  .sm\:right-auto {
    right: auto;
  }

  .sm\:top-1\/2 {
    top: 50%;
  }

  .sm\:col-span-12 {
    grid-column: span 12 / span 12;
  }

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .sm\:col-span-6 {
    grid-column: span 6 / span 6;
  }

  .sm\:col-span-8 {
    grid-column: span 8 / span 8;
  }

  .sm\:my-8 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .sm\:ml-4 {
    margin-left: 1rem;
  }

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:h-56 {
    height: 14rem;
  }

  .sm\:w-80 {
    width: 20rem;
  }

  .sm\:w-\[46\%\] {
    width: 46%;
  }

  .sm\:w-\[calc\(33\.333\%-\$\{thirdOffset\}rem\)\] {
    width: calc(33.333% - ${thirdOffset}rem);
  }

  .sm\:w-\[calc\(50\%-\$\{halfOffset\}rem\)\] {
    width: calc(50% - ${halfOffset}rem);
  }

  .sm\:w-full {
    width: 100%;
  }

  .sm\:max-w-2xl {
    max-width: 42rem;
  }

  .sm\:max-w-\[420px\] {
    max-width: 420px;
  }

  .sm\:max-w-lg {
    max-width: 32rem;
  }

  .sm\:max-w-md {
    max-width: 28rem;
  }

  .sm\:-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .sm\:-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  @keyframes fade-in {

    0% {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
  }

  .sm\:animate-fade-in {
    animation: fade-in 0.2s ease-out;
  }

  .sm\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:rounded-2xl {
    border-radius: 1rem;
  }

  .sm\:rounded-3xl {
    border-radius: 1.5rem;
  }

  .sm\:p-0 {
    padding: 0px;
  }

  .sm\:p-4 {
    padding: 1rem;
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .sm\:pt-32 {
    padding-top: 8rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:align-middle {
    vertical-align: middle;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 768px) {

  .md\:my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .md\:mr-4 {
    margin-right: 1rem;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-\[calc\(100vh-2rem\)\] {
    height: calc(100vh - 2rem);
  }

  .md\:max-h-none {
    max-height: none;
  }

  .md\:w-\[24rem\] {
    width: 24rem;
  }

  @keyframes slide-in-right {

    0% {
      transform: translateX(100%);
    }

    100% {
      transform: translateX(0);
    }
  }

  .md\:animate-slide-in-right {
    animation: slide-in-right 0.25s ease-out;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-end {
    justify-content: flex-end;
  }

  .md\:rounded-2xl {
    border-radius: 1rem;
  }

  .md\:border {
    border-width: 1px;
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1024px) {

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}

@media (prefers-color-scheme: dark) {

  .dark\:\!border-neutral-700 {
    --tw-border-opacity: 1 !important;
    border-color: rgb(64 64 64 / var(--tw-border-opacity, 1)) !important;
  }

  .dark\:border-gray-600 {
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  }

  .dark\:border-gray-700 {
    --tw-border-opacity: 1;
    border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  }

  .dark\:border-neutral-600 {
    --tw-border-opacity: 1;
    border-color: rgb(82 82 82 / var(--tw-border-opacity, 1));
  }

  .dark\:border-neutral-700 {
    --tw-border-opacity: 1;
    border-color: rgb(64 64 64 / var(--tw-border-opacity, 1));
  }

  .dark\:border-red-800\/60 {
    border-color: rgb(153 27 27 / 0.6);
  }

  .dark\:border-red-900\/40 {
    border-color: rgb(127 29 29 / 0.4);
  }

  .dark\:border-white\/10 {
    border-color: rgb(255 255 255 / 0.1);
  }

  .dark\:\!bg-neutral-800 {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1)) !important;
  }

  .dark\:bg-blue-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-gray-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-gray-700 {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-gray-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-gray-800\/50 {
    background-color: rgb(31 41 55 / 0.5);
  }

  .dark\:bg-gray-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-indigo-900\/40 {
    background-color: rgb(49 46 129 / 0.4);
  }

  .dark\:bg-neutral-700 {
    --tw-bg-opacity: 1;
    background-color: rgb(64 64 64 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-neutral-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-neutral-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(23 23 23 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-neutral-900\/80 {
    background-color: rgb(23 23 23 / 0.8);
  }

  .dark\:bg-primary-darkest\/10 {
    background-color: rgb(82 168 255 / 0.1);
  }

  .dark\:bg-red-900\/20 {
    background-color: rgb(127 29 29 / 0.2);
  }

  .dark\:bg-red-950\/40 {
    background-color: rgb(69 10 10 / 0.4);
  }

  .dark\:bg-slate-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-slate-800\/70 {
    background-color: rgb(30 41 59 / 0.7);
  }

  .dark\:bg-slate-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-white\/5 {
    background-color: rgb(255 255 255 / 0.05);
  }

  .dark\:from-slate-800\/40 {
    --tw-gradient-from: rgb(30 41 59 / 0.4) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  }

  .dark\:to-slate-800\/20 {
    --tw-gradient-to: rgb(30 41 59 / 0.2) var(--tw-gradient-to-position);
  }

  .dark\:fill-neutral-200 {
    fill: #e5e5e5;
  }

  .dark\:text-amber-300 {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
  }

  .dark\:text-blue-500 {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity, 1));
  }

  .dark\:text-emerald-400 {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
  }

  .dark\:text-gray-100 {
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
  }

  .dark\:text-gray-200 {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1));
  }

  .dark\:text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
  }

  .dark\:text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  }

  .dark\:text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  }

  .dark\:text-indigo-300 {
    --tw-text-opacity: 1;
    color: rgb(165 180 252 / var(--tw-text-opacity, 1));
  }

  .dark\:text-neutral-200 {
    --tw-text-opacity: 1;
    color: rgb(229 229 229 / var(--tw-text-opacity, 1));
  }

  .dark\:text-neutral-400 {
    --tw-text-opacity: 1;
    color: rgb(163 163 163 / var(--tw-text-opacity, 1));
  }

  .dark\:text-neutral-500 {
    --tw-text-opacity: 1;
    color: rgb(115 115 115 / var(--tw-text-opacity, 1));
  }

  .dark\:text-primary-base {
    --tw-text-opacity: 1;
    color: rgb(162 210 255 / var(--tw-text-opacity, 1));
  }

  .dark\:text-red-300 {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
  }

  .dark\:text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
  }

  .dark\:text-red-400\/80 {
    color: rgb(248 113 113 / 0.8);
  }

  .dark\:text-slate-200 {
    --tw-text-opacity: 1;
    color: rgb(226 232 240 / var(--tw-text-opacity, 1));
  }

  .dark\:text-slate-300 {
    --tw-text-opacity: 1;
    color: rgb(203 213 225 / var(--tw-text-opacity, 1));
  }

  .dark\:text-slate-400 {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
  }

  .dark\:text-slate-500 {
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
  }

  .dark\:text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

  .dark\:ring-gray-600 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1));
  }

  .dark\:ring-slate-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity, 1));
  }

  .dark\:ring-white\/10 {
    --tw-ring-color: rgb(255 255 255 / 0.1);
  }

  .dark\:file\:bg-gray-800::file-selector-button {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  }

  .dark\:file\:text-gray-200::file-selector-button {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1));
  }

  .dark\:hover\:bg-gray-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  }

  .dark\:hover\:bg-neutral-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
  }

  .dark\:hover\:bg-slate-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  }

  .dark\:hover\:text-gray-200:hover {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1));
  }

  .dark\:hover\:text-neutral-200:hover {
    --tw-text-opacity: 1;
    color: rgb(229 229 229 / var(--tw-text-opacity, 1));
  }

  .dark\:hover\:text-neutral-300:hover {
    --tw-text-opacity: 1;
    color: rgb(212 212 212 / var(--tw-text-opacity, 1));
  }

  .dark\:hover\:text-slate-200:hover {
    --tw-text-opacity: 1;
    color: rgb(226 232 240 / var(--tw-text-opacity, 1));
  }

  .dark\:hover\:file\:bg-gray-700::file-selector-button:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  }

  .dark\:focus\:bg-neutral-800:focus {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
  }

  .dark\:focus\:text-neutral-300:focus {
    --tw-text-opacity: 1;
    color: rgb(212 212 212 / var(--tw-text-opacity, 1));
  }
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb {
  border-radius: 9999px;
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-300::-webkit-scrollbar-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

@media (prefers-color-scheme: dark) {

  .dark\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-neutral-500::-webkit-scrollbar-thumb {
    --tw-bg-opacity: 1;
    background-color: rgb(115 115 115 / var(--tw-bg-opacity, 1));
  }
}

.\[\&\:\:-webkit-scrollbar-track\]\:bg-gray-100::-webkit-scrollbar-track {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

@media (prefers-color-scheme: dark) {

  .dark\:\[\&\:\:-webkit-scrollbar-track\]\:bg-neutral-700::-webkit-scrollbar-track {
    --tw-bg-opacity: 1;
    background-color: rgb(64 64 64 / var(--tw-bg-opacity, 1));
  }
}

.\[\&\:\:-webkit-scrollbar\]\:w-2::-webkit-scrollbar {
  width: 0.5rem;
}

.\[\&\>svg\]\:h-auto>svg {
  height: auto;
}

.\[\&\>svg\]\:w-full>svg {
  width: 100%;
}
/* Auto-scoped port of the flowline concept styles. All selectors live under
   .flowline-root so they cannot leak into the rest of the Tailwind SPA. */
.flowline-root{--blue:#52A8FF;--turq:#78C2CE;--peach:#FFB07F;--violet:#8B5CF6;--ink:#0C1B2E;--slate:#5d7290}
.flowline-root, .flowline-root *{box-sizing:border-box;margin:0}
.flowline-root{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#F7FBFF;overflow-x:hidden;position:relative;width:100%;overflow:clip}
.flowline-root .wrap{width:min(1140px,100%);margin:0 auto;padding:0 22px}
.flowline-root .sky{position:fixed;inset:-10% -10% -10% -10%;z-index:0;pointer-events:none;filter:blur(8px)}
.flowline-root .orb{position:absolute;border-radius:50%;filter:blur(58px);opacity:.55;will-change:transform}
.flowline-root .o1{width:46vw;height:46vw;left:-8vw;top:2vh;background:radial-gradient(circle,#52A8FF,transparent 70%);animation:flh-fl1 22s ease-in-out infinite}
.flowline-root .o2{width:42vw;height:42vw;right:-6vw;top:18vh;background:radial-gradient(circle,#78C2CE,transparent 70%);animation:flh-fl2 26s ease-in-out infinite}
.flowline-root .o3{width:50vw;height:50vw;left:6vw;top:60vh;background:radial-gradient(circle,#FFB07F,transparent 70%);animation:flh-fl3 30s ease-in-out infinite}
.flowline-root .o4{width:44vw;height:44vw;right:0;top:120vh;background:radial-gradient(circle,#8B5CF6,transparent 70%);animation:flh-fl1 28s ease-in-out infinite}
@keyframes flh-fl1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6%,5%) scale(1.12)}}
@keyframes flh-fl2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-7%,6%) scale(1.1)}}
@keyframes flh-fl3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(5%,-6%) scale(1.15)}}
.flowline-root .grain{position:fixed;inset:0;z-index:1;opacity:.045;mix-blend-mode:multiply;pointer-events:none}
.flowline-root .flow{position:absolute;inset:0;z-index:2;pointer-events:none;width:100%;height:100%;will-change:transform;transform:translateZ(0);contain:paint}
.flowline-root .content{position:relative;z-index:3}
.flowline-root h1, .flowline-root h2, .flowline-root h3, .flowline-root .ey, .flowline-root .btn{font-family:Poppins,system-ui,sans-serif}
.flowline-root .word{display:inline-block;margin-right:.24em;opacity:0;transform:translateY(40px) rotate(2deg);filter:blur(6px);
  transition:opacity .7s,transform .8s cubic-bezier(.2,.8,.2,1),filter .7s}
.flowline-root .in .word{opacity:1;transform:none;filter:none}
.flowline-root .rise{opacity:0;transform:translateY(40px);transition:.9s cubic-bezier(.2,.8,.2,1)}
.flowline-root .in .rise, .flowline-root .rise.in{opacity:1;transform:none}
.flowline-root .ey{font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.flowline-root .ey::before{content:"";width:24px;height:2px;border-radius:2px;background:currentColor;opacity:.6}
.flowline-root .grad{background:linear-gradient(100deg,var(--blue),var(--turq) 38%,var(--peach) 72%,var(--violet));
  background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flh-sweep 8s ease-in-out infinite}
@keyframes flh-sweep{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.flowline-root .hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px}
.flowline-root .hero h1{font-size:clamp(38px,8vw,72px);font-weight:800;line-height:1.08;letter-spacing:-1.6px}
.flowline-root .gd1{background:linear-gradient(105deg,#52A8FF,#78C2CE);-webkit-background-clip:text;background-clip:text;color:transparent}
.flowline-root .gd2{background:linear-gradient(105deg,#FFB07F,#FB8F5E);-webkit-background-clip:text;background-clip:text;color:transparent}
.flowline-root .ga{-webkit-background-clip:text;background-clip:text;color:transparent}
.flowline-root .gblue{background-image:linear-gradient(105deg,#52A8FF,#78C2CE)}
.flowline-root .gturq{background-image:linear-gradient(105deg,#3FB0C4,#52A8FF)}
.flowline-root .gpeach{background-image:linear-gradient(105deg,#FFB07F,#FB8F5E)}
.flowline-root .gviolet{background-image:linear-gradient(105deg,#8B5CF6,#6366F1)}
.flowline-root .hero p{font-size:clamp(16px,2.5vw,19.5px);color:var(--slate);max-width:560px;margin:26px auto 0;line-height:1.55}
.flowline-root .cue{margin-top:50px;width:26px;height:42px;border:2px solid #9fb4cc;border-radius:14px;position:relative;opacity:.7}
.flowline-root .cue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;border-radius:3px;background:#7a93b0;transform:translateX(-50%);animation:flh-dropy 1.8s ease-in-out infinite}
@keyframes flh-dropy{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}
.flowline-root .sec{padding:9vh 22px;position:relative}
.flowline-root .row{display:flex;align-items:center;gap:7vw}
.flowline-root .row.r{flex-direction:row-reverse}
.flowline-root .copy{flex:1;max-width:440px}
.flowline-root .copy h2{font-size:clamp(33px,5.6vw,48px);font-weight:800;letter-spacing:-1.4px;line-height:1.05;margin:16px 0 16px}
.flowline-root .copy p{font-size:clamp(16px,2.3vw,18.5px);color:var(--slate);line-height:1.62}
.flowline-root .stat{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:10px 17px;border-radius:999px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 22px rgba(20,60,110,.10);font-size:13.5px;font-weight:600}
.flowline-root .stat b{font-family:Poppins}
.flowline-root .dot{width:8px;height:8px;border-radius:50%}
.flowline-root .stage{flex:1;display:flex;justify-content:center;perspective:1600px}
.flowline-root .phwrap{will-change:transform}
.flowline-root .phone{width:min(300px,76vw);aspect-ratio:300/380;border-radius:42px;padding:12px;position:relative;
  background:linear-gradient(160deg,#23304a,#0f1726);box-shadow:0 50px 100px -28px rgba(16,38,72,.55),0 10px 26px rgba(16,38,72,.2)}
.flowline-root .scr{width:100%;height:100%;border-radius:32px;background:#fff;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.flowline-root .scr::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(150deg,rgba(255,255,255,.22),transparent 38%)}
.flowline-root .pglow{position:absolute;width:130%;aspect-ratio:1;left:-15%;top:-10%;border-radius:50%;filter:blur(60px);z-index:-1;opacity:.5}
.flowline-root .spot{flex:1;display:flex;flex-direction:column;gap:16px;padding:20px 18px;background:#121212;color:#fff}
.flowline-root .spot-top{display:flex;align-items:center;gap:14px}
.flowline-root .spot-cover{width:84px;height:84px;border-radius:8px;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,#52A8FF,#8B5CF6);box-shadow:0 8px 22px rgba(0,0,0,.4)}
.flowline-root .spot-cover img{width:100%;height:100%;object-fit:cover;display:block}
.flowline-root .spot-meta{flex:1;min-width:0}
.flowline-root .spot-t{font-family:Poppins;font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flowline-root .spot-a{font-size:13px;color:#b3b3b3;margin-top:2px}
.flowline-root .spot-logo{width:26px;height:26px;flex-shrink:0;align-self:flex-start}
.flowline-root .spot-prog{height:4px;border-radius:4px;background:#4d4d4d;position:relative;overflow:hidden}
.flowline-root .spot-prog i{position:absolute;height:100%;width:0;border-radius:4px;background:#fff;animation:flh-prog 4s linear infinite}
@keyframes flh-prog{0%{width:6%}100%{width:96%}}
.flowline-root .spot-ctrls{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.flowline-root .spot-time{font-size:11px;color:#b3b3b3;font-variant-numeric:tabular-nums}
.flowline-root .spot-play{width:50px;height:50px;border-radius:50%;background:#1DB954;box-shadow:0 8px 22px rgba(29,185,84,.5);display:flex;align-items:center;justify-content:center}
.flowline-root .spot-play::after{content:"";border-left:15px solid #000;border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}
.flowline-root .ev{flex:1;display:flex;flex-direction:column;background:#fff}
.flowline-root .ev-banner{height:120px;position:relative;background:#78C2CE url("https://images.unsplash.com/photo-1459749411175-04bf5292ceea?w=600&q=80&auto=format") center/cover}
.flowline-root .ev-banner .pill{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.flowline-root .evbody{padding:14px 14px 16px;flex:1;display:flex;flex-direction:column;gap:10px}
.flowline-root .evbody h3{font-family:Poppins;font-size:16px;font-weight:700}
.flowline-root .ev-map{border-radius:12px;overflow:hidden;position:relative;box-shadow:0 4px 14px rgba(20,60,110,.1)}
.flowline-root .ev-map img{width:100%;height:88px;object-fit:cover;display:block;background:#e8eef5}
.flowline-root .ev-loc{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;font-size:11.5px;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(8,20,38,.78))}
.flowline-root .rsvp{margin-top:auto;display:flex;align-items:center;justify-content:space-between;background:#0C1B2E;color:#fff;border-radius:14px;padding:11px 14px;font-family:Poppins;font-weight:600;font-size:14px}
.flowline-root .rsvp .go{font-size:12px;opacity:.72;font-weight:500}
.flowline-root .mn{flex:1;background:linear-gradient(175deg,#fff,#fff7f0);padding:18px 16px;display:flex;flex-direction:column;gap:11px}
.flowline-root .mn .hd{display:flex;align-items:center;justify-content:space-between}
.flowline-root .mn .hd h3{font-family:Poppins;font-size:16px;font-weight:700}
.flowline-root .live{background:#fde9d8;color:#b5612a;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:700;display:flex;align-items:center;gap:5px}
.flowline-root .live::before{content:"";width:6px;height:6px;border-radius:50%;background:#f0883e;animation:flh-pulse 1.6s ease-in-out infinite}
@keyframes flh-pulse{0%,100%{box-shadow:0 0 0 0 rgba(240,136,62,.5)}50%{box-shadow:0 0 0 5px rgba(240,136,62,0)}}
.flowline-root .mi{display:flex;justify-content:space-between;font-size:13.5px}
.flowline-root .mi .nm{color:#34465c}
.flowline-root .mi .pr{font-weight:700;font-family:Poppins}
.flowline-root .mi.muted{opacity:.5}
.flowline-root .ad{flex:1;background:#fff;padding:20px 16px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.flowline-root .ad-bar{display:flex;align-items:center;gap:9px;border:1px solid #e6ecf4;background:#f7fafd;border-radius:12px;padding:11px 12px;min-height:42px}
.flowline-root .ad-bar>svg{width:15px;height:15px;color:#9fb0c4;flex-shrink:0}
.flowline-root .ad-url{font-family:ui-monospace,Menlo,monospace;font-size:11px;white-space:nowrap;overflow:hidden;color:#34465c;letter-spacing:-.2px}
.flowline-root .ad-cur{width:1.5px;height:13px;background:#52A8FF;display:inline-block;margin-left:1px;animation:flh-blink 1s steps(2) infinite}
@keyframes flh-blink{50%{opacity:0}}
.flowline-root .ad-res{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 11px;background:#eef3fb;opacity:0;transform:translateY(6px);transition:.35s}
.flowline-root .ad-res.show{opacity:1;transform:none}
.flowline-root .ad-ico{width:34px;height:34px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px rgba(20,60,110,.08)}
.flowline-root .ad-ico img{width:20px;height:20px;border-radius:4px}
.flowline-root .ad-txt{flex:1;min-width:0}
.flowline-root .ad-txt b{font-family:Poppins;font-size:12.5px;display:block}
.flowline-root .ad-txt span{font-size:10.5px;color:#7a8aa0}
.flowline-root .ad-check{width:19px;height:19px;color:#10B981;flex-shrink:0;opacity:0;transition:.3s}
.flowline-root .ad-res.done .ad-check{opacity:1}
.flowline-root .dl{flex:1;background:linear-gradient(180deg,#f4f8ff,#fff 40%);padding:16px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.flowline-root .dl-card{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(20,60,110,.12)}
.flowline-root .dl-cover{height:96px;background:#52A8FF url("https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?w=500&q=80&auto=format") center/cover}
.flowline-root .dl-meta{padding:11px 13px}
.flowline-root .dl-title{font-family:Poppins;font-weight:700;font-size:14px}
.flowline-root .dl-sub{font-size:11.5px;color:#8090a4;margin-top:2px}
.flowline-root .dl-url{display:flex;align-items:center;gap:8px;background:#0C1B2E;color:#cfe0f5;border-radius:11px;padding:9px 10px}
.flowline-root .dl-url>svg{width:13px;height:13px;flex-shrink:0;color:#6f9ad6}
.flowline-root .dl-url .u{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,Menlo,monospace;font-size:10px}
.flowline-root .dl-copy{background:#52A8FF;color:#fff;border-radius:7px;padding:4px 9px;font-family:Poppins;font-size:10px;font-weight:600;flex-shrink:0}
.flowline-root .dl-share{display:flex;gap:9px;justify-content:center;margin-top:2px}
.flowline-root .dl-share span{width:30px;height:30px;border-radius:9px;flex-shrink:0}
.flowline-root .qr{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,#fff,#f4f8ff);padding:20px}
.flowline-root .qr-card{background:#fff;border-radius:20px;padding:18px 18px 14px;box-shadow:0 14px 34px rgba(20,60,110,.16);display:flex;flex-direction:column;align-items:center;gap:9px}
.flowline-root .qr-img{width:150px;height:150px;display:block;image-rendering:pixelated}
.flowline-root .qr-handle{font-family:Poppins;font-weight:600;font-size:11.5px;color:#23364c}
.flowline-root .qr-cap{font-size:12px;color:#8090a4;display:flex;align-items:center;gap:6px}
.flowline-root .an{flex:1;background:#fff;padding:18px 16px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.flowline-root .an-top{display:flex;align-items:baseline;gap:8px}
.flowline-root .an-big{font-family:Poppins;font-weight:800;font-size:28px;letter-spacing:-1px}
.flowline-root .an-lbl{font-size:11px;color:#8090a4}
.flowline-root .an-up{margin-left:auto;color:#10B981;font-weight:700;font-size:12px;font-family:Poppins}
.flowline-root .an-bars{display:flex;align-items:flex-end;gap:6px;height:68px}
.flowline-root .an-bars i{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#52A8FF,#8B5CF6);opacity:.88}
.flowline-root .an-list{display:flex;flex-direction:column;gap:9px}
.flowline-root .an-row{display:flex;align-items:center;font-size:12.5px}
.flowline-root .an-row>span:first-child{color:#46586e;width:78px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flowline-root .an-row b{font-family:Poppins;font-size:12.5px;margin-left:auto}
.flowline-root .an-row .mini{flex:1;height:5px;border-radius:3px;background:#eef2f8;margin:0 10px;overflow:hidden}
.flowline-root .an-row .mini i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#52A8FF,#8B5CF6)}
.flowline-root .pp-av{overflow:hidden}
.flowline-root .pp-av img{width:100%;height:100%;object-fit:cover;display:block}
.flowline-root .pp-inner{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;transition:opacity .4s}
.flowline-root .pp-inner.out{opacity:0}
.flowline-root .dr{display:flex;align-items:center;gap:11px;width:100%;background:#fff;border:1px solid #eef2f8;border-radius:13px;padding:10px 12px;box-shadow:0 3px 10px rgba(20,60,110,.05)}
.flowline-root .dr-ic{width:24px;height:24px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.flowline-root .dr-ic.fav{background:#f1f5fb}
.flowline-root .dr-ic svg{width:14px;height:14px}
.flowline-root .dr-t{flex:1;font-size:12.5px;font-weight:600;color:#23364c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flowline-root .dr-b{font-size:9px;font-weight:700;border-radius:999px;padding:3px 7px;flex-shrink:0;font-family:Poppins;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.flowline-root .pp-dots{display:flex;gap:5px;justify-content:center;padding:12px 0 4px}
.flowline-root .pp-dots i{width:5px;height:5px;border-radius:50%;background:#d4deea;transition:.3s}
.flowline-root .pp-dots i.on{background:#52A8FF;width:14px;border-radius:3px}
.flowline-root .tess{position:relative;padding:24vh 22px;text-align:center;overflow:hidden;perspective:1200px}
.flowline-root .tess::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(60% 55% at 50% 50%,rgba(247,251,255,.9),rgba(247,251,255,.4) 70%,transparent)}
.flowline-root .tessgrid{position:absolute;inset:-6%;z-index:0;display:grid;transform-style:preserve-3d}
.flowline-root .cell{position:relative}
.flowline-root .tri{position:absolute;inset:0;will-change:transform,opacity;backface-visibility:hidden}
.flowline-root .tri.a{clip-path:polygon(0 0,100% 0,0 100%)}
.flowline-root .tri.b{clip-path:polygon(100% 0,100% 100%,0 100%)}
.flowline-root .tess h2{position:relative;z-index:2;font-size:clamp(34px,6vw,58px);font-weight:800;letter-spacing:-1.6px;line-height:1.04}
.flowline-root .tess p{position:relative;z-index:2;color:var(--slate);font-size:clamp(16px,2.4vw,19px);max-width:560px;margin:20px auto 0}
.flowline-root .fullwrap{display:flex;flex-direction:column;align-items:center}
.flowline-root .phone.tall{aspect-ratio:300/600;width:min(300px,76vw)}
.flowline-root .pp{flex:1;background:linear-gradient(180deg,#f4f8ff,#fff 30%);padding:26px 18px 18px;display:flex;flex-direction:column;align-items:center;gap:9px;overflow:hidden}
.flowline-root .pp-av{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#52A8FF,#78C2CE,#FFB07F);display:flex;align-items:center;justify-content:center;color:#fff;font-family:Poppins;font-weight:700;font-size:24px;box-shadow:0 10px 24px rgba(82,168,255,.35)}
.flowline-root .pp-name{font-family:Poppins;font-weight:700;font-size:18px;margin-top:4px}
.flowline-root .pp-bio{font-size:12.5px;color:#8090a4}
.flowline-root .pp-soc{display:flex;gap:12px;margin:6px 0 10px}
.flowline-root .pp-soc span{width:30px;height:30px;border-radius:9px}
.flowline-root .lk{display:flex;align-items:center;gap:11px;width:100%;background:#fff;border:1px solid #eef2f8;border-radius:14px;padding:11px 13px;box-shadow:0 3px 10px rgba(20,60,110,.05)}
.flowline-root .lk .fav{width:22px;height:22px;border-radius:5px;flex-shrink:0;background:#f1f5fb}
.flowline-root .lk span{font-size:13.5px;font-weight:600;color:#23364c}
.flowline-root .cta{text-align:center;padding:14vh 22px 22vh;position:relative}
.flowline-root .cta h2{font-size:clamp(36px,6vw,56px);font-weight:800;letter-spacing:-1.6px;line-height:1.04}
.flowline-root .cta p{font-size:18.5px;color:var(--slate);margin:20px auto 0;max-width:470px;line-height:1.55}
.flowline-root .btn{display:inline-block;margin-top:30px;background:linear-gradient(135deg,#52A8FF,#3D95E8);color:#fff;padding:18px 46px;border-radius:18px;font-weight:700;font-size:17px;box-shadow:0 20px 46px -10px rgba(61,149,232,.65);transition:transform .25s;animation:flh-bob 3.4s ease-in-out infinite}
@keyframes flh-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (max-width:760px){
  .flowline-root .row, .flowline-root .row.r{flex-direction:column;gap:34px;text-align:center}
  .flowline-root .copy{max-width:none}
  .flowline-root .ey{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .flowline-root, .flowline-root *{animation:none!important}
  .flowline-root .word, .flowline-root .rise{opacity:1!important;transform:none!important;filter:none!important}
  .flowline-root .tess .tri{opacity:var(--op)!important;transform:none!important}
  .flowline-root #drawn, .flowline-root #glow{stroke-dashoffset:0!important}
}

.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translateX(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translateX(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z%27/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z%27/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10.5 14l4-8 4 8h-8z%27/%3E%3Cpath id=%27south%27 d=%27M10.5 16l4 8 4-8h-8z%27 fill=%27%23ccc%27/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10.5 14l4-8 4 8h-8z%27/%3E%3Cpath id=%27south%27 d=%27M10.5 16l4 8 4-8h-8z%27 fill=%27%23999%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10.5 14l4-8 4 8h-8z%27/%3E%3Cpath id=%27south%27 d=%27M10.5 16l4 8 4-8h-8z%27 fill=%27%23ccc%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23aaa%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 fill=%27%23f00%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e58978%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e54e33%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23999%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 fill=%27%23f00%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e58978%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e54e33%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23666%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 fill=%27%23f00%27/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 fill-rule=%27evenodd%27 viewBox=%270 0 88 23%27%3E%3Cdefs%3E%3Cpath id=%27logo%27 d=%27M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z%27/%3E%3Cpath id=%27text%27 d=%27M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z%27/%3E%3C/defs%3E%3Cmask id=%27clip%27%3E%3Crect x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27 fill=%27white%27/%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/mask%3E%3Cg id=%27outline%27 opacity=%270.3%27 stroke=%27%23000%27 stroke-width=%273%27%3E%3Ccircle mask=%27url%28%23clip%29%27 cx=%2711.5%27 cy=%2711.5%27 r=%279.25%27/%3E%3Cuse xlink:href=%27%23text%27 mask=%27url%28%23clip%29%27/%3E%3C/g%3E%3Cg id=%27fill%27 opacity=%270.9%27 fill=%27%23fff%27%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 fill-rule=%27evenodd%27 viewBox=%270 0 88 23%27%3E%3Cdefs%3E%3Cpath id=%27logo%27 d=%27M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z%27/%3E%3Cpath id=%27text%27 d=%27M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z%27/%3E%3C/defs%3E%3Cmask id=%27clip%27%3E%3Crect x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27 fill=%27white%27/%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/mask%3E%3Cg id=%27outline%27 opacity=%271%27 stroke=%27%23000%27 stroke-width=%273%27%3E%3Ccircle mask=%27url%28%23clip%29%27 cx=%2711.5%27 cy=%2711.5%27 r=%279.25%27/%3E%3Cuse xlink:href=%27%23text%27 mask=%27url%28%23clip%29%27/%3E%3C/g%3E%3Cg id=%27fill%27 opacity=%271%27 fill=%27%23fff%27%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 fill-rule=%27evenodd%27 viewBox=%270 0 88 23%27%3E%3Cdefs%3E%3Cpath id=%27logo%27 d=%27M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z%27/%3E%3Cpath id=%27text%27 d=%27M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z%27/%3E%3C/defs%3E%3Cmask id=%27clip%27%3E%3Crect x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27 fill=%27white%27/%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/mask%3E%3Cg id=%27outline%27 opacity=%271%27 stroke=%27%23fff%27 stroke-width=%273%27 fill=%27%23fff%27%3E%3Ccircle mask=%27url%28%23clip%29%27 cx=%2711.5%27 cy=%2711.5%27 r=%279.25%27/%3E%3Cuse xlink:href=%27%23text%27 mask=%27url%28%23clip%29%27/%3E%3C/g%3E%3Cg id=%27fill%27 opacity=%271%27 fill=%27%23000%27%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill-rule=%27evenodd%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill-rule=%27evenodd%27 fill=%27%23fff%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill-rule=%27evenodd%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:44px;width:44px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}
/* Immersive theme engine — atmosphere, kinetic headings and depth for the
   token-driven "wow" themes (Flowline / Studio / Calm / Editorial). Everything
   is scoped under a `.theme-<key>` / `.theme-kinetic` class set by
   applyThemeToPage, so plain presets and existing pages are untouched. All
   motion is gated behind prefers-reduced-motion. */

/* ---- per-theme kinetic heading gradient ---- */
.page-container.theme-flowline  { --theme-grad: linear-gradient(105deg, #52A8FF, #78C2CE 38%, #FFB07F 72%, #8B5CF6); }
.page-container.theme-studio    { --theme-grad: linear-gradient(105deg, #C084FC, #818CF8 50%, #F472B6); }
.page-container.theme-calm      { --theme-grad: linear-gradient(105deg, #8B7FC7, #9FC0E8 50%, #E2A6C4); }
.page-container.theme-editorial { --theme-grad: linear-gradient(105deg, #221E1A, #B0532E); }

/* kinetic page title (applied to the profile name <h1> via .page-title-kinetic) */
.theme-kinetic .page-title-kinetic {
  background-image: var(--theme-grad, linear-gradient(105deg, var(--theme-accent), var(--theme-accent)));
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (prefers-reduced-motion: no-preference) {
  .theme-kinetic .page-title-kinetic { animation: pageKineticSweep 9s ease-in-out infinite; }
}
@keyframes pageKineticSweep {
  0%, 100% { background-position: 0 50%; }
  50% { background-position: 100% 50%; }
}

/* ---- depth: give detail cards the theme's elevation ---- */
.page-container.theme-kinetic .detail-card,
.page-container.theme-kinetic .unified-container {
  box-shadow: var(--theme-depth-shadow, 0 6px 18px -12px rgba(20, 60, 110, 0.12));
}

/* ---- atmosphere backdrop ---- */
/* z-index:-1 keeps it behind content (which paints naturally above) yet above
   the container's background fill, scoped by .page-container's stacking context.
   This replaces the old "promote every content child to position:relative"
   trick, which also clobbered fixed overlays like the theme drawer. */
.page-atmo {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}

/* orbs (Flowline) */
.page-atmo-orbs .ao { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5; }
.theme-flowline .page-atmo-orbs .ao1 { width: 46vw; height: 46vw; left: -8vw; top: 2vh; background: radial-gradient(circle, #52A8FF, transparent 70%); }
.theme-flowline .page-atmo-orbs .ao2 { width: 42vw; height: 42vw; right: -6vw; top: 16vh; background: radial-gradient(circle, #78C2CE, transparent 70%); }
.theme-flowline .page-atmo-orbs .ao3 { width: 50vw; height: 50vw; left: 4vw; top: 58vh; background: radial-gradient(circle, #FFB07F, transparent 70%); }
.theme-flowline .page-atmo-orbs .ao4 { width: 44vw; height: 44vw; right: 0; top: 84vh; background: radial-gradient(circle, #8B5CF6, transparent 70%); }
@media (prefers-reduced-motion: no-preference) {
  .page-atmo-orbs .ao1 { animation: atmoDriftA 24s ease-in-out infinite; }
  .page-atmo-orbs .ao2 { animation: atmoDriftB 28s ease-in-out infinite; }
  .page-atmo-orbs .ao3 { animation: atmoDriftA 32s ease-in-out infinite; }
  .page-atmo-orbs .ao4 { animation: atmoDriftB 26s ease-in-out infinite; }
}

/* aurora (Studio) — saturated rotating glow on the dark canvas */
.page-atmo-aurora .aa { position: absolute; border-radius: 50%; filter: blur(85px); opacity: 0.55; }
.page-atmo-aurora .aa1 { width: 80vw; height: 80vw; left: -20vw; top: -10vh; background: radial-gradient(circle, #7C3AED, transparent 65%); }
.page-atmo-aurora .aa2 { width: 70vw; height: 70vw; right: -18vw; top: 40vh; background: radial-gradient(circle, #DB2777, transparent 65%); }
@media (prefers-reduced-motion: no-preference) {
  .page-atmo-aurora .aa1 { animation: atmoSpin 60s linear infinite; transform-origin: 60% 40%; }
  .page-atmo-aurora .aa2 { animation: atmoSpin 80s linear infinite reverse; transform-origin: 40% 60%; }
}

/* mesh (Calm) — gentle pastel drift */
.page-atmo-mesh .am { position: absolute; border-radius: 50%; filter: blur(75px); opacity: 0.5; }
.page-atmo-mesh .am1 { width: 55vw; height: 55vw; left: -10vw; top: -5vh; background: radial-gradient(circle, #C7D6F5, transparent 70%); }
.page-atmo-mesh .am2 { width: 50vw; height: 50vw; right: -8vw; top: 30vh; background: radial-gradient(circle, #F2D9EC, transparent 70%); }
.page-atmo-mesh .am3 { width: 52vw; height: 52vw; left: 10vw; top: 70vh; background: radial-gradient(circle, #FBE6D4, transparent 70%); }
@media (prefers-reduced-motion: no-preference) {
  .page-atmo-mesh .am1 { animation: atmoDriftA 30s ease-in-out infinite; }
  .page-atmo-mesh .am2 { animation: atmoDriftB 34s ease-in-out infinite; }
  .page-atmo-mesh .am3 { animation: atmoDriftA 38s ease-in-out infinite; }
}

@keyframes atmoDriftA { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(5%, 4%) scale(1.1); } }
@keyframes atmoDriftB { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-6%, 5%) scale(1.12); } }
@keyframes atmoSpin { to { transform: rotate(360deg); } }

/* ---- Social icon colour mode ----
   Default (no class) = monochrome: icons inherit the theme text colour (set
   inline on the element). The 'brand' mode renders the real brand colour on a
   white contrast chip so the actual app colours read on any backdrop. The
   per-icon brand hex arrives as the inline --brand custom property; we override
   colour with !important to beat the inline mono fallback. */
.page-container.icons-brand .social-icon-link {
  background: #ffffff;
  color: var(--brand, var(--theme-text-primary, #1F2937)) !important;
  box-shadow: 0 2px 9px -3px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(0, 0, 0, 0.05);
}
.page-container.icons-brand .social-icon-link:hover {
  box-shadow: 0 4px 14px -3px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(0, 0, 0, 0.05);
}
.page-container.icons-brand .social-tile-icon {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: var(--brand, var(--theme-text-primary, #1F2937)) !important;
  box-shadow: 0 2px 9px -3px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(0, 0, 0, 0.05);
}

/* Social detail-card icons follow the icon colour mode too, so the choice is
   consistent across every social surface — row, tile and full card. Plain
   (theme text colour) by default; the real brand colour in brand mode. Only
   social/brand platforms carry .social-card-icon, so non-social detail icons
   (Event, Menu, …) keep their per-type colour. */
.page-container:not(.icons-brand) .social-card-icon {
  color: var(--theme-text-primary, #1F2937) !important;
}
.page-container.icons-brand .social-card-icon {
  color: var(--brand, currentColor) !important;
}

/* ---- Generic atmosphere + kinetic gradient (vibe presets, #47) ----
   So the orbs atmosphere and kinetic headings work on ANY theme/vibe, not just
   the token themes. The per-theme rules earlier out-specify these (keeping their
   hand-tuned palettes); every other theme falls back to accent-derived colour. */
.page-container {
  --theme-grad: linear-gradient(105deg, var(--theme-accent, #52A8FF), color-mix(in srgb, var(--theme-accent, #52A8FF) 55%, #8B5CF6));
}
.page-atmo-orbs .ao1 { width: 46vw; height: 46vw; left: -8vw; top: 2vh;  background: radial-gradient(circle, var(--theme-accent, #52A8FF), transparent 70%); }
.page-atmo-orbs .ao2 { width: 42vw; height: 42vw; right: -6vw; top: 16vh; background: radial-gradient(circle, color-mix(in srgb, var(--theme-accent, #52A8FF) 60%, #FFFFFF), transparent 70%); }
.page-atmo-orbs .ao3 { width: 50vw; height: 50vw; left: 4vw;  top: 58vh; background: radial-gradient(circle, color-mix(in srgb, var(--theme-accent, #52A8FF) 55%, #8B5CF6), transparent 70%); }
.page-atmo-orbs .ao4 { width: 44vw; height: 44vw; right: 0;   top: 84vh; background: radial-gradient(circle, color-mix(in srgb, var(--theme-accent, #52A8FF) 65%, #78C2CE), transparent 70%); }

