.scene-viewer-canvas[data-v-966b0c63]{width:100%;height:100%;position:relative;background:#fff}.gesture-guide[data-v-e0d8f798]{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));box-sizing:border-box;background:#080c18b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.gesture-guide__panel[data-v-e0d8f798]{width:min(78vw,460px);max-height:min(82vh,280px);display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 14px 10px;border-radius:14px;background:#fffffff7;border:1px solid rgba(255,255,255,.2);box-shadow:0 16px 40px #0000004d;box-sizing:border-box}.gesture-guide__title[data-v-e0d8f798]{margin:0;font-size:14px;font-weight:600;color:#1d1d1f;letter-spacing:.04em}.gesture-guide__demos[data-v-e0d8f798]{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1;min-height:0}.demo[data-v-e0d8f798]{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.demo__stage[data-v-e0d8f798]{position:relative;width:100%;aspect-ratio:1.15 / 1;max-height:96px;border-radius:10px;background:linear-gradient(160deg,#eef2f7,#e2e8f0);overflow:hidden}.demo__label[data-v-e0d8f798]{margin:0;font-size:10px;font-weight:500;color:#636366;white-space:nowrap}.demo__cube[data-v-e0d8f798]{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:6px;background:linear-gradient(145deg,#5b8def,#3a6fd8 55%,#2f5bb8);box-shadow:0 4px 10px #2f5bb859,inset 0 1px #ffffff59}.demo__orbit[data-v-e0d8f798]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.demo__cube--spin[data-v-e0d8f798]{animation:cube-spin-e0d8f798 2.4s ease-in-out infinite}.demo__cube--zoom[data-v-e0d8f798]{animation:cube-zoom-e0d8f798 2.2s ease-in-out infinite}.demo__cube--pan[data-v-e0d8f798]{animation:cube-pan-e0d8f798 2.4s ease-in-out infinite}@keyframes cube-spin-e0d8f798{0%,to{transform:rotateY(-28deg) rotateX(8deg)}50%{transform:rotateY(28deg) rotateX(8deg)}}@keyframes cube-zoom-e0d8f798{0%,to{transform:scale(.72)}50%{transform:scale(1.28)}}@keyframes cube-pan-e0d8f798{0%,to{transform:translate(-14px)}50%{transform:translate(14px)}}.demo__finger[data-v-e0d8f798]{position:absolute;width:16px;height:16px;pointer-events:none}.demo__tip[data-v-e0d8f798]{display:block;width:13px;height:13px;border-radius:50%;background:#1d1d1fe0;border:1.5px solid rgba(255,255,255,.95);box-shadow:0 1px 5px #00000040}.demo__trail[data-v-e0d8f798]{position:absolute;left:50%;top:50%;width:24px;height:2px;margin-top:-1px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(29,29,31,.35));opacity:.7;transform-origin:left center}.demo__finger--swipe[data-v-e0d8f798]{top:62%;left:22%;animation:finger-swipe-e0d8f798 2.4s ease-in-out infinite}.demo__finger--swipe .demo__trail[data-v-e0d8f798]{animation:trail-fade-e0d8f798 2.4s ease-in-out infinite}@keyframes finger-swipe-e0d8f798{0%,to{transform:translate(0)}50%{transform:translate(58%)}}@keyframes trail-fade-e0d8f798{0%,to{opacity:.25;width:20px}50%{opacity:.7;width:40px}}.demo__finger--pinch-a[data-v-e0d8f798]{top:28%;left:28%;animation:pinch-a-e0d8f798 2.2s ease-in-out infinite}.demo__finger--pinch-b[data-v-e0d8f798]{top:58%;left:58%;animation:pinch-b-e0d8f798 2.2s ease-in-out infinite}@keyframes pinch-a-e0d8f798{0%,to{transform:translate(-10px,-10px)}50%{transform:translate(8px,8px)}}@keyframes pinch-b-e0d8f798{0%,to{transform:translate(10px,10px)}50%{transform:translate(-8px,-8px)}}.demo__finger--pan-a[data-v-e0d8f798]{top:42%;left:30%;animation:pan-fingers-e0d8f798 2.4s ease-in-out infinite}.demo__finger--pan-b[data-v-e0d8f798]{top:42%;left:48%;animation:pan-fingers-e0d8f798 2.4s ease-in-out infinite}@keyframes pan-fingers-e0d8f798{0%,to{transform:translate(-16px)}50%{transform:translate(16px)}}.gesture-guide__btn[data-v-e0d8f798]{display:block;width:min(100%,180px);margin-top:2px;padding:8px 12px;border:none;border-radius:9px;background:#0071e3;color:#fff;font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;flex-shrink:0}.gesture-guide__btn[data-v-e0d8f798]:active{opacity:.9}@media(orientation:portrait){.gesture-guide__panel[data-v-e0d8f798]{max-height:min(80vh,420px);width:min(82vw,280px)}.gesture-guide__demos[data-v-e0d8f798]{grid-template-columns:1fr;gap:8px}.demo__stage[data-v-e0d8f798]{max-height:72px;aspect-ratio:2.4 / 1}}.menu-guide[data-v-61548ea4]{--guide-btn-left: calc(16px + env(safe-area-inset-left, 0px)) ;--guide-btn-top: calc(16px + env(safe-area-inset-top, 0px)) ;--guide-btn-size: 44px;--guide-hole-r: 36px;position:fixed;inset:0;z-index:210;pointer-events:none}.menu-guide__catch[data-v-61548ea4]{position:absolute;inset:0;pointer-events:auto}.menu-guide__hole[data-v-61548ea4]{position:absolute;left:calc(var(--guide-btn-left) + var(--guide-btn-size) / 2 - var(--guide-hole-r));top:calc(var(--guide-btn-top) + var(--guide-btn-size) / 2 - var(--guide-hole-r));width:calc(var(--guide-hole-r) * 2);height:calc(var(--guide-hole-r) * 2);border-radius:50%;box-shadow:0 0 0 9999px #080c189e;pointer-events:none;z-index:1}.menu-guide__pulse[data-v-61548ea4]{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 6px #0071e340,0 0 24px #0071e373;animation:menu-guide-pulse-61548ea4 1.6s ease-out infinite;pointer-events:none}.menu-guide__arrow[data-v-61548ea4]{position:absolute;left:calc(var(--guide-btn-left) + 28px);top:calc(var(--guide-btn-top) + 36px);width:120px;height:154px;color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));z-index:2;animation:menu-guide-nudge-61548ea4 1.25s ease-in-out infinite;pointer-events:none}.menu-guide__card[data-v-61548ea4]{position:absolute;left:calc(28px + env(safe-area-inset-left,0px));top:calc(var(--guide-btn-top) + 184px);z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:min(72vw,260px);padding:16px 18px;border-radius:14px;background:#fffffff7;border:1px solid rgba(255,255,255,.25);box-shadow:0 16px 40px #00000047;box-sizing:border-box;pointer-events:auto}.menu-guide__text[data-v-61548ea4]{margin:0;font-size:15px;font-weight:600;line-height:1.45;color:#1d1d1f;letter-spacing:.02em}.menu-guide__btn[data-v-61548ea4]{display:inline-flex;align-items:center;justify-content:center;min-width:108px;padding:9px 16px;border:none;border-radius:9px;background:#0071e3;color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.menu-guide__btn[data-v-61548ea4]:active{opacity:.9}@keyframes menu-guide-pulse-61548ea4{0%{transform:scale(1);opacity:1}70%{transform:scale(1.12);opacity:.35}to{transform:scale(1.16);opacity:0}}@keyframes menu-guide-nudge-61548ea4{0%,to{transform:translate(0)}50%{transform:translate(-4px,-6px)}}@media(orientation:landscape)and (max-height:420px){.menu-guide__card[data-v-61548ea4]{top:calc(var(--guide-btn-top) + 110px);left:calc(110px + env(safe-area-inset-left,0px))}.menu-guide__arrow[data-v-61548ea4]{width:80px;height:100px}}.bgm-btn[data-v-1b51c11c]{position:fixed;z-index:90;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:#ffffffb8;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);box-shadow:0 2px 8px #00000014;color:#1d1d1f;cursor:pointer;transition:background .2s ease,transform .15s ease,opacity .2s ease;pointer-events:auto}.bgm-btn[data-v-1b51c11c]:hover{background:#ffffffeb}.bgm-btn[data-v-1b51c11c]:active{transform:scale(.94)}.bgm-btn__icon[data-v-1b51c11c]{width:20px;height:20px}.bookmark-side-image[data-v-47725a1c]{position:fixed;inset:0;z-index:85;pointer-events:none}.bookmark-side-image__arrow[data-v-47725a1c]{position:fixed;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.bookmark-side-image__panel[data-v-47725a1c]{position:absolute;right:max(12px,env(safe-area-inset-right,0px));top:50%;width:min(300px,36vw);max-height:min(72vh,520px);padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.bookmark-side-image__img[data-v-47725a1c]{display:block;width:100%;max-height:min(64vh,460px);object-fit:contain;border-radius:0}.present-page[data-v-fdb70908]{position:fixed;inset:0;width:100%;height:100%;min-height:100dvh;overflow:hidden;background:var(--apple-bg, #fbfbfd);-webkit-tap-highlight-color:transparent}.present-canvas[data-v-fdb70908]{position:absolute;inset:0;z-index:0}.present-status-hint[data-v-fdb70908],.present-menu-caption[data-v-fdb70908]{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:90;margin:0;padding:7px 14px;max-width:min(92vw,560px);font-family:inherit;font-size:11px;font-weight:400;letter-spacing:-.006em;line-height:1.45;color:var(--apple-text-secondary, #86868b);text-align:center;background:var(--apple-glass, rgba(255, 255, 255, .78));backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));-webkit-backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));border:1px solid var(--apple-border-strong, #d2d2d7);border-radius:var(--apple-radius-pill, 980px);box-shadow:var(--apple-shadow-sm, 0 2px 8px rgba(0, 0, 0, .04));pointer-events:none}.present-menu-caption[data-v-fdb70908]{font-size:12px;font-weight:500;color:var(--apple-text, #1d1d1f);letter-spacing:.01em;white-space:pre-wrap}html,body,#app{margin:0;height:100%;background:var(--apple-bg, #fbfbfd)}html.present-route{--apple-bg: #fbfbfd;--apple-bg-elevated: #ffffff;--apple-bg-muted: #f5f5f7;--apple-text: #1d1d1f;--apple-text-secondary: #86868b;--apple-text-tertiary: #6e6e73;--apple-link: #0071e3;--apple-link-hover: #0077ed;--apple-border: rgba(0, 0, 0, .08);--apple-border-strong: #d2d2d7;--apple-shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--apple-shadow-md: 0 8px 28px rgba(0, 0, 0, .08);--apple-shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--apple-glass: rgba(255, 255, 255, .78);--apple-glass-border: rgba(255, 255, 255, .6);--apple-blur: saturate(180%) blur(20px);--apple-radius-sm: 10px;--apple-radius-md: 14px;--apple-radius-pill: 980px;--apple-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--apple-ease: cubic-bezier(.25, .1, .25, 1)}html.present-route,html.present-route body{font-family:var(--apple-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--apple-text);background:var(--apple-bg)}html.present-route,html.present-route body{margin:0;overflow:hidden;height:100%;overscroll-behavior:none;background:var(--apple-bg, #fbfbfd)}html.present-route #app,html.present-route .app-shell{height:100%;min-height:100dvh;overflow:hidden;background:var(--apple-bg, #fbfbfd)}.parts-side-panel{--parts-panel-w: 48px;--parts-panel-open: min(268px, 42vw);--parts-surface: var(--apple-glass, rgba(255, 255, 255, .78));--parts-surface-hover: var(--apple-bg-muted, #f5f5f7);--parts-border: var(--apple-border, rgba(0, 0, 0, .08));--parts-text: var(--apple-text, #1d1d1f);--parts-text-dim: var(--apple-text-secondary, #86868b);--parts-accent: var(--apple-link, #0071e3);--parts-accent-soft: rgba(0, 113, 227, .08);--parts-shadow: var(--apple-shadow-sm, 0 2px 8px rgba(0, 0, 0, .04));--parts-shadow-lg: var(--apple-shadow-md, 0 8px 28px rgba(0, 0, 0, .08));position:fixed;z-index:90;top:0;left:0;width:0;height:100%;height:100dvh;background:transparent;border:none;box-shadow:none;transition:width .32s var(--apple-ease, ease);overflow:visible;pointer-events:none}.parts-side-panel.is-open{width:var(--parts-panel-open);background:var(--parts-surface);backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));-webkit-backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));border-right:1px solid var(--parts-border);box-shadow:var(--parts-shadow-lg);overflow:hidden;pointer-events:auto}.parts-side-panel.is-snap-close,.parts-side-panel.is-snap-close .parts-panel-body,.parts-side-panel.is-snap-close .parts-group-body,.parts-side-panel.is-snap-close .parts-toggle-bar{transition:none!important}.parts-panel-toggle{position:fixed;z-index:220;left:calc(16px + env(safe-area-inset-left,0px));top:calc(16px + env(safe-area-inset-top,0px));display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;border:1px solid var(--apple-border-strong, #d2d2d7);border-radius:12px;background:var(--apple-glass, rgba(255, 255, 255, .88));backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));-webkit-backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));box-shadow:var(--apple-shadow-md, 0 8px 28px rgba(0, 0, 0, .08));cursor:pointer;pointer-events:auto;transition:background .2s var(--apple-ease, ease),box-shadow .2s var(--apple-ease, ease),transform .2s var(--apple-ease, ease),border-color .2s}.parts-panel-toggle:hover{background:var(--apple-bg-elevated, #ffffff);border-color:#0000001f;box-shadow:var(--apple-shadow-md, 0 8px 28px rgba(0, 0, 0, .1))}.parts-panel-toggle:active{transform:scale(.96);background:var(--parts-surface-hover)}.parts-side-panel.is-open .parts-panel-toggle{left:calc(12px + env(safe-area-inset-left,0px));background:#fffffff2}.parts-toggle-bar{display:block;width:18px;height:2px;background:var(--parts-text);border-radius:2px;transition:transform .28s var(--apple-ease, ease),background .2s}.parts-side-panel.is-open .parts-toggle-bar{background:var(--parts-text)}.parts-side-panel.is-open .parts-toggle-bar:first-child{transform:translateY(3.5px) rotate(45deg)}.parts-side-panel.is-open .parts-toggle-bar:last-child{transform:translateY(-3.5px) rotate(-45deg)}.parts-panel-body{height:100%;padding:calc(72px + env(safe-area-inset-top,0px)) 0 calc(12px + env(safe-area-inset-bottom,0px)) 0;opacity:0;pointer-events:none;transition:opacity .24s var(--apple-ease, ease)}.parts-side-panel.is-open .parts-panel-body{opacity:1;pointer-events:auto}.parts-menu-tree{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px}.parts-menu-tree::-webkit-scrollbar{width:3px}.parts-menu-tree::-webkit-scrollbar-thumb{background:var(--apple-border-strong, #d2d2d7);border-radius:3px}.parts-group{overflow:hidden}.parts-group-head{display:flex;align-items:center;width:100%;padding:11px 16px 11px 12px;border:none;border-bottom:1px solid var(--parts-border);background:transparent;color:var(--parts-text);font-family:inherit;font-size:13px;font-weight:600;letter-spacing:-.01em;text-align:left;cursor:pointer;transition:background .2s var(--apple-ease, ease),color .2s}.parts-group--l1>.parts-group-head{padding-left:20px;font-size:12px;font-weight:500;color:var(--parts-text-dim);border-bottom:none}.parts-group-head.is-open{color:var(--parts-text);background:var(--parts-surface-hover)}.parts-group-head:hover{background:#00000008}.parts-group-head:active{background:var(--parts-surface-hover)}.parts-group-head.is-open .parts-chevron{transform:rotate(90deg);color:var(--parts-text-dim)}.parts-chevron{flex-shrink:0;width:10px;margin-right:8px;font-size:11px;font-weight:600;color:var(--parts-text-dim);transition:transform .24s var(--apple-ease, ease),color .15s}.parts-group-label{flex:1}.parts-group-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--apple-ease, ease)}.parts-group.is-expanded>.parts-group-body{grid-template-rows:1fr}.parts-group-children{overflow:hidden;border-left:1px solid var(--apple-border-strong, #d2d2d7);margin-left:18px}.parts-group--l1>.parts-group-body>.parts-group-children{margin-left:28px;border-left-color:#0000000f}.parts-menu-item{display:block;width:100%;padding:11px 16px;border:none;border-bottom:1px solid var(--parts-border);background:transparent;color:var(--parts-text);font-family:inherit;font-size:13px;font-weight:500;letter-spacing:-.01em;text-align:left;cursor:pointer;transition:background .2s var(--apple-ease, ease),color .2s}.parts-menu-item:hover{background:#00000008}.parts-menu-item:active{background:var(--parts-surface-hover)}.parts-leaf{display:block;width:100%;padding:9px 16px 9px 20px;border:none;background:transparent;color:var(--parts-text-dim);font-family:inherit;font-size:12px;font-weight:400;letter-spacing:-.006em;text-align:left;cursor:pointer;transition:background .2s var(--apple-ease, ease),color .2s}.parts-leaf:hover{color:var(--parts-text);background:#00000008}.parts-leaf:active{color:var(--parts-accent);background:var(--parts-surface-hover)}.parts-leaf.is-active,.parts-menu-item.is-active{color:var(--parts-accent);background:var(--parts-accent-soft);font-weight:500}.parts-menu-spacer{flex-shrink:0;min-height:72px;height:calc(72px + env(safe-area-inset-bottom,0px));pointer-events:none}.parts-menu-pad{flex-shrink:0;min-height:44px;border-bottom:1px solid transparent;pointer-events:none}.parts-btn-reset-view{position:fixed;z-index:90;right:calc(20px + env(safe-area-inset-right,0px));left:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:7px;padding:11px 18px;border:1px solid var(--apple-border-strong, #d2d2d7);border-radius:var(--apple-radius-pill, 980px);background:var(--apple-glass, rgba(255, 255, 255, .78));backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));-webkit-backdrop-filter:var(--apple-blur, saturate(180%) blur(20px));box-shadow:var(--apple-shadow-sm, 0 2px 8px rgba(0, 0, 0, .04));color:var(--apple-text, #1d1d1f);font-family:inherit;font-size:12px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:background .2s var(--apple-ease, ease),box-shadow .2s var(--apple-ease, ease),transform .2s var(--apple-ease, ease),border-color .2s;pointer-events:auto}.parts-btn-reset-view:hover{background:var(--apple-bg-elevated, #ffffff);border-color:#0000001f;box-shadow:var(--apple-shadow-md, 0 8px 28px rgba(0, 0, 0, .08))}.parts-btn-reset-view:active{transform:scale(.97);background:var(--apple-bg-muted, #f5f5f7)}.parts-btn-reset-view__icon{width:15px;height:15px;color:var(--apple-text-secondary, #86868b)}.parts-popup{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px;background:#fbfbfd8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--apple-ease, ease),visibility .28s}.parts-popup.is-show{opacity:1;visibility:visible;pointer-events:auto}.parts-popup__text{padding:20px 36px;background:var(--apple-bg-elevated, #ffffff);border:1px solid var(--apple-border-strong, #d2d2d7);border-radius:var(--apple-radius-md, 14px);box-shadow:var(--apple-shadow-lg, 0 12px 40px rgba(0, 0, 0, .12));color:var(--apple-text, #1d1d1f);font-family:inherit;font-size:15px;font-weight:500;letter-spacing:-.02em;animation:parts-pop-in .32s var(--apple-ease, ease)}@keyframes parts-pop-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(orientation:portrait){html.present-route:before{content:"请横屏使用";position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--apple-bg-muted, #f5f5f7);color:var(--apple-text-secondary, #86868b);font-family:var(--apple-font, system-ui, sans-serif);font-size:15px;font-weight:500;letter-spacing:-.01em}}
