vxui-react 1.0.0 → 1.1.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.
package/dist/index.cjs CHANGED
@@ -125,4 +125,4 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
125
125
  * @namespace
126
126
  * @public
127
127
  */var n=(function(a){var s=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,o=0,l={},i={manual:a.Prism&&a.Prism.manual,disableWorkerMessageHandler:a.Prism&&a.Prism.disableWorkerMessageHandler,util:{encode:function m(v){return v instanceof u?new u(v.type,m(v.content),v.alias):Array.isArray(v)?v.map(m):v.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(m){return Object.prototype.toString.call(m).slice(8,-1)},objId:function(m){return m.__id||Object.defineProperty(m,"__id",{value:++o}),m.__id},clone:function m(v,f){f=f||{};var y,_;switch(i.util.type(v)){case"Object":if(_=i.util.objId(v),f[_])return f[_];y={},f[_]=y;for(var S in v)v.hasOwnProperty(S)&&(y[S]=m(v[S],f));return y;case"Array":return _=i.util.objId(v),f[_]?f[_]:(y=[],f[_]=y,v.forEach(function(C,T){y[T]=m(C,f)}),y);default:return v}},getLanguage:function(m){for(;m;){var v=s.exec(m.className);if(v)return v[1].toLowerCase();m=m.parentElement}return"none"},setLanguage:function(m,v){m.className=m.className.replace(RegExp(s,"gi"),""),m.classList.add("language-"+v)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(y){var m=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(y.stack)||[])[1];if(m){var v=document.getElementsByTagName("script");for(var f in v)if(v[f].src==m)return v[f]}return null}},isActive:function(m,v,f){for(var y="no-"+v;m;){var _=m.classList;if(_.contains(v))return!0;if(_.contains(y))return!1;m=m.parentElement}return!!f}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(m,v){var f=i.util.clone(i.languages[m]);for(var y in v)f[y]=v[y];return f},insertBefore:function(m,v,f,y){y=y||i.languages;var _=y[m],S={};for(var C in _)if(_.hasOwnProperty(C)){if(C==v)for(var T in f)f.hasOwnProperty(T)&&(S[T]=f[T]);f.hasOwnProperty(C)||(S[C]=_[C])}var A=y[m];return y[m]=S,i.languages.DFS(i.languages,function(R,P){P===A&&R!=m&&(this[R]=S)}),S},DFS:function m(v,f,y,_){_=_||{};var S=i.util.objId;for(var C in v)if(v.hasOwnProperty(C)){f.call(v,C,v[C],y||C);var T=v[C],A=i.util.type(T);A==="Object"&&!_[S(T)]?(_[S(T)]=!0,m(T,f,null,_)):A==="Array"&&!_[S(T)]&&(_[S(T)]=!0,m(T,f,C,_))}}},plugins:{},highlightAll:function(m,v){i.highlightAllUnder(document,m,v)},highlightAllUnder:function(m,v,f){var y={callback:f,container:m,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",y),y.elements=Array.prototype.slice.apply(y.container.querySelectorAll(y.selector)),i.hooks.run("before-all-elements-highlight",y);for(var _=0,S;S=y.elements[_++];)i.highlightElement(S,v===!0,y.callback)},highlightElement:function(m,v,f){var y=i.util.getLanguage(m),_=i.languages[y];i.util.setLanguage(m,y);var S=m.parentElement;S&&S.nodeName.toLowerCase()==="pre"&&i.util.setLanguage(S,y);var C=m.textContent,T={element:m,language:y,grammar:_,code:C};function A(P){T.highlightedCode=P,i.hooks.run("before-insert",T),T.element.innerHTML=T.highlightedCode,i.hooks.run("after-highlight",T),i.hooks.run("complete",T),f&&f.call(T.element)}if(i.hooks.run("before-sanity-check",T),S=T.element.parentElement,S&&S.nodeName.toLowerCase()==="pre"&&!S.hasAttribute("tabindex")&&S.setAttribute("tabindex","0"),!T.code){i.hooks.run("complete",T),f&&f.call(T.element);return}if(i.hooks.run("before-highlight",T),!T.grammar){A(i.util.encode(T.code));return}if(v&&a.Worker){var R=new Worker(i.filename);R.onmessage=function(P){A(P.data)},R.postMessage(JSON.stringify({language:T.language,code:T.code,immediateClose:!0}))}else A(i.highlight(T.code,T.grammar,T.language))},highlight:function(m,v,f){var y={code:m,grammar:v,language:f};if(i.hooks.run("before-tokenize",y),!y.grammar)throw new Error('The language "'+y.language+'" has no grammar.');return y.tokens=i.tokenize(y.code,y.grammar),i.hooks.run("after-tokenize",y),u.stringify(i.util.encode(y.tokens),y.language)},tokenize:function(m,v){var f=v.rest;if(f){for(var y in f)v[y]=f[y];delete v.rest}var _=new p;return b(_,_.head,m),d(m,_,v,_.head,0),j(_)},hooks:{all:{},add:function(m,v){var f=i.hooks.all;f[m]=f[m]||[],f[m].push(v)},run:function(m,v){var f=i.hooks.all[m];if(!(!f||!f.length))for(var y=0,_;_=f[y++];)_(v)}},Token:u};a.Prism=i;function u(m,v,f,y){this.type=m,this.content=v,this.alias=f,this.length=(y||"").length|0}u.stringify=function m(v,f){if(typeof v=="string")return v;if(Array.isArray(v)){var y="";return v.forEach(function(A){y+=m(A,f)}),y}var _={type:v.type,content:m(v.content,f),tag:"span",classes:["token",v.type],attributes:{},language:f},S=v.alias;S&&(Array.isArray(S)?Array.prototype.push.apply(_.classes,S):_.classes.push(S)),i.hooks.run("wrap",_);var C="";for(var T in _.attributes)C+=" "+T+'="'+(_.attributes[T]||"").replace(/"/g,"&quot;")+'"';return"<"+_.tag+' class="'+_.classes.join(" ")+'"'+C+">"+_.content+"</"+_.tag+">"};function c(m,v,f,y){m.lastIndex=v;var _=m.exec(f);if(_&&y&&_[1]){var S=_[1].length;_.index+=S,_[0]=_[0].slice(S)}return _}function d(m,v,f,y,_,S){for(var C in f)if(!(!f.hasOwnProperty(C)||!f[C])){var T=f[C];T=Array.isArray(T)?T:[T];for(var A=0;A<T.length;++A){if(S&&S.cause==C+","+A)return;var R=T[A],P=R.inside,I=!!R.lookbehind,F=!!R.greedy,O=R.alias;if(F&&!R.pattern.global){var $=R.pattern.toString().match(/[imsuy]*$/)[0];R.pattern=RegExp(R.pattern.source,$+"g")}for(var q=R.pattern||R,M=y.next,B=_;M!==v.tail&&!(S&&B>=S.reach);B+=M.value.length,M=M.next){var X=M.value;if(v.length>m.length)return;if(!(X instanceof u)){var te=1,z;if(F){if(z=c(q,B,m,I),!z||z.index>=m.length)break;var me=z.index,ne=z.index+z[0].length,W=B;for(W+=M.value.length;me>=W;)M=M.next,W+=M.value.length;if(W-=M.value.length,B=W,M.value instanceof u)continue;for(var ue=M;ue!==v.tail&&(W<ne||typeof ue.value=="string");ue=ue.next)te++,W+=ue.value.length;te--,X=m.slice(B,W),z.index-=B}else if(z=c(q,0,X,I),!z)continue;var me=z.index,he=z[0],Me=X.slice(0,me),kt=X.slice(me+he.length),Oe=B+X.length;S&&Oe>S.reach&&(S.reach=Oe);var ge=M.prev;Me&&(ge=b(v,ge,Me),B+=Me.length),k(v,ge,te);var Ir=new u(C,P?i.tokenize(he,P):he,O,he);if(M=b(v,ge,Ir),kt&&b(v,M,kt),te>1){var $e={cause:C+","+A,reach:Oe};d(m,v,f,M.prev,B,$e),S&&$e.reach>S.reach&&(S.reach=$e.reach)}}}}}}function p(){var m={value:null,prev:null,next:null},v={value:null,prev:m,next:null};m.next=v,this.head=m,this.tail=v,this.length=0}function b(m,v,f){var y=v.next,_={value:f,prev:v,next:y};return v.next=_,y.prev=_,m.length++,_}function k(m,v,f){for(var y=v.next,_=0;_<f&&y!==m.tail;_++)y=y.next;v.next=y,y.prev=v,m.length-=_}function j(m){for(var v=[],f=m.head.next;f!==m.tail;)v.push(f.value),f=f.next;return v}if(!a.document)return a.addEventListener&&(i.disableWorkerMessageHandler||a.addEventListener("message",function(m){var v=JSON.parse(m.data),f=v.language,y=v.code,_=v.immediateClose;a.postMessage(i.highlight(y,i.languages[f],f)),_&&a.close()},!1)),i;var g=i.util.currentScript();g&&(i.filename=g.src,g.hasAttribute("data-manual")&&(i.manual=!0));function h(){i.manual||i.highlightAll()}if(!i.manual){var w=document.readyState;w==="loading"||w==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",h):window.requestAnimationFrame?window.requestAnimationFrame(h):window.setTimeout(h,16)}return i})(t);e.exports&&(e.exports=n),typeof Wt<"u"&&(Wt.Prism=n),n.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside["internal-subset"].inside=n.languages.markup,n.hooks.add("wrap",function(a){a.type==="entity"&&(a.attributes.title=a.content.replace(/&amp;/,"&"))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(s,o){var l={};l["language-"+o]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[o]},l.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:l}};i["language-"+o]={pattern:/[\s\S]+/,inside:n.languages[o]};var u={};u[s]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return s}),"i"),lookbehind:!0,greedy:!0,inside:i},n.languages.insertBefore("markup","cdata",u)}}),Object.defineProperty(n.languages.markup.tag,"addAttribute",{value:function(a,s){n.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+a+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[s,"language-"+s],inside:n.languages[s]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend("markup",{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,(function(a){var s=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;a.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+s.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+s.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+s.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+s.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:s,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},a.languages.css.atrule.inside.rest=a.languages.css;var o=a.languages.markup;o&&(o.tag.addInlined("style","css"),o.tag.addAttribute("style","css"))})(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),n.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),n.languages.markup&&(n.languages.markup.tag.addInlined("script","javascript"),n.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),n.languages.js=n.languages.javascript,(function(){if(typeof n>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var a="Loading…",s=function(g,h){return"✖ Error "+g+" while fetching file: "+h},o="✖ Error: File does not exist or is empty",l={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},i="data-src-status",u="loading",c="loaded",d="failed",p="pre[data-src]:not(["+i+'="'+c+'"]):not(['+i+'="'+u+'"])';function b(g,h,w){var m=new XMLHttpRequest;m.open("GET",g,!0),m.onreadystatechange=function(){m.readyState==4&&(m.status<400&&m.responseText?h(m.responseText):m.status>=400?w(s(m.status,m.statusText)):w(o))},m.send(null)}function k(g){var h=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(g||"");if(h){var w=Number(h[1]),m=h[2],v=h[3];return m?v?[w,Number(v)]:[w,void 0]:[w,w]}}n.hooks.add("before-highlightall",function(g){g.selector+=", "+p}),n.hooks.add("before-sanity-check",function(g){var h=g.element;if(h.matches(p)){g.code="",h.setAttribute(i,u);var w=h.appendChild(document.createElement("CODE"));w.textContent=a;var m=h.getAttribute("data-src"),v=g.language;if(v==="none"){var f=(/\.(\w+)$/.exec(m)||[,"none"])[1];v=l[f]||f}n.util.setLanguage(w,v),n.util.setLanguage(h,v);var y=n.plugins.autoloader;y&&y.loadLanguages(v),b(m,function(_){h.setAttribute(i,c);var S=k(h.getAttribute("data-range"));if(S){var C=_.split(/\r\n?|\n/g),T=S[0],A=S[1]==null?C.length:S[1];T<0&&(T+=C.length),T=Math.max(0,Math.min(T-1,C.length)),A<0&&(A+=C.length),A=Math.max(0,Math.min(A,C.length)),_=C.slice(T,A).join(`
128
- `),h.hasAttribute("data-start")||h.setAttribute("data-start",String(T+1))}w.textContent=_,n.highlightElement(w)},function(_){h.setAttribute(i,d),w.textContent=_})}}),n.plugins.fileHighlight={highlight:function(h){for(var w=(h||document).querySelectorAll(p),m=0,v;v=w[m++];)n.highlightElement(v)}};var j=!1;n.fileHighlight=function(){j||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),j=!0),n.plugins.fileHighlight.highlight.apply(this,arguments)}})()})(Xe)),Xe.exports}var Al=Tl();const Ne=Cl(Al);Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity;Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))});Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,n){var a={};a["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[n]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};s["language-"+n]={pattern:/[\s\S]+/,inside:Prism.languages[n]};var o={};o[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:s},Prism.languages.insertBefore("markup","cdata",o)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(e,t){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Prism.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml;Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,a=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,s=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(u,c){return u=u.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return a}).replace(/<SPREAD>/g,function(){return s}),RegExp(u,c)}s=o(s).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(u){return u?typeof u=="string"?u:typeof u.content=="string"?u.content:u.content.map(l).join(""):""},i=function(u){for(var c=[],d=0;d<u.length;d++){var p=u[d],b=!1;if(typeof p!="string"&&(p.type==="tag"&&p.content[0]&&p.content[0].type==="tag"?p.content[0].content[0].content==="</"?c.length>0&&c[c.length-1].tagName===l(p.content[0].content[1])&&c.pop():p.content[p.content.length-1].content==="/>"||c.push({tagName:l(p.content[0].content[1]),openedBraces:0}):c.length>0&&p.type==="punctuation"&&p.content==="{"?c[c.length-1].openedBraces++:c.length>0&&c[c.length-1].openedBraces>0&&p.type==="punctuation"&&p.content==="}"?c[c.length-1].openedBraces--:b=!0),(b||typeof p=="string")&&c.length>0&&c[c.length-1].openedBraces===0){var k=l(p);d<u.length-1&&(typeof u[d+1]=="string"||u[d+1].type==="plain-text")&&(k+=l(u[d+1]),u.splice(d+1,1)),d>0&&(typeof u[d-1]=="string"||u[d-1].type==="plain-text")&&(k=l(u[d-1])+k,u.splice(d-1,1),d--),u[d]=new e.Token("plain-text",k,null,k)}p.content&&typeof p.content!="string"&&i(p.content)}};e.hooks.add("after-tokenize",function(u){u.language!=="jsx"&&u.language!=="tsx"||i(u.tokens)})})(Prism);var Kt={},Vt;function Pl(){return Vt||(Vt=1,(function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript})(Prism)),Kt}Pl();(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0})(Prism);(function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=a.variable[1].inside,l=0;l<s.length;l++)o[s[l]]=e.languages.bash[s[l]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;function Rl({code:e,language:t="tsx",copyLabel:n,copiedLabel:a,onCopy:s}){const[o,l]=N.useState(!1),i=N.useRef(null),u=N.useMemo(()=>{const d=Ne.languages[t]??Ne.languages.tsx??Ne.languages.typescript;return d?Ne.highlight(e,d,t):e},[e,t]);N.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);async function c(){await s(e)&&(l(!0),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{l(!1),i.current=null},1600))}return r.jsxs("div",{className:"vx-code-block-wrap","data-language":t,children:[r.jsxs(Q,{type:"button",size:"sm",variant:o?"solid":"secondary",className:o?"vx-code-block__copy vx-code-block__copy--copied":"vx-code-block__copy",onClick:()=>void c(),children:[o?r.jsx(at,{size:14}):r.jsx(Xr,{size:14}),o?a:n]}),r.jsx("pre",{className:"vx-code-block",children:r.jsx("code",{className:`vx-code-block__code language-${t}`,dangerouslySetInnerHTML:{__html:u}})})]})}const Dr={locale:"en",label:"English",searchPlaceholder:"Search components, pages, keywords…",searchAriaLabel:"Search",searchEmpty:e=>`No results for "${e}"`,searchNavigate:"Navigate",searchGo:"Go",searchClose:"Close",sidebarCollapse:"Collapse",sidebarExpand:"Expand",sidebarCloseLabel:"Close sidebar",searchTrigger:"Search",versionLabel:"v1.0.0",mobilePreview:"Mobile Preview",nav:{gettingStarted:"Getting Started",layout:"Layout",components:"Components",feedback:"Feedback",navigation:"Navigation",mobile:"Responsive",templates:"Templates"},pages:{introduction:"Introduction","quick-start":"Quick Start","shell-sidebar":"Shell & Sidebar","grid-page":"Grid & Page",button:"Button",elements:"Elements","form-controls":"Form Controls","form-inputs":"Form Inputs",overlays:"Overlays","data-display":"Data Display",navigation:"Navigation","data-list":"Data List","empty-states":"Empty States",toasts:"Toasts",feedback:"Feedback Components","nav-layout":"Navigation & Layout",mobile:"Mobile Components","command-palette":"Command Palette","code-block":"Code Block","language-switcher":"Language Switcher","home-page":"Home Page","login-page":"Login Page","register-page":"Register Page","error-page":"Error Page","privacy-policy":"Privacy Policy","terms-of-service":"Terms of Service"},docs:{guidance:"Guidance",guidanceDesc:"Keep the implementation tight and let the design system do most of the visual work.",preview:"Preview",previewDesc:"A compact example of how this area should feel inside the system.",notes:"Notes",primaryTheme:"Primary Theme",primaryThemeDesc:"Blue-gray neutrals keep emphasis reserved for actions, not decoration.",tokenScale:"Token Scale",tokenScaleDesc:"Reuse the shared surface, border, and text variables before introducing page-specific styles.",themeStudio:"Theme Studio",themeStudioDesc:"Register named themes once, then switch every component with a single key.",liveControls:"Live Controls",liveControlsDesc:"A few reusable primitives are still available inside the docs surface.",searchDocs:"Search docs",searchDocsPlaceholder:"Buttons, tokens, layout...",compactDensity:"Compact density",compactDensityDesc:"Tighten the vertical rhythm for denser operator views.",systemPreview:"System Preview",openSection:"Open section"},intro:{tagline:"A lightweight, dependency-free UI framework for building clean admin interfaces. Design tokens, components, and a minimal SPA runtime live behind one consistent visual language.",getStarted:"Get Started",browseComponents:"Browse Components",atAGlance:"At a Glance",designTokens:"Design Tokens",designTokensLead:"All colors, spacing, and typography values are exposed as CSS custom properties under the vx namespace. Register named light and dark themes once, then swap the whole framework by theme key.",componentFamilies:"Component Families"},glance:{zeroDeps:"Zero dependencies",zeroDepsHint:"Original shell runtime does not require a build pipeline.",components:"Components",componentsHint:"Layout, form, feedback, and list primitives in one system.",coreCSS:"Core CSS",coreCSSHint:"Neutral tokens and structural styles stay compact.",darkMode:"Dark mode",darkModeHint:"Semantic variables keep the same components reusable."},tokens:{primary:"Primary",primaryDesc:"Accent color for primary actions, active navigation, and emphasis.",surface:"Surface",surfaceDesc:"Default panel and content background for documentation cards and shell regions.",border:"Border",borderDesc:"Light separators that keep the UI structured without adding visual weight.",text:"Text",textDesc:"Primary foreground used for headings, dense data, and body copy."},families:{layout:"Layout",layoutDesc:"App shell, sticky header, section rhythm, and responsive content framing.",elements:"Elements",elementsDesc:"Quiet primitives for actions, metadata, and structured content blocks.",forms:"Forms",formsDesc:"Inputs, switches, dialogs, and field composition patterns.",feedback:"Feedback",feedbackDesc:"Transient toasts and interruptive confirmation flows."},dataList:{name:"Name",kind:"Kind",updated:"Updated"},modeLabel:e=>`${e} mode`,publicPages:{navLogin:"Log in",navSignup:"Sign up",navDocs:"Docs",navLogout:"Log out",heroTag:"New · v1.0",heroTitle:"Build faster with vxUI",heroLead:"A lightweight, dependency-free UI framework for building clean admin interfaces. Design tokens, components, and a minimal SPA runtime in one consistent visual language.",heroCta:"Get started",heroCtaAlt:"Browse docs",previewLead:"A production-minded docs surface with direct guest access, persistent sign-in state, and mobile-ready layouts.",previewAccessTitle:"Access modes",previewAccessMember:"Sign in to keep a persisted session and return directly to your workspace.",previewAccessGuest:"Open the docs immediately as a guest when you only need to inspect components.",previewMobileTitle:"Mobile-ready",previewMobileLead:"Navigation and auth layouts collapse cleanly for phones without losing hierarchy or call-to-action priority.",featuresSectionTitle:"Why vxUI",feat1:"Zero dependencies",feat1Desc:"Ships as a pure CSS + TypeScript package with no peer-lib baggage.",feat2:"30+ components",feat2Desc:"Layout, form, feedback, and list primitives in one cohesive system.",feat3:"Themeable",feat3Desc:"Swap the whole framework with a single theme key via CSS variables.",feat4:"Dark mode",feat4Desc:"Semantic tokens keep every component reusable across light and dark themes.",footerCopy:"© 2026 vxUI. All rights reserved.",footerPrivacy:"Privacy Policy",loginTitle:"Welcome back",loginSubtitle:"Sign in to access the documentation.",loginEmail:"Email",loginEmailPlaceholder:"you@example.com",loginPassword:"Password",loginPasswordPlaceholder:"At least 8 characters",loginCta:"Sign in",loginNoAccount:"Don't have an account?",loginRegister:"Register",loginGuest:"Continue without an account →",rememberMe:"Remember this device",showPassword:"Show",hidePassword:"Hide",authInfoTitle:"Guest access is available",authInfoBody:"You can go straight to the docs without an account. Sign in only if you want a persisted session example.",registerTitle:"Create account",registerSubtitle:"Get started with vxUI today.",registerName:"Full name",registerNamePlaceholder:"Jane Smith",registerEmail:"Email",registerEmailPlaceholder:"jane@company.com",registerPassword:"Password",registerPasswordPlaceholder:"Create a strong password",registerTermsAgree:"I agree to the",registerTermsLink:"Terms of Service",registerTermsAnd:"and",registerPrivacyLink:"Privacy Policy",registerCta:"Create account",registerHasAccount:"Already have an account?",registerLogin:"Sign in",registerGuest:"Continue without an account →",validationNameRequired:"Enter your full name.",validationNameShort:"Use at least 2 characters for your name.",validationEmailRequired:"Enter your email address.",validationEmailInvalid:"Enter a valid email address.",validationPasswordRequired:"Enter your password.",validationPasswordShort:"Use at least 8 characters for the password.",validationTermsRequired:"You must agree to the terms before creating an account.",sessionLoginTitle:"Signed in",sessionLoginBody:"Your session is active. You can now browse the docs as a signed-in user.",sessionRegisterTitle:"Account created",sessionRegisterBody:"Your sample account is ready and the docs are now unlocked.",sessionGuestTitle:"Browsing as guest",sessionGuestBody:"You entered the docs without a saved account session.",sessionLogoutTitle:"Signed out",sessionLogoutBody:"Your persisted session was cleared. You are back on the public site.",signedInAs:"Signed in as",guestLabel:"Guest",backHome:"← Back to home",backToDocs:"Back to docs"},pageDefs:{introduction:{section:"Introduction",title:"Introduction",description:"A lightweight, dependency-free UI framework for building clean admin interfaces. Design tokens, components, and a minimal SPA runtime live behind one consistent visual language.",guidance:["Start from the shell and navigation rhythm before styling isolated controls.","Keep tokens semantic so a theme swap does not require page-specific overrides.","Treat documentation, examples, and production surfaces as the same design system."]},"quick-start":{section:"Installation",title:"Quick Start",description:"Install the package, wrap your app with providers, and mount a page shell before composing business screens.",guidance:["Import the shared stylesheet once near the application root.","Use AppShell for product chrome and keep page content inside the main slot.","Add ThemeProvider and ToastProvider only when the app needs them."]},"shell-sidebar":{section:"Components",title:"Shell & Sidebar",description:"The shell is responsible for sidebar hierarchy, sticky header spacing, and content width. Pages should inherit structure instead of rebuilding it.",guidance:["Keep navigation labels short so collapsed mode stays scannable.","Use section titles to separate page groups instead of visual noise.","Let the content area own page-specific headings and actions."]},"grid-page":{section:"Components",title:"Grid & Page",description:"Use simple responsive grids for cards, tokens, and documentation blocks. The page surface should stay neutral and let content carry emphasis.",guidance:["Prefer 12 to 16 pixel gaps for dense documentation surfaces.","Reserve larger spacing for section boundaries, not every card.","Keep max width constrained so long paragraphs remain readable."]},button:{section:"Components",title:"Button",description:"Buttons carry the primary action hierarchy for the system. Variants, sizes, and width should communicate intent without requiring extra styling.",guidance:["Use the solid variant for the primary action in a given area.","Use secondary or ghost variants for supporting actions that should stay visually quieter.","Use fullWidth for stacked mobile actions or single-column forms."]},elements:{section:"Components",title:"Elements",description:"Buttons, badges, and cards should feel quiet by default. The primary action can be loud; everything else should support it.",guidance:["One primary action per area is usually enough.","Use badges for compact status or category metadata, not decoration.","Cards should organize content without feeling like dashboards by default."]},"form-controls":{section:"Components",title:"Form Controls",description:"Inputs and switches need strong contrast, clear labels, and predictable vertical rhythm. Expose complexity through composition rather than one giant field component.",guidance:["Always pair form controls with visible labels in admin surfaces.","Short helper text is better than placeholder-only instruction.","Confirm destructive or high-impact actions with dialog affordances."]},navigation:{section:"Components",title:"Navigation",description:"Navigation patterns should communicate location first, then available movement. Tabs work best for sibling views within a single page context.",guidance:["Mirror information architecture in the control structure.","Make the active state obvious without relying on color alone.","Avoid mixing route navigation and local view state in one control."]},"data-list":{section:"Components",title:"Data List",description:"Lists and tables should prioritize scanning over ornament. Use generous alignment, light separators, and action density only where needed.",guidance:["Align headers and row content precisely to reduce visual drift.","Use subtle borders instead of heavy card chrome around every row.","Reserve destructive affordances for row action groups, not inline text links."]},"empty-states":{section:"Components",title:"Empty States",description:"An empty state should explain what is missing, why it matters, and what the next action is. It should never feel like a dead end.",guidance:["Name the object that is absent so users know what they are looking at.","Offer one clear recovery action.","Keep the visual weight lighter than success or alert feedback."]},toasts:{section:"Components",title:"Toasts",description:"Toasts confirm short-lived events without interrupting task flow. Keep them brief, specific, and easy to dismiss.",guidance:["Use success and info to confirm background actions.","Escalate blocking or destructive states to dialogs instead of stacking toasts.","Avoid repeating the same message on every page transition."]},feedback:{section:"Components",title:"Feedback Components",description:"Spinner, Progress, Alert, and Skeleton give users clear signals about loading states, results, and missing content.",guidance:["Use Spinner for short indeterminate waits; Progress for deterministic operations.","Prefer Alert over toast for persistent or page-level status messages.","Skeleton should match the shape of the content it replaces to reduce layout shift."]},overlays:{section:"Components",title:"Overlays",description:"Tooltip, Popover, and DropdownMenu layer transient content above the page without navigating away.",guidance:["Tooltips are for supplementary text only — never interactive content.","Popovers can contain forms and rich content; they require explicit close triggers.","DropdownMenus should group related actions and support keyboard navigation."]},"nav-layout":{section:"Components",title:"Navigation & Layout",description:"Breadcrumb, Pagination, Accordion, and Separator handle location, paging, and structural rhythm.",guidance:["Breadcrumb mirrors route depth — omit it on single-level pages.","Pagination should show page count so users understand the data set size.","Accordion works best for progressive disclosure, not primary navigation."]},"data-display":{section:"Components",title:"Data Display",description:"Avatar and Table present user identity and structured data with clear hierarchy.",guidance:["Avatar should always have an accessible label, even when showing an image.","Table supports sortable columns — delegate sort state up when the data is server-side.","Use striped rows in dense tables to help eyes track across long rows."]},"form-inputs":{section:"Components",title:"Form Inputs",description:"Select, Checkbox, RadioGroup, Textarea, and Slider extend the form vocabulary beyond text inputs.",guidance:["Group radio buttons with RadioGroup to share name and semantics.","Slider is ideal for numeric ranges; pair it with showValue for immediate feedback.","Textarea defaults to vertical resize — disable resize only in fixed-height containers."]},mobile:{section:"Responsive",title:"Responsive Patterns",description:"A single responsive system for phone, tablet, and desktop. One route tree, one content model, and one set of components adapt through layout instead of duplicate applications.",guidance:["Keep the route tree identical across breakpoints; only the shell and density should change.","Turn persistent side navigation into a drawer on narrow screens instead of forking the page implementation.","Design cards, forms, and tables to reflow from three columns to one without changing component ownership."]},"home-page":{section:"Templates",title:"Home Page",description:"A landing-style home page with a hero section, key feature highlights, and primary call-to-action buttons. Suitable for product sites, internal portals, and marketing pages.",guidance:["Keep the hero message to one compelling sentence — let the CTA do the work.","Feature cards should each solve one problem, not list all capabilities.","Balance a primary action with a softer secondary one to reduce decision fatigue."]},"login-page":{section:"Templates",title:"Login Page",description:"A minimal login form centered on the screen. Collect credentials with clear labels, visible error states, and a single primary action.",guidance:["Never hide the password label — placeholder text alone fails accessibility.","Show inline validation errors as soon as the field loses focus.","Offer a password-visible toggle to reduce login friction."]},"register-page":{section:"Templates",title:"Register Page",description:"A registration form that collects the minimum fields needed to create an account. Reduce friction by asking only what is essential at sign-up.",guidance:["Request only name, email, and password at registration — profile details can come later.","Show password strength inline without blocking submission on minor issues.","The terms-of-service checkbox must be explicit; do not pre-check it."]},"error-page":{section:"Templates",title:"Error Page",description:"A graceful fallback for 404, 500, and other error states. Give users a clear explanation and a direct path back to safety.",guidance:["State the error code and a plain-language explanation — avoid technical jargon.","Always provide a go-home action alongside a go-back option.","Match the error page visual weight to the rest of the product, not a generic OS page."]},"privacy-policy":{section:"Templates",title:"Privacy Policy",description:"A structured legal document page with section headings, readable prose, and clear separators. Designed to remain accessible and scannable without sacrificing completeness.",guidance:["Use headings to break long policy text into scannable sections.","Link directly to the relevant section from any consent flow that references the policy.","Version and date the policy at the top so users know when it was last updated."]},"terms-of-service":{section:"Templates",title:"Terms of Service",description:"A service terms page with clear headings, plain-language obligations, and a layout that stays readable from narrow phones to wide desktop viewports.",guidance:["State the usage permission, limitations, and disclaimer in separate sections to reduce legal ambiguity.","Keep the document scannable with short paragraphs and a compact summary rail.","Link to the terms directly from registration and pricing flows so consent is contextual."]},"command-palette":{section:"Components",title:"Command Palette",description:"A keyboard-driven search overlay that lets users jump to any page or action without leaving the keyboard. Render it globally, wire a hotkey, then pass a flat list of entries.",guidance:["Keep the entries list flat and label-searchable — avoid nesting pages under hidden categories.","Populate entries from the same nav data you use for the sidebar so the two surfaces stay in sync.","Combine with ⌘K (Mac) or Ctrl+K (Windows) for a familiar shortcut that power users expect."]},"code-block":{section:"Components",title:"Code Block",description:"A syntax-highlighted, read-only code display with optional filename label. Use it to render installation snippets, usage examples, or any formatted code string.",guidance:["Set the language prop to the language of the code — tsx, bash, json, etc. — for correct highlighting.","Pass a filename to give readers context on where the snippet belongs in a project.","Keep code snippets minimal; show only the lines needed to illustrate the concept being documented."]},"language-switcher":{section:"Components",title:"Language Switcher",description:"A locale toggle component that updates the entire UI copy when clicked. Drop it into any topbar or settings area — the i18n provider broadcasts the change automatically.",guidance:["Place the switcher in a persistent surface (topbar or settings page) so users can find it from anywhere.","The switcher reflects the current locale; no extra state wiring is needed beyond the i18n provider.","Use the inline variant for topbars and the default variant for settings pages to match visual density."]}}},Fl={locale:"zh",label:"中文",searchPlaceholder:"搜索组件、页面、关键词…",searchAriaLabel:"搜索",searchEmpty:e=>`未找到与"${e}"匹配的结果`,searchNavigate:"导航",searchGo:"跳转",searchClose:"关闭",sidebarCollapse:"收起",sidebarExpand:"展开",sidebarCloseLabel:"关闭侧边栏",searchTrigger:"搜索",versionLabel:"v1.0.0",mobilePreview:"移动端预览",nav:{gettingStarted:"开始使用",layout:"布局",components:"组件",feedback:"反馈",navigation:"导航",mobile:"响应式",templates:"模板"},pages:{introduction:"简介","quick-start":"快速开始","shell-sidebar":"框架与侧边栏","grid-page":"网格与页面",button:"按钮",elements:"基础元素","form-controls":"表单控件","form-inputs":"表单输入",overlays:"浮层","data-display":"数据展示",navigation:"导航","data-list":"数据列表","empty-states":"空状态",toasts:"消息提示",feedback:"反馈组件","nav-layout":"导航与布局",mobile:"移动端组件","command-palette":"命令面板","code-block":"代码块","language-switcher":"语言切换器","home-page":"主页","login-page":"登录页","register-page":"注册页","error-page":"错误页","privacy-policy":"隐私政策","terms-of-service":"服务条款"},docs:{guidance:"使用指南",guidanceDesc:"保持实现简洁,让设计系统完成大部分视觉工作。",preview:"预览",previewDesc:"该区域在系统中呈现效果的精简示例。",notes:"备注",primaryTheme:"主色调",primaryThemeDesc:"蓝灰色中性调将视觉重点保留给操作,而非装饰。",tokenScale:"Token 体系",tokenScaleDesc:"在引入页面特定样式之前,优先复用共享的 surface、border 和 text 变量。",themeStudio:"主题工作室",themeStudioDesc:"一次注册命名主题,用单个 key 即可切换所有组件。",liveControls:"交互控件",liveControlsDesc:"文档界面中仍有若干可复用的基础原语。",searchDocs:"搜索文档",searchDocsPlaceholder:"按钮、Token、布局…",compactDensity:"紧凑模式",compactDensityDesc:"收紧垂直间距,适合高密度操作界面。",systemPreview:"系统预览",openSection:"打开章节"},intro:{tagline:"一个轻量无依赖的 UI 框架,用于构建简洁的后台管理界面。设计 Token、组件和极简 SPA 运行时,统一在一套一致的视觉语言之下。",getStarted:"开始使用",browseComponents:"浏览组件",atAGlance:"概览",designTokens:"设计 Token",designTokensLead:"所有颜色、间距和字体值均以 vx 命名空间下的 CSS 自定义属性暴露。一次注册命名的亮色和暗色主题,之后通过主题 key 即可切换整个框架。",componentFamilies:"组件系列"},glance:{zeroDeps:"零依赖",zeroDepsHint:"原始 shell 运行时无需构建流水线。",components:"组件数",componentsHint:"布局、表单、反馈和列表原语,一套搞定。",coreCSS:"核心 CSS",coreCSSHint:"中性 Token 和结构样式保持精简。",darkMode:"深色模式",darkModeHint:"语义变量让相同组件可在多主题下复用。"},tokens:{primary:"主色",primaryDesc:"用于主要操作、活跃导航和强调的点缀色。",surface:"表面色",surfaceDesc:"文档卡片和框架区域的默认面板与内容背景色。",border:"边框色",borderDesc:"保持 UI 结构清晰且不增加视觉重量的轻量分隔色。",text:"文字色",textDesc:"用于标题、密集数据和正文的主前景色。"},families:{layout:"布局",layoutDesc:"应用框架、固定顶栏、章节节奏和响应式内容框架。",elements:"基础元素",elementsDesc:"用于操作、元数据和结构化内容块的低调原语。",forms:"表单",formsDesc:"输入框、开关、对话框和字段组合模式。",feedback:"反馈",feedbackDesc:"短暂的消息提示与打断性确认流程。"},dataList:{name:"名称",kind:"类型",updated:"更新时间"},modeLabel:e=>`${{light:"浅色",dark:"深色",black:"纯黑"}[e]??e}模式`,publicPages:{navLogin:"登录",navSignup:"注册",navDocs:"文档",navLogout:"退出登录",heroTag:"最新 · v1.0",heroTitle:"用 vxUI 构建更快",heroLead:"一个轻量无依赖的 UI 框架,用于构建简洁的后台管理界面。设计 Token、组件和极简 SPA 运行时,统一在一套一致的视觉语言之下。",heroCta:"立即开始",heroCtaAlt:"浏览文档",previewLead:"一个面向生产场景的文档入口,支持直接访客访问、持久化登录状态,以及适配移动端的页面布局。",previewAccessTitle:"访问方式",previewAccessMember:"登录后可保留会话状态,下次返回时继续进入你的工作区。",previewAccessGuest:"如果只是查看组件,也可以直接以访客身份打开文档。",previewMobileTitle:"移动端可用",previewMobileLead:"导航和认证布局会在手机上自然折叠,不牺牲层级关系和关键行动按钮。",featuresSectionTitle:"为什么选择 vxUI",feat1:"零依赖",feat1Desc:"纯 CSS + TypeScript 包,无第三方依赖负担。",feat2:"30+ 组件",feat2Desc:"布局、表单、反馈和列表原语,一套搞定。",feat3:"可主题化",feat3Desc:"通过 CSS 变量,用单个主题 key 切换整个框架。",feat4:"深色模式",feat4Desc:"语义 Token 让每个组件在各主题下均可复用。",footerCopy:"© 2026 vxUI. 保留所有权利。",footerPrivacy:"隐私政策",loginTitle:"欢迎回来",loginSubtitle:"登录以访问文档。",loginEmail:"邮箱",loginEmailPlaceholder:"you@example.com",loginPassword:"密码",loginPasswordPlaceholder:"至少 8 位字符",loginCta:"登录",loginNoAccount:"还没有账号?",loginRegister:"注册",loginGuest:"无需登录,直接继续 →",rememberMe:"记住这台设备",showPassword:"显示",hidePassword:"隐藏",authInfoTitle:"支持访客访问",authInfoBody:"如果你只是想查看文档,可以不登录直接进入。登录仅用于演示持久化会话的真实流程。",registerTitle:"创建账号",registerSubtitle:"立即开始使用 vxUI。",registerName:"姓名",registerNamePlaceholder:"张三",registerEmail:"邮箱",registerEmailPlaceholder:"zhangsan@company.com",registerPassword:"密码",registerPasswordPlaceholder:"创建一个强密码",registerTermsAgree:"我同意",registerTermsLink:"服务条款",registerTermsAnd:"和",registerPrivacyLink:"隐私政策",registerCta:"创建账号",registerHasAccount:"已有账号?",registerLogin:"登录",registerGuest:"无需登录,直接继续 →",validationNameRequired:"请输入你的姓名。",validationNameShort:"姓名至少需要 2 个字符。",validationEmailRequired:"请输入邮箱地址。",validationEmailInvalid:"请输入有效的邮箱地址。",validationPasswordRequired:"请输入密码。",validationPasswordShort:"密码至少需要 8 位字符。",validationTermsRequired:"创建账号前必须同意条款。",sessionLoginTitle:"已登录",sessionLoginBody:"你的会话已生效,现在可以以登录用户身份查看文档。",sessionRegisterTitle:"账号已创建",sessionRegisterBody:"示例账号已创建完成,文档后台现已可用。",sessionGuestTitle:"当前为访客模式",sessionGuestBody:"你正在无账号状态下浏览文档。",sessionLogoutTitle:"已退出登录",sessionLogoutBody:"持久化会话已清除,你已返回公共首页。",signedInAs:"当前登录",guestLabel:"访客",backHome:"← 返回首页",backToDocs:"返回文档"},pageDefs:{introduction:{section:"介绍",title:"简介",description:"一个轻量无依赖的 UI 框架,用于构建简洁的后台管理界面。设计 Token、组件和极简 SPA 运行时,统一在一套一致的视觉语言之下。",guidance:["先从框架和导航节奏开始,再对独立控件进行样式调整。","保持 Token 语义化,主题切换时无需逐页覆盖样式。","将文档、示例和生产界面视为同一套设计系统。"]},"quick-start":{section:"安装",title:"快速开始",description:"安装包,用 Provider 包裹应用,在组合业务页面前先挂载页面框架。",guidance:["在应用根组件附近统一引入共享样式表。","使用 AppShell 承载产品外壳,页面内容保持在 main 插槽内。","仅在应用需要时才添加 ThemeProvider 和 ToastProvider。"]},"shell-sidebar":{section:"组件",title:"框架与侧边栏",description:"Shell 负责侧边栏层级、固定顶栏间距和内容宽度。页面应继承结构而非重新构建。",guidance:["保持导航标签简短,以确保折叠模式下仍可快速扫读。","使用章节标题分隔页面分组,而非添加视觉噪音。","让内容区域自行管理页面特定的标题和操作。"]},"grid-page":{section:"组件",title:"网格与页面",description:"为卡片、Token 和文档块使用简单的响应式网格。页面表面应保持中性,由内容承载视觉重点。",guidance:["在密集文档界面中优先使用 12 至 16 像素的间距。","较大间距应保留给章节边界,而非每张卡片。","限制最大宽度,确保长段落保持可读性。"]},button:{section:"组件",title:"按钮",description:"按钮承担系统中的主操作层级。变体、尺寸和宽度应该直接表达操作意图,而不需要额外拼样式。",guidance:["在同一区域内,实心按钮通常只保留给一个主操作。","次级和幽灵按钮更适合辅助动作,避免和主操作竞争视觉优先级。","在移动端单列布局或堆叠表单中,优先使用 fullWidth 提升点击面积。"]},elements:{section:"组件",title:"基础元素",description:"按钮、徽章和卡片默认应保持低调。主要操作可以突出,其余元素应配合支撑。",guidance:["每个区域通常一个主操作就足够了。","徽章用于紧凑的状态或分类元数据,而非纯装饰。","卡片应组织内容,默认不应有仪表盘的感觉。"]},"form-controls":{section:"组件",title:"表单控件",description:"输入框和开关需要强对比度、清晰标签和可预测的垂直节奏。通过组合而非一个巨型字段组件来暴露复杂性。",guidance:["在管理界面中,表单控件始终应配有可见标签。","简短的辅助文本优于仅依赖 placeholder 的说明。","对破坏性或高影响操作使用对话框进行确认。"]},navigation:{section:"组件",title:"导航",description:"导航模式应首先传达位置,其次才是可用的移动方向。Tabs 最适合在单个页面上下文中切换兄弟视图。",guidance:["在控件结构中镜像信息架构。","使活跃状态明显,而不仅依赖颜色。","避免在一个控件中混用路由导航和本地视图状态。"]},"data-list":{section:"组件",title:"数据列表",description:"列表和表格应优先考虑扫读效率而非装饰。使用宽松的对齐、轻量分隔线,仅在需要时增加操作密度。",guidance:["精确对齐表头和行内容,减少视觉偏移。","使用细微边框而非为每一行添加重型卡片外壳。","将破坏性操作保留在行操作组中,而非内联文字链接。"]},"empty-states":{section:"组件",title:"空状态",description:"空状态应解释缺少什么、为何重要以及下一步操作是什么。它不应让用户感到走投无路。",guidance:["指明缺失的对象,让用户清楚自己在看什么。","提供一个清晰的恢复操作。","视觉重量应轻于成功或警告反馈。"]},toasts:{section:"组件",title:"消息提示",description:"Toast 在不打断任务流程的情况下确认短暂事件。保持简洁、具体且易于关闭。",guidance:["使用 success 和 info 确认后台操作。","将阻塞性或破坏性状态升级为对话框,而非堆叠 Toast。","避免在每次页面切换时重复相同消息。"]},feedback:{section:"组件",title:"反馈组件",description:"Spinner、Progress、Alert 和 Skeleton 为用户提供关于加载状态、结果和缺失内容的清晰信号。",guidance:["对短暂的不确定等待使用 Spinner;对确定性操作使用 Progress。","对持久性或页面级状态消息,优先使用 Alert 而非 Toast。","Skeleton 应与其替代内容的形状匹配,以减少布局偏移。"]},overlays:{section:"组件",title:"浮层",description:"Tooltip、Popover 和 DropdownMenu 在页面上方叠加临时内容,无需跳转。",guidance:["Tooltip 仅用于补充文本,绝不放置可交互内容。","Popover 可包含表单和富内容;需要明确的关闭触发器。","DropdownMenu 应对相关操作分组,并支持键盘导航。"]},"nav-layout":{section:"组件",title:"导航与布局",description:"Breadcrumb、Pagination、Accordion 和 Separator 处理位置、分页和结构节奏。",guidance:["Breadcrumb 反映路由深度——单层页面可省略。","Pagination 应显示总页数,让用户了解数据集大小。","Accordion 最适合渐进式披露,而非主导航。"]},"data-display":{section:"组件",title:"数据展示",description:"Avatar 和 Table 以清晰的层级呈现用户身份和结构化数据。",guidance:["Avatar 即使在显示图片时也应始终具有无障碍标签。","Table 支持可排序列——数据来自服务端时应将排序状态提升。","在密集表格中使用斑马纹,帮助视线跨列追踪。"]},"form-inputs":{section:"组件",title:"表单输入",description:"Select、Checkbox、RadioGroup、Textarea 和 Slider 将表单词汇扩展到文本输入之外。",guidance:["使用 RadioGroup 包裹单选按钮,共享 name 和语义。","Slider 适合数值范围;配合 showValue 可获得即时反馈。","Textarea 默认纵向可拖拽——仅在固定高度容器中禁用 resize。"]},mobile:{section:"响应式",title:"响应式布局",description:"一套同时覆盖手机、平板与桌面的响应式系统。通过布局与密度变化适配不同设备,而不是维护两套应用与两套页面树。",guidance:["保持所有断点上的路由树一致,只调整壳层结构和内容密度。","在窄屏上把常驻侧边导航转成抽屉,而不是复制一套页面实现。","让卡片、表单和表格从三列到单列平滑重排,不改变组件归属。"]},"home-page":{section:"模板",title:"主页",description:"带有 Hero 区块、核心功能亮点和主要行动召唤按钮的落地式主页。适用于产品官网、内部门户和营销页面。",guidance:["Hero 信息保持一句话——让行动召唤按钮来完成说服工作。","功能卡片各自聚焦一个问题,而非罗列所有能力。","主操作与次操作相配合,降低用户决策疲劳。"]},"login-page":{section:"模板",title:"登录页",description:"居中的极简登录表单。清晰的标签、可见的错误状态和单一主操作,降低登录摩擦。",guidance:["不要隐藏密码标签——仅靠 placeholder 无法满足无障碍要求。","字段失去焦点后立即显示内联校验错误。","提供密码可见切换,降低登录摩擦。"]},"register-page":{section:"模板",title:"注册页",description:"只收集创建账号所需最少字段的注册表单。通过仅询问必要信息来降低注册阻力。",guidance:["注册时只需姓名、邮箱和密码——个人资料可在之后完善。","内联显示密码强度,但不因细微问题阻止提交。","服务条款复选框必须明确,不得预先勾选。"]},"error-page":{section:"模板",title:"错误页",description:"404、500 及其他错误状态的优雅降级页面。给用户清晰的解释和直接返回的路径。",guidance:["说明错误码和通俗解释——避免技术术语。",'始终提供"返回首页"和"后退"两个操作。',"错误页的视觉风格应与产品保持一致,而非系统默认页。"]},"privacy-policy":{section:"模板",title:"隐私政策",description:"带有章节标题、可读段落和清晰分隔线的结构化法律文档页面。在不牺牲完整性的前提下保持无障碍和可扫读性。",guidance:["使用标题将长篇政策文本分成可扫读的章节。","从任何引用政策的同意流程中直接链接到相关章节。","在顶部注明政策版本和日期,让用户了解最近更新时间。"]},"terms-of-service":{section:"模板",title:"服务条款",description:"具备清晰标题、通俗义务说明且在手机到桌面端都保持可读性的服务条款页面。",guidance:["将许可范围、使用限制和免责声明拆成独立段落,降低法律歧义。","正文使用短段落与摘要侧栏,保证长文档依旧可扫读。","在注册和定价流程中直接链接条款页面,让同意动作具备上下文。"]},"command-palette":{section:"组件",title:"命令面板",description:"键盘驱动的搜索浮层,让用户无需离开键盘即可跳转到任意页面或触发任意操作。全局挂载、绑定快捷键,传入扁平的条目列表即可使用。",guidance:["保持条目列表扁平且按标签可搜索——避免隐藏分类嵌套。","从侧边栏导航数据同步填充条目,确保两个入口保持一致。","绑定 ⌘K(Mac)或 Ctrl+K(Windows)快捷键,满足高频用户的操作预期。"]},"code-block":{section:"组件",title:"代码块",description:"带语法高亮的只读代码展示组件,支持可选的文件名标签。用于渲染安装步骤、用法示例或任意格式化的代码字符串。",guidance:["通过 language 属性指定代码语言(tsx、bash、json 等),以获得正确高亮。","传入 filename 可为读者提供该代码片段在项目中所属位置的上下文。","保持示例代码精简——只展示说明当前概念所需的最少行数。"]},"language-switcher":{section:"组件",title:"语言切换器",description:"点击后即可更新整套 UI 文案的语言切换组件。放入任意顶栏或设置区域——i18n Provider 会自动广播变更,无需额外状态绑定。",guidance:["将切换器放置在持久性界面(顶栏或设置页)中,方便用户在任何位置找到它。","切换器自动反映当前语言,除 i18n Provider 外无需额外的状态绑定。","顶栏中使用 inline 变体,设置页中使用默认变体,以匹配对应场景的视觉密度。"]}}},Yt={en:Dr,zh:Fl},Dl=N.createContext({t:Dr,locale:"en",setLocale:()=>{}});function Il(){return N.useContext(Dl)}function Ll({variant:e="inline",className:t}){const{locale:n,setLocale:a}=Il(),s=Object.entries(Yt),o=Yt[n],[l,i]=N.useState(!1),u=N.useRef(null);N.useEffect(()=>{if(!l)return;const d=p=>{u.current&&!u.current.contains(p.target)&&i(!1)};return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[l]),N.useEffect(()=>{if(!l)return;const d=p=>{p.key==="Escape"&&i(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[l]);const c=e==="sidebar";return r.jsxs("div",{ref:u,className:E("vx-lang-drop",c&&"vx-lang-drop--sidebar",l&&"vx-lang-drop--open",t),children:[r.jsxs(Q,{variant:"outline",size:"sm",onClick:()=>i(d=>!d),"aria-haspopup":"listbox","aria-expanded":l,"aria-label":"Switch language",className:"vx-lang-drop__trigger-btn",style:{height:"36px"},children:[r.jsx(ea,{size:14,"aria-hidden":"true"}),(o==null?void 0:o.label)??n,r.jsx(st,{size:14,className:"vx-lang-drop__chevron","aria-hidden":"true"})]}),l&&r.jsx("ul",{className:"vx-lang-drop__menu",role:"listbox","aria-label":"Language",children:s.map(([d,p])=>r.jsx("li",{role:"option","aria-selected":n===d,children:r.jsxs("button",{type:"button",className:E("vx-lang-drop__item",n===d&&"vx-lang-drop__item--active"),onClick:()=>{a(d),i(!1)},children:[p.label,n===d&&r.jsx("span",{className:"vx-lang-drop__check","aria-hidden":"true",children:"✓"})]})},d))})]})}exports.Accordion=Ni;exports.ActionSheet=Ii;exports.ActionSheetItem=Li;exports.Alert=gi;exports.AlertDialog=qi;exports.AppShell=oa;exports.Avatar=Ti;exports.Badge=ia;exports.BottomNav=Di;exports.Breadcrumb=ki;exports.Button=Q;exports.Calendar=Rr;exports.Card=la;exports.CardContent=pa;exports.CardDescription=da;exports.CardHeader=ca;exports.CardTitle=ua;exports.Carousel=ml;exports.Checkbox=li;exports.CodeBlock=Rl;exports.ColorPicker=wl;exports.Combobox=nl;exports.CommandPalette=El;exports.ContextMenu=ll;exports.DatePicker=tl;exports.Dialog=Us;exports.DrawerNavItem=zi;exports.DrawerNavSection=Ui;exports.DropdownMenu=_i;exports.EmptyState=vl;exports.FileUpload=rl;exports.Form=Wi;exports.FormDescription=Vi;exports.FormField=Gi;exports.FormLabel=Ki;exports.FormMessage=Yi;exports.Heading=oi;exports.HoverCard=cl;exports.Input=Hs;exports.Label=Hi;exports.LanguageSwitcher=Ll;exports.Menubar=ul;exports.MobileDrawer=Bi;exports.MobileIconButton=Fi;exports.MobileList=Mi;exports.MobileListItem=$i;exports.MobileListSection=Oi;exports.MobileShell=Pi;exports.MobileTopBar=Ri;exports.NavigationMenu=dl;exports.NumberInput=Xi;exports.Pagination=Si;exports.Popover=yi;exports.Progress=mi;exports.Radio=ci;exports.RadioGroup=ui;exports.Rating=gl;exports.ResizableHandle=Nl;exports.ResizablePanel=Sl;exports.ResizablePanelGroup=kl;exports.Responsive=$r;exports.ScrollArea=sl;exports.Select=ii;exports.Separator=ji;exports.Sheet=al;exports.Shell=an;exports.ShellContent=fn;exports.ShellMain=dn;exports.ShellNav=on;exports.ShellNavItem=cn;exports.ShellNavSection=ln;exports.ShellOverlay=un;exports.ShellSidebar=sn;exports.ShellTopbar=pn;exports.Skeleton=xi;exports.Slider=pi;exports.Spinner=vi;exports.Stepper=pl;exports.Switch=Qs;exports.Table=Ai;exports.Tabs=bo;exports.TabsContent=wo;exports.TabsList=yo;exports.TabsTrigger=_o;exports.TagInput=bl;exports.Text=si;exports.Textarea=di;exports.ThemeProvider=Co;exports.Timeline=fl;exports.ToastProvider=ri;exports.Toggle=ol;exports.ToggleGroup=il;exports.Tooltip=bi;exports.TreeView=xl;exports.ViewportProvider=Or;exports.createTheme=H;exports.themePresets=ko;exports.useFormField=Pr;exports.useTheme=To;exports.useToast=ai;exports.useViewport=rt;
128
+ `),h.hasAttribute("data-start")||h.setAttribute("data-start",String(T+1))}w.textContent=_,n.highlightElement(w)},function(_){h.setAttribute(i,d),w.textContent=_})}}),n.plugins.fileHighlight={highlight:function(h){for(var w=(h||document).querySelectorAll(p),m=0,v;v=w[m++];)n.highlightElement(v)}};var j=!1;n.fileHighlight=function(){j||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),j=!0),n.plugins.fileHighlight.highlight.apply(this,arguments)}})()})(Xe)),Xe.exports}var Al=Tl();const Ne=Cl(Al);Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity;Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))});Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,n){var a={};a["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[n]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};s["language-"+n]={pattern:/[\s\S]+/,inside:Prism.languages[n]};var o={};o[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:s},Prism.languages.insertBefore("markup","cdata",o)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(e,t){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Prism.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml;Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,a=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,s=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(u,c){return u=u.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return a}).replace(/<SPREAD>/g,function(){return s}),RegExp(u,c)}s=o(s).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(u){return u?typeof u=="string"?u:typeof u.content=="string"?u.content:u.content.map(l).join(""):""},i=function(u){for(var c=[],d=0;d<u.length;d++){var p=u[d],b=!1;if(typeof p!="string"&&(p.type==="tag"&&p.content[0]&&p.content[0].type==="tag"?p.content[0].content[0].content==="</"?c.length>0&&c[c.length-1].tagName===l(p.content[0].content[1])&&c.pop():p.content[p.content.length-1].content==="/>"||c.push({tagName:l(p.content[0].content[1]),openedBraces:0}):c.length>0&&p.type==="punctuation"&&p.content==="{"?c[c.length-1].openedBraces++:c.length>0&&c[c.length-1].openedBraces>0&&p.type==="punctuation"&&p.content==="}"?c[c.length-1].openedBraces--:b=!0),(b||typeof p=="string")&&c.length>0&&c[c.length-1].openedBraces===0){var k=l(p);d<u.length-1&&(typeof u[d+1]=="string"||u[d+1].type==="plain-text")&&(k+=l(u[d+1]),u.splice(d+1,1)),d>0&&(typeof u[d-1]=="string"||u[d-1].type==="plain-text")&&(k=l(u[d-1])+k,u.splice(d-1,1),d--),u[d]=new e.Token("plain-text",k,null,k)}p.content&&typeof p.content!="string"&&i(p.content)}};e.hooks.add("after-tokenize",function(u){u.language!=="jsx"&&u.language!=="tsx"||i(u.tokens)})})(Prism);var Kt={},Vt;function Pl(){return Vt||(Vt=1,(function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript})(Prism)),Kt}Pl();(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0})(Prism);(function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=a.variable[1].inside,l=0;l<s.length;l++)o[s[l]]=e.languages.bash[s[l]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;function Rl({code:e,language:t="tsx",copyLabel:n,copiedLabel:a,onCopy:s}){const[o,l]=N.useState(!1),i=N.useRef(null),u=N.useMemo(()=>{const d=Ne.languages[t]??Ne.languages.tsx??Ne.languages.typescript;return d?Ne.highlight(e,d,t):e},[e,t]);N.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);async function c(){await s(e)&&(l(!0),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{l(!1),i.current=null},1600))}return r.jsxs("div",{className:"vx-code-block-wrap","data-language":t,children:[r.jsxs(Q,{type:"button",size:"sm",variant:o?"solid":"secondary",className:o?"vx-code-block__copy vx-code-block__copy--copied":"vx-code-block__copy",onClick:()=>void c(),children:[o?r.jsx(at,{size:14}):r.jsx(Xr,{size:14}),o?a:n]}),r.jsx("pre",{className:"vx-code-block",children:r.jsx("code",{className:`vx-code-block__code language-${t}`,dangerouslySetInnerHTML:{__html:u}})})]})}const Dr={locale:"en",label:"English",searchPlaceholder:"Search components, pages, keywords…",searchAriaLabel:"Search",searchEmpty:e=>`No results for "${e}"`,searchNavigate:"Navigate",searchGo:"Go",searchClose:"Close",sidebarCollapse:"Collapse",sidebarExpand:"Expand",sidebarCloseLabel:"Close sidebar",searchTrigger:"Search",versionLabel:"v1.1.1",mobilePreview:"Mobile Preview",nav:{gettingStarted:"Getting Started",layout:"Layout",components:"Components",feedback:"Feedback",navigation:"Navigation",mobile:"Responsive",templates:"Templates"},pages:{introduction:"Introduction","quick-start":"Quick Start","shell-sidebar":"Shell & Sidebar","grid-page":"Grid & Page",button:"Button",elements:"Elements","form-controls":"Form Controls","form-inputs":"Form Inputs",overlays:"Overlays","data-display":"Data Display",navigation:"Navigation","data-list":"Data List","empty-states":"Empty States",toasts:"Toasts",feedback:"Feedback Components","nav-layout":"Navigation & Layout",mobile:"Mobile Components","command-palette":"Command Palette","code-block":"Code Block","language-switcher":"Language Switcher","home-page":"Home Page","login-page":"Login Page","register-page":"Register Page","error-page":"Error Page","privacy-policy":"Privacy Policy","terms-of-service":"Terms of Service"},docs:{guidance:"Guidance",guidanceDesc:"Keep the implementation tight and let the design system do most of the visual work.",preview:"Preview",previewDesc:"A compact example of how this area should feel inside the system.",notes:"Notes",primaryTheme:"Primary Theme",primaryThemeDesc:"Blue-gray neutrals keep emphasis reserved for actions, not decoration.",tokenScale:"Token Scale",tokenScaleDesc:"Reuse the shared surface, border, and text variables before introducing page-specific styles.",themeStudio:"Theme Studio",themeStudioDesc:"Register named themes once, then switch every component with a single key.",liveControls:"Live Controls",liveControlsDesc:"A few reusable primitives are still available inside the docs surface.",searchDocs:"Search docs",searchDocsPlaceholder:"Buttons, tokens, layout...",compactDensity:"Compact density",compactDensityDesc:"Tighten the vertical rhythm for denser operator views.",systemPreview:"System Preview",openSection:"Open section"},intro:{tagline:"A lightweight, dependency-free UI framework for building clean admin interfaces. Design tokens, components, and a minimal SPA runtime live behind one consistent visual language.",getStarted:"Get Started",browseComponents:"Browse Components",atAGlance:"At a Glance",designTokens:"Design Tokens",designTokensLead:"All colors, spacing, and typography values are exposed as CSS custom properties under the vx namespace. Register named light and dark themes once, then swap the whole framework by theme key.",componentFamilies:"Component Families"},glance:{zeroDeps:"Zero dependencies",zeroDepsHint:"Original shell runtime does not require a build pipeline.",components:"Components",componentsHint:"Layout, form, feedback, and list primitives in one system.",coreCSS:"Core CSS",coreCSSHint:"Neutral tokens and structural styles stay compact.",darkMode:"Dark mode",darkModeHint:"Semantic variables keep the same components reusable."},tokens:{primary:"Primary",primaryDesc:"Accent color for primary actions, active navigation, and emphasis.",surface:"Surface",surfaceDesc:"Default panel and content background for documentation cards and shell regions.",border:"Border",borderDesc:"Light separators that keep the UI structured without adding visual weight.",text:"Text",textDesc:"Primary foreground used for headings, dense data, and body copy."},families:{layout:"Layout",layoutDesc:"App shell, sticky header, section rhythm, and responsive content framing.",elements:"Elements",elementsDesc:"Quiet primitives for actions, metadata, and structured content blocks.",forms:"Forms",formsDesc:"Inputs, switches, dialogs, and field composition patterns.",feedback:"Feedback",feedbackDesc:"Transient toasts and interruptive confirmation flows."},dataList:{name:"Name",kind:"Kind",updated:"Updated"},modeLabel:e=>`${e} mode`,publicPages:{navLogin:"Log in",navSignup:"Sign up",navDocs:"Docs",navLogout:"Log out",heroTag:"New · v1.0",heroTitle:"Build faster with vxUI",heroLead:"A lightweight, dependency-free UI framework for building clean admin interfaces. Design tokens, components, and a minimal SPA runtime in one consistent visual language.",heroCta:"Get started",heroCtaAlt:"Browse docs",previewLead:"A production-minded docs surface with direct guest access, persistent sign-in state, and mobile-ready layouts.",previewAccessTitle:"Access modes",previewAccessMember:"Sign in to keep a persisted session and return directly to your workspace.",previewAccessGuest:"Open the docs immediately as a guest when you only need to inspect components.",previewMobileTitle:"Mobile-ready",previewMobileLead:"Navigation and auth layouts collapse cleanly for phones without losing hierarchy or call-to-action priority.",featuresSectionTitle:"Why vxUI",feat1:"Zero dependencies",feat1Desc:"Ships as a pure CSS + TypeScript package with no peer-lib baggage.",feat2:"30+ components",feat2Desc:"Layout, form, feedback, and list primitives in one cohesive system.",feat3:"Themeable",feat3Desc:"Swap the whole framework with a single theme key via CSS variables.",feat4:"Dark mode",feat4Desc:"Semantic tokens keep every component reusable across light and dark themes.",footerCopy:"© 2026 vxUI. All rights reserved.",footerPrivacy:"Privacy Policy",loginTitle:"Welcome back",loginSubtitle:"Sign in to access the documentation.",loginEmail:"Email",loginEmailPlaceholder:"you@example.com",loginPassword:"Password",loginPasswordPlaceholder:"At least 8 characters",loginCta:"Sign in",loginNoAccount:"Don't have an account?",loginRegister:"Register",loginGuest:"Continue without an account →",rememberMe:"Remember this device",showPassword:"Show",hidePassword:"Hide",authInfoTitle:"Guest access is available",authInfoBody:"You can go straight to the docs without an account. Sign in only if you want a persisted session example.",registerTitle:"Create account",registerSubtitle:"Get started with vxUI today.",registerName:"Full name",registerNamePlaceholder:"Jane Smith",registerEmail:"Email",registerEmailPlaceholder:"jane@company.com",registerPassword:"Password",registerPasswordPlaceholder:"Create a strong password",registerTermsAgree:"I agree to the",registerTermsLink:"Terms of Service",registerTermsAnd:"and",registerPrivacyLink:"Privacy Policy",registerCta:"Create account",registerHasAccount:"Already have an account?",registerLogin:"Sign in",registerGuest:"Continue without an account →",validationNameRequired:"Enter your full name.",validationNameShort:"Use at least 2 characters for your name.",validationEmailRequired:"Enter your email address.",validationEmailInvalid:"Enter a valid email address.",validationPasswordRequired:"Enter your password.",validationPasswordShort:"Use at least 8 characters for the password.",validationTermsRequired:"You must agree to the terms before creating an account.",sessionLoginTitle:"Signed in",sessionLoginBody:"Your session is active. You can now browse the docs as a signed-in user.",sessionRegisterTitle:"Account created",sessionRegisterBody:"Your sample account is ready and the docs are now unlocked.",sessionGuestTitle:"Browsing as guest",sessionGuestBody:"You entered the docs without a saved account session.",sessionLogoutTitle:"Signed out",sessionLogoutBody:"Your persisted session was cleared. You are back on the public site.",signedInAs:"Signed in as",guestLabel:"Guest",backHome:"← Back to home",backToDocs:"Back to docs"},pageDefs:{introduction:{section:"Introduction",title:"Introduction",description:"A lightweight, dependency-free UI framework for building clean admin interfaces. Design tokens, components, and a minimal SPA runtime live behind one consistent visual language.",guidance:["Start from the shell and navigation rhythm before styling isolated controls.","Keep tokens semantic so a theme swap does not require page-specific overrides.","Treat documentation, examples, and production surfaces as the same design system."]},"quick-start":{section:"Installation",title:"Quick Start",description:"Install the package, wrap your app with providers, and mount a page shell before composing business screens.",guidance:["Import the shared stylesheet once near the application root.","Use AppShell for product chrome and keep page content inside the main slot.","Add ThemeProvider and ToastProvider only when the app needs them."]},"shell-sidebar":{section:"Components",title:"Shell & Sidebar",description:"The shell is responsible for sidebar hierarchy, sticky header spacing, and content width. Pages should inherit structure instead of rebuilding it.",guidance:["Keep navigation labels short so collapsed mode stays scannable.","Use section titles to separate page groups instead of visual noise.","Let the content area own page-specific headings and actions."]},"grid-page":{section:"Components",title:"Grid & Page",description:"Use simple responsive grids for cards, tokens, and documentation blocks. The page surface should stay neutral and let content carry emphasis.",guidance:["Prefer 12 to 16 pixel gaps for dense documentation surfaces.","Reserve larger spacing for section boundaries, not every card.","Keep max width constrained so long paragraphs remain readable."]},button:{section:"Components",title:"Button",description:"Buttons carry the primary action hierarchy for the system. Variants, sizes, and width should communicate intent without requiring extra styling.",guidance:["Use the solid variant for the primary action in a given area.","Use secondary or ghost variants for supporting actions that should stay visually quieter.","Use fullWidth for stacked mobile actions or single-column forms."]},elements:{section:"Components",title:"Elements",description:"Buttons, badges, and cards should feel quiet by default. The primary action can be loud; everything else should support it.",guidance:["One primary action per area is usually enough.","Use badges for compact status or category metadata, not decoration.","Cards should organize content without feeling like dashboards by default."]},"form-controls":{section:"Components",title:"Form Controls",description:"Inputs and switches need strong contrast, clear labels, and predictable vertical rhythm. Expose complexity through composition rather than one giant field component.",guidance:["Always pair form controls with visible labels in admin surfaces.","Short helper text is better than placeholder-only instruction.","Confirm destructive or high-impact actions with dialog affordances."]},navigation:{section:"Components",title:"Navigation",description:"Navigation patterns should communicate location first, then available movement. Tabs work best for sibling views within a single page context.",guidance:["Mirror information architecture in the control structure.","Make the active state obvious without relying on color alone.","Avoid mixing route navigation and local view state in one control."]},"data-list":{section:"Components",title:"Data List",description:"Lists and tables should prioritize scanning over ornament. Use generous alignment, light separators, and action density only where needed.",guidance:["Align headers and row content precisely to reduce visual drift.","Use subtle borders instead of heavy card chrome around every row.","Reserve destructive affordances for row action groups, not inline text links."]},"empty-states":{section:"Components",title:"Empty States",description:"An empty state should explain what is missing, why it matters, and what the next action is. It should never feel like a dead end.",guidance:["Name the object that is absent so users know what they are looking at.","Offer one clear recovery action.","Keep the visual weight lighter than success or alert feedback."]},toasts:{section:"Components",title:"Toasts",description:"Toasts confirm short-lived events without interrupting task flow. Keep them brief, specific, and easy to dismiss.",guidance:["Use success and info to confirm background actions.","Escalate blocking or destructive states to dialogs instead of stacking toasts.","Avoid repeating the same message on every page transition."]},feedback:{section:"Components",title:"Feedback Components",description:"Spinner, Progress, Alert, and Skeleton give users clear signals about loading states, results, and missing content.",guidance:["Use Spinner for short indeterminate waits; Progress for deterministic operations.","Prefer Alert over toast for persistent or page-level status messages.","Skeleton should match the shape of the content it replaces to reduce layout shift."]},overlays:{section:"Components",title:"Overlays",description:"Tooltip, Popover, and DropdownMenu layer transient content above the page without navigating away.",guidance:["Tooltips are for supplementary text only — never interactive content.","Popovers can contain forms and rich content; they require explicit close triggers.","DropdownMenus should group related actions and support keyboard navigation."]},"nav-layout":{section:"Components",title:"Navigation & Layout",description:"Breadcrumb, Pagination, Accordion, and Separator handle location, paging, and structural rhythm.",guidance:["Breadcrumb mirrors route depth — omit it on single-level pages.","Pagination should show page count so users understand the data set size.","Accordion works best for progressive disclosure, not primary navigation."]},"data-display":{section:"Components",title:"Data Display",description:"Avatar and Table present user identity and structured data with clear hierarchy.",guidance:["Avatar should always have an accessible label, even when showing an image.","Table supports sortable columns — delegate sort state up when the data is server-side.","Use striped rows in dense tables to help eyes track across long rows."]},"form-inputs":{section:"Components",title:"Form Inputs",description:"Select, Checkbox, RadioGroup, Textarea, and Slider extend the form vocabulary beyond text inputs.",guidance:["Group radio buttons with RadioGroup to share name and semantics.","Slider is ideal for numeric ranges; pair it with showValue for immediate feedback.","Textarea defaults to vertical resize — disable resize only in fixed-height containers."]},mobile:{section:"Responsive",title:"Responsive Patterns",description:"A single responsive system for phone, tablet, and desktop. One route tree, one content model, and one set of components adapt through layout instead of duplicate applications.",guidance:["Keep the route tree identical across breakpoints; only the shell and density should change.","Turn persistent side navigation into a drawer on narrow screens instead of forking the page implementation.","Design cards, forms, and tables to reflow from three columns to one without changing component ownership."]},"home-page":{section:"Templates",title:"Home Page",description:"A landing-style home page with a hero section, key feature highlights, and primary call-to-action buttons. Suitable for product sites, internal portals, and marketing pages.",guidance:["Keep the hero message to one compelling sentence — let the CTA do the work.","Feature cards should each solve one problem, not list all capabilities.","Balance a primary action with a softer secondary one to reduce decision fatigue."]},"login-page":{section:"Templates",title:"Login Page",description:"A minimal login form centered on the screen. Collect credentials with clear labels, visible error states, and a single primary action.",guidance:["Never hide the password label — placeholder text alone fails accessibility.","Show inline validation errors as soon as the field loses focus.","Offer a password-visible toggle to reduce login friction."]},"register-page":{section:"Templates",title:"Register Page",description:"A registration form that collects the minimum fields needed to create an account. Reduce friction by asking only what is essential at sign-up.",guidance:["Request only name, email, and password at registration — profile details can come later.","Show password strength inline without blocking submission on minor issues.","The terms-of-service checkbox must be explicit; do not pre-check it."]},"error-page":{section:"Templates",title:"Error Page",description:"A graceful fallback for 404, 500, and other error states. Give users a clear explanation and a direct path back to safety.",guidance:["State the error code and a plain-language explanation — avoid technical jargon.","Always provide a go-home action alongside a go-back option.","Match the error page visual weight to the rest of the product, not a generic OS page."]},"privacy-policy":{section:"Templates",title:"Privacy Policy",description:"A structured legal document page with section headings, readable prose, and clear separators. Designed to remain accessible and scannable without sacrificing completeness.",guidance:["Use headings to break long policy text into scannable sections.","Link directly to the relevant section from any consent flow that references the policy.","Version and date the policy at the top so users know when it was last updated."]},"terms-of-service":{section:"Templates",title:"Terms of Service",description:"A service terms page with clear headings, plain-language obligations, and a layout that stays readable from narrow phones to wide desktop viewports.",guidance:["State the usage permission, limitations, and disclaimer in separate sections to reduce legal ambiguity.","Keep the document scannable with short paragraphs and a compact summary rail.","Link to the terms directly from registration and pricing flows so consent is contextual."]},"command-palette":{section:"Components",title:"Command Palette",description:"A keyboard-driven search overlay that lets users jump to any page or action without leaving the keyboard. Render it globally, wire a hotkey, then pass a flat list of entries.",guidance:["Keep the entries list flat and label-searchable — avoid nesting pages under hidden categories.","Populate entries from the same nav data you use for the sidebar so the two surfaces stay in sync.","Combine with ⌘K (Mac) or Ctrl+K (Windows) for a familiar shortcut that power users expect."]},"code-block":{section:"Components",title:"Code Block",description:"A syntax-highlighted, read-only code display with optional filename label. Use it to render installation snippets, usage examples, or any formatted code string.",guidance:["Set the language prop to the language of the code — tsx, bash, json, etc. — for correct highlighting.","Pass a filename to give readers context on where the snippet belongs in a project.","Keep code snippets minimal; show only the lines needed to illustrate the concept being documented."]},"language-switcher":{section:"Components",title:"Language Switcher",description:"A locale toggle component that updates the entire UI copy when clicked. Drop it into any topbar or settings area — the i18n provider broadcasts the change automatically.",guidance:["Place the switcher in a persistent surface (topbar or settings page) so users can find it from anywhere.","The switcher reflects the current locale; no extra state wiring is needed beyond the i18n provider.","Use the inline variant for topbars and the default variant for settings pages to match visual density."]}}},Fl={locale:"zh",label:"中文",searchPlaceholder:"搜索组件、页面、关键词…",searchAriaLabel:"搜索",searchEmpty:e=>`未找到与"${e}"匹配的结果`,searchNavigate:"导航",searchGo:"跳转",searchClose:"关闭",sidebarCollapse:"收起",sidebarExpand:"展开",sidebarCloseLabel:"关闭侧边栏",searchTrigger:"搜索",versionLabel:"v1.1.1",mobilePreview:"移动端预览",nav:{gettingStarted:"开始使用",layout:"布局",components:"组件",feedback:"反馈",navigation:"导航",mobile:"响应式",templates:"模板"},pages:{introduction:"简介","quick-start":"快速开始","shell-sidebar":"框架与侧边栏","grid-page":"网格与页面",button:"按钮",elements:"基础元素","form-controls":"表单控件","form-inputs":"表单输入",overlays:"浮层","data-display":"数据展示",navigation:"导航","data-list":"数据列表","empty-states":"空状态",toasts:"消息提示",feedback:"反馈组件","nav-layout":"导航与布局",mobile:"移动端组件","command-palette":"命令面板","code-block":"代码块","language-switcher":"语言切换器","home-page":"主页","login-page":"登录页","register-page":"注册页","error-page":"错误页","privacy-policy":"隐私政策","terms-of-service":"服务条款"},docs:{guidance:"使用指南",guidanceDesc:"保持实现简洁,让设计系统完成大部分视觉工作。",preview:"预览",previewDesc:"该区域在系统中呈现效果的精简示例。",notes:"备注",primaryTheme:"主色调",primaryThemeDesc:"蓝灰色中性调将视觉重点保留给操作,而非装饰。",tokenScale:"Token 体系",tokenScaleDesc:"在引入页面特定样式之前,优先复用共享的 surface、border 和 text 变量。",themeStudio:"主题工作室",themeStudioDesc:"一次注册命名主题,用单个 key 即可切换所有组件。",liveControls:"交互控件",liveControlsDesc:"文档界面中仍有若干可复用的基础原语。",searchDocs:"搜索文档",searchDocsPlaceholder:"按钮、Token、布局…",compactDensity:"紧凑模式",compactDensityDesc:"收紧垂直间距,适合高密度操作界面。",systemPreview:"系统预览",openSection:"打开章节"},intro:{tagline:"一个轻量无依赖的 UI 框架,用于构建简洁的后台管理界面。设计 Token、组件和极简 SPA 运行时,统一在一套一致的视觉语言之下。",getStarted:"开始使用",browseComponents:"浏览组件",atAGlance:"概览",designTokens:"设计 Token",designTokensLead:"所有颜色、间距和字体值均以 vx 命名空间下的 CSS 自定义属性暴露。一次注册命名的亮色和暗色主题,之后通过主题 key 即可切换整个框架。",componentFamilies:"组件系列"},glance:{zeroDeps:"零依赖",zeroDepsHint:"原始 shell 运行时无需构建流水线。",components:"组件数",componentsHint:"布局、表单、反馈和列表原语,一套搞定。",coreCSS:"核心 CSS",coreCSSHint:"中性 Token 和结构样式保持精简。",darkMode:"深色模式",darkModeHint:"语义变量让相同组件可在多主题下复用。"},tokens:{primary:"主色",primaryDesc:"用于主要操作、活跃导航和强调的点缀色。",surface:"表面色",surfaceDesc:"文档卡片和框架区域的默认面板与内容背景色。",border:"边框色",borderDesc:"保持 UI 结构清晰且不增加视觉重量的轻量分隔色。",text:"文字色",textDesc:"用于标题、密集数据和正文的主前景色。"},families:{layout:"布局",layoutDesc:"应用框架、固定顶栏、章节节奏和响应式内容框架。",elements:"基础元素",elementsDesc:"用于操作、元数据和结构化内容块的低调原语。",forms:"表单",formsDesc:"输入框、开关、对话框和字段组合模式。",feedback:"反馈",feedbackDesc:"短暂的消息提示与打断性确认流程。"},dataList:{name:"名称",kind:"类型",updated:"更新时间"},modeLabel:e=>`${{light:"浅色",dark:"深色",black:"纯黑"}[e]??e}模式`,publicPages:{navLogin:"登录",navSignup:"注册",navDocs:"文档",navLogout:"退出登录",heroTag:"最新 · v1.0",heroTitle:"用 vxUI 构建更快",heroLead:"一个轻量无依赖的 UI 框架,用于构建简洁的后台管理界面。设计 Token、组件和极简 SPA 运行时,统一在一套一致的视觉语言之下。",heroCta:"立即开始",heroCtaAlt:"浏览文档",previewLead:"一个面向生产场景的文档入口,支持直接访客访问、持久化登录状态,以及适配移动端的页面布局。",previewAccessTitle:"访问方式",previewAccessMember:"登录后可保留会话状态,下次返回时继续进入你的工作区。",previewAccessGuest:"如果只是查看组件,也可以直接以访客身份打开文档。",previewMobileTitle:"移动端可用",previewMobileLead:"导航和认证布局会在手机上自然折叠,不牺牲层级关系和关键行动按钮。",featuresSectionTitle:"为什么选择 vxUI",feat1:"零依赖",feat1Desc:"纯 CSS + TypeScript 包,无第三方依赖负担。",feat2:"30+ 组件",feat2Desc:"布局、表单、反馈和列表原语,一套搞定。",feat3:"可主题化",feat3Desc:"通过 CSS 变量,用单个主题 key 切换整个框架。",feat4:"深色模式",feat4Desc:"语义 Token 让每个组件在各主题下均可复用。",footerCopy:"© 2026 vxUI. 保留所有权利。",footerPrivacy:"隐私政策",loginTitle:"欢迎回来",loginSubtitle:"登录以访问文档。",loginEmail:"邮箱",loginEmailPlaceholder:"you@example.com",loginPassword:"密码",loginPasswordPlaceholder:"至少 8 位字符",loginCta:"登录",loginNoAccount:"还没有账号?",loginRegister:"注册",loginGuest:"无需登录,直接继续 →",rememberMe:"记住这台设备",showPassword:"显示",hidePassword:"隐藏",authInfoTitle:"支持访客访问",authInfoBody:"如果你只是想查看文档,可以不登录直接进入。登录仅用于演示持久化会话的真实流程。",registerTitle:"创建账号",registerSubtitle:"立即开始使用 vxUI。",registerName:"姓名",registerNamePlaceholder:"张三",registerEmail:"邮箱",registerEmailPlaceholder:"zhangsan@company.com",registerPassword:"密码",registerPasswordPlaceholder:"创建一个强密码",registerTermsAgree:"我同意",registerTermsLink:"服务条款",registerTermsAnd:"和",registerPrivacyLink:"隐私政策",registerCta:"创建账号",registerHasAccount:"已有账号?",registerLogin:"登录",registerGuest:"无需登录,直接继续 →",validationNameRequired:"请输入你的姓名。",validationNameShort:"姓名至少需要 2 个字符。",validationEmailRequired:"请输入邮箱地址。",validationEmailInvalid:"请输入有效的邮箱地址。",validationPasswordRequired:"请输入密码。",validationPasswordShort:"密码至少需要 8 位字符。",validationTermsRequired:"创建账号前必须同意条款。",sessionLoginTitle:"已登录",sessionLoginBody:"你的会话已生效,现在可以以登录用户身份查看文档。",sessionRegisterTitle:"账号已创建",sessionRegisterBody:"示例账号已创建完成,文档后台现已可用。",sessionGuestTitle:"当前为访客模式",sessionGuestBody:"你正在无账号状态下浏览文档。",sessionLogoutTitle:"已退出登录",sessionLogoutBody:"持久化会话已清除,你已返回公共首页。",signedInAs:"当前登录",guestLabel:"访客",backHome:"← 返回首页",backToDocs:"返回文档"},pageDefs:{introduction:{section:"介绍",title:"简介",description:"一个轻量无依赖的 UI 框架,用于构建简洁的后台管理界面。设计 Token、组件和极简 SPA 运行时,统一在一套一致的视觉语言之下。",guidance:["先从框架和导航节奏开始,再对独立控件进行样式调整。","保持 Token 语义化,主题切换时无需逐页覆盖样式。","将文档、示例和生产界面视为同一套设计系统。"]},"quick-start":{section:"安装",title:"快速开始",description:"安装包,用 Provider 包裹应用,在组合业务页面前先挂载页面框架。",guidance:["在应用根组件附近统一引入共享样式表。","使用 AppShell 承载产品外壳,页面内容保持在 main 插槽内。","仅在应用需要时才添加 ThemeProvider 和 ToastProvider。"]},"shell-sidebar":{section:"组件",title:"框架与侧边栏",description:"Shell 负责侧边栏层级、固定顶栏间距和内容宽度。页面应继承结构而非重新构建。",guidance:["保持导航标签简短,以确保折叠模式下仍可快速扫读。","使用章节标题分隔页面分组,而非添加视觉噪音。","让内容区域自行管理页面特定的标题和操作。"]},"grid-page":{section:"组件",title:"网格与页面",description:"为卡片、Token 和文档块使用简单的响应式网格。页面表面应保持中性,由内容承载视觉重点。",guidance:["在密集文档界面中优先使用 12 至 16 像素的间距。","较大间距应保留给章节边界,而非每张卡片。","限制最大宽度,确保长段落保持可读性。"]},button:{section:"组件",title:"按钮",description:"按钮承担系统中的主操作层级。变体、尺寸和宽度应该直接表达操作意图,而不需要额外拼样式。",guidance:["在同一区域内,实心按钮通常只保留给一个主操作。","次级和幽灵按钮更适合辅助动作,避免和主操作竞争视觉优先级。","在移动端单列布局或堆叠表单中,优先使用 fullWidth 提升点击面积。"]},elements:{section:"组件",title:"基础元素",description:"按钮、徽章和卡片默认应保持低调。主要操作可以突出,其余元素应配合支撑。",guidance:["每个区域通常一个主操作就足够了。","徽章用于紧凑的状态或分类元数据,而非纯装饰。","卡片应组织内容,默认不应有仪表盘的感觉。"]},"form-controls":{section:"组件",title:"表单控件",description:"输入框和开关需要强对比度、清晰标签和可预测的垂直节奏。通过组合而非一个巨型字段组件来暴露复杂性。",guidance:["在管理界面中,表单控件始终应配有可见标签。","简短的辅助文本优于仅依赖 placeholder 的说明。","对破坏性或高影响操作使用对话框进行确认。"]},navigation:{section:"组件",title:"导航",description:"导航模式应首先传达位置,其次才是可用的移动方向。Tabs 最适合在单个页面上下文中切换兄弟视图。",guidance:["在控件结构中镜像信息架构。","使活跃状态明显,而不仅依赖颜色。","避免在一个控件中混用路由导航和本地视图状态。"]},"data-list":{section:"组件",title:"数据列表",description:"列表和表格应优先考虑扫读效率而非装饰。使用宽松的对齐、轻量分隔线,仅在需要时增加操作密度。",guidance:["精确对齐表头和行内容,减少视觉偏移。","使用细微边框而非为每一行添加重型卡片外壳。","将破坏性操作保留在行操作组中,而非内联文字链接。"]},"empty-states":{section:"组件",title:"空状态",description:"空状态应解释缺少什么、为何重要以及下一步操作是什么。它不应让用户感到走投无路。",guidance:["指明缺失的对象,让用户清楚自己在看什么。","提供一个清晰的恢复操作。","视觉重量应轻于成功或警告反馈。"]},toasts:{section:"组件",title:"消息提示",description:"Toast 在不打断任务流程的情况下确认短暂事件。保持简洁、具体且易于关闭。",guidance:["使用 success 和 info 确认后台操作。","将阻塞性或破坏性状态升级为对话框,而非堆叠 Toast。","避免在每次页面切换时重复相同消息。"]},feedback:{section:"组件",title:"反馈组件",description:"Spinner、Progress、Alert 和 Skeleton 为用户提供关于加载状态、结果和缺失内容的清晰信号。",guidance:["对短暂的不确定等待使用 Spinner;对确定性操作使用 Progress。","对持久性或页面级状态消息,优先使用 Alert 而非 Toast。","Skeleton 应与其替代内容的形状匹配,以减少布局偏移。"]},overlays:{section:"组件",title:"浮层",description:"Tooltip、Popover 和 DropdownMenu 在页面上方叠加临时内容,无需跳转。",guidance:["Tooltip 仅用于补充文本,绝不放置可交互内容。","Popover 可包含表单和富内容;需要明确的关闭触发器。","DropdownMenu 应对相关操作分组,并支持键盘导航。"]},"nav-layout":{section:"组件",title:"导航与布局",description:"Breadcrumb、Pagination、Accordion 和 Separator 处理位置、分页和结构节奏。",guidance:["Breadcrumb 反映路由深度——单层页面可省略。","Pagination 应显示总页数,让用户了解数据集大小。","Accordion 最适合渐进式披露,而非主导航。"]},"data-display":{section:"组件",title:"数据展示",description:"Avatar 和 Table 以清晰的层级呈现用户身份和结构化数据。",guidance:["Avatar 即使在显示图片时也应始终具有无障碍标签。","Table 支持可排序列——数据来自服务端时应将排序状态提升。","在密集表格中使用斑马纹,帮助视线跨列追踪。"]},"form-inputs":{section:"组件",title:"表单输入",description:"Select、Checkbox、RadioGroup、Textarea 和 Slider 将表单词汇扩展到文本输入之外。",guidance:["使用 RadioGroup 包裹单选按钮,共享 name 和语义。","Slider 适合数值范围;配合 showValue 可获得即时反馈。","Textarea 默认纵向可拖拽——仅在固定高度容器中禁用 resize。"]},mobile:{section:"响应式",title:"响应式布局",description:"一套同时覆盖手机、平板与桌面的响应式系统。通过布局与密度变化适配不同设备,而不是维护两套应用与两套页面树。",guidance:["保持所有断点上的路由树一致,只调整壳层结构和内容密度。","在窄屏上把常驻侧边导航转成抽屉,而不是复制一套页面实现。","让卡片、表单和表格从三列到单列平滑重排,不改变组件归属。"]},"home-page":{section:"模板",title:"主页",description:"带有 Hero 区块、核心功能亮点和主要行动召唤按钮的落地式主页。适用于产品官网、内部门户和营销页面。",guidance:["Hero 信息保持一句话——让行动召唤按钮来完成说服工作。","功能卡片各自聚焦一个问题,而非罗列所有能力。","主操作与次操作相配合,降低用户决策疲劳。"]},"login-page":{section:"模板",title:"登录页",description:"居中的极简登录表单。清晰的标签、可见的错误状态和单一主操作,降低登录摩擦。",guidance:["不要隐藏密码标签——仅靠 placeholder 无法满足无障碍要求。","字段失去焦点后立即显示内联校验错误。","提供密码可见切换,降低登录摩擦。"]},"register-page":{section:"模板",title:"注册页",description:"只收集创建账号所需最少字段的注册表单。通过仅询问必要信息来降低注册阻力。",guidance:["注册时只需姓名、邮箱和密码——个人资料可在之后完善。","内联显示密码强度,但不因细微问题阻止提交。","服务条款复选框必须明确,不得预先勾选。"]},"error-page":{section:"模板",title:"错误页",description:"404、500 及其他错误状态的优雅降级页面。给用户清晰的解释和直接返回的路径。",guidance:["说明错误码和通俗解释——避免技术术语。",'始终提供"返回首页"和"后退"两个操作。',"错误页的视觉风格应与产品保持一致,而非系统默认页。"]},"privacy-policy":{section:"模板",title:"隐私政策",description:"带有章节标题、可读段落和清晰分隔线的结构化法律文档页面。在不牺牲完整性的前提下保持无障碍和可扫读性。",guidance:["使用标题将长篇政策文本分成可扫读的章节。","从任何引用政策的同意流程中直接链接到相关章节。","在顶部注明政策版本和日期,让用户了解最近更新时间。"]},"terms-of-service":{section:"模板",title:"服务条款",description:"具备清晰标题、通俗义务说明且在手机到桌面端都保持可读性的服务条款页面。",guidance:["将许可范围、使用限制和免责声明拆成独立段落,降低法律歧义。","正文使用短段落与摘要侧栏,保证长文档依旧可扫读。","在注册和定价流程中直接链接条款页面,让同意动作具备上下文。"]},"command-palette":{section:"组件",title:"命令面板",description:"键盘驱动的搜索浮层,让用户无需离开键盘即可跳转到任意页面或触发任意操作。全局挂载、绑定快捷键,传入扁平的条目列表即可使用。",guidance:["保持条目列表扁平且按标签可搜索——避免隐藏分类嵌套。","从侧边栏导航数据同步填充条目,确保两个入口保持一致。","绑定 ⌘K(Mac)或 Ctrl+K(Windows)快捷键,满足高频用户的操作预期。"]},"code-block":{section:"组件",title:"代码块",description:"带语法高亮的只读代码展示组件,支持可选的文件名标签。用于渲染安装步骤、用法示例或任意格式化的代码字符串。",guidance:["通过 language 属性指定代码语言(tsx、bash、json 等),以获得正确高亮。","传入 filename 可为读者提供该代码片段在项目中所属位置的上下文。","保持示例代码精简——只展示说明当前概念所需的最少行数。"]},"language-switcher":{section:"组件",title:"语言切换器",description:"点击后即可更新整套 UI 文案的语言切换组件。放入任意顶栏或设置区域——i18n Provider 会自动广播变更,无需额外状态绑定。",guidance:["将切换器放置在持久性界面(顶栏或设置页)中,方便用户在任何位置找到它。","切换器自动反映当前语言,除 i18n Provider 外无需额外的状态绑定。","顶栏中使用 inline 变体,设置页中使用默认变体,以匹配对应场景的视觉密度。"]}}},Yt={en:Dr,zh:Fl},Dl=N.createContext({t:Dr,locale:"en",setLocale:()=>{}});function Il(){return N.useContext(Dl)}function Ll({variant:e="inline",className:t}){const{locale:n,setLocale:a}=Il(),s=Object.entries(Yt),o=Yt[n],[l,i]=N.useState(!1),u=N.useRef(null);N.useEffect(()=>{if(!l)return;const d=p=>{u.current&&!u.current.contains(p.target)&&i(!1)};return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[l]),N.useEffect(()=>{if(!l)return;const d=p=>{p.key==="Escape"&&i(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[l]);const c=e==="sidebar";return r.jsxs("div",{ref:u,className:E("vx-lang-drop",c&&"vx-lang-drop--sidebar",l&&"vx-lang-drop--open",t),children:[r.jsxs(Q,{variant:"outline",size:"sm",onClick:()=>i(d=>!d),"aria-haspopup":"listbox","aria-expanded":l,"aria-label":"Switch language",className:"vx-lang-drop__trigger-btn",style:{height:"36px"},children:[r.jsx(ea,{size:14,"aria-hidden":"true"}),(o==null?void 0:o.label)??n,r.jsx(st,{size:14,className:"vx-lang-drop__chevron","aria-hidden":"true"})]}),l&&r.jsx("ul",{className:"vx-lang-drop__menu",role:"listbox","aria-label":"Language",children:s.map(([d,p])=>r.jsx("li",{role:"option","aria-selected":n===d,children:r.jsxs("button",{type:"button",className:E("vx-lang-drop__item",n===d&&"vx-lang-drop__item--active"),onClick:()=>{a(d),i(!1)},children:[p.label,n===d&&r.jsx("span",{className:"vx-lang-drop__check","aria-hidden":"true",children:"✓"})]})},d))})]})}exports.Accordion=Ni;exports.ActionSheet=Ii;exports.ActionSheetItem=Li;exports.Alert=gi;exports.AlertDialog=qi;exports.AppShell=oa;exports.Avatar=Ti;exports.Badge=ia;exports.BottomNav=Di;exports.Breadcrumb=ki;exports.Button=Q;exports.Calendar=Rr;exports.Card=la;exports.CardContent=pa;exports.CardDescription=da;exports.CardHeader=ca;exports.CardTitle=ua;exports.Carousel=ml;exports.Checkbox=li;exports.CodeBlock=Rl;exports.ColorPicker=wl;exports.Combobox=nl;exports.CommandPalette=El;exports.ContextMenu=ll;exports.DatePicker=tl;exports.Dialog=Us;exports.DrawerNavItem=zi;exports.DrawerNavSection=Ui;exports.DropdownMenu=_i;exports.EmptyState=vl;exports.FileUpload=rl;exports.Form=Wi;exports.FormDescription=Vi;exports.FormField=Gi;exports.FormLabel=Ki;exports.FormMessage=Yi;exports.Heading=oi;exports.HoverCard=cl;exports.Input=Hs;exports.Label=Hi;exports.LanguageSwitcher=Ll;exports.Menubar=ul;exports.MobileDrawer=Bi;exports.MobileIconButton=Fi;exports.MobileList=Mi;exports.MobileListItem=$i;exports.MobileListSection=Oi;exports.MobileShell=Pi;exports.MobileTopBar=Ri;exports.NavigationMenu=dl;exports.NumberInput=Xi;exports.Pagination=Si;exports.Popover=yi;exports.Progress=mi;exports.Radio=ci;exports.RadioGroup=ui;exports.Rating=gl;exports.ResizableHandle=Nl;exports.ResizablePanel=Sl;exports.ResizablePanelGroup=kl;exports.Responsive=$r;exports.ScrollArea=sl;exports.Select=ii;exports.Separator=ji;exports.Sheet=al;exports.Shell=an;exports.ShellContent=fn;exports.ShellMain=dn;exports.ShellNav=on;exports.ShellNavItem=cn;exports.ShellNavSection=ln;exports.ShellOverlay=un;exports.ShellSidebar=sn;exports.ShellTopbar=pn;exports.Skeleton=xi;exports.Slider=pi;exports.Spinner=vi;exports.Stepper=pl;exports.Switch=Qs;exports.Table=Ai;exports.Tabs=bo;exports.TabsContent=wo;exports.TabsList=yo;exports.TabsTrigger=_o;exports.TagInput=bl;exports.Text=si;exports.Textarea=di;exports.ThemeProvider=Co;exports.Timeline=fl;exports.ToastProvider=ri;exports.Toggle=ol;exports.ToggleGroup=il;exports.Tooltip=bi;exports.TreeView=xl;exports.ViewportProvider=Or;exports.createTheme=H;exports.themePresets=ko;exports.useFormField=Pr;exports.useTheme=To;exports.useToast=ai;exports.useViewport=rt;
package/dist/index.js CHANGED
@@ -7723,7 +7723,7 @@ const Fr = {
7723
7723
  sidebarExpand: "Expand",
7724
7724
  sidebarCloseLabel: "Close sidebar",
7725
7725
  searchTrigger: "Search",
7726
- versionLabel: "v1.0.0",
7726
+ versionLabel: "v1.1.1",
7727
7727
  mobilePreview: "Mobile Preview",
7728
7728
  nav: {
7729
7729
  gettingStarted: "Getting Started",
@@ -8181,7 +8181,7 @@ const Fr = {
8181
8181
  sidebarExpand: "展开",
8182
8182
  sidebarCloseLabel: "关闭侧边栏",
8183
8183
  searchTrigger: "搜索",
8184
- versionLabel: "v1.0.0",
8184
+ versionLabel: "v1.1.1",
8185
8185
  mobilePreview: "移动端预览",
8186
8186
  nav: {
8187
8187
  gettingStarted: "开始使用",
@@ -1 +1 @@
1
- :root{color-scheme:light;--vx-primary: #2563eb;--vx-primary-strong: #1d4ed8;--vx-primary-soft: rgba(37, 99, 235, .1);--vx-secondary: #64748b;--vx-success: #10b981;--vx-warning: #f59e0b;--vx-danger: #ef4444;--vx-info: #3b82f6;--vx-bg: #f8fafc;--vx-bg-accent: #f1f5f9;--vx-surface: #ffffff;--vx-surface-strong: #ffffff;--vx-surface-hover: #f8fafc;--vx-border: #e2e8f0;--vx-border-strong: #cbd5e1;--vx-text: #0f172a;--vx-text-secondary: #64748b;--vx-text-muted: #94a3b8;--vx-code-bg: color-mix(in srgb, var(--vx-bg-accent) 78%, var(--vx-surface));--vx-code-text: #0f172a;--vx-code-border: color-mix(in srgb, var(--vx-border-strong) 72%, var(--vx-border));--vx-code-comment: #64748b;--vx-code-keyword: #2563eb;--vx-code-string: #047857;--vx-code-number: #b45309;--vx-code-function: #0f766e;--vx-code-property: #1d4ed8;--vx-code-class: #c2410c;--vx-code-tag: #be123c;--vx-code-attr-name: #0f766e;--vx-code-attr-value: #b45309;--vx-code-punctuation: #475569;--vx-code-operator: #0f172a;--vx-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--vx-shadow: 0 12px 30px rgba(15, 23, 42, .06);--vx-shadow-lg: 0 28px 60px rgba(15, 23, 42, .12);--vx-glass-bg: color-mix(in srgb, var(--vx-surface-strong) 82%, transparent);--vx-glass-bg-strong: color-mix(in srgb, var(--vx-surface-strong) 90%, transparent);--vx-glass-border: color-mix(in srgb, var(--vx-border-strong) 52%, var(--vx-border));--vx-glass-shadow: 0 18px 48px rgba(15, 23, 42, .12);--vx-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .22);--vx-glass-filter: blur(18px) saturate(1.7);--vx-glass-scrim: color-mix(in srgb, var(--vx-bg) 44%, transparent);--vxm-drawer-bg: var(--vx-glass-bg-strong);--vx-radius-sm: 8px;--vx-radius: 10px;--vx-radius-lg: 14px;--vx-radius-xl: 20px;--vx-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vx-mono: "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--vx-sidebar-width: 240px;--vx-sidebar-width-collapsed: 72px;--vx-header-height: 92px;--vx-content-width: 1100px}:root[data-theme=dark]{color-scheme:dark;--vx-primary: #3b82f6;--vx-primary-strong: #2563eb;--vx-primary-soft: rgba(59, 130, 246, .14);--vx-bg: #0f172a;--vx-bg-accent: #111827;--vx-surface: #111827;--vx-surface-strong: #0f172a;--vx-surface-hover: #172033;--vx-border: rgba(148, 163, 184, .18);--vx-border-strong: rgba(148, 163, 184, .32);--vx-text: #f8fafc;--vx-text-secondary: #94a3b8;--vx-text-muted: #94a3b8;--vx-code-bg: color-mix(in srgb, var(--vx-bg-accent) 72%, black 10%);--vx-code-text: #e2e8f0;--vx-code-border: var(--vx-border);--vx-code-comment: #94a3b8;--vx-code-keyword: #93c5fd;--vx-code-string: #86efac;--vx-code-number: #fdba74;--vx-code-function: #67e8f9;--vx-code-property: #bfdbfe;--vx-code-class: #fdba74;--vx-code-tag: #fda4af;--vx-code-attr-name: #5eead4;--vx-code-attr-value: #fde68a;--vx-code-punctuation: #cbd5e1;--vx-code-operator: #e2e8f0;--vx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--vx-shadow: 0 18px 44px rgba(0, 0, 0, .24);--vx-shadow-lg: 0 28px 70px rgba(0, 0, 0, .34);--vx-glass-bg: color-mix(in srgb, var(--vx-surface-strong) 86%, transparent);--vx-glass-bg-strong: color-mix(in srgb, var(--vx-surface-strong) 94%, transparent);--vx-glass-border: color-mix(in srgb, var(--vx-border-strong) 72%, var(--vx-border));--vx-glass-shadow: 0 22px 54px rgba(0, 0, 0, .42);--vx-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .08);--vx-glass-filter: blur(20px) saturate(1.55);--vx-glass-scrim: color-mix(in srgb, #020408 58%, transparent)}:root[data-theme-name=indigo]{color-scheme:light;--vx-code-bg: color-mix(in srgb, #dde3f0 72%, #ffffff);--vx-code-text: #1a2336;--vx-code-border: #bfc8e8;--vx-code-comment: #6b7a99;--vx-code-keyword: #5c5fe8;--vx-code-string: #059669;--vx-code-number: #b45309;--vx-code-function: #0f766e;--vx-code-property: #4f52d4;--vx-code-class: #c2410c;--vx-code-tag: #be123c;--vx-code-attr-name: #0f766e;--vx-code-attr-value: #b45309;--vx-code-punctuation: #4a5572;--vx-code-operator: #1a2336;--vx-glass-filter: blur(16px) saturate(1.8);--vx-glass-scrim: color-mix(in srgb, #e8ecf6 48%, transparent)}[data-theme-name=indigo] .vx-input{background:color-mix(in srgb,#eef0ff 80%,#ffffff);border-color:#d4daf0}[data-theme-name=indigo] .vx-input:focus-within{background:#fff;border-color:#5c5fe8;box-shadow:0 0 0 3px #5c5fe81f}[data-theme-name=indigo] .vx-card{background:#fff;border-color:#d4daf0;box-shadow:0 4px 24px #1c285014}[data-theme-name=indigo] .vx-input,[data-theme-name=indigo] .vx-badge{border-radius:12px}:root[data-theme-name=violet]{color-scheme:light;--vx-code-bg: color-mix(in srgb, #ede9fe 72%, #ffffff);--vx-code-text: #1e1b2e;--vx-code-border: #c9bffd;--vx-code-comment: #8b7fc8;--vx-code-keyword: #7c3aed;--vx-code-string: #059669;--vx-code-number: #b45309;--vx-code-function: #0f766e;--vx-code-property: #6d28d9;--vx-code-class: #c2410c;--vx-code-tag: #be123c;--vx-code-attr-name: #0f766e;--vx-code-attr-value: #b45309;--vx-code-punctuation: #6e6a8a;--vx-code-operator: #1e1b2e;--vx-glass-filter: blur(18px) saturate(1.9);--vx-glass-scrim: color-mix(in srgb, #f8f7ff 46%, transparent)}[data-theme-name=violet] .vx-input,[data-theme-name=violet] .vx-badge,[data-theme-name=violet] .vx-cmd-trigger,[data-theme-name=violet] .vx-lang-drop__trigger,[data-theme-name=violet-dark] .vx-input,[data-theme-name=violet-dark] .vx-badge,[data-theme-name=violet-dark] .vx-cmd-trigger,[data-theme-name=violet-dark] .vx-lang-drop__trigger,[data-theme-name=vxai] .vx-input,[data-theme-name=vxai] .vx-badge,[data-theme-name=vxai] .vx-cmd-trigger,[data-theme-name=vxai] .vx-lang-drop__trigger,[data-theme-name=vxai-dark] .vx-input,[data-theme-name=vxai-dark] .vx-badge{border-radius:12px}[data-theme-name=vxai] .vx-button--outline,[data-theme-name=vxai-dark] .vx-button--outline{background:var(--vx-surface);box-shadow:var(--vx-shadow-sm);border-color:var(--vx-border)}[data-theme-name=vxai] .vx-button--outline:hover,[data-theme-name=vxai-dark] .vx-button--outline:hover{background:var(--vx-surface-hover);border-color:var(--vx-border-strong)}:root[data-theme-name=violet-dark]{color-scheme:dark;--vx-code-bg: color-mix(in srgb, #13102a 72%, #0d0b1a 10%);--vx-code-text: #f0eeff;--vx-code-border: rgba(167, 139, 250, .2);--vx-code-comment: #8b7fc8;--vx-code-keyword: #c4b5fd;--vx-code-string: #6ee7b7;--vx-code-number: #fde68a;--vx-code-function: #67e8f9;--vx-code-property: #ddd6fe;--vx-code-class: #fdba74;--vx-code-tag: #fda4af;--vx-code-attr-name: #5eead4;--vx-code-attr-value: #fde68a;--vx-code-punctuation: #c4b5fd;--vx-code-operator: #f0eeff;--vx-glass-filter: blur(20px) saturate(1.65)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--vx-font);background:var(--vx-bg);color:var(--vx-text);line-height:1.5;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}.vx-shell{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;display:flex;background:var(--vx-bg);overflow:hidden}.vx-shell[data-collapsed=true]{--vx-sidebar-width: var(--vx-sidebar-width-collapsed)}.vx-sidebar{position:sticky;top:0;width:var(--vx-sidebar-width);min-width:var(--vx-sidebar-width);height:100%;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease,transform .18s ease;z-index:20}.vx-sidebar__scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.vx-shell__overlay{display:none}.vx-sidebar__header{flex:0 0 var(--vx-header-height);height:var(--vx-header-height);padding:0 20px;display:flex;align-items:stretch;justify-content:space-between;gap:12px;background:var(--vx-glass-bg-strong);box-shadow:inset 0 -1px 0 var(--vx-border)}.vx-sidebar__brand{width:100%;display:inline-flex;align-items:center;gap:14px;min-width:0}.vx-sidebar__brand-icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft);box-shadow:inset 0 1px #ffffff2e,0 10px 24px #0f172a14}.vx-sidebar__brand-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.vx-sidebar__brand-text{font-size:1.3rem;font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--vx-text)}.vx-sidebar__brand-caption{color:var(--vx-text-secondary);font-size:.82rem;line-height:1.45}.vx-sidebar__toggle{width:100%;justify-content:flex-start;gap:10px;padding:0 10px;color:var(--vx-text-muted)}.vx-sidebar__toggle:hover{color:var(--vx-text)}.vx-sidebar__toggle-label{font-size:13px;font-weight:500}.vx-sidebar__nav{padding:16px 10px 24px;display:flex;flex-direction:column;gap:18px}.vx-nav-section-block{padding-bottom:18px;border-bottom:1px solid var(--vx-border)}.vx-nav-section-block:last-child{padding-bottom:0;border-bottom:0}.vx-nav-section-block__title{padding:0 10px 10px;color:var(--vx-text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vx-nav-section-block__items{display:flex;flex-direction:column;gap:4px}.vx-nav-item{width:100%;min-height:40px;padding:0 10px;border-radius:var(--vx-radius);border:1px solid transparent;background:transparent;color:var(--vx-text-secondary);display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease}.vx-nav-item:hover{background:var(--vx-surface-hover)}.vx-nav-item--active{color:var(--vx-primary);background:var(--vx-primary-soft);border-color:#2563eb24}.vx-nav-item__icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.vx-nav-item__label{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500;line-height:1.35;letter-spacing:-.01em}.vx-nav-item__badge,.vx-nav-item__trailing{margin-left:auto;color:var(--vx-text-muted);display:inline-flex;align-items:center}.vx-sidebar__footer{margin-top:auto;padding:8px 10px;border-top:1px solid var(--vx-border);display:flex;flex-direction:column;gap:4px}.vx-sidebar__footer-content{padding-bottom:4px;border-bottom:1px solid var(--vx-border);margin-bottom:4px}.vx-shell[data-collapsed=true] .vx-nav-section-block__title,.vx-shell[data-collapsed=true] .vx-nav-item__label,.vx-shell[data-collapsed=true] .vx-nav-item__badge,.vx-shell[data-collapsed=true] .vx-nav-item__trailing,.vx-shell[data-collapsed=true] .vx-sidebar__brand-caption,.vx-shell[data-collapsed=true] .vx-sidebar__brand-copy,.vx-shell[data-collapsed=true] .vx-sidebar__toggle-label{display:none}.vx-shell[data-collapsed=true] .vx-sidebar__brand,.vx-shell[data-collapsed=true] .vx-nav-item{justify-content:center}.vx-shell[data-collapsed=true] .vx-sidebar__header{padding-inline:10px;justify-content:center}.vx-shell[data-collapsed=true] .vx-sidebar__toggle{justify-content:center;width:100%;padding:0}.vx-shell__main{min-width:0;flex:1 1 auto;height:100%;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--vx-border)}.vx-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:16px;flex:0 0 var(--vx-header-height);min-height:var(--vx-header-height);height:var(--vx-header-height);padding:0 26px;background:var(--vx-surface);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 -1px 0 var(--vx-border);overflow:visible}.vx-topbar__title-group{display:flex;align-items:center;flex:1 1 auto;min-width:0;min-height:0;padding:12px 0}.vx-topbar__title-group>*{width:100%}.vx-topbar__breadcrumb{display:flex;align-items:center;gap:8px;color:var(--vx-text-secondary);font-size:14px;font-weight:600;line-height:1.2;letter-spacing:-.01em}.vx-topbar__breadcrumb strong{color:var(--vx-text)}.vx-topbar__separator{color:var(--vx-text-muted)}.vx-topbar__title{margin:0;font-size:1.45rem;line-height:1.08;letter-spacing:-.025em}.vx-topbar__description{margin:6px 0 0;color:var(--vx-text-secondary);font-size:14px;line-height:1.5;max-width:56ch}.vx-topbar__actions{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;flex:0 0 auto;align-self:stretch;min-width:0;padding:12px 0 12px 18px;overflow:visible}.vx-shell__content-wrap{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.vx-shell__content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:28px 24px 48px}.vx-scroll-hide-native{min-height:0;scrollbar-width:none;-ms-overflow-style:none}.vx-scroll-hide-native::-webkit-scrollbar{width:0;height:0}.vx-overlay-scrollbar{position:absolute;top:8px;right:4px;bottom:8px;width:10px;pointer-events:none;opacity:0;transition:opacity .18s ease}.vx-overlay-scrollbar__thumb{position:absolute;right:2px;width:6px;min-height:36px;height:var(--vx-scrollbar-thumb-height, 0px);transform:translateY(var(--vx-scrollbar-thumb-offset, 0px));border-radius:999px;background:color-mix(in srgb,var(--vx-text-secondary) 34%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vx-text-secondary) 18%,transparent)}.vx-scroll-host[data-scrollable=true][data-scrollbar-state=active] .vx-overlay-scrollbar{opacity:1}:root[data-theme=dark] .vx-overlay-scrollbar__thumb{background:color-mix(in srgb,var(--vx-text-muted) 48%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vx-text-muted) 22%,transparent)}.vx-page{display:flex;flex-direction:column;gap:0;width:100%;max-width:var(--vx-content-width)}.vx-docs-hero h1,.vx-docs-article h1{margin:0;font-size:clamp(48px,7vw,64px);line-height:1.02;letter-spacing:-.035em}.vx-docs-hero{padding:8px 0 0}.vx-docs-hero p,.vx-docs-lead{margin:18px 0 0;max-width:72ch;color:var(--vx-text-secondary);font-size:16px;line-height:1.58}.vx-docs-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.vx-docs-section{margin-top:40px;padding-top:40px;border-top:1px solid var(--vx-border)}.vx-docs-section h2{margin:0 0 16px;font-size:20px;line-height:1.15;letter-spacing:-.02em}.vx-docs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.vx-doc-stat{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.vx-doc-stat__copy{display:flex;flex-direction:column;gap:8px}.vx-doc-stat__label{color:var(--vx-text-secondary);font-size:14px;font-weight:600}.vx-doc-stat__value{font-size:22px;font-weight:800;letter-spacing:-.04em}.vx-doc-stat__hint{color:var(--vx-text-secondary);font-size:13px;line-height:1.5}.vx-doc-stat__icon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-docs-token-grid,.vx-docs-component-grid,.vx-docs-article-grid{display:grid;gap:16px}.vx-docs-lead+.vx-docs-token-grid,.vx-docs-lead+.vx-docs-component-grid,.vx-docs-lead+.vx-docs-article-grid{margin-top:24px}.vx-docs-token-grid,.vx-docs-component-grid,.vx-docs-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-doc-token-card{gap:16px}.vx-doc-token-card__swatch{width:100%;height:72px;border-radius:12px;border:1px solid rgba(255,255,255,.32);box-shadow:inset 0 0 0 1px #0f172a0d}.vx-doc-token-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vx-doc-token-card__name{font-size:15px;font-weight:700}.vx-doc-token-card__var{color:var(--vx-text-muted);font-size:13px;font-family:var(--vx-mono)}.vx-doc-token-card__description{color:var(--vx-text-secondary);font-size:14px;line-height:1.6}.vx-doc-family-card .vx-card__content{justify-content:flex-end}.vx-docs-kicker{color:var(--vx-primary);font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;margin-bottom:12px}.vx-docs-article{padding-top:8px}.vx-docs-guidance{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--vx-text-secondary);line-height:1.6}.vx-docs-code{margin:0;padding:16px;border-radius:12px;background:var(--vx-bg-accent);border:1px solid var(--vx-border);color:var(--vx-text);font-size:13px;line-height:1.65;font-family:var(--vx-mono);white-space:pre-wrap}.vx-preview-shell{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:12px;border-radius:12px;border:1px solid var(--vx-border);background:var(--vx-bg-accent)}.vx-preview-shell__sidebar,.vx-preview-shell__content{display:flex;flex-direction:column;gap:10px}.vx-preview-shell__sidebar,.vx-preview-shell__content{padding:12px;border-radius:10px;background:var(--vx-surface);border:1px solid var(--vx-border)}.vx-preview-shell__line,.vx-preview-grid__item{border-radius:10px;background:color-mix(in srgb,var(--vx-primary) 10%,var(--vx-surface));border:1px solid var(--vx-border)}.vx-preview-shell__line{height:14px}.vx-preview-shell__line--strong{height:18px;width:68%}.vx-preview-shell__line--header{height:20px;width:42%}.vx-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vx-preview-grid--page{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-preview-grid__item{min-height:72px}.vx-preview-grid__item--wide{grid-column:1 / -1;min-height:110px}.vx-preview-list{border:1px solid var(--vx-border);border-radius:12px;overflow:hidden}.vx-preview-list__row{display:grid;grid-template-columns:minmax(0,1.5fr) 120px 120px;gap:12px;padding:12px 14px;font-size:14px;border-top:1px solid var(--vx-border)}.vx-preview-list__row:first-child{border-top:0}.vx-preview-list__row--header{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vx-text-muted);background:var(--vx-bg-accent)}.vx-empty-state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 24px;border-radius:12px;border:1px dashed var(--vx-border-strong);background:var(--vx-bg-accent);text-align:center}.vx-empty-state__icon{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-empty-state__title{font-size:18px;font-weight:700}.vx-empty-state__copy{max-width:360px;margin:0;color:var(--vx-text-secondary);line-height:1.65}.vx-inline{display:flex;align-items:center;gap:10px}.vx-inline--wrap{flex-wrap:wrap}.vx-version-pill{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 12px;border-radius:var(--vx-radius);border:1px solid var(--vx-glass-border);background:color-mix(in srgb,var(--vx-primary-soft) 26%,var(--vx-glass-bg-strong));backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);box-shadow:var(--vx-glass-highlight);color:var(--vx-primary);font-size:13px;font-weight:700}.vx-version-pill--token{color:var(--vx-text-secondary);background:color-mix(in srgb,var(--vx-bg-accent) 20%,var(--vx-glass-bg))}.vx-button{min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:var(--vx-radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.vx-button:focus-visible,.vx-input:focus-within,.vx-switch__control:focus-visible,.vx-nav-item:focus-visible,.vx-dialog__close:focus-visible,.vx-tabs__trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vx-button svg{flex:0 0 auto}.vx-button--sm{min-height:36px;padding:0 12px;font-size:13px}.vx-button--md{min-height:42px;padding:0 16px;font-size:14px}.vx-button--lg{min-height:48px;padding:0 18px;font-size:15px}.vx-button--full-width{width:100%}.vx-button--square{border-radius:0}.vx-button--pill{border-radius:9999px}.vx-button--gradient{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent;box-shadow:0 6px 18px #4f46e566}.vx-button--gradient:hover{box-shadow:0 8px 22px #4f46e580;transform:translateY(-1px)}.vx-button--gradient:active{transform:scale(.96);box-shadow:0 4px 12px #4f46e54d}.vx-button--solid{color:#fff;background:var(--vx-primary);border-color:var(--vx-primary)}.vx-button--solid:hover{background:var(--vx-primary-strong);border-color:var(--vx-primary-strong)}.vx-button--secondary{color:var(--vx-text);border-color:var(--vx-border);background:var(--vx-surface)}.vx-button--secondary:hover{background:var(--vx-surface-hover);border-color:var(--vx-border-strong)}.vx-button--ghost{color:var(--vx-text-secondary);background:transparent;border-color:transparent}.vx-button--ghost:hover{color:var(--vx-text);background:var(--vx-bg-accent)}.vx-button--outline{color:var(--vx-text);background:transparent;border-color:var(--vx-border-strong)}.vx-button--outline:hover{background:var(--vx-bg-accent)}.vx-button--soft{color:var(--vx-primary-strong);background:var(--vx-primary-soft);border-color:transparent}.vx-button--soft:hover{background:color-mix(in srgb,var(--vx-primary-soft) 80%,black)}.vx-button--primary-outline{color:var(--vx-primary);background:transparent;border-color:var(--vx-primary)}.vx-button--primary-outline:hover{background:var(--vx-primary-soft)}.vx-button--danger{color:#fff;background:var(--vx-danger);border-color:var(--vx-danger)}.vx-button--danger:hover{background:color-mix(in srgb,var(--vx-danger) 80%,black);border-color:color-mix(in srgb,var(--vx-danger) 80%,black)}.vx-button--danger-outline{color:var(--vx-danger);background:transparent;border-color:color-mix(in srgb,var(--vx-danger) 50%,transparent)}.vx-button--danger-outline:hover{background:color-mix(in srgb,var(--vx-danger) 10%,transparent);border-color:var(--vx-danger)}.vx-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--vx-border);font-family:var(--vx-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.vx-badge--neutral{background:var(--vx-bg-accent)}.vx-badge--accent{color:var(--vx-primary);background:var(--vx-primary-soft);border-color:#2563eb2e}.vx-badge--success{background:color-mix(in srgb,var(--vx-success) 16%,var(--vx-surface));color:var(--vx-success)}.vx-badge--warning{background:color-mix(in srgb,var(--vx-warning) 16%,var(--vx-surface));color:var(--vx-warning)}.vx-card{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--vx-radius-lg);background:var(--vx-surface);border:1px solid var(--vx-border);box-shadow:var(--vx-shadow-sm)}.vx-card__header{display:flex;flex-direction:column;gap:6px}.vx-card__title{margin:0;font-size:16px;line-height:1.18;letter-spacing:-.02em}.vx-card__description{margin:0;color:var(--vx-text-secondary);line-height:1.55;font-size:14px}.vx-card__content{display:flex;flex-direction:column;gap:14px}.vx-field-group{display:flex;flex-direction:column;gap:8px}.vx-field-group__label{font-size:13px;font-weight:600}.vx-field-group__hint{color:var(--vx-text-secondary);font-size:12px}.vx-field-group__error{color:var(--vx-danger);font-size:12px}.vx-input{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface)}.vx-input__field{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--vx-text)}.vx-input__field::placeholder{color:color-mix(in srgb,var(--vx-text-muted) 72%,transparent)}.vx-input__field:focus{outline:none}.vx-input--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--vx-danger) 18%,transparent)}.vx-input__ornament{color:var(--vx-text-muted);white-space:nowrap;flex-shrink:0}.vx-tabs__list{display:inline-flex;gap:4px;width:fit-content;padding:4px;border-radius:10px;background:var(--vx-bg-accent);border:1px solid var(--vx-border)}.vx-tabs__trigger{min-height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--vx-text-secondary);cursor:pointer;font-weight:600}.vx-tabs__trigger[data-state=active]{color:var(--vx-text);background:var(--vx-surface);box-shadow:var(--vx-shadow-sm)}.vx-tabs__content{margin-top:16px}.vx-switch{display:flex;justify-content:space-between;align-items:center;gap:14px}.vx-switch__copy{display:flex;flex-direction:column;gap:4px}.vx-switch__label{font-weight:600}.vx-switch__description{color:var(--vx-text-secondary);line-height:1.6;font-size:13px}.vx-switch__control{position:relative;width:44px;height:26px;padding:3px;border:0;border-radius:999px;flex:0 0 auto;display:inline-flex;align-items:center;box-sizing:border-box;background:var(--vx-border-strong);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .16s ease}.vx-switch__control[data-state=checked]{background:var(--vx-primary)}.vx-switch__thumb{display:block;width:20px;height:20px;flex:0 0 auto;background:#fff;border-radius:999px;box-shadow:0 1px 2px #0f172a29;transform:translate(0);transition:transform .16s ease}.vx-switch__control[data-state=checked] .vx-switch__thumb{transform:translate(18px)}.vx-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--vx-glass-scrim);backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08)}.vx-dialog__content{position:fixed;top:50%;left:50%;width:min(560px,calc(100vw - 32px));transform:translate(-50%,-50%);padding:20px;border-radius:16px;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow)}.vx-dialog__header,.vx-dialog__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.vx-dialog__title{margin:0;font-size:18px}.vx-dialog__description{margin:8px 0 0;color:var(--vx-text-secondary);line-height:1.6;font-size:14px}.vx-dialog__body{margin:18px 0 22px}.vx-dialog__footer{justify-content:flex-end}.vx-dialog__close{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--vx-text-secondary);cursor:pointer}.vx-toast__viewport{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:12px;width:min(380px,calc(100vw - 24px));margin:0;padding:0;list-style:none;z-index:20}.vx-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:14px;border:1px solid var(--vx-glass-border);background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow)}.vx-toast--info{border-color:color-mix(in srgb,var(--vx-secondary) 36%,var(--vx-border))}.vx-toast--success{border-color:color-mix(in srgb,var(--vx-success) 42%,var(--vx-border))}.vx-toast--warning{border-color:color-mix(in srgb,var(--vx-warning) 42%,var(--vx-border))}.vx-toast--danger{border-color:color-mix(in srgb,var(--vx-danger) 42%,var(--vx-border))}.vx-toast__content{display:flex;flex-direction:column;gap:6px}.vx-toast__title{font-weight:800}.vx-toast__description{color:var(--vx-text-secondary);line-height:1.6}.vx-toast__close{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--vx-text-secondary);cursor:pointer}.vx-stack{display:flex;flex-direction:column;gap:16px}.vx-stack--tight{gap:12px}.vx-muted{margin:0;color:var(--vx-text-secondary);line-height:1.7}@media(max-width:1160px){.vx-docs-stats,.vx-docs-token-grid,.vx-docs-component-grid,.vx-docs-article-grid{grid-template-columns:1fr}}@media(max-width:640px){.vx-docs-hero h1,.vx-docs-article h1{font-size:42px}.vx-card,.vx-dialog__content{padding:18px}.vx-topbar{align-items:flex-start;flex-direction:column;padding:12px 18px;height:auto;overflow:visible}.vx-topbar__title-group{width:100%;padding:0}.vx-topbar__actions,.vx-docs-actions,.vx-dialog__footer{width:100%}.vx-topbar__actions{border-top:1px solid var(--vx-border);padding-top:12px;overflow:visible}.vx-topbar__actions .vx-button,.vx-docs-actions .vx-button,.vx-dialog__footer .vx-button{width:100%}.vx-preview-list__row{grid-template-columns:1fr}.vx-switch{align-items:flex-start;flex-direction:column}}[data-theme-name=ivory-gold] .vx-button{font-weight:600;letter-spacing:.01em;transition:filter .16s ease,border-color .16s ease,background .16s ease}[data-theme-name=ivory-gold] .vx-button:hover{border-color:transparent;filter:brightness(.94)}[data-theme-name=ivory-gold] .vx-button:focus-visible{outline:2px solid rgba(160,116,42,.6);outline-offset:2px}[data-theme-name=ivory-gold] .vx-button--solid{background:linear-gradient(135deg,#d4a44c,#a0742a 52%,#7d5a1e);color:#fff8ee;border:none}[data-theme-name=ivory-gold] .vx-button--solid:hover{filter:brightness(1.06)}[data-theme-name=ivory-gold] .vx-button--secondary{background:#a0742a12;color:#5a4320;border-color:#a0742a47}[data-theme-name=ivory-gold] .vx-button--secondary:hover{background:#a0742a21;border-color:#a0742a7a;color:#3a2a0e}[data-theme-name=ivory-gold] .vx-button--ghost{background:transparent;color:#9a7c4a;border-color:#a0742a38}[data-theme-name=ivory-gold] .vx-button--ghost:hover{background:#a0742a12;border-color:#a0742a66;color:#5a4320}[data-theme-name=ivory-gold] .vx-button--danger{background:linear-gradient(135deg,#fecaca,#ef4444 50%,#b91c1c);color:#fff;border:none}[data-theme-name=ivory-gold] .vx-sidebar{background:var(--vx-glass-bg-strong)}[data-theme-name=ivory-gold],[data-theme-name=ivory-gold] *{--vxm-drawer-bg: var(--vx-glass-bg-strong)}[data-theme-name=ivory-gold] .vx-sidebar__brand-icon{background:#a0742a1f;color:#a0742a}[data-theme-name=ivory-gold] .vx-nav-item--active{background:#a0742a1f;color:#7d5a1e}[data-theme-name=ivory-gold] .vx-nav-item:hover:not(.vx-nav-item--active){background:#a0742a0f;color:#1c1409}[data-theme-name=ivory-gold] .vx-nav-item:focus-visible{outline:2px solid rgba(160,116,42,.6)}[data-theme-name=ivory-gold] .vx-topbar,[data-theme-name=ivory-gold] .vx-sidebar__header{background:var(--vx-glass-bg-strong);box-shadow:inset 0 -1px #a0742a29}[data-theme-name=ivory-gold] .vx-sidebar__brand-icon{background:linear-gradient(135deg,#e8c25a,#bc881d);color:#fffaf1;box-shadow:inset 0 1px #ffffff42,0 12px 28px #825f2029}[data-theme-name=ivory-gold] .vx-card{border-color:#a0742a2e;background:#fff;box-shadow:0 4px 20px #5a432014}[data-theme-name=ivory-gold] .vx-input{background:#fff;border-color:#a0742a38}[data-theme-name=ivory-gold] .vx-input__field{color:#1c1409}[data-theme-name=ivory-gold] .vx-input:focus-within{border-color:#a0742a;box-shadow:0 0 0 3px #a0742a24}[data-theme-name=ivory-gold] .vx-switch__control[aria-checked=true]{background:#a0742a}[data-theme-name=ivory-gold] .vx-tabs__trigger[aria-selected=true]{color:#a0742a;border-bottom-color:#a0742a}[data-theme-name=ivory-gold] .vx-badge--accent{background:#a0742a1a;border-color:#a0742a4d;color:#7d5a1e}.vxm-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background:var(--vx-bg);overscroll-behavior:none;overflow:hidden}.vxm-shell__topbar{position:sticky;top:0;z-index:20;flex:0 0 auto}.vxm-shell__main{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.vxm-shell__bottomnav{position:sticky;bottom:0;flex:0 0 auto;z-index:20}.vxm-topbar{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;height:52px;padding:0 4px;padding-top:env(safe-area-inset-top,0px);background:var(--vx-surface);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);box-shadow:inset 0 -1px 0 var(--vx-border)}.vxm-topbar__leading{display:flex;align-items:center;justify-content:center;padding-left:4px}.vxm-topbar__trailing{display:flex;align-items:center;justify-content:flex-end;padding-right:4px}.vxm-topbar__title{text-align:center;font-size:17px;font-weight:600;color:var(--vx-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vxm-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--vx-radius-sm);background:transparent;border:none;cursor:pointer;color:var(--vx-primary);font-size:14px;font-weight:500;-webkit-tap-highlight-color:transparent;transition:background .1s ease}.vxm-icon-btn:active{background:var(--vx-primary-soft)}.vxm-icon-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vxm-bottomnav{display:flex;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);box-shadow:inset 0 1px 0 var(--vx-border);padding-bottom:env(safe-area-inset-bottom,0px)}.vxm-bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:8px 4px;background:none;border:none;cursor:pointer;color:var(--vx-text-muted);-webkit-tap-highlight-color:transparent;transition:color .12s ease}.vxm-bottomnav__item:focus{outline:none}.vxm-bottomnav__item:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:-2px;border-radius:14px}.vxm-bottomnav__item--active{color:var(--vx-primary)}.vxm-bottomnav__item--active .vxm-bottomnav__label{font-weight:600}.vxm-bottomnav__icon{position:relative;display:flex;align-items:center;justify-content:center}.vxm-bottomnav__badge{position:absolute;top:-4px;right:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--vx-danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.vxm-bottomnav__label{font-size:10px;font-weight:500;line-height:1}.vxm-actionsheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--vx-glass-scrim);backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);display:flex;align-items:flex-end;animation:vxm-overlay-in .18s ease forwards}.vxm-actionsheet{width:100%;max-height:85dvh;background:var(--vxm-drawer-bg, var(--vx-glass-bg-strong));backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);border-radius:var(--vx-radius-xl) var(--vx-radius-xl) 0 0;padding-bottom:max(env(safe-area-inset-bottom,0px),16px);display:flex;flex-direction:column;animation:vxm-sheet-in .3s cubic-bezier(.32,.72,0,1) forwards;will-change:transform;touch-action:pan-x;user-select:none;-webkit-user-select:none}.vxm-actionsheet__handle{width:36px;height:4px;border-radius:2px;background:var(--vx-border-strong);margin:12px auto 8px;flex:0 0 auto;cursor:grab}.vxm-actionsheet__header{padding:4px 20px 12px;flex:0 0 auto;border-bottom:1px solid var(--vx-border)}.vxm-actionsheet__title{margin:0;font-size:16px;font-weight:700;color:var(--vx-text)}.vxm-actionsheet__description{margin:4px 0 0;font-size:13px;color:var(--vx-text-secondary);line-height:1.5}.vxm-actionsheet__body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0;flex:1 1 auto}.vxm-actionsheet-item{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:12px 20px;background:none;border:none;cursor:pointer;text-align:left;font-size:16px;color:var(--vx-text);font-family:var(--vx-font);-webkit-tap-highlight-color:transparent;transition:background .1s ease}.vxm-actionsheet-item:active{background:var(--vx-surface-hover)}.vxm-actionsheet-item--destructive{color:var(--vx-danger)}.vxm-actionsheet-item__icon{color:var(--vx-primary);display:flex;flex:0 0 auto}.vxm-actionsheet-item--destructive .vxm-actionsheet-item__icon{color:var(--vx-danger)}@keyframes vxm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes vxm-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.vxm-list{list-style:none;margin:0;padding:0;background:var(--vx-surface);border-radius:var(--vx-radius-lg);overflow:hidden;border:1px solid var(--vx-border)}.vxm-list-section{margin-bottom:28px}.vxm-list-section__title{padding:0 16px 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vx-text-muted)}.vxm-list-item{position:relative;list-style:none}.vxm-list-item+.vxm-list-item:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--vx-border)}.vxm-list-item__btn{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;color:inherit;font-family:var(--vx-font);-webkit-tap-highlight-color:transparent;transition:background .1s ease}.vxm-list-item__btn:active{background:var(--vx-surface-hover)}.vxm-list-item__btn:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:-2px}.vxm-list-item--static .vxm-list-item__btn{cursor:default;pointer-events:none}.vxm-list-item--disabled .vxm-list-item__btn{opacity:.4;pointer-events:none}.vxm-list-item__leading{flex:0 0 auto;color:var(--vx-text-muted);display:flex;align-items:center}.vxm-list-item__content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.vxm-list-item__label{font-size:16px;color:var(--vx-text);line-height:1.35}.vxm-list-item--destructive .vxm-list-item__label{color:var(--vx-danger)}.vxm-list-item__description{font-size:13px;color:var(--vx-text-secondary);line-height:1.35}.vxm-list-item__trailing{flex:0 0 auto;color:var(--vx-text-muted);font-size:14px;display:flex;align-items:center}.vxm-list-item__chevron{flex:0 0 auto;color:var(--vx-border-strong)}.vxm-phone-frame{width:260px;height:480px;border-radius:32px;border:6px solid var(--vx-border-strong);background:var(--vx-bg);overflow:hidden;box-shadow:var(--vx-shadow-lg);display:flex;flex-direction:column;position:relative}.vxm-phone-frame .vxm-shell{min-height:0;height:100%}.vxm-phone-frame .vxm-topbar{height:44px;grid-template-columns:40px 1fr 40px;font-size:14px}.vxm-phone-frame .vxm-topbar__title{font-size:14px}.vxm-phone-frame .vxm-bottomnav__item{min-height:48px}.vxm-phone-frame .vxm-list-item__btn{min-height:46px;padding:10px 14px}.vxm-phone-frame .vxm-list-item__label{font-size:14px}.vxm-phone-frame .vxm-list-item__description{font-size:12px}.vxm-phone-frame .vxm-shell__main{overflow-y:auto;padding:12px}.vxm-drawer__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:flex}.vxm-drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--vx-glass-scrim) calc(var(--vxm-overlay-opacity, .52) * 100%),transparent);backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);transition:background .2s ease}.vxm-drawer{position:relative;z-index:1;height:100%;max-width:85vw;background:var(--vxm-drawer-bg, var(--vx-glass-bg-strong));backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);display:flex;flex-direction:column;box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vxm-drawer-in .28s cubic-bezier(.32,.72,0,1) forwards;will-change:transform;touch-action:pan-y;overflow:hidden}@keyframes vxm-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.vxm-drawer__header{flex:0 0 auto;padding:20px 16px 12px;padding-top:max(env(safe-area-inset-top,0px),20px);border-bottom:1px solid var(--vx-border)}.vxm-drawer__body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0}.vxm-drawer__footer{flex:0 0 auto;padding:12px 0;padding-bottom:max(env(safe-area-inset-bottom,0px),12px);border-top:1px solid var(--vx-border)}.vxm-drawer-section{padding:8px 0}.vxm-drawer-section+.vxm-drawer-section{border-top:1px solid var(--vx-border)}.vxm-drawer-section__title{padding:4px 16px 6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--vx-text-muted)}.vxm-drawer-section__items{display:flex;flex-direction:column;gap:2px;padding:0 8px}.vxm-drawer-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 12px;border:none;border-radius:var(--vx-radius-sm);background:none;cursor:pointer;text-align:left;font-size:15px;font-weight:500;color:var(--vx-text-secondary);font-family:var(--vx-font);-webkit-tap-highlight-color:transparent;transition:background .1s ease,color .1s ease}.vxm-drawer-item:active{background:var(--vx-surface-hover)}.vxm-drawer-item--active{color:var(--vx-primary);background:var(--vx-primary-soft);font-weight:600}.vxm-drawer-item__icon{display:flex;align-items:center;flex:0 0 auto}.vxm-drawer-item__label{flex:1 1 auto}.vxm-drawer-item__badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--vx-primary);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center}.vxm-fullscreen-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;background:var(--vx-bg);animation:vxm-preview-in .22s cubic-bezier(.32,.72,0,1) forwards}@keyframes vxm-preview-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.vxm-fullscreen-preview__bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 16px;background:var(--vx-surface-strong);border-bottom:1px solid var(--vx-border);z-index:10}.vxm-fullscreen-preview__label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--vx-text-secondary)}.vxm-fullscreen-preview__exit{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:30px;border-radius:var(--vx-radius-sm);border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text-secondary);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--vx-font);transition:background .12s ease,border-color .12s ease}.vxm-fullscreen-preview__exit:hover{background:var(--vx-surface-hover);border-color:var(--vx-border-strong);color:var(--vx-text)}.vxm-fullscreen-preview__exit:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vxm-fullscreen-preview__stage{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column;position:relative}.vxm-fullscreen-preview__stage .vxm-shell{flex:1 1 auto;min-height:0}[data-theme-name=black-gold] .vx-button{font-weight:600;letter-spacing:.01em;transition:filter .16s ease,border-color .16s ease,background .16s ease}[data-theme-name=black-gold] .vx-button:hover{border-color:transparent;filter:brightness(1.1)}[data-theme-name=black-gold] .vx-button:focus-visible{outline:2px solid rgba(200,169,124,.72);outline-offset:2px}[data-theme-name=black-gold] .vx-button--solid{background:linear-gradient(135deg,#f5e9d7,#c8a97c 48%,#b88d54);color:#09090f;border:none}[data-theme-name=black-gold] .vx-button--solid:hover{filter:brightness(1.08)}[data-theme-name=black-gold] .vx-button--secondary{background:#f5e9d70d;color:#f5e9d7;border-color:#f5e9d726}[data-theme-name=black-gold] .vx-button--secondary:hover{background:#f5e9d717;border-color:#c8a97c6b}[data-theme-name=black-gold] .vx-button--ghost{background:transparent;color:#928a81;border-color:#f5e9d71f}[data-theme-name=black-gold] .vx-button--ghost:hover{background:#f5e9d70f;border-color:#f5e9d733;color:#d7c8b2}[data-theme-name=black-gold] .vx-button--danger{background:linear-gradient(135deg,#fecaca,#ef4444 48%,#b91c1c);color:#fff;border:none}[data-theme-name=black-gold] .vx-sidebar{background:var(--vx-glass-bg-strong)}[data-theme-name=black-gold],[data-theme-name=black-gold] *{--vxm-drawer-bg: var(--vx-glass-bg-strong)}[data-theme-name=black-gold] .vx-sidebar__brand-icon,[data-theme-name=black-gold] .vx-nav-item--active{background:#c8a97c24;color:#c8a97c}[data-theme-name=black-gold] .vx-nav-item:hover:not(.vx-nav-item--active){background:#f5e9d712;color:#f5e9d7}[data-theme-name=black-gold] .vx-nav-item:focus-visible{outline:2px solid rgba(200,169,124,.72)}[data-theme-name=black-gold] .vx-topbar{background:var(--vx-glass-bg-strong)}[data-theme-name=black-gold] .vx-sidebar__brand-icon{background:linear-gradient(135deg,#d6b780f5,#805822eb);color:#140f09;box-shadow:inset 0 1px #fff4dc38,0 12px 28px #0000003d}[data-theme-name=black-gold] .vx-card{border-color:#c8a97c2e;background:#0f1219c2;box-shadow:0 0 42px #c8a97c0f}[data-theme-name=black-gold] .vx-input{background:#0f1219c2;border-color:#f5e9d71f}[data-theme-name=black-gold] .vx-input__field{color:#f5e9d7}[data-theme-name=black-gold] .vx-input:focus-within{border-color:#c8a97c;box-shadow:0 0 0 3px #c8a97c2e}[data-theme-name=black-gold] .vx-switch__control[aria-checked=true]{background:#c8a97c}[data-theme-name=black-gold] .vx-tabs__trigger[aria-selected=true]{color:#c8a97c;border-bottom-color:#c8a97c}[data-theme-name=black-gold] .vx-badge--accent{background:#c8a97c24;border-color:#c8a97c5c;color:#c8a97c}.vx-select{position:relative;display:flex;align-items:center}.vx-select__field{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);color:var(--vx-text);font-size:.875rem;padding:.5rem 2.25rem .5rem .75rem;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.vx-select__field:focus{border-color:var(--vx-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 20%,transparent)}.vx-select__field:disabled{opacity:.5;cursor:not-allowed}.vx-select__arrow{position:absolute;right:.75rem;pointer-events:none;color:var(--vx-text-muted);display:flex;align-items:center}.vx-checkbox{display:inline-flex;align-items:flex-start;gap:.625rem;cursor:pointer}.vx-checkbox--disabled{opacity:.5;cursor:not-allowed}.vx-checkbox__control-wrap{position:relative;flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem}.vx-checkbox__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}.vx-checkbox__box{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--vx-border-strong);border-radius:calc(var(--vx-radius) * .5);background:var(--vx-surface);display:flex;align-items:center;justify-content:center;color:transparent;transition:background .12s,border-color .12s,color .12s;pointer-events:none}.vx-checkbox__input:checked~.vx-checkbox__box,.vx-checkbox__input:indeterminate~.vx-checkbox__box{background:var(--vx-primary);border-color:var(--vx-primary);color:#fff}.vx-checkbox__input:focus-visible~.vx-checkbox__box{outline:2px solid var(--vx-primary);outline-offset:2px}.vx-checkbox__copy{display:flex;flex-direction:column;gap:.125rem}.vx-checkbox__label{font-size:.875rem;color:var(--vx-text);line-height:1.4}.vx-checkbox__description{font-size:.75rem;color:var(--vx-text-muted)}.vx-radio{display:inline-flex;align-items:flex-start;gap:.625rem;cursor:pointer}.vx-radio--disabled{opacity:.5;cursor:not-allowed}.vx-radio__control-wrap{position:relative;flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem}.vx-radio__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}.vx-radio__circle{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--vx-border-strong);border-radius:9999px;background:var(--vx-surface);display:flex;align-items:center;justify-content:center;transition:border-color .12s;pointer-events:none}.vx-radio__dot{width:6px;height:6px;border-radius:9999px;background:transparent;transition:background .12s}.vx-radio__input:checked~.vx-radio__circle{border-color:var(--vx-primary)}.vx-radio__input:checked~.vx-radio__circle .vx-radio__dot{background:var(--vx-primary)}.vx-radio__input:focus-visible~.vx-radio__circle{outline:2px solid var(--vx-primary);outline-offset:2px}.vx-radio__copy{display:flex;flex-direction:column;gap:.125rem}.vx-radio__label{font-size:.875rem;color:var(--vx-text);line-height:1.4}.vx-radio__description{font-size:.75rem;color:var(--vx-text-muted)}.vx-radio-group{border:none;padding:0;margin:0}.vx-radio-group__items{display:flex;flex-direction:column;gap:.5rem;margin-top:.375rem}.vx-textarea{display:block;width:100%;min-height:6rem;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);color:var(--vx-text);font-size:.875rem;font-family:inherit;padding:.5rem .75rem;outline:none;transition:border-color .15s,box-shadow .15s;line-height:1.5}.vx-textarea:focus{border-color:var(--vx-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 20%,transparent)}.vx-textarea:disabled{opacity:.5;cursor:not-allowed}.vx-textarea::placeholder{color:var(--vx-text-muted)}.vx-slider__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.vx-slider__label{margin-bottom:0!important}.vx-slider__value{font-size:.8125rem;color:var(--vx-text-muted)}.vx-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:9999px;background:var(--vx-border);outline:none;cursor:pointer}.vx-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:9999px;background:var(--vx-primary);border:2px solid var(--vx-bg);box-shadow:0 1px 4px #0000002e;transition:transform .12s}.vx-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.vx-slider::-moz-range-thumb{width:18px;height:18px;border-radius:9999px;background:var(--vx-primary);border:2px solid var(--vx-bg);box-shadow:0 1px 4px #0000002e;cursor:pointer}.vx-slider:focus-visible{outline:2px solid var(--vx-primary);outline-offset:4px}.vx-slider:disabled{opacity:.5;cursor:not-allowed}.vx-spinner{display:inline-flex;color:var(--vx-primary)}.vx-spinner svg{animation:vx-spin .8s linear infinite}@keyframes vx-spin{to{transform:rotate(360deg)}}.vx-spinner--sm svg{width:16px;height:16px}.vx-spinner--md svg{width:24px;height:24px}.vx-spinner--lg svg{width:36px;height:36px}.vx-progress-wrap{display:flex;flex-direction:column;gap:.375rem}.vx-progress__header{display:flex;justify-content:space-between;align-items:center}.vx-progress__label{font-size:.8125rem;color:var(--vx-text)}.vx-progress__value{font-size:.75rem;color:var(--vx-text-muted)}.vx-progress{width:100%;background:var(--vx-border);border-radius:9999px;overflow:hidden}.vx-progress--sm{height:4px}.vx-progress--md{height:6px}.vx-progress--lg{height:10px}.vx-progress__bar{height:100%;border-radius:9999px;background:var(--vx-primary);transition:width .3s ease}.vx-progress--success .vx-progress__bar{background:#22c55e}.vx-progress--warning .vx-progress__bar{background:#f59e0b}.vx-progress--danger .vx-progress__bar{background:#ef4444}.vx-progress--rainbow .vx-progress__bar{background:linear-gradient(90deg,#f87171,#fb923c,#facc15,#4ade80,#60a5fa,#a78bfa,#f472b6,#f87171);background-size:300% 100%;animation:vx-progress-rainbow 3s linear infinite;box-shadow:0 0 8px 1px color-mix(in srgb,#a78bfa 45%,transparent)}@keyframes vx-progress-rainbow{0%{background-position:0% 0%}to{background-position:-300% 0%}}.vx-progress--indeterminate .vx-progress__bar{width:45%!important;animation:vx-progress-indeterminate 1.4s ease-in-out infinite}@keyframes vx-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(320%)}}.vx-alert{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;border-radius:var(--vx-radius);border:1px solid}.vx-alert--info{background:color-mix(in srgb,#3b82f6 10%,transparent);border-color:color-mix(in srgb,#3b82f6 30%,transparent);color:#2563eb}.vx-alert--success{background:color-mix(in srgb,#22c55e 10%,transparent);border-color:color-mix(in srgb,#22c55e 30%,transparent);color:#16a34a}.vx-alert--warning{background:color-mix(in srgb,#f59e0b 10%,transparent);border-color:color-mix(in srgb,#f59e0b 30%,transparent);color:#d97706}.vx-alert--danger{background:color-mix(in srgb,#ef4444 10%,transparent);border-color:color-mix(in srgb,#ef4444 30%,transparent);color:#dc2626}.vx-alert__icon{flex-shrink:0;margin-top:.125rem}.vx-alert__body{flex:1;min-width:0}.vx-alert__title{font-size:.875rem;font-weight:600;margin:0 0 .25rem}.vx-alert__content{font-size:.8125rem}.vx-alert__close{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:inherit;opacity:.6;padding:.125rem;border-radius:4px;display:flex;align-items:center;transition:opacity .12s}.vx-alert__close:hover{opacity:1}.vx-skeleton{display:block;background:var(--vx-border);border-radius:calc(var(--vx-radius) * .5);animation:vx-skeleton-pulse 1.5s ease-in-out infinite}@keyframes vx-skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.vx-skeleton--text{height:.875rem;border-radius:4px}.vx-skeleton--circle{border-radius:9999px}.vx-skeleton-text{display:flex;flex-direction:column;gap:.375rem}.vx-tooltip-wrap{position:relative;display:inline-flex;align-items:center}.vx-tooltip{position:absolute;z-index:1000;white-space:nowrap;background:var(--vx-text);color:var(--vx-bg);font-size:.75rem;padding:.3125rem .625rem;border-radius:calc(var(--vx-radius) * .75);pointer-events:none;animation:vx-fade-in .12s ease}@keyframes vx-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.vx-tooltip--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.vx-tooltip--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.vx-tooltip--left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.vx-tooltip--right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.vx-popover-wrap{position:relative;display:inline-flex}.vx-popover{position:absolute;z-index:500;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:.75rem;animation:vx-fade-in .15s ease;min-width:12rem}.vx-popover--bottom{top:calc(100% + 6px);left:0}.vx-popover--top{bottom:calc(100% + 6px);left:0}.vx-popover--right{left:calc(100% + 6px);top:0}.vx-popover--left{right:calc(100% + 6px);top:0}.vx-dropdown{position:relative;display:inline-flex}.vx-dropdown__trigger{cursor:pointer;display:inline-flex;align-items:center}.vx-dropdown__menu{position:absolute;z-index:600;top:calc(100% + 4px);background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:.25rem;min-width:12rem;max-height:min(26rem,calc(100vh - 96px));overflow:auto;overscroll-behavior:contain;animation:vx-fade-in .15s ease}.vx-dropdown__menu--left{left:0}.vx-dropdown__menu--right{right:0}.vx-dropdown__group{display:flex;flex-direction:column}.vx-dropdown__group-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--vx-text-muted);padding:.375rem .625rem .25rem}.vx-dropdown__separator{height:1px;background:var(--vx-border);margin:.25rem 0}.vx-dropdown__item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;background:transparent;border:none;border-radius:calc(var(--vx-radius) * .75);color:var(--vx-text);font-size:.875rem;padding:.4375rem .625rem;cursor:pointer;transition:background .1s}.vx-dropdown__item:hover{background:var(--vx-bg-accent)}.vx-dropdown__item--danger{color:#ef4444}.vx-dropdown__item--danger:hover{background:color-mix(in srgb,#ef4444 10%,transparent)}.vx-dropdown__item--disabled{opacity:.4;cursor:not-allowed}.vx-dropdown__item-icon{flex-shrink:0;opacity:.7;display:flex;align-items:center}.vx-dropdown__item-label{flex:1}.vx-dropdown__shortcut{font-size:.6875rem;color:var(--vx-text-muted);background:var(--vx-bg-accent);border:1px solid var(--vx-border);border-radius:4px;padding:0 4px;font-family:monospace}.vx-breadcrumb{display:flex;align-items:center}.vx-breadcrumb__list{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;list-style:none;padding:0;margin:0}.vx-breadcrumb__item{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.vx-breadcrumb__link{color:var(--vx-text-muted);text-decoration:none;background:transparent;border:none;padding:0;cursor:pointer;font-size:inherit;font-family:inherit;transition:color .12s}.vx-breadcrumb__link:hover{color:var(--vx-primary)}.vx-breadcrumb__current{color:var(--vx-text);font-weight:500}.vx-breadcrumb__sep{color:var(--vx-text-muted);display:flex;align-items:center}.vx-pagination{display:flex;align-items:center;gap:.25rem}.vx-pagination__btn{min-width:2rem;height:2rem;padding:0 .5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--vx-border);border-radius:calc(var(--vx-radius) * .75);color:var(--vx-text);font-size:.875rem;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.vx-pagination__btn:hover:not(:disabled){background:var(--vx-bg-accent);border-color:var(--vx-border-strong)}.vx-pagination__btn--active{background:var(--vx-primary);border-color:var(--vx-primary);color:#fff;font-weight:600}.vx-pagination__btn--active:hover{background:var(--vx-primary)}.vx-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.vx-pagination__ellipsis{padding:0 .25rem;color:var(--vx-text-muted);font-size:.875rem}.vx-accordion{border:1px solid var(--vx-border);border-radius:var(--vx-radius);overflow:hidden}.vx-accordion__item{border-bottom:1px solid var(--vx-border)}.vx-accordion__item:last-child{border-bottom:none}.vx-accordion__item--disabled{opacity:.5}.vx-accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;background:transparent;border:none;cursor:pointer;color:var(--vx-text);font-size:.9375rem;font-weight:500;text-align:left;transition:background .1s;gap:.5rem}.vx-accordion__trigger:hover:not(:disabled){background:var(--vx-bg-accent)}.vx-accordion__title{flex:1}.vx-accordion__chevron{flex-shrink:0;color:var(--vx-text-muted);transition:transform .2s;display:flex;align-items:center}.vx-accordion__item--open .vx-accordion__chevron{transform:rotate(180deg)}.vx-accordion__content{padding:0 1rem 1rem;font-size:.875rem;color:var(--vx-text-muted);line-height:1.6}.vx-separator{border:none;margin:0}.vx-separator--horizontal{border-top:1px solid var(--vx-border);width:100%}.vx-separator--vertical{border-left:1px solid var(--vx-border);height:100%;align-self:stretch;display:inline-block}.vx-avatar{display:inline-flex;align-items:center;justify-content:center;background:hsl(var(--vx-avatar-hue, 200) 55% 60%);color:#fff;font-weight:600;overflow:hidden;flex-shrink:0}.vx-avatar--circle{border-radius:9999px}.vx-avatar--square{border-radius:var(--vx-radius)}.vx-avatar--xs{width:1.5rem;height:1.5rem;font-size:.5625rem}.vx-avatar--sm{width:2rem;height:2rem;font-size:.6875rem}.vx-avatar--md{width:2.5rem;height:2.5rem;font-size:.8125rem}.vx-avatar--lg{width:3.5rem;height:3.5rem;font-size:1rem}.vx-avatar--xl{width:5rem;height:5rem;font-size:1.375rem}.vx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.vx-avatar__initials,.vx-avatar__fallback{line-height:1}.vx-avatar__placeholder{width:55%;height:55%;color:#ffffffbf}.vx-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--vx-border);border-radius:var(--vx-radius)}.vx-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--vx-text)}.vx-table__caption{caption-side:top;text-align:left;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;color:var(--vx-text)}.vx-table__th{background:var(--vx-bg-accent);color:var(--vx-text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.625rem 1rem;text-align:left;white-space:nowrap;border-bottom:1px solid var(--vx-border)}.vx-table__th-inner{display:flex;align-items:center;gap:.375rem}.vx-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.vx-table__th--sortable:hover{color:var(--vx-text)}.vx-table__th--center,.vx-table__td--center{text-align:center}.vx-table__th--right,.vx-table__td--right{text-align:right}.vx-table__sort-icon{font-size:.6875rem;color:var(--vx-text-muted)}.vx-table__td{padding:.75rem 1rem;border-bottom:1px solid var(--vx-border);vertical-align:middle}.vx-table__row:last-child .vx-table__td{border-bottom:none}.vx-table--hoverable .vx-table__row:hover .vx-table__td{background:var(--vx-bg-accent)}.vx-table--striped .vx-table__row:nth-child(2n) .vx-table__td{background:color-mix(in srgb,var(--vx-bg-accent) 50%,transparent)}.vx-table--bordered .vx-table__th,.vx-table--bordered .vx-table__td{border:1px solid var(--vx-border)}.vx-table--compact .vx-table__th{padding:.375rem .75rem}.vx-table--compact .vx-table__td{padding:.4375rem .75rem}.vx-table--sticky thead{position:sticky;top:0;z-index:1}.vx-table__empty{text-align:center;padding:2.5rem;color:var(--vx-text-muted)}.vx-cmd__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding-top:clamp(60px,12vh,140px);animation:vx-fade-in .12s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.vx-cmd{width:min(640px,calc(100vw - 2rem));max-height:min(520px,calc(100dvh - 160px));background:var(--vx-surface);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border:1px solid var(--vx-border-strong);border-radius:calc(var(--vx-radius) * 1.5);box-shadow:0 24px 64px #00000038,0 4px 16px #0000001f;display:flex;flex-direction:column;overflow:hidden;animation:vx-cmd-in .18s cubic-bezier(.22,1,.36,1)}@keyframes vx-cmd-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.vx-cmd__search{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;border-bottom:1px solid var(--vx-border);flex-shrink:0}.vx-cmd__search-icon{color:var(--vx-text-muted);flex-shrink:0}.vx-cmd__input{flex:1;background:transparent;border:none;outline:none;color:var(--vx-text);font-size:1rem;font-family:inherit;caret-color:var(--vx-primary)}.vx-cmd__input::placeholder{color:var(--vx-text-muted)}.vx-cmd__clear{background:transparent;border:none;cursor:pointer;color:var(--vx-text-muted);display:flex;align-items:center;padding:4px;border-radius:4px;transition:color .1s}.vx-cmd__clear:hover{color:var(--vx-text)}.vx-cmd__esc{font-size:.6875rem;color:var(--vx-text-muted);background:var(--vx-bg-accent);border:1px solid var(--vx-border);border-radius:4px;padding:1px 6px;font-family:inherit;white-space:nowrap;flex-shrink:0}.vx-cmd__list{flex:1;overflow-y:auto;list-style:none;padding:6px;margin:0;overscroll-behavior:contain}.vx-cmd__empty{padding:2rem;text-align:center;color:var(--vx-text-muted);font-size:.875rem}.vx-cmd__item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--vx-radius);cursor:pointer;transition:background 80ms;-webkit-user-select:none;user-select:none}.vx-cmd__item:hover,.vx-cmd__item--active{background:var(--vx-bg-accent)}.vx-cmd__item--active{background:color-mix(in srgb,var(--vx-primary) 10%,transparent)}.vx-cmd__item-icon{width:32px;height:32px;border-radius:calc(var(--vx-radius) * .75);background:var(--vx-bg-accent);border:1px solid var(--vx-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--vx-text-muted)}.vx-cmd__item-icon--section{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--vx-primary)}.vx-cmd__item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.vx-cmd__item-title{font-size:.9375rem;font-weight:500;color:var(--vx-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-cmd__item-sub{font-size:.75rem;color:var(--vx-text-muted)}.vx-cmd__mark{background:transparent;color:var(--vx-primary);font-weight:700}.vx-cmd__enter{font-size:.6875rem;color:var(--vx-primary);background:color-mix(in srgb,var(--vx-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--vx-primary) 28%,transparent);border-radius:4px;padding:1px 6px;font-family:inherit;flex-shrink:0}.vx-cmd__footer{display:flex;align-items:center;gap:1rem;padding:8px 16px;border-top:1px solid var(--vx-border);background:var(--vx-bg-accent);flex-shrink:0;font-size:.6875rem;color:var(--vx-text-muted)}.vx-cmd__footer kbd{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:3px;padding:0 4px;font-family:inherit;font-size:.6875rem}.vx-cmd-trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight);color:var(--vx-text-muted);font-size:.8125rem;cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap;font-family:inherit}.vx-cmd-trigger:hover{border-color:var(--vx-border-strong);color:var(--vx-text);background:var(--vx-glass-bg-strong)}.vx-cmd-trigger--active{color:var(--vx-primary);border-color:color-mix(in srgb,var(--vx-primary) 24%,var(--vx-border));background:color-mix(in srgb,var(--vx-primary-soft) 44%,var(--vx-glass-bg-strong))}.vx-search-kbd{font-size:.6875rem;background:var(--vx-surface-hover);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-border);border-radius:4px;padding:0 4px;font-family:inherit;color:var(--vx-text-muted)}.vx-lang-drop{position:relative;display:inline-flex;flex-shrink:0}.vx-lang-drop--sidebar{width:100%;padding:4px 10px;box-sizing:border-box}.vx-lang-drop__trigger{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight);color:var(--vx-text-muted);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap;width:100%}.vx-lang-drop__trigger:hover,.vx-lang-drop--open .vx-lang-drop__trigger{border-color:var(--vx-border-strong);color:var(--vx-text);background:var(--vx-glass-bg-strong)}.vx-lang-drop__trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vx-lang-drop__chevron{margin-left:auto;transition:transform .16s ease}.vx-lang-drop--open .vx-lang-drop__chevron{transform:rotate(180deg)}.vx-lang-drop__menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);overflow:hidden;padding:4px;margin:0;list-style:none;z-index:200;animation:vx-lang-in .1s ease}.vx-lang-drop--sidebar .vx-lang-drop__menu{top:auto;bottom:calc(100% + 4px)}@keyframes vx-lang-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vx-lang-drop__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;background:transparent;border:none;border-radius:calc(var(--vx-radius) * .7);color:var(--vx-text-muted);font-size:.8125rem;font-family:inherit;cursor:pointer;text-align:left;transition:background 80ms,color 80ms;white-space:nowrap}.vx-lang-drop__item:hover{background:color-mix(in srgb,var(--vx-bg-accent) 72%,var(--vx-glass-bg));color:var(--vx-text)}.vx-lang-drop__item--active{color:var(--vx-primary);font-weight:600;background:color-mix(in srgb,var(--vx-primary-soft) 36%,var(--vx-glass-bg))}.vx-lang-drop__check{font-size:.75rem;color:var(--vx-primary)}[data-collapsed=true] .vx-lang-drop--sidebar{display:none}.vx-link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--vx-primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.vx-link:hover{opacity:.8}.vx-public{min-height:100dvh;background:var(--vx-bg);color:var(--vx-text);display:flex;flex-direction:column;position:relative;overflow:hidden}.vx-public:before{content:"";position:absolute;top:-15%;left:-10%;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--vx-primary) 12%,transparent) 0%,transparent 60%);z-index:0;pointer-events:none}.vx-public:after{content:"";position:absolute;bottom:-20%;right:-10%;width:70%;height:70%;background:radial-gradient(circle,color-mix(in srgb,var(--vx-primary) 8%,transparent) 0%,transparent 60%);z-index:0;pointer-events:none}.vx-public-nav{display:flex;align-items:center;justify-content:space-between;padding:0 40px;min-height:72px;background:transparent;position:relative;z-index:50;flex-shrink:0}.vx-public-nav__brand{display:inline-flex;align-items:center}.vx-public-nav__brand-mark{font-size:1.5rem;font-weight:900;letter-spacing:-.04em;color:var(--vx-text)}.vx-public-nav__brand-mark span{color:var(--vx-primary)}.vx-public-nav__links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.vx-public-nav__user{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:var(--vx-radius-full);background:color-mix(in srgb,var(--vx-surface) 60%,transparent);border:1px solid var(--vx-border);color:var(--vx-text);font-size:.8125rem;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.vx-public-main{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:80px 0 120px;position:relative;z-index:10;display:flex;flex-direction:column;align-items:center}.vx-public-hero{text-align:center;max-width:800px;display:flex;flex-direction:column;align-items:center;gap:24px}.vx-public-hero-badge{border-radius:var(--vx-radius-full)}.vx-public-hero__title{font-size:clamp(3rem,7vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin:0;background:linear-gradient(180deg,var(--vx-text) 0%,color-mix(in srgb,var(--vx-text) 60%,transparent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-wrap:balance}.vx-public-hero__lead{font-size:1.25rem;color:var(--vx-text-secondary);line-height:1.6;margin:0;max-width:600px;text-wrap:pretty}.vx-public-hero__actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:12px}.vx-public-hero__actions .vx-button{padding-left:24px;padding-right:24px;height:48px;font-size:1rem;border-radius:var(--vx-radius)}.vx-public-hero__status{margin:12px 0 0;font-size:.875rem;color:var(--vx-text-muted);max-width:60ch;text-wrap:pretty}.vx-public-preview{margin-top:80px;width:100%;max-width:1000px;background:color-mix(in srgb,var(--vx-surface) 60%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid color-mix(in srgb,var(--vx-primary) 20%,var(--vx-border));border-radius:var(--vx-radius-xl);overflow:hidden;box-shadow:0 24px 48px -12px #0000001a}.vx-public-preview__header{border-bottom:1px solid var(--vx-border);padding:16px 24px;display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--vx-surface) 40%,transparent)}.vx-public-preview__dots{display:flex;gap:8px}.vx-public-preview__dot{width:12px;height:12px;border-radius:50%;background:var(--vx-border-strong)}.vx-public-preview__dot:nth-child(1){background:#ff5f56}.vx-public-preview__dot:nth-child(2){background:#ffbd2e}.vx-public-preview__dot:nth-child(3){background:#27c93f}.vx-public-preview__eyebrow{font-size:.8125rem;font-weight:600;color:var(--vx-text-secondary)}.vx-public-preview__body{padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.vx-public-preview__search{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 16px;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);color:var(--vx-text-muted);font-size:.875rem;margin-bottom:24px}.vx-public-preview__sections{display:grid;gap:16px}.vx-public-preview__section{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border-radius:var(--vx-radius-lg);background:var(--vx-surface);border:1px solid var(--vx-border);transition:transform .2s ease,box-shadow .2s ease;cursor:default}.vx-public-preview__section:hover{transform:translateY(-2px);box-shadow:var(--vx-shadow-sm);border-color:color-mix(in srgb,var(--vx-primary) 40%,var(--vx-border))}.vx-public-preview__section-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--vx-radius);background:color-mix(in srgb,var(--vx-primary) 12%,transparent);color:var(--vx-primary)}.vx-public-preview__section-label{font-size:1rem;font-weight:700}.vx-public-preview__section-meta{margin-top:4px;color:var(--vx-text-secondary);font-size:.8125rem}.vx-public-preview__section-arrow{color:var(--vx-text-muted);transition:transform .2s ease}.vx-public-preview__section:hover .vx-public-preview__section-arrow{transform:translate(4px);color:var(--vx-primary)}.vx-public-preview__meta-grid{display:flex;flex-direction:column;gap:16px;justify-content:center}.vx-public-preview__meta-card{padding:24px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:var(--vx-surface)}.vx-public-preview__meta-card p{margin:12px 0 0;color:var(--vx-text-secondary);font-size:.875rem;line-height:1.6}.vx-public-preview__meta-title{display:inline-flex;align-items:center;gap:12px;font-size:1.125rem;font-weight:700}.vx-public-features{width:100%;margin-top:120px}.vx-public-section-title{text-align:center;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--vx-primary);margin:0 0 40px}.vx-public-features__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}@media(max-width:900px){.vx-public-features__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}}@media(max-width:500px){.vx-public-features__grid{grid-template-columns:1fr}}.vx-public-feature-card.vx-card{background:transparent;border:none;box-shadow:none;padding:0}.vx-public-feature-card .vx-card__header{padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.vx-public-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:calc(var(--vx-radius) * 1.5);background:color-mix(in srgb,var(--vx-primary) 10%,transparent);color:var(--vx-primary)}.vx-public-feature-card .vx-card__title{font-size:1.125rem}.vx-public-feature-card .vx-card__description{font-size:.875rem;line-height:1.6;text-wrap:pretty}.vx-public-footer{margin-top:0;border-top:1px solid var(--vx-border);padding:32px 40px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--vx-text-muted);position:relative;z-index:10}@media(max-width:900px){.vx-public{background:radial-gradient(circle at 18% 10%,var(--vx-primary-soft) 0%,transparent 42%),radial-gradient(circle at 82% 92%,var(--vx-primary-soft) 0%,transparent 38%),var(--vx-bg)}.vx-public:before,.vx-public:after{display:none}.vx-public-nav{padding:16px 24px;flex-direction:column;align-items:stretch;gap:14px}.vx-public-nav__links{width:100%;gap:12px}.vx-public-main{width:min(100%,calc(100% - 32px));padding:56px 0 88px}.vx-public-hero{max-width:640px;gap:20px}.vx-public-preview{margin-top:56px}.vx-public-preview__body{grid-template-columns:1fr;gap:24px;padding:28px}.vx-public-features{margin-top:88px}.vx-public-footer{padding:24px;flex-direction:column;align-items:flex-start;gap:10px}}@media(max-width:640px){.vx-public-nav{padding:12px 16px}.vx-public-nav__links{align-items:stretch;gap:8px}.vx-public-nav__links>*{flex:1 1 calc(50% - 4px);min-width:0}.vx-public-nav__links .vx-lang-drop,.vx-public-nav__links .vx-cmd-trigger,.vx-public-nav__links .vx-button{width:100%}.vx-public-nav__links .vx-lang-drop__trigger,.vx-public-nav__links .vx-cmd-trigger,.vx-public-nav__links .vx-button{justify-content:center}.vx-public-nav__user{flex-basis:100%;justify-content:center}.vx-public-main{width:min(100%,calc(100% - 24px));padding:36px 0 64px}.vx-public-hero{gap:18px}.vx-public-hero__title{font-size:clamp(2.35rem,12vw,3.25rem);line-height:1.08}.vx-public-hero__lead{font-size:1.0625rem}.vx-public-hero__actions{width:100%;gap:12px}.vx-public-hero__actions .vx-button{flex:1 1 100%;width:100%}.vx-public-preview{margin-top:44px}.vx-public-preview__header{padding:14px 16px}.vx-public-preview__body{padding:20px 16px;gap:16px}.vx-public-preview__search{margin-bottom:16px;padding:0 14px}.vx-public-preview__section{gap:12px;padding:14px}.vx-public-preview__section-label{font-size:.9375rem}.vx-public-preview__section-meta{font-size:.75rem}.vx-public-preview__meta-card{padding:18px}.vx-public-preview__meta-title{gap:10px;font-size:1rem}.vx-public-section-title{margin-bottom:28px}.vx-public-footer{padding:20px 16px 28px}}.vx-auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px 48px;position:relative;background-color:var(--vx-bg);background-image:radial-gradient(var(--vx-border) 1px,transparent 1px);background-size:20px 20px}.vx-auth-topbar{position:fixed;top:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:color-mix(in srgb,var(--vx-bg) 80%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--vx-border);z-index:50}.vx-auth-topbar__brand{font-size:1.125rem;font-weight:900;letter-spacing:-.04em;color:var(--vx-text)}.vx-auth-topbar__brand span{color:var(--vx-primary)}.vx-auth-topbar__actions{display:flex;align-items:center;gap:12px}.vx-auth-card{width:100%;max-width:420px;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:calc(var(--vx-radius) * 2.5);box-shadow:0 1px 2px color-mix(in srgb,var(--vx-text) 3%,transparent),0 8px 24px -4px color-mix(in srgb,var(--vx-text) 8%,transparent),0 24px 48px -8px color-mix(in srgb,var(--vx-text) 6%,transparent);overflow:hidden}.vx-auth-card__logo{padding:28px 32px 24px;text-align:center;font-size:1.5rem;font-weight:900;letter-spacing:-.05em;color:var(--vx-text);border-bottom:1px solid var(--vx-border)}.vx-auth-card__logo span{color:var(--vx-primary)}.vx-auth-card__body{padding:28px 32px 32px}.vx-auth__header{text-align:center;margin-bottom:24px}.vx-auth__header h2{font-size:1.375rem;font-weight:700;margin:0 0 6px;letter-spacing:-.02em;color:var(--vx-text)}.vx-auth__header p{font-size:.875rem;color:var(--vx-text-muted);margin:0}.vx-auth__form{display:flex;flex-direction:column;gap:16px}.vx-auth__toggle{background:transparent;border:none;font-size:.75rem;color:var(--vx-text-muted);cursor:pointer;padding:0 4px}.vx-auth__toggle:hover{color:var(--vx-text)}.vx-auth__row{display:flex;align-items:center;justify-content:space-between;margin-top:-4px;margin-bottom:4px}.vx-auth__footer{margin-top:20px;text-align:center;font-size:.875rem;color:var(--vx-text-secondary)}.vx-auth__footer--muted{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;color:var(--vx-text-muted)}.vxm-docs-home{display:flex;flex-direction:column;min-height:100%}.vxm-docs-home__hero{padding:28px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.vxm-docs-home__hero-badge{display:flex;align-items:center;justify-content:center;gap:8px}.vxm-docs-home__hero-badge-label{font-size:12px;font-weight:600;color:var(--vx-text-muted);text-transform:uppercase;letter-spacing:.06em}.vxm-docs-home__title{margin:0;max-width:10ch;font-size:clamp(2.35rem,10vw,3.4rem);font-weight:800;letter-spacing:-.03em;color:var(--vx-text);line-height:1.04}.vxm-docs-home__lead{margin:0;max-width:32ch;font-size:.9375rem;color:var(--vx-text-secondary);line-height:1.62}.vxm-docs-home__actions{display:flex;width:100%;gap:10px;margin-top:6px}.vxm-docs-home__status{margin:0;max-width:34ch;font-size:.8125rem;line-height:1.6;color:var(--vx-text-muted)}.vxm-docs-home__preview-search{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:calc(100% - 32px);min-height:46px;margin:0 16px 10px;padding:0 14px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:color-mix(in srgb,var(--vx-bg-accent) 72%,var(--vx-surface));color:var(--vx-text-muted);font-size:.875rem;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;text-align:left;font:inherit;-webkit-tap-highlight-color:transparent;transition:background .1s ease,border-color .1s ease,color .1s ease}.vxm-docs-home__preview-search:active{background:var(--vx-surface-hover)}.vxm-docs-home__preview-search:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vxm-docs-home__list,.vxm-legal-page__list{margin:0 16px}.vxm-docs-home__leading-badge{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--vx-primary-soft) 62%,var(--vx-surface));color:var(--vx-primary)}.vxm-docs-home__leading-badge--accent{background:color-mix(in srgb,var(--vx-primary-soft) 40%,var(--vx-glass-bg-strong))}.vxm-docs-home__meta-copy{display:grid;gap:6px}.vxm-docs-home__footer{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 16px 32px}.vxm-docs-home__footer-copy{font-size:.75rem;color:var(--vx-text-muted);text-align:center;line-height:1.5}.vxm-docs-home__footer-link{border:none;background:none;padding:0;color:var(--vx-primary);font:inherit;font-size:.875rem;font-weight:600}.vxm-docs-page{display:flex;flex-direction:column;min-height:100%}.vxm-docs-page__header{padding:20px 16px 16px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--vx-border);margin-bottom:4px}.vxm-docs-page__kicker{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--vx-primary);background:color-mix(in srgb,var(--vx-primary) 10%,transparent);border-radius:4px;padding:2px 7px;align-self:flex-start}.vxm-docs-page__title{margin:0;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--vx-text);line-height:1.2}.vxm-docs-page__lead{margin:0;font-size:.9rem;color:var(--vx-text-secondary);line-height:1.55}.vxm-docs-page__section{padding:12px 16px 4px}.vxm-docs-page__section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--vx-text-muted);margin-bottom:8px}.vxm-auth-screen{display:flex;flex-direction:column;min-height:100dvh;background:var(--vx-bg)}.vxm-auth-screen__body{flex:1;display:flex;flex-direction:column;padding:64px 24px 0}.vxm-auth-screen__icon{width:80px;height:80px;border-radius:22px;background:var(--vx-primary);margin:0 auto 24px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 28px color-mix(in srgb,var(--vx-primary) 38%,transparent)}.vxm-auth-screen__title{text-align:center;font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--vx-text);margin:0 0 36px}.vxm-auth-screen__fields{display:flex;flex-direction:column;gap:16px}.vxm-auth-screen__label{display:block;font-size:.8125rem;font-weight:600;color:var(--vx-text);margin-bottom:8px;padding:0 2px}.vxm-auth-screen .vx-input{min-height:52px;border:none;background:var(--vx-bg-accent);border-radius:14px;padding:0 16px;font-size:1rem}.vxm-auth-screen .vx-input .vx-input__field{font-size:1rem}.vxm-auth-screen__forgot{text-align:right;margin:4px 2px 0}.vxm-auth-screen__forgot-btn{background:none;border:none;padding:0;font-size:.875rem;color:var(--vx-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}.vxm-auth-screen__actions{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding:32px 24px calc(env(safe-area-inset-bottom,0px) + 36px)}.vxm-auth-screen__footer-link{text-align:center;font-size:.9375rem;color:var(--vx-text-secondary);margin:0}.vxm-auth-screen__footer-link button{background:none;border:none;padding:0 2px;color:var(--vx-primary);font-size:inherit;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.vxm-auth-screen__legal-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:-4px 0 0;font-size:.8125rem;color:var(--vx-text-secondary)}.vxm-auth-screen__legal-links button{background:none;border:none;padding:0;color:var(--vx-primary);font:inherit;font-weight:600}.vxm-legal-page{display:flex;flex-direction:column;min-height:100%;padding-bottom:32px}.vxm-legal-page__hero{padding:28px 16px 20px;display:flex;flex-direction:column;gap:12px}.vxm-legal-page__title{margin:0;font-size:1.9rem;line-height:1.08;letter-spacing:-.03em;color:var(--vx-text)}.vxm-legal-page__lead{margin:0;font-size:.9375rem;line-height:1.62;color:var(--vx-text-secondary)}.vxm-legal-page__meta{display:flex;flex-wrap:wrap;gap:8px}.vxm-legal-page__summary-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:var(--vx-primary);background:var(--vx-primary-soft)}.vxm-legal-page__section-card{margin:0 16px;padding:16px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-lg);background:var(--vx-surface)}.vxm-legal-page__paragraph{margin:0;font-size:.9375rem;line-height:1.7;color:var(--vx-text-secondary)}.vxm-legal-page__paragraph+.vxm-legal-page__paragraph{margin-top:12px}.vxm-legal-page__footer{padding:10px 16px 0;text-align:center;font-size:.75rem;line-height:1.5;color:var(--vx-text-muted)}.vx-topbar__menu{display:none;flex:0 0 auto}.vx-topbar__title-group,.vx-topbar__actions{min-width:0}.vx-doc-breadcrumb{min-width:0;display:flex;align-items:center;gap:10px;overflow:hidden}.vx-doc-breadcrumb__kicker{flex:0 0 auto;display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vx-primary)}.vx-doc-breadcrumb strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.98rem,.4vw + .92rem,1.08rem);line-height:1.1;letter-spacing:-.02em;color:var(--vx-text)}.vx-doc-breadcrumb[data-state=overview] strong{color:var(--vx-text-secondary)}.vx-doc-breadcrumb__summary{display:none}.vx-docs-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:10px}.vx-sidebar-session{display:flex;flex-direction:column;gap:10px}.vx-sidebar-session__card{padding:12px;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:color-mix(in srgb,var(--vx-surface) 86%,var(--vx-primary-soft));display:flex;flex-direction:column;gap:4px}.vx-sidebar-session__card span{font-size:.75rem;color:var(--vx-text-muted);text-transform:uppercase;letter-spacing:.08em}.vx-sidebar-session__card strong{font-size:.95rem;color:var(--vx-text)}.vx-sidebar-session__meta{display:flex;flex-wrap:wrap;gap:8px}.vx-docs-workspace,.vx-docs-workspace__home,.vx-doc-page{display:flex;flex-direction:column;gap:32px}.vx-shell[data-density=compact]{--vx-header-height: 56px}.vx-shell[data-density=compact] .vx-nav-section-block{padding-bottom:10px}.vx-shell[data-density=compact] .vx-nav-section-block__title{padding-bottom:6px}.vx-shell[data-density=compact] .vx-nav-section-block__items{gap:2px}.vx-shell[data-density=compact] .vx-nav-item{min-height:30px;padding-top:2px;padding-bottom:2px}.vx-shell[data-density=compact] .vx-topbar{padding-inline:18px}.vx-shell[data-density=compact] .vx-topbar__title-group{padding-block:6px}.vx-shell[data-density=compact] .vx-topbar__actions{padding-block:6px;gap:8px}.vx-shell[data-density=compact] .vx-shell__content{padding:16px 20px 28px}.vx-shell[data-density=compact] .vx-bs-doc-header{padding-bottom:16px}.vx-shell[data-density=compact] .vx-bs-doc-body{padding-top:18px}.vx-shell[data-density=compact] .vx-bs-doc-section{padding-top:14px;padding-bottom:14px}.vx-shell[data-density=compact] .vx-bs-section-heading{margin-bottom:10px}.vx-shell[data-density=compact] .vx-bs-example{padding:16px}.vx-shell[data-density=compact] .vx-bs-example-grid{gap:16px}.vx-shell[data-density=compact] .vx-bs-doc-pager{padding-top:20px;margin-top:20px}.vx-shell[data-density=compact] .vx-docs-workspace,.vx-shell[data-density=compact] .vx-docs-workspace__home,.vx-shell[data-density=compact] .vx-doc-page{gap:20px}.vx-shell[data-density=compact] .vx-docs-home__section,.vx-shell[data-density=compact] .vx-doc-preview-stack,.vx-shell[data-density=compact] .vx-doc-architecture-grid{gap:12px}.vx-docs-home__hero{display:flex;flex-direction:column;gap:24px;align-items:flex-start}.vx-docs-home__copy,.vx-docs-home__section,.vx-docs-home__section-head,.vx-doc-page__hero,.vx-doc-preview-stack{display:flex;flex-direction:column;gap:16px}.vx-docs-home__copy{width:100%;max-width:min(100%,820px);gap:12px}.vx-docs-home__section-head{max-width:min(100%,760px);gap:10px}.vx-doc-page__hero>div{display:flex;flex-direction:column;gap:10px;max-width:min(100%,760px)}.vx-docs-home__copy h1{margin:0;font-size:clamp(2.75rem,5vw,4.5rem);line-height:1.03;letter-spacing:-.03em;font-weight:700;text-wrap:balance;color:var(--vx-text)}.vx-docs-home__copy p,.vx-docs-home__section-head p{margin:0;max-width:100%;font-size:clamp(1rem,.3vw + .98rem,1.08rem);line-height:1.62;color:var(--vx-text-secondary)}.vx-doc-page__hero p,.vx-legal-hero p,.vx-error-card__copy{margin:0;max-width:60ch;font-size:clamp(1rem,.3vw + .98rem,1.08rem);line-height:1.62;text-wrap:pretty;color:var(--vx-text-secondary)}.vx-docs-home__section-head h2,.vx-doc-page__hero h1,.vx-legal-hero h1,.vx-error-card__title{margin:0;font-weight:700;text-wrap:balance;color:var(--vx-text)}.vx-docs-home__section-head h2{font-size:clamp(1.75rem,2.6vw,2.35rem);line-height:1.1;letter-spacing:-.02em}.vx-doc-page__hero h1,.vx-legal-hero h1,.vx-error-card__title{font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.08;letter-spacing:-.025em}.vx-docs-home__actions{display:flex;flex-wrap:wrap;gap:12px}.vx-docs-home__panel,.vx-doc-library-card,.vx-doc-page__preview-card,.vx-breakpoint-card--panel{height:100%}.vx-doc-metric-grid,.vx-doc-control-grid,.vx-doc-library-grid,.vx-doc-architecture-grid,.vx-doc-page__grid,.vx-breakpoint-grid,.vx-doc-stat-grid,.vx-doc-skeleton-grid{display:grid;gap:16px}.vx-doc-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.vx-doc-metric-grid__item,.vx-doc-stat-grid__item,.vx-breakpoint-card,.vx-error-card__path{padding:16px 18px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:color-mix(in srgb,var(--vx-surface) 90%,var(--vx-primary-soft))}.vx-doc-metric-grid__item,.vx-doc-stat-grid__item{display:flex;flex-direction:column;gap:6px}.vx-doc-metric-grid__item span,.vx-doc-stat-grid__item span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vx-text-muted)}.vx-doc-metric-grid__item strong,.vx-doc-stat-grid__item strong,.vx-error-card__code{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;color:var(--vx-text)}.vx-doc-metric-grid__item small,.vx-doc-stat-grid__item small,.vx-breakpoint-card p{color:var(--vx-text-secondary);line-height:1.5}.vx-doc-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.vx-doc-control-grid--single{grid-template-columns:minmax(0,1fr)}.vx-doc-content-map,.vx-doc-library-card__links{display:flex;flex-direction:column;gap:10px}.vx-doc-content-map__row,.vx-doc-library-card__link,.vx-template-launch,.vx-doc-shell-sample__nav,.vx-doc-shell-sample__bar{border:1px solid var(--vx-border);background:color-mix(in srgb,var(--vx-surface) 92%,var(--vx-bg-accent));border-radius:var(--vx-radius)}.vx-doc-content-map__row,.vx-doc-library-card__link{width:100%;padding:12px 14px;color:var(--vx-text);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease}.vx-doc-content-map__row:hover,.vx-doc-library-card__link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--vx-primary) 28%,var(--vx-border));background:color-mix(in srgb,var(--vx-primary-soft) 64%,var(--vx-surface))}.vx-doc-content-map__row>div,.vx-template-launch__head{display:flex;flex-direction:column;gap:4px}.vx-doc-content-map__row span,.vx-template-launch__head p,.vx-doc-library-card__link span:last-child{color:var(--vx-text-secondary);font-size:.875rem}.vx-doc-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vx-doc-architecture-grid,.vx-doc-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-doc-page__hero{align-items:flex-start;justify-content:space-between;flex-direction:row;flex-wrap:wrap}.vx-doc-page__kicker,.vx-legal-meta{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.vx-doc-page__kicker{display:block;color:var(--vx-primary);font-weight:700}.vx-doc-page__meta{display:flex;flex-wrap:wrap;gap:8px}.vx-bs-doc-page{display:flex;flex-direction:column;gap:0}.vx-bs-doc-header{padding-bottom:28px;margin-bottom:0;border-bottom:1px solid var(--vx-border)}.vx-bs-doc-kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--vx-primary);margin-bottom:10px}.vx-bs-doc-header h1{margin:0 0 12px;font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.08;letter-spacing:-.025em;font-weight:700;color:var(--vx-text);text-wrap:balance}.vx-bs-doc-lead{margin:0 0 16px;max-width:60ch;font-size:clamp(1rem,.3vw + .98rem,1.08rem);line-height:1.65;color:var(--vx-text-secondary)}.vx-bs-doc-header-badges{display:flex;flex-wrap:wrap;gap:8px}.vx-bs-doc-body{display:block;padding-top:32px;container-type:inline-size;container-name:doc-body}.vx-bs-doc-content{min-width:0;display:flex;flex-direction:column;gap:0}.vx-bs-doc-section{padding:28px 0;border-bottom:1px solid var(--vx-border)}.vx-bs-doc-section:last-child{border-bottom:none;padding-bottom:0}.vx-bs-section-heading{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;color:var(--vx-text);margin:0 0 18px;display:flex;align-items:center;gap:6px}.vx-bs-anchor{color:var(--vx-text-muted);text-decoration:none;font-weight:400;font-size:1rem;opacity:0;transition:opacity .14s;line-height:1}.vx-bs-section-heading:hover .vx-bs-anchor{opacity:1}.vx-bs-example{padding:28px 24px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-lg);background:color-mix(in srgb,var(--vx-bg-accent) 55%,var(--vx-surface))}.vx-bs-example-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.vx-bs-example-panel{min-width:0;display:flex;flex-direction:column;gap:12px}.vx-bs-example-panel--mobile{align-items:center}.vx-bs-example-panel__meta{display:flex;flex-direction:column;gap:4px}.vx-bs-example-panel__meta strong{font-size:.96rem;color:var(--vx-text)}.vx-bs-example-panel__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--vx-text-muted)}.vx-bs-mobile-preview{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.vx-bs-mobile-preview__frame{width:min(100%,414px);height:896px;border-width:5px;margin:0 auto;background:var(--vx-bg)}.vx-bs-mobile-preview__iframe{width:100%;height:100%;border:0;display:block;background:var(--vx-bg)}.vx-bs-mobile-preview__hint{margin:0;max-width:30ch;text-align:center;font-size:.82rem;line-height:1.5;color:var(--vx-text-muted)}.vx-bs-doc-pager{display:flex;justify-content:space-between;gap:16px;padding-top:32px;border-top:1px solid var(--vx-border);margin-top:32px}.vx-bs-doc-pager__btn{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-lg);background:var(--vx-surface);cursor:pointer;text-align:left;max-width:220px;transition:border-color .16s,background .16s,transform .16s}.vx-bs-doc-pager__btn:hover{border-color:color-mix(in srgb,var(--vx-primary) 40%,var(--vx-border));background:var(--vx-surface-hover);transform:translateY(-1px)}.vx-bs-doc-pager__btn--next{text-align:right;margin-left:auto}.vx-bs-doc-pager__dir{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--vx-text-muted)}.vx-bs-doc-pager__label{font-size:.9rem;font-weight:600;color:var(--vx-text)}@media(max-width:720px){.vx-bs-doc-header h1{font-size:1.9rem}.vx-bs-doc-pager{flex-direction:column}.vx-bs-doc-pager__btn,.vx-bs-doc-pager__btn--next{max-width:100%;text-align:left;margin-left:0}.vx-bs-mobile-preview__frame{height:800px}}@container doc-body (min-width: 960px){.vx-bs-example-grid{grid-template-columns:minmax(0,1fr) minmax(414px,440px)}}.vx-doc-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:12px;color:var(--vx-text-secondary)}.vx-doc-list li::marker{color:var(--vx-primary)}.vx-doc-list--tight{gap:10px}.vx-doc-preview-inline,.vx-error-card__actions,.vx-legal-meta{display:flex;flex-wrap:wrap;gap:10px}.vx-doc-preview-inline--wrap{row-gap:12px}.vx-doc-preview-stack__group{display:flex;flex-direction:column;gap:12px}.vx-doc-shell-sample{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px}.vx-doc-shell-sample__nav,.vx-doc-shell-sample__bar{padding:14px;display:flex;flex-direction:column;gap:6px}.vx-doc-shell-sample__main{display:flex;flex-direction:column;gap:12px}.vx-doc-shell-sample__canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vx-doc-shell-sample__card{min-height:110px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:linear-gradient(135deg,color-mix(in srgb,var(--vx-primary-soft) 72%,var(--vx-surface)),var(--vx-surface))}.vx-doc-shell-sample__card--wide{grid-column:1 / -1}.vx-code-block-wrap{position:relative}.vx-code-block__copy{position:absolute;top:12px;right:12px;z-index:1;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.vx-button.vx-code-block__copy--copied{background:color-mix(in srgb,var(--vx-success) 88%,white 12%);border-color:color-mix(in srgb,var(--vx-success) 72%,var(--vx-border));color:#fff}.vx-code-block{margin:0;padding:56px 18px 16px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-code-border);background:var(--vx-code-bg);color:var(--vx-code-text);font-family:var(--vx-mono);font-size:.875rem;line-height:1.6;overflow:auto}.vx-code-block__code{display:block;min-width:max-content;color:var(--vx-code-text)}.vx-code-block__code .token.comment,.vx-code-block__code .token.prolog,.vx-code-block__code .token.doctype,.vx-code-block__code .token.cdata{color:var(--vx-code-comment);font-style:italic}.vx-code-block__code .token.keyword,.vx-code-block__code .token.selector,.vx-code-block__code .token.atrule{color:var(--vx-code-keyword)}.vx-code-block__code .token.string,.vx-code-block__code .token.regex,.vx-code-block__code .token.attr-value,.vx-code-block__code .token.inserted{color:var(--vx-code-string)}.vx-code-block__code .token.number,.vx-code-block__code .token.boolean,.vx-code-block__code .token.constant,.vx-code-block__code .token.symbol{color:var(--vx-code-number)}.vx-code-block__code .token.function,.vx-code-block__code .token.function-variable,.vx-code-block__code .token.method{color:var(--vx-code-function)}.vx-code-block__code .token.property,.vx-code-block__code .token.parameter{color:var(--vx-code-property)}.vx-code-block__code .token.class-name,.vx-code-block__code .token.builtin{color:var(--vx-code-class)}.vx-code-block__code .token.tag,.vx-code-block__code .token.deleted{color:var(--vx-code-tag)}.vx-code-block__code .token.attr-name,.vx-code-block__code .token.namespace{color:var(--vx-code-attr-name)}.vx-code-block__code .token.punctuation{color:var(--vx-code-punctuation)}.vx-code-block__code .token.operator,.vx-code-block__code .token.entity,.vx-code-block__code .token.url{color:var(--vx-code-operator)}.vx-breakpoint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vx-breakpoint-card{display:flex;flex-direction:column;gap:10px}.vx-breakpoint-card strong{font-size:1.05rem;color:var(--vx-text)}.vx-doc-empty-state,.vx-error-shell,.vx-error-card,.vx-legal-shell,.vx-legal-hero,.vx-legal-section,.vx-legal-rail__card{display:flex;flex-direction:column}.vx-doc-empty-state,.vx-error-card,.vx-legal-section,.vx-legal-rail__card{gap:14px;padding:22px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-xl);background:color-mix(in srgb,var(--vx-surface) 90%,var(--vx-primary-soft))}.vx-doc-empty-state__icon,.vx-error-card__icon{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-doc-empty-state strong,.vx-legal-section h2,.vx-legal-rail__card h3{margin:0;color:var(--vx-text)}.vx-doc-empty-state p,.vx-legal-section p,.vx-legal-rail__card li,.vx-legal-hero p,.vx-error-card__copy,.vx-error-card__path span{margin:0;color:var(--vx-text-secondary);line-height:1.65}.vx-doc-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.vx-doc-popover-copy{width:min(260px,70vw);font-size:.875rem;line-height:1.5}.vx-template-launch{padding:16px;display:flex;flex-direction:column;gap:14px}.vx-template-launch__icon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-template-launch__head{gap:10px}.vx-template-launch__head p{margin:0}.vx-public--error,.vx-legal-page{min-height:100vh}.vx-legal-page{background:radial-gradient(120% 72% at 50% 0%,var(--vx-primary-soft) 0%,transparent 68%),linear-gradient(180deg,color-mix(in srgb,var(--vx-bg-accent) 58%,var(--vx-bg)) 0%,color-mix(in srgb,var(--vx-bg-accent) 24%,var(--vx-bg)) 22%,var(--vx-bg) 56%,color-mix(in srgb,var(--vx-primary-soft) 12%,var(--vx-bg)) 100%)}.vx-legal-page:before,.vx-legal-page:after{display:none}.vx-error-shell,.vx-legal-shell{width:min(1200px,calc(100% - 32px));margin:0 auto 56px;gap:24px}.vx-error-shell{min-height:calc(100vh - 160px);align-items:center;justify-content:center}.vx-error-card{width:min(720px,100%);align-items:flex-start}.vx-error-card__path{gap:4px}.vx-error-card__path strong{color:var(--vx-text);word-break:break-all}.vx-legal-shell{padding-top:28px}.vx-legal-hero{gap:16px;max-width:72ch}.vx-legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.vx-legal-main{display:flex;flex-direction:column;gap:18px}.vx-legal-section h2{font-size:1.35rem}.vx-legal-rail{position:sticky;top:88px;align-self:start}.vx-legal-rail__card ul{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:10px}.vx-legal-meta{color:var(--vx-text-muted)}@media(max-width:1180px){.vx-doc-library-grid,.vx-breakpoint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.vx-shell[data-tablet=true] .vx-topbar__menu{display:inline-flex}.vx-shell[data-tablet=true] .vx-shell__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--vx-glass-scrim);backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:18}.vx-shell[data-tablet=true][data-nav-open=true] .vx-shell__overlay{opacity:1;pointer-events:auto}.vx-shell[data-tablet=true] .vx-sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,320px);min-width:min(86vw,320px);height:100dvh;transform:translate(-100%);box-shadow:var(--vx-shadow-lg);border-right:1px solid var(--vx-border)}.vx-shell[data-tablet=true][data-nav-open=true] .vx-sidebar{transform:translate(0)}.vx-shell[data-tablet=true] .vx-sidebar__toggle{display:none}.vx-shell[data-tablet=true] .vx-shell__main{border-left:0}.vx-shell[data-tablet=true] .vx-topbar{gap:12px;flex-wrap:wrap;flex:0 0 auto;align-items:flex-start;min-height:0;height:auto;padding:14px 20px 12px}.vx-shell[data-tablet=true] .vx-topbar__menu{order:1;align-self:flex-start}.vx-shell[data-tablet=true] .vx-topbar__title-group{order:2;flex:1 1 0;width:auto;min-width:min(280px,100%);padding:0}.vx-shell[data-tablet=true] .vx-topbar__actions{order:3;flex:1 1 100%;width:100%;border-left:0;padding:10px 0 0;border-top:1px solid var(--vx-border);flex-wrap:wrap;justify-content:flex-start;overflow:visible}@media(max-width:1023px){.vx-docs-home__hero,.vx-doc-page__grid,.vx-doc-architecture-grid,.vx-legal-layout{grid-template-columns:1fr}.vx-legal-rail{position:static}}@media(max-width:720px){.vx-doc-metric-grid,.vx-doc-control-grid,.vx-doc-library-grid,.vx-breakpoint-grid,.vx-doc-skeleton-grid,.vx-doc-stat-grid,.vx-doc-shell-sample,.vx-doc-shell-sample__canvas{grid-template-columns:1fr}.vx-error-shell,.vx-legal-shell{width:min(100%,calc(100% - 24px))}.vx-docs-home__copy h1{font-size:2.5rem}.vx-docs-home__section-head h2,.vx-doc-page__hero h1,.vx-legal-hero h1,.vx-error-card__title{font-size:1.9rem}.vx-docs-toolbar{justify-content:flex-start}}.vx-text-component{margin:0;padding:0;color:var(--vx-text)}.vx-text--secondary{color:var(--vx-text-secondary)}.vx-text--muted{color:var(--vx-text-muted)}.vx-text--danger{color:var(--vx-danger)}.vx-text--success{color:var(--vx-success)}.vx-text-size--sm{font-size:.875rem}.vx-text-size--base{font-size:1rem}.vx-text-size--lg{font-size:1.125rem}.vx-text-size--xl{font-size:1.25rem}.vx-text-weight--normal{font-weight:400}.vx-text-weight--medium{font-weight:500}.vx-text-weight--semibold{font-weight:600}.vx-text-weight--bold{font-weight:700}.vx-text--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-heading{margin:0;color:var(--vx-text);letter-spacing:-.025em}.vx-heading--secondary{color:var(--vx-text-secondary)}.vx-heading--h1{font-size:2.25rem;line-height:2.5rem}.vx-heading--h2{font-size:1.875rem;line-height:2.25rem}.vx-heading--h3{font-size:1.5rem;line-height:2rem}.vx-heading--h4{font-size:1.25rem;line-height:1.75rem}.vx-heading--h5{font-size:1.125rem;line-height:1.75rem}.vx-heading--h6{font-size:1rem;line-height:1.5rem}.vx-heading-weight--normal{font-weight:400}.vx-heading-weight--medium{font-weight:500}.vx-heading-weight--semibold{font-weight:600}.vx-heading-weight--bold{font-weight:700}.vx-label{display:inline-flex;align-items:baseline;gap:2px;font-size:13px;font-weight:600;color:var(--vx-text);cursor:default}.vx-label__required{color:var(--vx-danger);font-size:13px}.vx-form{display:flex;flex-direction:column;gap:18px}.vx-form-field{display:flex;flex-direction:column;gap:6px}.vx-form-label{display:inline-flex;align-items:baseline;gap:2px;font-size:13px;font-weight:600;color:var(--vx-text)}.vx-form-label__required{color:var(--vx-danger)}.vx-form-description,.vx-form-message{font-size:12px;color:var(--vx-text-secondary);margin:0}.vx-form-message--error{color:var(--vx-danger)}.vx-alert-dialog__content{position:fixed;top:50%;left:50%;width:min(440px,calc(100vw - 32px));transform:translate(-50%,-50%);padding:24px;border-radius:16px;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vx-fade-in .15s ease}.vx-alert-dialog__title{margin:0 0 10px;font-size:17px;font-weight:600}.vx-alert-dialog__description{margin:0 0 20px;color:var(--vx-text-secondary);font-size:14px;line-height:1.6}.vx-alert-dialog__footer{display:flex;justify-content:flex-end;gap:10px}.vx-number-input{display:inline-flex;align-items:center;min-height:42px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);overflow:hidden;width:100%}.vx-number-input--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--vx-danger) 18%,transparent)}.vx-number-input--disabled{opacity:.5;cursor:not-allowed}.vx-number-input__btn{display:flex;align-items:center;justify-content:center;width:36px;height:100%;min-height:42px;flex-shrink:0;border:none;background:transparent;color:var(--vx-text-secondary);cursor:pointer;transition:background .12s,color .12s}.vx-number-input__btn:hover:not(:disabled){background:var(--vx-bg-accent);color:var(--vx-text)}.vx-number-input__btn:disabled{opacity:.35;cursor:not-allowed}.vx-number-input__field{flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--vx-text);font-size:14px;text-align:center;padding:0 4px;-moz-appearance:textfield}.vx-number-input__field:focus{outline:none}.vx-number-input__field::-webkit-inner-spin-button,.vx-number-input__field::-webkit-outer-spin-button{-webkit-appearance:none}.vx-calendar{display:inline-flex;flex-direction:column;gap:8px;padding:14px;background:var(--vx-surface);border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);-webkit-user-select:none;user-select:none;min-width:264px}.vx-calendar__header{display:flex;align-items:center;justify-content:space-between;padding:0 2px 6px}.vx-calendar__nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--vx-border);border-radius:8px;background:transparent;color:var(--vx-text-secondary);cursor:pointer;transition:background .12s,color .12s}.vx-calendar__nav-btn:hover{background:var(--vx-bg-accent);color:var(--vx-text)}.vx-calendar__month-label{font-size:14px;font-weight:600;color:var(--vx-text)}.vx-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.vx-calendar__weekday{display:flex;align-items:center;justify-content:center;height:32px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--vx-text-muted)}.vx-calendar__cell{display:flex;align-items:center;justify-content:center;height:34px;border-radius:8px;border:none;background:transparent;color:var(--vx-text);font-size:13.5px;cursor:pointer;transition:background .1s,color .1s}.vx-calendar__cell--empty{cursor:default}.vx-calendar__cell:hover:not(:disabled):not(.vx-calendar__cell--empty){background:var(--vx-bg-accent)}.vx-calendar__cell--today{font-weight:700;color:var(--vx-primary)}.vx-calendar__cell--selected{background:var(--vx-primary)!important;color:#fff!important;font-weight:600}.vx-calendar__cell--disabled{opacity:.3;cursor:not-allowed}.vx-datepicker{position:relative;display:flex;flex-direction:column;gap:8px}.vx-datepicker__trigger{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:14px;cursor:pointer;text-align:left;transition:border-color .14s;width:100%}.vx-datepicker__trigger:hover:not(:disabled){border-color:var(--vx-border-strong)}.vx-datepicker__trigger--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-datepicker__trigger--disabled{opacity:.5;cursor:not-allowed}.vx-datepicker__value{flex:1}.vx-datepicker__value--placeholder{color:var(--vx-text-muted)}.vx-datepicker__popover{position:absolute;top:calc(100% + 6px);left:0;z-index:700;animation:vx-fade-in .14s ease}.vx-combobox{position:relative;display:flex;flex-direction:column;gap:8px}.vx-combobox__trigger{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:14px;cursor:pointer;text-align:left;width:100%;transition:border-color .14s}.vx-combobox__trigger:hover:not(:disabled){border-color:var(--vx-border-strong)}.vx-combobox__trigger--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-combobox__trigger--disabled{opacity:.5;cursor:not-allowed}.vx-combobox__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-combobox__value--placeholder{color:var(--vx-text-muted)}.vx-combobox__icons{display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--vx-text-muted)}.vx-combobox__clear{display:flex;align-items:center;cursor:pointer;color:var(--vx-text-muted);transition:color .1s}.vx-combobox__clear:hover{color:var(--vx-text)}.vx-combobox__chevron{transition:transform .16s}.vx-combobox__chevron--open{transform:rotate(180deg)}.vx-combobox__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:700;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vx-fade-in .14s ease;overflow:hidden}.vx-combobox__search-wrap{padding:8px 8px 4px;border-bottom:1px solid var(--vx-border)}.vx-combobox__search{width:100%;padding:6px 10px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:13px}.vx-combobox__search:focus{outline:none;border-color:var(--vx-primary)}.vx-combobox__list{list-style:none;margin:0;padding:4px;max-height:220px;overflow-y:auto}.vx-combobox__option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:calc(var(--vx-radius) * .75);font-size:14px;color:var(--vx-text);cursor:pointer;transition:background .1s}.vx-combobox__option:hover:not(.vx-combobox__option--disabled){background:var(--vx-bg-accent)}.vx-combobox__option--selected{color:var(--vx-primary);font-weight:500}.vx-combobox__option--disabled{opacity:.4;cursor:not-allowed}.vx-combobox__empty{padding:12px 10px;font-size:13px;color:var(--vx-text-muted);text-align:center}.vx-file-upload{display:flex;flex-direction:column;gap:8px}.vx-file-upload__zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;border-radius:var(--vx-radius-lg);border:2px dashed var(--vx-border);background:var(--vx-surface);cursor:pointer;transition:border-color .16s,background .16s;text-align:center;position:relative}.vx-file-upload__zone:hover:not(.vx-file-upload__zone--disabled){border-color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-file-upload__zone--dragging{border-color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-file-upload__zone--disabled{opacity:.5;cursor:not-allowed}.vx-file-upload__zone--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-file-upload__icon{color:var(--vx-text-muted)}.vx-file-upload__text{margin:0;font-size:14px;color:var(--vx-text-secondary)}.vx-file-upload__link{color:var(--vx-primary);font-weight:500}.vx-file-upload__hint{margin:0;font-size:12px;color:var(--vx-text-muted)}.vx-file-upload__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:0;height:0;pointer-events:none}.vx-file-upload__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.vx-file-upload__file{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);font-size:13px}.vx-file-upload__file-icon{color:var(--vx-text-muted);flex-shrink:0}.vx-file-upload__file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--vx-text)}.vx-file-upload__file-size{color:var(--vx-text-muted);flex-shrink:0;font-size:12px}.vx-file-upload__remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--vx-text-muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.vx-file-upload__remove:hover{background:color-mix(in srgb,var(--vx-danger) 12%,transparent);color:var(--vx-danger)}.vx-sheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--vx-glass-scrim);backdrop-filter:blur(8px) saturate(1.08);-webkit-backdrop-filter:blur(8px) saturate(1.08);z-index:800;animation:vx-fade-in .2s ease}.vx-sheet{position:fixed;z-index:801;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-shadow);display:flex;flex-direction:column}.vx-sheet--right{top:0;right:0;bottom:0;width:min(420px,90vw);border-left:1px solid var(--vx-glass-border);animation:vx-sheet-slide-right .22s ease}.vx-sheet--left{top:0;left:0;bottom:0;width:min(420px,90vw);border-right:1px solid var(--vx-glass-border);animation:vx-sheet-slide-left .22s ease}.vx-sheet--top{top:0;left:0;right:0;max-height:60vh;border-bottom:1px solid var(--vx-glass-border);animation:vx-sheet-slide-top .22s ease}.vx-sheet--bottom{bottom:0;left:0;right:0;max-height:60vh;border-top:1px solid var(--vx-glass-border);border-radius:var(--vx-radius-xl) var(--vx-radius-xl) 0 0;animation:vx-sheet-slide-bottom .22s ease}.vx-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 20px 0}.vx-sheet__title{margin:0;font-size:17px;font-weight:600}.vx-sheet__description{margin:6px 0 0;font-size:14px;color:var(--vx-text-secondary)}.vx-sheet__body{flex:1;overflow-y:auto;padding:20px}.vx-sheet__footer{padding:14px 20px;border-top:1px solid var(--vx-border);display:flex;justify-content:flex-end;gap:10px}@keyframes vx-sheet-slide-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes vx-sheet-slide-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes vx-sheet-slide-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vx-sheet-slide-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.vx-scroll-area{overflow:hidden;position:relative}.vx-scroll-area__viewport{width:100%;height:100%;max-height:inherit;max-width:inherit;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--vx-border-strong) transparent}.vx-scroll-area__viewport::-webkit-scrollbar{width:6px;height:6px}.vx-scroll-area__viewport::-webkit-scrollbar-thumb{background:var(--vx-border-strong);border-radius:99px}.vx-scroll-area__viewport::-webkit-scrollbar-track{background:transparent}.vx-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:var(--vx-surface);color:var(--vx-text-secondary);font-size:14px;cursor:pointer;transition:background .14s,color .14s,border-color .14s}.vx-toggle:hover:not(:disabled){background:var(--vx-bg-accent);color:var(--vx-text)}.vx-toggle--on{background:var(--vx-primary-soft);border-color:color-mix(in srgb,var(--vx-primary) 30%,var(--vx-border));color:var(--vx-primary)}.vx-toggle--sm{height:32px;padding:0 10px;font-size:13px}.vx-toggle--md{height:38px;padding:0 14px}.vx-toggle--lg{height:44px;padding:0 18px;font-size:15px}.vx-toggle:disabled{opacity:.4;cursor:not-allowed}.vx-toggle-group{display:inline-flex}.vx-toggle-group__item{border-radius:0}.vx-toggle-group__item:first-child{border-radius:var(--vx-radius-sm) 0 0 var(--vx-radius-sm)}.vx-toggle-group__item:last-child{border-radius:0 var(--vx-radius-sm) var(--vx-radius-sm) 0}.vx-toggle-group__item+.vx-toggle-group__item{margin-left:-1px}.vx-context-menu-wrap{display:contents}.vx-hovercard-wrap{position:relative;display:inline-flex}.vx-hovercard{position:absolute;z-index:600;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:12px 14px;min-width:200px;max-width:320px;animation:vx-fade-in .15s ease}.vx-hovercard--bottom{top:calc(100% + 8px);left:0}.vx-hovercard--top{bottom:calc(100% + 8px);left:0}.vx-hovercard--left{right:calc(100% + 8px);top:0}.vx-hovercard--right{left:calc(100% + 8px);top:0}.vx-menubar{display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius)}.vx-menubar__item-wrap{position:relative}.vx-menubar__trigger{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;border:none;background:transparent;color:var(--vx-text-secondary);font-size:13.5px;cursor:pointer;transition:background .12s,color .12s}.vx-menubar__trigger:hover:not(:disabled){background:var(--vx-bg-accent);color:var(--vx-text)}.vx-menubar__trigger--open{background:var(--vx-bg-accent);color:var(--vx-text)}.vx-menubar__trigger:disabled{opacity:.4;cursor:not-allowed}.vx-nav-menu{display:inline-flex}.vx-nav-menu__list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.vx-nav-menu__item-wrap{position:relative}.vx-nav-menu__link{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--vx-radius-sm);border:none;background:transparent;color:var(--vx-text-secondary);font-size:14px;text-decoration:none;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.vx-nav-menu__link:hover{background:var(--vx-bg-accent);color:var(--vx-text)}.vx-nav-menu__link--active{color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-nav-menu__chevron{transition:transform .16s}.vx-nav-menu__chevron--open{transform:rotate(180deg)}.vx-nav-menu__dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:700;min-width:220px;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:6px;animation:vx-fade-in .14s ease}.vx-nav-menu__sub-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:calc(var(--vx-radius) * .75);text-decoration:none;color:var(--vx-text);transition:background .1s}.vx-nav-menu__sub-item:hover{background:var(--vx-bg-accent)}.vx-nav-menu__sub-icon{display:flex;align-items:center;margin-top:1px;color:var(--vx-text-muted);flex-shrink:0}.vx-nav-menu__sub-label{display:block;font-size:13.5px;font-weight:500;color:var(--vx-text)}.vx-nav-menu__sub-desc{display:block;font-size:12px;color:var(--vx-text-secondary);margin-top:2px}.vx-stepper{list-style:none;margin:0;padding:0;display:flex}.vx-stepper--horizontal{flex-direction:row;align-items:flex-start;gap:0}.vx-stepper--vertical{flex-direction:column;gap:0}.vx-stepper__step{display:flex;align-items:center;gap:10px;flex:1;position:relative}.vx-stepper--vertical .vx-stepper__step{flex-direction:column;align-items:flex-start;flex:0 0 auto;padding-bottom:24px}.vx-stepper__indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--vx-border);background:var(--vx-surface);font-size:13px;font-weight:600;color:var(--vx-text-muted);flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.vx-stepper__step--active .vx-stepper__indicator{border-color:var(--vx-primary);color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-stepper__step--completed .vx-stepper__indicator{border-color:var(--vx-primary);background:var(--vx-primary);color:#fff}.vx-stepper__step--error .vx-stepper__indicator{border-color:var(--vx-danger);background:color-mix(in srgb,var(--vx-danger) 12%,transparent);color:var(--vx-danger)}.vx-stepper__content{display:flex;flex-direction:column;gap:2px}.vx-stepper__label{font-size:13.5px;font-weight:600;color:var(--vx-text);white-space:nowrap}.vx-stepper__step--pending .vx-stepper__label{color:var(--vx-text-muted)}.vx-stepper__description{font-size:12px;color:var(--vx-text-secondary)}.vx-stepper__connector{flex:1;height:2px;background:var(--vx-border);margin:15px 6px 0;align-self:flex-start}.vx-stepper--vertical .vx-stepper__connector{position:absolute;left:15px;top:36px;bottom:0;width:2px;height:auto;margin:0;align-self:unset}.vx-stepper__step--completed .vx-stepper__connector,.vx-stepper__step--active .vx-stepper__connector{background:var(--vx-primary)}.vx-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vx-timeline__item{display:flex;gap:16px;position:relative;padding-bottom:24px}.vx-timeline__item:last-child{padding-bottom:0}.vx-timeline__item:before{content:"";position:absolute;left:11px;top:28px;bottom:0;width:2px;background:var(--vx-border)}.vx-timeline__item:last-child:before{display:none}.vx-timeline__dot{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--vx-border);border:2px solid var(--vx-surface);flex-shrink:0;z-index:1;margin-top:2px}.vx-timeline__item--success .vx-timeline__dot{background:var(--vx-success)}.vx-timeline__item--danger .vx-timeline__dot{background:var(--vx-danger)}.vx-timeline__item--warning .vx-timeline__dot{background:var(--vx-warning)}.vx-timeline__item--info .vx-timeline__dot{background:var(--vx-info)}.vx-timeline__body{flex:1;min-width:0}.vx-timeline__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.vx-timeline__title{font-size:14px;font-weight:600;color:var(--vx-text)}.vx-timeline__time{font-size:12px;color:var(--vx-text-muted);white-space:nowrap;flex-shrink:0}.vx-timeline__description{margin:4px 0 0;font-size:13.5px;color:var(--vx-text-secondary);line-height:1.55}.vx-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:10px}.vx-empty-state__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--vx-bg-accent);color:var(--vx-text-muted);margin-bottom:4px}.vx-empty-state__title{margin:0;font-size:16px;font-weight:600;color:var(--vx-text)}.vx-empty-state__description{margin:0;font-size:14px;color:var(--vx-text-secondary);max-width:360px;line-height:1.6}.vx-empty-state__action{margin-top:8px}.vx-carousel{position:relative;overflow:hidden;border-radius:var(--vx-radius-lg);background:var(--vx-surface);-webkit-user-select:none;user-select:none}.vx-carousel__track-wrap{overflow:hidden;width:100%}.vx-carousel__track{display:flex;transition:transform .38s cubic-bezier(.4,0,.2,1)}.vx-carousel__slide{flex:0 0 100%;width:100%}.vx-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--vx-glass-border);background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);color:var(--vx-text);cursor:pointer;z-index:10;transition:background .14s,opacity .14s}.vx-carousel__arrow:hover:not(:disabled){background:var(--vx-surface)}.vx-carousel__arrow:disabled{opacity:.3;cursor:not-allowed}.vx-carousel__arrow--prev{left:12px}.vx-carousel__arrow--next{right:12px}.vx-carousel__dots{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0 8px}.vx-carousel__dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--vx-border-strong);cursor:pointer;padding:0;transition:background .2s,transform .2s}.vx-carousel__dot--active{background:var(--vx-primary);transform:scale(1.3)}.vx-rating{display:inline-flex;align-items:center;gap:2px}.vx-rating--disabled{opacity:.4;pointer-events:none}.vx-rating__star{display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:2px;cursor:pointer;color:var(--vx-border-strong);transition:color .12s,transform .12s}.vx-rating__star:hover{transform:scale(1.15)}.vx-rating__star--active{color:#f59e0b}.vx-rating--sm .vx-rating__star svg{width:16px;height:16px}.vx-rating--md .vx-rating__star svg{width:20px;height:20px}.vx-rating--lg .vx-rating__star svg{width:26px;height:26px}.vx-tree{list-style:none;margin:0;padding:0;font-size:14px}.vx-tree__children{list-style:none;margin:0;padding:0}.vx-tree__node{display:flex;align-items:center;gap:6px;min-height:34px;border-radius:var(--vx-radius-sm);color:var(--vx-text);cursor:pointer;transition:background .1s;outline:none;padding-right:8px}.vx-tree__node:hover{background:var(--vx-bg-accent)}.vx-tree__node:focus-visible{box-shadow:0 0 0 2px var(--vx-primary)}.vx-tree__node--selected{background:var(--vx-primary-soft);color:var(--vx-primary)}.vx-tree__node--disabled{opacity:.4;cursor:not-allowed}.vx-tree__expand{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.vx-tree__expand--hidden{visibility:hidden}.vx-tree__chevron{color:var(--vx-text-muted);transition:transform .18s}.vx-tree__chevron--open{transform:rotate(90deg)}.vx-tree__icon{display:flex;align-items:center;color:var(--vx-text-muted);flex-shrink:0}.vx-tree__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-tag-input{display:flex;flex-direction:column;gap:8px}.vx-tag-input__wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 10px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);cursor:text;transition:border-color .14s}.vx-tag-input__wrap:focus-within{border-color:var(--vx-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 14%,transparent)}.vx-tag-input__wrap--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-tag-input__wrap--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.vx-tag-input__tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 10px;border-radius:99px;background:var(--vx-primary-soft);color:var(--vx-primary);font-size:12.5px;font-weight:500;white-space:nowrap}.vx-tag-input__remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity .12s,background .12s;padding:0}.vx-tag-input__remove:hover{opacity:1;background:color-mix(in srgb,var(--vx-primary) 20%,transparent)}.vx-tag-input__input{flex:1 1 80px;min-width:60px;border:none;background:transparent;color:var(--vx-text);font-size:14px;outline:none;padding:0}.vx-tag-input__input::placeholder{color:color-mix(in srgb,var(--vx-text-muted) 72%,transparent)}.vx-colorpicker{display:flex;flex-direction:column;gap:8px;position:relative}.vx-colorpicker__row{display:flex;align-items:center;gap:10px}.vx-colorpicker__swatch-btn{width:36px;height:36px;border-radius:8px;border:2px solid var(--vx-border);background:var(--vx-cp-color, #3b82f6);cursor:pointer;flex-shrink:0;transition:border-color .14s,box-shadow .14s}.vx-colorpicker__swatch-btn:hover:not(:disabled){border-color:var(--vx-border-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 14%,transparent)}.vx-colorpicker__swatch-btn--disabled{opacity:.5;cursor:not-allowed}.vx-colorpicker__hex-input{flex:1;min-height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:13px;font-family:monospace}.vx-colorpicker__hex-input:focus{outline:none;border-color:var(--vx-primary)}.vx-colorpicker__panel{position:absolute;top:calc(100% + 6px);left:0;z-index:800;padding:14px;width:240px;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius-lg);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vx-fade-in .14s ease;display:flex;flex-direction:column;gap:10px}.vx-colorpicker__section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--vx-text-muted);margin-bottom:-4px}.vx-colorpicker__hue-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:12px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#7f00ff,#f0f,#ff0080,red)}.vx-colorpicker__sat-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:12px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,hsl(var(--vx-cp-hue, 0),0%,50%),hsl(var(--vx-cp-hue, 0),100%,50%))}.vx-colorpicker__lit-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:12px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,hsl(var(--vx-cp-hue, 0),var(--vx-cp-sat, 100%),0%),hsl(var(--vx-cp-hue, 0),var(--vx-cp-sat, 100%),50%),hsl(var(--vx-cp-hue, 0),var(--vx-cp-sat, 100%),100%))}.vx-colorpicker__hue-slider::-webkit-slider-thumb,.vx-colorpicker__sat-slider::-webkit-slider-thumb,.vx-colorpicker__lit-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0003,0 2px 6px #0003;background:transparent;cursor:grab}.vx-colorpicker__presets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.vx-colorpicker__preset{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s}.vx-colorpicker__preset:hover{transform:scale(1.12)}.vx-colorpicker__preset--active{border-color:var(--vx-primary);box-shadow:0 0 0 2px var(--vx-primary-soft)}.vx-colorpicker__close{align-self:flex-end;padding:5px 14px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:13px;cursor:pointer;transition:background .12s}.vx-colorpicker__close:hover{background:var(--vx-bg-accent)}.vx-resizable-group{display:flex;width:100%;height:100%;overflow:hidden}.vx-resizable-group--horizontal{flex-direction:row}.vx-resizable-group--vertical{flex-direction:column}.vx-resizable-panel{flex:0 0 var(--vx-panel-size, 50%);overflow:auto;min-width:0;min-height:0}.vx-resizable-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .14s}.vx-resizable-handle--horizontal{width:6px;cursor:col-resize}.vx-resizable-handle--vertical{height:6px;cursor:row-resize;flex-direction:column}.vx-resizable-handle:hover,.vx-resizable-handle--active{background:var(--vx-primary-soft)}.vx-resizable-handle__bar{border-radius:99px;background:var(--vx-border-strong);transition:background .14s}.vx-resizable-handle--horizontal .vx-resizable-handle__bar{width:2px;height:32px}.vx-resizable-handle--vertical .vx-resizable-handle__bar{height:2px;width:32px}.vx-resizable-handle:hover .vx-resizable-handle__bar,.vx-resizable-handle--active .vx-resizable-handle__bar{background:var(--vx-primary)}
1
+ :root{color-scheme:light;--vx-primary: #2563eb;--vx-primary-strong: #1d4ed8;--vx-primary-soft: rgba(37, 99, 235, .1);--vx-secondary: #64748b;--vx-success: #10b981;--vx-warning: #f59e0b;--vx-danger: #ef4444;--vx-info: #3b82f6;--vx-bg: #f8fafc;--vx-bg-accent: #f1f5f9;--vx-surface: #ffffff;--vx-surface-strong: #ffffff;--vx-surface-hover: #f8fafc;--vx-border: #e2e8f0;--vx-border-strong: #cbd5e1;--vx-text: #0f172a;--vx-text-secondary: #64748b;--vx-text-muted: #94a3b8;--vx-code-bg: color-mix(in srgb, var(--vx-bg-accent) 78%, var(--vx-surface));--vx-code-text: #0f172a;--vx-code-border: color-mix(in srgb, var(--vx-border-strong) 72%, var(--vx-border));--vx-code-comment: #64748b;--vx-code-keyword: #2563eb;--vx-code-string: #047857;--vx-code-number: #b45309;--vx-code-function: #0f766e;--vx-code-property: #1d4ed8;--vx-code-class: #c2410c;--vx-code-tag: #be123c;--vx-code-attr-name: #0f766e;--vx-code-attr-value: #b45309;--vx-code-punctuation: #475569;--vx-code-operator: #0f172a;--vx-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--vx-shadow: 0 12px 30px rgba(15, 23, 42, .06);--vx-shadow-lg: 0 28px 60px rgba(15, 23, 42, .12);--vx-glass-bg: color-mix(in srgb, var(--vx-surface-strong) 82%, transparent);--vx-glass-bg-strong: color-mix(in srgb, var(--vx-surface-strong) 90%, transparent);--vx-glass-border: color-mix(in srgb, var(--vx-border-strong) 52%, var(--vx-border));--vx-glass-shadow: 0 18px 48px rgba(15, 23, 42, .12);--vx-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .22);--vx-glass-filter: blur(18px) saturate(1.7);--vx-glass-scrim: color-mix(in srgb, var(--vx-bg) 44%, transparent);--vxm-drawer-bg: var(--vx-glass-bg-strong);--vx-radius-sm: 8px;--vx-radius: 10px;--vx-radius-lg: 14px;--vx-radius-xl: 20px;--vx-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vx-mono: "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--vx-sidebar-width: 240px;--vx-sidebar-width-collapsed: 72px;--vx-header-height: 92px;--vx-content-width: 1100px}:root[data-theme=dark]{color-scheme:dark;--vx-primary: #3b82f6;--vx-primary-strong: #2563eb;--vx-primary-soft: rgba(59, 130, 246, .14);--vx-bg: #0f172a;--vx-bg-accent: #111827;--vx-surface: #111827;--vx-surface-strong: #0f172a;--vx-surface-hover: #172033;--vx-border: rgba(148, 163, 184, .18);--vx-border-strong: rgba(148, 163, 184, .32);--vx-text: #f8fafc;--vx-text-secondary: #94a3b8;--vx-text-muted: #94a3b8;--vx-code-bg: color-mix(in srgb, var(--vx-bg-accent) 72%, black 10%);--vx-code-text: #e2e8f0;--vx-code-border: var(--vx-border);--vx-code-comment: #94a3b8;--vx-code-keyword: #93c5fd;--vx-code-string: #86efac;--vx-code-number: #fdba74;--vx-code-function: #67e8f9;--vx-code-property: #bfdbfe;--vx-code-class: #fdba74;--vx-code-tag: #fda4af;--vx-code-attr-name: #5eead4;--vx-code-attr-value: #fde68a;--vx-code-punctuation: #cbd5e1;--vx-code-operator: #e2e8f0;--vx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--vx-shadow: 0 18px 44px rgba(0, 0, 0, .24);--vx-shadow-lg: 0 28px 70px rgba(0, 0, 0, .34);--vx-glass-bg: color-mix(in srgb, var(--vx-surface-strong) 86%, transparent);--vx-glass-bg-strong: color-mix(in srgb, var(--vx-surface-strong) 94%, transparent);--vx-glass-border: color-mix(in srgb, var(--vx-border-strong) 72%, var(--vx-border));--vx-glass-shadow: 0 22px 54px rgba(0, 0, 0, .42);--vx-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .08);--vx-glass-filter: blur(20px) saturate(1.55);--vx-glass-scrim: color-mix(in srgb, #020408 58%, transparent)}:root[data-theme-name=indigo]{color-scheme:light;--vx-code-bg: color-mix(in srgb, #dde3f0 72%, #ffffff);--vx-code-text: #1a2336;--vx-code-border: #bfc8e8;--vx-code-comment: #6b7a99;--vx-code-keyword: #5c5fe8;--vx-code-string: #059669;--vx-code-number: #b45309;--vx-code-function: #0f766e;--vx-code-property: #4f52d4;--vx-code-class: #c2410c;--vx-code-tag: #be123c;--vx-code-attr-name: #0f766e;--vx-code-attr-value: #b45309;--vx-code-punctuation: #4a5572;--vx-code-operator: #1a2336;--vx-glass-filter: blur(16px) saturate(1.8);--vx-glass-scrim: color-mix(in srgb, #e8ecf6 48%, transparent)}[data-theme-name=indigo] .vx-input{background:color-mix(in srgb,#eef0ff 80%,#ffffff);border-color:#d4daf0}[data-theme-name=indigo] .vx-input:focus-within{background:#fff;border-color:#5c5fe8;box-shadow:0 0 0 3px #5c5fe81f}[data-theme-name=indigo] .vx-card{background:#fff;border-color:#d4daf0;box-shadow:0 4px 24px #1c285014}[data-theme-name=indigo] .vx-input,[data-theme-name=indigo] .vx-badge{border-radius:12px}:root[data-theme-name=violet]{color-scheme:light;--vx-code-bg: color-mix(in srgb, #ede9fe 72%, #ffffff);--vx-code-text: #1e1b2e;--vx-code-border: #c9bffd;--vx-code-comment: #8b7fc8;--vx-code-keyword: #7c3aed;--vx-code-string: #059669;--vx-code-number: #b45309;--vx-code-function: #0f766e;--vx-code-property: #6d28d9;--vx-code-class: #c2410c;--vx-code-tag: #be123c;--vx-code-attr-name: #0f766e;--vx-code-attr-value: #b45309;--vx-code-punctuation: #6e6a8a;--vx-code-operator: #1e1b2e;--vx-glass-filter: blur(18px) saturate(1.9);--vx-glass-scrim: color-mix(in srgb, #f8f7ff 46%, transparent)}[data-theme-name=violet] .vx-input,[data-theme-name=violet] .vx-badge,[data-theme-name=violet] .vx-cmd-trigger,[data-theme-name=violet] .vx-lang-drop__trigger,[data-theme-name=violet-dark] .vx-input,[data-theme-name=violet-dark] .vx-badge,[data-theme-name=violet-dark] .vx-cmd-trigger,[data-theme-name=violet-dark] .vx-lang-drop__trigger,[data-theme-name=vxai] .vx-input,[data-theme-name=vxai] .vx-badge,[data-theme-name=vxai] .vx-cmd-trigger,[data-theme-name=vxai] .vx-lang-drop__trigger,[data-theme-name=vxai-dark] .vx-input,[data-theme-name=vxai-dark] .vx-badge{border-radius:12px}[data-theme-name=vxai] .vx-button--outline,[data-theme-name=vxai-dark] .vx-button--outline{background:var(--vx-surface);box-shadow:var(--vx-shadow-sm);border-color:var(--vx-border)}[data-theme-name=vxai] .vx-button--outline:hover,[data-theme-name=vxai-dark] .vx-button--outline:hover{background:var(--vx-surface-hover);border-color:var(--vx-border-strong)}:root[data-theme-name=violet-dark]{color-scheme:dark;--vx-code-bg: color-mix(in srgb, #13102a 72%, #0d0b1a 10%);--vx-code-text: #f0eeff;--vx-code-border: rgba(167, 139, 250, .2);--vx-code-comment: #8b7fc8;--vx-code-keyword: #c4b5fd;--vx-code-string: #6ee7b7;--vx-code-number: #fde68a;--vx-code-function: #67e8f9;--vx-code-property: #ddd6fe;--vx-code-class: #fdba74;--vx-code-tag: #fda4af;--vx-code-attr-name: #5eead4;--vx-code-attr-value: #fde68a;--vx-code-punctuation: #c4b5fd;--vx-code-operator: #f0eeff;--vx-glass-filter: blur(20px) saturate(1.65)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--vx-font);background:var(--vx-bg);color:var(--vx-text);line-height:1.5;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}.vx-shell{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;display:flex;background:var(--vx-bg);overflow:hidden}.vx-shell[data-collapsed=true]{--vx-sidebar-width: var(--vx-sidebar-width-collapsed)}.vx-sidebar{position:sticky;top:0;width:var(--vx-sidebar-width);min-width:var(--vx-sidebar-width);height:100%;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease,transform .18s ease;z-index:20}.vx-sidebar__scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.vx-shell__overlay{display:none}.vx-sidebar__header{flex:0 0 var(--vx-header-height);height:var(--vx-header-height);padding:0 20px;display:flex;align-items:stretch;justify-content:space-between;gap:12px;background:var(--vx-glass-bg-strong);box-shadow:inset 0 -1px 0 var(--vx-border)}.vx-sidebar__brand{width:100%;display:inline-flex;align-items:center;gap:14px;min-width:0}.vx-sidebar__brand-icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft);box-shadow:inset 0 1px #ffffff2e,0 10px 24px #0f172a14}.vx-sidebar__brand-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.vx-sidebar__brand-text{font-size:1.3rem;font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--vx-text)}.vx-sidebar__brand-caption{color:var(--vx-text-secondary);font-size:.82rem;line-height:1.45}.vx-sidebar__toggle{width:100%;justify-content:flex-start;gap:10px;padding:0 10px;color:var(--vx-text-muted)}.vx-sidebar__toggle:hover{color:var(--vx-text)}.vx-sidebar__toggle-label{font-size:13px;font-weight:500}.vx-sidebar__nav{padding:16px 10px 24px;display:flex;flex-direction:column;gap:18px}.vx-nav-section-block{padding-bottom:18px;border-bottom:1px solid var(--vx-border)}.vx-nav-section-block:last-child{padding-bottom:0;border-bottom:0}.vx-nav-section-block__title{padding:0 10px 10px;color:var(--vx-text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vx-nav-section-block__items{display:flex;flex-direction:column;gap:4px}.vx-nav-item{width:100%;min-height:40px;padding:0 10px;border-radius:var(--vx-radius);border:1px solid transparent;background:transparent;color:var(--vx-text-secondary);display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease}.vx-nav-item:hover{background:var(--vx-surface-hover)}.vx-nav-item--active{color:var(--vx-primary);background:var(--vx-primary-soft);border-color:#2563eb24}.vx-nav-item__icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.vx-nav-item__label{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500;line-height:1.35;letter-spacing:-.01em}.vx-nav-item__badge,.vx-nav-item__trailing{margin-left:auto;color:var(--vx-text-muted);display:inline-flex;align-items:center}.vx-sidebar__footer{margin-top:auto;padding:8px 10px;border-top:1px solid var(--vx-border);display:flex;flex-direction:column;gap:4px}.vx-sidebar__footer-content{padding-bottom:4px;border-bottom:1px solid var(--vx-border);margin-bottom:4px}.vx-shell[data-collapsed=true] .vx-nav-section-block__title,.vx-shell[data-collapsed=true] .vx-nav-item__label,.vx-shell[data-collapsed=true] .vx-nav-item__badge,.vx-shell[data-collapsed=true] .vx-nav-item__trailing,.vx-shell[data-collapsed=true] .vx-sidebar__brand-caption,.vx-shell[data-collapsed=true] .vx-sidebar__brand-copy,.vx-shell[data-collapsed=true] .vx-sidebar__toggle-label{display:none}.vx-shell[data-collapsed=true] .vx-sidebar__brand,.vx-shell[data-collapsed=true] .vx-nav-item{justify-content:center}.vx-shell[data-collapsed=true] .vx-sidebar__header{padding-inline:10px;justify-content:center}.vx-shell[data-collapsed=true] .vx-sidebar__toggle{justify-content:center;width:100%;padding:0}.vx-shell__main{min-width:0;flex:1 1 auto;height:100%;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--vx-border)}.vx-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:16px;flex:0 0 var(--vx-header-height);min-height:var(--vx-header-height);height:var(--vx-header-height);padding:0 26px;background:var(--vx-surface);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 -1px 0 var(--vx-border);overflow:visible}.vx-topbar__title-group{display:flex;align-items:center;flex:1 1 auto;min-width:0;min-height:0;padding:12px 0}.vx-topbar__title-group>*{width:100%}.vx-topbar__breadcrumb{display:flex;align-items:center;gap:8px;color:var(--vx-text-secondary);font-size:14px;font-weight:600;line-height:1.2;letter-spacing:-.01em}.vx-topbar__breadcrumb strong{color:var(--vx-text)}.vx-topbar__separator{color:var(--vx-text-muted)}.vx-topbar__title{margin:0;font-size:1.45rem;line-height:1.08;letter-spacing:-.025em}.vx-topbar__description{margin:6px 0 0;color:var(--vx-text-secondary);font-size:14px;line-height:1.5;max-width:56ch}.vx-topbar__actions{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;flex:0 0 auto;align-self:stretch;min-width:0;padding:12px 0 12px 18px;overflow:visible}.vx-shell__content-wrap{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.vx-shell__content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:28px 24px 48px}.vx-scroll-hide-native{min-height:0;scrollbar-width:none;-ms-overflow-style:none}.vx-scroll-hide-native::-webkit-scrollbar{width:0;height:0}.vx-overlay-scrollbar{position:absolute;top:8px;right:4px;bottom:8px;width:10px;pointer-events:none;opacity:0;transition:opacity .18s ease}.vx-overlay-scrollbar__thumb{position:absolute;right:2px;width:6px;min-height:36px;height:var(--vx-scrollbar-thumb-height, 0px);transform:translateY(var(--vx-scrollbar-thumb-offset, 0px));border-radius:999px;background:color-mix(in srgb,var(--vx-text-secondary) 34%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vx-text-secondary) 18%,transparent)}.vx-scroll-host[data-scrollable=true][data-scrollbar-state=active] .vx-overlay-scrollbar{opacity:1}:root[data-theme=dark] .vx-overlay-scrollbar__thumb{background:color-mix(in srgb,var(--vx-text-muted) 48%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vx-text-muted) 22%,transparent)}.vx-page{display:flex;flex-direction:column;gap:0;width:100%;max-width:var(--vx-content-width)}.vx-docs-hero h1,.vx-docs-article h1{margin:0;font-size:clamp(48px,7vw,64px);line-height:1.02;letter-spacing:-.035em}.vx-docs-hero{padding:8px 0 0}.vx-docs-hero p,.vx-docs-lead{margin:18px 0 0;max-width:72ch;color:var(--vx-text-secondary);font-size:16px;line-height:1.58}.vx-docs-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.vx-docs-section{margin-top:40px;padding-top:40px;border-top:1px solid var(--vx-border)}.vx-docs-section h2{margin:0 0 16px;font-size:20px;line-height:1.15;letter-spacing:-.02em}.vx-docs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.vx-doc-stat{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.vx-doc-stat__copy{display:flex;flex-direction:column;gap:8px}.vx-doc-stat__label{color:var(--vx-text-secondary);font-size:14px;font-weight:600}.vx-doc-stat__value{font-size:22px;font-weight:800;letter-spacing:-.04em}.vx-doc-stat__hint{color:var(--vx-text-secondary);font-size:13px;line-height:1.5}.vx-doc-stat__icon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-docs-token-grid,.vx-docs-component-grid,.vx-docs-article-grid{display:grid;gap:16px}.vx-docs-lead+.vx-docs-token-grid,.vx-docs-lead+.vx-docs-component-grid,.vx-docs-lead+.vx-docs-article-grid{margin-top:24px}.vx-docs-token-grid,.vx-docs-component-grid,.vx-docs-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-doc-token-card{gap:16px}.vx-doc-token-card__swatch{width:100%;height:72px;border-radius:12px;border:1px solid rgba(255,255,255,.32);box-shadow:inset 0 0 0 1px #0f172a0d}.vx-doc-token-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vx-doc-token-card__name{font-size:15px;font-weight:700}.vx-doc-token-card__var{color:var(--vx-text-muted);font-size:13px;font-family:var(--vx-mono)}.vx-doc-token-card__description{color:var(--vx-text-secondary);font-size:14px;line-height:1.6}.vx-doc-family-card .vx-card__content{justify-content:flex-end}.vx-docs-kicker{color:var(--vx-primary);font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;margin-bottom:12px}.vx-docs-article{padding-top:8px}.vx-docs-guidance{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--vx-text-secondary);line-height:1.6}.vx-docs-code{margin:0;padding:16px;border-radius:12px;background:var(--vx-bg-accent);border:1px solid var(--vx-border);color:var(--vx-text);font-size:13px;line-height:1.65;font-family:var(--vx-mono);white-space:pre-wrap}.vx-preview-shell{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:12px;border-radius:12px;border:1px solid var(--vx-border);background:var(--vx-bg-accent)}.vx-preview-shell__sidebar,.vx-preview-shell__content{display:flex;flex-direction:column;gap:10px}.vx-preview-shell__sidebar,.vx-preview-shell__content{padding:12px;border-radius:10px;background:var(--vx-surface);border:1px solid var(--vx-border)}.vx-preview-shell__line,.vx-preview-grid__item{border-radius:10px;background:color-mix(in srgb,var(--vx-primary) 10%,var(--vx-surface));border:1px solid var(--vx-border)}.vx-preview-shell__line{height:14px}.vx-preview-shell__line--strong{height:18px;width:68%}.vx-preview-shell__line--header{height:20px;width:42%}.vx-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vx-preview-grid--page{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-preview-grid__item{min-height:72px}.vx-preview-grid__item--wide{grid-column:1 / -1;min-height:110px}.vx-preview-list{border:1px solid var(--vx-border);border-radius:12px;overflow:hidden}.vx-preview-list__row{display:grid;grid-template-columns:minmax(0,1.5fr) 120px 120px;gap:12px;padding:12px 14px;font-size:14px;border-top:1px solid var(--vx-border)}.vx-preview-list__row:first-child{border-top:0}.vx-preview-list__row--header{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vx-text-muted);background:var(--vx-bg-accent)}.vx-empty-state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 24px;border-radius:12px;border:1px dashed var(--vx-border-strong);background:var(--vx-bg-accent);text-align:center}.vx-empty-state__icon{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-empty-state__title{font-size:18px;font-weight:700}.vx-empty-state__copy{max-width:360px;margin:0;color:var(--vx-text-secondary);line-height:1.65}.vx-inline{display:flex;align-items:center;gap:10px}.vx-inline--wrap{flex-wrap:wrap}.vx-version-pill{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 12px;border-radius:var(--vx-radius);border:1px solid var(--vx-glass-border);background:color-mix(in srgb,var(--vx-primary-soft) 26%,var(--vx-glass-bg-strong));backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);box-shadow:var(--vx-glass-highlight);color:var(--vx-primary);font-size:13px;font-weight:700}.vx-version-pill--token{color:var(--vx-text-secondary);background:color-mix(in srgb,var(--vx-bg-accent) 20%,var(--vx-glass-bg))}.vx-button{min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:var(--vx-radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.vx-button:focus-visible,.vx-input:focus-within,.vx-switch__control:focus-visible,.vx-nav-item:focus-visible,.vx-dialog__close:focus-visible,.vx-tabs__trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vx-button svg{flex:0 0 auto}.vx-button--sm{min-height:36px;padding:0 12px;font-size:13px}.vx-button--md{min-height:42px;padding:0 16px;font-size:14px}.vx-button--lg{min-height:48px;padding:0 18px;font-size:15px}.vx-button--full-width{width:100%}.vx-button--square{border-radius:0}.vx-button--pill{border-radius:9999px}.vx-button--gradient{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent;box-shadow:0 6px 18px #4f46e566}.vx-button--gradient:hover{box-shadow:0 8px 22px #4f46e580;transform:translateY(-1px)}.vx-button--gradient:active{transform:scale(.96);box-shadow:0 4px 12px #4f46e54d}.vx-button--solid{color:#fff;background:var(--vx-primary);border-color:var(--vx-primary)}.vx-button--solid:hover{background:var(--vx-primary-strong);border-color:var(--vx-primary-strong)}.vx-button--secondary{color:var(--vx-text);border-color:var(--vx-border);background:var(--vx-surface)}.vx-button--secondary:hover{background:var(--vx-surface-hover);border-color:var(--vx-border-strong)}.vx-button--ghost{color:var(--vx-text-secondary);background:transparent;border-color:transparent}.vx-button--ghost:hover{color:var(--vx-text);background:var(--vx-bg-accent)}.vx-button--outline{color:var(--vx-text);background:transparent;border-color:var(--vx-border-strong)}.vx-button--outline:hover{background:var(--vx-bg-accent)}.vx-button--soft{color:var(--vx-primary-strong);background:var(--vx-primary-soft);border-color:transparent}.vx-button--soft:hover{background:color-mix(in srgb,var(--vx-primary-soft) 80%,black)}.vx-button--primary-outline{color:var(--vx-primary);background:transparent;border-color:var(--vx-primary)}.vx-button--primary-outline:hover{background:var(--vx-primary-soft)}.vx-button--danger{color:#fff;background:var(--vx-danger);border-color:var(--vx-danger)}.vx-button--danger:hover{background:color-mix(in srgb,var(--vx-danger) 80%,black);border-color:color-mix(in srgb,var(--vx-danger) 80%,black)}.vx-button--danger-outline{color:var(--vx-danger);background:transparent;border-color:color-mix(in srgb,var(--vx-danger) 50%,transparent)}.vx-button--danger-outline:hover{background:color-mix(in srgb,var(--vx-danger) 10%,transparent);border-color:var(--vx-danger)}.vx-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--vx-border);font-family:var(--vx-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.vx-badge--neutral{background:var(--vx-bg-accent)}.vx-badge--accent{color:var(--vx-primary);background:var(--vx-primary-soft);border-color:#2563eb2e}.vx-badge--success{background:color-mix(in srgb,var(--vx-success) 16%,var(--vx-surface));color:var(--vx-success)}.vx-badge--warning{background:color-mix(in srgb,var(--vx-warning) 16%,var(--vx-surface));color:var(--vx-warning)}.vx-card{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--vx-radius-lg);background:var(--vx-surface);border:1px solid var(--vx-border);box-shadow:var(--vx-shadow-sm)}.vx-card__header{display:flex;flex-direction:column;gap:6px}.vx-card__title{margin:0;font-size:16px;line-height:1.18;letter-spacing:-.02em}.vx-card__description{margin:0;color:var(--vx-text-secondary);line-height:1.55;font-size:14px}.vx-card__content{display:flex;flex-direction:column;gap:14px}.vx-field-group{display:flex;flex-direction:column;gap:8px}.vx-field-group__label{font-size:13px;font-weight:600}.vx-field-group__hint{color:var(--vx-text-secondary);font-size:12px}.vx-field-group__error{color:var(--vx-danger);font-size:12px}.vx-input{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface)}.vx-input__field{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--vx-text)}.vx-input__field::placeholder{color:color-mix(in srgb,var(--vx-text-muted) 72%,transparent)}.vx-input__field:focus{outline:none}.vx-input--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--vx-danger) 18%,transparent)}.vx-input__ornament{color:var(--vx-text-muted);white-space:nowrap;flex-shrink:0}.vx-tabs__list{display:inline-flex;gap:4px;width:fit-content;padding:4px;border-radius:10px;background:var(--vx-bg-accent);border:1px solid var(--vx-border)}.vx-tabs__trigger{min-height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--vx-text-secondary);cursor:pointer;font-weight:600}.vx-tabs__trigger[data-state=active]{color:var(--vx-text);background:var(--vx-surface);box-shadow:var(--vx-shadow-sm)}.vx-tabs__content{margin-top:16px}.vx-switch{display:flex;justify-content:space-between;align-items:center;gap:14px}.vx-switch__copy{display:flex;flex-direction:column;gap:4px}.vx-switch__label{font-weight:600}.vx-switch__description{color:var(--vx-text-secondary);line-height:1.6;font-size:13px}.vx-switch__control{position:relative;width:44px;height:26px;padding:3px;border:0;border-radius:999px;flex:0 0 auto;display:inline-flex;align-items:center;box-sizing:border-box;background:var(--vx-border-strong);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .16s ease}.vx-switch__control[data-state=checked]{background:var(--vx-primary)}.vx-switch__thumb{display:block;width:20px;height:20px;flex:0 0 auto;background:#fff;border-radius:999px;box-shadow:0 1px 2px #0f172a29;transform:translate(0);transition:transform .16s ease}.vx-switch__control[data-state=checked] .vx-switch__thumb{transform:translate(18px)}.vx-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:850;background:var(--vx-glass-scrim);backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);animation:vx-fade-in .2s ease}.vx-dialog__content{position:fixed;top:50%;left:50%;z-index:851;width:min(560px,calc(100vw - 32px));transform:translate(-50%,-50%);padding:20px;border-radius:16px;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vx-fade-in .15s ease}.vx-dialog__header,.vx-dialog__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.vx-dialog__title{margin:0;font-size:18px}.vx-dialog__description{margin:8px 0 0;color:var(--vx-text-secondary);line-height:1.6;font-size:14px}.vx-dialog__body{margin:18px 0 22px}.vx-dialog__footer{justify-content:flex-end}.vx-dialog__close{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--vx-text-secondary);cursor:pointer}.vx-toast__viewport{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:12px;width:min(380px,calc(100vw - 24px));margin:0;padding:0;list-style:none;z-index:960}.vx-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:14px;border:1px solid var(--vx-glass-border);background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow)}.vx-toast--info{border-color:color-mix(in srgb,var(--vx-secondary) 36%,var(--vx-border))}.vx-toast--success{border-color:color-mix(in srgb,var(--vx-success) 42%,var(--vx-border))}.vx-toast--warning{border-color:color-mix(in srgb,var(--vx-warning) 42%,var(--vx-border))}.vx-toast--danger{border-color:color-mix(in srgb,var(--vx-danger) 42%,var(--vx-border))}.vx-toast__content{display:flex;flex-direction:column;gap:6px}.vx-toast__title{font-weight:800}.vx-toast__description{color:var(--vx-text-secondary);line-height:1.6}.vx-toast__close{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--vx-text-secondary);cursor:pointer}.vx-stack{display:flex;flex-direction:column;gap:16px}.vx-stack--tight{gap:12px}.vx-muted{margin:0;color:var(--vx-text-secondary);line-height:1.7}@media(max-width:1160px){.vx-docs-stats,.vx-docs-token-grid,.vx-docs-component-grid,.vx-docs-article-grid{grid-template-columns:1fr}}@media(max-width:640px){.vx-docs-hero h1,.vx-docs-article h1{font-size:42px}.vx-card,.vx-dialog__content{padding:18px}.vx-topbar{align-items:flex-start;flex-direction:column;padding:12px 18px;height:auto;overflow:visible}.vx-topbar__title-group{width:100%;padding:0}.vx-topbar__actions,.vx-docs-actions,.vx-dialog__footer{width:100%}.vx-topbar__actions{border-top:1px solid var(--vx-border);padding-top:12px;overflow:visible}.vx-topbar__actions .vx-button,.vx-docs-actions .vx-button,.vx-dialog__footer .vx-button{width:100%}.vx-preview-list__row{grid-template-columns:1fr}.vx-switch{align-items:flex-start;flex-direction:column}}[data-theme-name=ivory-gold] .vx-button{font-weight:600;letter-spacing:.01em;transition:filter .16s ease,border-color .16s ease,background .16s ease}[data-theme-name=ivory-gold] .vx-button:hover{border-color:transparent;filter:brightness(.94)}[data-theme-name=ivory-gold] .vx-button:focus-visible{outline:2px solid rgba(160,116,42,.6);outline-offset:2px}[data-theme-name=ivory-gold] .vx-button--solid{background:linear-gradient(135deg,#d4a44c,#a0742a 52%,#7d5a1e);color:#fff8ee;border:none}[data-theme-name=ivory-gold] .vx-button--solid:hover{filter:brightness(1.06)}[data-theme-name=ivory-gold] .vx-button--secondary{background:#a0742a12;color:#5a4320;border-color:#a0742a47}[data-theme-name=ivory-gold] .vx-button--secondary:hover{background:#a0742a21;border-color:#a0742a7a;color:#3a2a0e}[data-theme-name=ivory-gold] .vx-button--ghost{background:transparent;color:#9a7c4a;border-color:#a0742a38}[data-theme-name=ivory-gold] .vx-button--ghost:hover{background:#a0742a12;border-color:#a0742a66;color:#5a4320}[data-theme-name=ivory-gold] .vx-button--danger{background:linear-gradient(135deg,#fecaca,#ef4444 50%,#b91c1c);color:#fff;border:none}[data-theme-name=ivory-gold] .vx-sidebar{background:var(--vx-glass-bg-strong)}[data-theme-name=ivory-gold],[data-theme-name=ivory-gold] *{--vxm-drawer-bg: var(--vx-glass-bg-strong)}[data-theme-name=ivory-gold] .vx-sidebar__brand-icon{background:#a0742a1f;color:#a0742a}[data-theme-name=ivory-gold] .vx-nav-item--active{background:#a0742a1f;color:#7d5a1e}[data-theme-name=ivory-gold] .vx-nav-item:hover:not(.vx-nav-item--active){background:#a0742a0f;color:#1c1409}[data-theme-name=ivory-gold] .vx-nav-item:focus-visible{outline:2px solid rgba(160,116,42,.6)}[data-theme-name=ivory-gold] .vx-topbar,[data-theme-name=ivory-gold] .vx-sidebar__header{background:var(--vx-glass-bg-strong);box-shadow:inset 0 -1px #a0742a29}[data-theme-name=ivory-gold] .vx-sidebar__brand-icon{background:linear-gradient(135deg,#e8c25a,#bc881d);color:#fffaf1;box-shadow:inset 0 1px #ffffff42,0 12px 28px #825f2029}[data-theme-name=ivory-gold] .vx-card{border-color:#a0742a2e;background:#fff;box-shadow:0 4px 20px #5a432014}[data-theme-name=ivory-gold] .vx-input{background:#fff;border-color:#a0742a38}[data-theme-name=ivory-gold] .vx-input__field{color:#1c1409}[data-theme-name=ivory-gold] .vx-input:focus-within{border-color:#a0742a;box-shadow:0 0 0 3px #a0742a24}[data-theme-name=ivory-gold] .vx-switch__control[aria-checked=true]{background:#a0742a}[data-theme-name=ivory-gold] .vx-tabs__trigger[aria-selected=true]{color:#a0742a;border-bottom-color:#a0742a}[data-theme-name=ivory-gold] .vx-badge--accent{background:#a0742a1a;border-color:#a0742a4d;color:#7d5a1e}.vxm-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background:var(--vx-bg);overscroll-behavior:none;overflow:hidden}.vxm-shell__topbar{position:sticky;top:0;z-index:20;flex:0 0 auto}.vxm-shell__main{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.vxm-shell__bottomnav{position:sticky;bottom:0;flex:0 0 auto;z-index:20}.vxm-topbar{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;height:52px;padding:0 4px;padding-top:env(safe-area-inset-top,0px);background:var(--vx-surface);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);box-shadow:inset 0 -1px 0 var(--vx-border)}.vxm-topbar__leading{display:flex;align-items:center;justify-content:center;padding-left:4px}.vxm-topbar__trailing{display:flex;align-items:center;justify-content:flex-end;padding-right:4px}.vxm-topbar__title{text-align:center;font-size:17px;font-weight:600;color:var(--vx-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vxm-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--vx-radius-sm);background:transparent;border:none;cursor:pointer;color:var(--vx-primary);font-size:14px;font-weight:500;-webkit-tap-highlight-color:transparent;transition:background .1s ease}.vxm-icon-btn:active{background:var(--vx-primary-soft)}.vxm-icon-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vxm-bottomnav{display:flex;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);box-shadow:inset 0 1px 0 var(--vx-border);padding-bottom:env(safe-area-inset-bottom,0px)}.vxm-bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:8px 4px;background:none;border:none;cursor:pointer;color:var(--vx-text-muted);-webkit-tap-highlight-color:transparent;transition:color .12s ease}.vxm-bottomnav__item:focus{outline:none}.vxm-bottomnav__item:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:-2px;border-radius:14px}.vxm-bottomnav__item--active{color:var(--vx-primary)}.vxm-bottomnav__item--active .vxm-bottomnav__label{font-weight:600}.vxm-bottomnav__icon{position:relative;display:flex;align-items:center;justify-content:center}.vxm-bottomnav__badge{position:absolute;top:-4px;right:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--vx-danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.vxm-bottomnav__label{font-size:10px;font-weight:500;line-height:1}.vxm-actionsheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;background:var(--vx-glass-scrim);backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);display:flex;align-items:flex-end;animation:vxm-overlay-in .18s ease forwards}.vxm-actionsheet{width:100%;max-height:85dvh;background:var(--vxm-drawer-bg, var(--vx-glass-bg-strong));backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);border-radius:var(--vx-radius-xl) var(--vx-radius-xl) 0 0;padding-bottom:max(env(safe-area-inset-bottom,0px),16px);display:flex;flex-direction:column;animation:vxm-sheet-in .3s cubic-bezier(.32,.72,0,1) forwards;will-change:transform;touch-action:pan-x;user-select:none;-webkit-user-select:none}.vxm-actionsheet__handle{width:36px;height:4px;border-radius:2px;background:var(--vx-border-strong);margin:12px auto 8px;flex:0 0 auto;cursor:grab}.vxm-actionsheet__header{padding:4px 20px 12px;flex:0 0 auto;border-bottom:1px solid var(--vx-border)}.vxm-actionsheet__title{margin:0;font-size:16px;font-weight:700;color:var(--vx-text)}.vxm-actionsheet__description{margin:4px 0 0;font-size:13px;color:var(--vx-text-secondary);line-height:1.5}.vxm-actionsheet__body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0;flex:1 1 auto}.vxm-actionsheet-item{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:12px 20px;background:none;border:none;cursor:pointer;text-align:left;font-size:16px;color:var(--vx-text);font-family:var(--vx-font);-webkit-tap-highlight-color:transparent;transition:background .1s ease}.vxm-actionsheet-item:active{background:var(--vx-surface-hover)}.vxm-actionsheet-item--destructive{color:var(--vx-danger)}.vxm-actionsheet-item__icon{color:var(--vx-primary);display:flex;flex:0 0 auto}.vxm-actionsheet-item--destructive .vxm-actionsheet-item__icon{color:var(--vx-danger)}@keyframes vxm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes vxm-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.vxm-list{list-style:none;margin:0;padding:0;background:var(--vx-surface);border-radius:var(--vx-radius-lg);overflow:hidden;border:1px solid var(--vx-border)}.vxm-list-section{margin-bottom:28px}.vxm-list-section__title{padding:0 16px 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vx-text-muted)}.vxm-list-item{position:relative;list-style:none}.vxm-list-item+.vxm-list-item:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--vx-border)}.vxm-list-item__btn{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;color:inherit;font-family:var(--vx-font);-webkit-tap-highlight-color:transparent;transition:background .1s ease}.vxm-list-item__btn:active{background:var(--vx-surface-hover)}.vxm-list-item__btn:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:-2px}.vxm-list-item--static .vxm-list-item__btn{cursor:default;pointer-events:none}.vxm-list-item--disabled .vxm-list-item__btn{opacity:.4;pointer-events:none}.vxm-list-item__leading{flex:0 0 auto;color:var(--vx-text-muted);display:flex;align-items:center}.vxm-list-item__content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.vxm-list-item__label{font-size:16px;color:var(--vx-text);line-height:1.35}.vxm-list-item--destructive .vxm-list-item__label{color:var(--vx-danger)}.vxm-list-item__description{font-size:13px;color:var(--vx-text-secondary);line-height:1.35}.vxm-list-item__trailing{flex:0 0 auto;color:var(--vx-text-muted);font-size:14px;display:flex;align-items:center}.vxm-list-item__chevron{flex:0 0 auto;color:var(--vx-border-strong)}.vxm-phone-frame{width:260px;height:480px;border-radius:32px;border:6px solid var(--vx-border-strong);background:var(--vx-bg);overflow:hidden;box-shadow:var(--vx-shadow-lg);display:flex;flex-direction:column;position:relative}.vxm-phone-frame .vxm-shell{min-height:0;height:100%}.vxm-phone-frame .vxm-topbar{height:44px;grid-template-columns:40px 1fr 40px;font-size:14px}.vxm-phone-frame .vxm-topbar__title{font-size:14px}.vxm-phone-frame .vxm-bottomnav__item{min-height:48px}.vxm-phone-frame .vxm-list-item__btn{min-height:46px;padding:10px 14px}.vxm-phone-frame .vxm-list-item__label{font-size:14px}.vxm-phone-frame .vxm-list-item__description{font-size:12px}.vxm-phone-frame .vxm-shell__main{overflow-y:auto;padding:12px}.vxm-drawer__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:800;display:flex}.vxm-drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--vx-glass-scrim) calc(var(--vxm-overlay-opacity, .52) * 100%),transparent);backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);transition:background .2s ease}.vxm-drawer{position:relative;z-index:1;height:100%;max-width:85vw;background:var(--vxm-drawer-bg, var(--vx-glass-bg-strong));backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);display:flex;flex-direction:column;box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vxm-drawer-in .28s cubic-bezier(.32,.72,0,1) forwards;will-change:transform;touch-action:pan-y;overflow:hidden}@keyframes vxm-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.vxm-drawer__header{flex:0 0 auto;padding:20px 16px 12px;padding-top:max(env(safe-area-inset-top,0px),20px);border-bottom:1px solid var(--vx-border)}.vxm-drawer__body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0}.vxm-drawer__footer{flex:0 0 auto;padding:12px 0;padding-bottom:max(env(safe-area-inset-bottom,0px),12px);border-top:1px solid var(--vx-border)}.vxm-drawer-section{padding:8px 0}.vxm-drawer-section+.vxm-drawer-section{border-top:1px solid var(--vx-border)}.vxm-drawer-section__title{padding:4px 16px 6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--vx-text-muted)}.vxm-drawer-section__items{display:flex;flex-direction:column;gap:2px;padding:0 8px}.vxm-drawer-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 12px;border:none;border-radius:var(--vx-radius-sm);background:none;cursor:pointer;text-align:left;font-size:15px;font-weight:500;color:var(--vx-text-secondary);font-family:var(--vx-font);-webkit-tap-highlight-color:transparent;transition:background .1s ease,color .1s ease}.vxm-drawer-item:active{background:var(--vx-surface-hover)}.vxm-drawer-item--active{color:var(--vx-primary);background:var(--vx-primary-soft);font-weight:600}.vxm-drawer-item__icon{display:flex;align-items:center;flex:0 0 auto}.vxm-drawer-item__label{flex:1 1 auto}.vxm-drawer-item__badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--vx-primary);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center}.vxm-fullscreen-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;background:var(--vx-bg);animation:vxm-preview-in .22s cubic-bezier(.32,.72,0,1) forwards}@keyframes vxm-preview-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.vxm-fullscreen-preview__bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 16px;background:var(--vx-surface-strong);border-bottom:1px solid var(--vx-border);z-index:10}.vxm-fullscreen-preview__label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--vx-text-secondary)}.vxm-fullscreen-preview__exit{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:30px;border-radius:var(--vx-radius-sm);border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text-secondary);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--vx-font);transition:background .12s ease,border-color .12s ease}.vxm-fullscreen-preview__exit:hover{background:var(--vx-surface-hover);border-color:var(--vx-border-strong);color:var(--vx-text)}.vxm-fullscreen-preview__exit:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vxm-fullscreen-preview__stage{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column;position:relative}.vxm-fullscreen-preview__stage .vxm-shell{flex:1 1 auto;min-height:0}[data-theme-name=black-gold] .vx-button{font-weight:600;letter-spacing:.01em;transition:filter .16s ease,border-color .16s ease,background .16s ease}[data-theme-name=black-gold] .vx-button:hover{border-color:transparent;filter:brightness(1.1)}[data-theme-name=black-gold] .vx-button:focus-visible{outline:2px solid rgba(200,169,124,.72);outline-offset:2px}[data-theme-name=black-gold] .vx-button--solid{background:linear-gradient(135deg,#f5e9d7,#c8a97c 48%,#b88d54);color:#09090f;border:none}[data-theme-name=black-gold] .vx-button--solid:hover{filter:brightness(1.08)}[data-theme-name=black-gold] .vx-button--secondary{background:#f5e9d70d;color:#f5e9d7;border-color:#f5e9d726}[data-theme-name=black-gold] .vx-button--secondary:hover{background:#f5e9d717;border-color:#c8a97c6b}[data-theme-name=black-gold] .vx-button--ghost{background:transparent;color:#928a81;border-color:#f5e9d71f}[data-theme-name=black-gold] .vx-button--ghost:hover{background:#f5e9d70f;border-color:#f5e9d733;color:#d7c8b2}[data-theme-name=black-gold] .vx-button--danger{background:linear-gradient(135deg,#fecaca,#ef4444 48%,#b91c1c);color:#fff;border:none}[data-theme-name=black-gold] .vx-sidebar{background:var(--vx-glass-bg-strong)}[data-theme-name=black-gold],[data-theme-name=black-gold] *{--vxm-drawer-bg: var(--vx-glass-bg-strong)}[data-theme-name=black-gold] .vx-sidebar__brand-icon,[data-theme-name=black-gold] .vx-nav-item--active{background:#c8a97c24;color:#c8a97c}[data-theme-name=black-gold] .vx-nav-item:hover:not(.vx-nav-item--active){background:#f5e9d712;color:#f5e9d7}[data-theme-name=black-gold] .vx-nav-item:focus-visible{outline:2px solid rgba(200,169,124,.72)}[data-theme-name=black-gold] .vx-topbar{background:var(--vx-glass-bg-strong)}[data-theme-name=black-gold] .vx-sidebar__brand-icon{background:linear-gradient(135deg,#d6b780f5,#805822eb);color:#140f09;box-shadow:inset 0 1px #fff4dc38,0 12px 28px #0000003d}[data-theme-name=black-gold] .vx-card{border-color:#c8a97c2e;background:#0f1219c2;box-shadow:0 0 42px #c8a97c0f}[data-theme-name=black-gold] .vx-input{background:#0f1219c2;border-color:#f5e9d71f}[data-theme-name=black-gold] .vx-input__field{color:#f5e9d7}[data-theme-name=black-gold] .vx-input:focus-within{border-color:#c8a97c;box-shadow:0 0 0 3px #c8a97c2e}[data-theme-name=black-gold] .vx-switch__control[aria-checked=true]{background:#c8a97c}[data-theme-name=black-gold] .vx-tabs__trigger[aria-selected=true]{color:#c8a97c;border-bottom-color:#c8a97c}[data-theme-name=black-gold] .vx-badge--accent{background:#c8a97c24;border-color:#c8a97c5c;color:#c8a97c}.vx-select{position:relative;display:flex;align-items:center}.vx-select__field{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);color:var(--vx-text);font-size:.875rem;padding:.5rem 2.25rem .5rem .75rem;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.vx-select__field:focus{border-color:var(--vx-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 20%,transparent)}.vx-select__field:disabled{opacity:.5;cursor:not-allowed}.vx-select__arrow{position:absolute;right:.75rem;pointer-events:none;color:var(--vx-text-muted);display:flex;align-items:center}.vx-checkbox{display:inline-flex;align-items:flex-start;gap:.625rem;cursor:pointer}.vx-checkbox--disabled{opacity:.5;cursor:not-allowed}.vx-checkbox__control-wrap{position:relative;flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem}.vx-checkbox__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}.vx-checkbox__box{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--vx-border-strong);border-radius:calc(var(--vx-radius) * .5);background:var(--vx-surface);display:flex;align-items:center;justify-content:center;color:transparent;transition:background .12s,border-color .12s,color .12s;pointer-events:none}.vx-checkbox__input:checked~.vx-checkbox__box,.vx-checkbox__input:indeterminate~.vx-checkbox__box{background:var(--vx-primary);border-color:var(--vx-primary);color:#fff}.vx-checkbox__input:focus-visible~.vx-checkbox__box{outline:2px solid var(--vx-primary);outline-offset:2px}.vx-checkbox__copy{display:flex;flex-direction:column;gap:.125rem}.vx-checkbox__label{font-size:.875rem;color:var(--vx-text);line-height:1.4}.vx-checkbox__description{font-size:.75rem;color:var(--vx-text-muted)}.vx-radio{display:inline-flex;align-items:flex-start;gap:.625rem;cursor:pointer}.vx-radio--disabled{opacity:.5;cursor:not-allowed}.vx-radio__control-wrap{position:relative;flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem}.vx-radio__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}.vx-radio__circle{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--vx-border-strong);border-radius:9999px;background:var(--vx-surface);display:flex;align-items:center;justify-content:center;transition:border-color .12s;pointer-events:none}.vx-radio__dot{width:6px;height:6px;border-radius:9999px;background:transparent;transition:background .12s}.vx-radio__input:checked~.vx-radio__circle{border-color:var(--vx-primary)}.vx-radio__input:checked~.vx-radio__circle .vx-radio__dot{background:var(--vx-primary)}.vx-radio__input:focus-visible~.vx-radio__circle{outline:2px solid var(--vx-primary);outline-offset:2px}.vx-radio__copy{display:flex;flex-direction:column;gap:.125rem}.vx-radio__label{font-size:.875rem;color:var(--vx-text);line-height:1.4}.vx-radio__description{font-size:.75rem;color:var(--vx-text-muted)}.vx-radio-group{border:none;padding:0;margin:0}.vx-radio-group__items{display:flex;flex-direction:column;gap:.5rem;margin-top:.375rem}.vx-textarea{display:block;width:100%;min-height:6rem;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);color:var(--vx-text);font-size:.875rem;font-family:inherit;padding:.5rem .75rem;outline:none;transition:border-color .15s,box-shadow .15s;line-height:1.5}.vx-textarea:focus{border-color:var(--vx-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 20%,transparent)}.vx-textarea:disabled{opacity:.5;cursor:not-allowed}.vx-textarea::placeholder{color:var(--vx-text-muted)}.vx-slider__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.vx-slider__label{margin-bottom:0!important}.vx-slider__value{font-size:.8125rem;color:var(--vx-text-muted)}.vx-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:9999px;background:var(--vx-border);outline:none;cursor:pointer}.vx-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:9999px;background:var(--vx-primary);border:2px solid var(--vx-bg);box-shadow:0 1px 4px #0000002e;transition:transform .12s}.vx-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.vx-slider::-moz-range-thumb{width:18px;height:18px;border-radius:9999px;background:var(--vx-primary);border:2px solid var(--vx-bg);box-shadow:0 1px 4px #0000002e;cursor:pointer}.vx-slider:focus-visible{outline:2px solid var(--vx-primary);outline-offset:4px}.vx-slider:disabled{opacity:.5;cursor:not-allowed}.vx-spinner{display:inline-flex;color:var(--vx-primary)}.vx-spinner svg{animation:vx-spin .8s linear infinite}@keyframes vx-spin{to{transform:rotate(360deg)}}.vx-spinner--sm svg{width:16px;height:16px}.vx-spinner--md svg{width:24px;height:24px}.vx-spinner--lg svg{width:36px;height:36px}.vx-progress-wrap{display:flex;flex-direction:column;gap:.375rem}.vx-progress__header{display:flex;justify-content:space-between;align-items:center}.vx-progress__label{font-size:.8125rem;color:var(--vx-text)}.vx-progress__value{font-size:.75rem;color:var(--vx-text-muted)}.vx-progress{width:100%;background:var(--vx-border);border-radius:9999px;overflow:hidden}.vx-progress--sm{height:4px}.vx-progress--md{height:6px}.vx-progress--lg{height:10px}.vx-progress__bar{height:100%;border-radius:9999px;background:var(--vx-primary);transition:width .3s ease}.vx-progress--success .vx-progress__bar{background:#22c55e}.vx-progress--warning .vx-progress__bar{background:#f59e0b}.vx-progress--danger .vx-progress__bar{background:#ef4444}.vx-progress--rainbow .vx-progress__bar{background:linear-gradient(90deg,#f87171,#fb923c,#facc15,#4ade80,#60a5fa,#a78bfa,#f472b6,#f87171);background-size:300% 100%;animation:vx-progress-rainbow 3s linear infinite;box-shadow:0 0 8px 1px color-mix(in srgb,#a78bfa 45%,transparent)}@keyframes vx-progress-rainbow{0%{background-position:0% 0%}to{background-position:-300% 0%}}.vx-progress--indeterminate .vx-progress__bar{width:45%!important;animation:vx-progress-indeterminate 1.4s ease-in-out infinite}@keyframes vx-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(320%)}}.vx-alert{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;border-radius:var(--vx-radius);border:1px solid}.vx-alert--info{background:color-mix(in srgb,#3b82f6 10%,transparent);border-color:color-mix(in srgb,#3b82f6 30%,transparent);color:#2563eb}.vx-alert--success{background:color-mix(in srgb,#22c55e 10%,transparent);border-color:color-mix(in srgb,#22c55e 30%,transparent);color:#16a34a}.vx-alert--warning{background:color-mix(in srgb,#f59e0b 10%,transparent);border-color:color-mix(in srgb,#f59e0b 30%,transparent);color:#d97706}.vx-alert--danger{background:color-mix(in srgb,#ef4444 10%,transparent);border-color:color-mix(in srgb,#ef4444 30%,transparent);color:#dc2626}.vx-alert__icon{flex-shrink:0;margin-top:.125rem}.vx-alert__body{flex:1;min-width:0}.vx-alert__title{font-size:.875rem;font-weight:600;margin:0 0 .25rem}.vx-alert__content{font-size:.8125rem}.vx-alert__close{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:inherit;opacity:.6;padding:.125rem;border-radius:4px;display:flex;align-items:center;transition:opacity .12s}.vx-alert__close:hover{opacity:1}.vx-skeleton{display:block;background:var(--vx-border);border-radius:calc(var(--vx-radius) * .5);animation:vx-skeleton-pulse 1.5s ease-in-out infinite}@keyframes vx-skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.vx-skeleton--text{height:.875rem;border-radius:4px}.vx-skeleton--circle{border-radius:9999px}.vx-skeleton-text{display:flex;flex-direction:column;gap:.375rem}.vx-tooltip-wrap{position:relative;display:inline-flex;align-items:center}.vx-tooltip{position:absolute;z-index:1000;white-space:nowrap;background:var(--vx-text);color:var(--vx-bg);font-size:.75rem;padding:.3125rem .625rem;border-radius:calc(var(--vx-radius) * .75);pointer-events:none;animation:vx-fade-in .12s ease}@keyframes vx-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.vx-tooltip--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.vx-tooltip--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.vx-tooltip--left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.vx-tooltip--right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.vx-popover-wrap{position:relative;display:inline-flex}.vx-popover{position:absolute;z-index:500;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:.75rem;animation:vx-fade-in .15s ease;min-width:12rem}.vx-popover--bottom{top:calc(100% + 6px);left:0}.vx-popover--top{bottom:calc(100% + 6px);left:0}.vx-popover--right{left:calc(100% + 6px);top:0}.vx-popover--left{right:calc(100% + 6px);top:0}.vx-dropdown{position:relative;display:inline-flex}.vx-dropdown__trigger{cursor:pointer;display:inline-flex;align-items:center}.vx-dropdown__menu{position:absolute;z-index:600;top:calc(100% + 4px);background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:.25rem;min-width:12rem;max-height:min(26rem,calc(100vh - 96px));overflow:auto;overscroll-behavior:contain;animation:vx-fade-in .15s ease}.vx-dropdown__menu--left{left:0}.vx-dropdown__menu--right{right:0}.vx-dropdown__group{display:flex;flex-direction:column}.vx-dropdown__group-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--vx-text-muted);padding:.375rem .625rem .25rem}.vx-dropdown__separator{height:1px;background:var(--vx-border);margin:.25rem 0}.vx-dropdown__item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;background:transparent;border:none;border-radius:calc(var(--vx-radius) * .75);color:var(--vx-text);font-size:.875rem;padding:.4375rem .625rem;cursor:pointer;transition:background .1s}.vx-dropdown__item:hover{background:var(--vx-bg-accent)}.vx-dropdown__item--danger{color:#ef4444}.vx-dropdown__item--danger:hover{background:color-mix(in srgb,#ef4444 10%,transparent)}.vx-dropdown__item--disabled{opacity:.4;cursor:not-allowed}.vx-dropdown__item-icon{flex-shrink:0;opacity:.7;display:flex;align-items:center}.vx-dropdown__item-label{flex:1}.vx-dropdown__shortcut{font-size:.6875rem;color:var(--vx-text-muted);background:var(--vx-bg-accent);border:1px solid var(--vx-border);border-radius:4px;padding:0 4px;font-family:monospace}.vx-breadcrumb{display:flex;align-items:center}.vx-breadcrumb__list{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;list-style:none;padding:0;margin:0}.vx-breadcrumb__item{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.vx-breadcrumb__link{color:var(--vx-text-muted);text-decoration:none;background:transparent;border:none;padding:0;cursor:pointer;font-size:inherit;font-family:inherit;transition:color .12s}.vx-breadcrumb__link:hover{color:var(--vx-primary)}.vx-breadcrumb__current{color:var(--vx-text);font-weight:500}.vx-breadcrumb__sep{color:var(--vx-text-muted);display:flex;align-items:center}.vx-pagination{display:flex;align-items:center;gap:.25rem}.vx-pagination__btn{min-width:2rem;height:2rem;padding:0 .5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--vx-border);border-radius:calc(var(--vx-radius) * .75);color:var(--vx-text);font-size:.875rem;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.vx-pagination__btn:hover:not(:disabled){background:var(--vx-bg-accent);border-color:var(--vx-border-strong)}.vx-pagination__btn--active{background:var(--vx-primary);border-color:var(--vx-primary);color:#fff;font-weight:600}.vx-pagination__btn--active:hover{background:var(--vx-primary)}.vx-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.vx-pagination__ellipsis{padding:0 .25rem;color:var(--vx-text-muted);font-size:.875rem}.vx-accordion{border:1px solid var(--vx-border);border-radius:var(--vx-radius);overflow:hidden}.vx-accordion__item{border-bottom:1px solid var(--vx-border)}.vx-accordion__item:last-child{border-bottom:none}.vx-accordion__item--disabled{opacity:.5}.vx-accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;background:transparent;border:none;cursor:pointer;color:var(--vx-text);font-size:.9375rem;font-weight:500;text-align:left;transition:background .1s;gap:.5rem}.vx-accordion__trigger:hover:not(:disabled){background:var(--vx-bg-accent)}.vx-accordion__title{flex:1}.vx-accordion__chevron{flex-shrink:0;color:var(--vx-text-muted);transition:transform .2s;display:flex;align-items:center}.vx-accordion__item--open .vx-accordion__chevron{transform:rotate(180deg)}.vx-accordion__content{padding:0 1rem 1rem;font-size:.875rem;color:var(--vx-text-muted);line-height:1.6}.vx-separator{border:none;margin:0}.vx-separator--horizontal{border-top:1px solid var(--vx-border);width:100%}.vx-separator--vertical{border-left:1px solid var(--vx-border);height:100%;align-self:stretch;display:inline-block}.vx-avatar{display:inline-flex;align-items:center;justify-content:center;background:hsl(var(--vx-avatar-hue, 200) 55% 60%);color:#fff;font-weight:600;overflow:hidden;flex-shrink:0}.vx-avatar--circle{border-radius:9999px}.vx-avatar--square{border-radius:var(--vx-radius)}.vx-avatar--xs{width:1.5rem;height:1.5rem;font-size:.5625rem}.vx-avatar--sm{width:2rem;height:2rem;font-size:.6875rem}.vx-avatar--md{width:2.5rem;height:2.5rem;font-size:.8125rem}.vx-avatar--lg{width:3.5rem;height:3.5rem;font-size:1rem}.vx-avatar--xl{width:5rem;height:5rem;font-size:1.375rem}.vx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.vx-avatar__initials,.vx-avatar__fallback{line-height:1}.vx-avatar__placeholder{width:55%;height:55%;color:#ffffffbf}.vx-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--vx-border);border-radius:var(--vx-radius)}.vx-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--vx-text)}.vx-table__caption{caption-side:top;text-align:left;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;color:var(--vx-text)}.vx-table__th{background:var(--vx-bg-accent);color:var(--vx-text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.625rem 1rem;text-align:left;white-space:nowrap;border-bottom:1px solid var(--vx-border)}.vx-table__th-inner{display:flex;align-items:center;gap:.375rem}.vx-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.vx-table__th--sortable:hover{color:var(--vx-text)}.vx-table__th--center,.vx-table__td--center{text-align:center}.vx-table__th--right,.vx-table__td--right{text-align:right}.vx-table__sort-icon{font-size:.6875rem;color:var(--vx-text-muted)}.vx-table__td{padding:.75rem 1rem;border-bottom:1px solid var(--vx-border);vertical-align:middle}.vx-table__row:last-child .vx-table__td{border-bottom:none}.vx-table--hoverable .vx-table__row:hover .vx-table__td{background:var(--vx-bg-accent)}.vx-table--striped .vx-table__row:nth-child(2n) .vx-table__td{background:color-mix(in srgb,var(--vx-bg-accent) 50%,transparent)}.vx-table--bordered .vx-table__th,.vx-table--bordered .vx-table__td{border:1px solid var(--vx-border)}.vx-table--compact .vx-table__th{padding:.375rem .75rem}.vx-table--compact .vx-table__td{padding:.4375rem .75rem}.vx-table--sticky thead{position:sticky;top:0;z-index:1}.vx-table__empty{text-align:center;padding:2.5rem;color:var(--vx-text-muted)}.vx-cmd__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding-top:clamp(60px,12vh,140px);animation:vx-fade-in .12s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.vx-cmd{width:min(640px,calc(100vw - 2rem));max-height:min(520px,calc(100dvh - 160px));background:var(--vx-surface);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border:1px solid var(--vx-border-strong);border-radius:calc(var(--vx-radius) * 1.5);box-shadow:0 24px 64px #00000038,0 4px 16px #0000001f;display:flex;flex-direction:column;overflow:hidden;animation:vx-cmd-in .18s cubic-bezier(.22,1,.36,1)}@keyframes vx-cmd-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.vx-cmd__search{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;border-bottom:1px solid var(--vx-border);flex-shrink:0}.vx-cmd__search-icon{color:var(--vx-text-muted);flex-shrink:0}.vx-cmd__input{flex:1;background:transparent;border:none;outline:none;color:var(--vx-text);font-size:1rem;font-family:inherit;caret-color:var(--vx-primary)}.vx-cmd__input::placeholder{color:var(--vx-text-muted)}.vx-cmd__clear{background:transparent;border:none;cursor:pointer;color:var(--vx-text-muted);display:flex;align-items:center;padding:4px;border-radius:4px;transition:color .1s}.vx-cmd__clear:hover{color:var(--vx-text)}.vx-cmd__esc{font-size:.6875rem;color:var(--vx-text-muted);background:var(--vx-bg-accent);border:1px solid var(--vx-border);border-radius:4px;padding:1px 6px;font-family:inherit;white-space:nowrap;flex-shrink:0}.vx-cmd__list{flex:1;overflow-y:auto;list-style:none;padding:6px;margin:0;overscroll-behavior:contain}.vx-cmd__empty{padding:2rem;text-align:center;color:var(--vx-text-muted);font-size:.875rem}.vx-cmd__item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--vx-radius);cursor:pointer;transition:background 80ms;-webkit-user-select:none;user-select:none}.vx-cmd__item:hover,.vx-cmd__item--active{background:var(--vx-bg-accent)}.vx-cmd__item--active{background:color-mix(in srgb,var(--vx-primary) 10%,transparent)}.vx-cmd__item-icon{width:32px;height:32px;border-radius:calc(var(--vx-radius) * .75);background:var(--vx-bg-accent);border:1px solid var(--vx-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--vx-text-muted)}.vx-cmd__item-icon--section{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--vx-primary)}.vx-cmd__item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.vx-cmd__item-title{font-size:.9375rem;font-weight:500;color:var(--vx-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-cmd__item-sub{font-size:.75rem;color:var(--vx-text-muted)}.vx-cmd__mark{background:transparent;color:var(--vx-primary);font-weight:700}.vx-cmd__enter{font-size:.6875rem;color:var(--vx-primary);background:color-mix(in srgb,var(--vx-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--vx-primary) 28%,transparent);border-radius:4px;padding:1px 6px;font-family:inherit;flex-shrink:0}.vx-cmd__footer{display:flex;align-items:center;gap:1rem;padding:8px 16px;border-top:1px solid var(--vx-border);background:var(--vx-bg-accent);flex-shrink:0;font-size:.6875rem;color:var(--vx-text-muted)}.vx-cmd__footer kbd{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:3px;padding:0 4px;font-family:inherit;font-size:.6875rem}.vx-cmd-trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight);color:var(--vx-text-muted);font-size:.8125rem;cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap;font-family:inherit}.vx-cmd-trigger:hover{border-color:var(--vx-border-strong);color:var(--vx-text);background:var(--vx-glass-bg-strong)}.vx-cmd-trigger--active{color:var(--vx-primary);border-color:color-mix(in srgb,var(--vx-primary) 24%,var(--vx-border));background:color-mix(in srgb,var(--vx-primary-soft) 44%,var(--vx-glass-bg-strong))}.vx-search-kbd{font-size:.6875rem;background:var(--vx-surface-hover);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-border);border-radius:4px;padding:0 4px;font-family:inherit;color:var(--vx-text-muted)}.vx-lang-drop{position:relative;display:inline-flex;flex-shrink:0}.vx-lang-drop--sidebar{width:100%;padding:4px 10px;box-sizing:border-box}.vx-lang-drop__trigger{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight);color:var(--vx-text-muted);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap;width:100%}.vx-lang-drop__trigger:hover,.vx-lang-drop--open .vx-lang-drop__trigger{border-color:var(--vx-border-strong);color:var(--vx-text);background:var(--vx-glass-bg-strong)}.vx-lang-drop__trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vx-lang-drop__chevron{margin-left:auto;transition:transform .16s ease}.vx-lang-drop--open .vx-lang-drop__chevron{transform:rotate(180deg)}.vx-lang-drop__menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);overflow:hidden;padding:4px;margin:0;list-style:none;z-index:200;animation:vx-lang-in .1s ease}.vx-lang-drop--sidebar .vx-lang-drop__menu{top:auto;bottom:calc(100% + 4px)}@keyframes vx-lang-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vx-lang-drop__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;background:transparent;border:none;border-radius:calc(var(--vx-radius) * .7);color:var(--vx-text-muted);font-size:.8125rem;font-family:inherit;cursor:pointer;text-align:left;transition:background 80ms,color 80ms;white-space:nowrap}.vx-lang-drop__item:hover{background:color-mix(in srgb,var(--vx-bg-accent) 72%,var(--vx-glass-bg));color:var(--vx-text)}.vx-lang-drop__item--active{color:var(--vx-primary);font-weight:600;background:color-mix(in srgb,var(--vx-primary-soft) 36%,var(--vx-glass-bg))}.vx-lang-drop__check{font-size:.75rem;color:var(--vx-primary)}[data-collapsed=true] .vx-lang-drop--sidebar{display:none}.vx-link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--vx-primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.vx-link:hover{opacity:.8}.vx-public{min-height:100dvh;background:var(--vx-bg);color:var(--vx-text);display:flex;flex-direction:column;position:relative;overflow:hidden}.vx-public:before{content:"";position:absolute;top:-15%;left:-10%;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--vx-primary) 12%,transparent) 0%,transparent 60%);z-index:0;pointer-events:none}.vx-public:after{content:"";position:absolute;bottom:-20%;right:-10%;width:70%;height:70%;background:radial-gradient(circle,color-mix(in srgb,var(--vx-primary) 8%,transparent) 0%,transparent 60%);z-index:0;pointer-events:none}.vx-public-nav{display:flex;align-items:center;justify-content:space-between;padding:0 40px;min-height:72px;background:transparent;position:relative;z-index:50;flex-shrink:0}.vx-public-nav__brand{display:inline-flex;align-items:center}.vx-public-nav__brand-mark{font-size:1.5rem;font-weight:900;letter-spacing:-.04em;color:var(--vx-text)}.vx-public-nav__brand-mark span{color:var(--vx-primary)}.vx-public-nav__links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.vx-public-nav__user{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:var(--vx-radius-full);background:color-mix(in srgb,var(--vx-surface) 60%,transparent);border:1px solid var(--vx-border);color:var(--vx-text);font-size:.8125rem;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.vx-public-main{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:80px 0 120px;position:relative;z-index:10;display:flex;flex-direction:column;align-items:center}.vx-public-hero{text-align:center;max-width:800px;display:flex;flex-direction:column;align-items:center;gap:24px}.vx-public-hero-badge{border-radius:var(--vx-radius-full)}.vx-public-hero__title{font-size:clamp(3rem,7vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin:0;background:linear-gradient(180deg,var(--vx-text) 0%,color-mix(in srgb,var(--vx-text) 60%,transparent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-wrap:balance}.vx-public-hero__lead{font-size:1.25rem;color:var(--vx-text-secondary);line-height:1.6;margin:0;max-width:600px;text-wrap:pretty}.vx-public-hero__actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:12px}.vx-public-hero__actions .vx-button{padding-left:24px;padding-right:24px;height:48px;font-size:1rem;border-radius:var(--vx-radius)}.vx-public-hero__status{margin:12px 0 0;font-size:.875rem;color:var(--vx-text-muted);max-width:60ch;text-wrap:pretty}.vx-public-preview{margin-top:80px;width:100%;max-width:1000px;background:color-mix(in srgb,var(--vx-surface) 60%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid color-mix(in srgb,var(--vx-primary) 20%,var(--vx-border));border-radius:var(--vx-radius-xl);overflow:hidden;box-shadow:0 24px 48px -12px #0000001a}.vx-public-preview__header{border-bottom:1px solid var(--vx-border);padding:16px 24px;display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--vx-surface) 40%,transparent)}.vx-public-preview__dots{display:flex;gap:8px}.vx-public-preview__dot{width:12px;height:12px;border-radius:50%;background:var(--vx-border-strong)}.vx-public-preview__dot:nth-child(1){background:#ff5f56}.vx-public-preview__dot:nth-child(2){background:#ffbd2e}.vx-public-preview__dot:nth-child(3){background:#27c93f}.vx-public-preview__eyebrow{font-size:.8125rem;font-weight:600;color:var(--vx-text-secondary)}.vx-public-preview__body{padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.vx-public-preview__search{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 16px;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);color:var(--vx-text-muted);font-size:.875rem;margin-bottom:24px}.vx-public-preview__sections{display:grid;gap:16px}.vx-public-preview__section{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border-radius:var(--vx-radius-lg);background:var(--vx-surface);border:1px solid var(--vx-border);transition:transform .2s ease,box-shadow .2s ease;cursor:default}.vx-public-preview__section:hover{transform:translateY(-2px);box-shadow:var(--vx-shadow-sm);border-color:color-mix(in srgb,var(--vx-primary) 40%,var(--vx-border))}.vx-public-preview__section-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--vx-radius);background:color-mix(in srgb,var(--vx-primary) 12%,transparent);color:var(--vx-primary)}.vx-public-preview__section-label{font-size:1rem;font-weight:700}.vx-public-preview__section-meta{margin-top:4px;color:var(--vx-text-secondary);font-size:.8125rem}.vx-public-preview__section-arrow{color:var(--vx-text-muted);transition:transform .2s ease}.vx-public-preview__section:hover .vx-public-preview__section-arrow{transform:translate(4px);color:var(--vx-primary)}.vx-public-preview__meta-grid{display:flex;flex-direction:column;gap:16px;justify-content:center}.vx-public-preview__meta-card{padding:24px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:var(--vx-surface)}.vx-public-preview__meta-card p{margin:12px 0 0;color:var(--vx-text-secondary);font-size:.875rem;line-height:1.6}.vx-public-preview__meta-title{display:inline-flex;align-items:center;gap:12px;font-size:1.125rem;font-weight:700}.vx-public-features{width:100%;margin-top:120px}.vx-public-section-title{text-align:center;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--vx-primary);margin:0 0 40px}.vx-public-features__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}@media(max-width:900px){.vx-public-features__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}}@media(max-width:500px){.vx-public-features__grid{grid-template-columns:1fr}}.vx-public-feature-card.vx-card{background:transparent;border:none;box-shadow:none;padding:0}.vx-public-feature-card .vx-card__header{padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.vx-public-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:calc(var(--vx-radius) * 1.5);background:color-mix(in srgb,var(--vx-primary) 10%,transparent);color:var(--vx-primary)}.vx-public-feature-card .vx-card__title{font-size:1.125rem}.vx-public-feature-card .vx-card__description{font-size:.875rem;line-height:1.6;text-wrap:pretty}.vx-public-footer{margin-top:0;border-top:1px solid var(--vx-border);padding:32px 40px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--vx-text-muted);position:relative;z-index:10}@media(max-width:900px){.vx-public{background:radial-gradient(circle at 18% 10%,var(--vx-primary-soft) 0%,transparent 42%),radial-gradient(circle at 82% 92%,var(--vx-primary-soft) 0%,transparent 38%),var(--vx-bg)}.vx-public:before,.vx-public:after{display:none}.vx-public-nav{padding:16px 24px;flex-direction:column;align-items:stretch;gap:14px}.vx-public-nav__links{width:100%;gap:12px}.vx-public-main{width:min(100%,calc(100% - 32px));padding:56px 0 88px}.vx-public-hero{max-width:640px;gap:20px}.vx-public-preview{margin-top:56px}.vx-public-preview__body{grid-template-columns:1fr;gap:24px;padding:28px}.vx-public-features{margin-top:88px}.vx-public-footer{padding:24px;flex-direction:column;align-items:flex-start;gap:10px}}@media(max-width:640px){.vx-public-nav{padding:12px 16px}.vx-public-nav__links{align-items:stretch;gap:8px}.vx-public-nav__links>*{flex:1 1 calc(50% - 4px);min-width:0}.vx-public-nav__links .vx-lang-drop,.vx-public-nav__links .vx-cmd-trigger,.vx-public-nav__links .vx-button{width:100%}.vx-public-nav__links .vx-lang-drop__trigger,.vx-public-nav__links .vx-cmd-trigger,.vx-public-nav__links .vx-button{justify-content:center}.vx-public-nav__user{flex-basis:100%;justify-content:center}.vx-public-main{width:min(100%,calc(100% - 24px));padding:36px 0 64px}.vx-public-hero{gap:18px}.vx-public-hero__title{font-size:clamp(2.35rem,12vw,3.25rem);line-height:1.08}.vx-public-hero__lead{font-size:1.0625rem}.vx-public-hero__actions{width:100%;gap:12px}.vx-public-hero__actions .vx-button{flex:1 1 100%;width:100%}.vx-public-preview{margin-top:44px}.vx-public-preview__header{padding:14px 16px}.vx-public-preview__body{padding:20px 16px;gap:16px}.vx-public-preview__search{margin-bottom:16px;padding:0 14px}.vx-public-preview__section{gap:12px;padding:14px}.vx-public-preview__section-label{font-size:.9375rem}.vx-public-preview__section-meta{font-size:.75rem}.vx-public-preview__meta-card{padding:18px}.vx-public-preview__meta-title{gap:10px;font-size:1rem}.vx-public-section-title{margin-bottom:28px}.vx-public-footer{padding:20px 16px 28px}}.vx-auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px 48px;position:relative;background-color:var(--vx-bg);background-image:radial-gradient(var(--vx-border) 1px,transparent 1px);background-size:20px 20px}.vx-auth-topbar{position:fixed;top:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:color-mix(in srgb,var(--vx-bg) 80%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--vx-border);z-index:50}.vx-auth-topbar__brand{font-size:1.125rem;font-weight:900;letter-spacing:-.04em;color:var(--vx-text)}.vx-auth-topbar__brand span{color:var(--vx-primary)}.vx-auth-topbar__actions{display:flex;align-items:center;gap:12px}.vx-auth-card{width:100%;max-width:420px;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:calc(var(--vx-radius) * 2.5);box-shadow:0 1px 2px color-mix(in srgb,var(--vx-text) 3%,transparent),0 8px 24px -4px color-mix(in srgb,var(--vx-text) 8%,transparent),0 24px 48px -8px color-mix(in srgb,var(--vx-text) 6%,transparent);overflow:hidden}.vx-auth-card__logo{padding:28px 32px 24px;text-align:center;font-size:1.5rem;font-weight:900;letter-spacing:-.05em;color:var(--vx-text);border-bottom:1px solid var(--vx-border)}.vx-auth-card__logo span{color:var(--vx-primary)}.vx-auth-card__body{padding:28px 32px 32px}.vx-auth__header{text-align:center;margin-bottom:24px}.vx-auth__header h2{font-size:1.375rem;font-weight:700;margin:0 0 6px;letter-spacing:-.02em;color:var(--vx-text)}.vx-auth__header p{font-size:.875rem;color:var(--vx-text-muted);margin:0}.vx-auth__form{display:flex;flex-direction:column;gap:16px}.vx-auth__toggle{background:transparent;border:none;font-size:.75rem;color:var(--vx-text-muted);cursor:pointer;padding:0 4px}.vx-auth__toggle:hover{color:var(--vx-text)}.vx-auth__row{display:flex;align-items:center;justify-content:space-between;margin-top:-4px;margin-bottom:4px}.vx-auth__footer{margin-top:20px;text-align:center;font-size:.875rem;color:var(--vx-text-secondary)}.vx-auth__footer--muted{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;color:var(--vx-text-muted)}.vxm-docs-home{display:flex;flex-direction:column;min-height:100%}.vxm-docs-home__hero{padding:28px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.vxm-docs-home__hero-badge{display:flex;align-items:center;justify-content:center;gap:8px}.vxm-docs-home__hero-badge-label{font-size:12px;font-weight:600;color:var(--vx-text-muted);text-transform:uppercase;letter-spacing:.06em}.vxm-docs-home__title{margin:0;max-width:10ch;font-size:clamp(2.35rem,10vw,3.4rem);font-weight:800;letter-spacing:-.03em;color:var(--vx-text);line-height:1.04}.vxm-docs-home__lead{margin:0;max-width:32ch;font-size:.9375rem;color:var(--vx-text-secondary);line-height:1.62}.vxm-docs-home__actions{display:flex;width:100%;gap:10px;margin-top:6px}.vxm-docs-home__status{margin:0;max-width:34ch;font-size:.8125rem;line-height:1.6;color:var(--vx-text-muted)}.vxm-docs-home__preview-search{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:calc(100% - 32px);min-height:46px;margin:0 16px 10px;padding:0 14px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:color-mix(in srgb,var(--vx-bg-accent) 72%,var(--vx-surface));color:var(--vx-text-muted);font-size:.875rem;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;text-align:left;font:inherit;-webkit-tap-highlight-color:transparent;transition:background .1s ease,border-color .1s ease,color .1s ease}.vxm-docs-home__preview-search:active{background:var(--vx-surface-hover)}.vxm-docs-home__preview-search:focus-visible{outline:2px solid color-mix(in srgb,var(--vx-primary) 72%,white);outline-offset:2px}.vxm-docs-home__list,.vxm-legal-page__list{margin:0 16px}.vxm-docs-home__leading-badge{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--vx-primary-soft) 62%,var(--vx-surface));color:var(--vx-primary)}.vxm-docs-home__leading-badge--accent{background:color-mix(in srgb,var(--vx-primary-soft) 40%,var(--vx-glass-bg-strong))}.vxm-docs-home__meta-copy{display:grid;gap:6px}.vxm-docs-home__footer{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 16px 32px}.vxm-docs-home__footer-copy{font-size:.75rem;color:var(--vx-text-muted);text-align:center;line-height:1.5}.vxm-docs-home__footer-link{border:none;background:none;padding:0;color:var(--vx-primary);font:inherit;font-size:.875rem;font-weight:600}.vxm-docs-page{display:flex;flex-direction:column;min-height:100%}.vxm-docs-page__header{padding:20px 16px 16px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--vx-border);margin-bottom:4px}.vxm-docs-page__kicker{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--vx-primary);background:color-mix(in srgb,var(--vx-primary) 10%,transparent);border-radius:4px;padding:2px 7px;align-self:flex-start}.vxm-docs-page__title{margin:0;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--vx-text);line-height:1.2}.vxm-docs-page__lead{margin:0;font-size:.9rem;color:var(--vx-text-secondary);line-height:1.55}.vxm-docs-page__section{padding:12px 16px 4px}.vxm-docs-page__section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--vx-text-muted);margin-bottom:8px}.vxm-auth-screen{display:flex;flex-direction:column;min-height:100dvh;background:var(--vx-bg)}.vxm-auth-screen__body{flex:1;display:flex;flex-direction:column;padding:64px 24px 0}.vxm-auth-screen__icon{width:80px;height:80px;border-radius:22px;background:var(--vx-primary);margin:0 auto 24px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 28px color-mix(in srgb,var(--vx-primary) 38%,transparent)}.vxm-auth-screen__title{text-align:center;font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--vx-text);margin:0 0 36px}.vxm-auth-screen__fields{display:flex;flex-direction:column;gap:16px}.vxm-auth-screen__label{display:block;font-size:.8125rem;font-weight:600;color:var(--vx-text);margin-bottom:8px;padding:0 2px}.vxm-auth-screen .vx-input{min-height:52px;border:none;background:var(--vx-bg-accent);border-radius:14px;padding:0 16px;font-size:1rem}.vxm-auth-screen .vx-input .vx-input__field{font-size:1rem}.vxm-auth-screen__forgot{text-align:right;margin:4px 2px 0}.vxm-auth-screen__forgot-btn{background:none;border:none;padding:0;font-size:.875rem;color:var(--vx-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}.vxm-auth-screen__actions{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding:32px 24px calc(env(safe-area-inset-bottom,0px) + 36px)}.vxm-auth-screen__footer-link{text-align:center;font-size:.9375rem;color:var(--vx-text-secondary);margin:0}.vxm-auth-screen__footer-link button{background:none;border:none;padding:0 2px;color:var(--vx-primary);font-size:inherit;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.vxm-auth-screen__legal-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:-4px 0 0;font-size:.8125rem;color:var(--vx-text-secondary)}.vxm-auth-screen__legal-links button{background:none;border:none;padding:0;color:var(--vx-primary);font:inherit;font-weight:600}.vxm-legal-page{display:flex;flex-direction:column;min-height:100%;padding-bottom:32px}.vxm-legal-page__hero{padding:28px 16px 20px;display:flex;flex-direction:column;gap:12px}.vxm-legal-page__title{margin:0;font-size:1.9rem;line-height:1.08;letter-spacing:-.03em;color:var(--vx-text)}.vxm-legal-page__lead{margin:0;font-size:.9375rem;line-height:1.62;color:var(--vx-text-secondary)}.vxm-legal-page__meta{display:flex;flex-wrap:wrap;gap:8px}.vxm-legal-page__summary-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:var(--vx-primary);background:var(--vx-primary-soft)}.vxm-legal-page__section-card{margin:0 16px;padding:16px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-lg);background:var(--vx-surface)}.vxm-legal-page__paragraph{margin:0;font-size:.9375rem;line-height:1.7;color:var(--vx-text-secondary)}.vxm-legal-page__paragraph+.vxm-legal-page__paragraph{margin-top:12px}.vxm-legal-page__footer{padding:10px 16px 0;text-align:center;font-size:.75rem;line-height:1.5;color:var(--vx-text-muted)}.vx-topbar__menu{display:none;flex:0 0 auto}.vx-topbar__title-group,.vx-topbar__actions{min-width:0}.vx-doc-breadcrumb{min-width:0;display:flex;align-items:center;gap:10px;overflow:hidden}.vx-doc-breadcrumb__kicker{flex:0 0 auto;display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vx-primary)}.vx-doc-breadcrumb strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.98rem,.4vw + .92rem,1.08rem);line-height:1.1;letter-spacing:-.02em;color:var(--vx-text)}.vx-doc-breadcrumb[data-state=overview] strong{color:var(--vx-text-secondary)}.vx-doc-breadcrumb__summary{display:none}.vx-docs-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:10px}.vx-sidebar-session{display:flex;flex-direction:column;gap:10px}.vx-sidebar-session__card{padding:12px;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:color-mix(in srgb,var(--vx-surface) 86%,var(--vx-primary-soft));display:flex;flex-direction:column;gap:4px}.vx-sidebar-session__card span{font-size:.75rem;color:var(--vx-text-muted);text-transform:uppercase;letter-spacing:.08em}.vx-sidebar-session__card strong{font-size:.95rem;color:var(--vx-text)}.vx-sidebar-session__meta{display:flex;flex-wrap:wrap;gap:8px}.vx-docs-workspace,.vx-docs-workspace__home,.vx-doc-page{display:flex;flex-direction:column;gap:32px}.vx-shell[data-density=compact]{--vx-header-height: 56px}.vx-shell[data-density=compact] .vx-nav-section-block{padding-bottom:10px}.vx-shell[data-density=compact] .vx-nav-section-block__title{padding-bottom:6px}.vx-shell[data-density=compact] .vx-nav-section-block__items{gap:2px}.vx-shell[data-density=compact] .vx-nav-item{min-height:30px;padding-top:2px;padding-bottom:2px}.vx-shell[data-density=compact] .vx-topbar{padding-inline:18px}.vx-shell[data-density=compact] .vx-topbar__title-group{padding-block:6px}.vx-shell[data-density=compact] .vx-topbar__actions{padding-block:6px;gap:8px}.vx-shell[data-density=compact] .vx-shell__content{padding:16px 20px 28px}.vx-shell[data-density=compact] .vx-bs-doc-header{padding-bottom:16px}.vx-shell[data-density=compact] .vx-bs-doc-body{padding-top:18px}.vx-shell[data-density=compact] .vx-bs-doc-section{padding-top:14px;padding-bottom:14px}.vx-shell[data-density=compact] .vx-bs-section-heading{margin-bottom:10px}.vx-shell[data-density=compact] .vx-bs-example{padding:16px}.vx-shell[data-density=compact] .vx-bs-example-grid{gap:16px}.vx-shell[data-density=compact] .vx-bs-doc-pager{padding-top:20px;margin-top:20px}.vx-shell[data-density=compact] .vx-docs-workspace,.vx-shell[data-density=compact] .vx-docs-workspace__home,.vx-shell[data-density=compact] .vx-doc-page{gap:20px}.vx-shell[data-density=compact] .vx-docs-home__section,.vx-shell[data-density=compact] .vx-doc-preview-stack,.vx-shell[data-density=compact] .vx-doc-architecture-grid{gap:12px}.vx-docs-home__hero{display:flex;flex-direction:column;gap:24px;align-items:flex-start}.vx-docs-home__copy,.vx-docs-home__section,.vx-docs-home__section-head,.vx-doc-page__hero,.vx-doc-preview-stack{display:flex;flex-direction:column;gap:16px}.vx-docs-home__copy{width:100%;max-width:min(100%,820px);gap:12px}.vx-docs-home__section-head{max-width:min(100%,760px);gap:10px}.vx-doc-page__hero>div{display:flex;flex-direction:column;gap:10px;max-width:min(100%,760px)}.vx-docs-home__copy h1{margin:0;font-size:clamp(2.75rem,5vw,4.5rem);line-height:1.03;letter-spacing:-.03em;font-weight:700;text-wrap:balance;color:var(--vx-text)}.vx-docs-home__copy p,.vx-docs-home__section-head p{margin:0;max-width:100%;font-size:clamp(1rem,.3vw + .98rem,1.08rem);line-height:1.62;color:var(--vx-text-secondary)}.vx-doc-page__hero p,.vx-legal-hero p,.vx-error-card__copy{margin:0;max-width:60ch;font-size:clamp(1rem,.3vw + .98rem,1.08rem);line-height:1.62;text-wrap:pretty;color:var(--vx-text-secondary)}.vx-docs-home__section-head h2,.vx-doc-page__hero h1,.vx-legal-hero h1,.vx-error-card__title{margin:0;font-weight:700;text-wrap:balance;color:var(--vx-text)}.vx-docs-home__section-head h2{font-size:clamp(1.75rem,2.6vw,2.35rem);line-height:1.1;letter-spacing:-.02em}.vx-doc-page__hero h1,.vx-legal-hero h1,.vx-error-card__title{font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.08;letter-spacing:-.025em}.vx-docs-home__actions{display:flex;flex-wrap:wrap;gap:12px}.vx-docs-home__panel,.vx-doc-library-card,.vx-doc-page__preview-card,.vx-breakpoint-card--panel{height:100%}.vx-doc-metric-grid,.vx-doc-control-grid,.vx-doc-library-grid,.vx-doc-architecture-grid,.vx-doc-page__grid,.vx-breakpoint-grid,.vx-doc-stat-grid,.vx-doc-skeleton-grid{display:grid;gap:16px}.vx-doc-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.vx-doc-metric-grid__item,.vx-doc-stat-grid__item,.vx-breakpoint-card,.vx-error-card__path{padding:16px 18px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:color-mix(in srgb,var(--vx-surface) 90%,var(--vx-primary-soft))}.vx-doc-metric-grid__item,.vx-doc-stat-grid__item{display:flex;flex-direction:column;gap:6px}.vx-doc-metric-grid__item span,.vx-doc-stat-grid__item span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vx-text-muted)}.vx-doc-metric-grid__item strong,.vx-doc-stat-grid__item strong,.vx-error-card__code{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;color:var(--vx-text)}.vx-doc-metric-grid__item small,.vx-doc-stat-grid__item small,.vx-breakpoint-card p{color:var(--vx-text-secondary);line-height:1.5}.vx-doc-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.vx-doc-control-grid--single{grid-template-columns:minmax(0,1fr)}.vx-doc-content-map,.vx-doc-library-card__links{display:flex;flex-direction:column;gap:10px}.vx-doc-content-map__row,.vx-doc-library-card__link,.vx-template-launch,.vx-doc-shell-sample__nav,.vx-doc-shell-sample__bar{border:1px solid var(--vx-border);background:color-mix(in srgb,var(--vx-surface) 92%,var(--vx-bg-accent));border-radius:var(--vx-radius)}.vx-doc-content-map__row,.vx-doc-library-card__link{width:100%;padding:12px 14px;color:var(--vx-text);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease}.vx-doc-content-map__row:hover,.vx-doc-library-card__link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--vx-primary) 28%,var(--vx-border));background:color-mix(in srgb,var(--vx-primary-soft) 64%,var(--vx-surface))}.vx-doc-content-map__row>div,.vx-template-launch__head{display:flex;flex-direction:column;gap:4px}.vx-doc-content-map__row span,.vx-template-launch__head p,.vx-doc-library-card__link span:last-child{color:var(--vx-text-secondary);font-size:.875rem}.vx-doc-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vx-doc-architecture-grid,.vx-doc-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-doc-page__hero{align-items:flex-start;justify-content:space-between;flex-direction:row;flex-wrap:wrap}.vx-doc-page__kicker,.vx-legal-meta{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.vx-doc-page__kicker{display:block;color:var(--vx-primary);font-weight:700}.vx-doc-page__meta{display:flex;flex-wrap:wrap;gap:8px}.vx-bs-doc-page{display:flex;flex-direction:column;gap:0}.vx-bs-doc-header{padding-bottom:28px;margin-bottom:0;border-bottom:1px solid var(--vx-border)}.vx-bs-doc-kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--vx-primary);margin-bottom:10px}.vx-bs-doc-header h1{margin:0 0 12px;font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.08;letter-spacing:-.025em;font-weight:700;color:var(--vx-text);text-wrap:balance}.vx-bs-doc-lead{margin:0 0 16px;max-width:60ch;font-size:clamp(1rem,.3vw + .98rem,1.08rem);line-height:1.65;color:var(--vx-text-secondary)}.vx-bs-doc-header-badges{display:flex;flex-wrap:wrap;gap:8px}.vx-bs-doc-body{display:block;padding-top:32px;container-type:inline-size;container-name:doc-body}.vx-bs-doc-content{min-width:0;display:flex;flex-direction:column;gap:0}.vx-bs-doc-section{padding:28px 0;border-bottom:1px solid var(--vx-border)}.vx-bs-doc-section:last-child{border-bottom:none;padding-bottom:0}.vx-bs-section-heading{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;color:var(--vx-text);margin:0 0 18px;display:flex;align-items:center;gap:6px}.vx-bs-anchor{color:var(--vx-text-muted);text-decoration:none;font-weight:400;font-size:1rem;opacity:0;transition:opacity .14s;line-height:1}.vx-bs-section-heading:hover .vx-bs-anchor{opacity:1}.vx-bs-example{padding:28px 24px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-lg);background:color-mix(in srgb,var(--vx-bg-accent) 55%,var(--vx-surface))}.vx-bs-example-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.vx-bs-example-panel{min-width:0;display:flex;flex-direction:column;gap:12px}.vx-bs-example-panel--mobile{align-items:center}.vx-bs-example-panel__meta{display:flex;flex-direction:column;gap:4px}.vx-bs-example-panel__meta strong{font-size:.96rem;color:var(--vx-text)}.vx-bs-example-panel__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--vx-text-muted)}.vx-bs-mobile-preview{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.vx-bs-mobile-preview__frame{width:min(100%,414px);height:896px;border-width:5px;margin:0 auto;background:var(--vx-bg)}.vx-bs-mobile-preview__iframe{width:100%;height:100%;border:0;display:block;background:var(--vx-bg)}.vx-bs-mobile-preview__hint{margin:0;max-width:30ch;text-align:center;font-size:.82rem;line-height:1.5;color:var(--vx-text-muted)}.vx-bs-doc-pager{display:flex;justify-content:space-between;gap:16px;padding-top:32px;border-top:1px solid var(--vx-border);margin-top:32px}.vx-bs-doc-pager__btn{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-lg);background:var(--vx-surface);cursor:pointer;text-align:left;max-width:220px;transition:border-color .16s,background .16s,transform .16s}.vx-bs-doc-pager__btn:hover{border-color:color-mix(in srgb,var(--vx-primary) 40%,var(--vx-border));background:var(--vx-surface-hover);transform:translateY(-1px)}.vx-bs-doc-pager__btn--next{text-align:right;margin-left:auto}.vx-bs-doc-pager__dir{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--vx-text-muted)}.vx-bs-doc-pager__label{font-size:.9rem;font-weight:600;color:var(--vx-text)}@media(max-width:720px){.vx-bs-doc-header h1{font-size:1.9rem}.vx-bs-doc-pager{flex-direction:column}.vx-bs-doc-pager__btn,.vx-bs-doc-pager__btn--next{max-width:100%;text-align:left;margin-left:0}.vx-bs-mobile-preview__frame{height:800px}}@container doc-body (min-width: 960px){.vx-bs-example-grid{grid-template-columns:minmax(0,1fr) minmax(414px,440px)}}.vx-doc-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:12px;color:var(--vx-text-secondary)}.vx-doc-list li::marker{color:var(--vx-primary)}.vx-doc-list--tight{gap:10px}.vx-doc-preview-inline,.vx-error-card__actions,.vx-legal-meta{display:flex;flex-wrap:wrap;gap:10px}.vx-doc-preview-inline--wrap{row-gap:12px}.vx-doc-preview-stack__group{display:flex;flex-direction:column;gap:12px}.vx-doc-shell-sample{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px}.vx-doc-shell-sample__nav,.vx-doc-shell-sample__bar{padding:14px;display:flex;flex-direction:column;gap:6px}.vx-doc-shell-sample__main{display:flex;flex-direction:column;gap:12px}.vx-doc-shell-sample__canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vx-doc-shell-sample__card{min-height:110px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);background:linear-gradient(135deg,color-mix(in srgb,var(--vx-primary-soft) 72%,var(--vx-surface)),var(--vx-surface))}.vx-doc-shell-sample__card--wide{grid-column:1 / -1}.vx-code-block-wrap{position:relative}.vx-code-block__copy{position:absolute;top:12px;right:12px;z-index:1;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.vx-button.vx-code-block__copy--copied{background:color-mix(in srgb,var(--vx-success) 88%,white 12%);border-color:color-mix(in srgb,var(--vx-success) 72%,var(--vx-border));color:#fff}.vx-code-block{margin:0;padding:56px 18px 16px;border-radius:var(--vx-radius-lg);border:1px solid var(--vx-code-border);background:var(--vx-code-bg);color:var(--vx-code-text);font-family:var(--vx-mono);font-size:.875rem;line-height:1.6;overflow:auto}.vx-code-block__code{display:block;min-width:max-content;color:var(--vx-code-text)}.vx-code-block__code .token.comment,.vx-code-block__code .token.prolog,.vx-code-block__code .token.doctype,.vx-code-block__code .token.cdata{color:var(--vx-code-comment);font-style:italic}.vx-code-block__code .token.keyword,.vx-code-block__code .token.selector,.vx-code-block__code .token.atrule{color:var(--vx-code-keyword)}.vx-code-block__code .token.string,.vx-code-block__code .token.regex,.vx-code-block__code .token.attr-value,.vx-code-block__code .token.inserted{color:var(--vx-code-string)}.vx-code-block__code .token.number,.vx-code-block__code .token.boolean,.vx-code-block__code .token.constant,.vx-code-block__code .token.symbol{color:var(--vx-code-number)}.vx-code-block__code .token.function,.vx-code-block__code .token.function-variable,.vx-code-block__code .token.method{color:var(--vx-code-function)}.vx-code-block__code .token.property,.vx-code-block__code .token.parameter{color:var(--vx-code-property)}.vx-code-block__code .token.class-name,.vx-code-block__code .token.builtin{color:var(--vx-code-class)}.vx-code-block__code .token.tag,.vx-code-block__code .token.deleted{color:var(--vx-code-tag)}.vx-code-block__code .token.attr-name,.vx-code-block__code .token.namespace{color:var(--vx-code-attr-name)}.vx-code-block__code .token.punctuation{color:var(--vx-code-punctuation)}.vx-code-block__code .token.operator,.vx-code-block__code .token.entity,.vx-code-block__code .token.url{color:var(--vx-code-operator)}.vx-breakpoint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vx-breakpoint-card{display:flex;flex-direction:column;gap:10px}.vx-breakpoint-card strong{font-size:1.05rem;color:var(--vx-text)}.vx-doc-empty-state,.vx-error-shell,.vx-error-card,.vx-legal-shell,.vx-legal-hero,.vx-legal-section,.vx-legal-rail__card{display:flex;flex-direction:column}.vx-doc-empty-state,.vx-error-card,.vx-legal-section,.vx-legal-rail__card{gap:14px;padding:22px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-xl);background:color-mix(in srgb,var(--vx-surface) 90%,var(--vx-primary-soft))}.vx-doc-empty-state__icon,.vx-error-card__icon{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-doc-empty-state strong,.vx-legal-section h2,.vx-legal-rail__card h3{margin:0;color:var(--vx-text)}.vx-doc-empty-state p,.vx-legal-section p,.vx-legal-rail__card li,.vx-legal-hero p,.vx-error-card__copy,.vx-error-card__path span{margin:0;color:var(--vx-text-secondary);line-height:1.65}.vx-doc-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.vx-doc-popover-copy{width:min(260px,70vw);font-size:.875rem;line-height:1.5}.vx-template-launch{padding:16px;display:flex;flex-direction:column;gap:14px}.vx-template-launch__icon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-template-launch__head{gap:10px}.vx-template-launch__head p{margin:0}.vx-public--error,.vx-legal-page{min-height:100vh}.vx-legal-page{background:radial-gradient(120% 72% at 50% 0%,var(--vx-primary-soft) 0%,transparent 68%),linear-gradient(180deg,color-mix(in srgb,var(--vx-bg-accent) 58%,var(--vx-bg)) 0%,color-mix(in srgb,var(--vx-bg-accent) 24%,var(--vx-bg)) 22%,var(--vx-bg) 56%,color-mix(in srgb,var(--vx-primary-soft) 12%,var(--vx-bg)) 100%)}.vx-legal-page:before,.vx-legal-page:after{display:none}.vx-error-shell,.vx-legal-shell{width:min(1200px,calc(100% - 32px));margin:0 auto 56px;gap:24px}.vx-error-shell{min-height:calc(100vh - 160px);align-items:center;justify-content:center}.vx-error-card{width:min(720px,100%);align-items:flex-start}.vx-error-card__path{gap:4px}.vx-error-card__path strong{color:var(--vx-text);word-break:break-all}.vx-legal-shell{padding-top:28px}.vx-legal-hero{gap:16px;max-width:72ch}.vx-legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.vx-legal-main{display:flex;flex-direction:column;gap:18px}.vx-legal-section h2{font-size:1.35rem}.vx-legal-rail{position:sticky;top:88px;align-self:start}.vx-legal-rail__card ul{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:10px}.vx-legal-meta{color:var(--vx-text-muted)}@media(max-width:1180px){.vx-doc-library-grid,.vx-breakpoint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.vx-shell[data-tablet=true] .vx-topbar__menu{display:inline-flex}.vx-shell[data-tablet=true] .vx-shell__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--vx-glass-scrim);backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:18}.vx-shell[data-tablet=true][data-nav-open=true] .vx-shell__overlay{opacity:1;pointer-events:auto}.vx-shell[data-tablet=true] .vx-sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,320px);min-width:min(86vw,320px);height:100dvh;transform:translate(-100%);box-shadow:var(--vx-shadow-lg);border-right:1px solid var(--vx-border)}.vx-shell[data-tablet=true][data-nav-open=true] .vx-sidebar{transform:translate(0)}.vx-shell[data-tablet=true] .vx-sidebar__toggle{display:none}.vx-shell[data-tablet=true] .vx-shell__main{border-left:0}.vx-shell[data-tablet=true] .vx-topbar{gap:12px;flex-wrap:wrap;flex:0 0 auto;align-items:flex-start;min-height:0;height:auto;padding:14px 20px 12px}.vx-shell[data-tablet=true] .vx-topbar__menu{order:1;align-self:flex-start}.vx-shell[data-tablet=true] .vx-topbar__title-group{order:2;flex:1 1 0;width:auto;min-width:min(280px,100%);padding:0}.vx-shell[data-tablet=true] .vx-topbar__actions{order:3;flex:1 1 100%;width:100%;border-left:0;padding:10px 0 0;border-top:1px solid var(--vx-border);flex-wrap:wrap;justify-content:flex-start;overflow:visible}@media(max-width:1023px){.vx-docs-home__hero,.vx-doc-page__grid,.vx-doc-architecture-grid,.vx-legal-layout{grid-template-columns:1fr}.vx-legal-rail{position:static}}@media(max-width:720px){.vx-doc-metric-grid,.vx-doc-control-grid,.vx-doc-library-grid,.vx-breakpoint-grid,.vx-doc-skeleton-grid,.vx-doc-stat-grid,.vx-doc-shell-sample,.vx-doc-shell-sample__canvas{grid-template-columns:1fr}.vx-error-shell,.vx-legal-shell{width:min(100%,calc(100% - 24px))}.vx-docs-home__copy h1{font-size:2.5rem}.vx-docs-home__section-head h2,.vx-doc-page__hero h1,.vx-legal-hero h1,.vx-error-card__title{font-size:1.9rem}.vx-docs-toolbar{justify-content:flex-start}}.vx-text-component{margin:0;padding:0;color:var(--vx-text)}.vx-text--secondary{color:var(--vx-text-secondary)}.vx-text--muted{color:var(--vx-text-muted)}.vx-text--danger{color:var(--vx-danger)}.vx-text--success{color:var(--vx-success)}.vx-text-size--sm{font-size:.875rem}.vx-text-size--base{font-size:1rem}.vx-text-size--lg{font-size:1.125rem}.vx-text-size--xl{font-size:1.25rem}.vx-text-weight--normal{font-weight:400}.vx-text-weight--medium{font-weight:500}.vx-text-weight--semibold{font-weight:600}.vx-text-weight--bold{font-weight:700}.vx-text--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-heading{margin:0;color:var(--vx-text);letter-spacing:-.025em}.vx-heading--secondary{color:var(--vx-text-secondary)}.vx-heading--h1{font-size:2.25rem;line-height:2.5rem}.vx-heading--h2{font-size:1.875rem;line-height:2.25rem}.vx-heading--h3{font-size:1.5rem;line-height:2rem}.vx-heading--h4{font-size:1.25rem;line-height:1.75rem}.vx-heading--h5{font-size:1.125rem;line-height:1.75rem}.vx-heading--h6{font-size:1rem;line-height:1.5rem}.vx-heading-weight--normal{font-weight:400}.vx-heading-weight--medium{font-weight:500}.vx-heading-weight--semibold{font-weight:600}.vx-heading-weight--bold{font-weight:700}.vx-label{display:inline-flex;align-items:baseline;gap:2px;font-size:13px;font-weight:600;color:var(--vx-text);cursor:default}.vx-label__required{color:var(--vx-danger);font-size:13px}.vx-form{display:flex;flex-direction:column;gap:18px}.vx-form-field{display:flex;flex-direction:column;gap:6px}.vx-form-label{display:inline-flex;align-items:baseline;gap:2px;font-size:13px;font-weight:600;color:var(--vx-text)}.vx-form-label__required{color:var(--vx-danger)}.vx-form-description,.vx-form-message{font-size:12px;color:var(--vx-text-secondary);margin:0}.vx-form-message--error{color:var(--vx-danger)}.vx-alert-dialog__content{position:fixed;top:50%;left:50%;z-index:851;width:min(440px,calc(100vw - 32px));transform:translate(-50%,-50%);padding:24px;border-radius:16px;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vx-fade-in .15s ease}.vx-alert-dialog__title{margin:0 0 10px;font-size:17px;font-weight:600}.vx-alert-dialog__description{margin:0 0 20px;color:var(--vx-text-secondary);font-size:14px;line-height:1.6}.vx-alert-dialog__footer{display:flex;justify-content:flex-end;gap:10px}.vx-number-input{display:inline-flex;align-items:center;min-height:42px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);overflow:hidden;width:100%}.vx-number-input--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--vx-danger) 18%,transparent)}.vx-number-input--disabled{opacity:.5;cursor:not-allowed}.vx-number-input__btn{display:flex;align-items:center;justify-content:center;width:36px;height:100%;min-height:42px;flex-shrink:0;border:none;background:transparent;color:var(--vx-text-secondary);cursor:pointer;transition:background .12s,color .12s}.vx-number-input__btn:hover:not(:disabled){background:var(--vx-bg-accent);color:var(--vx-text)}.vx-number-input__btn:disabled{opacity:.35;cursor:not-allowed}.vx-number-input__field{flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--vx-text);font-size:14px;text-align:center;padding:0 4px;-moz-appearance:textfield}.vx-number-input__field:focus{outline:none}.vx-number-input__field::-webkit-inner-spin-button,.vx-number-input__field::-webkit-outer-spin-button{-webkit-appearance:none}.vx-calendar{display:inline-flex;flex-direction:column;gap:8px;padding:14px;background:var(--vx-surface);border-radius:var(--vx-radius-lg);border:1px solid var(--vx-border);-webkit-user-select:none;user-select:none;min-width:264px}.vx-calendar__header{display:flex;align-items:center;justify-content:space-between;padding:0 2px 6px}.vx-calendar__nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--vx-border);border-radius:8px;background:transparent;color:var(--vx-text-secondary);cursor:pointer;transition:background .12s,color .12s}.vx-calendar__nav-btn:hover{background:var(--vx-bg-accent);color:var(--vx-text)}.vx-calendar__month-label{font-size:14px;font-weight:600;color:var(--vx-text)}.vx-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.vx-calendar__weekday{display:flex;align-items:center;justify-content:center;height:32px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--vx-text-muted)}.vx-calendar__cell{display:flex;align-items:center;justify-content:center;height:34px;border-radius:8px;border:none;background:transparent;color:var(--vx-text);font-size:13.5px;cursor:pointer;transition:background .1s,color .1s}.vx-calendar__cell--empty{cursor:default}.vx-calendar__cell:hover:not(:disabled):not(.vx-calendar__cell--empty){background:var(--vx-bg-accent)}.vx-calendar__cell--today{font-weight:700;color:var(--vx-primary)}.vx-calendar__cell--selected{background:var(--vx-primary)!important;color:#fff!important;font-weight:600}.vx-calendar__cell--disabled{opacity:.3;cursor:not-allowed}.vx-datepicker{position:relative;display:flex;flex-direction:column;gap:8px}.vx-datepicker__trigger{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:14px;cursor:pointer;text-align:left;transition:border-color .14s;width:100%}.vx-datepicker__trigger:hover:not(:disabled){border-color:var(--vx-border-strong)}.vx-datepicker__trigger--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-datepicker__trigger--disabled{opacity:.5;cursor:not-allowed}.vx-datepicker__value{flex:1}.vx-datepicker__value--placeholder{color:var(--vx-text-muted)}.vx-datepicker__popover{position:absolute;top:calc(100% + 6px);left:0;z-index:700;animation:vx-fade-in .14s ease}.vx-combobox{position:relative;display:flex;flex-direction:column;gap:8px}.vx-combobox__trigger{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:14px;cursor:pointer;text-align:left;width:100%;transition:border-color .14s}.vx-combobox__trigger:hover:not(:disabled){border-color:var(--vx-border-strong)}.vx-combobox__trigger--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-combobox__trigger--disabled{opacity:.5;cursor:not-allowed}.vx-combobox__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-combobox__value--placeholder{color:var(--vx-text-muted)}.vx-combobox__icons{display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--vx-text-muted)}.vx-combobox__clear{display:flex;align-items:center;cursor:pointer;color:var(--vx-text-muted);transition:color .1s}.vx-combobox__clear:hover{color:var(--vx-text)}.vx-combobox__chevron{transition:transform .16s}.vx-combobox__chevron--open{transform:rotate(180deg)}.vx-combobox__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:700;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vx-fade-in .14s ease;overflow:hidden}.vx-combobox__search-wrap{padding:8px 8px 4px;border-bottom:1px solid var(--vx-border)}.vx-combobox__search{width:100%;padding:6px 10px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:13px}.vx-combobox__search:focus{outline:none;border-color:var(--vx-primary)}.vx-combobox__list{list-style:none;margin:0;padding:4px;max-height:220px;overflow-y:auto}.vx-combobox__option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:calc(var(--vx-radius) * .75);font-size:14px;color:var(--vx-text);cursor:pointer;transition:background .1s}.vx-combobox__option:hover:not(.vx-combobox__option--disabled){background:var(--vx-bg-accent)}.vx-combobox__option--selected{color:var(--vx-primary);font-weight:500}.vx-combobox__option--disabled{opacity:.4;cursor:not-allowed}.vx-combobox__empty{padding:12px 10px;font-size:13px;color:var(--vx-text-muted);text-align:center}.vx-file-upload{display:flex;flex-direction:column;gap:8px}.vx-file-upload__zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;border-radius:var(--vx-radius-lg);border:2px dashed var(--vx-border);background:var(--vx-surface);cursor:pointer;transition:border-color .16s,background .16s;text-align:center;position:relative}.vx-file-upload__zone:hover:not(.vx-file-upload__zone--disabled){border-color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-file-upload__zone--dragging{border-color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-file-upload__zone--disabled{opacity:.5;cursor:not-allowed}.vx-file-upload__zone--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-file-upload__icon{color:var(--vx-text-muted)}.vx-file-upload__text{margin:0;font-size:14px;color:var(--vx-text-secondary)}.vx-file-upload__link{color:var(--vx-primary);font-weight:500}.vx-file-upload__hint{margin:0;font-size:12px;color:var(--vx-text-muted)}.vx-file-upload__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:0;height:0;pointer-events:none}.vx-file-upload__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.vx-file-upload__file{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);font-size:13px}.vx-file-upload__file-icon{color:var(--vx-text-muted);flex-shrink:0}.vx-file-upload__file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--vx-text)}.vx-file-upload__file-size{color:var(--vx-text-muted);flex-shrink:0;font-size:12px}.vx-file-upload__remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--vx-text-muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.vx-file-upload__remove:hover{background:color-mix(in srgb,var(--vx-danger) 12%,transparent);color:var(--vx-danger)}.vx-sheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--vx-glass-scrim);backdrop-filter:blur(8px) saturate(1.08);-webkit-backdrop-filter:blur(8px) saturate(1.08);z-index:800;animation:vx-fade-in .2s ease}.vx-sheet{position:fixed;z-index:801;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);box-shadow:var(--vx-glass-shadow);display:flex;flex-direction:column}.vx-sheet--right{top:0;right:0;bottom:0;width:min(420px,90vw);border-left:1px solid var(--vx-glass-border);animation:vx-sheet-slide-right .22s ease}.vx-sheet--left{top:0;left:0;bottom:0;width:min(420px,90vw);border-right:1px solid var(--vx-glass-border);animation:vx-sheet-slide-left .22s ease}.vx-sheet--top{top:0;left:0;right:0;max-height:60vh;border-bottom:1px solid var(--vx-glass-border);animation:vx-sheet-slide-top .22s ease}.vx-sheet--bottom{bottom:0;left:0;right:0;max-height:60vh;border-top:1px solid var(--vx-glass-border);border-radius:var(--vx-radius-xl) var(--vx-radius-xl) 0 0;animation:vx-sheet-slide-bottom .22s ease}.vx-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 20px 0}.vx-sheet__title{margin:0;font-size:17px;font-weight:600}.vx-sheet__description{margin:6px 0 0;font-size:14px;color:var(--vx-text-secondary)}.vx-sheet__body{flex:1;overflow-y:auto;padding:20px}.vx-sheet__footer{padding:14px 20px;border-top:1px solid var(--vx-border);display:flex;justify-content:flex-end;gap:10px}@keyframes vx-sheet-slide-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes vx-sheet-slide-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes vx-sheet-slide-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vx-sheet-slide-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.vx-scroll-area{overflow:hidden;position:relative}.vx-scroll-area__viewport{width:100%;height:100%;max-height:inherit;max-width:inherit;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--vx-border-strong) transparent}.vx-scroll-area__viewport::-webkit-scrollbar{width:6px;height:6px}.vx-scroll-area__viewport::-webkit-scrollbar-thumb{background:var(--vx-border-strong);border-radius:99px}.vx-scroll-area__viewport::-webkit-scrollbar-track{background:transparent}.vx-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:var(--vx-surface);color:var(--vx-text-secondary);font-size:14px;cursor:pointer;transition:background .14s,color .14s,border-color .14s}.vx-toggle:hover:not(:disabled){background:var(--vx-bg-accent);color:var(--vx-text)}.vx-toggle--on{background:var(--vx-primary-soft);border-color:color-mix(in srgb,var(--vx-primary) 30%,var(--vx-border));color:var(--vx-primary)}.vx-toggle--sm{height:32px;padding:0 10px;font-size:13px}.vx-toggle--md{height:38px;padding:0 14px}.vx-toggle--lg{height:44px;padding:0 18px;font-size:15px}.vx-toggle:disabled{opacity:.4;cursor:not-allowed}.vx-toggle-group{display:inline-flex}.vx-toggle-group__item{border-radius:0}.vx-toggle-group__item:first-child{border-radius:var(--vx-radius-sm) 0 0 var(--vx-radius-sm)}.vx-toggle-group__item:last-child{border-radius:0 var(--vx-radius-sm) var(--vx-radius-sm) 0}.vx-toggle-group__item+.vx-toggle-group__item{margin-left:-1px}.vx-context-menu-wrap{display:contents}.vx-hovercard-wrap{position:relative;display:inline-flex}.vx-hovercard{position:absolute;z-index:600;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:12px 14px;min-width:200px;max-width:320px;animation:vx-fade-in .15s ease}.vx-hovercard--bottom{top:calc(100% + 8px);left:0}.vx-hovercard--top{bottom:calc(100% + 8px);left:0}.vx-hovercard--left{right:calc(100% + 8px);top:0}.vx-hovercard--right{left:calc(100% + 8px);top:0}.vx-menubar{display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius)}.vx-menubar__item-wrap{position:relative}.vx-menubar__trigger{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;border:none;background:transparent;color:var(--vx-text-secondary);font-size:13.5px;cursor:pointer;transition:background .12s,color .12s}.vx-menubar__trigger:hover:not(:disabled){background:var(--vx-bg-accent);color:var(--vx-text)}.vx-menubar__trigger--open{background:var(--vx-bg-accent);color:var(--vx-text)}.vx-menubar__trigger:disabled{opacity:.4;cursor:not-allowed}.vx-nav-menu{display:inline-flex}.vx-nav-menu__list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.vx-nav-menu__item-wrap{position:relative}.vx-nav-menu__link{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--vx-radius-sm);border:none;background:transparent;color:var(--vx-text-secondary);font-size:14px;text-decoration:none;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.vx-nav-menu__link:hover{background:var(--vx-bg-accent);color:var(--vx-text)}.vx-nav-menu__link--active{color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-nav-menu__chevron{transition:transform .16s}.vx-nav-menu__chevron--open{transform:rotate(180deg)}.vx-nav-menu__dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:700;min-width:220px;background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);padding:6px;animation:vx-fade-in .14s ease}.vx-nav-menu__sub-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:calc(var(--vx-radius) * .75);text-decoration:none;color:var(--vx-text);transition:background .1s}.vx-nav-menu__sub-item:hover{background:var(--vx-bg-accent)}.vx-nav-menu__sub-icon{display:flex;align-items:center;margin-top:1px;color:var(--vx-text-muted);flex-shrink:0}.vx-nav-menu__sub-label{display:block;font-size:13.5px;font-weight:500;color:var(--vx-text)}.vx-nav-menu__sub-desc{display:block;font-size:12px;color:var(--vx-text-secondary);margin-top:2px}.vx-stepper{list-style:none;margin:0;padding:0;display:flex}.vx-stepper--horizontal{flex-direction:row;align-items:flex-start;gap:0}.vx-stepper--vertical{flex-direction:column;gap:0}.vx-stepper__step{display:flex;align-items:center;gap:10px;flex:1;position:relative}.vx-stepper--vertical .vx-stepper__step{flex-direction:column;align-items:flex-start;flex:0 0 auto;padding-bottom:24px}.vx-stepper__indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--vx-border);background:var(--vx-surface);font-size:13px;font-weight:600;color:var(--vx-text-muted);flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.vx-stepper__step--active .vx-stepper__indicator{border-color:var(--vx-primary);color:var(--vx-primary);background:var(--vx-primary-soft)}.vx-stepper__step--completed .vx-stepper__indicator{border-color:var(--vx-primary);background:var(--vx-primary);color:#fff}.vx-stepper__step--error .vx-stepper__indicator{border-color:var(--vx-danger);background:color-mix(in srgb,var(--vx-danger) 12%,transparent);color:var(--vx-danger)}.vx-stepper__content{display:flex;flex-direction:column;gap:2px}.vx-stepper__label{font-size:13.5px;font-weight:600;color:var(--vx-text);white-space:nowrap}.vx-stepper__step--pending .vx-stepper__label{color:var(--vx-text-muted)}.vx-stepper__description{font-size:12px;color:var(--vx-text-secondary)}.vx-stepper__connector{flex:1;height:2px;background:var(--vx-border);margin:15px 6px 0;align-self:flex-start}.vx-stepper--vertical .vx-stepper__connector{position:absolute;left:15px;top:36px;bottom:0;width:2px;height:auto;margin:0;align-self:unset}.vx-stepper__step--completed .vx-stepper__connector,.vx-stepper__step--active .vx-stepper__connector{background:var(--vx-primary)}.vx-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vx-timeline__item{display:flex;gap:16px;position:relative;padding-bottom:24px}.vx-timeline__item:last-child{padding-bottom:0}.vx-timeline__item:before{content:"";position:absolute;left:11px;top:28px;bottom:0;width:2px;background:var(--vx-border)}.vx-timeline__item:last-child:before{display:none}.vx-timeline__dot{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--vx-border);border:2px solid var(--vx-surface);flex-shrink:0;z-index:1;margin-top:2px}.vx-timeline__item--success .vx-timeline__dot{background:var(--vx-success)}.vx-timeline__item--danger .vx-timeline__dot{background:var(--vx-danger)}.vx-timeline__item--warning .vx-timeline__dot{background:var(--vx-warning)}.vx-timeline__item--info .vx-timeline__dot{background:var(--vx-info)}.vx-timeline__body{flex:1;min-width:0}.vx-timeline__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.vx-timeline__title{font-size:14px;font-weight:600;color:var(--vx-text)}.vx-timeline__time{font-size:12px;color:var(--vx-text-muted);white-space:nowrap;flex-shrink:0}.vx-timeline__description{margin:4px 0 0;font-size:13.5px;color:var(--vx-text-secondary);line-height:1.55}.vx-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:10px}.vx-empty-state__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--vx-bg-accent);color:var(--vx-text-muted);margin-bottom:4px}.vx-empty-state__title{margin:0;font-size:16px;font-weight:600;color:var(--vx-text)}.vx-empty-state__description{margin:0;font-size:14px;color:var(--vx-text-secondary);max-width:360px;line-height:1.6}.vx-empty-state__action{margin-top:8px}.vx-carousel{position:relative;overflow:hidden;border-radius:var(--vx-radius-lg);background:var(--vx-surface);-webkit-user-select:none;user-select:none}.vx-carousel__track-wrap{overflow:hidden;width:100%}.vx-carousel__track{display:flex;transition:transform .38s cubic-bezier(.4,0,.2,1)}.vx-carousel__slide{flex:0 0 100%;width:100%}.vx-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--vx-glass-border);background:var(--vx-glass-bg);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);color:var(--vx-text);cursor:pointer;z-index:10;transition:background .14s,opacity .14s}.vx-carousel__arrow:hover:not(:disabled){background:var(--vx-surface)}.vx-carousel__arrow:disabled{opacity:.3;cursor:not-allowed}.vx-carousel__arrow--prev{left:12px}.vx-carousel__arrow--next{right:12px}.vx-carousel__dots{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0 8px}.vx-carousel__dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--vx-border-strong);cursor:pointer;padding:0;transition:background .2s,transform .2s}.vx-carousel__dot--active{background:var(--vx-primary);transform:scale(1.3)}.vx-rating{display:inline-flex;align-items:center;gap:2px}.vx-rating--disabled{opacity:.4;pointer-events:none}.vx-rating__star{display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:2px;cursor:pointer;color:var(--vx-border-strong);transition:color .12s,transform .12s}.vx-rating__star:hover{transform:scale(1.15)}.vx-rating__star--active{color:#f59e0b}.vx-rating--sm .vx-rating__star svg{width:16px;height:16px}.vx-rating--md .vx-rating__star svg{width:20px;height:20px}.vx-rating--lg .vx-rating__star svg{width:26px;height:26px}.vx-tree{list-style:none;margin:0;padding:0;font-size:14px}.vx-tree__children{list-style:none;margin:0;padding:0}.vx-tree__node{display:flex;align-items:center;gap:6px;min-height:34px;border-radius:var(--vx-radius-sm);color:var(--vx-text);cursor:pointer;transition:background .1s;outline:none;padding-right:8px}.vx-tree__node:hover{background:var(--vx-bg-accent)}.vx-tree__node:focus-visible{box-shadow:0 0 0 2px var(--vx-primary)}.vx-tree__node--selected{background:var(--vx-primary-soft);color:var(--vx-primary)}.vx-tree__node--disabled{opacity:.4;cursor:not-allowed}.vx-tree__expand{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.vx-tree__expand--hidden{visibility:hidden}.vx-tree__chevron{color:var(--vx-text-muted);transition:transform .18s}.vx-tree__chevron--open{transform:rotate(90deg)}.vx-tree__icon{display:flex;align-items:center;color:var(--vx-text-muted);flex-shrink:0}.vx-tree__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-tag-input{display:flex;flex-direction:column;gap:8px}.vx-tag-input__wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 10px;border-radius:10px;border:1px solid var(--vx-border);background:var(--vx-surface);cursor:text;transition:border-color .14s}.vx-tag-input__wrap:focus-within{border-color:var(--vx-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 14%,transparent)}.vx-tag-input__wrap--invalid{border-color:color-mix(in srgb,var(--vx-danger) 45%,var(--vx-border))}.vx-tag-input__wrap--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.vx-tag-input__tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 10px;border-radius:99px;background:var(--vx-primary-soft);color:var(--vx-primary);font-size:12.5px;font-weight:500;white-space:nowrap}.vx-tag-input__remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity .12s,background .12s;padding:0}.vx-tag-input__remove:hover{opacity:1;background:color-mix(in srgb,var(--vx-primary) 20%,transparent)}.vx-tag-input__input{flex:1 1 80px;min-width:60px;border:none;background:transparent;color:var(--vx-text);font-size:14px;outline:none;padding:0}.vx-tag-input__input::placeholder{color:color-mix(in srgb,var(--vx-text-muted) 72%,transparent)}.vx-colorpicker{display:flex;flex-direction:column;gap:8px;position:relative}.vx-colorpicker__row{display:flex;align-items:center;gap:10px}.vx-colorpicker__swatch-btn{width:36px;height:36px;border-radius:8px;border:2px solid var(--vx-border);background:var(--vx-cp-color, #3b82f6);cursor:pointer;flex-shrink:0;transition:border-color .14s,box-shadow .14s}.vx-colorpicker__swatch-btn:hover:not(:disabled){border-color:var(--vx-border-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--vx-primary) 14%,transparent)}.vx-colorpicker__swatch-btn--disabled{opacity:.5;cursor:not-allowed}.vx-colorpicker__hex-input{flex:1;min-height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:13px;font-family:monospace}.vx-colorpicker__hex-input:focus{outline:none;border-color:var(--vx-primary)}.vx-colorpicker__panel{position:absolute;top:calc(100% + 6px);left:0;z-index:800;padding:14px;width:240px;background:var(--vx-glass-bg-strong);backdrop-filter:var(--vx-glass-filter);-webkit-backdrop-filter:var(--vx-glass-filter);border:1px solid var(--vx-glass-border);border-radius:var(--vx-radius-lg);box-shadow:var(--vx-glass-highlight),var(--vx-glass-shadow);animation:vx-fade-in .14s ease;display:flex;flex-direction:column;gap:10px}.vx-colorpicker__section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--vx-text-muted);margin-bottom:-4px}.vx-colorpicker__hue-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:12px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#7f00ff,#f0f,#ff0080,red)}.vx-colorpicker__sat-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:12px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,hsl(var(--vx-cp-hue, 0),0%,50%),hsl(var(--vx-cp-hue, 0),100%,50%))}.vx-colorpicker__lit-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:12px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,hsl(var(--vx-cp-hue, 0),var(--vx-cp-sat, 100%),0%),hsl(var(--vx-cp-hue, 0),var(--vx-cp-sat, 100%),50%),hsl(var(--vx-cp-hue, 0),var(--vx-cp-sat, 100%),100%))}.vx-colorpicker__hue-slider::-webkit-slider-thumb,.vx-colorpicker__sat-slider::-webkit-slider-thumb,.vx-colorpicker__lit-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0003,0 2px 6px #0003;background:transparent;cursor:grab}.vx-colorpicker__presets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.vx-colorpicker__preset{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s}.vx-colorpicker__preset:hover{transform:scale(1.12)}.vx-colorpicker__preset--active{border-color:var(--vx-primary);box-shadow:0 0 0 2px var(--vx-primary-soft)}.vx-colorpicker__close{align-self:flex-end;padding:5px 14px;border-radius:8px;border:1px solid var(--vx-border);background:var(--vx-surface);color:var(--vx-text);font-size:13px;cursor:pointer;transition:background .12s}.vx-colorpicker__close:hover{background:var(--vx-bg-accent)}.vx-resizable-group{display:flex;width:100%;height:100%;overflow:hidden}.vx-resizable-group--horizontal{flex-direction:row}.vx-resizable-group--vertical{flex-direction:column}.vx-resizable-panel{flex:0 0 var(--vx-panel-size, 50%);overflow:auto;min-width:0;min-height:0}.vx-resizable-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .14s}.vx-resizable-handle--horizontal{width:6px;cursor:col-resize}.vx-resizable-handle--vertical{height:6px;cursor:row-resize;flex-direction:column}.vx-resizable-handle:hover,.vx-resizable-handle--active{background:var(--vx-primary-soft)}.vx-resizable-handle__bar{border-radius:99px;background:var(--vx-border-strong);transition:background .14s}.vx-resizable-handle--horizontal .vx-resizable-handle__bar{width:2px;height:32px}.vx-resizable-handle--vertical .vx-resizable-handle__bar{height:2px;width:32px}.vx-resizable-handle:hover .vx-resizable-handle__bar,.vx-resizable-handle--active .vx-resizable-handle__bar{background:var(--vx-primary)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxui-react",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
4
4
  "description": "A general-purpose React UI framework rebuilt from VXUI principles.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {