/* ── Base / structural ──────────────────────────────────────────────────── */

.cm-chessboard {
  border-radius: 8px;
  overflow: hidden;

  /* Default theme variables (gray-blue) */
  --sq-white: #DEE9EE;
  --sq-black: #889CA8;
  --border-color: #889CA8;
  --border-frame: #DEE9EE;
  --border-inner: #889CA8;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;

  /* Analysis arrow colors */
  --arrow-success: green;
  --arrow-success-opacity: 0.5;
  --arrow-danger: red;
  --arrow-danger-opacity: 0.5;
  --arrow-warning: orange;
  --arrow-warning-opacity: 0.6;
  --arrow-info: blue;
  --arrow-info-opacity: 0.4;
  --arrow-secondary: #666;
  --arrow-secondary-opacity: 0.5;

  /* Analysis line arrow colors (gradient: cyan → blue) */
  --arrow-line1: #00FFDD;
  --arrow-line1-opacity: 0.8;
  --arrow-line2: #10CBEC;
  --arrow-line2-opacity: 0.5;
  --arrow-line3: #2196FB;
  --arrow-line3-opacity: 0.35;
  --arrow-line4: #1976D2;
  --arrow-line4-opacity: 0.25;
  --arrow-line5: #1565C0;
  --arrow-line5-opacity: 0.2;

  /* Drawing annotation brush colors */
  --brush-green: #15781B;
  --brush-red: #882020;
  --brush-blue: #003088;
  --brush-yellow: #f5c000;
  --brush-purple: #9b30ff;
  --brush-orange: #e6590a;
  --brush-cyan: #0097a7;
  --brush-pink: #ee2080;
}

.cm-chessboard .board.input-enabled .square {
  cursor: pointer;
}
.cm-chessboard .coordinates, .cm-chessboard .markers-layer, .cm-chessboard .pieces-layer, .cm-chessboard .markers-top-layer {
  pointer-events: none;
}

.cm-chessboard-content .list-inline {
  padding-left: 0;
  list-style: none;
}
.cm-chessboard-content .list-inline-item {
  display: inline-block;
}
.cm-chessboard-content .list-inline-item:not(:last-child) {
  margin-right: 1rem;
}

.cm-chessboard-accessibility.visually-hidden {
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── Theme transition ─────────────────────────────────────────────────── */

.cm-chessboard.theme-transition .board .square,
.cm-chessboard.theme-transition .board .border,
.cm-chessboard.theme-transition .board .border-inner,
.cm-chessboard.theme-transition .coordinates .coordinate {
  transition: fill var(--theme-transition-duration, 300ms) ease;
}

/* ── Squares ───────────────────────────────────────────────────────────── */

.cm-chessboard .board .square.white {
  fill: var(--sq-white);
}
.cm-chessboard .board .square.black {
  fill: var(--sq-black);
}

/* ── Borders ───────────────────────────────────────────────────────────── */

.cm-chessboard.border-type-thin .board .border {
  stroke: var(--border-color);
  stroke-width: 0.7%;
  fill: var(--border-color);
}
.cm-chessboard.border-type-none .board .border {
  stroke: var(--border-color);
  stroke-width: 0;
  fill: var(--border-color);
}
.cm-chessboard.border-type-frame .board .border {
  fill: var(--border-frame);
  stroke: none;
}
.cm-chessboard.border-type-frame .board .border-inner {
  fill: var(--border-inner);
  stroke: var(--border-inner);
  stroke-width: 0.7%;
}

/* ── Coordinates ───────────────────────────────────────────────────────── */

.cm-chessboard .coordinates {
  pointer-events: none;
  user-select: none;
}
.cm-chessboard .coordinates .coordinate {
  fill: var(--coord);
  font-size: 7px;
  cursor: default;
}
.cm-chessboard .coordinates .coordinate.black {
  fill: var(--coord-on-black);
}
.cm-chessboard .coordinates .coordinate.white {
  fill: var(--coord-on-white);
}

/* ── Theme: default (gray-blue) ────────────────────────────────────────── */
/* Variables already set on .cm-chessboard root — this is the default */

/* ── Theme: dark-gray ─────────────────────────────────────────────────── */

.cm-chessboard.dark-gray {
  --sq-white: #B5B8BA;
  --sq-black: #616567;
  --border-color: #616567;
  --border-frame: #B5B8BA;
  --border-inner: #616567;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: green ──────────────────────────────────────────────────────── */

.cm-chessboard.green {
  --sq-white: #E8FDCC;
  --sq-black: #729741;
  --border-color: #729741;
  --border-frame: #E8FDCC;
  --border-inner: #729741;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: teal ──────────────────────────────────────────────────────── */

.cm-chessboard.teal {
  --sq-white: #D5F6F6;
  --sq-black: #48989A;
  --border-color: #48989A;
  --border-frame: #D5F6F6;
  --border-inner: #48989A;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: forest ────────────────────────────────────────────────────── */

.cm-chessboard.forest {
  --sq-white: #E6C7A8;
  --sq-black: #177D5C;
  --border-color: #177D5C;
  --border-frame: #E6C7A8;
  --border-inner: #177D5C;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: rose ──────────────────────────────────────────────────────── */

.cm-chessboard.rose {
  --sq-white: #EDEEE8;
  --sq-black: #B2565F;
  --border-color: #B2565F;
  --border-frame: #EDEEE8;
  --border-inner: #B2565F;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: blue ──────────────────────────────────────────────────────── */

.cm-chessboard.blue {
  --sq-white: #EDEEE8;
  --sq-black: #6D92DE;
  --border-color: #6D92DE;
  --border-frame: #EDEEE8;
  --border-inner: #6D92DE;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: lavender ──────────────────────────────────────────────────── */

.cm-chessboard.lavender {
  --sq-white: #F0EDEC;
  --sq-black: #ACABD3;
  --border-color: #ACABD3;
  --border-frame: #F0EDEC;
  --border-inner: #ACABD3;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: chessboard-js (classical wood) ─────────────────────────────── */

.cm-chessboard.chessboard-js {
  --sq-white: #EEDCAE;
  --sq-black: #A17048;
  --border-color: #A17048;
  --border-frame: #EEDCAE;
  --border-inner: #A17048;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: light-gray ────────────────────────────────────────────────── */

.cm-chessboard.light-gray {
  --sq-white: #F5F5F5;
  --sq-black: #B9B9B9;
  --border-color: #B9B9B9;
  --border-frame: #F5F5F5;
  --border-inner: #B9B9B9;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: walnut ────────────────────────────────────────────────────── */

.cm-chessboard.walnut {
  --sq-white: #F5F5F5;
  --sq-black: #A26835;
  --border-color: #A26835;
  --border-frame: #F5F5F5;
  --border-inner: #A26835;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/* ── Theme: red-orange ────────────────────────────────────────────────── */

.cm-chessboard.red-orange {
  --sq-white: #EFE4E4;
  --sq-black: #F06348;
  --border-color: #F06348;
  --border-frame: #EFE4E4;
  --border-inner: #F06348;
  --coord: #7A7C7E;
  --coord-on-black: #E9E9E9;
  --coord-on-white: #7A7C7E;
}

/*# sourceMappingURL=chessboard.css.map */
