@import "tailwindcss";

@source "../../templates/**/*.gohtml";
@source "../**/*.ts";

@theme {
  --color-background: light-dark(#ffffff, #101113);
  --color-background-sidebar: light-dark(#f7f7f7, #161719);
  --color-background-header: light-dark(#fbfbfb, #161719);
  --color-background-surface: light-dark(#ffffff, #1b1c1f);
  --color-background-button: light-dark(#f5f5f5, #202125);
  --color-background-button-hover: light-dark(#ececec, #292a2f);
  --color-foreground: light-dark(#111111, #f4f1ea);
  --color-accent: light-dark(#007a85, #00b3c4);
  --color-on-accent: light-dark(#ffffff, #000000);
  --color-surface-hover: light-dark(rgba(0, 0, 0, 0.04), rgba(255, 255, 255, 0.05));
  --color-skeleton-base: light-dark(#e5e5e5, #242529);
  --color-skeleton-highlight: light-dark(#d4d4d4, #303137);
  --color-border: light-dark(rgba(0, 0, 0, 0.08), rgba(244, 241, 234, 0.08));
  --color-border-light: light-dark(rgba(0, 0, 0, 0.04), rgba(244, 241, 234, 0.04));
  --color-player-segment: #f5c542;
  --shadow-card: light-dark(0 2px 8px rgba(0, 0, 0, 0.04), 0 2px 12px rgba(0, 0, 0, 0.32));
}

@layer base {
  button,
  input,
  select,
  textarea,
  a {
    border-radius: 0;
  }
}

@utility scrollbar-hidden {
  -ms-overflow-style: none;
  scrollbar-width: none;

  &::-webkit-scrollbar {
    display: none;
  }
}

@utility skeleton {
  @apply animate-[skeleton-loading_1.5s_infinite] bg-[linear-gradient(90deg,var(--color-skeleton-base)_25%,var(--color-skeleton-highlight)_50%,var(--color-skeleton-base)_75%)] bg-[length:200%_100%];
}

@utility skeleton-subtle {
  @apply opacity-70;
}

:root {
  color-scheme: light dark;
  --scrollbar-track: light-dark(rgba(0, 0, 0, 0.04), rgba(244, 241, 234, 0.05));
  --scrollbar-thumb: light-dark(rgba(0, 0, 0, 0.16), rgba(244, 241, 234, 0.22));
  --scrollbar-thumb-hover: light-dark(rgba(0, 0, 0, 0.26), rgba(244, 241, 234, 0.32));
}

html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
}

@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}
