/* Final responsive layer: readable text, safe content frames and presentation mode. */
:root{--sans:'Microsoft YaHei UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',Arial,sans-serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,textarea,select{font-family:inherit}
button,figure,img,section,article,aside{min-width:0}
p,li{overflow-wrap:break-word}
button svg{flex-shrink:0}
.readable-copy{font-size:11px!important;line-height:1.55!important}
.display-tools{position:fixed;right:16px;bottom:5px;z-index:25;display:flex;gap:6px}
.display-tools button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:4px 9px;border:1px solid #a6b9cc;border-radius:6px;background:#f4f8fc;color:#204463;font-size:11px;line-height:1.3}
.display-tools svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.display-tools button[aria-pressed=true]{background:#125dc3;border-color:#73b8ff;color:#fff}
body:has(dialog[open]) .display-tools{display:none}
#detail-dialog{max-width:min(1000px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
#detail-dialog p,#detail-dialog li{font-size:15px;line-height:1.75}
#detail-dialog img{max-width:100%;height:auto}
.dialog-close{min-width:44px;min-height:44px}
#products-matrix>.slide-bottom{position:absolute;width:auto;left:var(--content-inline,var(--space));right:var(--content-inline,var(--space))}
.closed-feedback strong{white-space:normal;text-wrap:balance}
.command-metric-label{white-space:normal;line-height:1.45}
.command-metric-note{flex-shrink:0}
#engine-operations .command-domain{overflow:hidden}
#engine-operations .command-position p{font-size:12px;line-height:1.55}
#engine-operations .command-domain-grid{min-height:0}
#engine-operations .command-metric-report{min-height:0}
#engine-research .operations-reference-copy p,#engine-research .command-center-reference-copy p{font-size:12px;line-height:1.65}
.operations-reference-copy,.command-center-reference-copy{overscroll-behavior:contain}
.matrix-capabilities small,.matrix-values small{font-size:11px!important;line-height:1.5}
.closed-step{font-size:11px;line-height:1.4}
@media(min-width:901px) and (min-height:621px){
 .page-counter{right:14px;bottom:83px;font-size:16px}
 .slide>.slide-bottom{right:max(var(--space),55px)}
 #engine-operations .command-value{min-height:52px;padding:10px 14px}
 #engine-operations .command-workspace{grid-template-columns:clamp(140px,13vw,210px) minmax(0,1fr)}
 #engine-operations .command-domain h3{font-size:clamp(14px,1.1vw,19px)}
 #engine-operations .command-domain header{gap:6px}
 #engine-operations .command-demo-tag{font-size:10px}
 #engine-operations .bike-business-report{padding:10px}
 #engine-operations .bike-profit{padding:5px 0}
 #engine-operations .bike-profit strong{font-size:36px}
 #engine-operations .bike-live-chart{margin-top:8px}
 #engine-operations .bike-day-readout{min-height:38px}
}
@media(max-width:1200px) and (min-width:901px) and (min-height:621px){
 #products-matrix .matrix-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.7fr)}
 #products-matrix .matrix-description{min-width:0}
 #products-matrix .matrix-detail figure{min-width:0}
 #engine-operations .command-workspace{grid-template-columns:130px minmax(0,1fr);gap:8px}
 #engine-operations .command-scene-tabs button>span{flex-wrap:wrap}
 #engine-operations .command-domain-grid{gap:6px;inset:8px}
 #engine-operations .command-domain{padding:9px}
 #engine-operations .command-domain header>i{width:24px;height:24px;flex-basis:24px}
 #engine-operations .command-domain header{align-content:start;min-height:57px}
 #engine-operations .command-domain header small{display:none}
 #engine-operations .command-metric{padding:8px 6px}
 #engine-operations .command-metric strong{font-size:23px}
}
@media(max-width:900px),(max-height:620px){
 .readable-copy{font-size:12px!important;line-height:1.6!important}
 .display-tools{top:15px;bottom:auto;right:14px}
 .display-tools button{min-height:36px;font-size:12px}
 #display-projection{display:none}
 .slide>.slide-bottom,#products-matrix>.slide-bottom,#engine-research>.slide-bottom{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:calc(100% - 40px);margin:12px 20px 30px;gap:12px;flex-wrap:wrap}
 .slide>.slide-bottom>span:last-child{max-width:100%;text-align:left}
 .top-nav{overflow-x:auto!important;scrollbar-width:thin;scrollbar-color:#89a9cf transparent;gap:18px!important}
 .top-nav a{flex-shrink:0;min-height:44px;display:flex;align-items:center;font-size:14px}
 #engine-operations.engine-command-page{height:auto;min-height:100svh;overflow:visible}
 #engine-operations .command-scene-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:8px;margin-bottom:12px}
 #engine-operations .command-scene-tabs button{min-height:58px;flex:auto;padding:10px}
 #engine-operations .command-scene-tabs button:last-child{grid-column:auto}
 #engine-operations .command-domain-grid{padding:10px;gap:14px}
 #engine-operations .command-domain{min-height:0;padding:16px;overflow:visible}
 #engine-operations .command-domain h3{font-size:18px;white-space:normal}
 #engine-operations .command-domain header{padding-bottom:12px}
 #engine-operations .command-domain header small{font-size:12px}
 #engine-operations .command-six-metrics{flex:none;grid-auto-rows:auto;grid-template-rows:none;gap:10px}
 #engine-operations .command-metric{min-height:96px;padding:13px 10px}
 #engine-operations .command-metric-label{font-size:13px}
 #engine-operations .command-metric strong{font-size:27px}
 #engine-operations .command-metric small{font-size:12px}
 #engine-operations .bike-live-chart{margin-top:18px}
 #engine-operations .bike-live-chart svg{max-height:none}
 #engine-operations .bike-day-readout{min-height:44px;gap:6px}
 #engine-operations .bike-day-readout>span{flex-wrap:wrap}
 #engine-operations .command-value{gap:10px;padding:14px}
 #engine-operations .command-value span{font-size:13px;line-height:1.6}
 #engine .industry-node p,#engine .industry-node small{font-size:14px;line-height:1.6}
 #engine-research .operations-reference-copy p,#engine-research .command-center-reference-copy p{font-size:14px;line-height:1.75}
 .closed-apps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .closed-apps img{height:135px}.closed-apps b{font-size:13px}
 .closed-stage{min-height:210px}.closed-stage p,.closed-stage ul{font-size:13px}
 .closed-stage>img{height:190px}.closed-feedback strong{font-size:16px}
 .module-subnav a,.text-button,.dialog-done{min-height:44px;display:inline-flex;align-items:center}
 .site-interaction-hint{display:none}
}
@media(max-width:360px){.header{padding-inline:16px}.brand-logo{width:118px}.command-metric p{gap:3px}.bike-revenue{gap:6px}.bike-revenue strong{font-size:20px}}
/* Explicit projector mode. Keep content reachable rather than reducing text size. */
body.presentation-mode .readable-copy{font-size:14px!important;line-height:1.65!important}
body.presentation-mode .slide-inner p,body.presentation-mode .slide-inner li{font-size:16px;line-height:1.65}
body.presentation-mode .slide-inner :is(h2,h3,h4){letter-spacing:normal}
body.presentation-mode .slide-inner h2{font-size:clamp(30px,3.2vw,56px)}
body.presentation-mode .page-dots{opacity:.7}
body.presentation-mode .slide-inner{scrollbar-width:thin;scrollbar-color:#5d91b7 transparent}
body.presentation-mode #engine-operations .command-domain{background:#102131;backdrop-filter:none;border-color:#7a9aa9}
body.presentation-mode #engine-operations .command-domain-safety{background:#28231d}
body.presentation-mode #engine-operations .command-domain-carbon{background:#102b2a}
body.presentation-mode #engine-operations .command-metric-label{font-size:14px}
body.presentation-mode #engine-operations .command-domain h3{font-size:18px;white-space:normal}
body.presentation-mode #engine-operations .command-metric strong{font-size:30px}
body.presentation-mode #engine-operations .command-six-metrics{flex:none;grid-template-rows:repeat(3,minmax(76px,auto))}
body.presentation-mode #engine-research .operations-reference-copy p,body.presentation-mode #engine-research .command-center-reference-copy p{font-size:15px;line-height:1.7}
body.presentation-mode .closed-stage p,body.presentation-mode .closed-stage ul{font-size:14px}
body.presentation-mode .closed-stage{overflow:auto}
body.presentation-mode .research-shared-summary p{font-size:14px!important}
body.presentation-mode .industry-node small,body.presentation-mode .industry-node p{font-size:14px;line-height:1.6}
body.presentation-mode *,body.presentation-mode *::before,body.presentation-mode *::after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(min-width:901px) and (min-height:621px){#engine-operations.engine-command-page>.slide-inner{padding-bottom:20px}.presentation-mode #engine-operations .command-scene-tabs button>span{flex-wrap:wrap}}
body.presentation-mode #engine-operations :is(p,small,time){color:#cbdcd9}
body.presentation-mode #engine-operations .bike-profit>b{color:#70dfbb}
body.presentation-mode #engine-operations .command-metric-note{font-size:12px;line-height:1.5}
body.presentation-mode .slide h2{font-weight:750}
@media(min-width:901px) and (min-height:621px){body .slide>.slide-bottom{bottom:50px}body #products-industry>.slide-inner{padding-bottom:34px}}
.matrix-values>div>i>svg,.matrix-capabilities>span>i>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.presentation-mode #engine-operations .bike-live-chart svg{max-height:none}
body.presentation-mode #engine-operations .bike-live-chart svg text{font-size:13px}

/* Adaptive safety layer: keep type, icons and controls inside every viewport. */
:root{
 --content-inline:clamp(20px,5.4vw,112px);
 --ui-copy:clamp(12px,.82vw,16px);
 --ui-label:clamp(12px,.9vw,17px);
 --ui-icon:clamp(18px,1.45vw,28px);
}
html{overflow-wrap:anywhere}
body{min-width:0}
:where(.slide-inner,.reference-content-frame,.home-content-area){min-width:0;max-width:100%}
:where(img,video,canvas){max-width:100%}
:where(button,a,[role=tab]){max-width:100%}
:where(button,a,[role=tab]) :is(svg,img){flex:0 0 auto}
.command-scene-tabs button>span{flex-wrap:wrap;overflow:visible;line-height:1.35}

/* Explicit leading avoids Chinese glyph clipping at non-default display scale. */
#engine-research .engine-module-tabs button{height:auto;min-width:0;overflow:visible}
#engine-research .engine-module-tabs button span{
 display:block;width:100%;min-width:0;overflow:visible;text-overflow:clip;
 line-height:1.55;padding-block:2px;text-wrap:balance;
}
#engine-research .engine-module-tabs button i{
 width:clamp(28px,var(--ui-icon),36px);height:clamp(28px,var(--ui-icon),36px);
 flex-basis:clamp(28px,var(--ui-icon),36px);
}

@media(min-width:901px) and (max-width:1200px){
 :root{--header-height:clamp(68px,8vw,82px);--space:clamp(24px,4vw,48px)}
 .header{gap:clamp(18px,3vw,36px)}
 .brand-logo{width:clamp(132px,15vw,168px)}
 .top-nav{min-width:0;gap:clamp(15px,2.2vw,27px)}
 .top-nav a{font-size:clamp(12px,1.2vw,14px);white-space:nowrap}
 .slide-inner{padding-left:var(--content-inline);padding-right:var(--content-inline)}
 #engine-research>.slide-inner{grid-template-columns:clamp(150px,18vw,205px) minmax(0,1fr)}
 #engine-research .engine-module-tabs button{padding:clamp(12px,1.7vw,20px)}
 #engine-research .engine-module-tabs button span{font-size:clamp(14px,1.55vw,18px)}
}

@media(max-width:900px),(max-height:620px){
 :root{--header-height:112px;--space:clamp(16px,5vw,28px)}
 body{overflow-x:hidden;overflow-y:auto}
 .header{height:var(--header-height);padding:0 var(--space) 44px;gap:14px}
 .brand-logo{width:clamp(112px,32vw,150px);height:68px;max-height:68px}
 .top-nav{position:absolute;left:0;right:0;bottom:0;min-width:0;height:44px;padding-inline:var(--space);border-top:1px solid #e1e5ea;background:inherit}
 .top-nav a{height:44px}
 .slide-inner{width:100%;padding-left:var(--space);padding-right:var(--space)}
 .command-scene-tabs button>span{align-items:flex-start;flex-direction:column;gap:3px}
 .command-scene-tabs button b{white-space:normal;line-height:1.35}
 #engine-research .engine-module-tabs button span{font-size:clamp(11px,3.2vw,14px);line-height:1.45;padding-block:3px}
}

@media(max-width:420px){
 .header{align-items:center}
 .top-nav{gap:14px!important}
 .top-nav a{font-size:13px}
 #engine-research .engine-module-tabs{grid-template-columns:1fr;gap:8px}
 #engine-research .engine-module-tabs button{min-height:48px;flex-direction:row;align-items:center;justify-content:flex-start;padding:8px 12px}
 #engine-research .engine-module-tabs button i{display:grid;width:28px;height:28px;flex-basis:28px}
 #engine-research .engine-module-tabs button span{text-align:left;font-size:13px}
}
