@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React Flow, they get used by base.css and style.css */
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
  cursor: -webkit-grab;
  cursor: grab;
}
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__pane.dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }
.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 .react-flow__edges {
  pointer-events: none;
  overflow: visible;
}
.react-flow__edge-path,
.react-flow__connection-path {
  stroke: #b1b1b7;
  stroke-width: 1;
  fill: none;
}
.react-flow__edge {
  pointer-events: visibleStroke;
  cursor: pointer;
}
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    -webkit-animation: dashdraw 0.5s linear infinite;
            animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    -webkit-animation: 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:focus .react-flow__edge-path,
  .react-flow__edge:focus-visible .react-flow__edge-path {
    stroke: #555;
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge-textbg {
    fill: white;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    -webkit-animation: dashdraw 0.5s linear infinite;
            animation: dashdraw 0.5s linear infinite;
  }
.react-flow__connectionline {
  z-index: 1001;
}
.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: -webkit-grab;
  cursor: grab;
}
.react-flow__node.dragging {
    cursor: -webkit-grabbing;
    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: -webkit-grab;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background: #1a192b;
  border: 1px solid white;
  border-radius: 100%;
}
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-top {
    left: 50%;
    top: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-left {
    top: 50%;
    left: -4px;
    transform: translate(0, -50%);
  }
.react-flow__handle-right {
    right: -4px;
    top: 50%;
    transform: translate(0, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.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.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.center {
    left: 50%;
    transform: translateX(-50%);
  }
.react-flow__attribution {
  font-size: 10px;
  background: rgba(255, 255, 255, 0.5);
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@-webkit-keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
@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;
}
.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-default,
.react-flow__node-input,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: 3px;
  width: 150px;
  font-size: 12px;
  color: #222;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-color: #1a192b;
  background-color: white;
}
.react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
    }
.react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.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: 0 0 0 0.5px #1a192b;
    }
.react-flow__node-group {
  background-color: rgba(240, 240, 240, 0.25);
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: rgba(0, 89, 220, 0.08);
  border: 1px dotted rgba(0, 89, 220, 0.8);
}
.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 {
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);
}
.react-flow__controls-button {
    border: none;
    background: #fefefe;
    border-bottom: 1px solid #eee;
    box-sizing: content-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    padding: 5px;
  }
.react-flow__controls-button:hover {
      background: #f4f4f4;
    }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__minimap {
  background-color: #fff;
}
.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;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 4px;
  height: 4px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: #3367d9;
  transform: 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%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: #3367d9;
  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%;
}
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --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;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

:root, :host {
  --color-red-400: oklch(70.4% .191 22.216);
  --color-red-500: oklch(63.7% .237 25.331);
  --color-black: #000;
  --color-white: #fff;
  --spacing: .25rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --container-xl: 36rem;
  --container-2xl: 42rem;
  --container-3xl: 48rem;
  --text-xs: .75rem;
  --text-xs--line-height: calc(1 / .75);
  --text-sm: .875rem;
  --text-sm--line-height: calc(1.25 / .875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --tracking-wide: .025em;
  --tracking-widest: .1em;
  --leading-tight: 1.25;
  --leading-relaxed: 1.625;
  --radius-md: .375rem;
  --radius-lg: .5rem;
  --radius-xl: .75rem;
  --ease-out: cubic-bezier(0, 0, .2, 1);
  --ease-in-out: cubic-bezier(.4, 0, .2, 1);
  --animate-spin: spin 1s linear infinite;
  --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
  --blur-3xl: 64px;
  --default-transition-duration: .15s;
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  --color-backbone-bg: #0f1115;
  --color-backbone-panel: #1a1d24;
  --color-backbone-border: #2a2e39;
  --color-backbone-text: #e2e8f0;
  --color-backbone-muted: #94a3b8;
  --color-backbone-neonPrimary: #d4ff00;
  --color-backbone-neonCyan: #00f0ff;
  --color-backbone-neonPurple: #b026ff;
  --color-backbone-success: #10b981;
  --color-backbone-warning: #f59e0b;
  --color-backbone-danger: #ef4444;
  --color-backbone-error-text: #fecaca;
  --color-donny-tip-bg: #f59e0b1f;
  --color-donny-tip-border: #f59e0b66;
  --color-donny-tip-text: #fef3c7f2;
  --color-donny-tip-strong: #fff;
}

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

.collapse {
  visibility: collapse;
}

.visible {
  visibility: visible;
}

.sr-only {
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.relative {
  position: relative;
}

.static {
  position: static;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: calc(var(--spacing) * 0);
}

.inset-y-0 {
  inset-block: calc(var(--spacing) * 0);
}

.start {
  inset-inline-start: var(--spacing);
}

.end {
  inset-inline-end: var(--spacing);
}

.top-0 {
  top: calc(var(--spacing) * 0);
}

.right-0 {
  right: calc(var(--spacing) * 0);
}

.left-0 {
  left: calc(var(--spacing) * 0);
}

.isolate {
  isolation: isolate;
}

.z-10 {
  z-index: 10;
}

.container {
  width: 100%;
}

@media (min-width: 40rem) {
  .container {
    max-width: 40rem;
  }
}

@media (min-width: 48rem) {
  .container {
    max-width: 48rem;
  }
}

@media (min-width: 64rem) {
  .container {
    max-width: 64rem;
  }
}

@media (min-width: 80rem) {
  .container {
    max-width: 80rem;
  }
}

@media (min-width: 96rem) {
  .container {
    max-width: 96rem;
  }
}

.mx-1 {
  margin-inline: calc(var(--spacing) * 1);
}

.mx-auto {
  margin-inline: auto;
}

.mt-0\.5 {
  margin-top: calc(var(--spacing) * .5);
}

.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}

.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}

.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}

.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}

.mt-6 {
  margin-top: calc(var(--spacing) * 6);
}

.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}

.mr-2 {
  margin-right: calc(var(--spacing) * 2);
}

.mb-1 {
  margin-bottom: calc(var(--spacing) * 1);
}

.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}

.mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}

.mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}

.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}

.ml-1 {
  margin-left: calc(var(--spacing) * 1);
}

.ml-3 {
  margin-left: calc(var(--spacing) * 3);
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

.inline-flex {
  display: inline-flex;
}

.list-item {
  display: list-item;
}

.table {
  display: table;
}

.h-1\.5 {
  height: calc(var(--spacing) * 1.5);
}

.h-2 {
  height: calc(var(--spacing) * 2);
}

.h-3\.5 {
  height: calc(var(--spacing) * 3.5);
}

.h-4 {
  height: calc(var(--spacing) * 4);
}

.h-5 {
  height: calc(var(--spacing) * 5);
}

.h-6 {
  height: calc(var(--spacing) * 6);
}

.h-8 {
  height: calc(var(--spacing) * 8);
}

.h-10 {
  height: calc(var(--spacing) * 10);
}

.h-12 {
  height: calc(var(--spacing) * 12);
}

.h-16 {
  height: calc(var(--spacing) * 16);
}

.h-48 {
  height: calc(var(--spacing) * 48);
}

.h-64 {
  height: calc(var(--spacing) * 64);
}

.h-full {
  height: 100%;
}

.min-h-\[40vh\] {
  min-height: 40vh;
}

.min-h-\[50vh\] {
  min-height: 50vh;
}

.w-1 {
  width: calc(var(--spacing) * 1);
}

.w-2 {
  width: calc(var(--spacing) * 2);
}

.w-3\.5 {
  width: calc(var(--spacing) * 3.5);
}

.w-4 {
  width: calc(var(--spacing) * 4);
}

.w-5 {
  width: calc(var(--spacing) * 5);
}

.w-6 {
  width: calc(var(--spacing) * 6);
}

.w-8 {
  width: calc(var(--spacing) * 8);
}

.w-10 {
  width: calc(var(--spacing) * 10);
}

.w-12 {
  width: calc(var(--spacing) * 12);
}

.w-16 {
  width: calc(var(--spacing) * 16);
}

.w-64 {
  width: calc(var(--spacing) * 64);
}

.w-full {
  width: 100%;
}

.max-w-2xl {
  max-width: var(--container-2xl);
}

.max-w-3xl {
  max-width: var(--container-3xl);
}

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

.max-w-lg {
  max-width: var(--container-lg);
}

.max-w-md {
  max-width: var(--container-md);
}

.max-w-xl {
  max-width: var(--container-xl);
}

.flex-1 {
  flex: 1;
}

.shrink {
  flex-shrink: 1;
}

.shrink-0 {
  flex-shrink: 0;
}

.translate-x-1\/2 {
  --tw-translate-x: calc(1 / 2 * 100%);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}

.-translate-y-1\/2 {
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}

.transform {
  transform: var(--tw-rotate-x,  ) var(--tw-rotate-y,  ) var(--tw-rotate-z,  ) var(--tw-skew-x,  ) var(--tw-skew-y,  );
}

.animate-\[progress_2s_ease-in-out_infinite\] {
  animation: 2s ease-in-out infinite progress;
}

.animate-pulse {
  animation: var(--animate-pulse);
}

.animate-spin {
  animation: var(--animate-spin);
}

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

.cursor-pointer {
  cursor: pointer;
}

.resize {
  resize: both;
}

.appearance-none {
  appearance: none;
}

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

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

.flex-wrap {
  flex-wrap: wrap;
}

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

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

.justify-between {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

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

.gap-1 {
  gap: calc(var(--spacing) * 1);
}

.gap-2 {
  gap: calc(var(--spacing) * 2);
}

.gap-3 {
  gap: calc(var(--spacing) * 3);
}

.gap-4 {
  gap: calc(var(--spacing) * 4);
}

.gap-6 {
  gap: calc(var(--spacing) * 6);
}

:where(.space-y-1 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
}

:where(.space-y-2 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
}

:where(.space-y-3 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
}

:where(.space-y-4 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
}

:where(.space-y-6 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
}

:where(.space-y-8 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
}

.gap-x-4 {
  column-gap: calc(var(--spacing) * 4);
}

:where(.space-x-2 > :not(:last-child)) {
  --tw-space-x-reverse: 0;
  margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
  margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
}

.gap-y-2 {
  row-gap: calc(var(--spacing) * 2);
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-auto {
  overflow-y: auto;
}

.rounded {
  border-radius: .25rem;
}

.rounded-full {
  border-radius: 3.40282e38px;
}

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

.rounded-md {
  border-radius: var(--radius-md);
}

.rounded-xl {
  border-radius: var(--radius-xl);
}

.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}

.border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}

.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}

.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}

.border-dashed {
  --tw-border-style: dashed;
  border-style: dashed;
}

.border-backbone-border {
  border-color: var(--color-backbone-border);
}

.border-backbone-border\/30 {
  border-color: #2a2e394d;
}

@supports (color: color-mix(in lab, red, red)) {
  .border-backbone-border\/30 {
    border-color: color-mix(in oklab, var(--color-backbone-border) 30%, transparent);
  }
}

.border-backbone-border\/50 {
  border-color: #2a2e3980;
}

@supports (color: color-mix(in lab, red, red)) {
  .border-backbone-border\/50 {
    border-color: color-mix(in oklab, var(--color-backbone-border) 50%, transparent);
  }
}

.border-backbone-border\/60 {
  border-color: #2a2e3999;
}

@supports (color: color-mix(in lab, red, red)) {
  .border-backbone-border\/60 {
    border-color: color-mix(in oklab, var(--color-backbone-border) 60%, transparent);
  }
}

.border-backbone-neonPrimary {
  border-color: var(--color-backbone-neonPrimary);
}

.border-backbone-neonPrimary\/30 {
  border-color: #d4ff004d;
}

@supports (color: color-mix(in lab, red, red)) {
  .border-backbone-neonPrimary\/30 {
    border-color: color-mix(in oklab, var(--color-backbone-neonPrimary) 30%, transparent);
  }
}

.border-red-500\/50 {
  border-color: #fb2c3680;
}

@supports (color: color-mix(in lab, red, red)) {
  .border-red-500\/50 {
    border-color: color-mix(in oklab, var(--color-red-500) 50%, transparent);
  }
}

.bg-backbone-bg {
  background-color: var(--color-backbone-bg);
}

.bg-backbone-bg\/40 {
  background-color: #0f111566;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-bg\/40 {
    background-color: color-mix(in oklab, var(--color-backbone-bg) 40%, transparent);
  }
}

.bg-backbone-bg\/50 {
  background-color: #0f111580;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-bg\/50 {
    background-color: color-mix(in oklab, var(--color-backbone-bg) 50%, transparent);
  }
}

.bg-backbone-bg\/80 {
  background-color: #0f1115cc;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-bg\/80 {
    background-color: color-mix(in oklab, var(--color-backbone-bg) 80%, transparent);
  }
}

.bg-backbone-border {
  background-color: var(--color-backbone-border);
}

.bg-backbone-neonPrimary {
  background-color: var(--color-backbone-neonPrimary);
}

.bg-backbone-neonPrimary\/5 {
  background-color: #d4ff000d;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-neonPrimary\/5 {
    background-color: color-mix(in oklab, var(--color-backbone-neonPrimary) 5%, transparent);
  }
}

.bg-backbone-neonPrimary\/10 {
  background-color: #d4ff001a;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-neonPrimary\/10 {
    background-color: color-mix(in oklab, var(--color-backbone-neonPrimary) 10%, transparent);
  }
}

.bg-backbone-neonPrimary\/15 {
  background-color: #d4ff0026;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-neonPrimary\/15 {
    background-color: color-mix(in oklab, var(--color-backbone-neonPrimary) 15%, transparent);
  }
}

.bg-backbone-panel {
  background-color: var(--color-backbone-panel);
}

.bg-backbone-panel\/40 {
  background-color: #1a1d2466;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-panel\/40 {
    background-color: color-mix(in oklab, var(--color-backbone-panel) 40%, transparent);
  }
}

.bg-backbone-panel\/50 {
  background-color: #1a1d2480;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-panel\/50 {
    background-color: color-mix(in oklab, var(--color-backbone-panel) 50%, transparent);
  }
}

.bg-backbone-success\/20 {
  background-color: #10b98133;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-backbone-success\/20 {
    background-color: color-mix(in oklab, var(--color-backbone-success) 20%, transparent);
  }
}

.bg-red-500\/10 {
  background-color: #fb2c361a;
}

@supports (color: color-mix(in lab, red, red)) {
  .bg-red-500\/10 {
    background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
  }
}

.bg-transparent {
  background-color: #0000;
}

.p-1 {
  padding: calc(var(--spacing) * 1);
}

.p-4 {
  padding: calc(var(--spacing) * 4);
}

.p-6 {
  padding: calc(var(--spacing) * 6);
}

.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}

.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}

.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}

.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}

.py-0\.5 {
  padding-block: calc(var(--spacing) * .5);
}

.py-1 {
  padding-block: calc(var(--spacing) * 1);
}

.py-1\.5 {
  padding-block: calc(var(--spacing) * 1.5);
}

.py-2 {
  padding-block: calc(var(--spacing) * 2);
}

.py-3 {
  padding-block: calc(var(--spacing) * 3);
}

.py-8 {
  padding-block: calc(var(--spacing) * 8);
}

.pt-2 {
  padding-top: calc(var(--spacing) * 2);
}

.pt-4 {
  padding-top: calc(var(--spacing) * 4);
}

.pt-5 {
  padding-top: calc(var(--spacing) * 5);
}

.pt-6 {
  padding-top: calc(var(--spacing) * 6);
}

.pr-3 {
  padding-right: calc(var(--spacing) * 3);
}

.pb-2 {
  padding-bottom: calc(var(--spacing) * 2);
}

.pb-6 {
  padding-bottom: calc(var(--spacing) * 6);
}

.pb-8 {
  padding-bottom: calc(var(--spacing) * 8);
}

.pl-1 {
  padding-left: calc(var(--spacing) * 1);
}

.pl-3 {
  padding-left: calc(var(--spacing) * 3);
}

.pl-7 {
  padding-left: calc(var(--spacing) * 7);
}

.text-center {
  text-align: center;
}

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

.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}

.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}

.text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}

.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}

.text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}

.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}

.text-\[10px\] {
  font-size: 10px;
}

.leading-relaxed {
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}

.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}

.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}

.font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}

.tracking-wide {
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
}

.tracking-widest {
  --tw-tracking: var(--tracking-widest);
  letter-spacing: var(--tracking-widest);
}

.break-all {
  word-break: break-all;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.text-\[var\(--color-backbone-error-text\)\] {
  color: var(--color-backbone-error-text);
}

.text-backbone-bg {
  color: var(--color-backbone-bg);
}

.text-backbone-border {
  color: var(--color-backbone-border);
}

.text-backbone-danger {
  color: var(--color-backbone-danger);
}

.text-backbone-muted {
  color: var(--color-backbone-muted);
}

.text-backbone-muted\/50 {
  color: #94a3b880;
}

@supports (color: color-mix(in lab, red, red)) {
  .text-backbone-muted\/50 {
    color: color-mix(in oklab, var(--color-backbone-muted) 50%, transparent);
  }
}

.text-backbone-neonPrimary {
  color: var(--color-backbone-neonPrimary);
}

.text-backbone-success {
  color: var(--color-backbone-success);
}

.text-backbone-success\/80 {
  color: #10b981cc;
}

@supports (color: color-mix(in lab, red, red)) {
  .text-backbone-success\/80 {
    color: color-mix(in oklab, var(--color-backbone-success) 80%, transparent);
  }
}

.text-backbone-text {
  color: var(--color-backbone-text);
}

.text-black {
  color: var(--color-black);
}

.text-red-500 {
  color: var(--color-red-500);
}

.text-white {
  color: var(--color-white);
}

.capitalize {
  text-transform: capitalize;
}

.lowercase {
  text-transform: lowercase;
}

.uppercase {
  text-transform: uppercase;
}

.italic {
  font-style: italic;
}

.line-through {
  text-decoration-line: line-through;
}

.overline {
  text-decoration-line: overline;
}

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

.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.ring {
  --tw-ring-shadow: var(--tw-ring-inset,  ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.shadow-backbone-neonPrimary\/20 {
  --tw-shadow-color: #d4ff0033;
}

@supports (color: color-mix(in lab, red, red)) {
  .shadow-backbone-neonPrimary\/20 {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-backbone-neonPrimary) 20%, transparent) var(--tw-shadow-alpha), transparent);
  }
}

.outline {
  outline-style: var(--tw-outline-style);
  outline-width: 1px;
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
}

.blur-3xl {
  --tw-blur: blur(var(--blur-3xl));
  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,  );
}

.transition {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}

.transition-all {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}

.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}

.duration-200 {
  --tw-duration: .2s;
  transition-duration: .2s;
}

.duration-500 {
  --tw-duration: .5s;
  transition-duration: .5s;
}

.ease-in-out {
  --tw-ease: var(--ease-in-out);
  transition-timing-function: var(--ease-in-out);
}

.ease-out {
  --tw-ease: var(--ease-out);
  transition-timing-function: var(--ease-out);
}

@media (hover: hover) {
  .group-hover\:text-backbone-neonPrimary\/70:is(:where(.group):hover *) {
    color: #d4ff00b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .group-hover\:text-backbone-neonPrimary\/70:is(:where(.group):hover *) {
      color: color-mix(in oklab, var(--color-backbone-neonPrimary) 70%, transparent);
    }
  }
}

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

.focus-within\:ring-backbone-neonPrimary:focus-within {
  --tw-ring-color: var(--color-backbone-neonPrimary);
}

.focus-within\:ring-offset-2:focus-within {
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset,  ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
}

.focus-within\:outline-none:focus-within {
  --tw-outline-style: none;
  outline-style: none;
}

@media (hover: hover) {
  .hover\:border-backbone-neonPrimary:hover {
    border-color: var(--color-backbone-neonPrimary);
  }

  .hover\:border-backbone-neonPrimary\/50:hover {
    border-color: #d4ff0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .hover\:border-backbone-neonPrimary\/50:hover {
      border-color: color-mix(in oklab, var(--color-backbone-neonPrimary) 50%, transparent);
    }
  }

  .hover\:bg-\[\#bce600\]:hover {
    background-color: #bce600;
  }

  .hover\:bg-backbone-bg:hover {
    background-color: var(--color-backbone-bg);
  }

  .hover\:bg-backbone-neonPrimary\/5:hover {
    background-color: #d4ff000d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .hover\:bg-backbone-neonPrimary\/5:hover {
      background-color: color-mix(in oklab, var(--color-backbone-neonPrimary) 5%, transparent);
    }
  }

  .hover\:bg-backbone-neonPrimary\/90:hover {
    background-color: #d4ff00e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .hover\:bg-backbone-neonPrimary\/90:hover {
      background-color: color-mix(in oklab, var(--color-backbone-neonPrimary) 90%, transparent);
    }
  }

  .hover\:bg-backbone-panel:hover {
    background-color: var(--color-backbone-panel);
  }

  .hover\:text-backbone-neonPrimary\/80:hover {
    color: #d4ff00cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .hover\:text-backbone-neonPrimary\/80:hover {
      color: color-mix(in oklab, var(--color-backbone-neonPrimary) 80%, transparent);
    }
  }

  .hover\:text-backbone-text:hover {
    color: var(--color-backbone-text);
  }

  .hover\:text-red-400:hover {
    color: var(--color-red-400);
  }

  .hover\:text-white:hover {
    color: var(--color-white);
  }

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

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

.focus\:border-backbone-neonPrimary:focus {
  border-color: var(--color-backbone-neonPrimary);
}

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

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

.focus\:ring-backbone-bg:focus {
  --tw-ring-color: var(--color-backbone-bg);
}

.focus\:ring-backbone-neonPrimary:focus {
  --tw-ring-color: var(--color-backbone-neonPrimary);
}

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

.focus\:ring-offset-backbone-bg:focus {
  --tw-ring-offset-color: var(--color-backbone-bg);
}

.focus\:outline-none:focus {
  --tw-outline-style: none;
  outline-style: none;
}

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

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

@media (min-width: 40rem) {
  .sm\:mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

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

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

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

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

  .sm\:p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .sm\:px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .sm\:text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .sm\:text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
}

@media (min-width: 64rem) {
  .lg\:px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@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: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body, #root {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  position: fixed;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Startup Workflow Animations */

@keyframes pulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.05);
  }
}

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

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  from {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* Pronounced bounce-in for tab content (e.g. DONNY Submissions) */

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  50% {
    transform: translateY(-6px) scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Smooth transitions for theme changes */

* {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Custom scrollbar for webkit browsers */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

/* Firefox scrollbar */

@supports (-moz-appearance: none) {
  * {
    /* Firefox-only scrollbar styling */
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.1);
  }
}

/* Ensure webkit scrollbars work consistently */

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

/* Remove tap highlight on all interactive elements */

button,
a,
[role="button"],
.MuiButton-root,
.MuiIconButton-root,
.MuiListItemButton-root,
.MuiTab-root,
.MuiChip-root,
.MuiCard-root,
.MuiListItem-root {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

/* Remove focus outline on buttons and interactive elements when clicked (mouse) */

button:focus,
a:focus,
[role="button"]:focus,
.MuiButton-root:focus,
.MuiIconButton-root:focus,
.MuiListItemButton-root:focus,
.MuiTab-root:focus,
.MuiChip-root:focus,
.MuiCard-root:focus,
.MuiListItem-root:focus,
.MuiButtonBase-root:focus {
  outline: none !important;
}

/* Only show focus outline for keyboard navigation (accessibility) */

button:focus-visible,
a:focus-visible,
[role="button"]:focus-visible,
.MuiButton-root:focus-visible,
.MuiIconButton-root:focus-visible,
.MuiListItemButton-root:focus-visible,
.MuiTab-root:focus-visible,
.MuiChip-root:focus-visible,
.MuiCard-root:focus-visible,
.MuiListItem-root:focus-visible,
.MuiButtonBase-root:focus-visible {
  outline: 2px solid #00d4ff;
  outline-offset: 2px;
}

/* Input focus styles - keep for accessibility */

input:focus,
textarea:focus,
select:focus {
  outline: 2px solid #00d4ff;
  outline-offset: 2px;
}

/* Selection styles */

::selection {
  background-color: rgba(0, 212, 255, 0.3);
  color: #ffffff;
}

::-moz-selection {
  background-color: rgba(0, 212, 255, 0.3);
  color: #ffffff;
}

/* Loading states */

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(10, 10, 10, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #333;
  border-top: 3px solid #00d4ff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Utility classes */

.hidden {
  display: none !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Custom animations */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInFromRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.animate-fade-in {
  animation: fadeIn 0.5s ease-out;
}

.animate-slide-in-left {
  animation: slideInFromLeft 0.5s ease-out;
}

.animate-slide-in-right {
  animation: slideInFromRight 0.5s ease-out;
}

/* Background patterns */

.bg-grid-pattern {
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 50px 50px;
}

.bg-gradient-dark {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
}

.bg-gradient-blue {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Text gradients */

.text-gradient {
  background: linear-gradient(135deg, #00d4ff, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-blue {
  background: linear-gradient(135deg, #667eea, #764ba2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Card effects */

.glass-effect {
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 212, 255, 0.3);
}

/* Responsive utilities */

@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .hide-desktop {
    display: none !important;
  }
}

/* Print styles */

@media print {
  .no-print {
    display: none !important;
  }
  
  body {
    background: white !important;
    color: black !important;
  }
}

/* Bridge-specific utility */

.dataset-search-input {
  padding: 6px;
}

/* StartupWorkflow Component Classes */

.startup-logo-animation {
  animation: fadeIn 0.8s ease-out;
}

.startup-title-animation {
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

.startup-subtitle-animation {
  animation: fadeInUp 0.8s ease-out 0.4s both;
}

.startup-loading-animation {
  animation: fadeIn 0.8s ease-out 0.6s both;
}

.startup-status-animation {
  animation: fadeIn 0.8s ease-out 0.8s both;
}

.startup-success-animation {
  animation: scaleIn 0.5s ease-out;
}

.startup-success-title-animation {
  animation: fadeInUp 0.5s ease-out 0.2s both;
}

.startup-success-subtitle-animation {
  animation: fadeInUp 0.5s ease-out 0.4s both;
}

.startup-error-animation {
  animation: scaleIn 0.5s ease-out;
}

.startup-error-title-animation {
  animation: fadeInUp 0.5s ease-out 0.2s both;
}

.startup-error-subtitle-animation {
  animation: fadeInUp 0.5s ease-out 0.4s both;
}

.startup-error-message-animation {
  animation: fadeInUp 0.5s ease-out 0.6s both;
}

/* Landing Page Premium Animations */

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

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(0, 212, 255, 0.4),
                0 0 40px rgba(0, 212, 255, 0.2),
                0 0 60px rgba(0, 212, 255, 0.1);
  }
  50% {
    box-shadow: 0 0 30px rgba(0, 212, 255, 0.6),
                0 0 60px rgba(0, 212, 255, 0.4),
                0 0 90px rgba(0, 212, 255, 0.2);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}

@keyframes particleFloat {
  0% {
    transform: translateY(100vh) translateX(0) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(-100vh) translateX(100px) rotate(360deg);
    opacity: 0;
  }
}

/* Fix for Google Places Autocomplete dropdown z-index behind MUI Dialogs */

.pac-container {
  z-index: 99999 !important;
}
/* Premium Landing Page Styles */

/* Animated Gradient Background */
@keyframes _gradientShift_932my_1 {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

._animatedGradient_932my_16 {
  background: linear-gradient(
    -45deg,
    #1a1a2e,
    #16213e,
    #0f3460,
    #1a1a2e,
    #16213e
  );
  background-size: 400% 400%;
  animation: _gradientShift_932my_1 15s ease infinite;
}

/* Floating Animation */
@keyframes _float_932my_39 {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}

._floating_932my_39 {
  animation: _float_932my_39 6s ease-in-out infinite;
}

/* Pulse Glow Effect */
@keyframes _pulseGlow_932my_57 {
  0%, 100% {
    box-shadow: 0 0 20px rgba(0, 212, 255, 0.4),
                0 0 40px rgba(0, 212, 255, 0.2),
                0 0 60px rgba(0, 212, 255, 0.1);
  }
  50% {
    box-shadow: 0 0 30px rgba(0, 212, 255, 0.6),
                0 0 60px rgba(0, 212, 255, 0.4),
                0 0 90px rgba(0, 212, 255, 0.2);
  }
}

._pulseGlow_932my_57 {
  animation: _pulseGlow_932my_57 3s ease-in-out infinite;
}

/* Scroll Reveal Animations */
@keyframes _fadeInUp_932my_1 {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes _fadeInLeft_932my_1 {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes _fadeInRight_932my_1 {
  from {
    opacity: 0;
    transform: translateX(40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes _scaleIn_932my_1 {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

._revealUp_932my_106 {
  opacity: 0;
  animation: _fadeInUp_932my_1 0.8s ease-out forwards;
}

._revealLeft_932my_111 {
  opacity: 0;
  animation: _fadeInLeft_932my_1 0.8s ease-out forwards;
}

._revealRight_932my_116 {
  opacity: 0;
  animation: _fadeInRight_932my_1 0.8s ease-out forwards;
}

._revealScale_932my_121 {
  opacity: 0;
  animation: _scaleIn_932my_1 0.8s ease-out forwards;
}

/* Staggered Animation Delays */
._stagger1_932my_127 { animation-delay: 0.1s; }
._stagger2_932my_128 { animation-delay: 0.2s; }
._stagger3_932my_129 { animation-delay: 0.3s; }
._stagger4_932my_130 { animation-delay: 0.4s; }
._stagger5_932my_131 { animation-delay: 0.5s; }
._stagger6_932my_132 { animation-delay: 0.6s; }

/* Glassmorphism Effect */
._glass_932my_135 {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

._glassLight_932my_143 {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Particle Background */
._particleContainer_932my_151 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

._particle_932my_151 {
  position: absolute;
  width: 4px;
  height: 4px;
  background: rgba(0, 212, 255, 0.5);
  border-radius: 50%;
  animation: _particleFloat_932my_1 20s infinite linear;
}

@keyframes _particleFloat_932my_1 {
  0% {
    transform: translateY(100vh) translateX(0) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(-100vh) translateX(100px) rotate(360deg);
    opacity: 0;
  }
}

/* Gradient Text */
._gradientText_932my_188 {
  background: linear-gradient(135deg, #ffffff 0%, #00d4ff 50%, #667eea 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% 200%;
  animation: _gradientShift_932my_1 5s ease infinite;
}

/* Hover Effects */
._hoverLift_932my_198 {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

._hoverLift_932my_198:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 212, 255, 0.3);
}

/* Shimmer Effect */
@keyframes _shimmer_932my_217 {
  0% {
    background-position: -1000px 0;
  }
  100% {
    background-position: 1000px 0;
  }
}

._shimmer_932my_217 {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  );
  background-size: 1000px 100%;
  animation: _shimmer_932my_217 3s infinite;
}

/* Glow Border Animation */
@keyframes _glowBorder_932my_238 {
  0%, 100% {
    border-color: rgba(0, 212, 255, 0.3);
  }
  50% {
    border-color: rgba(0, 212, 255, 0.8);
  }
}

._glowBorder_932my_238 {
  animation: _glowBorder_932my_238 3s ease-in-out infinite;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  ._revealUp_932my_106,
  ._revealLeft_932my_111,
  ._revealRight_932my_116,
  ._revealScale_932my_121 {
    animation-duration: 0.6s;
  }
}

