.hangman-page { --hangman-purple: #6354db; --hangman-danger: #d95370; }
body.dark-mode .hangman-header h1, body.dark-mode .hangman-header p { color: #f4f4f8; }
body.dark-mode .hangman-header p { color: #aeb2c3; }
.hangman-container { max-width: 760px; }
.hangman-top-label { color: #6354db; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.hangman-heading-icon { width: 70px; height: 70px; margin: 0 auto 12px; border-radius: 19px; display: inline-flex; align-items: center; justify-content: center; background: #e8e2ff; color: #6354db; font-size: 2.7rem; font-weight: 900; }
.hangman-panel { padding: clamp(18px, 4vw, 30px); }
.hangman-toolbar { display: flex; justify-content: space-between; gap: 12px; color: var(--muted-text, #74798a); font-size: .76rem; font-weight: 800; }
.hangman-toolbar strong { color: var(--text-color, #171a2b); }
.hangman-layout { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(0, 1.2fr); align-items: center; gap: 22px; margin: 20px 0 20px; }
.hangman-drawing { min-width: 0; padding: 10px; border-radius: 18px; background: var(--secondary-bg, #f3f4f6); }
.hangman-drawing svg { display: block; width: 100%; height: auto; max-height: 250px; }
.hangman-drawing line, .hangman-drawing circle { fill: none; stroke: var(--text-color, #171a2b); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.hangman-part { opacity: 0; transition: opacity .25s ease; }
.hangman-part.visible { opacity: 1; }
.hangman-word-area { min-width: 0; text-align: center; }
.hangman-word { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(5px, 1.5vw, 10px); color: var(--text-color, #171a2b); font-size: clamp(1.45rem, 5vw, 2.65rem); font-weight: 900; letter-spacing: .08em; }
.hangman-letter { width: clamp(22px, 8vw, 42px); min-height: 46px; display: inline-flex; align-items: center; justify-content: center; border-bottom: 4px solid #6354db; }
.hangman-message { min-height: 42px; margin: 20px 0 0; color: var(--muted-text, #74798a); font-size: .88rem; font-weight: 800; line-height: 1.45; }
.hangman-keyboard { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; margin: 15px auto 23px; }
.hangman-panel > .game-actions { margin-top: 18px; }
.hangman-key { min-width: 0; min-height: 45px; padding: 4px; border: 0; border-radius: 8px; background: #e9ebf2; color: #292d3d; font-size: .8rem; font-weight: 900; touch-action: manipulation; }
.hangman-key:hover:not(:disabled) { transform: translateY(-1px); }
.hangman-key.correct { background: #2e9b68; color: #fff; }.hangman-key.wrong { background: #d95370; color: #fff; }.hangman-key:disabled { opacity: .48; cursor: not-allowed; }
.hangman-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--border-color, #e5e7eb); text-align: center; }
.hangman-stats strong { display: block; color: var(--text-color, #171a2b); font-size: 1.3rem; }.hangman-stats span { display: block; margin-top: 4px; color: var(--muted-text, #74798a); font-size: .63rem; font-weight: 800; text-transform: uppercase; }
body.dark-mode .hangman-heading-icon { background: #2f2856; color: #b9adff; } body.dark-mode .hangman-key { background: #303442; color: #f4f4f8; }
@media (max-width: 560px) { .hangman-top-label { display: none; } .hangman-layout { grid-template-columns: 1fr; gap: 12px; } .hangman-drawing { width: min(230px, 70vw); margin: 0 auto; } .hangman-drawing svg { max-height: 200px; } .hangman-keyboard { gap: 5px; } .hangman-key { min-height: 42px; font-size: .72rem; } }
@media (max-width: 360px) { .hangman-keyboard { gap: 3px; } .hangman-key { min-height: 38px; font-size: .66rem; } .hangman-stats span { font-size: .55rem; } }
@media (prefers-reduced-motion: reduce) { .hangman-part { transition: none; } }
