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

@layer components {
  /* Global styles */

  svg {
    @apply dark:fill-zinc-200
  }

  /* Gome base styles */

  .button-primary {
    @apply bg-white dark:bg-zinc-800 text-gray-800 dark:text-zinc-200 py-2 px-4 text-nowrap border border-gray-300 dark:border-zinc-600 shadow rounded-full hover:bg-gray-100 dark:hover:bg-zinc-700 focus:ring-1 focus:ring-gray-400 dark:focus:ring-zinc-500 disabled:bg-gray-50 dark:disabled:bg-zinc-900 disabled:text-gray-700 dark:disabled:text-zinc-500
  }

  .button-borderless {
    @apply bg-white dark:bg-zinc-800 text-gray-800 dark:text-zinc-200 py-2 px-4 text-nowrap rounded-full hover:bg-gray-100 dark:hover:bg-zinc-700
  }

  .input-primary {
    @apply border border-gray-300 dark:border-zinc-600 rounded-lg py-2 px-4 shadow bg-white dark:bg-zinc-800 text-gray-800 dark:text-zinc-200 focus:outline-none focus:ring-1 focus:ring-gray-400 dark:focus:ring-zinc-500 focus:border-gray-400 dark:focus:border-zinc-500 disabled:bg-gray-50 dark:disabled:bg-zinc-900 disabled:text-gray-700 dark:disabled:text-zinc-500
  }

  .select-primary {
    @apply cursor-pointer pl-4 bg-white dark:bg-zinc-800 shadow border border-gray-300 dark:border-zinc-600 text-gray-800 dark:text-zinc-200 rounded-full hover:border-gray-500 dark:hover:border-zinc-500 focus:ring-gray-400 dark:focus:ring-zinc-500 focus:border-gray-500 dark:focus:border-zinc-500 disabled:cursor-default disabled:hover:bg-white dark:disabled:hover:bg-zinc-800
  }

  .checkbox {
    @apply cursor-pointer rounded-full w-4 h-4 border disabled:cursor-default disabled:hover:bg-white dark:disabled:hover:bg-zinc-200
  }

  .checkbox+label {
    @apply cursor-pointer
  }

  .checkbox[disabled]+label {
    @apply cursor-default
  }

  .checkbox-primary {
    @apply checkbox hover:bg-gray-100 dark:hover:bg-zinc-700 text-gray-800 dark:text-zinc-200 focus:ring-gray-400 dark:focus:ring-zinc-500 focus:border-gray-400 dark:focus:border-zinc-500
  }

  .checkbox-indigo {
    @apply checkbox hover:bg-indigo-100 text-indigo-300 focus:ring-indigo-300 focus:border-indigo-300
  }

  .checkbox-green {
    @apply checkbox hover:bg-green-100 text-green-300 focus:ring-green-300 focus:border-green-300
  }

  .checkbox-cyan {
    @apply checkbox hover:bg-cyan-100 text-cyan-300 focus:ring-cyan-300 focus:border-cyan-300
  }

  .checkbox-fuchsia {
    @apply checkbox hover:bg-fuchsia-100 text-fuchsia-300 focus:ring-fuchsia-300 focus:border-fuchsia-300
  }

  .checkbox-orange {
    @apply checkbox hover:bg-orange-100 text-orange-300 focus:ring-orange-300 focus:border-orange-300
  }

  .checkbox-amber {
    @apply checkbox hover:bg-amber-100 text-amber-300 focus:ring-amber-300 focus:border-amber-300
  }

  .checkbox-violet {
    @apply checkbox hover:bg-violet-100 text-violet-300 focus:ring-violet-300 focus:border-violet-300
  }

  /* Goban styles */

  .goban-hover-item {
    @apply block cursor-pointer opacity-0 hover:opacity-40
  }

  .goban-hover-item.occupied {
    @apply hidden
  }

  .goban-hover-item.ko {
    @apply hidden
  }

  .goban.current-black .goban-hover-item.black-suicidal {
    @apply hidden
  }

  .goban.current-white .goban-hover-item.white-suicidal {
    @apply hidden
  }

  .goban-tree-move {
    @apply cursor-pointer
  }

  .goban-tree-move-number {
    @apply text-xs w-[26px] h-[26px] font-semibold pointer-events-none;
    text-anchor: middle;
    dominant-baseline: middle;
  }

  .goban-tree-move-number.transparent {
    @apply fill-gray-300 dark:fill-zinc-600
  }

  .goban-tree-move-number.black {
    @apply fill-white
  }

  .goban-tree-move-number.white {
    @apply fill-zinc-800
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
