/* Phone layout only. Desktop composition and chart geometry are unchanged. */
@media screen and (max-width:760px), screen and (max-width:1024px) and (max-height:500px) and (pointer:coarse){
 html{scroll-padding-top:72px}
 body{font-size:16px;-webkit-text-size-adjust:100%}
 .main{padding:0 max(12px,env(safe-area-inset-right)) 20px max(12px,env(safe-area-inset-left));min-width:0}
 .main>.topbar{position:sticky;top:0;z-index:35;min-height:60px;padding:6px 0;background:#f1f3edfa;gap:8px}
 .sidebar{z-index:90}
 .menu-backdrop{z-index:80}
 .sidebar .mobile-sidebar-close{min-height:44px}
 .content textarea{min-height:128px!important;line-height:1.55;resize:vertical}
 .topbar .mobile-brand{max-width:200px;height:48px}
 .topbar .mobile-brand .flightlab-lockup{height:48px;min-height:0}
 .topbar .flightlab-wordmark{font-size:16px;line-height:1.2}
 .topbar .mobile-brand .flightlab-wordmark small{font-size:9px;margin-top:3px}
 .content>.r-module-return a{min-height:30px}
 .topbar :is(.mobile-menu,.notebook-link){min-width:44px;min-height:44px}
 .content>.r-module-return{min-height:34px;padding:4px 0;margin:0 0 8px;font-size:11px}
 .content>.learn-context{margin:0 0 14px}
 .learn-step-nav a{min-height:48px;padding:5px 3px;gap:3px;font-size:11px}
 .learn-stage-context{padding:6px 0 0;min-height:0;margin:0;gap:0}
 .learn-stage-context>span{display:none}
 .learn-stage-tabs{width:100%}
 .learn-stage-context .learn-stage-tabs a{min-height:44px;padding:9px 12px;font-size:14px}
 .content :is(.compact-title,.page-head,.independent-heading){display:block;margin:0 0 14px;padding:0}
 .content :is(.compact-title,.page-head,.independent-heading,.movement-header,.correction-route-hero) h1{font-size:28px;line-height:1.16;margin:0 0 10px}
 .content :is(.compact-title,.page-head,.independent-heading) p{font-size:15px;line-height:1.5;margin:6px 0}
 .compact-title>span{font-size:13px}
 .content :is(section,article,aside,figure,fieldset){min-width:0}
 .content :is(p,dd,li){overflow-wrap:break-word}
 .content :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:44px;max-width:100%;box-sizing:border-box}
 .content input[type=range]{height:44px;min-height:44px;width:100%;max-width:100%;margin-block:3px;touch-action:pan-y}
 .content :is(button,.btn){min-height:44px;white-space:normal;line-height:1.35;touch-action:manipulation}
 .content summary{min-height:44px;box-sizing:border-box;line-height:1.5}
 .content :is(.independent-controls,.independent-result,.club-adjustments,.club-orientation-panel,.club-flight-panel,.glossary-detail,.notebook-topic-picker,.notebook-observation-editor){scroll-margin-top:72px}
 .content .body-section-nav{display:flex;gap:6px;overflow-x:auto;padding:4px;margin-bottom:14px;scrollbar-width:thin;overscroll-behavior-x:contain}
 .content .body-section-nav button{flex:1 0 110px;min-height:48px;padding:8px 10px;font-size:13px;text-align:center}
 .content .body-section-nav strong{font-size:13px;line-height:1.3}
 .content .body-section-nav small{display:none}
 .learning-journey-footer,.learning-journey-footer:has(.practice-reset){position:static;box-shadow:none;backdrop-filter:none;margin-top:22px;padding:14px 0;gap:10px}
 .mobile-workspace-jumps{display:flex;position:sticky;top:60px;z-index:24;padding:6px;background:#f1f3edf5;border:1px solid #d2dccb;border-radius:10px;gap:6px;margin-bottom:12px}
 .mobile-workspace-jumps button{flex:1;border:0;border-radius:7px;background:#fffefa;color:#264b3d;font:650 14px var(--studio-font);padding:8px}
 .mobile-workspace-jumps button:last-child{background:#294b3d;color:#fffefa}
 .mobile-workspace-jumps+* :is(.independent-controls,.independent-result,.club-adjustments,.club-flight-panel,.simulator-adjustments,.simulator-flights){scroll-margin-top:54px}
 .compact-page :is(.independent-workspace,.ball-workspace),.club-visual-workspace,.simulator-workspace{gap:14px}
 .compact-page .ball-workspace :is(.independent-controls,.independent-result),.club-visual-workspace>section{padding:14px;border-radius:12px}
 .ball-control-rail{gap:10px}
 .ball-control-rail .flight-model-selector.flight-modes271{padding:12px}
 .ball-control-rail .flight-mode-intro{margin-bottom:8px}
 .ball-control-rail .flight-mode-intro>small{display:none}
 .ball-control-rail .flight-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .ball-control-rail .flight-mode-options>button{padding:10px;min-height:78px}
 .ball-control-rail .flight-mode-options>button>strong{font-size:14px}
 .ball-control-rail .flight-mode-options>button>small{font-size:12px;line-height:1.4}
 .flight-mode-note{font-size:12px!important;line-height:1.5;margin:10px 0 0}
 .independent-facts,.club-vector-readings,.delivery-pose-readings{gap:7px}
 .independent-facts>div{min-width:0;padding:11px}
 .independent-facts b{font-size:25px;line-height:1.2}
 .metric-inputs{gap:8px;min-width:0}
 .content .metric-inputs input[type=number]{width:84px;flex-basis:84px}
 .content .chart-expand{min-width:44px;min-height:44px;padding:8px}
 .compact-plot .precision-chart{padding:10px!important}
 .ball-workspace .compact-plot .portrait-flight .chart-canvas{width:min(100%,230px)}
 .compact-plot .chart-axis-bottom{font-size:12px;gap:6px;margin:8px 0 12px}
 .compact-plot .chart-meta{gap:8px;flex-wrap:wrap}
 .compact-page .compact-extras{margin:14px 0;gap:10px}
 .compact-page .compact-extras>details{padding-inline:12px}
 .compact-page .compact-extras summary{font-size:14px}
 .content .spin-axis-visual{max-width:100%}
 .r-header,.r-wrap{padding-inline:16px}
 .r-header{gap:12px;padding-block:14px}
 .r-nav{gap:8px;flex-wrap:wrap}
 .r-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
 .learn-hero{gap:20px;padding-block:24px}
 .learn-hero h1{font-size:36px;line-height:1.12}
 .learn-method{padding:20px}
 .learn-home-route,.learn-objectives{padding-block:22px}
 .learn-lesson{padding:18px 14px;gap:12px}
 .learn-lesson h2{font-size:25px}
 .learn-lesson p,.phase-intro-page p{font-size:15px;line-height:1.6}
 .learn-lesson .r-actions{display:flex;flex-wrap:wrap;gap:8px}
 .learn-lesson .r-actions>a{min-height:44px;flex:1;text-align:center;justify-content:center}
 .phase-intro-card{padding:18px 16px;border-radius:14px}
 .phase-intro-layout,.phase-intro-body-layout{gap:18px}
 .phase-intro-card h1{font-size:30px;line-height:1.18}
 .movement-header{gap:16px;padding-bottom:16px}
 .movement-header p{font-size:15px;line-height:1.6}
 .movement-page .physics-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
 .physics-chapters button{padding:12px;min-height:70px;gap:10px;border-radius:10px}
 .physics-chapters strong{font-size:14px}
 .physics-chapters small{font-size:12px}
 .physics-chapters button>span{font-size:19px}
 .swing-timeline-intro{gap:12px;margin:18px 0 14px}
 .swing-timeline-intro h2{font-size:27px;margin-top:0}
 .swing-timeline-count{display:none}
 .swing-position-nav{overflow-x:auto;overscroll-behavior-x:contain;padding:5px 0;scrollbar-width:thin}
 .swing-position-nav ol{display:flex;width:max-content;gap:4px}
 .swing-position-nav li{width:76px;flex:0 0 76px}
 .swing-position-nav button{min-height:90px;gap:7px;padding:5px}
 .swing-position-nav b{width:44px;height:44px}
 .swing-position-nav span{font-size:12px}
 .swing-position-panel{border-radius:12px}
 .swing-position-header{padding:20px 16px;gap:16px}
 .swing-position-number{font-size:48px}
 .swing-position-header h3{font-size:21px}
 .swing-position-focus{padding:14px 16px;font-size:15px}
 .swing-physics-grid{display:block;padding:0 16px}
 .swing-physics-grid>section,.swing-physics-grid>section:nth-child(even){padding:18px 0;border-left:0;border-top:1px solid #d8dfd1}
 .swing-physics-grid p{font-size:15px;line-height:1.65}
 .swing-position-observe,.swing-position-topics{margin-inline:16px}
 .swing-position-footer{padding:14px 16px;gap:10px}
 .swing-position-footer button{padding:8px 12px;font-size:14px}
 .physics-classroom>header,.classroom-location,.classroom-example{padding:20px 16px}
 .physics-classroom h2{font-size:28px}
 .physics-classroom .classroom-definition{font-size:16px;line-height:1.6}
 .classroom-figure{padding:0 8px 16px}
 .classroom-photo-canvas img{height:auto;object-fit:contain}
 .observation-desk .body-phase-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:12px}
 .observation-desk .body-phase-tabs button{flex:0 0 auto;min-width:94px;min-height:44px;padding:9px 12px}
 .observation-desk .observation-heading{padding:16px 0}
 .observation-desk .observation-heading h2{font-size:26px}
 .observation-point>summary,.observation-library>summary,.observation-photo>summary{padding:14px 12px}
 .observation-point-body{padding:4px 14px 18px}
 .correction-route-hero{gap:16px;padding:10px 0 20px}
 .correction-route-hero h1{font-size:30px!important}
 .correction-route-step>summary{min-height:72px;padding:16px 14px;gap:12px}
 .correction-route-step-title>strong{font-size:16px}
 .correction-route-content,.correction-priority{padding:16px}
 .correction-route p{font-size:15px;line-height:1.6}
 .notebook-heading{padding:18px 0;gap:14px}
 .notebook-heading h1{font-size:32px}
 .notebook-layout{gap:20px}
 .notebook-chapter>summary,.notebook-chapter[open]>summary{padding:14px;min-height:64px}
 .notebook-chapter-body{padding:4px 14px 18px}
 .notebook-chapter-body textarea{min-height:170px;line-height:1.6}
 .notebook-topic-picker,.notebook-observation-editor,.notebook-empty{padding:16px}
 .glossary-page .glossary-mobile-picker{padding:14px;margin-bottom:14px}
 .glossary-detail-head,.glossary-definition,.glossary-detail-grid{padding:16px}
 .glossary-chart{padding:8px}
 .report-head,.report-grid article,.report-priority>div,.measurement-protocol-head,.measurement-protocol-grid article{padding:16px}
 .talk-intro,.talk-speaker,.talk-outcomes article{padding:20px 16px}
 .talk-topbar,.talk-footer{gap:14px;flex-wrap:wrap}
 .content table{font-size:14px}
 .content :is(.matrix-wrap,.ground-speed-sensitivity){overflow-x:auto;overscroll-behavior-x:contain}

 /* An unobstructed model followed immediately by its controls. */
 .content:has(.delivery-lab) .compact-title :is(p,span){display:none}
 .content .club-teaching-nav{flex-wrap:nowrap;gap:6px;margin-bottom:16px;overflow-x:auto}
 .content .club-teaching-nav button{flex:1 0 85px;padding:8px;font-size:12px;min-height:48px}
 .content .impact-teaching-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}
 .content .impact-teaching-nav button{padding:9px;min-height:62px}
 .content .impact-teaching-nav strong{font-size:13px}
 .content .impact-teaching-nav button span{display:none}
 .delivery-lab{border:0;border-radius:12px;overflow:visible}
 .delivery-lab>header{display:none}
 .delivery-lab>.delivery-workspace{display:block;padding:0;border:0}
 .delivery-lab .delivery-visual{display:block;min-width:0}
 .delivery-lab .club-3d-stage{border:1px solid var(--scene-border);border-radius:12px;background:var(--scene-bg);color:var(--scene-text);overflow:hidden}
 .mobile-scene-heading{display:flex;align-items:center;gap:6px;padding:9px 10px;border-bottom:1px solid var(--scene-border)}
 .mobile-scene-heading strong{flex:1;font-size:10px;letter-spacing:.035em;line-height:1.4}
 .mobile-scene-heading .pose-theme-toggle{width:40px;height:40px;min-width:40px;min-height:40px;padding:10px}
 .mobile-scene-heading .pose-theme-toggle svg{width:18px;height:18px}
 .mobile-scene-expand{border:1px solid var(--scene-border);border-radius:8px;background:var(--scene-label);color:var(--scene-text);font:650 13px var(--studio-font);padding:9px 12px}
 .delivery-lab .pose-toolbar{padding:6px;min-height:0;border-bottom:1px solid var(--scene-border)}
 .delivery-lab .pose-toolbar .lie-hand-toggle{display:flex;flex-wrap:nowrap;overflow-x:auto;width:100%;gap:5px;scrollbar-width:thin}
 .delivery-lab .pose-toolbar button{flex:0 0 auto;padding:8px 12px;min-height:44px;white-space:nowrap;font-size:13px;background:var(--scene-label);color:var(--scene-text);border-color:var(--scene-border)}
 .delivery-lab .pose-toolbar button[aria-pressed=true]{background:var(--scene-target);color:var(--scene-bg)}
 .delivery-lab .club-3d-viewport{display:block}
 .delivery-lab .club-3d-scene,.delivery-lab .is-flight .club-3d-scene{display:grid;grid-template-columns:minmax(0,1fr) auto;position:relative;height:auto;min-height:0;gap:0;background:var(--scene-bg)}
 .delivery-lab .club-3d-canvas,.delivery-lab .is-flight .club-3d-canvas{position:static;inset:auto;display:block;grid-column:1/-1;width:100%;height:clamp(290px,44svh,410px);min-height:0;touch-action:none}
 .delivery-lab .pose-stage-flight{position:static;inset:auto;align-self:center;justify-self:start;margin:7px 8px;min-height:44px;font-size:13px;padding:9px 12px;max-width:100%;border-radius:8px}
 .delivery-lab .pose-stage-zoom{position:static;inset:auto;display:flex;align-self:center;margin:7px 8px 7px 0;border-radius:8px}
 .delivery-lab .pose-stage-zoom button{min-width:44px;width:44px;height:44px;min-height:44px;font-size:25px;padding:4px}
 .delivery-lab .ground-scene-label{display:none}
 .delivery-lab .pose-flight-unavailable{position:static;grid-column:1/-1;margin:0 10px 10px;font-size:13px}
 .delivery-lab .pose-scene-toolbar{display:block;padding:8px 12px;border-bottom:0}
 .delivery-lab .pose-scene-toolbar>span{display:none}
 .delivery-lab .pose-header-transport label{font-size:12px;line-height:1.3}
 .delivery-lab .pose-header-transport input[type=range]{height:34px;min-height:34px;margin:0}
 .delivery-lab .pose-transport-buttons{gap:10px}
 .delivery-lab .pose-transport-buttons button{width:48px;height:44px}
 .mobile-scene-hint{font-size:11px;text-align:center;color:var(--scene-muted);margin:2px 8px 8px}
 .delivery-lab .pose-controls.delivery-dial-dock{margin:0;border:0;border-top:1px solid var(--scene-border);border-radius:0;padding:12px;background:var(--scene-bg);color:var(--scene-text)}
 .delivery-dial-dock .delivery-dial-select{display:block;font-size:12px;margin:0 0 8px;color:inherit}
 .delivery-dial-dock .delivery-dial-select select{margin:4px 0 0;padding:9px 10px;min-height:44px;width:100%;color:var(--scene-text);border-color:var(--scene-border);background:var(--scene-label)}
 .delivery-lab .delivery-active-dial{padding:0;border:0;background:transparent;color:inherit}
 .delivery-lab .pose-control{padding:0;border:0;background:transparent;color:inherit}
 .delivery-lab .pose-control>label{font-size:13px;line-height:1.4;margin:0;color:inherit}
 .delivery-lab .pose-control output{font-size:26px;color:var(--scene-curve);line-height:1.2}
 .delivery-lab .pose-dial-limits{font-size:11px;color:var(--scene-muted)}
 .delivery-lab .pose-dial-help{margin-top:8px;padding-top:4px;font-size:14px;color:inherit}
 .delivery-lab .pose-dial-help summary,.delivery-lab .delivery-dock-arrows summary{font-size:13px;color:inherit;padding:10px 0}
 .delivery-lab .delivery-dock-arrows{margin-top:4px;border-color:var(--scene-border)}
 .delivery-lab .delivery-dial-shortcuts{display:none}
 .delivery-lab .delivery-reset{font-size:13px;margin-top:4px;color:inherit}
 .delivery-lab .pose-contact-events{border-radius:0;border:0;border-top:1px solid var(--scene-border);padding:0 12px;margin:0;background:var(--scene-bg);color:var(--scene-text)}
 .delivery-lab .pose-contact-events>summary{padding:12px 0;font-size:13px;gap:8px;min-height:48px}
 .mobile-contact-reading,.mobile-scene-facts{padding:0 12px;border-top:1px solid var(--scene-border)}
 .mobile-contact-reading>summary,.mobile-scene-facts>summary{padding:14px 0;font-size:14px;font-weight:650;color:var(--scene-text)}
 .mobile-contact-reading .pose-contact-insight{padding:12px 0}
 .mobile-contact-reading .contact-insight-body{display:block}
 .mobile-contact-reading figure{max-width:260px;margin:0 auto 18px}
 .mobile-contact-reading .contact-insight-results dl{grid-template-columns:1fr 1fr}
 .contact-insight-results dt,.contact-insight-results small{font-size:12px}
 .contact-insight-results>p,.contact-insight-results .contact-insight-reading{font-size:13px}
 .mobile-scene-facts .pose-flight-results{border:0;padding:12px 0}
 .delivery-lab .is-flight .mobile-scene-facts .pose-flight-results dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .delivery-lab .pose-scene-key,.delivery-lab .pose-flight-legend{font-size:12px;padding:12px}
 .delivery-lab .delivery-support,.delivery-lab .delivery-flight{padding:18px 12px}
 .delivery-lab .delivery-flight-charts{display:block}
 .delivery-lab .delivery-flight-charts>figure{margin:0 0 20px}
 .delivery-lab .scene-annotation{font-size:10px;max-width:180px;white-space:normal;padding:4px 6px}
 .mobile-scene-open{overflow:hidden;overscroll-behavior:none}
 .delivery-lab .mobile-scene-expanded{position:fixed;inset:0;z-index:120;height:100dvh;width:100%;max-width:none;border:0;border-radius:0;display:flex;flex-direction:column;overflow:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}
 .mobile-scene-expanded>.mobile-scene-heading,.mobile-scene-expanded>.pose-toolbar,.mobile-scene-expanded>.mobile-scene-controls{flex-shrink:0}
 .delivery-lab .mobile-scene-expanded>.club-3d-viewport{flex:1 0 220px;min-height:220px;display:flex}
 .delivery-lab .mobile-scene-expanded .club-3d-scene{width:100%;display:grid;grid-template-rows:minmax(160px,1fr) 58px}
 .delivery-lab .mobile-scene-expanded .club-3d-canvas{height:100%;min-height:160px}
 .delivery-lab .mobile-scene-expanded .pose-scene-toolbar{padding:6px 12px}
 .delivery-lab .mobile-scene-expanded .mobile-scene-hint,.mobile-scene-expanded .delivery-dial-dock :is(h3,.pose-dial-help,.pose-dial-limits,.delivery-dock-arrows,.delivery-reset,.pose-height-feedback),.mobile-scene-expanded>:is(.mobile-contact-reading,.mobile-scene-facts,.pose-scene-key,.pose-flight-legend,.pose-contact-events,.pose-flight-details){display:none}
 .delivery-lab .mobile-scene-expanded .delivery-dial-dock{padding:8px 12px 10px}
 .mobile-scene-expanded .delivery-dial-select{font-size:0;margin-bottom:6px}
 .mobile-scene-expanded .delivery-dial-select select{margin:0;font-size:16px}
 .mobile-scene-expanded .pose-control>label{font-size:12px}
 .mobile-scene-expanded .pose-control output{font-size:22px}
 @media (max-height:500px) and (min-width:540px){
  .delivery-lab .mobile-scene-expanded{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:60px 56px minmax(220px,1fr);align-content:start}
  .mobile-scene-expanded>.mobile-scene-heading{grid-column:1/-1;grid-row:1}
  .mobile-scene-expanded>.pose-toolbar{grid-column:1;grid-row:2}
  .delivery-lab .mobile-scene-expanded>.club-3d-viewport{grid-column:1;grid-row:3;min-width:0}
  .mobile-scene-expanded>.mobile-scene-controls{grid-column:2;grid-row:2/4;align-self:start;border-left:1px solid var(--scene-border)}
  .delivery-lab .mobile-scene-expanded .pose-transport-buttons{gap:5px}
  .delivery-lab .mobile-scene-expanded .pose-stage-flight{font-size:12px;padding:8px}
 }
}
