.game-kind-gomoku .game-symbol{background:#e7ddc7;color:#685943}.game-kind-reversi .game-symbol{background:#dce5ed;color:#43586d}.game-kind-xiangqi .game-symbol{background:#f3dfd2;color:#a46046}.chess-panel{max-width:900px;margin:16px auto}.chess-turn{text-align:center;color:#4c667f;font-weight:650;padding:12px;border-radius:14px;background:#edf3f8;margin:10px 0 20px}.chess-turn.thinking{color:#877452;background:#f9f2e4}.chess-board-wrap{width:min(100%,540px);margin:22px auto 28px;padding:10px;border-radius:17px;background:#ccb895;box-shadow:0 5px 0 #b8a581}.chess-board{display:grid;grid-template-columns:repeat(var(--chess-cols),minmax(0,1fr));grid-template-rows:repeat(var(--chess-rows),minmax(0,1fr));aspect-ratio:var(--chess-cols)/var(--chess-rows);position:relative;background:#f1dfb9;border-radius:9px;isolation:isolate;overflow:hidden}.chess-lines{position:absolute;width:100%;height:100%;inset:0;fill:none;stroke:#aa8b5a;stroke-width:.018;pointer-events:none;z-index:-1}.chess-cell{display:grid;place-items:center;min-width:0;min-height:0;padding:0;aspect-ratio:1;position:relative;border-radius:4px}.chess-cell:hover{background:#fff8df66}.chess-cell:disabled{opacity:1}.chess-cell.last{box-shadow:inset 0 0 0 2px #587c9b;background:#d8e7ee44}.chess-cell.selected{box-shadow:inset 0 0 0 3px #3f678a;background:#bdd2e388}.chess-cell.hint{background:#ffe9a077}.chess-cell.winning{background:#eebd6877;box-shadow:inset 0 0 0 2px #ab7b28}.chess-piece{display:block;width:77%;height:77%;border-radius:50%;box-shadow:0 2px 3px #705a453d;pointer-events:none}.chess-piece.child{background:radial-gradient(circle at 30% 25%,#546170,#283440 60%,#1b242e);border:1px solid #293845}.chess-piece.computer{background:radial-gradient(circle at 30% 25%,white,#eeeae1 65%,#d3d1cd);border:1px solid #c2b9a5}.chess-cell.legal{background:#7fabc22b}.chess-dot{width:22%;height:22%;border-radius:50%;border:2px solid #56758e;background:#e6f2f7;pointer-events:none}.chess-star{position:absolute;right:1px;top:-2px;color:#b36d20;font:700 clamp(12px,2.5vw,20px)/1.2 Arial;text-shadow:0 1px #fff;pointer-events:none}.chess-reversi{background:#809bad;border:1px solid #5e7c90}.chess-reversi .chess-cell{border:1px solid #637f9466;border-radius:0}.chess-reversi .chess-cell.legal{background:#a8c1cf}.chess-reversi .chess-cell.last{box-shadow:inset 0 0 0 3px #eecb79;background:#bfd0d9}.chess-reversi .chess-piece{width:79%;height:79%}.chess-reversi .chess-dot{border-color:#fff6de;background:#e3eff4}.chess-river{position:absolute;left:5.56%;right:5.56%;top:45%;height:10%;display:flex;align-items:center;justify-content:space-around;font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:clamp(16px,3vw,29px);letter-spacing:.2em;color:#9e8056;pointer-events:none;z-index:-1}.chess-river span{margin-left:20%}.chess-xiangqi .chess-piece{width:87%;height:87%;display:grid;place-items:center;font:700 clamp(18px,3.5vw,30px)/1 "Kaiti SC","STKaiti","KaiTi",serif;background:radial-gradient(circle at 30% 20%,#fff9e9,#f2d9ad);box-shadow:0 2px 3px #876a4844}.chess-xiangqi .chess-piece.child{color:#b94e3a;border:2px solid #bd6a51}.chess-xiangqi .chess-piece.computer{color:#384f62;border:2px solid #5f7181}.chess-xiangqi .chess-cell.legal .chess-piece{outline:2px dashed #56758e;outline-offset:1px}.chess-xiangqi .chess-cell.selected .chess-piece{background:#fff1b9}.chess-xiangqi .chess-cell.last{background:#c4d6df55;box-shadow:inset 0 0 0 2px #6e8da4}.chess-help{border:1px solid #dbe4ed;border-radius:15px;padding:15px 18px;margin:22px 0;color:#5e7182;background:#f7fafc;font-size:14px;line-height:1.9}.chess-help summary{cursor:pointer;color:#48637e;font-weight:650;min-height:28px}.chess-help p{margin:15px 0 0}.chess-result{background:#f2f5f7;border-color:#d9e1e8}.chess-result>strong,.chess-result>p{color:#5a6f83}.chess-result.won{background:#fff7e4;border-color:#e7dcbd}.chess-result.won>strong,.chess-result.won>p{color:#927338}@media(max-width:700px){.chess-board-wrap{padding:7px;border-radius:12px;margin:18px auto 24px}.chess-panel{padding:18px 10px}.chess-xiangqi .chess-piece{font-size:clamp(17px,5vw,26px);border-width:1px}.chess-help{padding:14px}.chess-turn{font-size:14px}.chess-panel .game-counters span{padding:7px}.chess-cell:focus-visible{outline-offset:-3px}}

.chess-cell.in-check .chess-piece{box-shadow:0 0 0 3px #cc684e;background:#ffe1c5}.chess-cell.in-check::after{content:"!";position:absolute;top:0;right:0;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#b8563e;color:white;font:bold 12px Arial;pointer-events:none}
