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

@layer components {
  /* Gome base styles */

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

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

  .input-primary {
    @apply border border-gray-300 rounded-lg py-2 px-4 shadow
           focus:outline-none focus:ring-1 focus:ring-gray-400
           focus:border-gray-400 disabled:bg-gray-50
           disabled:text-gray-700
  }

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

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

  .checkbox + label {
    @apply cursor-pointer
  }

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

  .checkbox-primary {
    @apply checkbox hover:bg-gray-100 text-gray-800
           focus:ring-gray-400 focus:border-gray-400
  }

  .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
  }

  .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.
 *


 */
