.tandemwort-standard { max-width: 48rem; margin: 2rem auto; padding: 1.5rem; color: #222; }
.tandemwort-standard [hidden] { display: none !important; }
.tandemwort-game-code { font-weight: 700; }
.tandemwort-copy-code { margin-left: .5rem; padding: .3rem .5rem; }
.tandemwort-standard h1, .tandemwort-standard h2 { line-height: 1.25; }
.tandemwort-standard h1 { margin-top: 0; }
.tandemwort-intro, .tandemwort-note { max-width: 42rem; }
.tandemwort-field { margin: 1rem 0; }
.tandemwort-field label, .tandemwort-guesser label { display: block; font-weight: 700; margin-bottom: .35rem; }
.tandemwort-field input, .tandemwort-field select, .tandemwort-guesser input { width: 100%; max-width: 28rem; min-height: 2.8rem; padding: .5rem .65rem; font-size: 1rem; border: 2px solid #333; border-radius: .2rem; box-sizing: border-box; }
.tandemwort-button { display: inline-block; margin: .75rem .5rem .75rem 0; padding: .7rem 1rem; border: 2px solid #222; border-radius: .25rem; background: #222; color: #fff; font-weight: 700; font-size: 1rem; cursor: pointer; }
.tandemwort-button:hover, .tandemwort-button:focus { background: #f28c18; color: #111; }
.tandemwort-button:disabled { opacity: .65; cursor: wait; }
.tandemwort-players { margin: 1rem 0; padding: .75rem 1rem; background: #f5f5f5; border-radius: .35rem; }
.tandemwort-players h2, .tandemwort-score-proposal h2 { margin-top: 0; font-size: 1.1rem; }
.tandemwort-player-list { margin: 0; padding-left: 1.2rem; }
.tandemwort-recipient-list { display: grid; gap: .35rem; margin: .75rem 0; }
.tandemwort-score-proposal { margin: 1rem 0; padding: .75rem 1rem; border: 1px solid #ddd; border-radius: .35rem; }
.tandemwort-proposal-status { display: flex; gap: .5rem; flex-wrap: wrap; }
.tandemwort-term { display: inline-block; padding: 1rem 1.25rem; background: #f3f3f3; border-left: .35rem solid #f28c18; font-size: 1.5rem; font-weight: 700; }
.tandemwort-role { margin: 1.5rem 0; }
.tandemwort-score { font-weight: 700; }
.tandemwort-note { margin-top: 2rem; font-size: .9rem; color: #555; }
