@media(max-width:600px){html{overflow-x:hidden;-webkit-text-size-adjust:100%}body{min-height:100vh;min-height:100dvh}.wrap{width:100%;padding:calc(10px + env(safe-area-inset-top)) 10px calc(22px + env(safe-area-inset-bottom))}.top{display:block;margin-bottom:12px}.brand{align-items:flex-start;gap:9px}.mark{flex:0 0 40px;width:40px;height:40px;border-radius:13px}.brand h1{font-size:18px}.subtitle{font-size:11px}.top>.tools{display:flex;margin-top:10px;gap:6px}.top>.tools button{flex:1 1 auto;min-height:42px;padding:9px 10px;font-size:12px}.layout,.gameGrid{grid-template-columns:minmax(0,1fr);gap:10px}.card{min-width:0;padding:13px;border-radius:16px}.span2{grid-column:auto}.row{align-items:stretch}.field{min-width:min(100%,130px)}.playersInput{grid-template-columns:minmax(0,1fr)}.playersInput button{grid-column:auto;min-height:44px}.roster{grid-template-columns:minmax(0,1fr);gap:7px}.playerTile{grid-template-columns:36px minmax(0,1fr) auto;gap:8px;padding:9px;min-width:0}.playerTile>div:nth-child(2){min-width:0;overflow-wrap:anywhere}.avatar{width:36px;height:36px;border-radius:11px}.tools{gap:7px}.tools button{min-height:42px;max-width:100%;white-space:normal}.gameGrid{margin-top:10px}.gamePlayer{grid-template-columns:36px minmax(0,1fr) auto}.timerHero{padding:14px;border-radius:15px}.timerHero .clock{font-size:clamp(48px,17vw,68px)}.timerHero .stageTitle{font-size:18px}.timerHero .clockLine{align-items:center}.timerActions button{min-height:42px;padding:9px 10px}.stepRail{gap:4px}.stepPill{font-size:9px}.roleRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.roleRow textarea{grid-column:1/-1}.roleRow input,.roleRow select{min-width:0}.eventGroup{padding:10px}.modal{padding:10px}.modalBox{max-height:calc(100dvh - 20px);overflow:auto;padding:16px}#accessParticipantsList .playerTile{grid-template-columns:36px minmax(0,1fr)}#accessParticipantsList .tools{grid-column:1/-1}#accessParticipantsList .tools button{flex:1 1 145px}button{touch-action:manipulation}input,select,textarea{font-size:16px;min-height:44px}textarea{min-height:80px}.foot{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:380px){.wrap{padding-left:7px;padding-right:7px}.card{padding:10px}.top>.tools button{font-size:11px;padding:8px 6px}.timerActions button{flex:1 1 40%}.roleRow{grid-template-columns:1fr}.roleRow textarea,.roleRow select[data-rteam],.roleRow input[data-rcount],.roleRow button{grid-column:1}.clockLine{gap:6px}.timerState{font-size:9px}}
/* Shared safeguards for desktop and touch screens. */
.card,.eventGroup,.playerTile,.playerTile>div,.field{min-width:0}
.pname,.meta,.note,.callout,.roleChip,.event{overflow-wrap:anywhere}
.gamePlayer>[data-remove-current-player]{grid-column:2/-1;justify-self:start;font-size:12px;padding:7px 10px}
.accessParticipant{grid-template-columns:36px minmax(0,1fr)}
.roleDelivery{grid-template-columns:minmax(0,1fr);align-items:start}
#gamePlayers{display:block}
button:focus-visible,summary:focus-visible{outline:2px solid var(--orange,#d6a46c);outline-offset:3px}
.authScreen{min-height:100vh;min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-wrap:anywhere}
.authScreen .box{width:100%;max-width:460px;min-width:0}
.authScreen input,.authScreen button{min-height:44px;font-size:16px}
@media(pointer:coarse){button,summary{touch-action:manipulation}summary{min-height:36px;padding:7px 0}}
@media(max-width:600px){.authScreen .box{padding:22px 18px}.wrap{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.gamePlayer .roleChip{max-width:100%}.stepHead>div{min-width:0}.stepNo{flex-shrink:0}}
