/* Consistent action typography: label and arrow form one centered group. */
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-align:center;text-transform:uppercase;font-weight:800;letter-spacing:.035em;line-height:1.2}
.button>span{display:inline-block;font-size:inherit;font-weight:inherit;line-height:1.2;flex-shrink:0}
.button>span:last-child:not(.cta-label){font-size:1.35em;line-height:1}
.header .beta-cta,.hero-actions .beta-cta,.ad-final-copy .beta-cta{gap:12px;padding-inline:24px}
.button.beta-cta .cta-arrow{position:static;inset:auto;transform:none;font-size:1.35em;line-height:1;margin:0}
#beta-submit{gap:12px;min-height:56px;font-size:13px;font-weight:800;line-height:1.2;padding:16px 20px;justify-content:center;text-align:center}
#beta-submit>span{font-size:18px;line-height:1;margin:0;position:static;transform:none}
.sport-choice{font-weight:750;text-transform:uppercase;letter-spacing:.025em;text-align:center;align-items:center;justify-content:center}
.party button,#sample-payment,.sample-download{font-weight:750;text-transform:uppercase;letter-spacing:.025em;text-align:center}
.signup-copy h2{line-height:1.06}
.signup-copy h2 .next-move{display:block;color:var(--orange);font-weight:850;font-size:1.28em;line-height:1.02;letter-spacing:-.05em;margin-top:8px}
@media(max-width:760px){.button{gap:10px}.header .beta-cta{gap:9px;padding-inline:17px}.hero-actions .beta-cta{gap:12px;padding-inline:24px}#beta-submit{font-size:12px;min-height:53px}.signup-copy h2 .next-move{font-size:1.24em}.sport-choice{font-size:10px!important}}

/* Comfortable touch controls and readable input text without iPhone focus zoom. */
.demo-chapters button,.demo-play,.matching-controls button,#close-screen,.dialog-close{min-height:44px}
#close-screen,.dialog-close{min-width:44px}
textarea:focus-visible{outline:3px solid #7763ae;outline-offset:5px}
@media(max-width:1024px){
 .signup-card input:not([type=checkbox]),.signup-card select,#plan-form input,#game-radius,#split-players,#sport-feedback-form input:not(.trap input),#sport-feedback-form textarea{font-size:16px}
}
@media(max-width:420px){#plan-form .form-grid{grid-template-columns:1fr}}
