@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 240 10% 3.9%;

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

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

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

    --secondary: 240 4.8% 95.9%;
    --secondary-foreground: 240 5.9% 10%;

    --muted: 240 4.8% 95.9%;
    --muted-foreground: 240 3.8% 46.1%;

    --accent: 240 4.8% 95.9%;
    --accent-foreground: 240 5.9% 10%;

    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;

    --border: 240 5.9% 90%;
    --input: 240 5.9% 90%;
    --ring: 240 10% 3.9%;

    --radius: 0.5rem;
    --overlay: rgba(0, 0, 0, 0.2);
  }

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

    --card: 240 4% 10%;
    --card-foreground: 0 0% 98%;

    --popover: 240 10% 3.9%;
    --popover-foreground: 0 0% 98%;

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

    --secondary: 240 3.7% 15.9%;
    --secondary-foreground: 0 0% 98%;

    --muted: 240 4% 10%;
    --muted-foreground: 240 5% 64.9%;

    --accent: 240 3.7% 15.9%;
    --accent-foreground: 0 0% 98%;

    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;

    --border: 240 3.7% 15.9%;
    --input: 240 4% 10%;
    --ring: 240 4.9% 83.9%;

    --overlay:  rgba(0, 0, 0, 0.5);
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
}

.xterm-viewport {
  border-radius: 0.75rem /* 12px */ !important;
}

.xterm .xterm-viewport {
  overflow-y: auto !important;
}

.xterm .xterm-screen {
  overflow: hidden;
}

@layer utilities {
  /* Chrome, Safari and Opera */
  .no-scrollbar::-webkit-scrollbar {
    display: none;
  }

  .no-scrollbar {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
}

/* Codemirror */
.cm-editor {
  @apply w-full h-full rounded-md overflow-hidden border border-solid border-border outline-none;
}

.cm-editor .cm-scroller {
  font-family: inherit;
  line-height: inherit;
}

.cm-editor.cm-focused {
  @apply outline-none;
}

/* fix: placeholder bg */
.cm-editor .cm-activeLine:has(.cm-placeholder) {
  background-color: transparent;
}

.compose-file-editor .cm-editor {
  @apply min-h-[25rem];
}


@keyframes heartbeat {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  25% {
    transform: scale(1.1);
    opacity: 1;
  }
  50% {
    transform: scale(1);
    opacity: 0.7;
  }
  75% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0.7;
  }
}

.animate-heartbeat {
  animation: heartbeat 2.5s infinite;
}
@media (prefers-color-scheme: dark) {
  .swagger-ui {
    background-color: white;
  }

  .swagger-ui .info{
    margin: 0px !important;
    padding-top: 1rem !important;
  }

}