.game-shell[data-theme="hangman"] {
  --game-accent: #ffd56b;
  --game-accent-2: #ff7d84;
  --game-accent-soft: rgba(255, 213, 107, 0.2);
  --game-accent-deep: rgba(255, 125, 132, 0.12);
}

.hangman-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 16px;
}

.hangman-stage,
.hangman-card {
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    rgba(8, 13, 24, 0.72);
}

.hangman-stage {
  display: grid;
  gap: 18px;
}

.hangman-side {
  display: grid;
  gap: 12px;
}

.hangman-card span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.52);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 10px;
  font-weight: 800;
}

.hangman-card strong,
.hangman-answer {
  line-height: 1.6;
}

.hangman-setup-form {
  display: grid;
  gap: 12px;
}

.hangman-input {
  width: 100%;
}

.hangman-figure {
  position: relative;
  width: min(280px, 100%);
  height: 220px;
  margin: 0 auto;
}

.hangman-part {
  position: absolute;
  display: block;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
}

.hangman-part.is-base { left: 26px; bottom: 10px; width: 120px; height: 10px; }
.hangman-part.is-pole { left: 42px; bottom: 20px; width: 10px; height: 164px; }
.hangman-part.is-top { left: 42px; top: 28px; width: 104px; height: 10px; }
.hangman-part.is-rope { left: 138px; top: 38px; width: 6px; height: 26px; }
.hangman-part.is-head,
.hangman-part.is-body,
.hangman-part.is-arm-left,
.hangman-part.is-arm-right,
.hangman-part.is-leg-left,
.hangman-part.is-leg-right {
  opacity: 0.12;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.hangman-part.is-head { left: 120px; top: 58px; width: 42px; height: 42px; border: 6px solid #ffd56b; background: transparent; }
.hangman-part.is-body { left: 138px; top: 98px; width: 6px; height: 54px; background: #ffd56b; }
.hangman-part.is-arm-left { left: 114px; top: 108px; width: 34px; height: 6px; transform: rotate(-30deg); background: #ffd56b; }
.hangman-part.is-arm-right { left: 138px; top: 108px; width: 34px; height: 6px; transform: rotate(30deg); background: #ffd56b; }
.hangman-part.is-leg-left { left: 116px; top: 156px; width: 34px; height: 6px; transform: rotate(42deg); background: #ffd56b; }
.hangman-part.is-leg-right { left: 138px; top: 156px; width: 34px; height: 6px; transform: rotate(-42deg); background: #ffd56b; }
.hangman-part.is-on { opacity: 1; }

.hangman-word {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.hangman-word span {
  min-width: 34px;
  padding: 10px 8px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.05);
  text-align: center;
  font-family: var(--font-title);
  font-size: 1.2rem;
}

.hangman-meta {
  display: grid;
  gap: 8px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.6;
}

.hangman-keyboard {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.hangman-key {
  padding-inline: 0;
}

.hangman-key.is-hit {
  border-color: rgba(138, 248, 201, 0.3);
  background: rgba(138, 248, 201, 0.14);
}

.hangman-key.is-miss {
  border-color: rgba(255, 125, 132, 0.3);
  background: rgba(255, 125, 132, 0.14);
}

@media (max-width: 860px) {
  .hangman-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .hangman-keyboard {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
