@import "@opencode-ai/ui/styles/tailwind";

@font-face {
  font-family: "JetBrainsMono Nerd Font Mono";
  src: url("/assets/JetBrainsMonoNerdFontMono-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

@layer components {
  @keyframes session-progress-whip {
    0% {
      clip-path: inset(0 100% 0 0 round 999px);
      animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    48% {
      clip-path: inset(0 0 0 0 round 999px);
      animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
    }

    100% {
      clip-path: inset(0 0 0 100% round 999px);
    }
  }

  [data-component="session-progress"] {
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    overflow: hidden;
    pointer-events: none;
    opacity: 1;
    transition: opacity 220ms ease-out;
  }

  [data-component="session-progress"][data-state="hiding"] {
    opacity: 0;
  }

  [data-component="session-progress-bar"] {
    width: 100%;
    height: 100%;
    border-radius: 999px;
    background: var(--session-progress-color);
    clip-path: inset(0 100% 0 0 round 999px);
    animation: session-progress-whip var(--session-progress-ms, 1800ms) infinite;
    will-change: clip-path;
  }

  [data-component="getting-started"] {
    container-type: inline-size;
    container-name: getting-started;
  }

  [data-component="getting-started-actions"] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* gap-3 */
  }

  [data-component="getting-started-actions"] > [data-component="button"] {
    width: 100%;
  }

  @container getting-started (min-width: 17rem) {
    [data-component="getting-started-actions"] {
      flex-direction: row;
      align-items: center;
    }

    [data-component="getting-started-actions"] > [data-component="button"] {
      width: auto;
    }
  }

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