function e(e,t=new i.default){const r=String.raw,n=e=>e.replace(/^\s*(.+?)\s*$/,"$1").replace(/\s+/g," "),a=e=>e.replace(/[.*+?^/${}()|[\]\\]/g,"\\$&"),s=r`(?:\d*\.?\d+|\d+\.)`,l=r`(?:-?(?:0x[0-9a-f]*\.?[0-9a-f]+|0b[01]*\.?[01]+|0o[0-7]*\.?[0-7]+|${s}))`,o=r`\s*(?:em|rem|en|ex|px|pt|pc|ft|in|s|ms|cm|mm|m)\b`,d=(()=>{const e=r`\(\s*`,t=r`\s*\)`,n=r`(?:-?${l}(?:${o})?)`,a=r`(?:(?:[-^*/+]+\s*)+(?=\d|\.))`,s=r`(?:(?:${`(?:${e}${n}${t}|${n})`}\s*${a}\s*)+${n})`;return r`\(\s*${s}\s*\)|${s}`})(),u=e=>b.KEEP_NAN?+e:isNaN(+e)?0:+e,p=(e,t,n={})=>{if(RegExp(d).test(m))return;const a=Array.from(m.match(RegExp(r`\$\(\s*(?:${e})\b`))||[]);if(0===a.length)return;const s=m.substr(m.indexOf(a[0]));let l="",c=0,i=!1;for(let e=0;e0&&(i=!0),"("===s[e]&&c++,")"===s[e]&&c--,!i||0!==c);e++)if(e===s.length-1&&c>0)return;if(!l.trim())return;const o=!1===n.trim?/^\$\(|\)$/:/^\$\(\s*|\s*\)$/g,u=!1===n.trim?"|":/\s*\|\s*/;let p=l.replace(o,"").split(u);for(let e=0;e0;e--)if(p[+e]){p=p.slice(0,e+1);break}p[0]=l,m=m.replace(l,t(...p))};let $=e.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<").replace(/(?e.startsWith("/*[")&&e.endsWith("]*/")?e.replace(/^\/\*\[(.+)\]\*\/$/,"/*$1*/"):e.startsWith("/*/")||e.endsWith("/*/")?e:(g.indexOf(t)<0&&g.push(t),"/*COMMENT#"+g.indexOf(t)+"*/"))).replace(/\/\*\/(.+?)\/\*\//gs,((e,t)=>(h.indexOf(t)<0&&h.push(t),"/*STATIC#"+h.indexOf(t)+"*/"))),E={},b={BUILTIN_FUNCTIONS:!0,DECIMAL_PLACES:!1,KEEP_NAN:!1,KEEP_UNPARSED:!1,MAX_ARGUMENTS:10,MAX_MATH_RECURSION:5,MAX_RECURSION:50};for(let e in f){let t;if(f[e].match(/^\s*@var\s/)){let t=f[e].replace(/^\s*@var\s/,"").split("="),n=f.slice(+e),a;for(let e in n)if(n[e].match(/^\s*@endvar\s*$|^\s*@var\s/)&&0!=+e){a=+e;break}let s=t[0].trim().split("|")[0].trim();const l=t.slice(1).join("=")||"",c=n.slice(1,a).join("\n"),i=new RegExp(r`\$\(\s*${s}\s*\)`,"g");let o=(l+c).trim().replace(i,E[s]||"");E[s]=o}else if(f[e].match(t=/^\s*@option\s+/)){let[r,n]=f[e].replace(t,"").split(/\s+/);const a=e=>"0"!==e&&"false"!==e;switch(r.toUpperCase()){case"BUILTIN_FUNCTIONS":b.BUILTIN_FUNCTIONS=a(n);break;case"DECIMAL_PLACES":b.DECIMAL_PLACES="false"!==n&&+n;break;case"KEEP_NAN":b.KEEP_NAN=a(n);break;case"KEEP_UNPARSED":b.KEEP_UNPARSED=a(n);break;case"MAX_ARGUMENTS":b.MAX_ARGUMENTS=parseInt(n);break;case"MAX_MATH_RECURSION":b.MAX_MATH_RECURSION=parseInt(n);break;case"MAX_RECURSION":b.MAX_RECURSION=parseInt(n)}}}const M=()=>m.includes("$(")||RegExp(d).test(m);for(let e=0,i;(e<1||eString(+t*10**+r)));for(let e=0;e{let t=!/[-+^*/]/.test(e),n=e.match(RegExp(r`${o}\s-?${l}`));if(t||n)return e;let a=e.match(RegExp(o,"g"))||[],c=a.pop()||"",i=e.replace(RegExp(r`(${s})\s*(${o})`,"g"),((e,t,r)=>{switch(r){case"mm":case"ms":return c=r[1],String((u(t)||0)/1e3);case"cm":return c="m",String((u(t)||0)/100);case"in":return c="m",String(.0254*(u(t)||0));case"ft":return c="m",String(.3048*(u(t)||0));default:return e}})).replace(RegExp(o,"g"),"").replace(/-\s*-|\+\s*\+/g,"+").replace(/\^/g,"**");try{return eval(i)+c}catch(e){return i+c}}));for(let e in E)p(e,((t,...a)=>{let s=E[e];for(const e in a){if(!a[e])continue;const t=a[e].split("="),l=t[1]?n(t[0]):(+e+1).toString(),c=t[1]?n(t[1]):n(t[0]);s=s.replace(RegExp(r`\$\[${l}[^\]]*\]`,"g"),c)}return s=s.replace(/\$\[.*?(?:\|([^\]]*))?\]/g,"$1"),s}));let e=[];b.BUILTIN_FUNCTIONS&&e.push(...c.default({constants:b})),e.push(...(null==t?void 0:t.getFunctions())||[]);for(const t of e)p(t.name,t.body);let $="",g=[{name:"Root",content:"",body:[]}],h=[],f="";m=m.replace(/@(import|charset|namespace)(.+?);/g,(e=>(f+=e,"")));for(let e=0;et+" "+e)).join(","),h.push(e.trim());let l={name:"Block",content:e,body:[]};a.body.push(l),a=l,g.push(a),$=""}else if("}"===t){if(g.length<1||!$)continue;h.pop(),a=g.pop(),$.trim()&&a.body.push({name:"Style",content:$.trim(),body:[]}),$=""}else $+=t}const M=/[^{}]+{[^{}]*}/gs;for(;M.test(m);)m=m.replace(M,"");let N=[];const A=e=>{if(e)for(const t of e.body)"Style"===t.name?N.push({name:e.name,content:e.content,body:[t]}):A(t)};A(g[0]);let x="";for(const e of N)x+=e.content+" {"+e.body[0].content+"}";let S=f+x+m;const R=r`@media[^{}]+(?:\([^()]+?\))+`;m=S.replace(RegExp(r`(${R})\s*(?:{})?(?=\s*@media)`,"g"),"").replace(RegExp(r`(${R})\s*([^{}]+){([^{}]+)}`,"g"),"$1 { $2 {$3} }");let F={};x.replace(/([^{}]+)({.+?})/gms,((e,t,r)=>(t.includes("$(")||t.startsWith("@")||(t=t.replace(/\$(<.+?>){1,2}/g,""),F[a(t.trim())]=r),"")));for(let e in F)m=m.replace(new RegExp(r`\$<\s*${e}\s*>`),F[e]||"{}");m=m.replace(/\$<.+?>/g,"{}"),m=m.replace(/{([^{}]*?)}\s*<([^[\]]*?)>/gm,((e,t,r)=>{const n=t.split(/\s*;\s*/);for(const e of n){const[t,n]=e.split(/\s*:\s*/);if(t.trim()===r.trim())return n||""}return""})),m=m.replace(/{([^{}]*?)}\s*!/gm,((e,t)=>t)),m=m.replace(/([^{}]*?)\s*@\s*(?:(\d+px)(?:\s*\.{2,})?(\s*\d+px)?|(\d+px)?(?:\s*\.{2,})?(\s*\d+px))([^{}]*?){(.*?)}/gms,((e,t,n,a,s,l,c,i)=>{let[o,d]=[n||s,a||l],u=r`@\s*(\d+px)?\s*(?:\.{2,})?\s*(\d+px)?`,p=c.match(RegExp(u,"g"));p&&([,o,d]=p[p.length-1].match(RegExp(u)));let $="only screen";return o&&($+=` and (min-width: ${o})`),d&&($+=` and (max-width: ${d}-1px)`),`@media ${$} { ${(t+c).replace(RegExp(u,"g"),"")} { ${i} } }`}));const v=/(@media.+?\s*){(.+?)}\s*\1\s*{/gms;for(;v.test(m);)m=m.replace(v,"$1{$2")}if(!b.KEEP_UNPARSED){m=m.replace(/@endvar/g,"");let e=m.match(/\$[[(](.+?)[\])]/g)||[];for(const t of e){let e=n(t.replace(/\$[[(](.*?)(\|.*)?[\])]/,"$1"));m=m.replace(t,"");let r=t.includes("$(")?"variable":"argument";console.log(` Instances of unparsed ${r} '${e}' have been removed from the output.`)}}m=m.replace(/(\s*;)+/g,";").replace(/(?1e3*+t+"m"+r)).replace(/(?<=\d)0\s*mm/g,"cm").replace(/(?<=\d)(000\s*mm|00\s*cm)/g,"m").replace(/\.?0{10,}\d/g,"").replace(/((\d)\2{9,})\d/g,"$1").replace(/(\d+)([5-9])\2{10,}\d?(?=\D)/g,((e,t)=>String(+t+1))).replace(/\d*\.?\d+e-(?:7|8|9|\d{2,})/,"0").replace(RegExp(r`((\d)\.\d{0,${b.DECIMAL_PLACES}})(\d?)\d*`),((e,t,r,n)=>{const a=/[5-9]$/.test(n);return 0===b.DECIMAL_PLACES?a?parseInt(r)+1:r:a?t.replace(/.$/,"")+(parseInt(t.substr(-1))+1):t}));for(const e in h)m=m.replace(RegExp(r`\/\*STATIC#${e}\*\/`,"g"),n(h[e]));for(const e in g)m=m.replace(RegExp(r`\/\*COMMENT#${e}\*\/`,"g"),"/*"+g[e]+"*/");return m.trim()}function t({constants:e}){const t=new("undefined"!=typeof require?require("./novasheets"):i.default),r=e=>e.replace(/[.*+?^/${}()|[\]\\]/g,"\\$&"),n=e=>e.toString().replace(/^\s*(.+?)\s*$/,"$1").replace(/\s+/g," "),a=String.raw;t.addFunction("@each",((e,t="",r="",a="",...s)=>{let l=s.join("|"),[c,i,o,d]=l?[t,r,a,l]:a?[t,r,r,a]:[t,",",",",r],u=n(c).split(n(i)),p=[];for(let e in u){let t=n(d).replace(/\$i/gi,String(+e+1)).replace(/\$v\[([0-9]+)([-+*/][0-9]+)?\]/g,((e,t,r)=>u[+t-1+(r||0)])).replace(/.?\s*undefined/g,"").replace(/\$v/gi,u[e]);p.push(t)}return p.join(o)}),{trim:!1,allArgs:!0}),t.addFunction("@repeat",((e,t,...r)=>{let[n,a]=r[1]?[r[0],r.slice(1).join("|")]:["",r.join("|")],s="";for(let e=0;e<+t;e++)s+=(e>0?n:"")+a.replace(/\$i/gi,(+e+1).toString());return s}),{trim:!1,allArgs:!0});const s=a`(?:[0-9]*\.?[0-9]+)`,l=a`(?:0x[0-9a-f]*\.?[0-9a-f]+|0b[01]*\.?[01]+|0o[0-7]*\.?[0-7]+|${s})`,c=t=>e.KEEP_NAN?+t:Number.isNaN(t)?0:parseFloat(t+""),o=(t,r)=>{let n=!t||t===1/0||Number.isNaN(t);return n&&e.KEEP_NAN?"NaN":n&&!e.KEEP_NAN?r||0:Math.abs(+t)<=1e-7?0:+t};t.addFunction("@e",(()=>Math.E)),t.addFunction("@pi",(()=>Math.PI)),t.addFunction("@mod",((e,t,r)=>o(c(t)%c(r),t))),t.addFunction("@sin",((e,t)=>o(Math.sin(c(t)),t))),t.addFunction("@asin",((e,t)=>o(Math.asin(c(t)),t))),t.addFunction("@cos",((e,t)=>o(Math.cos(c(t)),t))),t.addFunction("@acos",((e,t)=>o(Math.acos(c(t)),t))),t.addFunction("@tan",((e,t)=>o(Math.tan(c(t)),t))),t.addFunction("@atan",((e,t)=>o(Math.atan(c(t)),t))),t.addFunction("@abs",((e,t)=>o(Math.abs(c(t)),t))),t.addFunction("@floor",((e,t)=>o(Math.floor(c(t)),t))),t.addFunction("@ceil",((e,t)=>o(Math.ceil(c(t)),t))),t.addFunction("@percent",((e,t)=>o(100*c(t),t)+"%")),t.addFunction("@log",((e,t,r)=>o(Math.log(+r)/(t?Math.log(+t):1),r))),t.addFunction("@root",((e,t,r)=>o(Math.pow(c(r)?c(r):c(t),1/(c(r)?c(t):2)),r))),t.addFunction("@round",((e,t,r)=>{let n=c(t)+Number.EPSILON,a=Math.pow(10,c(r)||0);return o(Math.round(n*a)/a,t)})),t.addFunction("@min|@max",((e,...t)=>{let r=[];for(let e of t)e&&r.push(+e);let n=Math[e.includes("@min")?"min":"max"](...r);return o(n,"0")})),t.addFunction("@clamp",((e,t,r,n)=>{let[a,s,l]=[c(t),c(r),c(n)];return l=l?l:a,t)})),t.addFunction("@degrees|@radians|@gradians",((e,t)=>{let r=+t.replace(/[a-z]+/,""),n=t.replace(RegExp(s),""),a=c(t);return e.includes("@degrees")?a="grad"===n?.9*r:r/Math.PI*180:e.includes("@radians")?a="grad"===n?r*Math.PI/200:+r*Math.PI/180:e.includes("@gradians")&&(a="rad"===n?r/Math.PI*200:r/.9),o(a,t)})),t.addFunction("@lowercase",((e,t)=>t.toLowerCase())),t.addFunction("@uppercase",((e,t)=>t.toUpperCase())),t.addFunction("@titlecase",((e,t)=>t.replace(/\b\w/g,(e=>e.toUpperCase())))),t.addFunction("@capitali[sz]e",((e,t)=>t[0].toUpperCase()+t.substr(1))),t.addFunction("@uncapitali[sz]e",((e,t)=>t[0].toLowerCase()+t.substr(1))),t.addFunction("@extract",((e,t,r,n)=>t.split(n?r:",")[Number(n||r)-1]||"")),t.addFunction("@encode",((e,t)=>encodeURIComponent(t))),t.addFunction("@length",((e,t)=>n(t).length)),t.addFunction("@replace",((e,...t)=>{var a;t.length<3&&(t=[t[0],t[1]||"",t[2]||""]),t=t.slice(0,t.indexOf("")<=3?3:t.indexOf(""));let s=n(t[0]),l=n(t.slice(1,-1).join("|")),c=n(t.slice(-1)[0]),i=l.startsWith("/"),o=RegExp("");if(i){let e=(null===(a=n(l).match(/\/(.+?)\/([gimusy]*)/))||void 0===a?void 0:a.slice(1))||[];o=RegExp(e[0],e[1]||"s")}return s.replace(i?o:RegExp(r(l),"g"),c)}),{trim:!1,allArgs:!0});const d=e=>Math.floor(+e/255*100),u=e=>Math.ceil(255*Number(e.replace("%",""))/100),p=e=>Number(e).toString(16).padStart(2,"0"),$=(e,t)=>{let r=parseInt(e.replace(/#?(.{0,8})$/,"$1"),16),n=r>>16&255,a=r>>8&255,s=255&r,l=t?d(parseInt(t,16)):null;return null===l?`rgb(${n}, ${a}, ${s})`:`rgba(${n}, ${a}, ${s}, ${l})`},g=e=>{let t=e.replace("#","");switch(t.length){case 0:return $("000000","00");case 1:return $(t.repeat(6));case 2:return $(t[0].repeat(6),t[1].repeat(2));case 3:return $(t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);case 4:return $(t[0]+t[0]+t[1]+t[1]+t[2]+t[2],t[3]+t[3]);default:return $(t.substr(0,6).padEnd(6,"0"),t.substr(6,2)||void 0)}},h=e=>e.replace(/^\s*\w{3}a?\s*\(\s*|\s*\)$/g,"").split(/,\s*/),f=e=>{let t=h(e.startsWith("#")?g(e):e);for(let r in t){let n=t[r];t[r]?t[r].includes("%")?(n=n.replace("%",""),e.includes("hsl")?t[r]=Math.round(+n/100*(0==+r?360:100)).toString():t[r]=u(n).toString()):3==+r&&(t[r]=Math.round(e.includes("rgb")?+n/255:+n/100).toString()):t[r]="0"}return t},m=e=>{let[t,r,n,a]=Array.isArray(e)?e:f(e);return"#"+p(t)+p(r)+p(n)+(c(a)>0?p(a):"")},E=(e,t,r)=>{var n;if(!t)return e||"";let a=(null===(n=e.match(/^[a-z]{3}a?|^#/))||void 0===n?void 0:n.toString())||"",s=r.includes("%")?+r.replace("%","")/100:+r;s=Math.min(Math.abs(s),1);const l=(e,t)=>Math.floor(c(e)*(1-s)+c(t)*s);let[[i,o,d,u],[p,$,g,h]]=[f(e),f(t)],[E,b,M,N]=[l(i,p),l(o,$),l(d,g),l(u,h)];switch(a){case"rgba":return`rgba(${E}, ${b}, ${M}, ${N})`;case"rgb":return`rgb(${E}, ${b}, ${M})`;case"hsla":return`hsla(${E%360}, ${b/100}%, ${M/100}%, ${N})`;case"hsl":return`hsla(${E%360}, ${b/100}%, ${M/100}%)`;case"#":return m([E,b,M,N]);default:return`${a}(${E}, ${b}, ${M})`}},b=(e,t,r,n)=>{var a;if(!t.includes("hsl"))return E(t,r,n||"50%");let[s,l,c,i]=f(t),o=+n.replace("%",""),d=+c+o*("darken"===e?-1:1),u="desat"===e?`${+l-o}%, ${c}%`:`${l}%, ${d<0?0:d}%`;return`${(null===(a=t.match(/^hsla?/))||void 0===a?void 0:a.toString())||"hsl"}(${+s%360}, ${u}${i?`, ${i}`:""})`};t.addFunction("@colou?r",((e,t,r="0",n="0",a="0",s="")=>{switch(/#|rgba?|hsla?/i.test(r)?(r.includes("#")&&(r=g(r)),/rgba?|hsla?/.test(r)&&([r,n,a,s]=f(r))):[r,n,a,s]=f(`${t}(${r}, ${n}, ${a}, ${s})`),t=t.toLowerCase()){case"#":case"hash":case"hex":case"hexadecimal":return"#"+p(r)+p(n)+p(a)+(s?p(u(s)):"");case"rgb":return`rgb(${r}, ${n}, ${a})`;case"rgba":return`rgba(${r}, ${n}, ${a}, ${s||0==+s?100:""}%)`;case"hsl":return`hsl(${c(r)%360}, ${n}%, ${a}%)`;case"hsla":return`hsla(${c(r)%360}, ${n}%, ${a}%, ${s||0==+s?100:""}%)`;default:return`${t}(${r} ${n} ${a}${s?` / ${s}`:""})`}})),t.addFunction("@colou?rpart",((e,t="",r="")=>{let[n,a]=[t.toLowerCase(),r.toLowerCase()],s=f(a);return{r:s[0],h:s[0],g:s[1],s:s[1],b:s[2],l:s[2],a:s[3]}[n[0]]||a})),t.addFunction("@spin",((e,t,r)=>{let n=t.replace(/^hsla?\s*\((\d+),\s*.+\s*\)\s*$/g,"$1"),a=((+n+ +r)%360).toString();return t.replace(n,a)})),t.addFunction("@blend",((e,t,r,n)=>E(t,r,n||"50%"))),t.addFunction("@tint|@lighten",((e,t,r)=>b("lighten",t,"#fff",r||"50%"))),t.addFunction("@shade|@darken",((e,t,r)=>b("darken",t,"#000",r||"50%"))),t.addFunction("@tone|@desaturate",((e,t,r)=>b("desat",t,"#808080",r||"50%")));const M=(e,t)=>{if(!e.startsWith("rgb")&&!e.startsWith("#"))return+e;let[r,n,a]=t?[...t]:f(e);const s=e=>e<=.03928?e/12.92:(e=>((e+.055)/1.055)**2.4)(e);return.2126*s(+r/255)+.7152*s(+n/255)+.0722*s(c(a)/255)};t.addFunction("@luma",((e,t)=>M(t))),t.addFunction("@contrast",((e,t,r="",n="")=>M(t)<.5?r:n)),t.addFunction("@gr[ae]yscale",((e,t)=>{if(t.startsWith("hsl"))return t.replace(/^(hsla?)\s*\(\s*(\d+),\s*(\d+)/,"$1($2, 0");let r=Math.round(255*M(t)),n=`rgb(${Array(3).fill(r).join(", ")})`;return t.startsWith("#")?m(n):n}));const N=a`(?:\(\s*${l}\s*\)|${l})`,A=e=>RegExp(a`([+-]?${N})\s*(?:${e})\s*([+-]?${N})`),x=t=>{if(!/^([<>=!&|()-\d\s]|true|false|undefined|null|NaN|x?n?or|n?and)+$/.test(t))return t;for(let r=0;r|>=|==|!=|&|!|\|)/.test(t)&&(t=eval(t)),["false","undefined","null","NaN",""].includes(t)&&(t="false"),t};return t.addFunction("@bitwise",((t,r)=>{let n=r;for(let t=0;teval("~"+c(t)))).replace(A("or|\\|"),((e,t,r)=>eval(`(${c(t)}) | (${c(r)})`))).replace(A("nor"),((e,t,r)=>eval(`~ (${c(t)}) | (${c(r)})`))).replace(A("and|&"),((e,t,r)=>eval(`(${c(t)}) & (${c(r)})`))).replace(A("nand"),((e,t,r)=>eval(`~ (${c(t)}) & (${c(r)})`))).replace(A("xor"),((e,t,r)=>eval(`(${c(t)}) ^ (${c(r)})`))).replace(A("xnor"),((e,t,r)=>eval(`~ (${c(t)}) ^ (${c(r)})`)));return n})),t.addFunction("@boolean",((e,...t)=>x(t.join("|")))),t.addFunction("@if",((e,t,r="",n="")=>x(t)?r:n)),t.addFunction("@breakpoint",((e,t="0",r="",n="",a="")=>{if(!t)return e;const s=(e,t,r)=>`@media (${e}-width: ${t.trim()}${"max"===e?"-1px":""}) { ${r}}`;let l=(r+n).includes("{"),c=l?[r,n]:[`${r} {${n}} `,`${r} {${a}} `],i=(l?r:n).trim()?s("max",t,c[0]):"",o=(l?n:a).trim()?s("min",t,c[1]):"";return i+(i&&o?"\n":"")+o}),{trim:!1}),t.addFunction("@prefix",((e,t,r)=>`-webkit-${t}: ${r}; -moz-${t}: ${r}; -ms-${t}: ${r}; -o-${t}: ${r}; ${t}: ${r};`)),t.getFunctions()}class r{constructor(){this.functions=[]}static parse(e="",t=new r){return s.default(e,t)}static compile(e,t="",n=new r){return l.default(e,t,n)}addFunction(e,t,r={}){return this.functions.push({name:e,body:t,options:r}),this}getFunctions(){return this.functions}}function parseNovaSheets(e="",t){if(e)return s.default(e,t);const r=(e,t=8)=>{let r=0;for(let t=0;tparseNovaSheets()));