/* Same compact type card and prominent letter tile in each playable mode. */
.route-hud.rally-hud{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;z-index:10}
.rally-hud-details{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.route-hud .type-bonus-box{box-sizing:border-box;flex:none;display:grid;grid-template-columns:1fr;justify-items:stretch;align-items:center;gap:4px;width:116px;height:60px!important;padding:7px 8px!important;border:2px solid var(--rally-ink);border-radius:9px;background:var(--rally-cream);color:var(--rally-ink);box-shadow:inset 0 0 0 1px #c9d5bd,0 3px 0 #18354540;text-align:left}
.route-hud .type-bonus-label{display:block!important;margin:0;font:700 10px/1 'Courier New',monospace!important;letter-spacing:1px;color:#596b64}
.route-hud .type-bonus-body{display:flex;align-items:center;gap:6px;min-width:0}
.route-hud .type-bonus-icon{display:grid;place-items:center;flex:none;width:24px;height:24px;margin:0;padding:0;background:none;border:0;transform:none;font:700 19px/1 'Courier New',monospace}
.route-hud .type-bonus-icon .pokemon-type-icon{width:24px;height:24px;transform:none!important;image-rendering:pixelated}
.route-hud .type-bonus-name{font:700 11px/1 'Courier New',monospace;white-space:nowrap}
.rally-next-letter{display:grid;justify-items:center;align-content:center;gap:1px;box-sizing:border-box;flex:none;width:116px;height:60px;border:2px solid var(--rally-ink);border-radius:9px;background:var(--rally-blue);color:#fff;box-shadow:inset 0 0 0 1px #ffffff60,0 3px 0 #18354540}
.rally-letter-caption{font:700 10px/1 'Courier New',monospace;letter-spacing:1px}
.rally-letter-value{font:900 32px/1 'Courier New',monospace;text-shadow:0 2px 0 #08234960}
.rally-score-bar{display:grid;grid-template-columns:32px minmax(0,1fr) max-content minmax(0,1fr) 32px;align-items:center;gap:6px;min-width:0;width:100%;padding:7px 6px;box-sizing:border-box;border:2px solid var(--rally-ink);border-radius:9px;background:var(--rally-cream);color:var(--rally-ink);box-shadow:inset 0 0 0 1px #c9d5bd,0 3px 0 #18354540}
.rally-score-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#dfebd9;overflow:hidden}
.rally-score-avatar canvas{display:block;width:30px;height:30px;image-rendering:pixelated}
.rally-score-avatar .ai-profile{display:grid;place-items:center;width:30px;height:30px;margin:0;font:700 12px/1 'Courier New',monospace}
.rally-player-name{min-width:0;overflow-wrap:anywhere;font:700 11px/1.25 'Courier New',monospace}
.rally-player-name[data-player-name="1"]{text-align:right}
.rally-player-name.current{color:var(--rally-blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.rally-score-points{font:900 21px/1 'Courier New',monospace;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}
#gameScreen .last-box{top:var(--rally-hud-bottom,138px)!important;bottom:auto!important}
#spinAnnouncement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Full-width entry, then aligned Submit and Help controls. */
#spinInputForm .word-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
#spinInputForm .entry-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:7px;margin:0}
#spinInputForm .small-actions{display:contents}
#spinInputForm .word-entry input{width:100%;height:44px;min-width:0}
#spinInputForm .entry-actions .btn{box-sizing:border-box;width:100%;height:44px;min-height:44px;padding:6px;font-size:10px;white-space:nowrap}
#gameScreen,#spinGame{position:relative}
.rally-entry-feedback{position:absolute;left:8px;right:8px;z-index:25;box-sizing:border-box;max-height:min(220px,45%);overflow:auto;padding:9px;border:2px solid var(--rally-ink);border-radius:9px;background:var(--rally-cream);color:var(--rally-ink);box-shadow:0 3px 8px #08234940;font:700 13px/1.4 'Courier New',monospace}
.rally-entry-feedback .suggestion-box{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:0;margin:0;border:0;background:transparent}
.rally-entry-feedback .suggestion-chip{min-height:44px}
.rally-entry-feedback #spinError,.rally-entry-feedback #spinHints{margin:0}
.rally-entry-feedback #spinError:not(:empty):has(+.suggestion-box:not([hidden])){margin-bottom:7px}
