/* ============================================================
   棋盘 · 明亮木质风
   ============================================================ */
.board-shell{
  position:relative;
  border-radius:var(--r-l);
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 8px 28px -12px rgba(160,120,80,.3);
}
.board-stage{
  position:relative;
  background:
    radial-gradient(70% 60% at 50% 0%, #fff8ee, transparent 70%),
    linear-gradient(160deg,#fdf3e4 0%,#f8ead6 55%,#f3e0c6 100%);
}
.board-stage canvas{
  width:100%;height:auto;display:block;
  cursor:pointer;
  touch-action:manipulation;
}
.board-stage.locked canvas{cursor:default}

/* 棋盘下方的状态条 */
.board-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 14px;
  background:var(--surface-2);
  border-top:1px solid var(--line);
  font-size:10.5px;color:var(--ink-4);
  font-family:var(--font-mono);
  letter-spacing:.04em;
}
.board-meta .bm-right{color:var(--ink-4)}

/* 思考中的进度条 */
.thinking-bar{
  position:absolute;left:0;right:0;top:0;height:3px;overflow:hidden;z-index:3;
  background:rgba(255,138,91,.1);
}
.thinking-bar::after{
  content:"";position:absolute;inset:0;width:36%;
  background:linear-gradient(90deg,transparent,var(--primary),transparent);
  animation:think-sweep 1.1s ease-in-out infinite;
}
@keyframes think-sweep{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}

/* 落子涟漪 */
@keyframes stone-drop{
  0%{transform:scale(.3);opacity:0}
  60%{transform:scale(1.12)}
  100%{transform:scale(1);opacity:1}
}

/* 结果覆盖层 */
.board-overlay{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;
  padding:22px;z-index:6;
  background:rgba(251,249,246,.86);
  backdrop-filter:blur(6px);
  animation:fade-in .25s ease both;
}
.board-overlay.hidden{display:none}
.bo-card{max-width:340px;animation:pop-in .35s var(--ease) both}
.bo-result-mark{
  width:68px;height:68px;margin:0 auto 16px;border-radius:24px;
  display:grid;place-items:center;
  font-size:28px;font-weight:900;
  animation:bounce-in .5s var(--ease) both;
}
.bo-title{font-size:26px;font-weight:900;letter-spacing:-.01em}
.bo-sub{font-size:13px;color:var(--ink-3);margin-top:8px;line-height:1.65}
.bo-actions{display:flex;gap:8px;justify-content:center;margin-top:20px;flex-wrap:wrap}

/* 移动端 */
@media(max-width:1080px){
  .board-shell{max-width:600px;margin-inline:auto;width:100%}
}
