.game-choices .piano-choice{grid-column:auto;max-width:none}
.hangman-choice{border-color:#e3c994;background:linear-gradient(145deg,#fffefa,#fff2d5);box-shadow:0 7px 0 #e3c99460}
.hangman-choice:hover{box-shadow:0 12px 0 #e3c99460}
.hangman-choice strong,.hangman-choice .choice-link{color:#866027}
.showing-hangman .mobile-notice{display:none}
.hangman-screen{max-width:850px;margin:auto;padding:8px 0 20px}
.hangman-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}
.hangman-badge{font-size:12px;color:#866027;padding:9px 15px;background:#fffbef;border:1px solid #e3d5b7;border-radius:24px}
.hangman-screen h1{font-size:clamp(34px,5vw,52px);letter-spacing:-1.7px}
.hangman-screen h1 span{color:#946d2e}
#hangman-title:focus{outline:none}
.hangman-intro{font-size:15px;color:#637582;line-height:1.7;margin:16px 0 24px}
.hangman-category-picker{margin:0 auto 24px;max-width:760px}
.hangman-category-picker p{font-size:14px;font-weight:bold;color:#526e65;margin:0 0 12px}
.hangman-categories{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.hangman-category-button{min-height:44px;padding:10px 15px;border:1px solid #d4ded5;border-radius:22px;background:#fffdf7;color:#526e65;font-size:13px;line-height:1.4}
.hangman-category-button:hover{background:#fff1d3;border-color:#c2a66a}
.hangman-category-button[aria-pressed="true"]{background:#f9e7b8;border:2px solid #997731;padding:9px 14px;color:#684c20;font-weight:bold}
.hangman-board{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;background:#fffdf7;border:1px solid #e5dcc8;border-radius:25px;padding:24px 30px;box-shadow:0 8px 0 #e5dcc830}
.hangman-drawing{width:170px;height:185px;fill:none;stroke:#677f82;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.hangman-frame{stroke:#cbb98e;stroke-width:5}
.hangman-part{opacity:0;transition:opacity .2s}
.hangman-part.visible{opacity:1}
.hangman-attempts{font-size:13px;font-weight:bold;color:#67777c;margin:5px 0 10px}
.hangman-lives{display:flex;justify-content:center;gap:7px}
.hangman-lives span{width:11px;height:11px;border:1px solid #997731;background:#edc977;border-radius:50%}
.hangman-lives span.used{background:#fff;border-color:#acb9b8}
.hangman-puzzle{min-width:0}
.hangman-category{text-transform:uppercase;font-size:11px;letter-spacing:2px;color:#866027;font-weight:bold}
.hangman-clue{font-size:20px;line-height:1.5;margin:14px 0 23px;color:#435e67}
.hangman-word{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 20px}
.hangman-word-group{display:flex;justify-content:center;gap:7px;max-width:100%}
.hangman-letter{display:grid;place-items:center;width:43px;height:52px;border-bottom:3px solid #cbb98e;border-radius:8px 8px 2px 2px;background:#f8f1e2;font-size:27px;font-weight:bold;color:#386b59}
.hangman-letter.revealed{color:#92613d;background:#faeddf}
.hangman-status{font-size:14px;line-height:1.6;min-height:68px;margin:19px 0 0;color:#526e65}
.hangman-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hangman-screen[data-state="won"] .hangman-letter{background:#e4f1d9;border-color:#83a970}
.hangman-keyboard{margin:26px auto 0;max-width:600px}
.hangman-key-row{display:flex;justify-content:center;gap:7px;margin:7px 0}
.hangman-key{position:relative;width:48px;min-width:0;height:48px;border:1px solid #cbd8d2;border-bottom-width:3px;border-radius:9px;background:#fffefb;color:#46616a;font-size:18px;font-weight:bold;touch-action:manipulation}
.hangman-key:hover:not([aria-disabled="true"]){background:#fff0c4;border-color:#a98949}
.hangman-key.correct{background:#dbeedb;border-color:#8dab87;color:#365c39}
.hangman-key.incorrect{background:#ede9e2;border-color:#c9c3b9;color:#686158}
.hangman-key.correct:after,.hangman-key.incorrect:after{position:absolute;right:3px;top:0;font-size:11px;content:"✓"}
.hangman-key.incorrect:after{content:"×"}
.hangman-key[aria-disabled="true"]{cursor:default}
.hangman-key-legend,.hangman-note{font-size:12px;line-height:1.6;color:#64777c;margin:14px 0 20px}
.hangman-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px}
.hangman-actions .primary-button{font-size:16px;min-height:46px;padding:12px 24px}
.hangman-actions .quiet-button{min-height:46px}
.hangman-actions button:disabled{opacity:.6;cursor:default}
.hangman-celebration{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden}
.hangman-celebration span{position:absolute;left:var(--left);bottom:4%;font-size:clamp(28px,4vw,48px);opacity:0;animation:hangman-celebrate 3s var(--delay) ease-out both}
@keyframes hangman-celebrate{
  0%{opacity:0;transform:translate(-50%,30px) scale(.5)}
  12%{opacity:1}
  70%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-75vh) rotate(var(--turn)) scale(1.15)}
}
@media(max-width:600px){
  .hangman-toolbar{margin-bottom:20px}.hangman-badge{font-size:11px;padding:8px 10px}
  .hangman-intro{font-size:13px}.hangman-board{grid-template-columns:1fr;gap:10px;padding:16px 12px}
  .hangman-sketch{display:grid;grid-template-columns:120px 1fr;align-items:center;max-width:280px;width:100%;margin:auto}
  .hangman-drawing{width:110px;height:115px;grid-row:1/3}.hangman-attempts{align-self:end;margin-bottom:12px}.hangman-lives{align-self:start}
  .hangman-category{margin:5px 0}.hangman-clue{font-size:17px;margin:10px 0 16px}
  .hangman-word{gap:12px 16px}.hangman-word-group{gap:5px}.hangman-letter{width:33px;height:42px;font-size:23px}
  .hangman-status{min-height:48px;margin-top:14px;font-size:13px}
  .hangman-keyboard{margin-top:20px}.hangman-key-row{gap:4px}.hangman-key{width:9%;height:44px;font-size:15px;padding:0}
  .hangman-key.correct:after,.hangman-key.incorrect:after{font-size:9px;right:1px}
}
@media(prefers-reduced-motion:reduce){.hangman-part{transition:none}.hangman-celebration span{animation:none;opacity:1;bottom:var(--row);transform:translateX(-50%)}}
