/* Keep the drawing on screen as browser bars, orientation and fold state change. */
html:has(.process-page){height:100%;overflow:hidden}
.process-page{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}
.process-page .site-header{height:calc(76px + env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top);box-sizing:border-box;flex:0 0 auto}
.process-main{flex:1;width:100%;height:auto!important;min-height:0;padding-left:max(4%,env(safe-area-inset-left));padding-right:max(4%,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(0,1fr) auto}
.process-heading>div{min-width:0}.process-heading h1{overflow-wrap:anywhere;text-wrap:balance}
.process-tabs{min-width:0;box-sizing:border-box}.flow-tab{min-width:0;overflow-wrap:anywhere;touch-action:manipulation}
.diagram-panel,.node-info{max-height:100%}.company-flow .detail-copy{min-height:0;overscroll-behavior:contain;scrollbar-width:none;overflow:auto}.company-flow .detail-copy::-webkit-scrollbar{display:none}
.process-controls button,.map-tools button,.detail-close,.step-controls button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.company-flow .detail-close{width:44px;height:44px;flex-shrink:0}.company-flow .step-controls button{width:44px;height:44px;flex-shrink:0}.company-flow .step-controls select{min-height:44px;font-size:16px}
.company-flow .detail-top{min-height:44px;flex-shrink:0}.company-flow .node-info{isolation:isolate}.company-flow .detail-close{position:relative;z-index:7}
@media(max-width:1180px),(pointer:coarse){
 .company-flow .map-tools button{width:40px;height:40px}.company-flow .diagram-top{min-height:44px;box-sizing:border-box;padding:4px 10px}.diagram-bottom{min-height:26px;padding:6px 10px;box-sizing:border-box}
 .process-controls{gap:8px;min-height:44px}.process-controls .primary,.process-controls .outline,.process-controls .text-button{min-height:44px;padding:8px 12px;font-size:12px;line-height:1.2;white-space:normal}
 .flow-tab{min-height:44px}.company-flow .node-info p{max-width:none}
}
@media(max-width:980px){
 .process-page .site-header{height:calc(64px + env(safe-area-inset-top))!important;padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px}
 .process-main{gap:8px;padding-top:8px}.process-heading .eyebrow,.process-heading p,.selection-caption{display:none}.process-heading h1{font-size:clamp(19px,3.2vw,27px);margin:2px 0}.process-heading .outline{display:none}
 .process-tabs{width:100%;padding:3px;gap:4px}.flow-tab{flex:1;font-size:12px;padding:7px}.process-selection{min-height:0}
}
@media(max-width:600px),(max-width:980px) and (max-aspect-ratio:6/5){
 .company-flow .node-info.is-open{display:flex;flex-direction:column;gap:0;padding:10px 15px}
 .company-flow .node-info-icon{height:auto;min-height:72px;flex:1 1 160px;max-height:300px}
 .company-flow .detail-copy{flex:0 1 auto;align-self:stretch;max-height:38%}.company-flow .node-info h2{font-size:23px;margin:5px 0 7px}.company-flow .node-info p{font-size:13px;line-height:1.5}
 .company-flow .operation-sequence{margin:8px 0;flex-shrink:0}.company-flow .operation-sequence span{font-size:10px;padding:7px 3px}.company-flow .detail-steps{flex-shrink:0;padding-top:7px}.company-flow .model-caption{display:none}
}
@media(max-width:540px){
 .process-page .site-header{height:calc(58px + env(safe-area-inset-top))!important}
 .process-main{padding-top:5px;gap:6px}.process-heading h1{font-size:20px;line-height:1.2}.flow-tab{font-size:11px}.process-controls{gap:5px}.process-controls .primary,.process-controls .outline,.process-controls .text-button{font-size:11px;padding:7px 9px}.process-controls .flow-progress{min-width:32px;font-size:9px}
 .company-flow .diagram-top{font-size:10px;gap:4px}.company-flow .map-tools button{width:38px}.company-flow .node-info.is-open{padding:8px 12px}
}
@media(max-height:560px) and (min-aspect-ratio:6/5){
 .process-page .site-header{height:calc(52px + env(safe-area-inset-top))!important;padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px}
 .process-main{grid-template-rows:auto minmax(0,1fr) auto;padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom));gap:4px}.process-heading{display:none}.process-tabs{padding:2px}.flow-tab{min-height:40px;padding:5px 12px}.process-controls{min-height:40px}.process-controls .primary,.process-controls .outline,.process-controls .text-button{min-height:40px}
 .company-flow .diagram-top{min-height:38px;padding:2px 10px}.company-flow .map-tools button{width:36px;height:34px}.diagram-bottom{min-height:20px;padding:3px 10px;font-size:9px}
 .company-flow .node-info.is-open{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:40px minmax(0,1fr) 44px;gap:3px 14px;padding:5px 12px}
 .company-flow .detail-top{grid-column:1/-1;grid-row:1;min-height:40px}.company-flow .detail-close{width:40px;height:40px}.company-flow .node-info-icon{grid-column:1;grid-row:2/4;min-height:0;height:100%;max-height:none}
 .company-flow .detail-copy{grid-column:2;grid-row:2;align-self:stretch;max-height:none;overflow:auto}.company-flow .node-info h2{font-size:18px;margin:0 0 4px}.company-flow .node-info p{font-size:12px;line-height:1.4}.company-flow .node-count{display:none}
 .company-flow .detail-steps{grid-column:2;grid-row:3;padding-top:0;border:0;align-self:end}.company-flow .detail-steps label,.company-flow .model-caption,.company-flow .operation-sequence{display:none}.company-flow .step-controls select{padding:5px 7px}
}
