{"version":3,"sources":["../../src/theme-system/theme-tokens.ts"],"names":["hue","saturation","lightness"],"mappings":";;;AA6CA,IAAM,iBAAA,GAAoB,oBAAA;AAC1B,IAAM,iBAAA,uBAAwB,OAAA,EAA6B;AAE3D,SAAS,SAAS,KAAA,EAAkD;AAClE,EAAA,OAAO,KAAA,KAAU,QAAQ,OAAO,KAAA,KAAU,YAAY,CAAC,KAAA,CAAM,QAAQ,KAAK,CAAA;AAC5E;AAEA,SAAS,iBAAiB,UAAA,EAA6D;AACrF,EAAA,MAAM,SAAA,GAAY,aAAa,iBAAiB,CAAA;AAChD,EAAA,OAAO,QAAA,CAAS,SAAS,CAAA,GAAI,SAAA,GAA4B,MAAA;AAC3D;AAEA,SAAS,aAAa,KAAA,EAAuB;AAC3C,EAAA,OAAO,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAC,CAAA;AAClF;AAEA,SAAS,gBAAgB,KAAA,EAAoC;AAC3D,EAAA,OAAO,GAAG,YAAA,CAAa,KAAA,CAAM,KAAK,CAAC,CAAA,EAAG,MAAM,IAAI,CAAA,CAAA;AAClD;AAEA,SAAS,eAAe,KAAA,EAAmC;AACzD,EAAA,OAAO,GAAG,YAAA,CAAa,KAAA,CAAM,KAAK,CAAC,CAAA,EAAG,MAAM,IAAI,CAAA,CAAA;AAClD;AAEA,SAAS,qBAAqB,KAAA,EAAgC;AAC5D,EAAA,OAAO,KAAA,KAAU,MAAA,GAAS,KAAA,GAAQ,YAAA,CAAa,KAAK,CAAA;AACtD;AAEA,SAAS,UAAU,GAAA,EAAuC;AACxD,EAAA,OAAO;AAAA,IACL,MAAA,CAAO,SAAS,GAAA,CAAI,KAAA,CAAM,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA,GAAI,GAAA;AAAA,IACvC,MAAA,CAAO,SAAS,GAAA,CAAI,KAAA,CAAM,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA,GAAI,GAAA;AAAA,IACvC,MAAA,CAAO,SAAS,GAAA,CAAI,KAAA,CAAM,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA,GAAI;AAAA,GACzC;AACF;AAEA,SAAS,oBAAoB,KAAA,EAAkD;AAC7E,EAAA,IAAI,KAAA,CAAM,UAAA,KAAe,MAAA,IAAU,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,CAAC,SAAA,KAAc,OAAO,SAAA,KAAc,QAAQ,CAAA,EAAG;AACvG,IAAA,OAAO,KAAA,CAAM,UAAA;AAAA,EACf;AACA,EAAA,IAAI,KAAA,CAAM,GAAA,EAAK,OAAO,SAAA,CAAU,MAAM,GAAG,CAAA;AACzC,EAAA,MAAM,IAAI,SAAA;AAAA,IACR,CAAA,uBAAA,EAA0B,MAAM,UAAU,CAAA,kEAAA;AAAA,GAC5C;AACF;AAEA,SAAS,SAAA,CAAU,CAAC,GAAA,EAAK,KAAA,EAAO,IAAI,CAAA,EAAuD;AACzF,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,OAAO,IAAI,CAAA;AACzC,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,OAAO,IAAI,CAAA;AACzC,EAAA,MAAM,SAAA,GAAA,CAAa,UAAU,OAAA,IAAW,CAAA;AACxC,EAAA,IAAI,YAAY,OAAA,EAAS,OAAO,CAAC,CAAA,EAAG,CAAA,EAAG,YAAY,GAAG,CAAA;AACtD,EAAA,MAAM,QAAQ,OAAA,GAAU,OAAA;AACxB,EAAA,MAAM,UAAA,GAAa,YAAY,GAAA,GAC3B,KAAA,IAAS,IAAI,OAAA,GAAU,OAAA,CAAA,GACvB,SAAS,OAAA,GAAU,OAAA,CAAA;AACvB,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI,OAAA,KAAY,KAAK,GAAA,GAAA,CAAO,KAAA,GAAQ,QAAQ,KAAA,IAAS,KAAA,GAAQ,OAAO,CAAA,GAAI,CAAA,CAAA;AAAA,OAAA,IAC/D,OAAA,KAAY,KAAA,EAAO,GAAA,GAAA,CAAO,IAAA,GAAO,OAAO,KAAA,GAAQ,CAAA;AAAA,OACpD,GAAA,GAAA,CAAO,GAAA,GAAM,KAAA,IAAS,KAAA,GAAQ,CAAA;AACnC,EAAA,OAAO,CAAE,GAAA,GAAM,CAAA,GAAK,KAAK,UAAA,GAAa,GAAA,EAAK,YAAY,GAAG,CAAA;AAC5D;AAEA,SAAS,iBAAiB,KAAA,EAAgC;AACxD,EAAA,IAAI,KAAA,CAAM,UAAA,KAAe,KAAA,IAAS,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,CAAC,SAAA,KAAc,OAAO,SAAA,KAAc,QAAQ,CAAA,EAAG;AACtG,IAAA,MAAM,CAACA,IAAAA,EAAKC,WAAAA,EAAYC,UAAS,IAAI,KAAA,CAAM,UAAA;AAC3C,IAAA,OAAO,CAAA,EAAG,YAAA,CAAaF,IAAG,CAAC,CAAA,CAAA,EAAI,YAAA,CAAaC,WAAU,CAAC,CAAA,EAAA,EAAK,YAAA,CAAaC,UAAS,CAAC,CAAA,CAAA,CAAA;AAAA,EACrF;AACA,EAAA,MAAM,CAAC,KAAK,UAAA,EAAY,SAAS,IAAI,SAAA,CAAU,mBAAA,CAAoB,KAAK,CAAC,CAAA;AACzE,EAAA,OAAO,CAAA,EAAG,YAAA,CAAa,GAAG,CAAC,CAAA,CAAA,EAAI,YAAA,CAAa,UAAU,CAAC,CAAA,EAAA,EAAK,YAAA,CAAa,SAAS,CAAC,CAAA,CAAA,CAAA;AACrF;AAEA,SAAS,YAAY,KAAA,EAAgC;AACnD,EAAA,MAAM,KAAA,GAAQ,MAAM,KAAA,IAAS,CAAA;AAC7B,EAAA,IAAI,KAAA,CAAM,GAAA,IAAO,KAAA,KAAU,CAAA,SAAU,KAAA,CAAM,GAAA;AAC3C,EAAA,MAAM,aAAa,KAAA,CAAM,UAAA,CAAW,IAAI,oBAAoB,CAAA,CAAE,KAAK,GAAG,CAAA;AACtE,EAAA,MAAM,cAAc,KAAA,KAAU,CAAA,GAAI,KAAK,CAAA,GAAA,EAAM,YAAA,CAAa,KAAK,CAAC,CAAA,CAAA;AAChE,EAAA,QAAQ,MAAM,UAAA;AAAY,IACxB,KAAK,MAAA,EAAQ;AACX,MAAA,MAAM,GAAA,GAAM,KAAA,CAAM,UAAA,CAAW,GAAA,CAAI,CAAC,SAAA,KAAc,SAAA,KAAc,MAAA,GAAS,MAAA,GAAS,YAAA,CAAa,SAAA,GAAY,GAAG,CAAC,CAAA;AAC7G,MAAA,OAAO,OAAO,GAAA,CAAI,IAAA,CAAK,GAAG,CAAC,GAAG,WAAW,CAAA,CAAA,CAAA;AAAA,IAC3C;AAAA,IACA,KAAK,KAAA;AACH,MAAA,OAAO,CAAA,IAAA,EAAO,qBAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,oBAAA,CAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,KAAK,oBAAA,CAAqB,KAAA,CAAM,WAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,CAAA;AAAA,IACnK,KAAK,KAAA;AACH,MAAA,OAAO,CAAA,IAAA,EAAO,qBAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,oBAAA,CAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,KAAK,oBAAA,CAAqB,KAAA,CAAM,WAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,CAAA;AAAA,IACnK,KAAK,KAAA;AAAA,IACL,KAAK,KAAA;AAAA,IACL,KAAK,OAAA;AAAA,IACL,KAAK,OAAA;AACH,MAAA,OAAO,GAAG,KAAA,CAAM,UAAU,CAAA,CAAA,EAAI,UAAU,GAAG,WAAW,CAAA,CAAA,CAAA;AAAA,IACxD;AACE,MAAA,OAAO,SAAS,KAAA,CAAM,UAAU,CAAA,CAAA,EAAI,UAAU,GAAG,WAAW,CAAA,CAAA,CAAA;AAAA;AAElE;AAEA,SAAS,iBAAiB,KAAA,EAAkC;AAC1D,EAAA,MAAM,WAAW,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,GAAQ,CAAC,KAAK,CAAA;AACtD,EAAA,MAAM,eAAA,uBAAsB,GAAA,CAAI;AAAA,IAC9B,OAAA;AAAA,IAAS,YAAA;AAAA,IAAc,WAAA;AAAA,IAAa,SAAA;AAAA,IAAW,SAAA;AAAA,IAAW,WAAA;AAAA,IAC1D,UAAA;AAAA,IAAY,eAAA;AAAA,IAAiB,cAAA;AAAA,IAAgB,YAAA;AAAA,IAAc,MAAA;AAAA,IAAQ,OAAA;AAAA,IAAS;AAAA,GAC7E,CAAA;AACD,EAAA,OAAO,QAAA,CAAS,GAAA,CAAI,CAAC,MAAA,KAAW;AAC9B,IAAA,IAAI,eAAA,CAAgB,IAAI,MAAM,CAAA,IAAK,mBAAmB,IAAA,CAAK,MAAM,GAAG,OAAO,MAAA;AAC3E,IAAA,OAAO,CAAA,CAAA,EAAI,OAAO,OAAA,CAAQ,KAAA,EAAO,MAAM,CAAA,CAAE,OAAA,CAAQ,IAAA,EAAM,KAAK,CAAC,CAAA,CAAA,CAAA;AAAA,EAC/D,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AACd;AAEA,SAAS,aAAa,KAAA,EAAwB;AAC5C,EAAA,MAAM,UAAU,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,GAAQ,CAAC,KAAK,CAAA;AACrD,EAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW;AAC7B,IAAA,IAAI,CAAC,QAAA,CAAS,MAAM,GAAG,MAAM,IAAI,UAAU,qCAAqC,CAAA;AAChF,IAAA,OAAO;AAAA,MACL,eAAA,CAAgB,OAAO,OAA8B,CAAA;AAAA,MACrD,eAAA,CAAgB,OAAO,OAA8B,CAAA;AAAA,MACrD,eAAA,CAAgB,OAAO,IAA2B,CAAA;AAAA,MAClD,eAAA,CAAgB,OAAO,MAA6B,CAAA;AAAA,MACpD,WAAA,CAAY,OAAO,KAAwB,CAAA;AAAA,MAC3C,MAAA,CAAO,KAAA,KAAU,IAAA,GAAO,OAAA,GAAU;AAAA,KACpC,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,EAC5B,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AACd;AAEA,SAAS,cAAA,CAAe,OAAgB,UAAA,EAA2C;AACjF,EAAA,IAAI,CAAC,MAAM,OAAA,CAAQ,KAAK,GAAG,MAAM,IAAI,UAAU,sCAAsC,CAAA;AACrF,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS;AAChC,IAAA,IAAI,CAAC,QAAA,CAAS,IAAI,GAAG,MAAM,IAAI,UAAU,sCAAsC,CAAA;AAC/E,IAAA,OAAO,CAAA,EAAG,WAAA,CAAY,IAAA,CAAK,KAAwB,CAAC,CAAA,CAAA,EAAI,YAAA,CAAa,MAAA,CAAO,IAAA,CAAK,QAAQ,CAAA,GAAI,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,EACnG,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AACZ,EAAA,MAAM,QAAA,GAAW,gBAAA,CAAiB,UAAU,CAAA,EAAG,QAAA;AAC/C,EAAA,IAAI,QAAA,EAAU,IAAA,KAAS,QAAA,EAAU,OAAO,mBAAmB,KAAK,CAAA,CAAA,CAAA;AAChE,EAAA,OAAO,mBAAmB,YAAA,CAAa,QAAA,EAAU,SAAS,EAAE,CAAC,QAAQ,KAAK,CAAA,CAAA,CAAA;AAC5E;AAEA,SAAS,iBAAiB,KAAA,EAAmC;AAC3D,EAAA,QAAQ,MAAM,IAAA;AAAM,IAClB,KAAK,OAAA;AACH,MAAA,OAAO,WAAA,CAAY,MAAM,KAAwB,CAAA;AAAA,IACnD,KAAK,WAAA;AACH,MAAA,OAAO,eAAA,CAAgB,MAAM,KAA4B,CAAA;AAAA,IAC3D,KAAK,YAAA;AACH,MAAA,OAAO,gBAAA,CAAiB,MAAM,KAA0B,CAAA;AAAA,IAC1D,KAAK,YAAA;AAAA,IACL,KAAK,QAAA;AACH,MAAA,OAAO,MAAA,CAAO,MAAM,KAAK,CAAA;AAAA,IAC3B,KAAK,UAAA;AACH,MAAA,OAAO,cAAA,CAAe,MAAM,KAA2B,CAAA;AAAA,IACzD,KAAK,aAAA;AACH,MAAA,OAAO,CAAA,aAAA,EAAiB,MAAM,KAAA,CAAmB,GAAA,CAAI,YAAY,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,IAC/E,KAAK,aAAA,EAAe;AAClB,MAAA,IAAI,OAAO,KAAA,CAAM,KAAA,KAAU,QAAA,SAAiB,KAAA,CAAM,KAAA;AAClD,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,MAAA,OAAO,MAAM,SAAA,CAAU,GAAA,CAAI,eAAe,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,IACtD;AAAA,IACA,KAAK,QAAA,EAAU;AACb,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,MAAA,MAAM,UAAA,GAAiC,EAAE,GAAG,KAAA,EAAO,MAAM,aAAA,EAAe,KAAA,EAAO,MAAM,KAAA,EAAM;AAC3F,MAAA,OAAO,CAAA,EAAG,eAAA,CAAgB,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA,EAAI,gBAAA,CAAiB,UAAU,CAAC,CAAA,CAAA,EAAI,WAAA,CAAY,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,IACpG;AAAA,IACA,KAAK,YAAA,EAAc;AACjB,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,MAAA,OAAO,GAAG,cAAA,CAAe,KAAA,CAAM,QAAQ,CAAC,CAAA,cAAA,EAAiB,MAAM,cAAA,CAAe,GAAA,CAAI,YAAY,CAAA,CAAE,KAAK,IAAI,CAAC,KAAK,cAAA,CAAe,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,IAC5I;AAAA,IACA,KAAK,QAAA;AACH,MAAA,OAAO,YAAA,CAAa,MAAM,KAAK,CAAA;AAAA,IACjC,KAAK,UAAA;AACH,MAAA,OAAO,cAAA,CAAe,KAAA,CAAM,KAAA,EAAO,KAAA,CAAM,UAAU,CAAA;AAAA,IACrD,KAAK,YAAA,EAAc;AACjB,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AAMpB,MAAA,OAAO,GAAG,KAAA,CAAM,UAAU,CAAA,CAAA,EAAI,eAAA,CAAgB,MAAM,QAAQ,CAAC,CAAA,CAAA,EAAI,YAAA,CAAa,MAAM,UAAU,CAAC,IAAI,gBAAA,CAAiB,KAAA,CAAM,UAAU,CAAC,CAAA,CAAA;AAAA,IACvI;AAAA;AAEJ;AAEA,SAAS,iBAAA,CAAkB,MAAc,MAAA,EAAwB;AAC/D,EAAA,MAAM,UAAA,GAAa,IAAA,CAChB,OAAA,CAAQ,oBAAA,EAAsB,OAAO,CAAA,CACrC,OAAA,CAAQ,gBAAA,EAAkB,GAAG,CAAA,CAC7B,OAAA,CAAQ,UAAA,EAAY,EAAE,EACtB,WAAA,EAAY;AACf,EAAA,OAAO,CAAA,EAAA,EAAK,MAAM,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA;AAClC;AAEA,SAAS,wBAAwB,MAAA,EAAsB;AACrD,EAAA,IAAI,CAAC,yBAAA,CAA0B,IAAA,CAAK,MAAM,CAAA,EAAG;AAC3C,IAAA,MAAM,IAAI,SAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACF;AAEA,SAAS,cAAA,CACP,KAAA,EACA,QAAA,EACA,SAAA,EACoB;AACpB,EAAA,MAAM,cAAA,GAAiB,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AAC/C,EAAA,IAAI,KAAA,CAAM,GAAA,CAAI,cAAc,CAAA,EAAG,OAAO,cAAA;AACtC,EAAA,OAAO,KAAA,CAAM,GAAA,CAAI,QAAQ,CAAA,GAAI,QAAA,GAAW,MAAA;AAC1C;AAEA,IAAM,oBAAA,GAAyD;AAAA,EAC7D,2BAAA,EAA6B,cAAA;AAAA,EAC7B,2BAAA,EAA6B,cAAA;AAAA,EAC7B,qBAAA,EAAuB,QAAA;AAAA,EACvB,gCAAA,EAAkC,mBAAA;AAAA,EAClC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,0BAAA,EAA4B,aAAA;AAAA,EAC5B,qCAAA,EAAuC,wBAAA;AAAA,EACvC,sBAAA,EAAwB,SAAA;AAAA,EACxB,iCAAA,EAAmC,oBAAA;AAAA,EACnC,uBAAA,EAAyB,UAAA;AAAA,EACzB,kCAAA,EAAoC,qBAAA;AAAA,EACpC,4BAAA,EAA8B,eAAA;AAAA,EAC9B,uCAAA,EAAyC,0BAAA;AAAA,EACzC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,uBAAA,EAAyB,UAAA;AAAA,EACzB,sBAAA,EAAwB,SAAA;AAAA,EACxB,qBAAA,EAAuB,QAAA;AAAA,EACvB,8BAAA,EAAgC,iBAAA;AAAA,EAChC,iCAAA,EAAmC,oBAAA;AAAA,EACnC,8BAAA,EAAgC,iBAAA;AAAA,EAChC,6BAAA,EAA+B,gBAAA;AAAA,EAC/B,4BAAA,EAA8B,eAAA;AAAA,EAC9B,6BAAA,EAA+B,gBAAA;AAAA,EAC/B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,2BAAA,EAA6B,cAAA;AAAA,EAC7B,2BAAA,EAA6B,cAAA;AAAA,EAC7B,iCAAA,EAAmC,oBAAA;AAAA,EACnC,iCAAA,EAAmC,oBAAA;AAAA,EACnC,mCAAA,EAAqC,sBAAA;AAAA,EACrC,kCAAA,EAAoC;AACtC,CAAA;AAEO,SAAS,qBAAA,CACd,UACA,QAAA,EACoB;AACpB,EAAA,MAAM,IAAA,GAAO,cAAA,CAAe,IAAI,GAAA,CAAI,MAAA,CAAO,IAAA,CAAK,QAAA,CAAS,SAAS,CAAC,CAAA,EAAG,QAAA,EAAU,QAAA,CAAS,SAAS,CAAA;AAClG,EAAA,OAAO,IAAA,GAAO,QAAA,CAAS,SAAA,CAAU,IAAI,CAAA,GAAI,MAAA;AAC3C;AAEO,SAAS,kBAAA,CACd,KAAA,EACA,OAAA,GAAqC,EAAC,EACjB;AACrB,EAAA,MAAM,QAAA,GAAW,mBAAmB,KAAK,CAAA;AACzC,EAAA,MAAM,WAAW,QAAA,CAAS,QAAA;AAC1B,EAAA,MAAM,SAAA,GAAY,QAAQ,SAAA,IAAa,OAAA;AACvC,EAAA,MAAM,OAAA,GAAU,QAAQ,OAAA,IAAW,SAAA;AACnC,EAAA,MAAM,cAAA,GAAiB,QAAQ,cAAA,IAAkB,SAAA;AACjD,EAAA,uBAAA,CAAwB,cAAc,CAAA;AACtC,EAAA,MAAM,SAAkC,EAAC;AACzC,EAAA,MAAM,YAAoC,EAAC;AAC3C,EAAA,MAAM,eAAuC,EAAC;AAC9C,EAAA,MAAM,wBAAA,uBAA+B,GAAA,EAAoB;AAEzD,EAAA,KAAA,MAAW,CAAC,IAAA,EAAM,KAAK,CAAA,IAAK,SAAS,MAAA,EAAQ;AAC3C,IAAA,MAAA,CAAO,IAAI,IAAI,KAAA,CAAM,KAAA;AACrB,IAAA,MAAM,QAAA,GAAW,iBAAiB,KAAK,CAAA;AACvC,IAAA,SAAA,CAAU,IAAI,CAAA,GAAI,QAAA;AAClB,IAAA,MAAM,YAAA,GAAe,iBAAA,CAAkB,IAAA,EAAM,cAAc,CAAA;AAC3D,IAAA,MAAM,YAAA,GAAe,wBAAA,CAAyB,GAAA,CAAI,YAAY,CAAA;AAC9D,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,MAAM,IAAI,SAAA;AAAA,QACR,CAAA,kBAAA,EAAqB,YAAY,CAAA,KAAA,EAAQ,IAAI,oBAAoB,YAAY,CAAA,mBAAA;AAAA,OAC/E;AAAA,IACF;AACA,IAAA,wBAAA,CAAyB,GAAA,CAAI,cAAc,IAAI,CAAA;AAC/C,IAAA,YAAA,CAAa,YAAY,CAAA,GAAI,QAAA;AAAA,EAC/B;AAEA,EAAA,MAAM,QAAQ,IAAI,GAAA,CAAI,QAAA,CAAS,MAAA,CAAO,MAAM,CAAA;AAC5C,EAAA,KAAA,MAAW,CAAC,QAAA,EAAU,YAAY,KAAK,MAAA,CAAO,OAAA,CAAQ,oBAAoB,CAAA,EAAG;AAC3E,IAAA,MAAM,IAAA,GAAO,cAAA,CAAe,KAAA,EAAO,QAAA,EAAU,SAAS,CAAA;AACtD,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AACtC,IAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,IAAA,KAAS,OAAA,EAAS;AACpC,MAAA,MAAM,IAAI,SAAA,CAAU,CAAA,EAAG,IAAI,CAAA,gCAAA,EAAmC,YAAY,CAAA,CAAA,CAAG,CAAA;AAAA,IAC/E;AACA,IAAA,YAAA,CAAa,YAAY,CAAA,GAAI,gBAAA,CAAiB,KAAA,CAAM,KAAwB,CAAA;AAAA,EAC9E;AAEA,EAAA,MAAM,aAAA,GAKD;AAAA,IACH,CAAC,wBAAA,EAA0B,WAAA,EAAa,SAAA,EAAW,OAAO,CAAA;AAAA,IAC1D,CAAC,sBAAA,EAAwB,UAAA,EAAY,SAAA,EAAW,WAAW,CAAA;AAAA,IAC3D,CAAC,yBAAA,EAA2B,kBAAA,EAAoB,OAAA,EAAS,WAAW,CAAA;AAAA,IACpE,CAAC,yBAAA,EAA2B,oBAAA,EAAsB,SAAA,EAAW,UAAU,CAAA;AAAA,IACvE,CAAC,oBAAA,EAAsB,aAAA,EAAe,SAAA,EAAW,YAAY;AAAA,GAC/D;AACA,EAAA,KAAA,MAAW,CAAC,QAAA,EAAU,YAAA,EAAc,IAAA,EAAM,YAAY,KAAK,aAAA,EAAe;AACxE,IAAA,MAAM,IAAA,GAAO,cAAA,CAAe,KAAA,EAAO,QAAA,EAAU,IAAI,CAAA;AACjD,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AACtC,IAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,IAAA,KAAS,YAAA,EAAc;AACzC,MAAA,MAAM,IAAI,UAAU,CAAA,EAAG,IAAI,cAAc,YAAY,CAAA,gBAAA,EAAmB,YAAY,CAAA,CAAA,CAAG,CAAA;AAAA,IACzF;AACA,IAAA,YAAA,CAAa,YAAY,CAAA,GAAI,SAAA,CAAU,IAAI,CAAA;AAAA,EAC7C;AAEA,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,CACxC,IAAA,CAAK,CAAC,CAAC,IAAI,CAAA,EAAG,CAAC,KAAK,MAAM,IAAA,CAAK,aAAA,CAAc,KAAK,CAAC,CAAA,CACnD,GAAA,CAAI,CAAC,CAAC,MAAM,KAAK,CAAA,KAAM,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAA,CAC1C,KAAK,EAAE,CAAA;AAEV,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,MAAM,CAAA;AAAA,IAC5B,SAAA,EAAW,MAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,IAClC,YAAA,EAAc,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA;AAAA,IACxC;AAAA,GACF;AACF;AAEO,SAAS,gBAAA,CACd,KAAA,EACA,OAAA,GAAmC,EAAC,EACf;AACrB,EAAA,MAAM,QAAA,GAAW,kBAAA,CAAmB,KAAA,EAAO,OAAO,CAAA;AAClD,EAAA,MAAM,SAAS,OAAA,CAAQ,MAAA,KAAW,OAAO,QAAA,KAAa,WAAA,GAAc,OAAO,QAAA,CAAS,eAAA,CAAA;AACpF,EAAA,IAAI,CAAC,QAAQ,OAAO,QAAA;AAEpB,EAAA,MAAM,oBAAoB,iBAAA,CAAkB,GAAA,CAAI,MAAM,CAAA,wBAAS,GAAA,EAAY;AAC3E,EAAA,MAAM,gBAAgB,IAAI,GAAA,CAAI,OAAO,IAAA,CAAK,QAAA,CAAS,YAAY,CAAC,CAAA;AAChE,EAAA,KAAA,MAAW,QAAQ,iBAAA,EAAmB;AACpC,IAAA,IAAI,CAAC,cAAc,GAAA,CAAI,IAAI,GAAG,MAAA,CAAO,KAAA,CAAM,eAAe,IAAI,CAAA;AAAA,EAChE;AACA,EAAA,KAAA,MAAW,CAAC,MAAM,KAAK,CAAA,IAAK,OAAO,OAAA,CAAQ,QAAA,CAAS,YAAY,CAAA,EAAG;AACjE,IAAA,MAAA,CAAO,KAAA,CAAM,WAAA,CAAY,IAAA,EAAM,KAAK,CAAA;AAAA,EACtC;AACA,EAAA,iBAAA,CAAkB,GAAA,CAAI,QAAQ,aAAa,CAAA;AAE3C,EAAA,IAAI,OAAA,CAAQ,OAAA,EAAS,MAAA,CAAO,OAAA,CAAQ,eAAe,OAAA,CAAQ,OAAA;AAAA,OACtD,OAAO,OAAO,OAAA,CAAQ,YAAA;AAC3B,EAAA,MAAA,CAAO,OAAA,CAAQ,mBAAmB,QAAA,CAAS,SAAA;AAC3C,EAAA,MAAA,CAAO,OAAA,CAAQ,iBAAiB,QAAA,CAAS,OAAA;AACzC,EAAA,OAAO,QAAA;AACT;AAEO,SAAS,gBAAA,CAAiB,OAAA,GAAmC,EAAC,EAAS;AAC5E,EAAA,MAAM,SAAS,OAAA,CAAQ,MAAA,KAAW,OAAO,QAAA,KAAa,WAAA,GAAc,OAAO,QAAA,CAAS,eAAA,CAAA;AACpF,EAAA,IAAI,CAAC,MAAA,EAAQ;AAEb,EAAA,MAAM,oBAAoB,iBAAA,CAAkB,GAAA,CAAI,MAAM,CAAA,wBAAS,GAAA,EAAY;AAC3E,EAAA,KAAA,MAAW,IAAA,IAAQ,iBAAA,EAAmB,MAAA,CAAO,KAAA,CAAM,eAAe,IAAI,CAAA;AACtE,EAAA,iBAAA,CAAkB,OAAO,MAAM,CAAA;AAE/B,EAAA,OAAO,OAAO,OAAA,CAAQ,YAAA;AACtB,EAAA,OAAO,OAAO,OAAA,CAAQ,gBAAA;AACtB,EAAA,OAAO,OAAO,OAAA,CAAQ,cAAA;AACxB","file":"index.mjs","sourcesContent":["import type {\n  ResolvedThemeToken,\n  ThemeColorValue,\n  ThemeDimensionValue,\n  ThemeDurationValue,\n  ThemeTokenExtensions,\n  ThemeTokens,\n} from '@inf-monkeys-tech/monkeys/contracts';\nimport { resolveThemeTokens } from '@inf-monkeys-tech/monkeys/runtime';\n\nexport type MonkeysThemeColorMode = 'light' | 'dark' | (string & {});\nexport type MonkeysThemeDensity = 'compact' | 'default' | 'comfortable';\n\nexport interface CompileThemeTokensOptions {\n  colorMode?: MonkeysThemeColorMode;\n  density?: MonkeysThemeDensity;\n  variablePrefix?: string;\n}\n\nexport interface CompiledThemeTokens {\n  contract: ThemeTokens;\n  colorMode: MonkeysThemeColorMode;\n  density: MonkeysThemeDensity;\n  values: Readonly<Record<string, unknown>>;\n  cssValues: Readonly<Record<string, string>>;\n  cssVariables: Readonly<Record<string, string>>;\n  cssText: string;\n}\n\nexport interface ApplyThemeTokensOptions extends CompileThemeTokensOptions {\n  target?: HTMLElement | null;\n  themeId?: string;\n}\n\nexport interface ClearThemeTokensOptions {\n  target?: HTMLElement | null;\n}\n\ntype CssExtension = {\n  gradient?: {\n    kind?: 'linear' | 'radial';\n    angle?: number;\n  };\n};\n\nconst CSS_EXTENSION_KEY = 'com.infmonkeys.css';\nconst APPLIED_VARIABLES = new WeakMap<object, Set<string>>();\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n  return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction readCssExtension(extensions?: ThemeTokenExtensions): CssExtension | undefined {\n  const extension = extensions?.[CSS_EXTENSION_KEY];\n  return isRecord(extension) ? extension as CssExtension : undefined;\n}\n\nfunction formatNumber(value: number): string {\n  return Number.isInteger(value) ? String(value) : String(Number(value.toFixed(6)));\n}\n\nfunction formatDimension(value: ThemeDimensionValue): string {\n  return `${formatNumber(value.value)}${value.unit}`;\n}\n\nfunction formatDuration(value: ThemeDurationValue): string {\n  return `${formatNumber(value.value)}${value.unit}`;\n}\n\nfunction formatColorComponent(value: number | 'none'): string {\n  return value === 'none' ? value : formatNumber(value);\n}\n\nfunction hexToSrgb(hex: string): [number, number, number] {\n  return [\n    Number.parseInt(hex.slice(1, 3), 16) / 255,\n    Number.parseInt(hex.slice(3, 5), 16) / 255,\n    Number.parseInt(hex.slice(5, 7), 16) / 255,\n  ];\n}\n\nfunction colorSrgbComponents(value: ThemeColorValue): [number, number, number] {\n  if (value.colorSpace === 'srgb' && value.components.every((component) => typeof component === 'number')) {\n    return value.components as [number, number, number];\n  }\n  if (value.hex) return hexToSrgb(value.hex);\n  throw new TypeError(\n    `Web semantic colors in ${value.colorSpace} require a six-digit hex fallback for hsl(var(--token)) consumers.`,\n  );\n}\n\nfunction srgbToHsl([red, green, blue]: [number, number, number]): [number, number, number] {\n  const maximum = Math.max(red, green, blue);\n  const minimum = Math.min(red, green, blue);\n  const lightness = (maximum + minimum) / 2;\n  if (maximum === minimum) return [0, 0, lightness * 100];\n  const delta = maximum - minimum;\n  const saturation = lightness > 0.5\n    ? delta / (2 - maximum - minimum)\n    : delta / (maximum + minimum);\n  let hue: number;\n  if (maximum === red) hue = (green - blue) / delta + (green < blue ? 6 : 0);\n  else if (maximum === green) hue = (blue - red) / delta + 2;\n  else hue = (red - green) / delta + 4;\n  return [(hue / 6) * 360, saturation * 100, lightness * 100];\n}\n\nfunction formatHslTriplet(value: ThemeColorValue): string {\n  if (value.colorSpace === 'hsl' && value.components.every((component) => typeof component === 'number')) {\n    const [hue, saturation, lightness] = value.components as [number, number, number];\n    return `${formatNumber(hue)} ${formatNumber(saturation)}% ${formatNumber(lightness)}%`;\n  }\n  const [hue, saturation, lightness] = srgbToHsl(colorSrgbComponents(value));\n  return `${formatNumber(hue)} ${formatNumber(saturation)}% ${formatNumber(lightness)}%`;\n}\n\nfunction formatColor(value: ThemeColorValue): string {\n  const alpha = value.alpha ?? 1;\n  if (value.hex && alpha === 1) return value.hex;\n  const components = value.components.map(formatColorComponent).join(' ');\n  const alphaSuffix = alpha === 1 ? '' : ` / ${formatNumber(alpha)}`;\n  switch (value.colorSpace) {\n    case 'srgb': {\n      const rgb = value.components.map((component) => component === 'none' ? 'none' : formatNumber(component * 255));\n      return `rgb(${rgb.join(' ')}${alphaSuffix})`;\n    }\n    case 'hsl':\n      return `hsl(${formatColorComponent(value.components[0])} ${formatColorComponent(value.components[1])}% ${formatColorComponent(value.components[2])}%${alphaSuffix})`;\n    case 'hwb':\n      return `hwb(${formatColorComponent(value.components[0])} ${formatColorComponent(value.components[1])}% ${formatColorComponent(value.components[2])}%${alphaSuffix})`;\n    case 'lab':\n    case 'lch':\n    case 'oklab':\n    case 'oklch':\n      return `${value.colorSpace}(${components}${alphaSuffix})`;\n    default:\n      return `color(${value.colorSpace} ${components}${alphaSuffix})`;\n  }\n}\n\nfunction formatFontFamily(value: string | string[]): string {\n  const families = Array.isArray(value) ? value : [value];\n  const genericFamilies = new Set([\n    'serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui',\n    'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong',\n  ]);\n  return families.map((family) => {\n    if (genericFamilies.has(family) || /^[a-zA-Z][\\w-]*$/.test(family)) return family;\n    return `\"${family.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"')}\"`;\n  }).join(', ');\n}\n\nfunction formatShadow(value: unknown): string {\n  const shadows = Array.isArray(value) ? value : [value];\n  return shadows.map((shadow) => {\n    if (!isRecord(shadow)) throw new TypeError('DTCG shadow values must be objects.');\n    return [\n      formatDimension(shadow.offsetX as ThemeDimensionValue),\n      formatDimension(shadow.offsetY as ThemeDimensionValue),\n      formatDimension(shadow.blur as ThemeDimensionValue),\n      formatDimension(shadow.spread as ThemeDimensionValue),\n      formatColor(shadow.color as ThemeColorValue),\n      shadow.inset === true ? 'inset' : '',\n    ].filter(Boolean).join(' ');\n  }).join(', ');\n}\n\nfunction formatGradient(value: unknown, extensions?: ThemeTokenExtensions): string {\n  if (!Array.isArray(value)) throw new TypeError('DTCG gradient values must be arrays.');\n  const stops = value.map((stop) => {\n    if (!isRecord(stop)) throw new TypeError('DTCG gradient stops must be objects.');\n    return `${formatColor(stop.color as ThemeColorValue)} ${formatNumber(Number(stop.position) * 100)}%`;\n  }).join(', ');\n  const gradient = readCssExtension(extensions)?.gradient;\n  if (gradient?.kind === 'radial') return `radial-gradient(${stops})`;\n  return `linear-gradient(${formatNumber(gradient?.angle ?? 90)}deg, ${stops})`;\n}\n\nfunction formatTokenValue(token: ResolvedThemeToken): string {\n  switch (token.type) {\n    case 'color':\n      return formatColor(token.value as ThemeColorValue);\n    case 'dimension':\n      return formatDimension(token.value as ThemeDimensionValue);\n    case 'fontFamily':\n      return formatFontFamily(token.value as string | string[]);\n    case 'fontWeight':\n    case 'number':\n      return String(token.value);\n    case 'duration':\n      return formatDuration(token.value as ThemeDurationValue);\n    case 'cubicBezier':\n      return `cubic-bezier(${(token.value as number[]).map(formatNumber).join(', ')})`;\n    case 'strokeStyle': {\n      if (typeof token.value === 'string') return token.value;\n      const value = token.value as { dashArray: ThemeDimensionValue[] };\n      return value.dashArray.map(formatDimension).join(' ');\n    }\n    case 'border': {\n      const value = token.value as { color: ThemeColorValue; width: ThemeDimensionValue; style: unknown };\n      const styleToken: ResolvedThemeToken = { ...token, type: 'strokeStyle', value: value.style };\n      return `${formatDimension(value.width)} ${formatTokenValue(styleToken)} ${formatColor(value.color)}`;\n    }\n    case 'transition': {\n      const value = token.value as { duration: ThemeDurationValue; delay: ThemeDurationValue; timingFunction: number[] };\n      return `${formatDuration(value.duration)} cubic-bezier(${value.timingFunction.map(formatNumber).join(', ')}) ${formatDuration(value.delay)}`;\n    }\n    case 'shadow':\n      return formatShadow(token.value);\n    case 'gradient':\n      return formatGradient(token.value, token.extensions);\n    case 'typography': {\n      const value = token.value as {\n        fontFamily: string | string[];\n        fontSize: ThemeDimensionValue;\n        fontWeight: string | number;\n        lineHeight: number;\n      };\n      return `${value.fontWeight} ${formatDimension(value.fontSize)}/${formatNumber(value.lineHeight)} ${formatFontFamily(value.fontFamily)}`;\n    }\n  }\n}\n\nfunction toCssVariableName(path: string, prefix: string): string {\n  const normalized = path\n    .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n    .replace(/[^a-zA-Z0-9]+/g, '-')\n    .replace(/^-+|-+$/g, '')\n    .toLowerCase();\n  return `--${prefix}-${normalized}`;\n}\n\nfunction assertCssVariablePrefix(prefix: string): void {\n  if (!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(prefix)) {\n    throw new TypeError(\n      'Theme token variablePrefix must start with a letter and contain only letters, numbers, or hyphens.',\n    );\n  }\n}\n\nfunction selectModePath(\n  paths: ReadonlySet<string>,\n  basePath: string,\n  colorMode: MonkeysThemeColorMode,\n): string | undefined {\n  const contextualPath = `${basePath}.${colorMode}`;\n  if (paths.has(contextualPath)) return contextualPath;\n  return paths.has(basePath) ? basePath : undefined;\n}\n\nconst HSL_SEMANTIC_ALIASES: Readonly<Record<string, string>> = {\n  'semantic.color.background': '--background',\n  'semantic.color.foreground': '--foreground',\n  'semantic.color.card': '--card',\n  'semantic.color.card-foreground': '--card-foreground',\n  'semantic.color.popover': '--popover',\n  'semantic.color.popover-foreground': '--popover-foreground',\n  'semantic.color.primary': '--primary',\n  'semantic.color.primary-foreground': '--primary-foreground',\n  'semantic.color.secondary': '--secondary',\n  'semantic.color.secondary-foreground': '--secondary-foreground',\n  'semantic.color.muted': '--muted',\n  'semantic.color.muted-foreground': '--muted-foreground',\n  'semantic.color.accent': '--accent',\n  'semantic.color.accent-foreground': '--accent-foreground',\n  'semantic.color.destructive': '--destructive',\n  'semantic.color.destructive-foreground': '--destructive-foreground',\n  'semantic.color.success': '--success',\n  'semantic.color.success-foreground': '--success-foreground',\n  'semantic.color.warning': '--warning',\n  'semantic.color.warning-foreground': '--warning-foreground',\n  'semantic.color.border': '--border',\n  'semantic.color.input': '--input',\n  'semantic.color.ring': '--ring',\n  'semantic.color.media-surface': '--media-surface',\n  'semantic.color.media-foreground': '--media-foreground',\n  'semantic.color.media-overlay': '--media-overlay',\n  'semantic.color.radar-canvas': '--radar-canvas',\n  'semantic.color.radar-panel': '--radar-panel',\n  'semantic.color.radar-border': '--radar-border',\n  'semantic.color.radar-shell-border': '--radar-shell-border',\n  'semantic.color.radar-grid': '--radar-grid',\n  'semantic.color.radar-axis': '--radar-axis',\n  'semantic.color.radar-series-one': '--radar-series-one',\n  'semantic.color.radar-series-two': '--radar-series-two',\n  'semantic.color.radar-series-three': '--radar-series-three',\n  'semantic.color.radar-series-four': '--radar-series-four',\n};\n\nexport function getThemeTokenCssValue(\n  compiled: CompiledThemeTokens,\n  basePath: string,\n): string | undefined {\n  const path = selectModePath(new Set(Object.keys(compiled.cssValues)), basePath, compiled.colorMode);\n  return path ? compiled.cssValues[path] : undefined;\n}\n\nexport function compileThemeTokens(\n  input: ThemeTokens,\n  options: CompileThemeTokensOptions = {},\n): CompiledThemeTokens {\n  const resolved = resolveThemeTokens(input);\n  const contract = resolved.document;\n  const colorMode = options.colorMode ?? 'light';\n  const density = options.density ?? 'default';\n  const variablePrefix = options.variablePrefix ?? 'monkeys';\n  assertCssVariablePrefix(variablePrefix);\n  const values: Record<string, unknown> = {};\n  const cssValues: Record<string, string> = {};\n  const cssVariables: Record<string, string> = {};\n  const canonicalVariableSources = new Map<string, string>();\n\n  for (const [path, token] of resolved.tokens) {\n    values[path] = token.value;\n    const cssValue = formatTokenValue(token);\n    cssValues[path] = cssValue;\n    const variableName = toCssVariableName(path, variablePrefix);\n    const existingPath = canonicalVariableSources.get(variableName);\n    if (existingPath) {\n      throw new TypeError(\n        `Theme token paths ${existingPath} and ${path} both compile to ${variableName}. Rename one token.`,\n      );\n    }\n    canonicalVariableSources.set(variableName, path);\n    cssVariables[variableName] = cssValue;\n  }\n\n  const paths = new Set(resolved.tokens.keys());\n  for (const [basePath, variableName] of Object.entries(HSL_SEMANTIC_ALIASES)) {\n    const path = selectModePath(paths, basePath, colorMode);\n    if (!path) continue;\n    const token = resolved.tokens.get(path);\n    if (!token || token.type !== 'color') {\n      throw new TypeError(`${path} must be a color token to drive ${variableName}.`);\n    }\n    cssVariables[variableName] = formatHslTriplet(token.value as ThemeColorValue);\n  }\n\n  const directAliases: Array<[\n    string,\n    string,\n    MonkeysThemeColorMode | MonkeysThemeDensity,\n    ResolvedThemeToken['type'],\n  ]> = [\n    ['semantic.color.neocard', '--neocard', colorMode, 'color'],\n    ['semantic.radius.base', '--radius', colorMode, 'dimension'],\n    ['semantic.spacing.global', '--global-spacing', density, 'dimension'],\n    ['semantic.gradient.brand', '--monkeys-gradient', colorMode, 'gradient'],\n    ['semantic.font.body', '--font-sans', colorMode, 'fontFamily'],\n  ];\n  for (const [basePath, variableName, axis, expectedType] of directAliases) {\n    const path = selectModePath(paths, basePath, axis);\n    if (!path) continue;\n    const token = resolved.tokens.get(path);\n    if (!token || token.type !== expectedType) {\n      throw new TypeError(`${path} must be a ${expectedType} token to drive ${variableName}.`);\n    }\n    cssVariables[variableName] = cssValues[path];\n  }\n\n  const cssText = Object.entries(cssVariables)\n    .sort(([left], [right]) => left.localeCompare(right))\n    .map(([name, value]) => `${name}:${value};`)\n    .join('');\n\n  return {\n    contract,\n    colorMode,\n    density,\n    values: Object.freeze(values),\n    cssValues: Object.freeze(cssValues),\n    cssVariables: Object.freeze(cssVariables),\n    cssText,\n  };\n}\n\nexport function applyThemeTokens(\n  input: ThemeTokens,\n  options: ApplyThemeTokensOptions = {},\n): CompiledThemeTokens {\n  const compiled = compileThemeTokens(input, options);\n  const target = options.target ?? (typeof document === 'undefined' ? null : document.documentElement);\n  if (!target) return compiled;\n\n  const previouslyApplied = APPLIED_VARIABLES.get(target) ?? new Set<string>();\n  const nextVariables = new Set(Object.keys(compiled.cssVariables));\n  for (const name of previouslyApplied) {\n    if (!nextVariables.has(name)) target.style.removeProperty(name);\n  }\n  for (const [name, value] of Object.entries(compiled.cssVariables)) {\n    target.style.setProperty(name, value);\n  }\n  APPLIED_VARIABLES.set(target, nextVariables);\n\n  if (options.themeId) target.dataset.monkeysTheme = options.themeId;\n  else delete target.dataset.monkeysTheme;\n  target.dataset.monkeysColorMode = compiled.colorMode;\n  target.dataset.monkeysDensity = compiled.density;\n  return compiled;\n}\n\nexport function clearThemeTokens(options: ClearThemeTokensOptions = {}): void {\n  const target = options.target ?? (typeof document === 'undefined' ? null : document.documentElement);\n  if (!target) return;\n\n  const previouslyApplied = APPLIED_VARIABLES.get(target) ?? new Set<string>();\n  for (const name of previouslyApplied) target.style.removeProperty(name);\n  APPLIED_VARIABLES.delete(target);\n\n  delete target.dataset.monkeysTheme;\n  delete target.dataset.monkeysColorMode;\n  delete target.dataset.monkeysDensity;\n}\n"]}