/* Calm mobile-first match entry, separate from family viewing. */
html{scroll-behavior:smooth;scroll-padding-top:170px}
body[data-current-page="match"] .titlebar>div>p,body[data-current-page="familyhome"] .titlebar>div>p,body[data-current-page="match"] .content>.notice,body[data-current-page="familyhome"] .content>.notice{display:none}
body[data-current-page="match"] .footer{display:none}
#match{max-width:960px;margin:18px auto 0;padding-bottom:90px}
#match>.row{margin-bottom:12px!important;align-items:center}
#match>.row>h2{font-size:18px;line-height:1.35}
.match-change{margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.match-change>summary{cursor:pointer;padding:14px 16px;font-size:13px;font-weight:600;color:#44625c}
.match-change .matchselect{border:0;margin:0!important;padding:4px 16px 16px}
.match-change label{flex:1;min-width:180px}
.match-change select{width:100%}
#coach-score{position:sticky;top:8px;z-index:15;box-shadow:0 6px 22px #163c3710;background:#fff;scroll-margin-top:12px}
#coach-score>.pad.row{padding:12px 18px 0}
#coach-score .score{padding:6px 12px;justify-content:center;gap:30px}
#coach-score .crest{display:none}
#coach-score .team{width:120px;min-width:0}
#coach-score .team>b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#coach-score .number{font-size:36px;line-height:1.2;margin-top:2px}
#coach-score .versus{font-size:10px;line-height:1.15}
#coach-score .versus br{display:none}
#coach-score .scorebtns{padding:4px 14px 10px;gap:10px}
#coach-score .scorebtns button{min-height:48px;font-size:15px;border-radius:11px}
#coach-score>.pad.coach{display:none}
#coach-stats,#coach-court{margin-top:18px!important;scroll-margin-top:202px;padding:22px}
#coach-stats>.row{align-items:flex-start;gap:8px}
#coach-stats .statcats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#coach-stats .statcats button{min-height:66px;background:#f5f8f6;font-size:15px;border-radius:12px}
#coach-stats .statcats button:last-child{grid-column:auto;color:#a34236;background:#fff4ef;border-color:#eedbd5}
#coach-stats .outcomes button,#coach-stats .pickgrid button{min-height:58px;border-radius:11px}
#coach-stats .pickgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#coach-stats .pickgrid b{font-size:14px;line-height:1.4}
#coach-stats .outcomes button{flex-wrap:wrap;gap:5px}
#coach-stats .outcomes small{margin:0;font-size:12px}
#coach-stats .stattools .btn{min-height:44px}
#coach-court>.legend{display:none}
#coach-court .courtplayer{min-height:102px}
#coach-court .courtposition{font-size:9px}
#coach-court .stattools{display:grid;grid-template-columns:1fr 1fr}
#coach-court .stattools .btn{min-height:48px;padding:10px}
.coach-jump{position:fixed;bottom:16px;left:calc(50% + 112px);transform:translateX(-50%);width:min(480px,calc(100% - 270px));display:flex;padding:6px;gap:5px;background:#143e38;border:1px solid #ffffff20;border-radius:16px;box-shadow:0 8px 30px #163c3730;z-index:25}
.coach-jump button{flex:1;min-height:48px;border:0;border-radius:11px;background:transparent;color:#d4e9e2;font-weight:600;font-size:14px;white-space:nowrap}
.coach-jump button.active{background:#fff;color:#125c50}
#toast{bottom:94px;z-index:45;max-width:calc(100% - 30px);width:max-content}
#familyhome{margin-top:22px}
.family-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.family-intro h2{font-size:26px;margin-top:7px}.family-intro p{margin:7px 0 0;font-size:14px}
.tournament-picker>label{font-size:13px;font-weight:700;display:block;margin-bottom:8px}
#family-tourney{width:100%;font-size:16px;min-height:48px}
#family-matches{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:7px}
.family-match{flex:0 0 220px;display:flex;flex-direction:column;align-items:start;gap:7px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f7f9f7;color:var(--ink);scroll-snap-align:start}
.family-match.selected{border:2px solid #008e7b;background:#edf8f1;padding:15px}.family-match b{font-size:15px}.family-match small{font-size:11px;color:var(--muted)}
#family-matchcontent{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.family-scoreline{display:flex;align-items:center;justify-content:space-around;gap:16px;margin-top:24px;text-align:center}
.family-scoreline>div{flex:1;min-width:0}.family-scoreline b{font-size:13px;overflow-wrap:anywhere}.family-scoreline strong{display:block;font:600 48px 'Space Grotesk';margin-top:8px}.family-scoreline>span{font-size:12px;color:var(--muted);white-space:nowrap}
.family-score>p{text-align:center;margin-bottom:0}.family-video{display:flex;flex-direction:column;justify-content:center;background:#eaf2ee;min-height:210px}.family-video h2{margin-top:12px}.family-video p{font-size:14px;max-width:380px;margin-bottom:0}
.family-results{grid-column:1/-1;margin-top:6px}.family-results .tabs{gap:0;justify-content:space-between;margin-top:12px}.family-results .tabs button{flex:1;font-size:13px;padding:15px 6px;min-height:48px}.family-results #details{margin-top:12px!important}
nav button[data-page="camera"]{display:none!important}
@media(min-width:1001px){#coach-stats .pickgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.coach-jump{left:calc(50% + 90px);width:min(480px,calc(100% - 220px))}}
@media(max-width:650px){
 aside{padding:14px 16px 9px}aside>.brand{font-size:24px}aside nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;margin-top:12px;padding-bottom:4px;-webkit-overflow-scrolling:touch}aside nav button{flex:0 0 auto;white-space:nowrap;min-height:44px;padding:10px 13px;font-size:13px;margin:0}
 header{padding:10px 16px;gap:10px}header>span{font-size:12px}#accountlabel{font-size:12px;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px}
 .content{padding:16px 12px}.titlebar{align-items:center;flex-wrap:nowrap;gap:10px}.titlebar .eyebrow{font-size:9px}h1{font-size:24px;margin:5px 0}.titlebar #export{font-size:11px;padding:10px;min-height:44px;white-space:nowrap}
 #cloudstatus{font-size:11px;margin-top:6px!important}#match{margin-top:16px}#match>.row{gap:8px}#match>.row>h2{font-size:16px}.badge{font-size:9px;letter-spacing:.3px}
 #coach-score{top:6px}#coach-score .score{gap:16px}#coach-score .scorebtns button{min-height:48px}#coach-stats,#coach-court{padding:16px;scroll-margin-top:198px}#coach-stats h2,#coach-court h2{font-size:19px}#coach-stats>.row>.small{font-size:10px;max-width:96px;text-align:right}
 #coach-stats .statcats{gap:8px}#coach-stats .statcats button{font-size:14px;min-height:64px;padding:10px 5px}#coach-stats .pickgrid{gap:8px}#coach-stats .pickgrid button{padding:12px 8px}
 #coach-court .courtplayer{min-height:96px;padding:8px 3px}#coach-court .courtposition{font-size:8px}#coach-court .courtplayer b{font-size:11px}.rotationcourt{gap:5px;padding:10px 5px}
 .coach-jump{left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:480px}.coach-jump button{min-height:46px}
 .family-intro{align-items:flex-start;flex-direction:column;gap:12px}.family-intro h2{font-size:24px}.family-intro .btn{font-size:13px}.tournament-picker{padding:16px}.family-match{flex-basis:200px}#family-matchcontent{grid-template-columns:1fr;gap:14px}.family-results{grid-column:auto}.family-score,.family-video{padding:18px}.family-score h2{font-size:19px}.family-results>.row{gap:8px}.family-results>.row>.small{font-size:10px}.family-results #details{padding:16px}
 .accountpanel>.card{padding:18px}.authbox input,.accountpanel input,select,input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#coach-score #undo{min-height:44px;padding:8px 12px;font-size:12px}#coach-score #undo:disabled{opacity:.4;cursor:default}
