/* Türk Daması — tüm seçiciler .dm altında */
.dm { --dm-lt: #efdcb6; --dm-dk: #d9b98a; --dm-line: #b48f5c; }
.dm .dm-main { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: start; }
@media (min-width: 760px) { .dm .dm-main { grid-template-columns: minmax(0, 560px) minmax(220px, 1fr); } }
.dm .dm-boardwrap { position: relative; width: 100%; max-width: 560px; margin: 0 auto; }
.dm .dm-board {
  display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(8, 1fr);
  aspect-ratio: 1 / 1; width: 100%; border-radius: 8px; overflow: hidden; gap: 1px; background: var(--dm-line);
  border: 6px solid #8a6238; box-shadow: 0 6px 18px rgba(60, 35, 10, .22);
  user-select: none; -webkit-user-select: none; touch-action: none;
}
.dm .dm-sq { position: relative; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.dm .dm-sq.lt { background: var(--dm-lt); }
.dm .dm-sq.dk { background: var(--dm-dk); }
.dm .dm-sq.last::before { content: ""; position: absolute; inset: 0; background: rgba(255, 200, 0, .32); }
.dm .dm-sq.sel::before, .dm .dm-sq.step::before { content: ""; position: absolute; inset: 0; background: rgba(15, 118, 110, .42); }
.dm .dm-sq.must::before { content: ""; position: absolute; inset: 6%; border-radius: 50%; box-shadow: 0 0 0 3px #f97316; animation: dm-pulse 1.2s ease-in-out infinite; z-index: 2; }
.dm .dm-sq.tgt::after { content: ""; position: absolute; width: 30%; height: 30%; border-radius: 50%; background: rgba(15, 90, 80, .55); pointer-events: none; z-index: 3; }
.dm .dm-sq.fin::after { content: ""; position: absolute; width: 22%; height: 22%; border-radius: 50%; border: 3px solid rgba(15, 90, 80, .55); pointer-events: none; z-index: 3; }
@keyframes dm-pulse { 50% { box-shadow: 0 0 0 5px rgba(249, 115, 22, .45); } }
.dm .dm-pc { width: 78%; height: 78%; border-radius: 50%; position: relative; z-index: 1; pointer-events: none; display: flex; align-items: center; justify-content: center; }
.dm .dm-pc::after { content: ""; position: absolute; inset: 17%; border-radius: 50%; }
.dm-pc.w { background: radial-gradient(circle at 35% 30%, #ffffff, #efe8d8 55%, #cfc3a8); border: 1px solid #9c8d70; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14), 0 2px 3px rgba(0, 0, 0, .35); }
.dm-pc.w::after { border: 2px solid rgba(120, 100, 70, .35); }
.dm-pc.b { background: radial-gradient(circle at 35% 30%, #5f5a54, #2c2927 55%, #141211); border: 1px solid #000; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .35), 0 2px 3px rgba(0, 0, 0, .45); }
.dm-pc.b::after { border: 2px solid rgba(255, 255, 255, .14); }
.dm-pc .dm-crown { width: 52%; height: 52%; position: relative; z-index: 2; fill: #e3a51d; stroke: #8a5a00; stroke-width: 1.2; stroke-linejoin: round; }
.dm-pc.taken { opacity: .35; }
.dm-pc.ghost { opacity: 0; animation: dm-fade .45s ease-out; }
@keyframes dm-fade { from { opacity: .8; transform: scale(1); } to { opacity: 0; transform: scale(.6); } }
.dm .dm-sq.lifting .dm-pc { opacity: .3; }
.dm-ghost { position: fixed; left: 0; top: 0; z-index: 1000; pointer-events: none; display: flex; align-items: center; justify-content: center; will-change: transform; }
.dm-ghost .dm-pc { width: 86%; height: 86%; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .35)); }
.dm .dm-coord { position: absolute; font-size: clamp(8px, 1.9vw, 11px); font-weight: 800; line-height: 1; pointer-events: none; color: #8a6238; z-index: 2; }
.dm .dm-coord.r { top: 3px; left: 3px; }
.dm .dm-coord.f { bottom: 3px; right: 4px; }

.dm .dm-side { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.dm .dm-status { font-weight: 700; display: flex; align-items: center; gap: 8px; min-height: 28px; }
.dm .dm-turn { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--ink); flex: none; }
.dm .dm-turn.w { background: #fbfaf7; }
.dm .dm-turn.b { background: #2b2a28; }
.dm .dm-score { display: flex; flex-direction: column; gap: 4px; background: var(--cell-alt); border-radius: 10px; padding: 10px 12px; font-size: 15px; }
.dm .dm-score span { display: flex; align-items: center; gap: 8px; }
.dm .dm-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; border: 1px solid #555; }
.dm .dm-dot.w { background: #f4efe3; }
.dm .dm-dot.b { background: #2b2a28; }
.dm .dm-note { font-size: 14.5px; font-weight: 700; color: var(--accent); }
.dm .dm-note[hidden] { display: none; }
.dm .dm-note.pulse { animation: dm-shake .4s; }
@keyframes dm-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.dm .dm-actions { margin: 0; }
