/* 回り将棋固有の見た目（共通は ../common/base.css） */
.board-wrap { position: relative; max-width: 640px; margin: 0 auto; }
#board { touch-action: manipulation; }
#board.ready { cursor: pointer; }

/* 駒 */
.pc { transition: opacity var(--dur); }
.pc .disc { stroke: #FFF8EA; stroke-width: 2.5; }
.pc .mk { font: 700 12px var(--font); fill: #fff; text-anchor: middle; }
.pc image.piece { filter: var(--shadow-piece); }
.pc.moving image.piece { filter: var(--shadow-lift); }
.pc.sleep image.piece { opacity: .55; }
.pc .zz { display: none; }
.pc.sleep .zz { display: inline; }
.pc .zz rect { fill: #1F2328; stroke: #FFF8EA; stroke-width: 1.5; }
.pc .zz text { font: 700 22px var(--font); fill: #FFF8EA; text-anchor: middle; }
.pc.hl .disc { stroke: var(--accent); stroke-width: 5; }

/* 金 */
.gold-label rect { fill: #1F2328; stroke: #FFF8EA; stroke-width: 1.5; }
.gold-label text { font: 700 22px var(--font); fill: #FFF8EA; text-anchor: middle; }
.gold-label.minus rect { fill: #B23A3A; } /* 盤の上（明るい木目）なのでダークでも同じ濃い赤。白い文字との比を保つ（D12） */
.gold-label.zero rect { fill: #6B6F76; }
.gold.fell { opacity: .6; }
.gold-hint circle { fill: rgba(255, 248, 234, .78); stroke: var(--accent); stroke-width: 3; stroke-dasharray: 6 5; }
.gold-hint text { font: 700 23px var(--font); fill: #3A2A18; text-anchor: middle; }

/* 手番の枠 */
.turn-frame { opacity: 0; transition: opacity var(--dur); pointer-events: none; }
.turn-frame.on { opacity: 1; }

/* 駒の一覧（盤の上） */
#players { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; margin: 0 0 10px; }
#players:empty { display: none; }
.pl { display: flex; align-items: center; gap: 8px; border: 2px solid var(--line); border-radius: var(--radius); padding: 4px 8px; background: var(--surface); min-height: 48px; transition: border-color var(--dur); }
.pl.on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.pl img { width: 34px; height: 34px; flex: none; }
.pl .who { font-weight: 700; line-height: 1.25; display: flex; align-items: center; gap: 4px; }
.pl .who i { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--ink); }
.pl .sub { font-size: 14px; color: var(--ink-sub); line-height: 1.3; }
.pl .ladder { display: flex; gap: 2px; margin-top: 2px; }
.pl .ladder span { font-size: 14px; line-height: 1; padding: 2px 1px; border-radius: 3px; color: var(--ink-sub); border: 1px solid var(--line); }
.pl .ladder span.done { background: var(--ink-sub); color: var(--surface); border-color: var(--ink-sub); }
.pl .ladder span.now { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); font-weight: 700; }

/* ふるボタン */
.throws { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.btn.throw { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 60px; padding: 4px 6px; line-height: 1.25; }
.btn.throw b { font-size: 18px; }
.btn.throw small { font-size: 14px; font-weight: 400; opacity: .9; }
.btn.throw.picked { outline: 3px solid var(--warn); outline-offset: 2px; }

.howto img[src*="corner"], .howto img[src*="onbu"] { max-width: 480px; }

.board-wrap .callout { padding: 6px 20px; font-size: clamp(16px, 4.2vw, 24px); }
.pl .who .mk { font-size: 14px; color: var(--ink-sub); margin-left: 2px; }
@media (max-width: 420px) {
  #players { grid-template-columns: 1fr 1fr; gap: 4px; }
  .pl { padding: 3px 5px; gap: 5px; }
  .pl img { display: none; } /* 狭い幅では駒の絵を外して、出世の段（14px）を1行に収める（今の駒は段の色で分かる。D9） */
  .pl .ladder { gap: 1px; }
}
/* 上のバーの高さを一定に（No.93。数字は一番長い文が画面の幅（360px・375px 以上・641px 以上）で何行になるか。--tb-rt はふりがなの分。base.css・turnbar.js） */
.turnbar { --tb-msg-lines: 2; --tb-st-lines: 1; --tb-rt: 0px; --tb-st-rt: 0px; }
@media (min-width: 375px) { .turnbar { --tb-msg-lines: 2; --tb-st-lines: 1; } }
@media (min-width: 641px) { .turnbar { --tb-msg-lines: 1; --tb-st-lines: 1; } }
:root:lang(en) .turnbar { --tb-msg-lines: 3; --tb-st-lines: 1; --tb-rt: 0px; --tb-st-rt: 0px; }
@media (min-width: 375px) { :root:lang(en) .turnbar { --tb-msg-lines: 3; --tb-st-lines: 1; } }
@media (min-width: 641px) { :root:lang(en) .turnbar { --tb-msg-lines: 2; --tb-st-lines: 1; } }
/* 上のバーの高さ ここまで */
