/* Game iOS/Safari 10 + μεγάλα γράμματα για κινητό/tablet. Φορτώνεται ΜΕΤΑ το game.css. Χωρίς clamp(), flex gap, aspect-ratio. */
button,.tab,.lane button,.primary,.quiet{touch-action:manipulation;-webkit-tap-highlight-color:rgba(215,255,85,.25);-webkit-appearance:none}
body{-webkit-text-size-adjust:100%}
.grid,.cols,.form,.roster,.leader,.athlete,.lane,.game-card-grid,.game-metrics,.game-card-top,.options{grid-gap:12px}
.game-head,.tablet-tabs,.tablet-controls,.score-actions,.game-progress,.game-tv-head{display:-webkit-flex;display:flex}
.tablet-tabs button{margin-right:8px}.tablet-controls button,.score-actions button{margin:0 9px 9px 0}
.game-metrics span b{margin-right:6px}.game-progress span{margin-left:8px}
/* Tablet / κινητό: μεγάλα γράμματα, κουμπιά που χωράνε όλα */
.tablet-clock{font-size:64px}
.tablet-controls button{font-size:24px;padding:18px 22px;min-height:64px}
.tab{font-size:22px;padding:16px 26px;min-height:60px}
.lane{grid-template-columns:minmax(150px,1fr) minmax(70px,.5fr) auto;padding:14px;font-size:22px}
.lane b{font-size:26px}.lane small{font-size:20px;color:#cfe0ea}
.score-actions button{font-size:26px;padding:16px 20px;min-height:68px;min-width:104px}
.lane .bar{height:14px}
@media(max-width:760px){
  .lane{grid-template-columns:1fr;grid-gap:10px}
  .score-actions{width:100%}.score-actions button{-webkit-flex:1;flex:1;font-size:24px;padding:14px 8px;min-width:0}
  .tablet-clock{font-size:44px}
}
/* Σελίδα μέλους στο κινητό (set point): ΜΕΓΑΛΑ ρολόι + score */
#game-clock{font-size:34px;font-weight:900;margin:6px 0}
#game-target{font-size:44px;font-weight:900;line-height:1.1;color:#d7ff55;margin:6px 0 14px}
#game-actions{display:-webkit-flex;display:flex}
#game-actions button{-webkit-flex:1;flex:1;font-size:30px;font-weight:900;padding:20px 8px;min-height:84px;margin-right:10px;touch-action:manipulation}
#game-actions button:last-child{margin-right:0}
#game-message{font-size:18px}
/* TV: ΠΑΛΜΟΙ ορατοί και μεγάλοι (ένδειξη έντασης, δεν επηρεάζουν score) */
.game-metrics b{font-size:30px}.game-metrics small{font-size:12px}
.game-metrics .hr b{color:#ff6b57}.game-metrics .hr.hr-live b{color:#ff6b57;text-shadow:0 0 12px #ff6b5766}
.game-progress strong{font-size:40px;white-space:nowrap}@media(min-width:1200px){.game-progress strong{font-size:56px}}.game-metrics{grid-template-columns:1fr 1fr}.game-metrics span{display:block}.game-metrics span small{display:block;margin-top:2px}
/* Coach */
.athlete{grid-template-columns:minmax(150px,1fr) 118px 96px}
.athlete input,.form input,.form select{font-size:20px;padding:14px}
.form .primary,.form .quiet{font-size:22px;padding:18px}
/* member: flex gap fallback (Safari 10) */
.form-grid label>*+*,.inline>*+*{margin-top:6px}.existing-member-form>*+*{margin-left:8px}.divider>*+*{margin-left:10px}
#game-actions{-webkit-flex-direction:row;flex-direction:row}#game-actions>*+*{margin-top:0}
.card,.grid>*,label{min-width:0}
input,select{width:100%;min-width:0;max-width:100%}
.athlete input[type=checkbox]{width:26px;height:26px}
@media(max-width:1100px){.grid{grid-template-columns:1fr}.cols{grid-template-columns:1fr 1fr}.athlete{grid-template-columns:minmax(0,1fr) 110px 90px}}
.athlete b{font-size:22px}.athlete span{font-size:22px}
#game-actions button.tap{-webkit-transform:scale(.96);transform:scale(.96);filter:brightness(1.3)}
#game-actions button:disabled{opacity:.35}
