/* Phone play has one compact course and one stable shot panel. Desktop is unchanged. */
.mobile-only{display:none}
#mobile-options-dialog .shot-actions{display:flex;justify-content:stretch;gap:8px}
#mobile-options-dialog .shot-actions button{flex:1;min-height:48px;font-size:14px}
#mobile-options-dialog .utility{display:flex;margin-top:16px}
#mobile-options-dialog .aim-details{display:block;margin-top:16px}
#mobile-options-dialog #save-note{display:block;margin-top:14px}
@media(max-width:800px),(max-width:950px) and (hover:none) and (pointer:coarse){
 body:has(#playing:not([hidden])) .masthead,
 body:has(#playing:not([hidden])) .clubhouse,
 body:has(#playing:not([hidden])) footer{display:none}
 body:has(#playing:not([hidden])) main{padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}
 .playing{height:100svh;min-height:610px;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 max(6px,env(safe-area-inset-bottom))}
 .playing .round-heading{flex:none;min-height:52px;padding:4px 0;gap:6px}
 .round-heading>div{flex:1;min-width:0}
 .round-heading h2{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .round-heading .eyebrow{font-size:10px;letter-spacing:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .round-heading>.secondary{min-height:44px;padding:8px;font-size:13px}
 .mobile-only{display:inline-flex;align-items:center;justify-content:center}
 .playing .play-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(190px,1fr) auto;gap:6px}
 .playing .course-panel{display:flex;flex-direction:column;min-height:0;align-self:stretch;border-radius:9px}
 .playing .score-strip{flex:none;padding:3px 4px;min-height:30px;align-items:center}
 .score-strip div{display:flex;align-items:baseline;justify-content:center;gap:5px;min-width:0}
 .score-strip strong{font-size:17px}.score-strip span{font-size:12px}
 .playing .course-wrap,.playing[data-putting=true] .course-wrap{flex:1;height:auto;min-height:100px;max-height:none}
 /* Canvas bitmap dimensions must not determine the flexible course row height. */
 .playing .course-wrap canvas{position:absolute;inset:0;width:100%;height:100%}
 .course-top{top:5px;left:6px;right:6px;align-items:flex-start}
 .course-bottom{bottom:5px;left:6px;right:6px}
 .course-top span,.course-bottom span{font-size:11px;padding:4px 6px;line-height:1.3}
 .course-top span{max-width:60%}.map-button{min-height:44px;padding:6px 8px;font-size:12px}
 .playing .aim-toolbar{flex:none;padding:3px 6px;gap:6px;min-height:52px}
 .aim-toolbar button{min-width:48px;min-height:46px;touch-action:none;user-select:none;-webkit-user-select:none}
 .aim-toolbar output{font-size:12px}.aim-toolbar span{font-size:10px}
 .playing .course-legend{display:none}
 .playing .shot-panel{padding:8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 10px;border-radius:9px}
 .playing .shot-title,.playing .quick-guide,.playing label[for=club],.playing .aim-details,.playing .utility,.playing #save-note{display:none}
 .playing #club,.playing[data-simple-putt=true] #club{grid-column:1;grid-row:1;min-height:44px;padding:6px;font-size:16px}
 .playing .shot-numbers,.playing[data-simple-putt=true] .shot-numbers{grid-column:2;grid-row:1;justify-content:space-around;gap:5px}
 .shot-numbers span{font-size:11px}.shot-numbers strong{font-size:14px}
 .playing .swing-console,.playing[data-simple-putt=true] .putt-controls{grid-column:1/-1;grid-row:2;margin:0;padding:6px 10px}
 .playing .swing-heading{grid-template-columns:24px minmax(0,1fr) 58px;min-height:44px;gap:6px}
 .swing-heading strong{font-size:14px;min-height:44px;line-height:1.25}
 .swing-heading #cancel-swing{min-height:44px}
 .golfer-portrait{width:24px;height:32px}
 .playing .meter-label{margin:0;font-size:12px;line-height:20px}
 .playing .meter-label output{font-size:16px}
 .playing #power-meter{margin:12px 4px 10px}
 .playing .meter-scale{margin:0;font-size:11px;line-height:16px}
 .playing .power-risk{display:none}
 .playing .mobile-risk{display:block;font-size:11px;color:#ffb1a4;line-height:16px;margin:2px 0 0}
 .playing #strike-feedback{font-size:12px;line-height:16px;min-height:32px;margin:4px 0 0}
 .playing #shoot,.playing[data-simple-putt=true] #shoot{grid-row:3;grid-column:1/-1;position:static;min-height:56px;margin:0;font-size:18px;box-shadow:none}
 .playing .status,.playing[data-simple-putt=true] .status{grid-row:4;grid-column:1/-1;font-size:12px;line-height:16px;min-height:32px;margin:0;overflow-wrap:anywhere}
 /* Keep distance, fine adjustment and timing together, with the club above them. */
 .playing .putt-controls{display:grid;grid-template-columns:76px minmax(0,1fr) 76px;column-gap:8px;align-items:center}
 .putt-heading{grid-column:1/-1;grid-row:1;gap:6px}
 .putt-heading label{font-size:14px}.putt-heading output{font-size:20px}
 .playing #putt-pin{grid-column:1/-1;grid-row:2;margin:0;font-size:12px;line-height:16px}
 .playing #putt-power{grid-column:2;grid-row:3;height:44px;min-width:0}
 .putt-adjust{display:contents}.putt-adjust span{display:none}
 .putt-adjust button{min-width:0;min-height:44px;padding:6px;font-size:13px;touch-action:none}
 #putt-less{grid-column:1;grid-row:3}#putt-more{grid-column:3;grid-row:3}
 .putt-strike-head{grid-column:1/-1;grid-row:4;margin:0;min-height:44px}
 .putt-strike-head .small-button{min-height:44px;width:58px;font-size:14px}
 #putt-cancel[hidden]{display:block!important;visibility:hidden;pointer-events:none}
 .playing .putt-strike-meter{grid-column:1/-1;grid-row:5;margin:10px 4px}
 .putt-strike-scale{grid-column:1/-1;grid-row:6;font-size:11px;margin:0;line-height:16px}
 #putt-strike-feedback{grid-column:1/-1;grid-row:7;font-size:12px;line-height:16px;min-height:16px;margin:4px 0 0}
 .playing #putt-hint{display:none}
 .playing .hole-banner{padding:12px;gap:6px}.hole-banner strong{font-size:28px}.hole-banner button{min-height:48px;margin:0}
 .relief-controls{padding:10px}.relief-controls h2{font-size:22px;margin:4px 0}.relief-controls p{font-size:13px;margin:6px 0}.relief-controls label{margin:4px 0}
 .relief-controls select{font-size:16px;min-height:44px;padding:8px}
 dialog{padding:20px;max-height:calc(100svh - 24px);overscroll-behavior:contain}
 #mobile-options-dialog{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
/* Landscape phones keep the course next to the controls; short screens can scroll. */
@media(max-width:800px) and (orientation:landscape),(max-width:950px) and (hover:none) and (pointer:coarse) and (orientation:landscape){
 .playing{height:auto;min-height:100svh}
 .playing .play-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto;align-items:stretch}
 .playing .course-wrap{min-height:190px}
 .playing .shot-panel{align-content:start}
}
