meldivo 1.0.0
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.
- package/LICENSE +21 -0
- package/README.md +161 -0
- package/THIRD_PARTY_NOTICES.md +59 -0
- package/bin/meldivo.mjs +514 -0
- package/dist/server/harnesses/claude.js +407 -0
- package/dist/server/harnesses/claude.js.map +1 -0
- package/dist/server/harnesses/index.js +27 -0
- package/dist/server/harnesses/index.js.map +1 -0
- package/dist/server/harnesses/opencode.js +391 -0
- package/dist/server/harnesses/opencode.js.map +1 -0
- package/dist/server/harnesses/pi.js +364 -0
- package/dist/server/harnesses/pi.js.map +1 -0
- package/dist/server/harnesses/types.js +2 -0
- package/dist/server/harnesses/types.js.map +1 -0
- package/dist/server/hub.js +126 -0
- package/dist/server/hub.js.map +1 -0
- package/dist/server/index.js +515 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/logger.js +98 -0
- package/dist/server/logger.js.map +1 -0
- package/dist/server/qr.js +16 -0
- package/dist/server/qr.js.map +1 -0
- package/dist/server/remote.js +166 -0
- package/dist/server/remote.js.map +1 -0
- package/dist/server/speech.js +323 -0
- package/dist/server/speech.js.map +1 -0
- package/dist/server/state.js +91 -0
- package/dist/server/state.js.map +1 -0
- package/dist/web/apple-touch-icon.png +0 -0
- package/dist/web/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- package/dist/web/assets/browser-CujOq0-h.js +8 -0
- package/dist/web/assets/index-B1UGHGdh.css +1 -0
- package/dist/web/assets/index-CNq_igvY.js +43 -0
- package/dist/web/assets/index-CeWj4ejR.js +2948 -0
- package/dist/web/favicon-32.png +0 -0
- package/dist/web/index.html +15 -0
- package/dist/web/logo-192.png +0 -0
- package/dist/web/logo-512.png +0 -0
- package/dist/web/voice-assets/ort-wasm-simd-threaded.mjs +59 -0
- package/dist/web/voice-assets/ort-wasm-simd-threaded.wasm +0 -0
- package/dist/web/voice-assets/silero_vad_v5.onnx +0 -0
- package/dist/web/voice-assets/vad.worklet.bundle.min.js +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{g as re}from"./_commonjsHelpers-CqkleIqs.js";function oe(r,o){for(var i=0;i<o.length;i++){const e=o[i];if(typeof e!="string"&&!Array.isArray(e)){for(const t in e)if(t!=="default"&&!(t in r)){const n=Object.getOwnPropertyDescriptor(e,t);n&&Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var z={},Q,Bt;function ie(){return Bt||(Bt=1,Q=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Q}var $={},_={},At;function U(){if(At)return _;At=1;let r;const o=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return _.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17},_.getSymbolTotalCodewords=function(e){return o[e]},_.getBCHDigit=function(i){let e=0;for(;i!==0;)e++,i>>>=1;return e},_.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');r=e},_.isKanjiModeEnabled=function(){return typeof r<"u"},_.toSJIS=function(e){return r(e)},_}var W={},Rt;function yt(){return Rt||(Rt=1,(function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function o(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+i)}}r.isValid=function(e){return e&&typeof e.bit<"u"&&e.bit>=0&&e.bit<4},r.from=function(e,t){if(r.isValid(e))return e;try{return o(e)}catch{return t}}})(W)),W}var Z,Tt;function se(){if(Tt)return Z;Tt=1;function r(){this.buffer=[],this.length=0}return r.prototype={get:function(o){const i=Math.floor(o/8);return(this.buffer[i]>>>7-o%8&1)===1},put:function(o,i){for(let e=0;e<i;e++)this.putBit((o>>>i-e-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(o){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),o&&(this.buffer[i]|=128>>>this.length%8),this.length++}},Z=r,Z}var X,It;function ue(){if(It)return X;It=1;function r(o){if(!o||o<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=o,this.data=new Uint8Array(o*o),this.reservedBit=new Uint8Array(o*o)}return r.prototype.set=function(o,i,e,t){const n=o*this.size+i;this.data[n]=e,t&&(this.reservedBit[n]=!0)},r.prototype.get=function(o,i){return this.data[o*this.size+i]},r.prototype.xor=function(o,i,e){this.data[o*this.size+i]^=e},r.prototype.isReserved=function(o,i){return this.reservedBit[o*this.size+i]},X=r,X}var x={},Nt;function ae(){return Nt||(Nt=1,(function(r){const o=U().getSymbolSize;r.getRowColCoords=function(e){if(e===1)return[];const t=Math.floor(e/7)+2,n=o(e),s=n===145?26:Math.ceil((n-13)/(2*t-2))*2,a=[n-7];for(let u=1;u<t-1;u++)a[u]=a[u-1]-s;return a.push(6),a.reverse()},r.getPositions=function(e){const t=[],n=r.getRowColCoords(e),s=n.length;for(let a=0;a<s;a++)for(let u=0;u<s;u++)a===0&&u===0||a===0&&u===s-1||a===s-1&&u===0||t.push([n[a],n[u]]);return t}})(x)),x}var tt={},Pt;function ce(){if(Pt)return tt;Pt=1;const r=U().getSymbolSize,o=7;return tt.getPositions=function(e){const t=r(e);return[[0,0],[t-o,0],[0,t-o]]},tt}var et={},Mt;function fe(){return Mt||(Mt=1,(function(r){r.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const o={N1:3,N2:3,N3:40,N4:10};r.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){const n=t.size;let s=0,a=0,u=0,c=null,d=null;for(let p=0;p<n;p++){a=u=0,c=d=null;for(let h=0;h<n;h++){let f=t.get(p,h);f===c?a++:(a>=5&&(s+=o.N1+(a-5)),c=f,a=1),f=t.get(h,p),f===d?u++:(u>=5&&(s+=o.N1+(u-5)),d=f,u=1)}a>=5&&(s+=o.N1+(a-5)),u>=5&&(s+=o.N1+(u-5))}return s},r.getPenaltyN2=function(t){const n=t.size;let s=0;for(let a=0;a<n-1;a++)for(let u=0;u<n-1;u++){const c=t.get(a,u)+t.get(a,u+1)+t.get(a+1,u)+t.get(a+1,u+1);(c===4||c===0)&&s++}return s*o.N2},r.getPenaltyN3=function(t){const n=t.size;let s=0,a=0,u=0;for(let c=0;c<n;c++){a=u=0;for(let d=0;d<n;d++)a=a<<1&2047|t.get(c,d),d>=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,c),d>=10&&(u===1488||u===93)&&s++}return s*o.N3},r.getPenaltyN4=function(t){let n=0;const s=t.data.length;for(let u=0;u<s;u++)n+=t.data[u];return Math.abs(Math.ceil(n*100/s/5)-10)*o.N4};function i(e,t,n){switch(e){case r.Patterns.PATTERN000:return(t+n)%2===0;case r.Patterns.PATTERN001:return t%2===0;case r.Patterns.PATTERN010:return n%3===0;case r.Patterns.PATTERN011:return(t+n)%3===0;case r.Patterns.PATTERN100:return(Math.floor(t/2)+Math.floor(n/3))%2===0;case r.Patterns.PATTERN101:return t*n%2+t*n%3===0;case r.Patterns.PATTERN110:return(t*n%2+t*n%3)%2===0;case r.Patterns.PATTERN111:return(t*n%3+(t+n)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}}r.applyMask=function(t,n){const s=n.size;for(let a=0;a<s;a++)for(let u=0;u<s;u++)n.isReserved(u,a)||n.xor(u,a,i(t,u,a))},r.getBestMask=function(t,n){const s=Object.keys(r.Patterns).length;let a=0,u=1/0;for(let c=0;c<s;c++){n(c),r.applyMask(c,t);const d=r.getPenaltyN1(t)+r.getPenaltyN2(t)+r.getPenaltyN3(t)+r.getPenaltyN4(t);r.applyMask(c,t),d<u&&(u=d,a=c)}return a}})(et)),et}var J={},St;function $t(){if(St)return J;St=1;const r=yt(),o=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return J.getBlocksCount=function(t,n){switch(n){case r.L:return o[(t-1)*4+0];case r.M:return o[(t-1)*4+1];case r.Q:return o[(t-1)*4+2];case r.H:return o[(t-1)*4+3];default:return}},J.getTotalCodewordsCount=function(t,n){switch(n){case r.L:return i[(t-1)*4+0];case r.M:return i[(t-1)*4+1];case r.Q:return i[(t-1)*4+2];case r.H:return i[(t-1)*4+3];default:return}},J}var nt={},K={},bt;function le(){if(bt)return K;bt=1;const r=new Uint8Array(512),o=new Uint8Array(256);return(function(){let e=1;for(let t=0;t<255;t++)r[t]=e,o[e]=t,e<<=1,e&256&&(e^=285);for(let t=255;t<512;t++)r[t]=r[t-255]})(),K.log=function(e){if(e<1)throw new Error("log("+e+")");return o[e]},K.exp=function(e){return r[e]},K.mul=function(e,t){return e===0||t===0?0:r[o[e]+o[t]]},K}var Lt;function de(){return Lt||(Lt=1,(function(r){const o=le();r.mul=function(e,t){const n=new Uint8Array(e.length+t.length-1);for(let s=0;s<e.length;s++)for(let a=0;a<t.length;a++)n[s+a]^=o.mul(e[s],t[a]);return n},r.mod=function(e,t){let n=new Uint8Array(e);for(;n.length-t.length>=0;){const s=n[0];for(let u=0;u<t.length;u++)n[u]^=o.mul(t[u],s);let a=0;for(;a<n.length&&n[a]===0;)a++;n=n.slice(a)}return n},r.generateECPolynomial=function(e){let t=new Uint8Array([1]);for(let n=0;n<e;n++)t=r.mul(t,new Uint8Array([1,o.exp(n)]));return t}})(nt)),nt}var rt,Dt;function ge(){if(Dt)return rt;Dt=1;const r=de();function o(i){this.genPoly=void 0,this.degree=i,this.degree&&this.initialize(this.degree)}return o.prototype.initialize=function(e){this.degree=e,this.genPoly=r.generateECPolynomial(this.degree)},o.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");const t=new Uint8Array(e.length+this.degree);t.set(e);const n=r.mod(t,this.genPoly),s=this.degree-n.length;if(s>0){const a=new Uint8Array(this.degree);return a.set(n,s),a}return n},rt=o,rt}var ot={},it={},st={},qt;function Wt(){return qt||(qt=1,st.isValid=function(o){return!isNaN(o)&&o>=1&&o<=40}),st}var L={},vt;function Zt(){if(vt)return L;vt=1;const r="[0-9]+",o="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const e="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r
|
|
2
|
+
]))+`;L.KANJI=new RegExp(i,"g"),L.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),L.BYTE=new RegExp(e,"g"),L.NUMERIC=new RegExp(r,"g"),L.ALPHANUMERIC=new RegExp(o,"g");const t=new RegExp("^"+i+"$"),n=new RegExp("^"+r+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return L.testKanji=function(u){return t.test(u)},L.testNumeric=function(u){return n.test(u)},L.testAlphanumeric=function(u){return s.test(u)},L}var _t;function F(){return _t||(_t=1,(function(r){const o=Wt(),i=Zt();r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(n,s){if(!n.ccBits)throw new Error("Invalid mode: "+n);if(!o.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?n.ccBits[0]:s<27?n.ccBits[1]:n.ccBits[2]},r.getBestModeForData=function(n){return i.testNumeric(n)?r.NUMERIC:i.testAlphanumeric(n)?r.ALPHANUMERIC:i.testKanji(n)?r.KANJI:r.BYTE},r.toString=function(n){if(n&&n.id)return n.id;throw new Error("Invalid mode")},r.isValid=function(n){return n&&n.bit&&n.ccBits};function e(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+t)}}r.from=function(n,s){if(r.isValid(n))return n;try{return e(n)}catch{return s}}})(it)),it}var Ut;function he(){return Ut||(Ut=1,(function(r){const o=U(),i=$t(),e=yt(),t=F(),n=Wt(),s=7973,a=o.getBCHDigit(s);function u(h,f,N){for(let P=1;P<=40;P++)if(f<=r.getCapacity(P,N,h))return P}function c(h,f){return t.getCharCountIndicator(h,f)+4}function d(h,f){let N=0;return h.forEach(function(P){const S=c(P.mode,f);N+=S+P.getBitsLength()}),N}function p(h,f){for(let N=1;N<=40;N++)if(d(h,N)<=r.getCapacity(N,f,t.MIXED))return N}r.from=function(f,N){return n.isValid(f)?parseInt(f,10):N},r.getCapacity=function(f,N,P){if(!n.isValid(f))throw new Error("Invalid QR Code version");typeof P>"u"&&(P=t.BYTE);const S=o.getSymbolTotalCodewords(f),R=i.getTotalCodewordsCount(f,N),M=(S-R)*8;if(P===t.MIXED)return M;const T=M-c(P,f);switch(P){case t.NUMERIC:return Math.floor(T/10*3);case t.ALPHANUMERIC:return Math.floor(T/11*2);case t.KANJI:return Math.floor(T/13);case t.BYTE:default:return Math.floor(T/8)}},r.getBestVersionForData=function(f,N){let P;const S=e.from(N,e.M);if(Array.isArray(f)){if(f.length>1)return p(f,S);if(f.length===0)return 1;P=f[0]}else P=f;return u(P.mode,P.getLength(),S)},r.getEncodedBits=function(f){if(!n.isValid(f)||f<7)throw new Error("Invalid QR Code version");let N=f<<12;for(;o.getBCHDigit(N)-a>=0;)N^=s<<o.getBCHDigit(N)-a;return f<<12|N}})(ot)),ot}var ut={},Ft;function me(){if(Ft)return ut;Ft=1;const r=U(),o=1335,i=21522,e=r.getBCHDigit(o);return ut.getEncodedBits=function(n,s){const a=n.bit<<3|s;let u=a<<10;for(;r.getBCHDigit(u)-e>=0;)u^=o<<r.getBCHDigit(u)-e;return(a<<10|u)^i},ut}var at={},ct,kt;function we(){if(kt)return ct;kt=1;const r=F();function o(i){this.mode=r.NUMERIC,this.data=i.toString()}return o.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(e){let t,n,s;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),s=parseInt(n,10),e.put(s,10);const a=this.data.length-t;a>0&&(n=this.data.substr(t),s=parseInt(n,10),e.put(s,a*3+1))},ct=o,ct}var ft,zt;function ye(){if(zt)return ft;zt=1;const r=F(),o=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(e){this.mode=r.ALPHANUMERIC,this.data=e}return i.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let s=o.indexOf(this.data[n])*45;s+=o.indexOf(this.data[n+1]),t.put(s,11)}this.data.length%2&&t.put(o.indexOf(this.data[n]),6)},ft=i,ft}var lt,Vt;function Ce(){if(Vt)return lt;Vt=1;const r=F();function o(i){this.mode=r.BYTE,typeof i=="string"?this.data=new TextEncoder().encode(i):this.data=new Uint8Array(i)}return o.getBitsLength=function(e){return e*8},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(i){for(let e=0,t=this.data.length;e<t;e++)i.put(this.data[e],8)},lt=o,lt}var dt,Kt;function Ee(){if(Kt)return dt;Kt=1;const r=F(),o=U();function i(e){this.mode=r.KANJI,this.data=e}return i.getBitsLength=function(t){return t*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=o.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
|
|
3
|
+
Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},dt=i,dt}var gt={exports:{}},Ht;function pe(){return Ht||(Ht=1,(function(r){var o={single_source_shortest_paths:function(i,e,t){var n={},s={};s[e]=0;var a=o.PriorityQueue.make();a.push(e,0);for(var u,c,d,p,h,f,N,P,S;!a.empty();){u=a.pop(),c=u.value,p=u.cost,h=i[c]||{};for(d in h)h.hasOwnProperty(d)&&(f=h[d],N=p+f,P=s[d],S=typeof s[d]>"u",(S||P>N)&&(s[d]=N,a.push(d,N),n[d]=c))}if(typeof t<"u"&&typeof s[t]>"u"){var R=["Could not find a path from ",e," to ",t,"."].join("");throw new Error(R)}return n},extract_shortest_path_from_predecessor_list:function(i,e){for(var t=[],n=e;n;)t.push(n),i[n],n=i[n];return t.reverse(),t},find_path:function(i,e,t){var n=o.single_source_shortest_paths(i,e,t);return o.extract_shortest_path_from_predecessor_list(n,t)},PriorityQueue:{make:function(i){var e=o.PriorityQueue,t={},n;i=i||{};for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t.queue=[],t.sorter=i.sorter||e.default_sorter,t},default_sorter:function(i,e){return i.cost-e.cost},push:function(i,e){var t={value:i,cost:e};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};r.exports=o})(gt)),gt.exports}var Jt;function Be(){return Jt||(Jt=1,(function(r){const o=F(),i=we(),e=ye(),t=Ce(),n=Ee(),s=Zt(),a=U(),u=pe();function c(R){return unescape(encodeURIComponent(R)).length}function d(R,M,T){const B=[];let b;for(;(b=R.exec(T))!==null;)B.push({data:b[0],index:b.index,mode:M,length:b[0].length});return B}function p(R){const M=d(s.NUMERIC,o.NUMERIC,R),T=d(s.ALPHANUMERIC,o.ALPHANUMERIC,R);let B,b;return a.isKanjiModeEnabled()?(B=d(s.BYTE,o.BYTE,R),b=d(s.KANJI,o.KANJI,R)):(B=d(s.BYTE_KANJI,o.BYTE,R),b=[]),M.concat(T,B,b).sort(function(C,y){return C.index-y.index}).map(function(C){return{data:C.data,mode:C.mode,length:C.length}})}function h(R,M){switch(M){case o.NUMERIC:return i.getBitsLength(R);case o.ALPHANUMERIC:return e.getBitsLength(R);case o.KANJI:return n.getBitsLength(R);case o.BYTE:return t.getBitsLength(R)}}function f(R){return R.reduce(function(M,T){const B=M.length-1>=0?M[M.length-1]:null;return B&&B.mode===T.mode?(M[M.length-1].data+=T.data,M):(M.push(T),M)},[])}function N(R){const M=[];for(let T=0;T<R.length;T++){const B=R[T];switch(B.mode){case o.NUMERIC:M.push([B,{data:B.data,mode:o.ALPHANUMERIC,length:B.length},{data:B.data,mode:o.BYTE,length:B.length}]);break;case o.ALPHANUMERIC:M.push([B,{data:B.data,mode:o.BYTE,length:B.length}]);break;case o.KANJI:M.push([B,{data:B.data,mode:o.BYTE,length:c(B.data)}]);break;case o.BYTE:M.push([{data:B.data,mode:o.BYTE,length:c(B.data)}])}}return M}function P(R,M){const T={},B={start:{}};let b=["start"];for(let g=0;g<R.length;g++){const C=R[g],y=[];for(let l=0;l<C.length;l++){const A=C[l],m=""+g+l;y.push(m),T[m]={node:A,lastCount:0},B[m]={};for(let E=0;E<b.length;E++){const w=b[E];T[w]&&T[w].node.mode===A.mode?(B[w][m]=h(T[w].lastCount+A.length,A.mode)-h(T[w].lastCount,A.mode),T[w].lastCount+=A.length):(T[w]&&(T[w].lastCount=A.length),B[w][m]=h(A.length,A.mode)+4+o.getCharCountIndicator(A.mode,M))}}b=y}for(let g=0;g<b.length;g++)B[b[g]].end=0;return{map:B,table:T}}function S(R,M){let T;const B=o.getBestModeForData(R);if(T=o.from(M,B),T!==o.BYTE&&T.bit<B.bit)throw new Error('"'+R+'" cannot be encoded with mode '+o.toString(T)+`.
|
|
4
|
+
Suggested mode is: `+o.toString(B));switch(T===o.KANJI&&!a.isKanjiModeEnabled()&&(T=o.BYTE),T){case o.NUMERIC:return new i(R);case o.ALPHANUMERIC:return new e(R);case o.KANJI:return new n(R);case o.BYTE:return new t(R)}}r.fromArray=function(M){return M.reduce(function(T,B){return typeof B=="string"?T.push(S(B,null)):B.data&&T.push(S(B.data,B.mode)),T},[])},r.fromString=function(M,T){const B=p(M,a.isKanjiModeEnabled()),b=N(B),g=P(b,T),C=u.find_path(g.map,"start","end"),y=[];for(let l=1;l<C.length-1;l++)y.push(g.table[C[l]].node);return r.fromArray(f(y))},r.rawSplit=function(M){return r.fromArray(p(M,a.isKanjiModeEnabled()))}})(at)),at}var Ot;function Ae(){if(Ot)return $;Ot=1;const r=U(),o=yt(),i=se(),e=ue(),t=ae(),n=ce(),s=fe(),a=$t(),u=ge(),c=he(),d=me(),p=F(),h=Be();function f(g,C){const y=g.size,l=n.getPositions(C);for(let A=0;A<l.length;A++){const m=l[A][0],E=l[A][1];for(let w=-1;w<=7;w++)if(!(m+w<=-1||y<=m+w))for(let I=-1;I<=7;I++)E+I<=-1||y<=E+I||(w>=0&&w<=6&&(I===0||I===6)||I>=0&&I<=6&&(w===0||w===6)||w>=2&&w<=4&&I>=2&&I<=4?g.set(m+w,E+I,!0,!0):g.set(m+w,E+I,!1,!0))}}function N(g){const C=g.size;for(let y=8;y<C-8;y++){const l=y%2===0;g.set(y,6,l,!0),g.set(6,y,l,!0)}}function P(g,C){const y=t.getPositions(C);for(let l=0;l<y.length;l++){const A=y[l][0],m=y[l][1];for(let E=-2;E<=2;E++)for(let w=-2;w<=2;w++)E===-2||E===2||w===-2||w===2||E===0&&w===0?g.set(A+E,m+w,!0,!0):g.set(A+E,m+w,!1,!0)}}function S(g,C){const y=g.size,l=c.getEncodedBits(C);let A,m,E;for(let w=0;w<18;w++)A=Math.floor(w/3),m=w%3+y-8-3,E=(l>>w&1)===1,g.set(A,m,E,!0),g.set(m,A,E,!0)}function R(g,C,y){const l=g.size,A=d.getEncodedBits(C,y);let m,E;for(m=0;m<15;m++)E=(A>>m&1)===1,m<6?g.set(m,8,E,!0):m<8?g.set(m+1,8,E,!0):g.set(l-15+m,8,E,!0),m<8?g.set(8,l-m-1,E,!0):m<9?g.set(8,15-m-1+1,E,!0):g.set(8,15-m-1,E,!0);g.set(l-8,8,1,!0)}function M(g,C){const y=g.size;let l=-1,A=y-1,m=7,E=0;for(let w=y-1;w>0;w-=2)for(w===6&&w--;;){for(let I=0;I<2;I++)if(!g.isReserved(A,w-I)){let v=!1;E<C.length&&(v=(C[E]>>>m&1)===1),g.set(A,w-I,v),m--,m===-1&&(E++,m=7)}if(A+=l,A<0||y<=A){A-=l,l=-l;break}}}function T(g,C,y){const l=new i;y.forEach(function(I){l.put(I.mode.bit,4),l.put(I.getLength(),p.getCharCountIndicator(I.mode,g)),I.write(l)});const A=r.getSymbolTotalCodewords(g),m=a.getTotalCodewordsCount(g,C),E=(A-m)*8;for(l.getLengthInBits()+4<=E&&l.put(0,4);l.getLengthInBits()%8!==0;)l.putBit(0);const w=(E-l.getLengthInBits())/8;for(let I=0;I<w;I++)l.put(I%2?17:236,8);return B(l,g,C)}function B(g,C,y){const l=r.getSymbolTotalCodewords(C),A=a.getTotalCodewordsCount(C,y),m=l-A,E=a.getBlocksCount(C,y),w=l%E,I=E-w,v=Math.floor(l/E),V=Math.floor(m/E),te=V+1,Ct=v-V,ee=new u(Ct);let O=0;const H=new Array(E),Et=new Array(E);let j=0;const ne=new Uint8Array(g.buffer);for(let k=0;k<E;k++){const G=k<I?V:te;H[k]=ne.slice(O,O+G),Et[k]=ee.encode(H[k]),O+=G,j=Math.max(j,G)}const Y=new Uint8Array(l);let pt=0,D,q;for(D=0;D<j;D++)for(q=0;q<E;q++)D<H[q].length&&(Y[pt++]=H[q][D]);for(D=0;D<Ct;D++)for(q=0;q<E;q++)Y[pt++]=Et[q][D];return Y}function b(g,C,y,l){let A;if(Array.isArray(g))A=h.fromArray(g);else if(typeof g=="string"){let v=C;if(!v){const V=h.rawSplit(g);v=c.getBestVersionForData(V,y)}A=h.fromString(g,v||40)}else throw new Error("Invalid data");const m=c.getBestVersionForData(A,y);if(!m)throw new Error("The amount of data is too big to be stored in a QR Code");if(!C)C=m;else if(C<m)throw new Error(`
|
|
5
|
+
The chosen QR Code version cannot contain this amount of data.
|
|
6
|
+
Minimum version required to store current data is: `+m+`.
|
|
7
|
+
`);const E=T(C,y,A),w=r.getSymbolSize(C),I=new e(w);return f(I,C),N(I),P(I,C),R(I,y,0),C>=7&&S(I,C),M(I,E),isNaN(l)&&(l=s.getBestMask(I,R.bind(null,I,y))),s.applyMask(l,I),R(I,y,l),{modules:I,version:C,errorCorrectionLevel:y,maskPattern:l,segments:A}}return $.create=function(C,y){if(typeof C>"u"||C==="")throw new Error("No input text");let l=o.M,A,m;return typeof y<"u"&&(l=o.from(y.errorCorrectionLevel,o.M),A=c.from(y.version),m=s.from(y.maskPattern),y.toSJISFunc&&r.setToSJISFunction(y.toSJISFunc)),b(C,A,l,m)},$}var ht={},mt={},jt;function Xt(){return jt||(jt=1,(function(r){function o(i){if(typeof i=="number"&&(i=i.toString()),typeof i!="string")throw new Error("Color should be defined as hex string");let e=i.slice().replace("#","").split("");if(e.length<3||e.length===5||e.length>8)throw new Error("Invalid hex color: "+i);(e.length===3||e.length===4)&&(e=Array.prototype.concat.apply([],e.map(function(n){return[n,n]}))),e.length===6&&e.push("F","F");const t=parseInt(e.join(""),16);return{r:t>>24&255,g:t>>16&255,b:t>>8&255,a:t&255,hex:"#"+e.slice(0,6).join("")}}r.getOptions=function(e){e||(e={}),e.color||(e.color={});const t=typeof e.margin>"u"||e.margin===null||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,s=e.scale||4;return{width:n,scale:n?4:s,margin:t,color:{dark:o(e.color.dark||"#000000ff"),light:o(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},r.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},r.getImageWidth=function(e,t){const n=r.getScale(e,t);return Math.floor((e+t.margin*2)*n)},r.qrToImageData=function(e,t,n){const s=t.modules.size,a=t.modules.data,u=r.getScale(s,n),c=Math.floor((s+n.margin*2)*u),d=n.margin*u,p=[n.color.light,n.color.dark];for(let h=0;h<c;h++)for(let f=0;f<c;f++){let N=(h*c+f)*4,P=n.color.light;if(h>=d&&f>=d&&h<c-d&&f<c-d){const S=Math.floor((h-d)/u),R=Math.floor((f-d)/u);P=p[a[S*s+R]?1:0]}e[N++]=P.r,e[N++]=P.g,e[N++]=P.b,e[N]=P.a}}})(mt)),mt}var Yt;function Re(){return Yt||(Yt=1,(function(r){const o=Xt();function i(t,n,s){t.clearRect(0,0,n.width,n.height),n.style||(n.style={}),n.height=s,n.width=s,n.style.height=s+"px",n.style.width=s+"px"}function e(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}r.render=function(n,s,a){let u=a,c=s;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),s||(c=e()),u=o.getOptions(u);const d=o.getImageWidth(n.modules.size,u),p=c.getContext("2d"),h=p.createImageData(d,d);return o.qrToImageData(h.data,n,u),i(p,c,d),p.putImageData(h,0,0),c},r.renderToDataURL=function(n,s,a){let u=a;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),u||(u={});const c=r.render(n,s,u),d=u.type||"image/png",p=u.rendererOpts||{};return c.toDataURL(d,p.quality)}})(ht)),ht}var wt={},Gt;function Te(){if(Gt)return wt;Gt=1;const r=Xt();function o(t,n){const s=t.a/255,a=n+'="'+t.hex+'"';return s<1?a+" "+n+'-opacity="'+s.toFixed(2).slice(1)+'"':a}function i(t,n,s){let a=t+n;return typeof s<"u"&&(a+=" "+s),a}function e(t,n,s){let a="",u=0,c=!1,d=0;for(let p=0;p<t.length;p++){const h=Math.floor(p%n),f=Math.floor(p/n);!h&&!c&&(c=!0),t[p]?(d++,p>0&&h>0&&t[p-1]||(a+=c?i("M",h+s,.5+f+s):i("m",u,0),u=0,c=!1),h+1<n&&t[p+1]||(a+=i("h",d),d=0)):u++}return a}return wt.render=function(n,s,a){const u=r.getOptions(s),c=n.modules.size,d=n.modules.data,p=c+u.margin*2,h=u.color.light.a?"<path "+o(u.color.light,"fill")+' d="M0 0h'+p+"v"+p+'H0z"/>':"",f="<path "+o(u.color.dark,"stroke")+' d="'+e(d,c,u.margin)+'"/>',N='viewBox="0 0 '+p+" "+p+'"',S='<svg xmlns="http://www.w3.org/2000/svg" '+(u.width?'width="'+u.width+'" height="'+u.width+'" ':"")+N+' shape-rendering="crispEdges">'+h+f+`</svg>
|
|
8
|
+
`;return typeof a=="function"&&a(null,S),S},wt}var Qt;function Ie(){if(Qt)return z;Qt=1;const r=ie(),o=Ae(),i=Re(),e=Te();function t(n,s,a,u,c){const d=[].slice.call(arguments,1),p=d.length,h=typeof d[p-1]=="function";if(!h&&!r())throw new Error("Callback required as last argument");if(h){if(p<2)throw new Error("Too few arguments provided");p===2?(c=a,a=s,s=u=void 0):p===3&&(s.getContext&&typeof c>"u"?(c=u,u=void 0):(c=u,u=a,a=s,s=void 0))}else{if(p<1)throw new Error("Too few arguments provided");return p===1?(a=s,s=u=void 0):p===2&&!s.getContext&&(u=a,a=s,s=void 0),new Promise(function(f,N){try{const P=o.create(a,u);f(n(P,s,u))}catch(P){N(P)}})}try{const f=o.create(a,u);c(null,n(f,s,u))}catch(f){c(f)}}return z.create=o.create,z.toCanvas=t.bind(null,i.render),z.toDataURL=t.bind(null,i.renderToDataURL),z.toString=t.bind(null,function(n,s,a){return e.render(n,a)}),z}var xt=Ie();const Ne=re(xt),Me=oe({__proto__:null,default:Ne},[xt]);export{Me as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{color-scheme:dark;background:#050609;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:#050609}button{font:inherit}.voice-page{--color: 144 151 169;--level: 0;position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 47%,rgb(var(--color) / .08),transparent 29%),#050609;transition:background .7s ease}.voice-page:before,.voice-page:after{position:absolute;z-index:-1;content:"";width:min(75vw,720px);aspect-ratio:1;border-radius:50%;border:1px solid rgb(var(--color) / .09);transition:border-color .5s ease}.voice-page:before{transform:scale(1.3) rotate(25deg)}.voice-page:after{transform:scale(.82) rotate(-20deg)}.voice-page[data-state=listening],.voice-page[data-state=hearing]{--color: 48 224 151}.voice-page[data-state=thinking]{--color: 173 139 255}.voice-page[data-state=running]{--color: 255 158 68}.voice-page[data-state=speaking]{--color: 70 154 255}.voice-page[data-state=muted]{--color: 95 104 119}.voice-page[data-state=error]{--color: 255 91 107}.voice-shape{position:relative;width:min(46vw,360px);min-width:220px;aspect-ratio:1;padding:0;border:0;border-radius:50%;cursor:pointer;background:transparent;-webkit-tap-highlight-color:transparent;outline:none}.voice-shape:focus-visible{outline:1px solid rgb(var(--color) / .85);outline-offset:20px}.voice-shape__halo,.voice-shape__ring,.voice-shape__core{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:42% 58% 62% 38%/48% 40% 60% 52%}.voice-shape__halo{top:-22%;right:-22%;bottom:-22%;left:-22%;opacity:calc(.15 + var(--level) * .35);background:radial-gradient(circle,rgb(var(--color) / .34),transparent 61%);filter:blur(28px);transform:scale(calc(1 + var(--level) * .25));transition:opacity .26s ease,transform .1s linear,background .5s ease}.voice-shape__ring{border:1px solid rgb(var(--color) / .65);box-shadow:inset 0 0 26px rgb(var(--color) / .11),0 0 calc(22px + var(--level) * 34px) rgb(var(--color) / calc(.11 + var(--level) * .27));transition:border-color .5s ease,box-shadow .16s ease}.voice-shape__ring--one{animation:orbit-one 10s linear infinite;transform:scale(calc(1 + var(--level) * .1))}.voice-shape__ring--two{top:12%;right:12%;bottom:12%;left:12%;opacity:.72;animation:orbit-two 7s linear infinite reverse;transform:scale(calc(1 + var(--level) * .17))}.voice-shape__core{top:27%;right:27%;bottom:27%;left:27%;background:radial-gradient(circle at 36% 31%,rgb(255 255 255 / .75),rgb(var(--color) / .84) 22%,rgb(var(--color) / .22) 61%,transparent 72%);box-shadow:0 0 calc(22px + var(--level) * 54px) rgb(var(--color) / calc(.25 + var(--level) * .45)),inset -10px -12px 25px #00000073;transform:scale(calc(.9 + var(--level) * .2));transition:transform 90ms linear,background .5s ease,box-shadow .15s ease;animation:breathe 4.2s ease-in-out infinite}.voice-page[data-state=hearing] .voice-shape__core{animation-duration:.72s}.voice-page[data-state=thinking] .voice-shape__ring{animation-duration:2.4s}.voice-page[data-state=running] .voice-shape__ring{animation-duration:1.6s}.voice-page[data-state=speaking] .voice-shape__core{animation-duration:.52s}.voice-page[data-state=muted] .voice-shape{opacity:.62}.voice-page[data-state=error] .voice-shape{animation:shake .35s ease-in-out 2}.voice-error{position:fixed;z-index:4;top:calc(50% + clamp(148px,27vw,208px));left:50%;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:7px 8px 7px 11px;transform:translate(-50%);border:1px solid rgb(255 178 183 / .28);border-radius:999px;background:#271016eb;box-shadow:0 8px 24px #00000047;color:#ffcbd0;font-size:12px;line-height:1.2}.voice-error span{overflow-wrap:anywhere}.voice-error__reconnect{flex:none;padding:5px 9px;border:1px solid rgb(255 178 183 / .32);border-radius:999px;color:inherit;background:#ffffff14;cursor:pointer;font-size:11px}.voice-error__reconnect:hover,.voice-error__reconnect:focus-visible{background:#ffffff2b;outline:none}.room-header{position:fixed;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:14px 16px;color:#e0e4eed9;font-size:13px}.room-header__back{flex:none;color:inherit;text-decoration:none;font-size:18px;line-height:1}.room-header__back:hover,.room-header__back:focus-visible{color:#fff;outline:none}.room-header__title{font-weight:600}.room-header__cwd{color:#d0d6e48c;font-size:11px}.room-status{position:fixed;z-index:3;top:88px;left:50%;margin:0;padding:5px 10px;transform:translate(-50%);border:1px solid rgb(255 255 255 / .12);border-radius:999px;background:#0d0f15cc;color:#d0d6e4d1;font-size:11px;white-space:nowrap}@keyframes orbit-one{to{rotate:1turn}}@keyframes orbit-two{to{rotate:1turn}}@keyframes breathe{50%{scale:1.08;filter:brightness(1.15)}}@keyframes shake{25%{translate:-7px}75%{translate:7px}}@media(prefers-reduced-motion:reduce){.voice-shape *,.voice-page:before,.voice-page:after{animation:none!important;transition-duration:.01ms!important}}.voice-context-menu,.voice-settings{position:fixed;z-index:5;border:1px solid rgb(255 255 255 / .14);border-radius:12px;background:#0d0f15f5;box-shadow:0 12px 36px #00000059;color:#f0f3fa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.voice-context-menu{min-width:150px;padding:5px}.voice-context-menu button{width:100%;padding:9px 11px;border:0;border-radius:8px;color:inherit;background:transparent;cursor:pointer;text-align:left;font-size:13px}.voice-context-menu button:hover,.voice-context-menu button:focus-visible{background:#ffffff1a;outline:none}.voice-settings{top:50%;left:50%;width:min(390px,calc(100vw - 24px));max-height:min(720px,calc(100vh - 24px));overflow:auto;padding:16px;transform:translate(-50%,-50%)}.voice-settings__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.voice-settings h2{margin:0;font-size:15px;font-weight:600;letter-spacing:.01em}.voice-settings__close{width:26px;height:26px;padding:0;border:0;border-radius:7px;color:#e0e4eecc;background:transparent;cursor:pointer;font-size:21px;line-height:1}.voice-settings__close:hover,.voice-settings__close:focus-visible{background:#ffffff1a;outline:none}.voice-settings__label{display:block;margin-bottom:6px;color:#d0d6e4b3;font-size:11px}.voice-settings__choice{display:flex;gap:7px}.voice-settings select{min-width:0;flex:1;padding:8px 9px;border:1px solid rgb(255 255 255 / .16);border-radius:8px;color:inherit;background:#ffffff12;font-size:13px}.voice-settings select,.voice-settings option,.voice-settings optgroup{color:#f0f3fa;background-color:#0d0f15;color-scheme:dark}.voice-settings select:focus-visible{outline:1px solid rgb(var(--color) / .9);outline-offset:1px}.voice-settings__play{width:34px;padding:0;border:1px solid rgb(255 255 255 / .16);border-radius:8px;color:inherit;background:#ffffff12;cursor:pointer;font-size:12px}.voice-settings__play:hover:not(:disabled),.voice-settings__play:focus-visible:not(:disabled){background:#ffffff24;outline:none}.voice-settings button:disabled{cursor:default;opacity:.42}.voice-settings__current,.voice-settings__muted,.voice-settings__error,.voice-settings__notice{margin:9px 0 0;font-size:11px;line-height:1.4}.voice-settings__current,.voice-settings__muted{color:#d0d6e4a6}.voice-settings__error{color:#ffb2b7}.voice-settings__notice{color:#80e8bd}.voice-settings__actions{display:flex;gap:7px;margin-top:14px}.voice-settings__actions button{flex:1;padding:8px 9px;border:1px solid rgb(255 255 255 / .16);border-radius:8px;color:inherit;background:#ffffff14;cursor:pointer;font-size:11px}.voice-settings__actions button:first-child{border-color:rgb(var(--color) / .5);background:rgb(var(--color) / .17)}.voice-settings__actions button:hover:not(:disabled),.voice-settings__actions button:focus-visible:not(:disabled){background:#ffffff26;outline:none}.voice-settings__connection-fields{display:grid;gap:8px;padding-top:6px}.voice-settings__section-title{margin:7px 0 0;color:#d0d6e49e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.voice-settings__field{display:grid;gap:4px;color:#d0d6e4a6;font-size:10px}.voice-settings__field input,.voice-settings__field select{width:100%;min-width:0;padding:7px 8px;border:1px solid rgb(255 255 255 / .14);border-radius:7px;color:inherit;background:#ffffff0f;font-size:11px}.voice-settings__field-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.voice-settings__toggle{display:flex;align-items:center;gap:7px;color:#d0d6e4cc;font-size:11px}.voice-settings__toggle input{accent-color:rgb(var(--color))}.voice-settings__field input:focus-visible,.voice-settings__field select:focus-visible{outline:1px solid rgb(var(--color) / .9);outline-offset:1px}.voice-shape{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.voice-settings--advanced{width:min(500px,calc(100vw - 24px))}.voice-settings__back{margin:-4px 0 -4px -7px;padding:6px 7px;border:0;border-radius:7px;color:#e0e4eed1;background:transparent;cursor:pointer;font-size:12px}.voice-settings__back:hover,.voice-settings__back:focus-visible{color:#fff;background:#ffffff1a;outline:none}.voice-settings__availability{display:flex;align-items:center;gap:6px;margin:8px 0 0;color:#80e8bd;font-size:11px}.voice-settings__availability span{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.voice-settings__availability--checking{color:#d0d6e4a6}.voice-settings__availability--offline{color:#ffb2b7}.voice-settings__availability-note{margin:5px 0 0;color:#ffb2b7;font-size:11px;line-height:1.4}.voice-settings__advanced-link{width:100%;margin-top:15px;padding:10px 0 0;border:0;border-top:1px solid rgb(255 255 255 / .1);color:#e0e4eed1;background:transparent;cursor:pointer;font-size:12px;text-align:left}.voice-settings__advanced-link:hover,.voice-settings__advanced-link:focus-visible{color:#fff;outline:none}.voice-onboarding{position:fixed;z-index:8;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0304079e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.voice-onboarding__card{width:min(360px,100%);padding:21px;border:1px solid rgb(255 255 255 / .16);border-radius:14px;background:#0d0f15fa;box-shadow:0 18px 48px #00000073;color:#f0f3fa;text-align:center}.voice-onboarding__card h2{margin:0;font-size:17px}.voice-onboarding__card p{margin:10px 0 18px;color:#d0d6e4c2;font-size:13px;line-height:1.45}.voice-onboarding__card button{min-width:90px;padding:8px 14px;border:1px solid rgb(var(--color) / .5);border-radius:8px;color:inherit;background:rgb(var(--color) / .17);cursor:pointer}.voice-onboarding__card button:hover,.voice-onboarding__card button:focus-visible{background:#ffffff26;outline:none}.auth-screen{display:grid;place-items:center;min-height:100vh;margin:0;padding:24px;color:#d0d6e4cc;font-size:14px;text-align:center;background:#050609}.auth-screen code{padding:2px 6px;border-radius:5px;background:#ffffff14;font-size:13px}.voice-health{position:fixed;z-index:3;top:56px;left:50%;margin:0;padding:5px 10px;transform:translate(-50%);border:1px solid rgb(255 205 123 / .3);border-radius:999px;background:#2a1f0dd1;color:#ffeec7;font-size:11px;white-space:nowrap}.hub-page{min-height:100vh;margin:0 auto;padding:28px 20px 64px;max-width:640px;color:#f0f3fa;background:#050609}.hub-header{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:24px}.hub-header h1{margin:0;font-size:20px;font-weight:650}.hub-speech-status{margin:0;color:#80e8bd;font-size:12px}.hub-speech-status--warn{color:#ffcd7b}.hub-remote-button{margin-left:auto;padding:8px 13px;border:1px solid rgb(255 255 255 / .16);border-radius:999px;color:inherit;background:#ffffff12;cursor:pointer;font-size:12px}.hub-remote-button:hover,.hub-remote-button:focus-visible{background:#ffffff24;outline:none}.hub-section{margin-bottom:30px}.hub-section h2{margin:0 0 12px;color:#d0d6e4b3;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.hub-muted{margin:0;color:#d0d6e48c;font-size:13px}.hub-error{margin:0 0 16px;padding:9px 12px;border:1px solid rgb(255 178 183 / .3);border-radius:10px;background:#271016b3;color:#ffcbd0;font-size:12px}.hub-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.hub-tile{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid rgb(255 255 255 / .14);border-radius:12px;color:inherit;background:#ffffff0d;cursor:pointer;text-align:left}.hub-tile:hover:not(:disabled),.hub-tile:focus-visible:not(:disabled){background:#ffffff1a;outline:none}.hub-tile:disabled{cursor:default;opacity:.45}.hub-tile__label{font-size:14px;font-weight:600}.hub-tile__desc{color:#d0d6e499;font-size:11px}.hub-group{margin-bottom:18px}.hub-group__title{margin:0 0 8px;color:#d0d6e48c;font-size:11px;font-family:ui-monospace,monospace}.hub-sessions{display:grid;gap:8px;margin:0;padding:0;list-style:none}.hub-session{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 13px;border:1px solid rgb(255 255 255 / .1);border-radius:10px;color:inherit;background:#ffffff0a;cursor:pointer;text-align:left}.hub-session:hover,.hub-session:focus-visible{background:#ffffff17;outline:none}.hub-session__body{display:flex;flex-direction:column;gap:3px;min-width:0}.hub-session__title{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-session__meta{display:flex;gap:8px;color:#d0d6e48c;font-size:11px}.hub-session__badge{padding:1px 7px;border-radius:999px;background:#ffffff17}.hub-session__hint{color:#80e8bdd9;font-size:10px}.hub-dot{flex:none;width:8px;height:8px;margin-top:4px;border-radius:50%;background:#5f6877}.hub-dot--open{background:#469aff;box-shadow:0 0 6px #469affb3}.hub-dot--busy{background:#ff9e44;box-shadow:0 0 6px #ff9e44b3}.hub-dot--idle{background:#5f6877}.hub-remote{position:fixed;z-index:6;top:50%;left:50%;width:min(360px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 24px));overflow:auto;padding:16px;transform:translate(-50%,-50%);border:1px solid rgb(255 255 255 / .14);border-radius:12px;background:#0d0f15fa;box-shadow:0 18px 48px #00000073;color:#f0f3fa}.hub-remote__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.hub-remote__header h2{margin:0;font-size:15px;font-weight:600}.hub-remote__close{width:26px;height:26px;padding:0;border:0;border-radius:7px;color:#e0e4eecc;background:transparent;cursor:pointer;font-size:21px;line-height:1}.hub-remote__close:hover,.hub-remote__close:focus-visible{background:#ffffff1a;outline:none}.hub-remote__options{display:grid;gap:7px;margin:0;padding:0;list-style:none}.hub-remote__options button{width:100%;padding:9px 11px;border:1px solid rgb(255 255 255 / .14);border-radius:8px;color:inherit;background:#ffffff0f;cursor:pointer;font-size:13px;text-align:left}.hub-remote__options button:hover:not(:disabled),.hub-remote__options button:focus-visible:not(:disabled){background:#ffffff1f;outline:none}.hub-remote__options button:disabled{cursor:default;opacity:.45}.hub-remote__active{display:grid;gap:10px;justify-items:center;text-align:center}.hub-remote__url{margin:0;padding:8px 10px;border-radius:8px;background:#ffffff0f;color:#d0d6e4d9;font-size:11px;word-break:break-all}.hub-remote__qr{width:180px;height:180px;border-radius:8px;background:#fff;padding:8px}.hub-remote__active button{width:100%;padding:9px 11px;border:1px solid rgb(255 178 183 / .3);border-radius:8px;color:#ffcbd0;background:#ffffff0f;cursor:pointer;font-size:12px}.hub-remote__active button:hover,.hub-remote__active button:focus-visible{background:#ffffff1f;outline:none}
|