@media (max-width:840px){
    .race-plan-head{display:block;}
    .export-actions{justify-content:flex-start; margin-top:13px;}
    .race-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
    .race-plan-summary .summary-main{grid-column:1/-1;}
    .top-tube-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
    .tube-cell{border-bottom:1px solid #bbb;}
  }

@media (max-width:640px){
    .execution-grid,.cheatgrid{grid-template-columns:1fr;}
    .race-plan-summary{grid-template-columns:1fr 1fr;}
    .workout-export-grid{grid-template-columns:1fr;}
    .workout-export-grid button{width:100%;}
    .trainingpeaks-export-card{grid-template-columns:1fr;}
    .trainingpeaks-export-card button{width:100%;}
    .export-actions button{flex:1 1 45%; padding-left:8px; padding-right:8px; font-size:12px;}
    .top-tube-strip{grid-template-columns:1fr 1fr;}
    .tube-cell .v{font-size:15px;}
  }

@media (prefers-reduced-motion: reduce){ *{transition:none !important;} }

@media (max-width:760px){
    .map-heading{display:block;}
    .map-toolbar{justify-content:flex-start; margin-top:12px;}
    .map-wrap{height:360px;}
    .map-readout{grid-template-columns:repeat(3,minmax(0,1fr));}
  }

@media (max-width:480px){
    .map-readout{grid-template-columns:repeat(2,minmax(0,1fr));}
    .map-readout-item .v{font-size:17px; overflow:visible; text-overflow:clip;}
    .map-fallback-note{display:none;}
    .map-wrap.is-fullscreen{inset:0; border-radius:0;}
  }

@media (max-width:640px){
    .wrap{padding:18px 14px 60px;}
    header{margin-bottom:24px;}
    header img{height:44px;}
    .brandlabel{font-size:11px; letter-spacing:1.5px;}
    .hero{padding-top:2px;}
    .hero h1{font-size:42px;}
    .hero .lede{font-size:16px;}
    .benefits{gap:8px;}
    .benefit{font-size:12px; padding:7px 10px;}
    .demo-grid{grid-template-columns:1fr;}
    .demo-card{min-height:0;}
    .course-source{align-items:flex-start;}
    .course-health-head{display:block;}
    .course-health-score{text-align:left; margin-top:9px;}
    .library-head,.scenario-head{display:block;}
    .library-head input,.plan-actions input{min-width:0; width:100%; margin-top:10px;}
    .course-picker{grid-template-columns:1fr; min-width:0; margin-top:10px;}
    .plan-actions,.scenario-actions{justify-content:flex-start; margin-top:10px;}
    .scenario-builder{grid-template-columns:1fr;}
    .conversion-contact-grid{grid-template-columns:1fr;}
    .saved-plan{grid-template-columns:1fr;}
    .saved-plan div{justify-content:flex-start;}
    .calibration-grid,.calibration-log-grid,.aero-profile-grid,.aero-profile-card,.validation-entry-grid,.validation-report-grid,.wind-exposure-grid,.loop-test-controls,.loop-test-comparison,.loop-test-group{grid-template-columns:1fr;}
    .wind-exposure-head{display:block;}
    .wind-exposure-head p{margin-top:8px; text-align:left;}
    .calibration-history-controls{grid-template-columns:1fr;}
    .calibration-history-record summary{grid-template-columns:1fr 1fr;}
    .calibration-history-record summary > div:first-child{grid-column:1/-1;}
    .setup-heading{display:block;}
    .setup-heading h2{margin-bottom:12px;}
    .setup-toggle{display:flex; width:100%;}
    .setup-toggle button{flex:1;}
    .quick-recommendation{align-items:flex-start; flex-direction:column;}
    .quick-apply{width:100%;}
    .preference-head{display:block;}
    .preference-actions{justify-content:flex-start; margin-top:10px;}
    .bike-setup-grid{grid-template-columns:1fr;}
    .segment-override-head{display:block;}
    .segment-override-head button{width:100%; margin-top:10px;}
    .segment-override-columns{display:none;}
    .segment-override-row{grid-template-columns:1fr 1fr; margin-top:10px; padding-top:10px; border-top:1px solid var(--line);}
    .segment-override-row input:last-of-type{grid-column:1/-1;}
    .segment-override-row button{grid-column:1/-1;}
    table{display:block; overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch;}
    .board{padding:20px 16px;}
    .plan-head{display:block;}
    .risk-wrap{text-align:left; margin-top:13px;}
    .risk-detail{max-width:none;}
    .plan-main{grid-template-columns:1fr;}
    .time-panel{min-height:0; padding:19px 17px;}
    .splittime{font-size:56px;}
    .plan-key-grid{grid-template-columns:1fr 1fr;}
    .plan-stat{min-height:99px; padding:13px;}
    .plan-stat .v{font-size:29px;}
    .coach-view{padding:16px 15px;}
    .km-splits-summary{padding:18px 16px;}
    .km-splits-title{font-size:22px;}
    .km-splits-table-wrap{padding:0 16px 18px;}
    .km-splits-toggle{width:32px; height:32px; font-size:22px;}
  }

@media (max-width:420px){
    .plan-key-grid{grid-template-columns:1fr;}
    .plan-stat{min-height:0;}
  }

@media(max-width:760px){
    .confidence-block{padding:18px 15px;}
    .confidence-head{display:block;}
    .confidence-score-wrap{margin-top:14px; justify-content:flex-start;}
    .confidence-scenarios{grid-template-columns:1fr;}
    .confidence-grid{grid-template-columns:1fr;}
    .confidence-factor{grid-template-columns:minmax(105px,.7fr) minmax(90px,1fr) 76px; gap:8px; padding:10px;}
  }
