/* iPhone portrait refinement. Desktop, iPad, and the iPad-first treadmill cockpit are excluded. */
@media (max-width:480px){
  html.mobile-app:has(>body:not(.treadmill-live-page)),
  html.mobile-app body:not(.treadmill-live-page){
    width:100%;
    height:auto!important;
    min-height:100%;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto;
  }
  html.mobile-app body:not(.treadmill-live-page){
    min-height:100dvh;
    padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);
    font-size:16px;
    line-height:1.5;
    -webkit-text-size-adjust:100%;
  }

  html.mobile-app body:not(.treadmill-live-page) .app-header{
    position:sticky;
    z-index:60;
    top:0;
    height:calc(64px + env(safe-area-inset-top))!important;
    border-bottom:1px solid var(--rc-border);
    background:color-mix(in srgb,var(--rc-bg) 96%,transparent);
    backdrop-filter:blur(18px);
  }
  html.mobile-app body:not(.treadmill-live-page) .app-header__inner{
    min-height:0!important;
    padding:env(safe-area-inset-top) 14px 10px!important;
  }
  html.mobile-app body:not(.treadmill-live-page) .app-header .eyebrow{font-size:.68rem!important}
  html.mobile-app body:not(.treadmill-live-page) .app-header h1{font-size:1.55rem!important;line-height:1!important}
  html.mobile-app body:not(.treadmill-live-page) main.page-container{
    display:block!important;
    width:100%;
    height:auto!important;
    min-height:calc(100dvh - 64px - 70px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    margin:0;
    padding:14px 14px calc(84px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
  }
  html.mobile-app body:not(.treadmill-live-page) .page-container p,
  html.mobile-app body:not(.treadmill-live-page) .page-container li,
  html.mobile-app body:not(.treadmill-live-page) .page-container label{font-size:.9rem;line-height:1.5}
  html.mobile-app body:not(.treadmill-live-page) .page-container small{font-size:.75rem;line-height:1.4}
  html.mobile-app body:not(.treadmill-live-page) #app{height:auto!important;min-height:0;overflow:visible!important}
  html.mobile-app body:not(.treadmill-live-page) .mobile-screen{
    display:flex;
    height:auto!important;
    min-height:0;
    flex-direction:column;
    gap:12px;
    overflow:visible!important;
  }
  html.mobile-app body:not(.treadmill-live-page) .mobile-screen .card,
  html.mobile-app body:not(.treadmill-live-page) .card{border-radius:16px}
  html.mobile-app body:not(.treadmill-live-page) .mobile-screen p,
  html.mobile-app body:not(.treadmill-live-page) .card>p{font-size:.9rem;line-height:1.5}
  html.mobile-app body:not(.treadmill-live-page) .eyebrow{font-size:.7rem!important;line-height:1.3}
  html.mobile-app body:not(.treadmill-live-page) button,
  html.mobile-app body:not(.treadmill-live-page) .button,
  html.mobile-app body:not(.treadmill-live-page) .button-link,
  html.mobile-app body:not(.treadmill-live-page) input,
  html.mobile-app body:not(.treadmill-live-page) select{min-height:44px;font-size:.88rem}
  html.mobile-app body:not(.treadmill-live-page) textarea{min-height:120px;font-size:16px;line-height:1.45}
  html.mobile-app body:not(.treadmill-live-page) .page-actions,
  html.mobile-app body:not(.treadmill-live-page) .actions{display:grid;grid-template-columns:1fr;gap:9px}
  html.mobile-app body:not(.treadmill-live-page) .two,
  html.mobile-app body:not(.treadmill-live-page) .hero-grid,
  html.mobile-app body:not(.treadmill-live-page) .layout,
  html.mobile-app body:not(.treadmill-live-page) .compare,
  html.mobile-app body:not(.treadmill-live-page) .goal-evidence{grid-template-columns:1fr!important}
  html.mobile-app body:not(.treadmill-live-page) table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

  html.mobile-app body:not(.treadmill-live-page) .mobile-bottom-nav{
    min-height:calc(68px + env(safe-area-inset-bottom));
    padding:5px max(7px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(7px,env(safe-area-inset-left));
  }
  html.mobile-app body:not(.treadmill-live-page) .mobile-bottom-nav__link{min-height:58px;gap:3px;font-size:.68rem}
  html.mobile-app body:not(.treadmill-live-page) .mobile-bottom-nav__link>span{font-size:1.08rem}

  /* Fixed-height iPhone workspaces */
  html.mobile-app:has(>body:is([data-view="today"],[data-view="month"])),
  html.mobile-app body:is([data-view="today"],[data-view="month"]){
    height:100dvh!important;
    min-height:100dvh;
    overflow:hidden!important;
  }
  html.mobile-app body[data-view="today"] main.page-container{
    height:calc(100dvh - 68px - env(safe-area-inset-bottom))!important;
    min-height:0;
    padding:calc(10px + env(safe-area-inset-top)) 10px 8px!important;
    overflow:hidden!important;
  }
  html.mobile-app body[data-view="month"] main.page-container{
    height:calc(100dvh - 64px - 68px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    min-height:0;
    padding:8px 10px!important;
    overflow:hidden!important;
  }
  html.mobile-app body:is([data-view="today"],[data-view="month"]) #app,
  html.mobile-app body:is([data-view="today"],[data-view="month"]) .mobile-screen{
    height:100%!important;
    min-height:0;
    overflow:hidden!important;
  }

  /* Compact iPhone Home dashboard */
  html.mobile-app body[data-view="today"] .app-header{display:none!important}
  html.mobile-app body[data-view="today"] .bf-home{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    height:100%!important;
    align-content:space-between;
    overflow:hidden!important;
  }
  html.mobile-app body[data-view="today"] .mobile-home{height:auto!important;overflow:visible!important}
  html.mobile-app body[data-view="today"] .bf-briefing-head{
    grid-column:1/-1;
    padding:0 2px 2px;
  }
  html.mobile-app body[data-view="today"] .bf-briefing-head h1{font-size:1.18rem;line-height:1.05}
  html.mobile-app body[data-view="today"] .bf-briefing-head p{font-size:.72rem;line-height:1.25}

  html.mobile-app body[data-view="today"] .bf-hero{
    grid-column:1/-1;
    grid-template-columns:minmax(0,1fr) 116px;
    gap:8px;
    min-height:0;
    padding:15px 12px 14px;
    border-radius:16px;
  }
  html.mobile-app body[data-view="today"] .bf-hero__main{min-width:0}
  html.mobile-app body[data-view="today"] .bf-hero .bf-eyebrow{margin-bottom:7px;font-size:.62rem!important}
  html.mobile-app body[data-view="today"] .bf-hero h2{
    display:-webkit-box;
    overflow:hidden;
    font-size:clamp(1.65rem,8vw,2.15rem);
    line-height:.98;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  html.mobile-app body[data-view="today"] .bf-hero__prescription{
    display:-webkit-box;
    margin-top:9px;
    overflow:hidden;
    font-size:.88rem;
    line-height:1.28;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  html.mobile-app body[data-view="today"] .bf-hero__support{
    margin-top:8px;
    overflow:hidden;
    font-size:.72rem;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html.mobile-app body[data-view="today"] .bf-hero__context{gap:1px;margin-top:9px;padding-left:8px}
  html.mobile-app body[data-view="today"] .bf-hero__context small{font-size:.56rem}
  html.mobile-app body[data-view="today"] .bf-hero__context strong{
    overflow:hidden;
    font-size:.69rem;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html.mobile-app body[data-view="today"] .bf-primary-action{
    width:auto;
    min-height:40px;
    margin-top:10px;
    padding:8px 11px;
    gap:8px;
    font-size:.72rem;
  }

  html.mobile-app body[data-view="today"] .bf-readiness,
  html.mobile-app body[data-view="today"] .bf-readiness.rr-card{
    display:flex;
    width:116px;
    min-width:0;
    max-width:116px!important;
    align-items:center;
    align-self:stretch;
    flex-direction:column;
    gap:3px!important;
    margin:0;
    padding:2px 0 0 8px!important;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.12);
    text-align:center;
  }
  html.mobile-app body[data-view="today"] .bf-readiness>small{font-size:.53rem!important;line-height:1.15}
  html.mobile-app body[data-view="today"] .bf-readiness>strong{font-size:1.12rem;line-height:1.05}
  html.mobile-app body[data-view="today"] .bf-readiness>strong em{font-size:.68rem}
  html.mobile-app body[data-view="today"] .bf-readiness>span,
  html.mobile-app body[data-view="today"] .bf-readiness>b,
  html.mobile-app body[data-view="today"] .rr-rationale,
  html.mobile-app body[data-view="today"] .rr-health{display:none}
  html.mobile-app body[data-view="today"] .rr-title-row{gap:3px}
  html.mobile-app body[data-view="today"] .rr-title-row small{font-size:.5rem!important}
  html.mobile-app body[data-view="today"] .rr-title-row em{display:none}
  html.mobile-app body[data-view="today"] .rr-scoreline{gap:0}
  html.mobile-app body[data-view="today"] .rr-scoreline strong{font-size:2.05rem!important;line-height:.9!important}
  html.mobile-app body[data-view="today"] .rr-scoreline b{font-size:.68rem;line-height:1.1}
  html.mobile-app body[data-view="today"] .bf-readiness-flame,
  html.mobile-app body[data-view="today"] .rr-card .bf-readiness-flame{
    display:block;
    width:100%;
    height:72px;
    min-height:72px;
    margin:0;
    overflow:visible;
  }
  html.mobile-app body[data-view="today"] .rr-card .bf-readiness-flame__canvas,
  html.mobile-app body[data-view="today"] .rr-card .bf-readiness-flame__art{
    bottom:0;
    width:78px;
    height:72px;
  }
  html.mobile-app body[data-view="today"] .rr-card .bf-readiness-flame__halo{bottom:7px;width:76px;height:23px}
  html.mobile-app body[data-view="today"] .rr-card .bf-readiness-flame__halo--inner{bottom:10px;width:46px;height:16px}
  html.mobile-app body[data-view="today"] .bf-readiness-flame>em{font-size:.48rem;line-height:1}
  html.mobile-app body[data-view="today"] .rr-update{min-height:40px;margin:0 auto;padding:3px 0!important;font-size:.62rem!important}

  html.mobile-app body[data-view="today"] .bf-checkin-callout{
    grid-column:1/-1;
    order:2;
    min-height:0;
    padding:10px 11px;
    gap:7px;
  }
  html.mobile-app body[data-view="today"] .bf-checkin-callout strong{font-size:.72rem}
  html.mobile-app body[data-view="today"] .bf-checkin-callout button{width:100%;min-height:40px!important}
  html.mobile-app body[data-view="today"] .bf-support-grid{display:contents}
  html.mobile-app body[data-view="today"] .bf-support{
    order:3;
    width:auto!important;
    min-height:88px;
    padding:8px 9px;
    grid-template-rows:auto minmax(30px,auto) auto;
    border:1px solid var(--bf-line)!important;
    border-radius:12px;
  }
  html.mobile-app body[data-view="today"] .bf-support .bf-eyebrow{font-size:.55rem!important}
  html.mobile-app body[data-view="today"] .bf-support>strong,
  html.mobile-app body[data-view="today"] .bf-support--week>strong{
    display:-webkit-box;
    overflow:hidden;
    font-size:.9rem;
    line-height:1.14;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  html.mobile-app body[data-view="today"] .bf-support--week>strong{font-size:1.08rem}
  html.mobile-app body[data-view="today"] .bf-support--week>strong small{font-size:.58rem}
  html.mobile-app body[data-view="today"] .bf-support p{
    overflow:hidden;
    font-size:.62rem;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html.mobile-app body[data-view="today"] .bf-volume-visual,
  html.mobile-app body[data-view="today"] .bf-goal-direction{display:none}
  html.mobile-app body[data-view="today"] .bf-phase-segments{gap:3px;margin-top:5px}
  html.mobile-app body[data-view="today"] .bf-phase-segments i{width:11px;height:3px}
  html.mobile-app body[data-view="today"] .bf-goal-metrics{gap:2px 6px;margin-top:3px;font-size:.55rem}
  html.mobile-app body[data-view="today"] .bf-goal-metrics b{font-size:.66rem}
  html.mobile-app body[data-view="today"] .bf-key-dose{margin-top:3px}
  html.mobile-app body[data-view="today"] .bf-key-dose small{overflow:hidden;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}
  html.mobile-app body[data-view="today"] .bf-key-dose small:nth-child(n+2){display:none}
  html.mobile-app body[data-view="today"] .bf-support__arrow{top:8px;right:8px;font-size:.8rem}

  html.mobile-app body[data-view="today"] .bf-week{
    grid-column:1/-1;
    order:4;
    height:auto!important;
    padding:8px 8px 6px;
    overflow:visible!important;
    border-radius:14px;
  }
  html.mobile-app body[data-view="today"] .bf-section-head{align-items:center;margin-bottom:5px}
  html.mobile-app body[data-view="today"] .bf-section-head h2{margin-top:1px;font-size:.82rem;line-height:1.1}
  html.mobile-app body[data-view="today"] .bf-section-head>a{font-size:0}
  html.mobile-app body[data-view="today"] .bf-section-head>a span{font-size:.8rem}
  html.mobile-app body[data-view="today"] .bf-week-strip{
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:2px;
    margin:0;
    padding:0;
    overflow:visible;
  }
  html.mobile-app body[data-view="today"] .bf-day{
    grid-template-rows:13px 20px minmax(24px,auto) 6px 13px;
    min-height:88px;
    padding:6px 2px;
    border:1px solid transparent;
    border-radius:8px;
    text-align:center;
  }
  html.mobile-app body[data-view="today"] .bf-day+.bf-day{border-left-color:var(--bf-line)}
  html.mobile-app body[data-view="today"] .bf-day>span:first-child{font-size:.58rem}
  html.mobile-app body[data-view="today"] .bf-day>b{margin-top:1px;font-size:1rem}
  html.mobile-app body[data-view="today"] .bf-day>strong{
    display:-webkit-box;
    align-self:center;
    margin-top:2px;
    overflow:hidden;
    font-size:.62rem;
    line-height:1.05;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  html.mobile-app body[data-view="today"] .bf-day__load{height:4px}
  html.mobile-app body[data-view="today"] .bf-day__state{margin-top:2px;font-size:.53rem}
  html.mobile-app body[data-view="today"] .bf-day>small,
  html.mobile-app body[data-view="today"] .bf-day__ancillary{display:none}

  html.mobile-app body[data-view="today"] .bf-utilities{
    grid-column:1/-1;
    order:5;
    width:100%;
    padding-top:0;
  }
  html.mobile-app body[data-view="today"] .bf-utilities>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  html.mobile-app body[data-view="today"] .bf-utilities button,
  html.mobile-app body[data-view="today"] .bf-utilities a{min-height:40px;font-size:.62rem}
  html.mobile-app body[data-view="today"] .bf-coach-note{display:none}

  /* Legacy Home fallback */
  html.mobile-app body[data-view="today"] .mobile-home__run{min-height:230px;padding:20px 17px;overflow:visible}
  html.mobile-app body[data-view="today"] .mobile-home__run>p{font-size:.86rem}
  html.mobile-app body[data-view="today"] .mobile-home__metric span{font-size:.68rem}
  html.mobile-app body[data-view="today"] .mobile-home__metric strong{font-size:1.02rem}
  html.mobile-app body[data-view="today"] .mobile-home__week{overflow:visible}
  html.mobile-app body[data-view="today"] .mobile-home__next b{font-size:.8rem}
  html.mobile-app body[data-view="today"] .mobile-home__next span{font-size:.72rem}
  html.mobile-app body[data-view="today"] .mobile-home__phase{grid-template-columns:1fr;padding:17px}
  html.mobile-app body[data-view="today"] .mobile-home__phase-copy>small{font-size:.68rem}
  html.mobile-app body[data-view="today"] .mobile-home__phase-copy>b{font-size:1rem}
  html.mobile-app body[data-view="today"] .mobile-home__phase-copy>p{font-size:.82rem}
  html.mobile-app body[data-view="today"] .mobile-home__phase-facts{grid-template-columns:1fr 1fr}

  /* Calendar */
  html.mobile-app body[data-view="month"] .mobile-calendar-screen{display:block!important;height:100%!important;overflow:hidden!important}
  html.mobile-app body[data-view="month"] .mobile-calendar{
    height:100%!important;
    grid-template-rows:40px max-content minmax(0,1fr)!important;
    align-content:stretch;
    gap:6px;
    padding:8px;
    overflow:hidden;
  }
  html.mobile-app body[data-view="month"] .month-head{min-height:40px;align-items:center;flex-wrap:nowrap}
  html.mobile-app body[data-view="month"] .month-head h2{font-size:.98rem}
  html.mobile-app body[data-view="month"] .navbuttons{width:auto;margin:0 0 0 auto;gap:5px}
  html.mobile-app body[data-view="month"] .navbuttons button{width:40px;min-width:40px;min-height:40px!important}
  html.mobile-app body[data-view="month"] .month-card .portrait-day{
    min-height:clamp(42px,5.7dvh,52px)!important;
    padding-block:2px!important;
  }
  html.mobile-app body[data-view="month"] .portrait-labels span{font-size:.66rem}
  html.mobile-app body[data-view="month"] .portrait-day .date-number{font-size:.82rem}
  html.mobile-app body[data-view="month"] .portrait-week-summary{min-height:28px;padding-block:4px}
  html.mobile-app body[data-view="month"] .mobile-day-panel{
    height:100%;
    grid-template-rows:auto minmax(0,1fr) auto auto;
    gap:6px;
    padding:9px;
    overflow:hidden!important;
  }
  html.mobile-app body[data-view="month"] .mobile-day-panel h3{font-size:.68rem}
  html.mobile-app body[data-view="month"] .mobile-day-panel__activities{
    min-height:0;
    align-content:start;
    padding-right:2px;
    overflow-x:hidden;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  html.mobile-app body[data-view="month"] .mobile-activity-card{min-height:82px;padding:9px 10px}
  html.mobile-app body[data-view="month"] .mobile-activity-card__copy strong{font-size:.76rem}
  html.mobile-app body[data-view="month"] .mobile-activity-card__copy>span{font-size:.62rem;line-height:1.25}
  html.mobile-app body[data-view="month"] .mobile-activity-card__metrics{font-size:.58rem}
  html.mobile-app body[data-view="month"] .mobile-day-panel__empty{padding:8px}
  html.mobile-app body[data-view="month"] .mobile-day-panel__empty b{font-size:.7rem}
  html.mobile-app body[data-view="month"] .mobile-day-panel__empty span{font-size:.62rem}
  html.mobile-app body[data-view="month"] .mobile-day-panel__divider{font-size:.55rem}
  html.mobile-app body[data-view="month"] .mobile-day-panel__week{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  html.mobile-app body[data-view="month"] .mobile-day-panel__week>span{padding:5px 4px}
  html.mobile-app body[data-view="month"] .mobile-day-panel__week small{min-height:2.1em;font-size:.5rem}
  html.mobile-app body[data-view="month"] .mobile-day-panel__week b{font-size:.65rem}

  /* Training phases */
  html.mobile-app body[data-view="block"] .mobile-phase{height:auto;overflow:visible}
  html.mobile-app body[data-view="block"] .mobile-phase__hero{min-height:0;padding:18px 15px}
  html.mobile-app body[data-view="block"] .mobile-phase__hero h2{font-size:1.55rem}
  html.mobile-app body[data-view="block"] .mobile-phase__hero p{font-size:.84rem}
  html.mobile-app body[data-view="block"] .mobile-tpp{padding:15px 13px;overflow:visible}
  html.mobile-app body[data-view="block"] .mobile-tpp>header h3{font-size:1.05rem}
  html.mobile-app body[data-view="block"] .mobile-tpp>header>small{font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-summary{grid-template-columns:1fr;gap:1px}
  html.mobile-app body[data-view="block"] .mobile-tpp-summary small{font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-summary b{font-size:.86rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-phases{gap:5px;overflow-x:auto}
  html.mobile-app body[data-view="block"] .mobile-tpp-phases span{min-width:72px;min-height:40px;font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-chart{min-height:220px;overflow-x:auto}
  html.mobile-app body[data-view="block"] .mobile-tpp-key{font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-weeks{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}
  html.mobile-app body[data-view="block"] .mobile-tpp-weeks button{min-width:58px;min-height:44px;font-size:.75rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-detail{padding:14px}
  html.mobile-app body[data-view="block"] .mobile-tpp-detail__head small{font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-detail__head b{font-size:.92rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-detail__head>span{font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-metrics{grid-template-columns:1fr;gap:1px}
  html.mobile-app body[data-view="block"] .mobile-tpp-metrics small{font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-metrics b{font-size:.86rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-sessions small{font-size:.68rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-sessions b{font-size:.84rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-sessions span{font-size:.76rem}
  html.mobile-app body[data-view="block"] .mobile-tpp-detail>p,
  html.mobile-app body[data-view="block"] .mobile-tpp-empty,
  html.mobile-app body[data-view="block"] .mobile-tpp-method{font-size:.76rem;line-height:1.45}

  /* Statistics */
  html.mobile-app body.mobile-statistics #trend-content{display:flex!important;height:auto!important;min-height:0;flex-direction:column;gap:9px}
  html.mobile-app body.mobile-statistics .mobile-stat-tabs,
  html.mobile-app body.mobile-statistics .mobile-chart-tabs{position:sticky;z-index:20;top:0}
  html.mobile-app body.mobile-statistics .mobile-stat-tabs button,
  html.mobile-app body.mobile-statistics .mobile-chart-tabs button{min-height:42px;font-size:.72rem}
  html.mobile-app body.mobile-statistics .range-row{display:flex;overflow-x:auto;padding-bottom:3px}
  html.mobile-app body.mobile-statistics .range-row button{min-width:58px!important;min-height:40px!important}
  html.mobile-app body.mobile-statistics .range-row button:after{font-size:.72rem}
  html.mobile-app body.mobile-statistics .mobile-stat-stage{overflow:visible!important}
  html.mobile-app body.mobile-statistics .mobile-stat-stage>.trend-section:not([hidden]){display:block!important;min-height:0;overflow:visible!important}
  html.mobile-app body.mobile-statistics .training-analysis,
  html.mobile-app body.mobile-statistics .training-analysis-block,
  html.mobile-app body.mobile-statistics .recovery-overview-card,
  html.mobile-app body.mobile-statistics .fitness-trajectory-card,
  html.mobile-app body.mobile-statistics .fitness-support-card{height:auto!important;min-height:0;overflow:visible!important}
  html.mobile-app body.mobile-statistics .mobile-training-overview .primary-load-card{padding:15px 13px}
  html.mobile-app body.mobile-statistics #training-chart{min-height:250px}
  html.mobile-app body.mobile-statistics .training-summary,
  html.mobile-app body.mobile-statistics .mobile-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.mobile-app body.mobile-statistics .training-summary>*{padding:11px 8px!important}
  html.mobile-app body.mobile-statistics .training-summary span,
  html.mobile-app body.mobile-statistics .mobile-metric-row span{min-height:0;font-size:.68rem!important}
  html.mobile-app body.mobile-statistics .training-summary strong,
  html.mobile-app body.mobile-statistics .mobile-metric-row strong{font-size:.88rem!important}
  html.mobile-app body.mobile-statistics .mobile-section-label small{font-size:.68rem}
  html.mobile-app body.mobile-statistics .mobile-training-bar small,
  html.mobile-app body.mobile-statistics .mobile-training-key,
  html.mobile-app body.mobile-statistics .mobile-composition-coverage{font-size:.68rem}
  html.mobile-app body.mobile-statistics .mobile-recovery-overview .recovery-overview-card{display:block;height:auto!important}
  html.mobile-app body.mobile-statistics .recovery-chart-shell{height:360px!important;margin-block:10px}
  html.mobile-app body.mobile-statistics .mobile-recovery-summary{grid-template-columns:1fr}
  html.mobile-app body.mobile-statistics .mobile-recovery-summary span{min-height:0;font-size:.68rem}
  html.mobile-app body.mobile-statistics .mobile-recovery-summary small{font-size:.72rem}
  html.mobile-app body.mobile-statistics .fitness-trajectory-card .fitness-snapshot{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  html.mobile-app body.mobile-statistics .fitness-trajectory-card .fitness-snapshot article{padding:10px 8px}
  html.mobile-app body.mobile-statistics .fitness-trajectory-card .fitness-snapshot span{font-size:.68rem}
  html.mobile-app body.mobile-statistics .fitness-trajectory-card .fitness-snapshot strong{font-size:.82rem}
  html.mobile-app body.mobile-statistics .fitness-trajectory-card .season-trajectory-chart{height:300px}
  html.mobile-app body.mobile-statistics .performance-evidence-list,
  html.mobile-app body.mobile-statistics .fitness-readiness-list{max-height:none;overflow:visible}
  html.mobile-app body.mobile-statistics .race-equivalent-row,
  html.mobile-app body.mobile-statistics .race-equivalent-head{font-size:.72rem}

  /* Coaching and long-form pages */
  html.mobile-app body.mobile-coaching main>.hero{height:auto;min-height:0;padding:17px 15px;overflow:visible}
  html.mobile-app body.mobile-coaching main>.hero h2{font-size:1.4rem}
  html.mobile-app body.mobile-coaching main>.two{overflow:visible}
  html.mobile-app body.mobile-coaching main>.two>article{height:auto;overflow:visible;padding:16px}
  html.mobile-app body.mobile-coaching main>.two>article>h2{font-size:1.35rem}
  html.mobile-app body.mobile-coaching #coaching-form{overflow:visible;gap:10px}
  html.mobile-app body.mobile-coaching #coaching-form label{font-size:.82rem}
  html.mobile-app body.mobile-coaching #coaching-form textarea{min-height:180px;resize:vertical}
  html.mobile-app body.mobile-coaching #coaching-form .actions{grid-template-columns:1fr}
  html.mobile-app body:not(.treadmill-live-page) details>summary{min-height:44px;line-height:1.35}
  html.mobile-app body:not(.treadmill-live-page) pre{max-width:100%;overflow-x:auto;font-size:.75rem}

  /* Activity detail */
  html.mobile-app body:not(.treadmill-live-page) .activity-detail-overlay{padding:0}
  html.mobile-app body:not(.treadmill-live-page) .activity-detail-dialog{width:100%;height:100dvh;max-height:none;padding:10px 10px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:0;overflow-y:auto}
  html.mobile-app body:not(.treadmill-live-page) .activity-detail-close{top:8px;right:8px;width:44px;min-width:44px;height:44px;min-height:44px}
  html.mobile-app body:not(.treadmill-live-page) .activity-detail-page>header{padding:22px 58px 20px 16px}
  html.mobile-app body:not(.treadmill-live-page) .activity-detail-page>header h2{font-size:1.75rem}
  html.mobile-app body:not(.treadmill-live-page) .activity-primary-metrics{grid-template-columns:1fr 1fr}
  html.mobile-app body:not(.treadmill-live-page) .activity-metric small{font-size:.7rem}
  html.mobile-app body:not(.treadmill-live-page) .activity-metric strong{font-size:.92rem}
  html.mobile-app body:not(.treadmill-live-page) .activity-tabs{overflow-x:auto;justify-content:start}
  html.mobile-app body:not(.treadmill-live-page) .activity-tabs button{min-width:86px;min-height:44px;font-size:.82rem}
  html.mobile-app body:not(.treadmill-live-page) .activity-section{padding:16px 14px}
  html.mobile-app body:not(.treadmill-live-page) .activity-laps{font-size:.78rem}
}
