/* OnlineTools Kenya board theme 1.0 (Core 1.24.0). Original, GPL-2.0-or-later.
   Boards are physical objects: each game keeps its own board colours in both site themes (as the logo does), and
   only frames, shadows, labels and highlights adapt. This file is written for both themes and is not passed
   through scripts/dark-mode.py. Selectors start with "html body .otk-game-kit" three times over so they outrank the
   generated dark rules of the family stylesheets without !important. */

.otk-game-kit{
  --gkx-shadow:0 14px 34px rgba(20,32,52,.16),0 2px 6px rgba(20,32,52,.08);
  --gkx-frame:#2f3a47;
  --gkx-chess-light:#e6ebef;--gkx-chess-dark:#7d95a6;--gkx-coord-on-light:#5b7182;--gkx-coord-on-dark:#f1f5f8;
  --gkx-draughts-light:#ece4d1;--gkx-draughts-dark:#45685a;
  --gkx-felt:#2c7a50;--gkx-felt-line:#1f5d3c;--gkx-felt-edge:#174730;
  --gkx-last:rgba(255,206,84,.5);--gkx-select:rgba(255,188,40,.72);--gkx-hint:#f5b632;
  --gkx-dot:rgba(18,32,48,.32);--gkx-ring:rgba(18,32,48,.38);
  --gkx-hole:#e8edf4;--gkx-hole-shadow:inset 0 3px 7px rgba(5,14,30,.38);
  --gkx-wood-a:#e7c995;--gkx-wood-b:#cfa266;--gkx-wood-edge:#a87a42;--gkx-pit:#b88a50;--gkx-pit-hi:#d5ad75;--gkx-seed-ink:#2b1b08;
  --gkx-tile:#fbf8ee;--gkx-tile-edge:#a8a291;--gkx-pip:#1d2a33;
  --gkx-cell:#ffffff;--gkx-cell-alt:#eaf1fb;--gkx-cell-ink:#253e60;--gkx-cell-line:#c8d8ed;--gkx-board-bg:#f4f7fb;
  --gkx-blue:#2563eb;--gkx-blue-deep:#173f9e;--gkx-gold:#f4b322;--gkx-gold-deep:#a26d06;
  --gkx-tic-x:#2563eb;--gkx-tic-o:#c56a06;--gkx-tic-cell:#fff;--gkx-tic-line:#cfdbec;
}
html[data-theme="dark"] .otk-game-kit{
  --gkx-shadow:0 16px 40px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);
  --gkx-frame:#11161c;
  --gkx-chess-light:#c5d0d8;--gkx-chess-dark:#687f8f;--gkx-coord-on-light:#4b6070;--gkx-coord-on-dark:#e9eef2;
  --gkx-draughts-light:#cfc6b2;--gkx-draughts-dark:#3a5a4d;
  --gkx-felt:#236541;--gkx-felt-line:#184b30;--gkx-felt-edge:#0f3021;
  --gkx-last:rgba(255,206,84,.42);
  --gkx-hole:#14181d;--gkx-hole-shadow:inset 0 3px 8px rgba(0,0,0,.75);
  --gkx-wood-a:#b88f58;--gkx-wood-b:#9a7240;--gkx-wood-edge:#6d4e27;--gkx-pit:#7d5a2f;--gkx-pit-hi:#93703f;--gkx-seed-ink:#f6ead6;
  --gkx-tile:#efe9da;--gkx-tile-edge:#6f6a5e;
  --gkx-cell:#2a2f35;--gkx-cell-alt:#23282d;--gkx-cell-ink:#e7ecf1;--gkx-cell-line:#3c444d;--gkx-board-bg:#1d2125;
  --gkx-tic-x:#7aa7ff;--gkx-tic-o:#f2a54a;--gkx-tic-cell:#262626;--gkx-tic-line:#3c3c3c;
}

/* ---------------------------------------------------------------- chess */
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-board{max-width:600px;border:6px solid var(--gkx-frame);border-radius:10px;box-shadow:var(--gkx-shadow)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square{color:var(--gkx-coord-on-light)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-light{background:var(--gkx-chess-light)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-dark{background:var(--gkx-chess-dark)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-light .w23ch-coordinate{color:var(--gkx-coord-on-light)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-dark .w23ch-coordinate{color:var(--gkx-coord-on-dark)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-coordinate{font:700 10px/1 system-ui,sans-serif;opacity:.9}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-piece{font-family:"Segoe UI Symbol","DejaVu Sans","Noto Sans Symbols 2","Arial Unicode MS",serif;font-size:clamp(26px,5.2vw,54px);transform-origin:50% 60%;transition:transform .12s ease}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-piece.is-w{color:#fcfcfa;-webkit-text-stroke:1.4px #1b232b;text-shadow:0 2px 3px rgba(0,0,0,.35)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-piece.is-b{color:#20272e;-webkit-text-stroke:.8px #e9edf0;text-shadow:0 2px 3px rgba(0,0,0,.4)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square:hover .w23ch-piece{transform:scale(1.06)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-last{background-image:linear-gradient(var(--gkx-last),var(--gkx-last))}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-last:after{display:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-selected{background-image:linear-gradient(var(--gkx-select),var(--gkx-select));box-shadow:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-check{background-image:radial-gradient(circle,rgba(255,40,40,.95) 0%,rgba(230,30,30,.55) 38%,rgba(200,0,0,0) 72%)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-hint{box-shadow:inset 0 0 0 4px var(--gkx-hint)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-legal:before{inset:4%;border:5px solid var(--gkx-ring);border-radius:50%;opacity:0}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-legal:has(.w23ch-piece):before{opacity:1}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-target{width:30%;height:30%;background:var(--gkx-dot)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square.is-legal:hover{box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-promotion{background:var(--gkx-cell);border-color:var(--gkx-blue);color:var(--gkx-cell-ink)}

/* ---------------------------------------------------------------- draughts and reversi */
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square-board{max-width:600px;border:6px solid var(--gkx-frame);border-radius:10px;box-shadow:var(--gkx-shadow)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square-board:not(.is-reversi) .w23c-square.is-light{background:var(--gkx-draughts-light)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square-board:not(.is-reversi) .w23c-square.is-dark{background:var(--gkx-draughts-dark)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square .w23c-coordinate{color:#5d6b62;font:700 10px/1 system-ui,sans-serif}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square.is-dark .w23c-coordinate{color:#e6efe9}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-disc{width:78%;height:78%;border:0;font-size:clamp(11px,2.2vw,22px);box-shadow:0 3px 0 rgba(0,0,0,.28),0 5px 8px rgba(0,0,0,.25),inset 0 -4px 0 rgba(0,0,0,.18),inset 0 3px 0 rgba(255,255,255,.35)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-disc.is-p1{background:radial-gradient(circle at 35% 30%,#7aa5ff 0%,#2f6ae8 38%,#1a3f9c 100%);color:#fff}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-disc.is-p2{background:radial-gradient(circle at 35% 30%,#ffe7a1 0%,#f4b52a 40%,#a46b05 100%);color:#4a3000}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-disc.is-king{border:0;font-weight:900;letter-spacing:0;outline:3px solid rgba(255,255,255,.75);outline-offset:-7px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square.is-last{background-image:linear-gradient(var(--gkx-last),var(--gkx-last))}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square.is-last:after{display:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square.is-selected{background-image:linear-gradient(var(--gkx-select),var(--gkx-select));box-shadow:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square.is-hint{box-shadow:inset 0 0 0 4px var(--gkx-hint)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-target{width:28%;height:28%;border-radius:50%;background:var(--gkx-dot);font-size:0}
/* Reversi: green felt with board lines; black and white discs whatever the site theme. */
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square-board.is-reversi{border-color:var(--gkx-felt-edge);background:var(--gkx-felt-line);gap:2px;padding:2px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-square{background:var(--gkx-felt)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-square .w23c-coordinate,html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-square.is-dark .w23c-coordinate{color:rgba(255,255,255,.7)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-disc{width:82%;height:82%;font-size:0;backface-visibility:hidden}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-disc.is-p1{background:radial-gradient(circle at 35% 30%,#5b5f66 0%,#1d2024 45%,#060708 100%)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-disc.is-p2{background:radial-gradient(circle at 35% 30%,#ffffff 0%,#eceae4 50%,#b9b5aa 100%)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-target{background:rgba(0,0,0,.28);width:24%;height:24%}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-square.is-last{background-image:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-square.is-last .w23c-disc:after{content:"";position:absolute;width:16%;height:16%;border-radius:50%;background:#e84a3c}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-reversi .w23c-disc{position:relative}

/* ---------------------------------------------------------------- dominoes */
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-chain{background:radial-gradient(ellipse at 50% 40%,#2f7f55 0%,#236342 70%,#1b5236 100%);border-color:#174730}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-chain>p{color:#fff}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-tile{background:linear-gradient(180deg,#fffdf6,var(--gkx-tile));border:1px solid var(--gkx-tile-edge);border-radius:6px;box-shadow:0 2px 0 rgba(0,0,0,.25),0 4px 8px rgba(0,0,0,.18)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-pips+.w23c-pips{border-left:1px solid var(--gkx-tile-edge)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-pips i.is-pip{background:radial-gradient(circle at 35% 35%,#55626b,var(--gkx-pip))}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-pips em{color:#8a8778}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-hand-button:hover .w23c-tile,html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-hand-button:focus-visible .w23c-tile{transform:translateY(-3px);box-shadow:0 5px 0 rgba(0,0,0,.25),0 8px 14px rgba(0,0,0,.22)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-tile{transition:transform .14s ease,box-shadow .14s ease}

/* ---------------------------------------------------------------- connect four */
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-connect-grid{background:linear-gradient(165deg,#3a4655,#232c37);border:0;border-bottom:10px solid #161c23;box-shadow:var(--gkx-shadow);gap:9px;padding:14px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-hole{background:var(--gkx-hole);box-shadow:var(--gkx-hole-shadow)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-disc{inset:3px;border:0;font-size:clamp(11px,2.2vw,20px);box-shadow:inset 0 -5px 0 rgba(0,0,0,.2),inset 0 4px 0 rgba(255,255,255,.3),0 2px 3px rgba(0,0,0,.3)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-disc-1 .w1b-disc{background:radial-gradient(circle at 35% 30%,#7aa5ff 0%,var(--gkx-blue) 45%,var(--gkx-blue-deep) 100%);color:rgba(255,255,255,.85)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-disc-2 .w1b-disc{background:radial-gradient(circle at 35% 30%,#ffe7a1 0%,var(--gkx-gold) 45%,var(--gkx-gold-deep) 100%);color:rgba(74,48,0,.8)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-hole.is-last:after{inset:30%;border:0;background:rgba(255,255,255,.55);border-radius:50%}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-hole.is-win{outline:3px solid #fff;outline-offset:2px;animation:gkx-glow 1.2s ease-in-out infinite alternate}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-drop{transition:transform .12s ease}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-drop:hover:not([aria-disabled="true"]){transform:translateY(-2px)}

/* ---------------------------------------------------------------- tic-tac-toe */
html body .otk-game-kit.otk-game-kit.otk-game-kit .gk-tic-grid{max-width:390px;gap:12px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .gk-tic-cell{background:var(--gkx-tic-cell);border:1px solid var(--gkx-tic-line);box-shadow:0 4px 0 var(--gkx-tic-line);color:var(--gkx-tic-x);transition:transform .12s ease,background .12s ease}
html body .otk-game-kit.otk-game-kit.otk-game-kit .gk-tic-cell[data-mark=O]{color:var(--gkx-tic-o)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .gk-tic-cell.gk-winning{background:var(--gkx-tic-cell);border:2px solid currentColor;box-shadow:0 4px 0 currentColor;animation:gkx-glow 1.2s ease-in-out infinite alternate}

/* ---------------------------------------------------------------- seed boards (Kalah, Oware, Bao) */
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-seed-board{background:linear-gradient(160deg,var(--gkx-wood-a),var(--gkx-wood-b));border:1px solid var(--gkx-wood-edge);box-shadow:inset 0 2px 0 rgba(255,255,255,.25),inset 0 -3px 0 rgba(0,0,0,.18),var(--gkx-shadow)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-pit{background:radial-gradient(ellipse at 50% 40%,var(--gkx-pit) 0%,var(--gkx-pit-hi) 100%)!important;border:0!important;color:var(--gkx-seed-ink)!important;box-shadow:inset 0 4px 9px rgba(0,0,0,.35),0 1px 0 rgba(255,255,255,.25)!important;transition:transform .12s ease}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-pit.is-legal{background:radial-gradient(ellipse at 50% 40%,var(--gkx-pit) 0%,var(--gkx-pit-hi) 100%)!important;box-shadow:inset 0 4px 9px rgba(0,0,0,.35),0 0 0 3px #fff6d8,0 0 0 5px #2f6ae8!important;color:var(--gkx-seed-ink)!important}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-pit.is-legal:hover{transform:translateY(-2px)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-pit strong{color:var(--gkx-seed-ink);text-shadow:0 1px 0 rgba(255,255,255,.2)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-pit small{color:var(--gkx-seed-ink);opacity:.75}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-seed-dots{max-width:44px;gap:2px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-seed-dots i{width:7px;height:7px;border:0;background:radial-gradient(circle at 35% 30%,#f3efe6 0%,#9aa3a8 55%,#4d5559 100%);box-shadow:0 1px 1px rgba(0,0,0,.35)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-seed-dots i:nth-child(3n+2){background:radial-gradient(circle at 35% 30%,#fbe7c4 0%,#c9934e 55%,#7a4f1c 100%)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-seed-dots i:nth-child(4n+3){background:radial-gradient(circle at 35% 30%,#d9e8f2 0%,#6f8fa6 55%,#344a5a 100%)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-store{background:radial-gradient(ellipse at 50% 40%,var(--gkx-pit) 0%,var(--gkx-pit-hi) 100%);color:var(--gkx-seed-ink);box-shadow:inset 0 4px 10px rgba(0,0,0,.35)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-store strong,html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-store span,html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-store small{color:var(--gkx-seed-ink)}

/* ---------------------------------------------------------------- Ludo (SVG drawn with light fills; CSS repaints them) */
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo>rect:first-of-type{fill:#1e2125}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo rect[fill="white"]{fill:#2c3036;stroke:#454b53}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo rect[fill="#f8e8b9"]{fill:#5b4b22}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo text[fill="#685017"]{fill:#ffd978}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo rect[fill="#e5edf9"]{fill:#2a2e34}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo text[fill="#354563"]{fill:#e9edf1}
html body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo{border-radius:18px;box-shadow:var(--gkx-shadow)}
html body .otk-game-kit.otk-game-kit.otk-game-kit svg.w23m-ludo circle{transition:transform .2s ease}

/* ---------------------------------------------------------------- Snakes & Ladders (SVG) */
html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg{background:var(--gkx-board-bg);border-color:var(--gkx-cell-line);box-shadow:var(--gkx-shadow)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg rect[fill="#fff"]{fill:var(--gkx-cell);stroke:var(--gkx-cell-line)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg rect[fill="#e5eefb"]{fill:var(--gkx-cell-alt);stroke:var(--gkx-cell-line)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg rect[fill="#d8f1e5"]{fill:#24533c;stroke:var(--gkx-cell-line)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg text[fill="#253e60"],html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg text[fill="#27405d"]{fill:var(--gkx-cell-ink)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg g[stroke="#277348"]{stroke:#4fbf7f}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg path[stroke="#b5526b"]{stroke:#e0738f}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-snakes-svg polyline[stroke="#172b48"]{stroke:#e9edf1}

/* ---------------------------------------------------------------- dice */
html body .otk-game-kit.otk-game-kit.otk-game-kit :is(.w1b-die,.w23m-die){display:inline-block;transform-origin:50% 55%}

/* ---------------------------------------------------------------- motion (board-fx.js) */
html body .otk-game-kit.otk-game-kit.otk-game-kit .gkx-raised{z-index:2}
html body .otk-game-kit.otk-game-kit.otk-game-kit .gkx-ghost{position:absolute;inset:0;margin:auto;pointer-events:none;z-index:3}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-square .gkx-ghost{display:grid;place-items:center}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23c-square .gkx-ghost{width:78%;height:78%}
@keyframes gkx-glow{from{filter:brightness(1);box-shadow:0 0 0 0 rgba(255,255,255,0)}to{filter:brightness(1.18);box-shadow:0 0 18px 2px rgba(255,214,102,.65)}}
html body .otk-game-kit.otk-game-kit.otk-game-kit.gk-reduced :is(.w1b-hole.is-win,.gk-tic-cell.gk-winning){animation:none}
@media (prefers-reduced-motion:reduce){html body .otk-game-kit.otk-game-kit.otk-game-kit :is(.w1b-hole.is-win,.gk-tic-cell.gk-winning){animation:none}html body .otk-game-kit.otk-game-kit.otk-game-kit :is(.w23ch-piece,.w23m-pit,.w1b-drop,.w23c-tile,.gk-tic-cell){transition:none}}

/* ---------------------------------------------------------------- small screens */
@media (max-width:620px){
  html body .otk-game-kit.otk-game-kit.otk-game-kit :is(.w23ch-board,.w23c-square-board){border-width:4px}
  html body .otk-game-kit.otk-game-kit.otk-game-kit .w23ch-piece{font-size:clamp(24px,10.5vw,46px)}
  html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-connect-grid{gap:5px;padding:8px}
  /* Give the board the width: slimmer panel padding around it on phones. */
  html body .otk-game-kit.otk-game-kit.otk-game-kit .gk-main{padding:8px}
  html body .otk-game-kit.otk-game-kit.otk-game-kit .gk-surface{padding:6px}
  html body .otk-game-kit.otk-game-kit.otk-game-kit .w1b-connect-wrap{max-width:none}
}

/* ================================================================ 1.25.0: every game, maps and shared polish */
.otk-game-kit{
  --gkx-ocean:#cfe5f2;--gkx-land:#f3eee1;--gkx-land-edge:#9b947f;--gkx-kenya:#fff4d8;--gkx-kenya-edge:#6f6243;--gkx-neighbour:#e6e1d2;
  --gkx-lake:#b6d8ec;--gkx-lake-edge:#7ea9c4;--gkx-grid:rgba(30,60,90,.13);--gkx-target:#43b06f;--gkx-target-edge:#1b6a3c;--gkx-miss:#e8746b;--gkx-miss-edge:#9b3a33;
  --gkx-pin:#2563eb;--gkx-pin-ok:#16a34a;--gkx-cursor:#10233a;--gkx-town:#3b4a59;--gkx-river:#0a6fd6;--gkx-map-edge:#c9d8e2;
}
html[data-theme="dark"] .otk-game-kit{
  --gkx-ocean:#0f1d26;--gkx-land:#2c3238;--gkx-land-edge:#5c666f;--gkx-kenya:#3c434b;--gkx-kenya-edge:#9aa6b0;--gkx-neighbour:#24292e;
  --gkx-lake:#16384b;--gkx-lake-edge:#2c5872;--gkx-grid:rgba(255,255,255,.07);--gkx-target:#2f9d5d;--gkx-target-edge:#7ee2a4;--gkx-miss:#b8524a;--gkx-miss-edge:#f29b92;
  --gkx-pin:#7aa7ff;--gkx-pin-ok:#4ade80;--gkx-cursor:#f4f6f8;--gkx-town:#e6ebf0;--gkx-river:#5fb0ff;--gkx-map-edge:#3a4249;
}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-map-wrap{position:relative;margin:.7rem 0;border-radius:16px;overflow:hidden;border:1px solid var(--gkx-map-edge);box-shadow:var(--gkx-shadow);background:var(--gkx-ocean)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-map{display:block;width:100%;height:auto;max-height:none;margin:0;border:0;border-radius:0;background:var(--gkx-ocean);touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-kenya-map{width:min(100%,560px);margin:0 auto;height:auto;max-height:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-map-wrap:has(.wv-kenya-map){display:flex;justify-content:center}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-ocean{fill:var(--gkx-ocean)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-gridline{fill:none;stroke:var(--gkx-grid);stroke-width:1px;stroke-opacity:1}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-land{fill:var(--gkx-land);stroke:var(--gkx-land-edge);stroke-width:.6px;transition:fill .25s ease}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-neighbour{fill:var(--gkx-neighbour)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-kenya{fill:var(--gkx-kenya);stroke:var(--gkx-kenya-edge);stroke-width:1.4px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-lake{fill:var(--gkx-lake);stroke:var(--gkx-lake-edge);stroke-width:.5px;pointer-events:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-target{fill:var(--gkx-target);stroke:var(--gkx-target-edge);stroke-width:1.6px;animation:gkx-target 1.4s ease-in-out 2}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-miss{fill:var(--gkx-miss);stroke:var(--gkx-miss-edge);stroke-width:1.4px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-town{fill:var(--gkx-town)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-town-label{fill:var(--gkx-town);font-family:system-ui,sans-serif;font-weight:650;paint-order:stroke;stroke:var(--gkx-kenya);stroke-width:.35px;pointer-events:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-river-answer{stroke:var(--gkx-river);stroke-width:3.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-guess-pin circle{fill:var(--gkx-pin);stroke:#fff;stroke-width:2px}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-correct-pin circle{fill:var(--gkx-pin-ok);stroke:#fff;stroke-width:2px}
html body .otk-game-kit.otk-game-kit.otk-game-kit :is(.wv-guess-pin,.wv-correct-pin) .wv-pin-halo{fill:currentColor;stroke:none;opacity:.22}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-guess-pin{color:var(--gkx-pin)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-correct-pin{color:var(--gkx-pin-ok)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .is-new .wv-pin-halo{transform-box:fill-box;transform-origin:center;animation:gkx-ping 1.1s ease-out 2}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-cursor path{fill:none;stroke:var(--gkx-cursor);stroke-width:1.8px;pointer-events:none}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:.55rem 0}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-map-tools button.wv-map-tool{flex:0 0 auto;width:44px;min-width:44px;min-height:44px;height:44px;padding:0;border-radius:12px;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wv-zoom-level{margin-left:auto;font:700 13px/1 system-ui,sans-serif;color:var(--gkx-cell-ink);opacity:.75;font-variant-numeric:tabular-nums}
@keyframes gkx-ping{from{transform:scale(.6);opacity:.55}to{transform:scale(2.2);opacity:0}}
@keyframes gkx-target{50%{filter:brightness(1.3)}}
html body .otk-game-kit.otk-game-kit.otk-game-kit.gk-reduced :is(.wv-target,.is-new .wv-pin-halo){animation:none}
@media (prefers-reduced-motion:reduce){html body .otk-game-kit.otk-game-kit.otk-game-kit :is(.wv-target,.is-new .wv-pin-halo){animation:none}}
/* Official flags (1.25.0): shown in their own proportions with a hairline edge so white flags stay visible. */
html body .otk-game-kit.otk-game-kit.otk-game-kit .wq-flag{display:flex;justify-content:center;align-items:center;height:auto;max-width:none;margin:.4rem auto 1rem;min-height:0}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wq-flag img{display:block;width:auto;height:auto;max-width:min(100%,360px);max-height:220px;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.18),0 10px 26px rgba(15,25,40,.22)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wq-mini-flag{display:flex;justify-content:center;width:auto;height:auto}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wq-mini-flag img{display:block;height:44px;width:auto;max-width:120px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.18)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit :is(.wq-flag,.wq-mini-flag) img{box-shadow:0 0 0 1px rgba(255,255,255,.28),0 10px 26px rgba(0,0,0,.5)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .wq-local .wq-flag img{max-height:130px}
@media (max-width:620px){html body .otk-game-kit.otk-game-kit.otk-game-kit .wq-flag img{max-height:170px}}

/* 1.26.0 photo games: neutral dark backdrops, light silhouettes */
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wq-reveal.wq-photo-reveal{background:linear-gradient(#262626 0 64%,#303030 64%)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wq-animal-photo>img.wq-silhouette{filter:invert(.9)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wf-photo-art,
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .gk-memory-photo,
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wv-animal-figure .wv-animal-art{background:#2a2a2a}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wv-habitat-tile{background:linear-gradient(color-mix(in srgb,var(--tile-color) 30%,#212121),#212121 78%);border-color:#3c3c3c;color:#fafafa}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wv-habitat-tile *{color:inherit}

/* 1.27.0 sports cards keep their own colours in both themes */
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wf-badge{background:radial-gradient(circle at 50% 38%,#22704a,#123f2c 72%);color:#fff;box-shadow:inset 0 0 0 6px #e2b33d,inset 0 0 0 9px #14553a,inset 0 0 0 11px #f6dc8a,0 10px 24px -14px rgba(0,0,0,.8)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wf-medal strong{color:#fafafa}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wf-medal span,html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wf-flagcard-label{color:#b8b8b8}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wf-flagcard{background:linear-gradient(160deg,#2c2c2c,#232323);box-shadow:0 0 0 1px #3c3c3c,0 10px 24px -14px rgba(0,0,0,.8)}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .wf-flagcard-flag{box-shadow:0 0 0 1px rgba(255,255,255,.22)}
html body .otk-game-kit.otk-game-kit.otk-game-kit .w23m-roll .w23m-die{font-size:30px;margin-right:8px}

/* 1.28.0 finished-game state keeps its own colours in dark mode */
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .gk-finish-banner{background:#173a24;color:#e8f6ec}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit .gk-finish-banner.is-ended{background:#3d2a0e;color:#fbe7c6}
html[data-theme="dark"] body .otk-game-kit.otk-game-kit.otk-game-kit.gk-is-finished .gk-phase{background:#15803d;color:#fff}
