/* /assets/css/bte-focus-release.css */
/* BTE V4.1 FOCUS — reduction release */
:root{--focus-ink:#081522;--focus-blue:#087dc1;--focus-line:#d6e0e7;--focus-soft:#f4f7f9}
/* Five destinations only. Supporting content belongs in-page/footer, not primary nav. */
.bteNav{gap:clamp(12px,2vw,28px)!important}.bteNavItem{font-weight:850!important;letter-spacing:.025em!important}
/* Reduce repeated coaching on the detailed report. Overall coaching summary is authoritative. */
body[data-page="performance-report"] .r23-coach-card,
body[data-page="performance-report"] .r22-physics-coach,
body[data-page="performance-report"] #key-limiter{display:none!important}
#overall-coaching-summary .is-worked,#overall-coaching-summary .is-learning{display:none!important}
#overall-coaching-summary .bte-overall-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* Progress: answer first, evidence on demand. */
.bte-progress-page #cumulative-overview{padding-top:32px!important}
.bte-progress-page .bte-progress-story{border:2px solid var(--focus-ink)!important}
.bte-progress-page details.bte-progress-evidence{margin-top:28px!important}
/* Ride: one session story + library. */
.bte-session-page #sessions{border-top:1px solid var(--focus-line)}
/* Homepage: more negative space now that duplicate dashboard sections are gone. */
.v4Home .v4Section{padding-block:clamp(58px,7vw,108px)!important}
.v4Home .v4HeroLead{max-width:720px!important}
/* Secondary project links should not compete with primary jobs. */
.bteFooter a{opacity:.86}.bteFooter a:hover{opacity:1}
@media(max-width:767px){
  #overall-coaching-summary .bte-overall-coach-grid{grid-template-columns:1fr!important}
  .bteNav{gap:0!important}
}
/* Lab is technical; coaching belongs to Ride, next-session decision belongs to Weather. */
.bte-lab-tabs [data-lab-tab="plan"],.bte-lab-tabs [data-lab-tab="review"]{display:none!important}
#bte-lab-plan,#bte-lab-review{display:none!important}
/* Keep owner diagnostics out of the public mental model. */
.bte-report-stage-nav a[href="#overall-coaching-summary"] strong::after{content:" · COACH";font-size:.72em;opacity:.62}

/* BTE V4.1.1 · Performance Report focus repair
   One authoritative coach voice; remove legacy competing intelligence layers. */
body[data-page="performance-report"] #r22-performance-physics,
body[data-page="performance-report"] .r23-coach-card,
body[data-page="performance-report"] .bte-long-term-disclosure {
  display:none !important;
}
body[data-page="performance-report"] .bte-report-status strong{display:inline-block;margin-bottom:.35rem}
body[data-page="performance-report"] .bte-report-status span{opacity:.82}

/* /assets/css/bte-v49-stabilisation.css */
/* BTE V4.9 STABILISATION CONTRACT · 2026-09-30
   One final ownership layer for typography, colour, spacing and the key rider journey.
*/
:root{
  --bte49-ink:#0b1d2b;--bte49-muted:#53697b;--bte49-bg:#f4f7fb;--bte49-card:#fff;
  --bte49-line:#d9e4ec;--bte49-navy:#071521;--bte49-panel:#0d2030;--bte49-cyan:#36d7ff;
  --bte49-blue:#178fe8;--bte49-radius:18px;--bte49-shadow:0 12px 34px rgba(8,34,52,.075);
}
html{scroll-behavior:smooth}
body.bte-public-page{background:var(--bte49-bg)!important;color:var(--bte49-ink)!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;font-size:16px!important;line-height:1.55!important}
body.bte-public-page main{overflow-x:clip}
body.bte-public-page :where(h1,h2,h3,h4,p,small,strong,span,label,button,a){font-family:inherit}
body.bte-public-page :where(h1,h2,h3,h4){text-wrap:balance}
body.bte-public-page :where(p,.bte-page-deck,.section-intro){text-wrap:pretty}
body.bte-public-page .bte-page-title{font-size:clamp(2.35rem,5.3vw,5rem)!important;line-height:.98!important;letter-spacing:-.055em!important;color:var(--bte49-ink)!important;-webkit-text-fill-color:currentColor!important;background:none!important;background-clip:border-box!important;-webkit-background-clip:border-box!important}
body.bte-public-page .bte-page-deck{font-size:clamp(1rem,1.35vw,1.2rem)!important;line-height:1.55!important;color:var(--bte49-muted)!important;max-width:820px!important}
body.bte-public-page .bte-section-kicker,body.bte-public-page .bte-card-kicker{font-size:.72rem!important;line-height:1.2!important;letter-spacing:.14em!important;font-weight:900!important;text-transform:uppercase!important;color:#1478b6!important;-webkit-text-fill-color:currentColor!important}
body.bte-public-page :where(h2){font-size:clamp(1.65rem,2.4vw,2.45rem)!important;line-height:1.08!important;letter-spacing:-.035em!important}
body.bte-public-page :where(h3){font-size:clamp(1.12rem,1.7vw,1.5rem)!important;line-height:1.18!important;letter-spacing:-.018em!important}

/* Default light surface ownership. This deliberately overrides the old global dark-card leak. */
body.bte-public-page main :where(.card,.bte-dashboard-panel,.bte-output,.bte-progress-kpi,.bte-context-item,.bte-data-card,.bte-factor-card,.bte-radar-card,.bte-summary-card,.bte-plan-context-card,.bte-planner-group,.bte-baseline-summary,.termCard):not(.card--dark):not(.dark-card):not(.is-dark){background:var(--bte49-card)!important;color:var(--bte49-ink)!important;border-color:var(--bte49-line)!important}
body.bte-public-page main :where(.card,.bte-dashboard-panel,.bte-output,.bte-progress-kpi,.bte-context-item,.bte-data-card,.bte-factor-card,.bte-radar-card,.bte-summary-card,.bte-plan-context-card,.bte-planner-group,.bte-baseline-summary,.termCard):not(.card--dark):not(.dark-card):not(.is-dark) :where(h1,h2,h3,h4,strong){color:var(--bte49-ink)!important;-webkit-text-fill-color:currentColor!important}
body.bte-public-page main :where(.card,.bte-dashboard-panel,.bte-output,.bte-progress-kpi,.bte-context-item,.bte-data-card,.bte-factor-card,.bte-radar-card,.bte-summary-card,.bte-plan-context-card,.bte-planner-group,.bte-baseline-summary,.termCard):not(.card--dark):not(.dark-card):not(.is-dark) :where(p,small,li){color:var(--bte49-muted)!important;opacity:1!important}

/* Explicit dark surfaces. */
body.bte-public-page :where(.bte-overall-coach,.bte-historical-chart-panel,.bte-progress-story,.bte-next-brief,.page-hero,.section--alt,.bteFooter,.bteFooter--production){background-color:var(--bte49-navy)!important;color:#f7fbff!important}
body.bte-public-page :where(.bte-overall-coach,.bte-historical-chart-panel,.bte-progress-story,.bte-next-brief,.page-hero,.section--alt,.bteFooter,.bteFooter--production) :where(h1,h2,h3,h4,strong){color:#f7fbff!important;-webkit-text-fill-color:currentColor!important}
body.bte-public-page :where(.bte-overall-coach,.bte-historical-chart-panel,.bte-progress-story,.bte-next-brief,.page-hero,.section--alt,.bteFooter,.bteFooter--production) :where(p,small,li){color:#c4d3df!important;opacity:1!important}

/* PLAN: one compact intro then controls. */
body.bte-plan-page .bte-page-intro{max-width:1100px!important;margin:0 auto!important;padding:22px 24px 16px!important;text-align:center!important}
body.bte-plan-page .bte-page-intro .bte-page-title{font-size:clamp(2.25rem,4.4vw,4.2rem)!important;margin:.15rem 0 .45rem!important}
body.bte-plan-page .bte-page-intro .bte-page-deck{margin:0 auto!important;max-width:760px!important}
body.bte-plan-page main>.bloc:first-of-type,body.bte-plan-page .bte-page-intro+.bloc{margin-top:0!important;padding-top:0!important}
body.bte-plan-page .bloc>.container.bloc-lg{padding-top:10px!important}
body.bte-plan-page .bte-planner-form{max-width:1120px!important;margin:0 auto!important}
body.bte-plan-page .bte-planner-groups{gap:16px!important}
body.bte-plan-page .bte-planner-group{padding:20px!important;border:1px solid var(--bte49-line)!important;border-radius:var(--bte49-radius)!important;box-shadow:var(--bte49-shadow)!important}
body.bte-plan-page .bte-plan-compact-context{margin:12px 0 16px!important;padding:13px 16px!important;min-height:0!important;border-radius:12px!important}
body.bte-plan-page .bte-plan-focus-inline{min-width:0!important;max-width:58%!important;text-align:right!important}
body.bte-plan-page .bte-plan-baseline-compact{padding-bottom:16px!important}
body.bte-plan-page .bte-planner-submit{margin-top:16px!important}
body.bte-plan-page .bte-planner-group .row{margin-top:0!important}

/* RIDE: never allow text-fill inheritance to hide the hero. */
body[data-page="review"] .bte-page-title,body.bte-session-page[data-page="review"] .bte-page-title,
body[data-page="ride"] .bte-page-title{color:var(--bte49-ink)!important;-webkit-text-fill-color:var(--bte49-ink)!important;background:none!important;background-image:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;text-shadow:none!important}

/* REVIEW: repair the crushed Coach grid shown in the live screenshot. */
body[data-page="performance-report"] .bte-overall-coach{border-radius:22px!important;padding:24px!important;overflow:hidden!important}
body[data-page="performance-report"] .bte-overall-coach-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;width:100%!important}
body[data-page="performance-report"] .bte-overall-coach-grid>article{grid-column:auto!important;grid-row:auto!important;min-width:0!important;width:auto!important;max-width:none!important;padding:18px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important}
body[data-page="performance-report"] .bte-overall-coach-grid>article>span{display:block!important;margin-bottom:8px!important;font-size:.7rem!important;line-height:1.25!important;letter-spacing:.12em!important;color:#70dfff!important}
body[data-page="performance-report"] .bte-overall-coach-grid>article>strong{display:block!important;font-size:1rem!important;line-height:1.5!important;font-weight:750!important;color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important;white-space:normal!important}
body[data-page="performance-report"] .bte-overall-coach-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:20px!important;align-items:start!important}
body[data-page="performance-report"] .bte-report-grid{grid-template-columns:minmax(0,1fr)!important}
body[data-page="performance-report"] .bte-radar-card{max-width:100%!important;overflow:hidden!important}
body[data-page="performance-report"] .bte-radar-wrap{min-width:0!important;width:100%!important;overflow:auto!important}

/* PROGRESS / RECOVERY ARC. */
body.bte-progress-page .bte-recovery-arc{background:#fff!important;color:var(--bte49-ink)!important;border-top:1px solid var(--bte49-line)!important}
body.bte-progress-page .bte-recovery-arc>.container{padding-top:34px!important;padding-bottom:40px!important}
body.bte-progress-page .bte-recovery-arc h2{color:var(--bte49-ink)!important;-webkit-text-fill-color:var(--bte49-ink)!important;font-size:clamp(1.8rem,2.8vw,2.7rem)!important;margin:.25rem 0 .55rem!important}
body.bte-progress-page .bte-recovery-arc p{color:var(--bte49-muted)!important}
body.bte-progress-page .bte-recovery-sequence{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
body.bte-progress-page .bte-recovery-sequence article{min-width:0!important;background:#f8fafc!important;color:var(--bte49-ink)!important;border-radius:0 0 14px 14px!important;padding:18px 15px!important}
body.bte-progress-page .bte-recovery-sequence article strong{font-size:1.12rem!important;line-height:1.25!important;color:var(--bte49-ink)!important;-webkit-text-fill-color:currentColor!important}
body.bte-progress-page .bte-recovery-sequence article p{font-size:.9rem!important;line-height:1.5!important;color:var(--bte49-muted)!important}
body.bte-progress-page .bte-history-spider-cta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-top:18px!important;padding:16px 18px!important;border:1px solid #b9d9ec!important;border-radius:14px!important;background:#eef8ff!important}
body.bte-progress-page .bte-history-spider-cta strong{color:var(--bte49-ink)!important}
body.bte-progress-page .bte-history-spider-cta p{margin:4px 0 0!important;color:var(--bte49-muted)!important}

/* Restored spider-gram / session explorer. */
body.bte-history-page{background:var(--bte49-bg)!important;color:var(--bte49-ink)!important}
body.bte-history-page .bte-explorer{max-width:1180px!important;padding:34px 22px 72px!important}
body.bte-history-page .bte-explorer-grid{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)!important;gap:18px!important}
body.bte-history-page .bte-explorer-panel{background:#fff!important;color:var(--bte49-ink)!important;border:1px solid var(--bte49-line)!important;box-shadow:var(--bte49-shadow)!important}
body.bte-history-page .bte-radar-wrap{background:#071521!important;border:1px solid #1d465f!important;border-radius:16px!important;min-height:500px!important;padding:16px!important;overflow:auto!important}
body.bte-history-page .bte-radar{width:min(100%,620px)!important;min-width:520px!important;height:auto!important}
body.bte-history-page .bte-radar text{fill:#dcecf7!important;font-size:11px!important;font-weight:800!important}
body.bte-history-page .bte-radar-grid{stroke:#27485e!important;fill:none!important}
body.bte-history-page .bte-radar-axis{stroke:#385f78!important}
body.bte-history-page .bte-radar-reference{fill:rgba(255,255,255,.025)!important;stroke:#8ba4b6!important}
body.bte-history-page .bte-radar-selected{fill:rgba(54,215,255,.16)!important;stroke:#36d7ff!important}
body.bte-history-page .bte-radar-node{fill:#36d7ff!important;stroke:#fff!important}
body.bte-history-page .bte-explorer-metric{background:#f7f9fb!important;color:var(--bte49-ink)!important;border:1px solid var(--bte49-line)!important}
body.bte-history-page .bte-explorer-metric strong{color:var(--bte49-ink)!important;-webkit-text-fill-color:currentColor!important}
body.bte-history-page .bte-explorer-read,body.bte-history-page .bte-radar-coverage{background:#f7f9fb!important;color:var(--bte49-muted)!important;border:1px solid var(--bte49-line)!important}

/* KITE SPEAK */
body[data-page="terminology"] .termCard{border-radius:14px!important;box-shadow:0 8px 22px rgba(8,34,52,.045)!important}

/* Consistent controls */
body.bte-public-page :where(input,select,textarea){color:var(--bte49-ink)!important;background:#fff!important;border-color:#cbd9e4!important}
body.bte-public-page :where(input,select,textarea):focus{border-color:#249edc!important;box-shadow:0 0 0 3px rgba(36,158,220,.15)!important}
body.bte-public-page .btn{font-weight:800!important;letter-spacing:.035em!important}

@media(max-width:1024px){
  body[data-page="performance-report"] .bte-overall-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.bte-progress-page .bte-recovery-sequence{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.bte-plan-page .bte-plan-focus-inline{max-width:none!important;text-align:left!important}
}
@media(max-width:700px){
  body.bte-public-page .bte-page-title{font-size:clamp(2.1rem,12vw,3.4rem)!important}
  body[data-page="performance-report"] .bte-overall-coach-grid{grid-template-columns:1fr!important}
  body[data-page="performance-report"] .bte-overall-coach-head{grid-template-columns:1fr!important}
  body.bte-progress-page .bte-recovery-sequence{grid-template-columns:1fr!important}
  body.bte-history-page .bte-explorer-grid{grid-template-columns:1fr!important}
  body.bte-history-page .bte-radar{min-width:480px!important}
  body.bte-progress-page .bte-history-spider-cta{align-items:flex-start!important;flex-direction:column!important}
}

/* V4.9.1 key-page hero contrast: Ride and Review are dark hero surfaces. */
body[data-page="ride"] .bte-page-intro,
body[data-page="performance-report"] .bte-page-intro{color:#f7fbff!important}
body[data-page="ride"] .bte-page-intro .bte-page-title,
body[data-page="performance-report"] .bte-page-intro .bte-page-title{color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important;background:none!important;background-image:none!important}
body[data-page="ride"] .bte-page-intro .bte-page-deck,
body[data-page="performance-report"] .bte-page-intro .bte-page-deck{color:#c4d3df!important}
body[data-page="ride"] .bte-page-intro .bte-section-kicker,
body[data-page="performance-report"] .bte-page-intro .bte-section-kicker{color:#36d7ff!important}

/* V4.9.2 Ride hero contrast: the Ride page uses bte-review-hero, not bte-page-intro. */
body[data-page="ride"] .bte-review-hero,
body[data-page="ride"] .bte-review-hero-grid{color:#f7fbff!important}
body[data-page="ride"] .bte-review-hero h1{color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important;background:none!important;background-image:none!important;text-shadow:none!important}
body[data-page="ride"] .bte-review-hero p{color:#c4d3df!important;opacity:1!important}
body[data-page="ride"] .bte-review-hero .kicker{color:#36d7ff!important;-webkit-text-fill-color:#36d7ff!important}

/* V4.9.3 Coach cards: stable two-column rhythm; no inherited legacy spans. */
body[data-page="performance-report"] .bte-overall-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body[data-page="performance-report"] .bte-overall-coach-grid>article{grid-column:auto!important;width:100%!important;min-width:0!important}
@media(max-width:700px){body[data-page="performance-report"] .bte-overall-coach-grid{grid-template-columns:1fr!important}}

/* V4.10 workflow continuity: Ride hero actions stay on one row on desktop. */
body[data-page="ride"] .bte-review-hero-actions{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
body[data-page="ride"] .bte-review-owner{display:contents}
body[data-page="ride"] .bte-review-owner[hidden]{display:none!important}
body[data-page="ride"] .bte-review-owner a{margin-top:0!important}
@media (max-width:767px){body[data-page="ride"] .bte-review-hero-actions{align-items:stretch!important}body[data-page="ride"] .bte-review-hero-actions>a,body[data-page="ride"] .bte-review-owner a{width:100%!important}}

