.dm-wrap { display: flex; flex-direction: column; gap: 14px; width: min(560px, 100%); }

.dm-line-scroll {
  overflow-x: auto;
  background: #234a2e;
  border-radius: 10px;
  padding: 12px;
  min-height: 70px;
}

.dm-line {
  display: flex;
  gap: 4px;
  align-items: center;
  min-width: max-content;
}

.dm-tile {
  display: flex;
  border: 2px solid #1a1a1a;
  border-radius: 6px;
  overflow: hidden;
  background: #f3e9d8;
  flex-shrink: 0;
}

.dm-tile.dm-vert { flex-direction: column; }

.dm-half {
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.85rem;
  color: #1a1a1a;
  border-right: 1px solid #1a1a1a;
}
.dm-tile.dm-vert .dm-half { border-right: none; border-bottom: 1px solid #1a1a1a; }
.dm-tile .dm-half:last-child { border: none; }

.dm-hand {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.dm-hand-tile {
  display: flex;
  border: 2px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
  background: #f3e9d8;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.dm-hand-tile:hover:not(:disabled) { transform: translateY(-3px); box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
.dm-hand-tile:disabled { opacity: 0.35; cursor: default; }
.dm-hand-tile.dm-picked { box-shadow: 0 0 0 3px var(--color-primary); }

.dm-hand-tile .dm-half { width: 22px; height: 34px; font-size: 0.78rem; }

.dm-side-choice {
  display: flex;
  gap: 10px;
  justify-content: center;
}
