/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .static {
    position: static;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .flex {
    display: flex;
  }
  .h-full {
    height: 100%;
  }
  .min-h-0 {
    min-height: 0px;
  }
  .w-full {
    width: 100%;
  }
  .min-w-0 {
    min-width: 0px;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
@property --amb-elevation {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}
:root {
  --amb-light-x: -1;
  --amb-light-y: -1;
  --amb-key-light-intensity: .9;
  --amb-fill-light-intensity: .7;
  --amb-light-hue: 234;
  --amb-light-saturation: 15%;
  --amb-light-distance: 0px;
  --amb-chamfer: 0;
  --amb-fillet: 0;
  --amb-thickness: 0;
  --amb-elevation: 0;
  --amb-chamfer-width: 1;
  --amb-fillet-width: 1;
  --amb-highlight-color: coral;
  --amb-lume-hue: 17;
  --amb-albedo: #eaeaea;
  --amb-shade: 1;
  --amb-curve-scale: 1;
  --amb-mat-specular: 0;
  --amb-mat-roughness: 1;
  --amb-mat-opacity: 1;
  --amb-grain-amount: 1;
  --amb-lume: hsl(var(--amb-lume-hue) 100% 74%);
  @supports (color: color-mix(in lab, red, red)) {
    --amb-lume: color-mix(in oklab, hsl(var(--amb-lume-hue) 100% 74%) calc(max(0, min((.5 - var(--amb-key-light-intensity)) / .2, 1)) * 100%), hsl(var(--amb-light-hue) var(--amb-light-saturation) calc((1 - sign(var(--amb-key-light-intensity) - .5)) * 50% + 25%)));
  }
  --amb-label: hsl(var(--amb-light-hue) var(--amb-light-saturation) calc((1 - var(--amb-key-light-intensity)) * 60% + 20%));
}
@supports (color:lab(0% 0 0)) {
  :root {
    --amb-albedo: lab(92.5749% 0 0);
  }
}
* {
  --amb-curve-delta: calc(( (var(--amb-key-light-intensity) - var(--amb-fill-light-intensity)) * 3.16 + 3.78 ) * var(--amb-curve-scale));
  --amb-exposure: calc(var(--amb-key-light-intensity) * .6396 + var(--amb-fill-light-intensity) * .5496);
  --_amb-diffuse: color(from var(--amb-albedo) srgb-linear calc(r * var(--amb-shade) * var(--amb-exposure)) calc(g * var(--amb-shade) * var(--amb-exposure)) calc(b * var(--amb-shade) * var(--amb-exposure)));
  --amb-lit: var(--_amb-diffuse);
  @supports (color: color-mix(in lab, red, red)) {
    --amb-lit: color-mix(in srgb, var(--_amb-diffuse), hsl(from var(--_amb-diffuse) var(--amb-light-hue) calc(100 - s) l) var(--amb-light-saturation));
  }
}
.amb-chamfer {
  --amb-chamfer: 1;
  --amb-thickness: 1;
}
.amb-chamfer-2 {
  --amb-chamfer: 1;
  --amb-chamfer-width: 2;
  --amb-thickness: 2;
}
.amb-fillet {
  --amb-fillet: 1;
  --amb-thickness: 1;
}
.amb-fillet-2 {
  --amb-fillet: 1;
  --amb-fillet-width: 2;
  --amb-thickness: 2;
}
.amb-groove {
  --amb-thickness: 1;
}
.amb-thickness-0 {
  --amb-thickness: 0;
}
.amb-thickness-1 {
  --amb-thickness: 1;
}
.amb-thickness-2 {
  --amb-thickness: 2;
}
.amb-elevation-0 {
  --amb-elevation: 0;
}
.amb-elevation-1 {
  --amb-elevation: 1;
}
.amb-elevation-2 {
  --amb-elevation: 2;
}
.amb-elevation-3 {
  --amb-elevation: 3;
}
.ambient {
  --_amb-chamfer-w: max(-1 * var(--amb-thickness), min(var(--amb-chamfer-width), var(--amb-thickness)));
  --_amb-fillet-w: max(-1 * var(--amb-thickness), min(var(--amb-fillet-width), var(--amb-thickness)));
  --_amb-sh-gate: max(0, min(var(--amb-elevation) + var(--amb-thickness), 1));
  --_amb-body-gate: max(0, min(var(--amb-thickness), 1));
  --_amb-sweep-a: calc(var(--_amb-sh-gate) * var(--_amb-body-gate) * max(0, 1 - var(--amb-elevation) / 3) * (var(--amb-thickness) * .02 + .047));
  box-shadow: hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / calc(var(--_amb-sh-gate) * ( (var(--amb-key-light-intensity) - var(--amb-fill-light-intensity)) * .13 + var(--amb-elevation) * -.077 + .368 - var(--_amb-body-gate) * max(0, 1 - var(--amb-elevation)) * .14 ))) calc(var(--amb-light-x) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * 3.8px) * -1) calc(var(--amb-light-y) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * 3.8px) * -1) calc(var(--amb-elevation) * 4.8px + var(--amb-thickness) * 2.7px) .8px, hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / var(--_amb-sweep-a)) calc(var(--amb-light-x) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * 2.85px) * -1) calc(var(--amb-light-y) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * 2.85px) * -1) calc(var(--amb-elevation) * 4.8px + var(--amb-thickness) * 2px) calc(var(--amb-thickness) * .9px), hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / var(--_amb-sweep-a)) calc(var(--amb-light-x) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * 1.9px) * -1) calc(var(--amb-light-y) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * 1.9px) * -1) calc(var(--amb-elevation) * 4.8px + var(--amb-thickness) * 1.35px) calc(var(--amb-thickness) * .6px), hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / var(--_amb-sweep-a)) calc(var(--amb-light-x) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * .95px) * -1) calc(var(--amb-light-y) * (var(--amb-elevation) * 6.8px + var(--amb-thickness) * .95px) * -1) calc(var(--amb-elevation) * 4.8px + var(--amb-thickness) * .7px) calc(var(--amb-thickness) * .3px), inset calc(var(--amb-light-x) * var(--_amb-chamfer-w) * -1px) calc(var(--amb-light-y) * var(--_amb-chamfer-w) * -1px) 0px 0px hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--amb-chamfer) * max(0, min(var(--amb-thickness), 1)) * ( var(--amb-key-light-intensity) * 1.57 + var(--amb-fill-light-intensity) * .85 - 1.03 ))), inset calc(var(--amb-light-x) * var(--_amb-chamfer-w) * 1px) calc(var(--amb-light-y) * var(--_amb-chamfer-w) * 1px) 0px 0px hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / calc(var(--amb-chamfer) * max(0, min(var(--amb-thickness), 1)) * ( (var(--amb-key-light-intensity) - var(--amb-fill-light-intensity)) * .19 + .24 ))), inset calc(var(--amb-light-x) * var(--_amb-fillet-w) * -1.4px) calc(var(--amb-light-y) * var(--_amb-fillet-w) * -1.4px) 2px 0px hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--amb-fillet) * max(0, min(var(--amb-thickness), 1)) * ( var(--amb-key-light-intensity) * 1.44 + var(--amb-fill-light-intensity) * .85 - .99 ))), inset calc(var(--amb-light-x) * var(--_amb-fillet-w) * 1.4px) calc(var(--amb-light-y) * var(--_amb-fillet-w) * 1.4px) 2px 0px hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / calc(var(--amb-fillet) * max(0, min(var(--amb-thickness), 1)) * ( (var(--amb-key-light-intensity) - var(--amb-fill-light-intensity)) * .23 + .3 )));
}
.amb-surface {
  background-color: var(--amb-lit);
}
.amb-groove {
  --_amb-groove-exposure: calc(var(--amb-key-light-intensity) * .6623 + var(--amb-fill-light-intensity) * .5527);
  --_amb-groove-diffuse: color(from var(--amb-albedo) srgb-linear calc(r * var(--amb-shade) * var(--_amb-groove-exposure)) calc(g * var(--amb-shade) * var(--_amb-groove-exposure)) calc(b * var(--amb-shade) * var(--_amb-groove-exposure)));
  background-color: var(--_amb-groove-diffuse);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--_amb-groove-diffuse), hsl(from var(--_amb-groove-diffuse) var(--amb-light-hue) calc(100 - s) l) var(--amb-light-saturation));
  }
  box-shadow: inset calc(var(--amb-light-x) * var(--amb-thickness) * -3.6px) calc(var(--amb-light-y) * var(--amb-thickness) * -3.6px) calc(var(--amb-thickness) * 2.7px) 0px hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / calc(max(0, min(var(--amb-thickness), 1)) * ( (var(--amb-key-light-intensity) - var(--amb-fill-light-intensity)) * .24 + .31 ))), inset calc(var(--amb-light-x) * var(--amb-thickness) * 2.7px) calc(var(--amb-light-y) * var(--amb-thickness) * 2.7px) calc(var(--amb-thickness) * 5.1px) 0px hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(max(0, min(var(--amb-thickness), 1)) * max(0, min(var(--amb-key-light-intensity) * 1.5 + var(--amb-fill-light-intensity) * .72 - .96, 1))));
}
.amb-mat-shiny {
  --amb-mat-specular: 1;
  --amb-mat-roughness: 0;
  --amb-mat-opacity: 1;
  --_shiny-angle: calc(atan2(var(--amb-light-y), var(--amb-light-x)) + 270deg);
  --_spec-peak: var(--amb-key-light-intensity);
  background-image: linear-gradient(var(--_shiny-angle), hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--amb-key-light-intensity) * .09 + .07)) 0%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 10%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 24%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--_spec-peak) * .04 + .31)) 30%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 36%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 100%), linear-gradient(to bottom, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--amb-fill-light-intensity) * .22)) 0%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 45%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / 0) 60%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 0% / calc(var(--amb-fill-light-intensity) * .1)) 100%);
  filter: brightness(1.04)contrast(1.01);
}
.amb-mat-glass {
  --amb-mat-specular: .05;
  --amb-mat-roughness: .9;
  --amb-mat-opacity: 0;
  --_shiny-angle: calc(atan2(var(--amb-light-y), var(--amb-light-x)) + 270deg);
  --_spec-peak: var(--amb-key-light-intensity);
  background-image: linear-gradient(var(--_shiny-angle), hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--_spec-peak) * .12)) 0%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--_spec-peak) * .06)) 40%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 75%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 100%);
  background-blend-mode: screen;
  --_glass-lightness: calc(var(--amb-key-light-intensity) * 100%);
  --_glass-alpha: calc(.05 + var(--amb-key-light-intensity) * .1);
  --_glass-blur: calc(8px + var(--amb-key-light-intensity) * 8px);
  background-color: hsl(var(--amb-light-hue) var(--amb-light-saturation) var(--_glass-lightness) / var(--_glass-alpha));
  -webkit-backdrop-filter: blur(var(--_glass-blur)) saturate(160%);
  backdrop-filter: blur(var(--_glass-blur)) saturate(160%);
  border: 1px solid hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(.1 + var(--amb-key-light-intensity) * .15));
}
:where(.amb-mat-brushed),:where(.amb-mat-brushed-round),:where(.amb-mat-blasted) {
  position: relative;
}
.amb-mat-brushed,.amb-mat-brushed-round,.amb-mat-blasted {
  isolation: isolate;
  --_grain-offset: 2px;
  --_grain-x: round(var(--amb-light-x) * var(--_grain-offset), 1px);
  --_grain-y: round(var(--amb-light-y) * var(--_grain-offset), 1px);
  --_grain-aniso: 1;
  --_grain-lit: max(.45, min(1.5, .45 + 2.75 * (var(--amb-key-light-intensity) - var(--amb-fill-light-intensity))));
  overflow: hidden;
}
.amb-mat-brushed:before,.amb-mat-brushed:after,.amb-mat-brushed-round:before,.amb-mat-brushed-round:after,.amb-mat-blasted:before,.amb-mat-blasted:after {
  content: "";
  pointer-events: none;
  border-radius: inherit;
  z-index: -1;
  background-size: var(--_grain-scale);
  opacity: calc(var(--_grain-aniso) * var(--_grain-lit) * var(--_grain-alpha) * var(--amb-grain-amount));
  background-repeat: repeat;
  position: absolute;
  inset: 0;
}
.amb-mat-brushed:before,.amb-mat-brushed-round:before,.amb-mat-blasted:before {
  background-image: var(--_grain-tile);
  background-position: var(--_grain-x) var(--_grain-y);
  mix-blend-mode: screen;
}
.amb-mat-brushed:after,.amb-mat-brushed-round:after,.amb-mat-blasted:after {
  background-image: var(--_grain-tile-inv);
  background-position: calc(var(--_grain-x) * -1) calc(var(--_grain-y) * -1);
  mix-blend-mode: multiply;
}
.amb-mat-brushed {
  --amb-mat-specular: .3;
  --amb-mat-roughness: .72;
  --_grain-tile: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%3E%3Cfilter%20id%3D%22t%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20color-interpolation-filters%3D%22linearRGB%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.015625%200.9%22%20numOctaves%3D%221%22%20seed%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type%3D%22linear%22%20slope%3D%222%22%20intercept%3D%22-0.5%22%2F%3E%3CfeFuncG%20type%3D%22linear%22%20slope%3D%222%22%20intercept%3D%22-0.5%22%2F%3E%3CfeFuncB%20type%3D%22linear%22%20slope%3D%222%22%20intercept%3D%22-0.5%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url\(%23t\)%22%2F%3E%3C%2Fsvg%3E);
  --_grain-tile-inv: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%3E%3Cfilter%20id%3D%22t%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20color-interpolation-filters%3D%22linearRGB%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.015625%200.9%22%20numOctaves%3D%221%22%20seed%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type%3D%22linear%22%20slope%3D%22-2%22%20intercept%3D%221.5%22%2F%3E%3CfeFuncG%20type%3D%22linear%22%20slope%3D%22-2%22%20intercept%3D%221.5%22%2F%3E%3CfeFuncB%20type%3D%22linear%22%20slope%3D%22-2%22%20intercept%3D%221.5%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url\(%23t\)%22%2F%3E%3C%2Fsvg%3E);
  --_grain-scale: 512px;
  --_grain-alpha: .2;
  --_grain-across: calc(abs(var(--amb-light-y)) / max(.001, hypot(var(--amb-light-x), var(--amb-light-y))));
  --_grain-aniso: calc(.3 + .7 * var(--_grain-across));
  --_sheen-alpha: calc(var(--amb-key-light-intensity) * .11 + .04);
  --_sheen-at: calc(54% + var(--amb-light-y) * 42%);
  background-image: linear-gradient(to bottom, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 0%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) calc(var(--_sheen-at) - 42%), hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / var(--_sheen-alpha)) var(--_sheen-at), hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) calc(var(--_sheen-at) + 42%), hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 100%);
}
.amb-mat-blasted {
  --amb-mat-specular: 0;
  --amb-mat-roughness: 1;
  --_grain-tile: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2296%22%20height%3D%2296%22%3E%3Cfilter%20id%3D%22t%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20color-interpolation-filters%3D%22linearRGB%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.9%200.9%22%20numOctaves%3D%222%22%20seed%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type%3D%22linear%22%20slope%3D%222%22%20intercept%3D%22-0.5%22%2F%3E%3CfeFuncG%20type%3D%22linear%22%20slope%3D%222%22%20intercept%3D%22-0.5%22%2F%3E%3CfeFuncB%20type%3D%22linear%22%20slope%3D%222%22%20intercept%3D%22-0.5%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23t%29%22%2F%3E%3C%2Fsvg%3E);
  --_grain-tile-inv: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2296%22%20height%3D%2296%22%3E%3Cfilter%20id%3D%22t%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20color-interpolation-filters%3D%22linearRGB%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.9%200.9%22%20numOctaves%3D%222%22%20seed%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type%3D%22linear%22%20slope%3D%22-2%22%20intercept%3D%221.5%22%2F%3E%3CfeFuncG%20type%3D%22linear%22%20slope%3D%22-2%22%20intercept%3D%221.5%22%2F%3E%3CfeFuncB%20type%3D%22linear%22%20slope%3D%22-2%22%20intercept%3D%221.5%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23t%29%22%2F%3E%3C%2Fsvg%3E);
  --_grain-scale: 96px;
  --_grain-alpha: .32;
}
.amb-mat-brushed-round {
  --amb-mat-specular: .3;
  --amb-mat-roughness: .72;
  --_grain-tile: conic-gradient(from 0deg at 50% 50%, #a4a4a4 0deg, #fff 2.4deg, #b0b0b0 9.6deg, #fff 13.3deg, #fff 18.4deg, #000 24.6deg, #fff 30.9deg, #525252 36deg, #fff 43deg, #000 48.2deg, #343434 53deg, #1b1b1b 59.1deg, #fff 64.2deg, #000 69.1deg, #ebebeb 75.5deg, #737373 83deg, #000 87deg, #ebebeb 94.1deg, #fff 98.9deg, #fff 102.7deg, #7d7d7d 110.3deg, #000 114.4deg, #000 120.8deg, #9a9a9a 127.1deg, #cfcfcf 131.9deg, #fff 137.1deg, #000 142.1deg, #d9d9d9 148.1deg, #b5b5b5 154.7deg, #fff 158.9deg, #fff 166.2deg, #fff 172deg, #ededed 177.4deg, #161616 182.6deg, #e2e2e2 187.6deg, #000 195.2deg, #e3e3e3 200.9deg, #000 206.4deg, #252525 209.9deg, #5b5b5b 215.1deg, #fff 222.1deg, #cdcdcd 228.9deg, #fff 234.4deg, #cacaca 239.5deg, #484848 244.5deg, #000 250.8deg, #000 257.1deg, #000 260.8deg, silver 268.5deg, #fff 274deg, #535353 279.6deg, #dfdfdf 284.9deg, #f6f6f6 290.5deg, #000 294.6deg, #fff 299.7deg, #d1d1d1 308.1deg, #444 312.1deg, #fff 318.2deg, #525252 323.4deg, #c4c4c4 328.4deg, #747474 333.2deg, #000 340.4deg, #636363 346.1deg, #8d8d8d 350.4deg, #000 355.7deg, #a4a4a4 360deg);
  --_grain-tile-inv: conic-gradient(from 0deg at 50% 50%, #5b5b5b 0deg, #000 2.4deg, #4f4f4f 9.6deg, #000 13.3deg, #000 18.4deg, #fff 24.6deg, #000 30.9deg, #adadad 36deg, #000 43deg, #fff 48.2deg, #cbcbcb 53deg, #e4e4e4 59.1deg, #000 64.2deg, #fff 69.1deg, #141414 75.5deg, #8c8c8c 83deg, #fff 87deg, #141414 94.1deg, #000 98.9deg, #000 102.7deg, #828282 110.3deg, #fff 114.4deg, #fff 120.8deg, #656565 127.1deg, #303030 131.9deg, #000 137.1deg, #fff 142.1deg, #262626 148.1deg, #4a4a4a 154.7deg, #000 158.9deg, #000 166.2deg, #000 172deg, #121212 177.4deg, #e9e9e9 182.6deg, #1d1d1d 187.6deg, #fff 195.2deg, #1c1c1c 200.9deg, #fff 206.4deg, #dadada 209.9deg, #a4a4a4 215.1deg, #000 222.1deg, #323232 228.9deg, #000 234.4deg, #353535 239.5deg, #b7b7b7 244.5deg, #fff 250.8deg, #fff 257.1deg, #fff 260.8deg, #3f3f3f 268.5deg, #000 274deg, #acacac 279.6deg, #202020 284.9deg, #090909 290.5deg, #fff 294.6deg, #000 299.7deg, #2e2e2e 308.1deg, #bbb 312.1deg, #000 318.2deg, #adadad 323.4deg, #3b3b3b 328.4deg, #8b8b8b 333.2deg, #fff 340.4deg, #9c9c9c 346.1deg, #727272 350.4deg, #fff 355.7deg, #5b5b5b 360deg);
  --_grain-scale: 200% 200%;
  --_grain-alpha: .1;
  --_sheen-alpha: calc(var(--amb-key-light-intensity) * .11 + .04);
  --_sheen-angle: calc(atan2(var(--amb-light-y), var(--amb-light-x)) + 90deg);
  background-image: radial-gradient(circle closest-side at 50% 50%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / calc(var(--_sheen-alpha) * 1.5)) 0%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 40%), conic-gradient(from var(--_sheen-angle) at 50% 50%, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / var(--_sheen-alpha)) 0deg, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 62deg, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 118deg, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / var(--_sheen-alpha)) 180deg, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 242deg, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / 0) 298deg, hsl(var(--amb-light-hue) var(--amb-light-saturation) 100% / var(--_sheen-alpha)) 360deg);
}
.amb-mat-brushed-round:before {
  background-position: calc(50% + var(--_grain-x)) calc(50% + var(--_grain-y));
}
.amb-mat-brushed-round:after {
  background-position: calc(50% - var(--_grain-x)) calc(50% - var(--_grain-y));
}
.amb-surface-concave {
  --_concave-y: max(-1, min(var(--amb-light-y), 1));
  --_concave-delta: calc(var(--_concave-y) * var(--amb-curve-delta));
  background: linear-gradient(hsl(from var(--amb-lit) h s calc(l + var(--_concave-delta))) 0%, hsl(from var(--amb-lit) h s calc(l + var(--_concave-delta) * .33)) 35%, hsl(from var(--amb-lit) h s l) 50%, hsl(from var(--amb-lit) h s calc(l - var(--_concave-delta) * .33)) 65%, hsl(from var(--amb-lit) h s calc(l - var(--_concave-delta))) 100%);
}
.amb-surface-concave-h {
  --_concave-h-x: max(-1, min(var(--amb-light-x), 1));
  --_concave-h-delta: calc(var(--_concave-h-x) * var(--amb-curve-delta));
  background: linear-gradient(to right, hsl(from var(--amb-lit) h s calc(l + var(--_concave-h-delta))) 0%, hsl(from var(--amb-lit) h s calc(l + var(--_concave-h-delta) * .33)) 35%, hsl(from var(--amb-lit) h s l) 50%, hsl(from var(--amb-lit) h s calc(l - var(--_concave-h-delta) * .33)) 65%, hsl(from var(--amb-lit) h s calc(l - var(--_concave-h-delta))) 100%);
}
.amb-surface-convex {
  --_convex-y: max(-1, min(var(--amb-light-y), 1));
  --_convex-delta: calc(var(--_convex-y) * var(--amb-curve-delta));
  background: linear-gradient(hsl(from var(--amb-lit) h s calc(l - var(--_convex-delta))) 0%, hsl(from var(--amb-lit) h s calc(l - var(--_convex-delta) * .33)) 35%, hsl(from var(--amb-lit) h s l) 50%, hsl(from var(--amb-lit) h s calc(l + var(--_convex-delta) * .33)) 65%, hsl(from var(--amb-lit) h s calc(l + var(--_convex-delta))) 100%);
}
.amb-light-tl {
  --amb-light-x: -1;
  --amb-light-y: -1;
}
.amb-light-tr {
  --amb-light-x: 1;
  --amb-light-y: -1;
}
.amb-light-bl {
  --amb-light-x: -1;
  --amb-light-y: 1;
}
.amb-light-br {
  --amb-light-x: 1;
  --amb-light-y: 1;
}
.amb-light-top {
  --amb-light-x: 0;
  --amb-light-y: -1;
}
.amb-light-bottom {
  --amb-light-x: 0;
  --amb-light-y: 1;
}
.amb-light-left {
  --amb-light-x: -1;
  --amb-light-y: 0;
}
.amb-light-right {
  --amb-light-x: 1;
  --amb-light-y: 0;
}
.amb-emit-red {
  --amb-emit-color: #ef4444;
}
.amb-emit-green {
  --amb-emit-color: #4ade80;
}
.amb-emit-amber {
  --amb-emit-color: #f59e0b;
}
.amb-emit-cyan {
  --amb-emit-color: #22d3d3;
}
.amb-emit-blue {
  --amb-emit-color: #3b82f6;
}
.amb-emit-white {
  --amb-emit-color: #fff;
}
.amb-rounded {
  border-radius: 4px;
}
.amb-rounded-md {
  border-radius: 8px;
}
.amb-rounded-lg {
  border-radius: 12px;
}
.amb-rounded-xl {
  border-radius: 16px;
}
.amb-rounded-full {
  border-radius: 9999px;
}
.amb-glow {
  box-shadow: 0 0 6.2px var(--amb-lume);
}
@keyframes amb-bounce-elevation {
  0%,to {
    --amb-elevation: 0;
  }
  15% {
    --amb-elevation: 3;
  }
  30% {
    --amb-elevation: 0;
  }
  42% {
    --amb-elevation: 2;
  }
  54% {
    --amb-elevation: 0;
  }
  64% {
    --amb-elevation: 1;
  }
  74% {
    --amb-elevation: 0;
  }
}
.amb-bounce {
  animation: 2s ease-in-out infinite amb-bounce-elevation;
}
.react-flow {
  direction: ltr;
  --xy-edge-stroke-default: #b1b1b7;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #555;
  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;
  --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);
  --xy-minimap-background-color-default: #fff;
  --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #e2e2e2;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;
  --xy-background-color-default: transparent;
  --xy-background-pattern-dots-color-default: #91919a;
  --xy-background-pattern-lines-color-default: #eee;
  --xy-background-pattern-cross-color-default: #e2e2e2;
  background-color: var(--xy-background-color, var(--xy-background-color-default));
  --xy-node-color-default: inherit;
  --xy-node-border-default: 1px solid #1a192b;
  --xy-node-background-color-default: #fff;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
  --xy-node-border-radius-default: 3px;
  --xy-handle-background-color-default: #1a192b;
  --xy-handle-border-color-default: #fff;
  --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);
  --xy-controls-button-background-color-default: #fefefe;
  --xy-controls-button-background-color-hover-default: #f4f4f4;
  --xy-controls-button-color-default: inherit;
  --xy-controls-button-color-hover-default: inherit;
  --xy-controls-button-border-color-default: #eee;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
  --xy-edge-label-background-color-default: #ffffff;
  --xy-edge-label-color-default: inherit;
  --xy-resize-background-color-default: #3367d9;
}
.react-flow.dark {
  --xy-edge-stroke-default: #3e3e3e;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #727272;
  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;
  --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);
  --xy-minimap-background-color-default: #141414;
  --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #2b2b2b;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;
  --xy-background-color-default: #141414;
  --xy-background-pattern-dots-color-default: #555;
  --xy-background-pattern-lines-color-default: #333;
  --xy-background-pattern-cross-color-default: #333;
  --xy-node-color-default: #f8f8f8;
  --xy-node-border-default: 1px solid #3c3c3c;
  --xy-node-background-color-default: #1e1e1e;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;
  --xy-handle-background-color-default: #bebebe;
  --xy-handle-border-color-default: #1e1e1e;
  --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);
  --xy-controls-button-background-color-default: #2b2b2b;
  --xy-controls-button-background-color-hover-default: #3e3e3e;
  --xy-controls-button-color-default: #f8f8f8;
  --xy-controls-button-color-hover-default: #fff;
  --xy-controls-button-border-color-default: #5b5b5b;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
  --xy-edge-label-background-color-default: #141414;
  --xy-edge-label-color-default: #f8f8f8;
}
.react-flow__background {
  background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
  pointer-events: none;
  z-index: -1;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
  touch-action: none;
}
.react-flow__pane.draggable {
  cursor: grab;
}
.react-flow__pane.dragging {
  cursor: grabbing;
}
.react-flow__pane.selection {
  cursor: pointer;
}
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus, .react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow__edge-path {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
  stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
  fill: none;
}
.react-flow__connection-path {
  stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
  stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
  fill: none;
}
.react-flow .react-flow__edges {
  position: absolute;
}
.react-flow .react-flow__edges svg {
  overflow: visible;
  position: absolute;
  pointer-events: none;
}
.react-flow__edge {
  pointer-events: visibleStroke;
}
.react-flow__edge.selectable {
  cursor: pointer;
}
.react-flow__edge.animated path {
  stroke-dasharray: 5;
  animation: dashdraw 0.5s linear infinite;
}
.react-flow__edge.animated path.react-flow__edge-interaction {
  stroke-dasharray: none;
  animation: none;
}
.react-flow__edge.inactive {
  pointer-events: none;
}
.react-flow__edge.selected, .react-flow__edge:focus, .react-flow__edge:focus-visible {
  outline: none;
}
.react-flow__edge.selected .react-flow__edge-path, .react-flow__edge.selectable:focus .react-flow__edge-path, .react-flow__edge.selectable:focus-visible .react-flow__edge-path {
  stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
}
.react-flow__edge-textwrapper {
  pointer-events: all;
}
.react-flow__edge .react-flow__edge-text {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.react-flow__arrowhead polyline {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__arrowhead polyline.arrowclosed {
  fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
  stroke-dasharray: 5;
  animation: dashdraw 0.5s linear infinite;
}
svg.react-flow__connectionline {
  z-index: 1001;
  overflow: visible;
  position: absolute;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: default;
}
.react-flow__node.selectable {
  cursor: pointer;
}
.react-flow__node.draggable {
  cursor: grab;
  pointer-events: all;
}
.react-flow__node.draggable.dragging {
  cursor: grabbing;
}
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
  position: absolute;
  pointer-events: all;
  cursor: grab;
}
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
  border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
  border-radius: 100%;
}
.react-flow__handle.connectingfrom {
  pointer-events: all;
}
.react-flow__handle.connectionindicator {
  pointer-events: all;
  cursor: crosshair;
}
.react-flow__handle-bottom {
  top: auto;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
}
.react-flow__handle-top {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.react-flow__handle-left {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}
.react-flow__handle-right {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
}
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__pane.selection .react-flow__panel {
  pointer-events: none;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
  top: 0;
}
.react-flow__panel.bottom {
  bottom: 0;
}
.react-flow__panel.top.center, .react-flow__panel.bottom.center {
  left: 50%;
  transform: translateX(-15px) translateX(-50%);
}
.react-flow__panel.left {
  left: 0;
}
.react-flow__panel.right {
  right: 0;
}
.react-flow__panel.left.center, .react-flow__panel.right.center {
  top: 50%;
  transform: translateY(-15px) translateY(-50%);
}
.react-flow__attribution {
  font-size: 10px;
  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
  text-decoration: none;
  color: #999;
}
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  left: 0;
  top: 0;
}
.react-flow__viewport-portal {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.react-flow__minimap {
  background: var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) );
}
.react-flow__minimap-svg {
  display: block;
}
.react-flow__minimap-mask {
  fill: var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );
  stroke: var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );
  stroke-width: var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) );
}
.react-flow__minimap-node {
  fill: var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );
  stroke: var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );
  stroke-width: var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) );
}
.react-flow__background-pattern.dots {
  fill: var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) );
}
.react-flow__background-pattern.lines {
  stroke: var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) );
}
.react-flow__background-pattern.cross {
  stroke: var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) );
}
.react-flow__controls {
  display: flex;
  flex-direction: column;
  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
}
.react-flow__controls.horizontal {
  flex-direction: row;
}
.react-flow__controls-button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 26px;
  width: 26px;
  padding: 4px;
  border: none;
  background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
  border-bottom: 1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );
  color: var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.react-flow__controls-button svg {
  width: 100%;
  max-width: 12px;
  max-height: 12px;
  fill: currentColor;
}
.react-flow__edge.updating .react-flow__edge-path {
  stroke: #777;
}
.react-flow__edge-text {
  font-size: 10px;
}
.react-flow__node.selectable:focus, .react-flow__node.selectable:focus-visible {
  outline: none;
}
.react-flow__node-input, .react-flow__node-default, .react-flow__node-output, .react-flow__node-group {
  padding: 10px;
  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
  width: 150px;
  font-size: 12px;
  color: var(--xy-node-color, var(--xy-node-color-default));
  text-align: center;
  border: var(--xy-node-border, var(--xy-node-border-default));
  background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
}
.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
  box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
}
.react-flow__node-input.selectable.selected, .react-flow__node-input.selectable:focus, .react-flow__node-input.selectable:focus-visible, .react-flow__node-default.selectable.selected, .react-flow__node-default.selectable:focus, .react-flow__node-default.selectable:focus-visible, .react-flow__node-output.selectable.selected, .react-flow__node-output.selectable:focus, .react-flow__node-output.selectable:focus-visible, .react-flow__node-group.selectable.selected, .react-flow__node-group.selectable:focus, .react-flow__node-group.selectable:focus-visible {
  box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
}
.react-flow__node-group {
  background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
}
.react-flow__nodesselection-rect, .react-flow__selection {
  background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
  border: var(--xy-selection-border, var(--xy-selection-border-default));
}
.react-flow__nodesselection-rect:focus, .react-flow__nodesselection-rect:focus-visible, .react-flow__selection:focus, .react-flow__selection:focus-visible {
  outline: none;
}
.react-flow__controls-button:hover {
  background: var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );
  color: var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) );
}
.react-flow__controls-button:disabled {
  pointer-events: none;
}
.react-flow__controls-button:disabled svg {
  fill-opacity: 0.4;
}
.react-flow__controls-button:last-child {
  border-bottom: none;
}
.react-flow__controls.horizontal .react-flow__controls-button {
  border-bottom: none;
  border-right: 1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );
}
.react-flow__controls.horizontal .react-flow__controls-button:last-child {
  border-right: none;
}
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left, .react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top, .react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left, .react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left, .react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
.react-flow__resize-control.handle {
  width: 5px;
  height: 5px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  translate: -50% -50%;
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
.react-flow__resize-control.line {
  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left, .react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top, .react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}
.react-flow__edge-textbg {
  fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
}
.react-flow__edge-text {
  fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
}
:root {
  --amb-light-x: -1;
  --amb-light-y: -1;
  --amb-key-light-intensity: 0.85;
  --amb-fill-light-intensity: 0.6;
  --amb-light-hue: 220;
  --amb-light-saturation: 12%;
  --amb-highlight-color: #7dd3fc;
}
svg {
  fill: currentColor;
  stroke: currentColor;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --amb-elevation: 0;
    }
  }
}
