*, ::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 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: 'Plus Jakarta Sans', Manrope, ui-sans-serif, system-ui, 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::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

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;
}
  :root {
    --background: 0 0% 100%;
    --foreground: 240 10% 10%;

    --card: 0 0% 100%;
    --card-foreground: 240 10% 10%;

    --popover: 0 0% 100%;
    --popover-foreground: 240 10% 10%;

    --primary: 240 10% 10%;
    --primary-foreground: 0 0% 100%;

    --secondary: 280 70% 92%;
    --secondary-foreground: 240 10% 10%;

    --muted: 240 5% 96%;
    --muted-foreground: 240 4% 46%;

    --accent: 330 80% 60%;
    --accent-foreground: 0 0% 100%;

    --destructive: 0 84% 60%;
    --destructive-foreground: 0 0% 100%;

    --border: 240 6% 90%;
    --input: 240 6% 90%;
    --ring: 330 80% 60%;

    --radius: 1rem;

    /* Pride gradient colors */
    --pride-red: 0 100% 60%;
    --pride-orange: 30 100% 60%;
    --pride-yellow: 50 100% 60%;
    --pride-green: 140 80% 50%;
    --pride-blue: 220 90% 60%;
    --pride-purple: 280 70% 60%;

    /* Activity specific */
    --activity-card: 0 0% 99%;
    --activity-highlight: 330 80% 96%;

    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 330 80% 60%;

    /* Editor specific */
    --editor-overlay: 240 10% 5%;
    --editor-overlay-foreground: 0 0% 98%;
    --editor-control: 0 0% 100% / 0.1;
    --editor-control-hover: 0 0% 100% / 0.2;

    /* Status colors */
    --success: 140 80% 50%;
    --success-foreground: 0 0% 100%;
  }

  .dark {
    --background: 240 10% 10%;
    --foreground: 0 0% 98%;

    --card: 240 8% 15%;
    --card-foreground: 0 0% 98%;

    --popover: 240 8% 15%;
    --popover-foreground: 0 0% 98%;

    --primary: 0 0% 98%;
    --primary-foreground: 240 10% 10%;

    --secondary: 280 50% 25%;
    --secondary-foreground: 0 0% 98%;

    --muted: 240 6% 20%;
    --muted-foreground: 240 5% 65%;

    --accent: 330 80% 60%;
    --accent-foreground: 0 0% 98%;

    --destructive: 0 62% 50%;
    --destructive-foreground: 0 0% 98%;

    --border: 240 6% 20%;
    --input: 240 6% 20%;
    --ring: 330 80% 60%;

    --activity-card: 240 8% 18%;
    --activity-highlight: 330 50% 15%;

    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 330 80% 60%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 330 80% 60%;

    /* Editor specific - same dark in both modes */
    --editor-overlay: 240 10% 5%;
    --editor-overlay-foreground: 0 0% 98%;
    --editor-control: 0 0% 100% / 0.1;
    --editor-control-hover: 0 0% 100% / 0.2;

    /* Status colors */
    --success: 140 80% 50%;
    --success-foreground: 0 0% 100%;
  }
  * {
  border-color: hsl(var(--border));
}

  html {
    /* Ensure html allows scrolling on iOS */
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    height: 100%;
  }

  body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
    /* Use dvh for iOS notch/dynamic toolbar support, with vh fallback */
    min-height: 100vh;
    min-height: 100dvh;
    /* iOS smooth scrolling with momentum */
    -webkit-overflow-scrolling: touch;
    /* Always reserve vertical scrollbar space to avoid layout jumps */
    overflow-y: scroll;
    position: relative;
    /* Prevent iOS text size adjustment */
    -webkit-text-size-adjust: 100%;
    /* Allow Chrome trackpad scrolling while preventing aggressive overscroll */
    overscroll-behavior-y: auto;
    /* Android: explicitly allow vertical scrolling gestures */
    touch-action: pan-y;
}

  /* iOS-specific input fixes */
  input,
  textarea,
  select {
    /* Prevent zoom on focus */
    font-size: 16px;
    /* Fix iOS appearance */
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }

  /* Fix iOS autocomplete styling - light mode */
  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px hsl(var(--background)) inset !important;
    -webkit-text-fill-color: hsl(var(--foreground)) !important;
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
  }

  /* Fix iOS autocomplete styling - dark mode */
  .dark input:-webkit-autofill,
  .dark input:-webkit-autofill:hover,
  .dark input:-webkit-autofill:focus,
  .dark input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px hsl(240 8% 15%) inset !important;
    -webkit-text-fill-color: hsl(0 0% 98%) !important;
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
  }

  #root {
    /* Ensure root container allows content to flow and scroll */
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
  font-weight: 700;
  letter-spacing: -0.025em;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) {

  .container {
    max-width: 1400px;
  }
}
.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 !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-12 {
  bottom: -3rem;
}
.-left-12 {
  left: -3rem;
}
.-right-12 {
  right: -3rem;
}
.-top-12 {
  top: -3rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-0\.5 {
  bottom: 0.125rem;
}
.left-0 {
  left: 0px;
}
.left-1 {
  left: 0.25rem;
}
.left-1\/2 {
  left: 50%;
}
.left-2 {
  left: 0.5rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-\[50\%\] {
  left: 50%;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.top-0 {
  top: 0px;
}
.top-0\.5 {
  top: 0.125rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-4 {
  top: 1rem;
}
.top-6 {
  top: 1.5rem;
}
.top-\[1px\] {
  top: 1px;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[60\%\] {
  top: 60%;
}
.top-full {
  top: 100%;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-50 {
  z-index: 50;
}
.z-\[10000\] {
  z-index: 10000;
}
.z-\[10001\] {
  z-index: 10001;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[9998\] {
  z-index: 9998;
}
.z-\[9999\] {
  z-index: 9999;
}
.order-first {
  order: -9999;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-1\.5 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.-ml-4 {
  margin-left: -1rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mt-0 {
  margin-top: 0px;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-24 {
  margin-top: 6rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-auto {
  margin-top: auto;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.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;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.h-1 {
  height: 0.25rem;
}
.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-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[22px\] {
  height: 22px;
}
.h-\[27px\] {
  height: 27px;
}
.h-\[31px\] {
  height: 31px;
}
.h-\[4px\] {
  height: 4px;
}
.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
  height: var(--radix-navigation-menu-viewport-height);
}
.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.h-svh {
  height: 100svh;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-screen {
  max-height: 100vh;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[20px\] {
  min-height: 20px;
}
.min-h-\[22px\] {
  min-height: 22px;
}
.min-h-\[24px\] {
  min-height: 24px;
}
.min-h-\[28px\] {
  min-height: 28px;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-svh {
  min-height: 100svh;
}
.w-0 {
  width: 0px;
}
.w-1 {
  width: 0.25rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-14 {
  width: 3.5rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-4 {
  width: 1rem;
}
.w-5 {
  width: 1.25rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[--sidebar-width\] {
  width: var(--sidebar-width);
}
.w-\[100px\] {
  width: 100px;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[22px\] {
  width: 22px;
}
.w-\[27px\] {
  width: 27px;
}
.w-\[40px\] {
  width: 40px;
}
.w-\[51px\] {
  width: 51px;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-px {
  width: 1px;
}
.w-screen {
  width: 100vw;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[22px\] {
  min-width: 22px;
}
.min-w-\[28px\] {
  min-width: 28px;
}
.min-w-\[44px\] {
  min-width: 44px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.max-w-\[--skeleton-width\] {
  max-width: var(--skeleton-width);
}
.max-w-\[270px\] {
  max-width: 270px;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}
.flex-1 {
  flex: 1 1 0%;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.grow-0 {
  flex-grow: 0;
}
.basis-full {
  flex-basis: 100%;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.-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-x-px {
  --tw-translate-x: -1px;
  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-x-\[-50\%\] {
  --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-x-px {
  --tw-translate-x: 1px;
  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-\[-50\%\] {
  --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));
}
.rotate-45 {
  --tw-rotate: 45deg;
  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-90 {
  --tw-rotate: 90deg;
  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 pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-auto {
  touch-action: auto;
}
.touch-none {
  touch-action: none;
}
.touch-pan-x {
  --tw-pan-x: pan-x;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-manipulation {
  touch-action: manipulation;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-stretch {
  align-items: stretch;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * 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-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-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-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));
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.break-words {
  overflow-wrap: break-word;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: var(--radius);
}
.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-t-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-tl-sm {
  border-top-left-radius: calc(var(--radius) - 4px);
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-l {
  border-left-width: 1px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-\[--color-border\] {
  border-color: var(--color-border);
}
.border-border {
  border-color: hsl(var(--border));
}
.border-border\/30 {
  border-color: hsl(var(--border) / 0.3);
}
.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}
.border-destructive {
  border-color: hsl(var(--destructive));
}
.border-destructive\/50 {
  border-color: hsl(var(--destructive) / 0.5);
}
.border-foreground\/20 {
  border-color: hsl(var(--foreground) / 0.2);
}
.border-input {
  border-color: hsl(var(--input));
}
.border-muted-foreground\/20 {
  border-color: hsl(var(--muted-foreground) / 0.2);
}
.border-muted-foreground\/40 {
  border-color: hsl(var(--muted-foreground) / 0.4);
}
.border-primary {
  border-color: hsl(var(--primary));
}
.border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.border-transparent {
  border-color: transparent;
}
.border-b-muted\/50 {
  border-bottom-color: hsl(var(--muted) / 0.5);
}
.border-l-transparent {
  border-left-color: transparent;
}
.border-t-transparent {
  border-top-color: transparent;
}
.bg-\[\#007AFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 255 / var(--tw-bg-opacity, 1));
}
.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}
.bg-accent {
  background-color: hsl(var(--accent));
}
.bg-activity-highlight {
  background-color: hsl(var(--activity-highlight));
}
.bg-background {
  background-color: hsl(var(--background));
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-border {
  background-color: hsl(var(--border));
}
.bg-border\/50 {
  background-color: hsl(var(--border) / 0.5);
}
.bg-border\/60 {
  background-color: hsl(var(--border) / 0.6);
}
.bg-card {
  background-color: hsl(var(--card));
}
.bg-destructive {
  background-color: hsl(var(--destructive));
}
.bg-foreground {
  background-color: hsl(var(--foreground));
}
.bg-foreground\/20 {
  background-color: hsl(var(--foreground) / 0.2);
}
.bg-muted {
  background-color: hsl(var(--muted));
}
.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
  background-color: hsl(var(--muted) / 0.6);
}
.bg-popover {
  background-color: hsl(var(--popover));
}
.bg-popover\/80 {
  background-color: hsl(var(--popover) / 0.8);
}
.bg-popover\/95 {
  background-color: hsl(var(--popover) / 0.95);
}
.bg-primary {
  background-color: hsl(var(--primary));
}
.bg-secondary {
  background-color: hsl(var(--secondary));
}
.bg-sidebar {
  background-color: hsl(var(--sidebar-background));
}
.bg-sidebar-border {
  background-color: hsl(var(--sidebar-border));
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}
.fill-current {
  fill: currentColor;
}
.stroke-\[3\] {
  stroke-width: 3;
}
.object-cover {
  -o-object-fit: 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-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-\[1px\] {
  padding: 1px;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.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-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.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-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.align-middle {
  vertical-align: middle;
}
.font-display {
  font-family: Manrope, 'Plus Jakarta Sans', ui-sans-serif, sans-serif;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.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-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.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-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-\[\#007AFF\] {
  --tw-text-opacity: 1;
  color: rgb(0 122 255 / var(--tw-text-opacity, 1));
}
.text-accent-foreground {
  color: hsl(var(--accent-foreground));
}
.text-card-foreground {
  color: hsl(var(--card-foreground));
}
.text-current {
  color: currentColor;
}
.text-destructive {
  color: hsl(var(--destructive));
}
.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}
.text-foreground {
  color: hsl(var(--foreground));
}
.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}
.text-primary {
  color: hsl(var(--primary));
}
.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}
.text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.text-transparent {
  color: transparent;
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-90 {
  opacity: 0.9;
}
.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-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 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-\[0_0_15px_rgba\(330\2c 80\%\2c 60\%\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(330,80%,60%,0.3);
  --tw-shadow-colored: 0 0 15px 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-\[0_3px_8px_rgba\(0\2c 0\2c 0\2c 0\.15\)\2c 0_1px_1px_rgba\(0\2c 0\2c 0\2c 0\.16\)\] {
  --tw-shadow: 0 3px 8px rgba(0,0,0,0.15),0 1px 1px rgba(0,0,0,0.16);
  --tw-shadow-colored: 0 3px 8px var(--tw-shadow-color), 0 1px 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-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-none {
  --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);
}
.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);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring-0 {
  --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);
}
.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-ring {
  --tw-ring-color: hsl(var(--ring));
}
.ring-sidebar-ring {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}
.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);
}
.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-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-blur-xl {
  --tw-backdrop-blur: blur(24px);
  -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-\[left\2c right\2c width\] {
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[margin\2c opa\] {
  transition-property: margin,opa;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c height\2c padding\] {
  transition-property: width,height,padding;
  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-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  transition-timing-function: linear;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in-0 {
  --tw-enter-opacity: 0;
}
.fade-in-80 {
  --tw-enter-opacity: 0.8;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.duration-1000 {
  animation-duration: 1000ms;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  animation-timing-function: linear;
}
.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running {
  animation-play-state: running;
}
/* Nearby view-mode toggle: active state (shared by Grid/Groups/Services) */
/* Nearby toggle notification border shimmer */
@keyframes float {
    0%,
    100% {
      transform: translateY(0px);
    }
    50% {
      transform: translateY(-20px);
    }
  }
/* iOS safe area utilities */
.pt-safe {
    padding-top: env(safe-area-inset-top);
  }
.pb-safe {
    padding-bottom: env(safe-area-inset-bottom);
  }
/* iOS-specific fixed navigation */
@supports (-webkit-touch-callout: none) {
    nav.fixed.bottom-0 {
      position: fixed !important;
      bottom: 0 !important;
      /* Use transform3d for better iOS performance */
      transform: translate3d(0, 0, 0);
      -webkit-transform: translate3d(0, 0, 0);
      /* Prevent iOS from hiding fixed elements on scroll */
      backface-visibility: hidden;
      will-change: transform;
    }
  }
/* iPad-specific improvements */
/* iOS Keyboard Enhancements */
/* Keep navigation fixed when keyboard is open */
/* Smooth transitions for iOS keyboard */
@supports (-webkit-touch-callout: none) {
    input,
    textarea {
      font-size: 16px; /* Prevent zoom on iOS */
      transition: all 0.2s ease-in-out;
    }
  }
/* Android scrolling enhancement - ensure all overflow containers allow touch scrolling */
.overflow-y-auto,
  .overflow-y-scroll,
  .overflow-auto {
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }
/* Fixed containers with overflow need explicit touch handling on Android */
.fixed.inset-0.overflow-auto,
  .fixed.inset-0.overflow-y-auto {
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
  }
.\[-webkit-text-size-adjust\:100\%\] {
  -webkit-text-size-adjust: 100%;
}

/* Main's existing secondary-page palette, scoped by PublicCommunityPages. */
:root {
  --public-reference-bg: #020617;
  --public-reference-text: #f8fafc;
  --public-reference-muted: #cbd5e1;
  --public-reference-border: rgba(255,255,255,0.1);
  --public-reference-panel: rgba(255,255,255,0.05);
  --public-reference-accent: #f472b6;
  --public-reference-title: linear-gradient(90deg,#f472b6,#c084fc,#38bdf8);
  --public-reference-investors: linear-gradient(135deg,#020617,rgba(88,28,135,0.5),#020617);
  --public-reference-ticketmaster: linear-gradient(135deg,rgba(14,165,233,0.2),rgba(37,99,235,0.1));
  --public-reference-viator: linear-gradient(135deg,rgba(16,185,129,0.2),rgba(13,148,136,0.1));
  --public-reference-eventbrite: linear-gradient(135deg,rgba(249,115,22,0.2),rgba(225,29,72,0.1));
  --public-reference-shopline: linear-gradient(135deg,rgba(217,70,239,0.2),rgba(147,51,234,0.1));
}

/* Shimmer animation for skeleton loading */
@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

/* Hide scrollbar utility */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Global touch optimization - removes 300ms tap delay */
html {
  touch-action: manipulation;
}

/* Buttons and interactive elements - faster tap response */
button,
a,
[role="button"],
[tabindex],
input[type="submit"],
input[type="button"] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Android Scroll Optimization */
/* Improves scroll sensitivity and momentum on Android WebView */
[data-android-scroll="true"] {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: auto;
  scroll-behavior: smooth;
  /* GPU acceleration for smoother scrolling */
  transform: translateZ(0);
  will-change: scroll-position;
  /* Prevent touch action conflicts */
  touch-action: pan-y pan-x;
}

/* Android form containers - better scroll with inputs */
[data-android-scroll="true"] input,
[data-android-scroll="true"] textarea,
[data-android-scroll="true"] select {
  /* Prevent inputs from blocking parent scroll */
  touch-action: manipulation;
}

/* Android: Ensure smooth momentum scrolling */
@supports (-webkit-touch-callout: none) or (touch-action: pan-y) {
  [data-android-scroll="true"] {
    /* Force hardware acceleration */
    backface-visibility: hidden;
    perspective: 1000px;
  }
}

/* iOS Accessibility Support */
.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;
}

.sr-only:focus:not(.sr-only) {
  position: static;
  width: auto;
  height: auto;
  padding: inherit;
  margin: inherit;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/* Reduced Motion Support */
.reduce-motion *,
.low-end-device * {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}

/* ========================================
   FONT LOADING STRATEGY
   Uses font-display: optional on low-end for instant text
   ======================================== */

/* Low-end device optimizations - use system fonts, reduce effects */
.low-end-device {
  /* Use system font stack for faster rendering */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Disable expensive backdrop filters */
  --backdrop-blur: none;
}

/* Override custom font loading on low-end devices */
.low-end-device * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.low-end-device *[class*="backdrop-blur"],
.low-end-device *[class*="backdrop-filter"] {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Disable shadows on low-end devices */
.low-end-device *[class*="shadow-lg"],
.low-end-device *[class*="shadow-xl"],
.low-end-device *[class*="shadow-2xl"] {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* ========================================
   SCROLL PAINT OPTIMIZATION
   Reduces expensive effects during active scroll
   ======================================== */

/* During active scroll: reduce shadows and blur */
.scroll-active *[class*="shadow-lg"],
.scroll-active *[class*="shadow-xl"],
.scroll-active *[class*="shadow-2xl"] {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  transition: none !important;
}

.scroll-active *[class*="backdrop-blur"],
.scroll-active *[class*="backdrop-filter"] {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* More aggressive effect reduction during scroll */
.scroll-effects-disabled * {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Disable will-change during scroll to save GPU memory */
.scroll-active [style*="will-change"] {
  will-change: auto !important;
}

/* Content visibility for offscreen content - skip rendering until visible */
.content-auto {
  content-visibility: auto;
  contain-intrinsic-size: auto 200px;
}

/* List items with content visibility */
.list-item-auto {
  content-visibility: auto;
  contain-intrinsic-size: auto 80px;
}

/* Card containers with content visibility */
.card-auto {
  content-visibility: auto;
  contain-intrinsic-size: auto 150px;
}

/* Apply to virtualized list items on low-end devices */
.low-end-device [data-virtuoso-item] {
  content-visibility: auto;
  contain: layout style paint;
}

/* Android Performance: Faster animations for smoother experience */
.android-platform * {
  animation-duration: 0.15s !important;
  transition-duration: 0.15s !important;
}

/* Keep critical animations at normal speed on Android */
.android-platform .animate-spin,
.android-platform .animate-pulse,
.android-platform .animate-shimmer,
.android-platform [class*="shimmer"],
.android-platform [class*="skeleton"],
.android-platform [class*="Skeleton"],
.android-platform [class*="loading"],
.android-platform [data-state="open"],
.android-platform [data-state="closed"],
.android-platform svg animate,
.android-platform svg animateTransform,
.android-platform .supporter-shimmer-border,
.android-platform .vibe-shimmer-border,
.android-platform .nearby-toggle-active,
.android-platform .nearby-toggle-indicator,
.android-platform [style*="buttonShimmer"],
.android-platform [style*="rotateStroke"],
.android-platform [style*="gentlePulse"] {
  animation-duration: revert !important;
  transition-duration: revert !important;
}

/* Page loader animations - keep at designed speed on Android */
.android-platform .page-loader-container,
.android-platform .page-loader-container *,
.android-platform [style*="animation: rotateStroke"],
.android-platform [style*="animation: fadeIn"],
.android-platform [style*="animation: gentlePulse"] {
  animation-duration: revert !important;
}

/* ========================================
   CHAT MICRO-ANIMATIONS
   Non-blocking, GPU-accelerated animations
   ======================================== */

/* Message enter animation - 120ms, opacity + subtle translate only (no layout) */
@keyframes messageEnter {
  from {
    opacity: 0;
    transform: translateY(8px) translateZ(0);
  }
  to {
    opacity: 1;
    transform: translateY(0) translateZ(0);
  }
}

.chat-message-enter {
  animation: messageEnter 120ms ease-out forwards;
  will-change: opacity, transform;
}

/* Status tick animations - subtle scale pulse, no layout shift */
@keyframes statusTickEnter {
  0% {
    opacity: 0;
    transform: scale(0.5) translateZ(0);
  }
  60% {
    opacity: 1;
    transform: scale(1.15) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateZ(0);
  }
}

.status-tick-animate {
  animation: statusTickEnter 150ms ease-out forwards;
  will-change: opacity, transform;
}

/* Status tick read state - gentle color pulse */
@keyframes statusReadPulse {
  0% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.status-tick-read {
  animation: statusReadPulse 200ms ease-out forwards;
}

/* Android: Exclude chat animations from global speed-up to keep designed timing */
.android-platform .chat-message-enter,
.android-platform .status-tick-animate,
.android-platform .status-tick-read {
  animation-duration: revert !important;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .chat-message-enter,
  .status-tick-animate,
  .status-tick-read {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ========================================
   END CHAT MICRO-ANIMATIONS
   ======================================== */

/* Splash Screen Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes subtlePulse {
  0%,
  100% {
    opacity: 0.5;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

@keyframes smoothBounce {
  0%,
  80%,
  100% {
    transform: translateY(0) scale(1);
    opacity: 0.7;
  }
  40% {
    transform: translateY(-12px) scale(1.1);
    opacity: 1;
  }
}

@keyframes gentlePulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.7;
  }
}

@keyframes slideUpFade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes goldenShimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

@keyframes purpleShimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

@keyframes vibeShimmer {
  0% {
    background-position: -200% center;
    opacity: 0.8;
  }
  50% {
    background-position: 0% center;
    opacity: 1;
  }
  100% {
    background-position: 200% center;
    opacity: 0.8;
  }
}

@keyframes buttonShimmer {
  0% {
    background-position: 200% center;
  }
  100% {
    background-position: -200% center;
  }
}

@keyframes goldenShimmer {
  0% {
    background-position: -200% center;
    opacity: 0.7;
  }
  50% {
    background-position: 0% center;
    opacity: 1;
  }
  100% {
    background-position: 200% center;
    opacity: 0.7;
  }
}

@keyframes goldenPulse {
  0%,
  100% {
    box-shadow: inset 0 0 0 3px #d4af37;
  }
  50% {
    box-shadow: inset 0 0 0 3px #f9e076;
  }
}

@keyframes goldenBorderPulse {
  0%,
  100% {
    border-color: #d4af37;
  }
  50% {
    border-color: #f9e076;
  }
}

.supporter-shimmer-border {
  border: 2px solid transparent;
  background: linear-gradient(90deg, #b8962a 0%, #fff8dc 20%, #d4af37 40%, #fff8dc 60%, #d4af37 80%, #b8962a 100%)
    border-box;
  -webkit-mask:
    linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  background-size: 400% 100%;
  animation: goldenShimmerFast 1.5s linear infinite;
}

@keyframes goldenShimmerFast {
  0% {
    background-position: 100% center;
  }
  100% {
    background-position: -100% center;
  }
}

/* Queen for a Day shimmer - black purple pink gradient */
@keyframes queenShimmer {
  0% {
    background-position: -200% center;
    opacity: 0.9;
  }
  50% {
    background-position: 0% center;
    opacity: 1;
  }
  100% {
    background-position: 200% center;
    opacity: 0.9;
  }
}

.queen-shimmer-border {
  position: relative;
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    #1a1a2e 0%,
    #6b21a8 20%,
    #a855f7 35%,
    #ec4899 50%,
    #a855f7 65%,
    #6b21a8 80%,
    #1a1a2e 100%
  );
  background-size: 300% 100%;
  animation: queenShimmer 2s ease-in-out infinite;
}

.supporter-border {
  box-shadow: inset 0 0 0 3px #d4af37;
  animation: goldenPulse 2s ease-in-out infinite;
}

/* Premium Profile Card Animations (lightweight for iOS) */
@keyframes profile-card-reveal {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.profile-card-reveal {
  animation: profile-card-reveal 0.45s ease-out forwards;
  animation-fill-mode: both;
  opacity: 0;
  /* Optimize rendering for smooth scrolling without heavy 3D transforms */
  will-change: opacity, transform;
  contain: layout style paint;
}

/* Smooth hover state with subtle lift */
.profile-card-reveal:hover {
  transform: translateY(-2px);
  transition: transform 0.25s ease-out;
}

/* Optimize scroll performance for grid containers */
.grid {
  /* Optimize paint and layout without transform that breaks fixed positioning */
  contain: layout style paint;
}

/* Smooth image loading fade-in - DISABLED to prevent page glitches */
/* img {
  animation: image-fade-in 0.3s ease-out;
}

@keyframes image-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
} */

/* Definition of the design system. All colors, gradients, fonts, etc should be defined here.
All colors MUST be HSL.
*/

/* Emoji note styling for map (Instagram-style) */
.emoji-note {
  width: 32px;
  height: 32px;
  background: hsl(var(--background));
  border: 2px solid hsl(var(--accent));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  animation: emoji-note-appear 0.3s ease-out;
}

@keyframes emoji-note-appear {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* RTL (Right-to-Left) Support for Arabic and Hebrew */
[dir="rtl"] {
  direction: rtl;
}

/* Flip horizontal margins and padding in RTL */
[dir="rtl"] .ml-auto {
  margin-left: 0 !important;
  margin-right: auto !important;
}

[dir="rtl"] .mr-auto {
  margin-right: 0 !important;
  margin-left: auto !important;
}

/* Flip text alignment */
[dir="rtl"] .text-left {
  text-align: right !important;
}

[dir="rtl"] .text-right {
  text-align: left !important;
}

/* Flip flex directions */
[dir="rtl"] .flex-row {
  flex-direction: row-reverse;
}

/* Flip floating elements */
[dir="rtl"] .float-left {
  float: right !important;
}

[dir="rtl"] .float-right {
  float: left !important;
}

/* Flip border radius */
[dir="rtl"] .rounded-l,
[dir="rtl"] .rounded-tl,
[dir="rtl"] .rounded-bl {
  border-top-right-radius: var(--radius) !important;
  border-bottom-right-radius: var(--radius) !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

[dir="rtl"] .rounded-r,
[dir="rtl"] .rounded-tr,
[dir="rtl"] .rounded-br {
  border-top-left-radius: var(--radius) !important;
  border-bottom-left-radius: var(--radius) !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Navigation and sidebar RTL adjustments */
[dir="rtl"] nav,
[dir="rtl"] aside {
  direction: rtl;
}

/* RTL: Only flip directional icons that need flipping */
/* Most icons should NOT flip - only arrows/chevrons pointing left/right */
[dir="rtl"] [data-flip-rtl] svg,
[dir="rtl"] svg[data-flip-rtl] {
  transform: scaleX(-1);
}

/* Explicit no-flip override */
[dir="rtl"] .no-flip,
[dir="rtl"] [data-no-flip],
[dir="rtl"] [data-no-flip] svg {
  transform: none !important;
}

/* Google Maps marker styling - remove faint box around circular avatars */
.gm-style img[src*="supabase.co"],
.gm-style img[src*="twemoji"] {
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
}

/* Cluster label badge styling */
.gm-style div[style*="font-weight: bold"] {
  background: hsl(var(--primary)) !important;
  border-radius: 50% !important;
  min-width: 20px !important;
  min-height: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* iOS Safe Area Utilities */
.pt-safe {
  padding-top: env(safe-area-inset-top, 0px);
}

.pb-safe {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.pl-safe {
  padding-left: env(safe-area-inset-left, 0px);
}

.pr-safe {
  padding-right: env(safe-area-inset-right, 0px);
}

.p-safe {
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}

/* iOS momentum scrolling */
.ios-scroll {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

/* iOS touch optimization */
.ios-touch {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

/* iOS active state */
.ios-active:active {
  opacity: 0.7;
  transform: scale(0.98);
}

/* iOS backdrop blur for overlays */
.ios-blur {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

/* iOS GPU acceleration */
.ios-gpu {
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000px;
}

/* ========== ANDROID PERFORMANCE OPTIMIZATIONS ========== */

/* Android GPU acceleration for scrollable containers (standard tier) */
.android-gpu-accelerated:not(.android-high-tier) .scroll-container,
.android-gpu-accelerated:not(.android-high-tier) [class*="overflow-auto"],
.android-gpu-accelerated:not(.android-high-tier) [class*="overflow-y-auto"] {
  will-change: scroll-position;
  contain: strict;
}

/* High-tier Android: skip will-change to save GPU memory */
.android-high-tier .scroll-container,
.android-high-tier [class*="overflow-auto"],
.android-high-tier [class*="overflow-y-auto"] {
  contain: layout style paint;
}

/* Android image rendering optimization */
.android-gpu-accelerated img {
  content-visibility: auto;
  contain-intrinsic-size: 100px 100px;
}

/* Android grid performance - reduce paint complexity */
.android-gpu-accelerated .grid {
  contain: layout style;
}

/* Android touch feedback optimization */
.android-gpu-accelerated button,
.android-gpu-accelerated [role="button"],
.android-gpu-accelerated a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
}

/* Android reduce repaints on scroll */
.android-gpu-accelerated .fixed,
.android-gpu-accelerated .sticky {
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Android dialog/modal optimization (standard tier) */
.android-gpu-accelerated:not(.android-high-tier) [role="dialog"] {
  contain: layout style paint;
  will-change: opacity, transform;
}

/* High-tier Android dialogs: natural compositing */
.android-high-tier [role="dialog"] {
  contain: layout style paint;
}

/* Android list item optimization */
.android-gpu-accelerated .grid > div {
  contain: layout style paint;
  content-visibility: auto;
  contain-intrinsic-size: auto 150px;
}

/* High-tier Android: allow full-speed animations */
.android-high-tier * {
  animation-duration: revert !important;
  transition-duration: revert !important;
}

/* ========================================
   EMOJI PICKER OVERRIDES
   Ensures emoji-picker-react displays correctly
   ======================================== */
.EmojiPickerReact {
  --epr-bg-color: hsl(var(--background)) !important;
  --epr-category-label-bg-color: hsl(var(--background)) !important;
  --epr-text-color: hsl(var(--foreground)) !important;
  --epr-hover-bg-color: hsl(var(--muted)) !important;
  --epr-focus-bg-color: hsl(var(--accent)) !important;
  --epr-search-input-bg-color: hsl(var(--muted)) !important;
  --epr-picker-border-color: hsl(var(--border)) !important;
  --epr-search-border-color: hsl(var(--border)) !important;
  --epr-category-icon-active-color: hsl(var(--primary)) !important;
  border: none !important;
  box-shadow: none !important;
}

.EmojiPickerReact .epr-body {
  background-color: hsl(var(--background)) !important;
}

.EmojiPickerReact .epr-emoji-category-label {
  background-color: hsl(var(--background)) !important;
}

.EmojiPickerReact .epr-search-container input {
  background-color: hsl(var(--muted)) !important;
  border-color: hsl(var(--border)) !important;
  color: hsl(var(--foreground)) !important;
}

/* Dark mode adjustments */
.dark .EmojiPickerReact {
  --epr-bg-color: hsl(var(--background)) !important;
  --epr-category-label-bg-color: hsl(var(--background)) !important;
  --epr-text-color: hsl(var(--foreground)) !important;
}

/* ===========================================================
   Abracadabra+ brand system (matches abracadabra.plus)
   =========================================================== */
:root {
  --brand-green: 150 85% 55%;
  --brand-pink: 328 92% 58%;
  --brand-cyan: 190 92% 58%;
  --brand-purple: 275 85% 62%;
  --brand-orange: 25 95% 60%;
}

body {
  font-family: "Plus Jakarta Sans", Manrope, ui-sans-serif, system-ui, sans-serif;
}

.font-display,
h1,
h2,
h3,
h4 {
  font-family: Manrope, "Plus Jakarta Sans", ui-sans-serif, sans-serif;
  letter-spacing: -0.02em;
}

/* Pure-black canvas with the signature aurora ribbon */
.brand-page {
  background-color: #000;
  color: #fff;
}

.brand-aurora {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.brand-aurora::before,
.brand-aurora::after {
  content: "";
  position: absolute;
  border-radius: 9999px;
  filter: blur(120px);
  opacity: 0.5;
}
.brand-aurora::before {
  width: 42rem;
  height: 42rem;
  top: -12rem;
  left: -14rem;
  background: radial-gradient(circle at center, hsl(var(--brand-purple) / 0.55), transparent 65%);
}
.brand-aurora::after {
  width: 38rem;
  height: 38rem;
  bottom: -14rem;
  right: -10rem;
  background: radial-gradient(circle at center, hsl(var(--brand-pink) / 0.45), transparent 65%);
}

/* Rainbow hairline used on the main site's left rail */
.brand-rail-line {
  background: linear-gradient(
    180deg,
    hsl(var(--brand-cyan)) 0%,
    hsl(var(--brand-purple)) 35%,
    hsl(var(--brand-pink)) 70%,
    hsl(var(--brand-orange)) 100%
  );
}

.brand-text-gradient {
  background: linear-gradient(
    100deg,
    hsl(var(--brand-green)) 0%,
    hsl(var(--brand-pink)) 45%,
    hsl(var(--brand-cyan)) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.brand-eyebrow {
  font-family: "Plus Jakarta Sans", Manrope, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(var(--brand-pink));
}

.brand-card {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.25rem;
  transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}
.brand-card:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: hsl(var(--brand-pink) / 0.5);
  transform: translateY(-2px);
}

/* Gradient-outlined frame like the hero media card */
.brand-frame {
  position: relative;
  border-radius: 1.75rem;
  padding: 2px;
  background: linear-gradient(
    135deg,
    hsl(var(--brand-cyan)),
    hsl(var(--brand-purple)),
    hsl(var(--brand-pink)),
    hsl(var(--brand-green))
  );
  box-shadow: 0 0 80px hsl(var(--brand-purple) / 0.35);
}

.brand-cta {
  background: linear-gradient(100deg, hsl(var(--brand-purple)), hsl(var(--brand-pink)));
  color: #fff;
  box-shadow: 0 12px 40px hsl(var(--brand-pink) / 0.35);
}
.brand-cta:hover {
  filter: brightness(1.08);
}

/* Main-site "Join for free" rainbow CTA */
.brand-cta-rainbow {
  background: linear-gradient(
    100deg,
    hsl(var(--brand-pink)) 0%,
    hsl(var(--brand-purple)) 30%,
    hsl(var(--brand-cyan)) 65%,
    hsl(var(--brand-green)) 100%
  );
  color: #fff;
  box-shadow: 0 12px 40px hsl(var(--brand-pink) / 0.35);
}
.brand-cta-rainbow:hover {
  filter: brightness(1.08);
}

/* Main-site "Start your LGBTQ+ Business" dark outlined CTA */
.brand-cta-business {
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
}
.brand-cta-business::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(
    135deg,
    hsl(var(--brand-cyan)),
    hsl(var(--brand-purple)),
    hsl(var(--brand-pink))
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.brand-cta-business:hover {
  background: rgba(255, 255, 255, 0.08);
}
.file\:border-0::file-selector-button {
  border-width: 0px;
}
.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}
.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.file\:font-medium::file-selector-button {
  font-weight: 500;
}
.file\:text-foreground::file-selector-button {
  color: hsl(var(--foreground));
}
.placeholder\:text-muted-foreground::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder {
  color: hsl(var(--muted-foreground));
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:-inset-2::after {
  content: var(--tw-content);
  inset: -0.5rem;
}
.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}
.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}
.after\:w-1::after {
  content: var(--tw-content);
  width: 0.25rem;
}
.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}
.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --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));
}
.first\:rounded-l-md:first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.first\:border-l:first-child {
  border-left-width: 1px;
}
.first\:border-t-0:first-child {
  border-top-width: 0px;
}
.last\:rounded-r-md:last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.focus-within\:relative:focus-within {
  position: relative;
}
.focus-within\:z-20:focus-within {
  z-index: 20;
}
.hover\:scale-110:hover {
  --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));
}
.hover\:border-accent:hover {
  border-color: hsl(var(--accent));
}
.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}
.hover\:bg-accent\/50:hover {
  background-color: hsl(var(--accent) / 0.5);
}
.hover\:bg-accent\/80:hover {
  background-color: hsl(var(--accent) / 0.8);
}
.hover\:bg-accent\/90:hover {
  background-color: hsl(var(--accent) / 0.9);
}
.hover\:bg-destructive\/80:hover {
  background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}
.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-primary:hover {
  background-color: hsl(var(--primary));
}
.hover\:bg-primary\/80:hover {
  background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-secondary:hover {
  background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/80:hover {
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sidebar-accent:hover {
  background-color: hsl(var(--sidebar-accent));
}
.hover\:text-accent:hover {
  color: hsl(var(--accent));
}
.hover\:text-accent-foreground:hover {
  color: hsl(var(--accent-foreground));
}
.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}
.hover\:text-foreground\/80:hover {
  color: hsl(var(--foreground) / 0.8);
}
.hover\:text-muted-foreground:hover {
  color: hsl(var(--muted-foreground));
}
.hover\:text-primary-foreground:hover {
  color: hsl(var(--primary-foreground));
}
.hover\:text-sidebar-accent-foreground:hover {
  color: hsl(var(--sidebar-accent-foreground));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:no-underline:hover {
  text-decoration-line: none;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 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);
}
.hover\:shadow-xl:hover {
  --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);
}
.hover\:after\:bg-sidebar-border:hover::after {
  content: var(--tw-content);
  background-color: hsl(var(--sidebar-border));
}
.focus\:bg-accent:focus {
  background-color: hsl(var(--accent));
}
.focus\:bg-primary:focus {
  background-color: hsl(var(--primary));
}
.focus\:text-accent-foreground:focus {
  color: hsl(var(--accent-foreground));
}
.focus\:text-primary-foreground:focus {
  color: hsl(var(--primary-foreground));
}
.focus\:opacity-100:focus {
  opacity: 1;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.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-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:border-\[\#007AFF\]:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(0 122 255 / var(--tw-border-opacity, 1));
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:ring-0:focus-visible {
  --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-visible\:ring-1:focus-visible {
  --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);
}
.focus-visible\:ring-2:focus-visible {
  --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-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-sidebar-ring:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.focus-visible\:ring-offset-0:focus-visible {
  --tw-ring-offset-width: 0px;
}
.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: hsl(var(--background));
}
.active\:scale-105:active {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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\:scale-110:active {
  --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));
}
.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  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\: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\:bg-accent:active {
  background-color: hsl(var(--accent));
}
.active\:bg-accent\/10:active {
  background-color: hsl(var(--accent) / 0.1);
}
.active\:bg-accent\/30:active {
  background-color: hsl(var(--accent) / 0.3);
}
.active\:bg-accent\/50:active {
  background-color: hsl(var(--accent) / 0.5);
}
.active\:bg-accent\/80:active {
  background-color: hsl(var(--accent) / 0.8);
}
.active\:bg-destructive\/80:active {
  background-color: hsl(var(--destructive) / 0.8);
}
.active\:bg-primary\/80:active {
  background-color: hsl(var(--primary) / 0.8);
}
.active\:bg-secondary\/70:active {
  background-color: hsl(var(--secondary) / 0.7);
}
.active\:bg-sidebar-accent:active {
  background-color: hsl(var(--sidebar-accent));
}
.active\:text-sidebar-accent-foreground:active {
  color: hsl(var(--sidebar-accent-foreground));
}
.active\:opacity-50:active {
  opacity: 0.5;
}
.active\:opacity-70:active {
  opacity: 0.7;
}
.active\:transition-transform:active {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
  border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
  background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
  background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
  color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\: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);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
  border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}
.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
  background-color: hsl(var(--sidebar-background));
}
.has-\[\:disabled\]\:opacity-50:has(:disabled) {
  opacity: 0.5;
}
.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
  padding-right: 2rem;
}
.aria-disabled\:pointer-events-none[aria-disabled="true"] {
  pointer-events: none;
}
.aria-disabled\:opacity-50[aria-disabled="true"] {
  opacity: 0.5;
}
.aria-selected\:bg-accent[aria-selected="true"] {
  background-color: hsl(var(--accent));
}
.aria-selected\:bg-accent\/50[aria-selected="true"] {
  background-color: hsl(var(--accent) / 0.5);
}
.aria-selected\:text-accent-foreground[aria-selected="true"] {
  color: hsl(var(--accent-foreground));
}
.aria-selected\:text-muted-foreground[aria-selected="true"] {
  color: hsl(var(--muted-foreground));
}
.aria-selected\:opacity-100[aria-selected="true"] {
  opacity: 1;
}
.aria-selected\:opacity-30[aria-selected="true"] {
  opacity: 0.3;
}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}
.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
  height: 1px;
}
.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
  width: 100%;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
  --tw-translate-y: 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));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
  --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));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"] {
  --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));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
  --tw-translate-y: -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));
}
.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
  --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));
}
.data-\[state\=checked\]\:translate-x-6[data-state="checked"] {
  --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));
}
.data-\[state\=checked\]\:translate-x-\[22px\][data-state="checked"] {
  --tw-translate-x: 22px;
  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));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
  --tw-translate-x: 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));
}
.data-\[state\=unchecked\]\:translate-x-\[2px\][data-state="unchecked"] {
  --tw-translate-x: 2px;
  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));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
  --tw-translate-x: 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));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  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));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  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 accordion-up {

  from {
    height: var(--radix-accordion-content-height);
  }

  to {
    height: 0;
  }
}
.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
  animation: accordion-up 0.2s ease-out;
}
@keyframes accordion-down {

  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}
.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down 0.2s ease-out;
}
.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
  flex-direction: column;
}
.data-\[state\=checked\]\:border-\[\#007AFF\][data-state="checked"] {
  --tw-border-opacity: 1;
  border-color: rgb(0 122 255 / var(--tw-border-opacity, 1));
}
.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[active\]\:bg-accent\/50[data-active] {
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true'] {
  background-color: hsl(var(--accent));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
  background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-\[\#007AFF\][data-state="checked"] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 255 / var(--tw-bg-opacity, 1));
}
.data-\[state\=checked\]\:bg-\[\#34C759\][data-state="checked"] {
  --tw-bg-opacity: 1;
  background-color: rgb(52 199 89 / var(--tw-bg-opacity, 1));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
  background-color: hsl(var(--primary));
}
.data-\[state\=on\]\:bg-accent[data-state="on"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[state\=open\]\:bg-secondary[data-state="open"] {
  background-color: hsl(var(--secondary));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
  background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
  background-color: hsl(var(--input));
}
.data-\[active\=true\]\:font-medium[data-active="true"] {
  font-weight: 500;
}
.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
  color: hsl(var(--foreground));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
  color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
  opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}
.data-\[state\=open\]\:opacity-100[data-state="open"] {
  opacity: 1;
}
.data-\[state\=active\]\:shadow-none[data-state="active"] {
  --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);
}
.data-\[state\=active\]\:shadow-sm[data-state="active"] {
  --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);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
  transition-property: none;
}
.data-\[state\=closed\]\:duration-150[data-state="closed"] {
  transition-duration: 150ms;
}
.data-\[state\=closed\]\:duration-200[data-state="closed"] {
  transition-duration: 200ms;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-200[data-state="open"] {
  transition-duration: 200ms;
}
.data-\[state\=open\]\:duration-300[data-state="open"] {
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}
.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=visible\]\:animate-in[data-state="visible"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
  --tw-enter-opacity: 0;
}
.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
  --tw-exit-opacity: 0.8;
}
.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=visible\]\:fade-in[data-state="visible"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-90[data-state="open"] {
  --tw-enter-scale: .9;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}
.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
  --tw-enter-translate-x: 13rem;
}
.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
  --tw-enter-translate-x: -13rem;
}
.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
  --tw-exit-translate-x: 13rem;
}
.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
  --tw-exit-translate-x: -13rem;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
  --tw-exit-translate-y: 100%;
}
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
  --tw-exit-translate-x: -100%;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
  --tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
  --tw-exit-translate-y: -100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
  --tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
  --tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
  --tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
  --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-150[data-state="closed"] {
  animation-duration: 150ms;
}
.data-\[state\=closed\]\:duration-200[data-state="closed"] {
  animation-duration: 200ms;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-200[data-state="open"] {
  animation-duration: 200ms;
}
.data-\[state\=open\]\:duration-300[data-state="open"] {
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}
.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  left: 0px;
}
.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  height: 0.25rem;
}
.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  width: 100%;
}
.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --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));
}
.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --tw-translate-x: 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));
}
.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  left: calc(var(--sidebar-width) * -1);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  right: calc(var(--sidebar-width) * -1);
}
.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
  right: -1rem;
}
.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
  left: 0px;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
  margin-top: -2rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
  display: none;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8 {
  width: 2rem !important;
  height: 2rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
  width: var(--sidebar-width-icon);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
  width: 0px;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0 {
  --tw-translate-x: 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[data-side="right"] .group-data-\[side\=right\]\: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));
}
.group[data-state="open"] .group-data-\[state\=open\]\: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));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: var(--radius);
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}
.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
  border-right-width: 1px;
}
.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
  border-left-width: 1px;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
  padding: 0px !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
  padding: 0.5rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
  background-color: hsl(var(--sidebar-background));
}
.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
  top: 0.375rem;
}
.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
  top: 0.625rem;
}
.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 {
  top: 0.25rem;
}
.peer[data-variant="inset"] ~ .peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\] {
  min-height: calc(100svh - 1rem);
}
.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
.dark\:border-destructive:is(.dark *) {
  border-color: hsl(var(--destructive));
}
@media (min-width: 640px) {

  .sm\:bottom-20 {
    bottom: 5rem;
  }

  .sm\:right-0 {
    right: 0px;
  }

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

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

  .sm\:flex {
    display: flex;
  }

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

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

  .sm\:flex-col {
    flex-direction: column;
  }

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

  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }

  .sm\:space-x-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0px * var(--tw-space-x-reverse));
    margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\: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)));
  }

  .sm\: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)));
  }

  .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }

  .sm\:rounded-lg {
    border-radius: var(--radius);
  }

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

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
    --tw-enter-translate-y: 100%;
  }
}
@media (min-width: 768px) {

  .md\:absolute {
    position: absolute;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
    width: var(--radix-navigation-menu-viewport-width);
  }

  .md\:w-auto {
    width: auto;
  }

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

  .md\:opacity-0 {
    opacity: 0;
  }

  .after\:md\:hidden::after {
    content: var(--tw-content);
    display: none;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2 {
    margin: 0.5rem;
  }

  .peer[data-state="collapsed"][data-variant="inset"] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
    margin-left: 0.5rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0 {
    margin-left: 0px;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    border-radius: 0.75rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}
.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
  background-color: hsl(var(--accent));
}
.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) {
  background-color: hsl(var(--accent) / 0.5);
}
.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}
.\[\&\>button\]\:hidden>button {
  display: none;
}
.\[\&\>span\:last-child\]\:truncate>span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
  --tw-translate-y: -3px;
  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));
}
.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}
.\[\&\>svg\]\:left-4>svg {
  left: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}
.\[\&\>svg\]\:size-3\.5>svg {
  width: 0.875rem;
  height: 0.875rem;
}
.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:h-2\.5>svg {
  height: 0.625rem;
}
.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}
.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg {
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg {
  color: hsl(var(--foreground));
}
.\[\&\>svg\]\:text-muted-foreground>svg {
  color: hsl(var(--muted-foreground));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  color: hsl(var(--sidebar-accent-foreground));
}
.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}
.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
  --tw-rotate: 90deg;
  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));
}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --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));
}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: hsl(var(--muted-foreground));
}
.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
  stroke: hsl(var(--border) / 0.5);
}
.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
  font-weight: 500;
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  color: hsl(var(--muted-foreground));
}
.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}
.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
  height: 1.25rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}
.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}
.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}
.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}
.\[\&_td\]\:border td {
  border-width: 1px;
}
.\[\&_td\]\:border-border td {
  border-color: hsl(var(--border));
}
.\[\&_td\]\:p-2 td {
  padding: 0.5rem;
}
.\[\&_td\]\:align-top td {
  vertical-align: top;
}
.\[\&_th\]\:border th {
  border-width: 1px;
}
.\[\&_th\]\:border-border th {
  border-color: hsl(var(--border));
}
.\[\&_th\]\:p-2 th {
  padding: 0.5rem;
}
.\[\&_th\]\:text-left th {
  text-align: left;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
  left: -0.5rem;
}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}
[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
._page_1tusx_1 {
  --new-bg: #050505;
  --new-surface: #101012;
  --new-surface-raised: #18181b;
  --new-surface-soft: #222225;
  --new-text: #f7f7f5;
  --new-text-inverse: #090909;
  --new-muted: #ededeb;
  --new-subtle: #bdbdbb;
  --new-border: rgba(255, 255, 255, 0.15);
  --new-border-strong: rgba(255, 255, 255, 0.28);
  --new-overlay: rgba(5, 5, 5, 0.64);
  --new-overlay-strong: rgba(5, 5, 5, 0.94);
  --new-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
  --new-prism: linear-gradient(90deg, #fb3c8d 0%, #b35cf4 22%, #5f6ef7 40%, #32c5d8 58%, #91d35d 76%, #f2c94c 88%, #ef813f 100%);
  --new-people: #c68bf4;
  --new-event: #4bd7d0;
  --new-place: #f0c34e;
  --new-service: #f18c68;
  --new-park: #253b31;
  min-height: 100vh;
  min-height: 100svh;
  /* Clip horizontal bleed only — vertical clip blocks Android Chrome document scroll. */
  overflow-x: clip;
  overflow-y: visible;
  background: var(--new-bg);
  color: var(--new-text);
  font-family: "New Public Inter", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color-scheme: dark;
}

._page_1tusx_1 *, ._page_1tusx_1 *::before, ._page_1tusx_1 *::after { box-sizing: border-box; }
/* Route-local exception to the shared low-end font fallback; never changes that app policy. */
._page_1tusx_1, ._page_1tusx_1 :is(h1,h2,h3,p,a,button,span,strong,li,summary) { font-family: "New Public Inter", Arial, sans-serif !important; }
._page_1tusx_1 img { display: block; max-width: 100%; }
._page_1tusx_1 a { color: inherit; text-decoration: none; }
._page_1tusx_1 button, ._page_1tusx_1 a { -webkit-tap-highlight-color: transparent; }
._page_1tusx_1 button { font: inherit; }
._page_1tusx_1 a:focus-visible, ._page_1tusx_1 button:focus-visible, ._page_1tusx_1 summary:focus-visible {
  outline: 3px solid var(--new-text);
  outline-offset: 4px;
}
._page_1tusx_1 :where(h1,h2,h3,p) { margin: 0; }
/* Preserve the approved heroes while allowing other local spacing utilities. */
._page_1tusx_1 :is(._hero_1tusx_47,._businessHero_1tusx_47) :is(h1,p) { margin: 0; }
._page_1tusx_1 h1, ._page_1tusx_1 h2, ._page_1tusx_1 h3 {
  font-family: "New Public Inter", Arial, sans-serif;
  text-wrap: balance;
}
._page_1tusx_1 ul, ._page_1tusx_1 ol { margin: 0; padding: 0; list-style: none; }

._container_1tusx_54 { width: min(100%, 1540px); margin-inline: auto; padding-inline: 40px; }
._section_1tusx_55 { padding-block: 56px; scroll-margin-top: 5rem; }
._sectionHeading_1tusx_56 { max-width: 48rem; }
._eyebrow_1tusx_57 { color: var(--new-muted); font-size: 0.72rem; font-weight: 750; letter-spacing: 0; line-height: 1.4; text-transform: uppercase; }
._title_1tusx_58 { margin-top: 1.1rem; font-size: 52px; font-weight: 900; letter-spacing: 0; line-height: 0.98; }
._body_1tusx_59 { max-width: 38rem; margin-top: 1.35rem; color: var(--new-muted); font-size: 18px; line-height: 1.65; }
._sampleLabel_1tusx_60 { margin-top: 1.25rem; color: var(--new-subtle); font-size: 0.78rem; font-weight: 650; letter-spacing: 0; }
._srOnly_1tusx_61 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
._skipLink_1tusx_62 { position: fixed; z-index: 100; top: 0.75rem; left: 0.75rem; padding: 0.75rem 1rem; border-radius: 0.5rem; background: var(--new-text); color: var(--new-text-inverse); transform: translateY(-180%); }
._skipLink_1tusx_62:focus { transform: translateY(0); }

._appBanner_1tusx_65 { position: relative; z-index: 31; background: var(--new-surface); padding-top: var(--abr-android-safe-area-top, env(safe-area-inset-top, 0px)); border-bottom: 1px solid var(--new-border); }
._appBannerInner_1tusx_66 { display: flex; min-height: 60px; flex-wrap: nowrap; align-items: center; gap: 0.5rem; padding-block: 0.4rem; }
._bannerIcon_1tusx_67 { width: 36px; height: 36px; flex: none; border-radius: 8px; }
._bannerText_1tusx_68 { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; line-height: 1.2; }
._page_1tusx_1 ._bannerText_1tusx_68 { margin: 0; }
._bannerText_1tusx_68 strong { color: var(--new-text); font-size: 0.875rem; font-weight: 800; white-space: nowrap; }
._bannerText_1tusx_68 span { overflow: hidden; color: var(--new-muted); font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
._bannerActions_1tusx_72 { display: flex; flex: none; align-items: center; }
._bannerStoreLink_1tusx_73 { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border-radius: 4px; }
._bannerPlayStoreBadge_1tusx_74 { width: 112px; height: auto; }
._bannerAppStoreBadge_1tusx_75 { width: 105px; height: auto; }
._page_1tusx_1 ._bannerCta_1tusx_76 { position: relative; isolation: isolate; display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0.5rem 0.85rem; border: 0; border-radius: 999px; background: var(--new-text); color: var(--new-text-inverse); font-size: 0.85rem; font-weight: 750; white-space: nowrap; cursor: pointer; }
._bannerCta_1tusx_76::before { position: absolute; z-index: -1; inset: -1px; border-radius: inherit; background: var(--new-prism); content: ""; padding: 1px; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
._bannerDismiss_1tusx_78 { display: inline-flex; width: 44px; height: 44px; flex: none; align-items: center; justify-content: center; margin-right: -10px; border: 0; border-radius: 999px; background: transparent; color: var(--new-muted); cursor: pointer; }
._bannerDismiss_1tusx_78:hover { color: var(--new-text); background: var(--new-surface-soft); }
._bannerCta_1tusx_76:focus-visible, ._bannerDismiss_1tusx_78:focus-visible, ._bannerStoreLink_1tusx_73:focus-visible { outline: 2px solid var(--new-text); outline-offset: 2px; }
@media (max-width: 420px) {
  ._appBannerInner_1tusx_66 { gap: 0.35rem; }
  ._bannerText_1tusx_68 span { display: none; }
  ._bannerIcon_1tusx_67 { width: 32px; height: 32px; }
  ._bannerPlayStoreBadge_1tusx_74 { width: 100px; }
  ._bannerAppStoreBadge_1tusx_75 { width: 96px; }
}
@media (max-width: 340px) {
  ._bannerText_1tusx_68 { display: none; }
}
._anchorAlias_1tusx_91 { display: block; height: 0; overflow: hidden; scroll-margin-top: 1rem; }

._siteHeader_1tusx_93 { position: relative; z-index: 30; border-bottom: 1px solid transparent; -o-border-image: var(--new-prism) 1; border-image: var(--new-prism) 1; background: var(--new-bg); }
._headerInner_1tusx_94 { display: flex; min-height: 64px; align-items: center; gap: 2rem; }
._brandLink_1tusx_95 { display: inline-flex; flex: none; align-items: center; border-radius: 0.35rem; }
._wordmark_1tusx_96 { font-size: 22px; }
._desktopNav_1tusx_97 { display: flex; align-items: center; justify-content: center; gap: clamp(1.4rem, 2.8vw, 3rem); margin-left: auto; }
._desktopNav_1tusx_97 a { padding-block: 0.75rem; color: var(--new-muted); font-size: 0.9rem; font-weight: 650; transition: color 180ms ease; }
._desktopNav_1tusx_97 a:hover { color: var(--new-text); }
._headerAction_1tusx_100 { margin-left: 1rem; }
._headerAction_1tusx_100 ._actionLink_1tusx_101 { min-height: 2.8rem; padding: 0.65rem 1.2rem; font-size: 0.86rem; }
._menuButton_1tusx_102 { display: none; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border: 1px solid var(--new-border); border-radius: 999px; background: var(--new-surface); color: var(--new-text); cursor: pointer; }
._mobileNav_1tusx_103 { display: none; }

._actionLink_1tusx_101 { position: relative; isolation: isolate; display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: 0.65rem; max-width: 100%; padding: 0.85rem 1.35rem; border-radius: 999px; font-weight: 750; line-height: 1.25; text-align: center; transition: transform 180ms ease, background-color 180ms ease; }
._actionLink_1tusx_101::before { position: absolute; z-index: -1; inset: 0; padding: 1px; border-radius: inherit; background: var(--new-prism); content: ""; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
._actionLink_1tusx_101:hover { transform: translateY(-2px); }
._actionLink_1tusx_101._actionPrimary_1tusx_108 { background: var(--new-text); color: var(--new-text-inverse); }
._actionLink_1tusx_101._actionSecondary_1tusx_109 { background: var(--new-surface); color: var(--new-text); }
._textLink_1tusx_110 { display: inline-flex; min-height: 2.75rem; align-items: center; gap: 0.55rem; color: var(--new-text); font-weight: 700; }
._textLink_1tusx_110 svg, ._actionLink_1tusx_101 svg { flex: none; }
._textLink_1tusx_110:hover span { text-decoration: underline; text-underline-offset: 0.3em; }
._buttonRow_1tusx_113 { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin-top: 2rem; }

._prismDivider_1tusx_115 { width: 100%; height: 1px; background: var(--new-prism); }
._storeButtons_1tusx_116 { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem; }
._storeLink_1tusx_117 { display: inline-flex; min-width: 8.25rem; min-height: 3rem; align-items: center; justify-content: center; border-radius: 0.55rem; transition: transform 180ms ease; }
._storeLink_1tusx_117:hover { transform: translateY(-2px); }
._appStoreBadge_1tusx_119 { width: 7.5rem; height: 2.5rem; }
._playStoreBadge_1tusx_120 { width: 8.1rem; height: 3.13rem; }

._hero_1tusx_47 { position: relative; min-height: 0; overflow: hidden; }
._heroImage_1tusx_123 { position: absolute; inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 61% 28%; object-position: 61% 28%; }
._heroVideo_1tusx_124 { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 60% 18%; object-position: 60% 18%; opacity: 0; transition: opacity 180ms ease; }
._heroVideoPlaying_1tusx_125 { opacity: 1; }
@media (max-width: 1023px), (pointer: coarse), (prefers-reduced-motion: reduce) { ._heroVideo_1tusx_124 { display: none; } }
._heroShade_1tusx_127 { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, var(--new-overlay-strong) 0%, var(--new-overlay) 42%, rgba(5, 5, 5, 0.08) 76%), linear-gradient(0deg, var(--new-bg) 0%, transparent 30%); }
._heroContent_1tusx_128 { position: relative; z-index: 2; display: flex; min-height: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 170px; padding-bottom: 64px; }
._heroCopy_1tusx_129 { width: min(760px, 66%); }
._heroTitle_1tusx_130 { max-width: 100%; font-size: 76px; font-weight: 900; letter-spacing: 0; line-height: 1; }
._heroBody_1tusx_131 { max-width: 34rem; margin-top: 1.75rem; color: var(--new-text); font-size: 22px; line-height: 1.55; }
._heroDownloads_1tusx_132 { display: inline-flex; margin-top: 24px; margin-right: 20px; }
._heroSecondary_1tusx_133 { margin-top: 16px; }
._heroQrCard_1tusx_134 { display: inline-flex; align-items: center; gap: 16px; max-width: 360px; padding: 12px 20px 12px 12px; border: 1px solid var(--new-border); border-radius: 20px; background: rgba(18, 18, 20, 0.72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: var(--new-text); position: relative; isolation: isolate; }
._heroQrCard_1tusx_134::before { content: ""; position: absolute; inset-inline: 20px; top: -1px; height: 1px; background: var(--new-prism); opacity: 0.8; }
._heroQrCard_1tusx_134:focus-visible { outline: 2px solid var(--new-text); outline-offset: 3px; }
._heroQrCode_1tusx_137 { flex: none; display: block; width: 112px; height: 112px; border-radius: 10px; }
._heroQrText_1tusx_138 { display: flex; min-width: 0; flex-direction: column; gap: 4px; overflow-wrap: anywhere; }
._heroQrText_1tusx_138 strong { font-size: 17px; line-height: 1.2; font-weight: 800; }
._heroQrText_1tusx_138 span { font-size: 13px; line-height: 1.35; color: var(--new-muted, rgba(255,255,255,0.72)); }

._invitationStrip_1tusx_142 { display: grid; min-height: 0; grid-template-columns: 1.12fr 0.88fr; background: var(--new-bg); }
._invitationContent_1tusx_143 { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 48px; }
._invitationTitle_1tusx_144 { margin-top: 0.9rem; font-size: 36px; line-height: 1; letter-spacing: 0; }
._invitationImage_1tusx_145 { grid-column: 2; grid-row: 1; display: block; width: 100%; height: 100%; min-height: 300px; max-height: 380px; -o-object-fit: cover; object-fit: cover; -o-object-position: 30% 10%; object-position: 30% 10%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%); mask-image: linear-gradient(90deg, transparent, #000 9%); }

._splitSection_1tusx_147 { display: grid; grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr); align-items: center; gap: 40px; }
._splitReverse_1tusx_148 { grid-template-columns: minmax(0, 1.16fr) minmax(0, 0.84fr); }
._splitReverse_1tusx_148 ._sectionHeading_1tusx_56 { order: 2; }
._splitReverse_1tusx_148 ._splitVisual_1tusx_150 { order: 1; }
._splitVisual_1tusx_150 { min-width: 0; }

._productFrame_1tusx_153 { padding: clamp(0.75rem, 1.8vw, 1.25rem); border: 1px solid var(--new-border); border-radius: 8px; background: var(--new-surface); box-shadow: var(--new-shadow); }
._productHeader_1tusx_154 { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.25rem 0.25rem 1rem; }
._productName_1tusx_155 { display: flex; align-items: center; gap: 0.55rem; font-family: "New Public Inter", Arial, sans-serif; font-size: 1.15rem; font-weight: 750; }
._productTag_1tusx_156 { color: var(--new-subtle); font-size: 0.7rem; font-weight: 700; letter-spacing: 0; text-transform: uppercase; }
._profileGrid_1tusx_157 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.45rem; }
._profileCard_1tusx_158 { position: relative; aspect-ratio: 1.2; overflow: hidden; border-radius: 0.65rem; background: var(--new-surface-raised); }
._profileCard_1tusx_158 img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
._profileCard_1tusx_158::after { position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, var(--new-overlay-strong)); content: ""; }
._profileCaption_1tusx_161 { position: absolute; z-index: 1; inset: auto 0 0; padding: 0.65rem; }
._profileName_1tusx_162 { font-size: 16px; font-weight: 750; }
._profileInterests_1tusx_163 { margin-top: 0.1rem; color: var(--new-muted); font-size: 12px; line-height: 1.3; }
._demoConversation_1tusx_164 { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 0.8rem; padding: 0.85rem; border: 1px solid var(--new-border); border-radius: 0.8rem; color: var(--new-muted); font-size: 0.75rem; }
._demoConversation_1tusx_164 span { padding: 0.45rem 0.65rem; border-radius: 999px; background: var(--new-surface-soft); color: var(--new-text); }
._visualCaption_1tusx_166 { margin-top: 0.8rem; color: var(--new-subtle); font-size: 0.75rem; text-align: center; }
._steps_1tusx_167 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 32px; }
._step_1tusx_167 { padding-top: 1.25rem; border-top: 1px solid var(--new-border-strong); }
._stepNumber_1tusx_169 { color: var(--new-subtle); font-size: 0.75rem; font-weight: 750; letter-spacing: 0; }
._stepTitle_1tusx_170 { margin-top: 0.8rem; font-size: 1.25rem; }
._stepBody_1tusx_171 { margin-top: 0.55rem; color: var(--new-muted); font-size: 0.9rem; line-height: 1.55; }

._mapFrame_1tusx_173 { overflow: hidden; border: 1px solid var(--new-border); border-radius: 8px; background: var(--new-surface); box-shadow: var(--new-shadow); }
._mapCanvas_1tusx_174 { position: relative; aspect-ratio: 1.48; overflow: hidden; background: var(--new-surface-raised); }
._mapDrawing_1tusx_175 { position: absolute; inset: 0; width: 100%; height: 100%; }
._mapParks_1tusx_176 { fill: var(--new-park); }
._mapRoadsMinor_1tusx_177 { fill: none; stroke: var(--new-border); stroke-width: 3; }
._mapRoadsMajor_1tusx_178 { fill: none; stroke: var(--new-border-strong); stroke-width: 8; }
._mapLabel_1tusx_179 { position: absolute; color: var(--new-subtle); font-size: clamp(0.6rem, 1.2vw, 0.85rem); font-weight: 650; letter-spacing: 0; }
._romaLabel_1tusx_180 { top: 27%; left: 56%; }
._condesaLabel_1tusx_181 { bottom: 19%; left: 29%; }
._mapMarker_1tusx_182 { position: absolute; display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 2px solid currentColor; border-radius: 999px; background: var(--new-surface); box-shadow: 0 8px 24px var(--new-overlay); }
._mapMarker_1tusx_182[data-marker="1"] { top: 19%; left: 31%; }
._mapMarker_1tusx_182[data-marker="2"] { top: 39%; right: 20%; }
._mapMarker_1tusx_182[data-marker="3"] { bottom: 28%; left: 49%; }
._mapMarker_1tusx_182[data-marker="4"] { bottom: 29%; left: 16%; }
._peopleMarker_1tusx_187 { color: var(--new-people); }
._eventMarker_1tusx_188 { color: var(--new-event); }
._placeMarker_1tusx_189 { color: var(--new-place); }
._serviceMarker_1tusx_190 { color: var(--new-service); }
._mapLegend_1tusx_191 { position: absolute; top: 12px; left: 12px; display: grid; gap: 0; padding: 4px; border: 1px solid var(--new-border); border-radius: 8px; background: var(--new-overlay-strong); color: var(--new-muted); font-size: 0.75rem; }
._mapFilter_1tusx_192 { color: inherit; min-height: 44px; height: auto; justify-content: flex-start; padding: 8px; font-size: 12px; }
._mapFilter_1tusx_192[aria-pressed="true"] { background: var(--new-surface-soft); outline: 1px solid currentColor; }
._mapPreviews_1tusx_194 { position: absolute; inset: auto 12px 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
._mapPreview_1tusx_194 { position: relative; min-height: 128px; overflow: hidden; border: 1px solid var(--new-border-strong); border-radius: 6px; background: var(--new-surface); }
._mapPreview_1tusx_194 img { width: 100%; height: 128px; -o-object-fit: contain; object-fit: contain; -o-object-position: center top; object-position: center top; }
._mapPreview_1tusx_194:nth-child(2) img { -o-object-fit: contain; object-fit: contain; }
._mapPreview_1tusx_194 span { position: absolute; inset: auto 0 0; display: flex; align-items: center; gap: 5px; min-height: 44px; padding: 8px; font-size: 12px; font-weight: 600; background: var(--new-overlay-strong); }
._mapLegend_1tusx_191 li { display: inline-flex; align-items: center; gap: 0.4rem; }
._mapLegend_1tusx_191 li:nth-child(1) { color: var(--new-people); }
._mapLegend_1tusx_191 li:nth-child(2) { color: var(--new-event); }
._mapLegend_1tusx_191 li:nth-child(3) { color: var(--new-place); }
._mapLegend_1tusx_191 li:nth-child(4) { color: var(--new-service); }
._mapNote_1tusx_204 { padding: 0.75rem 1.25rem 1.1rem; color: var(--new-subtle); font-size: 0.7rem; }

._cardGrid_1tusx_206 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); margin-top: 28px; }
._editorialCard_1tusx_207 { min-width: 0; }
._cardImageWrap_1tusx_208 { position: relative; aspect-ratio: 1.24; overflow: hidden; border-radius: 0.35rem; background: var(--new-surface-raised); }
._cardImage_1tusx_208 { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform 500ms ease; }
._editorialCard_1tusx_207:hover ._cardImage_1tusx_208 { transform: scale(1.025); }
._cardBadge_1tusx_211 { position: absolute; top: 0.75rem; left: 0.75rem; padding: 0.35rem 0.55rem; border: 1px solid var(--new-border); border-radius: 999px; background: var(--new-overlay-strong); color: var(--new-text); font-size: 0.64rem; font-weight: 750; letter-spacing: 0; text-transform: uppercase; }
._cardTitle_1tusx_212 { margin-top: 1.1rem; font-size: clamp(1.15rem, 1.7vw, 1.55rem); letter-spacing: 0; }
._cardMeta_1tusx_213 { margin-top: 0.45rem; color: var(--new-muted); font-size: 0.88rem; line-height: 1.55; }
._cardSample_1tusx_214 { margin-top: 0.65rem; color: var(--new-subtle); font-size: 0.7rem; line-height: 1.45; }
._sectionCta_1tusx_215 { display: flex; justify-content: center; margin-top: 28px; }

._storyPanel_1tusx_217 { position: relative; min-height: 320px; overflow: hidden; }
._storyImage_1tusx_218 { position: absolute; inset: 0 0 0 auto; width: 60%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 60% 40%; object-position: 60% 40%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%); mask-image: linear-gradient(90deg, transparent 0%, #000 30%); }
._storyShade_1tusx_219 { display: none; }
._storyContent_1tusx_220 { position: relative; z-index: 1; display: flex; min-height: 320px; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 32px; }
._storyContent_1tusx_220 > :is(h2,p,._buttonRow_1tusx_113) { max-width: 43%; text-align: left; }
._storyTitle_1tusx_222 { font-size: 40px; line-height: 0.96; letter-spacing: 0; }
._storyBody_1tusx_223 { max-width: 35rem; margin-top: 1.25rem; color: var(--new-text); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.65; }

._faqList_1tusx_225 { margin-top: 28px; }
._faqItem_1tusx_226 { border-top: 1px solid var(--new-border-strong); }
._faqItem_1tusx_226:last-child { border-bottom: 1px solid var(--new-border-strong); }
._faqItem_1tusx_226 summary { position: relative; display: flex; min-height: 4.75rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 3rem 1.2rem 0; font-size: clamp(1rem, 1.4vw, 1.18rem); font-weight: 700; cursor: pointer; list-style: none; }
._faqItem_1tusx_226 summary::-webkit-details-marker { display: none; }
._faqItem_1tusx_226 summary::after { position: absolute; right: 0.5rem; content: "+"; font-size: 1.6rem; font-weight: 400; transition: transform 180ms ease; }
._faqItem_1tusx_226[open] summary::after { transform: rotate(45deg); }
._faqAnswer_1tusx_232 { max-width: 52rem; padding: 0 3rem 1.5rem 0; color: var(--new-muted); line-height: 1.7; }

._finalCta_1tusx_234 { padding-block: 56px; text-align: center; scroll-margin-top: 4rem; }
._page_1tusx_1 ._finalTitle_1tusx_235 { max-width: 20ch; margin-inline: auto; font-size: 64px; font-weight: 800; letter-spacing: 0; line-height: 0.9; }
._finalCta_1tusx_234 ._storeButtons_1tusx_116 { justify-content: center; margin-top: 2.25rem; }
._webLink_1tusx_237 { display: inline-flex; margin-top: 1.5rem; }
._ageFooter_1tusx_238 { margin-top: 2.5rem; color: var(--new-subtle); font-size: 0.8rem; }
._footer_1tusx_239 { padding-block: 2rem; }
._footerInner_1tusx_240 { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
._footerNav_1tusx_241 { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; color: var(--new-muted); font-size: 0.78rem; }
._footerNav_1tusx_241 a { padding-block: 0.5rem; }
._footerNav_1tusx_241 a:hover { color: var(--new-text); }
._footerButton_1tusx_244 { padding-block: 0.5rem; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; text-align: start; text-decoration: underline; text-underline-offset: 3px; }
._footerButton_1tusx_244:hover { color: var(--new-text); }
._ageLabel_1tusx_246 { color: var(--new-muted); font-size: 0.8rem; }

._businessHero_1tusx_47 { position: relative; min-height: 0; overflow: hidden; }
._businessHeroImage_1tusx_249 { position: absolute; inset: 0 0 0 45%; width: 55%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }
._businessHeroShade_1tusx_250 { position: absolute; inset: 0; background: linear-gradient(90deg, var(--new-bg) 0%, var(--new-bg) 35%, var(--new-overlay) 66%, rgba(5, 5, 5, 0.08) 100%), linear-gradient(0deg, var(--new-bg), transparent 32%); }
._businessHeroContent_1tusx_251 { position: relative; z-index: 1; display: flex; min-height: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 96px; padding-bottom: 72px; }
._businessHeroCopy_1tusx_252 { width: min(49rem, 63%); }
._businessHeroTitle_1tusx_253 { margin-top: 1.25rem; font-size: 64px; font-weight: 900; letter-spacing: 0; line-height: 0.93; }
._businessHeroBody_1tusx_254 { max-width: 37rem; margin-top: 1.5rem; color: var(--new-muted); font-size: clamp(1.05rem, 1.45vw, 1.25rem); line-height: 1.65; }
._audienceGrid_1tusx_255 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 28px; }
._audienceCard_1tusx_256 { display: flex; min-height: 22rem; flex-direction: column; align-items: flex-start; padding: clamp(1.4rem, 2.4vw, 2.25rem); border: 1px solid var(--new-border); border-radius: 1rem; background: var(--new-surface); }
._audienceIcon_1tusx_257 { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--new-border-strong); border-radius: 999px; color: var(--new-text); }
._audienceTitle_1tusx_258 { margin-top: 2rem; font-size: 1.6rem; line-height: 1.1; }
._audienceBody_1tusx_259 { margin-top: 1rem; color: var(--new-muted); font-size: 0.95rem; line-height: 1.65; }
._audienceList_1tusx_260 { display: grid; gap: 0.65rem; margin-top: auto; padding-top: 1.5rem; color: var(--new-text); font-size: 0.82rem; }
._audienceList_1tusx_260 li { display: flex; align-items: flex-start; gap: 0.5rem; }
._audienceList_1tusx_260 svg { flex: none; margin-top: 0.2rem; color: var(--new-event); }
._featureList_1tusx_263 { margin-top: 28px; }
._featureRow_1tusx_264 { display: grid; grid-template-columns: 4rem minmax(0, 0.75fr) minmax(0, 1.25fr); gap: 2rem; padding-block: 2rem; border-top: 1px solid var(--new-border); }
._featureRow_1tusx_264:last-child { border-bottom: 1px solid var(--new-border); }
._featureNumber_1tusx_266 { color: var(--new-subtle); font-size: 0.75rem; letter-spacing: 0; }
._featureTitle_1tusx_267 { font-size: clamp(1.35rem, 2.2vw, 2rem); }
._featureBody_1tusx_268 { color: var(--new-muted); line-height: 1.7; }
._planPanel_1tusx_269 { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid var(--new-border); border-radius: 1rem; background: var(--new-surface); }
._planTitle_1tusx_270 { font-size: clamp(1.7rem, 3vw, 3rem); }
._planBody_1tusx_271 { max-width: 42rem; margin-top: 0.8rem; color: var(--new-muted); }
._businessFinal_1tusx_272 { display: grid; grid-template-columns: 1fr 0.82fr; align-items: center; gap: 3rem; }
._businessFinalImage_1tusx_273 { width: 100%; aspect-ratio: 1.25; -o-object-fit: cover; object-fit: cover; border-radius: 1rem; }

@media (max-width: 1080px) {
  ._heroTitle_1tusx_130 { font-size: 60px; }
  ._title_1tusx_58 { font-size: 44px; }
  ._heroCopy_1tusx_129 { width: 75%; }
  ._businessHeroTitle_1tusx_253 { font-size: 52px; }
  ._businessHeroCopy_1tusx_252 { width: 70%; }
}

@media (max-width: 860px) {
  ._container_1tusx_54 { padding-inline: 20px; }
  ._desktopNav_1tusx_97, ._headerAction_1tusx_100 { display: none; }
  ._menuButton_1tusx_102 { display: inline-flex; margin-left: auto; }
  ._mobileNav_1tusx_103 { position: absolute; inset: 64px 0 auto; padding: 12px 20px; background: var(--new-bg); border-bottom: 1px solid var(--new-border); }
  ._mobileNavOpen_1tusx_288 { display: grid; }
  ._mobileNav_1tusx_103 a { display: flex; min-height: 48px; align-items: center; border-bottom: 1px solid var(--new-border); }
  ._wordmark_1tusx_96 { font-size: 18px; }
  ._heroTitle_1tusx_130 { font-size: 56px; }
  ._heroBody_1tusx_131 { font-size: 18px; }
  ._heroContent_1tusx_128 { padding-top: 140px; padding-bottom: 40px; }
  ._splitSection_1tusx_147, ._splitReverse_1tusx_148 { grid-template-columns: 1fr; gap: 28px; }
  ._splitReverse_1tusx_148 ._sectionHeading_1tusx_56, ._splitReverse_1tusx_148 ._splitVisual_1tusx_150 { order: initial; }
  ._splitVisual_1tusx_150 { width: 100%; }
  ._audienceGrid_1tusx_255 { grid-template-columns: 1fr; }
  ._audienceCard_1tusx_256 { min-height: 0; }
  ._audienceList_1tusx_260 { margin-top: 0; }
  ._businessFinal_1tusx_272 { grid-template-columns: 1fr; gap: 24px; }
  ._footerInner_1tusx_240 { flex-wrap: wrap; }
  ._footerNav_1tusx_241 { width: 100%; justify-content: flex-start; order: 3; }
  ._invitationTitle_1tusx_144 { font-size: 28px; }
}

@media (max-width: 600px) {
  ._section_1tusx_55, ._finalCta_1tusx_234 { padding-block: 44px; }
  ._headerInner_1tusx_94 { min-height: 64px; gap: 8px; }
  ._heroImage_1tusx_123 { height: 280px; -o-object-position: 61% 28%; object-position: 61% 28%; }
  ._heroShade_1tusx_127 { background: linear-gradient(0deg, var(--new-bg) 0%, var(--new-bg) 40%, transparent 76%); }
  ._heroContent_1tusx_128 { padding-top: 210px; padding-bottom: 32px; }
  ._heroCopy_1tusx_129 { width: 100%; }
  ._heroTitle_1tusx_130 { font-size: 44px; line-height: 1.02; text-wrap: initial; }
  ._heroBody_1tusx_131 { margin-top: 16px; font-size: 16px; line-height: 1.45; }
  ._heroDownloads_1tusx_132 { margin-top: 20px; margin-right: 12px; }
  ._heroSecondary_1tusx_133 { margin-top: 8px; font-size: 14px; }
  ._actionLink_1tusx_101 { min-height: 44px; padding: 12px 20px; border-radius: 18px; font-size: 15px; white-space: normal; }
  ._buttonRow_1tusx_113 { gap: 8px 12px; margin-top: 20px; }
  ._title_1tusx_58 { font-size: 36px; line-height: 1.05; margin-top: 10px; }
  ._body_1tusx_59 { margin-top: 16px; font-size: 16px; line-height: 1.5; }
  ._eyebrow_1tusx_57 { font-size: 11px; }
  ._invitationStrip_1tusx_142 { position: relative; grid-template-columns: 1fr; overflow: hidden; }
  ._invitationContent_1tusx_143 { position: relative; z-index: 1; padding-block: 24px; width: 100%; }
  ._invitationTitle_1tusx_144 { max-width: 15ch; font-size: 26px; }
  /* Stacked below the text; 4:3 cover keeps the left ~89% of the 3:2 photo so both left people and the queen stay in frame. */
  ._invitationImage_1tusx_145 { grid-column: auto; grid-row: auto; position: static; width: 100%; height: auto; aspect-ratio: 4 / 3; min-height: 0; max-height: none; -o-object-position: 0% 20%; object-position: 0% 20%; -webkit-mask-image: none; mask-image: none; }
  ._invitationContent_1tusx_143 ._buttonRow_1tusx_113 { margin-top: 16px; }
  ._invitationContent_1tusx_143 ._actionLink_1tusx_101 { font-size: 13px; padding-inline: 12px; }
  ._productFrame_1tusx_153 { padding: 10px; }
  ._productHeader_1tusx_154 { gap: 8px; padding-bottom: 10px; }
  ._productName_1tusx_155 { font-size: 16px; }
  ._productTag_1tusx_156 { font-size: 10px; }
  ._profileGrid_1tusx_157 { gap: 5px; }
  ._profileCard_1tusx_158 { aspect-ratio: 0.94; border-radius: 4px; }
  ._profileCaption_1tusx_161 { padding: 5px; }
  ._profileName_1tusx_162 { font-size: 13px; }
  ._profileInterests_1tusx_163 { font-size: 10px; }
  ._demoConversation_1tusx_164 { font-size: 11px; padding: 8px; gap: 6px; flex-wrap: wrap; }
  ._demoConversation_1tusx_164 strong { width: 100%; font-weight: 500; }
  ._demoConversation_1tusx_164 span { padding: 6px 8px; }
  ._steps_1tusx_167 { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  ._step_1tusx_167 { padding-top: 12px; }
  ._stepTitle_1tusx_170 { margin-top: 8px; font-size: 20px; }
  ._stepBody_1tusx_171 { font-size: 15px; }
  ._mapCanvas_1tusx_174 { aspect-ratio: 0.85; }
  ._mapMarker_1tusx_182[data-marker="3"] { bottom: 38%; }
  ._mapMarker_1tusx_182[data-marker="4"] { bottom: 45%; }
  ._cardGrid_1tusx_206 { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
  ._editorialCard_1tusx_207 { flex: 0 0 86%; scroll-snap-align: start; }
  ._cardImageWrap_1tusx_208 { aspect-ratio: 1.3; }
  ._cardTitle_1tusx_212 { margin-top: 12px; font-size: 22px; }
  ._cardMeta_1tusx_213 { font-size: 15px; }
  ._sectionCta_1tusx_215 { margin-top: 20px; }
  ._storyPanel_1tusx_217, ._storyContent_1tusx_220 { min-height: 0; }
  ._storyImage_1tusx_218 { position: relative; width: 100%; height: auto; aspect-ratio: 1.95; -o-object-fit: cover; object-fit: cover; -o-object-position: 60% 35%; object-position: 60% 35%; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); }
  ._storyContent_1tusx_220 { padding-block: 24px 32px; }
  ._storyContent_1tusx_220 > :is(h2,p,._buttonRow_1tusx_113) { max-width: 100%; }
  ._storyTitle_1tusx_222 { font-size: 34px; }
  ._storyBody_1tusx_223 { font-size: 16px; line-height: 1.5; }
  ._page_1tusx_1 ._finalTitle_1tusx_235 { font-size: 40px; line-height: 1.02; }
  ._faqList_1tusx_225 { margin-top: 20px; }
  ._faqItem_1tusx_226 summary { min-height: 56px; font-size: 16px; }
  ._faqAnswer_1tusx_232 { font-size: 16px; padding-right: 20px; }
  ._businessHeroImage_1tusx_249 { inset: 0; width: 100%; height: 260px; -o-object-position: center 20%; object-position: center 20%; }
  ._businessHeroShade_1tusx_250 { background: linear-gradient(0deg, var(--new-bg) 0%, var(--new-bg) 48%, transparent 90%); }
  ._businessHeroContent_1tusx_251 { padding-top: 200px; padding-bottom: 36px; }
  ._businessHeroCopy_1tusx_252 { width: 100%; }
  ._businessHeroTitle_1tusx_253 { font-size: 42px; line-height: 1.05; }
  ._businessHeroBody_1tusx_254 { font-size: 16px; line-height: 1.5; }
  ._audienceCard_1tusx_256 { padding: 20px; border-radius: 8px; }
  ._audienceTitle_1tusx_258 { margin-top: 16px; }
  ._featureRow_1tusx_264 { grid-template-columns: 24px minmax(0, 1fr); gap: 12px; }
  ._featureBody_1tusx_268 { grid-column: 2; }
  ._planPanel_1tusx_269 { grid-template-columns: 1fr; border-radius: 8px; }
  ._planPanel_1tusx_269 ._actionLink_1tusx_101 { justify-self: start; }
  ._footerInner_1tusx_240 { align-items: flex-start; gap: 16px; }
  ._footerNav_1tusx_241 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 12px; }
  ._footerNav_1tusx_241 a, ._footerNav_1tusx_241 ._footerButton_1tusx_244 { min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 359px) {
  ._heroTitle_1tusx_130 { font-size: 40px; }
  ._profileInterests_1tusx_163 { display: none; }
  ._profileName_1tusx_162 { font-size: 12px; }
  ._businessHeroTitle_1tusx_253 { font-size: 38px; }
}

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

._plansFallback_1tusx_392 { min-height: 32rem; }
/* Embedded existing pricing keeps its own utility spacing (the page-level heading reset must not apply). */
._page_1tusx_1 ._plansEmbed_1tusx_394 h2 { margin-bottom: 1.25rem; }
._page_1tusx_1 ._plansEmbed_1tusx_394 p.mx-auto { margin-inline: auto; }
._page_1tusx_1 ._plansEmbed_1tusx_394 p.mt-1 { margin-top: 0.25rem; }

/* Shared public header (website-only pages) */
._desktopNav_1tusx_97 a._navActive_1tusx_399, ._desktopNav_1tusx_97 a[aria-current="page"] { color: var(--new-text); box-shadow: inset 0 -2px 0 0 transparent; border-bottom: 2px solid; -o-border-image: var(--new-prism) 1; border-image: var(--new-prism) 1; }
._langCompact_1tusx_400 { position: relative; display: inline-flex; align-items: center; margin-left: 0.5rem; color: var(--new-muted); font-size: 0.86rem; font-weight: 700; }
._langSelectWrap_1tusx_401 { position: relative; display: inline-flex; align-items: center; }
._langSelectWrap_1tusx_401 select { min-height: 44px; -moz-appearance: none; appearance: none; -webkit-appearance: none; padding: 0 1.4rem 0 0.5rem; border: 0; border-radius: 10px; background: transparent; color: var(--new-text); font: inherit; cursor: pointer; }
._langSelectWrap_1tusx_401 select option { background: #111; color: #fff; }
._langSelectWrap_1tusx_401 svg { position: absolute; right: 0.3rem; pointer-events: none; }
._langSelectWrap_1tusx_401 select:focus-visible, ._desktopNav_1tusx_97 a:focus-visible, ._mobileNav_1tusx_103 a:focus-visible, ._menuButton_1tusx_102:focus-visible { outline: 2px solid var(--new-text); outline-offset: 3px; }
._langRow_1tusx_406 { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 1rem; font-size: 18px; }
._langLabel_1tusx_407 { display: inline-flex; align-items: center; gap: 0.85rem; }
._mobileNavLinks_1tusx_408 { display: grid; }
._mobileNav_1tusx_103 ._mobileNavLinks_1tusx_408 a { display: flex; min-height: 64px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--new-border); font-size: 28px; font-weight: 900; line-height: 1.1; }
._mobileNav_1tusx_103 ._mobileNavLinks_1tusx_408 a[aria-current="page"] span { border-bottom: 2px solid; -o-border-image: var(--new-prism) 1; border-image: var(--new-prism) 1; }
._mobileNavActions_1tusx_411 { display: grid; justify-items: center; gap: 18px; padding-block: 28px 40px; }
._mobileNav_1tusx_103 ._mobileNavActions_1tusx_411 ._actionLink_1tusx_101 { width: 100%; min-height: 56px; border-bottom: 0; font-size: 20px; }
._mobileNav_1tusx_103 a._mobileWebApp_1tusx_413 { min-height: 44px; border: 0; font-size: 18px; }
@media (max-width: 1180px) {
  ._desktopNav_1tusx_97, ._headerAction_1tusx_100, ._langCompact_1tusx_400 { display: none; }
  ._menuButton_1tusx_102 { display: inline-flex; margin-left: auto; }
  ._siteHeader_1tusx_93:has(._mobileNavOpen_1tusx_288) { position: fixed; z-index: 90; inset: 0; overflow-y: auto; overscroll-behavior: contain; }
  ._mobileNav_1tusx_103 { position: static; inset: auto; padding: 8px 20px 0; border: 0; background: var(--new-bg); }
  ._mobileNavOpen_1tusx_288 { display: block; }
}
@media (min-width: 1181px) { ._mobileNav_1tusx_103 { display: none !important; } }
@media (max-width: 359px) { ._mobileNav_1tusx_103 ._mobileNavLinks_1tusx_408 a { font-size: 24px; } }
._siteHeader_1tusx_93 ._menuButton_1tusx_102:hover, ._siteHeader_1tusx_93 ._menuButton_1tusx_102[aria-expanded="true"] { background: var(--new-surface); color: var(--new-text); }

/* Public community map (homepage only) */
._liveMapCities_1tusx_426 { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; justify-content: space-between; min-height: 3.25rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--new-border); }
._liveMapCanvas_1tusx_427 { position: absolute; inset: 0; }
._liveMapOverlay_1tusx_428 { position: absolute; inset: 1rem 1rem auto 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.75rem; padding: 0.75rem 1rem; border: 1px solid var(--new-border); border-radius: 8px; background: var(--new-overlay); color: var(--new-text); font-size: 0.85rem; text-align: center; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); pointer-events: auto; }
._intentBubble_1tusx_429 { position: absolute; transform: translate(-50%, -50%); min-width: 40px; height: 40px; padding: 0 8px; display: flex; align-items: center; justify-content: center; gap: 2px; font-size: 18px; line-height: 1; border-radius: 20px; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; background: linear-gradient(var(--new-surface, #151518), var(--new-surface, #151518)) padding-box, linear-gradient(90deg, #a855f7, #ec4899, #f59e0b, #22d3ee, #a855f7) border-box; border: 2px solid transparent; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35); }
._mapLocate_1tusx_430 { margin: 0 10px 10px 0; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 4px; background: #fff; color: #444; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
._mapLocate_1tusx_430:focus-visible { outline: 2px solid #b35cf4; outline-offset: 2px; }
._mapCanvas_1tusx_174 .gm-style-iw-c { background: #151518 !important; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px !important; padding: 0 !important; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5) !important; }
._mapCanvas_1tusx_174 .gm-style-iw-d { overflow: auto !important; padding: 0 !important; }
._mapCanvas_1tusx_174 .gm-style-iw-tc::after { background: #151518 !important; }
._mapCanvas_1tusx_174 .gm-style-iw-chr { position: absolute; top: 0; right: 0; }
._mapCanvas_1tusx_174 .gm-ui-hover-effect { filter: invert(1); }
._mapPopup_1tusx_437 { display: flex; flex-direction: column; gap: 0.35rem; padding: 0.9rem 2.25rem 0.9rem 0.9rem; color: #f7f7f5; font-family: inherit; min-width: 190px; }
._mapPopupKind_1tusx_438 { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #22d3ee; }
._mapPopupKind_1tusx_438[data-kind="event"] { color: #f472b6; }
._mapPopupTitle_1tusx_440 { font-size: 0.95rem; line-height: 1.25; color: #fff; }
._mapPopupMeta_1tusx_441 { font-size: 0.78rem; color: #b5b5bc; }
._mapPopupCta_1tusx_442 { margin-top: 0.4rem; display: inline-flex; justify-content: center; padding: 0.55rem 0.9rem; border-radius: 999px; background: linear-gradient(90deg, #a855f7, #ec4899); color: #fff !important; font-weight: 700; font-size: 0.85rem; text-decoration: none; }
._mapPopupCta_1tusx_442:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Featured organisations: static, non-interactive tiles (no hover/focus affordances). */
._orgGrid_1tusx_446 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); margin-top: 28px; padding: 0; list-style: none; }
._orgGrid_1tusx_446[data-count="1"] { grid-template-columns: minmax(0, 420px); }
._orgGrid_1tusx_446[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 380px)); }
._orgCard_1tusx_449 { display: flex; flex-direction: column; gap: 1rem; min-width: 0; padding: 1rem; border: 1px solid var(--new-border); border-radius: 0.5rem; background: var(--new-surface); cursor: default; }
._orgLogoWrap_1tusx_450 { display: flex; align-items: center; justify-content: center; aspect-ratio: 1.6; overflow: hidden; border-radius: 0.35rem; background: var(--new-surface-raised); }
._orgLogo_1tusx_450 { width: 100%; height: 100%; -o-object-fit: contain; object-fit: contain; }
._orgName_1tusx_452 { font-size: clamp(1.1rem, 1.6vw, 1.4rem); letter-spacing: 0; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  ._orgGrid_1tusx_446, ._orgGrid_1tusx_446[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  ._orgGrid_1tusx_446[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
  ._orgCard_1tusx_449 { padding: 0.75rem; gap: 0.75rem; }
  ._orgLogoWrap_1tusx_450 { aspect-ratio: 1; }
  ._orgName_1tusx_452 { font-size: 17px; }
}
@media (max-width: 359px) { ._orgGrid_1tusx_446, ._orgGrid_1tusx_446[data-count="2"] { grid-template-columns: minmax(0, 1fr); } }
._memberCount_1tusx_461 { display: flex; flex-direction: column; gap: 0.2rem; min-height: 4.6rem; margin-top: 1.6rem; }
._memberCountValue_1tusx_462 { font-size: 44px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; background: var(--new-prism); -webkit-background-clip: text; background-clip: text; color: transparent; }
._memberCountLabel_1tusx_463 { color: var(--new-subtle); font-size: 0.78rem; font-weight: 750; text-transform: uppercase; }
@media (max-width: 640px) { ._memberCountValue_1tusx_462 { font-size: 36px; } ._memberCount_1tusx_461 { min-height: 4rem; } }

._brandLogo_1tusx_466{-o-object-fit:contain;object-fit:contain;border-radius:8px;flex-shrink:0}
._page_1tusx_1 *{letter-spacing:0!important}


@media(min-width:1181px){._siteHeader_1tusx_93 ._menuButton_1tusx_102{display:none}._desktopNav_1tusx_97 a,._headerAction_1tusx_100 ._actionLink_1tusx_101{white-space:nowrap}._desktopNav_1tusx_97{gap:22px}._headerInner_1tusx_94{gap:24px}._wordmark_1tusx_96{font-weight:750}}

._heroTitle_1tusx_130,._heroTitle_1tusx_130 span {-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;word-break:normal}
/* Website-only presentation for /for-business, /corporate, /support and legal pages. Scoped module; never imported by app routes. */
._hero_v0rhr_2 { position: relative; display: flex; min-height: 520px; align-items: center; overflow: hidden; background: var(--new-bg); }
._heroImage_v0rhr_3 { position: absolute; inset: 0 0 0 auto; width: 64%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 50% 35%; object-position: 50% 35%; }
._storyHeroImage_v0rhr_4 { -o-object-position: 60% 40%; object-position: 60% 40%; }
._heroShade_v0rhr_5 { position: absolute; inset: 0; background: linear-gradient(90deg, var(--new-bg) 0%, var(--new-bg) 36%, rgba(5,5,5,0.55) 52%, rgba(5,5,5,0) 72%); pointer-events: none; }
._heroContent_v0rhr_6 { position: relative; z-index: 1; width: 100%; padding-block: 72px; }
._heroCopy_v0rhr_7 { width: min(46%, 640px); }
._heroTitle_v0rhr_8 { margin-top: 14px; font-size: clamp(44px, 5vw, 76px); font-weight: 900; line-height: 0.96; letter-spacing: 0; text-transform: uppercase; text-wrap: balance; overflow-wrap: normal; -webkit-hyphens: none; hyphens: none; }
._heroBody_v0rhr_9 { max-width: 34rem; margin-top: 20px; color: var(--new-muted); font-size: 19px; line-height: 1.5; }
._textHero_v0rhr_10 { padding-block: 72px 56px; }
._textHero_v0rhr_10 ._heroTitle_v0rhr_8 { max-width: 14ch; }
._band_v0rhr_12 { padding-block: 36px; }
._threeCol_v0rhr_13 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
._colItem_v0rhr_14 { padding: 8px 32px; border-inline-start: 1px solid var(--new-border); }
._colItem_v0rhr_14:first-child { padding-inline-start: 0; border: 0; }
._colTitle_v0rhr_16 { margin-top: 12px; font-size: 26px; font-weight: 900; line-height: 1.1; }
._colTitleSmall_v0rhr_17 { font-size: 17px; font-weight: 800; }
._colBody_v0rhr_18 { margin-top: 8px; color: var(--new-muted); font-size: 16px; line-height: 1.55; }
._sectionTitle_v0rhr_19 { font-size: clamp(34px, 3.6vw, 52px); font-weight: 900; line-height: 1; letter-spacing: 0; text-wrap: balance; }
._lead_v0rhr_20 { max-width: 46rem; margin-top: 16px; color: var(--new-muted); font-size: 19px; line-height: 1.55; }
._twoCol_v0rhr_21 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 36px; }
._twoCol_v0rhr_21 > article { padding-inline-end: 40px; }
._twoCol_v0rhr_21 > article + article { padding-inline: 40px 0; border-inline-start: 1px solid var(--new-border); }
._offerGrid_v0rhr_24 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
._offerCard_v0rhr_25 { position: relative; overflow: hidden; aspect-ratio: 3 / 2; border: 1px solid var(--new-border); border-radius: 18px; background: var(--new-surface); }
._offerImage_v0rhr_26 { position: absolute; inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 50% 35%; object-position: 50% 35%; }
._offerShade_v0rhr_27 { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,5,5,0.92) 0%, rgba(5,5,5,0.5) 30%, transparent 58%); }
._offerText_v0rhr_28 { position: absolute; inset: auto 0 0; padding: 22px; }
._offerText_v0rhr_28 h3 { font-size: 26px; font-weight: 900; line-height: 1.1; }
._offerText_v0rhr_28 p { margin-top: 6px; color: var(--new-muted); font-size: 15px; line-height: 1.45; }
._steps_v0rhr_31 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
._step_v0rhr_31 { position: relative; display: flex; gap: 14px; align-items: flex-start; padding-inline-end: 36px; }
._stepNumber_v0rhr_33 { position: relative; display: inline-flex; flex: none; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 999px; font-weight: 800; }
._stepNumber_v0rhr_33::before { position: absolute; inset: 0; padding: 2px; border-radius: inherit; background: var(--new-prism); content: ""; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
._stepTitle_v0rhr_35 { font-size: 20px; font-weight: 850; line-height: 1.2; }
._stepArrow_v0rhr_36 { position: absolute; inset-inline-end: 0; top: 10px; color: var(--new-muted); }
[dir="rtl"] ._stepArrow_v0rhr_36 { transform: scaleX(-1); }
._plansSection_v0rhr_38 { padding-block: 8px 56px; scroll-margin-top: 1rem; }
._plansAnchor_v0rhr_39 { margin-top: 28px; scroll-margin-top: 1rem; }
._planPanel_v0rhr_40 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: 32px; border: 1px solid var(--new-border-strong); border-radius: 18px; background: var(--new-surface); }
._planTitle_v0rhr_41 { font-size: clamp(30px, 3vw, 44px); font-weight: 900; line-height: 1.02; }
._planNote_v0rhr_42 { margin-top: 10px; color: var(--new-subtle); font-size: 14px; line-height: 1.5; }
._company_v0rhr_43 { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: center; }
._company_v0rhr_43 > div { padding-inline-start: 40px; border-inline-start: 1px solid var(--new-border); }
._companyName_v0rhr_45 { font-size: clamp(30px, 3vw, 44px); font-weight: 900; line-height: 1.05; }
._inlineLink_v0rhr_46, ._inlineLinkPlain_v0rhr_46 { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; color: var(--new-text); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
._inlineLinkPlain_v0rhr_46 { display: inline; min-height: 0; }
._finalBand_v0rhr_48 { position: relative; overflow: hidden; min-height: 380px; display: flex; align-items: center; }
._finalImage_v0rhr_49 { position: absolute; inset: 0 0 0 auto; width: 60%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 50% 40%; object-position: 50% 40%; }
._finalShade_v0rhr_50 { position: absolute; inset: 0; background: linear-gradient(90deg, var(--new-bg) 0%, var(--new-bg) 38%, transparent 72%); }
._finalContent_v0rhr_51 { position: relative; z-index: 1; padding-block: 56px; }
._finalContent_v0rhr_51 ._sectionTitle_v0rhr_19 { max-width: 9ch; }
._tiles_v0rhr_53 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; list-style: none; padding: 0; margin: 0; }
._tile_v0rhr_53 { display: grid; gap: 10px; min-height: 140px; padding: 24px; border: 1px solid var(--new-border-strong); border-radius: 18px; background: var(--new-surface); transition: border-color 180ms ease, transform 180ms ease; }
._tile_v0rhr_53:hover { border-color: var(--new-text); transform: translateY(-2px); }
._tile_v0rhr_53:focus-visible, ._faqItem_v0rhr_56 summary:focus-visible, ._tocNav_v0rhr_56 a:focus-visible, ._faqLinks_v0rhr_56 a:focus-visible { outline: 2px solid var(--new-text); outline-offset: 3px; }
._tileTitle_v0rhr_57 { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 24px; font-weight: 900; line-height: 1.15; }
._tileBody_v0rhr_58 { color: var(--new-muted); font-size: 15px; line-height: 1.45; }
[dir="rtl"] ._tileTitle_v0rhr_57 svg { transform: scaleX(-1); }
._faqList_v0rhr_60 { display: grid; gap: 12px; margin-top: 24px; }
._faqItem_v0rhr_56 { border: 1px solid var(--new-border-strong); border-radius: 14px; background: var(--new-surface); }
._faqItem_v0rhr_56 summary { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 20px; cursor: pointer; list-style: none; }
._faqItem_v0rhr_56 summary::-webkit-details-marker { display: none; }
._faqItem_v0rhr_56 summary h3 { font-size: 19px; font-weight: 800; line-height: 1.3; }
._faqItem_v0rhr_56[open] summary svg { transform: rotate(180deg); }
._faqItem_v0rhr_56 > p { padding: 0 20px 12px; color: var(--new-muted); font-size: 16px; line-height: 1.6; }
._faqLinks_v0rhr_56 { display: flex; flex-wrap: wrap; gap: 4px 20px; padding-bottom: 18px !important; }
._faqLinks_v0rhr_56 a { display: inline-flex; min-height: 44px; align-items: center; color: var(--new-text); text-decoration: underline; text-underline-offset: 4px; }
/* Legal */
._legalLayout_v0rhr_70 { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; padding-block: 48px 64px; }
._tocDesktop_v0rhr_71 { position: sticky; top: 24px; align-self: start; max-height: calc(100vh - 48px); overflow-y: auto; padding-inline-end: 20px; border-inline-end: 1px solid var(--new-border); }
._tocTitle_v0rhr_72 { font-size: 16px; font-weight: 800; margin-bottom: 10px; }
._tocNav_v0rhr_56 ol { display: grid; gap: 2px; list-style: none; padding: 0; margin: 0; }
._tocNav_v0rhr_56 a { display: block; padding: 8px 0 8px 12px; border-inline-start: 2px solid transparent; color: var(--new-muted); font-size: 14px; line-height: 1.35; }
._tocNav_v0rhr_56 a:hover { color: var(--new-text); border-inline-start-color: var(--new-text); }
._tocMobile_v0rhr_76 { display: none; }
._legalMain_v0rhr_77 { min-width: 0; max-width: 46rem; }
._legalEyebrow_v0rhr_78 { letter-spacing: 0.14em; }
._legalHost_v0rhr_79 .fixed { position: static !important; inset: auto !important; overflow: visible !important; background: transparent !important; padding-bottom: 0 !important; min-height: 0 !important; }
._legalHost_v0rhr_79 .sticky { position: static !important; }
._legalHost_v0rhr_79 [data-public-legal-hidden] { display: none !important; }
._legalHost_v0rhr_79 .max-w-4xl, ._legalHost_v0rhr_79 .max-w-3xl, ._legalHost_v0rhr_79 .max-w-5xl { max-width: none !important; padding-inline: 0 !important; margin-inline: 0 !important; }
._legalHost_v0rhr_79 h1 { margin: 10px 0 14px !important; font-size: clamp(40px, 5vw, 68px) !important; font-weight: 900 !important; line-height: 0.98 !important; text-transform: uppercase; overflow-wrap: anywhere; background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--new-text) !important; }
._legalHost_v0rhr_79 h2 { font-weight: 900 !important; color: var(--new-text) !important; }
._legalHost_v0rhr_79, ._legalHost_v0rhr_79 .prose { color: var(--new-muted); font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
._legalHost_v0rhr_79 a { color: var(--new-text); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 860px) {
  ._hero_v0rhr_2 { flex-direction: column; align-items: stretch; min-height: 0; }
  ._heroImage_v0rhr_3 { position: relative; inset: auto; width: 100%; height: 300px; }
  ._heroShade_v0rhr_5 { inset: auto 0 0; top: 0; height: 300px; background: linear-gradient(0deg, var(--new-bg) 0%, rgba(5,5,5,0) 45%); }
  ._heroContent_v0rhr_6 { padding-block: 8px 40px; }
  ._heroCopy_v0rhr_7 { width: 100%; }
  ._heroTitle_v0rhr_8 { font-size: clamp(36px, 11vw, 52px); }
  ._heroBody_v0rhr_9 { font-size: 17px; }
  ._textHero_v0rhr_10 { padding-block: 44px 36px; }
  ._threeCol_v0rhr_13, ._twoCol_v0rhr_21, ._offerGrid_v0rhr_24, ._steps_v0rhr_31, ._tiles_v0rhr_53, ._planPanel_v0rhr_40, ._company_v0rhr_43 { grid-template-columns: 1fr; }
  ._colItem_v0rhr_14, ._colItem_v0rhr_14:first-child { padding: 18px 0; border: 0; border-top: 1px solid var(--new-border); }
  ._colItem_v0rhr_14:first-child { border-top: 0; }
  ._twoCol_v0rhr_21 > article, ._twoCol_v0rhr_21 > article + article { padding: 18px 0 0; border: 0; }
  ._company_v0rhr_43 { gap: 12px; }
  ._company_v0rhr_43 > div { padding: 0; border: 0; }
  ._step_v0rhr_31 { padding-inline-end: 0; }
  ._stepArrow_v0rhr_36 { display: none; }
  ._planPanel_v0rhr_40 { padding: 22px; gap: 16px; }
  ._finalBand_v0rhr_48 { flex-direction: column; align-items: stretch; min-height: 0; }
  ._finalImage_v0rhr_49 { position: relative; width: 100%; height: 260px; }
  ._finalShade_v0rhr_50 { height: 260px; background: linear-gradient(0deg, var(--new-bg) 0%, transparent 50%); }
  ._finalContent_v0rhr_51 { padding-block: 0 44px; }
  ._legalLayout_v0rhr_70 { grid-template-columns: 1fr; gap: 0; padding-block: 32px 48px; }
  ._tocDesktop_v0rhr_71 { display: none; }
  ._tocMobile_v0rhr_76 { display: block; margin: 16px 0 8px; border: 1px solid var(--new-border-strong); border-radius: 14px; }
  ._tocMobile_v0rhr_76 summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; padding: 0 16px; font-weight: 800; cursor: pointer; list-style: none; }
  ._tocMobile_v0rhr_76 summary::-webkit-details-marker { display: none; }
  ._tocMobile_v0rhr_76 ._tocNav_v0rhr_56 { padding: 0 16px 12px; }
  ._tocMobile_v0rhr_76 ._tocNav_v0rhr_56 a { min-height: 44px; display: flex; align-items: center; }
  ._tileTitle_v0rhr_57 { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) { ._tile_v0rhr_53 { transition: none; } ._tile_v0rhr_53:hover { transform: none; } }

/* Structured legal documents (PublicLegalPage). Dark-on-dark only; never inherits app prose colours. */
._legalDoc_v0rhr_121 { color: var(--new-muted); font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
._legalTitle_v0rhr_122 { margin: 10px 0 14px; color: var(--new-text); font-size: clamp(36px, 5vw, 64px); font-weight: 900; line-height: 1; text-transform: uppercase; overflow-wrap: normal; -webkit-hyphens: none; hyphens: none; }
._legalUpdated_v0rhr_123 { margin: 0 0 28px; color: var(--new-muted); font-size: 15px; }
._legalIntro_v0rhr_124 { margin: 0 0 20px; color: var(--new-text); }
._legalSection_v0rhr_125 { padding-top: 8px; margin-bottom: 36px; scroll-margin-top: 24px; }
._legalH2_v0rhr_126 { margin: 0 0 14px; color: var(--new-text); font-size: clamp(22px, 2.6vw, 28px); font-weight: 850; line-height: 1.2; scroll-margin-top: 24px; }
._legalH3_v0rhr_127 { margin: 22px 0 8px; color: var(--new-text); font-size: 19px; font-weight: 800; line-height: 1.3; }
._legalP_v0rhr_128 { margin: 0 0 14px; }
._legalDoc_v0rhr_121 ._legalList_v0rhr_129 { margin: 0 0 16px; padding-inline-start: 1.4em; list-style: disc outside; display: grid; gap: 8px; }
._legalDoc_v0rhr_121 ol._legalList_v0rhr_129 { list-style: decimal outside; }
._legalList_v0rhr_129 li { padding-inline-start: 2px; }
._legalNote_v0rhr_132 { margin: 0 0 16px; padding: 14px 16px; border: 1px solid var(--new-border-strong); border-radius: 12px; background: rgba(255,255,255,0.06); color: var(--new-text); }
._legalLangNotice_v0rhr_133 { margin: 0 0 20px; padding: 12px 14px; border: 1px solid var(--new-border-strong); border-radius: 12px; background: rgba(255,255,255,0.06); color: var(--new-text); font-size: 15px; }
._legalTableWrap_v0rhr_134 { margin: 0 0 20px; max-width: 100%; overflow-x: auto; border: 1px solid var(--new-border-strong); border-radius: 12px; }
._legalTableWrap_v0rhr_134:focus-visible { outline: 2px solid var(--new-text); outline-offset: 3px; }
._legalTable_v0rhr_134 { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
._legalTable_v0rhr_134 th, ._legalTable_v0rhr_134 td { overflow-wrap: normal; word-break: normal; -webkit-hyphens: manual; hyphens: manual; padding: 10px 12px; border-bottom: 1px solid var(--new-border); text-align: start; vertical-align: top; }
._legalTable_v0rhr_134 th:first-child, ._legalTable_v0rhr_134 td:first-child { min-width: 9.5em; }
._legalTable_v0rhr_134 th { color: var(--new-text); background: rgba(255,255,255,0.06); font-weight: 800; }
._legalTable_v0rhr_134 tr:last-child td { border-bottom: 0; }
._legalLink_v0rhr_141 { color: var(--new-text); text-decoration: underline; text-underline-offset: 3px; }
._legalLink_v0rhr_141:focus-visible, ._legalButton_v0rhr_142:focus-visible { outline: 2px solid var(--new-text); outline-offset: 3px; }
._legalButton_v0rhr_142 { display: inline-flex; min-height: 44px; align-items: center; padding: 0 18px; border: 1px solid var(--new-border-strong); border-radius: 999px; background: var(--new-text); color: var(--new-bg); font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
._legalDoc_v0rhr_121 strong { color: var(--new-text); }
@media (max-width: 640px) {
  ._legalDoc_v0rhr_121 { font-size: 16px; line-height: 1.65; }
  ._legalSection_v0rhr_125 { margin-bottom: 28px; }
  ._legalTable_v0rhr_134 { min-width: 480px; font-size: 14px; }
}
._hero_185wr_1 { position: relative; display: flex; min-height: 360px; align-items: center; overflow: hidden; background: var(--new-bg); }
._heroImage_185wr_2 { position: absolute; inset: 0 0 0 auto; width: 70%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 50% 38%; object-position: 50% 38%; }
._heroShade_185wr_3 { position: absolute; inset: 0; background: linear-gradient(90deg, var(--new-bg) 0%, var(--new-bg) 32%, rgba(5,5,5,0.64) 52%, rgba(5,5,5,0.06) 78%); pointer-events: none; }
._heroContent_185wr_4 { position: relative; z-index: 1; width: 100%; padding-block: 52px; }
._heroCopy_185wr_5 { width: min(58%, 720px); }
._heroTitle_185wr_6 { margin-top: 12px; font-size: clamp(44px, 5.1vw, 76px); font-weight: 900; line-height: 0.96; letter-spacing: 0; text-transform: uppercase; overflow-wrap: anywhere; }
._heroTitle_185wr_6 span { display: block; }
._heroBody_185wr_8 { max-width: 35rem; margin-top: 18px; color: var(--new-muted); font-size: 19px; line-height: 1.5; }
._section_185wr_9 { padding-block: 34px; scroll-margin-top: 20px; }
._sectionTitle_185wr_10 { font-size: clamp(30px, 3.2vw, 46px); font-weight: 900; line-height: 1.02; letter-spacing: 0; }
._sectionBody_185wr_11 { margin-top: 12px; color: var(--new-muted); font-size: 16px; line-height: 1.55; }
._categoryGrid_185wr_12 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
._imageCard_185wr_13 { position: relative; display: block; min-width: 0; aspect-ratio: 1.9; overflow: hidden; border: 1px solid var(--new-border-strong); border-radius: 12px; background: var(--new-surface); }
._cardImage_185wr_14 { position: absolute; inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 50% 36%; object-position: 50% 36%; transition: transform 240ms ease; }
._imageCard_185wr_13:hover ._cardImage_185wr_14 { transform: scale(1.025); }
._cardShade_185wr_16 { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,5,5,0.94) 0%, rgba(5,5,5,0.34) 48%, transparent 78%); }
._cardText_185wr_17 { position: absolute; inset: auto 0 0; display: grid; gap: 4px; padding: 20px; }
._cardText_185wr_17 strong { display: flex; align-items: center; gap: 8px; font-size: clamp(20px, 2.1vw, 28px); font-weight: 900; line-height: 1.05; }
._cardText_185wr_17 > span { color: var(--new-muted); font-size: 13px; line-height: 1.4; }
._cityGrid_185wr_20 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
._cityCard_185wr_21 { aspect-ratio: 2.35; }
._barcelonaCityImage_185wr_22, ._barcelonaHeroImage_185wr_22 { -o-object-position: 72% 0%; object-position: 72% 0%; }
._directoryGrid_185wr_23 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
._countryBlock_185wr_24 { min-width: 0; padding: 20px; border: 1px solid var(--new-border); border-radius: 12px; background: var(--new-surface); }
._countryBlock_185wr_24 h3 { font-size: 20px; font-weight: 850; }
._countryBlock_185wr_24 h3 a { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 8px; }
._countryBlock_185wr_24 ul { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
._countryBlock_185wr_24 li a { display: inline-flex; min-height: 36px; align-items: center; padding: 6px 10px; border: 1px solid var(--new-border); border-radius: 999px; color: var(--new-muted); font-size: 13px; }
._countryBlock_185wr_24 a:hover { color: var(--new-text); border-color: var(--new-border-strong); }
._businessBand_185wr_30, ._finalBand_185wr_30 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr); gap: 44px; align-items: center; }
._bandTitle_185wr_31 { font-size: clamp(32px, 4vw, 56px); font-weight: 900; line-height: 0.98; letter-spacing: 0; }
._finalActions_185wr_32 { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 16px; }
._citySwitch_185wr_33 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-block: 20px; }
._citySwitch_185wr_33 > span { margin-right: 4px; color: var(--new-subtle); font-size: 13px; font-weight: 750; text-transform: uppercase; }
._citySwitch_185wr_33 a, ._filters_185wr_35 a { display: inline-flex; min-height: 40px; align-items: center; padding: 7px 12px; border: 1px solid var(--new-border); border-radius: 999px; color: var(--new-muted); font-size: 14px; }
._citySwitch_185wr_33 a[aria-current="page"], ._filters_185wr_35 a[aria-current="page"] { border-color: var(--new-text); background: var(--new-text); color: var(--new-text-inverse); }
._previewHeading_185wr_37 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr); gap: 32px; align-items: end; }
._previewHeading_185wr_37 ._sectionTitle_185wr_10 { margin-top: 8px; }
._previewHeading_185wr_37 > p { color: var(--new-subtle); font-size: 13px; line-height: 1.55; }
._filters_185wr_35 { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
._statePanel_185wr_41 { margin-top: 24px; padding: 28px; border: 1px solid var(--new-border-strong); border-radius: 12px; background: var(--new-surface); }
._statePanel_185wr_41 h3 { font-size: 23px; font-weight: 850; }
._statePanel_185wr_41 p { max-width: 50rem; margin-top: 8px; color: var(--new-muted); line-height: 1.55; }
._statePanel_185wr_41 button, ._statePanel_185wr_41 > a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 18px; padding: 9px 18px; border: 1px solid var(--new-border-strong); border-radius: 999px; background: var(--new-text); color: var(--new-text-inverse); font-weight: 750; cursor: pointer; }
._eventGrid_185wr_45 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
._textGrid_185wr_46 { margin-top: 24px; }
._eventGrid_185wr_45 > li { min-width: 0; }
._eventCard_185wr_48 { height: 100%; overflow: hidden; border: 1px solid var(--new-border-strong); border-radius: 14px; background: var(--new-surface); scroll-margin-top: 20px; }
._eventImage_185wr_49, ._eventNoImage_185wr_49 { width: 100%; aspect-ratio: 16 / 8; -o-object-fit: cover; object-fit: cover; background: var(--new-surface-raised); }
._eventNoImage_185wr_49 { display: grid; place-items: center; color: var(--new-subtle); }
._eventBody_185wr_51 { padding: 22px; }
._eventSource_185wr_52 { color: var(--new-subtle); font-size: 12px; font-weight: 700; text-transform: uppercase; }
._eventTitle_185wr_53 { margin-top: 8px; font-size: 25px; font-weight: 900; line-height: 1.12; overflow-wrap: anywhere; }
._eventMeta_185wr_54 { display: grid; gap: 7px; margin-top: 14px; color: var(--new-muted); font-size: 14px; }
._eventMeta_185wr_54 p { display: flex; align-items: flex-start; gap: 8px; }
._eventMeta_185wr_54 svg { flex: none; margin-top: 2px; }
._eventSummary_185wr_57 { display: -webkit-box; margin-top: 14px; overflow: hidden; color: var(--new-muted); font-size: 15px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
._eventDetails_185wr_58 { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; margin-top: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
._providerNote_185wr_59 { margin-top: 4px; color: var(--new-subtle); font-size: 12px; line-height: 1.45; }
@media (max-width: 960px) {
  ._directoryGrid_185wr_23 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  ._heroCopy_185wr_5 { width: 65%; }
}
@media (max-width: 860px) {
  ._hero_185wr_1 { flex-direction: column; align-items: stretch; min-height: 0; }
  ._heroImage_185wr_2 { position: relative; inset: auto; width: 100%; height: 280px; -o-object-position: 50% 36%; object-position: 50% 36%; }
  ._heroShade_185wr_3 { inset: 0 0 auto; height: 280px; background: linear-gradient(0deg, var(--new-bg) 0%, rgba(5,5,5,0) 55%); }
  ._heroContent_185wr_4 { padding-block: 6px 32px; }
  ._heroCopy_185wr_5 { width: 100%; }
  ._heroTitle_185wr_6 { font-size: clamp(38px, 9vw, 54px); }
  ._heroBody_185wr_8 { font-size: 17px; }
  ._section_185wr_9 { padding-block: 28px; }
  ._categoryGrid_185wr_12, ._cityGrid_185wr_20, ._eventGrid_185wr_45 { grid-template-columns: 1fr; }
  ._imageCard_185wr_13 { aspect-ratio: 2.55; }
  ._cityCard_185wr_21 { aspect-ratio: 2.35; }
  ._businessBand_185wr_30, ._finalBand_185wr_30, ._previewHeading_185wr_37 { grid-template-columns: 1fr; gap: 18px; }
  ._finalActions_185wr_32 { align-items: flex-start; }
}
@media (max-width: 520px) {
  ._directoryGrid_185wr_23 { grid-template-columns: 1fr; }
  ._cardText_185wr_17 { padding: 16px; }
  ._cardText_185wr_17 strong { font-size: 22px; }
  ._eventBody_185wr_51 { padding: 18px; }
  ._eventTitle_185wr_53 { font-size: 23px; }
  ._statePanel_185wr_41 { padding: 22px; }
  ._citySwitch_185wr_33 { gap: 7px; }
  ._citySwitch_185wr_33 > span { width: 100%; }
}
@media (max-width: 359px) {
  ._heroTitle_185wr_6 { font-size: 36px; }
  ._imageCard_185wr_13 { aspect-ratio: 2.15; }
  ._cityCard_185wr_21 { aspect-ratio: 1.95; }
  ._finalActions_185wr_32 { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  ._cardImage_185wr_14 { transition: none; }
  ._imageCard_185wr_13:hover ._cardImage_185wr_14 { transform: none; }
}
/* Services-only additions on top of the Events page styles (approved Services mockups). */
._fourGrid_2lv4m_2._fourGrid_2lv4m_2 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
._fourGrid_2lv4m_2 > a { min-height: 132px; }
@media (max-width: 860px) {
  ._fourGrid_2lv4m_2._fourGrid_2lv4m_2 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  ._fourGrid_2lv4m_2 > a { min-height: 92px; }
  ._fourGrid_2lv4m_2 strong { font-size: 0.82rem; line-height: 1.1; }
  ._fourGrid_2lv4m_2 > a > span:last-child > span { display: none; }
}
/* Neutral slot until the approved Services photo arrives; never a stock substitute. */
._photoSlot_2lv4m_11 { display: block; background: radial-gradient(120% 90% at 20% 10%, #222225, #050505); }

._grid_2lv4m_13 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
._grid2_2lv4m_14 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
._card_2lv4m_15 { position: relative; display: flex; height: 100%; min-height: 200px; flex-direction: column; gap: 14px; padding: 20px; overflow: hidden; border: 1px solid rgb(255 255 255 / 0.15); border-radius: 14px; background: linear-gradient(160deg, #141416 0%, #0b0b0c 100%); }
._card_2lv4m_15::before { content: ''; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, #f18c68, #c58cff, #6fd3ff); opacity: 0.75; }
._cardText_2lv4m_17 { min-width: 0; flex: 1; }
._cardText_2lv4m_17 h3 { margin: 0; font-size: clamp(1.2rem, 1.8vw, 1.5rem); font-weight: 900; line-height: 1.1; letter-spacing: -0.02em; overflow-wrap: break-word; -webkit-hyphens: manual; hyphens: manual; }
._kicker_2lv4m_19 { margin: 0 0 8px; color: #f18c68; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
._meta_2lv4m_20 { margin: 6px 0 0; color: #ededeb; font-size: 0.92rem; }
._subtle_2lv4m_21 { margin: 6px 0 0; color: #bdbdbb; font-size: 0.86rem; }
._card_2lv4m_15 ._cardCta_2lv4m_22 { align-self: flex-start; display: inline-flex; min-height: 40px; align-items: center; gap: 4px; padding: 0 14px; border-radius: 999px; background: #f7f7f5; color: #050505 !important; font-size: 0.88rem; font-weight: 800; }
._cardCta_2lv4m_22:focus-visible { outline: 2px solid #f7f7f5; outline-offset: 3px; }
._note_2lv4m_24 { margin: 14px 0 0; color: #bdbdbb; font-size: 0.92rem; }

._breadcrumb_2lv4m_26 { display: flex; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; font-size: 0.92rem; }
._breadcrumb_2lv4m_26 li + li::before { content: '/'; margin-right: 8px; color: #bdbdbb; }
._cityBar_2lv4m_28 { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 16px; }
._citySelect_2lv4m_29 { min-height: 44px; padding: 0 2.2rem 0 1rem; border: 0; border-radius: 999px; background: #f7f7f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23050505' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.9rem center; color: #050505; font: inherit; font-weight: 800; -moz-appearance: none; appearance: none; -webkit-appearance: none; cursor: pointer; }
._worldwide_2lv4m_30 { display: inline-flex; min-height: 44px; align-items: center; gap: 6px; font-weight: 800; }
._band_2lv4m_31 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; }
._band_2lv4m_31 h2 { margin: 0; font-size: clamp(1.6rem, 3.2vw, 2.6rem); font-weight: 900; letter-spacing: -0.03em; line-height: 1.05; }
._band_2lv4m_31 p { margin: 0; max-width: 28rem; color: #ededeb; }

@media (max-width: 1000px) { ._grid_2lv4m_13 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  ._grid_2lv4m_13, ._grid2_2lv4m_14 { grid-template-columns: 1fr; gap: 10px; }
  ._card_2lv4m_15 { min-height: 0; padding: 16px; gap: 12px; }
}
._fourGrid_2lv4m_2 > a { min-width: 0; }
@media (max-width: 860px) {
  ._fourGrid_2lv4m_2 > a > span:last-child { left: 0; right: 0; padding: 8px; }
  ._fourGrid_2lv4m_2 strong { display: block; font-size: 0.72rem !important; overflow-wrap: normal; -webkit-hyphens: none; hyphens: none; } ._fourGrid_2lv4m_2 > a { aspect-ratio: 0.85 !important; min-height: 0; }
}
@media (min-width: 861px) { ._fourGrid_2lv4m_2 > a { aspect-ratio: 1.75; } }
._photoBand_2lv4m_47 { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(72px, 10vw, 140px) !important; }
._photoBandImage_2lv4m_48 { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
._photoBandShade_2lv4m_49 { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,5,5,0.94) 0%, rgba(5,5,5,0.78) 45%, rgba(5,5,5,0.35) 100%); }
@media (max-width: 640px) { ._photoBandShade_2lv4m_49 { background: rgba(5,5,5,0.72); } }
._photoBand_2lv4m_47 ._band_2lv4m_31 { flex-direction: column; align-items: flex-start; justify-content: center; }
._shortLabel_2lv4m_52 { display: none; }
@media (max-width: 400px) {
  ._fourGrid_2lv4m_2 ._longLabel_2lv4m_54 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  ._fourGrid_2lv4m_2 ._shortLabel_2lv4m_52 { display: inline; }
}
/* Website-only plan cards (/subscriptions, /for-business). Scoped module; never imported by app routes. */
._wrap_py2h6_2 { position: relative; }
._meta_py2h6_3 { margin-bottom: 14px; text-align: end; color: var(--new-muted); font-size: 15px; font-weight: 700; }
._grid_py2h6_4 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
._card_py2h6_5 { display: flex; min-width: 0; flex-direction: column; padding: 28px; border: 1px solid var(--new-border); border-radius: 18px; background: var(--new-surface); }
._title_py2h6_6 { font-size: clamp(28px, 2.6vw, 36px); font-weight: 900; line-height: 1.05; overflow-wrap: anywhere; }
._subtitle_py2h6_7 { margin-top: 6px; color: var(--new-muted); font-size: 16px; line-height: 1.4; }
._price_py2h6_8 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; padding-block: 22px; margin-block-end: 20px; border-bottom: 1px solid var(--new-border-strong); }
._amount_py2h6_9 { font-size: clamp(36px, 4vw, 52px); font-weight: 900; line-height: 1; overflow-wrap: anywhere; }
._per_py2h6_10 { color: var(--new-muted); font-size: 16px; }
._features_py2h6_11 { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; flex: 1; }
._features_py2h6_11 li { display: flex; gap: 12px; align-items: flex-start; color: var(--new-muted); font-size: 16px; line-height: 1.4; }
._features_py2h6_11 svg { flex: none; margin-top: 2px; }
._note_py2h6_14 { margin-top: 16px; color: var(--new-subtle); font-size: 14px; line-height: 1.45; }
._cta_py2h6_15 { margin-top: 24px; }
._cta_py2h6_15 > a { width: 100%; justify-content: center; }
._footnote_py2h6_17 { margin-top: 14px; color: var(--new-subtle); font-size: 13px; line-height: 1.5; }
@media (max-width: 767px) {
  ._meta_py2h6_3 { text-align: start; }
  ._grid_py2h6_4 { grid-template-columns: minmax(0, 1fr); }
  ._card_py2h6_5 { padding: 22px; }
}

/* /subscriptions page sections */
._plansHead_py2h6_25 { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; margin-bottom: 20px; }
._plansHead_py2h6_25 p { max-width: 46rem; }
._coach_py2h6_27 { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: center; }
._coachImage_py2h6_28 { width: 100%; aspect-ratio: 3 / 2; height: auto; -o-object-fit: cover; object-fit: cover; border-radius: 18px; }
._final_py2h6_29 { display: grid; gap: 24px; }
._finalTitle_py2h6_30 { font-size: clamp(38px, 5vw, 72px); font-weight: 900; line-height: 0.96; text-transform: uppercase; overflow-wrap: anywhere; }
@media (max-width: 860px) { ._coach_py2h6_27 { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
._cardsTop_py2h6_32 { margin-top: 28px; }
._coachMedia_py2h6_33 { min-width: 0; }
._hero_13bub_1 { position: relative; display: flex; min-height: min(784px, calc(100svh - 160px)); align-items: center; overflow: hidden; background: var(--new-bg); }
._photo_13bub_2 { position: absolute; inset: 0 0 0 auto; width: 60%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 50% 42%; object-position: 50% 42%; }
._shade_13bub_3 { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--new-bg) 0%, var(--new-bg) 40%, rgba(5,5,5,0.55) 46%, rgba(5,5,5,0.08) 58%, transparent 70%); }
._content_13bub_4 { position: relative; z-index: 1; width: min(100%, 1540px); flex: none; padding-block: 56px; }
@media (min-width: 1024px) and (max-width: 1279px) { ._copy_13bub_5 { width: 56% !important; } ._photo_13bub_2 { width: 56%; } ._shade_13bub_3 { background: linear-gradient(90deg, var(--new-bg) 0%, var(--new-bg) 44%, rgba(5,5,5,0.6) 52%, rgba(5,5,5,0.1) 64%, transparent 74%); } ._qrCard_13bub_5 { gap: 22px; padding: 22px; } ._qrText_13bub_5 { padding-left: 22px; } ._qrText_13bub_5 h2 { font-size: 22px; } ._qrText_13bub_5 p { font-size: 16px; } }
._copy_13bub_5 { width: min(48%, 740px); }
._eyebrow_13bub_7 { color: var(--new-text); font-size: 15px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
._title_13bub_8 { margin-top: 24px !important; font-size: clamp(48px, 4.6vw, 78px); font-weight: 900; line-height: 0.96; letter-spacing: -0.01em; text-transform: uppercase; }
._title_13bub_8 span { display: block; }
._body_13bub_10 { max-width: 34rem; margin-top: 22px !important; color: var(--new-text); font-size: clamp(19px, 1.5vw, 24px); line-height: 1.38; }
._qrCard_13bub_5 { display: flex; align-items: center; gap: 32px; max-width: 570px; margin-top: 32px; padding: 28px 32px; border: 1px solid var(--new-border-strong); border-radius: 14px; background: rgba(16,16,18,0.88); }
._qr_13bub_5 { width: 156px; height: 156px; flex: none; border-radius: 8px; }
._qrText_13bub_5 { padding-left: 32px; border-left: 1px solid var(--new-border-strong); }
._qrText_13bub_5 h2 { font-size: 26px; font-weight: 800; line-height: 1.15; }
._qrText_13bub_5 p { margin-top: 10px !important; color: var(--new-text); font-size: 19px; line-height: 1.4; }
._qrText_13bub_5 ._platforms_13bub_16 { margin-top: 26px !important; color: var(--new-muted); font-size: 15px; }
._stores_13bub_17 { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 28px; }
._storeLink_13bub_18 { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; border-radius: 10px; transition: transform 180ms ease; }
._storeLink_13bub_18:hover { transform: translateY(-2px); }
._appStoreBadge_13bub_20 { width: 200px; height: auto; }
._playStoreBadge_13bub_21 { width: 218px; height: auto; }
._webLink_13bub_22 { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 18px; font-size: 18px; text-decoration: underline !important; text-underline-offset: 4px; }
._adults_13bub_23 { margin-top: 10px !important; color: var(--new-muted); font-size: 15px; }
._values_13bub_24 { margin-inline: auto !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 26px; }
._values_13bub_24 li { display: flex; align-items: center; justify-content: center; gap: 22px; font-size: 26px; font-weight: 800; }
._values_13bub_24 li + li { border-left: 1px solid var(--new-border-strong); }

@media (max-width: 1023px) {
  ._hero_13bub_1 { flex-direction: column; align-items: stretch; min-height: 0; }
  ._photo_13bub_2 { position: relative; width: 100%; height: auto; aspect-ratio: 4 / 3; -o-object-position: 50% 40%; object-position: 50% 40%; }
  ._shade_13bub_3 { display: none; }
  ._content_13bub_4 { padding-block: 28px 40px; }
  ._copy_13bub_5 { width: 100%; }
  ._values_13bub_24 { grid-template-columns: 1fr; gap: 14px; }
  ._values_13bub_24 li { justify-content: flex-start; font-size: 20px; }
  ._values_13bub_24 li + li { border-left: 0; }
}
@media (max-width: 560px) {
  ._title_13bub_8 { font-size: clamp(36px, 11vw, 48px); }
  ._qrCard_13bub_5 { flex-direction: column; align-items: flex-start; gap: 18px; padding: 20px; }
  ._qrText_13bub_5 { padding-left: 0; border-left: 0; }
  ._qrText_13bub_5 h2 { font-size: 22px; }
  ._stores_13bub_17 { gap: 12px; }
  ._storeLink_13bub_18 { min-width: 0; flex: 1 1 140px; }
  ._appStoreBadge_13bub_20 { width: 120px; }
  ._playStoreBadge_13bub_21 { width: 136px; }
}
@media (min-width: 1600px) { ._photo_13bub_2 { width: 52%; } ._shade_13bub_3 { background: linear-gradient(90deg, var(--new-bg) 0%, var(--new-bg) 48%, rgba(5,5,5,0.5) 53%, rgba(5,5,5,0.06) 64%, transparent 74%); } }
._directory_1gumm_1 { margin-top: 24px; }
._toolbar_1gumm_2 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
._search_1gumm_3 { position: relative; flex: 1 1 280px; max-width: 420px; }
._search_1gumm_3 input { width: 100%; min-height: 46px; padding: 0 44px 0 16px; border: 1px solid var(--new-border-strong); border-radius: 999px; background: var(--new-surface); color: var(--new-text); font: inherit; font-size: 15px; }
._search_1gumm_3 input:focus-visible { outline: 2px solid var(--new-text); outline-offset: 2px; }
._search_1gumm_3 button { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); min-width: 34px; min-height: 34px; border: 0; border-radius: 999px; background: transparent; color: var(--new-muted); cursor: pointer; font-size: 18px; }
._label_1gumm_7 { display: block; margin-bottom: 8px; color: var(--new-subtle); font-size: 13px; font-weight: 750; text-transform: uppercase; }
._chip_1gumm_8 { display: inline-flex; min-height: 38px; align-items: center; padding: 6px 12px; border: 1px solid var(--new-border); border-radius: 999px; color: var(--new-muted); font-size: 14px; line-height: 1.2; }
._chip_1gumm_8:hover { color: var(--new-text); border-color: var(--new-border-strong); }
._chip_1gumm_8:focus-visible { outline: 2px solid var(--new-text); outline-offset: 2px; }
._chip_1gumm_8[aria-current="page"] { border-color: var(--new-text); background: var(--new-text); color: var(--new-text-inverse); }
._worldwide_1gumm_12 { font-weight: 800; color: var(--new-text); border-color: var(--new-border-strong); }
._status_1gumm_13 { width: 100%; color: var(--new-subtle); font-size: 13px; }
._status_1gumm_13 a, ._status_1gumm_13 button { margin-left: 6px; border: 0; background: none; color: var(--new-text); font: inherit; font-weight: 750; text-decoration: underline; cursor: pointer; padding: 0; }
._groups_1gumm_15 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin-top: 18px; }
._group_1gumm_15 { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 10px; align-items: start; min-width: 0; padding-block: 12px; border-top: 1px solid var(--new-border); }
._group_1gumm_15 h3 { padding-top: 9px; color: var(--new-text); font-size: 14px; font-weight: 850; overflow-wrap: anywhere; }
._group_1gumm_15 ul { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; margin: 0; padding: 0; list-style: none; }
._empty_1gumm_19 { margin-top: 18px; padding: 22px; border: 1px solid var(--new-border-strong); border-radius: 12px; background: var(--new-surface); }
._empty_1gumm_19 button { margin-top: 12px; min-height: 40px; padding: 6px 16px; border: 1px solid var(--new-border-strong); border-radius: 999px; background: var(--new-text); color: var(--new-text-inverse); font: inherit; font-weight: 750; cursor: pointer; }
@media (max-width: 1023px) { ._groups_1gumm_15 { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  ._group_1gumm_15 { grid-template-columns: 1fr; gap: 6px; }
  ._group_1gumm_15 h3 { padding-top: 0; }
  ._chip_1gumm_8 { min-height: 36px; padding: 5px 10px; font-size: 13px; }
  ._search_1gumm_3 { max-width: none; }
}
._disclosure_1gumm_28 { padding-block: 16px; }
._disclosure_1gumm_28 > summary { display: inline-flex; min-height: 44px; align-items: center; gap: 6px; padding: 8px 16px; border: 1px solid var(--new-border-strong); border-radius: 999px; color: var(--new-text); font-weight: 800; cursor: pointer; list-style: none; }
._disclosure_1gumm_28 > summary::-webkit-details-marker { display: none; }
._disclosure_1gumm_28 > summary::after { content: '+'; margin-left: 4px; }
._disclosure_1gumm_28[open] > summary::after { content: '−'; }
._disclosure_1gumm_28 > summary span { color: var(--new-subtle); font-weight: 600; }
._disclosure_1gumm_28 > summary:focus-visible { outline: 2px solid var(--new-text); outline-offset: 2px; }
@font-face {
  font-family: "New Public Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/__l5e/assets-v1/f1abe4c4-fceb-49c6-a1e0-cb4eb4f40392/public-font.woff2") format("woff2");
}
/*
  Android Chrome: SPA shell uses html{height:100%; overflow-x:hidden} and
  #root{overflow-x:hidden} (which forces overflow-y:auto). Touch pan latches onto
  that non-scrolling root and never moves the document. iOS still chains fine.
  Unlock document scroll only while new-public pages are mounted.
*/
html.new-public-scroll {
  height: auto;
  overflow-x: visible;
  overflow-y: auto;
}

html.new-public-scroll body,
html.new-public-scroll #root {
  overflow: visible;
  height: auto;
  min-height: 100%;
  min-height: 100svh;
}
._cookiePanel_1j3d0_1{position:fixed;z-index:100;inset:auto 20px 20px auto;max-width:min(440px,calc(100vw - 40px));padding:24px;background:var(--new-surface-raised,hsl(var(--card)));color:var(--new-text,hsl(var(--foreground)));border:1px solid var(--new-border-strong,hsl(var(--border)));border-radius:8px;box-shadow:var(--new-shadow,0 18px 50px rgb(0 0 0 / .45))}
._cookiePanel_1j3d0_1 h2{font-size:18px;font-weight:750}
._cookiePanel_1j3d0_1 p{margin:16px 0;line-height:1.6;color:var(--new-muted,inherit)}._cookiePanel_1j3d0_1 a{display:block;margin-bottom:16px;text-decoration:underline}
._crumbs_nam6p_1{font-size:.85rem;opacity:.75;margin-bottom:14px}._crumbs_nam6p_1 a{text-decoration:underline;text-underline-offset:3px}
._title_nam6p_2{font-weight:900;font-size:clamp(2rem,5.2vw,4.2rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px;max-width:18ch;overflow-wrap:anywhere}
._facts_nam6p_3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px 0 0}@media(min-width:860px){._facts_nam6p_3{grid-template-columns:repeat(4,minmax(0,1fr))}}
._facts_nam6p_3 div{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px 16px}._facts_nam6p_3 dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-bottom:4px}._facts_nam6p_3 dd{margin:0;font-weight:700}
._section_nam6p_5{padding:40px 0 8px}._article_nam6p_5{max-width:860px}._article_nam6p_5 p+p{margin-top:14px}
._figure_nam6p_6{margin:24px 0 0}._figure_nam6p_6 img{width:100%;height:auto;aspect-ratio:3/2;-o-object-fit:cover;object-fit:cover;border-radius:20px}._figure_nam6p_6 figcaption{font-size:.8rem;opacity:.6;margin-top:8px}
._bullets_nam6p_7{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}@media(min-width:700px){._bullets_nam6p_7{grid-template-columns:repeat(2,minmax(0,1fr))}}
._bullets_nam6p_7 li{border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 18px}._bullets_nam6p_7 h3{font-size:1rem;font-weight:800;margin:0 0 6px}._bullets_nam6p_7 p{margin:0;opacity:.75;line-height:1.55}
._faq_nam6p_9{display:grid;gap:10px;margin-top:20px}._faq_nam6p_9 details{border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 18px}._faq_nam6p_9 summary{font-weight:800;cursor:pointer}._faq_nam6p_9 p{margin:10px 0 0;opacity:.8;line-height:1.6}
._related_nam6p_10{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}@media(min-width:700px){._related_nam6p_10{grid-template-columns:repeat(2,minmax(0,1fr))}}
._reference_jaijz_1 { background: var(--public-reference-bg); color: var(--public-reference-text); }
._partners_jaijz_2 { max-width: 896px; margin-inline: auto; padding: 40px 24px 64px; }
._partners_jaijz_2 > section:first-child { padding-block: 0 56px; }
._reference_jaijz_1 ._partners_jaijz_2 h1 { max-width: none; font-size: 60px; text-transform: none; line-height: 1.1; background: var(--public-reference-title); color: transparent; -webkit-background-clip: text; background-clip: text; }
._reference_jaijz_1 p { color: var(--public-reference-muted); }
._partner_jaijz_2 { padding: 40px; border: 1px solid var(--public-reference-border); border-radius: 8px; margin-bottom: 64px; scroll-margin-top: 80px; background: var(--public-reference-panel); }
._partner_jaijz_2[data-partner="ticketmaster"] { background: var(--public-reference-ticketmaster); }
._partner_jaijz_2[data-partner="viator"] { background: var(--public-reference-viator); }
._partner_jaijz_2[data-partner="eventbrite"] { background: var(--public-reference-eventbrite); }
._partner_jaijz_2 > div { padding: 0; }
._partner_jaijz_2 h2 { font-size: 30px; margin-block: 24px 8px; line-height: 1.1; }
._wordLogo_jaijz_12 { display: flex; width: 160px; height: 80px; align-items: center; justify-content: center; border-radius: 8px; background: var(--public-reference-text); color: var(--public-reference-bg); font-size: 20px; font-weight: 800; }
._partner_jaijz_2 h3 { font-size: 18px; }
._partner_jaijz_2 ul { display: grid; gap: 10px; margin-top: 14px; padding-left: 20px; list-style: disc; color: var(--public-reference-muted); }
._partner_jaijz_2 p { font-size: 18px; }
._investors_jaijz_16 { background: var(--public-reference-investors); }
._investors_jaijz_16 > section > div { max-width: 1152px; margin-inline: auto; }
._investors_jaijz_16 > section:first-child { text-align: center; padding-block: 96px 80px; }
._investors_jaijz_16 > section:first-child h1 { max-width: 900px; margin-inline: auto; font-size: 64px; text-transform: none; line-height: 1.08; }
._investors_jaijz_16 > section:first-child p { margin-inline: auto; }
._investors_jaijz_16 > section:first-child > div > div { justify-content: center; }
._investors_jaijz_16 section:has(> div > h2) h2 { font-size: 36px; line-height: 1.15; }
._investors_jaijz_16 section:has(> div > h2) { text-align: center; }
._investors_jaijz_16 article { text-align: left; padding: 24px !important; margin-bottom: 20px; border: 1px solid var(--public-reference-border) !important; border-radius: 8px; background: var(--public-reference-panel); }
._investors_jaijz_16 article svg { color: var(--public-reference-accent); }
._investors_jaijz_16 article h3 { font-size: 22px; }
._investors_jaijz_16 article p { margin-top: 12px; font-size: 16px; }
._support_jaijz_28 { max-width: 672px; padding-inline: 24px; margin-inline: auto; text-align: center; }
._support_jaijz_28 > section:first-child { padding-block: 40px; }
._support_jaijz_28 h1 { max-width: none !important; font-size: 36px; text-transform: none; }
._support_jaijz_28 h2 { font-size: 28px; }
._support_jaijz_28 > section:nth-of-type(2) { text-align: left; border: 1px solid var(--public-reference-border); border-radius: 8px; padding: 24px; background: var(--public-reference-panel); }
._support_jaijz_28 > section > div { padding: 0; }
@media(max-width:860px) {
 ._reference_jaijz_1 ._partners_jaijz_2 h1 { font-size: 36px; }
 ._partner_jaijz_2 { padding: 24px; }
 ._partner_jaijz_2 p { font-size: 17px; }
 ._investors_jaijz_16 > section:first-child { padding-block: 64px 48px; }
 ._investors_jaijz_16 > section:first-child h1 { font-size: 40px; }
 ._investors_jaijz_16 section:has(> div > h2) h2 { font-size: 30px; }
}
html,body{margin:0;background:#050505;color:#f7f7f5}*,*::before,*::after{box-sizing:border-box}h1,h2,h3,p,ul,ol{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{max-width:100%}.public-recovery{padding:48px;font-family:"New Public Inter",sans-serif}
