:root{color:#e7ece8;font-synthesis:none;text-rendering:optimizelegibility;--muted:#919b98;--line:#ffffff16;--accent:#b7e6cb;background:#121719;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}[hidden]{display:none!important}.workspace{grid-template-rows:auto minmax(280px,1fr) auto;height:100dvh;min-height:100svh;display:grid}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:0 42px;display:flex}.identity{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brandmark{width:29px;height:29px;color:var(--accent)}.brand{letter-spacing:1px;align-items:center;font-size:20px;font-weight:650;display:flex}.brand-divider{background:#ffffff25;width:1px;height:20px;margin:0 24px}.product-name{letter-spacing:.02em;font-size:17px;font-weight:500}.revision{color:var(--muted);margin-left:6px;font-size:14px;font-weight:400}.private-label{color:#adb9b3;white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:inline-flex}.private-label svg{fill:none;stroke:currentColor;stroke-width:1.3px;width:15px;height:15px}.viewport{isolation:isolate;background:radial-gradient(at 52% 46%,#2b3337 0%,#1b2225 45%,#121719 84%);min-height:0;position:relative;overflow:hidden}#model-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#model-canvas:active{cursor:grabbing}.scene-caption{pointer-events:none;z-index:1;position:absolute;top:40px;left:43px}.eyebrow{letter-spacing:.18em;color:#97b5a4;font-size:12px;font-weight:500}h1{letter-spacing:.06em;color:#e4ebe6;margin:16px 0 20px;font-size:clamp(23px,2.3vw,34px);font-weight:400;line-height:1.5}.caption-rule{background:#718479;width:25px;height:1px;display:block}.scene-caption p{color:#85908b;letter-spacing:.05em;margin-top:15px;font-size:12px}.status-panel{z-index:2;text-align:center;border:1px solid var(--line);background:#182024ed;border-radius:12px;width:calc(100% - 40px);max-width:360px;padding:30px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 70px #0003}.status-panel h2{margin:20px 0 9px;font-size:17px;font-weight:500}.status-panel p{color:#a0afa7;margin:0 0 20px;font-size:14px;line-height:1.7}.loader{border:2px solid #b7e6cb20;border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}progress{width:100%;height:3px;accent-color:var(--accent);background:#ffffff12;border:none;border-radius:3px;display:block;overflow:hidden}progress::-webkit-progress-value{background:var(--accent);transition:width .2s}.model-tag{pointer-events:none;color:#9ba8a1;letter-spacing:.025em;align-items:center;gap:9px;font-size:12px;display:flex;position:absolute;bottom:30px;left:43px}.status-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.tag-divider{color:#68756f;margin:0 4px}.viewport-corner{pointer-events:none;position:absolute;bottom:24px;right:39px}.viewport-corner svg{stroke:#71837b;stroke-width:1px;fill:#71837b;width:40px;height:40px}.controlbar{border-top:1px solid var(--line);background:#14191b;justify-content:space-between;align-items:center;gap:22px;min-height:88px;padding:19px 42px;display:flex}.gesture-help{flex-wrap:wrap;gap:32px;display:flex}.gesture{color:#9aa69f;align-items:center;gap:11px;font-size:14px;display:inline-flex}.gesture svg{fill:none;stroke:#8a9c91;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:22px}.gesture .mouse-fill{fill:var(--accent);stroke:none}.gesture-action{color:#d5ddd7;margin-left:10px}.button{color:#d3e9da;cursor:pointer;white-space:nowrap;background:#26342c;border:1px solid #6f8b7b55;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 17px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.4}.button svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.key-hint{color:#a0b0a5;border:1px solid #7e998855;border-radius:3px;place-items:center;width:19px;height:20px;margin-left:8px;font-size:11px;font-weight:400;display:grid}.touch-help{color:#a3b1a8;font-size:14px;display:none}.noscript{color:#fff;text-align:center;background:#17241d;padding:40px;position:fixed;inset:35% 10%}@media (width<=900px){.topbar{min-height:74px;padding:0 26px}.scene-caption{top:28px;left:27px}h1{margin:12px 0 16px;font-size:24px}.controlbar{gap:15px;padding:16px 26px}.gesture-help{gap:18px}.gesture{gap:7px;font-size:13px}.gesture-action{margin-left:7px}.model-tag{left:27px}}@media (width<=640px){.topbar{min-height:68px;padding:0 20px}.brand-divider{margin:0 15px}.brand{font-size:17px}.brandmark{width:24px;height:24px}.product-name{font-size:15px}.private-label{gap:5px;font-size:12px}.scene-caption{top:26px;left:23px}.eyebrow{font-size:12px}h1{margin:12px 0 0;font-size:23px;line-height:1.5}h1 br,.caption-rule,.scene-caption p{display:none}.model-tag{bottom:23px;left:23px}.viewport-corner{bottom:16px;right:21px}.controlbar{flex-wrap:wrap;justify-content:center;gap:14px 20px;min-height:96px;padding:16px 20px}.gesture-help{gap:18px}.gesture:not(.primary-gesture){display:none}.reset-button{padding:11px 14px}.key-hint{display:none}}@media (pointer:coarse){.gesture-help{display:none}.touch-help{display:inline}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}.loader{animation-duration:2.5s}}:root{--accent:#2997ff;--line:#fff2}.topbar{-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#0a0d10c7;min-height:64px;padding:0 32px}.viewer-nav{align-items:center;gap:6px;display:flex}.viewer-nav-link,.viewer-back{color:#aab4bf;border-radius:999px;align-items:center;min-height:34px;padding:6px 12px;font-size:13px;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.viewer-nav-link.is-current{color:#fff;background:#ffffff18}.viewer-back{color:#2997ff;margin-left:8px}.status-panel{-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);background:#12181dd1;border-color:#ffffff20;border-radius:24px;box-shadow:0 24px 90px #00000059}.button{color:#f5f7fa;background:#ffffff14;border-color:#ffffff24;border-radius:999px}.controlbar{-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#0c1014e0;min-height:72px;padding:14px 32px}@media (width<=900px){.topbar{padding:0 24px}.controlbar{padding:14px 24px}}@media (width<=640px){.topbar{min-height:62px;padding:0 18px}.viewer-nav{gap:2px}.viewer-nav-link,.viewer-back{min-height:32px;padding-inline:9px;font-size:12px}.viewer-back{margin-left:2px}.controlbar{padding:14px 18px}}@media (prefers-reduced-motion:reduce){.viewer-nav-link,.viewer-back{transition:none}}:root{--site-blue:#0071e3;--site-blue-hover:#0077ed;--surface-soft:#f5f5f7;--surface-white:#fff;--ink:#1d1d1f;--muted-light:#6e6e73}body{color:var(--ink);background:var(--surface-soft);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Microsoft YaHei,system-ui,sans-serif}.topbar{min-height:64px;color:var(--ink);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#ffffffe0;border-bottom:1px solid #d2d2d7;padding:0 32px}.identity{gap:12px}.site-logo{object-fit:contain;filter:brightness(0);width:76px;height:36px;display:block}.identity-divider{background:#d2d2d7;width:1px;height:22px}.product-name{color:var(--ink);letter-spacing:-.02em;font-size:17px;font-weight:650}.viewer-nav-link{color:var(--muted-light)}.viewer-nav-link:hover,.viewer-nav-link:focus-visible,.viewer-nav-link.is-current{color:var(--site-blue);background:#0071e314}.viewer-back{color:var(--site-blue)}.viewer-back:hover,.viewer-back:focus-visible{color:var(--site-blue-hover);background:#0071e314}.viewport{background:radial-gradient(at 52% 46%,#38414a 0%,#1d252e 48%,#0b0d10 88%)}.scene-caption{-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:#0c10146b;border:1px solid #ffffff2e;border-radius:24px;padding:20px 22px;top:36px;left:40px;box-shadow:0 18px 50px #00000029}.eyebrow{color:#aeb4bf;letter-spacing:.16em;font-weight:650}h1{color:#f5f5f7;letter-spacing:-.035em;margin:14px 0 18px;font-weight:650}.caption-rule{background:var(--site-blue)}.scene-caption p{color:#aeb4bf}.status-panel{color:var(--ink);-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);background:#fffffff5;border-color:#d2d2d7;border-radius:24px;box-shadow:0 20px 60px #00000024}.status-panel p{color:var(--muted-light)}.loader{border-color:#0071e322;border-top-color:var(--site-blue)}progress{accent-color:var(--site-blue);background:#d2d2d7}progress::-webkit-progress-bar{background:#d2d2d7}progress::-webkit-progress-value{background:var(--site-blue)}.model-tag{color:#d2d2d7}.status-dot{background:var(--site-blue)}.viewport-corner svg{stroke:#aeb4bf;fill:#aeb4bf}.viewport-corner .axis-accent{stroke:var(--site-blue)}.controlbar{min-height:72px;color:var(--muted-light);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#fffffff0;border-top-color:#d2d2d7;padding:14px 32px}.gesture{color:var(--muted-light)}.gesture svg{stroke:#6e6e73}.gesture .mouse-fill{fill:var(--site-blue)}.gesture-action{color:var(--ink)}.primary-gesture .gesture-action{color:var(--site-blue)}.touch-help{color:var(--muted-light)}.button{color:#fff;background:var(--site-blue);border-color:var(--site-blue);box-shadow:0 8px 20px #0071e333}.button:hover:not(:disabled){background:var(--site-blue-hover);border-color:var(--site-blue-hover)}.key-hint{color:#ffffffd1;border-color:#ffffff7a}@media (width<=640px){.topbar{min-height:64px;padding:0 18px}.site-logo{width:68px;height:32px}.identity-divider{height:20px}.product-name{font-size:16px}.scene-caption{border-radius:20px;padding:16px 18px;top:22px;left:18px}.controlbar{min-height:88px;padding:14px 18px}}
