/* BTE Production Fixes v6.0 — final, narrowly scoped repair layer */
:root{
  --bte-ink:#071a2a;--bte-muted:#5d7387;--bte-cyan:#44d9ff;--bte-blue:#168cff;
  --bte-dark:#061421;--bte-dark2:#0b1b29;--bte-line:#d8e4ed;--bte-light:#f6f9fc;
}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:clip}
img,svg,canvas{max-width:100%}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bte-public-page h1,.bte-public-page h2,.bte-public-page h3,.bte-public-page p{overflow-wrap:normal;word-break:normal}
.bte-public-page h1,.bte-public-page h2,.bte-public-page h3{max-width:100%}

/* universal layout safety */
.wrap,.container,.page-container{min-width:0}
.row>*{min-width:0}
.bteHeader,.bteJourneyRail,.bte-weather-rail{max-width:100vw}

/* PLAN — compact, readable and correctly contained */
body.bte-plan-page .page-container{overflow:visible}
body.bte-plan-page .bte-page-intro{max-width:900px;margin:28px auto 20px;text-align:center;padding:0 24px}
body.bte-plan-page .bte-page-title{font-size:clamp(2.6rem,5.1vw,5rem);line-height:.95;margin:0 0 10px;color:var(--bte-ink)}
body.bte-plan-page .bte-page-deck{margin:0 auto;color:var(--bte-muted);font-size:clamp(1rem,1.4vw,1.2rem);max-width:760px}
body.bte-plan-page .bloc-lg{padding:0 20px 56px!important}
body.bte-plan-page .bte-planner-form{max-width:1180px;margin:0 auto}
body.bte-plan-page .bte-planner-groups{display:grid;gap:20px}
body.bte-plan-page .bte-planner-group{padding:26px!important;border:1px solid #d7e3ec!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 30px rgba(13,45,72,.06)!important;min-width:0}
body.bte-plan-page .bte-planner-group h2{font-size:clamp(1.55rem,2.3vw,2.15rem)!important;line-height:1.05!important;margin:4px 0 18px!important;color:var(--bte-ink)!important}
body.bte-plan-page .bte-section-kicker{color:#1679bf!important;font-weight:900!important;letter-spacing:.13em!important;font-size:.82rem!important}
body.bte-plan-page .bte-plan-compact-context{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)!important;gap:24px!important;align-items:center!important;padding:14px 0 18px!important;margin:0 0 20px!important;border:0!important;border-bottom:1px solid #e0e8ef!important;border-radius:0!important;background:transparent!important}
body.bte-plan-page .bte-plan-compact-copy{display:flex!important;align-items:baseline!important;gap:14px!important;min-width:0}
body.bte-plan-page .bte-plan-compact-copy span{white-space:nowrap}
body.bte-plan-page .bte-plan-focus-inline{min-width:0;text-align:right!important;max-width:none!important}
body.bte-plan-page .row.g-3{--gutter-x:1.2rem;--gutter-y:1rem}
body.bte-plan-page label{display:block!important;margin:0 0 7px!important;font-size:.78rem!important;line-height:1.25!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:850!important;color:#49657b!important;white-space:normal!important}
body.bte-plan-page .form-control,body.bte-plan-page .form-select{display:block!important;width:100%!important;min-width:0!important;min-height:48px!important;padding:10px 12px!important;font-size:1rem!important;line-height:1.2!important;color:#102333!important;background:#fff!important;border:1px solid #b9ccdb!important;border-radius:10px!important}
body.bte-plan-page .bte-time-picker{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
body.bte-plan-page .bte-time-picker .form-select{min-width:0!important;text-align:center!important}
body.bte-plan-page .bte-time-separator{font-weight:900;color:#36556e}
body.bte-plan-page #plan-forecast-btn{width:100%!important;min-height:48px!important}
body.bte-plan-page #plan-forecast-status{display:block!important;margin:2px 0 0!important;color:#667e91!important;font-size:.95rem!important}
body.bte-plan-page .bte-plan-context-card{display:grid!important;grid-template-columns:auto 1fr auto!important;column-gap:16px!important;row-gap:2px!important;align-items:center!important;padding:16px!important;min-width:0!important}
body.bte-plan-page .bte-plan-context-card small{min-width:0!important;overflow-wrap:anywhere!important}
body.bte-plan-page .bte-plan-context-card b{white-space:nowrap!important}
body.bte-plan-page .bte-planner-source-proof{overflow-wrap:anywhere}
body.bte-plan-page .bte-plan-condition-overrides{width:100%;min-width:0}

/* RIDE — clear hero, actions aligned, no clipped text */
body.bte-ride-page .bte-ride-hero,body[data-page="ride"] .bte-ride-hero{overflow:hidden}
body.bte-ride-page .bte-ride-hero h1,body[data-page="ride"] .bte-ride-hero h1{color:#f7f9fc!important;-webkit-text-fill-color:#f7f9fc!important;background:none!important;background-clip:border-box!important;max-width:1050px;font-size:clamp(3rem,6vw,6.2rem)!important;line-height:.94!important}
body.bte-ride-page .bte-ride-hero p,body[data-page="ride"] .bte-ride-hero p{color:#c1d0dc!important;max-width:980px}
body.bte-ride-page .bte-ride-actions,body[data-page="ride"] .bte-ride-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:14px!important}
body.bte-ride-page .bte-ride-actions>* ,body[data-page="ride"] .bte-ride-actions>*{margin:0!important}

/* REVIEW — reduce visual noise and preserve grid widths */
body.bte-review-page .bte-report-stage-nav,body .bte-report-stage-nav{gap:0!important;border-radius:16px!important;overflow:hidden!important}
body.bte-review-page .bte-report-stage-nav>*{min-width:0!important}
body.bte-review-page .bte-report-context-strip{display:grid!important;grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(150px,1fr))!important;gap:10px!important}
body.bte-review-page .bte-report-context-strip>*{min-width:0!important}
body.bte-review-page .bte-coach-grid,body.bte-review-page .bte-report-coach-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
body.bte-review-page .bte-coach-grid>* ,body.bte-review-page .bte-report-coach-grid>*{grid-column:auto!important;min-width:0!important}

/* BIO — protect editorial layout from dashboard/form rules */
body.bio-page{background:#fff;color:var(--bte-ink)}
body.bio-page .page-hero{padding:56px 0 44px!important}
body.bio-page .page-hero__inner{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)!important;gap:48px!important;align-items:center!important}
body.bio-page .page-hero__copy{min-width:0!important}
body.bio-page .page-hero h1{font-size:clamp(3.2rem,6vw,6rem)!important;line-height:.92!important;color:var(--bte-ink)!important;-webkit-text-fill-color:var(--bte-ink)!important;background:none!important}
body.bio-page .page-hero__intro{font-size:1.15rem!important;color:#536b7d!important;max-width:62ch!important}
body.bio-page .template-stack{display:grid!important;gap:48px!important}
body.bio-page .section-header{max-width:850px!important}
body.bio-page .manifesto-block,body.bio-page .section-intro{max-width:850px!important}

/* Progress / history / spider */
.bte-explorer-grid{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;gap:20px!important}
.bte-explorer-grid>*{min-width:0!important}
.bte-radar-wrap{min-width:0!important;overflow:hidden!important}
.bte-radar{width:100%!important;height:auto!important;max-width:680px!important;margin:auto!important}

/* Kite Speak / Predictor / Quiver — containment */
.termHero .wrap,.termLearning .wrap,.termChain .wrap,.termTools .wrap,.termSection .wrap{min-width:0}
.chainList{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.jp-calc-grid,.jp-hero-grid{min-width:0}
.media-grid{min-width:0}
.media-panel{min-width:0}

/* dark surface text contract */
.bteHeader,.bteJourneyRail,.bte-weather-rail,.bte-report-hero,.bte-report-status,.bte-ride-hero,.bte-explorer,.termHero,.jp-hero{color:#f5f8fb}
.bteHeader h1,.bteHeader h2,.bteHeader h3,.bteJourneyRail h1,.bteJourneyRail h2,.bteJourneyRail h3,.bte-report-hero h1,.bte-report-hero h2,.bte-ride-hero h1,.termHero h1,.jp-hero h1{color:#f5f8fb!important;-webkit-text-fill-color:#f5f8fb!important}

@media(max-width:1100px){
 body.bte-review-page .bte-report-context-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.bio-page .page-hero__inner{grid-template-columns:1fr!important;gap:28px!important}
 .bte-explorer-grid{grid-template-columns:1fr!important}
}
@media(max-width:767px){
 body.bte-plan-page .bte-page-intro{margin:18px auto 14px;padding:0 16px}
 body.bte-plan-page .bloc-lg{padding:0 10px 36px!important}
 body.bte-plan-page .bte-planner-group{padding:18px!important;border-radius:16px!important}
 body.bte-plan-page .bte-plan-compact-context{grid-template-columns:1fr!important;gap:8px!important}
 body.bte-plan-page .bte-plan-focus-inline{text-align:left!important}
 body.bte-plan-page .bte-plan-context-card{grid-template-columns:1fr!important}
 body.bte-plan-page .bte-plan-context-card b{white-space:normal!important}
 body.bte-review-page .bte-report-context-strip,body.bte-review-page .bte-coach-grid,body.bte-review-page .bte-report-coach-grid{grid-template-columns:1fr!important}
 body.bte-ride-page .bte-ride-actions,body[data-page="ride"] .bte-ride-actions{flex-direction:column!important;align-items:stretch!important}
 body.bte-ride-page .bte-ride-actions>* ,body[data-page="ride"] .bte-ride-actions>*{width:100%!important}
}
/* Ride page is implemented in /ride/review.html with data-page=ride. */
body[data-page="ride"] .bte-review-hero{overflow:hidden!important}
body[data-page="ride"] .bte-review-hero h1{color:#f7f9fc!important;-webkit-text-fill-color:#f7f9fc!important;background:none!important;background-clip:border-box!important;font-size:clamp(3rem,6vw,6.2rem)!important;line-height:.94!important;max-width:1100px!important}
body[data-page="ride"] .bte-review-hero p{color:#c2d1dd!important;max-width:980px!important}
body[data-page="ride"] .bte-review-hero-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:14px!important;margin-top:24px!important}
body[data-page="ride"] .bte-review-hero-actions>*{margin:0!important}
body[data-page="ride"] .bte-review-owner{display:contents!important}
@media(max-width:767px){body[data-page="ride"] .bte-review-hero-actions{flex-direction:column!important;align-items:stretch!important}body[data-page="ride"] .bte-review-hero-actions>*{width:100%!important}body[data-page="ride"] .bte-review-owner{display:contents!important}}
/* Bio hero is a dark editorial surface. */
body.bio-page .page-hero h1{color:#f8fbff!important;-webkit-text-fill-color:#f8fbff!important;background:none!important}
body.bio-page .page-hero__intro{color:#c2d1dd!important}
/* Production mobile containment */
@media(max-width:767px){
  .bteJourneyRailInner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;padding-inline:10px!important}
  .bteJourneyRailInner>a{min-width:0!important;width:auto!important;padding:10px 8px!important;gap:7px!important}
  .bteJourneyRailInner>a strong{font-size:.76rem!important;letter-spacing:.05em!important;white-space:nowrap!important}
  .bteJourneyRailInner>a small{display:none!important}
  .bteJourneyRailInner>a span{width:28px!important;height:28px!important;min-width:28px!important;font-size:.72rem!important}
  .bte-radar,.bte-explorer svg,.bte-history-page svg,.bte-progression-page svg{width:100%!important;max-width:100%!important;height:auto!important}
  .hardware-track{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  table{max-width:100%!important}
  .table-responsive,.bte-table-scroll,.comparison-table-wrap,.bte-mi-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  body.bte-plan-page .bte-time-picker{grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr)!important}
}
@media(min-width:768px) and (max-width:1100px){
  .media-panel img,.media-panel__frame img,.quiver-page img{max-width:100%!important;height:auto!important;object-fit:contain!important}
}

/* V6.0.1 — Shared surface contrast contract. Fix pale text leaking from dark surfaces. */
:root{
  --bte-light-ink:#0b2132;
  --bte-light-copy:#526b7f;
  --bte-light-muted:#70869a;
  --bte-dark-copy:#d3dee7;
  --bte-dark-muted:#aebfcd;
}

/* Standard light cards: dark typography always wins. */
body.bte-public-page main .card:not(.card--dark):not(.dark-card):not(.card--action),
body.bte-public-page main .content-card,
body.bte-public-page main .detail-fact,
body.bte-public-page main .related-link,
body.bte-public-page main .v4MetricCard,
body.bte-public-page main .v4WhyItem,
body.bte-public-page main .v4Target,
body.bte-public-page main .v4SetupCard,
body.bte-public-page main .v4StoryCard.light{
  color:var(--bte-light-ink)!important;
}
body.bte-public-page main .card:not(.card--dark):not(.dark-card):not(.card--action) :is(h1,h2,h3,h4,h5,h6,strong,b),
body.bte-public-page main :is(.content-card,.detail-fact,.related-link,.v4MetricCard,.v4WhyItem,.v4Target,.v4SetupCard,.v4StoryCard.light) :is(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--bte-light-ink)!important;
  -webkit-text-fill-color:var(--bte-light-ink)!important;
  opacity:1!important;
}
body.bte-public-page main .card:not(.card--dark):not(.dark-card):not(.card--action) :is(p,li,small,.muted,.caption,.meta,span),
body.bte-public-page main :is(.content-card,.detail-fact,.related-link,.v4MetricCard,.v4WhyItem,.v4Target,.v4SetupCard,.v4StoryCard.light) :is(p,li,small,.muted,.caption,.meta,span){
  color:var(--bte-light-copy)!important;
  -webkit-text-fill-color:var(--bte-light-copy)!important;
  opacity:1!important;
}
body.bte-public-page main .card:not(.card--dark):not(.dark-card):not(.card--action) :is(.eyebrow,.kicker){
  color:#17658e!important;
  -webkit-text-fill-color:#17658e!important;
}

/* Quiver support cards are intentionally light in the production theme. */
body.quiver-page .quiver-support .card{
  background:#fff!important;
  border-color:#d4e1ea!important;
  color:var(--bte-light-ink)!important;
}
body.quiver-page .quiver-support .card h3{
  color:var(--bte-light-ink)!important;
  -webkit-text-fill-color:var(--bte-light-ink)!important;
}
body.quiver-page .quiver-support .card p:not(.eyebrow){
  color:var(--bte-light-copy)!important;
  -webkit-text-fill-color:var(--bte-light-copy)!important;
}
body.quiver-page .quiver-support .card .eyebrow{
  color:#25bde8!important;
  -webkit-text-fill-color:#25bde8!important;
}

/* Weather is a dark decision surface: raise all secondary text to readable contrast. */
body.weather-page .status-legend__item b,
body.weather-page .metric-tile__value,
body.weather-page .forecast-item__wind,
body.weather-page .observed-panel strong{
  color:#f5f9fc!important;
  -webkit-text-fill-color:#f5f9fc!important;
  opacity:1!important;
}
body.weather-page .status-legend__item small,
body.weather-page .metric-tile__label,
body.weather-page .metric-tile__note,
body.weather-page .forecast-item__time,
body.weather-page .forecast-item__meta,
body.weather-page .forecast-item__meta :is(span,small),
body.weather-page .session-status,
body.weather-page .section-intro{
  color:var(--bte-dark-copy)!important;
  -webkit-text-fill-color:var(--bte-dark-copy)!important;
  opacity:1!important;
}
body.weather-page .status-legend__item small,
body.weather-page .metric-tile__note,
body.weather-page .forecast-item__meta :is(span,small){
  color:var(--bte-dark-muted)!important;
  -webkit-text-fill-color:var(--bte-dark-muted)!important;
}
body.weather-page .status-legend__item,
body.weather-page .metric-tile,
body.weather-page .forecast-item,
body.weather-page .observed-panel{
  text-shadow:none!important;
}

/* V6.0.2 — SURFACE-OWNED CONTRAST CONTRACT
   Root fix: component text follows the containing surface, not legacy component defaults. */
:root{
  --bte-light-bg:#f7fafc;
  --bte-light-surface:#ffffff;
  --bte-light-ink:#0a2031;
  --bte-light-copy:#496277;
  --bte-light-muted:#667f93;
  --bte-light-line:#d6e3ec;
  --bte-dark-bg:#07131e;
  --bte-dark-surface:#0b1b29;
  --bte-dark-ink:#f7fbff;
  --bte-dark-copy:#c5d4df;
  --bte-dark-muted:#a9bdcc;
}

/* Quick-answer strips are light in the current production visual language. */
html body.bte-public-page main .aeo-answer{
  background:var(--bte-light-bg)!important;
  color:var(--bte-light-ink)!important;
  border-color:var(--bte-light-line)!important;
}
html body.bte-public-page main .aeo-answer :is(h1,h2,h3,h4,strong,b){
  color:var(--bte-light-ink)!important;
  -webkit-text-fill-color:var(--bte-light-ink)!important;
  opacity:1!important;
}
html body.bte-public-page main .aeo-answer :is(p,li,small,span,.section-intro,.muted,.caption,.meta){
  color:var(--bte-light-copy)!important;
  -webkit-text-fill-color:var(--bte-light-copy)!important;
  opacity:1!important;
}
html body.bte-public-page main .aeo-answer .aeo-answer__label{
  color:#2b6f9c!important;
  -webkit-text-fill-color:#2b6f9c!important;
}

/* LIGHT SECTION OWNERSHIP.
   Any generic component inside a light section is a light component unless explicitly marked dark. */
html body.bte-public-page main>section:not(.page-hero):not(.home-hero):not(.v4Hero):not(.section--alt):not(.v4Dark):not(.v4DarkPanel),
html body.bte-public-page main .weather-location-switch{
  color:var(--bte-light-ink)!important;
}
html body.bte-public-page main>section:not(.page-hero):not(.home-hero):not(.v4Hero):not(.section--alt):not(.v4Dark):not(.v4DarkPanel)
  :is(.card,.metric-tile,.fact-strip,.related-link,.media-panel,.form-panel,.result-band__item,.gallery-card,.detail-fact,.accuracy-card,.comparison-meter,.content-card):not(.card--dark):not(.dark-card):not(.v4DarkPanel):not(.card--action),
html body.bte-public-page main .weather-location-switch{
  background:var(--bte-light-surface)!important;
  color:var(--bte-light-ink)!important;
  border-color:var(--bte-light-line)!important;
}
html body.bte-public-page main>section:not(.page-hero):not(.home-hero):not(.v4Hero):not(.section--alt):not(.v4Dark):not(.v4DarkPanel)
  :is(.card,.metric-tile,.fact-strip,.related-link,.media-panel,.form-panel,.result-band__item,.gallery-card,.detail-fact,.accuracy-card,.comparison-meter,.content-card):not(.card--dark):not(.dark-card):not(.v4DarkPanel):not(.card--action)
  :is(h1,h2,h3,h4,h5,h6,strong,b,.fact-strip__value,.metric-tile__value,.related-link__title){
  color:var(--bte-light-ink)!important;
  -webkit-text-fill-color:var(--bte-light-ink)!important;
  opacity:1!important;
}
html body.bte-public-page main>section:not(.page-hero):not(.home-hero):not(.v4Hero):not(.section--alt):not(.v4Dark):not(.v4DarkPanel)
  :is(.card,.metric-tile,.fact-strip,.related-link,.media-panel,.form-panel,.result-band__item,.gallery-card,.detail-fact,.accuracy-card,.comparison-meter,.content-card):not(.card--dark):not(.dark-card):not(.v4DarkPanel):not(.card--action)
  :is(p,li,small,span,.muted,.caption,.meta,.helper,.card__meta,.metric-tile__label,.metric-tile__note,.fact-strip__label,.related-link__copy){
  color:var(--bte-light-copy)!important;
  -webkit-text-fill-color:var(--bte-light-copy)!important;
  opacity:1!important;
}
html body.bte-public-page main>section:not(.page-hero):not(.home-hero):not(.v4Hero):not(.section--alt):not(.v4Dark):not(.v4DarkPanel)
  :is(.card,.metric-tile,.fact-strip,.related-link,.media-panel,.form-panel,.result-band__item,.gallery-card,.detail-fact,.accuracy-card,.comparison-meter,.content-card):not(.card--dark):not(.dark-card):not(.v4DarkPanel):not(.card--action)
  :is(.eyebrow,.kicker,.related-link__type){
  color:#17658e!important;
  -webkit-text-fill-color:#17658e!important;
  opacity:1!important;
}

/* Guide cards on light guide sections are explicitly light. */
html body.bte-public-page main .bteGuideSection:not(.section--alt) :is(.card,.related-link){
  background:var(--bte-light-surface)!important;
  color:var(--bte-light-ink)!important;
  border-color:var(--bte-light-line)!important;
}
html body.bte-public-page main .bteGuideSection:not(.section--alt) :is(.card,.related-link) :is(h2,h3,h4,strong,b,.related-link__title){
  color:var(--bte-light-ink)!important;-webkit-text-fill-color:var(--bte-light-ink)!important;
}
html body.bte-public-page main .bteGuideSection:not(.section--alt) :is(.card,.related-link) :is(p,li,small,span,.related-link__copy){
  color:var(--bte-light-copy)!important;-webkit-text-fill-color:var(--bte-light-copy)!important;
}

/* Dark sections remain unambiguously dark, including cards inside them. */
html body.bte-public-page main>section.section--alt,
html body.bte-public-page main :is(.card--dark,.dark-card,.v4DarkPanel,.bte-report-hero,.bte-ride-hero,.termHero,.jp-hero){
  color:var(--bte-dark-ink)!important;
}
html body.bte-public-page main>section.section--alt :is(.card,.metric-tile,.fact-strip,.related-link,.media-panel,.form-panel,.detail-fact){
  background:var(--bte-dark-surface)!important;
  color:var(--bte-dark-ink)!important;
}
html body.bte-public-page main>section.section--alt :is(.card,.metric-tile,.fact-strip,.related-link,.media-panel,.form-panel,.detail-fact)
  :is(h1,h2,h3,h4,h5,h6,strong,b,.fact-strip__value,.metric-tile__value,.related-link__title){
  color:var(--bte-dark-ink)!important;-webkit-text-fill-color:var(--bte-dark-ink)!important;opacity:1!important;
}
html body.bte-public-page main>section.section--alt :is(.card,.metric-tile,.fact-strip,.related-link,.media-panel,.form-panel,.detail-fact)
  :is(p,li,small,span,.muted,.caption,.meta,.helper,.card__meta,.metric-tile__label,.metric-tile__note,.fact-strip__label,.related-link__copy){
  color:var(--bte-dark-copy)!important;-webkit-text-fill-color:var(--bte-dark-copy)!important;opacity:1!important;
}

/* Weather location switch is a light strip; its copy must never inherit dark-theme muted text. */
html body.weather-page .weather-location-switch :is(.eyebrow,.kicker){color:#2785b8!important;-webkit-text-fill-color:#2785b8!important}
html body.weather-page .weather-location-switch :is(p,span,small){color:var(--bte-light-copy)!important;-webkit-text-fill-color:var(--bte-light-copy)!important;opacity:1!important}
html body.weather-page .weather-location-switch strong{color:var(--bte-light-ink)!important;-webkit-text-fill-color:var(--bte-light-ink)!important}

/* Never allow accidental opacity to make production copy unreadable on light surfaces. */
html body.bte-public-page main :is(.aeo-answer,.weather-location-switch) *{opacity:1!important}

/* 2026-10-04 — rendered-surface repairs. Background includes gradients. */
html body.bte-public-page main .bteHomeLoop{background:#07131e!important;color:#f7fbff!important}
html body.bte-public-page main :is(.bteHomeLoop,.v4Dark) h2{color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important}
html body.bte-public-page main .bteHomeLoop p{color:#c5d4df!important;-webkit-text-fill-color:#c5d4df!important}
html body.bte-public-page main :is(.v4Hero,.v4NowPrimary,.v4CoachLead,.v4Dark) .v4Eyebrow{color:#b9d0df!important;-webkit-text-fill-color:#b9d0df!important;opacity:1!important}
html body.bte-public-page main :is(.v4HistoryCard,.v4Quote) span{color:#496277!important;-webkit-text-fill-color:#496277!important}
/* Action cards remain dark even within a light section. */
html body.bte-public-page main .card.card--action{background:#0b1b29!important;color:#f7fbff!important}
html body.bte-public-page main .card.card--action :is(h2,h3,h4,strong,b){color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important}
html body.bte-public-page main .card.card--action :is(p,span,small){color:#c5d4df!important;-webkit-text-fill-color:#c5d4df!important;opacity:1!important}
html body.bte-public-page main .card.card--action .eyebrow{color:#82efb2!important;-webkit-text-fill-color:#82efb2!important}
/* Weather metric tiles use the complete light background declared above. */
html body.weather-page main .weather-location-switch b{color:#0a2031!important;-webkit-text-fill-color:#0a2031!important}
html body.weather-page main .bteWeatherPlanHandoff{background:#f7fafc!important;color:#0a2031!important}
html body.weather-page main .bteWeatherPlanHandoff :is(h2,span){color:#0a2031!important;-webkit-text-fill-color:#0a2031!important}
/* Report navigation previously had light text on a transparent light surface. */
html body main .bte-report-stage-nav{background:#0b1b29!important}
html body main .bte-report-stage-nav :is(a,strong,span){color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important;opacity:1!important}
html body main :is(.bte-report-outcome,.bte-report-why,.bte-metric-targets,.bte-context-card,.bte-geometry-card,.bte-path-card,.bte-literature-card) .bte-section-kicker{color:#7ee2ff!important;-webkit-text-fill-color:#7ee2ff!important}
html body main :is(.bte-outcome-metric,.bte-height-benchmark,.bte-coach-confidence-badge,.r23-target-title,.bte-report-deep-dive) small,
html body main .bte-graph-session-picker label{color:#b4c8d7!important;-webkit-text-fill-color:#b4c8d7!important}
html body main .bte-height-benchmark.is-2026-pb strong{color:#82efb2!important;-webkit-text-fill-color:#82efb2!important}
html body main .bte-command-coach .kicker{color:#7ee2ff!important;-webkit-text-fill-color:#7ee2ff!important}
html body main .bte-review-report-hub>span{color:#b4c8d7!important;-webkit-text-fill-color:#b4c8d7!important}
html body main .bte-command-delta>span{color:#496277!important;-webkit-text-fill-color:#496277!important}
html body main :is(.bte-review-session-metrics,.bte-command-prediction) span{color:#496277!important;-webkit-text-fill-color:#496277!important}
html body main :is(.btn.btn-d,.bte-login-submit){background:#07568b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#07568b!important}
html body main :is(.btn.btn-d,.bte-login-submit):hover{background:#063f68!important;border-color:#063f68!important}
html body main :is(a,button,input,select,textarea):focus-visible{outline:3px solid #168cff!important;outline-offset:3px!important}

html body main .bte-report-deep-dive summary small{color:#b4c8d7!important;-webkit-text-fill-color:#b4c8d7!important}
html body[data-page="ride"] main :is(.bte-review-current-head,.bte-review-library-head) .kicker{color:#07568b!important;-webkit-text-fill-color:#07568b!important}
html body.bte-public-page main .aeo-answer :is(a,b,strong){color:#0a2031!important;-webkit-text-fill-color:#0a2031!important}

/* 2026-10-04: compact public heroes and accessible section descriptions */
html body.bio-page main .page-hero,html body.weather-page main .page-hero{min-height:0!important;padding-top:48px!important;padding-bottom:48px!important}
html body.weather-page main .page-hero h1{font-size:clamp(2.3rem,4.8vw,4.2rem)!important;max-width:18ch!important}
html body.bte-public-page main>section:not(.page-hero):not(.section--alt) .section-header .section-intro{color:#405568!important;opacity:1!important}
html{scroll-padding-top:110px}main [id]{scroll-margin-top:110px}
@media(max-width:700px){html body.bio-page main .page-hero,html body.weather-page main .page-hero{padding-top:28px!important;padding-bottom:28px!important}}

/* R3: enforce text fill as well as colour; visible keyboard focus. */
html body.bte-public-page main>section:not(.page-hero):not(.section--alt) .section-header .section-intro{color:#405568!important;-webkit-text-fill-color:#405568!important;opacity:1!important}
html body.weather-page .weather-location-switch :is(.eyebrow,.kicker){color:#17658e!important;-webkit-text-fill-color:#17658e!important}
html body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #f4b942!important;outline-offset:3px!important}
html body :is(input,select,textarea):disabled{opacity:1!important}
