/* Shared controls use the existing cyan palette, with space for fingers. */
.mobile-dock,.touch-toggle{display:none}
.model-markers{position:absolute;inset:0;z-index:2;pointer-events:none}
.model-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:1px solid #6f9d8d;border-radius:50%;background:#f5fff1ed;color:#0a695b;box-shadow:0 3px 15px #174f4020;font-size:12px;font-weight:600;pointer-events:auto;cursor:pointer}
.model-marker[aria-pressed=true]{background:#086b64;color:#fff;box-shadow:0 0 0 6px #ffffff55}
.machine-tour{margin-top:24px;border-top:1px solid #e1eae2;padding-top:16px}
.tour-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#6b877b}
.tour-topline button{border:0;background:none;color:#176e5c;min-height:44px;font-size:11px;padding:0 3px}
.tour-chips{position:relative;display:flex;overflow-x:auto;gap:7px;padding:5px 0 12px;scrollbar-width:thin;scrollbar-color:#a8c5b8 transparent}
.tour-chips button{flex-shrink:0;border:1px solid #c7dcd0;background:#fff;color:#3e715e;min-height:44px;padding:0 12px;border-radius:22px;font-size:11px}
.tour-chips button[aria-pressed=true]{background:#096c60;border-color:#096c60;color:#fff}
.tour-card{background:#edf5ee;border:1px solid #dde9dd;padding:18px;margin-top:4px;min-height:191px}
.tour-count{font-size:10px;letter-spacing:.08em;color:#418e74}.tour-card h3{font:500 20px/1.5 var(--serif);margin:12px 0 10px;color:#165c4d}.tour-card p{font-size:12px;line-height:1.9;color:#627f70;margin:0}
.tour-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.tour-actions button,.motion-options button,.journey-navigation button,.gallery-navigation button{border:1px solid #bad4c6;background:#f7fbf4;color:#256e57;min-height:44px;padding:10px 12px;font-size:12px}
.tour-actions button:last-child{background:#106e60;color:#fff;border-color:#106e60}
.viewer-settings{margin-top:22px;border-top:1px solid #dce8dc;padding-top:7px}.viewer-settings>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:12px;color:#3a715a;cursor:pointer;list-style:none}.viewer-settings>summary::-webkit-details-marker{display:none}.viewer-settings[open]>summary span{transform:rotate(45deg)}
.viewer-settings .panel-group{margin-top:8px;padding-top:15px}
.motion-options{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:0 0 18px}.motion-options label{font-size:11px;color:#5b7d69;white-space:nowrap}.motion-options select{border:1px solid #c9ddd1;background:#f7faf4;min-height:44px;padding:0 5px;color:#246a53;font-size:12px;min-width:0}
.gate-step-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gate-step-buttons button{border:1px solid #cfdfd2;background:#f7faf4;color:#517965;min-height:60px;font-size:11px;padding:9px 3px}.gate-step-buttons b{display:block;font-size:10px;letter-spacing:.1em;margin-bottom:7px;font-weight:400;color:inherit}.gate-step-buttons [aria-pressed=true]{background:#096e61;color:#fff;border-color:#096e61}.gate-panel .gate-step-copy{font-size:12px;line-height:1.8;margin:14px 0 20px;min-height:44px}
.gallery-navigation{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;color:#c2dbce;font-size:12px}.gallery-navigation button{background:#ffffff0c;color:#d6e9dd;border-color:#ffffff30;min-width:48px;font-size:18px}.gallery-main img,.demo-stage{touch-action:pan-y}
.journey-navigation{display:flex;align-items:center;justify-content:space-between;padding:0 32px 26px;gap:8px;font-size:12px;color:#61806d}.journey-navigation button:disabled{opacity:.35;cursor:default}
body.viewer-expanded{overflow:hidden}body.viewer-expanded .mobile-dock{display:none}
@media(max-width:900px){
  html{scroll-padding-top:18px}body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .header{padding-left:max(5%,env(safe-area-inset-left));padding-right:max(5%,env(safe-area-inset-right))}
  .menu-toggle{min-width:44px;min-height:44px}.nav.open a{min-height:44px;display:flex;align-items:center}.nav.open{max-height:calc(100dvh - 150px);overflow-y:auto}
  input:not([type=range]),select,textarea{font-size:16px!important}.button,.text-link{min-height:44px}.button{align-items:center}.text-link{display:inline-flex;align-items:center}
  .mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);padding:7px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left));background:#f6faf3f5;border-top:1px solid #bfd4c7;box-shadow:0 -5px 25px #0d3e4010;backdrop-filter:blur(18px)}
  .mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:49px;font-size:11px;color:#688278;border-radius:10px;text-decoration:none}.mobile-dock svg{width:22px;height:22px}.mobile-dock a[aria-current]{background:#dfede3;color:#05695f}
  .model-page main{padding:0 4%}.model-heading{padding:24px 0 26px}.model-heading h1{font-size:30px}.model-breadcrumb{font-size:12px;margin-bottom:20px}
  .viewer-shell{min-height:0;height:clamp(340px,46svh,420px);touch-action:pan-y}.viewer-shell .canvas-host{touch-action:pan-y}.viewer-shell .canvas-host canvas{pointer-events:none;touch-action:pan-y!important}.viewer-shell.touch-active .canvas-host canvas{pointer-events:auto;touch-action:none!important}
  .viewer-top{top:17px;left:14px;right:14px;gap:7px;letter-spacing:.07em;font-size:8px}.viewer-top>span:last-child{font-size:10px;padding:6px 8px;white-space:nowrap}
  .touch-toggle{display:block;position:absolute;bottom:68px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap;border:1px solid #91baa7;border-radius:24px;background:#f7fff4ed;color:#136b57;min-height:44px;padding:10px 20px;font-size:12px;box-shadow:0 4px 15px #285e4c10}.touch-toggle[aria-pressed=true]{background:#096c60;color:#fff;border-color:#096c60}.touch-toggle:disabled{opacity:.45}
  .view-toolbar{bottom:15px;padding:3px;max-width:calc(100% - 70px);left:14px;transform:none;gap:0}.view-toolbar button{min-height:40px;min-width:48px;padding:7px 11px;font-size:12px}.viewer-bottom{bottom:17px;right:12px;left:auto}.viewer-bottom>span:first-child{display:none}.icon-button{width:44px;height:44px}
  .model-marker{width:44px;height:44px;font-size:11px}.viewer-shell:fullscreen,.viewer-shell.expanded{height:100dvh}.viewer-shell:fullscreen .touch-toggle,.viewer-shell.expanded .touch-toggle{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .viewer-panel{padding:24px 20px}.panel-heading h2{font-size:25px;margin:12px 0}.panel-heading p{font-size:13px;line-height:1.9}.machine-tour{margin-top:19px}.tour-topline{font-size:12px}.tour-topline button{font-size:12px}.tour-chips button{font-size:12px}.tour-card{min-height:158px;padding:18px}.tour-card h3{font-size:22px;margin:9px 0}.tour-card p{font-size:13px}.tour-actions button{font-size:13px;padding:10px 15px}.tour-count{font-size:11px}
  .panel-group{margin-top:21px;padding-top:18px}.panel-label{font-size:12px}.tool-grid{gap:7px}.tool-grid button{min-height:68px}.tool-grid button span{font-size:11px}.appearance-options button{min-height:44px;font-size:12px}.axis-label,.model-info p,.import-details p,.viewer-status{font-size:12px}.model-info strong{font-size:13px}.viewer-settings>summary,.import-details summary{font-size:13px;min-height:44px}.import-actions{flex-wrap:wrap}.import-actions button{min-height:44px;font-size:12px}
  .model-guide p,.model-source-note,.gate-heading>p{font-size:13px;line-height:1.9}.model-guide h3{font-size:16px}.model-source-note summary{min-height:44px;display:flex;align-items:center}.gate-section{scroll-margin-top:18px}.gate-heading{margin-bottom:22px}.gate-heading h2{font-size:30px}
  .gate-stage{height:370px;min-height:0}.gate-stage .touch-toggle{bottom:24px}.gate-stage .viewer-bottom{bottom:79px;right:20px}.gate-panel{padding:25px 20px}.gate-panel>p{font-size:13px}.gate-play-row{margin:20px 0 14px}.gate-play-row button{min-height:48px;font-size:14px}.gate-step-buttons button{font-size:12px;min-height:64px}.gate-panel .gate-step-copy{font-size:13px;min-height:47px}.motion-options{gap:8px}.motion-options label{font-size:12px;gap:6px}.motion-options select{max-width:138px}.motion-options button{font-size:12px;padding:10px 9px;margin-left:auto;white-space:nowrap}.gate-slider-label{font-size:13px}#gate-angle{min-height:44px;margin:10px 0}.gate-scale{font-size:11px}.gate-panel .inspection-options button{min-height:46px;font-size:12px}.gate-shell-toggle{min-height:44px;font-size:13px}.gate-panel>small{font-size:12px;line-height:1.9}
  .journey-tabs{display:flex!important;overflow-x:auto;gap:7px;padding:0 0 9px;position:relative;scrollbar-width:thin}.journey-tabs button{flex:0 0 auto;min-height:52px;display:flex;gap:8px;align-items:center;padding:12px 15px!important;width:auto!important}.journey-tabs button b{display:none}.journey-tabs button strong{font-size:12px}.journey-tabs button span{font-size:11px}.journey-navigation{padding:0 20px 23px}.journey-navigation button{font-size:12px}.journey-panel-copy p{font-size:14px!important}.gallery-navigation{font-size:12px}.gallery-main figcaption{font-size:12px}
  .paper-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.paper-option{flex-direction:column;align-items:flex-start;gap:9px;padding:14px 9px!important;min-height:106px}.paper-option>span:nth-child(2){min-width:0}.paper-option strong{font-size:12px;line-height:1.5}.paper-option small,.paper-option>b{display:none}.paper-option .option-icon{font-size:20px;width:auto}.demo-note{font-size:12px!important}.demo-controls{padding:22px!important}.demo-stage{min-height:260px!important}.demo-result{padding:25px!important}.demo-result>p:not(.result-status){font-size:13px!important}
}
@media(max-width:355px){.viewer-top>span:first-child{font-size:7px;letter-spacing:0}.viewer-panel,.gate-panel{padding:20px 15px}.model-heading h1{font-size:27px}.view-toolbar button{min-width:43px;padding:7px 9px}.motion-options{flex-wrap:wrap}.motion-options select{font-size:16px}.tour-card{padding:15px}.model-marker{width:40px;height:40px}.touch-toggle{padding:10px 15px}}
@media(prefers-reduced-motion:reduce){.model-marker,.mobile-dock a{transition:none}}
.marker-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.marker-leaders line{stroke:#317d65;stroke-width:1;opacity:.65}.tour-view-caption{position:absolute;top:65px;left:25px;z-index:3;background:#edf9e9e8;border:1px solid #a7c5b2;border-radius:6px;padding:9px 13px;color:#176b54;font-size:12px;pointer-events:none}
@media(max-width:900px){.tour-view-caption{left:14px;top:54px;font-size:12px}.model-marker{width:44px;height:44px}}

@media(min-width:701px) and (max-width:900px){.header{height:70px}.menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;background:none;border:1px solid #ffffff70;border-radius:50%;color:white}.menu-toggle span{width:16px;height:1px;background:currentColor}.nav{display:none;position:absolute;top:70px;left:0;right:0;padding:20px 5% 26px;background:#064e50;align-items:stretch;gap:0;flex-direction:column}.nav.open{display:flex}.nav>a{padding:14px 0}.nav-cta{margin-top:12px}.showroom,.gate-layout{grid-template-columns:1fr}.viewer-panel,.gate-panel{border-left:0;border-top:1px solid #c9ddd4}.gate-heading{display:block}.gate-heading>p{margin-top:15px}}
@media(orientation:landscape) and (max-width:900px) and (max-height:600px){.viewer-shell{height:360px;min-height:0}.gate-stage{height:340px}.touch-toggle{bottom:68px}.gate-stage .touch-toggle{bottom:24px}}
