:root{color-scheme:light;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#24333f;background:#e5e8ea}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #18829a;outline-offset:3px}header{position:relative;z-index:5;height:76px;background:#101d2a;color:#dce5eb;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid #2a3e50}.logo{display:flex;gap:22px;align-items:center}.logo b{font-size:27px;letter-spacing:3px;color:#f3f5f5}.logo span{font-size:12px;color:#91a6b9;border-left:1px solid #435363;padding-left:22px}nav{align-self:stretch;display:flex;gap:40px;align-items:stretch}nav a{display:flex;align-items:center;font-size:14px;border-bottom:3px solid transparent;padding:3px 4px 0;color:#91a6b9}nav a.selected{border-color:#83ced6;color:#f1f6f8}.connection{display:flex;align-items:center;gap:9px;font-size:11px;color:#9cafbd}.connection i{width:6px;height:6px;border-radius:50%;background:#bd9a61}.connection.live i{background:#70c1a5}#viewer{height:calc(100dvh - 76px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#f6f6f3,#d9dfe3)}#canvas-host{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}.hero-title{position:absolute;top:34px;left:38px;pointer-events:none}.hero-title p{margin:0 0 7px;color:#6a8593;letter-spacing:4px;font-size:10px}.hero-title h1{font-size:28px;letter-spacing:1px;font-weight:550;margin:0 0 10px}.hero-title>span{font-size:11px;color:#7e8e96}.view-toolbar{position:absolute;right:30px;top:35px;display:flex;gap:3px;padding:5px;background:#fffdf9e6;border:1px solid #cbd4d9;border-radius:7px;box-shadow:0 3px 15px #627a8910}.view-toolbar button{background:none;border:0;color:#697a85;padding:9px 11px;border-radius:4px;font-size:11px}.view-toolbar button:hover,.view-toolbar button.active{background:#e3edf0;color:#266275}.view-toolbar>span{width:1px;background:#d7dfe3;margin:5px}.model-caption{position:absolute;bottom:133px;left:38px;pointer-events:none}.model-caption>span{display:block;font-size:11px;color:#69828f;letter-spacing:2px}.model-caption small{display:block;font-size:10px;color:#92a1a9;margin-top:5px}.mouse-hint{position:absolute;bottom:132px;right:32px;font-size:10px;color:#7b8c95;pointer-events:none}.mouse-hint b{padding:0 9px;font-weight:400;color:#aab8bf}.bottom-bar{position:absolute;inset:auto 24px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 25px;background:#f8faf9e8;border:1px solid #cbd6dc;border-radius:8px;box-shadow:0 8px 26px #5c728311;backdrop-filter:blur(12px)}.line-summary{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px}.line-summary>span{font:10px/1.8 monospace;letter-spacing:1px;color:#45889a;border:1px solid #b8cfd5;border-radius:3px;padding:2px 7px;align-self:center}.line-summary strong{font-size:13px;font-weight:500}.line-summary small{grid-column:1/-1;color:#8a9ba5;font-size:9px}.process-nav{display:flex;gap:9px;align-items:center}.process-nav button{border:0;background:none;color:#5f7685;font-size:11px;padding:6px}.process-nav button:hover{color:#13889b}.process-nav i{font-style:normal;font-size:10px;color:#b2bec6}.records-link{font-size:11px;white-space:nowrap;color:#387487}.label{position:absolute;pointer-events:auto;border:1px solid #bdcdd5;background:#ffffffed;color:#47606e;padding:7px 11px;border-radius:4px;font-size:11px;transform:translate(-50%,-100%);white-space:nowrap;box-shadow:0 4px 14px #3c58641a}.label:after{content:"";position:absolute;bottom:-15px;left:50%;height:14px;width:1px;background:#8ba4b2}#labels-layer{position:absolute;inset:0;pointer-events:none}#component-panel{position:absolute;right:28px;top:100px;width:285px;background:#ffffffed;border:1px solid #cbd7de;border-radius:8px;box-shadow:0 12px 40px #3e5d6d20;padding:26px;backdrop-filter:blur(10px)}#component-panel small{font:10px monospace;letter-spacing:2px;color:#5794a4}#component-panel h2{font-size:21px;font-weight:500;margin:12px 0}#component-panel p{font-size:12px;line-height:1.9;color:#72858e}#close-panel{float:right;font-size:21px;border:0;background:none;color:#879da8;margin:-12px -12px 0 0}dl{margin-top:24px}dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #e0e7ea;padding:13px 0;font-size:11px}dt{color:#8b9ba4}dd{margin:0;color:#577282}.part-note{font-size:10px;line-height:1.8;color:#96a5ad;margin-top:22px}#loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#e8edef;z-index:9}#loading[hidden]{display:none}.loading-mark{border:1px solid #aac4cf;color:#548898;border-radius:10px;padding:12px 16px;font-size:35px}#loading h2{font-weight:400;font-size:19px;color:#546e7d;margin-top:25px}#loading p{font-size:12px;color:#8b9da8}.error-text{max-width:420px;line-height:1.8;text-align:center}#component-panel[hidden]{display:none}@media(max-width:1250px){header{padding:0 24px}.logo{gap:12px}.logo span{padding-left:12px}.view-toolbar{top:115px;left:35px;right:auto}.bottom-bar{padding:18px}.line-summary small{max-width:210px}.process-nav{gap:3px}.process-nav button{font-size:10px}.hero-title{top:26px}.hero-title h1{font-size:24px}}@media(max-width:850px){header{height:64px;padding:0 17px}.logo span{display:none}.logo b{font-size:23px}nav{gap:20px}nav a{font-size:12px}.connection{font-size:9px}#viewer{height:calc(100dvh - 64px)}.hero-title{left:20px}.hero-title h1{font-size:22px}.hero-title>span{font-size:9px}.view-toolbar{left:18px;right:18px;top:118px;overflow:auto;white-space:nowrap}.view-toolbar button{padding:8px 9px;font-size:10px}.bottom-bar{inset:auto 12px 12px;padding:15px;flex-wrap:wrap;gap:10px}.line-summary{flex:1}.process-nav{order:3;width:100%;justify-content:space-between;border-top:1px solid #d8e2e7;padding-top:10px}.process-nav button{font-size:9px;padding:3px}.model-caption{left:22px;bottom:155px}.mouse-hint{bottom:139px;right:22px;font-size:8px}.mouse-hint b{padding:0 5px}#component-panel{right:16px;top:174px;width:245px;padding:20px}.model-caption small{font-size:8px}.model-caption>span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Quiet, full-canvas industrial product presentation. */
.equipment-only{background:#e3e7e8}.equipment-only header{position:absolute;inset:20px 22px auto auto;background:#fbfcfbd9;border:1px solid #c5ced166;border-radius:9px;height:44px;padding:0 7px;box-shadow:0 5px 25px #34475408;backdrop-filter:blur(15px)}
.equipment-only .logo,.equipment-only header .connection{display:none}.equipment-only nav{gap:3px}.equipment-only nav a{width:39px;justify-content:center;color:#849599;font-size:21px;padding:0;border:0;border-radius:6px;margin:5px 0}.equipment-only nav a.selected{background:#e0e9e9;color:#3d656c}
.equipment-only #viewer{height:100dvh;background:#e4e9e9}.equipment-only .hero-title,.equipment-only .bottom-bar,.equipment-only .model-caption,.equipment-only .mouse-hint,.equipment-only #component-panel,.equipment-only #labels-layer,.equipment-only #labels-btn{display:none!important}
.equipment-only .view-toolbar{top:auto;bottom:22px;left:50%;right:auto;transform:translateX(-50%);padding:6px;gap:4px;border:1px solid #c8d3d380;border-radius:12px;background:#fafcfbe8;box-shadow:0 8px 30px #3e535515;backdrop-filter:blur(16px)}
.equipment-only .view-toolbar button{width:39px;height:36px;padding:0;font:22px/1 system-ui;color:#748c90}.equipment-only .view-toolbar button.active{color:#375f65;background:#e2ecec}.equipment-only .view-toolbar button:hover{background:#e7eeee;color:#315b62}.equipment-only #loading h2,.equipment-only #loading p,.equipment-only #loading .loading-mark{display:none}.equipment-only #loading:after{content:"";width:24px;height:24px;border:2px solid #c2d1d3;border-top-color:#62878c;border-radius:50%}
@media(max-width:850px){.equipment-only .view-toolbar{top:auto;left:50%;right:auto;bottom:16px;max-width:calc(100vw - 20px);overflow:hidden}.equipment-only .view-toolbar button{width:31px;height:32px;font-size:19px}.equipment-only header{top:15px;right:15px}.equipment-only #viewer{height:100dvh}}
