@liveroom-tech/react-immersive 3.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,116 @@
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(h){var n=0;return function(){return n<h.length?{done:!1,value:h[n++]}:{done:!0}}};$jscomp.arrayIterator=function(h){return{next:$jscomp.arrayIteratorImpl(h)}};$jscomp.makeIterator=function(h){var n="undefined"!=typeof Symbol&&Symbol.iterator&&h[Symbol.iterator];return n?n.call(h):$jscomp.arrayIterator(h)};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;
2
+ $jscomp.ISOLATE_POLYFILLS=!1;$jscomp.FORCE_POLYFILL_PROMISE=!1;$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;$jscomp.getGlobal=function(h){h=["object"==typeof globalThis&&globalThis,h,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var n=0;n<h.length;++n){var k=h[n];if(k&&k.Math==Math)return k}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
3
+ $jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(h,n,k){if(h==Array.prototype||h==Object.prototype)return h;h[n]=k.value;return h};$jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX="$jscp$";
4
+ var $jscomp$lookupPolyfilledValue=function(h,n){var k=$jscomp.propertyToPolyfillSymbol[n];if(null==k)return h[n];k=h[k];return void 0!==k?k:h[n]};$jscomp.polyfill=function(h,n,k,p){n&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(h,n,k,p):$jscomp.polyfillUnisolated(h,n,k,p))};
5
+ $jscomp.polyfillUnisolated=function(h,n,k,p){k=$jscomp.global;h=h.split(".");for(p=0;p<h.length-1;p++){var l=h[p];if(!(l in k))return;k=k[l]}h=h[h.length-1];p=k[h];n=n(p);n!=p&&null!=n&&$jscomp.defineProperty(k,h,{configurable:!0,writable:!0,value:n})};
6
+ $jscomp.polyfillIsolated=function(h,n,k,p){var l=h.split(".");h=1===l.length;p=l[0];p=!h&&p in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var y=0;y<l.length-1;y++){var f=l[y];if(!(f in p))return;p=p[f]}l=l[l.length-1];k=$jscomp.IS_SYMBOL_NATIVE&&"es6"===k?p[l]:null;n=n(k);null!=n&&(h?$jscomp.defineProperty($jscomp.polyfills,l,{configurable:!0,writable:!0,value:n}):n!==k&&(void 0===$jscomp.propertyToPolyfillSymbol[l]&&(k=1E9*Math.random()>>>0,$jscomp.propertyToPolyfillSymbol[l]=$jscomp.IS_SYMBOL_NATIVE?
7
+ $jscomp.global.Symbol(l):$jscomp.POLYFILL_PREFIX+k+"$"+l),$jscomp.defineProperty(p,$jscomp.propertyToPolyfillSymbol[l],{configurable:!0,writable:!0,value:n})))};
8
+ $jscomp.polyfill("Promise",function(h){function n(){this.batch_=null}function k(f){return f instanceof l?f:new l(function(q,u){q(f)})}if(h&&(!($jscomp.FORCE_POLYFILL_PROMISE||$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&"undefined"===typeof $jscomp.global.PromiseRejectionEvent)||!$jscomp.global.Promise||-1===$jscomp.global.Promise.toString().indexOf("[native code]")))return h;n.prototype.asyncExecute=function(f){if(null==this.batch_){this.batch_=[];var q=this;this.asyncExecuteFunction(function(){q.executeBatch_()})}this.batch_.push(f)};
9
+ var p=$jscomp.global.setTimeout;n.prototype.asyncExecuteFunction=function(f){p(f,0)};n.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var f=this.batch_;this.batch_=[];for(var q=0;q<f.length;++q){var u=f[q];f[q]=null;try{u()}catch(A){this.asyncThrow_(A)}}}this.batch_=null};n.prototype.asyncThrow_=function(f){this.asyncExecuteFunction(function(){throw f;})};var l=function(f){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];this.isRejectionHandled_=!1;var q=this.createResolveAndReject_();
10
+ try{f(q.resolve,q.reject)}catch(u){q.reject(u)}};l.prototype.createResolveAndReject_=function(){function f(A){return function(F){u||(u=!0,A.call(q,F))}}var q=this,u=!1;return{resolve:f(this.resolveTo_),reject:f(this.reject_)}};l.prototype.resolveTo_=function(f){if(f===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(f instanceof l)this.settleSameAsPromise_(f);else{a:switch(typeof f){case "object":var q=null!=f;break a;case "function":q=!0;break a;default:q=!1}q?this.resolveToNonPromiseObj_(f):
11
+ this.fulfill_(f)}};l.prototype.resolveToNonPromiseObj_=function(f){var q=void 0;try{q=f.then}catch(u){this.reject_(u);return}"function"==typeof q?this.settleSameAsThenable_(q,f):this.fulfill_(f)};l.prototype.reject_=function(f){this.settle_(2,f)};l.prototype.fulfill_=function(f){this.settle_(1,f)};l.prototype.settle_=function(f,q){if(0!=this.state_)throw Error("Cannot settle("+f+", "+q+"): Promise already settled in state"+this.state_);this.state_=f;this.result_=q;2===this.state_&&this.scheduleUnhandledRejectionCheck_();
12
+ this.executeOnSettledCallbacks_()};l.prototype.scheduleUnhandledRejectionCheck_=function(){var f=this;p(function(){if(f.notifyUnhandledRejection_()){var q=$jscomp.global.console;"undefined"!==typeof q&&q.error(f.result_)}},1)};l.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var f=$jscomp.global.CustomEvent,q=$jscomp.global.Event,u=$jscomp.global.dispatchEvent;if("undefined"===typeof u)return!0;"function"===typeof f?f=new f("unhandledrejection",{cancelable:!0}):
13
+ "function"===typeof q?f=new q("unhandledrejection",{cancelable:!0}):(f=$jscomp.global.document.createEvent("CustomEvent"),f.initCustomEvent("unhandledrejection",!1,!0,f));f.promise=this;f.reason=this.result_;return u(f)};l.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var f=0;f<this.onSettledCallbacks_.length;++f)y.asyncExecute(this.onSettledCallbacks_[f]);this.onSettledCallbacks_=null}};var y=new n;l.prototype.settleSameAsPromise_=function(f){var q=this.createResolveAndReject_();
14
+ f.callWhenSettled_(q.resolve,q.reject)};l.prototype.settleSameAsThenable_=function(f,q){var u=this.createResolveAndReject_();try{f.call(q,u.resolve,u.reject)}catch(A){u.reject(A)}};l.prototype.then=function(f,q){function u(w,B){return"function"==typeof w?function(R){try{A(w(R))}catch(Z){F(Z)}}:B}var A,F,v=new l(function(w,B){A=w;F=B});this.callWhenSettled_(u(f,A),u(q,F));return v};l.prototype.catch=function(f){return this.then(void 0,f)};l.prototype.callWhenSettled_=function(f,q){function u(){switch(A.state_){case 1:f(A.result_);
15
+ break;case 2:q(A.result_);break;default:throw Error("Unexpected state: "+A.state_);}}var A=this;null==this.onSettledCallbacks_?y.asyncExecute(u):this.onSettledCallbacks_.push(u);this.isRejectionHandled_=!0};l.resolve=k;l.reject=function(f){return new l(function(q,u){u(f)})};l.race=function(f){return new l(function(q,u){for(var A=$jscomp.makeIterator(f),F=A.next();!F.done;F=A.next())k(F.value).callWhenSettled_(q,u)})};l.all=function(f){var q=$jscomp.makeIterator(f),u=q.next();return u.done?k([]):new l(function(A,
16
+ F){function v(R){return function(Z){w[R]=Z;B--;0==B&&A(w)}}var w=[],B=0;do w.push(void 0),B++,k(u.value).callWhenSettled_(v(w.length-1),F),u=q.next();while(!u.done)})};return l},"es6","es3");$jscomp.owns=function(h,n){return Object.prototype.hasOwnProperty.call(h,n)};$jscomp.assign=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.assign?Object.assign:function(h,n){for(var k=1;k<arguments.length;k++){var p=arguments[k];if(p)for(var l in p)$jscomp.owns(p,l)&&(h[l]=p[l])}return h};
17
+ $jscomp.polyfill("Object.assign",function(h){return h||$jscomp.assign},"es6","es3");$jscomp.checkStringArgs=function(h,n,k){if(null==h)throw new TypeError("The 'this' value for String.prototype."+k+" must not be null or undefined");if(n instanceof RegExp)throw new TypeError("First argument to String.prototype."+k+" must not be a regular expression");return h+""};
18
+ $jscomp.polyfill("String.prototype.startsWith",function(h){return h?h:function(n,k){var p=$jscomp.checkStringArgs(this,n,"startsWith");n+="";var l=p.length,y=n.length;k=Math.max(0,Math.min(k|0,p.length));for(var f=0;f<y&&k<l;)if(p[k++]!=n[f++])return!1;return f>=y}},"es6","es3");
19
+ $jscomp.polyfill("Array.prototype.copyWithin",function(h){function n(k){k=Number(k);return Infinity===k||-Infinity===k?k:k|0}return h?h:function(k,p,l){var y=this.length;k=n(k);p=n(p);l=void 0===l?y:n(l);k=0>k?Math.max(y+k,0):Math.min(k,y);p=0>p?Math.max(y+p,0):Math.min(p,y);l=0>l?Math.max(y+l,0):Math.min(l,y);if(k<p)for(;p<l;)p in this?this[k++]=this[p++]:(delete this[k++],p++);else for(l=Math.min(l,y+p-k),k+=l-p;l>p;)--l in this?this[--k]=this[l]:delete this[--k];return this}},"es6","es3");
20
+ $jscomp.typedArrayCopyWithin=function(h){return h?h:Array.prototype.copyWithin};$jscomp.polyfill("Int8Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint8Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint8ClampedArray.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Int16Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");
21
+ $jscomp.polyfill("Uint16Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Int32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Float32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Float64Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");
22
+ var DracoDecoderModule=function(){var h="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;"undefined"!==typeof __filename&&(h=h||__filename);return function(n){function k(e){return a.locateFile?a.locateFile(e,U):U+e}function p(e,b){if(e){var c=ia;var d=e+b;for(b=e;c[b]&&!(b>=d);)++b;if(16<b-e&&c.buffer&&ra)c=ra.decode(c.subarray(e,b));else{for(d="";e<b;){var g=c[e++];if(g&128){var t=c[e++]&63;if(192==(g&224))d+=String.fromCharCode((g&31)<<6|t);else{var aa=c[e++]&
23
+ 63;g=224==(g&240)?(g&15)<<12|t<<6|aa:(g&7)<<18|t<<12|aa<<6|c[e++]&63;65536>g?d+=String.fromCharCode(g):(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else d+=String.fromCharCode(g)}c=d}}else c="";return c}function l(){var e=ja.buffer;a.HEAP8=W=new Int8Array(e);a.HEAP16=new Int16Array(e);a.HEAP32=ca=new Int32Array(e);a.HEAPU8=ia=new Uint8Array(e);a.HEAPU16=new Uint16Array(e);a.HEAPU32=Y=new Uint32Array(e);a.HEAPF32=new Float32Array(e);a.HEAPF64=new Float64Array(e)}function y(e){if(a.onAbort)a.onAbort(e);
24
+ e="Aborted("+e+")";da(e);sa=!0;e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.");ka(e);throw e;}function f(e){try{if(e==P&&ea)return new Uint8Array(ea);if(ma)return ma(e);throw"both async and sync fetching of the wasm failed";}catch(b){y(b)}}function q(){if(!ea&&(ta||fa)){if("function"==typeof fetch&&!P.startsWith("file://"))return fetch(P,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+P+"'";return e.arrayBuffer()}).catch(function(){return f(P)});
25
+ if(na)return new Promise(function(e,b){na(P,function(c){e(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return f(P)})}function u(e){for(;0<e.length;)e.shift()(a)}function A(e){this.excPtr=e;this.ptr=e-24;this.set_type=function(b){Y[this.ptr+4>>2]=b};this.get_type=function(){return Y[this.ptr+4>>2]};this.set_destructor=function(b){Y[this.ptr+8>>2]=b};this.get_destructor=function(){return Y[this.ptr+8>>2]};this.set_refcount=function(b){ca[this.ptr>>2]=b};this.set_caught=function(b){W[this.ptr+
26
+ 12>>0]=b?1:0};this.get_caught=function(){return 0!=W[this.ptr+12>>0]};this.set_rethrown=function(b){W[this.ptr+13>>0]=b?1:0};this.get_rethrown=function(){return 0!=W[this.ptr+13>>0]};this.init=function(b,c){this.set_adjusted_ptr(0);this.set_type(b);this.set_destructor(c);this.set_refcount(0);this.set_caught(!1);this.set_rethrown(!1)};this.add_ref=function(){ca[this.ptr>>2]+=1};this.release_ref=function(){var b=ca[this.ptr>>2];ca[this.ptr>>2]=b-1;return 1===b};this.set_adjusted_ptr=function(b){Y[this.ptr+
27
+ 16>>2]=b};this.get_adjusted_ptr=function(){return Y[this.ptr+16>>2]};this.get_exception_ptr=function(){if(ua(this.get_type()))return Y[this.excPtr>>2];var b=this.get_adjusted_ptr();return 0!==b?b:this.excPtr}}function F(){function e(){if(!la&&(la=!0,a.calledRun=!0,!sa)){va=!0;u(oa);wa(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)xa.unshift(a.postRun.shift());u(xa)}}if(!(0<ba)){if(a.preRun)for("function"==
28
+ typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)ya.unshift(a.preRun.shift());u(ya);0<ba||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);e()},1)):e())}}function v(){}function w(e){return(e||v).__cache__}function B(e,b){var c=w(b),d=c[e];if(d)return d;d=Object.create((b||v).prototype);d.ptr=e;return c[e]=d}function R(e){if("string"===typeof e){for(var b=0,c=0;c<e.length;++c){var d=e.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=
29
+ d?(b+=4,++c):b+=3}b=Array(b+1);c=0;d=b.length;if(0<d){d=c+d-1;for(var g=0;g<e.length;++g){var t=e.charCodeAt(g);if(55296<=t&&57343>=t){var aa=e.charCodeAt(++g);t=65536+((t&1023)<<10)|aa&1023}if(127>=t){if(c>=d)break;b[c++]=t}else{if(2047>=t){if(c+1>=d)break;b[c++]=192|t>>6}else{if(65535>=t){if(c+2>=d)break;b[c++]=224|t>>12}else{if(c+3>=d)break;b[c++]=240|t>>18;b[c++]=128|t>>12&63}b[c++]=128|t>>6&63}b[c++]=128|t&63}}b[c]=0}e=r.alloc(b,W);r.copy(b,W,e);return e}return e}function Z(e){if("object"===
30
+ typeof e){var b=r.alloc(e,W);r.copy(e,W,b);return b}return e}function X(){throw"cannot construct a VoidPtr, no constructor in IDL";}function S(){this.ptr=za();w(S)[this.ptr]=this}function Q(){this.ptr=Aa();w(Q)[this.ptr]=this}function V(){this.ptr=Ba();w(V)[this.ptr]=this}function x(){this.ptr=Ca();w(x)[this.ptr]=this}function D(){this.ptr=Da();w(D)[this.ptr]=this}function G(){this.ptr=Ea();w(G)[this.ptr]=this}function H(){this.ptr=Fa();w(H)[this.ptr]=this}function E(){this.ptr=Ga();w(E)[this.ptr]=
31
+ this}function T(){this.ptr=Ha();w(T)[this.ptr]=this}function C(){throw"cannot construct a Status, no constructor in IDL";}function I(){this.ptr=Ia();w(I)[this.ptr]=this}function J(){this.ptr=Ja();w(J)[this.ptr]=this}function K(){this.ptr=Ka();w(K)[this.ptr]=this}function L(){this.ptr=La();w(L)[this.ptr]=this}function M(){this.ptr=Ma();w(M)[this.ptr]=this}function N(){this.ptr=Na();w(N)[this.ptr]=this}function O(){this.ptr=Oa();w(O)[this.ptr]=this}function z(){this.ptr=Pa();w(z)[this.ptr]=this}function m(){this.ptr=
32
+ Qa();w(m)[this.ptr]=this}n=void 0===n?{}:n;var a="undefined"!=typeof n?n:{},wa,ka;a.ready=new Promise(function(e,b){wa=e;ka=b});var Ra=!1,Sa=!1;a.onRuntimeInitialized=function(){Ra=!0;if(Sa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Sa=!0;if(Ra&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(e){if("string"!==typeof e)return!1;e=e.split(".");return 2>e.length||3<e.length?!1:1==e[0]&&0<=e[1]&&5>=e[1]?!0:0!=e[0]||10<
33
+ e[1]?!1:!0};var Ta=Object.assign({},a),ta="object"==typeof window,fa="function"==typeof importScripts,Ua="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,U="";if(Ua){var Va=require("fs"),pa=require("path");U=fa?pa.dirname(U)+"/":__dirname+"/";var Wa=function(e,b){e=e.startsWith("file://")?new URL(e):pa.normalize(e);return Va.readFileSync(e,b?void 0:"utf8")};var ma=function(e){e=Wa(e,!0);e.buffer||(e=new Uint8Array(e));return e};var na=function(e,
34
+ b,c){e=e.startsWith("file://")?new URL(e):pa.normalize(e);Va.readFile(e,function(d,g){d?c(d):b(g.buffer)})};1<process.argv.length&&process.argv[1].replace(/\\/g,"/");process.argv.slice(2);a.inspect=function(){return"[Emscripten Module object]"}}else if(ta||fa)fa?U=self.location.href:"undefined"!=typeof document&&document.currentScript&&(U=document.currentScript.src),h&&(U=h),U=0!==U.indexOf("blob:")?U.substr(0,U.replace(/[?#].*/,"").lastIndexOf("/")+1):"",Wa=function(e){var b=new XMLHttpRequest;b.open("GET",
35
+ e,!1);b.send(null);return b.responseText},fa&&(ma=function(e){var b=new XMLHttpRequest;b.open("GET",e,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),na=function(e,b,c){var d=new XMLHttpRequest;d.open("GET",e,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)};a.print||console.log.bind(console);var da=a.printErr||console.warn.bind(console);Object.assign(a,Ta);Ta=null;var ea;a.wasmBinary&&
36
+ (ea=a.wasmBinary);"object"!=typeof WebAssembly&&y("no native wasm support detected");var ja,sa=!1,ra="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,W,ia,ca,Y,ya=[],oa=[],xa=[],va=!1,ba=0,qa=null,ha=null;var P="draco_decoder_gltf.wasm";P.startsWith("data:application/octet-stream;base64,")||(P=k(P));var pd=0,qd={b:function(e,b,c){(new A(e)).init(b,c);pd++;throw e;},a:function(){y("")},d:function(e,b,c){ia.copyWithin(e,b,b+c)},c:function(e){var b=ia.length;e>>>=0;if(2147483648<e)return!1;
37
+ for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,e+100663296);var g=Math;d=Math.max(e,d);g=g.min.call(g,2147483648,d+(65536-d%65536)%65536);a:{d=ja.buffer;try{ja.grow(g-d.byteLength+65535>>>16);l();var t=1;break a}catch(aa){}t=void 0}if(t)return!0}return!1}};(function(){function e(g,t){a.asm=g.exports;ja=a.asm.e;l();oa.unshift(a.asm.f);ba--;a.monitorRunDependencies&&a.monitorRunDependencies(ba);0==ba&&(null!==qa&&(clearInterval(qa),qa=null),ha&&(g=ha,ha=null,g()))}function b(g){e(g.instance)}
38
+ function c(g){return q().then(function(t){return WebAssembly.instantiate(t,d)}).then(function(t){return t}).then(g,function(t){da("failed to asynchronously prepare wasm: "+t);y(t)})}var d={a:qd};ba++;a.monitorRunDependencies&&a.monitorRunDependencies(ba);if(a.instantiateWasm)try{return a.instantiateWasm(d,e)}catch(g){da("Module.instantiateWasm callback failed with error: "+g),ka(g)}(function(){return ea||"function"!=typeof WebAssembly.instantiateStreaming||P.startsWith("data:application/octet-stream;base64,")||
39
+ P.startsWith("file://")||Ua||"function"!=typeof fetch?c(b):fetch(P,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,d).then(b,function(t){da("wasm streaming compile failed: "+t);da("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ka);return{}})();var Xa=a._emscripten_bind_VoidPtr___destroy___0=function(){return(Xa=a._emscripten_bind_VoidPtr___destroy___0=a.asm.h).apply(null,arguments)},za=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=
40
+ function(){return(za=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=a.asm.i).apply(null,arguments)},Ya=a._emscripten_bind_DecoderBuffer_Init_2=function(){return(Ya=a._emscripten_bind_DecoderBuffer_Init_2=a.asm.j).apply(null,arguments)},Za=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return(Za=a._emscripten_bind_DecoderBuffer___destroy___0=a.asm.k).apply(null,arguments)},Aa=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(Aa=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=
41
+ a.asm.l).apply(null,arguments)},$a=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return($a=a._emscripten_bind_AttributeTransformData_transform_type_0=a.asm.m).apply(null,arguments)},ab=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return(ab=a._emscripten_bind_AttributeTransformData___destroy___0=a.asm.n).apply(null,arguments)},Ba=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(Ba=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=
42
+ a.asm.o).apply(null,arguments)},bb=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return(bb=a._emscripten_bind_GeometryAttribute___destroy___0=a.asm.p).apply(null,arguments)},Ca=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(Ca=a._emscripten_bind_PointAttribute_PointAttribute_0=a.asm.q).apply(null,arguments)},cb=a._emscripten_bind_PointAttribute_size_0=function(){return(cb=a._emscripten_bind_PointAttribute_size_0=a.asm.r).apply(null,arguments)},db=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=
43
+ function(){return(db=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=a.asm.s).apply(null,arguments)},eb=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return(eb=a._emscripten_bind_PointAttribute_attribute_type_0=a.asm.t).apply(null,arguments)},fb=a._emscripten_bind_PointAttribute_data_type_0=function(){return(fb=a._emscripten_bind_PointAttribute_data_type_0=a.asm.u).apply(null,arguments)},gb=a._emscripten_bind_PointAttribute_num_components_0=function(){return(gb=a._emscripten_bind_PointAttribute_num_components_0=
44
+ a.asm.v).apply(null,arguments)},hb=a._emscripten_bind_PointAttribute_normalized_0=function(){return(hb=a._emscripten_bind_PointAttribute_normalized_0=a.asm.w).apply(null,arguments)},ib=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return(ib=a._emscripten_bind_PointAttribute_byte_stride_0=a.asm.x).apply(null,arguments)},jb=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return(jb=a._emscripten_bind_PointAttribute_byte_offset_0=a.asm.y).apply(null,arguments)},kb=a._emscripten_bind_PointAttribute_unique_id_0=
45
+ function(){return(kb=a._emscripten_bind_PointAttribute_unique_id_0=a.asm.z).apply(null,arguments)},lb=a._emscripten_bind_PointAttribute___destroy___0=function(){return(lb=a._emscripten_bind_PointAttribute___destroy___0=a.asm.A).apply(null,arguments)},Da=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Da=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=a.asm.B).apply(null,arguments)},mb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=
46
+ function(){return(mb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=a.asm.C).apply(null,arguments)},nb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(nb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=a.asm.D).apply(null,arguments)},ob=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(ob=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=a.asm.E).apply(null,arguments)},pb=
47
+ a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(pb=a._emscripten_bind_AttributeQuantizationTransform_range_0=a.asm.F).apply(null,arguments)},qb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(qb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=a.asm.G).apply(null,arguments)},Ea=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(Ea=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=
48
+ a.asm.H).apply(null,arguments)},rb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(rb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=a.asm.I).apply(null,arguments)},sb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(sb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=a.asm.J).apply(null,arguments)},tb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(tb=
49
+ a._emscripten_bind_AttributeOctahedronTransform___destroy___0=a.asm.K).apply(null,arguments)},Fa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return(Fa=a._emscripten_bind_PointCloud_PointCloud_0=a.asm.L).apply(null,arguments)},ub=a._emscripten_bind_PointCloud_num_attributes_0=function(){return(ub=a._emscripten_bind_PointCloud_num_attributes_0=a.asm.M).apply(null,arguments)},vb=a._emscripten_bind_PointCloud_num_points_0=function(){return(vb=a._emscripten_bind_PointCloud_num_points_0=a.asm.N).apply(null,
50
+ arguments)},wb=a._emscripten_bind_PointCloud___destroy___0=function(){return(wb=a._emscripten_bind_PointCloud___destroy___0=a.asm.O).apply(null,arguments)},Ga=a._emscripten_bind_Mesh_Mesh_0=function(){return(Ga=a._emscripten_bind_Mesh_Mesh_0=a.asm.P).apply(null,arguments)},xb=a._emscripten_bind_Mesh_num_faces_0=function(){return(xb=a._emscripten_bind_Mesh_num_faces_0=a.asm.Q).apply(null,arguments)},yb=a._emscripten_bind_Mesh_num_attributes_0=function(){return(yb=a._emscripten_bind_Mesh_num_attributes_0=
51
+ a.asm.R).apply(null,arguments)},zb=a._emscripten_bind_Mesh_num_points_0=function(){return(zb=a._emscripten_bind_Mesh_num_points_0=a.asm.S).apply(null,arguments)},Ab=a._emscripten_bind_Mesh___destroy___0=function(){return(Ab=a._emscripten_bind_Mesh___destroy___0=a.asm.T).apply(null,arguments)},Ha=a._emscripten_bind_Metadata_Metadata_0=function(){return(Ha=a._emscripten_bind_Metadata_Metadata_0=a.asm.U).apply(null,arguments)},Bb=a._emscripten_bind_Metadata___destroy___0=function(){return(Bb=a._emscripten_bind_Metadata___destroy___0=
52
+ a.asm.V).apply(null,arguments)},Cb=a._emscripten_bind_Status_code_0=function(){return(Cb=a._emscripten_bind_Status_code_0=a.asm.W).apply(null,arguments)},Db=a._emscripten_bind_Status_ok_0=function(){return(Db=a._emscripten_bind_Status_ok_0=a.asm.X).apply(null,arguments)},Eb=a._emscripten_bind_Status_error_msg_0=function(){return(Eb=a._emscripten_bind_Status_error_msg_0=a.asm.Y).apply(null,arguments)},Fb=a._emscripten_bind_Status___destroy___0=function(){return(Fb=a._emscripten_bind_Status___destroy___0=
53
+ a.asm.Z).apply(null,arguments)},Ia=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(Ia=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=a.asm._).apply(null,arguments)},Gb=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(Gb=a._emscripten_bind_DracoFloat32Array_GetValue_1=a.asm.$).apply(null,arguments)},Hb=a._emscripten_bind_DracoFloat32Array_size_0=function(){return(Hb=a._emscripten_bind_DracoFloat32Array_size_0=a.asm.aa).apply(null,arguments)},Ib=
54
+ a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(Ib=a._emscripten_bind_DracoFloat32Array___destroy___0=a.asm.ba).apply(null,arguments)},Ja=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(Ja=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=a.asm.ca).apply(null,arguments)},Jb=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(Jb=a._emscripten_bind_DracoInt8Array_GetValue_1=a.asm.da).apply(null,arguments)},Kb=a._emscripten_bind_DracoInt8Array_size_0=
55
+ function(){return(Kb=a._emscripten_bind_DracoInt8Array_size_0=a.asm.ea).apply(null,arguments)},Lb=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return(Lb=a._emscripten_bind_DracoInt8Array___destroy___0=a.asm.fa).apply(null,arguments)},Ka=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(Ka=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=a.asm.ga).apply(null,arguments)},Mb=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(Mb=a._emscripten_bind_DracoUInt8Array_GetValue_1=
56
+ a.asm.ha).apply(null,arguments)},Nb=a._emscripten_bind_DracoUInt8Array_size_0=function(){return(Nb=a._emscripten_bind_DracoUInt8Array_size_0=a.asm.ia).apply(null,arguments)},Ob=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(Ob=a._emscripten_bind_DracoUInt8Array___destroy___0=a.asm.ja).apply(null,arguments)},La=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(La=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=a.asm.ka).apply(null,arguments)},Pb=a._emscripten_bind_DracoInt16Array_GetValue_1=
57
+ function(){return(Pb=a._emscripten_bind_DracoInt16Array_GetValue_1=a.asm.la).apply(null,arguments)},Qb=a._emscripten_bind_DracoInt16Array_size_0=function(){return(Qb=a._emscripten_bind_DracoInt16Array_size_0=a.asm.ma).apply(null,arguments)},Rb=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return(Rb=a._emscripten_bind_DracoInt16Array___destroy___0=a.asm.na).apply(null,arguments)},Ma=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(Ma=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=
58
+ a.asm.oa).apply(null,arguments)},Sb=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(Sb=a._emscripten_bind_DracoUInt16Array_GetValue_1=a.asm.pa).apply(null,arguments)},Tb=a._emscripten_bind_DracoUInt16Array_size_0=function(){return(Tb=a._emscripten_bind_DracoUInt16Array_size_0=a.asm.qa).apply(null,arguments)},Ub=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(Ub=a._emscripten_bind_DracoUInt16Array___destroy___0=a.asm.ra).apply(null,arguments)},Na=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=
59
+ function(){return(Na=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=a.asm.sa).apply(null,arguments)},Vb=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(Vb=a._emscripten_bind_DracoInt32Array_GetValue_1=a.asm.ta).apply(null,arguments)},Wb=a._emscripten_bind_DracoInt32Array_size_0=function(){return(Wb=a._emscripten_bind_DracoInt32Array_size_0=a.asm.ua).apply(null,arguments)},Xb=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return(Xb=a._emscripten_bind_DracoInt32Array___destroy___0=
60
+ a.asm.va).apply(null,arguments)},Oa=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(Oa=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=a.asm.wa).apply(null,arguments)},Yb=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(Yb=a._emscripten_bind_DracoUInt32Array_GetValue_1=a.asm.xa).apply(null,arguments)},Zb=a._emscripten_bind_DracoUInt32Array_size_0=function(){return(Zb=a._emscripten_bind_DracoUInt32Array_size_0=a.asm.ya).apply(null,arguments)},$b=a._emscripten_bind_DracoUInt32Array___destroy___0=
61
+ function(){return($b=a._emscripten_bind_DracoUInt32Array___destroy___0=a.asm.za).apply(null,arguments)},Pa=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Pa=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=a.asm.Aa).apply(null,arguments)},ac=a._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(ac=a._emscripten_bind_MetadataQuerier_HasEntry_2=a.asm.Ba).apply(null,arguments)},bc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(bc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=
62
+ a.asm.Ca).apply(null,arguments)},cc=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(cc=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=a.asm.Da).apply(null,arguments)},dc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(dc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=a.asm.Ea).apply(null,arguments)},ec=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(ec=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=a.asm.Fa).apply(null,
63
+ arguments)},fc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(fc=a._emscripten_bind_MetadataQuerier_NumEntries_1=a.asm.Ga).apply(null,arguments)},gc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(gc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=a.asm.Ha).apply(null,arguments)},hc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return(hc=a._emscripten_bind_MetadataQuerier___destroy___0=a.asm.Ia).apply(null,arguments)},Qa=a._emscripten_bind_Decoder_Decoder_0=
64
+ function(){return(Qa=a._emscripten_bind_Decoder_Decoder_0=a.asm.Ja).apply(null,arguments)},ic=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(ic=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=a.asm.Ka).apply(null,arguments)},jc=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(jc=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=a.asm.La).apply(null,arguments)},kc=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return(kc=a._emscripten_bind_Decoder_GetAttributeId_2=
65
+ a.asm.Ma).apply(null,arguments)},lc=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(lc=a._emscripten_bind_Decoder_GetAttributeIdByName_2=a.asm.Na).apply(null,arguments)},mc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(mc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=a.asm.Oa).apply(null,arguments)},nc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return(nc=a._emscripten_bind_Decoder_GetAttribute_2=a.asm.Pa).apply(null,arguments)},
66
+ oc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(oc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=a.asm.Qa).apply(null,arguments)},pc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return(pc=a._emscripten_bind_Decoder_GetMetadata_1=a.asm.Ra).apply(null,arguments)},qc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(qc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=a.asm.Sa).apply(null,arguments)},rc=a._emscripten_bind_Decoder_GetFaceFromMesh_3=
67
+ function(){return(rc=a._emscripten_bind_Decoder_GetFaceFromMesh_3=a.asm.Ta).apply(null,arguments)},sc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(sc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=a.asm.Ua).apply(null,arguments)},tc=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(tc=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=a.asm.Va).apply(null,arguments)},uc=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(uc=
68
+ a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=a.asm.Wa).apply(null,arguments)},vc=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(vc=a._emscripten_bind_Decoder_GetAttributeFloat_3=a.asm.Xa).apply(null,arguments)},wc=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(wc=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=a.asm.Ya).apply(null,arguments)},xc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(xc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=
69
+ a.asm.Za).apply(null,arguments)},yc=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(yc=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=a.asm._a).apply(null,arguments)},zc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(zc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=a.asm.$a).apply(null,arguments)},Ac=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(Ac=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=
70
+ a.asm.ab).apply(null,arguments)},Bc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(Bc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=a.asm.bb).apply(null,arguments)},Cc=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(Cc=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=a.asm.cb).apply(null,arguments)},Dc=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(Dc=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=
71
+ a.asm.db).apply(null,arguments)},Ec=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(Ec=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=a.asm.eb).apply(null,arguments)},Fc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(Fc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=a.asm.fb).apply(null,arguments)},Gc=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(Gc=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=
72
+ a.asm.gb).apply(null,arguments)},Hc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(Hc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=a.asm.hb).apply(null,arguments)},Ic=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(Ic=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=a.asm.ib).apply(null,arguments)},Jc=a._emscripten_bind_Decoder___destroy___0=function(){return(Jc=a._emscripten_bind_Decoder___destroy___0=a.asm.jb).apply(null,arguments)},Kc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=
73
+ function(){return(Kc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=a.asm.kb).apply(null,arguments)},Lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(Lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=a.asm.lb).apply(null,arguments)},Mc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(Mc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=
74
+ a.asm.mb).apply(null,arguments)},Nc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(Nc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=a.asm.nb).apply(null,arguments)},Oc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(Oc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=a.asm.ob).apply(null,arguments)},Pc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(Pc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=
75
+ a.asm.pb).apply(null,arguments)},Qc=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(Qc=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=a.asm.qb).apply(null,arguments)},Rc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(Rc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=a.asm.rb).apply(null,arguments)},Sc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(Sc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=
76
+ a.asm.sb).apply(null,arguments)},Tc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(Tc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=a.asm.tb).apply(null,arguments)},Uc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(Uc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=a.asm.ub).apply(null,arguments)},Vc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(Vc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=
77
+ a.asm.vb).apply(null,arguments)},Wc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(Wc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=a.asm.wb).apply(null,arguments)},Xc=a._emscripten_enum_draco_DataType_DT_INVALID=function(){return(Xc=a._emscripten_enum_draco_DataType_DT_INVALID=a.asm.xb).apply(null,arguments)},Yc=a._emscripten_enum_draco_DataType_DT_INT8=function(){return(Yc=a._emscripten_enum_draco_DataType_DT_INT8=a.asm.yb).apply(null,arguments)},Zc=
78
+ a._emscripten_enum_draco_DataType_DT_UINT8=function(){return(Zc=a._emscripten_enum_draco_DataType_DT_UINT8=a.asm.zb).apply(null,arguments)},$c=a._emscripten_enum_draco_DataType_DT_INT16=function(){return($c=a._emscripten_enum_draco_DataType_DT_INT16=a.asm.Ab).apply(null,arguments)},ad=a._emscripten_enum_draco_DataType_DT_UINT16=function(){return(ad=a._emscripten_enum_draco_DataType_DT_UINT16=a.asm.Bb).apply(null,arguments)},bd=a._emscripten_enum_draco_DataType_DT_INT32=function(){return(bd=a._emscripten_enum_draco_DataType_DT_INT32=
79
+ a.asm.Cb).apply(null,arguments)},cd=a._emscripten_enum_draco_DataType_DT_UINT32=function(){return(cd=a._emscripten_enum_draco_DataType_DT_UINT32=a.asm.Db).apply(null,arguments)},dd=a._emscripten_enum_draco_DataType_DT_INT64=function(){return(dd=a._emscripten_enum_draco_DataType_DT_INT64=a.asm.Eb).apply(null,arguments)},ed=a._emscripten_enum_draco_DataType_DT_UINT64=function(){return(ed=a._emscripten_enum_draco_DataType_DT_UINT64=a.asm.Fb).apply(null,arguments)},fd=a._emscripten_enum_draco_DataType_DT_FLOAT32=
80
+ function(){return(fd=a._emscripten_enum_draco_DataType_DT_FLOAT32=a.asm.Gb).apply(null,arguments)},gd=a._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(gd=a._emscripten_enum_draco_DataType_DT_FLOAT64=a.asm.Hb).apply(null,arguments)},hd=a._emscripten_enum_draco_DataType_DT_BOOL=function(){return(hd=a._emscripten_enum_draco_DataType_DT_BOOL=a.asm.Ib).apply(null,arguments)},id=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(id=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=
81
+ a.asm.Jb).apply(null,arguments)},jd=a._emscripten_enum_draco_StatusCode_OK=function(){return(jd=a._emscripten_enum_draco_StatusCode_OK=a.asm.Kb).apply(null,arguments)},kd=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(kd=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=a.asm.Lb).apply(null,arguments)},ld=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(ld=a._emscripten_enum_draco_StatusCode_IO_ERROR=a.asm.Mb).apply(null,arguments)},md=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=
82
+ function(){return(md=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=a.asm.Nb).apply(null,arguments)},nd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(nd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=a.asm.Ob).apply(null,arguments)},od=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(od=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=a.asm.Pb).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.Qb).apply(null,arguments)};
83
+ a._free=function(){return(a._free=a.asm.Rb).apply(null,arguments)};var ua=function(){return(ua=a.asm.Sb).apply(null,arguments)};a.___start_em_js=11660;a.___stop_em_js=11758;var la;ha=function b(){la||F();la||(ha=b)};if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();F();v.prototype=Object.create(v.prototype);v.prototype.constructor=v;v.prototype.__class__=v;v.__cache__={};a.WrapperObject=v;a.getCache=w;a.wrapPointer=B;a.castObject=function(b,
84
+ c){return B(b.ptr,c)};a.NULL=B(0);a.destroy=function(b){if(!b.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";b.__destroy__();delete w(b.__class__)[b.ptr]};a.compare=function(b,c){return b.ptr===c.ptr};a.getPointer=function(b){return b.ptr};a.getClass=function(b){return b.__class__};var r={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(r.needed){for(var b=0;b<r.temps.length;b++)a._free(r.temps[b]);r.temps.length=0;a._free(r.buffer);r.buffer=0;r.size+=
85
+ r.needed;r.needed=0}r.buffer||(r.size+=128,r.buffer=a._malloc(r.size),r.buffer||y(void 0));r.pos=0},alloc:function(b,c){r.buffer||y(void 0);b=b.length*c.BYTES_PER_ELEMENT;b=b+7&-8;r.pos+b>=r.size?(0<b||y(void 0),r.needed+=b,c=a._malloc(b),r.temps.push(c)):(c=r.buffer+r.pos,r.pos+=b);return c},copy:function(b,c,d){d>>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var g=0;g<b.length;g++)c[d+g]=b[g]}};X.prototype=Object.create(v.prototype);X.prototype.constructor=
86
+ X;X.prototype.__class__=X;X.__cache__={};a.VoidPtr=X;X.prototype.__destroy__=X.prototype.__destroy__=function(){Xa(this.ptr)};S.prototype=Object.create(v.prototype);S.prototype.constructor=S;S.prototype.__class__=S;S.__cache__={};a.DecoderBuffer=S;S.prototype.Init=S.prototype.Init=function(b,c){var d=this.ptr;r.prepare();"object"==typeof b&&(b=Z(b));c&&"object"===typeof c&&(c=c.ptr);Ya(d,b,c)};S.prototype.__destroy__=S.prototype.__destroy__=function(){Za(this.ptr)};Q.prototype=Object.create(v.prototype);
87
+ Q.prototype.constructor=Q;Q.prototype.__class__=Q;Q.__cache__={};a.AttributeTransformData=Q;Q.prototype.transform_type=Q.prototype.transform_type=function(){return $a(this.ptr)};Q.prototype.__destroy__=Q.prototype.__destroy__=function(){ab(this.ptr)};V.prototype=Object.create(v.prototype);V.prototype.constructor=V;V.prototype.__class__=V;V.__cache__={};a.GeometryAttribute=V;V.prototype.__destroy__=V.prototype.__destroy__=function(){bb(this.ptr)};x.prototype=Object.create(v.prototype);x.prototype.constructor=
88
+ x;x.prototype.__class__=x;x.__cache__={};a.PointAttribute=x;x.prototype.size=x.prototype.size=function(){return cb(this.ptr)};x.prototype.GetAttributeTransformData=x.prototype.GetAttributeTransformData=function(){return B(db(this.ptr),Q)};x.prototype.attribute_type=x.prototype.attribute_type=function(){return eb(this.ptr)};x.prototype.data_type=x.prototype.data_type=function(){return fb(this.ptr)};x.prototype.num_components=x.prototype.num_components=function(){return gb(this.ptr)};x.prototype.normalized=
89
+ x.prototype.normalized=function(){return!!hb(this.ptr)};x.prototype.byte_stride=x.prototype.byte_stride=function(){return ib(this.ptr)};x.prototype.byte_offset=x.prototype.byte_offset=function(){return jb(this.ptr)};x.prototype.unique_id=x.prototype.unique_id=function(){return kb(this.ptr)};x.prototype.__destroy__=x.prototype.__destroy__=function(){lb(this.ptr)};D.prototype=Object.create(v.prototype);D.prototype.constructor=D;D.prototype.__class__=D;D.__cache__={};a.AttributeQuantizationTransform=
90
+ D;D.prototype.InitFromAttribute=D.prototype.InitFromAttribute=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return!!mb(c,b)};D.prototype.quantization_bits=D.prototype.quantization_bits=function(){return nb(this.ptr)};D.prototype.min_value=D.prototype.min_value=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return ob(c,b)};D.prototype.range=D.prototype.range=function(){return pb(this.ptr)};D.prototype.__destroy__=D.prototype.__destroy__=function(){qb(this.ptr)};G.prototype=
91
+ Object.create(v.prototype);G.prototype.constructor=G;G.prototype.__class__=G;G.__cache__={};a.AttributeOctahedronTransform=G;G.prototype.InitFromAttribute=G.prototype.InitFromAttribute=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return!!rb(c,b)};G.prototype.quantization_bits=G.prototype.quantization_bits=function(){return sb(this.ptr)};G.prototype.__destroy__=G.prototype.__destroy__=function(){tb(this.ptr)};H.prototype=Object.create(v.prototype);H.prototype.constructor=H;H.prototype.__class__=
92
+ H;H.__cache__={};a.PointCloud=H;H.prototype.num_attributes=H.prototype.num_attributes=function(){return ub(this.ptr)};H.prototype.num_points=H.prototype.num_points=function(){return vb(this.ptr)};H.prototype.__destroy__=H.prototype.__destroy__=function(){wb(this.ptr)};E.prototype=Object.create(v.prototype);E.prototype.constructor=E;E.prototype.__class__=E;E.__cache__={};a.Mesh=E;E.prototype.num_faces=E.prototype.num_faces=function(){return xb(this.ptr)};E.prototype.num_attributes=E.prototype.num_attributes=
93
+ function(){return yb(this.ptr)};E.prototype.num_points=E.prototype.num_points=function(){return zb(this.ptr)};E.prototype.__destroy__=E.prototype.__destroy__=function(){Ab(this.ptr)};T.prototype=Object.create(v.prototype);T.prototype.constructor=T;T.prototype.__class__=T;T.__cache__={};a.Metadata=T;T.prototype.__destroy__=T.prototype.__destroy__=function(){Bb(this.ptr)};C.prototype=Object.create(v.prototype);C.prototype.constructor=C;C.prototype.__class__=C;C.__cache__={};a.Status=C;C.prototype.code=
94
+ C.prototype.code=function(){return Cb(this.ptr)};C.prototype.ok=C.prototype.ok=function(){return!!Db(this.ptr)};C.prototype.error_msg=C.prototype.error_msg=function(){return p(Eb(this.ptr))};C.prototype.__destroy__=C.prototype.__destroy__=function(){Fb(this.ptr)};I.prototype=Object.create(v.prototype);I.prototype.constructor=I;I.prototype.__class__=I;I.__cache__={};a.DracoFloat32Array=I;I.prototype.GetValue=I.prototype.GetValue=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Gb(c,
95
+ b)};I.prototype.size=I.prototype.size=function(){return Hb(this.ptr)};I.prototype.__destroy__=I.prototype.__destroy__=function(){Ib(this.ptr)};J.prototype=Object.create(v.prototype);J.prototype.constructor=J;J.prototype.__class__=J;J.__cache__={};a.DracoInt8Array=J;J.prototype.GetValue=J.prototype.GetValue=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Jb(c,b)};J.prototype.size=J.prototype.size=function(){return Kb(this.ptr)};J.prototype.__destroy__=J.prototype.__destroy__=function(){Lb(this.ptr)};
96
+ K.prototype=Object.create(v.prototype);K.prototype.constructor=K;K.prototype.__class__=K;K.__cache__={};a.DracoUInt8Array=K;K.prototype.GetValue=K.prototype.GetValue=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Mb(c,b)};K.prototype.size=K.prototype.size=function(){return Nb(this.ptr)};K.prototype.__destroy__=K.prototype.__destroy__=function(){Ob(this.ptr)};L.prototype=Object.create(v.prototype);L.prototype.constructor=L;L.prototype.__class__=L;L.__cache__={};a.DracoInt16Array=
97
+ L;L.prototype.GetValue=L.prototype.GetValue=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Pb(c,b)};L.prototype.size=L.prototype.size=function(){return Qb(this.ptr)};L.prototype.__destroy__=L.prototype.__destroy__=function(){Rb(this.ptr)};M.prototype=Object.create(v.prototype);M.prototype.constructor=M;M.prototype.__class__=M;M.__cache__={};a.DracoUInt16Array=M;M.prototype.GetValue=M.prototype.GetValue=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Sb(c,b)};
98
+ M.prototype.size=M.prototype.size=function(){return Tb(this.ptr)};M.prototype.__destroy__=M.prototype.__destroy__=function(){Ub(this.ptr)};N.prototype=Object.create(v.prototype);N.prototype.constructor=N;N.prototype.__class__=N;N.__cache__={};a.DracoInt32Array=N;N.prototype.GetValue=N.prototype.GetValue=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Vb(c,b)};N.prototype.size=N.prototype.size=function(){return Wb(this.ptr)};N.prototype.__destroy__=N.prototype.__destroy__=function(){Xb(this.ptr)};
99
+ O.prototype=Object.create(v.prototype);O.prototype.constructor=O;O.prototype.__class__=O;O.__cache__={};a.DracoUInt32Array=O;O.prototype.GetValue=O.prototype.GetValue=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Yb(c,b)};O.prototype.size=O.prototype.size=function(){return Zb(this.ptr)};O.prototype.__destroy__=O.prototype.__destroy__=function(){$b(this.ptr)};z.prototype=Object.create(v.prototype);z.prototype.constructor=z;z.prototype.__class__=z;z.__cache__={};a.MetadataQuerier=
100
+ z;z.prototype.HasEntry=z.prototype.HasEntry=function(b,c){var d=this.ptr;r.prepare();b&&"object"===typeof b&&(b=b.ptr);c=c&&"object"===typeof c?c.ptr:R(c);return!!ac(d,b,c)};z.prototype.GetIntEntry=z.prototype.GetIntEntry=function(b,c){var d=this.ptr;r.prepare();b&&"object"===typeof b&&(b=b.ptr);c=c&&"object"===typeof c?c.ptr:R(c);return bc(d,b,c)};z.prototype.GetIntEntryArray=z.prototype.GetIntEntryArray=function(b,c,d){var g=this.ptr;r.prepare();b&&"object"===typeof b&&(b=b.ptr);c=c&&"object"===
101
+ typeof c?c.ptr:R(c);d&&"object"===typeof d&&(d=d.ptr);cc(g,b,c,d)};z.prototype.GetDoubleEntry=z.prototype.GetDoubleEntry=function(b,c){var d=this.ptr;r.prepare();b&&"object"===typeof b&&(b=b.ptr);c=c&&"object"===typeof c?c.ptr:R(c);return dc(d,b,c)};z.prototype.GetStringEntry=z.prototype.GetStringEntry=function(b,c){var d=this.ptr;r.prepare();b&&"object"===typeof b&&(b=b.ptr);c=c&&"object"===typeof c?c.ptr:R(c);return p(ec(d,b,c))};z.prototype.NumEntries=z.prototype.NumEntries=function(b){var c=this.ptr;
102
+ b&&"object"===typeof b&&(b=b.ptr);return fc(c,b)};z.prototype.GetEntryName=z.prototype.GetEntryName=function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);return p(gc(d,b,c))};z.prototype.__destroy__=z.prototype.__destroy__=function(){hc(this.ptr)};m.prototype=Object.create(v.prototype);m.prototype.constructor=m;m.prototype.__class__=m;m.__cache__={};a.Decoder=m;m.prototype.DecodeArrayToPointCloud=m.prototype.DecodeArrayToPointCloud=function(b,c,d){var g=
103
+ this.ptr;r.prepare();"object"==typeof b&&(b=Z(b));c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return B(ic(g,b,c,d),C)};m.prototype.DecodeArrayToMesh=m.prototype.DecodeArrayToMesh=function(b,c,d){var g=this.ptr;r.prepare();"object"==typeof b&&(b=Z(b));c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return B(jc(g,b,c,d),C)};m.prototype.GetAttributeId=m.prototype.GetAttributeId=function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&
104
+ (c=c.ptr);return kc(d,b,c)};m.prototype.GetAttributeIdByName=m.prototype.GetAttributeIdByName=function(b,c){var d=this.ptr;r.prepare();b&&"object"===typeof b&&(b=b.ptr);c=c&&"object"===typeof c?c.ptr:R(c);return lc(d,b,c)};m.prototype.GetAttributeIdByMetadataEntry=m.prototype.GetAttributeIdByMetadataEntry=function(b,c,d){var g=this.ptr;r.prepare();b&&"object"===typeof b&&(b=b.ptr);c=c&&"object"===typeof c?c.ptr:R(c);d=d&&"object"===typeof d?d.ptr:R(d);return mc(g,b,c,d)};m.prototype.GetAttribute=
105
+ m.prototype.GetAttribute=function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);return B(nc(d,b,c),x)};m.prototype.GetAttributeByUniqueId=m.prototype.GetAttributeByUniqueId=function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);return B(oc(d,b,c),x)};m.prototype.GetMetadata=m.prototype.GetMetadata=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return B(pc(c,b),T)};m.prototype.GetAttributeMetadata=m.prototype.GetAttributeMetadata=
106
+ function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);return B(qc(d,b,c),T)};m.prototype.GetFaceFromMesh=m.prototype.GetFaceFromMesh=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!rc(g,b,c,d)};m.prototype.GetTriangleStripsFromMesh=m.prototype.GetTriangleStripsFromMesh=function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);
107
+ return sc(d,b,c)};m.prototype.GetTrianglesUInt16Array=m.prototype.GetTrianglesUInt16Array=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!tc(g,b,c,d)};m.prototype.GetTrianglesUInt32Array=m.prototype.GetTrianglesUInt32Array=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!uc(g,b,c,d)};m.prototype.GetAttributeFloat=m.prototype.GetAttributeFloat=
108
+ function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!vc(g,b,c,d)};m.prototype.GetAttributeFloatForAllPoints=m.prototype.GetAttributeFloatForAllPoints=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!wc(g,b,c,d)};m.prototype.GetAttributeIntForAllPoints=m.prototype.GetAttributeIntForAllPoints=function(b,c,d){var g=this.ptr;
109
+ b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!xc(g,b,c,d)};m.prototype.GetAttributeInt8ForAllPoints=m.prototype.GetAttributeInt8ForAllPoints=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!yc(g,b,c,d)};m.prototype.GetAttributeUInt8ForAllPoints=m.prototype.GetAttributeUInt8ForAllPoints=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=
110
+ b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!zc(g,b,c,d)};m.prototype.GetAttributeInt16ForAllPoints=m.prototype.GetAttributeInt16ForAllPoints=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!Ac(g,b,c,d)};m.prototype.GetAttributeUInt16ForAllPoints=m.prototype.GetAttributeUInt16ForAllPoints=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&
111
+ (c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!Bc(g,b,c,d)};m.prototype.GetAttributeInt32ForAllPoints=m.prototype.GetAttributeInt32ForAllPoints=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!Cc(g,b,c,d)};m.prototype.GetAttributeUInt32ForAllPoints=m.prototype.GetAttributeUInt32ForAllPoints=function(b,c,d){var g=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===
112
+ typeof d&&(d=d.ptr);return!!Dc(g,b,c,d)};m.prototype.GetAttributeDataArrayForAllPoints=m.prototype.GetAttributeDataArrayForAllPoints=function(b,c,d,g,t){var aa=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);g&&"object"===typeof g&&(g=g.ptr);t&&"object"===typeof t&&(t=t.ptr);return!!Ec(aa,b,c,d,g,t)};m.prototype.SkipAttributeTransform=m.prototype.SkipAttributeTransform=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);Fc(c,
113
+ b)};m.prototype.GetEncodedGeometryType_Deprecated=m.prototype.GetEncodedGeometryType_Deprecated=function(b){var c=this.ptr;b&&"object"===typeof b&&(b=b.ptr);return Gc(c,b)};m.prototype.DecodeBufferToPointCloud=m.prototype.DecodeBufferToPointCloud=function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===typeof c&&(c=c.ptr);return B(Hc(d,b,c),C)};m.prototype.DecodeBufferToMesh=m.prototype.DecodeBufferToMesh=function(b,c){var d=this.ptr;b&&"object"===typeof b&&(b=b.ptr);c&&"object"===
114
+ typeof c&&(c=c.ptr);return B(Ic(d,b,c),C)};m.prototype.__destroy__=m.prototype.__destroy__=function(){Jc(this.ptr)};(function(){function b(){a.ATTRIBUTE_INVALID_TRANSFORM=Kc();a.ATTRIBUTE_NO_TRANSFORM=Lc();a.ATTRIBUTE_QUANTIZATION_TRANSFORM=Mc();a.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Nc();a.INVALID=Oc();a.POSITION=Pc();a.NORMAL=Qc();a.COLOR=Rc();a.TEX_COORD=Sc();a.GENERIC=Tc();a.INVALID_GEOMETRY_TYPE=Uc();a.POINT_CLOUD=Vc();a.TRIANGULAR_MESH=Wc();a.DT_INVALID=Xc();a.DT_INT8=Yc();a.DT_UINT8=Zc();a.DT_INT16=
115
+ $c();a.DT_UINT16=ad();a.DT_INT32=bd();a.DT_UINT32=cd();a.DT_INT64=dd();a.DT_UINT64=ed();a.DT_FLOAT32=fd();a.DT_FLOAT64=gd();a.DT_BOOL=hd();a.DT_TYPES_COUNT=id();a.OK=jd();a.DRACO_ERROR=kd();a.IO_ERROR=ld();a.INVALID_PARAMETER=md();a.UNSUPPORTED_VERSION=nd();a.UNKNOWN_VERSION=od()}va?b():oa.unshift(b)})();if("function"===typeof a.onModuleParsed)a.onModuleParsed();a.Decoder.prototype.GetEncodedGeometryType=function(b){if(b.__class__&&b.__class__===a.DecoderBuffer)return a.Decoder.prototype.GetEncodedGeometryType_Deprecated(b);
116
+ if(8>b.byteLength)return a.INVALID_GEOMETRY_TYPE;switch(b[7]){case 0:return a.POINT_CLOUD;case 1:return a.TRIANGULAR_MESH;default:return a.INVALID_GEOMETRY_TYPE}};return n.ready}}();"object"===typeof exports&&"object"===typeof module?module.exports=DracoDecoderModule:"function"===typeof define&&define.amd?define([],function(){return DracoDecoderModule}):"object"===typeof exports&&(exports.DracoDecoderModule=DracoDecoderModule);
package/dist/index.css ADDED
@@ -0,0 +1 @@
1
+ .ri-viewer--license-checking,.ri-viewer--license-invalid{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#f9f9f9}.ri-viewer{--ri-font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;--ri-viewer-bg: #1c1c1d;--ri-viewer-text: #111827;--ri-panel-bg: #ffffff;--ri-panel-border: #e5e7eb;--ri-panel-title: #111827;--ri-panel-muted-text: #4b5563;--ri-panel-subtle-text: #9ca3af;--ri-panel-surface: #f9fafb;--ri-panel-surface-hover: #f3f4f6;--ri-panel-surface-border: #e5e7eb;--ri-panel-button-text: #1f2937;--ri-panel-accent: #2563eb;--ri-panel-accent-contrast: #ffffff;--ri-license-overlay-bg: rgba(0, 0, 0, .04);--ri-license-overlay-border: rgba(0, 0, 0, .08);--ri-license-overlay-text: #888;--ri-license-overlay-error-bg: rgba(192, 57, 43, .06);--ri-license-overlay-error-border: rgba(192, 57, 43, .2);--ri-license-overlay-error-text: #c0392b;--ri-sidepanel-font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;--ri-sidepanel-bg: var(--ri-databinding-bg, #111318);--ri-sidepanel-open-btn-bg: rgba(20, 20, 20, .82);--ri-sidepanel-open-btn-bg-hover: #27282b7e;--ri-sidepanel-border: rgba(255, 255, 255, .06);--ri-sidepanel-divider: rgba(255, 255, 255, .04);--ri-sidepanel-border-strong: rgba(255, 255, 255, .08);--ri-sidepanel-border-active: rgba(255, 255, 255, .18);--ri-sidepanel-shadow-left: 4px 0 24px rgba(0, 0, 0, .35);--ri-sidepanel-shadow-right: -4px 0 24px rgba(0, 0, 0, .35);--ri-sidepanel-text: var(--ri-databinding-text, #f1f5f9);--ri-sidepanel-text-emphasis: var(--ri-databinding-text-hover, #cbd5e1);--ri-sidepanel-text-muted: var(--ri-databinding-text-muted, #94a3b8);--ri-sidepanel-text-subtle: var(--ri-databinding-text-subtle, #64748b);--ri-sidepanel-placeholder: var(--ri-databinding-text-faint, #475569);--ri-sidepanel-surface: rgba(255, 255, 255, .05);--ri-sidepanel-surface-hover: rgba(255, 255, 255, .1);--ri-sidepanel-accent: #3b82f6;--ri-sidepanel-accent-soft: rgba(59, 130, 246, .12);--ri-databinding-bg: #111318;--ri-databinding-border: rgba(255, 255, 255, .06);--ri-databinding-border-strong: rgba(255, 255, 255, .08);--ri-databinding-border-hover: rgba(255, 255, 255, .15);--ri-databinding-shadow: 4px 0 24px rgba(0, 0, 0, .35);--ri-databinding-font-family: "Inter", "Segoe UI", sans-serif;--ri-databinding-mono-font-family: "JetBrains Mono", "Fira Code", "Menlo", monospace;--ri-databinding-text: #f1f5f9;--ri-databinding-text-muted: #94a3b8;--ri-databinding-text-subtle: #64748b;--ri-databinding-text-faint: #475569;--ri-databinding-text-hover: #cbd5e1;--ri-databinding-surface: rgba(255, 255, 255, .03);--ri-databinding-surface-hover: rgba(255, 255, 255, .06);--ri-databinding-accent: #93c5fd;--ri-databinding-accent-glow: rgba(147, 197, 253, .8);--ri-databinding-accent-border: rgba(96, 165, 250, .55);--ri-databinding-accent-gradient: linear-gradient( 135deg, #1e3a8a 0%, #1d4ed8 60%, #2563eb 100% );--ri-databinding-accent-gradient-active: linear-gradient( 135deg, #1e3a8a 0%, #1e40af 100% );display:flex;flex-direction:row;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--ri-viewer-bg);position:relative;color:var(--ri-viewer-text);font-family:var(--ri-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}.ri-viewer *{box-sizing:border-box}.ri-viewerLeft{display:flex;flex:1;min-height:0;min-width:0;position:relative}.ri-viewerRight{display:flex;flex-shrink:0;min-width:0}.ri-panel{width:280px;min-height:0;background:var(--ri-panel-bg);border-right:1px solid var(--ri-panel-border);display:flex;flex-direction:column;padding:20px;overflow-y:auto;flex-shrink:0;transition:margin-left .3s ease,transform .3s ease}.ri-panel--open{transform:translate(0);margin-left:0}.ri-panel--closed{transform:translate(-100%);margin-left:-280px}.ri-panelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ri-panelTitle{margin:0;font-size:15px;font-weight:700;color:var(--ri-panel-title);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-closeButton{border:0;background:transparent;color:var(--ri-panel-subtle-text);font-size:22px;line-height:1;padding:0;cursor:pointer;flex-shrink:0;transition:color .2s ease}.ri-closeButton:hover{color:var(--ri-panel-muted-text)}.ri-json{margin:0 0 16px;padding:12px;background:var(--ri-panel-surface);border:1px solid var(--ri-panel-surface-border);border-radius:12px;font-size:12px;line-height:1.55;color:var(--ri-panel-button-text);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.ri-divider{border-top:1px solid var(--ri-panel-border);margin-bottom:12px}.ri-sectionLabel{margin-bottom:8px;font-size:11px;font-weight:700;color:var(--ri-panel-subtle-text);text-transform:uppercase;letter-spacing:.16em}.ri-actionList{display:flex;flex-direction:column;gap:8px}.ri-actionButton{width:100%;border-radius:8px;border:1px solid var(--ri-panel-surface-border);background:var(--ri-panel-surface);color:var(--ri-panel-button-text);padding:10px 12px;text-align:left;font-size:14px;line-height:1.4;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.ri-actionButton:hover{background:var(--ri-panel-surface-hover);border-color:var(--ri-panel-border)}.ri-actionButton--active{background:var(--ri-panel-accent);border-color:var(--ri-panel-accent);color:var(--ri-panel-accent-contrast)}.ri-actionButton--active:hover{background:var(--ri-panel-accent);border-color:var(--ri-panel-accent)}.ri-canvasArea{flex:1 1 auto;position:relative;min-width:0}.ri-canvasArea--measuring{cursor:crosshair}.ri-canvasArea canvas{opacity:1;transition:opacity .18s ease}.ri-canvasArea--positioning canvas{opacity:0;transition:none}.ri-bindingsMismatchBanner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:8px;background:#1e1400e0;border:1px solid rgba(251,191,36,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fbbf24;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;pointer-events:auto;max-width:calc(100% - 32px);white-space:normal;text-align:center}.ri-bindingsMismatchBanner__icon{flex-shrink:0}.ri-bindingsMismatchBanner__dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;background:none;border:none;border-radius:4px;color:#fbbf24b3;cursor:pointer;transition:color .15s ease,background .15s ease}.ri-bindingsMismatchBanner__dismiss:hover{color:#fbbf24;background:#fbbf241f}.ri-measureTools,.ri-uvCheckerTools{position:absolute;top:16px;left:16px;z-index:10;display:flex;gap:8px;align-items:center}.ri-measureButton{width:34px;height:34px;padding:0;background:#141414d1;border:1px solid rgba(255,255,255,.12);color:#ffffffbf;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .15s ease,color .15s ease,border-color .15s ease}.ri-measureButton:hover{background:#282828eb;color:#fff;border-color:#ffffff40}.ri-measureButton:active{background:#38dbf0;color:#06343c;border-color:#38dbf0}.ri-measureButton--active{background:#22d3ee;border-color:#22d3ee;color:#06343c}.ri-measureButton--active:hover{background:#38dbf0;color:#06343c}.ri-measureHint{padding:6px 10px;border-radius:8px;font-size:12px;line-height:1;color:#fff;background:#141414d1;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}.ri-explodeTools{position:absolute;top:16px;left:16px;z-index:10;display:flex;gap:8px;align-items:center}.ri-explodeSlider{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:#141414d1;border:1px solid rgba(255,255,255,.12);border-radius:8px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ri-explodeSlider input[type=range]{width:120px;accent-color:#22d3ee;cursor:pointer}.ri-cinematicTools{position:absolute;left:16px;z-index:10;display:flex;gap:8px;align-items:center}.ri-measureDot{width:10px;height:10px;border-radius:50%;background:#22d3ee;border:2px solid #fff;box-shadow:0 0 0 1px #0006;pointer-events:none}.ri-measureLabel{padding:3px 7px;border-radius:6px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;color:#06343c;background:#22d3ee;box-shadow:0 1px 4px #00000059;pointer-events:none;user-select:none}.ri-xrTools{position:absolute;left:16px;z-index:10;display:flex;gap:8px;align-items:center}.ri-xrButton{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 10px;font-size:13px;font-weight:500;color:#fff;background:#141414d1;border:1px solid rgba(255,255,255,.16);border-radius:8px;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .15s ease,border-color .15s ease}.ri-xrButton:hover{background:#282828eb;border-color:#ffffff4d}.ri-mobileHandoffBackdrop{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#020617ad;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.ri-mobileHandoffDialog{position:relative;display:flex;width:min(100%,300px);flex-direction:column;align-items:center;padding:16px;text-align:center;color:#e2e8f0;background:#0f172a;border:1px solid rgba(148,163,184,.3);border-radius:16px;box-shadow:0 24px 80px #00000080}.ri-mobileHandoffDialog>svg{color:#67e8f9}.ri-mobileHandoffDialog h2{margin:12px 0 0;font-size:18px;line-height:1.25;color:#fff}.ri-mobileHandoffDialog p{margin:8px 0 16px;font-size:13px;line-height:1.5;color:#cbd5e1}.ri-mobileHandoffQr{display:grid;place-items:center;padding:10px;background:#fff;border-radius:10px}.ri-mobileHandoffDialog a{margin-top:16px;font-size:13px;font-weight:600;color:#a5f3fc;text-decoration:underline;text-underline-offset:3px}.ri-mobileHandoffClose{position:absolute;top:10px;right:10px;display:grid;width:30px;height:30px;place-items:center;padding:0;color:#cbd5e1;background:transparent;border:0;border-radius:6px;cursor:pointer}.ri-mobileHandoffClose:hover{color:#fff;background:#ffffff1a}.ri-arHintOverlay{position:absolute;top:18px;left:50%;transform:translate(-50%);z-index:10;width:min(calc(100% - 32px),360px);pointer-events:none}.ri-arHint{margin:0 auto;width:fit-content;max-width:100%;padding:6px 12px;font-size:11px;font-weight:500;line-height:1.2;text-align:center;color:#ffffffeb;background:#14141494;border:1px solid rgba(255,255,255,.12);border-radius:999px;user-select:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ri-arOverlay{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:10;width:min(calc(100% - 32px),420px);pointer-events:none}.ri-arControls{display:flex;flex-direction:column;align-items:center;gap:10px}.ri-arStatus,.ri-arActionButton{max-width:100%;padding:8px 16px;font-size:13px;font-weight:600;line-height:1.3;text-align:center;white-space:nowrap;color:#fff;background:#141414d1;border:1px solid rgba(255,255,255,.16);border-radius:19px;user-select:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ri-arStatus{pointer-events:none}.ri-arActionButton{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.ri-arActionButton svg{flex-shrink:0}.ri-arActionButton:hover{background:#282828eb;border-color:#ffffff4d}.ri-arActionButton:active{transform:scale(.98)}.ri-arActionButton--primary{color:#06343c;background:#22d3ee;border-color:transparent;box-shadow:0 1px 4px #00000059}.ri-arActionButton--primary:hover{background:#67e8f9;border-color:transparent}.ri-arActionButton.ri-arActionButton--active,.ri-arActionButton[aria-pressed=true],.ri-arActionButton.ri-arActionButton--active:hover,.ri-arActionButton[aria-pressed=true]:hover,.ri-arActionButton.ri-arActionButton--active:active,.ri-arActionButton[aria-pressed=true]:active{color:#06343c;background:#22d3ee;border-color:transparent;box-shadow:0 1px 4px #00000059}.ri-hiddenInput{display:none}.ri-popover{position:absolute;z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 24px 48px #0f172a2e;color:#111827}.ri-popover--inline{position:static;z-index:auto;width:100%;border-radius:10px;box-shadow:none}.ri-popover--inline .react-colorful{width:100%}.ri-popover--inline{background:var(--ri-databinding-surface, rgba(255, 255, 255, .03));border-color:var(--ri-databinding-border-strong, rgba(255, 255, 255, .08));color:var(--ri-databinding-text, #f1f5f9)}.ri-popover--inline .ri-popoverHeader{border-bottom-color:var( --ri-databinding-border-strong, rgba(255, 255, 255, .08) )}.ri-popover--inline .ri-popoverLabel,.ri-popover--inline .ri-colorCode{color:var(--ri-databinding-text-muted, #94a3b8)}.ri-popover--inline .ri-secondaryButton{background:var(--ri-databinding-surface-hover, rgba(255, 255, 255, .06));border-color:var(--ri-databinding-border-strong, rgba(255, 255, 255, .08));color:var(--ri-databinding-text, #f1f5f9)}.ri-popover--inline .ri-secondaryButton:hover{background:#ffffff1f}.ri-popover--inline .ri-previewFrame{border-color:var(--ri-databinding-border-strong, rgba(255, 255, 255, .08))}.ri-popover--inline .ri-emptyState{border-color:var(--ri-databinding-border-hover, rgba(255, 255, 255, .15));color:var(--ri-databinding-text-subtle, #64748b)}.ri-popover--inline .ri-uploadButton{background:var(--ri-databinding-accent-gradient, #2563eb);color:#fff}.ri-popover--inline .ri-uploadButton:hover{background:var(--ri-databinding-accent-gradient-active, #1d4ed8)}.ri-popover--inline .ri-removeButton{background:transparent;border-color:var(--ri-databinding-border-strong, rgba(255, 255, 255, .08));color:var(--ri-databinding-text-muted, #94a3b8)}.ri-popover--inline .ri-removeButton:hover{background:var(--ri-databinding-surface-hover, rgba(255, 255, 255, .06))}.ri-popover--inline .ri-formatHint{color:var(--ri-databinding-text-subtle, #64748b)}.ri-popoverHeader{padding:12px 16px}.ri-popoverLabel{margin:0 0 8px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.16em}.ri-inlineRow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.ri-colorCode{font-size:12px;color:#9ca3af;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-transform:uppercase}.ri-secondaryButton{border:1px solid #e5e7eb;background:#f3f4f6;color:#374151;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.ri-secondaryButton:hover{background:#e5e7eb}.ri-materialBody{display:flex;flex-direction:column;gap:12px;padding-left:12px;padding-right:12px;padding-bottom:12px}.ri-previewFrame{position:relative;height:112px;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.ri-previewImage{width:100%;height:100%;object-fit:cover;display:block}.ri-previewCaption{position:absolute;left:0;right:0;bottom:0;background:#0006;padding:4px 8px;color:#fff;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ri-emptyState{height:112px;border-radius:12px;border:2px dashed #e5e7eb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#d1d5db;text-align:center}.ri-uploadButton{width:100%;border:0;border-radius:10px;background:#111827;color:#fff;padding:10px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.ri-uploadButton:hover{background:#374151}.ri-removeButton{width:100%;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;padding:8px 12px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.ri-removeButton:hover{background:#f9fafb}.ri-formatHint{margin:0;text-align:center;font-size:10px;color:#d1d5db}.ri-buttonContainer{display:flex;justify-content:space-between;align-items:center;gap:8px;position:absolute;bottom:12px;left:12px;right:12px;z-index:10}.ri-tourControls{display:flex;gap:6px;align-items:center;flex-shrink:0}.ri-rightControls{display:flex;gap:6px;align-items:center;flex-shrink:0;margin-left:auto}.ri-rightControls:only-child{margin-left:auto}.ri-navButtonSingle,.ri-tourButton,.ri-resetButton,.ri-downloadButton{height:34px;background:#141414d1;border:1px solid rgba(255,255,255,.12);color:#ffffffbf;border-radius:8px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;user-select:none;-webkit-tap-highlight-color:transparent}.ri-navButtonSingle:hover:not(:disabled),.ri-tourButton:hover:not(:disabled),.ri-resetButton:hover:not(:disabled){background:#282828eb;color:#fff;border-color:#ffffff40}.ri-navButtonSingle:active:not(:disabled),.ri-tourButton:active:not(:disabled),.ri-resetButton:active:not(:disabled){background:#38dbf0;color:#06343c;border-color:#38dbf0}.ri-navButtonSingle:disabled,.ri-tourButton:disabled,.ri-resetButton:disabled{opacity:.45;cursor:not-allowed}.ri-navButtonSingle{padding:0 16px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;white-space:nowrap}.ri-tourButton{padding:0 12px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:4px;white-space:nowrap}.ri-tourButton svg{width:15px;height:15px;flex-shrink:0}.ri-tourButton--stop{border-color:#f446;color:#ff6b6b}.ri-tourButton--stop:hover:not(:disabled){background:#ff444426;border-color:#f449;color:#ff6b6b}.ri-tourButton--stop:active:not(:disabled){background:#f44;color:#fff;border-color:#f44}.ri-tourButton--next{border-color:#38dbf04d;color:#38dbf0}.ri-tourButton--next:hover:not(:disabled){background:#38dbf01f;border-color:#38dbf080;color:#38dbf0}.ri-tourButton--next:active:not(:disabled){background:#38dbf0;color:#06343c;border-color:#38dbf0}.ri-resetButton{width:34px;padding:0;display:flex;align-items:center;justify-content:center}.ri-resetButton svg{width:15px;height:15px;pointer-events:none;flex-shrink:0}.ri-resetButton:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.ri-downloadWrapper{position:relative;display:inline-flex;flex-direction:column;align-items:stretch}.ri-downloadButton{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;font-size:13px;font-weight:500;white-space:nowrap}.ri-downloadButton:hover:not(:disabled){background:#000000b8;border-color:#ffffff4d;color:#fff}.ri-downloadButton:active:not(:disabled){background:#38dbf0;color:#06343c;border-color:#38dbf0}.ri-downloadButton:disabled{opacity:.45;cursor:not-allowed}.ri-downloadButton__spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ri-spin .7s linear infinite;flex-shrink:0}.ri-downloadMenu{position:absolute;bottom:calc(100% + 6px);right:0;min-width:168px;background:#141414eb;border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:ri-menuReveal .12s ease}@keyframes ri-menuReveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ri-downloadMenuItem{display:flex;align-items:center;gap:9px;width:100%;padding:10px 14px;font-size:13px;font-weight:400;color:#fff;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .1s ease;text-wrap:nowrap}.ri-downloadMenuItem:hover:not(:disabled){background:#ffffff1a}.ri-downloadMenuItem:disabled{opacity:.4;cursor:not-allowed}.ri-downloadMenuDivider{height:1px;background:#ffffff1a;margin:0 10px}.ri-downloadMenuNotice{max-width:220px;padding:8px 14px 11px;color:#fca5a5;font-size:11px;line-height:1.4}@keyframes ri-spin{to{transform:rotate(360deg)}}.ri-annotationMarker{position:relative;width:36px;height:36px;border-radius:50%;background:#141414d1;border:2px solid rgba(255,255,255,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;z-index:20;user-select:none;box-shadow:0 2px 8px #00000073;pointer-events:auto;transition:opacity .3s ease,transform .3s ease}.ri-annotationMarker:hover{transform:scale(1.08);box-shadow:0 12px 28px #0f172a2e;background:#282828eb}.ri-annotationPopup{position:absolute;width:min(270px,calc(100vw - 32px));background:#141414d9;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px;z-index:30;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 48px #0f172a2e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ri-annotationInput,.ri-annotationTextarea{width:100%;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#e5e7eb;border-radius:10px;padding:10px 12px;outline:none;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.ri-annotationInput{font-size:14px;font-weight:500}.ri-annotationTextarea{font-size:13px;resize:vertical;min-height:110px}.ri-annotationInput:focus,.ri-annotationTextarea:focus{border-color:#38dbf0;box-shadow:0 0 0 3px #38dbf01f}.ri-annotationActions{display:flex;align-items:center;gap:10px}.ri-annotationOkBtn{border:0;border-radius:8px;background:#38dbf0cc;color:#06343c;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.ri-annotationOkBtn:hover:not(:disabled){background:#38dbf0}.ri-annotationOkBtn:disabled,.ri-annotationOkBtn.disabled{opacity:.5;cursor:not-allowed}.ri-annotationCancelBtn{border:1px solid rgba(255,255,255,.12);background:transparent;color:#9ca3af;border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.ri-annotationCancelBtn:hover{background:#ffffff0d;border-color:#fff3}.ri-annotationIcons{margin-left:auto;display:flex;align-items:center;gap:12px;color:#9ca3af}.ri-annotationIcons svg{flex-shrink:0}.ri-viewAnnotationPopup{position:relative;background:#141414d9;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 16px;min-width:200px;max-width:min(280px,calc(100vw - 48px));box-shadow:0 8px 24px #00000080;pointer-events:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:ri-viewAnnotationFadeIn .15s ease-out;margin-left:24px;margin-top:-20px;isolation:isolate;z-index:1000}.ri-viewAnnotationClose{background:transparent;border:none;color:#b7bdc6;cursor:pointer;font-size:18px;padding:0 4px;transition:color .2s;line-height:1}.ri-viewAnnotationClose:hover{color:#e2e8f0}.ri-viewAnnotationDescription{margin:0;color:#cbd5e1;font-size:13px;line-height:1.4;word-wrap:break-word}@keyframes ri-viewAnnotationFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ri-annotationNavSingle{position:absolute;bottom:120px;left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.ri-annotationNavSingle>*{pointer-events:auto}.ri-navBadge{background:#ffffff1a;padding:2px 10px;border-radius:4px;font-size:12px;font-weight:400;color:#ffffffb3}.ri-annotationTitleHint{background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:8px 20px;border-radius:8px;font-size:13px;border:1px solid rgba(255,255,255,.08);text-align:center;max-width:350px;animation:slideUp .3s ease}.ri-annotationHintTitle{font-weight:600;color:#e5e7eb}.ri-annotationHintDesc{font-size:12px;opacity:.6;margin-top:2px;color:#d1d5db}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ri-canvasArea .bb-loadingOverlay{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;border-radius:14px;background:#0f172a75;backdrop-filter:blur(1px)}.ri-canvasArea .bb-loadingSpinner{width:40px;height:40px;border-radius:999px;border:3px solid rgba(226,232,240,.24);border-top-color:#93c5fd;animation:bb-spin .8s linear infinite}.ri-canvasArea .bb-loadingMessage{max-width:320px;color:#f7f8f9;font-size:13px;font-weight:600;line-height:1.5}.ri-largeModelBanner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:8px;background:#1e1400e0;border:1px solid rgba(251,191,36,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fbbf24;font-size:12px;font-weight:500;line-height:1.4;pointer-events:auto;max-width:calc(100% - 32px);white-space:normal;text-align:center}.ri-largeModelBanner--offset{top:64px}.ri-largeModelBanner__icon{flex-shrink:0}.ri-largeModelBanner__dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;background:none;border:none;border-radius:4px;color:#fbbf24b3;cursor:pointer;transition:color .15s ease,background .15s ease}.ri-largeModelBanner__dismiss:hover{color:#fbbf24;background:#fbbf241f}.ri-uvCheckerBanner{position:absolute;top:12px;right:12px;z-index:20;display:flex;align-items:center;gap:8px;max-width:min(360px,calc(100% - 24px));padding:7px 11px;border:1px solid rgba(244,114,182,.4);border-radius:8px;background:#280a23e6;color:#f9a8d4;font-size:12px;font-weight:500;line-height:1.4;text-align:left;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ri-uvCheckerBanner__icon{flex-shrink:0}@media(max-width:768px){.ri-xrTools{gap:6px}.ri-xrButton{height:34px;gap:6px;padding:0 8px;font-size:11px}.ri-xrButton svg{width:14px;height:14px}.ri-xrButtonPrefix{display:none}.ri-annotationNavSingle{bottom:100px}.ri-navButtonSingle{padding:8px 20px;font-size:13px;min-width:110px}.ri-annotationTitleHint{padding:6px 14px;font-size:12px;max-width:250px}.ri-viewAnnotationPopup{min-width:160px;max-width:220px;padding:10px 12px}.ri-viewAnnotationTitle{font-size:13px}.ri-viewAnnotationDescription{font-size:12px}.ri-buttonContainer{flex-wrap:wrap;gap:6px}.ri-tourControls,.ri-rightControls{flex-wrap:wrap}}@media(max-width:480px){.ri-xrTools{gap:5px}.ri-xrButton{height:34px;gap:5px;font-size:10px}.ri-xrButton svg{width:13px;height:13px}.ri-annotationNavSingle{bottom:80px}.ri-navButtonSingle{padding:6px 16px;font-size:12px;min-width:90px;gap:6px}.ri-annotationTitleHint{padding:4px 10px;font-size:11px;max-width:200px}.ri-navBadge{font-size:10px;padding:1px 6px}.ri-tourButton{padding:0 8px;font-size:12px}.ri-tourButton span{display:none}.ri-downloadButton{padding:0 10px;font-size:12px}.ri-downloadButton span{display:none}}.ri-license-overlay{display:flex;flex-direction:column;gap:10px;min-width:min(420px,calc(100% - 32px));max-width:min(460px,calc(100% - 32px));padding:20px 28px;border-radius:10px;color:var(--ri-license-overlay-text, #374151);background:var(--ri-license-overlay-bg, rgba(0, 0, 0, .04));border:1px solid var(--ri-license-overlay-border, rgba(0, 0, 0, .08));box-shadow:0 18px 42px #0f172a14}.ri-license-overlay__header{display:flex;align-items:center;gap:10px}.ri-license-overlay__statusDot{width:10px;height:10px;border-radius:999px;background:currentColor;opacity:.7;flex-shrink:0}.ri-license-overlay__icon{flex-shrink:0}.ri-license-overlay__title{font-size:14px;font-weight:700;line-height:1.2}.ri-license-overlay__message{margin:0;font-size:14px;font-weight:500;line-height:1.5}.ri-license-overlay--error{color:var(--ri-license-overlay-error-text, #c0392b);background:var(--ri-license-overlay-error-bg, rgba(192, 57, 43, .06));border:1px solid var(--ri-license-overlay-error-border, rgba(192, 57, 43, .2))}.ri-annotationMarker--hovered{transform:scale(1.08);box-shadow:0 12px 28px #0f172a2e;background:#282828eb}.ri-viewAnnotationHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ri-viewAnnotationTitle{margin:0;color:#e2e8f0;font-size:14px;font-weight:600}.mc__wrapper{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:100}.mc__dpad{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px}.mc__middle-row{display:flex;align-items:center;gap:2px}.mc__joystick{width:60px;height:60px;flex-shrink:0;background:radial-gradient(circle at 40% 35%,#ffffff12,#0000008c);border-radius:50%;border:1.5px solid rgba(255,255,255,.15);position:relative;cursor:grab;touch-action:none;transition:border-color .2s ease,box-shadow .2s ease;margin:4px;box-shadow:0 4px 16px #00000080,0 0 0 4px #ffffff08}.mc__joystick:hover{border-color:#ffffff47;box-shadow:0 4px 20px #0000008c,0 0 0 4px #4285f414}.mc__joystick:active{cursor:grabbing;border-color:#4285f499;box-shadow:0 2px 12px #00000080,0 0 4px #4285f426}.mc__knob{position:absolute;top:50%;left:50%;width:34px;height:34px;margin-left:-17px;margin-top:-17px;background:linear-gradient(145deg,#5a9bf5,#1a66d9);border-radius:50%;cursor:grab;box-shadow:0 3px 10px #1a66d980,0 1px #ffffff40 inset;transition:transform .04s linear,box-shadow .1s ease;border:1.5px solid rgba(255,255,255,.45)}.mc__joystick:active .mc__knob{box-shadow:0 2px 16px #4285f4b3,0 1px #ffffff40 inset;animation:pulse .6s ease infinite}.mc__arrow{padding:0;margin:0;background:transparent;border:none;border-radius:0;box-shadow:none;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,filter .15s ease;overflow:visible}.mc__arrow svg{display:block!important;pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important;overflow:visible!important}.mc__arrow--up{margin-bottom:2px}.mc__arrow--up:hover{transform:scale(1.15) translateY(-2px);filter:drop-shadow(0 4px 12px rgba(66,133,244,.8))}.mc__arrow--up:active{transform:scale(.92) translateY(2px)}.mc__arrow--down{margin-top:2px}.mc__arrow--down:hover{transform:scale(1.15) translateY(2px);filter:drop-shadow(0 -4px 12px rgba(66,133,244,.8))}.mc__arrow--down:active{transform:scale(.92) translateY(-2px)}.mc__arrow--left{margin-right:2px}.mc__arrow--left:hover{transform:scale(1.15) translate(-2px);filter:drop-shadow(4px 0 12px rgba(66,133,244,.8))}.mc__arrow--left:active{transform:scale(.92) translate(2px)}.mc__arrow--right{margin-left:2px}.mc__arrow--right:hover{transform:scale(1.15) translate(2px);filter:drop-shadow(-4px 0 12px rgba(66,133,244,.8))}.mc__arrow--right:active{transform:scale(.92) translate(-2px)}@keyframes pulse{0%,to{box-shadow:0 2px 16px #4285f499,0 1px #ffffff40 inset;opacity:.85}50%{box-shadow:0 4px 24px #4285f4f2,0 1px #ffffff40 inset;opacity:1}}@media(max-width:768px){.mc__wrapper{bottom:-5px}.mc__joystick{width:68px;height:68px}.mc__knob{width:30px;height:30px;margin-left:-15px;margin-top:-15px}.mc__arrow--up:hover{transform:scale(1.1) translateY(-1px)}.mc__arrow--down:hover{transform:scale(1.1) translateY(1px)}.mc__arrow--left:hover{transform:scale(1.1) translate(-1px)}.mc__arrow--right:hover{transform:scale(1.1) translate(1px)}}@media(max-width:480px){.mc__joystick{width:56px;height:56px}.mc__knob{width:26px;height:26px;margin-left:-13px;margin-top:-13px}.mc__arrow--up{margin-bottom:1px}.mc__arrow--down{margin-top:1px}.mc__arrow--left{margin-right:1px}.mc__arrow--right{margin-left:1px}}@media(hover:none){.mc__arrow:hover{transform:none!important;filter:none!important}.mc__arrow:active{transform:scale(.92)!important}}.left-panel{width:280px;min-height:0;background:var(--ri-databinding-bg, #111318);border-right:1px solid var(--ri-databinding-border, rgba(255, 255, 255, .06));display:flex;flex-direction:column;padding:24px 18px;overflow-y:auto;font-family:var( --ri-databinding-font-family, "Inter", "Segoe UI", sans-serif );flex-shrink:0;transition:margin-left .45s cubic-bezier(.4,0,.2,1);box-shadow:var(--ri-databinding-shadow, 4px 0 24px rgba(0, 0, 0, .35))}.left-panel--open{margin-left:0}.left-panel--closed{margin-left:-280px}.left-panel::-webkit-scrollbar{width:4px}.left-panel::-webkit-scrollbar-track{background:transparent}.left-panel::-webkit-scrollbar-thumb{background:var(--ri-databinding-border-strong, rgba(255, 255, 255, .08));border-radius:4px}.left-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--ri-databinding-border-strong, rgba(255, 255, 255, .08))}.left-panel__title{font-size:14px;font-weight:600;color:var(--ri-databinding-text, #f1f5f9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px;margin:0;letter-spacing:.02em}.left-panel__close-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--ri-databinding-surface, rgba(255, 255, 255, .03));border:1px solid var(--ri-databinding-border-strong, rgba(255, 255, 255, .08));border-radius:6px;color:var(--ri-databinding-text-subtle, #64748b);font-size:13px;flex-shrink:0;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.left-panel__close-btn:hover{background:var(--ri-databinding-surface-hover, rgba(255, 255, 255, .06));color:var(--ri-databinding-text-hover, #cbd5e1);border-color:var(--ri-databinding-border-hover, rgba(255, 255, 255, .15))}.left-panel__data{padding:12px 6px;background:var(--ri-databinding-surface, rgba(255, 255, 255, .03));border:1px solid var(--ri-databinding-border-strong, rgba(255, 255, 255, .08));border-radius:10px;font-size:11px;font-family:var( --ri-databinding-mono-font-family, "JetBrains Mono", "Fira Code", "Menlo", monospace );color:var(--ri-databinding-text-muted, #94a3b8);line-height:1.7;overflow-x:auto;margin-bottom:18px}.left-panel__divider{border:none;border-top:1px solid var(--ri-databinding-border, rgba(255, 255, 255, .06));margin-bottom:16px}.left-panel__actions-label{font-size:10px;font-weight:600;color:var(--ri-databinding-text-faint, #475569);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.left-panel__actions-list{display:flex;flex-direction:column;gap:6px}.left-panel__action-extra{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1),opacity .2s ease,margin-top .28s cubic-bezier(.4,0,.2,1)}.left-panel__action-extra--open{grid-template-rows:1fr;opacity:1;margin-top:4px}.left-panel__action-extra-inner{overflow:hidden;min-height:0}.left-panel__action-btn{position:relative;padding:9px 14px;border-radius:8px;text-align:left;font-size:13px;font-weight:500;cursor:pointer;overflow:hidden;border:1px solid var(--ri-databinding-border-strong, rgba(255, 255, 255, .08));background:var(--ri-databinding-surface, rgba(255, 255, 255, .03));color:var(--ri-databinding-text-muted, #94a3b8);letter-spacing:.01em}.left-panel__action-btn:active{transform:scale(.97)}.left-panel__action-btn--active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--ri-databinding-accent, #93c5fd);border-radius:0 3px 3px 0;box-shadow:0 0 8px var(--ri-databinding-accent-glow, rgba(147, 197, 253, .8))}.left-panel__action-btn--active:hover{background:var( --ri-databinding-accent-gradient, linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 60%, #2563eb 100%) );border-color:var(--ri-databinding-accent-border, rgba(96, 165, 250, .55))}.left-panel__action-btn--active:active{transform:scale(.97);background:var( --ri-databinding-accent-gradient-active, linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%) )}.left-panel__data{display:flex;flex-direction:column;gap:2px;margin-bottom:18px}.left-panel__data-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:7px;background:var(--ri-databinding-surface, rgba(255, 255, 255, .03));border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.left-panel__data-row:hover{background:var(--ri-databinding-surface-hover, rgba(255, 255, 255, .06));border-color:var(--ri-databinding-border-strong, rgba(255, 255, 255, .08))}.left-panel__data-key{font-size:11px;font-weight:600;color:var(--ri-databinding-text-faint, #475569);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;flex-shrink:0}.left-panel__data-value{font-size:12px;font-family:var( --ri-databinding-mono-font-family, "JetBrains Mono", "Fira Code", "Menlo", monospace );text-align:right;overflow-wrap:anywhere;word-break:break-word;min-width:0}.left-panel__data-group{display:flex;flex-direction:column;gap:2px;padding:7px 10px;border-radius:7px;background:var(--ri-databinding-surface, rgba(255, 255, 255, .03));border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.left-panel__data-group:hover{background:var(--ri-databinding-surface-hover, rgba(255, 255, 255, .06));border-color:var(--ri-databinding-border-strong, rgba(255, 255, 255, .08))}.left-panel__data-children{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding-left:10px;border-left:1px solid var(--ri-databinding-border-strong, rgba(255, 255, 255, .08))}.left-panel__data-children .left-panel__data-row,.left-panel__data-children .left-panel__data-group{padding:3px 0;background:transparent;border-color:transparent}.left-panel__data-children .left-panel__data-row:hover,.left-panel__data-children .left-panel__data-group:hover{background:transparent}@media(max-width:900px){.left-panel{width:50vw}.left-panel--open{margin-left:0}.left-panel--closed{margin-left:-50vw}.left-panel{padding:18px 12px}.left-panel__data-row{flex-direction:column;align-items:stretch;gap:2px;padding:6px 8px}.left-panel__data-group{padding:6px 8px}.left-panel__data-value{text-align:left;font-size:11.5px}.left-panel__data-children{padding-left:8px}}.ri-sidepanel-wrap{height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);overflow:visible}.ri-sidepanel-wrap--open{width:300px;flex-shrink:0}.ri-sidepanel-wrap--closed{width:0;flex-shrink:0;overflow:hidden}.ri-sidepanel__open-btn{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:7px;border:1px solid var(--ri-sidepanel-border-strong, rgba(255, 255, 255, .08));background:var(--ri-sidepanel-open-btn-bg, rgba(20, 20, 20, .82));cursor:pointer;font-size:13px;font-weight:500;color:var(--ri-sidepanel-text-muted, #94a3b8);z-index:190;transition:background .15s}.ri-sidepanel__open-btn:hover{background:var(--ri-sidepanel-open-btn-bg-hover, #27282b7e)}.ri-sidepanel{position:absolute;top:0;right:0;width:300px;height:100%;background:var(--ri-sidepanel-bg, #141824);display:flex;flex-direction:column;font-family:var( --ri-sidepanel-font-family, Inter, "Segoe UI", Helvetica, Arial, sans-serif );transform:translate(100%);transition:transform .45s cubic-bezier(.4,0,.2,1);z-index:200;border-left:1px solid var(--ri-sidepanel-border, rgba(255, 255, 255, .06));box-shadow:var(--ri-sidepanel-shadow-right, -4px 0 24px rgba(0, 0, 0, .35))}.ri-sidepanel--open{transform:translate(0)}.ri-sidepanel--closed{transform:translate(100%)}.ri-sidepanel__header{padding:24px 20px 16px;border-bottom:1px solid var(--ri-sidepanel-border-strong, rgba(255, 255, 255, .08))}.ri-sidepanel__header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.ri-sidepanel__eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--ri-sidepanel-text-subtle, #64748b);text-transform:uppercase}.ri-sidepanel__title{font-size:22px;font-weight:700;color:var(--ri-sidepanel-text, #f1f5f9);margin:0;line-height:1.2}.ri-sidepanel__close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--ri-sidepanel-border-strong, rgba(255, 255, 255, .08));background:var(--ri-sidepanel-surface, rgba(255, 255, 255, .05));cursor:pointer;color:var(--ri-sidepanel-text-muted, #94a3b8);transition:background .15s,color .15s;flex-shrink:0}.ri-sidepanel__close-btn:hover{background:var(--ri-sidepanel-surface-hover, rgba(255, 255, 255, .1));color:var(--ri-sidepanel-text, #f1f5f9)}.ri-sidepanel__search-wrap{padding:14px 16px;border-bottom:1px solid var(--ri-sidepanel-border-strong, rgba(255, 255, 255, .08))}.ri-sidepanel__search{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--ri-sidepanel-border-strong, rgba(255, 255, 255, .08));background:var(--ri-sidepanel-surface, rgba(255, 255, 255, .05));color:var(--ri-sidepanel-text, #e2e8f0);font-size:13px;outline:none;box-sizing:border-box;transition:border-color .15s,background .15s}.ri-sidepanel__search::placeholder{color:var(--ri-sidepanel-placeholder, #475569)}.ri-sidepanel__search:focus{border-color:var(--ri-sidepanel-border-active, rgba(255, 255, 255, .18));background:var(--ri-sidepanel-surface-hover, rgba(255, 255, 255, .08))}.ri-sidepanel__list{display:flex;flex-direction:column;padding:10px 0;overflow-y:auto;flex:1}.ri-sidepanel__list::-webkit-scrollbar{width:4px}.ri-sidepanel__list::-webkit-scrollbar-track{background:transparent}.ri-sidepanel__list::-webkit-scrollbar-thumb{background:var(--ri-sidepanel-surface-hover, rgba(255, 255, 255, .1));border-radius:4px}.ri-sidepanel__row{display:flex;justify-content:space-between;padding:12px 20px;cursor:pointer;width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;appearance:none;-webkit-appearance:none;transition:background .12s;border-bottom:1px solid var(--ri-sidepanel-divider, rgba(255, 255, 255, .04))}.ri-sidepanel__row:hover,.ri-sidepanel__row--hovered{background:var(--ri-sidepanel-surface, rgba(255, 255, 255, .05))}.ri-sidepanel__row--selected{background:var(--ri-sidepanel-accent-soft, rgba(59, 130, 246, .12))}.ri-sidepanel__label{font-size:14px;font-weight:600;color:var(--ri-sidepanel-text-muted, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ri-sidepanel__label--hovered,.ri-sidepanel__label--selected{color:var(--ri-sidepanel-text-emphasis, #ffffff)}.ri-sidepanel__meta{font-size:12px;color:var(--ri-sidepanel-text-muted, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ri-sidepanel__vis-btn{display:flex;align-items:center;flex-shrink:0;cursor:pointer;background:none;border:none;padding:0;margin-left:10px}.ri-sidepanel__checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--ri-sidepanel-border-active, rgba(255, 255, 255, .2));background:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.ri-sidepanel__checkbox--checked{background:var(--ri-sidepanel-accent, #3b82f6);border-color:var(--ri-sidepanel-accent, #3b82f6)}@media(max-width:900px){.ri-sidepanel-wrap--open,.ri-sidepanel{width:50vw}}.bb-root{--bb-font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;--bb-app-bg: radial-gradient( circle at top left, rgba(226, 232, 240, .8), transparent 30% ), linear-gradient(135deg, #f6f1e8 0%, #ebe8df 40%, #e9edf2 100%);--bb-app-text: #111827;--bb-sidebar-bg: linear-gradient(180deg, rgba(20, 27, 45, .98), rgba(25, 34, 57, .95)), #121826;--bb-sidebar-text: #f8fafc;--bb-sidebar-muted-text: #b3bfd2;--bb-sidebar-subtle-text: #94a3b8;--bb-sidebar-border: rgba(148, 163, 184, .18);--bb-sidebar-border-hover: rgba(148, 163, 184, .32);--bb-sidebar-divider: rgba(148, 163, 184, .14);--bb-sidebar-surface: rgba(255, 255, 255, .04);--bb-sidebar-surface-hover: rgba(255, 255, 255, .08);--bb-sidebar-surface-strong: rgba(255, 255, 255, .05);--bb-sidebar-eyebrow-bg: rgba(148, 163, 184, .16);--bb-sidebar-eyebrow-text: #cbd5e1;--bb-sidebar-left-shadow: 18px 0 42px rgba(15, 23, 42, .12);--bb-sidebar-right-shadow: -4px 0 24px rgba(0, 0, 0, .35);--bb-sidebar-chip-bg: rgba(15, 23, 42, .42);--bb-sidebar-chip-border: rgba(148, 163, 184, .14);--bb-sidebar-accent: rgba(99, 102, 241, .18);--bb-sidebar-accent-border: rgba(99, 102, 241, .4);--bb-sidebar-accent-text: #f8fafc;--bb-menu-bg: #1a1f2e;--bb-menu-shadow: 0 16px 32px rgba(15, 23, 42, .4);display:flex;height:100%;min-height:0;width:100%;background:var(--bb-app-bg);color:var(--bb-app-text);font-family:var(--bb-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}.bb-root *{box-sizing:border-box}.bb-root input,.bb-root select,.bb-root textarea,.bb-root button{font-family:inherit}.bb-sidebar{width:400px;min-height:0;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bb-sidebar-bg);color:var(--bb-sidebar-text);transition:width .24s ease}.bb-sidebar--left{border-right:1px solid var(--bb-sidebar-border);box-shadow:var(--bb-sidebar-left-shadow)}.bb-sidebar--right{width:300px;border-left:1px solid var(--bb-sidebar-border);box-shadow:var(--bb-sidebar-right-shadow)}.bb-sidebar--collapsed{width:36px}.bb-sidebar--collapsed .bb-header{padding:5px;display:flex;justify-content:center}.bb-sidebar--collapsed .bb-header--sidebar{min-height:36px}.bb-sidebar--collapsed .bb-sidebarToggle{width:26px;height:26px;font-size:12px}.bb-header{padding:5px 20px;border-bottom:1px solid var(--bb-sidebar-divider)}.bb-header--sidebar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:55px}.bb-eyebrow{display:inline-block;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:var(--bb-sidebar-eyebrow-bg);color:var(--bb-sidebar-eyebrow-text);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.bb-title{margin:0;font-size:20px;line-height:.95;letter-spacing:-.04em;font-weight:800;color:var(--bb-sidebar-text)}.bb-sidebarToggle{width:36px;height:36px;flex-shrink:0;border-radius:6px;border:1px solid var(--bb-sidebar-border);background:var(--bb-sidebar-surface-strong);color:var(--bb-sidebar-text);font-size:16px;font-weight:800;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.bb-sidebarToggle:hover{transform:translateY(-1px);background:var(--bb-sidebar-surface-hover);border-color:var(--bb-sidebar-border-hover)}.bb-subtitle{margin:0;max-width:32ch;font-size:15px;line-height:1.7;color:var(--bb-sidebar-muted-text)}.bb-statRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.bb-statChip{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;border-radius:8px;background:var(--bb-sidebar-chip-bg);border:1px solid var(--bb-sidebar-chip-border);box-shadow:inset 0 1px #ffffff0a}.bb-statChip strong{font-size:13px;color:var(--bb-sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-statLabel{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bb-sidebar-subtle-text)}.bb-tabRow{display:flex;gap:6px;padding:10px 20px}.bb-tab{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--bb-sidebar-border);background:var(--bb-sidebar-surface);color:var(--bb-sidebar-muted-text);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.bb-tab:hover{background:var(--bb-sidebar-surface-hover);border-color:var(--bb-sidebar-border-hover)}.bb-tab--active{background:var(--bb-sidebar-accent);border-color:var(--bb-sidebar-accent-border);color:var(--bb-sidebar-accent-text)}.bb-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 20px;border-bottom:1px solid var(--bb-sidebar-divider);flex-wrap:wrap}.bb-toolbarGroup{display:flex;align-items:center;gap:6px;min-width:0}.bb-toolbarDivider{width:1px;align-self:stretch;background:var(--bb-sidebar-divider);margin:0}.bb-iconButton{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:7px;border:1px solid var(--bb-sidebar-border);background:var(--bb-sidebar-surface);color:var(--bb-sidebar-text);cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.bb-iconButton:hover:not(:disabled){background:var(--bb-sidebar-surface-hover);border-color:var(--bb-sidebar-border-hover)}.bb-iconButton:disabled{opacity:.4;cursor:not-allowed}.bb-transformAxesGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bb-transformAxis{min-width:0}.bb-transformAxisLabel{display:block;width:auto;margin-bottom:4px;font-size:12px;font-weight:600}.bb-transformNumberInput{box-sizing:border-box;width:100%;min-width:0;padding-right:3px;padding-left:3px;text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}.bb-exportMenuWrapper{position:relative;display:inline-flex}.bb-exportMenu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:20;display:flex;flex-direction:column;min-width:150px;padding:6px;border-radius:9px;border:1px solid var(--bb-sidebar-border);background:var(--bb-menu-bg);box-shadow:var(--bb-menu-shadow)}.bb-exportMenuItem{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--bb-sidebar-text);font-size:12px;font-weight:600;text-align:left;cursor:pointer}.bb-exportMenuItem:hover{background:var(--bb-sidebar-surface-hover)}@media(max-width:640px){.bb-toolbarDivider{width:100%;height:1px}}.bb-button,.bb-fileLabel{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 12px;border-radius:7px;border:1px solid var(--bb-sidebar-border);background:var(--bb-sidebar-surface);color:var(--bb-sidebar-text);font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.bb-button:hover,.bb-fileLabel:hover{transform:translateY(-1px);background:#ffffff14;border-color:#94a3b852;box-shadow:0 10px 18px #0f172a2e}.bb-button:disabled,.bb-fileLabel:has(.bb-hiddenInput:disabled){opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.bb-button--ghost{background:#f8fafc14}.bb-hiddenInput{display:none}.bb-statusCard{margin-top:4px;padding:14px 16px;border-radius:9px;background:#0f172a70;border:1px solid rgba(148,163,184,.15)}.bb-statusCard--error{background:#7f1d1d52;border-color:#f871713d}.bb-statusCard--success{background:#064e3b57;border-color:#34d3993d}.bb-statusTitle{margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#cbd5e1}.bb-status{font-size:13px;line-height:1.55;color:#e2e8f0}.bb-status--error{color:#fecaca}.bb-status--success{color:#bbf7d0}.bb-input--error{border-color:#dc2626}.bb-nodeList{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;background:#141824}.bb-sectionHead{padding:24px 20px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.bb-sectionKicker{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.bb-sectionHeading{margin-top:4px;font-size:22px;font-weight:700;line-height:1.2;color:#f1f5f9}.bb-search{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.bb-input,.bb-select,.bb-textarea{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0d;color:#e2e8f0;padding:10px 14px;font-size:13px;line-height:1.45}.bb-input::placeholder,.bb-textarea::placeholder{color:#475569}.bb-input--compact{width:64px;max-width:64px;flex:0 0 auto;padding:7px 4px;text-align:center}.bb-input:focus,.bb-select:focus,.bb-textarea:focus{outline:none;border-color:#ffffff2e;background:#ffffff14;box-shadow:none}.bb-textarea{min-height:110px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.bb-nodeItems{min-height:0;overflow-y:auto;padding:10px 0}.bb-nodeButton{width:100%;border:0;border-radius:0;background:transparent;padding:12px 20px;margin-bottom:0;text-align:left;cursor:pointer;transition:background-color .12s ease,color .12s ease;border-bottom:1px solid rgba(255,255,255,.04)}.bb-nodeButton:hover{background:#ffffff0d}.bb-nodeButton--active{background:#ffffff0d;box-shadow:none}.bb-nodeName{display:block;margin-bottom:2px;font-size:14px;font-weight:600;color:#e2e8f0}.bb-nodeMeta{display:block;font-size:11px;color:#94a3b8}.bb-editor{flex:1 1 auto;min-height:0;height:100%;overflow-y:auto;padding:16px 16px 28px;overscroll-behavior:contain}.bb-editorHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;padding:18px;border-radius:11px;background:#ffffff0d;border:1px solid rgba(148,163,184,.12)}.bb-editorTitle{margin:8px 0 0;font-size:24px;line-height:1.1;color:#f8fafc}.bb-editorMeta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:10px;font-size:12px;color:#94a3b8}.bb-editorBadge{flex-shrink:0;padding:8px 12px;border-radius:999px;background:#fbbf241f;border:1px solid rgba(251,191,36,.2);color:#fcd34d;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.bb-emptyEditor{padding:28px 8px;font-size:14px;color:#a7b1c3}.bb-section{margin-bottom:10px;border-radius:7px;background:#ffffff08;border:1px solid rgba(148,163,184,.12);overflow:hidden}.bb-sectionHeaderButton{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:none;background:#ffffff08;padding:11px 14px;cursor:pointer;text-align:left;color:inherit}.bb-sectionHeaderButton:hover{background:#ffffff0f}.bb-sectionHeaderMain{display:flex;min-width:0;align-items:center;gap:8px}.bb-sectionChevron{flex-shrink:0;color:#8b97ab;transform:rotate(-90deg);transition:transform .18s ease}.bb-sectionChevron--open{transform:rotate(0)}.bb-sectionBody{display:flex;flex-direction:column;gap:4px;padding:14px;border-top:1px solid rgba(148,163,184,.1)}.bb-sectionTitle{margin:0;font-size:11px;font-weight:700;color:#c3cbdb;letter-spacing:.14em;text-transform:uppercase}.bb-sectionHelp{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;border-radius:999px;color:#b9c0ca;cursor:help;transition:background .18s ease,color .18s ease,transform .18s ease}.bb-sectionHelp:hover{background:#ffffff14;color:#eef2ff;transform:translateY(-.5px)}.bb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bb-presetGallery{display:flex;justify-items:center;flex-wrap:wrap;gap:4px;margin-bottom:14px}.bb-presetSwatch{display:flex;flex-direction:column;align-items:center;gap:5px;width:64px;padding:6px 4px;border-radius:8px;border:1px solid rgba(148,163,184,.18);background:#94a3b80f;cursor:pointer;transition:border-color .15s,background .15s}.bb-presetSwatch:hover:not(:disabled){border-color:#94a3b866;background:#94a3b81f}.bb-presetSwatch:disabled{opacity:.4;cursor:not-allowed}.bb-presetSwatchColor{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}.bb-presetSwatchLabel{font-size:10px;font-weight:600;color:#cbd5e1;text-align:center;line-height:1.2}.bb-field{display:flex;flex-direction:column;gap:5px}.bb-field--full{grid-column:1 / -1}.bb-label{font-size:12px;font-weight:700;color:#d7dee9}.bb-note{font-size:11px;color:#8b97ab}.bb-linkButton{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.bb-linkButton:hover{color:#f8fafc}.bb-tierLock{display:flex;align-items:center;gap:10px;padding:16px 14px;border-radius:7px;background:#fbbf2414;border:1px dashed rgba(251,191,36,.3);color:#fcd34d}.bb-tierLockMessage{margin:0;font-size:12px;font-weight:600}.bb-root--licenseChecking,.bb-root--licenseInvalid{align-items:center;justify-content:center}.bb-readonly{background:#94a3b814;color:#9ca3af}.bb-checkboxRow{display:flex;flex-wrap:wrap;gap:10px}.bb-checkbox{display:inline-flex;align-items:center;gap:8px;padding:6px 5px;border-radius:7px;background:#0f172a38;border:1px solid rgba(148,163,184,.12);font-size:13px;color:#d7dee9}.bb-checkbox input{accent-color:#f59e0b}.bb-sliderField{display:flex;align-items:center;gap:10px}.bb-slider{flex:1 1 auto;min-width:0;accent-color:#2aa8d8}.bb-slider--unset{opacity:.45}.bb-fileField{position:relative;display:flex;align-items:center}.bb-fileField-input{width:100%;padding-right:40px}.bb-fileFieldButton{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:5px;background:transparent;color:#aab4c5;cursor:pointer}.bb-fileFieldButton:hover{background:#ffffff14;color:#f8fafc}.bb-materialPanel{margin-top:8px;border:1px solid rgba(148,163,184,.14);border-radius:6px;background:#0f172a47;overflow:hidden}.bb-materialPanel:first-of-type{margin-top:0}.bb-materialPanelHeader{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:none;padding:10px 12px;background:#ffffff08;cursor:pointer;text-align:left;color:inherit}.bb-materialPanelHeader:hover{background:#ffffff0f}.bb-materialPanelTitleWrap{display:inline-flex;align-items:center;gap:8px;color:#dbe4f0}.bb-materialPanelChevron{flex-shrink:0;color:#8b97ab;transform:rotate(-90deg);transition:transform .18s ease}.bb-materialPanelChevron--open{transform:rotate(0)}.bb-materialPanelTitle{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.bb-materialPanelHelp{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;border-radius:999px;color:#b9c0ca;cursor:help;transition:background .18s ease,color .18s ease,transform .18s ease}.bb-materialPanelHelp:hover{background:#ffffff14;color:#eef2ff;transform:translateY(-.5px)}.bb-materialPanelBody{padding:12px;border-top:1px solid rgba(148,163,184,.1);display:flex;flex-direction:column;gap:10px}.bb-actionList{display:flex;flex-direction:column;gap:12px}.bb-actionCard{border:1px solid rgba(148,163,184,.14);border-radius:9px;padding:14px;background:#0f172a33}.bb-actionCardHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.bb-actionCardTitle{font-size:13px;font-weight:700;color:#f8fafc}.bb-actionCardMeta{flex-shrink:0;padding:5px 9px;border-radius:999px;background:#94a3b81f;color:#94a3b8;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.bb-actionGrid{display:grid;grid-template-columns:1fr;gap:10px}.bb-actionFooter{margin-top:12px}.bb-actionRemove{width:100%}.bb-cameraRowWithHint{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bb-moveHint{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px;white-space:nowrap;min-height:34px;padding:0 12px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(148,163,184,.18);color:#475569;font-size:12px;font-weight:700}.bb-moveHint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin:0 1px;border-radius:4px;background:#bfbebe5f;border:1px solid rgba(255,255,255,.2);color:#000;font-family:inherit;font-size:10px;font-weight:700;line-height:1}.bb-previewShell{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;padding:5px;overflow:hidden}.bb-previewHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 4px 10px}.bb-previewControls{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;flex-wrap:wrap}.bb-previewControlsColumn{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.bb-previewTitle{margin:2px 0 0;font-size:20px;line-height:1.05;letter-spacing:-.03em;color:#1f2937}.bb-previewToggles{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.bb-checkbox--compact{gap:5px;padding:0;background:transparent;border:none;font-size:10px;font-weight:500;line-height:1;color:#4b5563}.bb-checkbox--compact:hover{background:transparent;transform:none}.bb-checkbox--compact input[type=checkbox]{width:11px;height:11px}.bb-previewMeta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.bb-removeModelButton{background-color:#ae3636;min-height:34px;padding:0 14px}.bb-removeModelButton:hover{background-color:#a31414}.bb-previewMeta span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(148,163,184,.18);color:#475569;font-size:12px;font-weight:700}.bb-preview{position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;border-radius:14px;background:radial-gradient(circle at top left,#ffffffeb,#ecf0f4d1),#f8fafc;border:1px solid rgba(148,163,184,.24);box-shadow:0 24px 48px #94a3b833,inset 0 1px #ffffffb3}.bb-loadingOverlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;border-radius:14px;background:#f8fafcd1;backdrop-filter:blur(2px)}.bb-loadingSpinner{width:40px;height:40px;border-radius:999px;border:3px solid rgba(148,163,184,.3);border-top-color:#2563eb;animation:bb-spin .8s linear infinite}.bb-loadingMessage{max-width:320px;color:#475569;font-size:13px;font-weight:600;line-height:1.5}.bb-previewStatus{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-previewStatus--success{background:#22c55e1f!important;border-color:#22c55e4d!important;color:#15803d!important}.bb-previewStatus--error{background:#ef44441f!important;border-color:#ef44444d!important;color:#b91c1c!important}.bb-previewModelName{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-previewPlaceholder{position:relative;display:flex;height:100%;width:100%;align-items:center;justify-content:center;padding:40px;text-align:center;color:#64748b;font-size:15px;line-height:1.7;border-radius:14px;border:2px dashed rgba(148,163,184,.24);background:radial-gradient(circle at top,rgba(251,191,36,.12),transparent 30%),linear-gradient(180deg,#ffffffd1,#eef2f8e6);transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.bb-previewPlaceholder>div{max-width:420px;display:flex;flex-direction:column;align-items:center;gap:14px}.bb-previewPlaceholderTitle{font-size:28px;line-height:1.05;letter-spacing:-.03em;font-weight:800;color:#1f2937}.bb-previewPlaceholderButton{margin-top:8px;border:0;border-radius:999px;padding:13px 22px;background:#135bc0;color:#fff;font-size:14px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.bb-previewPlaceholderButton:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px #135bc047}.bb-previewPlaceholderButton:disabled{opacity:.6;cursor:not-allowed}.bb-previewPlaceholder--dragActive{border-color:#f59e0bbf;background:radial-gradient(circle at top,rgba(251,191,36,.22),transparent 32%),linear-gradient(180deg,#fffcf5f2,#fff4e6eb);transform:scale(.995);box-shadow:inset 0 0 0 1px #f59e0b24}.bb-sectionHeader{cursor:pointer;user-select:none}.bb-iconButton{background:none;border:none;cursor:pointer;font-size:16px;color:var(--bb-sidebar-subtle-text);transition:color .2s ease;padding:4px 8px;border-radius:4px}.bb-iconButton:hover{color:var(--bb-sidebar-text);background:var(--bb-sidebar-surface-strong)}.bb-cameraLive,.bb-cameraSaved{background:#0f172a70;border-radius:8px;padding:14px;margin-bottom:16px;border:1px solid rgba(148,163,184,.15);transition:all .2s ease}.bb-cameraLive:hover,.bb-cameraSaved:hover{border-color:#94a3b840;background:#0f172a85}.bb-cameraLiveHeader,.bb-cameraSavedHeader{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.15)}.bb-cameraLiveBadge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;letter-spacing:.5px;text-transform:uppercase}.bb-cameraSavedBadge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;letter-spacing:.5px;text-transform:uppercase}.bb-cameraLiveLabel,.bb-cameraSavedLabel{font-size:12px;font-weight:600;color:#cbd5e1}.bb-cameraValues{display:flex;flex-direction:column;gap:8px}.bb-cameraRow{display:flex;align-items:center;gap:10px;font-size:12px;flex-wrap:wrap}.bb-cameraLabel{font-weight:600;color:#94a3b8;min-width:58px;font-size:11px;letter-spacing:.02em}.bb-cameraCode{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:11px;background:#0000004d;padding:3px 8px;border-radius:4px;color:#fcd34d;letter-spacing:.02em;word-break:break-all}.bb-cameraPlaceholder{color:#94a3b8;font-size:12px;text-align:center;padding:16px;font-style:italic}.bb-cameraControls{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.bb-button--primary:hover:not(:disabled){background:#1a68d6;transform:translateY(-1px)}.bb-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.bb-cameraMessage{padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:12px;font-weight:500;animation:slideIn .3s ease-out}.bb-cameraMessage--success{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.bb-cameraMessage--error{background:#ef444426;color:#ffe5e55c;border:1px solid rgba(255,248,248,.3)}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bb-readonly{background:#94a3b814;color:#9ca3af;cursor:default}@media(max-width:980px){.bb-sidebar--left{width:100%;max-height:42vh}.bb-sidebar--collapsed{width:100%}.bb-previewShell{padding:14px}.bb-preview{min-height:44vh}.bb-previewHeader{flex-direction:column;align-items:flex-start}.bb-previewControls{width:100%;justify-content:flex-start}.bb-previewMeta{justify-content:flex-start}.bb-grid,.bb-actionGrid,.bb-statRow{grid-template-columns:1fr}}.bb-emptyAnnotations{padding:32px;text-align:center;background:#f5f5f5;border-radius:4px;color:#666;font-size:14px}.bb-annotationCard{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:12px;transition:all .2s ease}.bb-annotationCard:hover{background:#fff;border-color:#4caf50;box-shadow:0 2px 8px #0000001a}.bb-annotationBadge{background:#4caf50;color:#fff;padding:2px 8px;border-radius:2px;font-size:11px;font-weight:600}.bb-annotationActions{display:flex;gap:8px}.bb-annotationEdit,.bb-annotationDelete{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:2px;font-size:14px;transition:all .2s ease}.bb-annotationEdit:hover{background:#e8f5e9;transform:scale(1.05)}.bb-annotationDelete:hover{background:#ffebee;transform:scale(1.05)}.bb-annotationTitle{font-weight:600;font-size:14px;color:#333;margin-bottom:6px}.bb-annotationDescription{font-size:13px;color:#666;margin-bottom:8px;line-height:1.4}.bb-annotationPosition{font-size:11px;font-family:monospace;color:#999;background:#f0f0f0;padding:4px 6px;border-radius:2px;display:inline-block}.bb-modalOverlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.bb-modal{background:#fff;border-radius:6px;width:500px;max-width:90%;box-shadow:0 8px 32px #0003;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.bb-modalHeader{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.bb-modalHeader h3{margin:0;font-size:18px;font-weight:600}.bb-modalClose{background:transparent;border:none;font-size:20px;cursor:pointer;color:#999;transition:color .2s ease}.bb-modalClose:hover{color:#333}.bb-modalBody{padding:20px}.bb-modalFooter{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e0e0e0}.bb-annotationsInfo{margin-top:8px}.bb-annotationsList{display:flex;flex-direction:column;gap:12px}.bb-annotationHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bb-annotationActions{display:flex;gap:4px}.bb-annotationAction{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:2px;display:flex;align-items:center;justify-content:center;transition:all .2s}.bb-annotationAction--edit:hover{border-radius:50%;background:#3b82f633;color:#3b82f6}.bb-annotationAction--delete:hover{border-radius:50%;background:#ef444433;color:#ef4444}.bb-editSpotOverlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.bb-editSpotPopup{background:linear-gradient(180deg,#141b2dfa,#192239f2),#121826;border-radius:8px;padding:24px;min-width:400px;max-width:500px;border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 48px #0f172a4d}.bb-editSpotHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bb-editSpotTitle{color:#f8fafc;font-size:18px;font-weight:600;margin:0}.bb-editSpotClose{background:none;border:none;color:#94a3b8;font-size:24px;cursor:pointer;padding:0 4px;transition:color .2s ease}.bb-editSpotClose:hover{color:#f8fafc}.bb-editSpotBody{display:flex;flex-direction:column;gap:12px}.bb-editSpotBody .bb-input,.bb-editSpotBody .bb-textarea{background:#0f172a66;border-color:#94a3b833;color:#f8fafc}.bb-editSpotBody .bb-input:focus,.bb-editSpotBody .bb-textarea:focus{border-color:#fbbf24a6;box-shadow:0 0 0 4px #fbbf241f}.bb-editSpotBody .bb-label{color:#d7dee9}.bb-editSpotActions{display:flex;gap:8px;margin-top:8px}.bb-editSpotActions .bb-button{background:#ffffff0a;border:1px solid rgba(148,163,184,.18);color:#e5edf7}.bb-editSpotActions .bb-button:hover{background:#ffffff14;border-color:#94a3b852;transform:translateY(-1px)}.bb-button--danger{background:#ef4444;color:#fff;border:none;padding:8px 16px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;display:flex;align-items:center;gap:4px;transition:all .2s ease}.bb-button--danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 10px 18px #ef444440}.bb-button--primary{background:#135bc0;border-color:transparent;color:#fff}.bb-button--primary:hover{background:#1a68d6}.bb-annotationCard{background:#0f172a70;border-left:4px solid #22d3ee;border-radius:8px;padding:16px;transition:all .2s ease;border:1px solid rgba(148,163,184,.15);box-shadow:inset 0 1px #ffffff08}.bb-annotationCard:hover{transform:translate(4px);background:#0f172a99;border-color:#94a3b840;box-shadow:0 4px 12px #0f172a4d}.bb-annotationBadge{display:inline-block;background:#22d3ee;color:#06343c;padding:2px 10px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.bb-annotationTitle{font-weight:700;font-size:15px;color:#f8fafc;margin-bottom:8px;line-height:1.3}.bb-annotationDescription{font-size:13px;color:#cbd5e1;margin-bottom:12px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.bb-annotationPosition{font-size:11px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;color:#94a3b8;background:#0000004d;padding:4px 8px;border-radius:4px;display:inline-block;margin-top:4px;letter-spacing:.02em}.bb-emptyAnnotations{padding:32px;text-align:center;background:#0f172a70;border-radius:10px;border:1px solid rgba(148,163,184,.15);color:#94a3b8;font-size:14px}@media(max-width:1280px){.bb-cameraRow{flex-direction:column;align-items:flex-start;gap:4px}.bb-cameraLabel{min-width:auto}.bb-cameraControls{flex-direction:column}.bb-cameraControls .bb-button{width:100%}}@media(max-width:1120px){.bb-sidebar--left{width:320px}.bb-sidebar--right{width:220px}.bb-grid,.bb-statRow{grid-template-columns:1fr}}@media(max-width:980px){.bb-root{flex-direction:column;height:auto;min-height:0}.bb-sidebar--left{width:100%!important;max-height:45vh;border-right:none;border-bottom:1px solid rgba(148,163,184,.18);box-shadow:0 18px 42px #0f172a1f}.bb-sidebar--right{width:100%!important;max-height:45vh;border-left:none;border-top:1px solid rgba(148,163,184,.18);box-shadow:0 -18px 42px #0f172a1f;order:3}.bb-sidebar--collapsed{width:100%!important;max-height:72px;overflow:hidden}.bb-sidebar--collapsed .bb-nodeList,.bb-sidebar--collapsed .bb-tabRow,.bb-sidebar--collapsed .bb-toolbar{display:none}.bb-previewShell{flex:1 1 auto;min-height:50vh;padding:14px;order:2}.bb-preview{min-height:44vh;border-radius:10px}.bb-previewHeader{flex-direction:column;align-items:flex-start;gap:12px}.bb-previewControls{width:100%;justify-content:flex-start;flex-wrap:wrap}.bb-previewMeta{justify-content:flex-start}.bb-previewMeta span{font-size:11px;padding:0 10px;min-height:30px}.bb-grid,.bb-actionGrid,.bb-statRow{grid-template-columns:1fr}.bb-editor{padding:12px 12px 20px}.bb-editorHeader{flex-direction:column;align-items:stretch;padding:14px}.bb-editorTitle{font-size:20px}.bb-editorBadge{align-self:flex-start}.bb-toolbar{flex-direction:column;gap:12px;padding:16px 20px 18px}.bb-toolbarDivider{width:100%;height:1px;margin:0}.bb-tabRow{padding:12px 16px 0;gap:6px}.bb-tab{font-size:10px;padding:8px 10px}.bb-header{padding:14px 16px 12px}.bb-header--sidebar{min-height:60px}.bb-title{font-size:17px}.bb-subtitle{font-size:13px}.bb-statChip{padding:10px 12px}.bb-statChip strong{font-size:12px}.bb-nodeButton{padding:10px 12px}.bb-nodeName{font-size:12px}.bb-nodeMeta{font-size:10px}.bb-section{padding:14px}.bb-sectionTitle{font-size:9px}.bb-field{gap:4px}.bb-label{font-size:11px}.bb-input,.bb-select,.bb-textarea{padding:9px 11px;font-size:12px}.bb-textarea{min-height:80px}.bb-button,.bb-fileLabel{min-height:36px;padding:0 14px;font-size:12px}.bb-previewPlaceholderTitle{font-size:22px}.bb-previewPlaceholderButton{padding:10px 18px;font-size:13px}.bb-editSpotPopup{min-width:90%;max-width:90%;padding:20px}.bb-modal{width:95%;max-width:95%}.bb-annotationCard{padding:12px}.bb-annotationTitle{font-size:14px}.bb-annotationDescription{font-size:12px}}@media(max-width:640px){.bb-root{flex-direction:column;height:auto;min-height:0}.bb-sidebar--left,.bb-sidebar--right{max-height:40vh;width:100%!important}.bb-previewShell{min-height:40vh;padding:10px}.bb-preview{min-height:35vh;border-radius:8px}.bb-previewHeader{flex-direction:column;align-items:flex-start;gap:8px;padding:0 0 12px}.bb-previewTitle{font-size:17px}.bb-previewControls{gap:6px}.bb-previewMeta span{font-size:10px;padding:0 8px;min-height:26px}.bb-editor{padding:10px 10px 16px}.bb-editorHeader{padding:12px;flex-direction:column;align-items:stretch}.bb-editorTitle{font-size:18px}.bb-editorMeta{font-size:11px;gap:6px 8px}.bb-editorBadge{font-size:9px;padding:4px 10px;align-self:flex-start}.bb-section{padding:12px;margin-bottom:12px}.bb-sectionTitle{font-size:9px;margin-bottom:10px}.bb-grid{gap:8px}.bb-field--full{grid-column:1 / -1}.bb-label{font-size:11px}.bb-input,.bb-select,.bb-textarea{padding:8px 10px;font-size:12px;border-radius:6px}.bb-textarea{min-height:70px}.bb-button,.bb-fileLabel{min-height:34px;padding:0 12px;font-size:11px;border-radius:6px}.bb-toolbar{padding:12px 14px 14px;gap:10px}.bb-tabRow{padding:10px 12px 0;gap:4px}.bb-tab{font-size:9px;padding:6px 8px;border-radius:4px}.bb-header{padding:10px 12px 8px}.bb-header--sidebar{min-height:52px}.bb-title{font-size:15px}.bb-subtitle{font-size:12px}.bb-eyebrow{font-size:9px;padding:4px 8px;margin-bottom:8px}.bb-statRow{gap:6px;margin-top:14px}.bb-statChip{padding:8px 10px;border-radius:6px}.bb-statChip strong{font-size:11px}.bb-statLabel{font-size:9px}.bb-sidebarToggle{width:30px;height:30px;font-size:14px;border-radius:5px}.bb-nodeItems{padding:4px 6px}.bb-nodeButton{padding:8px 10px;border-radius:6px;margin-bottom:4px}.bb-nodeName{font-size:11px}.bb-nodeMeta{font-size:10px}.bb-search{padding:8px 10px}.bb-statusCard{padding:10px 12px;border-radius:7px}.bb-status{font-size:12px}.bb-statusTitle{font-size:10px}.bb-checkboxRow{gap:6px}.bb-checkbox{padding:6px 10px;font-size:12px;border-radius:5px}.bb-actionCard{padding:10px;border-radius:7px}.bb-actionCardTitle{font-size:12px}.bb-actionCardMeta{font-size:9px;padding:3px 7px}.bb-previewPlaceholder{padding:24px;border-radius:8px}.bb-previewPlaceholderTitle{font-size:18px}.bb-previewPlaceholderButton{padding:8px 14px;font-size:12px;border-radius:999px}.bb-editSpotPopup{min-width:95%;max-width:95%;padding:16px;border-radius:6px}.bb-editSpotTitle{font-size:16px}.bb-editSpotActions .bb-button{padding:8px 12px;font-size:12px}.bb-modal{width:98%;max-width:98%;border-radius:5px}.bb-modalHeader{padding:12px 16px}.bb-modalHeader h3{font-size:16px}.bb-modalBody{padding:14px}.bb-modalFooter{padding:12px 16px;flex-direction:column;gap:8px}.bb-modalFooter .bb-button{width:100%;justify-content:center}.bb-annotationCard{padding:10px;border-left-width:3px;border-radius:6px}.bb-annotationTitle{font-size:13px}.bb-annotationDescription{font-size:11px}.bb-annotationPosition{font-size:10px;padding:3px 6px}.bb-annotationBadge{font-size:9px;padding:2px 8px}.bb-emptyAnnotations{padding:20px;font-size:12px;border-radius:7px}.bb-removeModelButton{min-height:30px;padding:0 10px;font-size:11px}.bb-annotationsList{gap:8px}.bb-cameraLive,.bb-cameraSaved{padding:10px;border-radius:6px}.bb-cameraLiveHeader,.bb-cameraSavedHeader{flex-wrap:wrap}.bb-cameraLiveLabel,.bb-cameraSavedLabel{font-size:11px}.bb-cameraRow{font-size:11px;gap:4px}.bb-cameraCode{font-size:10px;padding:2px 6px}.bb-cameraControls{flex-direction:column;gap:6px}.bb-cameraControls .bb-button{width:100%;justify-content:center}.bb-cameraMessage{font-size:11px;padding:8px 12px}.bb-readonly{font-size:11px;padding:6px 8px}}@media(max-width:420px){.bb-sidebar--left,.bb-sidebar--right{max-height:35vh}.bb-previewShell{min-height:35vh;padding:6px}.bb-preview{min-height:30vh;border-radius:6px}.bb-previewTitle{font-size:15px}.bb-previewMeta span{font-size:9px;padding:0 6px;min-height:22px}.bb-editorTitle{font-size:16px}.bb-title{font-size:13px}.bb-tab{font-size:8px;padding:5px 6px}.bb-button,.bb-fileLabel{font-size:10px;min-height:30px;padding:0 10px}.bb-input,.bb-select,.bb-textarea{font-size:11px;padding:6px 8px}.bb-statChip{padding:6px 8px}.bb-statChip strong{font-size:10px}.bb-previewPlaceholderTitle{font-size:15px}.bb-previewPlaceholderButton{font-size:11px;padding:6px 12px}.bb-editSpotPopup{padding:14px;border-radius:5px}.bb-editSpotTitle{font-size:14px}.bb-editSpotBody .bb-input,.bb-editSpotBody .bb-textarea{font-size:12px;padding:6px 8px}.bb-modalHeader h3{font-size:14px}.bb-annotationTitle{font-size:12px}}@media(max-width:980px){.bb-sidebar--collapsed .bb-header--sidebar{min-height:52px}.bb-sidebar--collapsed .bb-title{font-size:14px}.bb-sidebar--collapsed .bb-sidebarToggle{width:28px;height:28px;font-size:12px}}@media(hover:none)and (pointer:coarse){.bb-nodeButton:hover,.bb-button:hover,.bb-fileLabel:hover,.bb-tab:hover,.bb-sidebarToggle:hover,.bb-annotationCard:hover{transform:none}.bb-nodeButton:active,.bb-button:active,.bb-fileLabel:active,.bb-tab:active,.bb-sidebarToggle:active{transform:scale(.97);transition:transform .1s ease}}@media print{.bb-root{height:auto;min-height:0;background:#fff}.bb-sidebar--left,.bb-sidebar--right{width:100%!important;max-height:none!important;background:#fff!important;color:#000!important;border:1px solid #ddd!important;box-shadow:none!important}.bb-previewShell{min-height:auto!important;padding:10px!important}.bb-preview{min-height:auto!important;border-radius:4px!important;border:1px solid #ddd!important;box-shadow:none!important}.bb-button,.bb-fileLabel,.bb-sidebarToggle,.bb-tab,.bb-annotationAction,.bb-iconButton{display:none!important}.bb-nodeList{overflow:visible!important}.bb-previewPlaceholderButton{display:none!important}}.bb-checkboxRow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:4px 0}.bb-checkbox{display:inline-flex;align-items:center;gap:8px;border-radius:7px;font-weight:600;font-size:13px;color:#f3eeee;cursor:pointer;user-select:none;transition:all .2s ease}.bb-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#f59e0b;cursor:pointer;flex-shrink:0}.bb-editorDivider{height:1px;background:#94a3b824;margin:4px 0 16px;width:100%}.bb-preview{position:relative;width:100%;height:100%;overflow:hidden}.ri-viewer{width:100%!important;height:100%!important;position:relative!important}.ri-buttonContainer{position:absolute!important;bottom:20px!important;right:20px!important;z-index:10000!important;display:flex!important;gap:10px!important;pointer-events:auto!important}.ri-downloadButton{display:flex!important;align-items:center!important;gap:6px!important;padding:10px 12px!important;background:#2f302f74!important;color:#fff!important;border:none!important;border-radius:6px!important;cursor:pointer!important;font-size:12px!important;font-weight:500!important;box-shadow:0 2px 8px #00000026!important;opacity:1!important;visibility:visible!important}.ri-downloadButton svg{width:14px!important;height:14px!important}.ri-resetButton{display:flex!important;align-items:center!important;justify-content:center!important;padding:6px!important;background:#2f302f74!important;border:none!important;border-radius:6px!important;cursor:pointer!important;opacity:1!important;visibility:visible!important}.ri-resetButton svg{width:14px!important;height:14px!important}.bb-reset-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px);animation:bb-fade-in .2s ease}.bb-reset-dialog{background:#1a1f2e;border-radius:12px;max-width:480px;width:90%;border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 48px #00000080;animation:bb-slide-up .25s ease}.bb-reset-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(148,163,184,.1)}.bb-reset-title{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;color:#f8fafc}.bb-reset-title .bb-icon-warning{color:#f59e0b;flex-shrink:0}.bb-reset-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.bb-reset-close:hover{color:#f8fafc;background:#ffffff0f}.bb-reset-body{padding:20px 24px 24px}.bb-reset-message{margin:0 0 12px;font-size:15px;color:#e2e8f0;line-height:1.5}.bb-reset-message strong{color:#f8fafc}.bb-reset-details{color:#94a3b8;text-align:center;font-size:13px;line-height:1.6;margin:0 0 12px}.bb-reset-warning{display:flex;align-items:center;gap:8px;color:#f59e0b;font-size:13px;font-weight:600;margin:4px 0 0;padding:10px 12px;background:#f59e0b14;border-radius:6px;border:1px solid rgba(245,158,11,.15)}.bb-reset-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid rgba(148,163,184,.1)}.bb-reset-btn{padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid rgba(148,163,184,.18);background:#ffffff0a;color:#e2e8f0}.bb-reset-btn:hover{background:#ffffff14;transform:translateY(-1px)}.bb-reset-btn-danger{padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;background:#dc2626;color:#fff}.bb-reset-btn-danger:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}@keyframes bb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bb-slide-up{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.se-tabContent{display:flex;flex-direction:column}.se-tabContent *{box-sizing:border-box}.se-subTabRow{display:flex;justify-content:space-between;gap:6px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.1);margin-bottom:4px}.se-subTab{padding:8px 12px;display:flex;justify-items:center;border-radius:10px;border:1px solid rgba(148,163,184,.18);background:#ffffff0a;color:#b3bfd2;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.se-subTab:hover{background:#ffffff14;border-color:#94a3b852}.se-subTab--active{background:#6366f12e;border-color:#6366f166;color:#f8fafc}.se-generalContent{display:flex;flex-direction:column;padding-top:0}.se-placeholder{font-size:13px;color:#93a4c0}.se-section{margin-bottom:10px;border-radius:7px;background:#ffffff08;border:1px solid rgba(148,163,184,.12);overflow:hidden;padding:0}.se-section:last-child{margin-bottom:0}.se-sectionTitle{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c3cbdb;padding:11px 14px;border-bottom:1px solid rgba(148,163,184,.1)}.se-sectionBody{display:flex;flex-direction:column;gap:12px;padding:14px}.se-field{display:flex;flex-direction:column;gap:5px}.se-fieldInline{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.se-fieldLabel{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;color:#d7dee9}.se-fieldValue{font-variant-numeric:tabular-nums;font-size:12px;color:#93a4c0}.se-slider{width:100%;accent-color:#2aa8d8;cursor:pointer}.se-checkbox{width:18px;height:18px;accent-color:#2aa8d8;cursor:pointer}.se-select,.se-textInput,.se-numberInput{background:#0f172a47;border:1px solid rgba(148,163,184,.2);border-radius:7px;color:#f8fafc;font-size:13px;padding:11px 13px;outline:none}.se-select:focus,.se-textInput:focus,.se-numberInput:focus{outline:none;border-color:#2aa8d8a6;box-shadow:0 0 0 4px #2aa8d81f}.se-select{min-width:130px;text-transform:capitalize}.se-textInput,.se-numberInput{width:100%}.se-swatch{display:flex;align-items:center;justify-content:flex-end;min-width:96px;height:30px;padding:0 8px;border-radius:8px;border:1px solid rgba(148,163,184,.35);cursor:pointer;box-shadow:inset 0 0 0 1px #00000026}.se-swatchCode{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:#fff;mix-blend-mode:difference}.se-colorPicker{margin-top:6px;display:flex;flex-direction:column;gap:8px;width:fit-content}.se-colorPicker .react-colorful{width:100%;height:140px}.se-inlineColorPicker .react-colorful{width:100%;height:240px}.se-colorPickerPopover{z-index:1000;padding:10px;border-radius:8px;background:#1b2333;border:1px solid rgba(148,163,184,.25);box-shadow:0 12px 28px #0006}.se-colorPickerPopover .react-colorful{width:200px;height:160px}.se-vectorRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.se-vectorAxis{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#93a4c0}.se-panel{margin-bottom:10px;overflow:hidden;border:1px solid rgba(148,163,184,.12);border-radius:7px;background:#ffffff08}.se-panel:last-child{margin-bottom:0}.se-panelHeader{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:none;background:#ffffff08;padding:11px 14px;color:#e5e7eb;cursor:pointer;text-align:left}.se-panelHeader:hover{background:#ffffff0f}.se-panelHeaderMain{display:flex;min-width:0;align-items:center;gap:8px}.se-panelChevron{flex-shrink:0;color:#8b97ab;transform:rotate(-90deg);transition:transform .18s ease}.se-panelChevron--open{transform:rotate(0)}.se-panelTitle{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c3cbdb}.se-panelHelp{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;border-radius:999px;color:#b9c0ca;cursor:help;transition:background .18s ease,color .18s ease,transform .18s ease}.se-panelHelp:hover{background:#ffffff14;color:#eef2ff;transform:translateY(-.5px)}.se-panelTrailing{display:flex;align-items:center}.se-panelBody{display:flex;flex-direction:column;gap:12px;padding:14px;border-top:1px solid rgba(148,163,184,.1);background:transparent}.se-iconButton{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:#ffffff14;color:#d7dde8;cursor:pointer}.se-iconButton:hover{background:#ffffff1f}.se-axisStepperGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.se-axisStepper{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:30px;border-radius:10px;background:#1118279e;border:1px solid rgba(255,255,255,.05)}.se-axisStepperButton{display:inline-flex;align-items:center;justify-content:center;height:100%;border:none;background:transparent;color:#f3f4f6;cursor:pointer}.se-axisStepperButton:hover{background:#ffffff0a}.se-axisStepperLabel{text-align:center;font-size:15px;color:#f3f4f6}.se-segmentedControl{display:grid;grid-auto-flow:column;overflow:hidden;border-radius:10px;background:#1118279e}.se-segmentedControl--renderer{grid-template-columns:repeat(3,minmax(0,1fr))}.se-segmentedControl--renderer .se-segmentedOption{padding-inline:6px;font-size:12px}.se-segmentedOption{min-height:35px;border:none;background:transparent;color:#d1d5db;font-size:14px;text-transform:uppercase;cursor:pointer}.se-segmentedOption--active{background:#2aa8d8;color:#fff}.se-helperCard{padding:32px;text-align:center;background:#0f172a70;border-radius:10px;border:1px solid rgba(148,163,184,.15);color:#94a3b8;font-size:14px}.se-helperCard strong{font-size:14px}.se-helperCard span{font-size:13px;line-height:1.4;color:#c7d0df}.se-switch{position:relative;display:inline-flex;align-items:center}.se-switch input[type=checkbox]{position:absolute;left:0;top:0;z-index:10;width:100%;height:100%;cursor:pointer;opacity:0}.se-switchTrack{position:relative;display:inline-flex;align-items:center;gap:8px}.se-switchTrack:before{content:"";width:36px;height:20px;background:#4b5563;display:inline-block;border-radius:20px;transition:background-color .2s ease-in}.se-switchThumb{position:absolute;width:16px;height:16px;border-radius:50%;left:2px;top:2px;z-index:2;background:#fff;box-shadow:0 0 5px #0003;transition:.2s ease-in}.se-switch input[type=checkbox]:hover+.se-switchTrack .se-switchThumb{box-shadow:0 2px 15px #0003,0 3px 8px #0000001a}.se-switch input[type=checkbox]:checked+.se-switchTrack:before{background:#376fcb}.se-switch input[type=checkbox]:checked+.se-switchTrack .se-switchThumb{background:#4285f4;left:18px}.se-switchLabel{font-size:12px;font-weight:700;letter-spacing:.06em;color:#e5e7eb}.se-switch input[type=checkbox]:checked~.se-switchTrack .se-switchLabel{color:#2aa8d8}.se-lightList{display:flex;flex-direction:column;gap:4px}.se-lightRow{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.1);background:#ffffff08;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.se-lightRow:hover{background:#ffffff0f}.se-lightRow--active{background:#2aa8d81f;border-color:#2aa8d859}.se-lightRowLabel{font-size:13px;color:#d8e0ee}.se-lightActions{display:flex;gap:8px}.se-lightProps{display:flex;flex-direction:column;gap:14px;padding-top:4px;border-top:1px solid rgba(148,163,184,.1)}.se-animationList{display:flex;flex-direction:column;gap:14px}.se-animationCard{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:14px;border:1px solid rgba(148,163,184,.16);background:#0f172a7a}.se-animationCard--active{border-color:#2aa8d873;box-shadow:inset 0 0 0 1px #2aa8d829}.se-animationHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.se-animationHeading{display:flex;min-width:0;flex-direction:column;gap:6px}.se-animationTitleRow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.se-animationStatus,.se-animationBadge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.se-animationStatus{background:#2aa8d829;color:#9fe8ff}.se-animationBadge{background:#6366f12e;color:#d9ddff}.se-animationSource{font-size:12px;color:#93a4c0;word-break:break-word}.se-animationMeta{display:flex;flex-wrap:wrap;gap:8px}.se-animationMeta span{border-radius:999px;background:#ffffff0f;padding:4px 9px;font-size:12px;color:#c6d0e2}.se-animationDangerButton,.se-animationButton,.se-animationAutoplayButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#ffffff0a;color:#e2e8f0;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.se-animationButton:disabled{opacity:.45;cursor:not-allowed}.se-animationDangerButton{width:36px;height:36px;color:#fca5a5}.se-animationDangerButton:hover,.se-animationButton:hover,.se-animationAutoplayButton:hover{background:#ffffff14;border-color:#94a3b857}.se-animationButtonRow{display:flex;flex-wrap:wrap;gap:10px}.se-animationButton{min-height:36px;padding:0 14px;font-size:13px;font-weight:600}.se-animationButton--icon{flex:1;min-width:0;padding:0;height:38px}.se-animationSeekRow{display:flex;align-items:center;gap:10px}.se-animationSeek{flex:1;min-width:0}.se-animationSeekTime{flex-shrink:0;min-width:86px;text-align:right;font-variant-numeric:tabular-nums;font-size:12px;color:#97a3b6}.se-animationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.se-animationSpeedRow{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px;align-items:center}.se-animationSpeedInput{text-align:right}.se-animationAutoplayButton{align-self:flex-start;min-height:36px;padding:0 14px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.se-animationAutoplayButton--active{background:#2aa8d82e;border-color:#2aa8d86b;color:#dff8ff}.se-removedAnimations{overflow:hidden;border-radius:12px;border:1px solid rgba(148,163,184,.14);background:#ffffff08}.se-removedAnimationList{display:flex;flex-direction:column;gap:10px;padding:14px}.se-removedAnimationRow{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:10px;background:#0f172a6b;padding:12px}.se-removedAnimationName{font-size:13px;font-weight:600;color:#e2e8f0}@media(max-width:900px){.se-animationGrid,.se-animationSpeedRow{grid-template-columns:1fr}}.bb-viewSpotOverlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px);animation:bb-fadeIn .2s ease}.bb-viewSpotPopup{background:#1e1e20;border-radius:12px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;border:1px solid #333335;animation:bb-slideUp .25s ease}.bb-viewSpotHeader{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #2a2a2c}.bb-viewSpotTitle{font-size:18px;font-weight:600;color:#e8e8ea;margin:0}.bb-viewSpotClose{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s}.bb-viewSpotClose:hover{color:#e8e8ea}.bb-viewSpotBody{padding:24px}.bb-viewSpotDescription{color:#c8c8ca;font-size:14px;line-height:1.6;margin-bottom:20px;white-space:pre-wrap;word-break:break-word}.bb-viewSpotPosition{background:#141416;border-radius:8px;padding:12px 16px;margin-bottom:24px;font-size:13px;color:#a0a0a2;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bb-viewSpotLabel{font-weight:500;color:#888}.bb-viewSpotCode{background:#0a0a0c;padding:4px 10px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;color:#8be9fd}.bb-viewSpotActions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.bb-editAnnotationOverlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.bb-editAnnotationPopup{background:#0f141e;border-radius:16px;padding:24px;min-width:200px;max-width:400px;width:90%;border:1px solid rgba(148,163,184,.18)}.bb-editAnnotationHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.12)}.bb-editAnnotationTitle{color:#f8fafc;font-size:18px;font-weight:600;margin:0}.bb-editAnnotationClose{background:none;border:none;color:#94a3b8;font-size:24px;cursor:pointer;padding:0 4px}.bb-editAnnotationClose:hover{color:#f8fafc}.bb-editAnnotationBody{display:flex;flex-direction:column;gap:14px}.bb-editAnnotationActions{display:flex;gap:8px;margin-top:8px}.se-cinematicHint{margin:0 0 10px;font-size:12px;line-height:1.5;color:#ffffff8c}.bb-button.se-cinematicAdd{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-bottom:12px;background:#135bc0;color:#fff}.bb-button.se-cinematicAdd:hover:not(:disabled){background:#1a68d6}.se-waypointList{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.se-waypointCard{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08}.se-waypointBadge{flex:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#06343c;background:#22d3ee}.se-waypointBody{flex:1;min-width:0}.se-waypointCoords{font-size:11px;line-height:1.4;color:#ffffff80;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.se-waypointActions{flex:none;display:flex;gap:2px}.se-waypointAction{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:#ffffff80;cursor:pointer;transition:background .15s ease,color .15s ease}.se-waypointAction:hover:not(:disabled){background:#ffffff14;color:#fff}.se-waypointAction:disabled{opacity:.35;cursor:default}.se-waypointAction--delete:hover:not(:disabled){background:#f8717129;color:#f87171}.se-customBadge{display:inline-block;padding:1px 8px;border-radius:3px;background:#22d3ee26;color:#22d3ee;font-size:10px;font-weight:600;margin-top:4px}.se-customizeToggle{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:#ffffff08;border-radius:8px;border:1px solid rgba(148,163,184,.08);margin:8px 0 12px}.se-toggleLabel{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:#f8fafc;cursor:pointer;user-select:none}.se-toggleLabel input[type=checkbox]{width:16px;height:16px;accent-color:#22d3ee;cursor:pointer}.se-toggleLabel svg{color:#22d3ee;width:14px;height:14px}.se-toggleHint{font-size:11px;color:#fff6;padding-left:28px}.se-segmentBetween{display:flex;flex-direction:column;gap:6px;padding:10px 14px;margin:6px 0 6px 32px;background:#ffffff08;border-radius:6px;border-left:3px solid rgba(34,211,238,.25)}.se-segmentLabel{font-size:11px;font-weight:500;color:#ffffff73}.se-segmentControls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.se-durationLabel{font-size:10px;color:#ffffff59;font-weight:500;white-space:nowrap}.se-segmentSlider{flex:1;min-width:80px;max-width:150px;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.se-segmentSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#22d3ee;cursor:pointer;border:2px solid rgba(255,255,255,.2);box-shadow:0 1px 3px #0000004d}.se-segmentSlider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#22d3ee;cursor:pointer;border:2px solid rgba(255,255,255,.2)}.se-segmentValue{font-size:12px;font-weight:600;color:#22d3ee;min-width:36px;text-align:center}.se-presetButtons{display:flex;gap:4px}.se-presetButton{padding:2px 8px;background:#ffffff0f;border:1px solid rgba(148,163,184,.15);border-radius:4px;font-size:10px;color:#fff9;cursor:pointer;transition:all .2s ease;font-weight:500}.se-presetButton:hover{background:#22d3ee;color:#06343c;border-color:#22d3ee}.se-totalDuration{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 8px;margin:8px 0 12px;border-top:1px solid rgba(148,163,184,.1)}.se-totalLabel{font-size:12px;color:#ffffff80;font-weight:500}.se-totalValue{font-size:14px;font-weight:600;color:#22d3ee}.se-totalHint{font-size:11px;color:#ffffff59;font-weight:400;margin-left:8px}.smv-root{--smv-panel-font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;--smv-panel-bg: #141824;--smv-panel-bg-strong: #1a1f2e;--smv-panel-bg-strong-hover: #252b3b;--smv-panel-border: rgba(255, 255, 255, .06);--smv-panel-border-strong: rgba(255, 255, 255, .08);--smv-panel-border-active: rgba(255, 255, 255, .18);--smv-panel-shadow-left: 4px 0 24px rgba(0, 0, 0, .35);--smv-panel-shadow-right: -4px 0 24px rgba(0, 0, 0, .35);--smv-panel-text: #f1f5f9;--smv-panel-text-emphasis: #ffffff;--smv-panel-text-muted: #94a3b8;--smv-panel-text-subtle: #64748b;--smv-panel-surface: rgba(255, 255, 255, .05);--smv-panel-surface-hover: rgba(255, 255, 255, .1);--smv-panel-surface-soft: rgba(255, 255, 255, .04);--smv-panel-accent: #3b82f6;--smv-panel-accent-contrast: #ffffff;position:relative;width:100%;height:100%;min-height:0;overflow:hidden;display:flex;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}.smv-canvasArea{flex:1;position:relative;min-width:0}.smv-upload-input{display:none}.smv-upload-toolbar{position:absolute;top:12px;left:50%;z-index:120;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:5px 6px;border:1px solid var(--smv-panel-border-strong);border-radius:10px;background:#141824e0;color:var(--smv-panel-text);box-shadow:0 16px 30px #00000047;backdrop-filter:blur(14px);transform:translate(-50%)}.smv-upload-toolbar__name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--smv-panel-text-muted);font-size:12px;font-weight:500}.smv-upload-toolbar__button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#3b82f62e;color:var(--smv-panel-text-emphasis);font-size:12px;font-weight:600;cursor:pointer}.smv-upload-toolbar__button--ghost{background:var(--smv-panel-surface);color:var(--smv-panel-text-muted)}.smv-upload-empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:24px}.smv-upload-empty-state__card{width:min(440px,100%);padding:28px;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:var(--smv-panel-text);text-align:center;box-shadow:0 24px 40px #00000047;backdrop-filter:blur(14px)}.smv-upload-empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:18px;border-radius:10px;background:#3b82f62e;color:#bfdbfe}.smv-upload-empty-state__title{margin:0 0 10px;color:var(--smv-panel-text-emphasis);font-size:24px;line-height:1.15}.smv-upload-empty-state__body{margin:0 0 18px;color:var(--smv-panel-text-muted);font-size:14px;font-weight:700;line-height:1.6}.smv-upload-empty-state__body code{color:var(--smv-panel-text-emphasis);font-family:var(--smv-panel-font-family)}.smv-upload-empty-state__button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;border:none;border-radius:8px;background:#3b82f6;color:#eff6ff;font-size:13px;font-weight:700;cursor:pointer}.smv-upload-drop-overlay{position:absolute;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:24px;background:#080c147a;backdrop-filter:blur(4px)}.smv-upload-drop-overlay__card{display:inline-flex;align-items:center;gap:10px;padding:16px 20px;border:1px dashed rgba(191,219,254,.75);border-radius:10px;background:#1e293beb;color:#dbeafe;font-size:14px;font-weight:700;box-shadow:0 18px 36px #00000047}.smv-canvasArea .bb-loadingOverlay{position:absolute;inset:0;z-index:110;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;border-radius:14px;background:#0f172a75;backdrop-filter:blur(1px)}.smv-canvasArea .bb-loadingSpinner{width:40px;height:40px;border-radius:999px;border:3px solid rgba(226,232,240,.24);border-top-color:#93c5fd;animation:bb-spin .8s linear infinite}.smv-canvasArea .bb-loadingMessage{max-width:320px;color:#f7f8fa;font-size:13px;font-weight:600;line-height:1.5}@keyframes bb-spin{to{transform:rotate(360deg)}}.right-panel-wrapper{height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);overflow:visible}.right-panel-wrapper--open{width:300px;flex-shrink:0}.right-panel-wrapper--closed{width:0;flex-shrink:0}.left-panel-wrapper{height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);overflow:visible;order:-1}.left-panel-wrapper--open{width:280px;flex-shrink:0}.left-panel-wrapper--closed{width:0;flex-shrink:0}.side-panel__open-btn.side-panel__open-btn--left{left:12px;right:auto}.side-panel.side-panel--left{left:0;right:auto;width:280px;transform:translate(-100%);border-left:none;border-right:1px solid var(--smv-panel-border);box-shadow:var(--smv-panel-shadow-left)}.side-panel.side-panel--open-left{transform:translate(0)}.side-panel.side-panel--closed-left{transform:translate(-100%)}.env-controls{display:flex;flex-direction:column;overflow-y:auto;flex:1}.env-section{border-bottom:1px solid var(--smv-panel-border-strong)}.env-section__header{display:flex;align-items:center;gap:6px;width:100%;padding:9px 14px;border:none;background:var(--smv-panel-surface-soft);color:var(--smv-panel-text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.env-section__chevron{transition:transform .15s}.env-section__chevron--collapsed{transform:rotate(-90deg)}.env-section__body{display:flex;flex-direction:column}.env-row{display:flex;gap:6px;align-items:center;min-height:32px;border-bottom:1px solid var(--smv-panel-surface)}.env-row__label{flex:0 0 42%;padding:0 0 0 14px;font-size:11.5px;font-weight:500;color:var(--smv-panel-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.env-row__value{flex:1;display:flex;align-items:center;padding:5px 10px 5px 8px;min-width:0}.env-row__value--slider{gap:6px}.env-checkbox-btn{display:flex;align-items:center;cursor:pointer;background:none;border:none;padding:0}.env-checkbox{width:15px;height:15px;border-radius:3px;border:1.5px solid var(--smv-panel-border-active);background:var(--smv-panel-surface-soft);display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.env-checkbox--checked{background:var(--smv-panel-accent);border-color:var(--smv-panel-accent)}.env-select{width:100%;padding:5px 8px;border-radius:4px;border:none;background:var(--smv-panel-surface-hover);color:var(--smv-panel-text);font-size:11.5px;outline:none;box-sizing:border-box;text-transform:capitalize}.env-color-swatch{position:relative;width:100%;height:22px;border-radius:4px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.env-color-swatch__hex{font-size:10.5px;font-weight:700;color:#0f172a;text-shadow:0 1px 1px rgba(255,255,255,.35);pointer-events:none;text-transform:uppercase}.env-color-swatch__input{position:absolute;inset:0;width:100%;height:100%;border:none;padding:0;opacity:0;cursor:pointer}.env-slider{flex:1;accent-color:var(--smv-panel-accent);cursor:pointer;min-width:0}.env-slider__value{flex-shrink:0;min-width:32px;padding:2px 5px;border-radius:4px;background:var(--smv-panel-surface-hover);color:var(--smv-panel-accent);font-size:10.5px;font-weight:600;text-align:center}.side-panel__open-btn{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:7px;border:1px solid var(--smv-panel-border-strong);background:var(--smv-panel-bg-strong);cursor:pointer;font-size:13px;font-weight:500;color:var(--smv-panel-text);z-index:190;transition:background .15s}.side-panel__open-btn:hover{background:var(--smv-panel-bg-strong-hover)}.side-panel{position:absolute;top:0;right:0;width:300px;height:100%;background:var(--smv-panel-bg);display:flex;flex-direction:column;font-family:var(--smv-panel-font-family);transform:translate(100%);transition:transform .45s cubic-bezier(.4,0,.2,1);z-index:200;border-left:1px solid var(--smv-panel-border);box-shadow:var(--smv-panel-shadow-right)}.side-panel--open{transform:translate(0)}.side-panel--closed{transform:translate(100%)}.side-panel__header{padding:24px 20px 16px;border-bottom:1px solid var(--smv-panel-border-strong)}.side-panel__header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.side-panel__eyebrow{font-size:15px;font-weight:700;letter-spacing:.12em;color:var(--smv-panel-text-subtle);text-transform:uppercase}.side-panel__title{font-size:22px;font-weight:700;color:var(--smv-panel-text);margin:0;line-height:1.2}.side-panel__close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--smv-panel-border-strong);background:var(--smv-panel-surface);cursor:pointer;color:var(--smv-panel-text-muted);transition:background .15s,color .15s;flex-shrink:0}.side-panel__close-btn:hover{background:var(--smv-panel-surface-hover);color:var(--smv-panel-text)}.side-panel__search-wrap{padding:14px 16px;border-bottom:1px solid var(--smv-panel-border-strong)}.side-panel__search{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--smv-panel-border-strong);background:var(--smv-panel-surface);color:var(--smv-panel-text);font-size:13px;outline:none;box-sizing:border-box;transition:border-color .15s,background .15s}.side-panel__search::placeholder{color:var(--smv-panel-text-subtle)}.side-panel__search:focus{border-color:var(--smv-panel-border-active);background:var(--smv-panel-surface-hover)}.side-panel__list{display:flex;flex-direction:column;padding:10px 0;overflow-y:auto;flex:1}.side-panel__list::-webkit-scrollbar{width:4px}.side-panel__list::-webkit-scrollbar-track{background:transparent}.side-panel__list::-webkit-scrollbar-thumb{background:var(--smv-panel-surface-hover);border-radius:4px}.side-panel__row{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--smv-panel-surface-soft)}.side-panel__row:hover,.side-panel__row--hovered{background:var(--smv-panel-surface)}.side-panel__label{font-size:14px;font-weight:600;color:var(--smv-panel-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.side-panel__label--hovered{color:var(--smv-panel-text-emphasis)}.side-panel__vis-btn{display:flex;align-items:center;flex-shrink:0;cursor:pointer;background:none;border:none;padding:0;margin-left:10px}.side-panel__checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--smv-panel-border-active);background:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.side-panel__checkbox--checked{background:var(--smv-panel-accent);border-color:var(--smv-panel-accent)}@media(max-width:900px){.smv-upload-toolbar{top:56px;gap:8px;max-width:calc(100% - 24px);padding:8px 10px}.smv-upload-toolbar__name{max-width:140px}.right-panel-wrapper--open,.left-panel-wrapper--open{width:0}.side-panel,.side-panel.side-panel--left{width:min(300px,85vw)}}.smv-largeModelBanner{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:8px;background:#1e1400e0;border:1px solid rgba(251,191,36,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fbbf24;font-size:12px;font-weight:500;line-height:1.4;pointer-events:auto;max-width:calc(100% - 32px);text-align:center}.smv-largeModelBanner__icon{flex-shrink:0}.smv-largeModelBanner__dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;background:none;border:none;border-radius:4px;color:#fbbf24b3;cursor:pointer;transition:color .15s ease,background .15s ease}.smv-largeModelBanner__dismiss:hover{color:#fbbf24;background:#fbbf241f}