| {"version":3,"sourceRoot":null,"mappings":"AE6GA,0qdEtGA,0BAAA,cCkEE,uCAWA,gDAiBA,wCAaA,4UAcA,sIAYA,sUAUA,yCAMA,yCAMA,wCAMA,wCAMA,wCAMA,wCAWA,+DAWA,sKAOA,qGAOA,6EAQA,oDAKA,qDAOA,wCAOA,mEAMA,0DAOA,uCAEE,4BASF,kDASA,uDAOA,uOAaA,4GAQA,kBACA,cAIA,oPAKE,mTAYA,qFASF,gEAaA,0KAUE,2DAOF,wFAME,qBAKF,qZAQE,gCAUF,mCAMA,8BASA,mDAKA,+EASA,sDAKA,kFAeA,2BAOA,uBAUA,2CAMA,yGAcA,6BAIA,wBAME,0BAQF,6IASA,0EAOI,2HAQJ,yBAWA,iDAYA,8LASE,4BAQF,iDAAA,uCAAA,oDAAA,+CAAA,+CAAA,6CAAA,iDAAA,6CAAA,4CAAA,6CAAA,8CAAA,6CAeA,wCAAA,wCAWA,+DAKE,8EASF,+DASA,oDAMA,yCAOA,8DAOA,4BAQA,yCASA,iCAQA,iCDzoBF,caYI,2NN4GA,sBM5FI,2CN4FJ,sBM5FI,0DN4FJ,uBM5FI,yEN4FJ,uBM5FI,yFN4FJ,uBM5FI,4GE3BJ,4JAGE,0HCmEA,gBAIA,sCApBJ,mCAAA,kCAAA,uCAAA,kCAAA,kCAAA,uCAgCI,+BAMI,gCAAA,gCAAA,2BAAA,gCAAA,gCAAA,2BAAA,gCAAA,gCAAA,2BAAA,iCAAA,iCAAA,6BAQE,uCAAA,uCAAA,kCAAA,uCAAA,uCAAA,kCAAA,uCAAA,uCAAA,kCAAA,wCAAA,wCAWJ,2BAKA,2BALA,gCAKA,gCALA,iCAKA,iCALA,+BAKA,+BALA,gCAKA,gCALA,8BAKA,8BALA,iCAKA,iCALA,gCAKA,gCALA,iCAKA,iCALA,8BAKA,8BALA,mCAKA,mCALA,kCAKA,kCALA,gCAKA,gCTGJ,sBSjDE,oBAIA,0CApBJ,uCAAA,sCAAA,2CAAA,sCAAA,sCAAA,2CAgCI,mCAMI,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,qCAAA,qCAAA,iCAQE,oCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,4CAAA,4CAWJ,mCAKA,mCALA,wCAKA,wCALA,yCAKA,yCALA,uCAKA,uCALA,wCAKA,wCALA,sCAKA,sCALA,yCAKA,yCALA,wCAKA,wCALA,yCAKA,yCALA,sCAKA,sCALA,2CAKA,2CALA,0CAKA,0CALA,wCAKA,yCTGJ,sBSjDE,oBAIA,0CApBJ,uCAAA,sCAAA,2CAAA,sCAAA,sCAAA,2CAgCI,mCAMI,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,qCAAA,qCAAA,iCAQE,oCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,4CAAA,4CAWJ,mCAKA,mCALA,wCAKA,wCALA,yCAKA,yCALA,uCAKA,uCALA,wCAKA,wCALA,sCAKA,sCALA,yCAKA,yCALA,wCAKA,wCALA,yCAKA,yCALA,sCAKA,sCALA,2CAKA,2CALA,0CAKA,0CALA,wCAKA,yCTGJ,uBSjDE,oBAIA,0CApBJ,uCAAA,sCAAA,2CAAA,sCAAA,sCAAA,2CAgCI,mCAMI,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,qCAAA,qCAAA,iCAQE,oCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,4CAAA,4CAWJ,mCAKA,mCALA,wCAKA,wCALA,yCAKA,yCALA,uCAKA,uCALA,wCAKA,wCALA,sCAKA,sCALA,yCAKA,yCALA,wCAKA,wCALA,yCAKA,yCALA,sCAKA,sCALA,2CAKA,2CALA,0CAKA,0CALA,wCAKA,yCTGJ,uBSjDE,oBAIA,0CApBJ,uCAAA,sCAAA,2CAAA,sCAAA,sCAAA,2CAgCI,mCAMI,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,oCAAA,oCAAA,+BAAA,qCAAA,qCAAA,iCAQE,oCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,2CAAA,2CAAA,sCAAA,4CAAA,4CAWJ,mCAKA,mCALA,wCAKA,wCALA,yCAKA,yCALA,uCAKA,uCALA,wCAKA,wCALA,sCAKA,sCALA,yCAKA,yCALA,wCAKA,wCALA,yCAKA,yCALA,sCAKA,sCALA,2CAKA,2CALA,0CAKA,0CALA,wCAKA,yCTGJ,uBSjDE,wBAIA,8CApBJ,2CAAA,0CAAA,+CAAA,0CAAA,0CAAA,+CAgCI,uCAMI,wCAAA,wCAAA,mCAAA,wCAAA,wCAAA,mCAAA,wCAAA,wCAAA,mCAAA,yCAAA,yCAAA,qCAQE,wCAAA,+CAAA,+CAAA,0CAAA,+CAAA,+CAAA,0CAAA,+CAAA,+CAAA,0CAAA,gDAAA,gDAWJ,2CAKA,2CALA,gDAKA,gDALA,iDAKA,iDALA,+CAKA,+CALA,gDAKA,gDALA,8CAKA,8CALA,iDAKA,iDALA,gDAKA,gDALA,iDAKA,iDALA,8CAKA,8CALA,mDAKA,mDALA,kDAKA,kDALA,gDAKA,iDDxGJ,gNCwHM,iCAAA,iCAAA,iCAAA,iCAAA,iCAAA,iCAAA,iCAAA,iCAAA,iCAAA,mCAAA,mCAAA,mCAQA,+BAAA,+BAAA,+BAAA,+BAAA,+BAAA,+BAAA,+BAAA,+BAAA,+BAAA,iCAAA,iCTgFJ,0BSxFI,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,uCAAA,uCAAA,uCAQA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,qCAAA,sCTgFJ,0BSxFI,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,uCAAA,uCAAA,uCAQA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,qCAAA,sCTgFJ,2BSxFI,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,uCAAA,uCAAA,uCAQA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,qCAAA,sCTgFJ,2BSxFI,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,qCAAA,uCAAA,uCAAA,uCAQA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,mCAAA,qCAAA,sCTgFJ,2BSxFI,yCAAA,yCAAA,yCAAA,yCAAA,yCAAA,yCAAA,yCAAA,yCAAA,yCAAA,2CAAA,2CAAA,2CAQA,uCAAA,uCAAA,uCAAA,uCAAA,uCAAA,uCAAA,uCAAA,uCAAA,uCAAA,yCAAA,2ChB7IV,eGAE,sEAQA,uCAGE,sGEKF,oqBAUE,2DAYF,2GAIE,0CCJF,6pCAoBE,0bASA,oCAIA,mCAKF,2HAQA,8BAUE,8FAgBA,4EAIE,8EAQF,6DAIA,gEAWA,wSAkBF,oNAUE,kOAcA,8FAAA,iDC9CA,qBD8CA,wEAAA,iDC9CA,qBD8CA,wEAAA,iDC9CA,sBD8CA,wEAAA,iDC9CA,sBD8CA,wEAAA,qDC9CA,sBD8CA,4EAqBI,oJAYA,mFAIE,8GAIA,8IAKE,8EAQA,gJAOF,iFCIJ,yBD5CE,wJAYA,uFAIE,kHAIA,kJAKE,kFAQA,oJAOF,sFCIJ,yBD5CE,wJAYA,uFAIE,kHAIA,kJAKE,kFAQA,oJAOF,sFCIJ,0BD5CE,wJAYA,uFAIE,kHAIA,kJAKE,kFAQA,oJAOF,sFCIJ,0BD5CE,wJAYA,uFAIE,kHAIA,kJAKE,kFAQA,oJAOF,sFCIJ,0BD5CE,4JAYA,2FAIE,sHAIA,sJAKE,sFAQA,wJAOF,0FE1MR,sCAIA,yiBAYA,8MAQA,kGG/CA,wZAWE,uBAXF,qFAiBE,mGAIA,oIAIA,2GAIA,qLAMA,2KAME,iHAMF,oHAIA,yHAIA,wFAIA,wEAGA,uEAGA,wEAGA,yEAGA,qEAIA,0TCvEI,8CDuEJ,qHAOE,oNAMF,uEAIA,kLAMA,+GAOE,gOAQF,uEAIA,8EXpIJ,aiBYE,gNAQA,mFAMA,0JAMA,mJAKA,mJCxBA,8RCkCA,mgEPLI,8COKJ,kMAuBE,2JAOA,+EAWA,4KAUA,6DAMA,yCAGE,kEAIF,yePrEE,8COqEF,wNAqBA,uHAUF,2xDAkBE,wCAIA,iGAOF,oRAQE,qNAQA,oIAcA,+WAAA,+WAUF,2FAIE,6DAIA,2FAKA,8FAQF,kHAUE,4BAIA,wDAKA,6DE7NF,26CTXM,8CSWN,sMAwBE,2QTnCI,8CSmCJ,iMAeA,wKAKE,+EAMF,0EAEA,yHAKA,0DAGE,0DAKF,iEAKF,+BAGE,iDAIF,iEAIE,iDE3FF,upBXDM,8CWCN,uRAsBE,+JXvBI,8CWuBJ,iMAeA,6MAKE,mDAMF,0DAGE,kEAKF,iEAIA,6FAKF,+BAGE,iDAIF,iEAIE,iDCjEF,0xCZZM,8CYYN,6GAgBE,wUZ5BI,8CY4BJ,sHAcA,yFAQA,6FAIA,sJAIE,4DAEA,oFAMF,iKAIE,8HAKF,gDAGE,8EAMJ,mCAGE,kDAIF,sEAIE,kDCvCF,kjCAQA,uKASI,sJAGA,kJAKF,0CAGE,uJAIA,mJAMF,6CAIA,8Ub3EE,8Ca2EF,8SAnEF,oIAmEE,4HAKA,0UbhFE,8CagFF,uSAxEF,gIA4EE,ieAIA,odAIA,+CAGE,oGAIA,gGAIA,qHAIA,wGAQJ,wPAQE,wIAWF,sFAKA,kGASE,gJAOA,oDAIA,iDAKF,mHElLA,8xBAKE,qefSE,8CeTF,2NA0BA,2DAIA,gRAOE,0GAIA,maAAA,0YAeF,qNAOA,4GAME,6XAUF,8GAIA,iGAIA,0IE1FF,ueAUA,gJjBrBM,8CiBqBN,qFAQE,mEAMA,mFAAA,mFAAA,mFAAA,uFAKF,qJjBxCM,8CiBwCN,iDAQE,kCAMF,8lBAaE,iLjBnEI,8CiBmEJ,uFAWE,+GAAA,+GAAA,+GAAA,oHEtFJ,6KAUE,oCAKA,2CAKA,gDAKF,gJAQE,gGAMF,mIC/BA,yrBAgBE,qKAOA,qGAOA,wHAME,2IAKA,sIE/DJ,qDAME,6EAMA,4GAKE,kKAMA,oFAIA,uEAMJ,8EAMA,wKAOE,uDAIA,mGAKA,mEAOF,mCAIE,iGlC/DJ,kB4ByBE,8dAQE,wGASA,oFAQA,0DAIE,8CAWJ,oeAsBI,0SAAA,0SAmBF,uWAOA,sKAKA,mMAIA,6KE3FF,2XAUA,+MAmBE,uEAMF,yEAMA,uclBrDM,8CkBqDN,gFAoBA,+HAKE,mKAUF,yEAKA,gCAGA,yCAGE,0GAGA,yJAGA,oJAKF,iLAWE,4GAAA,4GGhJF,0LAUE,sDAIA,mFAOF,2HAUA,+EAIA,8BrBZM,8CqBYN,sDAIE,+CAKF,4EAKA,8IAQA,kCAIA,0GErCA,oGAQA,0TAkBE,iLClDA,0ED6DE,yMCpDS,sGDoDT,qOC7DF,iKD2EE,+IClES,6LDkET,2KAQF,kEAEA,+GAaE,8FAEA,4KCpGF,iKDgHE,+ICvGS,6LDuGT,2KAQF,kEAEA,+GAaE,8FAEA,4KAOJ,gLAKE,0JAgBA,4MAKE,sLAQF,yEAEA,6HAaE,qGAEA,0LAOJ,4EAGE,0MAKA,yHAiBA,wGAGE,sOAKA,sLAOJ,4EAGE,0MAKA,yHAiBA,wGAGE,sOAKA,sLASA,iFACA,6EAGE,gLAGA,4KAPF,6GACA,yGAGE,4MAGA,wMAQJ,odC3SA,kPDkVE,4EAIA,gJAJA,wGAIA,4KA9TJ,qGAQA,0TAkBE,mLClDA,2ED6DE,yMCxDS,gGDwDT,8NC7DF,gKD2EE,gJCtES,qLDsET,qKAQF,mEAEA,uHAME,wFAEA,sKC7FF,gKDgHE,gJC3GS,qLD2GT,qKAQF,mEAEA,uHAME,wFAEA,sKAcJ,+KAKE,2JAMA,oMAKE,gLAkBF,0EAEA,qIAME,+FAEA,oLAcJ,6EAGE,0MAKA,iIAKA,kGAGE,+NAKA,gLAmBJ,6EAGE,0MAKA,iIAKA,kGAGE,+NAKA,gLAqBA,kFACA,8EAGE,iLAGA,6KAPF,uGACA,mGAGE,sMAGA,kMAQJ,8dC3SA,iPDkVE,6EAIA,iJAJA,kGAIA,sKEzKJ,g5CzB/HI,8CyB+HJ,+OA4BE,sPAMA,4QAKA,0WAME,8eAKF,grBAiBA,ygBA0BE,iRAgBA,kEAIA,+UAeA,4NA7DF,yfA0BE,mRAgBA,oEAIA,qVAeA,yNA7DF,oYA0BE,4MAgBA,mEAIA,wNAeA,yNA7DF,6VA0BE,8IAgBA,iEAIA,yMAeA,qMAoBJ,4qBAUE,qEAIA,4EAgBA,kZAAA,kZAAA,kZAaF,6EAgBE,6EAMA,mOASA,uIAKA,8QAiBF,gkBAYE,iPAUA,8OAQA,gFC9bF,2FAME,uFAIE,iFAKF,uPAMA,wKAQE,8IAgBA,uKAWA,wNAUJ,8EAME,qCAKF,qDAIE,6IAMA,8JAMA,uJAUF,wFAKE,4EAKA,sJAMA,gLAMA,yKCpGF,k6BAeE,gHAMA,gGAKA,mJCdF,m9BAIA,sY5BII,8C4BJJ,4MAiBE,uDAIA,+K5BxCI,8C4BwCJ,sFASA,kCAIA,wJAQF,yLAME,8CANF,iDAYE,8D5BlDE,8C4BkDF,gRAWA,oJAGE,wPAKF,mGAMA,+IAGE,mPAIA,+JAMF,qGAIE,uDAIA,oSAKE,yGAMF,uGAMJ,2NAUA,gLAgBA,oHASE,kHAKE,gHAaF,iEAIE,kEAIA,+DAIA,oHCpMJ,m2B7BkBI,8C6BFF,yMAQA,wBAMF,yBAIA,6BAMA,wFCZA,o2BAkBE,4DAOF,8HAKA,6DAIA,kWAUE,kEAIA,oFAKA,gFAKA,iEAKF,6DAIE,wL9BpGI,8C8BoGJ,oEAOE,+CAIA,iEAQF,4FAAA,0DAAA,oHAAA,uHCjGF,04BAqBE,0BAMF,6BAKA,uCAOE,wOAAA,sOAgBF,+DCvEA,0kCAcA,8BAIA,yHAOE,mRAUF,8ShCzCM,8CgCyCN,mEAYE,iIAMA,qECpDF,qvBAeE,2DAIA,yDAKA,iGAOF,0MAYE,kYAQA,uEAKF,oDAIA,qDAQA,gPAcA,mEAOA,gFAWA,wFAQA,wHAQA,4OAWE,iHAKA,0HAKF,iEAUA,6FAQA,sKAQA,wCAIA,wDAKA,2VAmBE,8HAKA,uIAIA,whBAaF,yGAOA,oPAgBA,wCAKA,oCAIA,mGAQA,kKAUE,gKAQF,mTAkBE,0EAMF,kJAOA,qGAMA,uFAKA,yGAKA,sIAKA,iIAKA,wFAIA,6EAMA,2IAKA,+LAOA,8LAOA,2FCpWA,qpCAoBE,iEAIA,8BAIA,+JAKE,sEAMF,8DAOF,yFAKE,mDAMF,oIAOE,4FAMA,iHASF,sTAeE,iEAIA,6EAMA,qGCrGF,6iCAeE,yBAQE,kNAQA,sJAIA,iJAMJ,2LAWE,4BAIA,0CAMF,8DAIA,mVASE,iHAKF,oQAME,gHAKF,mIAIE,2IAMF,6EAGE,oOAYA,yGAUF,wLAKE,mHAOF,wIAOA,oDAMA,uKAMA,sIAIA,qIAIA,6BAII,wOAOA,0JAIA,qJAMJ,wIAIA,kIAcE,4DxCbE,0BwCUJ,wCAYI,6CAIE,oDAME,qFAGE,0KAKA,2KAOF,0FAGE,+KAKA,iLC5OV,usDAUA,0QAWE,gDAMF,8CACE,wCAKF,4LAiBE,yDAOA,8CAaA,kFAMA,mFpCjGI,8CoCiGJ,yKAQA,kEpCzGI,8CoCyGJ,yHASF,yRAWA,oEAIA,oEAIA,iFAKA,sEAIA,oEAWA,uHASE,6EAKF,iGAKE,wRpC5KI,8CoC4KJ,iPAYA,gLAaA,6EAME,8CADF,wGAOI,mRAkBN,yFAGE,8KCtOF,mvBAeA,wDAKA,oDAIA,gDCgBA,kCAIA,w4CAuBE,uCtC5CE,8CsC4CF,8MAmBE,2EAMA,wEASA,6GAYA,oFAKA,0ItCtHE,8CsCsHF,+VASA,4FAQA,oIAUF,wFAWA,6FAQA,oFAGE,6DAYJ,gBACE,qFAUA,0JAQA,mCAAA,mCAAA,oCAIF,6K3CxFE,qB2C0GI,4J3C1GJ,qB2C0GI,4J3C1GJ,sB2C0GI,4J3C1GJ,sB2C0GI,4J3C1GJ,sB2C0GI,gKAeN,sMAIE,mDAMF,gFAMA,0EAMA,gRElOA,u/DA2BE,4DAIA,6DAIA,6DAIA,wDxC/CE,8CwCQJ,oNAqDE,iDAOF,gBACE,2CAMF,sEAKA,grBAcA,+KAQA,wbAiBE,4KAOA,sKAME,4FAKF,+DAIA,kJAUF,kHAQA,mFAOA,wKAMA,4JAQE,8CAKF,yMASA,kHAOA,2BAGE,kFAMA,wMAYE,6DAKF,oEAKA,wKCtPF,87BAYA,gEAIE,2GAWF,qXASE,+FAIA,0FAIA,oKAQA,gLAQA,6DAGE,4JAYJ,sIAQI,8QAQA,uMAcF,0CAKM,0JAKA,0JAKA,4DAIA,gJAIE,6L9CiEN,0B8CxFF,8CAKM,8JAKA,8JAKA,gEAIA,oJAIE,kM9CiEN,0B8CxFF,8CAKM,8JAKA,8JAKA,gEAIA,oJAIE,kM9CiEN,2B8CxFF,8CAKM,8JAKA,8JAKA,gEAIA,oJAIE,kM9CiEN,2B8CxFF,8CAKM,8JAKA,8JAKA,gEAIA,oJAIE,kM9CiEN,2B8CxFF,kDAKM,kKAKA,kKAKA,oEAIA,wJAIE,sMAeV,kCAGE,sFAGE,uEC/EJ,otBAWA,uBAIA,kb1CvEI,8C0CuEJ,iMAmBE,uKAMA,4LAMA,mKAOA,iHAYF,ogBAOE,mLAKE,wJAQF,2QAQA,4HAUF,8aAQE,0EAIA,uOAOF,8DAIE,uEAUF,qKAKE,2IAME,kGAMF,0LAaA,oEAQA,6FAUA,4EAUA,4J1C1PE,8C0CkQA,qOAQF,mCAOF,gBACE,gEC1TF,gEAUA,6DAQA,2CAKA,4CAKA,uDCoDA,49CAgBE,mPAsBF,uVAUE,6GAUF,0jBAWI,wMAWJ,uIAKE,gHAQF,yE5C5JM,8C4C4JN,gEAOA,8PAgBE,sGAOA,0GAKA,sDAIA,oZAyBE,qEAIA,wIAYJ,2DjDlCI,0BiDvBF,8GAOA,8GAKA,0DAIA,wZAyBE,yEAIA,6IjDtBA,0BiDvBF,8GAOA,8GAKA,0DAIA,wZAyBE,yEAIA,6IjDtBA,2BiDvBF,8GAOA,8GAKA,0DAIA,wZAyBE,yEAIA,6IjDtBA,2BiDvBF,8GAOA,8GAKA,0DAIA,wZAyBE,yEAIA,6IjDtBA,2BiDvBF,sHAOA,kHAKA,8DAIA,4ZAyBE,6EAIA,iJAwCF,sEAKF,6DAIE,sOAWF,wdjD1KE,qBkDvEA,+hBA2BI,2IAMA,uIAMA,uHAKA,0HAKA,0H7CrEF,gE6C+EE,kNlDYJ,qBkDEM,iHAGE,mLAQA,8HAKF,+GAIA,4KASA,4FlD5CN,sBkD1DA,qXA8IM,wCAIA,8IAlJN,6ClDuEA,qBkDvEA,+hBA2BI,2IAMA,uIAMA,uHAKA,0HAKA,0H7CrEF,gE6C+EE,kNlDYJ,qBkDEM,iHAGE,mLAQA,8HAKF,+GAIA,4KASA,4FlD5CN,sBkD1DA,qXA8IM,wCAIA,8IAlJN,6ClDuEA,sBkDvEA,+hBA2BI,2IAMA,uIAMA,uHAKA,0HAKA,0H7CrEF,iE6C+EE,kNlDYJ,sBkDEM,iHAGE,mLAQA,8HAKF,+GAIA,4KASA,4FlD5CN,uBkD1DA,qXA8IM,wCAIA,8IAlJN,6ClDuEA,sBkDvEA,+hBA2BI,2IAMA,uIAMA,uHAKA,0HAKA,0H7CrEF,iE6C+EE,kNlDYJ,sBkDEM,iHAGE,mLAQA,8HAKF,+GAIA,4KASA,4FlD5CN,uBkD1DA,qXA8IM,wCAIA,8IAlJN,6ClDuEA,sBkDvEA,miBA2BI,+IAMA,2IAMA,2HAKA,8HAKA,8H7CrEF,iE6C+EE,sNlDYJ,sBkDEM,qHAGE,2LAQA,kIAKF,mHAIA,oLASA,oGlD5CN,uBkD1DA,yXA8IM,4CAIA,kJAlJN,iDAAA,2hBA2BI,uIAMA,mIAMA,mHAKA,sHAKA,qH7CrEF,8C6C+EE,8MAcE,6GAGE,2KAQA,0HAKF,2GAIA,oKASA,mFA8DN,yH7C/MI,8C6C+MJ,8UAAA,yH7C/MI,8C6C+MJ,8UAAA,yH7C/MI,8C6C+MJ,8UAAA,yH7C/MI,8C6C+MJ,8UAAA,6H7C/MI,8C6C+MJ,kVAAA,qH7C/MI,8C6C+MJ,0UASF,gBAEI,mLAQJ,qCAIA,uIAQA,8KlDzIE,uBkDyIF,4DAgBA,2HAGE,uGAOF,6EAKA,sMAaA,kQAIA,yCCxQA,2iCAOA,ib9C7BM,8C8C6BN,0IAcE,mPAOA,6KAKA,4PAQA,iNAUA,yGAKE,0JAMA,qJAYF,gUAAA,gUCxGF,2NAUE,wDAOF,gCAIA,gCAIA,iCAME,kFAII,uCAJJ,+CAWF,2EAMA,gOAMI,uCANJ,kCAYA,sDCnCA,urDhDMI,8CgDiBF,mNAQA,wBAIA,gHAKE,6HAYJ,gBACE,+CAMA,2KAGE,+RAKA,sKAKA,uLAQF,qPAKE,4UAKA,qKAKA,sLAQF,8KAGE,2SAKA,uKAKA,wLAOA,wMAMF,2VAaA,uPAKE,8UAKA,yKAKA,0LAuBJ,gcASE,mCAKF,2HE5ME,oFAMF,8oBAaA,uPlD1BM,8CkD0BN,4DAYA,gMAKA,6CAIA,qDAKE,kEAII,uCAJJ,uCChCF,kRAYA,uDAKA,gTAOA,+DAYA,4EAWA,iOAQA,4DAKE,uCACE,iECpDJ,6aAYA,4NAUE,gYAqBA,kRAYA,4CAKE,qLASJ,kGAIA,oFAjGA,uJAOE,wPASA,8DzDqLE,0ByD9FA,wFAvGJ,2JAOE,4PASA,mEzDqLE,0ByD9FA,wFAvGJ,2JAOE,4PASA,mEzDqLE,2ByD9FA,wFAvGJ,2JAOE,4PASA,mEzDqLE,2ByD9FA,wFAvGJ,2JAOE,4PASA,mEzDqLE,2ByD9FA,4FAvGJ,+JAOE,gQASA,uEAgGF,4HAME,4DC/GF,ukCAoBE,qCrDTE,8CqDSF,4OAUA,mCASF,gBACE,2CAKF,2JASE,yEAKF,uZASE,yJAOF,2DAIA,mECpFA,k8BtDgBI,8CsDDF,mNAQA,gDAEA,gHAKE,kGASJ,gBACE,+CAKF,wIAGE,mPAOF,kNAKE,+RAOF,2IAGE,0PAOF,oNAKE,iSAuBF,0PlEnIF,cAAA,eoENE,yHCoBA,4LzDKM,8CyDLN,8MAOE,gICPF,4hBAUE,wH1DLI,8C0DKJ,+DAYE,yICtCJ,mEAMA,sEAWI,6DAMA,mEhEmGF,sBgEzGE,iEAMA,wEhEmGF,sBgEzGE,iEAMA,wEhEmGF,uBgEzGE,iEAMA,wEhEmGF,uBgEzGE,iEAMA,wEhEmGF,uBgEzGE,qEAMA,4ECxBJ,4CAIA,0NAUE,mEAMA,mEjE4ME,0BiElNF,uEAMA,wEjE4ME,0BiElNF,uEAMA,wEjE4ME,2BiElNF,uEAMA,wEjE4ME,2BiElNF,uEAMA,wEjE4ME,2BiElNF,2EAMA,4EEqEA,8ZAAA,oZAAA,8ZAAA,oZAAA,8ZAAA,gYAAA,8ZAAA,kbAnBF,6PDjEA,uGAKA,uDEXA,mQCeA,4HAKA,oGCHA,8CAGE,oGCpBF,yEEFA,2JhFMF,iBiFqOI,wCAAA,8BAAA,oCAAA,oCAAA,8CAAA,wCAAA,6CAAA,4BAAA,4BAAA,4BAAA,8BAAA,8BAAA,gCAAA,4BAAA,uBAAA,uCAAA,mCAAA,iCAAA,wCAAA,iCAAA,qBAAA,wBAAA,uBAAA,wBAAA,uBAAA,6BAAA,iCAAA,mCAAA,iCAAA,iCAAA,qCAAA,uCAAA,qCAAA,iCAAA,qCAAA,uCAAA,qCAAA,4CAAA,mCAAA,yBAAA,qCAAA,uBAAA,qBAAA,mCAAA,uBAAA,+BAAA,iCAAA,qBAAA,mCAAA,6BAAA,+BAAA,qBAAA,+aAAA,sJAAA,oSAAA,yjBAAA,qjBAAA,6BAAA,+CAAA,6CAAA,+CAAA,6CAAA,+CAAA,yCAAA,+CAAA,mDAAA,qCAAA,sCAAA,sCAAA,8BAAA,8BAAA,8BAAA,8BAAA,6BAAA,+BAAA,+BAAA,+BAAA,+BAAA,8BAAA,iCAAA,qCAAA,qCAAA,+BAAA,iCAAA,aAAA,gBAAA,kBAAA,mBAAA,sBAAA,wBAAA,8BAAA,iCAAA,mCAAA,0BAAA,6BAAA,+BAAA,iDAAA,8CAAA,+CAAA,oFAAA,mBAAA,oGAAA,mCAAA,mGAAA,kCAAA,qGAAA,oCAAA,uGAAA,sCAAA,4FAAA,2BAAA,6FAAA,4BAAA,uEAAA,qEAAA,uEAAA,qEAAA,uEAAA,iEAAA,uEAAA,2EAAA,iEAAA,qEAAA,uEAAA,yEAAA,iFAAA,uEAAA,uEAAA,kFAAA,gFAAA,kFAAA,gFAAA,kFAAA,4EAAA,kFAAA,sFAAA,4DAAA,2BAAA,2BAAA,2BAAA,2BAAA,2BAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,sCAAA,gBAAA,gBAAA,gBAAA,gBAAA,gBAAA,gBAAA,gBAAA,gBAAA,gBAAA,kBAAA,kBAAA,kBAAA,gBAAA,gBAAA,gBAAA,kBAAA,mBAAA,yBAAA,yBAAA,yBAAA,0BAAA,qBAAA,0BAAA,oBAAA,4BAAA,sBAAA,8BAAA,iBAAA,iBAAA,iBAAA,mBAAA,oBAAA,0BAAA,0BAAA,0BAAA,2BAAA,sBAAA,2BAAA,qBAAA,6BAAA,uBAAA,+BAAA,qBAAA,6BAAA,mCAAA,6CAAA,mDAAA,yBAAA,yBAAA,6BAAA,6BAAA,0BAAA,8BAAA,0CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,qDAAA,yCAAA,qCAAA,2CAAA,6CAAA,uCAAA,mCAAA,yCAAA,0CAAA,sCAAA,uCAAA,2CAAA,yCAAA,8CAAA,0CAAA,2CAAA,mDAAA,iDAAA,6CAAA,iCAAA,wCAAA,oCAAA,qCAAA,yCAAA,uCAAA,qCAAA,iCAAA,uCAAA,iDAAA,uCAAA,iDAAA,iDAAA,iDAAA,iDAAA,iDAAA,iCAAA,uCAAA,6CAAA,2CAAA,sBAAA,iBAAA,iBAAA,iBAAA,iBAAA,iBAAA,iBAAA,oBAAA,cAAA,mBAAA,oBAAA,kBAAA,mBAAA,iBAAA,oBAAA,mBAAA,oBAAA,iBAAA,qBAAA,oBAAA,kBAAA,oBAAA,sBAAA,2BAAA,4BAAA,0BAAA,2BAAA,yBAAA,4BAAA,2BAAA,4BAAA,yBAAA,6BAAA,4BAAA,0BAAA,4BAAA,qBAAA,0BAAA,2BAAA,yBAAA,0BAAA,wBAAA,2BAAA,0BAAA,2BAAA,wBAAA,4BAAA,2BAAA,yBAAA,2BAAA,2BAAA,gCAAA,iCAAA,+BAAA,gCAAA,8BAAA,iCAAA,gCAAA,iCAAA,8BAAA,kCAAA,iCAAA,+BAAA,iCAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,iCAAA,gCAAA,gCAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,4BAAA,iCAAA,kCAAA,gCAAA,iCAAA,+BAAA,kCAAA,iCAAA,kCAAA,+BAAA,mCAAA,kCAAA,gCAAA,mCAAA,kCAAA,kCAAA,eAAA,oBAAA,qBAAA,mBAAA,oBAAA,kBAAA,qBAAA,oBAAA,qBAAA,kBAAA,sBAAA,qBAAA,mBAAA,uBAAA,4BAAA,6BAAA,2BAAA,4BAAA,0BAAA,6BAAA,4BAAA,6BAAA,0BAAA,8BAAA,6BAAA,2BAAA,sBAAA,2BAAA,4BAAA,0BAAA,2BAAA,yBAAA,4BAAA,2BAAA,4BAAA,yBAAA,6BAAA,4BAAA,0BAAA,4BAAA,iCAAA,kCAAA,gCAAA,iCAAA,+BAAA,kCAAA,iCAAA,kCAAA,+BAAA,mCAAA,kCAAA,gCAAA,2BAAA,gCAAA,iCAAA,+BAAA,gCAAA,8BAAA,iCAAA,gCAAA,iCAAA,8BAAA,kCAAA,iCAAA,+BAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,6BAAA,kCAAA,mCAAA,iCAAA,kCAAA,gCAAA,mCAAA,kCAAA,mCAAA,gCAAA,oCAAA,mCAAA,iCAAA,aAAA,kBAAA,mBAAA,iBAAA,kBAAA,gBAAA,mBAAA,kBAAA,mBAAA,gBAAA,oBAAA,mBAAA,iBAAA,qBAAA,0BAAA,2BAAA,yBAAA,0BAAA,wBAAA,2BAAA,0BAAA,2BAAA,wBAAA,4BAAA,2BAAA,yBAAA,2BAAA,gCAAA,iCAAA,+BAAA,gCAAA,8BAAA,iCAAA,gCAAA,iCAAA,8BAAA,kCAAA,iCAAA,+BAAA,yDAAA,8DAAA,+DAAA,6DAAA,8DAAA,4DAAA,+DAAA,8DAAA,+DAAA,4DAAA,gEAAA,+DAAA,6DAAA,wDAAA,6DAAA,8DAAA,4DAAA,6DAAA,2DAAA,8DAAA,6DAAA,8DAAA,2DAAA,+DAAA,8DAAA,4DAAA,8HAAA,6DAAA,6HAAA,4DAAA,gDAAA,kDAAA,wBAAA,yBAAA,sBAAA,uDAAA,sDAAA,mDAAA,sDAAA,sDAAA,8CAAA,sDAAA,2CAAA,2CAAA,wCAAA,yEAAA,4EAAA,yEAAA,wEAAA,wEAAA,gEAAA,sEAAA,8BAAA,8BAAA,gCAAA,0BAAA,2BAAA,2BAAA,6BAAA,yBAAA,8BAAA,oBAAA,4CAAA,4CAAA,4CAAA,6BAAA,yBAAA,+BAAA,2CAAA,qDAAA,2DAAA,yCAAA,yCAAA,2CAAA,0BAAA,8BAAA,gCAAA,8BAAA,uDAAA,4DAAA,0DAAA,4DAAA,0DAAA,4DAAA,sDAAA,4DAAA,gEAAA,sDAAA,gDAAA,gDAAA,gDAAA,gDAAA,kDAAA,wDAAA,wDAAA,6CAAA,8EAAA,4EAAA,8EAAA,4EAAA,8EAAA,wEAAA,8EAAA,kFAAA,2EAAA,yEAAA,2EAAA,yEAAA,2EAAA,qEAAA,2EAAA,+EAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,2BAAA,gGAAA,gGAAA,gGAAA,gGAAA,gGAAA,gGAAA,gGAAA,gGAAA,gGAAA,4DAAA,kFAAA,iFAAA,kFAAA,kMAAA,gPAAA,oMAAA,+LAAA,sMAAA,+LAAA,kMAAA,oMAAA,uPAAA,uPAAA,uPAAA,uPAAA,uPAAA,uPAAA,uPAAA,uPAAA,uPAAA,6KAAA,yFAAA,yFAAA,yFAAA,yFAAA,yFAAA,uEAAA,qEAAA,uEAAA,qEAAA,uEAAA,iEAAA,uEAAA,2EAAA,iEAAA,2DAAA,2DAAA,2DAAA,2DAAA,6DAAA,mEAAA,mEAAA,+EAAA,qFAAA,mFAAA,qFAAA,mFAAA,qFAAA,+EAAA,qFAAA,yFAAA,mFAAA,iFAAA,mFAAA,iFAAA,mFAAA,6EAAA,mFAAA,uFAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,sCAAA,mFAAA,kFAAA,yFAAA,yEAAA,iDAAA,uCAAA,qCAAA,2CAAA,yDAAA,4DAAA,4DAAA,4DAAA,6BAAA,6BAAA,oEAAA,0EAAA,2EAAA,yEAAA,0EAAA,wEAAA,0EAAA,yEAAA,0EAAA,uEAAA,sEAAA,2EAAA,2FAAA,oCAAA,0CAAA,2CAAA,yCAAA,0CAAA,wCAAA,0CAAA,yCAAA,0CAAA,uCAAA,sCAAA,2CAAA,2DAAA,qEAAA,iFAAA,mFAAA,+EAAA,iFAAA,6EAAA,iFAAA,+EAAA,iFAAA,2EAAA,mJAAA,8EAAA,gHAAA,iEAAA,6EAAA,+EAAA,2EAAA,6EAAA,yEAAA,6EAAA,2EAAA,6EAAA,uEAAA,+IAAA,0EAAA,4GAAA,oEAAA,gFAAA,kFAAA,8EAAA,gFAAA,4EAAA,gFAAA,8EAAA,gFAAA,0EAAA,kJAAA,6EAAA,+GAAA,uEAAA,mFAAA,qFAAA,iFAAA,mFAAA,+EAAA,mFAAA,iFAAA,mFAAA,6EAAA,qJAAA,gFAAA,kHAAA,4BAAA,6BAAA,iBAAA,eAAA,eAAA,eAAA,eAAA,qBAAA,uBAAA,sBAAA,uBAAA,uBAAA,wBAAA,wBAAA,sBAAA,iCAAA,+BAAA,mFAAA,6E1E7GA,sB0E6GA,oCAAA,gCAAA,2BAAA,2CAAA,uCAAA,qCAAA,4CAAA,qCAAA,6BAAA,yCAAA,2BAAA,yBAAA,uCAAA,2BAAA,mCAAA,qCAAA,yBAAA,uCAAA,iCAAA,mCAAA,yBAAA,yBAAA,iCAAA,uCAAA,iDAAA,uDAAA,6BAAA,6BAAA,iCAAA,iCAAA,8BAAA,kCAAA,8CAAA,sDAAA,kDAAA,mDAAA,2DAAA,yDAAA,yDAAA,6CAAA,yCAAA,+CAAA,iDAAA,2CAAA,uCAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,wBAAA,sBAAA,uBAAA,qBAAA,wBAAA,uBAAA,wBAAA,qBAAA,yBAAA,wBAAA,sBAAA,wBAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,qCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,qCAAA,oCAAA,oCAAA,6BAAA,kCAAA,mCAAA,iCAAA,kCAAA,gCAAA,mCAAA,kCAAA,mCAAA,gCAAA,oCAAA,mCAAA,iCAAA,mCAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,yBAAA,uBAAA,wBAAA,sBAAA,yBAAA,wBAAA,yBAAA,sBAAA,0BAAA,yBAAA,uBAAA,2BAAA,gCAAA,iCAAA,+BAAA,gCAAA,8BAAA,iCAAA,gCAAA,iCAAA,8BAAA,kCAAA,iCAAA,+BAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,iCAAA,sCAAA,uCAAA,qCAAA,sCAAA,oCAAA,uCAAA,sCAAA,uCAAA,oCAAA,wCAAA,uCAAA,qCAAA,iBAAA,sBAAA,uBAAA,qBAAA,sBAAA,oBAAA,uBAAA,sBAAA,uBAAA,oBAAA,wBAAA,uBAAA,qBAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,6DAAA,kEAAA,mEAAA,iEAAA,kEAAA,gEAAA,mEAAA,kEAAA,mEAAA,gEAAA,oEAAA,mEAAA,iEAAA,4DAAA,iEAAA,kEAAA,gEAAA,iEAAA,+DAAA,kEAAA,iEAAA,kEAAA,+DAAA,mEAAA,kEAAA,gEAAA,kIAAA,iEAAA,iIAAA,gEAAA,iCAAA,6BAAA,oC1E7GA,sB0E6GA,oCAAA,gCAAA,2BAAA,2CAAA,uCAAA,qCAAA,4CAAA,qCAAA,6BAAA,yCAAA,2BAAA,yBAAA,uCAAA,2BAAA,mCAAA,qCAAA,yBAAA,uCAAA,iCAAA,mCAAA,yBAAA,yBAAA,iCAAA,uCAAA,iDAAA,uDAAA,6BAAA,6BAAA,iCAAA,iCAAA,8BAAA,kCAAA,8CAAA,sDAAA,kDAAA,mDAAA,2DAAA,yDAAA,yDAAA,6CAAA,yCAAA,+CAAA,iDAAA,2CAAA,uCAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,wBAAA,sBAAA,uBAAA,qBAAA,wBAAA,uBAAA,wBAAA,qBAAA,yBAAA,wBAAA,sBAAA,wBAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,qCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,qCAAA,oCAAA,oCAAA,6BAAA,kCAAA,mCAAA,iCAAA,kCAAA,gCAAA,mCAAA,kCAAA,mCAAA,gCAAA,oCAAA,mCAAA,iCAAA,mCAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,yBAAA,uBAAA,wBAAA,sBAAA,yBAAA,wBAAA,yBAAA,sBAAA,0BAAA,yBAAA,uBAAA,2BAAA,gCAAA,iCAAA,+BAAA,gCAAA,8BAAA,iCAAA,gCAAA,iCAAA,8BAAA,kCAAA,iCAAA,+BAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,iCAAA,sCAAA,uCAAA,qCAAA,sCAAA,oCAAA,uCAAA,sCAAA,uCAAA,oCAAA,wCAAA,uCAAA,qCAAA,iBAAA,sBAAA,uBAAA,qBAAA,sBAAA,oBAAA,uBAAA,sBAAA,uBAAA,oBAAA,wBAAA,uBAAA,qBAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,6DAAA,kEAAA,mEAAA,iEAAA,kEAAA,gEAAA,mEAAA,kEAAA,mEAAA,gEAAA,oEAAA,mEAAA,iEAAA,4DAAA,iEAAA,kEAAA,gEAAA,iEAAA,+DAAA,kEAAA,iEAAA,kEAAA,+DAAA,mEAAA,kEAAA,gEAAA,kIAAA,iEAAA,iIAAA,gEAAA,iCAAA,6BAAA,oC1E7GA,uB0E6GA,oCAAA,gCAAA,2BAAA,2CAAA,uCAAA,qCAAA,4CAAA,qCAAA,6BAAA,yCAAA,2BAAA,yBAAA,uCAAA,2BAAA,mCAAA,qCAAA,yBAAA,uCAAA,iCAAA,mCAAA,yBAAA,yBAAA,iCAAA,uCAAA,iDAAA,uDAAA,6BAAA,6BAAA,iCAAA,iCAAA,8BAAA,kCAAA,8CAAA,sDAAA,kDAAA,mDAAA,2DAAA,yDAAA,yDAAA,6CAAA,yCAAA,+CAAA,iDAAA,2CAAA,uCAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,wBAAA,sBAAA,uBAAA,qBAAA,wBAAA,uBAAA,wBAAA,qBAAA,yBAAA,wBAAA,sBAAA,wBAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,qCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,qCAAA,oCAAA,oCAAA,6BAAA,kCAAA,mCAAA,iCAAA,kCAAA,gCAAA,mCAAA,kCAAA,mCAAA,gCAAA,oCAAA,mCAAA,iCAAA,mCAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,yBAAA,uBAAA,wBAAA,sBAAA,yBAAA,wBAAA,yBAAA,sBAAA,0BAAA,yBAAA,uBAAA,2BAAA,gCAAA,iCAAA,+BAAA,gCAAA,8BAAA,iCAAA,gCAAA,iCAAA,8BAAA,kCAAA,iCAAA,+BAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,iCAAA,sCAAA,uCAAA,qCAAA,sCAAA,oCAAA,uCAAA,sCAAA,uCAAA,oCAAA,wCAAA,uCAAA,qCAAA,iBAAA,sBAAA,uBAAA,qBAAA,sBAAA,oBAAA,uBAAA,sBAAA,uBAAA,oBAAA,wBAAA,uBAAA,qBAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,6DAAA,kEAAA,mEAAA,iEAAA,kEAAA,gEAAA,mEAAA,kEAAA,mEAAA,gEAAA,oEAAA,mEAAA,iEAAA,4DAAA,iEAAA,kEAAA,gEAAA,iEAAA,+DAAA,kEAAA,iEAAA,kEAAA,+DAAA,mEAAA,kEAAA,gEAAA,kIAAA,iEAAA,iIAAA,gEAAA,iCAAA,6BAAA,oC1E7GA,uB0E6GA,oCAAA,gCAAA,2BAAA,2CAAA,uCAAA,qCAAA,4CAAA,qCAAA,6BAAA,yCAAA,2BAAA,yBAAA,uCAAA,2BAAA,mCAAA,qCAAA,yBAAA,uCAAA,iCAAA,mCAAA,yBAAA,yBAAA,iCAAA,uCAAA,iDAAA,uDAAA,6BAAA,6BAAA,iCAAA,iCAAA,8BAAA,kCAAA,8CAAA,sDAAA,kDAAA,mDAAA,2DAAA,yDAAA,yDAAA,6CAAA,yCAAA,+CAAA,iDAAA,2CAAA,uCAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,wBAAA,sBAAA,uBAAA,qBAAA,wBAAA,uBAAA,wBAAA,qBAAA,yBAAA,wBAAA,sBAAA,wBAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,qCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,qCAAA,oCAAA,oCAAA,6BAAA,kCAAA,mCAAA,iCAAA,kCAAA,gCAAA,mCAAA,kCAAA,mCAAA,gCAAA,oCAAA,mCAAA,iCAAA,mCAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,yBAAA,uBAAA,wBAAA,sBAAA,yBAAA,wBAAA,yBAAA,sBAAA,0BAAA,yBAAA,uBAAA,2BAAA,gCAAA,iCAAA,+BAAA,gCAAA,8BAAA,iCAAA,gCAAA,iCAAA,8BAAA,kCAAA,iCAAA,+BAAA,0BAAA,+BAAA,gCAAA,8BAAA,+BAAA,6BAAA,gCAAA,+BAAA,gCAAA,6BAAA,iCAAA,gCAAA,8BAAA,gCAAA,qCAAA,sCAAA,oCAAA,qCAAA,mCAAA,sCAAA,qCAAA,sCAAA,mCAAA,uCAAA,sCAAA,oCAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,iCAAA,sCAAA,uCAAA,qCAAA,sCAAA,oCAAA,uCAAA,sCAAA,uCAAA,oCAAA,wCAAA,uCAAA,qCAAA,iBAAA,sBAAA,uBAAA,qBAAA,sBAAA,oBAAA,uBAAA,sBAAA,uBAAA,oBAAA,wBAAA,uBAAA,qBAAA,yBAAA,8BAAA,+BAAA,6BAAA,8BAAA,4BAAA,+BAAA,8BAAA,+BAAA,4BAAA,gCAAA,+BAAA,6BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,6DAAA,kEAAA,mEAAA,iEAAA,kEAAA,gEAAA,mEAAA,kEAAA,mEAAA,gEAAA,oEAAA,mEAAA,iEAAA,4DAAA,iEAAA,kEAAA,gEAAA,iEAAA,+DAAA,kEAAA,iEAAA,kEAAA,+DAAA,mEAAA,kEAAA,gEAAA,kIAAA,iEAAA,iIAAA,gEAAA,iCAAA,6BAAA,oC1E7GA,uB0E6GA,wCAAA,oCAAA,+BAAA,+CAAA,2CAAA,yCAAA,gDAAA,yCAAA,iCAAA,6CAAA,+BAAA,6BAAA,2CAAA,+BAAA,uCAAA,yCAAA,6BAAA,2CAAA,qCAAA,uCAAA,6BAAA,6BAAA,qCAAA,2CAAA,qDAAA,2DAAA,iCAAA,iCAAA,qCAAA,qCAAA,kCAAA,sCAAA,kDAAA,0DAAA,sDAAA,uDAAA,+DAAA,6DAAA,6DAAA,iDAAA,6CAAA,mDAAA,qDAAA,+CAAA,2CAAA,iDAAA,kDAAA,8CAAA,+CAAA,mDAAA,iDAAA,sDAAA,kDAAA,mDAAA,2DAAA,yDAAA,qDAAA,yCAAA,gDAAA,4CAAA,6CAAA,iDAAA,+CAAA,6CAAA,yCAAA,+CAAA,yDAAA,+CAAA,yDAAA,yDAAA,yDAAA,yDAAA,yDAAA,yCAAA,+CAAA,qDAAA,mDAAA,8BAAA,yBAAA,yBAAA,yBAAA,yBAAA,yBAAA,yBAAA,4BAAA,sBAAA,2BAAA,4BAAA,0BAAA,2BAAA,yBAAA,4BAAA,2BAAA,4BAAA,yBAAA,6BAAA,4BAAA,0BAAA,4BAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,oCAAA,6BAAA,kCAAA,mCAAA,iCAAA,kCAAA,gCAAA,mCAAA,kCAAA,mCAAA,gCAAA,oCAAA,mCAAA,iCAAA,mCAAA,mCAAA,wCAAA,yCAAA,uCAAA,wCAAA,sCAAA,yCAAA,wCAAA,yCAAA,sCAAA,0CAAA,yCAAA,uCAAA,yCAAA,kCAAA,uCAAA,wCAAA,sCAAA,uCAAA,qCAAA,wCAAA,uCAAA,wCAAA,qCAAA,yCAAA,wCAAA,sCAAA,yCAAA,wCAAA,wCAAA,iCAAA,sCAAA,uCAAA,qCAAA,sCAAA,oCAAA,uCAAA,sCAAA,uCAAA,oCAAA,wCAAA,uCAAA,qCAAA,uCAAA,oCAAA,yCAAA,0CAAA,wCAAA,yCAAA,uCAAA,0CAAA,yCAAA,0CAAA,uCAAA,2CAAA,0CAAA,wCAAA,2CAAA,0CAAA,0CAAA,uBAAA,4BAAA,6BAAA,2BAAA,4BAAA,0BAAA,6BAAA,4BAAA,6BAAA,0BAAA,8BAAA,6BAAA,2BAAA,+BAAA,oCAAA,qCAAA,mCAAA,oCAAA,kCAAA,qCAAA,oCAAA,qCAAA,kCAAA,sCAAA,qCAAA,mCAAA,8BAAA,mCAAA,oCAAA,kCAAA,mCAAA,iCAAA,oCAAA,mCAAA,oCAAA,iCAAA,qCAAA,oCAAA,kCAAA,oCAAA,yCAAA,0CAAA,wCAAA,yCAAA,uCAAA,0CAAA,yCAAA,0CAAA,uCAAA,2CAAA,0CAAA,wCAAA,mCAAA,wCAAA,yCAAA,uCAAA,wCAAA,sCAAA,yCAAA,wCAAA,yCAAA,sCAAA,0CAAA,yCAAA,uCAAA,kCAAA,uCAAA,wCAAA,sCAAA,uCAAA,qCAAA,wCAAA,uCAAA,wCAAA,qCAAA,yCAAA,wCAAA,sCAAA,qCAAA,0CAAA,2CAAA,yCAAA,0CAAA,wCAAA,2CAAA,0CAAA,2CAAA,wCAAA,4CAAA,2CAAA,yCAAA,qBAAA,0BAAA,2BAAA,yBAAA,0BAAA,wBAAA,2BAAA,0BAAA,2BAAA,wBAAA,4BAAA,2BAAA,yBAAA,6BAAA,kCAAA,mCAAA,iCAAA,kCAAA,gCAAA,mCAAA,kCAAA,mCAAA,gCAAA,oCAAA,mCAAA,iCAAA,mCAAA,wCAAA,yCAAA,uCAAA,wCAAA,sCAAA,yCAAA,wCAAA,yCAAA,sCAAA,0CAAA,yCAAA,uCAAA,iEAAA,sEAAA,uEAAA,qEAAA,sEAAA,oEAAA,uEAAA,sEAAA,uEAAA,oEAAA,wEAAA,uEAAA,qEAAA,gEAAA,qEAAA,sEAAA,oEAAA,qEAAA,mEAAA,sEAAA,qEAAA,sEAAA,mEAAA,uEAAA,sEAAA,oEAAA,sIAAA,qEAAA,qIAAA,oEAAA,qCAAA,iCAAA,wCC5NA,uCACE,iDlFuLN,gxaAYA,mCACE,sCAMF,gEAKA,gECnMA,sP6B6HA,0D2BnGA,w0BUtBA,4EvDPQ,8CuDOR,8FAIE,2BAUF,4JvDEM,8CuDFN,oQAgBE,+CAQE,gBADF,6BASA,mIAOE,uEAME,gBADF,kDcuOA,+CAAA,4CAAA,4CAAA,4CAAA,4CAAA,yDAAA,4CAAA,sDClSF,sKAiBA","sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_lists.scss","../../scss/mixins/_lists.scss","../../scss/content/_blockquote.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/forms/_check.scss","../../scss/mixins/_mask-icon.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/forms/_form-field.scss","../../scss/forms/_validation.scss","../../scss/mixins/_form-validation.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_calendar.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/mixins/_dialog-shared.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_drawer.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/mixins/_reset-text.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_tooltip.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_hover-lift.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v6.0.0-alpha1 (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n:host {\n --blue-025: color-mix(in oklch, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in oklch, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in oklch, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in oklch, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in oklch, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in oklch, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in oklch, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in oklch, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in oklch, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in oklch, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in oklch, var(--black) 70%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in oklch, var(--black) 76%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in oklch, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in oklch, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in oklch, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in oklch, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in oklch, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in oklch, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in oklch, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in oklch, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in oklch, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in oklch, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in oklch, var(--black) 70%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in oklch, var(--black) 76%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in oklch, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in oklch, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in oklch, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in oklch, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in oklch, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in oklch, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in oklch, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in oklch, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in oklch, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in oklch, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in oklch, var(--black) 70%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in oklch, var(--black) 76%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in oklch, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in oklch, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in oklch, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in oklch, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in oklch, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in oklch, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in oklch, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in oklch, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in oklch, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in oklch, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in oklch, var(--black) 70%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in oklch, var(--black) 76%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in oklch, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in oklch, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in oklch, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in oklch, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in oklch, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in oklch, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in oklch, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in oklch, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in oklch, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in oklch, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in oklch, var(--black) 70%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in oklch, var(--black) 76%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in oklch, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in oklch, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in oklch, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in oklch, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in oklch, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in oklch, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in oklch, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in oklch, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in oklch, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in oklch, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in oklch, var(--black) 70%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in oklch, var(--black) 76%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in oklch, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in oklch, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in oklch, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in oklch, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in oklch, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in oklch, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in oklch, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in oklch, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in oklch, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in oklch, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in oklch, var(--black) 70%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in oklch, var(--black) 76%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in oklch, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in oklch, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in oklch, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in oklch, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in oklch, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in oklch, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in oklch, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in oklch, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in oklch, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in oklch, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in oklch, var(--black) 70%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in oklch, var(--black) 76%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in oklch, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in oklch, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in oklch, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in oklch, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in oklch, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in oklch, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in oklch, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in oklch, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in oklch, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in oklch, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in oklch, var(--black) 70%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in oklch, var(--black) 76%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in oklch, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in oklch, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in oklch, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in oklch, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in oklch, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in oklch, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in oklch, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in oklch, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in oklch, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in oklch, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in oklch, var(--black) 70%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in oklch, var(--black) 76%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in oklch, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in oklch, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in oklch, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in oklch, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in oklch, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in oklch, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in oklch, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in oklch, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in oklch, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in oklch, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in oklch, var(--black) 70%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in oklch, var(--black) 76%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in oklch, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in oklch, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in oklch, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in oklch, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in oklch, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in oklch, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in oklch, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in oklch, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in oklch, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in oklch, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in oklch, var(--black) 70%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in oklch, var(--black) 76%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in oklch, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in oklch, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in oklch, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in oklch, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in oklch, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in oklch, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in oklch, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in oklch, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in oklch, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in oklch, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in oklch, var(--black) 70%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in oklch, var(--black) 76%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in oklch, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in oklch, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in oklch, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in oklch, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in oklch, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in oklch, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in oklch, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in oklch, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in oklch, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in oklch, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in oklch, var(--black) 70%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in oklch, var(--black) 76%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in oklch, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in oklch, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in oklch, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in oklch, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in oklch, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in oklch, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in oklch, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in oklch, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in oklch, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in oklch, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in oklch, var(--black) 70%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in oklch, var(--black) 76%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in oklch, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in oklch, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in oklch, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in oklch, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in oklch, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in oklch, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in oklch, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in oklch, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in oklch, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in oklch, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in oklch, var(--black) 70%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in oklch, var(--black) 76%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root,\n:host {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --body-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --body-font-size: 1rem;\n --body-font-weight: var(--font-weight-normal);\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-fg));\n --link-decoration: underline;\n --link-underline-offset: 0.2em;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, 'Cascadia Mono', Consolas, 'Liberation Mono', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-width-keyline: 0.5px;\n --border-style: solid;\n --border-color: light-dark(var(--gray-200), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --shadow-color: #000;\n --shadow-strength: 1;\n --transition-timing-overlay: cubic-bezier(0.22, 1, 0.36, 1);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --control-transition-duration: 0.15s;\n --control-transition-timing: cubic-bezier(0.34, 1.56, 0.64, 1);\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-gap: 0.375rem;\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--body-font-size);\n --btn-input-line-height: var(--body-line-height);\n --btn-input-border-radius: var(--radius-5);\n --btn-input-xs-gap: var(--spacer-1);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--radius-5);\n --btn-input-sm-gap: 0.375rem;\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--radius-5);\n --btn-input-lg-gap: 0.375rem;\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--radius-7);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --primary-base: var(--blue-500);\n --primary-fg: light-dark(var(--blue-600), var(--blue-400));\n --primary-fg-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-fg-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-fg: light-dark(var(--green-600), var(--green-400));\n --success-fg-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-fg: light-dark(var(--red-600), var(--red-400));\n --danger-fg-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-fg: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-fg-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-fg: light-dark(var(--cyan-600), var(--cyan-400));\n --info-fg-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-fg: light-dark(var(--gray-900), var(--gray-200));\n --inverse-fg-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-fg: light-dark(var(--gray-600), var(--gray-400));\n --secondary-fg-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-fg: var(--fg-body);\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-bg: var(--bg-body);\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), color-mix(in oklch, var(--gray-800), var(--gray-900)));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n --spacer-0: 0;\n --spacer-1: 0.25rem;\n --spacer-2: 0.375rem;\n --spacer-3: 0.5rem;\n --spacer-4: 0.75rem;\n --spacer-5: 1rem;\n --spacer-6: 1.25rem;\n --spacer-7: 1.5rem;\n --spacer-8: 1.75rem;\n --spacer-9: 2rem;\n --spacer-10: 2.25rem;\n --spacer-11: 2.5rem;\n --spacer-12: 3rem;\n --radius-0: 0;\n --radius-1: 0.125rem;\n --radius-2: 0.1875rem;\n --radius-3: 0.25rem;\n --radius-4: 0.375rem;\n --radius-5: 0.5rem;\n --radius-6: 0.625rem;\n --radius-7: 0.75rem;\n --radius-8: 0.875rem;\n --radius-9: 1rem;\n --radius-pill: 50rem;\n --box-shadow: 0 .125rem .25rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.04 * var(--shadow-strength) * var(--so, 1))), 0 .375rem .75rem -.125rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1))), 0 .75rem 1.5rem -.25rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1)));\n --box-shadow-xs: 0 0.0625rem 0.125rem oklch(from var(--sc, var(--shadow-color)) l c h/calc(0.04 * var(--shadow-strength) * var(--so, 1)));\n --box-shadow-sm: 0 .0625rem .125rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.04 * var(--shadow-strength) * var(--so, 1))), 0 .125rem .375rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1)));\n --box-shadow-lg: 0 .125rem .375rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1))), 0 .375rem 1rem -.1875rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1))), 0 .75rem 2rem -.375rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.07 * var(--shadow-strength) * var(--so, 1))), 0 1.5rem 3.5rem -.75rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.08 * var(--shadow-strength) * var(--so, 1)));\n --box-shadow-xl: 0 .1875rem .5rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1))), 0 .5rem 1.25rem -.1875rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1))), 0 1rem 2.5rem -.375rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.07 * var(--shadow-strength) * var(--so, 1))), 0 2rem 5rem -.75rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.09 * var(--shadow-strength) * var(--so, 1)));\n --box-shadow-inset: inset 0 1px 2px light-dark(oklch(from var(--sc, var(--shadow-color)) l c h/calc(8% * var(--so, 1))), oklch(from var(--sc, var(--shadow-color)) l c h/calc(26% * var(--so, 1))));\n --z-n1: -1;\n --z-0: 0;\n --z-1: 1;\n --z-2: 2;\n --z-3: 3;\n --z-menu: 1000;\n --z-sticky: 1010;\n --z-fixed: 1020;\n --z-drawer: 1030;\n --z-dialog: 1040;\n --z-popover: 1050;\n --z-tooltip: 1060;\n --z-toast: 1070;\n color-scheme: light dark;\n scrollbar-gutter: stable;\n}\n\n@media (prefers-color-scheme: dark) {\n :root,\n :host {\n --shadow-strength: 2.4;\n }\n}\n[data-bs-theme=dark] {\n --shadow-strength: 2.4;\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n --shadow-strength: 1;\n color-scheme: light;\n}\n\n:root,\n:host {\n --heading-margin-bottom: var(--spacer-2);\n --heading-line-height: 1.2;\n --paragraph-margin-bottom: var(--spacer);\n --legend-margin-bottom: var(--spacer-2);\n --legend-font-size: 1.5rem;\n --list-padding-x: var(--spacer-7);\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root,\n :host {\n accent-color: var(--primary-base);\n }\n iframe {\n color-scheme: light dark;\n border: 0;\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: var(--heading-margin-bottom);\n font-family: var(--heading-font-family);\n font-style: var(--heading-font-style);\n font-weight: var(--heading-font-weight, var(--font-weight-medium));\n line-height: var(--heading-line-height);\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: var(--paragraph-margin-bottom);\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n address {\n margin-bottom: var(--spacer);\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: var(--list-padding-x);\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: var(--spacer);\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: var(--dt-font-weight, var(--font-weight-bold));\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: var(--spacer-2);\n }\n blockquote {\n margin: 0 0 var(--spacer);\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: var(--font-weight-bolder);\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-fg, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: var(--link-underline-offset);\n }\n a:hover {\n color: var(--theme-fg-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href], [class]), a:not([href], [class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: var(--spacer);\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n scrollbar-gutter: stable;\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: var(--spacer-1);\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--radius-3);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n }\n figure {\n margin: 0 0 var(--spacer);\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: var(--spacer-2);\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date], [type=datetime-local], [type=month], [type=week], [type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: var(--legend-margin-bottom);\n font-size: var(--legend-font-size);\n font-weight: var(--legend-font-weight);\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-meridiem-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer content {\n .list-unstyled {\n padding-inline-start: 0;\n list-style-type: \"\";\n }\n .list-inline {\n padding-inline-start: 0;\n list-style-type: \"\";\n }\n .list-inline-item {\n display: inline-block;\n }\n .list-inline-item:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n }\n}\n@layer content {\n .blockquote {\n --blockquote-gap: calc(var(--spacer) / 2);\n --blockquote-padding-x: var(--spacer);\n --blockquote-margin-y: var(--spacer);\n --blockquote-font-size: var(--font-size-md);\n --blockquote-border-width: 0.25rem;\n --blockquote-border-color: var(--border-color);\n --blockquote-footer-font-size: var(--font-size-sm);\n --blockquote-footer-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n }\n .blockquote > * {\n margin-bottom: 0;\n }\n figure.blockquote blockquote {\n margin-bottom: 0;\n }\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n }\n .blockquote-footer::before {\n content: \"— \";\n }\n}\n@layer content {\n .table {\n --table-cell-padding-y: 0.5rem;\n --table-cell-padding-x: 0.5rem;\n --table-cell-vertical-align: top;\n --table-color: var(--fg-body);\n --table-bg: var(--bg-body);\n --table-accent-bg: transparent;\n --table-border-width: var(--border-width);\n --table-border-color: var(--border-color);\n --table-group-separator-color: currentcolor;\n --table-striped-color: var(--table-color);\n --table-striped-bg-factor: 5%;\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n --table-active-color: var(--table-color);\n --table-active-bg-factor: 10%;\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n --table-hover-color: var(--table-color);\n --table-hover-bg-factor: 7.5%;\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n width: 100%;\n margin-bottom: var(--spacer);\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n }\n .table > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n color: var(--table-color-state, var(--table-color-type, var(--theme-fg, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n .table > tbody {\n vertical-align: inherit;\n }\n .table > thead {\n vertical-align: bottom;\n }\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n }\n .caption-top {\n caption-side: top;\n }\n .table-sm > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\n }\n .table-bordered > :not(caption) > * {\n border-width: var(--table-border-width) 0;\n }\n .table-bordered > :not(caption) > * > * {\n border-width: 0 var(--table-border-width);\n }\n .table-borderless > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n .table-borderless > :not(:first-child) {\n border-block-start-width: 0;\n }\n .table-striped > tbody > tr:nth-of-type(odd) > * {\n --table-color-type: var(--theme-fg, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --table-color-type: var(--theme-fg, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-active {\n --table-color-state: var(--theme-fg, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n .table-hover > tbody > tr:hover > * {\n --table-color-state: var(--theme-fg, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n .table-responsive {\n container-type: inline-size;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .sm\\:table-responsive {\n container-type: inline-size;\n }\n @media (width < 576px) {\n .sm\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n .md\\:table-responsive {\n container-type: inline-size;\n }\n @media (width < 768px) {\n .md\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n .lg\\:table-responsive {\n container-type: inline-size;\n }\n @media (width < 1024px) {\n .lg\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n .xl\\:table-responsive {\n container-type: inline-size;\n }\n @media (width < 1280px) {\n .xl\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n .\\32 xl\\:table-responsive {\n container-type: inline-size;\n }\n @media (width < 1536px) {\n .\\32 xl\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n .table-stacked > thead {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n .table-stacked > tbody > tr {\n display: block;\n padding-block: var(--table-cell-padding-y);\n }\n .table-stacked > tbody > tr + tr {\n border-block-start: var(--table-border-width) solid var(--table-border-color);\n }\n .table-stacked > tbody > tr > td {\n display: block;\n padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n border: 0;\n }\n .table-stacked > tbody > tr > td:first-child {\n font-weight: var(--font-weight-bold);\n }\n .table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n display: block;\n font-weight: var(--font-weight-semibold);\n content: attr(data-cell);\n }\n .table-stacked > tbody > tr > td:not(:first-child) + td::before {\n margin-block-start: 0.25rem;\n }\n @container (width < 576px) {\n .sm\\:table-stacked > thead {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n .sm\\:table-stacked > tbody > tr {\n display: block;\n padding-block: var(--table-cell-padding-y);\n }\n .sm\\:table-stacked > tbody > tr + tr {\n border-block-start: var(--table-border-width) solid var(--table-border-color);\n }\n .sm\\:table-stacked > tbody > tr > td {\n display: block;\n padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n border: 0;\n }\n .sm\\:table-stacked > tbody > tr > td:first-child {\n font-weight: var(--font-weight-bold);\n }\n .sm\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n display: block;\n font-weight: var(--font-weight-semibold);\n content: attr(data-cell);\n }\n .sm\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n margin-block-start: 0.25rem;\n }\n }\n @container (width < 768px) {\n .md\\:table-stacked > thead {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n .md\\:table-stacked > tbody > tr {\n display: block;\n padding-block: var(--table-cell-padding-y);\n }\n .md\\:table-stacked > tbody > tr + tr {\n border-block-start: var(--table-border-width) solid var(--table-border-color);\n }\n .md\\:table-stacked > tbody > tr > td {\n display: block;\n padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n border: 0;\n }\n .md\\:table-stacked > tbody > tr > td:first-child {\n font-weight: var(--font-weight-bold);\n }\n .md\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n display: block;\n font-weight: var(--font-weight-semibold);\n content: attr(data-cell);\n }\n .md\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n margin-block-start: 0.25rem;\n }\n }\n @container (width < 1024px) {\n .lg\\:table-stacked > thead {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n .lg\\:table-stacked > tbody > tr {\n display: block;\n padding-block: var(--table-cell-padding-y);\n }\n .lg\\:table-stacked > tbody > tr + tr {\n border-block-start: var(--table-border-width) solid var(--table-border-color);\n }\n .lg\\:table-stacked > tbody > tr > td {\n display: block;\n padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n border: 0;\n }\n .lg\\:table-stacked > tbody > tr > td:first-child {\n font-weight: var(--font-weight-bold);\n }\n .lg\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n display: block;\n font-weight: var(--font-weight-semibold);\n content: attr(data-cell);\n }\n .lg\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n margin-block-start: 0.25rem;\n }\n }\n @container (width < 1280px) {\n .xl\\:table-stacked > thead {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n .xl\\:table-stacked > tbody > tr {\n display: block;\n padding-block: var(--table-cell-padding-y);\n }\n .xl\\:table-stacked > tbody > tr + tr {\n border-block-start: var(--table-border-width) solid var(--table-border-color);\n }\n .xl\\:table-stacked > tbody > tr > td {\n display: block;\n padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n border: 0;\n }\n .xl\\:table-stacked > tbody > tr > td:first-child {\n font-weight: var(--font-weight-bold);\n }\n .xl\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n display: block;\n font-weight: var(--font-weight-semibold);\n content: attr(data-cell);\n }\n .xl\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n margin-block-start: 0.25rem;\n }\n }\n @container (width < 1536px) {\n .\\32 xl\\:table-stacked > thead {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n .\\32 xl\\:table-stacked > tbody > tr {\n display: block;\n padding-block: var(--table-cell-padding-y);\n }\n .\\32 xl\\:table-stacked > tbody > tr + tr {\n border-block-start: var(--table-border-width) solid var(--table-border-color);\n }\n .\\32 xl\\:table-stacked > tbody > tr > td {\n display: block;\n padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n border: 0;\n }\n .\\32 xl\\:table-stacked > tbody > tr > td:first-child {\n font-weight: var(--font-weight-bold);\n }\n .\\32 xl\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n display: block;\n font-weight: var(--font-weight-semibold);\n content: attr(data-cell);\n }\n .\\32 xl\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n margin-block-start: 0.25rem;\n }\n }\n}\n@layer content {\n .img-fluid {\n max-width: 100%;\n height: auto;\n }\n .img-thumbnail {\n --thumbnail-padding: 0.25rem;\n --thumbnail-bg: var(--bg-body);\n --thumbnail-border-width: var(--border-width);\n --thumbnail-border-color: var(--border-color);\n --thumbnail-border-radius: var(--radius-5);\n --thumbnail-box-shadow: var(--box-shadow-sm);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n border-radius: var(--thumbnail-border-radius);\n box-shadow: var(--thumbnail-box-shadow);\n max-width: 100%;\n height: auto;\n }\n .figure {\n --figure-gap: calc(var(--spacer) * 0.5);\n --figure-caption-font-size: var(--font-size-sm);\n --figure-caption-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n@layer content {\n .prose {\n --content-font-size: 1rem;\n --content-line-height: 1.5;\n --content-gap: calc(var(--content-font-size) * var(--content-line-height));\n --heading-color: light-dark(var(--gray-900), var(--white));\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: var(--content-line-height);\n }\n @media (width >= 1024px) {\n .prose {\n --content-font-size: var(--font-size-md);\n --content-line-height: 1.625;\n }\n }\n .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n .prose :where(ul, ol):not([class], :where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class], :where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class], :where(.not-prose, .not-prose *)) code {\n font-weight: 600;\n color: inherit;\n }\n .prose :where(h1, h2):not(:first-child, :where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.75);\n }\n .prose :where(h3, h4, h5, h6):not(:first-child, :where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.5);\n }\n .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n }\n @media (prefers-reduced-motion: no-preference) {\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n transition: 0.1s text-decoration-color ease-in-out;\n }\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n color: var(--link-hover-color);\n text-decoration-color: var(--link-hover-color);\n }\n .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n}\n@layer layout {\n .container,\n .container-fluid,\n .\\32 xl\\:container,\n .xl\\:container,\n .lg\\:container,\n .md\\:container,\n .sm\\:container {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .sm\\:container, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .md\\:container, .sm\\:container, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.375rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.375rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 0.5rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 0.5rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 0.75rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 0.75rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 1rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 1rem;\n }\n .g-6,\n .gx-6 {\n --gutter-x: 1.25rem;\n }\n .g-6,\n .gy-6 {\n --gutter-y: 1.25rem;\n }\n .g-7,\n .gx-7 {\n --gutter-x: 1.5rem;\n }\n .g-7,\n .gy-7 {\n --gutter-y: 1.5rem;\n }\n .g-8,\n .gx-8 {\n --gutter-x: 1.75rem;\n }\n .g-8,\n .gy-8 {\n --gutter-y: 1.75rem;\n }\n .g-9,\n .gx-9 {\n --gutter-x: 2rem;\n }\n .g-9,\n .gy-9 {\n --gutter-y: 2rem;\n }\n .g-10,\n .gx-10 {\n --gutter-x: 2.25rem;\n }\n .g-10,\n .gy-10 {\n --gutter-y: 2.25rem;\n }\n .g-11,\n .gx-11 {\n --gutter-x: 2.5rem;\n }\n .g-11,\n .gy-11 {\n --gutter-y: 2.5rem;\n }\n .g-12,\n .gx-12 {\n --gutter-x: 3rem;\n }\n .g-12,\n .gy-12 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .sm\\:col {\n flex: 1 0 0;\n }\n .sm\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .sm\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .sm\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .sm\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .sm\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .sm\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .sm\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .sm\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .sm\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:offset-0 {\n margin-inline-start: 0;\n }\n .sm\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .sm\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .sm\\:offset-3 {\n margin-inline-start: 25%;\n }\n .sm\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .sm\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .sm\\:offset-6 {\n margin-inline-start: 50%;\n }\n .sm\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .sm\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .sm\\:offset-9 {\n margin-inline-start: 75%;\n }\n .sm\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .sm\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .sm\\:g-0,\n .sm\\:gx-0 {\n --gutter-x: 0;\n }\n .sm\\:g-0,\n .sm\\:gy-0 {\n --gutter-y: 0;\n }\n .sm\\:g-1,\n .sm\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .sm\\:g-1,\n .sm\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .sm\\:g-2,\n .sm\\:gx-2 {\n --gutter-x: 0.375rem;\n }\n .sm\\:g-2,\n .sm\\:gy-2 {\n --gutter-y: 0.375rem;\n }\n .sm\\:g-3,\n .sm\\:gx-3 {\n --gutter-x: 0.5rem;\n }\n .sm\\:g-3,\n .sm\\:gy-3 {\n --gutter-y: 0.5rem;\n }\n .sm\\:g-4,\n .sm\\:gx-4 {\n --gutter-x: 0.75rem;\n }\n .sm\\:g-4,\n .sm\\:gy-4 {\n --gutter-y: 0.75rem;\n }\n .sm\\:g-5,\n .sm\\:gx-5 {\n --gutter-x: 1rem;\n }\n .sm\\:g-5,\n .sm\\:gy-5 {\n --gutter-y: 1rem;\n }\n .sm\\:g-6,\n .sm\\:gx-6 {\n --gutter-x: 1.25rem;\n }\n .sm\\:g-6,\n .sm\\:gy-6 {\n --gutter-y: 1.25rem;\n }\n .sm\\:g-7,\n .sm\\:gx-7 {\n --gutter-x: 1.5rem;\n }\n .sm\\:g-7,\n .sm\\:gy-7 {\n --gutter-y: 1.5rem;\n }\n .sm\\:g-8,\n .sm\\:gx-8 {\n --gutter-x: 1.75rem;\n }\n .sm\\:g-8,\n .sm\\:gy-8 {\n --gutter-y: 1.75rem;\n }\n .sm\\:g-9,\n .sm\\:gx-9 {\n --gutter-x: 2rem;\n }\n .sm\\:g-9,\n .sm\\:gy-9 {\n --gutter-y: 2rem;\n }\n .sm\\:g-10,\n .sm\\:gx-10 {\n --gutter-x: 2.25rem;\n }\n .sm\\:g-10,\n .sm\\:gy-10 {\n --gutter-y: 2.25rem;\n }\n .sm\\:g-11,\n .sm\\:gx-11 {\n --gutter-x: 2.5rem;\n }\n .sm\\:g-11,\n .sm\\:gy-11 {\n --gutter-y: 2.5rem;\n }\n .sm\\:g-12,\n .sm\\:gx-12 {\n --gutter-x: 3rem;\n }\n .sm\\:g-12,\n .sm\\:gy-12 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .md\\:col {\n flex: 1 0 0;\n }\n .md\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .md\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .md\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .md\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .md\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .md\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .md\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .md\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .md\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:offset-0 {\n margin-inline-start: 0;\n }\n .md\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .md\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .md\\:offset-3 {\n margin-inline-start: 25%;\n }\n .md\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .md\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .md\\:offset-6 {\n margin-inline-start: 50%;\n }\n .md\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .md\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .md\\:offset-9 {\n margin-inline-start: 75%;\n }\n .md\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .md\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .md\\:g-0,\n .md\\:gx-0 {\n --gutter-x: 0;\n }\n .md\\:g-0,\n .md\\:gy-0 {\n --gutter-y: 0;\n }\n .md\\:g-1,\n .md\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .md\\:g-1,\n .md\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .md\\:g-2,\n .md\\:gx-2 {\n --gutter-x: 0.375rem;\n }\n .md\\:g-2,\n .md\\:gy-2 {\n --gutter-y: 0.375rem;\n }\n .md\\:g-3,\n .md\\:gx-3 {\n --gutter-x: 0.5rem;\n }\n .md\\:g-3,\n .md\\:gy-3 {\n --gutter-y: 0.5rem;\n }\n .md\\:g-4,\n .md\\:gx-4 {\n --gutter-x: 0.75rem;\n }\n .md\\:g-4,\n .md\\:gy-4 {\n --gutter-y: 0.75rem;\n }\n .md\\:g-5,\n .md\\:gx-5 {\n --gutter-x: 1rem;\n }\n .md\\:g-5,\n .md\\:gy-5 {\n --gutter-y: 1rem;\n }\n .md\\:g-6,\n .md\\:gx-6 {\n --gutter-x: 1.25rem;\n }\n .md\\:g-6,\n .md\\:gy-6 {\n --gutter-y: 1.25rem;\n }\n .md\\:g-7,\n .md\\:gx-7 {\n --gutter-x: 1.5rem;\n }\n .md\\:g-7,\n .md\\:gy-7 {\n --gutter-y: 1.5rem;\n }\n .md\\:g-8,\n .md\\:gx-8 {\n --gutter-x: 1.75rem;\n }\n .md\\:g-8,\n .md\\:gy-8 {\n --gutter-y: 1.75rem;\n }\n .md\\:g-9,\n .md\\:gx-9 {\n --gutter-x: 2rem;\n }\n .md\\:g-9,\n .md\\:gy-9 {\n --gutter-y: 2rem;\n }\n .md\\:g-10,\n .md\\:gx-10 {\n --gutter-x: 2.25rem;\n }\n .md\\:g-10,\n .md\\:gy-10 {\n --gutter-y: 2.25rem;\n }\n .md\\:g-11,\n .md\\:gx-11 {\n --gutter-x: 2.5rem;\n }\n .md\\:g-11,\n .md\\:gy-11 {\n --gutter-y: 2.5rem;\n }\n .md\\:g-12,\n .md\\:gx-12 {\n --gutter-x: 3rem;\n }\n .md\\:g-12,\n .md\\:gy-12 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .lg\\:col {\n flex: 1 0 0;\n }\n .lg\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .lg\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .lg\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .lg\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .lg\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .lg\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .lg\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .lg\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .lg\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:offset-0 {\n margin-inline-start: 0;\n }\n .lg\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .lg\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .lg\\:offset-3 {\n margin-inline-start: 25%;\n }\n .lg\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .lg\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .lg\\:offset-6 {\n margin-inline-start: 50%;\n }\n .lg\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .lg\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .lg\\:offset-9 {\n margin-inline-start: 75%;\n }\n .lg\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .lg\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .lg\\:g-0,\n .lg\\:gx-0 {\n --gutter-x: 0;\n }\n .lg\\:g-0,\n .lg\\:gy-0 {\n --gutter-y: 0;\n }\n .lg\\:g-1,\n .lg\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .lg\\:g-1,\n .lg\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .lg\\:g-2,\n .lg\\:gx-2 {\n --gutter-x: 0.375rem;\n }\n .lg\\:g-2,\n .lg\\:gy-2 {\n --gutter-y: 0.375rem;\n }\n .lg\\:g-3,\n .lg\\:gx-3 {\n --gutter-x: 0.5rem;\n }\n .lg\\:g-3,\n .lg\\:gy-3 {\n --gutter-y: 0.5rem;\n }\n .lg\\:g-4,\n .lg\\:gx-4 {\n --gutter-x: 0.75rem;\n }\n .lg\\:g-4,\n .lg\\:gy-4 {\n --gutter-y: 0.75rem;\n }\n .lg\\:g-5,\n .lg\\:gx-5 {\n --gutter-x: 1rem;\n }\n .lg\\:g-5,\n .lg\\:gy-5 {\n --gutter-y: 1rem;\n }\n .lg\\:g-6,\n .lg\\:gx-6 {\n --gutter-x: 1.25rem;\n }\n .lg\\:g-6,\n .lg\\:gy-6 {\n --gutter-y: 1.25rem;\n }\n .lg\\:g-7,\n .lg\\:gx-7 {\n --gutter-x: 1.5rem;\n }\n .lg\\:g-7,\n .lg\\:gy-7 {\n --gutter-y: 1.5rem;\n }\n .lg\\:g-8,\n .lg\\:gx-8 {\n --gutter-x: 1.75rem;\n }\n .lg\\:g-8,\n .lg\\:gy-8 {\n --gutter-y: 1.75rem;\n }\n .lg\\:g-9,\n .lg\\:gx-9 {\n --gutter-x: 2rem;\n }\n .lg\\:g-9,\n .lg\\:gy-9 {\n --gutter-y: 2rem;\n }\n .lg\\:g-10,\n .lg\\:gx-10 {\n --gutter-x: 2.25rem;\n }\n .lg\\:g-10,\n .lg\\:gy-10 {\n --gutter-y: 2.25rem;\n }\n .lg\\:g-11,\n .lg\\:gx-11 {\n --gutter-x: 2.5rem;\n }\n .lg\\:g-11,\n .lg\\:gy-11 {\n --gutter-y: 2.5rem;\n }\n .lg\\:g-12,\n .lg\\:gx-12 {\n --gutter-x: 3rem;\n }\n .lg\\:g-12,\n .lg\\:gy-12 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .xl\\:col {\n flex: 1 0 0;\n }\n .xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .xl\\:g-0,\n .xl\\:gx-0 {\n --gutter-x: 0;\n }\n .xl\\:g-0,\n .xl\\:gy-0 {\n --gutter-y: 0;\n }\n .xl\\:g-1,\n .xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .xl\\:g-1,\n .xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .xl\\:g-2,\n .xl\\:gx-2 {\n --gutter-x: 0.375rem;\n }\n .xl\\:g-2,\n .xl\\:gy-2 {\n --gutter-y: 0.375rem;\n }\n .xl\\:g-3,\n .xl\\:gx-3 {\n --gutter-x: 0.5rem;\n }\n .xl\\:g-3,\n .xl\\:gy-3 {\n --gutter-y: 0.5rem;\n }\n .xl\\:g-4,\n .xl\\:gx-4 {\n --gutter-x: 0.75rem;\n }\n .xl\\:g-4,\n .xl\\:gy-4 {\n --gutter-y: 0.75rem;\n }\n .xl\\:g-5,\n .xl\\:gx-5 {\n --gutter-x: 1rem;\n }\n .xl\\:g-5,\n .xl\\:gy-5 {\n --gutter-y: 1rem;\n }\n .xl\\:g-6,\n .xl\\:gx-6 {\n --gutter-x: 1.25rem;\n }\n .xl\\:g-6,\n .xl\\:gy-6 {\n --gutter-y: 1.25rem;\n }\n .xl\\:g-7,\n .xl\\:gx-7 {\n --gutter-x: 1.5rem;\n }\n .xl\\:g-7,\n .xl\\:gy-7 {\n --gutter-y: 1.5rem;\n }\n .xl\\:g-8,\n .xl\\:gx-8 {\n --gutter-x: 1.75rem;\n }\n .xl\\:g-8,\n .xl\\:gy-8 {\n --gutter-y: 1.75rem;\n }\n .xl\\:g-9,\n .xl\\:gx-9 {\n --gutter-x: 2rem;\n }\n .xl\\:g-9,\n .xl\\:gy-9 {\n --gutter-y: 2rem;\n }\n .xl\\:g-10,\n .xl\\:gx-10 {\n --gutter-x: 2.25rem;\n }\n .xl\\:g-10,\n .xl\\:gy-10 {\n --gutter-y: 2.25rem;\n }\n .xl\\:g-11,\n .xl\\:gx-11 {\n --gutter-x: 2.5rem;\n }\n .xl\\:g-11,\n .xl\\:gy-11 {\n --gutter-y: 2.5rem;\n }\n .xl\\:g-12,\n .xl\\:gx-12 {\n --gutter-x: 3rem;\n }\n .xl\\:g-12,\n .xl\\:gy-12 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:col {\n flex: 1 0 0;\n }\n .\\32 xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .\\32 xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .\\32 xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .\\32 xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .\\32 xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .\\32 xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .\\32 xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .\\32 xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .\\32 xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .\\32 xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .\\32 xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .\\32 xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .\\32 xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .\\32 xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .\\32 xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .\\32 xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .\\32 xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .\\32 xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .\\32 xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gx-0 {\n --gutter-x: 0;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gy-0 {\n --gutter-y: 0;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gx-2 {\n --gutter-x: 0.375rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gy-2 {\n --gutter-y: 0.375rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gx-3 {\n --gutter-x: 0.5rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gy-3 {\n --gutter-y: 0.5rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gx-4 {\n --gutter-x: 0.75rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gy-4 {\n --gutter-y: 0.75rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gx-5 {\n --gutter-x: 1rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gy-5 {\n --gutter-y: 1rem;\n }\n .\\32 xl\\:g-6,\n .\\32 xl\\:gx-6 {\n --gutter-x: 1.25rem;\n }\n .\\32 xl\\:g-6,\n .\\32 xl\\:gy-6 {\n --gutter-y: 1.25rem;\n }\n .\\32 xl\\:g-7,\n .\\32 xl\\:gx-7 {\n --gutter-x: 1.5rem;\n }\n .\\32 xl\\:g-7,\n .\\32 xl\\:gy-7 {\n --gutter-y: 1.5rem;\n }\n .\\32 xl\\:g-8,\n .\\32 xl\\:gx-8 {\n --gutter-x: 1.75rem;\n }\n .\\32 xl\\:g-8,\n .\\32 xl\\:gy-8 {\n --gutter-y: 1.75rem;\n }\n .\\32 xl\\:g-9,\n .\\32 xl\\:gx-9 {\n --gutter-x: 2rem;\n }\n .\\32 xl\\:g-9,\n .\\32 xl\\:gy-9 {\n --gutter-y: 2rem;\n }\n .\\32 xl\\:g-10,\n .\\32 xl\\:gx-10 {\n --gutter-x: 2.25rem;\n }\n .\\32 xl\\:g-10,\n .\\32 xl\\:gy-10 {\n --gutter-y: 2.25rem;\n }\n .\\32 xl\\:g-11,\n .\\32 xl\\:gx-11 {\n --gutter-x: 2.5rem;\n }\n .\\32 xl\\:g-11,\n .\\32 xl\\:gy-11 {\n --gutter-y: 2.5rem;\n }\n .\\32 xl\\:g-12,\n .\\32 xl\\:gx-12 {\n --gutter-x: 3rem;\n }\n .\\32 xl\\:g-12,\n .\\32 xl\\:gy-12 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n container-type: inline-size;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @container (width >= 576px) {\n .sm\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .sm\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .sm\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .sm\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .sm\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .sm\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .sm\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .sm\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .sm\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .sm\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .sm\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .sm\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .sm\\:g-start-1 {\n grid-column-start: 1;\n }\n .sm\\:g-start-2 {\n grid-column-start: 2;\n }\n .sm\\:g-start-3 {\n grid-column-start: 3;\n }\n .sm\\:g-start-4 {\n grid-column-start: 4;\n }\n .sm\\:g-start-5 {\n grid-column-start: 5;\n }\n .sm\\:g-start-6 {\n grid-column-start: 6;\n }\n .sm\\:g-start-7 {\n grid-column-start: 7;\n }\n .sm\\:g-start-8 {\n grid-column-start: 8;\n }\n .sm\\:g-start-9 {\n grid-column-start: 9;\n }\n .sm\\:g-start-10 {\n grid-column-start: 10;\n }\n .sm\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @container (width >= 768px) {\n .md\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .md\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .md\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .md\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .md\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .md\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .md\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .md\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .md\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .md\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .md\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .md\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .md\\:g-start-1 {\n grid-column-start: 1;\n }\n .md\\:g-start-2 {\n grid-column-start: 2;\n }\n .md\\:g-start-3 {\n grid-column-start: 3;\n }\n .md\\:g-start-4 {\n grid-column-start: 4;\n }\n .md\\:g-start-5 {\n grid-column-start: 5;\n }\n .md\\:g-start-6 {\n grid-column-start: 6;\n }\n .md\\:g-start-7 {\n grid-column-start: 7;\n }\n .md\\:g-start-8 {\n grid-column-start: 8;\n }\n .md\\:g-start-9 {\n grid-column-start: 9;\n }\n .md\\:g-start-10 {\n grid-column-start: 10;\n }\n .md\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @container (width >= 1024px) {\n .lg\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .lg\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .lg\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .lg\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .lg\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .lg\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .lg\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .lg\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .lg\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .lg\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .lg\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .lg\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .lg\\:g-start-1 {\n grid-column-start: 1;\n }\n .lg\\:g-start-2 {\n grid-column-start: 2;\n }\n .lg\\:g-start-3 {\n grid-column-start: 3;\n }\n .lg\\:g-start-4 {\n grid-column-start: 4;\n }\n .lg\\:g-start-5 {\n grid-column-start: 5;\n }\n .lg\\:g-start-6 {\n grid-column-start: 6;\n }\n .lg\\:g-start-7 {\n grid-column-start: 7;\n }\n .lg\\:g-start-8 {\n grid-column-start: 8;\n }\n .lg\\:g-start-9 {\n grid-column-start: 9;\n }\n .lg\\:g-start-10 {\n grid-column-start: 10;\n }\n .lg\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @container (width >= 1280px) {\n .xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .\\32 xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .\\32 xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .\\32 xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .\\32 xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .\\32 xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .\\32 xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .\\32 xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .\\32 xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .\\32 xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .\\32 xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .\\32 xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .\\32 xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .\\32 xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .\\32 xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .\\32 xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .\\32 xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .\\32 xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .\\32 xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .\\32 xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .\\32 xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .\\32 xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .\\32 xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n}\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, inherit);\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, 500);\n color: var(--label-color, var(--fg-body));\n }\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n }\n .col-form-label {\n --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0;\n }\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n@layer forms {\n .form-text {\n --form-text-margin-top: 0.25rem;\n --form-text-font-size: var(--font-size-sm);\n --form-text-color: var(--fg-2);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n@layer forms {\n .form-control {\n --control-min-height: var(--btn-input-min-height);\n --control-padding-y: var(--btn-input-padding-y);\n --control-padding-x: var(--btn-input-padding-x);\n --control-font-size: var(--btn-input-font-size);\n --control-line-height: var(--btn-input-line-height);\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--radius-5);\n --control-box-shadow: var(--box-shadow-inset);\n --control-action-bg: var(--bg-1);\n --control-action-hover-bg: var(--bg-2);\n --control-transition-property: border-color, box-shadow;\n --control-transition-duration: 0.15s;\n --control-transition-timing: ease-in-out;\n --control-placeholder-color: var(--fg-3);\n --control-disabled-color: var(--control-fg);\n --control-disabled-bg: var(--bg-2);\n --control-disabled-border-color: var(--control-border-color);\n --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --control-select-bg-position: right 0.75rem center;\n --control-select-bg-size: 16px 12px;\n --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n box-shadow: var(--control-box-shadow);\n }\n @media (prefers-reduced-motion: no-preference) {\n .form-control {\n transition-timing-function: var(--control-transition-timing);\n transition-duration: var(--control-transition-duration);\n transition-property: var(--control-transition-property);\n }\n }\n .form-control:focus-visible, .form-control:focus-within {\n --focus-ring-offset: -1px;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-control::placeholder {\n color: var(--control-placeholder-color);\n opacity: 1;\n }\n .form-control:disabled {\n color: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n opacity: 1;\n }\n .form-control::-webkit-datetime-edit {\n display: block;\n padding: 0;\n }\n .form-control[type=file] {\n overflow: hidden;\n }\n .form-control[type=file]:not(:disabled, [readonly]) {\n cursor: pointer;\n }\n .form-control::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n pointer-events: none;\n background-color: var(--control-action-bg);\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .form-control::file-selector-button {\n transition-timing-function: var(--control-transition-timing);\n transition-duration: var(--control-transition-duration);\n transition-property: var(--control-transition-property);\n }\n }\n .form-control:hover:not(:disabled, [readonly])::file-selector-button {\n background-color: var(--control-action-hover-bg);\n }\n .form-control-plaintext {\n --control-min-height: var(--btn-input-min-height);\n --control-padding-y: var(--btn-input-padding-y);\n --control-padding-x: var(--btn-input-padding-x);\n --control-font-size: var(--btn-input-font-size);\n --control-line-height: var(--btn-input-line-height);\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--radius-5);\n --control-box-shadow: var(--box-shadow-inset);\n --control-action-bg: var(--bg-1);\n --control-action-hover-bg: var(--bg-2);\n --control-transition-property: border-color, box-shadow;\n --control-transition-duration: 0.15s;\n --control-transition-timing: ease-in-out;\n --control-placeholder-color: var(--fg-3);\n --control-disabled-color: var(--control-fg);\n --control-disabled-bg: var(--bg-2);\n --control-disabled-border-color: var(--control-border-color);\n --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --control-select-bg-position: right 0.75rem center;\n --control-select-bg-size: 16px 12px;\n --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: block;\n width: 100%;\n padding: var(--control-padding-y) 0;\n margin-bottom: 0;\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n }\n .form-control-plaintext:focus {\n outline: 0;\n }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-inline: 0;\n }\n select.form-control,\n .form-control-caret {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n }\n select.form-control[multiple], select.form-control[size]:not([size=\"1\"]),\n .form-control-caret[multiple],\n .form-control-caret[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n [data-bs-theme=dark] select.form-control,\n [data-bs-theme=dark] .form-control-caret {\n background-image: var(--control-select-bg-dark);\n }\n .form-control-sm {\n --control-min-height: var(--btn-input-sm-min-height);\n --control-padding-y: var(--btn-input-sm-padding-y);\n --control-padding-x: var(--btn-input-sm-padding-x);\n --control-font-size: var(--btn-input-sm-font-size);\n --control-line-height: var(--btn-input-sm-line-height);\n --control-border-radius: var(--btn-input-sm-border-radius);\n }\n .form-control-lg {\n --control-min-height: var(--btn-input-lg-min-height);\n --control-padding-y: var(--btn-input-lg-padding-y);\n --control-padding-x: var(--btn-input-lg-padding-x);\n --control-font-size: var(--btn-input-lg-font-size);\n --control-line-height: var(--btn-input-lg-line-height);\n --control-border-radius: var(--btn-input-lg-border-radius);\n }\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-padding-y);\n }\n .form-control-color:not(:disabled, [readonly]) {\n cursor: pointer;\n }\n .form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--radius-5);\n }\n .form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--radius-5);\n }\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n }\n .form-ghost:focus {\n outline: 0;\n }\n .form-ghost::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n .form-ghost:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n}\n@layer forms {\n .check {\n --check-size: 1.25rem;\n --check-margin-block: 0.125rem;\n --check-bg: var(--bg-body);\n --check-border-color: var(--border-color);\n --check-border-radius: var(--radius-5);\n --check-icon-checked: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5.5 10 3 3 6-6'/%3e%3c/svg%3e\");\n --check-icon-indeterminate: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10h8'/%3e%3c/svg%3e\");\n --check-checked-bg: var(--control-checked-bg);\n --check-checked-border-color: var(--control-checked-border-color);\n --check-indeterminate-bg: var(--control-checked-bg);\n --check-indeterminate-border-color: var(--control-checked-border-color);\n --check-active-bg: var(--control-active-bg);\n --check-active-border-color: var(--control-active-border-color);\n --check-disabled-bg: var(--control-disabled-bg);\n --check-disabled-opacity: var(--control-disabled-opacity);\n position: relative;\n flex-shrink: 0;\n width: var(--check-size);\n height: var(--check-size);\n margin-block: var(--check-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n border-radius: 33%;\n }\n @media (prefers-reduced-motion: no-preference) {\n .check {\n transition: background-color var(--control-transition-duration) var(--control-transition-timing), border-color var(--control-transition-duration) var(--control-transition-timing);\n }\n }\n .check::before {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: \"\";\n background-color: var(--theme-contrast, var(--primary-contrast));\n opacity: 0;\n transform: scale(0);\n mask-image: var(--check-icon-checked);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: contain;\n }\n @media (prefers-reduced-motion: no-preference) {\n .check::before {\n transition: opacity var(--control-transition-duration) var(--control-transition-timing), transform var(--control-transition-duration) var(--control-transition-timing);\n }\n }\n .check:checked, .check:indeterminate {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n .check:checked::before, .check:indeterminate::before {\n opacity: 1;\n transform: scale(1);\n }\n .check:indeterminate::before {\n mask-image: var(--check-icon-indeterminate);\n }\n .check:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: -1px;\n }\n .check:disabled {\n --check-bg: var(--check-disabled-bg);\n }\n .check:disabled ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n .check:disabled:checked {\n opacity: var(--check-disabled-opacity);\n }\n .check-sm {\n --check-size: 1rem;\n }\n .check-sm + label {\n font-size: var(--font-size-sm);\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: .375rem;\n }\n .check-lg + label {\n font-size: var(--font-size-lg);\n }\n}\n@layer forms {\n .radio {\n --radio-size: 1.25rem;\n --radio-margin-block: 0.125rem;\n --radio-bg: var(--bg-body);\n --radio-border-color: var(--border-color);\n --radio-checked-bg: var(--control-checked-bg);\n --radio-checked-border-color: var(--control-checked-border-color);\n --radio-disabled-bg: var(--control-disabled-bg);\n --radio-disabled-opacity: var(--control-disabled-opacity);\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n border-radius: 50%;\n }\n @media (prefers-reduced-motion: no-preference) {\n .radio {\n transition: color var(--control-transition-duration) var(--control-transition-timing), background-color var(--control-transition-duration) var(--control-transition-timing), border-color var(--control-transition-duration) var(--control-transition-timing);\n }\n }\n .radio::before {\n position: absolute;\n inset: calc(var(--radio-size) * 0.25);\n content: \"\";\n background-color: currentcolor;\n border-radius: 50%;\n opacity: 0;\n transform: scale(0);\n }\n @media (prefers-reduced-motion: no-preference) {\n .radio::before {\n transition: opacity var(--control-transition-duration) var(--control-transition-timing), transform var(--control-transition-duration) var(--control-transition-timing);\n }\n }\n .radio:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n }\n .radio:checked::before {\n opacity: 1;\n transform: scale(1);\n }\n .radio:disabled {\n --radio-bg: var(--radio-disabled-bg);\n }\n .radio:disabled ~ label {\n color: var(--secondary-fg);\n cursor: default;\n }\n .radio:disabled:checked {\n opacity: var(--radio-disabled-opacity);\n }\n .radio:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-sm + label {\n font-size: var(--font-size-sm);\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: .375rem;\n }\n .radio-lg + label {\n font-size: var(--font-size-lg);\n }\n}\n@layer forms {\n .switch {\n --switch-height: 1.25rem;\n --switch-width: calc(var(--switch-height) * 1.75);\n --switch-padding: 0.0625rem;\n --switch-margin-block: 0.125rem;\n --switch-transition-duration: var(--control-transition-duration);\n --switch-transition-timing: var(--control-transition-timing);\n --switch-bg: var(--bg-3);\n --switch-border-width: var(--border-width);\n --switch-border-color: var(--border-color);\n --switch-indicator-bg: var(--white);\n --switch-indicator-width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n --switch-indicator-height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n --switch-checked-bg: var(--control-checked-bg);\n --switch-checked-border-color: var(--switch-checked-bg);\n --switch-checked-indicator-bg: var(--white);\n --switch-disabled-bg: var(--control-disabled-bg);\n --switch-disabled-indicator-bg: var(--fg-3);\n position: relative;\n flex-shrink: 0;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n }\n @media (prefers-reduced-motion: no-preference) {\n .switch {\n transition: background-color var(--switch-transition-duration) var(--switch-transition-timing);\n }\n }\n .switch::before {\n position: absolute;\n inset-block: var(--switch-padding);\n inset-inline-start: var(--switch-padding);\n width: var(--switch-indicator-width);\n height: var(--switch-indicator-height);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n border-radius: 10rem;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n }\n @media (prefers-reduced-motion: no-preference) {\n .switch::before {\n transition: inset-inline-start var(--switch-transition-duration) var(--switch-transition-timing);\n }\n }\n .switch input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n .switch:focus-within {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .switch:has(input:disabled:not(:checked)) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n }\n .switch:has(input:disabled:not(:checked))::before {\n opacity: 0.4;\n }\n .switch:has(input:disabled:not(:checked)) ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n .switch:has(input:checked) {\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n .switch:has(input:checked)::before {\n inset-inline-start: calc(100% - var(--switch-indicator-width) - var(--switch-padding));\n }\n .switch:has(input:checked:disabled) {\n opacity: 0.65;\n }\n .switch:has(input:checked:disabled) ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-sm + label {\n font-size: var(--font-size-sm);\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: .375rem;\n }\n .switch-lg + label {\n font-size: var(--font-size-lg);\n }\n}\n@layer forms {\n .form-range {\n --range-track-width: 100%;\n --range-track-height: 0.5rem;\n --range-track-cursor: pointer;\n --range-track-bg: var(--bg-3);\n --range-track-border-radius: 1rem;\n --range-track-fill-bg: var(--primary-base);\n --range-track-disabled-bg: color-mix(in oklch, var(--bg-4), var(--fg-3));\n --range-thumb-width: 1rem;\n --range-thumb-height: var(--range-thumb-width);\n --range-thumb-bg: var(--primary-base);\n --range-thumb-border: var(--range-thumb-bg) solid var(--border-color);\n --range-thumb-border-radius: 1rem;\n --range-thumb-box-shadow: 0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%);\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n --range-thumb-disabled-bg: var(--fg-3);\n --range-thumb-transition-property: background-color, border-color, box-shadow;\n --range-thumb-transition-duration: 0.15s;\n --range-thumb-transition-timing: ease-in-out;\n --range-tick-width: var(--border-width);\n --range-tick-height: 0.5rem;\n --range-tick-bg: var(--border-color);\n position: relative;\n display: block;\n width: 100%;\n }\n .form-range-input {\n display: block;\n width: 100%;\n height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n padding: 0;\n appearance: none;\n background-color: transparent;\n }\n .form-range-input:hover::-webkit-slider-thumb {\n outline: var(--focus-ring-width) solid color-mix(in oklch, var(--primary-focus-ring), transparent);\n }\n .form-range-input:hover::-moz-range-thumb {\n outline: var(--focus-ring-width) solid color-mix(in oklch, var(--primary-focus-ring), transparent);\n }\n .form-range-input:focus-visible {\n outline: 0;\n }\n .form-range-input:focus-visible::-webkit-slider-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 0;\n }\n .form-range-input:focus-visible::-moz-range-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 0;\n }\n .form-range-input::-moz-focus-outer {\n border: 0;\n }\n .form-range-input::-webkit-slider-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n background-image: var(--gradient);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n }\n @media (prefers-reduced-motion: no-preference) {\n .form-range-input::-webkit-slider-thumb {\n transition-timing-function: var(--range-thumb-transition-timing);\n transition-duration: var(--range-thumb-transition-duration);\n transition-property: var(--range-thumb-transition-property);\n }\n }\n .form-range-input::-webkit-slider-thumb:active {\n background-color: var(--range-thumb-active-bg);\n background-image: var(--gradient);\n }\n .form-range-input::-webkit-slider-thumb {\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n }\n .form-range-input::-moz-range-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n background-image: var(--gradient);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n }\n @media (prefers-reduced-motion: no-preference) {\n .form-range-input::-moz-range-thumb {\n transition-timing-function: var(--range-thumb-transition-timing);\n transition-duration: var(--range-thumb-transition-duration);\n transition-property: var(--range-thumb-transition-property);\n }\n }\n .form-range-input::-moz-range-thumb:active {\n background-color: var(--range-thumb-active-bg);\n background-image: var(--gradient);\n }\n .form-range-input::-webkit-slider-runnable-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n background-image: linear-gradient(to right, var(--range-track-fill-bg) calc(var(--range-fill, 0) * 100%), transparent calc(var(--range-fill, 0) * 100%));\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range-input::-moz-range-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n background-image: linear-gradient(to right, var(--range-track-fill-bg) calc(var(--range-fill, 0) * 100%), transparent calc(var(--range-fill, 0) * 100%));\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range-input:disabled {\n pointer-events: none;\n }\n .form-range-input:disabled::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n .form-range-input:disabled::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n .form-range-input:disabled::-webkit-slider-runnable-track {\n --range-track-fill-bg: var(--range-track-disabled-bg);\n }\n .form-range-input:disabled::-moz-range-track {\n --range-track-fill-bg: var(--range-track-disabled-bg);\n }\n .form-range-bubble {\n position: absolute;\n bottom: 100%;\n left: calc(var(--range-thumb-width) * 0.5 + var(--range-fill, 0) * (100% - var(--range-thumb-width)));\n margin-bottom: var(--tooltip-arrow-height);\n pointer-events: none;\n transform: translateX(-50%);\n }\n .form-range-bubble .tooltip-arrow {\n position: absolute;\n bottom: calc(-1 * var(--tooltip-arrow-height));\n left: 50%;\n transform: translateX(-50%);\n }\n .form-range-ticks {\n display: grid;\n padding-inline: calc(var(--range-thumb-width) * 0.25);\n }\n .form-range-tick {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-self: start;\n width: 0;\n }\n .form-range-tick::before {\n width: var(--range-tick-width);\n height: var(--range-tick-height);\n content: \"\";\n background-color: var(--range-tick-bg);\n }\n .form-range-tick:first-child {\n align-items: flex-start;\n }\n .form-range-tick:last-child {\n align-items: flex-end;\n }\n .form-range-tick-label {\n margin-top: 0.125rem;\n font-size: var(--font-size-sm);\n color: var(--fg-2);\n white-space: nowrap;\n }\n}\n@layer forms {\n .form-floating {\n --form-floating-height: calc(3.75rem + var(--border-width) * 2);\n --form-floating-line-height: 1.25;\n --form-floating-padding-x: calc(var(--btn-input-padding-x) * 1.25);\n --form-floating-padding-y: 1rem;\n --form-floating-input-padding-t: 1.625rem;\n --form-floating-input-padding-b: 0.625rem;\n --form-floating-label-height: 1.5em;\n --form-floating-label-bg: var(--btn-input-bg);\n --form-floating-label-disabled-bg: var(--bg-2);\n --form-floating-label-opacity: 0.65;\n --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n --form-floating-label-disabled-color: var(--fg-3);\n --form-floating-transition-property: opacity, transform;\n --form-floating-transition-duration: 0.1s;\n --form-floating-transition-timing: ease-in-out;\n position: relative;\n }\n .form-floating > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%;\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--border-width) solid transparent;\n transform-origin: 0 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .form-floating > label {\n transition-timing-function: var(--form-floating-transition-timing);\n transition-duration: var(--form-floating-transition-duration);\n transition-property: var(--form-floating-transition-property);\n }\n }\n .form-floating > label:has(~ textarea) {\n align-items: flex-start;\n }\n .form-floating > .form-control,\n .form-floating > .form-control-plaintext {\n height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\n }\n .form-floating > .form-control::placeholder,\n .form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n }\n .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n .form-floating > .form-control-plaintext:focus,\n .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n .form-floating > .form-control:-webkit-autofill,\n .form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n .form-floating > label:has(~ .form-control:focus),\n .form-floating > label:has(~ .form-control:not(:placeholder-shown)),\n .form-floating > label:has(~ .form-control-plaintext) {\n transform: var(--form-floating-label-transform);\n }\n .form-floating > label:has(~ .form-control:-webkit-autofill) {\n transform: var(--form-floating-label-transform);\n }\n .form-floating > label:has(~ textarea:focus)::after,\n .form-floating > label:has(~ textarea:not(:placeholder-shown))::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--form-floating-label-bg);\n border-radius: var(--btn-input-border-radius);\n }\n .form-floating > label:has(~ textarea:disabled)::after {\n background-color: var(--form-floating-label-disabled-bg);\n }\n .form-floating > label:has(~ .form-control-plaintext) {\n border-width: var(--control-border-width) 0;\n }\n .form-floating > label:has(~ :disabled),\n .form-floating > label:has(~ .form-control:disabled) {\n color: var(--form-floating-label-disabled-color);\n }\n}\n@layer components {\n .input-group {\n --input-group-addon-padding-y: var(--btn-input-padding-y);\n --input-group-addon-padding-x: var(--btn-input-padding-x);\n --input-group-addon-font-size: var(--btn-input-font-size);\n --input-group-addon-line-height: var(--btn-input-line-height);\n --input-group-addon-color: var(--fg-body);\n --input-group-addon-bg: var(--bg-2);\n --input-group-addon-border-color: var(--border-color);\n position: relative;\n display: flex;\n align-items: stretch;\n width: 100%;\n }\n .input-group > .form-control,\n .input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n }\n .input-group > .form-control:focus,\n .input-group > .form-floating:focus-within {\n z-index: 5;\n }\n .input-group > .input-group-btn {\n position: relative;\n z-index: 2;\n }\n .input-group > .input-group-btn:focus {\n z-index: 5;\n }\n .input-group-text {\n display: flex;\n align-items: center;\n padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size);\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n border-radius: var(--btn-input-border-radius);\n }\n .input-group-sm > .form-control,\n .input-group-sm > .input-group-text,\n .input-group-sm > .btn {\n min-height: var(--btn-input-sm-min-height);\n padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n font-size: var(--btn-input-sm-font-size);\n border-radius: var(--btn-input-sm-border-radius);\n }\n .input-group-lg > .form-control,\n .input-group-lg > .input-group-text,\n .input-group-lg > .btn {\n min-height: var(--btn-input-lg-min-height);\n padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n font-size: var(--btn-input-lg-font-size);\n border-radius: var(--btn-input-lg-border-radius);\n }\n .input-group > :not(:last-child, .menu-toggle-split, .menu, .input-group-ignore, .form-floating, :has(+ :is(.menu, .input-group-ignore):last-child)),\n .input-group > .menu-toggle-split:nth-last-child(n+3),\n .input-group > .form-floating:not(:last-child) > .form-control,\n .input-group > .form-floating:not(:last-child) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group > :not(:first-child, .menu, .input-group-ignore) {\n margin-inline-start: calc(-1 * var(--border-width));\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .input-group > :first-child:is(.input-group-ignore) + :not(.menu, .input-group-ignore) {\n border-start-start-radius: var(--btn-input-border-radius);\n border-end-start-radius: var(--btn-input-border-radius);\n }\n .input-group > .form-floating:not(:first-child) > .form-control,\n .input-group > .form-floating:not(:first-child) > .form-select {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n}\n@layer forms {\n .strength {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n }\n @media (prefers-reduced-motion: no-preference) {\n .strength-segment {\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n }\n .strength-segment.active {\n background-color: var(--strength-color);\n }\n .strength[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n }\n .strength[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n }\n .strength[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n }\n .strength[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n }\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n }\n @media (prefers-reduced-motion: no-preference) {\n .strength-text {\n transition: color 0.2s ease-in-out;\n }\n }\n .strength-text:empty {\n display: none;\n }\n .strength-bar {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n --strength-color: transparent;\n --strength-width: 0%;\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n }\n .strength-bar::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n border-radius: var(--strength-border-radius);\n }\n @media (prefers-reduced-motion: no-preference) {\n .strength-bar::after {\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n }\n .strength-bar[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n --strength-width: 25%;\n }\n .strength-bar[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n --strength-width: 50%;\n }\n .strength-bar[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n --strength-width: 75%;\n }\n .strength-bar[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n --strength-width: 100%;\n }\n}\n@layer components {\n .otp {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-font-size);\n --otp-gap: 0.5rem;\n --otp-slot-fg: var(--btn-input-fg);\n --otp-slot-bg: var(--btn-input-bg);\n --otp-slot-border-width: var(--border-width);\n --otp-slot-border-color: var(--border-color);\n --otp-slot-border-radius: var(--radius-5);\n position: relative;\n display: flex;\n }\n .otp-rendered .otp-input {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n color: transparent;\n pointer-events: auto;\n cursor: default;\n caret-color: transparent;\n background-color: transparent;\n border: 0;\n outline: 0;\n box-shadow: none;\n }\n .otp-rendered .otp-input::selection {\n color: transparent;\n background-color: transparent;\n }\n .otp-slots {\n display: inline-flex;\n gap: var(--otp-gap);\n pointer-events: none;\n }\n .otp-slot {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--otp-size);\n min-height: var(--otp-size);\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n color: var(--otp-slot-fg);\n user-select: none;\n background-color: var(--otp-slot-bg);\n border: var(--otp-slot-border-width) solid var(--otp-slot-border-color);\n border-radius: var(--otp-slot-border-radius);\n box-shadow: var(--box-shadow-inset);\n }\n @media (prefers-reduced-motion: no-preference) {\n .otp-slot {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n }\n .otp-slot-active {\n --focus-ring-offset: -1px;\n z-index: 1;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .otp-slot-active:not(.otp-slot-filled)::after {\n width: 1px;\n height: 50%;\n content: \"\";\n background-color: var(--otp-slot-fg);\n animation: otp-caret-blink 1s step-end infinite;\n }\n .otp-input:disabled ~ .otp-slots .otp-slot {\n background-color: var(--bg-2);\n }\n .otp-connected .otp-slots {\n gap: 0;\n }\n .otp-connected .otp-slot {\n border-radius: 0;\n }\n .otp-connected .otp-slot:not(:first-child) {\n margin-inline-start: calc(var(--otp-slot-border-width) * -1);\n }\n .otp-connected .otp-slot:first-child {\n border-start-start-radius: var(--otp-slot-border-radius);\n border-end-start-radius: var(--otp-slot-border-radius);\n }\n .otp-connected .otp-slot:last-child {\n border-start-end-radius: var(--otp-slot-border-radius);\n border-end-end-radius: var(--otp-slot-border-radius);\n }\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n .otp-sm {\n --otp-size: var(--btn-input-sm-min-height);\n --otp-font-size: var(--btn-input-sm-font-size);\n }\n .otp-lg {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-lg-font-size);\n }\n}\n@keyframes otp-caret-blink {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n}\n@layer forms {\n .form-adorn {\n --form-adorn-gap: 0.375rem;\n --form-adorn-icon-size: 1rem;\n --form-adorn-icon-color: var(--fg-2);\n gap: var(--form-adorn-gap);\n align-items: center;\n cursor: text;\n }\n .form-adorn:focus-visible {\n outline: 0;\n }\n .form-adorn > .form-ghost {\n flex: 1;\n min-width: 0;\n }\n .form-adorn.form-adorn-end > .form-ghost {\n order: -1;\n }\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n }\n .form-adorn-icon > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n@layer forms {\n .chip-input {\n --chip-input-padding-y: 0.75rem;\n --chip-input-padding-x: 0.75rem;\n --chip-input-gap: 0.375rem;\n --chip-input-ghost-min-width: 5rem;\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--radius-5);\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n }\n .chip-input:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .chip-input > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n cursor: not-allowed;\n background-color: var(--bg-2);\n opacity: 1;\n }\n .chip-input.disabled:focus-within, .chip-input:has(.form-ghost:disabled):focus-within {\n border-color: var(--control-border-color);\n outline: 0;\n }\n .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n pointer-events: none;\n opacity: var(--control-disabled-opacity);\n }\n}\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n }\n .combobox-toggle.show {\n background-color: var(--bg-1);\n }\n .combobox-toggle:disabled, .combobox-toggle.disabled {\n cursor: not-allowed;\n opacity: 0.65;\n }\n .combobox-value {\n display: flex;\n flex: 1;\n gap: 0.5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .combobox-caret {\n flex-shrink: 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .combobox-caret {\n transition: transform 0.2s ease-in-out;\n }\n }\n .show > .combobox-caret {\n transform: rotate(180deg);\n }\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, 0.25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n .combobox-search-input {\n width: 100%;\n }\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n@layer forms {\n .form-field {\n position: relative;\n display: grid;\n gap: 0.5rem;\n }\n .form-field > label,\n .form-field > .form-label {\n justify-self: start;\n margin-bottom: 0;\n }\n .form-field:has(> .check, > .radio, > .switch) {\n grid-template-columns: auto 1fr;\n column-gap: 0.5rem;\n align-items: start;\n }\n .form-field:has(> .check, > .radio, > .switch) > .check,\n .form-field:has(> .check, > .radio, > .switch) > .radio,\n .form-field:has(> .check, > .radio, > .switch) > .switch {\n grid-column: 1;\n }\n .form-field:has(> .check, > .radio, > .switch) > :not(.check, .radio, .switch) {\n grid-column: 2;\n }\n .form-field:has(> .check, > .radio, > .switch) > .form-label {\n grid-column: 1/-1;\n }\n .form-field-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n .form-field-card {\n position: relative;\n padding: calc(var(--spacer) * 0.75);\n cursor: pointer;\n border: var(--border-width) solid transparent;\n border-radius: var(--radius-7);\n }\n .form-field-card:hover {\n background-color: var(--bg-1);\n }\n .form-field-card:has(:checked) {\n background-color: var(--bg-1);\n border-color: var(--border-color);\n }\n .form-field-card label::before {\n position: absolute;\n inset: 0;\n content: \"\";\n }\n .form-group {\n display: grid;\n gap: 0.5rem;\n }\n .form-group > label,\n .form-group > .form-label,\n .form-group > legend {\n justify-self: start;\n margin-bottom: 0;\n }\n}\n@layer components {\n .valid-feedback {\n display: none;\n width: 100%;\n font-size: var(--font-size-sm);\n color: var(--success-fg);\n }\n .tooltip.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n color: var(--success-contrast);\n text-align: center;\n background-color: var(--success-bg);\n opacity: 1;\n border-radius: var(--tooltip-border-radius);\n }\n .is-valid ~ .valid-feedback,\n .is-valid ~ .valid-tooltip {\n display: block;\n }\n [data-bs-validate~=valid] :user-valid ~ .valid-feedback,\n [data-bs-validate~=valid] :user-valid ~ .valid-tooltip {\n display: block;\n }\n .form-control.is-valid {\n --control-border-color: var(--success-border);\n }\n .form-control.is-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n --control-border-color: var(--success-border);\n }\n [data-bs-validate~=valid] .form-control:user-valid {\n --control-border-color: var(--success-border);\n }\n [data-bs-validate~=valid] .form-control:user-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n --control-border-color: var(--success-border);\n }\n .check.is-valid {\n --check-border-color: var(--success-border);\n --check-checked-bg: var(--success-bg);\n --check-checked-border-color: var(--success-bg);\n }\n .check.is-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate~=valid] .check:user-valid {\n --check-border-color: var(--success-border);\n --check-checked-bg: var(--success-bg);\n --check-checked-border-color: var(--success-bg);\n }\n [data-bs-validate~=valid] .check:user-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-field:has(.check.is-valid) label {\n color: var(--success-fg);\n }\n .form-field:has(.check.is-valid) .valid-feedback,\n .form-field:has(.check.is-valid) .valid-tooltip {\n display: block;\n }\n [data-bs-validate~=valid] .form-field:has(.check:user-valid) label {\n color: var(--success-fg);\n }\n [data-bs-validate~=valid] .form-field:has(.check:user-valid) .valid-feedback,\n [data-bs-validate~=valid] .form-field:has(.check:user-valid) .valid-tooltip {\n display: block;\n }\n .radio.is-valid {\n --radio-border-color: var(--success-border);\n --radio-checked-bg: var(--success-bg);\n --radio-checked-border-color: var(--success-bg);\n }\n .radio.is-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate~=valid] .radio:user-valid {\n --radio-border-color: var(--success-border);\n --radio-checked-bg: var(--success-bg);\n --radio-checked-border-color: var(--success-bg);\n }\n [data-bs-validate~=valid] .radio:user-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-field:has(.radio.is-valid) label {\n color: var(--success-fg);\n }\n .form-field:has(.radio.is-valid) .valid-feedback,\n .form-field:has(.radio.is-valid) .valid-tooltip {\n display: block;\n }\n [data-bs-validate~=valid] .form-field:has(.radio:user-valid) label {\n color: var(--success-fg);\n }\n [data-bs-validate~=valid] .form-field:has(.radio:user-valid) .valid-feedback,\n [data-bs-validate~=valid] .form-field:has(.radio:user-valid) .valid-tooltip {\n display: block;\n }\n .switch:has(input.is-valid) {\n --switch-border-color: var(--success-border);\n --switch-checked-bg: var(--success-bg);\n --switch-checked-border-color: var(--success-bg);\n }\n .switch:has(input.is-valid):focus-within {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate~=valid] .switch:has(input:user-valid) {\n --switch-border-color: var(--success-border);\n --switch-checked-bg: var(--success-bg);\n --switch-checked-border-color: var(--success-bg);\n }\n [data-bs-validate~=valid] .switch:has(input:user-valid):focus-within {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-field:has(.switch input.is-valid) label {\n color: var(--success-fg);\n }\n .form-field:has(.switch input.is-valid) .valid-feedback,\n .form-field:has(.switch input.is-valid) .valid-tooltip {\n display: block;\n }\n [data-bs-validate~=valid] .form-field:has(.switch input:user-valid) label {\n color: var(--success-fg);\n }\n [data-bs-validate~=valid] .form-field:has(.switch input:user-valid) .valid-feedback,\n [data-bs-validate~=valid] .form-field:has(.switch input:user-valid) .valid-tooltip {\n display: block;\n }\n .chip-input:has(.form-ghost.is-valid) {\n border-color: var(--success-border);\n }\n .chip-input:has(.form-ghost.is-valid):focus-within {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n .chip-input:has(.form-ghost.is-valid) ~ .valid-feedback,\n .chip-input:has(.form-ghost.is-valid) ~ .valid-tooltip {\n display: block;\n }\n [data-bs-validate~=valid] .chip-input:has(.form-ghost:user-valid) {\n border-color: var(--success-border);\n }\n [data-bs-validate~=valid] .chip-input:has(.form-ghost:user-valid):focus-within {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n [data-bs-validate~=valid] .chip-input:has(.form-ghost:user-valid) ~ .valid-feedback,\n [data-bs-validate~=valid] .chip-input:has(.form-ghost:user-valid) ~ .valid-tooltip {\n display: block;\n }\n .form-adorn:has(.form-ghost.is-valid) {\n border-color: var(--success-border);\n }\n .form-adorn:has(.form-ghost.is-valid):focus-within {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n .form-adorn:has(.form-ghost.is-valid) ~ .valid-feedback,\n .form-adorn:has(.form-ghost.is-valid) ~ .valid-tooltip {\n display: block;\n }\n [data-bs-validate~=valid] .form-adorn:has(.form-ghost:user-valid) {\n border-color: var(--success-border);\n }\n [data-bs-validate~=valid] .form-adorn:has(.form-ghost:user-valid):focus-within {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n [data-bs-validate~=valid] .form-adorn:has(.form-ghost:user-valid) ~ .valid-feedback,\n [data-bs-validate~=valid] .form-adorn:has(.form-ghost:user-valid) ~ .valid-tooltip {\n display: block;\n }\n .form-range-input.is-valid::-webkit-slider-thumb {\n background: var(--success-bg);\n }\n .form-range-input.is-valid::-moz-range-thumb {\n background: var(--success-bg);\n }\n .form-range-input.is-valid:focus-visible::-webkit-slider-thumb {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-range-input.is-valid:focus-visible::-moz-range-thumb {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate~=valid] .form-range-input:user-valid::-webkit-slider-thumb {\n background: var(--success-bg);\n }\n [data-bs-validate~=valid] .form-range-input:user-valid::-moz-range-thumb {\n background: var(--success-bg);\n }\n [data-bs-validate~=valid] .form-range-input:user-valid:focus-visible::-webkit-slider-thumb {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate~=valid] .form-range-input:user-valid:focus-visible::-moz-range-thumb {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-range:has(.form-range-input.is-valid) ~ .valid-feedback,\n .form-range:has(.form-range-input.is-valid) ~ .valid-tooltip {\n display: block;\n }\n .form-field:has(.input-group .form-control.is-valid) .valid-feedback,\n .form-field:has(.input-group .form-control.is-valid) .valid-tooltip {\n display: block;\n }\n [data-bs-validate~=valid] .form-field:has(.input-group .form-control:user-valid) .valid-feedback,\n [data-bs-validate~=valid] .form-field:has(.input-group .form-control:user-valid) .valid-tooltip {\n display: block;\n }\n .input-group > .form-control:not(:focus).is-valid,\n .input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n }\n [data-bs-validate~=valid] .input-group > .form-control:not(:focus), .input-group > .form-floating:not(:focus-within):user-valid {\n z-index: 3;\n }\n .otp.is-valid .otp-slot {\n --otp-slot-border-color: var(--success-border);\n }\n .otp.is-valid .otp-slot-active {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate~=valid] .otp:user-valid .otp-slot {\n --otp-slot-border-color: var(--success-border);\n }\n [data-bs-validate~=valid] .otp:user-valid .otp-slot-active {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .invalid-feedback {\n display: none;\n width: 100%;\n font-size: var(--font-size-sm);\n color: var(--danger-fg);\n }\n .tooltip.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n color: var(--danger-contrast);\n text-align: center;\n background-color: var(--danger-bg);\n opacity: 1;\n border-radius: var(--tooltip-border-radius);\n }\n .is-invalid ~ .invalid-feedback,\n .is-invalid ~ .invalid-tooltip {\n display: block;\n }\n [data-bs-validate] :user-invalid ~ .invalid-feedback,\n [data-bs-validate] :user-invalid ~ .invalid-tooltip {\n display: block;\n }\n .form-control.is-invalid {\n --control-border-color: var(--danger-border);\n }\n .form-control.is-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n --control-border-color: var(--danger-border);\n }\n [data-bs-validate] .form-control:user-invalid {\n --control-border-color: var(--danger-border);\n }\n [data-bs-validate] .form-control:user-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n --control-border-color: var(--danger-border);\n }\n .check.is-invalid {\n --check-border-color: var(--danger-border);\n --check-checked-bg: var(--danger-bg);\n --check-checked-border-color: var(--danger-bg);\n }\n .check.is-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate] .check:user-invalid {\n --check-border-color: var(--danger-border);\n --check-checked-bg: var(--danger-bg);\n --check-checked-border-color: var(--danger-bg);\n }\n [data-bs-validate] .check:user-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-field:has(.check.is-invalid) label {\n color: var(--danger-fg);\n }\n .form-field:has(.check.is-invalid) .invalid-feedback,\n .form-field:has(.check.is-invalid) .invalid-tooltip {\n display: block;\n }\n [data-bs-validate] .form-field:has(.check:user-invalid) label {\n color: var(--danger-fg);\n }\n [data-bs-validate] .form-field:has(.check:user-invalid) .invalid-feedback,\n [data-bs-validate] .form-field:has(.check:user-invalid) .invalid-tooltip {\n display: block;\n }\n .radio.is-invalid {\n --radio-border-color: var(--danger-border);\n --radio-checked-bg: var(--danger-bg);\n --radio-checked-border-color: var(--danger-bg);\n }\n .radio.is-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate] .radio:user-invalid {\n --radio-border-color: var(--danger-border);\n --radio-checked-bg: var(--danger-bg);\n --radio-checked-border-color: var(--danger-bg);\n }\n [data-bs-validate] .radio:user-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-field:has(.radio.is-invalid) label {\n color: var(--danger-fg);\n }\n .form-field:has(.radio.is-invalid) .invalid-feedback,\n .form-field:has(.radio.is-invalid) .invalid-tooltip {\n display: block;\n }\n [data-bs-validate] .form-field:has(.radio:user-invalid) label {\n color: var(--danger-fg);\n }\n [data-bs-validate] .form-field:has(.radio:user-invalid) .invalid-feedback,\n [data-bs-validate] .form-field:has(.radio:user-invalid) .invalid-tooltip {\n display: block;\n }\n .switch:has(input.is-invalid) {\n --switch-border-color: var(--danger-border);\n --switch-checked-bg: var(--danger-bg);\n --switch-checked-border-color: var(--danger-bg);\n }\n .switch:has(input.is-invalid):focus-within {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate] .switch:has(input:user-invalid) {\n --switch-border-color: var(--danger-border);\n --switch-checked-bg: var(--danger-bg);\n --switch-checked-border-color: var(--danger-bg);\n }\n [data-bs-validate] .switch:has(input:user-invalid):focus-within {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-field:has(.switch input.is-invalid) label {\n color: var(--danger-fg);\n }\n .form-field:has(.switch input.is-invalid) .invalid-feedback,\n .form-field:has(.switch input.is-invalid) .invalid-tooltip {\n display: block;\n }\n [data-bs-validate] .form-field:has(.switch input:user-invalid) label {\n color: var(--danger-fg);\n }\n [data-bs-validate] .form-field:has(.switch input:user-invalid) .invalid-feedback,\n [data-bs-validate] .form-field:has(.switch input:user-invalid) .invalid-tooltip {\n display: block;\n }\n .chip-input:has(.form-ghost.is-invalid) {\n border-color: var(--danger-border);\n }\n .chip-input:has(.form-ghost.is-invalid):focus-within {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n .chip-input:has(.form-ghost.is-invalid) ~ .invalid-feedback,\n .chip-input:has(.form-ghost.is-invalid) ~ .invalid-tooltip {\n display: block;\n }\n [data-bs-validate] .chip-input:has(.form-ghost:user-invalid) {\n border-color: var(--danger-border);\n }\n [data-bs-validate] .chip-input:has(.form-ghost:user-invalid):focus-within {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n [data-bs-validate] .chip-input:has(.form-ghost:user-invalid) ~ .invalid-feedback,\n [data-bs-validate] .chip-input:has(.form-ghost:user-invalid) ~ .invalid-tooltip {\n display: block;\n }\n .form-adorn:has(.form-ghost.is-invalid) {\n border-color: var(--danger-border);\n }\n .form-adorn:has(.form-ghost.is-invalid):focus-within {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n .form-adorn:has(.form-ghost.is-invalid) ~ .invalid-feedback,\n .form-adorn:has(.form-ghost.is-invalid) ~ .invalid-tooltip {\n display: block;\n }\n [data-bs-validate] .form-adorn:has(.form-ghost:user-invalid) {\n border-color: var(--danger-border);\n }\n [data-bs-validate] .form-adorn:has(.form-ghost:user-invalid):focus-within {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n [data-bs-validate] .form-adorn:has(.form-ghost:user-invalid) ~ .invalid-feedback,\n [data-bs-validate] .form-adorn:has(.form-ghost:user-invalid) ~ .invalid-tooltip {\n display: block;\n }\n .form-range-input.is-invalid::-webkit-slider-thumb {\n background: var(--danger-bg);\n }\n .form-range-input.is-invalid::-moz-range-thumb {\n background: var(--danger-bg);\n }\n .form-range-input.is-invalid:focus-visible::-webkit-slider-thumb {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-range-input.is-invalid:focus-visible::-moz-range-thumb {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate] .form-range-input:user-invalid::-webkit-slider-thumb {\n background: var(--danger-bg);\n }\n [data-bs-validate] .form-range-input:user-invalid::-moz-range-thumb {\n background: var(--danger-bg);\n }\n [data-bs-validate] .form-range-input:user-invalid:focus-visible::-webkit-slider-thumb {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate] .form-range-input:user-invalid:focus-visible::-moz-range-thumb {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-range:has(.form-range-input.is-invalid) ~ .invalid-feedback,\n .form-range:has(.form-range-input.is-invalid) ~ .invalid-tooltip {\n display: block;\n }\n .form-field:has(.input-group .form-control.is-invalid) .invalid-feedback,\n .form-field:has(.input-group .form-control.is-invalid) .invalid-tooltip {\n display: block;\n }\n [data-bs-validate] .form-field:has(.input-group .form-control:user-invalid) .invalid-feedback,\n [data-bs-validate] .form-field:has(.input-group .form-control:user-invalid) .invalid-tooltip {\n display: block;\n }\n .input-group > .form-control:not(:focus).is-invalid,\n .input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n }\n [data-bs-validate] .input-group > .form-control:not(:focus), .input-group > .form-floating:not(:focus-within):user-invalid {\n z-index: 4;\n }\n .otp.is-invalid .otp-slot {\n --otp-slot-border-color: var(--danger-border);\n }\n .otp.is-invalid .otp-slot-active {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n [data-bs-validate] .otp:user-invalid .otp-slot {\n --otp-slot-border-color: var(--danger-border);\n }\n [data-bs-validate] .otp:user-invalid .otp-slot-active {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n}\n@layer components {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n --btn-gap: var(--btn-input-gap);\n --btn-min-height: var(--btn-input-min-height);\n --btn-padding-x: var(--btn-input-padding-x);\n --btn-padding-y: var(--btn-input-padding-y);\n --btn-font-size: var(--btn-input-font-size);\n --btn-font-weight: var(--btn-input-font-weight);\n --btn-line-height: var(--btn-input-line-height);\n --btn-color: var(--fg-body);\n --btn-white-space: nowrap;\n --btn-border-width: var(--border-width);\n --btn-border-color: transparent;\n --btn-border-radius: var(--radius-5);\n --btn-hover-border-color: transparent;\n --btn-disabled-opacity: 0.65;\n --btn-transition-property: color, background-color, border-color, box-shadow;\n --btn-transition-duration: 0.15s;\n --btn-transition-timing: ease-in-out;\n display: inline-flex;\n gap: var(--btn-gap);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n border-radius: var(--btn-border-radius);\n }\n @media (prefers-reduced-motion: no-preference) {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n transition-timing-function: var(--btn-transition-timing);\n transition-duration: var(--btn-transition-duration);\n transition-property: var(--btn-transition-property);\n }\n }\n .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n }\n .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n background-image: none;\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n .btn-solid {\n --btn-bg: var(--theme-bg);\n --btn-color: var(--theme-contrast);\n --btn-border-color: var(--theme-bg);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-solid:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-solid:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-outline {\n --btn-bg: transparent;\n --btn-color: var(--theme-fg);\n --btn-border-color: var(--theme-border);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-fg);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-outline:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-outline:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-fg);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-subtle {\n --btn-bg: var(--theme-bg-subtle);\n --btn-color: var(--theme-fg);\n --btn-border-color: transparent;\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-fg-emphasis) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-fg);\n --btn-disabled-border-color: transparent;\n }\n .btn-subtle:hover {\n --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n --btn-hover-color: oklch(from var(--theme-fg-emphasis) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-subtle:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-fg-emphasis) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-fg);\n --btn-disabled-border-color: transparent;\n }\n .btn-text {\n --btn-color: var(--theme-fg);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-active-color: oklch(from var(--theme-fg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-fg);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-text:hover {\n --btn-hover-color: oklch(from var(--theme-fg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-bg: var(--theme-bg-subtle);\n }\n .btn-text:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n --btn-active-color: oklch(from var(--theme-fg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n }\n .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n --btn-disabled-color: var(--theme-fg);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-link {\n --btn-font-weight: var(--font-weight-normal);\n --btn-color: var(--link-color);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-hover-color: var(--link-hover-color);\n --btn-hover-bg: transparent;\n --btn-hover-border-color: transparent;\n --btn-active-color: var(--link-hover-color);\n --btn-active-bg: transparent;\n --btn-active-border-color: transparent;\n --btn-disabled-color: var(--fg-3);\n --btn-disabled-border-color: transparent;\n color: var(--theme-fg, var(--btn-color));\n text-decoration: var(--link-decoration);\n background-image: none;\n }\n .btn-link:focus-visible {\n color: var(--theme-fg, var(--btn-color));\n }\n .btn-link:hover {\n color: var(--theme-fg-emphasis, var(--btn-hover-color));\n }\n .btn-xs,\n .btn-group-xs > [class*=btn-] {\n --btn-gap: var(--btn-input-xs-gap);\n --btn-min-height: var(--btn-input-xs-min-height);\n --btn-padding-y: var(--btn-input-xs-padding-y);\n --btn-padding-x: var(--btn-input-xs-padding-x);\n --btn-font-size: var(--btn-input-xs-font-size);\n --btn-line-height: var(--btn-input-xs-line-height);\n --btn-border-radius: var(--btn-input-xs-border-radius);\n }\n .btn-sm,\n .btn-group-sm > [class*=btn-] {\n --btn-gap: var(--btn-input-sm-gap);\n --btn-min-height: var(--btn-input-sm-min-height);\n --btn-padding-y: var(--btn-input-sm-padding-y);\n --btn-padding-x: var(--btn-input-sm-padding-x);\n --btn-font-size: var(--btn-input-sm-font-size);\n --btn-line-height: var(--btn-input-sm-line-height);\n --btn-border-radius: var(--btn-input-sm-border-radius);\n }\n .btn-lg,\n .btn-group-lg > [class*=btn-] {\n --btn-gap: var(--btn-input-lg-gap);\n --btn-min-height: var(--btn-input-lg-min-height);\n --btn-padding-y: var(--btn-input-lg-padding-y);\n --btn-padding-x: var(--btn-input-lg-padding-x);\n --btn-font-size: var(--btn-input-lg-font-size);\n --btn-line-height: var(--btn-input-lg-line-height);\n --btn-border-radius: var(--btn-input-lg-border-radius);\n }\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n .btn-check > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n .btn-check:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n background-image: none;\n border-color: var(--btn-active-border-color);\n box-shadow: var(--btn-active-shadow);\n }\n .btn-check:has(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn-check:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n background-image: none;\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n box-shadow: none;\n }\n .btn-styled {\n --btn-gradient-start: rgba(255, 255, 255, 0.125);\n --btn-gradient-end: rgba(0, 0, 0, 0.075);\n --btn-border-mix-color: #000;\n --btn-border-mix-amount: 10%;\n --btn-border-hover-mix-amount: 12.5%;\n --btn-border-active-mix-amount: 20%;\n --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n }\n .btn-styled:hover {\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n .btn-styled:active, .btn-styled.active, .btn-styled.show {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n .btn-styled:disabled, .btn-styled.disabled {\n background-image: none;\n box-shadow: none;\n }\n}\n@layer components {\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n }\n .btn-group > [class*=btn-],\n .btn-group-vertical > [class*=btn-] {\n position: relative;\n flex: 1 1 auto;\n }\n .btn-group > [class*=btn-]:hover,\n .btn-group-vertical > [class*=btn-]:hover {\n z-index: 1;\n }\n .btn-group > .btn-check:has(input:checked),\n .btn-group > [class*=btn-]:active,\n .btn-group > [class*=btn-].active,\n .btn-group-vertical > .btn-check:has(input:checked),\n .btn-group-vertical > [class*=btn-]:active,\n .btn-group-vertical > [class*=btn-].active {\n z-index: 2;\n }\n .btn-group > .btn-check:has(input:focus),\n .btn-group > [class*=btn-]:focus,\n .btn-group-vertical > .btn-check:has(input:focus),\n .btn-group-vertical > [class*=btn-]:focus {\n z-index: 3;\n }\n .btn-group-divider > [class*=btn-] + [class*=btn-]::before {\n position: absolute;\n z-index: 3;\n content: \"\";\n background-color: var(--btn-color);\n opacity: 0.25;\n }\n .btn-group:where(.btn-group-divider) > [class*=btn-] + [class*=btn-]::before {\n top: 25%;\n bottom: 25%;\n left: calc(var(--btn-border-width) * -1);\n width: var(--btn-border-width);\n }\n .btn-group-vertical:where(.btn-group-divider) > [class*=btn-] + [class*=btn-]::before {\n top: calc(var(--btn-border-width) * -1);\n right: var(--btn-padding-x);\n left: var(--btn-padding-x);\n height: var(--btn-border-width);\n }\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n justify-content: flex-start;\n }\n .btn-toolbar .input-group {\n width: auto;\n }\n .btn-group {\n border-radius: var(--btn-border-radius);\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n .btn-group > [class*=btn-]:not(:last-child, :has(+ .menu)),\n .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n }\n .btn-group-vertical > [class*=btn-],\n .btn-group-vertical > .btn-group {\n width: 100%;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n .btn-group-vertical > [class*=btn-]:not(:last-child, :has(+ .menu)),\n .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n}\n@layer components {\n .btn-close {\n --btn-close-size: 1.25rem;\n --btn-close-color: inherit;\n --btn-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M12 0a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4zm-.646 4.646a.5.5 0 0 0-.707 0L8 7.293 5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.647a.5.5 0 1 0 .708.707L8 8.707l2.647 2.646a.5.5 0 1 0 .707-.707L8.707 8l2.646-2.646a.5.5 0 0 0 0-.708z'/%3e%3c/svg%3e\");\n --btn-close-opacity: 0.5;\n --btn-close-hover-opacity: 0.75;\n --btn-close-focus-opacity: 0.85;\n --btn-close-disabled-opacity: 0.25;\n box-sizing: content-box;\n min-width: var(--btn-close-size);\n min-height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background-color: currentcolor;\n border: 0;\n border-radius: var(--radius-4);\n opacity: var(--btn-close-opacity);\n mask-image: var(--btn-close-icon);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: contain;\n }\n .btn-close:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n .btn-close:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n outline: var(--focus-ring);\n }\n .btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n}\n@layer components {\n .accordion {\n --accordion-padding-x: 1.25rem;\n --accordion-padding-y: 1rem;\n --accordion-color: var(--fg-body);\n --accordion-bg: var(--bg-body);\n --accordion-transition-property: color, background-color, border-radius;\n --accordion-transition-duration: 0.15s;\n --accordion-transition-timing: ease-in-out;\n --accordion-panel-transition-property: content-visibility, block-size;\n --accordion-panel-transition-duration: 0.2s;\n --accordion-panel-transition-timing: ease;\n --accordion-border-color: var(--border-color);\n --accordion-border-width: var(--border-width);\n --accordion-border-radius: var(--accordion-radius, var(--radius-7));\n --accordion-gap: 0;\n --accordion-btn-color: var(--fg-2);\n --accordion-btn-bg: var(--bg-body);\n --accordion-btn-icon-width: 1rem;\n --accordion-btn-icon-transform: rotate(-180deg);\n --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --accordion-active-color: var(--fg-body);\n --accordion-active-bg: var(--bg-2);\n }\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--body-font-size));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none;\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n }\n @media (prefers-reduced-motion: no-preference) {\n .accordion-header {\n transition-timing-function: var(--accordion-transition-timing);\n transition-duration: var(--accordion-transition-duration);\n transition-property: var(--accordion-transition-property);\n }\n }\n .accordion-header::-webkit-details-marker {\n display: none;\n }\n .accordion-header .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n }\n @media (prefers-reduced-motion: no-preference) {\n .accordion-header .accordion-icon {\n transition: var(--accordion-btn-icon-transition);\n }\n }\n .accordion-header:hover {\n z-index: 2;\n }\n .accordion-header:focus-visible {\n position: relative;\n z-index: 3;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n outline-offset: -1px;\n }\n .accordion-item {\n position: relative;\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n }\n @media (prefers-reduced-motion: no-preference) {\n .accordion-item {\n interpolate-size: allow-keywords;\n }\n }\n .accordion-item::details-content {\n block-size: 0;\n overflow-y: clip;\n }\n @media (prefers-reduced-motion: no-preference) {\n .accordion-item::details-content {\n transition-timing-function: var(--accordion-panel-transition-timing);\n transition-duration: var(--accordion-panel-transition-duration);\n transition-property: var(--accordion-panel-transition-property);\n transition-behavior: allow-discrete;\n }\n }\n .accordion-item:first-of-type {\n border-start-start-radius: var(--accordion-border-radius);\n border-start-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:first-of-type > .accordion-header {\n border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:not(:first-of-type) {\n margin-block-start: calc(-1 * var(--accordion-border-width));\n }\n .accordion-item:last-of-type {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:last-of-type > .accordion-header {\n border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:last-of-type > .accordion-body {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item[open] {\n z-index: 2;\n border-color: var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open]::details-content {\n block-size: auto;\n }\n .accordion-item[open] > .accordion-header {\n color: var(--theme-fg, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n .accordion-item[open]:last-of-type > .accordion-header {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--body-font-size));\n }\n .accordion-sm {\n --accordion-padding-x: .875rem;\n --accordion-padding-y: .625rem;\n --accordion-border-radius: var(--radius-5);\n --accordion-font-size: var(--font-size-sm);\n }\n .accordion-gap {\n --accordion-gap: var(--spacer-2);\n display: flex;\n flex-direction: column;\n gap: var(--accordion-gap);\n }\n .accordion-gap > .accordion-item {\n margin-block-start: 0;\n overflow: clip;\n border-radius: var(--accordion-border-radius);\n }\n .accordion-gap > .accordion-item > .accordion-header,\n .accordion-gap > .accordion-item > .accordion-body {\n border-radius: 0;\n }\n .accordion-flush > .accordion-item {\n border-inline: 0;\n border-radius: 0;\n }\n .accordion-flush > .accordion-item:first-child {\n border-block-start: 0;\n }\n .accordion-flush > .accordion-item:last-child {\n border-block-end: 0;\n }\n .accordion-flush > .accordion-item > .accordion-header,\n .accordion-flush > .accordion-item > .accordion-body {\n border-radius: 0;\n }\n}\n@layer components {\n .alert {\n --alert-gap: var(--spacer-3);\n --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n --alert-padding-x: var(--spacer);\n --alert-padding-y: var(--spacer);\n --alert-color: var(--theme-fg, inherit);\n --alert-border-color: var(--theme-border, var(--border-color));\n --alert-border: var(--border-width) solid var(--alert-border-color);\n --alert-border-radius: var(--radius-5);\n --alert-link-color: inherit;\n --alert-transition-property: opacity;\n --alert-transition-duration: 0.15s;\n --alert-transition-timing: linear;\n --hr-border-color: var(--theme-border, var(--border-color));\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n border-radius: var(--alert-border-radius);\n }\n @media (prefers-reduced-motion: no-preference) {\n .alert:not(.alert-instant) {\n transition-timing-function: var(--alert-transition-timing);\n transition-duration: var(--alert-transition-duration);\n transition-property: var(--alert-transition-property);\n }\n }\n .alert.hiding {\n opacity: 0;\n }\n .alert > p {\n margin-bottom: 0;\n }\n .alert-heading {\n color: inherit;\n }\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n@layer components {\n .avatar {\n --avatar-size: 2.5rem;\n --avatar-border-radius: 50%;\n --avatar-border-width: 2px;\n --avatar-border-color: var(--bg-body);\n --avatar-bg: var(--bg-2);\n --avatar-color: var(--fg-body);\n --avatar-status-size: 0.75rem;\n --avatar-status-border-width: 2px;\n --avatar-status-border-color: var(--bg-body);\n --avatar-stack-spacing: -0.3;\n --avatar-stack-transition: transform .2s ease-in-out;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * 0.4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n border-radius: var(--avatar-border-radius);\n }\n .avatar > .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .avatar-subtle {\n color: var(--theme-fg, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n .avatar-img {\n border-radius: var(--avatar-border-radius, 50%);\n }\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n border-radius: 50%;\n }\n .avatar-status.status-online {\n background-color: var(--green-500);\n }\n .avatar-status.status-offline {\n background-color: var(--gray-400);\n border-radius: 20%;\n }\n .avatar-status.status-busy {\n background-color: var(--red-500);\n border-radius: 20%;\n }\n .avatar-status.status-away {\n background-color: var(--yellow-500);\n }\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n .avatar-stack .avatar {\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n }\n @media (prefers-reduced-motion: no-preference) {\n .avatar-stack .avatar {\n transition: var(--avatar-stack-transition);\n }\n }\n .avatar-stack .avatar:last-child {\n margin-left: 0;\n }\n .avatar-stack .avatar:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n .avatar-xs,\n .avatar-stack-xs > .avatar {\n --avatar-size: 1.5rem;\n --avatar-status-size: 0.625rem;\n }\n .avatar-sm,\n .avatar-stack-sm > .avatar {\n --avatar-size: 2rem;\n }\n .avatar-lg,\n .avatar-stack-lg > .avatar {\n --avatar-size: 3rem;\n --avatar-status-size: 1rem;\n --avatar-border-width: 3px;\n }\n .avatar-xl,\n .avatar-stack-xl > .avatar {\n --avatar-size: 4rem;\n --avatar-status-size: 1.25rem;\n --avatar-border-width: 4px;\n }\n}\n@layer components {\n .badge {\n --badge-gap: 0.375em;\n --badge-padding-x: 0.625em;\n --badge-padding-y: 0.25em;\n --badge-font-size: clamp(12px, 0.75em, 0.75em);\n --badge-font-weight: var(--font-weight-semibold);\n --badge-color: inherit;\n --badge-bg: var(--bg-2);\n --badge-border-width: var(--border-width);\n --badge-border-color: transparent;\n --badge-border-radius: var(--radius-7);\n display: inline-flex;\n gap: var(--badge-gap);\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n border-radius: var(--badge-border-radius);\n }\n .badge:empty {\n display: none;\n }\n a.badge {\n text-decoration: none;\n }\n .btn .badge {\n position: relative;\n top: -1px;\n }\n .badge-subtle {\n --badge-color: var(--theme-fg);\n --badge-bg: var(--theme-bg-subtle);\n --badge-border-color: transparent;\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n .badge-outline {\n --badge-color: var(--theme-fg);\n --badge-bg: transparent;\n --badge-border-color: var(--theme-border);\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n .badge-lg {\n --badge-padding-x: 1rem;\n --badge-padding-y: .5rem;\n }\n}\n@layer components {\n .breadcrumb {\n --breadcrumb-font-size: inherit;\n --breadcrumb-bg: transparent;\n --breadcrumb-border-radius: var(--radius-5);\n --breadcrumb-divider-color: var(--fg-4);\n --breadcrumb-divider-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 16'%3e%3cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2 2l4 6-4 6'/%3e%3c/svg%3e\");\n --breadcrumb-divider-width: 0.375rem;\n --breadcrumb-divider-height: 0.75rem;\n --breadcrumb-link-padding-x: 0.75rem;\n --breadcrumb-link-padding-y: 0.25rem;\n --breadcrumb-link-color: var(--fg-3);\n --breadcrumb-link-hover-color: var(--fg-2);\n --breadcrumb-link-hover-bg: var(--bg-1);\n --breadcrumb-link-active-color: var(--fg-1);\n --breadcrumb-link-border-radius: var(--radius-7);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n margin-bottom: 0;\n font-size: var(--breadcrumb-font-size);\n list-style-type: \"\";\n background-color: var(--breadcrumb-bg);\n border-radius: var(--breadcrumb-border-radius);\n }\n .breadcrumb-item {\n display: flex;\n }\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n .breadcrumb-divider:empty::before {\n display: block;\n width: var(--breadcrumb-divider-width);\n height: var(--breadcrumb-divider-height);\n content: \"\";\n background-color: currentcolor;\n mask-image: var(--breadcrumb-divider-icon);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: contain;\n }\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n border-radius: var(--breadcrumb-link-border-radius);\n }\n @media (prefers-reduced-motion: no-preference) {\n .breadcrumb-link {\n transition: 0.1s text-decoration-color ease-in-out;\n }\n }\n .breadcrumb-link:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n .breadcrumb-link.active {\n color: var(--breadcrumb-link-active-color);\n }\n}\n@layer components {\n [data-vc=calendar] {\n --calendar-padding: 0;\n --calendar-color: var(--fg-body);\n --calendar-font-size: var(--font-size-sm);\n --calendar-header-font-weight: 600;\n --calendar-weekday-color: var(--fg-3);\n --calendar-day-hover-bg: var(--bg-1);\n --calendar-day-selected-bg: var(--primary-bg);\n --calendar-day-selected-color: var(--primary-contrast);\n --calendar-day-today-bg: var(--bg-2);\n --calendar-day-today-color: var(--fg-1);\n --calendar-day-disabled-color: var(--fg-4);\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: fit-content;\n padding: var(--calendar-padding);\n font-family: var(--body-font-family);\n font-size: var(--calendar-font-size);\n color: var(--calendar-color);\n color-scheme: light dark;\n }\n [data-vc=calendar][data-bs-theme=light] {\n color-scheme: light;\n }\n [data-vc=calendar][data-bs-theme=dark] {\n color-scheme: dark;\n }\n [data-vc=calendar] button:focus-visible {\n position: relative;\n z-index: 1;\n outline: var(--focus-ring);\n }\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--calendar-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--radius-5);\n }\n [data-vc-arrow]::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-color: var(--calendar-color);\n mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n mask-repeat: no-repeat;\n mask-position: center;\n }\n [data-vc-arrow]:hover {\n background-color: var(--calendar-day-hover-bg);\n }\n [data-vc-arrow=prev]::before {\n transform: rotate(90deg);\n }\n [data-vc-arrow=next]::before {\n transform: rotate(-90deg);\n }\n [data-vc=controls] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-block-start: var(--calendar-padding);\n padding-inline: var(--calendar-padding);\n pointer-events: none;\n }\n [data-vc=grid] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n [data-vc=column] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n [data-vc=header] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: 0.75rem;\n }\n [data-vc-header=content] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n [data-vc=month],\n [data-vc=year] {\n padding: 0.25rem 0.5rem;\n margin-inline: -0.125rem;\n font-size: 1rem;\n font-weight: var(--calendar-header-font-weight);\n color: var(--calendar-color);\n background-color: transparent;\n border: 0;\n border-radius: var(--radius-5);\n }\n [data-vc=month]:disabled,\n [data-vc=year]:disabled {\n color: var(--calendar-day-disabled-color);\n pointer-events: none;\n }\n [data-vc=month]:hover:not(:disabled),\n [data-vc=year]:hover:not(:disabled) {\n background-color: var(--calendar-day-hover-bg);\n }\n [data-vc=content] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n [data-vc=months],\n [data-vc=years] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n row-gap: 1rem;\n }\n [data-vc-months=row],\n [data-vc-years=row] {\n display: grid;\n grid-template-columns: repeat(var(--calendar-columns, 4), minmax(0, 1fr));\n column-gap: 0.25rem;\n align-items: center;\n }\n [data-vc=years] {\n --calendar-columns: 5;\n }\n [data-vc-months=cell],\n [data-vc-years=cell] {\n display: flex;\n }\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 2.5rem;\n padding: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--calendar-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--radius-5);\n }\n [data-vc-months-month]:disabled,\n [data-vc-years-year]:disabled {\n color: var(--calendar-day-disabled-color);\n pointer-events: none;\n }\n [data-vc-months-month]:hover:not(:disabled),\n [data-vc-years-year]:hover:not(:disabled) {\n background-color: var(--calendar-day-hover-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n [data-vc-years-year][data-vc-months-month-selected],\n [data-vc-years-year][data-vc-years-year-selected] {\n color: var(--calendar-day-selected-color);\n background-color: var(--calendar-day-selected-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n [data-vc-years-year][data-vc-months-month-selected]:hover,\n [data-vc-years-year][data-vc-years-year-selected]:hover {\n color: var(--calendar-day-selected-color);\n background-color: var(--calendar-day-selected-bg);\n }\n [data-vc=week] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: 0.5rem;\n }\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--calendar-weekday-color);\n background-color: transparent;\n border: 0;\n }\n button[data-vc-week-day] {\n cursor: pointer;\n }\n [data-vc=dates] {\n pointer-events: none;\n }\n [data-vc-dates=row] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n pointer-events: auto;\n }\n [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--calendar-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--radius-5);\n }\n [data-vc-date-btn]:hover {\n background-color: var(--calendar-day-hover-bg);\n }\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--calendar-day-today-color);\n background-color: var(--calendar-day-today-bg);\n }\n [data-vc-date-month=next] [data-vc-date-btn],\n [data-vc-date-month=prev] [data-vc-date-btn] {\n opacity: 0.5;\n }\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--calendar-day-disabled-color);\n }\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--calendar-day-hover-bg);\n border-radius: 0;\n }\n [data-vc-date-hover=first] [data-vc-date-btn] {\n border-start-start-radius: var(--radius-5);\n border-end-start-radius: var(--radius-5);\n }\n [data-vc-date-hover=last] [data-vc-date-btn] {\n border-start-end-radius: var(--radius-5);\n border-end-end-radius: var(--radius-5);\n }\n [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n border-radius: var(--radius-5);\n }\n [data-vc-date-selected=middle] [data-vc-date-btn] {\n border-radius: 0;\n opacity: 0.8;\n }\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--calendar-day-selected-color);\n background-color: var(--calendar-day-selected-bg);\n }\n [data-vc-date-selected=first] [data-vc-date-btn] {\n border-top-left-radius: var(--radius-5);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--radius-5);\n }\n [data-vc-date-selected=last] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--radius-5);\n border-bottom-right-radius: var(--radius-5);\n border-bottom-left-radius: 0;\n }\n [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n border-radius: var(--radius-5);\n }\n}\n@layer components {\n .chip {\n --chip-height: 1.75rem;\n --chip-padding-x: 0.625rem;\n --chip-gap: 0.3125rem;\n --chip-border-radius: var(--radius-pill);\n --chip-img-size: 1.25rem;\n --chip-icon-size: 1rem;\n --chip-dismiss-size: 1rem;\n --chip-dismiss-opacity: 0.65;\n --chip-dismiss-hover-opacity: 1;\n --chip-color: var(--theme-fg, var(--fg-body));\n --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n --chip-border-color: transparent;\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n border-radius: var(--chip-border-radius);\n }\n .chip:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n .chip:focus-visible {\n outline: 0;\n }\n .chip.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n }\n .chip.active:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: 0.9;\n }\n .chip.disabled, .chip:disabled {\n pointer-events: none;\n opacity: 0.65;\n }\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n border-radius: 50%;\n }\n .chip-img:first-child {\n margin-inline-start: -0.375rem;\n }\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -0.25);\n }\n .chip-icon > svg {\n display: block;\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n .chip-icon > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n border-radius: 50%;\n }\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n padding: 0;\n margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n }\n .chip-dismiss:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n .chip-dismiss:focus-visible {\n outline: 0;\n opacity: 1;\n outline: var(--focus-ring);\n }\n .chip-dismiss > svg {\n display: block;\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n}\n@layer components {\n .card {\n --card-spacer-y: var(--spacer-6);\n --card-spacer-x: var(--spacer-6);\n --card-subtitle-color: inherit;\n --card-border-width: var(--border-width);\n --card-border-color: var(--border-color);\n --card-border-radius: var(--radius-7);\n --card-box-shadow: none;\n --card-inner-border-radius: calc(var(--card-border-radius) - var(--border-width));\n --card-cap-padding-y: var(--spacer-3);\n --card-cap-padding-x: var(--spacer-5);\n --card-cap-bg: var(--bg-1);\n --card-cap-color: inherit;\n --card-height: auto;\n --card-color: inherit;\n --card-bg: var(--bg-body);\n --card-img-overlay-padding: var(--card-spacer-y);\n --card-group-margin: 0.75rem;\n --card-body-gap: calc(var(--card-spacer-y) * 0.5);\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n border-radius: var(--card-border-radius);\n box-shadow: var(--card-box-shadow);\n }\n .card > hr {\n margin-inline: 0;\n }\n .card > :is(.card-img-top, .card-img-bottom, .card-body, .list-group) + :is(.card-body, .card-img-bottom, .list-group) {\n border-block-start: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card > .list-group:first-child {\n border-start-start-radius: var(--card-inner-border-radius);\n border-start-end-radius: var(--card-inner-border-radius);\n }\n .card > .list-group:last-child {\n border-end-start-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: stretch;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n }\n .card-body > * {\n margin-block: 0;\n }\n .card-body > [class*=btn-] {\n align-self: start;\n }\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -0.5);\n }\n .card-header {\n display: flex;\n flex-direction: column;\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0;\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border-bottom: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-header:first-child {\n border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n }\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border-top: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-footer:last-child {\n border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n }\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .card-translucent .card-header,\n .card-translucent .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-header {\n color: var(--theme-fg-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-footer {\n color: var(--theme-fg-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle > :is(.card-body, .list-group) {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .nav.card-header-tabs {\n margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y) - var(--nav-tabs-border-width));\n border-block-end: 0;\n }\n .nav.card-header-tabs .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n border-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%;\n }\n .card-img {\n border-radius: var(--radius-5);\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n .card-img-top {\n border-start-start-radius: var(--card-inner-border-radius);\n border-start-end-radius: var(--card-inner-border-radius);\n }\n .card-img-bottom {\n border-end-start-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-row {\n flex-direction: row;\n }\n .card-row > :is(.card-img-start, .card-img-end, .card-body, .list-group) + :is(.card-body, .card-img-end, .list-group) {\n border-block-start: 0;\n border-inline-start: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-row > .list-group:first-child {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n }\n .card-row > .list-group:last-child {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-img-start {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n }\n .card-img-end {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-group > .card {\n margin-bottom: var(--card-group-margin);\n }\n @container (width >= 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n border-inline-start-width: 0;\n }\n .card-group > .card:not(:last-child) {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-top,\n .card-group > .card:not(:last-child) > .card-header,\n .card-group > .card:not(:last-child) > .list-group {\n border-start-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-bottom,\n .card-group > .card:not(:last-child) > .card-footer,\n .card-group > .card:not(:last-child) > .list-group {\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-top,\n .card-group > .card:not(:first-child) > .card-header,\n .card-group > .card:not(:first-child) > .list-group {\n border-start-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-bottom,\n .card-group > .card:not(:first-child) > .card-footer,\n .card-group > .card:not(:first-child) > .list-group {\n border-end-start-radius: 0;\n }\n }\n}\n@layer components {\n .carousel {\n --carousel-gap: 0.75rem;\n --carousel-indicator-bg: var(--fg-3);\n --carousel-indicator-width: 0.75rem;\n --carousel-indicator-height: 0.75rem;\n --carousel-indicator-spacer: 0.25rem;\n --carousel-indicator-opacity-duration: 0.6s;\n --carousel-indicator-opacity-timing: ease;\n --carousel-indicator-width-duration: 0.3s;\n --carousel-indicator-width-timing: ease;\n --carousel-indicator-progress-bg: var(--carousel-indicator-bg);\n --carousel-control-icon-width: 1rem;\n --carousel-control-prev-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n --carousel-control-next-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n --carousel-control-pause-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5m5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5'/></svg>\");\n --carousel-control-play-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z'/></svg>\");\n --carousel-items: 1;\n --carousel-items-gap: 0px;\n --carousel-items-peek: 0px;\n --carousel-fade-duration: 0.6s;\n --carousel-fade-timing: ease;\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--carousel-gap);\n }\n .carousel-inner {\n display: flex;\n gap: var(--carousel-items-gap);\n width: 100%;\n padding-inline: var(--carousel-items-peek);\n overflow-x: auto;\n overscroll-behavior-x: contain;\n scroll-snap-type: x mandatory;\n scroll-padding-inline: var(--carousel-items-peek);\n scrollbar-width: none;\n }\n .carousel-inner::-webkit-scrollbar {\n display: none;\n }\n @media (prefers-reduced-motion: no-preference) {\n .carousel-inner {\n scroll-behavior: smooth;\n }\n }\n .carousel-item {\n flex: 0 0 calc((100% - (var(--carousel-items) - 1) * var(--carousel-items-gap)) / var(--carousel-items));\n min-width: 0;\n scroll-snap-align: start;\n scroll-snap-stop: always;\n }\n .carousel-center .carousel-item {\n scroll-snap-align: center;\n }\n .carousel-auto .carousel-item {\n flex-basis: auto;\n }\n .carousel-fade .carousel-inner {\n display: grid;\n overflow: hidden;\n scroll-snap-type: none;\n }\n .carousel-fade .carousel-item {\n grid-area: 1/1;\n width: 100%;\n visibility: hidden;\n opacity: 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .carousel-fade .carousel-item {\n transition: opacity var(--carousel-fade-duration) var(--carousel-fade-timing), visibility 0s linear var(--carousel-fade-duration);\n }\n }\n .carousel-fade .carousel-item.active {\n visibility: visible;\n opacity: 1;\n }\n @media (prefers-reduced-motion: no-preference) {\n .carousel-fade .carousel-item.active {\n transition: opacity var(--carousel-fade-duration) var(--carousel-fade-timing);\n }\n }\n .carousel-icon-prev,\n .carousel-icon-next,\n .carousel-icon-pause,\n .carousel-icon-play {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-color: currentcolor;\n mask-repeat: no-repeat;\n mask-position: 50%;\n mask-size: 100% 100%;\n }\n .carousel-icon-prev {\n mask-image: var(--carousel-control-prev-icon);\n }\n .carousel-icon-next {\n mask-image: var(--carousel-control-next-icon);\n }\n [dir=rtl] .carousel-icon-prev,\n [dir=rtl] .carousel-icon-next {\n transform: scaleX(-1);\n }\n .carousel-icon-pause {\n mask-image: var(--carousel-control-pause-icon);\n }\n .carousel-icon-play {\n mask-image: var(--carousel-control-play-icon);\n }\n .carousel-control-play-pause .carousel-icon-play {\n display: none;\n }\n .carousel-control-play-pause.paused .carousel-icon-pause {\n display: none;\n }\n .carousel-control-play-pause.paused .carousel-icon-play {\n display: inline-block;\n }\n .carousel-indicators {\n display: flex;\n gap: var(--carousel-indicator-spacer);\n justify-content: center;\n }\n .carousel-indicators [data-bs-target] {\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n cursor: pointer;\n background-color: transparent;\n border: 1px solid var(--carousel-indicator-bg);\n border-radius: var(--carousel-indicator-width);\n }\n @media (prefers-reduced-motion: no-preference) {\n .carousel-indicators [data-bs-target] {\n transition: opacity var(--carousel-indicator-opacity-duration) var(--carousel-indicator-opacity-timing), width var(--carousel-indicator-width-duration) var(--carousel-indicator-width-timing);\n }\n }\n .carousel-indicators .active {\n width: calc(var(--carousel-indicator-width) * 2.5);\n background-color: var(--carousel-indicator-bg);\n border-color: var(--carousel-indicator-bg);\n }\n @keyframes carousel-indicator-progress {\n from {\n inline-size: 0;\n }\n to {\n inline-size: 100%;\n }\n }\n @media (prefers-reduced-motion: no-preference) {\n .carousel-playing .carousel-indicators .active {\n position: relative;\n overflow: hidden;\n background-color: transparent;\n }\n .carousel-playing .carousel-indicators .active::after {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n inline-size: 0;\n content: \"\";\n background-color: var(--carousel-indicator-progress-bg);\n animation: carousel-indicator-progress var(--carousel-interval, 5000ms) linear forwards;\n }\n }\n .carousel-overlay {\n --carousel-indicator-bg: light-dark(var(--white), var(--black));\n }\n .carousel-overlay .carousel-overlay-controls {\n position: absolute;\n inset-block-end: 1rem;\n inset-inline: 1rem;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n}\n@layer components {\n [data-vc=calendar][data-vc-input] {\n --datepicker-padding: 1rem;\n --datepicker-bg: var(--bg-body);\n --datepicker-border-color: var(--border-color-translucent);\n --datepicker-border-width: var(--border-width);\n --datepicker-border-radius: var(--radius-7);\n --datepicker-box-shadow: var(--box-shadow);\n --datepicker-min-width: 280px;\n --datepicker-zindex: var(--z-menu);\n --calendar-padding: var(--datepicker-padding);\n position: absolute;\n z-index: var(--datepicker-zindex);\n min-width: var(--datepicker-min-width);\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n border-radius: var(--datepicker-border-radius);\n }\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n [data-vc-position=bottom] {\n margin-block-start: 0.25rem;\n }\n [data-vc-position=top] {\n margin-block-end: -0.25rem;\n }\n}\n@layer components {\n :root.dialog-open {\n overflow: hidden;\n }\n .dialog {\n --dialog-padding: 1rem;\n --dialog-width: 500px;\n --dialog-margin: 1.75rem;\n --dialog-color: var(--fg-body);\n --dialog-bg: var(--bg-body);\n --dialog-border-color: var(--border-color-translucent);\n --dialog-border-width: var(--border-width);\n --dialog-border-radius: var(--radius-7);\n --dialog-box-shadow: var(--box-shadow-xl);\n --dialog-transition-property: opacity, transform, visibility;\n --dialog-transition-duration: 0.3s;\n --dialog-transition-timing: var(--transition-timing-overlay);\n --dialog-backdrop-bg: light-dark(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.65));\n --dialog-backdrop-blur: 8px;\n --dialog-header-padding: 1rem;\n --dialog-header-border-color: var(--border-color-translucent);\n --dialog-header-border-width: var(--border-width);\n --dialog-footer-padding: 1rem;\n --dialog-footer-border-color: var(--border-color-translucent);\n --dialog-footer-border-width: var(--border-width);\n --dialog-footer-gap: 0.5rem;\n display: flex;\n flex-direction: column;\n width: var(--dialog-width);\n max-width: calc(100% - var(--dialog-margin) * 2);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n overflow: visible;\n color: var(--dialog-color);\n visibility: hidden;\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog:not(.dialog-instant) {\n opacity: 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .dialog:not(.dialog-instant) {\n transition-timing-function: var(--dialog-transition-timing);\n transition-duration: var(--dialog-transition-duration);\n transition-property: var(--dialog-transition-property);\n }\n }\n .dialog:not(.dialog-instant).dialog-slide-down {\n transform: translateY(-3rem);\n }\n .dialog:not(.dialog-instant).dialog-slide-up {\n transform: translateY(3rem);\n }\n .dialog:not(.dialog-instant)[open]:not(.hiding) {\n overflow: visible;\n visibility: visible;\n opacity: 1;\n transform: none;\n }\n .dialog:not(.dialog-instant)[open].dialog-static:not(.hiding) {\n transform: scale(1.02);\n }\n .dialog:not(.dialog-instant)::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n @media (prefers-reduced-motion: no-preference) {\n .dialog:not(.dialog-instant)::backdrop {\n transition: background-color var(--dialog-transition-duration) var(--dialog-transition-timing), backdrop-filter var(--dialog-transition-duration) var(--dialog-transition-timing), display var(--dialog-transition-duration) allow-discrete, overlay var(--dialog-transition-duration) allow-discrete;\n }\n }\n .dialog:not(.dialog-instant).hiding::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n .dialog.dialog-instant::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n .dialog[open]:not(.hiding) {\n overflow: visible;\n visibility: visible;\n opacity: 1;\n transform: none;\n }\n .dialog.dialog-nonmodal {\n position: fixed;\n inset: 0;\n z-index: var(--z-dialog);\n height: fit-content;\n }\n .dialog.dialog-scrollable[open] {\n max-height: calc(100% - var(--dialog-margin) * 2);\n }\n .dialog.dialog-scrollable[open] .dialog-body {\n overflow-y: auto;\n }\n @starting-style {\n .dialog:not(.dialog-instant)::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n .dialog.dialog-swap-in:not(.dialog-instant)::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n }\n .dialog-sm {\n --dialog-width: 280px;\n }\n .dialog-lg {\n --dialog-width: 800px;\n }\n .dialog-xl {\n --dialog-width: 1140px;\n }\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n --dialog-border-width: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n @media (width < 576px) {\n .sm-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 768px) {\n .md-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1024px) {\n .lg-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1280px) {\n .xl-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1536px) {\n .\\32 xl-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n }\n .dialog-header .btn-close {\n margin-inline-start: auto;\n }\n .dialog-title {\n margin-bottom: 0;\n line-height: 1.25;\n font-size: var(--font-size-md);\n }\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n }\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n@layer components {\n .menu {\n --menu-zindex: var(--z-menu);\n --menu-gap: 0.125rem;\n --menu-min-width: 10rem;\n --menu-padding-x: 0.25rem;\n --menu-padding-y: 0.25rem;\n --menu-spacer: 0.125rem;\n --menu-font-size: var(--font-size-sm);\n --menu-color: var(--fg-body);\n --menu-bg: var(--bg-body);\n --menu-box-shadow: var(--box-shadow-lg);\n --menu-divider-bg: var(--border-color-translucent);\n --menu-divider-margin-y: 0.125rem;\n --menu-divider-margin-x: 0.25rem;\n --menu-item-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-bg: var(--bg-1);\n --menu-item-active-color: var(--primary-contrast);\n --menu-item-active-bg: var(--primary-bg);\n --menu-item-disabled-color: var(--fg-3);\n --menu-item-gap: 0.5rem;\n --menu-item-padding-x: 0.75rem;\n --menu-item-padding-y: 0.25rem;\n --menu-item-border-radius: var(--radius-5);\n --menu-icon-size: 1rem;\n --menu-description-font-size: var(--font-size-xs);\n --menu-check-color: currentcolor;\n --menu-header-color: var(--fg-3);\n --menu-header-padding-x: 0.75rem;\n --menu-header-padding-y: 0.25rem;\n --menu-transition-property: opacity, transform, display;\n --menu-transition-duration: 0.15s;\n --menu-transition-timing: var(--transition-timing-overlay);\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style-type: \"\";\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n border-radius: var(--menu-border-radius, var(--radius-7));\n box-shadow: var(--menu-box-shadow);\n opacity: 0;\n transform: scale(0.95);\n transform-origin: top start;\n }\n .menu[data-bs-placement^=top] {\n transform-origin: bottom start;\n }\n .menu[data-bs-placement=bottom-end] {\n transform-origin: top end;\n }\n .menu[data-bs-placement=top-end] {\n transform-origin: bottom end;\n }\n .menu[data-bs-placement^=left] {\n transform-origin: top end;\n }\n @media (prefers-reduced-motion: no-preference) {\n .menu {\n transition-timing-function: var(--menu-transition-timing);\n transition-duration: var(--menu-transition-duration);\n transition-property: var(--menu-transition-property);\n transition-behavior: allow-discrete;\n }\n }\n .menu.show {\n display: flex;\n opacity: 1;\n transform: none;\n }\n @starting-style {\n .menu.show {\n opacity: 0;\n transform: scale(0.95);\n }\n }\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-fg, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n border-radius: var(--menu-item-border-radius, 0);\n }\n .menu-item:hover, .menu-item:focus {\n color: var(--theme-fg-emphasis, var(--menu-item-hover-color));\n background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n }\n .menu-item.active, .menu-item:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n background-color: var(--theme-bg, var(--menu-item-active-bg));\n }\n .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n color: inherit !important;\n }\n .menu-item.selected {\n font-weight: var(--font-weight-semibold);\n }\n .menu-item.disabled, .menu-item:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n background-image: none;\n }\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: 0.125rem;\n }\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: 0.125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n }\n .selected > .menu-item-check {\n visibility: visible;\n }\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n .submenu {\n position: relative;\n }\n .submenu > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .submenu > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 0.125em 0.125em 0;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu > .menu-item::after {\n transform: rotate(135deg);\n }\n .submenu > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n .submenu.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n}\n@layer components {\n .list-group {\n --list-group-color: var(--fg-body);\n --list-group-bg: var(--bg-body);\n --list-group-border-color: var(--border-color);\n --list-group-border-width: var(--border-width);\n --list-group-border-radius: var(--radius-5);\n --list-group-item-padding-x: var(--spacer);\n --list-group-item-padding-y: var(--spacer-2);\n --list-group-action-color: var(--fg-2);\n --list-group-action-hover-color: var(--fg-1);\n --list-group-action-hover-bg: var(--bg-1);\n --list-group-action-active-color: var(--fg-body);\n --list-group-action-active-bg: var(--bg-2);\n --list-group-disabled-color: var(--fg-3);\n --list-group-disabled-bg: var(--bg-body);\n --list-group-active-color: var(--primary-contrast);\n --list-group-active-bg: var(--primary-bg);\n --list-group-active-border-color: var(--primary-bg);\n display: flex;\n flex-direction: column;\n padding-inline-start: 0;\n margin-bottom: 0;\n border-radius: var(--list-group-border-radius);\n }\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n }\n .list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-fg, var(--list-group-color));\n text-decoration: none;\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n }\n .list-group-item:first-child {\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n }\n .list-group-item:last-child {\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n }\n .list-group-item.disabled, .list-group-item:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n .list-group-item.active {\n z-index: 2;\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n .list-group-item + .list-group-item {\n border-block-start-width: 0;\n }\n .list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n .list-group-item-action {\n width: 100%;\n color: var(--theme-fg, var(--list-group-action-color));\n text-align: inherit;\n text-decoration: none;\n }\n .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n z-index: 1;\n color: var(--theme-fg-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n .list-group-item-action:not(.active):active {\n color: var(--theme-fg-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n .list-group-horizontal {\n flex-direction: row;\n }\n .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n @container (width >= 576px) {\n .sm\\:list-group-horizontal {\n flex-direction: row;\n }\n .sm\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @container (width >= 768px) {\n .md\\:list-group-horizontal {\n flex-direction: row;\n }\n .md\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .md\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .md\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .md\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .md\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @container (width >= 1024px) {\n .lg\\:list-group-horizontal {\n flex-direction: row;\n }\n .lg\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @container (width >= 1280px) {\n .xl\\:list-group-horizontal {\n flex-direction: row;\n }\n .xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:list-group-horizontal {\n flex-direction: row;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n .list-group-flush {\n border-radius: 0;\n }\n .list-group-flush > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n }\n .list-group-flush > .list-group-item:last-child {\n border-block-end-width: 0;\n }\n}\n@layer components {\n .nav {\n --nav-gap: 0.125rem;\n --nav-link-gap: 0.5rem;\n --nav-link-align: center;\n --nav-link-justify: center;\n --nav-link-padding-x: 0.75rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--fg-2);\n --nav-link-hover-color: var(--fg-1);\n --nav-link-hover-bg: var(--bg-1);\n --nav-link-active-color: var(--fg-body);\n --nav-link-active-bg: var(--bg-2);\n --nav-link-disabled-color: var(--fg-4);\n --nav-link-border-width: var(--border-width);\n --nav-link-transition-property: color, background-color, border-color;\n --nav-link-transition-duration: 0.15s;\n --nav-link-transition-timing: ease-in-out;\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style-type: \"\";\n }\n .nav-item {\n display: flex;\n }\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--theme-fg, var(--nav-link-color));\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n border-radius: var(--radius-5);\n }\n @media (prefers-reduced-motion: no-preference) {\n .nav-link {\n transition-timing-function: var(--nav-link-transition-timing);\n transition-duration: var(--nav-link-transition-duration);\n transition-property: var(--nav-link-transition-property);\n }\n }\n .nav-link:hover, .nav-link:focus {\n color: var(--theme-fg-emphasis, var(--nav-link-hover-color));\n background-color: var(--theme-bg-muted, var(--nav-link-hover-bg));\n }\n .nav-link:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--theme-fg-emphasis, var(--nav-link-hover-color));\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .nav-link.active, .nav-link:active {\n color: var(--theme-fg, var(--nav-link-active-color));\n background-color: var(--theme-bg-subtle, var(--nav-link-active-bg));\n }\n .nav-link.disabled, .nav-link:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n .nav-tabs {\n --nav-tabs-border-width: var(--border-width);\n --nav-tabs-border-color: var(--border-color);\n --nav-tabs-border-radius: var(--radius-5);\n --nav-tabs-link-hover-border-color: var(--border-subtle);\n --nav-tabs-link-active-color: var(--fg-color);\n --nav-tabs-link-active-bg: var(--bg-body);\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .nav-tabs .nav-link:hover {\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n .nav-tabs .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .nav-pills {\n --nav-pills-bg: var(--bg-1);\n --nav-pills-padding: 0.25rem;\n --nav-pills-border-radius: var(--radius-9);\n --nav-pills-link-active-color: var(--primary-contrast);\n --nav-pills-link-active-bg: var(--primary-bg);\n --nav-pills-link-border-radius: var(--radius-9);\n display: inline-flex;\n padding: var(--nav-pills-padding);\n background-color: var(--nav-pills-bg);\n border-radius: var(--nav-pills-border-radius);\n }\n .nav-pills .nav-link {\n border-radius: var(--nav-pills-link-border-radius);\n }\n .nav-pills .nav-link.active,\n .nav-pills .show > .nav-link {\n color: var(--theme-contrast, var(--nav-pills-link-active-color));\n background-color: var(--theme-bg, var(--nav-pills-link-active-bg));\n background-image: var(--gradient);\n }\n .nav-pills-vertical {\n flex-direction: column;\n align-items: stretch;\n }\n .nav-pills-vertical .nav-item,\n .nav-pills-vertical .nav-link {\n width: 100%;\n }\n .nav-underline {\n --nav-gap: 1rem;\n --nav-link-active-bg: transparent;\n --nav-underline-border-width: 0.125rem;\n --nav-underline-link-active-color: var(--fg-color);\n }\n .nav-underline .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n border-radius: 0;\n }\n .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-block-end-color: currentcolor;\n }\n .nav-underline .nav-link.active,\n .nav-underline .show > .nav-link {\n font-weight: var(--font-weight-bold);\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n .nav-fill > .nav-link,\n .nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n .nav-justified > .nav-link,\n .nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n }\n .nav-fill .nav-item .nav-link,\n .nav-justified .nav-item .nav-link {\n width: 100%;\n }\n .tab-content > .tab-pane {\n --tab-pane-transition-property: opacity;\n --tab-pane-transition-duration: 0.15s;\n --tab-pane-transition-timing: linear;\n display: none;\n }\n @media (prefers-reduced-motion: no-preference) {\n .tab-content > .tab-pane:not(.tab-pane-instant) {\n transition-timing-function: var(--tab-pane-transition-timing);\n transition-duration: var(--tab-pane-transition-duration);\n transition-property: var(--tab-pane-transition-property);\n }\n }\n .tab-content > .active {\n display: block;\n }\n @starting-style {\n .tab-content > .tab-pane:not(.tab-pane-instant).active {\n opacity: 0;\n }\n }\n}\n@layer components {\n .nav-overflow {\n container-type: inline-size;\n flex: 1 1 0;\n min-width: 0;\n }\n .nav-overflow > .nav {\n display: flex;\n flex-wrap: nowrap;\n min-width: 0;\n }\n .nav-overflow > .nav > .nav-item {\n flex-shrink: 0;\n }\n .nav-overflow-item {\n margin-inline-start: auto;\n }\n .nav-overflow [data-bs-nav-overflow=true] {\n display: none;\n }\n}\n@layer components {\n .navbar {\n --navbar-padding-x: 0;\n --navbar-padding-y: 0.5rem;\n --navbar-min-height: 3.5rem;\n --navbar-color: var(--fg-2);\n --navbar-hover-color: var(--fg-1);\n --navbar-disabled-color: var(--fg-3);\n --navbar-active-color: var(--fg-body);\n --navbar-brand-padding-y: 0.375rem;\n --navbar-brand-margin-end: 1rem;\n --navbar-brand-font-size: var(--font-size-md);\n --navbar-brand-font-weight: var(--font-weight-medium);\n --navbar-brand-color: var(--fg-body);\n --navbar-brand-hover-color: var(--fg-body);\n --navbar-nav-link-padding-x: 0.75rem;\n --navbar-toggler-width: 2rem;\n --navbar-toggler-padding-y: 0.25rem;\n --navbar-toggler-padding-x: 0.75rem;\n --navbar-toggler-font-size: var(--font-size-lg);\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --navbar-toggler-border-radius: var(--radius-5);\n --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n --navbar-toggler-icon-size: 1.25rem;\n --navbar-toggler-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='black' stroke-linecap='round' stroke-width='1' d='M1 3.5h14M1 8h14M1 12.5h14'/%3e%3c/svg%3e\");\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n min-height: var(--navbar-min-height);\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n container-type: inline-size;\n color: var(--navbar-color, var(--fg-body));\n background-color: var(--navbar-bg, var(--bg-body));\n }\n .navbar > .\\32 xl\\:container, .navbar > .xl\\:container, .navbar > .lg\\:container, .navbar > .md\\:container, .navbar > .sm\\:container, .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--theme-fg, var(--navbar-brand-color));\n text-decoration: none;\n white-space: nowrap;\n }\n .navbar-brand:hover, .navbar-brand:focus {\n color: var(--theme-fg-emphasis, var(--navbar-brand-hover-color));\n }\n .navbar-nav {\n --nav-gap: 0.25rem;\n --nav-link-gap: 0.5rem;\n --nav-link-padding-x: 0.5rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--navbar-color);\n --nav-link-border-width: var(--border-width);\n --nav-link-hover-color: var(--navbar-hover-color);\n --nav-link-hover-bg: transparent;\n --nav-link-active-color: var(--navbar-active-color);\n --nav-link-active-bg: transparent;\n --nav-link-disabled-color: var(--navbar-disabled-color);\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style-type: \"\";\n }\n .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--theme-fg, var(--navbar-active-color));\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n }\n .navbar-text a,\n .navbar-text a:hover,\n .navbar-text a:focus {\n color: var(--theme-fg, var(--navbar-active-color));\n }\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n @media (prefers-reduced-motion: no-preference) {\n .navbar-toggler {\n transition: var(--navbar-toggler-transition);\n }\n }\n .navbar-toggler-icon {\n display: inline-block;\n width: var(--navbar-toggler-icon-size);\n height: var(--navbar-toggler-icon-size);\n background-color: currentcolor;\n mask-image: var(--navbar-toggler-icon);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: contain;\n }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand .navbar-toggler {\n display: none !important;\n }\n .navbar-expand [class*=drawer] {\n position: static !important;\n inset: auto !important;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none !important;\n height: auto !important;\n max-height: none !important;\n padding: 0;\n margin: 0;\n overflow: visible !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand [class*=drawer] .drawer-header {\n display: none !important;\n }\n .navbar-expand [class*=drawer] .drawer-body {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n .navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:navbar-expand > .container,\n .sm\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .sm\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .sm\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .sm\\:navbar-expand [class*=drawer] {\n position: static !important;\n inset: auto !important;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none !important;\n height: auto !important;\n max-height: none !important;\n padding: 0;\n margin: 0;\n overflow: visible !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .sm\\:navbar-expand [class*=drawer] .drawer-header {\n display: none !important;\n }\n .sm\\:navbar-expand [class*=drawer] .drawer-body {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 768px) {\n .md\\:navbar-expand > .container,\n .md\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .md\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .md\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .md\\:navbar-expand [class*=drawer] {\n position: static !important;\n inset: auto !important;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none !important;\n height: auto !important;\n max-height: none !important;\n padding: 0;\n margin: 0;\n overflow: visible !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .md\\:navbar-expand [class*=drawer] .drawer-header {\n display: none !important;\n }\n .md\\:navbar-expand [class*=drawer] .drawer-body {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1024px) {\n .lg\\:navbar-expand > .container,\n .lg\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .lg\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .lg\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .lg\\:navbar-expand [class*=drawer] {\n position: static !important;\n inset: auto !important;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none !important;\n height: auto !important;\n max-height: none !important;\n padding: 0;\n margin: 0;\n overflow: visible !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .lg\\:navbar-expand [class*=drawer] .drawer-header {\n display: none !important;\n }\n .lg\\:navbar-expand [class*=drawer] .drawer-body {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1280px) {\n .xl\\:navbar-expand > .container,\n .xl\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .xl\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .xl\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .xl\\:navbar-expand [class*=drawer] {\n position: static !important;\n inset: auto !important;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none !important;\n height: auto !important;\n max-height: none !important;\n padding: 0;\n margin: 0;\n overflow: visible !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .xl\\:navbar-expand [class*=drawer] .drawer-header {\n display: none !important;\n }\n .xl\\:navbar-expand [class*=drawer] .drawer-body {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:navbar-expand > .container,\n .\\32 xl\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .\\32 xl\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .\\32 xl\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .\\32 xl\\:navbar-expand [class*=drawer] {\n position: static !important;\n inset: auto !important;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none !important;\n height: auto !important;\n max-height: none !important;\n padding: 0;\n margin: 0;\n overflow: visible !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .\\32 xl\\:navbar-expand [class*=drawer] .drawer-header {\n display: none !important;\n }\n .\\32 xl\\:navbar-expand [class*=drawer] .drawer-body {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n .navbar [class*=drawer]:not([open], .hiding) {\n transition: none !important;\n }\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n }\n .navbar-translucent::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n .navbar[data-bs-theme=dark] {\n --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n --navbar-active-color: var(--white);\n --navbar-brand-color: var(--white);\n --navbar-brand-hover-color: var(--white);\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n }\n}\n.drawer, .\\32 xl\\:drawer, .xl\\:drawer, .lg\\:drawer, .md\\:drawer, .sm\\:drawer {\n --drawer-inset: var(--spacer);\n --drawer-zindex: var(--z-drawer);\n --drawer-width: 400px;\n --drawer-height: 30vh;\n --drawer-padding-x: var(--spacer);\n --drawer-padding-y: var(--spacer);\n --drawer-color: var(--fg-body);\n --drawer-bg: var(--bg-body);\n --drawer-border-width: var(--border-width);\n --drawer-border-color: var(--border-color-translucent);\n --drawer-border-radius: var(--radius-7);\n --drawer-box-shadow: var(--box-shadow-xl);\n --drawer-transition-property: transform, visibility;\n --drawer-transition-duration: 0.3s;\n --drawer-transition-timing: var(--transition-timing-overlay);\n --drawer-title-line-height: 1.5;\n --drawer-backdrop-bg: color-mix(in oklch, var(--bg-body) 25%, transparent);\n --drawer-backdrop-blur: 8px;\n}\n\n@layer components {\n @media (width < 576px) {\n .sm\\:drawer {\n position: fixed;\n inset: auto;\n z-index: var(--drawer-zindex);\n display: flex;\n flex-direction: column;\n width: auto;\n max-width: calc(100% - var(--drawer-inset) * 2);\n height: auto;\n max-height: calc(100% - var(--drawer-inset) * 2);\n padding: 0;\n margin: 0;\n overflow: hidden;\n color: var(--drawer-color);\n visibility: hidden;\n background-color: var(--drawer-bg);\n background-clip: padding-box;\n border: var(--drawer-border-width) solid var(--drawer-border-color);\n outline: 0;\n border-radius: var(--drawer-border-radius);\n box-shadow: var(--drawer-box-shadow);\n }\n .sm\\:drawer:where(.drawer-start) {\n inset-block: var(--drawer-inset);\n inset-inline-start: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .sm\\:drawer:where(.drawer-end) {\n inset-block: var(--drawer-inset);\n inset-inline-end: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .sm\\:drawer:where(.drawer-top) {\n inset: var(--drawer-inset) var(--drawer-inset) auto;\n height: var(--drawer-height);\n }\n .sm\\:drawer:where(.drawer-bottom) {\n inset: auto var(--drawer-inset) var(--drawer-inset);\n height: var(--drawer-height);\n }\n .sm\\:drawer:where(.drawer-fullscreen) {\n inset: var(--drawer-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n }\n }\n @media (width < 576px) and (prefers-reduced-motion: no-preference) {\n .sm\\:drawer:not(.drawer-instant) {\n transition-timing-function: var(--drawer-transition-timing);\n transition-duration: var(--drawer-transition-duration);\n transition-property: var(--drawer-transition-property);\n }\n }\n @media (width < 576px) {\n .sm\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n :root:dir(rtl) .sm\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n .sm\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n :root:dir(rtl) .sm\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n .sm\\:drawer:not(.drawer-instant):where(.drawer-top) {\n transform: translateY(calc(-100% - var(--drawer-inset)));\n }\n .sm\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .sm\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .sm\\:drawer:not(.drawer-instant)[open] {\n visibility: visible;\n transform: none;\n }\n .sm\\:drawer[open] {\n visibility: visible;\n transform: none;\n }\n }\n @media (width >= 576px) {\n .sm\\:drawer {\n --drawer-height: auto;\n --drawer-border-width: 0;\n position: static !important;\n inset: auto;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none;\n height: auto !important;\n max-height: none;\n padding: 0;\n margin: 0;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none !important;\n }\n .sm\\:drawer .drawer-header {\n display: none;\n }\n .sm\\:drawer .drawer-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n width: 100%;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n .sm\\:drawer {\n border-radius: 0;\n box-shadow: none;\n }\n }\n @media (width < 768px) {\n .md\\:drawer {\n position: fixed;\n inset: auto;\n z-index: var(--drawer-zindex);\n display: flex;\n flex-direction: column;\n width: auto;\n max-width: calc(100% - var(--drawer-inset) * 2);\n height: auto;\n max-height: calc(100% - var(--drawer-inset) * 2);\n padding: 0;\n margin: 0;\n overflow: hidden;\n color: var(--drawer-color);\n visibility: hidden;\n background-color: var(--drawer-bg);\n background-clip: padding-box;\n border: var(--drawer-border-width) solid var(--drawer-border-color);\n outline: 0;\n border-radius: var(--drawer-border-radius);\n box-shadow: var(--drawer-box-shadow);\n }\n .md\\:drawer:where(.drawer-start) {\n inset-block: var(--drawer-inset);\n inset-inline-start: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .md\\:drawer:where(.drawer-end) {\n inset-block: var(--drawer-inset);\n inset-inline-end: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .md\\:drawer:where(.drawer-top) {\n inset: var(--drawer-inset) var(--drawer-inset) auto;\n height: var(--drawer-height);\n }\n .md\\:drawer:where(.drawer-bottom) {\n inset: auto var(--drawer-inset) var(--drawer-inset);\n height: var(--drawer-height);\n }\n .md\\:drawer:where(.drawer-fullscreen) {\n inset: var(--drawer-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n }\n }\n @media (width < 768px) and (prefers-reduced-motion: no-preference) {\n .md\\:drawer:not(.drawer-instant) {\n transition-timing-function: var(--drawer-transition-timing);\n transition-duration: var(--drawer-transition-duration);\n transition-property: var(--drawer-transition-property);\n }\n }\n @media (width < 768px) {\n .md\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n :root:dir(rtl) .md\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n .md\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n :root:dir(rtl) .md\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n .md\\:drawer:not(.drawer-instant):where(.drawer-top) {\n transform: translateY(calc(-100% - var(--drawer-inset)));\n }\n .md\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .md\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .md\\:drawer:not(.drawer-instant)[open] {\n visibility: visible;\n transform: none;\n }\n .md\\:drawer[open] {\n visibility: visible;\n transform: none;\n }\n }\n @media (width >= 768px) {\n .md\\:drawer {\n --drawer-height: auto;\n --drawer-border-width: 0;\n position: static !important;\n inset: auto;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none;\n height: auto !important;\n max-height: none;\n padding: 0;\n margin: 0;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none !important;\n }\n .md\\:drawer .drawer-header {\n display: none;\n }\n .md\\:drawer .drawer-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n width: 100%;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n .md\\:drawer {\n border-radius: 0;\n box-shadow: none;\n }\n }\n @media (width < 1024px) {\n .lg\\:drawer {\n position: fixed;\n inset: auto;\n z-index: var(--drawer-zindex);\n display: flex;\n flex-direction: column;\n width: auto;\n max-width: calc(100% - var(--drawer-inset) * 2);\n height: auto;\n max-height: calc(100% - var(--drawer-inset) * 2);\n padding: 0;\n margin: 0;\n overflow: hidden;\n color: var(--drawer-color);\n visibility: hidden;\n background-color: var(--drawer-bg);\n background-clip: padding-box;\n border: var(--drawer-border-width) solid var(--drawer-border-color);\n outline: 0;\n border-radius: var(--drawer-border-radius);\n box-shadow: var(--drawer-box-shadow);\n }\n .lg\\:drawer:where(.drawer-start) {\n inset-block: var(--drawer-inset);\n inset-inline-start: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .lg\\:drawer:where(.drawer-end) {\n inset-block: var(--drawer-inset);\n inset-inline-end: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .lg\\:drawer:where(.drawer-top) {\n inset: var(--drawer-inset) var(--drawer-inset) auto;\n height: var(--drawer-height);\n }\n .lg\\:drawer:where(.drawer-bottom) {\n inset: auto var(--drawer-inset) var(--drawer-inset);\n height: var(--drawer-height);\n }\n .lg\\:drawer:where(.drawer-fullscreen) {\n inset: var(--drawer-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n }\n }\n @media (width < 1024px) and (prefers-reduced-motion: no-preference) {\n .lg\\:drawer:not(.drawer-instant) {\n transition-timing-function: var(--drawer-transition-timing);\n transition-duration: var(--drawer-transition-duration);\n transition-property: var(--drawer-transition-property);\n }\n }\n @media (width < 1024px) {\n .lg\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n :root:dir(rtl) .lg\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n .lg\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n :root:dir(rtl) .lg\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n .lg\\:drawer:not(.drawer-instant):where(.drawer-top) {\n transform: translateY(calc(-100% - var(--drawer-inset)));\n }\n .lg\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .lg\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .lg\\:drawer:not(.drawer-instant)[open] {\n visibility: visible;\n transform: none;\n }\n .lg\\:drawer[open] {\n visibility: visible;\n transform: none;\n }\n }\n @media (width >= 1024px) {\n .lg\\:drawer {\n --drawer-height: auto;\n --drawer-border-width: 0;\n position: static !important;\n inset: auto;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none;\n height: auto !important;\n max-height: none;\n padding: 0;\n margin: 0;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none !important;\n }\n .lg\\:drawer .drawer-header {\n display: none;\n }\n .lg\\:drawer .drawer-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n width: 100%;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n .lg\\:drawer {\n border-radius: 0;\n box-shadow: none;\n }\n }\n @media (width < 1280px) {\n .xl\\:drawer {\n position: fixed;\n inset: auto;\n z-index: var(--drawer-zindex);\n display: flex;\n flex-direction: column;\n width: auto;\n max-width: calc(100% - var(--drawer-inset) * 2);\n height: auto;\n max-height: calc(100% - var(--drawer-inset) * 2);\n padding: 0;\n margin: 0;\n overflow: hidden;\n color: var(--drawer-color);\n visibility: hidden;\n background-color: var(--drawer-bg);\n background-clip: padding-box;\n border: var(--drawer-border-width) solid var(--drawer-border-color);\n outline: 0;\n border-radius: var(--drawer-border-radius);\n box-shadow: var(--drawer-box-shadow);\n }\n .xl\\:drawer:where(.drawer-start) {\n inset-block: var(--drawer-inset);\n inset-inline-start: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .xl\\:drawer:where(.drawer-end) {\n inset-block: var(--drawer-inset);\n inset-inline-end: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .xl\\:drawer:where(.drawer-top) {\n inset: var(--drawer-inset) var(--drawer-inset) auto;\n height: var(--drawer-height);\n }\n .xl\\:drawer:where(.drawer-bottom) {\n inset: auto var(--drawer-inset) var(--drawer-inset);\n height: var(--drawer-height);\n }\n .xl\\:drawer:where(.drawer-fullscreen) {\n inset: var(--drawer-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n }\n }\n @media (width < 1280px) and (prefers-reduced-motion: no-preference) {\n .xl\\:drawer:not(.drawer-instant) {\n transition-timing-function: var(--drawer-transition-timing);\n transition-duration: var(--drawer-transition-duration);\n transition-property: var(--drawer-transition-property);\n }\n }\n @media (width < 1280px) {\n .xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n :root:dir(rtl) .xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n .xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n :root:dir(rtl) .xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n .xl\\:drawer:not(.drawer-instant):where(.drawer-top) {\n transform: translateY(calc(-100% - var(--drawer-inset)));\n }\n .xl\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .xl\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .xl\\:drawer:not(.drawer-instant)[open] {\n visibility: visible;\n transform: none;\n }\n .xl\\:drawer[open] {\n visibility: visible;\n transform: none;\n }\n }\n @media (width >= 1280px) {\n .xl\\:drawer {\n --drawer-height: auto;\n --drawer-border-width: 0;\n position: static !important;\n inset: auto;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none;\n height: auto !important;\n max-height: none;\n padding: 0;\n margin: 0;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none !important;\n }\n .xl\\:drawer .drawer-header {\n display: none;\n }\n .xl\\:drawer .drawer-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n width: 100%;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n .xl\\:drawer {\n border-radius: 0;\n box-shadow: none;\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:drawer {\n position: fixed;\n inset: auto;\n z-index: var(--drawer-zindex);\n display: flex;\n flex-direction: column;\n width: auto;\n max-width: calc(100% - var(--drawer-inset) * 2);\n height: auto;\n max-height: calc(100% - var(--drawer-inset) * 2);\n padding: 0;\n margin: 0;\n overflow: hidden;\n color: var(--drawer-color);\n visibility: hidden;\n background-color: var(--drawer-bg);\n background-clip: padding-box;\n border: var(--drawer-border-width) solid var(--drawer-border-color);\n outline: 0;\n border-radius: var(--drawer-border-radius);\n box-shadow: var(--drawer-box-shadow);\n }\n .\\32 xl\\:drawer:where(.drawer-start) {\n inset-block: var(--drawer-inset);\n inset-inline-start: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .\\32 xl\\:drawer:where(.drawer-end) {\n inset-block: var(--drawer-inset);\n inset-inline-end: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .\\32 xl\\:drawer:where(.drawer-top) {\n inset: var(--drawer-inset) var(--drawer-inset) auto;\n height: var(--drawer-height);\n }\n .\\32 xl\\:drawer:where(.drawer-bottom) {\n inset: auto var(--drawer-inset) var(--drawer-inset);\n height: var(--drawer-height);\n }\n .\\32 xl\\:drawer:where(.drawer-fullscreen) {\n inset: var(--drawer-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n }\n }\n @media (width < 1536px) and (prefers-reduced-motion: no-preference) {\n .\\32 xl\\:drawer:not(.drawer-instant) {\n transition-timing-function: var(--drawer-transition-timing);\n transition-duration: var(--drawer-transition-duration);\n transition-property: var(--drawer-transition-property);\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n :root:dir(rtl) .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n :root:dir(rtl) .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-top) {\n transform: translateY(calc(-100% - var(--drawer-inset)));\n }\n .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .\\32 xl\\:drawer:not(.drawer-instant)[open] {\n visibility: visible;\n transform: none;\n }\n .\\32 xl\\:drawer[open] {\n visibility: visible;\n transform: none;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:drawer {\n --drawer-height: auto;\n --drawer-border-width: 0;\n position: static !important;\n inset: auto;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none;\n height: auto !important;\n max-height: none;\n padding: 0;\n margin: 0;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none !important;\n }\n .\\32 xl\\:drawer .drawer-header {\n display: none;\n }\n .\\32 xl\\:drawer .drawer-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n width: 100%;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n .\\32 xl\\:drawer {\n border-radius: 0;\n box-shadow: none;\n }\n }\n .drawer {\n position: fixed;\n inset: auto;\n z-index: var(--drawer-zindex);\n display: flex;\n flex-direction: column;\n width: auto;\n max-width: calc(100% - var(--drawer-inset) * 2);\n height: auto;\n max-height: calc(100% - var(--drawer-inset) * 2);\n padding: 0;\n margin: 0;\n overflow: hidden;\n color: var(--drawer-color);\n visibility: hidden;\n background-color: var(--drawer-bg);\n background-clip: padding-box;\n border: var(--drawer-border-width) solid var(--drawer-border-color);\n outline: 0;\n border-radius: var(--drawer-border-radius);\n box-shadow: var(--drawer-box-shadow);\n }\n .drawer:where(.drawer-start) {\n inset-block: var(--drawer-inset);\n inset-inline-start: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .drawer:where(.drawer-end) {\n inset-block: var(--drawer-inset);\n inset-inline-end: var(--drawer-inset);\n width: var(--drawer-width);\n }\n .drawer:where(.drawer-top) {\n inset: var(--drawer-inset) var(--drawer-inset) auto;\n height: var(--drawer-height);\n }\n .drawer:where(.drawer-bottom) {\n inset: auto var(--drawer-inset) var(--drawer-inset);\n height: var(--drawer-height);\n }\n .drawer:where(.drawer-fullscreen) {\n inset: var(--drawer-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n }\n @media (prefers-reduced-motion: no-preference) {\n .drawer:not(.drawer-instant) {\n transition-timing-function: var(--drawer-transition-timing);\n transition-duration: var(--drawer-transition-duration);\n transition-property: var(--drawer-transition-property);\n }\n }\n .drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-start) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n .drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-end) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n .drawer:not(.drawer-instant):where(.drawer-top) {\n transform: translateY(calc(-100% - var(--drawer-inset)));\n }\n .drawer:not(.drawer-instant):where(.drawer-bottom) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n .drawer:not(.drawer-instant)[open] {\n visibility: visible;\n transform: none;\n }\n .drawer[open] {\n visibility: visible;\n transform: none;\n }\n .sm\\:drawer::backdrop {\n background-color: var(--drawer-backdrop-bg);\n backdrop-filter: blur(var(--drawer-backdrop-blur));\n }\n @media (prefers-reduced-motion: no-preference) {\n .sm\\:drawer::backdrop {\n transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n }\n }\n .md\\:drawer::backdrop {\n background-color: var(--drawer-backdrop-bg);\n backdrop-filter: blur(var(--drawer-backdrop-blur));\n }\n @media (prefers-reduced-motion: no-preference) {\n .md\\:drawer::backdrop {\n transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n }\n }\n .lg\\:drawer::backdrop {\n background-color: var(--drawer-backdrop-bg);\n backdrop-filter: blur(var(--drawer-backdrop-blur));\n }\n @media (prefers-reduced-motion: no-preference) {\n .lg\\:drawer::backdrop {\n transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n }\n }\n .xl\\:drawer::backdrop {\n background-color: var(--drawer-backdrop-bg);\n backdrop-filter: blur(var(--drawer-backdrop-blur));\n }\n @media (prefers-reduced-motion: no-preference) {\n .xl\\:drawer::backdrop {\n transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n }\n }\n .\\32 xl\\:drawer::backdrop {\n background-color: var(--drawer-backdrop-bg);\n backdrop-filter: blur(var(--drawer-backdrop-blur));\n }\n @media (prefers-reduced-motion: no-preference) {\n .\\32 xl\\:drawer::backdrop {\n transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n }\n }\n .drawer::backdrop {\n background-color: var(--drawer-backdrop-bg);\n backdrop-filter: blur(var(--drawer-backdrop-blur));\n }\n @media (prefers-reduced-motion: no-preference) {\n .drawer::backdrop {\n transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n }\n }\n @starting-style {\n .sm\\:drawer::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n .md\\:drawer::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n .lg\\:drawer::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n .xl\\:drawer::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n .\\32 xl\\:drawer::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n .drawer::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n }\n .drawer-static {\n transform: scale(1.02);\n }\n .drawer-translucent {\n background-color: color-mix(in oklch, var(--drawer-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .drawer-sheet {\n right: 0;\n bottom: 0;\n left: 0;\n width: 100vw;\n margin-inline: auto;\n margin-bottom: calc(-1 * var(--drawer-border-width));\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n @media (width >= 1024px) {\n .drawer-sheet {\n max-width: var(--drawer-sheet-width, 760px);\n }\n }\n .drawer-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--drawer-padding-y) var(--drawer-padding-x);\n }\n .drawer-header .btn-close {\n margin-block: calc(-0.5 * var(--drawer-padding-y));\n margin-inline-start: auto;\n }\n .drawer-title {\n margin-bottom: 0;\n line-height: var(--drawer-title-line-height);\n }\n .drawer-body {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--drawer-padding-y);\n flex: 1 1 auto;\n padding: var(--drawer-padding-y) var(--drawer-padding-x);\n min-height: 0;\n overflow-y: auto;\n }\n .drawer-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--drawer-padding-y) var(--drawer-padding-x);\n border-block-start: var(--drawer-border-width) solid var(--drawer-border-color);\n }\n .drawer-fit-content {\n inset-block-end: auto;\n }\n}\n@layer components {\n .pagination {\n --pagination-min-height: var(--btn-input-min-height);\n --pagination-padding-x: var(--btn-input-padding-x);\n --pagination-padding-y: var(--btn-input-padding-y);\n --pagination-font-size: var(--btn-input-font-size);\n --pagination-color: var(--link-color);\n --pagination-bg: var(--bg-body);\n --pagination-border-width: var(--border-width);\n --pagination-border-color: var(--border-color);\n --pagination-border-radius: var(--btn-input-border-radius);\n --pagination-hover-color: var(--link-hover-color);\n --pagination-hover-bg: var(--bg-1);\n --pagination-hover-border-color: var(--border-color);\n --pagination-active-color: var(--theme-contrast, var(--primary-contrast));\n --pagination-active-bg: var(--theme-bg, var(--primary-bg));\n --pagination-active-border-color: var(--theme-bg, var(--primary-bg));\n --pagination-disabled-color: var(--fg-3);\n --pagination-disabled-bg: var(--bg-2);\n --pagination-disabled-border-color: var(--border-color);\n display: flex;\n padding-inline-start: 0;\n list-style-type: \"\";\n }\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--theme-fg, var(--pagination-color));\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n }\n @media (prefers-reduced-motion: no-preference) {\n .page-link {\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n }\n .page-link:hover {\n z-index: 2;\n color: var(--theme-fg-emphasis, var(--pagination-hover-color));\n background-color: var(--theme-bg-subtle, var(--pagination-hover-bg));\n border-color: var(--theme-border, var(--pagination-hover-border-color));\n }\n .page-link:focus-visible {\n z-index: 3;\n outline: var(--focus-ring-width) solid var(--theme-focus-ring, var(--focus-ring-color));\n outline-offset: var(--focus-ring-offset);\n }\n .page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--theme-contrast, var(--pagination-active-color));\n background-color: var(--theme-bg, var(--pagination-active-bg));\n border-color: var(--theme-bg, var(--pagination-active-border-color));\n }\n .page-link.disabled, .disabled > .page-link {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n .page-item:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n .page-item:first-child .page-link {\n border-start-start-radius: var(--pagination-border-radius);\n border-end-start-radius: var(--pagination-border-radius);\n }\n .page-item:last-child .page-link {\n border-start-end-radius: var(--pagination-border-radius);\n border-end-end-radius: var(--pagination-border-radius);\n }\n .pagination-sm {\n --pagination-min-height: var(--btn-input-sm-min-height);\n --pagination-padding-y: var(--btn-input-sm-padding-y);\n --pagination-padding-x: var(--btn-input-sm-padding-x);\n --pagination-font-size: var(--btn-input-sm-font-size);\n --pagination-border-radius: var(--btn-input-sm-border-radius);\n }\n .pagination-lg {\n --pagination-min-height: var(--btn-input-lg-min-height);\n --pagination-padding-y: var(--btn-input-lg-padding-y);\n --pagination-padding-x: var(--btn-input-lg-padding-x);\n --pagination-font-size: var(--btn-input-lg-font-size);\n --pagination-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer components {\n .placeholder {\n --placeholder-opacity-max: 0.5;\n --placeholder-opacity-min: 0.2;\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n }\n .placeholder.btn::before {\n display: inline-block;\n content: \"\";\n }\n .placeholder-xs {\n min-height: 0.6em;\n }\n .placeholder-sm {\n min-height: 0.8em;\n }\n .placeholder-lg {\n min-height: 1.2em;\n }\n .placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n @media (prefers-reduced-motion: reduce) {\n .placeholder-glow .placeholder {\n animation: none;\n }\n }\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n .placeholder-wave {\n mask-image: linear-gradient(130deg, var(--black) 55%, rgb(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, var(--black) 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n @media (prefers-reduced-motion: reduce) {\n .placeholder-wave {\n animation: none;\n }\n }\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n@layer components {\n .popover {\n --popover-zindex: var(--z-popover);\n --popover-max-width: 280px;\n --popover-font-size: var(--font-size-sm);\n --popover-bg: var(--bg-body);\n --popover-border-width: var(--border-width);\n --popover-border-color: var(--border-color-translucent);\n --popover-border-radius: var(--radius-7);\n --popover-inner-border-radius: calc(var(--radius-7) - var(--border-width));\n --popover-box-shadow: var(--box-shadow);\n --popover-header-padding-x: var(--spacer);\n --popover-header-padding-y: var(--spacer-3);\n --popover-header-font-size: var(--font-size-sm);\n --popover-header-color: inherit;\n --popover-header-bg: var(--bg-1);\n --popover-body-padding-x: var(--spacer);\n --popover-body-padding-y: var(--spacer-3);\n --popover-body-color: var(--fg-body);\n --popover-arrow-width: 1rem;\n --popover-arrow-height: 0.5rem;\n --popover-arrow-border: var(--popover-border-color);\n --popover-transition-property: opacity;\n --popover-transition-duration: 0.15s;\n --popover-transition-timing: linear;\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--popover-font-size);\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n border-radius: var(--popover-border-radius);\n box-shadow: var(--popover-box-shadow);\n opacity: 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .popover:not(.popover-instant) {\n transition-timing-function: var(--popover-transition-timing);\n transition-duration: var(--popover-transition-duration);\n transition-property: var(--popover-transition-property);\n }\n }\n .popover.show {\n opacity: 1;\n }\n .popover .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n }\n .popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n @starting-style {\n .popover:not(.popover-instant).show {\n opacity: 0;\n }\n }\n .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n .bs-popover-bottom > .popover-arrow:has(+ .popover-header)::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow:has(+ .popover-header)::after {\n border-block-end-color: var(--popover-header-bg);\n }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n border-start-start-radius: var(--popover-inner-border-radius);\n border-start-end-radius: var(--popover-inner-border-radius);\n }\n .popover-header:empty {\n display: none;\n }\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n@layer components {\n @keyframes progress-bar-stripes {\n 0% {\n background-position-x: var(--progress-height);\n }\n }\n .progress,\n .progress-stacked {\n --progress-height: 1rem;\n --progress-font-size: var(--font-size-sm);\n --progress-bg: var(--bg-2);\n --progress-border-radius: var(--radius-5);\n --progress-box-shadow: var(--box-shadow-inset);\n --progress-bar-color: var(--white);\n --progress-bar-bg: var(--primary-bg);\n --progress-bar-transition: width 0.6s ease;\n --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n border-radius: var(--progress-border-radius);\n box-shadow: var(--progress-box-shadow);\n }\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n }\n @media (prefers-reduced-motion: no-preference) {\n .progress-bar {\n transition: var(--progress-bar-transition);\n }\n }\n .progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--progress-height) var(--progress-height);\n }\n .progress-stacked > .progress {\n overflow: visible;\n }\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n }\n}\n@layer components {\n .spinner-grow,\n .spinner-border {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n border-radius: 50%;\n animation: var(--spinner-animation-speed) var(--spinner-animation-timing-function) infinite var(--spinner-animation-name);\n }\n @keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n }\n .spinner-border {\n --spinner-width: 1em;\n --spinner-height: 1em;\n --spinner-border-width: 0.125em;\n --spinner-animation-speed: 1s;\n --spinner-animation-timing-function: linear;\n --spinner-animation-name: spinner-border;\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n .spinner-sm {\n --spinner-width: .75em;\n --spinner-height: .75em;\n }\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n .spinner-grow {\n --spinner-width: 1em;\n --spinner-height: 1em;\n --spinner-animation-speed: 1s;\n --spinner-animation-timing-function: ease-in-out;\n --spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n }\n .spinner-rotate {\n animation: 1s linear infinite spinner-border;\n }\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n}\n@layer components {\n .stepper {\n --stepper-size: 2rem;\n --stepper-gap: 1rem;\n --stepper-font-size: var(--font-size-sm);\n --stepper-text-gap: 0.5rem;\n --stepper-track-size: 0.125rem;\n --stepper-bg: var(--bg-2);\n --stepper-active-color: var(--primary-contrast);\n --stepper-active-bg: var(--primary-bg);\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style-type: \"\";\n counter-reset: stepper;\n }\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n }\n .stepper-item::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: 0.5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n border-radius: 50%;\n }\n .stepper-item::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n .stepper-item:last-child::after {\n display: none;\n }\n .stepper-item.active::before, .stepper-item.active::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n .stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n @container (width >= 576px) {\n .sm\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .sm\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .sm\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .sm\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 768px) {\n .md\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .md\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .md\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .md\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1024px) {\n .lg\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .lg\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .lg\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .lg\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1280px) {\n .xl\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .xl\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .xl\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .xl\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .\\32 xl\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .\\32 xl\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .\\32 xl\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n }\n .stepper-overflow > .stepper {\n width: max-content;\n min-width: 100%;\n }\n}\n@layer components {\n .toast {\n --toast-zindex: var(--z-toast);\n --toast-padding-x: 1rem;\n --toast-padding-y: 0.75rem;\n --toast-spacing: 1.5rem;\n --toast-max-width: 350px;\n --toast-font-size: var(--font-size-sm);\n --toast-bg: var(--bg-body);\n --toast-border-width: var(--border-width);\n --toast-border-color: var(--border-color-translucent);\n --toast-box-shadow: var(--box-shadow);\n --toast-header-color: var(--fg-3);\n --toast-header-bg: var(--bg-1);\n --toast-header-border-color: var(--border-color-translucent);\n --toast-transition-property: opacity, display;\n --toast-transition-duration: 0.15s;\n --toast-transition-timing: linear;\n display: none;\n flex-direction: column;\n width: var(--toast-max-width);\n max-width: 100%;\n overflow: hidden;\n font-size: var(--toast-font-size);\n color: var(--toast-color, var(--fg-body));\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n box-shadow: var(--toast-box-shadow);\n border-radius: var(--toast-border-radius, var(--radius-7));\n }\n .toast:not(.toast-instant) {\n opacity: 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .toast:not(.toast-instant) {\n transition-timing-function: var(--toast-transition-timing);\n transition-duration: var(--toast-transition-duration);\n transition-property: var(--toast-transition-property);\n transition-behavior: allow-discrete;\n }\n }\n .toast.show {\n display: flex;\n opacity: 1;\n }\n @starting-style {\n .toast:not(.toast-instant).show {\n opacity: 0;\n }\n }\n .toast-container {\n --toast-zindex: var(--z-toast);\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n }\n .toast-container > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--theme-fg-emphasis, var(--toast-header-color));\n background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n }\n .toast-header .btn-close {\n margin-inline-start: calc(0.5 * var(--toast-padding-x));\n margin-inline-end: calc(-0.25 * var(--toast-padding-x));\n color: inherit;\n }\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n@layer components {\n .tooltip {\n --tooltip-zindex: var(--z-tooltip);\n --tooltip-max-width: 200px;\n --tooltip-padding-x: var(--spacer-3);\n --tooltip-padding-y: calc(var(--spacer) * 0.375);\n --tooltip-font-size: var(--font-size-sm);\n --tooltip-color: var(--bg-body);\n --tooltip-bg: var(--fg-body);\n --tooltip-border-radius: var(--radius-5);\n --tooltip-opacity: 0.95;\n --tooltip-arrow-width: 0.8rem;\n --tooltip-arrow-height: 0.4rem;\n --tooltip-transition-property: opacity;\n --tooltip-transition-duration: 0.15s;\n --tooltip-transition-timing: linear;\n z-index: var(--tooltip-zindex);\n display: block;\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n }\n @media (prefers-reduced-motion: no-preference) {\n .tooltip:not(.tooltip-instant) {\n transition-timing-function: var(--tooltip-transition-timing);\n transition-duration: var(--tooltip-transition-duration);\n transition-property: var(--tooltip-transition-property);\n }\n }\n .tooltip.show {\n opacity: var(--tooltip-opacity);\n }\n .tooltip .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n }\n .tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n @starting-style {\n .tooltip:not(.tooltip-instant).show {\n opacity: 0;\n }\n }\n .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n border-radius: var(--tooltip-border-radius);\n }\n}\n.fade {\n --transition-fade-duration: 0.15s;\n --transition-fade-timing: linear;\n}\n@media (prefers-reduced-motion: no-preference) {\n .fade {\n transition: opacity var(--transition-fade-duration) var(--transition-fade-timing);\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse {\n --transition-collapse-property: block-size, display;\n --transition-collapse-duration: 0.35s;\n --transition-collapse-timing: ease;\n overflow-y: clip;\n}\n@media (prefers-reduced-motion: no-preference) {\n .collapse {\n transition-timing-function: var(--transition-collapse-timing);\n transition-duration: var(--transition-collapse-duration);\n transition-property: var(--transition-collapse-property);\n transition-behavior: allow-discrete;\n }\n}\n@media (prefers-reduced-motion: no-preference) {\n .collapse {\n interpolate-size: allow-keywords;\n }\n}\n.collapse:not(.show) {\n display: none;\n block-size: 0;\n}\n@starting-style {\n .collapse.show {\n block-size: 0;\n }\n}\n.collapse.collapse-horizontal {\n --transition-collapse-property: inline-size, display;\n inline-size: fit-content;\n overflow-x: clip;\n overflow-y: visible;\n}\n.collapse.collapse-horizontal:not(.show) {\n inline-size: 0;\n block-size: auto;\n}\n@starting-style {\n .collapse.collapse-horizontal.show {\n inline-size: 0;\n }\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring-width) solid var(--theme-focus-ring, var(--focus-ring-color));\n }\n}\n@layer helpers {\n .hover-lift {\n --hover-lift-transition-duration: 0.2s;\n --hover-lift-transition-timing: ease;\n --hover-lift-transform: translateY(-0.25rem);\n --hover-lift-box-shadow: var(--box-shadow-lg);\n }\n @media (prefers-reduced-motion: no-preference) {\n .hover-lift {\n transition: transform var(--hover-lift-transition-duration) var(--hover-lift-transition-timing), box-shadow var(--hover-lift-transition-duration) var(--hover-lift-transition-timing);\n }\n }\n .hover-lift:hover, .hover-lift:focus-visible {\n transform: var(--hover-lift-transform);\n box-shadow: var(--hover-lift-box-shadow);\n }\n}\n@layer helpers {\n .icon-link {\n --icon-link-gap: 0.375rem;\n --icon-link-underline-offset: 0.25em;\n --icon-link-icon-size: 1em;\n --icon-link-icon-transition: 0.2s ease-in-out transform;\n --icon-link-icon-transform: translate3d(0.25em, 0, 0);\n display: inline-flex;\n gap: var(--icon-link-gap);\n align-items: center;\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n text-underline-offset: var(--icon-link-underline-offset);\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: var(--icon-link-icon-size);\n height: var(--icon-link-icon-size);\n fill: currentcolor;\n }\n @media (prefers-reduced-motion: no-preference) {\n .icon-link > .bi {\n transition: var(--icon-link-icon-transition);\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, var(--icon-link-icon-transform));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: var(--z-fixed);\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: var(--z-fixed);\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: var(--z-sticky);\n }\n @media (width >= 576px) {\n .sm\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n .sm\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: var(--z-sticky);\n }\n }\n @media (width >= 768px) {\n .md\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n .md\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: var(--z-sticky);\n }\n }\n @media (width >= 1024px) {\n .lg\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n .lg\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: var(--z-sticky);\n }\n }\n @media (width >= 1280px) {\n .xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n .xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: var(--z-sticky);\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n .\\32 xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: var(--z-sticky);\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .sm\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .md\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .md\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .lg\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .lg\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-fg: var(--primary-fg);\n --theme-fg-emphasis: var(--primary-fg-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-fg: var(--accent-fg);\n --theme-fg-emphasis: var(--accent-fg-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-fg: var(--success-fg);\n --theme-fg-emphasis: var(--success-fg-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-fg: var(--danger-fg);\n --theme-fg-emphasis: var(--danger-fg-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-fg: var(--warning-fg);\n --theme-fg-emphasis: var(--warning-fg-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-fg: var(--info-fg);\n --theme-fg-emphasis: var(--info-fg-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-fg: var(--inverse-fg);\n --theme-fg-emphasis: var(--inverse-fg-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-fg: var(--secondary-fg);\n --theme-fg-emphasis: var(--secondary-fg-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n .theme-reset {\n --theme-base: initial;\n --theme-fg: initial;\n --theme-fg-emphasis: initial;\n --theme-bg: initial;\n --theme-bg-subtle: initial;\n --theme-bg-muted: initial;\n --theme-border: initial;\n --theme-focus-ring: initial;\n --theme-contrast: initial;\n }\n .theme-contrast {\n --theme-fg: var(--theme-contrast);\n --theme-fg-emphasis: var(--theme-contrast);\n }\n .theme-muted {\n --theme-fg: var(--theme-fg-emphasis);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus, :focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus, :focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus, :focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link {\n --stretched-link-z-index: 1;\n }\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: var(--stretched-link-z-index);\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@property --ratio {\n syntax: \"*\";\n inherits: false;\n}\n@property --sc {\n syntax: \"*\";\n inherits: false;\n}\n@property --so {\n syntax: \"*\";\n inherits: false;\n}\n@property --bc {\n syntax: \"*\";\n inherits: false;\n}\n@property --fg {\n syntax: \"*\";\n inherits: false;\n}\n@property --underline-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --bg {\n syntax: \"*\";\n inherits: false;\n}\n@property --rounded-size {\n syntax: \"*\";\n inherits: false;\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: 0 .125rem .25rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.04 * var(--shadow-strength) * var(--so, 1))), 0 .375rem .75rem -.125rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1))), 0 .75rem 1.5rem -.25rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1)));\n }\n .shadow-xs {\n box-shadow: 0 0.0625rem 0.125rem oklch(from var(--sc, var(--shadow-color)) l c h/calc(0.04 * var(--shadow-strength) * var(--so, 1)));\n }\n .shadow-sm {\n box-shadow: 0 .0625rem .125rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.04 * var(--shadow-strength) * var(--so, 1))), 0 .125rem .375rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1)));\n }\n .shadow-lg {\n box-shadow: 0 .125rem .375rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1))), 0 .375rem 1rem -.1875rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1))), 0 .75rem 2rem -.375rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.07 * var(--shadow-strength) * var(--so, 1))), 0 1.5rem 3.5rem -.75rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.08 * var(--shadow-strength) * var(--so, 1)));\n }\n .shadow-xl {\n box-shadow: 0 .1875rem .5rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1))), 0 .5rem 1.25rem -.1875rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1))), 0 1rem 2.5rem -.375rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.07 * var(--shadow-strength) * var(--so, 1))), 0 2rem 5rem -.75rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.09 * var(--shadow-strength) * var(--so, 1)));\n }\n .shadow-none {\n box-shadow: none;\n }\n .shadow-primary {\n --sc: var(--primary-base);\n }\n .shadow-accent {\n --sc: var(--accent-base);\n }\n .shadow-success {\n --sc: var(--success-base);\n }\n .shadow-danger {\n --sc: var(--danger-base);\n }\n .shadow-warning {\n --sc: var(--warning-base);\n }\n .shadow-info {\n --sc: var(--info-base);\n }\n .shadow-inverse {\n --sc: var(--inverse-base);\n }\n .shadow-secondary {\n --sc: var(--secondary-base);\n }\n .shadow-current {\n --sc: currentcolor;\n }\n .shadow-black {\n --sc: var(--black);\n }\n .shadow-white {\n --sc: var(--white);\n }\n .shadow-opacity-10 {\n --so: 0.2;\n }\n .shadow-opacity-20 {\n --so: 0.4;\n }\n .shadow-opacity-30 {\n --so: 0.6;\n }\n .shadow-opacity-40 {\n --so: 0.8;\n }\n .shadow-opacity-50 {\n --so: 1;\n }\n .shadow-opacity-60 {\n --so: 1.2;\n }\n .shadow-opacity-70 {\n --so: 1.4;\n }\n .shadow-opacity-80 {\n --so: 1.6;\n }\n .shadow-opacity-90 {\n --so: 1.8;\n }\n .shadow-opacity-100 {\n --so: 2;\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n inset-inline-start: 0;\n }\n .start-50 {\n inset-inline-start: 50%;\n }\n .start-100 {\n inset-inline-start: 100%;\n }\n .end-0 {\n inset-inline-end: 0;\n }\n .end-50 {\n inset-inline-end: 50%;\n }\n .end-100 {\n inset-inline-end: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-y {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-y-0 {\n border-block: 0;\n }\n .border-x {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-x-0 {\n border-inline: 0;\n }\n .border-primary {\n --bc: var(--primary-bg);\n border-color: var(--bc);\n }\n .border-accent {\n --bc: var(--accent-bg);\n border-color: var(--bc);\n }\n .border-success {\n --bc: var(--success-bg);\n border-color: var(--bc);\n }\n .border-danger {\n --bc: var(--danger-bg);\n border-color: var(--bc);\n }\n .border-warning {\n --bc: var(--warning-bg);\n border-color: var(--bc);\n }\n .border-info {\n --bc: var(--info-bg);\n border-color: var(--bc);\n }\n .border-inverse {\n --bc: var(--inverse-bg);\n border-color: var(--bc);\n }\n .border-secondary {\n --bc: var(--secondary-bg);\n border-color: var(--bc);\n }\n .border-bg {\n --bc: var(--border-bg);\n border-color: var(--bc);\n }\n .border-body {\n --bc: var(--border-body);\n border-color: var(--bc);\n }\n .border-muted {\n --bc: var(--border-muted);\n border-color: var(--bc);\n }\n .border-subtle {\n --bc: var(--border-subtle);\n border-color: var(--bc);\n }\n .border-emphasized {\n --bc: var(--border-emphasized);\n border-color: var(--bc);\n }\n .border-white {\n --bc: var(--border-white);\n border-color: var(--bc);\n }\n .border-black {\n --bc: var(--border-black);\n border-color: var(--bc);\n }\n .border-subtle-primary {\n --bc: var(--primary-border);\n border-color: var(--bc);\n }\n .border-subtle-accent {\n --bc: var(--accent-border);\n border-color: var(--bc);\n }\n .border-subtle-success {\n --bc: var(--success-border);\n border-color: var(--bc);\n }\n .border-subtle-danger {\n --bc: var(--danger-border);\n border-color: var(--bc);\n }\n .border-subtle-warning {\n --bc: var(--warning-border);\n border-color: var(--bc);\n }\n .border-subtle-info {\n --bc: var(--info-border);\n border-color: var(--bc);\n }\n .border-subtle-inverse {\n --bc: var(--inverse-border);\n border-color: var(--bc);\n }\n .border-subtle-secondary {\n --bc: var(--secondary-border);\n border-color: var(--bc);\n }\n .border-keyline {\n border-width: var(--border-width-keyline);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--bc) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--bc) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--bc) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--bc) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--bc) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--bc) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--bc) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--bc) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--bc) 90%, transparent);\n }\n .border-100 {\n border-color: var(--bc);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .dvw-100 {\n width: 100dvw;\n }\n .min-dvw-100 {\n min-width: 100dvw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .dvh-100 {\n height: 100dvh;\n }\n .min-dvh-100 {\n min-height: 100dvh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: start;\n }\n .justify-self-end {\n justify-self: end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-1 {\n grid-template-columns: 1fr;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.375rem;\n }\n .m-3 {\n margin: 0.5rem;\n }\n .m-4 {\n margin: 0.75rem;\n }\n .m-5 {\n margin: 1rem;\n }\n .m-6 {\n margin: 1.25rem;\n }\n .m-7 {\n margin: 1.5rem;\n }\n .m-8 {\n margin: 1.75rem;\n }\n .m-9 {\n margin: 2rem;\n }\n .m-10 {\n margin: 2.25rem;\n }\n .m-11 {\n margin: 2.5rem;\n }\n .m-12 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.375rem;\n }\n .mx-3 {\n margin-inline: 0.5rem;\n }\n .mx-4 {\n margin-inline: 0.75rem;\n }\n .mx-5 {\n margin-inline: 1rem;\n }\n .mx-6 {\n margin-inline: 1.25rem;\n }\n .mx-7 {\n margin-inline: 1.5rem;\n }\n .mx-8 {\n margin-inline: 1.75rem;\n }\n .mx-9 {\n margin-inline: 2rem;\n }\n .mx-10 {\n margin-inline: 2.25rem;\n }\n .mx-11 {\n margin-inline: 2.5rem;\n }\n .mx-12 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.375rem;\n }\n .my-3 {\n margin-block: 0.5rem;\n }\n .my-4 {\n margin-block: 0.75rem;\n }\n .my-5 {\n margin-block: 1rem;\n }\n .my-6 {\n margin-block: 1.25rem;\n }\n .my-7 {\n margin-block: 1.5rem;\n }\n .my-8 {\n margin-block: 1.75rem;\n }\n .my-9 {\n margin-block: 2rem;\n }\n .my-10 {\n margin-block: 2.25rem;\n }\n .my-11 {\n margin-block: 2.5rem;\n }\n .my-12 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.375rem;\n }\n .mt-3 {\n margin-block-start: 0.5rem;\n }\n .mt-4 {\n margin-block-start: 0.75rem;\n }\n .mt-5 {\n margin-block-start: 1rem;\n }\n .mt-6 {\n margin-block-start: 1.25rem;\n }\n .mt-7 {\n margin-block-start: 1.5rem;\n }\n .mt-8 {\n margin-block-start: 1.75rem;\n }\n .mt-9 {\n margin-block-start: 2rem;\n }\n .mt-10 {\n margin-block-start: 2.25rem;\n }\n .mt-11 {\n margin-block-start: 2.5rem;\n }\n .mt-12 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.375rem;\n }\n .me-3 {\n margin-inline-end: 0.5rem;\n }\n .me-4 {\n margin-inline-end: 0.75rem;\n }\n .me-5 {\n margin-inline-end: 1rem;\n }\n .me-6 {\n margin-inline-end: 1.25rem;\n }\n .me-7 {\n margin-inline-end: 1.5rem;\n }\n .me-8 {\n margin-inline-end: 1.75rem;\n }\n .me-9 {\n margin-inline-end: 2rem;\n }\n .me-10 {\n margin-inline-end: 2.25rem;\n }\n .me-11 {\n margin-inline-end: 2.5rem;\n }\n .me-12 {\n margin-inline-end: 3rem;\n }\n .me--1 {\n margin-inline-end: -0.25rem;\n }\n .me--2 {\n margin-inline-end: -0.5rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.375rem;\n }\n .mb-3 {\n margin-block-end: 0.5rem;\n }\n .mb-4 {\n margin-block-end: 0.75rem;\n }\n .mb-5 {\n margin-block-end: 1rem;\n }\n .mb-6 {\n margin-block-end: 1.25rem;\n }\n .mb-7 {\n margin-block-end: 1.5rem;\n }\n .mb-8 {\n margin-block-end: 1.75rem;\n }\n .mb-9 {\n margin-block-end: 2rem;\n }\n .mb-10 {\n margin-block-end: 2.25rem;\n }\n .mb-11 {\n margin-block-end: 2.5rem;\n }\n .mb-12 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.375rem;\n }\n .ms-3 {\n margin-inline-start: 0.5rem;\n }\n .ms-4 {\n margin-inline-start: 0.75rem;\n }\n .ms-5 {\n margin-inline-start: 1rem;\n }\n .ms-6 {\n margin-inline-start: 1.25rem;\n }\n .ms-7 {\n margin-inline-start: 1.5rem;\n }\n .ms-8 {\n margin-inline-start: 1.75rem;\n }\n .ms-9 {\n margin-inline-start: 2rem;\n }\n .ms-10 {\n margin-inline-start: 2.25rem;\n }\n .ms-11 {\n margin-inline-start: 2.5rem;\n }\n .ms-12 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.375rem;\n }\n .p-3 {\n padding: 0.5rem;\n }\n .p-4 {\n padding: 0.75rem;\n }\n .p-5 {\n padding: 1rem;\n }\n .p-6 {\n padding: 1.25rem;\n }\n .p-7 {\n padding: 1.5rem;\n }\n .p-8 {\n padding: 1.75rem;\n }\n .p-9 {\n padding: 2rem;\n }\n .p-10 {\n padding: 2.25rem;\n }\n .p-11 {\n padding: 2.5rem;\n }\n .p-12 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.375rem;\n }\n .px-3 {\n padding-inline: 0.5rem;\n }\n .px-4 {\n padding-inline: 0.75rem;\n }\n .px-5 {\n padding-inline: 1rem;\n }\n .px-6 {\n padding-inline: 1.25rem;\n }\n .px-7 {\n padding-inline: 1.5rem;\n }\n .px-8 {\n padding-inline: 1.75rem;\n }\n .px-9 {\n padding-inline: 2rem;\n }\n .px-10 {\n padding-inline: 2.25rem;\n }\n .px-11 {\n padding-inline: 2.5rem;\n }\n .px-12 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.375rem;\n }\n .py-3 {\n padding-block: 0.5rem;\n }\n .py-4 {\n padding-block: 0.75rem;\n }\n .py-5 {\n padding-block: 1rem;\n }\n .py-6 {\n padding-block: 1.25rem;\n }\n .py-7 {\n padding-block: 1.5rem;\n }\n .py-8 {\n padding-block: 1.75rem;\n }\n .py-9 {\n padding-block: 2rem;\n }\n .py-10 {\n padding-block: 2.25rem;\n }\n .py-11 {\n padding-block: 2.5rem;\n }\n .py-12 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.375rem;\n }\n .pt-3 {\n padding-block-start: 0.5rem;\n }\n .pt-4 {\n padding-block-start: 0.75rem;\n }\n .pt-5 {\n padding-block-start: 1rem;\n }\n .pt-6 {\n padding-block-start: 1.25rem;\n }\n .pt-7 {\n padding-block-start: 1.5rem;\n }\n .pt-8 {\n padding-block-start: 1.75rem;\n }\n .pt-9 {\n padding-block-start: 2rem;\n }\n .pt-10 {\n padding-block-start: 2.25rem;\n }\n .pt-11 {\n padding-block-start: 2.5rem;\n }\n .pt-12 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.375rem;\n }\n .pe-3 {\n padding-inline-end: 0.5rem;\n }\n .pe-4 {\n padding-inline-end: 0.75rem;\n }\n .pe-5 {\n padding-inline-end: 1rem;\n }\n .pe-6 {\n padding-inline-end: 1.25rem;\n }\n .pe-7 {\n padding-inline-end: 1.5rem;\n }\n .pe-8 {\n padding-inline-end: 1.75rem;\n }\n .pe-9 {\n padding-inline-end: 2rem;\n }\n .pe-10 {\n padding-inline-end: 2.25rem;\n }\n .pe-11 {\n padding-inline-end: 2.5rem;\n }\n .pe-12 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.375rem;\n }\n .pb-3 {\n padding-block-end: 0.5rem;\n }\n .pb-4 {\n padding-block-end: 0.75rem;\n }\n .pb-5 {\n padding-block-end: 1rem;\n }\n .pb-6 {\n padding-block-end: 1.25rem;\n }\n .pb-7 {\n padding-block-end: 1.5rem;\n }\n .pb-8 {\n padding-block-end: 1.75rem;\n }\n .pb-9 {\n padding-block-end: 2rem;\n }\n .pb-10 {\n padding-block-end: 2.25rem;\n }\n .pb-11 {\n padding-block-end: 2.5rem;\n }\n .pb-12 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.375rem;\n }\n .ps-3 {\n padding-inline-start: 0.5rem;\n }\n .ps-4 {\n padding-inline-start: 0.75rem;\n }\n .ps-5 {\n padding-inline-start: 1rem;\n }\n .ps-6 {\n padding-inline-start: 1.25rem;\n }\n .ps-7 {\n padding-inline-start: 1.5rem;\n }\n .ps-8 {\n padding-inline-start: 1.75rem;\n }\n .ps-9 {\n padding-inline-start: 2rem;\n }\n .ps-10 {\n padding-inline-start: 2.25rem;\n }\n .ps-11 {\n padding-inline-start: 2.5rem;\n }\n .ps-12 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.375rem;\n }\n .gap-3 {\n gap: 0.5rem;\n }\n .gap-4 {\n gap: 0.75rem;\n }\n .gap-5 {\n gap: 1rem;\n }\n .gap-6 {\n gap: 1.25rem;\n }\n .gap-7 {\n gap: 1.5rem;\n }\n .gap-8 {\n gap: 1.75rem;\n }\n .gap-9 {\n gap: 2rem;\n }\n .gap-10 {\n gap: 2.25rem;\n }\n .gap-11 {\n gap: 2.5rem;\n }\n .gap-12 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.375rem;\n }\n .row-gap-3 {\n row-gap: 0.5rem;\n }\n .row-gap-4 {\n row-gap: 0.75rem;\n }\n .row-gap-5 {\n row-gap: 1rem;\n }\n .row-gap-6 {\n row-gap: 1.25rem;\n }\n .row-gap-7 {\n row-gap: 1.5rem;\n }\n .row-gap-8 {\n row-gap: 1.75rem;\n }\n .row-gap-9 {\n row-gap: 2rem;\n }\n .row-gap-10 {\n row-gap: 2.25rem;\n }\n .row-gap-11 {\n row-gap: 2.5rem;\n }\n .row-gap-12 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.375rem;\n }\n .column-gap-3 {\n column-gap: 0.5rem;\n }\n .column-gap-4 {\n column-gap: 0.75rem;\n }\n .column-gap-5 {\n column-gap: 1rem;\n }\n .column-gap-6 {\n column-gap: 1.25rem;\n }\n .column-gap-7 {\n column-gap: 1.5rem;\n }\n .column-gap-8 {\n column-gap: 1.75rem;\n }\n .column-gap-9 {\n column-gap: 2rem;\n }\n .column-gap-10 {\n column-gap: 2.25rem;\n }\n .column-gap-11 {\n column-gap: 2.5rem;\n }\n .column-gap-12 {\n column-gap: 3rem;\n }\n :where(.space-x-0 > :not(:last-child)) {\n margin-inline-end: 0;\n }\n :where(.space-x-1 > :not(:last-child)) {\n margin-inline-end: 0.25rem;\n }\n :where(.space-x-2 > :not(:last-child)) {\n margin-inline-end: 0.375rem;\n }\n :where(.space-x-3 > :not(:last-child)) {\n margin-inline-end: 0.5rem;\n }\n :where(.space-x-4 > :not(:last-child)) {\n margin-inline-end: 0.75rem;\n }\n :where(.space-x-5 > :not(:last-child)) {\n margin-inline-end: 1rem;\n }\n :where(.space-x-6 > :not(:last-child)) {\n margin-inline-end: 1.25rem;\n }\n :where(.space-x-7 > :not(:last-child)) {\n margin-inline-end: 1.5rem;\n }\n :where(.space-x-8 > :not(:last-child)) {\n margin-inline-end: 1.75rem;\n }\n :where(.space-x-9 > :not(:last-child)) {\n margin-inline-end: 2rem;\n }\n :where(.space-x-10 > :not(:last-child)) {\n margin-inline-end: 2.25rem;\n }\n :where(.space-x-11 > :not(:last-child)) {\n margin-inline-end: 2.5rem;\n }\n :where(.space-x-12 > :not(:last-child)) {\n margin-inline-end: 3rem;\n }\n :where(.space-y-0 > :not(:last-child)) {\n margin-block-end: 0;\n }\n :where(.space-y-1 > :not(:last-child)) {\n margin-block-end: 0.25rem;\n }\n :where(.space-y-2 > :not(:last-child)) {\n margin-block-end: 0.375rem;\n }\n :where(.space-y-3 > :not(:last-child)) {\n margin-block-end: 0.5rem;\n }\n :where(.space-y-4 > :not(:last-child)) {\n margin-block-end: 0.75rem;\n }\n :where(.space-y-5 > :not(:last-child)) {\n margin-block-end: 1rem;\n }\n :where(.space-y-6 > :not(:last-child)) {\n margin-block-end: 1.25rem;\n }\n :where(.space-y-7 > :not(:last-child)) {\n margin-block-end: 1.5rem;\n }\n :where(.space-y-8 > :not(:last-child)) {\n margin-block-end: 1.75rem;\n }\n :where(.space-y-9 > :not(:last-child)) {\n margin-block-end: 2rem;\n }\n :where(.space-y-10 > :not(:last-child)) {\n margin-block-end: 2.25rem;\n }\n :where(.space-y-11 > :not(:last-child)) {\n margin-block-end: 2.5rem;\n }\n :where(.space-y-12 > :not(:last-child)) {\n margin-block-end: 3rem;\n }\n :where(.divide-x > :not(:first-child)) {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.divide-x-0 > :not(:first-child)) {\n border-inline-start: 0;\n }\n :where(.divide-y > :not(:first-child)) {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.divide-y-0 > :not(:first-child)) {\n border-block-start: 0;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: var(--line-height-sm);\n }\n .lh-md {\n line-height: var(--line-height-md);\n }\n .lh-lg {\n line-height: var(--line-height-lg);\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n text-wrap: wrap;\n }\n .text-nowrap {\n text-wrap: nowrap;\n }\n .text-balance {\n text-wrap: balance;\n }\n .text-pretty {\n text-wrap: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: var(--primary-fg);\n color: var(--fg);\n }\n .fg-accent {\n --fg: var(--accent-fg);\n color: var(--fg);\n }\n .fg-success {\n --fg: var(--success-fg);\n color: var(--fg);\n }\n .fg-danger {\n --fg: var(--danger-fg);\n color: var(--fg);\n }\n .fg-warning {\n --fg: var(--warning-fg);\n color: var(--fg);\n }\n .fg-info {\n --fg: var(--info-fg);\n color: var(--fg);\n }\n .fg-inverse {\n --fg: var(--inverse-fg);\n color: var(--fg);\n }\n .fg-secondary {\n --fg: var(--secondary-fg);\n color: var(--fg);\n }\n .fg-body {\n --fg: var(--fg-body);\n color: var(--fg);\n }\n .fg-1 {\n --fg: var(--fg-1);\n color: var(--fg);\n }\n .fg-2 {\n --fg: var(--fg-2);\n color: var(--fg);\n }\n .fg-3 {\n --fg: var(--fg-3);\n color: var(--fg);\n }\n .fg-4 {\n --fg: var(--fg-4);\n color: var(--fg);\n }\n .fg-bg {\n --fg: var(--fg-bg);\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--fg-white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--fg-black);\n color: var(--fg);\n }\n .fg-reset {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: var(--primary-fg-emphasis);\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: var(--accent-fg-emphasis);\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: var(--success-fg-emphasis);\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: var(--danger-fg-emphasis);\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: var(--warning-fg-emphasis);\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: var(--info-fg-emphasis);\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: var(--inverse-fg-emphasis);\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: var(--secondary-fg-emphasis);\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--primary-contrast);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--accent-contrast);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--success-contrast);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--danger-contrast);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--warning-contrast);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--info-contrast);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: var(--inverse-contrast);\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: var(--secondary-contrast);\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .hover\\:link-10:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .hover\\:link-20:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .hover\\:link-30:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .hover\\:link-40:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .hover\\:link-50:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .hover\\:link-60:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .hover\\:link-70:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .hover\\:link-80:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .hover\\:link-90:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .hover\\:link-100:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .hover\\:underline-offset-1:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .hover\\:underline-offset-2:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .hover\\:underline-offset-3:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n --underline-color: light-dark(var(--blue-600), var(--blue-400));\n text-decoration-color: var(--underline-color);\n }\n .underline-accent {\n --underline-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n text-decoration-color: var(--underline-color);\n }\n .underline-success {\n --underline-color: light-dark(var(--green-600), var(--green-400));\n text-decoration-color: var(--underline-color);\n }\n .underline-danger {\n --underline-color: light-dark(var(--red-600), var(--red-400));\n text-decoration-color: var(--underline-color);\n }\n .underline-warning {\n --underline-color: light-dark(var(--yellow-700), var(--yellow-400));\n text-decoration-color: var(--underline-color);\n }\n .underline-info {\n --underline-color: light-dark(var(--cyan-600), var(--cyan-400));\n text-decoration-color: var(--underline-color);\n }\n .underline-inverse {\n --underline-color: light-dark(var(--gray-900), var(--gray-200));\n text-decoration-color: var(--underline-color);\n }\n .underline-secondary {\n --underline-color: light-dark(var(--gray-600), var(--gray-400));\n text-decoration-color: var(--underline-color);\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 10%, transparent);\n }\n .hover\\:underline-10:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 20%, transparent);\n }\n .hover\\:underline-20:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 30%, transparent);\n }\n .hover\\:underline-30:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 40%, transparent);\n }\n .hover\\:underline-40:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 50%, transparent);\n }\n .hover\\:underline-50:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 60%, transparent);\n }\n .hover\\:underline-60:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 70%, transparent);\n }\n .hover\\:underline-70:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 80%, transparent);\n }\n .hover\\:underline-80:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 90%, transparent);\n }\n .hover\\:underline-90:hover {\n text-decoration-color: color-mix(in oklch, var(--underline-color, currentcolor) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--underline-color, currentcolor);\n }\n .hover\\:underline-100:hover {\n text-decoration-color: var(--underline-color, currentcolor);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .hover\\:underline-thickness-1:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .hover\\:underline-thickness-2:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .hover\\:underline-thickness-3:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .hover\\:underline-thickness-4:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .hover\\:underline-thickness-5:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--primary-bg);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--accent-bg);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--success-bg);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--danger-bg);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--warning-bg);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--info-bg);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: var(--inverse-bg);\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: var(--secondary-bg);\n background-color: var(--bg);\n }\n .bg-body {\n --bg: var(--bg-body);\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: var(--bg-1);\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: var(--bg-2);\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: var(--bg-3);\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: var(--bg-4);\n background-color: var(--bg);\n }\n .bg-fg {\n --bg: var(--bg-fg);\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--bg-white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--bg-black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: var(--bg-transparent);\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: var(--primary-bg-subtle);\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: var(--accent-bg-subtle);\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: var(--success-bg-subtle);\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: var(--danger-bg-subtle);\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: var(--warning-bg-subtle);\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: var(--info-bg-subtle);\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: var(--inverse-bg-subtle);\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: var(--secondary-bg-subtle);\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: var(--primary-bg-muted);\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: var(--accent-bg-muted);\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: var(--success-bg-muted);\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: var(--danger-bg-muted);\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: var(--warning-bg-muted);\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: var(--info-bg-muted);\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: var(--inverse-bg-muted);\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: var(--secondary-bg-muted);\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-fg);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-fg-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .color-scheme-light {\n color-scheme: light;\n }\n .color-scheme-dark {\n color-scheme: dark;\n }\n .color-scheme-auto {\n color-scheme: light dark;\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded-0 {\n --rounded-size: 0;\n border-radius: var(--rounded-size);\n }\n .rounded-1 {\n --rounded-size: 0.125rem;\n border-radius: var(--rounded-size);\n }\n .rounded-2 {\n --rounded-size: 0.1875rem;\n border-radius: var(--rounded-size);\n }\n .rounded-3 {\n --rounded-size: 0.25rem;\n border-radius: var(--rounded-size);\n }\n .rounded-4 {\n --rounded-size: 0.375rem;\n border-radius: var(--rounded-size);\n }\n .rounded-5 {\n --rounded-size: 0.5rem;\n border-radius: var(--rounded-size);\n }\n .rounded-6 {\n --rounded-size: 0.625rem;\n border-radius: var(--rounded-size);\n }\n .rounded-7 {\n --rounded-size: 0.75rem;\n border-radius: var(--rounded-size);\n }\n .rounded-8 {\n --rounded-size: 0.875rem;\n border-radius: var(--rounded-size);\n }\n .rounded-9 {\n --rounded-size: 1rem;\n border-radius: var(--rounded-size);\n }\n .rounded {\n --rounded-size: 0.5rem;\n border-radius: var(--rounded-size);\n }\n .rounded-circle {\n --rounded-size: 50%;\n border-radius: var(--rounded-size);\n }\n .rounded-pill {\n --rounded-size: var(--radius-pill);\n border-radius: var(--rounded-size);\n }\n .rounded-size-0 {\n --rounded-size: 0;\n }\n .rounded-size-1 {\n --rounded-size: 0.125rem;\n }\n .rounded-size-2 {\n --rounded-size: 0.1875rem;\n }\n .rounded-size-3 {\n --rounded-size: 0.25rem;\n }\n .rounded-size-4 {\n --rounded-size: 0.375rem;\n }\n .rounded-size-5 {\n --rounded-size: 0.5rem;\n }\n .rounded-size-6 {\n --rounded-size: 0.625rem;\n }\n .rounded-size-7 {\n --rounded-size: 0.75rem;\n }\n .rounded-size-8 {\n --rounded-size: 0.875rem;\n }\n .rounded-size-9 {\n --rounded-size: 1rem;\n }\n .rounded-size {\n --rounded-size: 0.5rem;\n }\n .rounded-size-circle {\n --rounded-size: 50%;\n }\n .rounded-size-pill {\n --rounded-size: var(--radius-pill);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: 0.125rem;\n border-start-end-radius: 0.125rem;\n }\n .rounded-top-2 {\n border-start-start-radius: 0.1875rem;\n border-start-end-radius: 0.1875rem;\n }\n .rounded-top-3 {\n border-start-start-radius: 0.25rem;\n border-start-end-radius: 0.25rem;\n }\n .rounded-top-4 {\n border-start-start-radius: 0.375rem;\n border-start-end-radius: 0.375rem;\n }\n .rounded-top-5 {\n border-start-start-radius: 0.5rem;\n border-start-end-radius: 0.5rem;\n }\n .rounded-top-6 {\n border-start-start-radius: 0.625rem;\n border-start-end-radius: 0.625rem;\n }\n .rounded-top-7 {\n border-start-start-radius: 0.75rem;\n border-start-end-radius: 0.75rem;\n }\n .rounded-top-8 {\n border-start-start-radius: 0.875rem;\n border-start-end-radius: 0.875rem;\n }\n .rounded-top-9 {\n border-start-start-radius: 1rem;\n border-start-end-radius: 1rem;\n }\n .rounded-top {\n border-start-start-radius: var(--rounded-size, var(--radius-5));\n border-start-end-radius: var(--rounded-size, var(--radius-5));\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--radius-pill);\n border-start-end-radius: var(--radius-pill);\n }\n .rounded-end-0 {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .rounded-end-1 {\n border-start-end-radius: 0.125rem;\n border-end-end-radius: 0.125rem;\n }\n .rounded-end-2 {\n border-start-end-radius: 0.1875rem;\n border-end-end-radius: 0.1875rem;\n }\n .rounded-end-3 {\n border-start-end-radius: 0.25rem;\n border-end-end-radius: 0.25rem;\n }\n .rounded-end-4 {\n border-start-end-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n }\n .rounded-end-5 {\n border-start-end-radius: 0.5rem;\n border-end-end-radius: 0.5rem;\n }\n .rounded-end-6 {\n border-start-end-radius: 0.625rem;\n border-end-end-radius: 0.625rem;\n }\n .rounded-end-7 {\n border-start-end-radius: 0.75rem;\n border-end-end-radius: 0.75rem;\n }\n .rounded-end-8 {\n border-start-end-radius: 0.875rem;\n border-end-end-radius: 0.875rem;\n }\n .rounded-end-9 {\n border-start-end-radius: 1rem;\n border-end-end-radius: 1rem;\n }\n .rounded-end {\n border-start-end-radius: var(--rounded-size, var(--radius-5));\n border-end-end-radius: var(--rounded-size, var(--radius-5));\n }\n .rounded-end-circle {\n border-start-end-radius: 50%;\n border-end-end-radius: 50%;\n }\n .rounded-end-pill {\n border-start-end-radius: var(--radius-pill);\n border-end-end-radius: var(--radius-pill);\n }\n .rounded-bottom-0 {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-start-radius: 0.125rem;\n border-end-end-radius: 0.125rem;\n }\n .rounded-bottom-2 {\n border-end-start-radius: 0.1875rem;\n border-end-end-radius: 0.1875rem;\n }\n .rounded-bottom-3 {\n border-end-start-radius: 0.25rem;\n border-end-end-radius: 0.25rem;\n }\n .rounded-bottom-4 {\n border-end-start-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n }\n .rounded-bottom-5 {\n border-end-start-radius: 0.5rem;\n border-end-end-radius: 0.5rem;\n }\n .rounded-bottom-6 {\n border-end-start-radius: 0.625rem;\n border-end-end-radius: 0.625rem;\n }\n .rounded-bottom-7 {\n border-end-start-radius: 0.75rem;\n border-end-end-radius: 0.75rem;\n }\n .rounded-bottom-8 {\n border-end-start-radius: 0.875rem;\n border-end-end-radius: 0.875rem;\n }\n .rounded-bottom-9 {\n border-end-start-radius: 1rem;\n border-end-end-radius: 1rem;\n }\n .rounded-bottom {\n border-end-start-radius: var(--rounded-size, var(--radius-5));\n border-end-end-radius: var(--rounded-size, var(--radius-5));\n }\n .rounded-bottom-circle {\n border-end-start-radius: 50%;\n border-end-end-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-start-radius: var(--radius-pill);\n border-end-end-radius: var(--radius-pill);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: 0.125rem;\n border-end-start-radius: 0.125rem;\n }\n .rounded-start-2 {\n border-start-start-radius: 0.1875rem;\n border-end-start-radius: 0.1875rem;\n }\n .rounded-start-3 {\n border-start-start-radius: 0.25rem;\n border-end-start-radius: 0.25rem;\n }\n .rounded-start-4 {\n border-start-start-radius: 0.375rem;\n border-end-start-radius: 0.375rem;\n }\n .rounded-start-5 {\n border-start-start-radius: 0.5rem;\n border-end-start-radius: 0.5rem;\n }\n .rounded-start-6 {\n border-start-start-radius: 0.625rem;\n border-end-start-radius: 0.625rem;\n }\n .rounded-start-7 {\n border-start-start-radius: 0.75rem;\n border-end-start-radius: 0.75rem;\n }\n .rounded-start-8 {\n border-start-start-radius: 0.875rem;\n border-end-start-radius: 0.875rem;\n }\n .rounded-start-9 {\n border-start-start-radius: 1rem;\n border-end-start-radius: 1rem;\n }\n .rounded-start {\n border-start-start-radius: var(--rounded-size, var(--radius-5));\n border-end-start-radius: var(--rounded-size, var(--radius-5));\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--radius-pill);\n border-end-start-radius: var(--radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n .z-menu {\n z-index: 1000;\n }\n .z-sticky {\n z-index: 1010;\n }\n .z-fixed {\n z-index: 1020;\n }\n .z-drawer {\n z-index: 1030;\n }\n .z-dialog {\n z-index: 1040;\n }\n .z-popover {\n z-index: 1050;\n }\n .z-tooltip {\n z-index: 1060;\n }\n .z-toast {\n z-index: 1070;\n }\n .transition-none {\n transition: none;\n }\n .animation-none {\n animation: none;\n }\n .animation-shake {\n animation: animation-shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n }\n .animation-pop {\n animation: animation-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;\n }\n @media (width >= 576px) {\n .sm\\:float-start {\n float: inline-start;\n }\n .sm\\:float-end {\n float: inline-end;\n }\n .sm\\:float-none {\n float: none;\n }\n .sm\\:object-fit-contain {\n object-fit: contain;\n }\n .sm\\:object-fit-cover {\n object-fit: cover;\n }\n .sm\\:object-fit-fill {\n object-fit: fill;\n }\n .sm\\:object-fit-scale {\n object-fit: scale-down;\n }\n .sm\\:object-fit-none {\n object-fit: none;\n }\n .sm\\:d-inline {\n display: inline;\n }\n .sm\\:d-inline-block {\n display: inline-block;\n }\n .sm\\:d-block {\n display: block;\n }\n .sm\\:d-grid {\n display: grid;\n }\n .sm\\:d-inline-grid {\n display: inline-grid;\n }\n .sm\\:d-table {\n display: table;\n }\n .sm\\:d-table-row {\n display: table-row;\n }\n .sm\\:d-table-cell {\n display: table-cell;\n }\n .sm\\:d-flex {\n display: flex;\n }\n .sm\\:d-inline-flex {\n display: inline-flex;\n }\n .sm\\:d-contents {\n display: contents;\n }\n .sm\\:d-flow-root {\n display: flow-root;\n }\n .sm\\:d-none {\n display: none;\n }\n .sm\\:flex-fill {\n flex: 1 1 auto;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-column {\n flex-direction: column;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .sm\\:flex-grow-0 {\n flex-grow: 0;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1;\n }\n .sm\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .sm\\:justify-content-start {\n justify-content: flex-start;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end;\n }\n .sm\\:justify-content-center {\n justify-content: center;\n }\n .sm\\:justify-content-between {\n justify-content: space-between;\n }\n .sm\\:justify-content-around {\n justify-content: space-around;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .sm\\:justify-items-start {\n justify-items: start;\n }\n .sm\\:justify-items-end {\n justify-items: end;\n }\n .sm\\:justify-items-center {\n justify-items: center;\n }\n .sm\\:justify-items-stretch {\n justify-items: stretch;\n }\n .sm\\:justify-self-start {\n justify-self: start;\n }\n .sm\\:justify-self-end {\n justify-self: end;\n }\n .sm\\:justify-self-center {\n justify-self: center;\n }\n .sm\\:align-items-start {\n align-items: flex-start;\n }\n .sm\\:align-items-end {\n align-items: flex-end;\n }\n .sm\\:align-items-center {\n align-items: center;\n }\n .sm\\:align-items-baseline {\n align-items: baseline;\n }\n .sm\\:align-items-stretch {\n align-items: stretch;\n }\n .sm\\:align-content-start {\n align-content: flex-start;\n }\n .sm\\:align-content-end {\n align-content: flex-end;\n }\n .sm\\:align-content-center {\n align-content: center;\n }\n .sm\\:align-content-between {\n align-content: space-between;\n }\n .sm\\:align-content-around {\n align-content: space-around;\n }\n .sm\\:align-content-stretch {\n align-content: stretch;\n }\n .sm\\:align-self-auto {\n align-self: auto;\n }\n .sm\\:align-self-start {\n align-self: flex-start;\n }\n .sm\\:align-self-end {\n align-self: flex-end;\n }\n .sm\\:align-self-center {\n align-self: center;\n }\n .sm\\:align-self-baseline {\n align-self: baseline;\n }\n .sm\\:align-self-stretch {\n align-self: stretch;\n }\n .sm\\:place-items-start {\n place-items: start;\n }\n .sm\\:place-items-end {\n place-items: end;\n }\n .sm\\:place-items-center {\n place-items: center;\n }\n .sm\\:place-items-stretch {\n place-items: stretch;\n }\n .sm\\:grid-cols-1 {\n grid-template-columns: 1fr;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .sm\\:grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .sm\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .sm\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .sm\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .sm\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .sm\\:order-first {\n order: -1;\n }\n .sm\\:order-0 {\n order: 0;\n }\n .sm\\:order-1 {\n order: 1;\n }\n .sm\\:order-2 {\n order: 2;\n }\n .sm\\:order-3 {\n order: 3;\n }\n .sm\\:order-4 {\n order: 4;\n }\n .sm\\:order-5 {\n order: 5;\n }\n .sm\\:order-last {\n order: 6;\n }\n .sm\\:m-0 {\n margin: 0;\n }\n .sm\\:m-1 {\n margin: 0.25rem;\n }\n .sm\\:m-2 {\n margin: 0.375rem;\n }\n .sm\\:m-3 {\n margin: 0.5rem;\n }\n .sm\\:m-4 {\n margin: 0.75rem;\n }\n .sm\\:m-5 {\n margin: 1rem;\n }\n .sm\\:m-6 {\n margin: 1.25rem;\n }\n .sm\\:m-7 {\n margin: 1.5rem;\n }\n .sm\\:m-8 {\n margin: 1.75rem;\n }\n .sm\\:m-9 {\n margin: 2rem;\n }\n .sm\\:m-10 {\n margin: 2.25rem;\n }\n .sm\\:m-11 {\n margin: 2.5rem;\n }\n .sm\\:m-12 {\n margin: 3rem;\n }\n .sm\\:m-auto {\n margin: auto;\n }\n .sm\\:mx-0 {\n margin-inline: 0;\n }\n .sm\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .sm\\:mx-2 {\n margin-inline: 0.375rem;\n }\n .sm\\:mx-3 {\n margin-inline: 0.5rem;\n }\n .sm\\:mx-4 {\n margin-inline: 0.75rem;\n }\n .sm\\:mx-5 {\n margin-inline: 1rem;\n }\n .sm\\:mx-6 {\n margin-inline: 1.25rem;\n }\n .sm\\:mx-7 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-8 {\n margin-inline: 1.75rem;\n }\n .sm\\:mx-9 {\n margin-inline: 2rem;\n }\n .sm\\:mx-10 {\n margin-inline: 2.25rem;\n }\n .sm\\:mx-11 {\n margin-inline: 2.5rem;\n }\n .sm\\:mx-12 {\n margin-inline: 3rem;\n }\n .sm\\:mx-auto {\n margin-inline: auto;\n }\n .sm\\:my-0 {\n margin-block: 0;\n }\n .sm\\:my-1 {\n margin-block: 0.25rem;\n }\n .sm\\:my-2 {\n margin-block: 0.375rem;\n }\n .sm\\:my-3 {\n margin-block: 0.5rem;\n }\n .sm\\:my-4 {\n margin-block: 0.75rem;\n }\n .sm\\:my-5 {\n margin-block: 1rem;\n }\n .sm\\:my-6 {\n margin-block: 1.25rem;\n }\n .sm\\:my-7 {\n margin-block: 1.5rem;\n }\n .sm\\:my-8 {\n margin-block: 1.75rem;\n }\n .sm\\:my-9 {\n margin-block: 2rem;\n }\n .sm\\:my-10 {\n margin-block: 2.25rem;\n }\n .sm\\:my-11 {\n margin-block: 2.5rem;\n }\n .sm\\:my-12 {\n margin-block: 3rem;\n }\n .sm\\:my-auto {\n margin-block: auto;\n }\n .sm\\:mt-0 {\n margin-block-start: 0;\n }\n .sm\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .sm\\:mt-2 {\n margin-block-start: 0.375rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 0.5rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 0.75rem;\n }\n .sm\\:mt-5 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-6 {\n margin-block-start: 1.25rem;\n }\n .sm\\:mt-7 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-8 {\n margin-block-start: 1.75rem;\n }\n .sm\\:mt-9 {\n margin-block-start: 2rem;\n }\n .sm\\:mt-10 {\n margin-block-start: 2.25rem;\n }\n .sm\\:mt-11 {\n margin-block-start: 2.5rem;\n }\n .sm\\:mt-12 {\n margin-block-start: 3rem;\n }\n .sm\\:mt-auto {\n margin-block-start: auto;\n }\n .sm\\:me-0 {\n margin-inline-end: 0;\n }\n .sm\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .sm\\:me-2 {\n margin-inline-end: 0.375rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 0.5rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 0.75rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-6 {\n margin-inline-end: 1.25rem;\n }\n .sm\\:me-7 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-8 {\n margin-inline-end: 1.75rem;\n }\n .sm\\:me-9 {\n margin-inline-end: 2rem;\n }\n .sm\\:me-10 {\n margin-inline-end: 2.25rem;\n }\n .sm\\:me-11 {\n margin-inline-end: 2.5rem;\n }\n .sm\\:me-12 {\n margin-inline-end: 3rem;\n }\n .sm\\:me--1 {\n margin-inline-end: -0.25rem;\n }\n .sm\\:me--2 {\n margin-inline-end: -0.5rem;\n }\n .sm\\:me-auto {\n margin-inline-end: auto;\n }\n .sm\\:mb-0 {\n margin-block-end: 0;\n }\n .sm\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .sm\\:mb-2 {\n margin-block-end: 0.375rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 0.5rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 0.75rem;\n }\n .sm\\:mb-5 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-6 {\n margin-block-end: 1.25rem;\n }\n .sm\\:mb-7 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-8 {\n margin-block-end: 1.75rem;\n }\n .sm\\:mb-9 {\n margin-block-end: 2rem;\n }\n .sm\\:mb-10 {\n margin-block-end: 2.25rem;\n }\n .sm\\:mb-11 {\n margin-block-end: 2.5rem;\n }\n .sm\\:mb-12 {\n margin-block-end: 3rem;\n }\n .sm\\:mb-auto {\n margin-block-end: auto;\n }\n .sm\\:ms-0 {\n margin-inline-start: 0;\n }\n .sm\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .sm\\:ms-2 {\n margin-inline-start: 0.375rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 0.5rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 0.75rem;\n }\n .sm\\:ms-5 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-6 {\n margin-inline-start: 1.25rem;\n }\n .sm\\:ms-7 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-8 {\n margin-inline-start: 1.75rem;\n }\n .sm\\:ms-9 {\n margin-inline-start: 2rem;\n }\n .sm\\:ms-10 {\n margin-inline-start: 2.25rem;\n }\n .sm\\:ms-11 {\n margin-inline-start: 2.5rem;\n }\n .sm\\:ms-12 {\n margin-inline-start: 3rem;\n }\n .sm\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .sm\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .sm\\:ms-auto {\n margin-inline-start: auto;\n }\n .sm\\:p-0 {\n padding: 0;\n }\n .sm\\:p-1 {\n padding: 0.25rem;\n }\n .sm\\:p-2 {\n padding: 0.375rem;\n }\n .sm\\:p-3 {\n padding: 0.5rem;\n }\n .sm\\:p-4 {\n padding: 0.75rem;\n }\n .sm\\:p-5 {\n padding: 1rem;\n }\n .sm\\:p-6 {\n padding: 1.25rem;\n }\n .sm\\:p-7 {\n padding: 1.5rem;\n }\n .sm\\:p-8 {\n padding: 1.75rem;\n }\n .sm\\:p-9 {\n padding: 2rem;\n }\n .sm\\:p-10 {\n padding: 2.25rem;\n }\n .sm\\:p-11 {\n padding: 2.5rem;\n }\n .sm\\:p-12 {\n padding: 3rem;\n }\n .sm\\:px-0 {\n padding-inline: 0;\n }\n .sm\\:px-1 {\n padding-inline: 0.25rem;\n }\n .sm\\:px-2 {\n padding-inline: 0.375rem;\n }\n .sm\\:px-3 {\n padding-inline: 0.5rem;\n }\n .sm\\:px-4 {\n padding-inline: 0.75rem;\n }\n .sm\\:px-5 {\n padding-inline: 1rem;\n }\n .sm\\:px-6 {\n padding-inline: 1.25rem;\n }\n .sm\\:px-7 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-8 {\n padding-inline: 1.75rem;\n }\n .sm\\:px-9 {\n padding-inline: 2rem;\n }\n .sm\\:px-10 {\n padding-inline: 2.25rem;\n }\n .sm\\:px-11 {\n padding-inline: 2.5rem;\n }\n .sm\\:px-12 {\n padding-inline: 3rem;\n }\n .sm\\:py-0 {\n padding-block: 0;\n }\n .sm\\:py-1 {\n padding-block: 0.25rem;\n }\n .sm\\:py-2 {\n padding-block: 0.375rem;\n }\n .sm\\:py-3 {\n padding-block: 0.5rem;\n }\n .sm\\:py-4 {\n padding-block: 0.75rem;\n }\n .sm\\:py-5 {\n padding-block: 1rem;\n }\n .sm\\:py-6 {\n padding-block: 1.25rem;\n }\n .sm\\:py-7 {\n padding-block: 1.5rem;\n }\n .sm\\:py-8 {\n padding-block: 1.75rem;\n }\n .sm\\:py-9 {\n padding-block: 2rem;\n }\n .sm\\:py-10 {\n padding-block: 2.25rem;\n }\n .sm\\:py-11 {\n padding-block: 2.5rem;\n }\n .sm\\:py-12 {\n padding-block: 3rem;\n }\n .sm\\:pt-0 {\n padding-block-start: 0;\n }\n .sm\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .sm\\:pt-2 {\n padding-block-start: 0.375rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 0.5rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 0.75rem;\n }\n .sm\\:pt-5 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-6 {\n padding-block-start: 1.25rem;\n }\n .sm\\:pt-7 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-8 {\n padding-block-start: 1.75rem;\n }\n .sm\\:pt-9 {\n padding-block-start: 2rem;\n }\n .sm\\:pt-10 {\n padding-block-start: 2.25rem;\n }\n .sm\\:pt-11 {\n padding-block-start: 2.5rem;\n }\n .sm\\:pt-12 {\n padding-block-start: 3rem;\n }\n .sm\\:pe-0 {\n padding-inline-end: 0;\n }\n .sm\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .sm\\:pe-2 {\n padding-inline-end: 0.375rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 0.5rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 0.75rem;\n }\n .sm\\:pe-5 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-6 {\n padding-inline-end: 1.25rem;\n }\n .sm\\:pe-7 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-8 {\n padding-inline-end: 1.75rem;\n }\n .sm\\:pe-9 {\n padding-inline-end: 2rem;\n }\n .sm\\:pe-10 {\n padding-inline-end: 2.25rem;\n }\n .sm\\:pe-11 {\n padding-inline-end: 2.5rem;\n }\n .sm\\:pe-12 {\n padding-inline-end: 3rem;\n }\n .sm\\:pb-0 {\n padding-block-end: 0;\n }\n .sm\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .sm\\:pb-2 {\n padding-block-end: 0.375rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 0.5rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 0.75rem;\n }\n .sm\\:pb-5 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-6 {\n padding-block-end: 1.25rem;\n }\n .sm\\:pb-7 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-8 {\n padding-block-end: 1.75rem;\n }\n .sm\\:pb-9 {\n padding-block-end: 2rem;\n }\n .sm\\:pb-10 {\n padding-block-end: 2.25rem;\n }\n .sm\\:pb-11 {\n padding-block-end: 2.5rem;\n }\n .sm\\:pb-12 {\n padding-block-end: 3rem;\n }\n .sm\\:ps-0 {\n padding-inline-start: 0;\n }\n .sm\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .sm\\:ps-2 {\n padding-inline-start: 0.375rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 0.5rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 0.75rem;\n }\n .sm\\:ps-5 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-6 {\n padding-inline-start: 1.25rem;\n }\n .sm\\:ps-7 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-8 {\n padding-inline-start: 1.75rem;\n }\n .sm\\:ps-9 {\n padding-inline-start: 2rem;\n }\n .sm\\:ps-10 {\n padding-inline-start: 2.25rem;\n }\n .sm\\:ps-11 {\n padding-inline-start: 2.5rem;\n }\n .sm\\:ps-12 {\n padding-inline-start: 3rem;\n }\n .sm\\:gap-0 {\n gap: 0;\n }\n .sm\\:gap-1 {\n gap: 0.25rem;\n }\n .sm\\:gap-2 {\n gap: 0.375rem;\n }\n .sm\\:gap-3 {\n gap: 0.5rem;\n }\n .sm\\:gap-4 {\n gap: 0.75rem;\n }\n .sm\\:gap-5 {\n gap: 1rem;\n }\n .sm\\:gap-6 {\n gap: 1.25rem;\n }\n .sm\\:gap-7 {\n gap: 1.5rem;\n }\n .sm\\:gap-8 {\n gap: 1.75rem;\n }\n .sm\\:gap-9 {\n gap: 2rem;\n }\n .sm\\:gap-10 {\n gap: 2.25rem;\n }\n .sm\\:gap-11 {\n gap: 2.5rem;\n }\n .sm\\:gap-12 {\n gap: 3rem;\n }\n .sm\\:row-gap-0 {\n row-gap: 0;\n }\n .sm\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .sm\\:row-gap-2 {\n row-gap: 0.375rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 0.5rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 0.75rem;\n }\n .sm\\:row-gap-5 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-6 {\n row-gap: 1.25rem;\n }\n .sm\\:row-gap-7 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-8 {\n row-gap: 1.75rem;\n }\n .sm\\:row-gap-9 {\n row-gap: 2rem;\n }\n .sm\\:row-gap-10 {\n row-gap: 2.25rem;\n }\n .sm\\:row-gap-11 {\n row-gap: 2.5rem;\n }\n .sm\\:row-gap-12 {\n row-gap: 3rem;\n }\n .sm\\:column-gap-0 {\n column-gap: 0;\n }\n .sm\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .sm\\:column-gap-2 {\n column-gap: 0.375rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 0.5rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 0.75rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-6 {\n column-gap: 1.25rem;\n }\n .sm\\:column-gap-7 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-8 {\n column-gap: 1.75rem;\n }\n .sm\\:column-gap-9 {\n column-gap: 2rem;\n }\n .sm\\:column-gap-10 {\n column-gap: 2.25rem;\n }\n .sm\\:column-gap-11 {\n column-gap: 2.5rem;\n }\n .sm\\:column-gap-12 {\n column-gap: 3rem;\n }\n :where(.sm\\:space-x-0 > :not(:last-child)) {\n margin-inline-end: 0;\n }\n :where(.sm\\:space-x-1 > :not(:last-child)) {\n margin-inline-end: 0.25rem;\n }\n :where(.sm\\:space-x-2 > :not(:last-child)) {\n margin-inline-end: 0.375rem;\n }\n :where(.sm\\:space-x-3 > :not(:last-child)) {\n margin-inline-end: 0.5rem;\n }\n :where(.sm\\:space-x-4 > :not(:last-child)) {\n margin-inline-end: 0.75rem;\n }\n :where(.sm\\:space-x-5 > :not(:last-child)) {\n margin-inline-end: 1rem;\n }\n :where(.sm\\:space-x-6 > :not(:last-child)) {\n margin-inline-end: 1.25rem;\n }\n :where(.sm\\:space-x-7 > :not(:last-child)) {\n margin-inline-end: 1.5rem;\n }\n :where(.sm\\:space-x-8 > :not(:last-child)) {\n margin-inline-end: 1.75rem;\n }\n :where(.sm\\:space-x-9 > :not(:last-child)) {\n margin-inline-end: 2rem;\n }\n :where(.sm\\:space-x-10 > :not(:last-child)) {\n margin-inline-end: 2.25rem;\n }\n :where(.sm\\:space-x-11 > :not(:last-child)) {\n margin-inline-end: 2.5rem;\n }\n :where(.sm\\:space-x-12 > :not(:last-child)) {\n margin-inline-end: 3rem;\n }\n :where(.sm\\:space-y-0 > :not(:last-child)) {\n margin-block-end: 0;\n }\n :where(.sm\\:space-y-1 > :not(:last-child)) {\n margin-block-end: 0.25rem;\n }\n :where(.sm\\:space-y-2 > :not(:last-child)) {\n margin-block-end: 0.375rem;\n }\n :where(.sm\\:space-y-3 > :not(:last-child)) {\n margin-block-end: 0.5rem;\n }\n :where(.sm\\:space-y-4 > :not(:last-child)) {\n margin-block-end: 0.75rem;\n }\n :where(.sm\\:space-y-5 > :not(:last-child)) {\n margin-block-end: 1rem;\n }\n :where(.sm\\:space-y-6 > :not(:last-child)) {\n margin-block-end: 1.25rem;\n }\n :where(.sm\\:space-y-7 > :not(:last-child)) {\n margin-block-end: 1.5rem;\n }\n :where(.sm\\:space-y-8 > :not(:last-child)) {\n margin-block-end: 1.75rem;\n }\n :where(.sm\\:space-y-9 > :not(:last-child)) {\n margin-block-end: 2rem;\n }\n :where(.sm\\:space-y-10 > :not(:last-child)) {\n margin-block-end: 2.25rem;\n }\n :where(.sm\\:space-y-11 > :not(:last-child)) {\n margin-block-end: 2.5rem;\n }\n :where(.sm\\:space-y-12 > :not(:last-child)) {\n margin-block-end: 3rem;\n }\n :where(.sm\\:divide-x > :not(:first-child)) {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.sm\\:divide-x-0 > :not(:first-child)) {\n border-inline-start: 0;\n }\n :where(.sm\\:divide-y > :not(:first-child)) {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.sm\\:divide-y-0 > :not(:first-child)) {\n border-block-start: 0;\n }\n .sm\\:text-start {\n text-align: start;\n }\n .sm\\:text-end {\n text-align: end;\n }\n .sm\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .md\\:float-start {\n float: inline-start;\n }\n .md\\:float-end {\n float: inline-end;\n }\n .md\\:float-none {\n float: none;\n }\n .md\\:object-fit-contain {\n object-fit: contain;\n }\n .md\\:object-fit-cover {\n object-fit: cover;\n }\n .md\\:object-fit-fill {\n object-fit: fill;\n }\n .md\\:object-fit-scale {\n object-fit: scale-down;\n }\n .md\\:object-fit-none {\n object-fit: none;\n }\n .md\\:d-inline {\n display: inline;\n }\n .md\\:d-inline-block {\n display: inline-block;\n }\n .md\\:d-block {\n display: block;\n }\n .md\\:d-grid {\n display: grid;\n }\n .md\\:d-inline-grid {\n display: inline-grid;\n }\n .md\\:d-table {\n display: table;\n }\n .md\\:d-table-row {\n display: table-row;\n }\n .md\\:d-table-cell {\n display: table-cell;\n }\n .md\\:d-flex {\n display: flex;\n }\n .md\\:d-inline-flex {\n display: inline-flex;\n }\n .md\\:d-contents {\n display: contents;\n }\n .md\\:d-flow-root {\n display: flow-root;\n }\n .md\\:d-none {\n display: none;\n }\n .md\\:flex-fill {\n flex: 1 1 auto;\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:flex-column {\n flex-direction: column;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .md\\:flex-grow-0 {\n flex-grow: 0;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1;\n }\n .md\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .md\\:justify-content-start {\n justify-content: flex-start;\n }\n .md\\:justify-content-end {\n justify-content: flex-end;\n }\n .md\\:justify-content-center {\n justify-content: center;\n }\n .md\\:justify-content-between {\n justify-content: space-between;\n }\n .md\\:justify-content-around {\n justify-content: space-around;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .md\\:justify-items-start {\n justify-items: start;\n }\n .md\\:justify-items-end {\n justify-items: end;\n }\n .md\\:justify-items-center {\n justify-items: center;\n }\n .md\\:justify-items-stretch {\n justify-items: stretch;\n }\n .md\\:justify-self-start {\n justify-self: start;\n }\n .md\\:justify-self-end {\n justify-self: end;\n }\n .md\\:justify-self-center {\n justify-self: center;\n }\n .md\\:align-items-start {\n align-items: flex-start;\n }\n .md\\:align-items-end {\n align-items: flex-end;\n }\n .md\\:align-items-center {\n align-items: center;\n }\n .md\\:align-items-baseline {\n align-items: baseline;\n }\n .md\\:align-items-stretch {\n align-items: stretch;\n }\n .md\\:align-content-start {\n align-content: flex-start;\n }\n .md\\:align-content-end {\n align-content: flex-end;\n }\n .md\\:align-content-center {\n align-content: center;\n }\n .md\\:align-content-between {\n align-content: space-between;\n }\n .md\\:align-content-around {\n align-content: space-around;\n }\n .md\\:align-content-stretch {\n align-content: stretch;\n }\n .md\\:align-self-auto {\n align-self: auto;\n }\n .md\\:align-self-start {\n align-self: flex-start;\n }\n .md\\:align-self-end {\n align-self: flex-end;\n }\n .md\\:align-self-center {\n align-self: center;\n }\n .md\\:align-self-baseline {\n align-self: baseline;\n }\n .md\\:align-self-stretch {\n align-self: stretch;\n }\n .md\\:place-items-start {\n place-items: start;\n }\n .md\\:place-items-end {\n place-items: end;\n }\n .md\\:place-items-center {\n place-items: center;\n }\n .md\\:place-items-stretch {\n place-items: stretch;\n }\n .md\\:grid-cols-1 {\n grid-template-columns: 1fr;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .md\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .md\\:grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .md\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .md\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .md\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .md\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .md\\:order-first {\n order: -1;\n }\n .md\\:order-0 {\n order: 0;\n }\n .md\\:order-1 {\n order: 1;\n }\n .md\\:order-2 {\n order: 2;\n }\n .md\\:order-3 {\n order: 3;\n }\n .md\\:order-4 {\n order: 4;\n }\n .md\\:order-5 {\n order: 5;\n }\n .md\\:order-last {\n order: 6;\n }\n .md\\:m-0 {\n margin: 0;\n }\n .md\\:m-1 {\n margin: 0.25rem;\n }\n .md\\:m-2 {\n margin: 0.375rem;\n }\n .md\\:m-3 {\n margin: 0.5rem;\n }\n .md\\:m-4 {\n margin: 0.75rem;\n }\n .md\\:m-5 {\n margin: 1rem;\n }\n .md\\:m-6 {\n margin: 1.25rem;\n }\n .md\\:m-7 {\n margin: 1.5rem;\n }\n .md\\:m-8 {\n margin: 1.75rem;\n }\n .md\\:m-9 {\n margin: 2rem;\n }\n .md\\:m-10 {\n margin: 2.25rem;\n }\n .md\\:m-11 {\n margin: 2.5rem;\n }\n .md\\:m-12 {\n margin: 3rem;\n }\n .md\\:m-auto {\n margin: auto;\n }\n .md\\:mx-0 {\n margin-inline: 0;\n }\n .md\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .md\\:mx-2 {\n margin-inline: 0.375rem;\n }\n .md\\:mx-3 {\n margin-inline: 0.5rem;\n }\n .md\\:mx-4 {\n margin-inline: 0.75rem;\n }\n .md\\:mx-5 {\n margin-inline: 1rem;\n }\n .md\\:mx-6 {\n margin-inline: 1.25rem;\n }\n .md\\:mx-7 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-8 {\n margin-inline: 1.75rem;\n }\n .md\\:mx-9 {\n margin-inline: 2rem;\n }\n .md\\:mx-10 {\n margin-inline: 2.25rem;\n }\n .md\\:mx-11 {\n margin-inline: 2.5rem;\n }\n .md\\:mx-12 {\n margin-inline: 3rem;\n }\n .md\\:mx-auto {\n margin-inline: auto;\n }\n .md\\:my-0 {\n margin-block: 0;\n }\n .md\\:my-1 {\n margin-block: 0.25rem;\n }\n .md\\:my-2 {\n margin-block: 0.375rem;\n }\n .md\\:my-3 {\n margin-block: 0.5rem;\n }\n .md\\:my-4 {\n margin-block: 0.75rem;\n }\n .md\\:my-5 {\n margin-block: 1rem;\n }\n .md\\:my-6 {\n margin-block: 1.25rem;\n }\n .md\\:my-7 {\n margin-block: 1.5rem;\n }\n .md\\:my-8 {\n margin-block: 1.75rem;\n }\n .md\\:my-9 {\n margin-block: 2rem;\n }\n .md\\:my-10 {\n margin-block: 2.25rem;\n }\n .md\\:my-11 {\n margin-block: 2.5rem;\n }\n .md\\:my-12 {\n margin-block: 3rem;\n }\n .md\\:my-auto {\n margin-block: auto;\n }\n .md\\:mt-0 {\n margin-block-start: 0;\n }\n .md\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .md\\:mt-2 {\n margin-block-start: 0.375rem;\n }\n .md\\:mt-3 {\n margin-block-start: 0.5rem;\n }\n .md\\:mt-4 {\n margin-block-start: 0.75rem;\n }\n .md\\:mt-5 {\n margin-block-start: 1rem;\n }\n .md\\:mt-6 {\n margin-block-start: 1.25rem;\n }\n .md\\:mt-7 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-8 {\n margin-block-start: 1.75rem;\n }\n .md\\:mt-9 {\n margin-block-start: 2rem;\n }\n .md\\:mt-10 {\n margin-block-start: 2.25rem;\n }\n .md\\:mt-11 {\n margin-block-start: 2.5rem;\n }\n .md\\:mt-12 {\n margin-block-start: 3rem;\n }\n .md\\:mt-auto {\n margin-block-start: auto;\n }\n .md\\:me-0 {\n margin-inline-end: 0;\n }\n .md\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .md\\:me-2 {\n margin-inline-end: 0.375rem;\n }\n .md\\:me-3 {\n margin-inline-end: 0.5rem;\n }\n .md\\:me-4 {\n margin-inline-end: 0.75rem;\n }\n .md\\:me-5 {\n margin-inline-end: 1rem;\n }\n .md\\:me-6 {\n margin-inline-end: 1.25rem;\n }\n .md\\:me-7 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-8 {\n margin-inline-end: 1.75rem;\n }\n .md\\:me-9 {\n margin-inline-end: 2rem;\n }\n .md\\:me-10 {\n margin-inline-end: 2.25rem;\n }\n .md\\:me-11 {\n margin-inline-end: 2.5rem;\n }\n .md\\:me-12 {\n margin-inline-end: 3rem;\n }\n .md\\:me--1 {\n margin-inline-end: -0.25rem;\n }\n .md\\:me--2 {\n margin-inline-end: -0.5rem;\n }\n .md\\:me-auto {\n margin-inline-end: auto;\n }\n .md\\:mb-0 {\n margin-block-end: 0;\n }\n .md\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .md\\:mb-2 {\n margin-block-end: 0.375rem;\n }\n .md\\:mb-3 {\n margin-block-end: 0.5rem;\n }\n .md\\:mb-4 {\n margin-block-end: 0.75rem;\n }\n .md\\:mb-5 {\n margin-block-end: 1rem;\n }\n .md\\:mb-6 {\n margin-block-end: 1.25rem;\n }\n .md\\:mb-7 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-8 {\n margin-block-end: 1.75rem;\n }\n .md\\:mb-9 {\n margin-block-end: 2rem;\n }\n .md\\:mb-10 {\n margin-block-end: 2.25rem;\n }\n .md\\:mb-11 {\n margin-block-end: 2.5rem;\n }\n .md\\:mb-12 {\n margin-block-end: 3rem;\n }\n .md\\:mb-auto {\n margin-block-end: auto;\n }\n .md\\:ms-0 {\n margin-inline-start: 0;\n }\n .md\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .md\\:ms-2 {\n margin-inline-start: 0.375rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 0.5rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 0.75rem;\n }\n .md\\:ms-5 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-6 {\n margin-inline-start: 1.25rem;\n }\n .md\\:ms-7 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-8 {\n margin-inline-start: 1.75rem;\n }\n .md\\:ms-9 {\n margin-inline-start: 2rem;\n }\n .md\\:ms-10 {\n margin-inline-start: 2.25rem;\n }\n .md\\:ms-11 {\n margin-inline-start: 2.5rem;\n }\n .md\\:ms-12 {\n margin-inline-start: 3rem;\n }\n .md\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .md\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .md\\:ms-auto {\n margin-inline-start: auto;\n }\n .md\\:p-0 {\n padding: 0;\n }\n .md\\:p-1 {\n padding: 0.25rem;\n }\n .md\\:p-2 {\n padding: 0.375rem;\n }\n .md\\:p-3 {\n padding: 0.5rem;\n }\n .md\\:p-4 {\n padding: 0.75rem;\n }\n .md\\:p-5 {\n padding: 1rem;\n }\n .md\\:p-6 {\n padding: 1.25rem;\n }\n .md\\:p-7 {\n padding: 1.5rem;\n }\n .md\\:p-8 {\n padding: 1.75rem;\n }\n .md\\:p-9 {\n padding: 2rem;\n }\n .md\\:p-10 {\n padding: 2.25rem;\n }\n .md\\:p-11 {\n padding: 2.5rem;\n }\n .md\\:p-12 {\n padding: 3rem;\n }\n .md\\:px-0 {\n padding-inline: 0;\n }\n .md\\:px-1 {\n padding-inline: 0.25rem;\n }\n .md\\:px-2 {\n padding-inline: 0.375rem;\n }\n .md\\:px-3 {\n padding-inline: 0.5rem;\n }\n .md\\:px-4 {\n padding-inline: 0.75rem;\n }\n .md\\:px-5 {\n padding-inline: 1rem;\n }\n .md\\:px-6 {\n padding-inline: 1.25rem;\n }\n .md\\:px-7 {\n padding-inline: 1.5rem;\n }\n .md\\:px-8 {\n padding-inline: 1.75rem;\n }\n .md\\:px-9 {\n padding-inline: 2rem;\n }\n .md\\:px-10 {\n padding-inline: 2.25rem;\n }\n .md\\:px-11 {\n padding-inline: 2.5rem;\n }\n .md\\:px-12 {\n padding-inline: 3rem;\n }\n .md\\:py-0 {\n padding-block: 0;\n }\n .md\\:py-1 {\n padding-block: 0.25rem;\n }\n .md\\:py-2 {\n padding-block: 0.375rem;\n }\n .md\\:py-3 {\n padding-block: 0.5rem;\n }\n .md\\:py-4 {\n padding-block: 0.75rem;\n }\n .md\\:py-5 {\n padding-block: 1rem;\n }\n .md\\:py-6 {\n padding-block: 1.25rem;\n }\n .md\\:py-7 {\n padding-block: 1.5rem;\n }\n .md\\:py-8 {\n padding-block: 1.75rem;\n }\n .md\\:py-9 {\n padding-block: 2rem;\n }\n .md\\:py-10 {\n padding-block: 2.25rem;\n }\n .md\\:py-11 {\n padding-block: 2.5rem;\n }\n .md\\:py-12 {\n padding-block: 3rem;\n }\n .md\\:pt-0 {\n padding-block-start: 0;\n }\n .md\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .md\\:pt-2 {\n padding-block-start: 0.375rem;\n }\n .md\\:pt-3 {\n padding-block-start: 0.5rem;\n }\n .md\\:pt-4 {\n padding-block-start: 0.75rem;\n }\n .md\\:pt-5 {\n padding-block-start: 1rem;\n }\n .md\\:pt-6 {\n padding-block-start: 1.25rem;\n }\n .md\\:pt-7 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-8 {\n padding-block-start: 1.75rem;\n }\n .md\\:pt-9 {\n padding-block-start: 2rem;\n }\n .md\\:pt-10 {\n padding-block-start: 2.25rem;\n }\n .md\\:pt-11 {\n padding-block-start: 2.5rem;\n }\n .md\\:pt-12 {\n padding-block-start: 3rem;\n }\n .md\\:pe-0 {\n padding-inline-end: 0;\n }\n .md\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .md\\:pe-2 {\n padding-inline-end: 0.375rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 0.5rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 0.75rem;\n }\n .md\\:pe-5 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-6 {\n padding-inline-end: 1.25rem;\n }\n .md\\:pe-7 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-8 {\n padding-inline-end: 1.75rem;\n }\n .md\\:pe-9 {\n padding-inline-end: 2rem;\n }\n .md\\:pe-10 {\n padding-inline-end: 2.25rem;\n }\n .md\\:pe-11 {\n padding-inline-end: 2.5rem;\n }\n .md\\:pe-12 {\n padding-inline-end: 3rem;\n }\n .md\\:pb-0 {\n padding-block-end: 0;\n }\n .md\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .md\\:pb-2 {\n padding-block-end: 0.375rem;\n }\n .md\\:pb-3 {\n padding-block-end: 0.5rem;\n }\n .md\\:pb-4 {\n padding-block-end: 0.75rem;\n }\n .md\\:pb-5 {\n padding-block-end: 1rem;\n }\n .md\\:pb-6 {\n padding-block-end: 1.25rem;\n }\n .md\\:pb-7 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-8 {\n padding-block-end: 1.75rem;\n }\n .md\\:pb-9 {\n padding-block-end: 2rem;\n }\n .md\\:pb-10 {\n padding-block-end: 2.25rem;\n }\n .md\\:pb-11 {\n padding-block-end: 2.5rem;\n }\n .md\\:pb-12 {\n padding-block-end: 3rem;\n }\n .md\\:ps-0 {\n padding-inline-start: 0;\n }\n .md\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .md\\:ps-2 {\n padding-inline-start: 0.375rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 0.5rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 0.75rem;\n }\n .md\\:ps-5 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-6 {\n padding-inline-start: 1.25rem;\n }\n .md\\:ps-7 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-8 {\n padding-inline-start: 1.75rem;\n }\n .md\\:ps-9 {\n padding-inline-start: 2rem;\n }\n .md\\:ps-10 {\n padding-inline-start: 2.25rem;\n }\n .md\\:ps-11 {\n padding-inline-start: 2.5rem;\n }\n .md\\:ps-12 {\n padding-inline-start: 3rem;\n }\n .md\\:gap-0 {\n gap: 0;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:gap-2 {\n gap: 0.375rem;\n }\n .md\\:gap-3 {\n gap: 0.5rem;\n }\n .md\\:gap-4 {\n gap: 0.75rem;\n }\n .md\\:gap-5 {\n gap: 1rem;\n }\n .md\\:gap-6 {\n gap: 1.25rem;\n }\n .md\\:gap-7 {\n gap: 1.5rem;\n }\n .md\\:gap-8 {\n gap: 1.75rem;\n }\n .md\\:gap-9 {\n gap: 2rem;\n }\n .md\\:gap-10 {\n gap: 2.25rem;\n }\n .md\\:gap-11 {\n gap: 2.5rem;\n }\n .md\\:gap-12 {\n gap: 3rem;\n }\n .md\\:row-gap-0 {\n row-gap: 0;\n }\n .md\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .md\\:row-gap-2 {\n row-gap: 0.375rem;\n }\n .md\\:row-gap-3 {\n row-gap: 0.5rem;\n }\n .md\\:row-gap-4 {\n row-gap: 0.75rem;\n }\n .md\\:row-gap-5 {\n row-gap: 1rem;\n }\n .md\\:row-gap-6 {\n row-gap: 1.25rem;\n }\n .md\\:row-gap-7 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-8 {\n row-gap: 1.75rem;\n }\n .md\\:row-gap-9 {\n row-gap: 2rem;\n }\n .md\\:row-gap-10 {\n row-gap: 2.25rem;\n }\n .md\\:row-gap-11 {\n row-gap: 2.5rem;\n }\n .md\\:row-gap-12 {\n row-gap: 3rem;\n }\n .md\\:column-gap-0 {\n column-gap: 0;\n }\n .md\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .md\\:column-gap-2 {\n column-gap: 0.375rem;\n }\n .md\\:column-gap-3 {\n column-gap: 0.5rem;\n }\n .md\\:column-gap-4 {\n column-gap: 0.75rem;\n }\n .md\\:column-gap-5 {\n column-gap: 1rem;\n }\n .md\\:column-gap-6 {\n column-gap: 1.25rem;\n }\n .md\\:column-gap-7 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-8 {\n column-gap: 1.75rem;\n }\n .md\\:column-gap-9 {\n column-gap: 2rem;\n }\n .md\\:column-gap-10 {\n column-gap: 2.25rem;\n }\n .md\\:column-gap-11 {\n column-gap: 2.5rem;\n }\n .md\\:column-gap-12 {\n column-gap: 3rem;\n }\n :where(.md\\:space-x-0 > :not(:last-child)) {\n margin-inline-end: 0;\n }\n :where(.md\\:space-x-1 > :not(:last-child)) {\n margin-inline-end: 0.25rem;\n }\n :where(.md\\:space-x-2 > :not(:last-child)) {\n margin-inline-end: 0.375rem;\n }\n :where(.md\\:space-x-3 > :not(:last-child)) {\n margin-inline-end: 0.5rem;\n }\n :where(.md\\:space-x-4 > :not(:last-child)) {\n margin-inline-end: 0.75rem;\n }\n :where(.md\\:space-x-5 > :not(:last-child)) {\n margin-inline-end: 1rem;\n }\n :where(.md\\:space-x-6 > :not(:last-child)) {\n margin-inline-end: 1.25rem;\n }\n :where(.md\\:space-x-7 > :not(:last-child)) {\n margin-inline-end: 1.5rem;\n }\n :where(.md\\:space-x-8 > :not(:last-child)) {\n margin-inline-end: 1.75rem;\n }\n :where(.md\\:space-x-9 > :not(:last-child)) {\n margin-inline-end: 2rem;\n }\n :where(.md\\:space-x-10 > :not(:last-child)) {\n margin-inline-end: 2.25rem;\n }\n :where(.md\\:space-x-11 > :not(:last-child)) {\n margin-inline-end: 2.5rem;\n }\n :where(.md\\:space-x-12 > :not(:last-child)) {\n margin-inline-end: 3rem;\n }\n :where(.md\\:space-y-0 > :not(:last-child)) {\n margin-block-end: 0;\n }\n :where(.md\\:space-y-1 > :not(:last-child)) {\n margin-block-end: 0.25rem;\n }\n :where(.md\\:space-y-2 > :not(:last-child)) {\n margin-block-end: 0.375rem;\n }\n :where(.md\\:space-y-3 > :not(:last-child)) {\n margin-block-end: 0.5rem;\n }\n :where(.md\\:space-y-4 > :not(:last-child)) {\n margin-block-end: 0.75rem;\n }\n :where(.md\\:space-y-5 > :not(:last-child)) {\n margin-block-end: 1rem;\n }\n :where(.md\\:space-y-6 > :not(:last-child)) {\n margin-block-end: 1.25rem;\n }\n :where(.md\\:space-y-7 > :not(:last-child)) {\n margin-block-end: 1.5rem;\n }\n :where(.md\\:space-y-8 > :not(:last-child)) {\n margin-block-end: 1.75rem;\n }\n :where(.md\\:space-y-9 > :not(:last-child)) {\n margin-block-end: 2rem;\n }\n :where(.md\\:space-y-10 > :not(:last-child)) {\n margin-block-end: 2.25rem;\n }\n :where(.md\\:space-y-11 > :not(:last-child)) {\n margin-block-end: 2.5rem;\n }\n :where(.md\\:space-y-12 > :not(:last-child)) {\n margin-block-end: 3rem;\n }\n :where(.md\\:divide-x > :not(:first-child)) {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.md\\:divide-x-0 > :not(:first-child)) {\n border-inline-start: 0;\n }\n :where(.md\\:divide-y > :not(:first-child)) {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.md\\:divide-y-0 > :not(:first-child)) {\n border-block-start: 0;\n }\n .md\\:text-start {\n text-align: start;\n }\n .md\\:text-end {\n text-align: end;\n }\n .md\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .lg\\:float-start {\n float: inline-start;\n }\n .lg\\:float-end {\n float: inline-end;\n }\n .lg\\:float-none {\n float: none;\n }\n .lg\\:object-fit-contain {\n object-fit: contain;\n }\n .lg\\:object-fit-cover {\n object-fit: cover;\n }\n .lg\\:object-fit-fill {\n object-fit: fill;\n }\n .lg\\:object-fit-scale {\n object-fit: scale-down;\n }\n .lg\\:object-fit-none {\n object-fit: none;\n }\n .lg\\:d-inline {\n display: inline;\n }\n .lg\\:d-inline-block {\n display: inline-block;\n }\n .lg\\:d-block {\n display: block;\n }\n .lg\\:d-grid {\n display: grid;\n }\n .lg\\:d-inline-grid {\n display: inline-grid;\n }\n .lg\\:d-table {\n display: table;\n }\n .lg\\:d-table-row {\n display: table-row;\n }\n .lg\\:d-table-cell {\n display: table-cell;\n }\n .lg\\:d-flex {\n display: flex;\n }\n .lg\\:d-inline-flex {\n display: inline-flex;\n }\n .lg\\:d-contents {\n display: contents;\n }\n .lg\\:d-flow-root {\n display: flow-root;\n }\n .lg\\:d-none {\n display: none;\n }\n .lg\\:flex-fill {\n flex: 1 1 auto;\n }\n .lg\\:flex-row {\n flex-direction: row;\n }\n .lg\\:flex-column {\n flex-direction: column;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .lg\\:flex-grow-0 {\n flex-grow: 0;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1;\n }\n .lg\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .lg\\:justify-content-start {\n justify-content: flex-start;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end;\n }\n .lg\\:justify-content-center {\n justify-content: center;\n }\n .lg\\:justify-content-between {\n justify-content: space-between;\n }\n .lg\\:justify-content-around {\n justify-content: space-around;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .lg\\:justify-items-start {\n justify-items: start;\n }\n .lg\\:justify-items-end {\n justify-items: end;\n }\n .lg\\:justify-items-center {\n justify-items: center;\n }\n .lg\\:justify-items-stretch {\n justify-items: stretch;\n }\n .lg\\:justify-self-start {\n justify-self: start;\n }\n .lg\\:justify-self-end {\n justify-self: end;\n }\n .lg\\:justify-self-center {\n justify-self: center;\n }\n .lg\\:align-items-start {\n align-items: flex-start;\n }\n .lg\\:align-items-end {\n align-items: flex-end;\n }\n .lg\\:align-items-center {\n align-items: center;\n }\n .lg\\:align-items-baseline {\n align-items: baseline;\n }\n .lg\\:align-items-stretch {\n align-items: stretch;\n }\n .lg\\:align-content-start {\n align-content: flex-start;\n }\n .lg\\:align-content-end {\n align-content: flex-end;\n }\n .lg\\:align-content-center {\n align-content: center;\n }\n .lg\\:align-content-between {\n align-content: space-between;\n }\n .lg\\:align-content-around {\n align-content: space-around;\n }\n .lg\\:align-content-stretch {\n align-content: stretch;\n }\n .lg\\:align-self-auto {\n align-self: auto;\n }\n .lg\\:align-self-start {\n align-self: flex-start;\n }\n .lg\\:align-self-end {\n align-self: flex-end;\n }\n .lg\\:align-self-center {\n align-self: center;\n }\n .lg\\:align-self-baseline {\n align-self: baseline;\n }\n .lg\\:align-self-stretch {\n align-self: stretch;\n }\n .lg\\:place-items-start {\n place-items: start;\n }\n .lg\\:place-items-end {\n place-items: end;\n }\n .lg\\:place-items-center {\n place-items: center;\n }\n .lg\\:place-items-stretch {\n place-items: stretch;\n }\n .lg\\:grid-cols-1 {\n grid-template-columns: 1fr;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .lg\\:grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .lg\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .lg\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .lg\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .lg\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .lg\\:order-first {\n order: -1;\n }\n .lg\\:order-0 {\n order: 0;\n }\n .lg\\:order-1 {\n order: 1;\n }\n .lg\\:order-2 {\n order: 2;\n }\n .lg\\:order-3 {\n order: 3;\n }\n .lg\\:order-4 {\n order: 4;\n }\n .lg\\:order-5 {\n order: 5;\n }\n .lg\\:order-last {\n order: 6;\n }\n .lg\\:m-0 {\n margin: 0;\n }\n .lg\\:m-1 {\n margin: 0.25rem;\n }\n .lg\\:m-2 {\n margin: 0.375rem;\n }\n .lg\\:m-3 {\n margin: 0.5rem;\n }\n .lg\\:m-4 {\n margin: 0.75rem;\n }\n .lg\\:m-5 {\n margin: 1rem;\n }\n .lg\\:m-6 {\n margin: 1.25rem;\n }\n .lg\\:m-7 {\n margin: 1.5rem;\n }\n .lg\\:m-8 {\n margin: 1.75rem;\n }\n .lg\\:m-9 {\n margin: 2rem;\n }\n .lg\\:m-10 {\n margin: 2.25rem;\n }\n .lg\\:m-11 {\n margin: 2.5rem;\n }\n .lg\\:m-12 {\n margin: 3rem;\n }\n .lg\\:m-auto {\n margin: auto;\n }\n .lg\\:mx-0 {\n margin-inline: 0;\n }\n .lg\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .lg\\:mx-2 {\n margin-inline: 0.375rem;\n }\n .lg\\:mx-3 {\n margin-inline: 0.5rem;\n }\n .lg\\:mx-4 {\n margin-inline: 0.75rem;\n }\n .lg\\:mx-5 {\n margin-inline: 1rem;\n }\n .lg\\:mx-6 {\n margin-inline: 1.25rem;\n }\n .lg\\:mx-7 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-8 {\n margin-inline: 1.75rem;\n }\n .lg\\:mx-9 {\n margin-inline: 2rem;\n }\n .lg\\:mx-10 {\n margin-inline: 2.25rem;\n }\n .lg\\:mx-11 {\n margin-inline: 2.5rem;\n }\n .lg\\:mx-12 {\n margin-inline: 3rem;\n }\n .lg\\:mx-auto {\n margin-inline: auto;\n }\n .lg\\:my-0 {\n margin-block: 0;\n }\n .lg\\:my-1 {\n margin-block: 0.25rem;\n }\n .lg\\:my-2 {\n margin-block: 0.375rem;\n }\n .lg\\:my-3 {\n margin-block: 0.5rem;\n }\n .lg\\:my-4 {\n margin-block: 0.75rem;\n }\n .lg\\:my-5 {\n margin-block: 1rem;\n }\n .lg\\:my-6 {\n margin-block: 1.25rem;\n }\n .lg\\:my-7 {\n margin-block: 1.5rem;\n }\n .lg\\:my-8 {\n margin-block: 1.75rem;\n }\n .lg\\:my-9 {\n margin-block: 2rem;\n }\n .lg\\:my-10 {\n margin-block: 2.25rem;\n }\n .lg\\:my-11 {\n margin-block: 2.5rem;\n }\n .lg\\:my-12 {\n margin-block: 3rem;\n }\n .lg\\:my-auto {\n margin-block: auto;\n }\n .lg\\:mt-0 {\n margin-block-start: 0;\n }\n .lg\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .lg\\:mt-2 {\n margin-block-start: 0.375rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 0.5rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 0.75rem;\n }\n .lg\\:mt-5 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-6 {\n margin-block-start: 1.25rem;\n }\n .lg\\:mt-7 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-8 {\n margin-block-start: 1.75rem;\n }\n .lg\\:mt-9 {\n margin-block-start: 2rem;\n }\n .lg\\:mt-10 {\n margin-block-start: 2.25rem;\n }\n .lg\\:mt-11 {\n margin-block-start: 2.5rem;\n }\n .lg\\:mt-12 {\n margin-block-start: 3rem;\n }\n .lg\\:mt-auto {\n margin-block-start: auto;\n }\n .lg\\:me-0 {\n margin-inline-end: 0;\n }\n .lg\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .lg\\:me-2 {\n margin-inline-end: 0.375rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 0.5rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 0.75rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-6 {\n margin-inline-end: 1.25rem;\n }\n .lg\\:me-7 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-8 {\n margin-inline-end: 1.75rem;\n }\n .lg\\:me-9 {\n margin-inline-end: 2rem;\n }\n .lg\\:me-10 {\n margin-inline-end: 2.25rem;\n }\n .lg\\:me-11 {\n margin-inline-end: 2.5rem;\n }\n .lg\\:me-12 {\n margin-inline-end: 3rem;\n }\n .lg\\:me--1 {\n margin-inline-end: -0.25rem;\n }\n .lg\\:me--2 {\n margin-inline-end: -0.5rem;\n }\n .lg\\:me-auto {\n margin-inline-end: auto;\n }\n .lg\\:mb-0 {\n margin-block-end: 0;\n }\n .lg\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .lg\\:mb-2 {\n margin-block-end: 0.375rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 0.5rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 0.75rem;\n }\n .lg\\:mb-5 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-6 {\n margin-block-end: 1.25rem;\n }\n .lg\\:mb-7 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-8 {\n margin-block-end: 1.75rem;\n }\n .lg\\:mb-9 {\n margin-block-end: 2rem;\n }\n .lg\\:mb-10 {\n margin-block-end: 2.25rem;\n }\n .lg\\:mb-11 {\n margin-block-end: 2.5rem;\n }\n .lg\\:mb-12 {\n margin-block-end: 3rem;\n }\n .lg\\:mb-auto {\n margin-block-end: auto;\n }\n .lg\\:ms-0 {\n margin-inline-start: 0;\n }\n .lg\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .lg\\:ms-2 {\n margin-inline-start: 0.375rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 0.5rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 0.75rem;\n }\n .lg\\:ms-5 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-6 {\n margin-inline-start: 1.25rem;\n }\n .lg\\:ms-7 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-8 {\n margin-inline-start: 1.75rem;\n }\n .lg\\:ms-9 {\n margin-inline-start: 2rem;\n }\n .lg\\:ms-10 {\n margin-inline-start: 2.25rem;\n }\n .lg\\:ms-11 {\n margin-inline-start: 2.5rem;\n }\n .lg\\:ms-12 {\n margin-inline-start: 3rem;\n }\n .lg\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .lg\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .lg\\:ms-auto {\n margin-inline-start: auto;\n }\n .lg\\:p-0 {\n padding: 0;\n }\n .lg\\:p-1 {\n padding: 0.25rem;\n }\n .lg\\:p-2 {\n padding: 0.375rem;\n }\n .lg\\:p-3 {\n padding: 0.5rem;\n }\n .lg\\:p-4 {\n padding: 0.75rem;\n }\n .lg\\:p-5 {\n padding: 1rem;\n }\n .lg\\:p-6 {\n padding: 1.25rem;\n }\n .lg\\:p-7 {\n padding: 1.5rem;\n }\n .lg\\:p-8 {\n padding: 1.75rem;\n }\n .lg\\:p-9 {\n padding: 2rem;\n }\n .lg\\:p-10 {\n padding: 2.25rem;\n }\n .lg\\:p-11 {\n padding: 2.5rem;\n }\n .lg\\:p-12 {\n padding: 3rem;\n }\n .lg\\:px-0 {\n padding-inline: 0;\n }\n .lg\\:px-1 {\n padding-inline: 0.25rem;\n }\n .lg\\:px-2 {\n padding-inline: 0.375rem;\n }\n .lg\\:px-3 {\n padding-inline: 0.5rem;\n }\n .lg\\:px-4 {\n padding-inline: 0.75rem;\n }\n .lg\\:px-5 {\n padding-inline: 1rem;\n }\n .lg\\:px-6 {\n padding-inline: 1.25rem;\n }\n .lg\\:px-7 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-8 {\n padding-inline: 1.75rem;\n }\n .lg\\:px-9 {\n padding-inline: 2rem;\n }\n .lg\\:px-10 {\n padding-inline: 2.25rem;\n }\n .lg\\:px-11 {\n padding-inline: 2.5rem;\n }\n .lg\\:px-12 {\n padding-inline: 3rem;\n }\n .lg\\:py-0 {\n padding-block: 0;\n }\n .lg\\:py-1 {\n padding-block: 0.25rem;\n }\n .lg\\:py-2 {\n padding-block: 0.375rem;\n }\n .lg\\:py-3 {\n padding-block: 0.5rem;\n }\n .lg\\:py-4 {\n padding-block: 0.75rem;\n }\n .lg\\:py-5 {\n padding-block: 1rem;\n }\n .lg\\:py-6 {\n padding-block: 1.25rem;\n }\n .lg\\:py-7 {\n padding-block: 1.5rem;\n }\n .lg\\:py-8 {\n padding-block: 1.75rem;\n }\n .lg\\:py-9 {\n padding-block: 2rem;\n }\n .lg\\:py-10 {\n padding-block: 2.25rem;\n }\n .lg\\:py-11 {\n padding-block: 2.5rem;\n }\n .lg\\:py-12 {\n padding-block: 3rem;\n }\n .lg\\:pt-0 {\n padding-block-start: 0;\n }\n .lg\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .lg\\:pt-2 {\n padding-block-start: 0.375rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 0.5rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 0.75rem;\n }\n .lg\\:pt-5 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-6 {\n padding-block-start: 1.25rem;\n }\n .lg\\:pt-7 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-8 {\n padding-block-start: 1.75rem;\n }\n .lg\\:pt-9 {\n padding-block-start: 2rem;\n }\n .lg\\:pt-10 {\n padding-block-start: 2.25rem;\n }\n .lg\\:pt-11 {\n padding-block-start: 2.5rem;\n }\n .lg\\:pt-12 {\n padding-block-start: 3rem;\n }\n .lg\\:pe-0 {\n padding-inline-end: 0;\n }\n .lg\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .lg\\:pe-2 {\n padding-inline-end: 0.375rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 0.5rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 0.75rem;\n }\n .lg\\:pe-5 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-6 {\n padding-inline-end: 1.25rem;\n }\n .lg\\:pe-7 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-8 {\n padding-inline-end: 1.75rem;\n }\n .lg\\:pe-9 {\n padding-inline-end: 2rem;\n }\n .lg\\:pe-10 {\n padding-inline-end: 2.25rem;\n }\n .lg\\:pe-11 {\n padding-inline-end: 2.5rem;\n }\n .lg\\:pe-12 {\n padding-inline-end: 3rem;\n }\n .lg\\:pb-0 {\n padding-block-end: 0;\n }\n .lg\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .lg\\:pb-2 {\n padding-block-end: 0.375rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 0.5rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 0.75rem;\n }\n .lg\\:pb-5 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-6 {\n padding-block-end: 1.25rem;\n }\n .lg\\:pb-7 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-8 {\n padding-block-end: 1.75rem;\n }\n .lg\\:pb-9 {\n padding-block-end: 2rem;\n }\n .lg\\:pb-10 {\n padding-block-end: 2.25rem;\n }\n .lg\\:pb-11 {\n padding-block-end: 2.5rem;\n }\n .lg\\:pb-12 {\n padding-block-end: 3rem;\n }\n .lg\\:ps-0 {\n padding-inline-start: 0;\n }\n .lg\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .lg\\:ps-2 {\n padding-inline-start: 0.375rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 0.5rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 0.75rem;\n }\n .lg\\:ps-5 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-6 {\n padding-inline-start: 1.25rem;\n }\n .lg\\:ps-7 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-8 {\n padding-inline-start: 1.75rem;\n }\n .lg\\:ps-9 {\n padding-inline-start: 2rem;\n }\n .lg\\:ps-10 {\n padding-inline-start: 2.25rem;\n }\n .lg\\:ps-11 {\n padding-inline-start: 2.5rem;\n }\n .lg\\:ps-12 {\n padding-inline-start: 3rem;\n }\n .lg\\:gap-0 {\n gap: 0;\n }\n .lg\\:gap-1 {\n gap: 0.25rem;\n }\n .lg\\:gap-2 {\n gap: 0.375rem;\n }\n .lg\\:gap-3 {\n gap: 0.5rem;\n }\n .lg\\:gap-4 {\n gap: 0.75rem;\n }\n .lg\\:gap-5 {\n gap: 1rem;\n }\n .lg\\:gap-6 {\n gap: 1.25rem;\n }\n .lg\\:gap-7 {\n gap: 1.5rem;\n }\n .lg\\:gap-8 {\n gap: 1.75rem;\n }\n .lg\\:gap-9 {\n gap: 2rem;\n }\n .lg\\:gap-10 {\n gap: 2.25rem;\n }\n .lg\\:gap-11 {\n gap: 2.5rem;\n }\n .lg\\:gap-12 {\n gap: 3rem;\n }\n .lg\\:row-gap-0 {\n row-gap: 0;\n }\n .lg\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .lg\\:row-gap-2 {\n row-gap: 0.375rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 0.5rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 0.75rem;\n }\n .lg\\:row-gap-5 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-6 {\n row-gap: 1.25rem;\n }\n .lg\\:row-gap-7 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-8 {\n row-gap: 1.75rem;\n }\n .lg\\:row-gap-9 {\n row-gap: 2rem;\n }\n .lg\\:row-gap-10 {\n row-gap: 2.25rem;\n }\n .lg\\:row-gap-11 {\n row-gap: 2.5rem;\n }\n .lg\\:row-gap-12 {\n row-gap: 3rem;\n }\n .lg\\:column-gap-0 {\n column-gap: 0;\n }\n .lg\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .lg\\:column-gap-2 {\n column-gap: 0.375rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 0.5rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 0.75rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-6 {\n column-gap: 1.25rem;\n }\n .lg\\:column-gap-7 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-8 {\n column-gap: 1.75rem;\n }\n .lg\\:column-gap-9 {\n column-gap: 2rem;\n }\n .lg\\:column-gap-10 {\n column-gap: 2.25rem;\n }\n .lg\\:column-gap-11 {\n column-gap: 2.5rem;\n }\n .lg\\:column-gap-12 {\n column-gap: 3rem;\n }\n :where(.lg\\:space-x-0 > :not(:last-child)) {\n margin-inline-end: 0;\n }\n :where(.lg\\:space-x-1 > :not(:last-child)) {\n margin-inline-end: 0.25rem;\n }\n :where(.lg\\:space-x-2 > :not(:last-child)) {\n margin-inline-end: 0.375rem;\n }\n :where(.lg\\:space-x-3 > :not(:last-child)) {\n margin-inline-end: 0.5rem;\n }\n :where(.lg\\:space-x-4 > :not(:last-child)) {\n margin-inline-end: 0.75rem;\n }\n :where(.lg\\:space-x-5 > :not(:last-child)) {\n margin-inline-end: 1rem;\n }\n :where(.lg\\:space-x-6 > :not(:last-child)) {\n margin-inline-end: 1.25rem;\n }\n :where(.lg\\:space-x-7 > :not(:last-child)) {\n margin-inline-end: 1.5rem;\n }\n :where(.lg\\:space-x-8 > :not(:last-child)) {\n margin-inline-end: 1.75rem;\n }\n :where(.lg\\:space-x-9 > :not(:last-child)) {\n margin-inline-end: 2rem;\n }\n :where(.lg\\:space-x-10 > :not(:last-child)) {\n margin-inline-end: 2.25rem;\n }\n :where(.lg\\:space-x-11 > :not(:last-child)) {\n margin-inline-end: 2.5rem;\n }\n :where(.lg\\:space-x-12 > :not(:last-child)) {\n margin-inline-end: 3rem;\n }\n :where(.lg\\:space-y-0 > :not(:last-child)) {\n margin-block-end: 0;\n }\n :where(.lg\\:space-y-1 > :not(:last-child)) {\n margin-block-end: 0.25rem;\n }\n :where(.lg\\:space-y-2 > :not(:last-child)) {\n margin-block-end: 0.375rem;\n }\n :where(.lg\\:space-y-3 > :not(:last-child)) {\n margin-block-end: 0.5rem;\n }\n :where(.lg\\:space-y-4 > :not(:last-child)) {\n margin-block-end: 0.75rem;\n }\n :where(.lg\\:space-y-5 > :not(:last-child)) {\n margin-block-end: 1rem;\n }\n :where(.lg\\:space-y-6 > :not(:last-child)) {\n margin-block-end: 1.25rem;\n }\n :where(.lg\\:space-y-7 > :not(:last-child)) {\n margin-block-end: 1.5rem;\n }\n :where(.lg\\:space-y-8 > :not(:last-child)) {\n margin-block-end: 1.75rem;\n }\n :where(.lg\\:space-y-9 > :not(:last-child)) {\n margin-block-end: 2rem;\n }\n :where(.lg\\:space-y-10 > :not(:last-child)) {\n margin-block-end: 2.25rem;\n }\n :where(.lg\\:space-y-11 > :not(:last-child)) {\n margin-block-end: 2.5rem;\n }\n :where(.lg\\:space-y-12 > :not(:last-child)) {\n margin-block-end: 3rem;\n }\n :where(.lg\\:divide-x > :not(:first-child)) {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.lg\\:divide-x-0 > :not(:first-child)) {\n border-inline-start: 0;\n }\n :where(.lg\\:divide-y > :not(:first-child)) {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.lg\\:divide-y-0 > :not(:first-child)) {\n border-block-start: 0;\n }\n .lg\\:text-start {\n text-align: start;\n }\n .lg\\:text-end {\n text-align: end;\n }\n .lg\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .xl\\:float-start {\n float: inline-start;\n }\n .xl\\:float-end {\n float: inline-end;\n }\n .xl\\:float-none {\n float: none;\n }\n .xl\\:object-fit-contain {\n object-fit: contain;\n }\n .xl\\:object-fit-cover {\n object-fit: cover;\n }\n .xl\\:object-fit-fill {\n object-fit: fill;\n }\n .xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .xl\\:object-fit-none {\n object-fit: none;\n }\n .xl\\:d-inline {\n display: inline;\n }\n .xl\\:d-inline-block {\n display: inline-block;\n }\n .xl\\:d-block {\n display: block;\n }\n .xl\\:d-grid {\n display: grid;\n }\n .xl\\:d-inline-grid {\n display: inline-grid;\n }\n .xl\\:d-table {\n display: table;\n }\n .xl\\:d-table-row {\n display: table-row;\n }\n .xl\\:d-table-cell {\n display: table-cell;\n }\n .xl\\:d-flex {\n display: flex;\n }\n .xl\\:d-inline-flex {\n display: inline-flex;\n }\n .xl\\:d-contents {\n display: contents;\n }\n .xl\\:d-flow-root {\n display: flow-root;\n }\n .xl\\:d-none {\n display: none;\n }\n .xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .xl\\:flex-row {\n flex-direction: row;\n }\n .xl\\:flex-column {\n flex-direction: column;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .xl\\:justify-content-center {\n justify-content: center;\n }\n .xl\\:justify-content-between {\n justify-content: space-between;\n }\n .xl\\:justify-content-around {\n justify-content: space-around;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .xl\\:justify-items-start {\n justify-items: start;\n }\n .xl\\:justify-items-end {\n justify-items: end;\n }\n .xl\\:justify-items-center {\n justify-items: center;\n }\n .xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .xl\\:justify-self-start {\n justify-self: start;\n }\n .xl\\:justify-self-end {\n justify-self: end;\n }\n .xl\\:justify-self-center {\n justify-self: center;\n }\n .xl\\:align-items-start {\n align-items: flex-start;\n }\n .xl\\:align-items-end {\n align-items: flex-end;\n }\n .xl\\:align-items-center {\n align-items: center;\n }\n .xl\\:align-items-baseline {\n align-items: baseline;\n }\n .xl\\:align-items-stretch {\n align-items: stretch;\n }\n .xl\\:align-content-start {\n align-content: flex-start;\n }\n .xl\\:align-content-end {\n align-content: flex-end;\n }\n .xl\\:align-content-center {\n align-content: center;\n }\n .xl\\:align-content-between {\n align-content: space-between;\n }\n .xl\\:align-content-around {\n align-content: space-around;\n }\n .xl\\:align-content-stretch {\n align-content: stretch;\n }\n .xl\\:align-self-auto {\n align-self: auto;\n }\n .xl\\:align-self-start {\n align-self: flex-start;\n }\n .xl\\:align-self-end {\n align-self: flex-end;\n }\n .xl\\:align-self-center {\n align-self: center;\n }\n .xl\\:align-self-baseline {\n align-self: baseline;\n }\n .xl\\:align-self-stretch {\n align-self: stretch;\n }\n .xl\\:place-items-start {\n place-items: start;\n }\n .xl\\:place-items-end {\n place-items: end;\n }\n .xl\\:place-items-center {\n place-items: center;\n }\n .xl\\:place-items-stretch {\n place-items: stretch;\n }\n .xl\\:grid-cols-1 {\n grid-template-columns: 1fr;\n }\n .xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .xl\\:grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .xl\\:order-first {\n order: -1;\n }\n .xl\\:order-0 {\n order: 0;\n }\n .xl\\:order-1 {\n order: 1;\n }\n .xl\\:order-2 {\n order: 2;\n }\n .xl\\:order-3 {\n order: 3;\n }\n .xl\\:order-4 {\n order: 4;\n }\n .xl\\:order-5 {\n order: 5;\n }\n .xl\\:order-last {\n order: 6;\n }\n .xl\\:m-0 {\n margin: 0;\n }\n .xl\\:m-1 {\n margin: 0.25rem;\n }\n .xl\\:m-2 {\n margin: 0.375rem;\n }\n .xl\\:m-3 {\n margin: 0.5rem;\n }\n .xl\\:m-4 {\n margin: 0.75rem;\n }\n .xl\\:m-5 {\n margin: 1rem;\n }\n .xl\\:m-6 {\n margin: 1.25rem;\n }\n .xl\\:m-7 {\n margin: 1.5rem;\n }\n .xl\\:m-8 {\n margin: 1.75rem;\n }\n .xl\\:m-9 {\n margin: 2rem;\n }\n .xl\\:m-10 {\n margin: 2.25rem;\n }\n .xl\\:m-11 {\n margin: 2.5rem;\n }\n .xl\\:m-12 {\n margin: 3rem;\n }\n .xl\\:m-auto {\n margin: auto;\n }\n .xl\\:mx-0 {\n margin-inline: 0;\n }\n .xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .xl\\:mx-2 {\n margin-inline: 0.375rem;\n }\n .xl\\:mx-3 {\n margin-inline: 0.5rem;\n }\n .xl\\:mx-4 {\n margin-inline: 0.75rem;\n }\n .xl\\:mx-5 {\n margin-inline: 1rem;\n }\n .xl\\:mx-6 {\n margin-inline: 1.25rem;\n }\n .xl\\:mx-7 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-8 {\n margin-inline: 1.75rem;\n }\n .xl\\:mx-9 {\n margin-inline: 2rem;\n }\n .xl\\:mx-10 {\n margin-inline: 2.25rem;\n }\n .xl\\:mx-11 {\n margin-inline: 2.5rem;\n }\n .xl\\:mx-12 {\n margin-inline: 3rem;\n }\n .xl\\:mx-auto {\n margin-inline: auto;\n }\n .xl\\:my-0 {\n margin-block: 0;\n }\n .xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .xl\\:my-2 {\n margin-block: 0.375rem;\n }\n .xl\\:my-3 {\n margin-block: 0.5rem;\n }\n .xl\\:my-4 {\n margin-block: 0.75rem;\n }\n .xl\\:my-5 {\n margin-block: 1rem;\n }\n .xl\\:my-6 {\n margin-block: 1.25rem;\n }\n .xl\\:my-7 {\n margin-block: 1.5rem;\n }\n .xl\\:my-8 {\n margin-block: 1.75rem;\n }\n .xl\\:my-9 {\n margin-block: 2rem;\n }\n .xl\\:my-10 {\n margin-block: 2.25rem;\n }\n .xl\\:my-11 {\n margin-block: 2.5rem;\n }\n .xl\\:my-12 {\n margin-block: 3rem;\n }\n .xl\\:my-auto {\n margin-block: auto;\n }\n .xl\\:mt-0 {\n margin-block-start: 0;\n }\n .xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .xl\\:mt-2 {\n margin-block-start: 0.375rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 0.5rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 0.75rem;\n }\n .xl\\:mt-5 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-6 {\n margin-block-start: 1.25rem;\n }\n .xl\\:mt-7 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-8 {\n margin-block-start: 1.75rem;\n }\n .xl\\:mt-9 {\n margin-block-start: 2rem;\n }\n .xl\\:mt-10 {\n margin-block-start: 2.25rem;\n }\n .xl\\:mt-11 {\n margin-block-start: 2.5rem;\n }\n .xl\\:mt-12 {\n margin-block-start: 3rem;\n }\n .xl\\:mt-auto {\n margin-block-start: auto;\n }\n .xl\\:me-0 {\n margin-inline-end: 0;\n }\n .xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .xl\\:me-2 {\n margin-inline-end: 0.375rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 0.5rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 0.75rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-6 {\n margin-inline-end: 1.25rem;\n }\n .xl\\:me-7 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-8 {\n margin-inline-end: 1.75rem;\n }\n .xl\\:me-9 {\n margin-inline-end: 2rem;\n }\n .xl\\:me-10 {\n margin-inline-end: 2.25rem;\n }\n .xl\\:me-11 {\n margin-inline-end: 2.5rem;\n }\n .xl\\:me-12 {\n margin-inline-end: 3rem;\n }\n .xl\\:me--1 {\n margin-inline-end: -0.25rem;\n }\n .xl\\:me--2 {\n margin-inline-end: -0.5rem;\n }\n .xl\\:me-auto {\n margin-inline-end: auto;\n }\n .xl\\:mb-0 {\n margin-block-end: 0;\n }\n .xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .xl\\:mb-2 {\n margin-block-end: 0.375rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 0.5rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 0.75rem;\n }\n .xl\\:mb-5 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-6 {\n margin-block-end: 1.25rem;\n }\n .xl\\:mb-7 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-8 {\n margin-block-end: 1.75rem;\n }\n .xl\\:mb-9 {\n margin-block-end: 2rem;\n }\n .xl\\:mb-10 {\n margin-block-end: 2.25rem;\n }\n .xl\\:mb-11 {\n margin-block-end: 2.5rem;\n }\n .xl\\:mb-12 {\n margin-block-end: 3rem;\n }\n .xl\\:mb-auto {\n margin-block-end: auto;\n }\n .xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .xl\\:ms-2 {\n margin-inline-start: 0.375rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 0.5rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 0.75rem;\n }\n .xl\\:ms-5 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-6 {\n margin-inline-start: 1.25rem;\n }\n .xl\\:ms-7 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-8 {\n margin-inline-start: 1.75rem;\n }\n .xl\\:ms-9 {\n margin-inline-start: 2rem;\n }\n .xl\\:ms-10 {\n margin-inline-start: 2.25rem;\n }\n .xl\\:ms-11 {\n margin-inline-start: 2.5rem;\n }\n .xl\\:ms-12 {\n margin-inline-start: 3rem;\n }\n .xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .xl\\:p-0 {\n padding: 0;\n }\n .xl\\:p-1 {\n padding: 0.25rem;\n }\n .xl\\:p-2 {\n padding: 0.375rem;\n }\n .xl\\:p-3 {\n padding: 0.5rem;\n }\n .xl\\:p-4 {\n padding: 0.75rem;\n }\n .xl\\:p-5 {\n padding: 1rem;\n }\n .xl\\:p-6 {\n padding: 1.25rem;\n }\n .xl\\:p-7 {\n padding: 1.5rem;\n }\n .xl\\:p-8 {\n padding: 1.75rem;\n }\n .xl\\:p-9 {\n padding: 2rem;\n }\n .xl\\:p-10 {\n padding: 2.25rem;\n }\n .xl\\:p-11 {\n padding: 2.5rem;\n }\n .xl\\:p-12 {\n padding: 3rem;\n }\n .xl\\:px-0 {\n padding-inline: 0;\n }\n .xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .xl\\:px-2 {\n padding-inline: 0.375rem;\n }\n .xl\\:px-3 {\n padding-inline: 0.5rem;\n }\n .xl\\:px-4 {\n padding-inline: 0.75rem;\n }\n .xl\\:px-5 {\n padding-inline: 1rem;\n }\n .xl\\:px-6 {\n padding-inline: 1.25rem;\n }\n .xl\\:px-7 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-8 {\n padding-inline: 1.75rem;\n }\n .xl\\:px-9 {\n padding-inline: 2rem;\n }\n .xl\\:px-10 {\n padding-inline: 2.25rem;\n }\n .xl\\:px-11 {\n padding-inline: 2.5rem;\n }\n .xl\\:px-12 {\n padding-inline: 3rem;\n }\n .xl\\:py-0 {\n padding-block: 0;\n }\n .xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .xl\\:py-2 {\n padding-block: 0.375rem;\n }\n .xl\\:py-3 {\n padding-block: 0.5rem;\n }\n .xl\\:py-4 {\n padding-block: 0.75rem;\n }\n .xl\\:py-5 {\n padding-block: 1rem;\n }\n .xl\\:py-6 {\n padding-block: 1.25rem;\n }\n .xl\\:py-7 {\n padding-block: 1.5rem;\n }\n .xl\\:py-8 {\n padding-block: 1.75rem;\n }\n .xl\\:py-9 {\n padding-block: 2rem;\n }\n .xl\\:py-10 {\n padding-block: 2.25rem;\n }\n .xl\\:py-11 {\n padding-block: 2.5rem;\n }\n .xl\\:py-12 {\n padding-block: 3rem;\n }\n .xl\\:pt-0 {\n padding-block-start: 0;\n }\n .xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .xl\\:pt-2 {\n padding-block-start: 0.375rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 0.5rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 0.75rem;\n }\n .xl\\:pt-5 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-6 {\n padding-block-start: 1.25rem;\n }\n .xl\\:pt-7 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-8 {\n padding-block-start: 1.75rem;\n }\n .xl\\:pt-9 {\n padding-block-start: 2rem;\n }\n .xl\\:pt-10 {\n padding-block-start: 2.25rem;\n }\n .xl\\:pt-11 {\n padding-block-start: 2.5rem;\n }\n .xl\\:pt-12 {\n padding-block-start: 3rem;\n }\n .xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .xl\\:pe-2 {\n padding-inline-end: 0.375rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 0.5rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 0.75rem;\n }\n .xl\\:pe-5 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-6 {\n padding-inline-end: 1.25rem;\n }\n .xl\\:pe-7 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-8 {\n padding-inline-end: 1.75rem;\n }\n .xl\\:pe-9 {\n padding-inline-end: 2rem;\n }\n .xl\\:pe-10 {\n padding-inline-end: 2.25rem;\n }\n .xl\\:pe-11 {\n padding-inline-end: 2.5rem;\n }\n .xl\\:pe-12 {\n padding-inline-end: 3rem;\n }\n .xl\\:pb-0 {\n padding-block-end: 0;\n }\n .xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .xl\\:pb-2 {\n padding-block-end: 0.375rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 0.5rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 0.75rem;\n }\n .xl\\:pb-5 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-6 {\n padding-block-end: 1.25rem;\n }\n .xl\\:pb-7 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-8 {\n padding-block-end: 1.75rem;\n }\n .xl\\:pb-9 {\n padding-block-end: 2rem;\n }\n .xl\\:pb-10 {\n padding-block-end: 2.25rem;\n }\n .xl\\:pb-11 {\n padding-block-end: 2.5rem;\n }\n .xl\\:pb-12 {\n padding-block-end: 3rem;\n }\n .xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .xl\\:ps-2 {\n padding-inline-start: 0.375rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 0.5rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 0.75rem;\n }\n .xl\\:ps-5 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-6 {\n padding-inline-start: 1.25rem;\n }\n .xl\\:ps-7 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-8 {\n padding-inline-start: 1.75rem;\n }\n .xl\\:ps-9 {\n padding-inline-start: 2rem;\n }\n .xl\\:ps-10 {\n padding-inline-start: 2.25rem;\n }\n .xl\\:ps-11 {\n padding-inline-start: 2.5rem;\n }\n .xl\\:ps-12 {\n padding-inline-start: 3rem;\n }\n .xl\\:gap-0 {\n gap: 0;\n }\n .xl\\:gap-1 {\n gap: 0.25rem;\n }\n .xl\\:gap-2 {\n gap: 0.375rem;\n }\n .xl\\:gap-3 {\n gap: 0.5rem;\n }\n .xl\\:gap-4 {\n gap: 0.75rem;\n }\n .xl\\:gap-5 {\n gap: 1rem;\n }\n .xl\\:gap-6 {\n gap: 1.25rem;\n }\n .xl\\:gap-7 {\n gap: 1.5rem;\n }\n .xl\\:gap-8 {\n gap: 1.75rem;\n }\n .xl\\:gap-9 {\n gap: 2rem;\n }\n .xl\\:gap-10 {\n gap: 2.25rem;\n }\n .xl\\:gap-11 {\n gap: 2.5rem;\n }\n .xl\\:gap-12 {\n gap: 3rem;\n }\n .xl\\:row-gap-0 {\n row-gap: 0;\n }\n .xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .xl\\:row-gap-2 {\n row-gap: 0.375rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 0.5rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 0.75rem;\n }\n .xl\\:row-gap-5 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-6 {\n row-gap: 1.25rem;\n }\n .xl\\:row-gap-7 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-8 {\n row-gap: 1.75rem;\n }\n .xl\\:row-gap-9 {\n row-gap: 2rem;\n }\n .xl\\:row-gap-10 {\n row-gap: 2.25rem;\n }\n .xl\\:row-gap-11 {\n row-gap: 2.5rem;\n }\n .xl\\:row-gap-12 {\n row-gap: 3rem;\n }\n .xl\\:column-gap-0 {\n column-gap: 0;\n }\n .xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .xl\\:column-gap-2 {\n column-gap: 0.375rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 0.5rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 0.75rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-6 {\n column-gap: 1.25rem;\n }\n .xl\\:column-gap-7 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-8 {\n column-gap: 1.75rem;\n }\n .xl\\:column-gap-9 {\n column-gap: 2rem;\n }\n .xl\\:column-gap-10 {\n column-gap: 2.25rem;\n }\n .xl\\:column-gap-11 {\n column-gap: 2.5rem;\n }\n .xl\\:column-gap-12 {\n column-gap: 3rem;\n }\n :where(.xl\\:space-x-0 > :not(:last-child)) {\n margin-inline-end: 0;\n }\n :where(.xl\\:space-x-1 > :not(:last-child)) {\n margin-inline-end: 0.25rem;\n }\n :where(.xl\\:space-x-2 > :not(:last-child)) {\n margin-inline-end: 0.375rem;\n }\n :where(.xl\\:space-x-3 > :not(:last-child)) {\n margin-inline-end: 0.5rem;\n }\n :where(.xl\\:space-x-4 > :not(:last-child)) {\n margin-inline-end: 0.75rem;\n }\n :where(.xl\\:space-x-5 > :not(:last-child)) {\n margin-inline-end: 1rem;\n }\n :where(.xl\\:space-x-6 > :not(:last-child)) {\n margin-inline-end: 1.25rem;\n }\n :where(.xl\\:space-x-7 > :not(:last-child)) {\n margin-inline-end: 1.5rem;\n }\n :where(.xl\\:space-x-8 > :not(:last-child)) {\n margin-inline-end: 1.75rem;\n }\n :where(.xl\\:space-x-9 > :not(:last-child)) {\n margin-inline-end: 2rem;\n }\n :where(.xl\\:space-x-10 > :not(:last-child)) {\n margin-inline-end: 2.25rem;\n }\n :where(.xl\\:space-x-11 > :not(:last-child)) {\n margin-inline-end: 2.5rem;\n }\n :where(.xl\\:space-x-12 > :not(:last-child)) {\n margin-inline-end: 3rem;\n }\n :where(.xl\\:space-y-0 > :not(:last-child)) {\n margin-block-end: 0;\n }\n :where(.xl\\:space-y-1 > :not(:last-child)) {\n margin-block-end: 0.25rem;\n }\n :where(.xl\\:space-y-2 > :not(:last-child)) {\n margin-block-end: 0.375rem;\n }\n :where(.xl\\:space-y-3 > :not(:last-child)) {\n margin-block-end: 0.5rem;\n }\n :where(.xl\\:space-y-4 > :not(:last-child)) {\n margin-block-end: 0.75rem;\n }\n :where(.xl\\:space-y-5 > :not(:last-child)) {\n margin-block-end: 1rem;\n }\n :where(.xl\\:space-y-6 > :not(:last-child)) {\n margin-block-end: 1.25rem;\n }\n :where(.xl\\:space-y-7 > :not(:last-child)) {\n margin-block-end: 1.5rem;\n }\n :where(.xl\\:space-y-8 > :not(:last-child)) {\n margin-block-end: 1.75rem;\n }\n :where(.xl\\:space-y-9 > :not(:last-child)) {\n margin-block-end: 2rem;\n }\n :where(.xl\\:space-y-10 > :not(:last-child)) {\n margin-block-end: 2.25rem;\n }\n :where(.xl\\:space-y-11 > :not(:last-child)) {\n margin-block-end: 2.5rem;\n }\n :where(.xl\\:space-y-12 > :not(:last-child)) {\n margin-block-end: 3rem;\n }\n :where(.xl\\:divide-x > :not(:first-child)) {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.xl\\:divide-x-0 > :not(:first-child)) {\n border-inline-start: 0;\n }\n :where(.xl\\:divide-y > :not(:first-child)) {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.xl\\:divide-y-0 > :not(:first-child)) {\n border-block-start: 0;\n }\n .xl\\:text-start {\n text-align: start;\n }\n .xl\\:text-end {\n text-align: end;\n }\n .xl\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:float-start {\n float: inline-start;\n }\n .\\32 xl\\:float-end {\n float: inline-end;\n }\n .\\32 xl\\:float-none {\n float: none;\n }\n .\\32 xl\\:object-fit-contain {\n object-fit: contain;\n }\n .\\32 xl\\:object-fit-cover {\n object-fit: cover;\n }\n .\\32 xl\\:object-fit-fill {\n object-fit: fill;\n }\n .\\32 xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .\\32 xl\\:object-fit-none {\n object-fit: none;\n }\n .\\32 xl\\:d-inline {\n display: inline;\n }\n .\\32 xl\\:d-inline-block {\n display: inline-block;\n }\n .\\32 xl\\:d-block {\n display: block;\n }\n .\\32 xl\\:d-grid {\n display: grid;\n }\n .\\32 xl\\:d-inline-grid {\n display: inline-grid;\n }\n .\\32 xl\\:d-table {\n display: table;\n }\n .\\32 xl\\:d-table-row {\n display: table-row;\n }\n .\\32 xl\\:d-table-cell {\n display: table-cell;\n }\n .\\32 xl\\:d-flex {\n display: flex;\n }\n .\\32 xl\\:d-inline-flex {\n display: inline-flex;\n }\n .\\32 xl\\:d-contents {\n display: contents;\n }\n .\\32 xl\\:d-flow-root {\n display: flow-root;\n }\n .\\32 xl\\:d-none {\n display: none;\n }\n .\\32 xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .\\32 xl\\:flex-row {\n flex-direction: row;\n }\n .\\32 xl\\:flex-column {\n flex-direction: column;\n }\n .\\32 xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .\\32 xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .\\32 xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .\\32 xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .\\32 xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .\\32 xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .\\32 xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .\\32 xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .\\32 xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .\\32 xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .\\32 xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .\\32 xl\\:justify-content-center {\n justify-content: center;\n }\n .\\32 xl\\:justify-content-between {\n justify-content: space-between;\n }\n .\\32 xl\\:justify-content-around {\n justify-content: space-around;\n }\n .\\32 xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .\\32 xl\\:justify-items-start {\n justify-items: start;\n }\n .\\32 xl\\:justify-items-end {\n justify-items: end;\n }\n .\\32 xl\\:justify-items-center {\n justify-items: center;\n }\n .\\32 xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .\\32 xl\\:justify-self-start {\n justify-self: start;\n }\n .\\32 xl\\:justify-self-end {\n justify-self: end;\n }\n .\\32 xl\\:justify-self-center {\n justify-self: center;\n }\n .\\32 xl\\:align-items-start {\n align-items: flex-start;\n }\n .\\32 xl\\:align-items-end {\n align-items: flex-end;\n }\n .\\32 xl\\:align-items-center {\n align-items: center;\n }\n .\\32 xl\\:align-items-baseline {\n align-items: baseline;\n }\n .\\32 xl\\:align-items-stretch {\n align-items: stretch;\n }\n .\\32 xl\\:align-content-start {\n align-content: flex-start;\n }\n .\\32 xl\\:align-content-end {\n align-content: flex-end;\n }\n .\\32 xl\\:align-content-center {\n align-content: center;\n }\n .\\32 xl\\:align-content-between {\n align-content: space-between;\n }\n .\\32 xl\\:align-content-around {\n align-content: space-around;\n }\n .\\32 xl\\:align-content-stretch {\n align-content: stretch;\n }\n .\\32 xl\\:align-self-auto {\n align-self: auto;\n }\n .\\32 xl\\:align-self-start {\n align-self: flex-start;\n }\n .\\32 xl\\:align-self-end {\n align-self: flex-end;\n }\n .\\32 xl\\:align-self-center {\n align-self: center;\n }\n .\\32 xl\\:align-self-baseline {\n align-self: baseline;\n }\n .\\32 xl\\:align-self-stretch {\n align-self: stretch;\n }\n .\\32 xl\\:place-items-start {\n place-items: start;\n }\n .\\32 xl\\:place-items-end {\n place-items: end;\n }\n .\\32 xl\\:place-items-center {\n place-items: center;\n }\n .\\32 xl\\:place-items-stretch {\n place-items: stretch;\n }\n .\\32 xl\\:grid-cols-1 {\n grid-template-columns: 1fr;\n }\n .\\32 xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .\\32 xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .\\32 xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .\\32 xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .\\32 xl\\:grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .\\32 xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .\\32 xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .\\32 xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .\\32 xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .\\32 xl\\:order-first {\n order: -1;\n }\n .\\32 xl\\:order-0 {\n order: 0;\n }\n .\\32 xl\\:order-1 {\n order: 1;\n }\n .\\32 xl\\:order-2 {\n order: 2;\n }\n .\\32 xl\\:order-3 {\n order: 3;\n }\n .\\32 xl\\:order-4 {\n order: 4;\n }\n .\\32 xl\\:order-5 {\n order: 5;\n }\n .\\32 xl\\:order-last {\n order: 6;\n }\n .\\32 xl\\:m-0 {\n margin: 0;\n }\n .\\32 xl\\:m-1 {\n margin: 0.25rem;\n }\n .\\32 xl\\:m-2 {\n margin: 0.375rem;\n }\n .\\32 xl\\:m-3 {\n margin: 0.5rem;\n }\n .\\32 xl\\:m-4 {\n margin: 0.75rem;\n }\n .\\32 xl\\:m-5 {\n margin: 1rem;\n }\n .\\32 xl\\:m-6 {\n margin: 1.25rem;\n }\n .\\32 xl\\:m-7 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-8 {\n margin: 1.75rem;\n }\n .\\32 xl\\:m-9 {\n margin: 2rem;\n }\n .\\32 xl\\:m-10 {\n margin: 2.25rem;\n }\n .\\32 xl\\:m-11 {\n margin: 2.5rem;\n }\n .\\32 xl\\:m-12 {\n margin: 3rem;\n }\n .\\32 xl\\:m-auto {\n margin: auto;\n }\n .\\32 xl\\:mx-0 {\n margin-inline: 0;\n }\n .\\32 xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .\\32 xl\\:mx-2 {\n margin-inline: 0.375rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 0.5rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 0.75rem;\n }\n .\\32 xl\\:mx-5 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-6 {\n margin-inline: 1.25rem;\n }\n .\\32 xl\\:mx-7 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-8 {\n margin-inline: 1.75rem;\n }\n .\\32 xl\\:mx-9 {\n margin-inline: 2rem;\n }\n .\\32 xl\\:mx-10 {\n margin-inline: 2.25rem;\n }\n .\\32 xl\\:mx-11 {\n margin-inline: 2.5rem;\n }\n .\\32 xl\\:mx-12 {\n margin-inline: 3rem;\n }\n .\\32 xl\\:mx-auto {\n margin-inline: auto;\n }\n .\\32 xl\\:my-0 {\n margin-block: 0;\n }\n .\\32 xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .\\32 xl\\:my-2 {\n margin-block: 0.375rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 0.5rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 0.75rem;\n }\n .\\32 xl\\:my-5 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-6 {\n margin-block: 1.25rem;\n }\n .\\32 xl\\:my-7 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-8 {\n margin-block: 1.75rem;\n }\n .\\32 xl\\:my-9 {\n margin-block: 2rem;\n }\n .\\32 xl\\:my-10 {\n margin-block: 2.25rem;\n }\n .\\32 xl\\:my-11 {\n margin-block: 2.5rem;\n }\n .\\32 xl\\:my-12 {\n margin-block: 3rem;\n }\n .\\32 xl\\:my-auto {\n margin-block: auto;\n }\n .\\32 xl\\:mt-0 {\n margin-block-start: 0;\n }\n .\\32 xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .\\32 xl\\:mt-2 {\n margin-block-start: 0.375rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 0.5rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 0.75rem;\n }\n .\\32 xl\\:mt-5 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-6 {\n margin-block-start: 1.25rem;\n }\n .\\32 xl\\:mt-7 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-8 {\n margin-block-start: 1.75rem;\n }\n .\\32 xl\\:mt-9 {\n margin-block-start: 2rem;\n }\n .\\32 xl\\:mt-10 {\n margin-block-start: 2.25rem;\n }\n .\\32 xl\\:mt-11 {\n margin-block-start: 2.5rem;\n }\n .\\32 xl\\:mt-12 {\n margin-block-start: 3rem;\n }\n .\\32 xl\\:mt-auto {\n margin-block-start: auto;\n }\n .\\32 xl\\:me-0 {\n margin-inline-end: 0;\n }\n .\\32 xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .\\32 xl\\:me-2 {\n margin-inline-end: 0.375rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 0.5rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 0.75rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-6 {\n margin-inline-end: 1.25rem;\n }\n .\\32 xl\\:me-7 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-8 {\n margin-inline-end: 1.75rem;\n }\n .\\32 xl\\:me-9 {\n margin-inline-end: 2rem;\n }\n .\\32 xl\\:me-10 {\n margin-inline-end: 2.25rem;\n }\n .\\32 xl\\:me-11 {\n margin-inline-end: 2.5rem;\n }\n .\\32 xl\\:me-12 {\n margin-inline-end: 3rem;\n }\n .\\32 xl\\:me--1 {\n margin-inline-end: -0.25rem;\n }\n .\\32 xl\\:me--2 {\n margin-inline-end: -0.5rem;\n }\n .\\32 xl\\:me-auto {\n margin-inline-end: auto;\n }\n .\\32 xl\\:mb-0 {\n margin-block-end: 0;\n }\n .\\32 xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .\\32 xl\\:mb-2 {\n margin-block-end: 0.375rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 0.5rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 0.75rem;\n }\n .\\32 xl\\:mb-5 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-6 {\n margin-block-end: 1.25rem;\n }\n .\\32 xl\\:mb-7 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-8 {\n margin-block-end: 1.75rem;\n }\n .\\32 xl\\:mb-9 {\n margin-block-end: 2rem;\n }\n .\\32 xl\\:mb-10 {\n margin-block-end: 2.25rem;\n }\n .\\32 xl\\:mb-11 {\n margin-block-end: 2.5rem;\n }\n .\\32 xl\\:mb-12 {\n margin-block-end: 3rem;\n }\n .\\32 xl\\:mb-auto {\n margin-block-end: auto;\n }\n .\\32 xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .\\32 xl\\:ms-2 {\n margin-inline-start: 0.375rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 0.5rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 0.75rem;\n }\n .\\32 xl\\:ms-5 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-6 {\n margin-inline-start: 1.25rem;\n }\n .\\32 xl\\:ms-7 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-8 {\n margin-inline-start: 1.75rem;\n }\n .\\32 xl\\:ms-9 {\n margin-inline-start: 2rem;\n }\n .\\32 xl\\:ms-10 {\n margin-inline-start: 2.25rem;\n }\n .\\32 xl\\:ms-11 {\n margin-inline-start: 2.5rem;\n }\n .\\32 xl\\:ms-12 {\n margin-inline-start: 3rem;\n }\n .\\32 xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .\\32 xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .\\32 xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .\\32 xl\\:p-0 {\n padding: 0;\n }\n .\\32 xl\\:p-1 {\n padding: 0.25rem;\n }\n .\\32 xl\\:p-2 {\n padding: 0.375rem;\n }\n .\\32 xl\\:p-3 {\n padding: 0.5rem;\n }\n .\\32 xl\\:p-4 {\n padding: 0.75rem;\n }\n .\\32 xl\\:p-5 {\n padding: 1rem;\n }\n .\\32 xl\\:p-6 {\n padding: 1.25rem;\n }\n .\\32 xl\\:p-7 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-8 {\n padding: 1.75rem;\n }\n .\\32 xl\\:p-9 {\n padding: 2rem;\n }\n .\\32 xl\\:p-10 {\n padding: 2.25rem;\n }\n .\\32 xl\\:p-11 {\n padding: 2.5rem;\n }\n .\\32 xl\\:p-12 {\n padding: 3rem;\n }\n .\\32 xl\\:px-0 {\n padding-inline: 0;\n }\n .\\32 xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .\\32 xl\\:px-2 {\n padding-inline: 0.375rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 0.5rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 0.75rem;\n }\n .\\32 xl\\:px-5 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-6 {\n padding-inline: 1.25rem;\n }\n .\\32 xl\\:px-7 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-8 {\n padding-inline: 1.75rem;\n }\n .\\32 xl\\:px-9 {\n padding-inline: 2rem;\n }\n .\\32 xl\\:px-10 {\n padding-inline: 2.25rem;\n }\n .\\32 xl\\:px-11 {\n padding-inline: 2.5rem;\n }\n .\\32 xl\\:px-12 {\n padding-inline: 3rem;\n }\n .\\32 xl\\:py-0 {\n padding-block: 0;\n }\n .\\32 xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .\\32 xl\\:py-2 {\n padding-block: 0.375rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 0.5rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 0.75rem;\n }\n .\\32 xl\\:py-5 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-6 {\n padding-block: 1.25rem;\n }\n .\\32 xl\\:py-7 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-8 {\n padding-block: 1.75rem;\n }\n .\\32 xl\\:py-9 {\n padding-block: 2rem;\n }\n .\\32 xl\\:py-10 {\n padding-block: 2.25rem;\n }\n .\\32 xl\\:py-11 {\n padding-block: 2.5rem;\n }\n .\\32 xl\\:py-12 {\n padding-block: 3rem;\n }\n .\\32 xl\\:pt-0 {\n padding-block-start: 0;\n }\n .\\32 xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .\\32 xl\\:pt-2 {\n padding-block-start: 0.375rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 0.5rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 0.75rem;\n }\n .\\32 xl\\:pt-5 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-6 {\n padding-block-start: 1.25rem;\n }\n .\\32 xl\\:pt-7 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-8 {\n padding-block-start: 1.75rem;\n }\n .\\32 xl\\:pt-9 {\n padding-block-start: 2rem;\n }\n .\\32 xl\\:pt-10 {\n padding-block-start: 2.25rem;\n }\n .\\32 xl\\:pt-11 {\n padding-block-start: 2.5rem;\n }\n .\\32 xl\\:pt-12 {\n padding-block-start: 3rem;\n }\n .\\32 xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .\\32 xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .\\32 xl\\:pe-2 {\n padding-inline-end: 0.375rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 0.5rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 0.75rem;\n }\n .\\32 xl\\:pe-5 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-6 {\n padding-inline-end: 1.25rem;\n }\n .\\32 xl\\:pe-7 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-8 {\n padding-inline-end: 1.75rem;\n }\n .\\32 xl\\:pe-9 {\n padding-inline-end: 2rem;\n }\n .\\32 xl\\:pe-10 {\n padding-inline-end: 2.25rem;\n }\n .\\32 xl\\:pe-11 {\n padding-inline-end: 2.5rem;\n }\n .\\32 xl\\:pe-12 {\n padding-inline-end: 3rem;\n }\n .\\32 xl\\:pb-0 {\n padding-block-end: 0;\n }\n .\\32 xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .\\32 xl\\:pb-2 {\n padding-block-end: 0.375rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 0.5rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 0.75rem;\n }\n .\\32 xl\\:pb-5 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-6 {\n padding-block-end: 1.25rem;\n }\n .\\32 xl\\:pb-7 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-8 {\n padding-block-end: 1.75rem;\n }\n .\\32 xl\\:pb-9 {\n padding-block-end: 2rem;\n }\n .\\32 xl\\:pb-10 {\n padding-block-end: 2.25rem;\n }\n .\\32 xl\\:pb-11 {\n padding-block-end: 2.5rem;\n }\n .\\32 xl\\:pb-12 {\n padding-block-end: 3rem;\n }\n .\\32 xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .\\32 xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .\\32 xl\\:ps-2 {\n padding-inline-start: 0.375rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 0.5rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 0.75rem;\n }\n .\\32 xl\\:ps-5 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-6 {\n padding-inline-start: 1.25rem;\n }\n .\\32 xl\\:ps-7 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-8 {\n padding-inline-start: 1.75rem;\n }\n .\\32 xl\\:ps-9 {\n padding-inline-start: 2rem;\n }\n .\\32 xl\\:ps-10 {\n padding-inline-start: 2.25rem;\n }\n .\\32 xl\\:ps-11 {\n padding-inline-start: 2.5rem;\n }\n .\\32 xl\\:ps-12 {\n padding-inline-start: 3rem;\n }\n .\\32 xl\\:gap-0 {\n gap: 0;\n }\n .\\32 xl\\:gap-1 {\n gap: 0.25rem;\n }\n .\\32 xl\\:gap-2 {\n gap: 0.375rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 0.5rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 0.75rem;\n }\n .\\32 xl\\:gap-5 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-6 {\n gap: 1.25rem;\n }\n .\\32 xl\\:gap-7 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-8 {\n gap: 1.75rem;\n }\n .\\32 xl\\:gap-9 {\n gap: 2rem;\n }\n .\\32 xl\\:gap-10 {\n gap: 2.25rem;\n }\n .\\32 xl\\:gap-11 {\n gap: 2.5rem;\n }\n .\\32 xl\\:gap-12 {\n gap: 3rem;\n }\n .\\32 xl\\:row-gap-0 {\n row-gap: 0;\n }\n .\\32 xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .\\32 xl\\:row-gap-2 {\n row-gap: 0.375rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 0.5rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 0.75rem;\n }\n .\\32 xl\\:row-gap-5 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-6 {\n row-gap: 1.25rem;\n }\n .\\32 xl\\:row-gap-7 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-8 {\n row-gap: 1.75rem;\n }\n .\\32 xl\\:row-gap-9 {\n row-gap: 2rem;\n }\n .\\32 xl\\:row-gap-10 {\n row-gap: 2.25rem;\n }\n .\\32 xl\\:row-gap-11 {\n row-gap: 2.5rem;\n }\n .\\32 xl\\:row-gap-12 {\n row-gap: 3rem;\n }\n .\\32 xl\\:column-gap-0 {\n column-gap: 0;\n }\n .\\32 xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .\\32 xl\\:column-gap-2 {\n column-gap: 0.375rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 0.5rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 0.75rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-6 {\n column-gap: 1.25rem;\n }\n .\\32 xl\\:column-gap-7 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-8 {\n column-gap: 1.75rem;\n }\n .\\32 xl\\:column-gap-9 {\n column-gap: 2rem;\n }\n .\\32 xl\\:column-gap-10 {\n column-gap: 2.25rem;\n }\n .\\32 xl\\:column-gap-11 {\n column-gap: 2.5rem;\n }\n .\\32 xl\\:column-gap-12 {\n column-gap: 3rem;\n }\n :where(.\\32 xl\\:space-x-0 > :not(:last-child)) {\n margin-inline-end: 0;\n }\n :where(.\\32 xl\\:space-x-1 > :not(:last-child)) {\n margin-inline-end: 0.25rem;\n }\n :where(.\\32 xl\\:space-x-2 > :not(:last-child)) {\n margin-inline-end: 0.375rem;\n }\n :where(.\\32 xl\\:space-x-3 > :not(:last-child)) {\n margin-inline-end: 0.5rem;\n }\n :where(.\\32 xl\\:space-x-4 > :not(:last-child)) {\n margin-inline-end: 0.75rem;\n }\n :where(.\\32 xl\\:space-x-5 > :not(:last-child)) {\n margin-inline-end: 1rem;\n }\n :where(.\\32 xl\\:space-x-6 > :not(:last-child)) {\n margin-inline-end: 1.25rem;\n }\n :where(.\\32 xl\\:space-x-7 > :not(:last-child)) {\n margin-inline-end: 1.5rem;\n }\n :where(.\\32 xl\\:space-x-8 > :not(:last-child)) {\n margin-inline-end: 1.75rem;\n }\n :where(.\\32 xl\\:space-x-9 > :not(:last-child)) {\n margin-inline-end: 2rem;\n }\n :where(.\\32 xl\\:space-x-10 > :not(:last-child)) {\n margin-inline-end: 2.25rem;\n }\n :where(.\\32 xl\\:space-x-11 > :not(:last-child)) {\n margin-inline-end: 2.5rem;\n }\n :where(.\\32 xl\\:space-x-12 > :not(:last-child)) {\n margin-inline-end: 3rem;\n }\n :where(.\\32 xl\\:space-y-0 > :not(:last-child)) {\n margin-block-end: 0;\n }\n :where(.\\32 xl\\:space-y-1 > :not(:last-child)) {\n margin-block-end: 0.25rem;\n }\n :where(.\\32 xl\\:space-y-2 > :not(:last-child)) {\n margin-block-end: 0.375rem;\n }\n :where(.\\32 xl\\:space-y-3 > :not(:last-child)) {\n margin-block-end: 0.5rem;\n }\n :where(.\\32 xl\\:space-y-4 > :not(:last-child)) {\n margin-block-end: 0.75rem;\n }\n :where(.\\32 xl\\:space-y-5 > :not(:last-child)) {\n margin-block-end: 1rem;\n }\n :where(.\\32 xl\\:space-y-6 > :not(:last-child)) {\n margin-block-end: 1.25rem;\n }\n :where(.\\32 xl\\:space-y-7 > :not(:last-child)) {\n margin-block-end: 1.5rem;\n }\n :where(.\\32 xl\\:space-y-8 > :not(:last-child)) {\n margin-block-end: 1.75rem;\n }\n :where(.\\32 xl\\:space-y-9 > :not(:last-child)) {\n margin-block-end: 2rem;\n }\n :where(.\\32 xl\\:space-y-10 > :not(:last-child)) {\n margin-block-end: 2.25rem;\n }\n :where(.\\32 xl\\:space-y-11 > :not(:last-child)) {\n margin-block-end: 2.5rem;\n }\n :where(.\\32 xl\\:space-y-12 > :not(:last-child)) {\n margin-block-end: 3rem;\n }\n :where(.\\32 xl\\:divide-x > :not(:first-child)) {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.\\32 xl\\:divide-x-0 > :not(:first-child)) {\n border-inline-start: 0;\n }\n :where(.\\32 xl\\:divide-y > :not(:first-child)) {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n :where(.\\32 xl\\:divide-y-0 > :not(:first-child)) {\n border-block-start: 0;\n }\n .\\32 xl\\:text-start {\n text-align: start;\n }\n .\\32 xl\\:text-end {\n text-align: end;\n }\n .\\32 xl\\:text-center {\n text-align: center;\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .animation-shake,\n .animation-pop {\n animation: none;\n }\n }\n}\n@keyframes animation-shake {\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n}\n@keyframes animation-pop {\n from {\n transform: scale(0);\n }\n to {\n transform: scale(1);\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-alpha1 (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: oklch !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tints: defaults(\n (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n ),\n $color-tints\n);\n\n$color-shades: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-shades: defaults(\n (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 70%,\n \"975\": 76%,\n ),\n $color-shades\n);\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root,\n:host {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n\n@layer colors, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines, custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-body-variables\n // The stack omits system-ui. It resolves to the user interface font of the\n // locale, which shows non-Latin text incorrectly. See twbs/bootstrap#42703.\n --body-font-family: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'\",\n --body-font-size: 1rem,\n --body-font-weight: var(--font-weight-normal),\n --body-line-height: 1.5,\n // scss-docs-end root-body-variables\n\n --heading-color: inherit,\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-fg)),\n --link-decoration: underline,\n --link-underline-offset: .2em,\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, 'Cascadia Mono', Consolas, 'Liberation Mono', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-width-keyline: .5px,\n --border-style: #{$border-style},\n --border-color: light-dark(var(--gray-200), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-box-shadow-variables\n // --box-shadow* tokens are generated below (see root-box-shadow-loop) from\n // the shared $shadows map in scss/_config.scss, which reads these two.\n --shadow-color: #000,\n --shadow-strength: 1,\n // scss-docs-end root-box-shadow-variables\n\n // scss-docs-start root-transition-variables\n // Shared easing curve for overlay components (dialog, drawer, menu)\n --transition-timing-overlay: cubic-bezier(.22, 1, .36, 1),\n // scss-docs-end root-transition-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n // Shared motion for checkbox/radio marks; slight overshoot so the mark pops in\n --control-transition-duration: .15s,\n --control-transition-timing: cubic-bezier(.34, 1.56, .64, 1),\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-gap: .375rem,\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--body-font-size),\n --btn-input-line-height: var(--body-line-height),\n --btn-input-border-radius: var(--radius-5),\n\n --btn-input-xs-gap: var(--spacer-1),\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--radius-5),\n\n --btn-input-sm-gap: .375rem,\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--radius-5),\n\n --btn-input-lg-gap: .375rem,\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--radius-7),\n // scss-docs-end root-form-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines, custom-property-no-missing-var-function\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-font-weight-loop\n// Generate font-weight tokens\n@each $name, $value in $font-weights {\n $root-tokens: map.set($root-tokens, --font-weight-#{$name}, $value);\n}\n// scss-docs-end root-font-weight-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n// Generate spacer tokens\n// scss-docs-start root-spacer-loop\n@each $key, $value in $spacers {\n $root-tokens: map.set($root-tokens, --spacer-#{$key}, $value);\n}\n// scss-docs-end root-spacer-loop\n\n// Generate radius tokens\n// scss-docs-start root-radius-loop\n@each $key, $value in $radii {\n $root-tokens: map.set($root-tokens, --radius-#{$key}, $value);\n}\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: map.set($root-tokens, --radius-pill, 50rem);\n// scss-docs-end root-radius-loop\n\n// Generate box-shadow tokens\n// scss-docs-start root-box-shadow-loop\n@each $key, $value in $shadows {\n @if $key == null {\n $root-tokens: map.set($root-tokens, --box-shadow, $value);\n } @else {\n $root-tokens: map.set($root-tokens, --box-shadow-#{$key}, $value);\n }\n}\n// scss-docs-end root-box-shadow-loop\n\n// Generate z-index tokens\n@each $key, $value in $zindex-levels {\n $root-tokens: map.set($root-tokens, --z-#{$key}, $value);\n}\n\n:root,\n:host {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n // Always reserve the viewport scrollbar gutter so layout doesn't shift\n // when overflow: hidden is applied (e.g. when a dialog opens on Windows).\n scrollbar-gutter: stable;\n}\n\n// Deepen shadows in dark mode. The shadow-strength token is a plain number, so it\n// can't use light-dark() (colors only); vary it alongside color-scheme instead.\n@media (prefers-color-scheme: dark) {\n :root,\n :host {\n --shadow-strength: 2.4;\n }\n}\n\n[data-bs-theme=\"dark\"] {\n --shadow-strength: 2.4;\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n --shadow-strength: 1;\n color-scheme: light;\n}\n","@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$type-tokens: () !default;\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start type-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$type-tokens: defaults(\n (\n --heading-margin-bottom: var(--spacer-2),\n --heading-font-family: null,\n --heading-font-style: null,\n --heading-line-height: 1.2,\n --paragraph-margin-bottom: var(--spacer),\n --legend-margin-bottom: var(--spacer-2),\n --legend-font-size: 1.5rem,\n --legend-font-weight: null,\n --list-padding-x: var(--spacer-7),\n ),\n $type-tokens\n);\n// scss-docs-end type-tokens\n\n:root,\n:host {\n @include tokens($type-tokens);\n}\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: var(--spacer-1),\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--radius-3),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n // Reboot\n //\n // Normalization of HTML elements, manually forked from Normalize.css to remove\n // styles targeting irrelevant browsers while applying new styles.\n //\n // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n // Document\n //\n // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n // Root\n //\n // Ability to the value of the root font sizes, affecting the value of `rem`.\n // null by default, thus nothing is generated.\n\n :root,\n :host {\n // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n }\n\n // Reset iframe color-scheme\n //\n // If the color scheme of an iframe differs from parent document, iframe gets\n // an opaque canvas background appropriate (resulting in a white background\n // on the iframe when in a page with a dark color scheme).\n iframe {\n color-scheme: light dark;\n border: 0;\n }\n\n // Body\n //\n // 1. Remove the margin in all browsers.\n // 2. As a best practice, apply a default `background-color`.\n // 3. Prevent adjustments of font size after orientation changes in iOS.\n // 4. Change the default tap highlight to be completely transparent in iOS.\n\n // scss-docs-start reboot-body-rules\n body {\n margin: 0; // 1\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: transparent; // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\n // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n // margin for easier control within type scales as it avoids margin collapsing.\n\n %heading {\n margin-top: 0; // 1\n margin-bottom: var(--heading-margin-bottom);\n font-family: var(--heading-font-family);\n font-style: var(--heading-font-style);\n font-weight: var(--heading-font-weight, var(--font-weight-medium));\n line-height: var(--heading-line-height);\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: var(--font-size-3xl);\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: var(--font-size-2xl);\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: var(--font-size-xl);\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: var(--font-size-lg);\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: var(--font-size-md);\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: var(--font-size-sm);\n }\n\n // Reset margins on paragraphs\n //\n // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n // bottom margin to use `rem` units instead of `em`.\n\n p {\n margin-top: 0;\n margin-bottom: var(--paragraph-margin-bottom);\n }\n\n // Abbreviations\n //\n // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n // 2. Add explicit cursor to indicate changed behavior.\n // 3. Prevent the text-decoration to be skipped.\n\n abbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n }\n\n // Builds on `abbr`\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n\n // Address\n\n address {\n margin-bottom: var(--spacer);\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: var(--list-padding-x);\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: var(--spacer);\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: var(--dt-font-weight, var(--font-weight-bold));\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: var(--spacer-2);\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 var(--spacer);\n > * {\n margin-block: 0;\n }\n }\n\n // Strong\n //\n // Add the correct font weight in Chrome, Edge, and Safari\n\n b,\n strong {\n font-weight: var(--font-weight-bolder);\n }\n\n // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-fg, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: var(--link-underline-offset);\n\n &:hover {\n color: var(--theme-fg-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n }\n\n // And undo these styles for placeholder links/named anchors (without href).\n // It would be more straightforward to just use a[href] in previous block, but that\n // causes specificity issues in many other styles that are too complex to fix.\n // See https://github.com/twbs/bootstrap/issues/19402\n\n a:not([href], [class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n // 4. Reserve room for the scrollbar so it cannot sit on top of the last line\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: var(--spacer); // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n scrollbar-gutter: stable; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n }\n\n kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 var(--spacer);\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\n }\n\n // Tables\n //\n // Prevent double borders\n\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n\n caption {\n padding-block: var(--spacer-2);\n color: var(--fg-3);\n text-align: start;\n }\n\n // 1. Matches default `<td>` alignment by inheriting `text-align`.\n // 2. Fix alignment for Safari\n\n th {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Set the cursor for non-`<button>` buttons\n //\n // Details at https://github.com/twbs/bootstrap/pull/30562\n [role=\"button\"] {\n cursor: pointer;\n }\n\n select {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n }\n\n // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n // See https://stackoverflow.com/a/54997118\n\n [list]:not([type=\"date\"], [type=\"datetime-local\"], [type=\"month\"], [type=\"week\"], [type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n\n // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n // controls in Android 4.\n // 2. Correct the inability to style clickable types in iOS and Safari.\n // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n button,\n [type=\"button\"], // 1\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n }\n\n // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n textarea {\n resize: vertical; // 1\n }\n\n // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n fieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n }\n\n // 1. By using `float: inline-start`, the legend will behave like a block element.\n // This way the border of a fieldset wraps around the legend if present.\n // 2. Fix wrapping bug.\n // See https://github.com/twbs/bootstrap/issues/29712\n\n legend {\n float: inline-start; // 1\n width: 100%;\n padding: 0;\n margin-bottom: var(--legend-margin-bottom);\n font-size: var(--legend-font-size);\n font-weight: var(--legend-font-weight);\n line-height: inherit;\n\n + * {\n clear: inline-start; // 2\n }\n }\n\n // Fix height of inputs with a type of datetime-local, date, month, week, or time\n // See https://github.com/twbs/bootstrap/issues/18842\n\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-meridiem-field, // WebKit\n ::-webkit-datetime-edit-ampm-field, // Chromium\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n\n // 3. Better affordance and consistent appearance for search cancel button\n &::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n }\n\n // A few input types should stay LTR regardless of document direction\n // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n [type=\"tel\"],\n [type=\"url\"],\n [type=\"email\"],\n [type=\"number\"] {\n direction: ltr;\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // Remove padding around color pickers in webkit browsers\n\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n // 1. Inherit font family and line height for file input buttons\n // 2. Correct the inability to style clickable types in iOS and Safari.\n\n ::file-selector-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n }\n\n // Correct element displays\n\n output {\n display: inline-block;\n }\n\n // Summary\n //\n // 1. Add the correct display in all browsers\n\n summary {\n display: list-item; // 1\n cursor: pointer;\n }\n\n // Progress\n //\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\n }\n\n // Hidden attribute\n //\n // Always hide an element with the `hidden` HTML attribute.\n\n [hidden] {\n display: none !important;\n }\n}\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if meta.type-of($value) == number {\n $return: list.append($return, math.max($value, 0));\n } @else {\n $return: list.append($return, $value);\n }\n }\n @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--radius-5), $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-end-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: var(--radius-5)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../mixins/lists\" as *;\n\n@layer content {\n //\n // Lists\n //\n\n .list-unstyled {\n @include list-unstyled();\n }\n\n // Inline turns list items into inline-block\n .list-inline {\n @include list-unstyled();\n }\n .list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n }\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-inline-start: 0;\n list-style-type: \"\";\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n (\n --blockquote-gap: calc(var(--spacer) / 2),\n --blockquote-padding-x: var(--spacer),\n --blockquote-margin-y: var(--spacer),\n --blockquote-font-size: var(--font-size-md),\n --blockquote-border-width: .25rem,\n --blockquote-border-color: var(--border-color),\n --blockquote-footer-font-size: var(--font-size-sm),\n --blockquote-footer-color: var(--fg-3),\n ),\n $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n .blockquote {\n @include tokens($blockquote-tokens);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n > * {\n margin-bottom: 0;\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n figure.blockquote {\n blockquote {\n margin-bottom: 0;\n }\n }\n\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n (\n --table-cell-padding-y: .5rem,\n --table-cell-padding-x: .5rem,\n --table-cell-vertical-align: top,\n --table-color: var(--fg-body),\n --table-bg: var(--bg-body),\n --table-accent-bg: transparent,\n --table-border-width: var(--border-width),\n --table-border-color: var(--border-color),\n --table-group-separator-color: currentcolor,\n --table-striped-color: var(--table-color),\n --table-striped-bg-factor: 5%,\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n --table-active-color: var(--table-color),\n --table-active-bg-factor: 10%,\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n --table-hover-color: var(--table-color),\n --table-hover-bg-factor: 7.5%,\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n ),\n $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n .table {\n @include tokens($table-tokens);\n\n // Reset needed for nesting tables\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n // End of reset\n\n width: 100%;\n margin-bottom: var(--spacer);\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n color: var(--table-color-state, var(--table-color-type, var(--theme-fg, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n }\n\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n }\n\n //\n // Change placement of captions with a class\n //\n\n .caption-top {\n caption-side: top;\n }\n\n //\n // Condensed table w/ half padding\n //\n\n .table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\n }\n }\n\n // Border versions\n //\n // Add or remove borders all around the table and between all the columns.\n //\n // When borders are added on all sides of the cells, the corners can render odd when\n // these borders do not have the same color or if they are semi-transparent.\n // Therefore we add top and border bottoms to the `tr`s and left and right borders\n // to the `td`s or `th`s\n\n .table-bordered {\n > :not(caption) > * {\n border-width: var(--table-border-width) 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 var(--table-border-width);\n }\n }\n }\n\n .table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n\n > :not(:first-child) {\n border-block-start-width: 0;\n }\n }\n\n // Zebra-striping\n //\n // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n // For rows\n .table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n --table-color-type: var(--theme-fg, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // For columns\n .table-striped-columns {\n > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n --table-color-type: var(--theme-fg, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // Active table\n //\n // The `.table-active` class can be added to highlight rows or cells\n\n .table-active {\n --table-color-state: var(--theme-fg, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n\n // Hover effect\n //\n // Placed here since it has to come after the potential zebra striping\n\n .table-hover {\n > tbody > tr:hover > * {\n --table-color-state: var(--theme-fg, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-fg, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n }\n\n // Responsive tables\n //\n // Generate `.table-responsive` classes that act as container query contexts\n // and enable horizontal scrolling when table content overflows.\n\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}table-responsive {\n container-type: inline-size;\n\n @include media-breakpoint-down($breakpoint) {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n\n // Stacked tables\n //\n // Generate `.table-stacked` classes that convert table rows into stacked\n // blocks using container queries. Requires a `.table-responsive` ancestor\n // and `data-cell` attributes on `<td>` elements for column labels.\n\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include container-breakpoint-down($breakpoint) {\n .#{$prefix}table-stacked {\n > thead {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n > tbody > tr {\n display: block;\n padding-block: var(--table-cell-padding-y);\n\n + tr {\n border-block-start: var(--table-border-width) solid var(--table-border-color);\n }\n\n > td {\n display: block;\n padding: calc(var(--table-cell-padding-y) * .25) calc(var(--table-cell-padding-x) * 2);\n border: 0;\n\n &:first-child {\n font-weight: var(--font-weight-bold);\n }\n\n // + td::before {\n // margin-block-start: .25rem;\n // }\n\n &[data-cell]:not(:first-child)::before {\n display: block;\n font-weight: var(--font-weight-semibold);\n content: attr(data-cell);\n }\n }\n\n > td:not(:first-child) + td::before {\n margin-block-start: .25rem;\n }\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n $name-str: \"#{$name}\";\n $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n $first: string.slice($name-str, 1, 1);\n\n @if list.index($digits, $first) {\n @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n }\n\n @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"sm\\:\"\n// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n @if breakpoint-min($name, $breakpoints) == null {\n @return \"\";\n }\n\n @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n @content($breakpoint, $prefix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $prefix: breakpoint-prefix($next, $breakpoints);\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n (\n --thumbnail-padding: .25rem,\n --thumbnail-bg: var(--bg-body),\n --thumbnail-border-width: var(--border-width),\n --thumbnail-border-color: var(--border-color),\n --thumbnail-border-radius: var(--radius-5),\n --thumbnail-box-shadow: var(--box-shadow-sm),\n ),\n $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n (\n --figure-gap: calc(var(--spacer) * .5),\n --figure-caption-font-size: var(--font-size-sm),\n --figure-caption-color: var(--fg-3),\n ),\n $figure-tokens\n);\n// scss-docs-end figure-tokens\n\n@layer content {\n // Responsive images (ensure images don't scale beyond their parents)\n //\n // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n // which weren't expecting the images within themselves to be involuntarily resized.\n // See also https://github.com/twbs/bootstrap/issues/18178\n .img-fluid {\n @include img-fluid();\n }\n\n .img-thumbnail {\n @include tokens($thumbnail-tokens);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n @include border-radius(var(--thumbnail-border-radius));\n @include box-shadow(var(--thumbnail-box-shadow));\n\n // Keep them at most 100% wide\n @include img-fluid();\n }\n\n .figure {\n @include tokens($figure-tokens);\n // Ensures the caption's text aligns with the image.\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n $has-single-value: false;\n $single-value: null;\n\n @each $value in $shadow {\n @if $value != null {\n @if $value == none or $value == initial or $value == inherit or $value == unset {\n $has-single-value: true;\n $single-value: $value;\n } @else {\n $result: list.append($result, $value, \"comma\");\n }\n }\n }\n\n @if $has-single-value {\n box-shadow: $single-value;\n } @else if (list.length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n (\n --content-font-size: 1rem,\n --content-line-height: 1.5,\n --content-gap: calc(var(--content-font-size) * var(--content-line-height)),\n --heading-color: light-dark(var(--gray-900), var(--white)),\n ),\n $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n .prose {\n @include tokens($prose-tokens);\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: var(--content-line-height);\n\n @media (width >= 1024px) {\n --content-font-size: var(--font-size-md);\n --content-line-height: 1.625;\n // --content-gap: calc(var(--content-font-size) * var(--content-line-height));\n }\n\n :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n\n :where(ul, ol):not([class], :where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n\n :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n\n :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n :where(h1, h2, h3, h4, h5, h6):not([class], :where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n\n code {\n font-weight: 600;\n color: inherit;\n }\n }\n\n :where(h1, h2):not(:first-child, :where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .75);\n }\n\n :where(h3, h4, h5, h6):not(:first-child, :where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .5);\n }\n\n :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n\n :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n color: var(--link-hover-color);\n text-decoration-color: var(--link-hover-color);\n }\n }\n\n :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n\n :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n\n :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n td,\n th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n }\n\n :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n\n :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n$transition-base: all .2s ease-in-out !default;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if list.length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if list.length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n $first: list.nth($transition, 1);\n\n @if $first != null {\n // `none` force-disables a transition, so it must reach every reader. It\n // arrives bare or as `none !important`, hence the list test.\n @if $enable-reduced-motion and not list.index($first, none) {\n @media (prefers-reduced-motion: no-preference) {\n transition: $transition;\n }\n } @else {\n transition: $transition;\n }\n }\n }\n}\n\n// Set the `transition-*` properties one by one. In the shorthand a trailing\n// duration binds to the last property only, so `color, box-shadow .15s` leaves\n// `color` at `0s`. Set apart, one duration and easing cover every property.\n//\n// This also keeps the property list in a custom property. A single token then\n// adds a property to the animation, where the shorthand would need the whole\n// declaration again.\n//\n// Pass `$behavior: allow-discrete` for a list that animates a discrete\n// property, such as `display` or `content-visibility`.\n@mixin transition-props($property, $duration, $timing, $behavior: null) {\n @if $enable-transitions {\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: no-preference) {\n @include transition-longhands($property, $duration, $timing, $behavior);\n }\n } @else {\n @include transition-longhands($property, $duration, $timing, $behavior);\n }\n }\n}\n\n@mixin transition-longhands($property, $duration, $timing, $behavior) {\n transition-timing-function: $timing;\n transition-duration: $duration;\n transition-property: $property;\n\n @if $behavior {\n transition-behavior: $behavior;\n }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .#{breakpoint-prefix($name, $breakpoints)}container {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: true !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: false !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-deprecation-messages: true !default;\n\n$color-mode-type: \"media-query\" !default;\n$color-contrast-dark: #000 !default;\n$color-contrast-light: #fff !default;\n$min-contrast-ratio: 4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: defaults(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .375,\n 3: $spacer * .5,\n 4: $spacer * .75,\n 5: $spacer * 1,\n 6: $spacer * 1.25,\n 7: $spacer * 1.5,\n 8: $spacer * 1.75,\n 9: $spacer * 2,\n 10: $spacer * 2.25,\n 11: $spacer * 2.5,\n 12: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$negative-spacers: defaults(\n (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n ),\n $negative-spacers\n);\n// scss-docs-end spacer-variables-maps\n\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: defaults(\n (\n 1: $spacer,\n 2: $spacer * 2,\n 3: $spacer * 3,\n 4: $spacer * 4,\n 5: $spacer * 5,\n 6: $spacer * 6,\n 7: $spacer * 7,\n 8: $spacer * 8,\n 9: $spacer * 9,\n 10: $spacer * 10,\n 11: $spacer * 11,\n 12: $spacer * 12,\n ),\n $sizes\n);\n\n// scss-docs-start radius-variables-maps\n$radius: .5rem !default;\n$radii: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$radii: defaults(\n (\n 0: 0,\n 1: $radius * .25,\n 2: $radius * .375,\n 3: $radius * .5,\n 4: $radius * .75,\n 5: $radius,\n 6: $radius * 1.25,\n 7: $radius * 1.5,\n 8: $radius * 1.75,\n 9: $radius * 2,\n ),\n $radii\n);\n// scss-docs-end radius-variables-maps\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$container-max-widths: defaults(\n (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n ),\n $container-max-widths\n);\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$position-values: defaults(\n (\n 0: 0,\n 50: 50%,\n 100: 100%\n ),\n $position-values\n);\n// scss-docs-end position-map\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$border-widths: defaults(\n (\n keyline: .5px,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n ),\n $border-widths\n);\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n// Each layer's alpha is base * strength * opacity, so shadow-color retints\n// (e.g. .shadow-primary), shadow-opacity dims or boosts (.shadow-opacity-*),\n// and shadow-strength deepens every shadow in dark mode. Color and opacity\n// each read a local, non-inheriting override set by their utility\n// (scss/_utilities.scss)—var(--sc, var(--shadow-color)) and var(--so, 1)—so\n// neither leaks to nested .shadow-* descendants; --sc falls back to the\n// cascading global --shadow-color token (scss/_root.scss) when unset.\n// scss-docs-start box-shadow-variables\n$shadows: (\n null: #{(\n \"0 .125rem .25rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.04 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 .375rem .75rem -.125rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 .75rem 1.5rem -.25rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1)))\"\n )},\n xs: 0 .0625rem .125rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.04 * var(--shadow-strength) * var(--so, 1))),\n sm: #{(\n \"0 .0625rem .125rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.04 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 .125rem .375rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1)))\"\n )},\n lg: #{(\n \"0 .125rem .375rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 .375rem 1rem -.1875rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 .75rem 2rem -.375rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.07 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 1.5rem 3.5rem -.75rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.08 * var(--shadow-strength) * var(--so, 1)))\"\n )},\n xl: #{(\n \"0 .1875rem .5rem -.0625rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.05 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 .5rem 1.25rem -.1875rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.06 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 1rem 2.5rem -.375rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.07 * var(--shadow-strength) * var(--so, 1)))\",\n \"0 2rem 5rem -.75rem oklch(from var(--sc, var(--shadow-color)) l c h / calc(.09 * var(--shadow-strength) * var(--so, 1)))\"\n )},\n inset: inset 0 1px 2px light-dark(oklch(from var(--sc, var(--shadow-color)) l c h / calc(8% * var(--so, 1))), oklch(from var(--sc, var(--shadow-color)) l c h / calc(26% * var(--so, 1)))),\n) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$aspect-ratios: defaults(\n (\n \"auto\": auto,\n \"1x1\": #{\"1 / 1\"},\n \"4x3\": #{\"4 / 3\"},\n \"16x9\": #{\"16 / 9\"},\n \"21x9\": #{\"21 / 9\"}\n ),\n $aspect-ratios\n);\n// scss-docs-end aspect-ratios\n\n// scss-docs-start font-weights\n$font-weights: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-weights: defaults(\n (\n lighter: lighter,\n light: 300,\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n bolder: bolder\n ),\n $font-weights\n);\n// scss-docs-end font-weights\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.125rem, 1rem + .625vw, 1.25rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\n// scss-docs-end font-sizes\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n menu: 1000,\n sticky: 1010,\n fixed: 1020,\n drawer: 1030,\n dialog: 1040,\n popover: 1050,\n tooltip: 1060,\n toast: 1070,\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n@use \"../mixins/grid\" as *;\n\n// TODO: check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n @include set-container();\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n\n @include make-cssgrid();\n }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n .#{$prefix}col {\n flex: 1 0 0;\n }\n\n .#{$prefix}row-cols-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .#{$prefix}row-cols-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .#{$prefix}col-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}col-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .#{$prefix}offset-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .#{$prefix}g-#{$key},\n .#{$prefix}gx-#{$key} {\n --gutter-x: #{$value};\n }\n\n .#{$prefix}g-#{$key},\n .#{$prefix}gy-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include container-breakpoint-up($breakpoint, $breakpoints: $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}g-col-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .#{$prefix}g-start-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","@use \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n (\n --label-margin-bottom: calc(var(--spacer) / 2),\n --label-font-size: null,\n --label-font-style: null,\n --label-font-weight: null,\n --label-color: null,\n ),\n $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, inherit);\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, 500);\n color: var(--label-color, var(--fg-body));\n }\n\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n }\n\n // For use with horizontal and inline forms, when you need the label (or legend)\n // text to align with the form controls.\n .col-form-label {\n --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0; // Override the `<legend>` default\n }\n\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n (\n --form-text-margin-top: .25rem,\n --form-text-font-size: var(--font-size-sm),\n --form-text-font-style: null,\n --form-text-font-weight: null,\n --form-text-color: var(--fg-2),\n ),\n $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n .form-text {\n @include tokens($form-text-tokens);\n\n // margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n (\n --control-min-height: var(--btn-input-min-height),\n --control-padding-y: var(--btn-input-padding-y),\n --control-padding-x: var(--btn-input-padding-x),\n --control-font-size: var(--btn-input-font-size),\n --control-line-height: var(--btn-input-line-height),\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--radius-5),\n --control-box-shadow: var(--box-shadow-inset),\n --control-action-bg: var(--bg-1),\n --control-action-hover-bg: var(--bg-2),\n --control-transition-property: \"border-color, box-shadow\",\n --control-transition-duration: .15s,\n --control-transition-timing: ease-in-out,\n --control-placeholder-color: var(--fg-3),\n --control-disabled-color: var(--control-fg),\n --control-disabled-bg: var(--bg-2),\n --control-disabled-border-color: var(--control-border-color),\n --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n --control-select-bg-position: right .75rem center,\n --control-select-bg-size: 16px 12px,\n --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#ffffff80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n ),\n $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n (\"sm\", \"lg\"),\n $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .form-control {\n @include tokens($form-control-tokens);\n\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n @include box-shadow(var(--control-box-shadow));\n @include transition-props(\n var(--control-transition-property),\n var(--control-transition-duration),\n var(--control-transition-timing)\n );\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus-visible,\n &:focus-within {\n --focus-ring-offset: -1px;\n @include focus-ring(true);\n }\n\n // Placeholder\n &::placeholder {\n color: var(--control-placeholder-color);\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled {\n color: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // Prevent excessive date input height in WebKit/Blink; see\n // https://github.com/twbs/bootstrap/issues/34433.\n &::-webkit-datetime-edit {\n display: block;\n padding: 0;\n }\n\n // File inputs\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled, [readonly]) {\n cursor: pointer;\n }\n }\n &::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n // @include gradient-bg(var(--control-action-bg));\n pointer-events: none;\n background-color: var(--control-action-bg);\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition-props(\n var(--control-transition-property),\n var(--control-transition-duration),\n var(--control-transition-timing)\n );\n }\n\n &:hover:not(:disabled, [readonly])::file-selector-button {\n background-color: var(--control-action-hover-bg);\n }\n }\n\n // Readonly controls as plain text\n //\n // Apply class to a readonly input to make it appear like regular plain\n // text (without any border, background color, focus indicator)\n\n .form-control-plaintext {\n // Plaintext is a standalone class (not combined with `.form-control`), so it\n // needs its own copy of the control tokens. Without them the `var(--control-*)`\n // references below are invalid and fall back to their initial values (e.g.\n // `border-width: medium`), which adds phantom inline borders and misaligns the\n // text from a floating label.\n @include tokens($form-control-tokens);\n\n display: block;\n width: 100%;\n padding: var(--control-padding-y) 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n\n &:focus {\n outline: 0;\n }\n\n &.form-control-sm,\n &.form-control-lg {\n padding-inline: 0;\n }\n }\n\n // stylelint-disable selector-no-qualifying-type\n select.form-control,\n .form-control-caret {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n }\n\n [data-bs-theme=\"dark\"] {\n select.form-control,\n .form-control-caret {\n background-image: var(--control-select-bg-dark);\n }\n }\n // stylelint-enable selector-no-qualifying-type\n\n // Form control sizing\n //\n // Build on `.form-control` with modifier classes to decrease or increase the\n // height and font-size of form controls.\n //\n // Repeated in `_input_group.scss` to avoid Sass extend issues.\n @each $size, $_ in $form-control-sizes {\n .form-control-#{$size} {\n --control-min-height: var(--btn-input-#{$size}-min-height);\n --control-padding-y: var(--btn-input-#{$size}-padding-y);\n --control-padding-x: var(--btn-input-#{$size}-padding-x);\n --control-font-size: var(--btn-input-#{$size}-font-size);\n --control-line-height: var(--btn-input-#{$size}-line-height);\n --control-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-padding-y);\n\n &:not(:disabled, [readonly]) {\n cursor: pointer;\n }\n\n &::-moz-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius(var(--radius-5));\n }\n\n &::-webkit-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius(var(--radius-5));\n }\n }\n\n // Ghost input - removes all visual styling\n // Used inside custom wrappers that handle their own styling\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n\n &:focus {\n outline: 0;\n }\n\n &::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n\n &:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n @if $color != null {\n outline: var(--focus-ring-width) solid #{$color};\n } @else {\n outline: var(--focus-ring);\n }\n @if $offset {\n outline-offset: var(--focus-ring-offset);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/mask-icon\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n (\n --check-size: 1.25rem,\n --check-margin-block: .125rem,\n --check-bg: var(--bg-body),\n --check-border-color: var(--border-color),\n --check-border-radius: var(--radius-5),\n --check-icon-checked: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5.5 10 3 3 6-6'/></svg>\"))},\n --check-icon-indeterminate: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10h8'/></svg>\"))},\n --check-checked-bg: var(--control-checked-bg),\n --check-checked-border-color: var(--control-checked-border-color),\n --check-indeterminate-bg: var(--control-checked-bg),\n --check-indeterminate-border-color: var(--control-checked-border-color),\n --check-active-bg: var(--control-active-bg),\n --check-active-border-color: var(--control-active-border-color),\n --check-disabled-bg: var(--control-disabled-bg),\n --check-disabled-opacity: var(--control-disabled-opacity),\n ),\n $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n // The class lives on the `<input>` itself; `appearance: none` controls render\n // pseudo-elements, so the mark is drawn directly on the input — no wrapper.\n .check {\n @include tokens($check-tokens);\n\n position: relative;\n flex-shrink: 0;\n width: var(--check-size);\n height: var(--check-size);\n margin-block: var(--check-margin-block);\n appearance: none;\n // later: maybe set a tertiary bg color?\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 33%;\n @include transition(\n background-color var(--control-transition-duration) var(--control-transition-timing),\n border-color var(--control-transition-duration) var(--control-transition-timing)\n );\n\n // Check/indeterminate mark, overlaid on the input and rendered via a CSS\n // mask so it inherits the contrast color without an inline SVG. Always\n // present but scaled/faded out until checked so it can pop in. `mask-image`\n // cannot be transitioned, so the tick stays masked in every state — drop it\n // and the mark would flash as a solid block while fading out on uncheck.\n &::before {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: \"\";\n background-color: var(--theme-contrast, var(--primary-contrast));\n opacity: 0;\n transform: scale(0);\n @include mask-icon(var(--check-icon-checked));\n @include transition(\n opacity var(--control-transition-duration) var(--control-transition-timing),\n transform var(--control-transition-duration) var(--control-transition-timing)\n );\n }\n\n &:checked,\n &:indeterminate {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n\n &::before {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &:indeterminate::before { mask-image: var(--check-icon-indeterminate); }\n\n &:focus-visible {\n @include focus-ring(true);\n --focus-ring-offset: -1px;\n }\n\n &:disabled {\n --check-bg: var(--check-disabled-bg);\n\n ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n }\n &:disabled:checked {\n opacity: var(--check-disabled-opacity);\n }\n }\n\n .check-sm {\n --check-size: 1rem;\n\n + label {\n font-size: var(--font-size-sm);\n }\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: .375rem;\n\n + label {\n font-size: var(--font-size-lg);\n }\n }\n}\n","// Mask icon\n//\n// Renders an SVG icon via a CSS mask so the shape is painted with the\n// element's `background-color` and therefore inherits theme/dark-mode color.\n// Set `background-color` on the element itself; pass `null` for `$icon` when\n// the mask image is applied conditionally (e.g. per state or direction).\n\n// scss-docs-start mask-icon-mixin\n@mixin mask-icon($icon: null, $size: contain, $position: center) {\n @if $icon != null {\n mask-image: $icon;\n }\n mask-repeat: no-repeat;\n @if $position != null {\n mask-position: $position;\n }\n @if $size != null {\n mask-size: $size;\n }\n}\n// scss-docs-end mask-icon-mixin\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n (\n --radio-size: 1.25rem,\n --radio-margin-block: .125rem,\n --radio-bg: var(--bg-body),\n --radio-border-color: var(--border-color),\n --radio-checked-bg: var(--control-checked-bg),\n --radio-checked-border-color: var(--control-checked-border-color),\n --radio-disabled-bg: var(--control-disabled-bg),\n --radio-disabled-opacity: var(--control-disabled-opacity),\n ),\n $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .radio {\n @include tokens($radio-tokens);\n\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n // `color` is transitioned because the dot paints with `currentcolor`; without\n // it the dot would snap to the body color as it fades out on uncheck.\n @include transition(\n color var(--control-transition-duration) var(--control-transition-timing),\n background-color var(--control-transition-duration) var(--control-transition-timing),\n border-color var(--control-transition-duration) var(--control-transition-timing)\n );\n\n // Inner dot: always present but scaled/faded out until checked so it pops in.\n &::before {\n position: absolute;\n inset: calc(var(--radio-size) * .25);\n content: \"\";\n background-color: currentcolor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n transform: scale(0);\n @include transition(\n opacity var(--control-transition-duration) var(--control-transition-timing),\n transform var(--control-transition-duration) var(--control-transition-timing)\n );\n }\n\n &:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n &::before {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &:disabled {\n --radio-bg: var(--radio-disabled-bg);\n\n ~ label {\n color: var(--secondary-fg);\n cursor: default;\n }\n }\n &:disabled:checked {\n opacity: var(--radio-disabled-opacity);\n }\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n .radio-sm {\n --radio-size: 1rem;\n\n + label {\n font-size: var(--font-size-sm);\n }\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: .375rem;\n\n + label {\n font-size: var(--font-size-lg);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n (\n --switch-height: 1.25rem,\n --switch-width: calc(var(--switch-height) * 1.75),\n --switch-padding: .0625rem,\n --switch-margin-block: .125rem,\n // Share the form-control motion tokens so switch, checkbox, and radio move\n // in sync; the overshoot (\"back\") easing makes the thumb bounce as it settles.\n --switch-transition-duration: var(--control-transition-duration),\n --switch-transition-timing: var(--control-transition-timing),\n --switch-bg: var(--bg-3),\n --switch-border-width: var(--border-width),\n --switch-border-color: var(--border-color),\n --switch-indicator-bg: var(--white),\n --switch-indicator-width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2),\n --switch-indicator-height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2),\n --switch-checked-bg: var(--control-checked-bg),\n --switch-checked-border-color: var(--switch-checked-bg),\n --switch-checked-indicator-bg: var(--white),\n --switch-disabled-bg: var(--control-disabled-bg),\n --switch-disabled-indicator-bg: var(--fg-3),\n ),\n $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .switch {\n @include tokens($switch-tokens);\n\n position: relative;\n flex-shrink: 0;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgb(0 0 0 / .05);\n @include transition(background-color var(--switch-transition-duration) var(--switch-transition-timing));\n\n &::before {\n position: absolute;\n inset-block: var(--switch-padding);\n inset-inline-start: var(--switch-padding);\n width: var(--switch-indicator-width);\n height: var(--switch-indicator-height);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 10rem;\n box-shadow: 0 1px 2px rgb(0 0 0 / .1);\n @include transition(inset-inline-start var(--switch-transition-duration) var(--switch-transition-timing));\n }\n\n input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n\n &:focus-within {\n @include focus-ring(true);\n }\n\n &:has(input:disabled:not(:checked)) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n &::before { opacity: .4; }\n\n ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n }\n\n &:has(input:checked) {\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n\n &::before {\n inset-inline-start: calc(100% - var(--switch-indicator-width) - var(--switch-padding));\n }\n }\n\n &:has(input:checked:disabled) {\n opacity: .65;\n\n ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n }\n }\n .switch-sm {\n --switch-height: 1rem;\n\n + label {\n font-size: var(--font-size-sm);\n }\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: .375rem;\n\n + label {\n font-size: var(--font-size-lg);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n (\n --range-track-width: 100%,\n --range-track-height: .5rem,\n --range-track-cursor: pointer,\n --range-track-bg: var(--bg-3),\n --range-track-border-radius: 1rem,\n --range-track-fill-bg: var(--primary-base),\n --range-track-disabled-bg: color-mix(in oklch, var(--bg-4), var(--fg-3)),\n --range-thumb-width: 1rem,\n --range-thumb-height: var(--range-thumb-width),\n --range-thumb-bg: var(--primary-base),\n --range-thumb-border: var(--range-thumb-bg) solid var(--border-color),\n --range-thumb-border-radius: 1rem,\n --range-thumb-box-shadow: \"0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%)\",\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n --range-thumb-disabled-bg: var(--fg-3),\n --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n --range-thumb-transition-duration: .15s,\n --range-thumb-transition-timing: ease-in-out,\n --range-tick-width: var(--border-width),\n --range-tick-height: .5rem,\n --range-tick-bg: var(--border-color),\n ),\n $range-tokens\n);\n// scss-docs-end range-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n @include gradient-bg(var(--range-thumb-bg));\n border: var(--range-thumb-border);\n @include border-radius(var(--range-thumb-border-radius));\n @include box-shadow(var(--range-thumb-box-shadow));\n @include transition-props(\n var(--range-thumb-transition-property),\n var(--range-thumb-transition-duration),\n var(--range-thumb-transition-timing)\n );\n\n &:active {\n @include gradient-bg(var(--range-thumb-active-bg));\n }\n}\n\n@mixin range-track() {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n // Fill (progress) up to the thumb. The Range plugin keeps `--range-fill` (0–1) in sync.\n background-color: var(--range-track-bg);\n background-image:\n linear-gradient(\n to right,\n var(--range-track-fill-bg) calc(var(--range-fill, 0) * 100%),\n transparent calc(var(--range-fill, 0) * 100%)\n );\n border-color: transparent;\n @include border-radius(var(--range-track-border-radius));\n @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n .form-range {\n @include tokens($range-tokens);\n\n position: relative;\n display: block;\n width: 100%;\n }\n\n .form-range-input {\n display: block;\n width: 100%;\n height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n padding: 0;\n appearance: none;\n background-color: transparent;\n\n &:hover {\n &::-webkit-slider-thumb {\n @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));\n }\n &::-moz-range-thumb {\n @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));\n }\n }\n\n &:focus-visible {\n outline: 0;\n\n &::-webkit-slider-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 0;\n }\n &::-moz-range-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 0;\n }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n @include range-thumb();\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5);\n }\n\n &::-moz-range-thumb {\n @include range-thumb();\n }\n\n &::-webkit-slider-runnable-track {\n @include range-track();\n }\n\n &::-moz-range-track {\n @include range-track();\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n\n &::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n\n &::-webkit-slider-runnable-track {\n --range-track-fill-bg: var(--range-track-disabled-bg);\n }\n\n &::-moz-range-track {\n --range-track-fill-bg: var(--range-track-disabled-bg);\n }\n }\n }\n\n // Value bubble: reuses the tooltip styles (`.tooltip` markup) so we don't duplicate the\n // pill and arrow. We only add the static positioning the Tooltip plugin would normally do.\n .form-range-bubble {\n position: absolute;\n bottom: 100%;\n left: calc((var(--range-thumb-width) * .5) + var(--range-fill, 0) * (100% - var(--range-thumb-width)));\n margin-bottom: var(--tooltip-arrow-height);\n pointer-events: none;\n transform: translateX(-50%);\n\n .tooltip-arrow {\n position: absolute;\n bottom: calc(-1 * var(--tooltip-arrow-height));\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n // Tick marks generated from the linked <datalist>. Plugin builds `grid-template-columns`\n // from the gaps between values so each tick lands on a grid line (handles uneven values).\n // Track is inset by 1/4th of the thumb width to keep alignment.\n .form-range-ticks {\n display: grid;\n padding-inline: calc(var(--range-thumb-width) * .25);\n }\n\n .form-range-tick {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-self: start;\n // Zero-width items so labels never widen their `fr` column; the tick line and label\n // overflow centered on the grid line via `align-items`.\n width: 0;\n\n &::before {\n width: var(--range-tick-width);\n height: var(--range-tick-height);\n content: \"\";\n background-color: var(--range-tick-bg);\n }\n\n &:first-child {\n align-items: flex-start;\n }\n\n &:last-child {\n align-items: flex-end;\n }\n }\n\n .form-range-tick-label {\n margin-top: .125rem;\n font-size: var(--font-size-sm);\n color: var(--fg-2);\n white-space: nowrap;\n }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgb(255 255 255 / .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n (\n --form-floating-height: calc(3.75rem + (var(--border-width) * 2)),\n --form-floating-line-height: 1.25,\n --form-floating-padding-x: calc(var(--btn-input-padding-x) * 1.25),\n --form-floating-padding-y: 1rem,\n --form-floating-input-padding-t: 1.625rem,\n --form-floating-input-padding-b: .625rem,\n --form-floating-label-height: 1.5em,\n // Backgrounds for the textarea label's masking pseudo-element. Mirrors\n // `.form-control` here because the label is a sibling of the control, so it\n // can't inherit the control's own `--control-bg`/`--control-disabled-bg`.\n --form-floating-label-bg: var(--btn-input-bg),\n --form-floating-label-disabled-bg: var(--bg-2),\n --form-floating-label-opacity: .65,\n --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n --form-floating-label-disabled-color: var(--fg-3),\n --form-floating-transition-property: \"opacity, transform\",\n --form-floating-transition-duration: .1s,\n --form-floating-transition-timing: ease-in-out,\n ),\n $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n .form-floating {\n @include tokens($form-floating-tokens);\n\n position: relative;\n\n > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%; // allow textareas\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--border-width) solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition-props(\n var(--form-floating-transition-property),\n var(--form-floating-transition-duration),\n var(--form-floating-transition-timing)\n );\n }\n\n // Anchor the label to the top for textareas so it floats correctly at any height\n > label:has(~ textarea) {\n align-items: flex-start;\n }\n\n > .form-control,\n > .form-control-plaintext {\n height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\n\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n }\n\n // The label precedes the control in the DOM so screen readers announce it\n // before the field's value, so we look forward with `:has()` to react to the\n // control's state (focus, value, disabled, etc.).\n > label:has(~ .form-control:focus),\n > label:has(~ .form-control:not(:placeholder-shown)),\n > label:has(~ .form-control-plaintext) {\n transform: var(--form-floating-label-transform);\n }\n\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > label:has(~ .form-control:-webkit-autofill) {\n transform: var(--form-floating-label-transform);\n }\n\n > label:has(~ textarea:focus),\n > label:has(~ textarea:not(:placeholder-shown)) {\n &::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--form-floating-label-bg);\n @include border-radius(var(--btn-input-border-radius));\n }\n }\n > label:has(~ textarea:disabled)::after {\n background-color: var(--form-floating-label-disabled-bg);\n }\n\n > label:has(~ .form-control-plaintext) {\n border-width: var(--control-border-width) 0; // Required to properly position label text - as explained above\n }\n\n > label:has(~ :disabled),\n > label:has(~ .form-control:disabled) { // Required for `.form-control`s because of specificity\n color: var(--form-floating-label-disabled-color);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n (\n --input-group-addon-padding-y: var(--btn-input-padding-y),\n --input-group-addon-padding-x: var(--btn-input-padding-x),\n --input-group-addon-font-size: var(--btn-input-font-size),\n --input-group-addon-line-height: var(--btn-input-line-height),\n --input-group-addon-color: var(--fg-body),\n --input-group-addon-bg: var(--bg-2),\n --input-group-addon-border-color: var(--border-color),\n ),\n $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n (\"sm\", \"lg\"),\n $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n .input-group {\n @include tokens($input-group-addon-tokens);\n\n position: relative;\n display: flex;\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-floating {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-floating:focus-within {\n z-index: 5;\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n > .input-group-btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 5;\n }\n }\n }\n\n // Textual addons\n //\n // Serves as a catch-all element for any text or radio/checkbox input you wish\n // to prepend or append to an input.\n\n .input-group-text {\n display: flex;\n align-items: center;\n padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size); // Match inputs\n // font-weight: $input-group-addon-font-weight;\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n @include border-radius(var(--btn-input-border-radius));\n }\n\n // Sizing\n //\n // Remix the default form control sizing classes into new ones for easier\n // manipulation.\n\n @each $size, $_ in $input-group-sizes {\n .input-group-#{$size} {\n > .form-control,\n > .input-group-text,\n > .btn {\n min-height: var(--btn-input-#{$size}-min-height);\n padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n font-size: var(--btn-input-#{$size}-font-size);\n @include border-radius(var(--btn-input-#{$size}-border-radius));\n }\n }\n }\n\n // Rounded corners\n //\n // These rulesets must come after the sizing ones to properly override sm and lg\n // border-radius values when extending. They're more specific than we'd like\n // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n // stylelint-disable-next-line no-duplicate-selectors\n .input-group {\n > :not(:last-child, .menu-toggle-split, .menu, .input-group-ignore, .form-floating, :has(+ :is(.menu, .input-group-ignore):last-child)),\n > .menu-toggle-split:nth-last-child(n + 3),\n > .form-floating:not(:last-child) > .form-control,\n > .form-floating:not(:last-child) > .form-select {\n @include border-end-radius(0);\n }\n\n > :not(:first-child, .menu, .input-group-ignore) {\n margin-inline-start: calc(-1 * var(--border-width));\n @include border-start-radius(0);\n }\n\n > :first-child:is(.input-group-ignore) + :not(.menu, .input-group-ignore) {\n @include border-start-radius(var(--btn-input-border-radius));\n }\n\n > .form-floating:not(:first-child) > .form-control,\n > .form-floating:not(:first-child) > .form-select {\n @include border-start-radius(0);\n }\n }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n (\n --strength-height: .375rem,\n --strength-gap: .25rem,\n --strength-margin-top: .25rem,\n --strength-border-radius: var(--radius-pill),\n --strength-bg: var(--bg-2),\n --strength-color: var(--bg-2),\n --strength-weak-color: var(--danger-bg),\n --strength-fair-color: var(--warning-bg),\n --strength-good-color: var(--info-bg),\n --strength-strong-color: var(--success-bg),\n ),\n $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n // Strength meter container\n .strength {\n @include tokens($strength-tokens);\n\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n\n // Individual strength segments\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n\n // Filled state\n &.active {\n background-color: var(--strength-color);\n }\n }\n\n @each $level in $strength-levels {\n .strength[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n }\n }\n // Optional text feedback\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n @include transition(color .2s ease-in-out);\n\n // Hide when empty\n &:empty {\n display: none;\n }\n }\n\n // Alternative: Single bar variant (like a progress bar)\n .strength-bar {\n @include tokens($strength-tokens);\n\n --strength-color: transparent;\n --strength-width: 0%;\n\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n\n &::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n }\n\n @each $level in $strength-levels {\n &[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n --strength-width: #{list.index($strength-levels, $level) * 25%};\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n (\n --otp-size: var(--btn-input-lg-min-height),\n --otp-font-size: var(--btn-input-font-size),\n --otp-gap: .5rem,\n --otp-slot-fg: var(--btn-input-fg),\n --otp-slot-bg: var(--btn-input-bg),\n --otp-slot-border-width: var(--border-width),\n --otp-slot-border-color: var(--border-color),\n --otp-slot-border-radius: var(--radius-5),\n ),\n $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n (\"sm\", \"lg\"),\n $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n .otp {\n @include tokens($otp-tokens);\n\n position: relative;\n display: flex;\n }\n\n // A single real input backs the whole control. Once the JS renders the\n // visual slots (`.otp-rendered`), the input becomes a transparent overlay\n // that captures all interaction while the slots display the value.\n .otp-rendered .otp-input {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n color: transparent;\n // The input sits on top and receives taps itself, so a touch focuses it\n // natively (raising the on-screen keyboard via a genuine user gesture).\n // The JS maps the tap's position to a slot and sets the caret.\n pointer-events: auto;\n cursor: default;\n caret-color: transparent;\n background-color: transparent;\n border: 0;\n outline: 0;\n box-shadow: none;\n\n // Never reveal the underlying characters, even on selection\n &::selection {\n color: transparent;\n background-color: transparent;\n }\n }\n\n .otp-slots {\n display: inline-flex;\n gap: var(--otp-gap);\n pointer-events: none; // purely visual; the overlaid input handles interaction\n }\n\n .otp-slot {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--otp-size);\n min-height: var(--otp-size);\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n color: var(--otp-slot-fg);\n user-select: none; // decorative cells; the real input handles selection\n background-color: var(--otp-slot-bg);\n border: var(--otp-slot-border-width) solid var(--otp-slot-border-color);\n @include border-radius(var(--otp-slot-border-radius));\n @include box-shadow(var(--box-shadow-inset));\n @include transition(border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n }\n\n // The slot at the caret gets the focus ring; empty active slots show a\n // blinking caret so the entry point is obvious.\n .otp-slot-active {\n --focus-ring-offset: -1px;\n z-index: 1;\n @include focus-ring(true);\n\n &:not(.otp-slot-filled)::after {\n width: 1px;\n height: 50%;\n content: \"\";\n background-color: var(--otp-slot-fg);\n animation: otp-caret-blink 1s step-end infinite;\n }\n }\n\n // Disabled state mirrors disabled form controls\n .otp-input:disabled ~ .otp-slots .otp-slot {\n background-color: var(--bg-2);\n }\n\n // Connected slots share borders for a single cohesive field\n .otp-connected .otp-slots {\n gap: 0;\n }\n .otp-connected .otp-slot {\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n\n &:not(:first-child) {\n margin-inline-start: calc(var(--otp-slot-border-width) * -1);\n }\n &:first-child {\n @include border-start-radius(var(--otp-slot-border-radius));\n }\n &:last-child {\n @include border-end-radius(var(--otp-slot-border-radius));\n }\n }\n\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n\n // OTP input sizing — keep in sync with `$form-control-sizes`.\n @each $size, $_ in $otp-sizes {\n .otp-#{$size} {\n --otp-size: var(--btn-input-#{$size}-min-height);\n --otp-font-size: var(--btn-input-#{$size}-font-size);\n }\n }\n}\n\n@keyframes otp-caret-blink {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n (\n --form-adorn-gap: .375rem,\n --form-adorn-icon-size: 1rem,\n --form-adorn-icon-color: var(--fg-2),\n ),\n $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n .form-adorn {\n @include tokens($form-adorn-tokens);\n\n gap: var(--form-adorn-gap);\n align-items: center;\n // The wrapper looks like an input, so it should feel like one everywhere, not only\n // over the inner `.form-ghost`\n cursor: text;\n\n // Prevent default `.form-control` focus\n &:focus-visible {\n outline: 0;\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1;\n min-width: 0; // Prevent text overflow\n }\n\n &.form-adorn-end > .form-ghost {\n order: -1;\n }\n }\n\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n\n > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n }\n\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n (\n --chip-input-padding-y: .75rem,\n --chip-input-padding-x: .75rem,\n --chip-input-gap: .375rem,\n --chip-input-ghost-min-width: 5rem,\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--radius-5),\n ),\n $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n .chip-input {\n @include tokens($chip-input-tokens);\n\n // Flexbox wrapping layout\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n\n // Focus state when ghost input is focused\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n\n // Disabled state\n &.disabled,\n &:has(.form-ghost:disabled) {\n cursor: not-allowed;\n background-color: var(--bg-2);\n opacity: 1;\n\n &:focus-within {\n border-color: var(--control-border-color);\n outline: 0;\n }\n\n > .chip {\n pointer-events: none;\n opacity: var(--control-disabled-opacity);\n }\n }\n }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: .5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n\n &.show {\n background-color: var(--bg-1);\n }\n\n &:disabled,\n &.disabled {\n cursor: not-allowed;\n opacity: .65;\n }\n }\n\n .combobox-value {\n display: flex;\n flex: 1;\n gap: .5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .combobox-caret {\n flex-shrink: 0;\n @include transition(transform .2s ease-in-out);\n\n .show > & {\n transform: rotate(180deg);\n }\n }\n\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, .25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n\n .combobox-search-input {\n width: 100%;\n }\n\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n","@use \"../mixins/border-radius\" as *;\n\n// scss-docs-start form-field\n@layer forms {\n .form-field {\n position: relative;\n display: grid;\n gap: .5rem;\n // width: 100%;\n\n > label,\n > .form-label {\n justify-self: start;\n margin-bottom: 0;\n }\n\n &:has(> .check, > .radio, > .switch) {\n grid-template-columns: auto 1fr;\n column-gap: .5rem;\n align-items: start;\n\n > .check,\n > .radio,\n > .switch {\n grid-column: 1;\n }\n\n > :not(.check, .radio, .switch) {\n grid-column: 2;\n }\n\n > .form-label {\n grid-column: 1 / -1;\n }\n }\n }\n\n .form-field-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .form-field-card {\n position: relative;\n padding: calc(var(--spacer) * .75);\n cursor: pointer;\n border: var(--border-width) solid transparent;\n @include border-radius(var(--radius-7));\n\n &:hover {\n background-color: var(--bg-1);\n }\n\n &:has(:checked) {\n background-color: var(--bg-1);\n border-color: var(--border-color);\n }\n\n label::before {\n position: absolute;\n inset: 0;\n content: \"\";\n }\n }\n\n .form-group {\n display: grid;\n gap: .5rem;\n\n > label,\n > .form-label,\n > legend {\n justify-self: start;\n margin-bottom: 0;\n }\n }\n}\n// scss-docs-end form-field\n","@use \"../config\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/form-validation\" as *;\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid.\n// Server-side: `.is-invalid` / `.is-valid` classes work globally.\n// Client-side: `:user-invalid` pseudo-class is scoped behind `[data-bs-validate]`.\n// `:user-valid` is scoped behind `[data-bs-validate~=\"valid\"]` so success styling is opt-in.\n// Custom states (e.g., \"warning\") use only `.is-*` classes.\n\n// scss-docs-start form-validation-states\n$validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$validation-states: defaults(\n (\n \"valid\": \"success\",\n \"invalid\": \"danger\",\n ),\n $validation-states\n);\n// scss-docs-end form-validation-states\n\n// scss-docs-start form-validation-state-mixin\n@mixin form-validation-state($state, $theme) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n font-size: var(--font-size-sm);\n color: var(--#{$theme}-fg);\n }\n\n // More specific to override base tooltip styles\n .tooltip.#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: .1rem;\n color: var(--#{$theme}-contrast);\n text-align: center;\n background-color: var(--#{$theme}-bg);\n opacity: 1;\n @include border-radius(var(--tooltip-border-radius));\n }\n\n // Generic sibling feedback display — works for .form-control, .form-range,\n // and any element where feedback is a direct sibling.\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n // Form control\n .form-control {\n @include form-validation-state-selector($state) {\n --control-border-color: var(--#{$theme}-border);\n\n &:focus-visible {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n --control-border-color: var(--#{$theme}-border);\n }\n }\n }\n\n // Checkbox — control-level styling (border, checked bg, focus ring).\n .check {\n @include form-validation-state-selector($state) {\n --check-border-color: var(--#{$theme}-border);\n --check-checked-bg: var(--#{$theme}-bg);\n --check-checked-border-color: var(--#{$theme}-bg);\n\n &:focus-visible {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n }\n }\n\n // Checkbox — label color and feedback display via .form-field:has().\n .form-field:has(.check.is-#{$state}) {\n label { color: var(--#{$theme}-fg); }\n\n .#{$state}-feedback,\n .#{$state}-tooltip { display: block; }\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] .form-field:has(.check:user-invalid) {\n label { color: var(--#{$theme}-fg); }\n\n .invalid-feedback,\n .invalid-tooltip { display: block; }\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] .form-field:has(.check:user-valid) {\n label { color: var(--#{$theme}-fg); }\n\n .valid-feedback,\n .valid-tooltip { display: block; }\n }\n }\n\n // Radio — control-level styling.\n .radio {\n @include form-validation-state-selector($state) {\n --radio-border-color: var(--#{$theme}-border);\n --radio-checked-bg: var(--#{$theme}-bg);\n --radio-checked-border-color: var(--#{$theme}-bg);\n\n &:focus-visible {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n }\n }\n\n // Radio — label color and feedback display via .form-field:has().\n .form-field:has(.radio.is-#{$state}) {\n label { color: var(--#{$theme}-fg); }\n\n .#{$state}-feedback,\n .#{$state}-tooltip { display: block; }\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] .form-field:has(.radio:user-invalid) {\n label { color: var(--#{$theme}-fg); }\n\n .invalid-feedback,\n .invalid-tooltip { display: block; }\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] .form-field:has(.radio:user-valid) {\n label { color: var(--#{$theme}-fg); }\n\n .valid-feedback,\n .valid-tooltip { display: block; }\n }\n }\n\n // Switch — control-level styling. The input is an invisible overlay;\n // all visuals are on the .switch wrapper.\n .switch:has(input.is-#{$state}) {\n --switch-border-color: var(--#{$theme}-border);\n --switch-checked-bg: var(--#{$theme}-bg);\n --switch-checked-border-color: var(--#{$theme}-bg);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] .switch:has(input:user-invalid) {\n --switch-border-color: var(--#{$theme}-border);\n --switch-checked-bg: var(--#{$theme}-bg);\n --switch-checked-border-color: var(--#{$theme}-bg);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] .switch:has(input:user-valid) {\n --switch-border-color: var(--#{$theme}-border);\n --switch-checked-bg: var(--#{$theme}-bg);\n --switch-checked-border-color: var(--#{$theme}-bg);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n }\n }\n\n // Switch — label color and feedback display via .form-field:has().\n .form-field:has(.switch input.is-#{$state}) {\n label { color: var(--#{$theme}-fg); }\n\n .#{$state}-feedback,\n .#{$state}-tooltip { display: block; }\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] .form-field:has(.switch input:user-invalid) {\n label { color: var(--#{$theme}-fg); }\n\n .invalid-feedback,\n .invalid-tooltip { display: block; }\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] .form-field:has(.switch input:user-valid) {\n label { color: var(--#{$theme}-fg); }\n\n .valid-feedback,\n .valid-tooltip { display: block; }\n }\n }\n\n // Chip input — wrapper has the visible border; the .form-ghost inside\n // receives the native pseudo-class.\n .chip-input:has(.form-ghost.is-#{$state}) {\n border-color: var(--#{$theme}-border);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n border-color: var(--#{$theme}-border);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip { display: block; }\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] .chip-input:has(.form-ghost:user-invalid) {\n border-color: var(--#{$theme}-border);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n border-color: var(--#{$theme}-border);\n }\n\n ~ .invalid-feedback,\n ~ .invalid-tooltip { display: block; }\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] .chip-input:has(.form-ghost:user-valid) {\n border-color: var(--#{$theme}-border);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n border-color: var(--#{$theme}-border);\n }\n\n ~ .valid-feedback,\n ~ .valid-tooltip { display: block; }\n }\n }\n\n // Form adorn — :user-invalid fires on the inner .form-ghost, so we\n // propagate it to the visible wrapper with :has().\n .form-adorn:has(.form-ghost.is-#{$state}) {\n border-color: var(--#{$theme}-border);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n border-color: var(--#{$theme}-border);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip { display: block; }\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] .form-adorn:has(.form-ghost:user-invalid) {\n border-color: var(--#{$theme}-border);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n border-color: var(--#{$theme}-border);\n }\n\n ~ .invalid-feedback,\n ~ .invalid-tooltip { display: block; }\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] .form-adorn:has(.form-ghost:user-valid) {\n border-color: var(--#{$theme}-border);\n\n &:focus-within {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n border-color: var(--#{$theme}-border);\n }\n\n ~ .valid-feedback,\n ~ .valid-tooltip { display: block; }\n }\n }\n\n // Range — the validation class lives on .form-range-input, while feedback sits outside\n // the .form-range wrapper, so we use :has() to toggle it.\n .form-range-input {\n @include form-validation-state-selector($state) {\n &::-webkit-slider-thumb { background: var(--#{$theme}-bg); }\n &::-moz-range-thumb { background: var(--#{$theme}-bg); }\n\n &:focus-visible {\n &::-webkit-slider-thumb {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n &::-moz-range-thumb {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n }\n }\n }\n\n .form-range:has(.form-range-input.is-#{$state}) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip { display: block; }\n }\n\n // Input group — feedback lives outside the input-group in the parent\n // .form-field, so we use :has() to toggle display.\n .form-field:has(.input-group .form-control.is-#{$state}) {\n .#{$state}-feedback,\n .#{$state}-tooltip { display: block; }\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] .form-field:has(.input-group .form-control:user-invalid) {\n .invalid-feedback,\n .invalid-tooltip { display: block; }\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] .form-field:has(.input-group .form-control:user-valid) {\n .valid-feedback,\n .valid-tooltip { display: block; }\n }\n }\n\n .input-group {\n > .form-control:not(:focus),\n > .form-floating:not(:focus-within) {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 3;\n } @else if $state == \"invalid\" {\n z-index: 4;\n }\n }\n }\n }\n\n // OTP — validation applies to the wrapper; the visual slots inherit the state.\n .otp {\n @include form-validation-state-selector($state) {\n .otp-slot {\n --otp-slot-border-color: var(--#{$theme}-border);\n }\n\n .otp-slot-active {\n @include focus-ring(true, $color: var(--#{$theme}-focus-ring));\n }\n }\n }\n}\n// scss-docs-end form-validation-state-mixin\n\n@layer components {\n // scss-docs-start form-validation-states-loop\n @each $state, $theme in $validation-states {\n @include form-validation-state($state, $theme);\n }\n // scss-docs-end form-validation-states-loop\n}\n","// scss-docs-start form-validation-state-selector\n@mixin form-validation-state-selector($state) {\n @if & {\n &.is-#{$state} {\n @content;\n }\n\n @if $state == \"invalid\" {\n @at-root [data-bs-validate] #{&}:user-invalid {\n @content;\n }\n } @else if $state == \"valid\" {\n @at-root [data-bs-validate~=\"valid\"] #{&}:user-valid {\n @content;\n }\n }\n } @else {\n .is-#{$state} {\n @content;\n }\n\n @if $state == \"invalid\" {\n [data-bs-validate] :user-invalid {\n @content;\n }\n } @else if $state == \"valid\" {\n [data-bs-validate~=\"valid\"] :user-valid {\n @content;\n }\n }\n }\n}\n// scss-docs-end form-validation-state-selector\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n (\n --btn-gap: var(--btn-input-gap),\n --btn-min-height: var(--btn-input-min-height),\n --btn-padding-x: var(--btn-input-padding-x),\n --btn-padding-y: var(--btn-input-padding-y),\n --btn-font-size: var(--btn-input-font-size),\n --btn-font-weight: var(--btn-input-font-weight),\n --btn-line-height: var(--btn-input-line-height),\n --btn-color: var(--fg-body),\n --btn-white-space: nowrap,\n --btn-border-width: var(--border-width),\n --btn-border-color: transparent,\n --btn-border-radius: var(--radius-5),\n --btn-hover-border-color: transparent,\n --btn-disabled-opacity: .65,\n --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n --btn-transition-duration: .15s,\n --btn-transition-timing: ease-in-out,\n ),\n $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n (\n --btn-font-weight: var(--font-weight-normal),\n --btn-color: var(--link-color),\n --btn-bg: transparent,\n --btn-border-color: transparent,\n --btn-hover-color: var(--link-hover-color),\n --btn-hover-bg: transparent,\n --btn-hover-border-color: transparent,\n --btn-active-color: var(--link-hover-color),\n --btn-active-bg: transparent,\n --btn-active-border-color: transparent,\n --btn-disabled-color: var(--fg-3),\n --btn-disabled-border-color: transparent,\n ),\n $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n (\n --btn-gradient-start: rgb(255 255 255 / 12.5%),\n --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n --btn-border-mix-color: #000,\n --btn-border-mix-amount: 10%,\n --btn-border-hover-mix-amount: 12.5%,\n --btn-border-active-mix-amount: 20%,\n --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n --btn-active-shadow: inset 0 2px 4px rgb(0 0 0 / .15),\n ),\n $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n (\"xs\", \"sm\", \"lg\"),\n $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n (\n \"solid\": (\n \"base\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n )\n ),\n \"outline\": (\n \"base\": (\n \"bg\": \"transparent\",\n \"color\": \"fg\",\n \"border-color\": \"border\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n )\n ),\n \"subtle\": (\n \"base\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"fg\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"bg\": (\"bg-muted\", \"bg-subtle\"),\n \"color\": \"fg-emphasis\"\n ),\n \"active\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"fg-emphasis\"\n )\n ),\n \"text\": (\n \"base\": (\n \"color\": \"fg\",\n \"bg\": \"transparent\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"color\": \"fg\",\n \"bg\": \"bg-subtle\"\n ),\n \"active\": (\n \"color\": \"fg\",\n \"bg\": \"bg-subtle\"\n )\n )\n ),\n $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n #{$btn-variant-selectors} {\n @include tokens($button-tokens);\n\n display: inline-flex;\n gap: var(--btn-gap);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n // stylelint-disable-next-line scss/at-function-named-arguments\n cursor: if(sass($enable-button-pointers): pointer; else: null);\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n @include border-radius(var(--btn-border-radius));\n @include transition-props(\n var(--btn-transition-property),\n var(--btn-transition-duration),\n var(--btn-transition-timing)\n );\n\n &:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n\n &:focus-visible {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &.active,\n &.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n }\n\n // Main button style generator mixin\n // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n // scss-docs-start btn-variant-mixin\n @each $variant, $config in $button-variants {\n .btn-#{$variant} {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-#{$property}: transparent;\n } @else {\n --btn-#{$property}: var(--theme-#{$value});\n }\n }\n\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n\n &:hover {\n @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n @if $value == \"transparent\" {\n --btn-hover-#{$property}: transparent;\n } @else if meta.type-of($value) == \"list\" {\n $first-value: list.nth($value, 1);\n $second-value: list.nth($value, 2);\n --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n } @else if $value == \"bg-subtle\" {\n --btn-hover-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n }\n }\n }\n\n &:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n\n &:active,\n &.active,\n &.btn-check:has(input:checked) {\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n }\n\n // Disabled state for toggle buttons\n &:disabled,\n &.disabled,\n &.btn-check:has(input:disabled) {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n }\n }\n }\n // scss-docs-end btn-variant-mixin\n\n //\n // Link buttons\n //\n\n // Make a button look and behave like a link\n .btn-link {\n @include tokens($button-link-tokens);\n\n color: var(--theme-fg, var(--btn-color));\n text-decoration: var(--link-decoration);\n\n @if $enable-gradients {\n background-image: none;\n }\n\n &:focus-visible {\n color: var(--theme-fg, var(--btn-color));\n }\n\n &:hover {\n color: var(--theme-fg-emphasis, var(--btn-hover-color));\n }\n\n // No need for an active state here\n }\n\n //\n // Button Sizes\n //\n\n // Generate button size classes from the $button-sizes map\n // Skip \"md\" as it's the default size for .btn\n\n // scss-docs-start btn-sizes-loop\n @each $size, $_ in $button-sizes {\n .btn-#{$size},\n .btn-group-#{$size} > [class*=\"btn-\"] {\n --btn-gap: var(--btn-input-#{$size}-gap);\n --btn-min-height: var(--btn-input-#{$size}-min-height);\n --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n --btn-font-size: var(--btn-input-#{$size}-font-size);\n --btn-line-height: var(--btn-input-#{$size}-line-height);\n --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end btn-sizes-loop\n\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n\n //\n // Toggle buttons (.btn-check)\n //\n // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n // label with button classes, with the input nested inside.\n //\n // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n .btn-check {\n > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n\n &:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-active-border-color);\n @include box-shadow(var(--btn-active-shadow));\n }\n\n &:has(input:focus-visible) {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n @include box-shadow(none);\n }\n }\n\n //\n // Styled buttons\n //\n // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n .btn-styled {\n @include tokens($button-styled-tokens);\n\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n\n &:hover {\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n\n &:active,\n &.active,\n &.show {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n\n &:disabled,\n &.disabled {\n background-image: none;\n box-shadow: none;\n }\n }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n // Make the div behave like a button\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > [class*=\"btn-\"] {\n position: relative;\n flex: 1 1 auto;\n\n &:hover {\n z-index: 1;\n }\n }\n\n > .btn-check:has(input:checked),\n > [class*=\"btn-\"]:active,\n > [class*=\"btn-\"].active {\n z-index: 2;\n }\n\n > .btn-check:has(input:focus),\n > [class*=\"btn-\"]:focus {\n z-index: 3;\n }\n }\n\n .btn-group-divider {\n > [class*=\"btn-\"] + [class*=\"btn-\"] {\n &::before {\n position: absolute;\n // top: 25%;\n // bottom: 25%;\n // left: calc(var(--btn-border-width) * -1);\n z-index: 3;\n // width: var(--btn-border-width);\n content: \"\";\n background-color: var(--btn-color);\n opacity: .25;\n }\n }\n }\n\n .btn-group:where(.btn-group-divider) {\n > [class*=\"btn-\"] + [class*=\"btn-\"] {\n &::before {\n top: 25%;\n bottom: 25%;\n left: calc(var(--btn-border-width) * -1);\n width: var(--btn-border-width);\n }\n }\n }\n\n .btn-group-vertical:where(.btn-group-divider) {\n > [class*=\"btn-\"] + [class*=\"btn-\"] {\n &::before {\n top: calc(var(--btn-border-width) * -1);\n right: var(--btn-padding-x);\n left: var(--btn-padding-x);\n height: var(--btn-border-width);\n }\n }\n }\n\n // Optional: Group multiple button groups together for a toolbar\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: .5rem;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n }\n\n .btn-group {\n @include border-radius(var(--btn-border-radius));\n\n // Prevent double borders when buttons are next to each other\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child, :has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-start-radius(0);\n }\n }\n\n //\n // Vertical button groups\n //\n\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > [class*=\"btn-\"],\n > .btn-group {\n width: 100%;\n }\n\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child, :has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-bottom-radius(0);\n }\n\n // The top radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-top-radius(0);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/mask-icon\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n (\n --btn-close-size: 1.25rem,\n --btn-close-color: inherit,\n --btn-close-icon: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M12 0a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4zm-.646 4.646a.5.5 0 0 0-.707 0L8 7.293 5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.647a.5.5 0 1 0 .708.707L8 8.707l2.647 2.646a.5.5 0 1 0 .707-.707L8.707 8l2.646-2.646a.5.5 0 0 0 0-.708z'/></svg>\"))},\n --btn-close-opacity: .5,\n --btn-close-hover-opacity: .75,\n --btn-close-focus-opacity: .85,\n --btn-close-disabled-opacity: .25,\n ),\n $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n .btn-close {\n @include tokens($btn-close-tokens);\n\n box-sizing: content-box;\n min-width: var(--btn-close-size);\n min-height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background-color: currentcolor;\n border: 0; // for button elements\n @include border-radius(var(--radius-4));\n opacity: var(--btn-close-opacity);\n @include mask-icon(var(--btn-close-icon));\n\n // Override <a>'s hover style\n &:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n\n &:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n @include focus-ring();\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n (\n --accordion-padding-x: 1.25rem,\n --accordion-padding-y: 1rem,\n --accordion-color: var(--fg-body),\n --accordion-bg: var(--bg-body),\n --accordion-transition-property: \"color, background-color, border-radius\",\n --accordion-transition-duration: .15s,\n --accordion-transition-timing: ease-in-out,\n --accordion-panel-transition-property: \"content-visibility, block-size\",\n --accordion-panel-transition-duration: .2s,\n --accordion-panel-transition-timing: ease,\n --accordion-border-color: var(--border-color),\n --accordion-border-width: var(--border-width),\n --accordion-border-radius: var(--accordion-radius, var(--radius-7)),\n --accordion-gap: 0,\n --accordion-btn-color: var(--fg-2),\n --accordion-btn-bg: var(--bg-body),\n --accordion-btn-icon-width: 1rem,\n --accordion-btn-icon-transform: rotate(-180deg),\n --accordion-btn-icon-transition: transform .2s ease-in-out,\n --accordion-active-color: var(--fg-body),\n --accordion-active-bg: var(--bg-2),\n ),\n $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .accordion {\n @include tokens($accordion-tokens);\n }\n\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--body-font-size));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none; // Remove default marker\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n @include transition-props(\n var(--accordion-transition-property),\n var(--accordion-transition-duration),\n var(--accordion-transition-timing)\n );\n\n &::-webkit-details-marker {\n display: none;\n }\n\n .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n @include transition(var(--accordion-btn-icon-transition));\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus-visible {\n position: relative;\n z-index: 3;\n @include focus-ring(true);\n outline-offset: -1px;\n }\n }\n\n .accordion-item {\n position: relative;\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n @media (prefers-reduced-motion: no-preference) {\n interpolate-size: allow-keywords;\n }\n\n // The panel animates its own height, so it gets its own token trio. The\n // header trio above animates the colors.\n &::details-content {\n block-size: 0;\n overflow-y: clip;\n @include transition-props(\n var(--accordion-panel-transition-property),\n var(--accordion-panel-transition-duration),\n var(--accordion-panel-transition-timing),\n allow-discrete\n );\n }\n\n &:first-of-type {\n @include border-top-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n }\n\n &:not(:first-of-type) {\n // border-block-start: 0;\n margin-block-start: calc(-1 * var(--accordion-border-width));\n }\n\n // Only set a border-radius on the last item if the accordion is collapsed\n &:last-of-type {\n @include border-bottom-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n\n > .accordion-body {\n @include border-bottom-radius(var(--accordion-border-radius));\n }\n }\n\n // Open state - details[open] applies these styles\n &[open] {\n z-index: 2;\n border-color: var(--theme-border, var(--accordion-border-color));\n\n &::details-content {\n block-size: auto;\n }\n\n > .accordion-header {\n color: var(--theme-fg, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n }\n\n // Remove bottom radius from header when open (even on last item)\n &:last-of-type > .accordion-header {\n @include border-bottom-radius(0);\n }\n }\n }\n\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--body-font-size));\n }\n\n\n // Small accordion\n //\n // Tighten up padding, border-radius, and font size for a more compact accordion.\n\n .accordion-sm {\n // scss-docs-start accordion-sm-css-vars\n --accordion-padding-x: .875rem;\n --accordion-padding-y: .625rem;\n --accordion-border-radius: var(--radius-5);\n --accordion-font-size: var(--font-size-sm);\n // scss-docs-end accordion-sm-css-vars\n }\n\n\n // Gapped accordion\n //\n // Put the gap on the accordion, not the panel. Flex gap stays constant, so\n // it does not join the block-size transition. Overflow clip holds a stable\n // radius on every item, so corners do not retarget while the panel opens.\n\n .accordion-gap {\n // scss-docs-start accordion-gap-css-vars\n --accordion-gap: var(--spacer-2);\n // scss-docs-end accordion-gap-css-vars\n\n display: flex;\n flex-direction: column;\n gap: var(--accordion-gap);\n\n > .accordion-item {\n margin-block-start: 0;\n overflow: clip;\n @include border-radius(var(--accordion-border-radius));\n\n > .accordion-header,\n > .accordion-body {\n @include border-radius(0);\n }\n }\n }\n\n\n // Flush accordion items\n //\n // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n .accordion-flush {\n > .accordion-item {\n border-inline: 0;\n @include border-radius(0);\n\n &:first-child {\n border-block-start: 0;\n }\n\n &:last-child {\n border-block-end: 0;\n }\n\n > .accordion-header,\n > .accordion-body {\n @include border-radius(0);\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n (\n --alert-gap: var(--spacer-3),\n --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n --alert-padding-x: var(--spacer),\n --alert-padding-y: var(--spacer),\n --alert-color: var(--theme-fg, inherit),\n --alert-border-color: var(--theme-border, var(--border-color)),\n --alert-border: var(--border-width) solid var(--alert-border-color),\n --alert-border-radius: var(--radius-5),\n --alert-link-color: inherit,\n --alert-transition-property: \"opacity\",\n --alert-transition-duration: .15s,\n --alert-transition-timing: linear,\n --hr-border-color: var(--theme-border, var(--border-color)),\n ),\n $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n .alert {\n @include tokens($alert-tokens);\n\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n @include border-radius(var(--alert-border-radius));\n\n // scss-docs-start alert-transition\n // An alert is visible in the markup, so only the exit animates. The JS adds\n // .hiding for the length of it, then removes the element. Add\n // .alert-instant to remove the alert at once instead.\n &:not(.alert-instant) {\n @include transition-props(\n var(--alert-transition-property),\n var(--alert-transition-duration),\n var(--alert-transition-timing)\n );\n }\n\n &.hiding {\n opacity: 0;\n }\n // scss-docs-end alert-transition\n }\n\n .alert > p {\n margin-bottom: 0;\n }\n\n .alert-heading {\n // Specified to prevent conflicts of changing --heading-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n (\n --avatar-size: 2.5rem,\n --avatar-border-radius: 50%,\n --avatar-border-width: 2px,\n --avatar-border-color: var(--bg-body),\n --avatar-bg: var(--bg-2),\n --avatar-color: var(--fg-body),\n // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n --avatar-status-size: .75rem,\n --avatar-status-border-width: 2px,\n --avatar-status-border-color: var(--bg-body),\n --avatar-stack-spacing: -.3,\n --avatar-stack-transition: \"transform .2s ease-in-out\",\n ),\n $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n (\n \"xs\": (\n size: 1.5rem,\n status-size: .625rem,\n ),\n \"sm\": (\n size: 2rem,\n ),\n \"lg\": (\n size: 3rem,\n status-size: 1rem,\n border-width: 3px,\n ),\n \"xl\": (\n size: 4rem,\n status-size: 1.25rem,\n border-width: 4px,\n ),\n ),\n $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n .avatar {\n @include tokens($avatar-tokens);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * .4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n @include border-radius(var(--avatar-border-radius));\n\n > .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .avatar-subtle {\n color: var(--theme-fg, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n\n .avatar-img {\n @include border-radius(var(--avatar-border-radius, 50%));\n }\n\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n @include border-radius(50%);\n\n &.status-online {\n background-color: var(--green-500);\n }\n\n &.status-offline {\n background-color: var(--gray-400);\n @include border-radius(20%);\n }\n\n &.status-busy {\n background-color: var(--red-500);\n @include border-radius(20%);\n }\n\n &.status-away {\n background-color: var(--yellow-500);\n }\n }\n\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n\n .avatar {\n // Stack spacing is calculated as a percentage of avatar size\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n @include transition(var(--avatar-stack-transition));\n\n &:last-child {\n margin-left: 0;\n }\n\n &:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n }\n }\n\n @each $size, $tokens in $avatar-sizes {\n .avatar-#{$size},\n .avatar-stack-#{$size} > .avatar {\n --avatar-size: #{map.get($tokens, size)};\n\n @if map.has-key($tokens, status-size) {\n --avatar-status-size: #{map.get($tokens, status-size)};\n }\n\n @if map.has-key($tokens, border-width) {\n --avatar-border-width: #{map.get($tokens, border-width)};\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n// scss-docs-start badge-tokens\n$badge-tokens: defaults(\n (\n --badge-gap: .375em,\n --badge-padding-x: .625em,\n --badge-padding-y: .25em,\n --badge-font-size: clamp(12px, .75em, .75em),\n --badge-font-weight: var(--font-weight-semibold),\n --badge-color: inherit,\n --badge-bg: var(--bg-2),\n --badge-border-width: var(--border-width),\n --badge-border-color: transparent,\n --badge-border-radius: var(--radius-7),\n ),\n $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: () !default;\n$badge-variants: defaults(\n (\n \"subtle\": (\n \"color\": \"fg\",\n \"bg\": \"bg-subtle\",\n \"border-color\": \"transparent\"\n ),\n \"outline\": (\n \"color\": \"fg\",\n \"bg\": \"transparent\",\n \"border-color\": \"border\"\n )\n ),\n $badge-variants\n);\n// scss-docs-end badge-variants\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n .badge {\n @include tokens($badge-tokens);\n\n display: inline-flex;\n gap: var(--badge-gap);\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n @include border-radius(var(--badge-border-radius));\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n a.badge {\n text-decoration: none;\n }\n\n // Quick fix for badges in buttons\n .btn .badge {\n position: relative;\n top: -1px;\n }\n\n // scss-docs-start badge-variant-loop\n @each $variant, $properties in $badge-variants {\n .badge-#{$variant} {\n @each $property, $value in $properties {\n @if $value == \"transparent\" {\n --badge-#{$property}: transparent;\n } @else {\n --badge-#{$property}: var(--theme-#{$value});\n }\n }\n\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n }\n // scss-docs-end badge-variant-loop\n\n .badge-lg {\n --badge-padding-x: 1rem;\n --badge-padding-y: .5rem;\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/mask-icon\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n (\n --breadcrumb-font-size: inherit,\n --breadcrumb-bg: transparent,\n --breadcrumb-border-radius: var(--radius-5),\n --breadcrumb-divider-color: var(--fg-4),\n --breadcrumb-divider-icon: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 16'><path fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2 2l4 6-4 6'/></svg>\"))},\n --breadcrumb-divider-width: .375rem,\n --breadcrumb-divider-height: .75rem,\n --breadcrumb-link-padding-x: .75rem,\n --breadcrumb-link-padding-y: .25rem,\n --breadcrumb-link-color: var(--fg-3),\n --breadcrumb-link-hover-color: var(--fg-2),\n --breadcrumb-link-hover-bg: var(--bg-1),\n --breadcrumb-link-active-color: var(--fg-1),\n --breadcrumb-link-border-radius: var(--radius-7),\n ),\n $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n .breadcrumb {\n @include tokens($breadcrumb-tokens);\n\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n margin-bottom: 0;\n font-size: var(--breadcrumb-font-size);\n list-style-type: \"\";\n background-color: var(--breadcrumb-bg);\n @include border-radius(var(--breadcrumb-border-radius));\n }\n\n .breadcrumb-item {\n display: flex;\n }\n\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n\n // Render a default chevron, painted with `currentcolor` via a mask, when the\n // divider has no explicit content. Any content (an inline SVG, a text\n // character, etc.) added to the element overrides this default.\n &:empty::before {\n display: block;\n width: var(--breadcrumb-divider-width);\n height: var(--breadcrumb-divider-height);\n content: \"\";\n background-color: currentcolor;\n @include mask-icon(var(--breadcrumb-divider-icon));\n }\n }\n\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n @include border-radius(var(--breadcrumb-link-border-radius));\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n\n &.active {\n color: var(--breadcrumb-link-active-color);\n }\n }\n}\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/mask-icon\" as *;\n@use \"mixins/tokens\" as *;\n\n$calendar-tokens: () !default;\n\n// scss-docs-start calendar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$calendar-tokens: defaults(\n (\n --calendar-padding: 0,\n --calendar-color: var(--fg-body),\n --calendar-font-size: var(--font-size-sm),\n --calendar-header-font-weight: 600,\n --calendar-weekday-color: var(--fg-3),\n --calendar-day-hover-bg: var(--bg-1),\n --calendar-day-selected-bg: var(--primary-bg),\n --calendar-day-selected-color: var(--primary-contrast),\n --calendar-day-today-bg: var(--bg-2),\n --calendar-day-today-color: var(--fg-1),\n --calendar-day-disabled-color: var(--fg-4),\n ),\n $calendar-tokens\n);\n// scss-docs-end calendar-tokens\n\n@layer components {\n // The calendar renders unadorned by default. The datepicker layers the popup\n // surface on top for the `[data-vc-input]` variant.\n [data-vc=\"calendar\"] {\n @include tokens($calendar-tokens);\n\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: fit-content;\n padding: var(--calendar-padding);\n font-family: var(--body-font-family);\n font-size: var(--calendar-font-size);\n color: var(--calendar-color);\n color-scheme: light dark;\n\n // Respond to Bootstrap's color mode system\n &[data-bs-theme=\"light\"] {\n color-scheme: light;\n }\n\n &[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n }\n\n // Catch-all for focus styles\n button:focus-visible {\n position: relative;\n z-index: 1;\n @include focus-ring();\n }\n }\n\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--calendar-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--radius-5));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-color: var(--calendar-color);\n @include mask-icon(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\"), $size: null);\n }\n\n &:hover {\n background-color: var(--calendar-day-hover-bg);\n }\n }\n\n [data-vc-arrow=\"prev\"]::before {\n transform: rotate(90deg);\n }\n\n [data-vc-arrow=\"next\"]::before {\n transform: rotate(-90deg);\n }\n\n // Grid layout\n //\n // The controls overlay the header, so they repeat the calendar's own inset to\n // keep the arrows aligned with the content below.\n [data-vc=\"controls\"] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-block-start: var(--calendar-padding);\n padding-inline: var(--calendar-padding);\n pointer-events: none;\n }\n\n [data-vc=\"grid\"] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n\n [data-vc=\"column\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n\n //\n // Header\n //\n\n [data-vc=\"header\"] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: .75rem;\n }\n\n // Month and year\n [data-vc-header=\"content\"] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n\n [data-vc=\"month\"],\n [data-vc=\"year\"] {\n padding: .25rem .5rem;\n margin-inline: -.125rem;\n font-size: 1rem;\n font-weight: var(--calendar-header-font-weight);\n color: var(--calendar-color);\n background-color: transparent;\n border: 0;\n @include border-radius(var(--radius-5));\n\n &:disabled {\n color: var(--calendar-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--calendar-day-hover-bg);\n }\n }\n\n [data-vc=\"content\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n\n // Month/Year grids\n //\n // VCP wraps each set of months and years in role=\"row\" and role=\"gridcell\"\n // elements, so the column grid goes on the row and not on the container.\n [data-vc=\"months\"],\n [data-vc=\"years\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n row-gap: 1rem;\n }\n\n [data-vc-months=\"row\"],\n [data-vc-years=\"row\"] {\n display: grid;\n grid-template-columns: repeat(var(--calendar-columns, 4), minmax(0, 1fr));\n column-gap: .25rem;\n align-items: center;\n }\n\n [data-vc=\"years\"] {\n --calendar-columns: 5;\n }\n\n [data-vc-months=\"cell\"],\n [data-vc-years=\"cell\"] {\n display: flex;\n }\n\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 2.5rem;\n padding: .25rem;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--calendar-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--radius-5));\n\n &:disabled {\n color: var(--calendar-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--calendar-day-hover-bg);\n }\n\n &[data-vc-months-month-selected],\n &[data-vc-years-year-selected] {\n color: var(--calendar-day-selected-color);\n background-color: var(--calendar-day-selected-bg);\n\n &:hover {\n color: var(--calendar-day-selected-color);\n background-color: var(--calendar-day-selected-bg);\n }\n }\n }\n\n // Week days header\n [data-vc=\"week\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: .5rem;\n }\n\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--calendar-weekday-color);\n background-color: transparent;\n border: 0;\n }\n\n button[data-vc-week-day] {\n cursor: pointer;\n }\n\n // Dates grid\n [data-vc=\"dates\"] {\n pointer-events: none;\n }\n\n [data-vc-dates=\"row\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: .125rem;\n padding-bottom: .125rem;\n pointer-events: auto;\n\n &:not(:has([data-vc-date-btn])),\n &[data-vc-date-disabled],\n &[data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n }\n\n // Date button\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: .75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--calendar-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--radius-5);\n\n &:hover {\n background-color: var(--calendar-day-hover-bg);\n }\n }\n\n // Today\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--calendar-day-today-color);\n background-color: var(--calendar-day-today-bg);\n }\n\n // Outside month\n [data-vc-date-month=\"next\"] [data-vc-date-btn],\n [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n opacity: .5;\n }\n\n // Disabled\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--calendar-day-disabled-color);\n }\n\n // Range selection styles\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--calendar-day-hover-bg);\n border-radius: 0;\n }\n\n [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n border-start-start-radius: var(--radius-5);\n border-end-start-radius: var(--radius-5);\n }\n\n [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n border-start-end-radius: var(--radius-5);\n border-end-end-radius: var(--radius-5);\n }\n\n [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--radius-5);\n }\n\n [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n border-radius: 0;\n opacity: .8;\n }\n\n // Selected\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--calendar-day-selected-color);\n background-color: var(--calendar-day-selected-bg);\n }\n\n [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n border-top-left-radius: var(--radius-5);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--radius-5);\n }\n\n [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--radius-5);\n border-bottom-right-radius: var(--radius-5);\n border-bottom-left-radius: 0;\n }\n\n [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--radius-5);\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n (\n --chip-height: 1.75rem,\n --chip-padding-x: .625rem,\n --chip-gap: .3125rem,\n --chip-border-radius: var(--radius-pill),\n --chip-img-size: 1.25rem,\n --chip-icon-size: 1rem,\n --chip-dismiss-size: 1rem,\n --chip-dismiss-opacity: .65,\n --chip-dismiss-hover-opacity: 1,\n --chip-color: var(--theme-fg, var(--fg-body)),\n --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n --chip-border-color: transparent,\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n ),\n $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .chip {\n @include tokens($chip-tokens);\n\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n @include border-radius(var(--chip-border-radius));\n\n &:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n\n &:focus-visible {\n outline: 0;\n }\n\n &.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n\n &:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: .9;\n }\n }\n\n &.disabled,\n &:disabled {\n pointer-events: none;\n opacity: .65;\n }\n }\n\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n @include border-radius(50%);\n\n &:first-child {\n margin-inline-start: -.375rem;\n }\n }\n\n // Chip icon (left side)\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -.25);\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n\n > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n @include border-radius(50%);\n }\n }\n\n // Dismiss button (right side)\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n padding: 0;\n margin-inline-end: calc(var(--chip-padding-x) * -.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n\n &:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n\n &:focus-visible {\n outline: 0;\n opacity: 1;\n @include focus-ring();\n }\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n (\n --card-spacer-y: var(--spacer-6),\n --card-spacer-x: var(--spacer-6),\n --card-subtitle-color: inherit,\n --card-border-width: var(--border-width),\n --card-border-color: var(--border-color),\n --card-border-radius: var(--radius-7),\n --card-box-shadow: none,\n --card-inner-border-radius: calc(var(--card-border-radius) - var(--border-width)),\n --card-cap-padding-y: var(--spacer-3),\n --card-cap-padding-x: var(--spacer-5),\n --card-cap-bg: var(--bg-1),\n --card-cap-color: inherit,\n --card-height: auto,\n --card-color: inherit,\n --card-bg: var(--bg-body),\n --card-img-overlay-padding: var(--card-spacer-y),\n --card-group-margin: #{$grid-gutter-x * .5},\n --card-body-gap: calc(var(--card-spacer-y) * .5),\n ),\n $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n .card {\n @include tokens($card-tokens);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n @include border-radius(var(--card-border-radius));\n @include box-shadow(var(--card-box-shadow));\n\n > hr {\n margin-inline: 0;\n }\n\n // Horizontal seams between stacked sections. Header and footer already\n // draw their own divider, so they are left out of the preceding-sibling\n // list to avoid a doubled line.\n > :is(.card-img-top, .card-img-bottom, .card-body, .list-group) {\n + :is(.card-body, .card-img-bottom, .list-group) {\n border-block-start: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n }\n\n // Flush lists zero their own radius; restore the inner card radius when\n // the list sits on a rounded card edge so items inherit the curve.\n > .list-group {\n &:first-child {\n @include border-top-radius(var(--card-inner-border-radius));\n }\n\n &:last-child {\n @include border-bottom-radius(var(--card-inner-border-radius));\n }\n }\n }\n\n .card-body {\n display: flex;\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: stretch;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n\n > * {\n margin-block: 0;\n }\n\n > [class*=\"btn-\"] {\n align-self: start;\n }\n }\n\n\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -.5);\n }\n\n .card-header {\n display: flex;\n flex-direction: column;\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border-bottom: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:first-child {\n @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n }\n }\n\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border-top: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:last-child {\n @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n }\n }\n\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n\n .card-header,\n .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n }\n\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n\n .card-header {\n color: var(--theme-fg-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-footer {\n color: var(--theme-fg-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n > :is(.card-body, .list-group) {\n border-color: var(--theme-border, var(--card-border-color));\n }\n }\n\n //\n // Header navs\n //\n\n // Combined selector because of specificity match with `.nav` base class\n .nav.card-header-tabs {\n margin-inline: calc(-.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y) - var(--nav-tabs-border-width));\n border-block-end: 0;\n\n .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n }\n\n // Card image\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n @include border-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n }\n\n .card-img {\n @include border-radius(var(--radius-5));\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n\n .card-img-top {\n @include border-top-radius(var(--card-inner-border-radius));\n }\n\n .card-img-bottom {\n @include border-bottom-radius(var(--card-inner-border-radius));\n }\n\n .card-row {\n flex-direction: row;\n\n > :is(.card-img-start, .card-img-end, .card-body, .list-group) {\n + :is(.card-body, .card-img-end, .list-group) {\n border-block-start: 0;\n border-inline-start: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n }\n\n > .list-group {\n &:first-child {\n @include border-start-radius(var(--card-inner-border-radius));\n }\n\n &:last-child {\n @include border-end-radius(var(--card-inner-border-radius));\n }\n }\n }\n\n .card-img-start {\n @include border-start-radius(var(--card-inner-border-radius));\n }\n\n .card-img-end {\n @include border-end-radius(var(--card-inner-border-radius));\n }\n\n //\n // Card groups\n //\n\n // Card groups lay out their cards in a row using a container query, so wrap the\n // group in a query container (e.g., the `.contains-inline` utility) for the row\n // layout to take effect. Without a query container the cards remain stacked.\n .card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: var(--card-group-margin);\n }\n\n @include container-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n\n + .card {\n border-inline-start-width: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n > .card-img-top,\n > .card-header,\n > .list-group {\n border-start-end-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer,\n > .list-group {\n border-end-end-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n > .card-img-top,\n > .card-header,\n > .list-group {\n border-start-start-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer,\n > .list-group {\n border-end-start-radius: 0;\n }\n }\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/mask-icon\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n (\n --carousel-gap: .75rem,\n --carousel-indicator-bg: var(--fg-3),\n --carousel-indicator-width: .75rem,\n --carousel-indicator-height: .75rem,\n --carousel-indicator-spacer: .25rem,\n --carousel-indicator-opacity-duration: .6s,\n --carousel-indicator-opacity-timing: ease,\n --carousel-indicator-width-duration: .3s,\n --carousel-indicator-width-timing: ease,\n --carousel-indicator-progress-bg: var(--carousel-indicator-bg),\n --carousel-control-icon-width: 1rem,\n --carousel-control-prev-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n --carousel-control-next-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n --carousel-control-pause-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5m5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5'/></svg>\"),\n --carousel-control-play-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z'/></svg>\"),\n // Scroll-snap engine. `gap` must carry a length unit: it feeds the\n // `.carousel-item` flex-basis `calc()`, and subtracting a unitless `0` from a\n // percentage is invalid CSS (it would drop the whole declaration and collapse\n // every slide to its content width). `peek` only feeds `padding-inline`/\n // `scroll-padding-inline`, so a bare `0` would be valid there, but we keep it\n // unit-bearing for consistency.\n --carousel-items: 1,\n --carousel-items-gap: 0px,\n --carousel-items-peek: 0px,\n --carousel-fade-duration: .6s,\n --carousel-fade-timing: ease,\n ),\n $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .carousel {\n @include tokens($carousel-tokens);\n\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--carousel-gap);\n }\n\n // The scroll viewport\n .carousel-inner {\n display: flex;\n gap: var(--carousel-items-gap);\n width: 100%;\n padding-inline: var(--carousel-items-peek);\n overflow-x: auto;\n overscroll-behavior-x: contain;\n scroll-snap-type: x mandatory;\n scroll-padding-inline: var(--carousel-items-peek);\n scrollbar-width: none; // Hide the scrollbar without losing scrollability\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n // Smooth programmatic/keyboard scrolling, disabled under reduced-motion\n @media (prefers-reduced-motion: no-preference) {\n .carousel-inner {\n scroll-behavior: smooth;\n }\n }\n\n .carousel-item {\n // `100%` here is `.carousel-inner`'s content box, which `padding-inline`\n // has already inset by the peek on each side, so the peek must NOT be\n // subtracted again — doing so makes every slide `2 * peek` too narrow and\n // the peek lopsided. Only the inter-slide gaps need removing.\n flex: 0 0 calc((100% - (var(--carousel-items) - 1) * var(--carousel-items-gap)) / var(--carousel-items));\n min-width: 0;\n scroll-snap-align: start;\n scroll-snap-stop: always;\n }\n\n //\n // Layout variants\n //\n\n // Center the active slide in the viewport (pairs well with `--carousel-items-peek`)\n .carousel-center {\n .carousel-item {\n scroll-snap-align: center;\n }\n }\n\n // Let each slide size itself; snap points still land on every item\n .carousel-auto {\n .carousel-item {\n flex-basis: auto;\n }\n }\n\n //\n // Alternate transitions\n //\n\n // Fade can't ride scroll-snap (it stacks slides instead of scrolling), so it\n // becomes a JavaScript-driven mode: every slide is stacked and the active one\n // is faded in via a CSS opacity transition.\n .carousel-fade {\n .carousel-inner {\n display: grid;\n overflow: hidden;\n scroll-snap-type: none;\n }\n\n .carousel-item {\n grid-area: 1 / 1;\n width: 100%;\n visibility: hidden;\n opacity: 0;\n @include transition(opacity var(--carousel-fade-duration) var(--carousel-fade-timing), visibility 0s linear var(--carousel-fade-duration));\n }\n\n .carousel-item.active {\n visibility: visible;\n opacity: 1;\n @include transition(opacity var(--carousel-fade-duration) var(--carousel-fade-timing));\n }\n }\n\n // Icons for within, rendered via CSS mask so they inherit the current text\n // color (white on the overlay controls, the button color inside `.btn-*`).\n .carousel-icon-prev,\n .carousel-icon-next,\n .carousel-icon-pause,\n .carousel-icon-play {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-color: currentcolor;\n @include mask-icon($size: 100% 100%, $position: 50%);\n }\n\n .carousel-icon-prev {\n mask-image: var(--carousel-control-prev-icon);\n }\n\n .carousel-icon-next {\n mask-image: var(--carousel-control-next-icon);\n }\n\n [dir=\"rtl\"] .carousel-icon-prev,\n [dir=\"rtl\"] .carousel-icon-next {\n transform: scaleX(-1);\n }\n\n .carousel-icon-pause {\n mask-image: var(--carousel-control-pause-icon);\n }\n\n .carousel-icon-play {\n mask-image: var(--carousel-control-play-icon);\n }\n\n // Optional play/pause control\n //\n // A discoverable toggle so users can stop an autoplaying carousel, as required\n // by WCAG 2.2.2 (Pause, Stop, Hide). `.carousel-control-play-pause` is only a\n // behavior hook—JS toggles `.paused` on it and its appearance comes from the\n // wrapping button (e.g. `.btn-icon`). The button holds both glyphs and we show\n // whichever `.carousel-icon-*` matches the current state.\n .carousel-control-play-pause .carousel-icon-play {\n display: none;\n }\n\n .carousel-control-play-pause.paused {\n .carousel-icon-pause {\n display: none;\n }\n\n .carousel-icon-play {\n display: inline-block;\n }\n }\n\n .carousel-indicators {\n display: flex;\n gap: var(--carousel-indicator-spacer);\n justify-content: center;\n\n [data-bs-target] {\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n cursor: pointer;\n background-color: transparent;\n border: 1px solid var(--carousel-indicator-bg);\n @include border-radius(var(--carousel-indicator-width));\n @include transition(opacity var(--carousel-indicator-opacity-duration) var(--carousel-indicator-opacity-timing), width var(--carousel-indicator-width-duration) var(--carousel-indicator-width-timing));\n }\n\n .active {\n width: calc(var(--carousel-indicator-width) * 2.5);\n background-color: var(--carousel-indicator-bg);\n border-color: var(--carousel-indicator-bg);\n }\n }\n\n // Autoplay progress: fill the active indicator like a progress bar over the\n // current slide's interval. The JS adds `.carousel-playing` and sets\n // `--carousel-interval` (shipped as `--bs-carousel-interval`) while autoplay is\n // running. The fill restarts on its own each slide because `.active` moves to a\n // fresh indicator, so its `::after` animation begins from scratch.\n @if $enable-transitions {\n @keyframes carousel-indicator-progress {\n from { inline-size: 0; }\n to { inline-size: 100%; }\n }\n\n .carousel-playing .carousel-indicators .active {\n @media (prefers-reduced-motion: no-preference) {\n position: relative;\n overflow: hidden;\n // Empty the pill so it reads as a track that the fill grows across.\n background-color: transparent;\n\n &::after {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n inline-size: 0;\n content: \"\";\n background-color: var(--carousel-indicator-progress-bg);\n animation: carousel-indicator-progress var(--carousel-interval, 5000ms) linear forwards;\n }\n }\n }\n }\n\n // Overlay layout\n //\n // Overlays the prev/next controls, play/pause button, and indicators on top of\n // the slides (the classic carousel look) instead of stacking them in the flow.\n\n .carousel-overlay {\n --carousel-indicator-bg: light-dark(var(--white), var(--black));\n\n .carousel-overlay-controls {\n position: absolute;\n inset-block-end: 1rem;\n inset-inline: 1rem;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n (\n --datepicker-padding: 1rem,\n --datepicker-bg: var(--bg-body),\n --datepicker-border-color: var(--border-color-translucent),\n --datepicker-border-width: var(--border-width),\n --datepicker-border-radius: var(--radius-7),\n --datepicker-box-shadow: var(--box-shadow),\n --datepicker-min-width: 280px,\n --datepicker-zindex: var(--z-menu),\n ),\n $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n // The popup surface. VCP only adds `[data-vc-input]` when it owns a popup, so\n // inline calendars keep the bare styling from the calendar component.\n [data-vc=\"calendar\"][data-vc-input] {\n @include tokens($datepicker-tokens);\n\n --calendar-padding: var(--datepicker-padding);\n\n position: absolute;\n z-index: var(--datepicker-zindex);\n min-width: var(--datepicker-min-width);\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n @include border-radius(var(--datepicker-border-radius));\n }\n\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n\n [data-vc-position=\"bottom\"] {\n margin-block-start: .25rem;\n }\n\n [data-vc-position=\"top\"] {\n margin-block-end: -.25rem;\n }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/dialog-shared\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n (\n --dialog-padding: 1rem,\n --dialog-width: 500px,\n --dialog-margin: 1.75rem,\n --dialog-color: var(--fg-body),\n --dialog-bg: var(--bg-body),\n --dialog-border-color: var(--border-color-translucent),\n --dialog-border-width: var(--border-width),\n --dialog-border-radius: var(--radius-7),\n --dialog-box-shadow: var(--box-shadow-xl),\n --dialog-transition-property: \"opacity, transform, visibility\",\n --dialog-transition-duration: .3s,\n --dialog-transition-timing: var(--transition-timing-overlay),\n --dialog-backdrop-bg: light-dark(rgb(0 0 0 / 50%), rgb(0 0 0 / 65%)),\n --dialog-backdrop-blur: 8px,\n --dialog-header-padding: 1rem,\n --dialog-header-border-color: var(--border-color-translucent),\n --dialog-header-border-width: var(--border-width),\n --dialog-footer-padding: 1rem,\n --dialog-footer-border-color: var(--border-color-translucent),\n --dialog-footer-border-width: var(--border-width),\n --dialog-footer-gap: .5rem,\n ),\n $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n (\n sm: 280px,\n lg: 800px,\n xl: 1140px,\n ),\n $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n // Prevent page scroll when a dialog is open. Applied to the root element so\n // `overflow: hidden` sits on the same element as `scrollbar-gutter: stable`\n // (see _root.scss): the gutter stays reserved while the scrollbar is hidden,\n // so the page doesn't shift when a dialog opens.\n :root.dialog-open {\n overflow: hidden;\n }\n\n .dialog {\n @include tokens($dialog-tokens);\n\n // Override UA display:none so visibility controls the hidden state,\n // enabling reliable cross-browser exit animations after close().\n display: flex;\n flex-direction: column;\n width: var(--dialog-width);\n max-width: calc(100% - var(--dialog-margin) * 2);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n overflow: visible;\n color: var(--dialog-color);\n visibility: hidden;\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n\n // Animated variant (default) — transitions, opacity fade, slide transforms.\n // Adding .dialog-instant skips all animations (instant show/hide).\n &:not(.dialog-instant) {\n // Exit state: faded out\n opacity: 0;\n\n // One transition covers both directions. `visibility` animates with the\n // rest because it interpolates as a step that stays `visible` while\n // either end is visible: it flips visible at once on entry, and only\n // after the animation on exit. Keep it in --dialog-transition-property\n // when you override the list, or the exit becomes invisible.\n @include transition-props(\n var(--dialog-transition-property),\n var(--dialog-transition-duration),\n var(--dialog-transition-timing)\n );\n\n // Slide-down variant: enters from above sliding down, exits by reversing\n // back up. Base value is the entry-from / exit-to position so the\n // animation works on every open (not just the first, which is the only\n // time @starting-style applies for a persistent <dialog> element).\n &.dialog-slide-down {\n transform: translateY(-3rem);\n }\n\n // Slide-up variant: enters from below sliding up, exits by reversing\n // back down. See note above re: base value choice.\n &.dialog-slide-up {\n transform: translateY(3rem);\n }\n\n // Open state: visible and faded in.\n // The :not(.hiding) qualifier lets the exit transition fall back to the\n // base \"exit\" state above while [open] is still present (the JS keeps\n // the dialog in the top layer during the exit so the ::backdrop and\n // the browser's modal centering remain intact).\n &[open]:not(.hiding) {\n overflow: visible;\n visibility: visible;\n opacity: 1;\n transform: none;\n }\n\n // Static backdrop \"bounce\" animation (modal dialogs only). Qualified\n // with [open] (to outrank the open-state `transform: none` selector\n // which now also includes `:not(.hiding)`) and `:not(.hiding)` (so\n // a backdrop click while the dialog is mid-exit doesn't fight the\n // slide-out transform).\n &[open].dialog-static:not(.hiding) {\n transform: scale(1.02);\n }\n\n // Native backdrop styling with transitions\n &::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n @include backdrop-transitions(var(--dialog-transition-duration), var(--dialog-transition-timing));\n }\n\n // Exit: fade the native backdrop out alongside the dialog. The dialog\n // is kept in the top layer (and thus the ::backdrop is still rendered)\n // for the duration of the exit transition.\n &.hiding::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n }\n\n // Instant variant — no transitions, just snap visibility\n &.dialog-instant {\n &::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n }\n\n // Open state base (always applies, regardless of animation mode).\n // Excluded while .hiding is present so the animated exit (above) can\n // fall through to the base \"exit\" state — for instant dialogs, .hiding\n // is removed synchronously after close() so this still applies normally.\n &[open]:not(.hiding) {\n overflow: visible;\n visibility: visible;\n opacity: 1;\n transform: none;\n }\n\n // Non-modal dialog positioning\n // `show()` doesn't use the top layer, so we need explicit positioning and\n // z-index. Center with inset + `margin: auto` (already on `.dialog`) and\n // `height: fit-content` so the open-state `transform: none` doesn't un-center it.\n &.dialog-nonmodal {\n position: fixed;\n inset: 0;\n z-index: var(--z-dialog);\n height: fit-content;\n }\n\n // Scrollable dialog body (header/footer stay fixed)\n &.dialog-scrollable[open] {\n max-height: calc(100% - var(--dialog-margin) * 2);\n\n .dialog-body {\n overflow-y: auto;\n }\n }\n }\n\n // Entry animation for ::backdrop via @starting-style. The backdrop only\n // exists while the dialog is in the top layer, so its starting state can't\n // be expressed on the base selector.\n // Default dialog (fade only) and the slide variants do NOT need\n // @starting-style — the base opacity: 0 (and base transform for slides)\n // serves as the entry-from state with the visibility trick.\n @starting-style {\n .dialog:not(.dialog-instant)::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n\n // Swap entry: when this dialog is opened as the target of a swap, the\n // outgoing dialog's ::backdrop is being removed synchronously in the same\n // JS tick. To avoid any flicker (either a dip from a fade-in over nothing,\n // or double-darkening from two stacked backdrops), start this backdrop\n // already-opaque so it takes over from the outgoing one seamlessly.\n .dialog.dialog-swap-in:not(.dialog-instant)::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n }\n\n // Dialog sizes\n @each $size, $value in $dialog-sizes {\n .dialog-#{$size} { --dialog-width: #{$value}; }\n }\n\n // Fullscreen dialog\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n --dialog-border-width: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n\n // Responsive fullscreen dialogs\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @if $prefix != \"\" {\n @include media-breakpoint-down($breakpoint) {\n .#{css-escape-ident($breakpoint)}-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n }\n }\n\n // Dialog header\n .dialog-header {\n @include dialog-header(var(--dialog-header-padding));\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n .btn-close {\n margin-inline-start: auto;\n }\n }\n\n // Dialog title\n .dialog-title {\n @include dialog-title();\n font-size: var(--font-size-md);\n }\n\n // Dialog body\n .dialog-body {\n position: relative;\n @include dialog-body(var(--dialog-padding));\n }\n\n // Dialog footer\n .dialog-footer {\n @include dialog-footer(var(--dialog-footer-padding), var(--dialog-footer-gap), var(--dialog-footer-border-width), var(--dialog-footer-border-color));\n }\n}\n","// Shared mixins for Dialog and Drawer sub-components.\n// Both components use identical header/footer/body/title patterns\n// with different token namespaces.\n\n@use \"transition\" as *;\n\n// Header: flex row with close button alignment\n@mixin dialog-header($padding) {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: $padding;\n}\n\n// Footer: flex row with end-aligned actions\n@mixin dialog-footer($padding, $gap, $border-width, $border-color) {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: $gap;\n align-items: center;\n justify-content: flex-end;\n padding: $padding;\n border-block-start: $border-width solid $border-color;\n}\n\n// Body: flexible scrollable content area\n@mixin dialog-body($padding) {\n flex: 1 1 auto;\n padding: $padding;\n}\n\n// Title: reset margin, set line-height\n@mixin dialog-title($line-height: 1.25) {\n margin-bottom: 0;\n line-height: $line-height;\n}\n\n// Backdrop transitions for ::backdrop pseudo-element.\n// Both Dialog and Drawer use identical allow-discrete transitions\n// on display and overlay to keep ::backdrop in the top layer.\n@mixin backdrop-transitions($duration, $timing) {\n @include transition(\n background-color $duration $timing,\n backdrop-filter $duration $timing,\n display $duration allow-discrete,\n overlay $duration allow-discrete\n );\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n (\n --menu-zindex: var(--z-menu),\n --menu-gap: .125rem,\n --menu-min-width: 10rem,\n --menu-padding-x: .25rem,\n --menu-padding-y: .25rem,\n --menu-spacer: .125rem,\n --menu-font-size: var(--font-size-sm),\n --menu-color: var(--fg-body),\n --menu-bg: var(--bg-body),\n // --menu-border-color: var(--border-color-translucent),\n // --menu-border-radius: var(--radius-7),\n // --menu-border-width: var(--border-width),\n --menu-box-shadow: var(--box-shadow-lg),\n // --menu-max-height: none,\n --menu-divider-bg: var(--border-color-translucent),\n --menu-divider-margin-y: .125rem,\n --menu-divider-margin-x: .25rem,\n --menu-item-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-bg: var(--bg-1),\n --menu-item-active-color: var(--primary-contrast),\n --menu-item-active-bg: var(--primary-bg),\n --menu-item-disabled-color: var(--fg-3),\n --menu-item-gap: .5rem,\n --menu-item-padding-x: .75rem,\n --menu-item-padding-y: .25rem,\n --menu-item-border-radius: var(--radius-5),\n --menu-icon-size: 1rem,\n --menu-description-font-size: var(--font-size-xs),\n --menu-check-color: currentcolor,\n --menu-header-color: var(--fg-3),\n --menu-header-padding-x: .75rem,\n --menu-header-padding-y: .25rem,\n --menu-transition-property: \"opacity, transform, display\",\n --menu-transition-duration: .15s,\n --menu-transition-timing: var(--transition-timing-overlay),\n ),\n $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n .menu {\n @include tokens($menu-tokens);\n\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style-type: \"\";\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n @include border-radius(var(--menu-border-radius, var(--radius-7)));\n @include box-shadow(var(--menu-box-shadow));\n opacity: 0;\n transform: scale(.95);\n transform-origin: top start;\n\n &[data-bs-placement^=\"top\"] {\n transform-origin: bottom start;\n }\n\n &[data-bs-placement=\"bottom-end\"] {\n transform-origin: top end;\n }\n\n &[data-bs-placement=\"top-end\"] {\n transform-origin: bottom end;\n }\n\n &[data-bs-placement^=\"left\"] {\n transform-origin: top end;\n }\n\n // `display` transitions discretely so the menu stays laid out until the\n // fade-out finishes. Keep it in --menu-transition-property when you\n // override the list.\n @include transition-props(\n var(--menu-transition-property),\n var(--menu-transition-duration),\n var(--menu-transition-timing),\n allow-discrete\n );\n\n &.show {\n display: flex;\n opacity: 1;\n transform: none;\n }\n }\n\n @starting-style {\n .menu.show {\n opacity: 0;\n transform: scale(.95);\n }\n }\n\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-fg, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n @include border-radius(var(--menu-item-border-radius, 0));\n\n &:hover,\n &:focus {\n color: var(--theme-fg-emphasis, var(--menu-item-hover-color));\n background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n // @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n }\n\n &.active,\n &:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n background-color: var(--theme-bg, var(--menu-item-active-bg));\n // @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n .menu-item-icon {\n color: inherit !important; // stylelint-disable-line declaration-no-important\n }\n }\n\n &.selected {\n font-weight: var(--font-weight-semibold);\n }\n\n &.disabled,\n &:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n }\n }\n\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: .125rem;\n }\n\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: .125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n\n .selected > & {\n visibility: visible;\n }\n }\n\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n\n // scss-docs-start submenu\n .submenu {\n position: relative;\n\n > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 .125em .125em 0;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n transform: rotate(135deg);\n }\n }\n\n > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n\n &:hover > .menu-item,\n &:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n\n &.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n }\n // scss-docs-end submenu\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n (\n --list-group-color: var(--fg-body),\n --list-group-bg: var(--bg-body),\n --list-group-border-color: var(--border-color),\n --list-group-border-width: var(--border-width),\n --list-group-border-radius: var(--radius-5),\n --list-group-item-padding-x: var(--spacer),\n --list-group-item-padding-y: var(--spacer-2),\n --list-group-action-color: var(--fg-2),\n --list-group-action-hover-color: var(--fg-1),\n --list-group-action-hover-bg: var(--bg-1),\n --list-group-action-active-color: var(--fg-body),\n --list-group-action-active-bg: var(--bg-2),\n --list-group-disabled-color: var(--fg-3),\n --list-group-disabled-bg: var(--bg-body),\n --list-group-active-color: var(--primary-contrast),\n --list-group-active-bg: var(--primary-bg),\n --list-group-active-border-color: var(--primary-bg),\n ),\n $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n .list-group {\n @include tokens($list-group-tokens);\n\n display: flex;\n flex-direction: column;\n\n // No need to set list-style-type: \"\"; since .list-group-item is block level\n padding-inline-start: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius(var(--list-group-border-radius));\n }\n\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n\n > .list-group-item::before {\n // Increments only this instance of the section counter\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n }\n\n // Individual list items\n //\n // Use on `li`s or `div`s within the `.list-group` parent.\n\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-fg, var(--list-group-color));\n text-decoration: none;\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n\n // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n & + .list-group-item {\n border-block-start-width: 0;\n\n &.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n }\n }\n\n // Interactive list items\n //\n // Use anchor or button elements instead of `li`s or `div`s to create interactive\n // list items. Includes an extra `.active` modifier class for selected items.\n\n .list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: var(--theme-fg, var(--list-group-action-color));\n text-align: inherit; // For `<button>`s (anchors inherit)\n text-decoration: none;\n\n &:not(.active) {\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: var(--theme-fg-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n\n &:active {\n color: var(--theme-fg-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n }\n }\n\n // Horizontal\n //\n // Change the layout of list group items from vertical (default) to horizontal.\n // The responsive variants use container queries, so wrap the list group in a\n // query container (e.g., the `.contains-inline` utility) for them to take effect.\n\n @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n .#{$prefix}list-group-horizontal {\n @include container-breakpoint-up($breakpoint) {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child:not(:last-child) {\n @include border-bottom-start-radius(var(--list-group-border-radius));\n @include border-top-end-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-end-radius(var(--list-group-border-radius));\n @include border-bottom-start-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n\n &.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n }\n }\n }\n }\n\n // Flush list items\n //\n // Remove borders and border-radius to keep list group items edge-to-edge. Most\n // useful within other components (e.g., cards).\n\n .list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n\n &:last-child {\n border-block-end-width: 0;\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n (\n --nav-gap: .125rem,\n --nav-link-gap: .5rem,\n --nav-link-align: center,\n --nav-link-justify: center,\n --nav-link-padding-x: .75rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--fg-2),\n --nav-link-hover-color: var(--fg-1),\n --nav-link-hover-bg: var(--bg-1),\n --nav-link-active-color: var(--fg-body),\n --nav-link-active-bg: var(--bg-2),\n --nav-link-disabled-color: var(--fg-4),\n --nav-link-border-width: var(--border-width),\n --nav-link-transition-property: \"color, background-color, border-color\",\n --nav-link-transition-duration: .15s,\n --nav-link-transition-timing: ease-in-out,\n ),\n $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n (\n --nav-tabs-border-width: var(--border-width),\n --nav-tabs-border-color: var(--border-color),\n --nav-tabs-border-radius: var(--radius-5),\n --nav-tabs-link-hover-border-color: var(--border-subtle),\n --nav-tabs-link-active-color: var(--fg-color),\n --nav-tabs-link-active-bg: var(--bg-body),\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n ),\n $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n (\n --nav-pills-bg: var(--bg-1),\n --nav-pills-padding: .25rem,\n --nav-pills-border-radius: var(--radius-9),\n --nav-pills-link-active-color: var(--primary-contrast),\n --nav-pills-link-active-bg: var(--primary-bg),\n --nav-pills-link-border-radius: var(--radius-9),\n ),\n $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n (\n --nav-gap: 1rem,\n --nav-link-active-bg: transparent,\n --nav-underline-border-width: .125rem,\n --nav-underline-link-active-color: var(--fg-color),\n ),\n $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\n\n$tab-pane-tokens: () !default;\n\n// scss-docs-start tab-pane-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tab-pane-tokens: defaults(\n (\n --tab-pane-transition-property: \"opacity\",\n --tab-pane-transition-duration: .15s,\n --tab-pane-transition-timing: linear,\n ),\n $tab-pane-tokens\n);\n// scss-docs-end tab-pane-tokens\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n .nav {\n @include tokens($nav-tokens);\n\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style-type: \"\";\n }\n\n .nav-item {\n display: flex;\n }\n\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--theme-fg, var(--nav-link-color));\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n @include border-radius(var(--radius-5));\n @include transition-props(\n var(--nav-link-transition-property),\n var(--nav-link-transition-duration),\n var(--nav-link-transition-timing)\n );\n\n &:hover,\n &:focus {\n color: var(--theme-fg-emphasis, var(--nav-link-hover-color));\n background-color: var(--theme-bg-muted, var(--nav-link-hover-bg));\n }\n\n &:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--theme-fg-emphasis, var(--nav-link-hover-color));\n @include focus-ring(true);\n }\n\n &.active,\n &:active {\n color: var(--theme-fg, var(--nav-link-active-color));\n background-color: var(--theme-bg-subtle, var(--nav-link-active-bg));\n }\n\n // Disabled state lightens text\n &.disabled,\n &:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n }\n\n //\n // Tabs\n //\n\n .nav-tabs {\n // scss-docs-start nav-tabs-css-vars\n @include tokens($nav-tabs-tokens);\n // scss-docs-end nav-tabs-css-vars\n\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n @include border-bottom-radius(0);\n\n &:hover {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n\n .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n @include border-top-radius(0);\n }\n }\n\n //\n // Pills\n //\n\n .nav-pills {\n @include tokens($nav-pills-tokens);\n\n display: inline-flex;\n padding: var(--nav-pills-padding);\n background-color: var(--nav-pills-bg);\n @include border-radius(var(--nav-pills-border-radius));\n\n .nav-link {\n @include border-radius(var(--nav-pills-link-border-radius));\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: var(--theme-contrast, var(--nav-pills-link-active-color));\n @include gradient-bg(var(--theme-bg, var(--nav-pills-link-active-bg)));\n }\n }\n\n .nav-pills-vertical {\n flex-direction: column;\n align-items: stretch;\n\n .nav-item,\n .nav-link {\n width: 100%;\n }\n }\n\n //\n // Underline\n //\n\n .nav-underline {\n // scss-docs-start nav-underline-css-vars\n @include tokens($nav-underline-tokens);\n // scss-docs-end nav-underline-css-vars\n\n .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n @include border-radius(0);\n\n &:hover,\n &:focus {\n border-block-end-color: currentcolor;\n }\n }\n\n .nav-link.active,\n .show > .nav-link {\n font-weight: var(--font-weight-bold);\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n }\n\n //\n // Justified variants\n //\n\n .nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n }\n\n .nav-justified {\n > .nav-link,\n .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n }\n }\n\n .nav-fill,\n .nav-justified {\n .nav-item .nav-link {\n width: 100%; // Make sure button will grow\n }\n }\n\n // Tabbable tabs\n //\n // Hide tabbable panes to start, show them when `.active`\n\n .tab-content {\n > .tab-pane {\n @include tokens($tab-pane-tokens);\n\n display: none;\n\n // The pane fades in on its own, from the starting state below. Only the\n // entry animates: two in-flow panes cannot cross-fade without stacking,\n // so the outgoing pane leaves at once. Add .tab-pane-instant to skip it.\n &:not(.tab-pane-instant) {\n @include transition-props(\n var(--tab-pane-transition-property),\n var(--tab-pane-transition-duration),\n var(--tab-pane-transition-timing)\n );\n }\n }\n > .active {\n display: block;\n }\n }\n\n // The pane is not rendered before .active lands, so the fade-in needs an\n // explicit starting state.\n @starting-style {\n .tab-content > .tab-pane:not(.tab-pane-instant).active {\n opacity: 0;\n }\n }\n}\n","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n // The component measures this wrapper to decide what fits, so the wrapper must\n // never size to the nav inside it. If it did, each collapse would change the\n // width that caused it and the two would fight each other forever.\n .nav-overflow {\n // Inline-size containment keeps the nav's width, and the min-content width\n // it leaks through any flex ancestor, out of the wrapper's own size\n container-type: inline-size;\n flex: 1 1 0; // Fill the free space when the wrapper is itself a flex item\n min-width: 0; // Let the wrapper shrink below its content width\n }\n\n // The nav fills the wrapper and stops wrapping, so items run past the edge in\n // one line for the component to measure.\n .nav-overflow > .nav {\n display: flex; // Also overrides the inline-flex of .nav-pills\n flex-wrap: nowrap;\n min-width: 0;\n }\n\n // Items keep their natural width instead of squeezing, so the measured widths\n // say what the nav really needs.\n .nav-overflow > .nav > .nav-item {\n flex-shrink: 0;\n }\n\n // Container item for overflow\n .nav-overflow-item {\n margin-inline-start: auto;\n }\n\n // Hide items that have been moved to overflow\n .nav-overflow [data-bs-nav-overflow=\"true\"] {\n display: none;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/mask-icon\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n (\n --navbar-padding-x: 0,\n --navbar-padding-y: .5rem,\n --navbar-min-height: 3.5rem,\n --navbar-color: var(--fg-2),\n --navbar-hover-color: var(--fg-1),\n --navbar-disabled-color: var(--fg-3),\n --navbar-active-color: var(--fg-body),\n --navbar-brand-padding-y: .375rem, // Match nav link padding-y\n --navbar-brand-margin-end: 1rem,\n --navbar-brand-font-size: var(--font-size-md),\n --navbar-brand-font-weight: var(--font-weight-medium),\n --navbar-brand-color: var(--fg-body),\n --navbar-brand-hover-color: var(--fg-body),\n --navbar-nav-link-padding-x: .75rem,\n --navbar-toggler-width: 2rem,\n --navbar-toggler-padding-y: .25rem,\n --navbar-toggler-padding-x: .75rem,\n --navbar-toggler-font-size: var(--font-size-lg),\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n --navbar-toggler-border-radius: var(--radius-5),\n --navbar-toggler-transition: box-shadow .15s ease-in-out,\n --navbar-toggler-icon-size: 1.25rem,\n --navbar-toggler-icon: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path stroke='black' stroke-linecap='round' stroke-width='1' d='M1 3.5h14M1 8h14M1 12.5h14'/></svg>\"))},\n ),\n $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n (\n --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n --navbar-active-color: var(--white),\n --navbar-brand-color: var(--white),\n --navbar-brand-hover-color: var(--white),\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n ),\n $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n (\n --nav-gap: .25rem,\n --nav-link-gap: .5rem,\n --nav-link-padding-x: .5rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--navbar-color),\n --nav-link-border-width: var(--border-width),\n //--nav-link-border-color: var(--border-color),\n --nav-link-hover-color: var(--navbar-hover-color),\n --nav-link-hover-bg: transparent,\n --nav-link-active-color: var(--navbar-active-color),\n --nav-link-active-bg: transparent,\n --nav-link-disabled-color: var(--navbar-disabled-color),\n ),\n $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n // Base navbar\n .navbar {\n @include tokens($navbar-tokens);\n\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n min-height: var(--navbar-min-height);\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n @include set-container();\n color: var(--navbar-color, var(--fg-body));\n background-color: var(--navbar-bg, var(--bg-body));\n // @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n // Container properties for nested containers\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {\n @extend %container-flex-properties;\n }\n }\n }\n\n // Navbar brand\n //\n // Used for brand, project, or site names.\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--theme-fg, var(--navbar-brand-color));\n text-decoration: none;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n color: var(--theme-fg-emphasis, var(--navbar-brand-hover-color));\n }\n }\n\n // Navigation within navbars. Sets all nav-link CSS variables needed for\n // proper styling.\n //\n // Relies on `.nav` base class.\n .navbar-nav {\n @include tokens($navbar-nav-tokens);\n\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style-type: \"\";\n\n .nav-link {\n &.active,\n &.show {\n color: var(--theme-fg, var(--navbar-active-color));\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n }\n }\n\n // Navbar text\n //\n // For adding text or inline elements to the navbar\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n\n a,\n a:hover,\n a:focus {\n color: var(--theme-fg, var(--navbar-active-color));\n }\n }\n\n // Button for toggling the navbar when in its collapsed state\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n @include transition(var(--navbar-toggler-transition));\n }\n\n // Hamburger icon, rendered via CSS mask so it inherits the navbar color\n .navbar-toggler-icon {\n display: inline-block;\n width: var(--navbar-toggler-icon-size);\n height: var(--navbar-toggler-icon-size);\n background-color: currentcolor;\n @include mask-icon(var(--navbar-toggler-icon));\n }\n\n // scss-docs-start navbar-expand-loop\n // Generate series of responsive `.navbar-expand` classes for configuring\n // where your navbar collapses and expands. Uses container queries so the\n // navbar responds to its own width, not the viewport width.\n\n // Mixin for expanded state styles (applied to descendants)\n @mixin navbar-expanded {\n // Style the inner container since we can't style .navbar itself with container queries\n > .container,\n > .container-fluid,\n %navbar-expand-container {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n\n .navbar-toggler {\n display: none !important; // stylelint-disable-line declaration-no-important\n }\n\n [class*=\"drawer\"] {\n // stylelint-disable declaration-no-important\n // Reset native <dialog> UA styles and below-breakpoint drawer styles.\n // Must use !important to override both UA <dialog> defaults and the\n // responsive drawer styles from media-breakpoint-down().\n position: static !important;\n inset: auto !important;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none !important;\n height: auto !important;\n max-height: none !important;\n padding: 0;\n margin: 0;\n overflow: visible !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include box-shadow(none);\n @include transition(none);\n // stylelint-enable declaration-no-important\n\n .drawer-header {\n display: none !important; // stylelint-disable-line declaration-no-important\n }\n\n .drawer-body {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n }\n\n // Always expanded (no responsive behavior)\n .navbar-expand {\n @include navbar-expanded();\n\n // Also set on navbar itself for non-responsive case\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n // Responsive navbar expand classes using container queries\n @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {\n @if $next {\n .#{$prefix}navbar-expand {\n @include container-breakpoint-up($next) {\n @include navbar-expanded();\n }\n }\n }\n }\n // scss-docs-end navbar-expand-loop\n\n // Prevent drawer flash on breakpoint crossing.\n // When the navbar crosses from expanded (inline) to collapsed (drawer),\n // the drawer transitions from visibility:visible to visibility:hidden.\n // Without this override, the slide transition plays — briefly showing the\n // panel sliding away. Disabling transitions when not [open] ensures only\n // intentional show/hide actions animate.\n // stylelint-disable-next-line no-duplicate-selectors\n .navbar {\n [class*=\"drawer\"]:not([open], .hiding) {\n @include transition(none !important);\n }\n }\n\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n\n &::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n }\n\n .navbar[data-bs-theme=\"dark\"] {\n @include tokens($navbar-dark-tokens);\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/dialog-shared\" as *;\n@use \"mixins/transition\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$drawer-tokens: () !default;\n\n// scss-docs-start drawer-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$drawer-tokens: defaults(\n (\n --drawer-inset: var(--spacer),\n --drawer-zindex: var(--z-drawer),\n --drawer-width: 400px,\n --drawer-height: 30vh,\n --drawer-padding-x: var(--spacer),\n --drawer-padding-y: var(--spacer),\n --drawer-color: var(--fg-body),\n --drawer-bg: var(--bg-body),\n --drawer-border-width: var(--border-width),\n --drawer-border-color: var(--border-color-translucent),\n --drawer-border-radius: var(--radius-7),\n --drawer-box-shadow: var(--box-shadow-xl),\n --drawer-transition-property: \"transform, visibility\",\n --drawer-transition-duration: .3s,\n --drawer-transition-timing: var(--transition-timing-overlay),\n --drawer-title-line-height: 1.5,\n --drawer-backdrop-bg: color-mix(in oklch, var(--bg-body) 25%, transparent),\n --drawer-backdrop-blur: 8px,\n ),\n $drawer-tokens\n);\n// scss-docs-end drawer-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$drawer-backdrop-tokens: () !default;\n\n// scss-docs-start drawer-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$drawer-backdrop-tokens: defaults(\n (\n --drawer-backdrop-bg: var(--bg-body),\n --drawer-backdrop-opacity: 25%,\n --drawer-backdrop-blur: 8px,\n ),\n $drawer-backdrop-tokens\n);\n// scss-docs-end drawer-backdrop-tokens\n\n%drawer-css-vars {\n @include tokens($drawer-tokens);\n}\n\n@layer components {\n // Apply CSS vars to all drawer responsive variants\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}drawer {\n @extend %drawer-css-vars;\n }\n }\n\n // Responsive drawer styles\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}drawer {\n @include media-breakpoint-down($next) {\n // Reset native <dialog> UA defaults (fit-content sizing, inset, margins)\n // and override display:none so visibility controls the hidden state.\n position: fixed;\n inset: auto;\n z-index: var(--drawer-zindex);\n display: flex;\n flex-direction: column;\n width: auto;\n max-width: calc(100% - var(--drawer-inset) * 2);\n height: auto;\n max-height: calc(100% - var(--drawer-inset) * 2);\n padding: 0;\n margin: 0;\n overflow: hidden;\n color: var(--drawer-color);\n visibility: hidden;\n background-color: var(--drawer-bg);\n background-clip: padding-box;\n border: var(--drawer-border-width) solid var(--drawer-border-color);\n outline: 0;\n\n @include border-radius(var(--drawer-border-radius));\n @include box-shadow(var(--drawer-box-shadow));\n\n // Placement positioning and sizing — always applied regardless of animation mode.\n &:where(.drawer-start) {\n inset-block: var(--drawer-inset);\n inset-inline-start: var(--drawer-inset);\n width: var(--drawer-width);\n }\n\n &:where(.drawer-end) {\n inset-block: var(--drawer-inset);\n inset-inline-end: var(--drawer-inset);\n width: var(--drawer-width);\n }\n\n &:where(.drawer-top) {\n inset: var(--drawer-inset) var(--drawer-inset) auto;\n height: var(--drawer-height);\n }\n\n &:where(.drawer-bottom) {\n inset: auto var(--drawer-inset) var(--drawer-inset);\n height: var(--drawer-height);\n }\n\n &:where(.drawer-fullscreen) {\n inset: var(--drawer-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n }\n\n // Animated variant (default) — transitions + off-screen transforms.\n // Adding .drawer-instant skips all animations.\n &:not(.drawer-instant) {\n // One transition covers both directions. `visibility` animates with\n // the transform because it interpolates as a step that stays\n // `visible` while either end is visible: it flips visible at once on\n // entry, and only after the slide on exit. Keep it in\n // --drawer-transition-property when you override the list, or the\n // exit becomes invisible.\n @include transition-props(\n var(--drawer-transition-property),\n var(--drawer-transition-duration),\n var(--drawer-transition-timing)\n );\n\n // Off-screen transforms per placement\n &:where(.drawer-start) {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n\n :root:dir(rtl) & {\n transform: translateX(calc(100% + var(--drawer-inset)));\n }\n }\n\n &:where(.drawer-end) {\n transform: translateX(calc(100% + var(--drawer-inset)));\n\n :root:dir(rtl) & {\n transform: translateX(calc(-100% - var(--drawer-inset)));\n }\n }\n\n &:where(.drawer-top) {\n transform: translateY(calc(-100% - var(--drawer-inset)));\n }\n\n &:where(.drawer-bottom) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n\n &:where(.drawer-fullscreen) {\n transform: translateY(calc(100% + var(--drawer-inset)));\n }\n\n // Open state: slide in with transition\n &[open] {\n visibility: visible;\n transform: none;\n }\n }\n\n // Open state base (always applies, regardless of animation mode)\n &[open] {\n visibility: visible;\n transform: none;\n }\n }\n\n // Above breakpoint - show content inline (for responsive drawer).\n // Must fully reset all drawer styles so the element behaves as an\n // inline flex container within its parent (e.g., a navbar).\n @if not ($prefix == \"\") {\n @include media-breakpoint-up($next) {\n // stylelint-disable declaration-no-important\n --drawer-height: auto;\n --drawer-border-width: 0;\n // Reset native <dialog> UA styles\n position: static !important;\n inset: auto;\n z-index: auto;\n display: flex !important;\n flex-grow: 1;\n width: auto !important;\n max-width: none;\n height: auto !important;\n max-height: none;\n padding: 0;\n margin: 0;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include transition(none !important);\n // stylelint-enable declaration-no-important\n\n .drawer-header {\n display: none;\n }\n\n .drawer-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n width: 100%;\n padding: 0;\n overflow-y: visible;\n // stylelint-disable-next-line declaration-no-important\n background-color: transparent !important;\n }\n @include border-radius(0);\n @include box-shadow(none);\n }\n }\n }\n }\n\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}drawer::backdrop {\n background-color: var(--drawer-backdrop-bg);\n backdrop-filter: blur(var(--drawer-backdrop-blur));\n @include backdrop-transitions(var(--drawer-transition-duration), var(--drawer-transition-timing));\n }\n }\n\n // Backdrop entry animation — ::backdrop can safely use @starting-style\n // since it only exists when the dialog is in the top layer (no responsive issue).\n @starting-style {\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}drawer::backdrop {\n background-color: transparent;\n backdrop-filter: blur(0);\n }\n }\n }\n\n // Static backdrop transition (\"bounce\")\n .drawer-static {\n transform: scale(1.02);\n }\n\n .drawer-translucent {\n background-color: color-mix(in oklch, var(--drawer-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n // Sheet variant: flush-to-edge panel with no inset, border-radius, or shadow.\n // Overrides tokens so placement transforms (which use calc() with --drawer-inset)\n // automatically position the drawer at the viewport edge.\n .drawer-sheet {\n right: 0;\n bottom: 0;\n left: 0;\n width: 100vw;\n margin-inline: auto;\n margin-bottom: calc(-1 * var(--drawer-border-width));\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n\n @include media-breakpoint-up(lg) {\n max-width: var(--drawer-sheet-width, 760px);\n }\n }\n\n // Header with close button\n .drawer-header {\n @include dialog-header(var(--drawer-padding-y) var(--drawer-padding-x));\n\n .btn-close {\n margin-block: calc(-.5 * var(--drawer-padding-y));\n margin-inline-start: auto;\n }\n }\n\n // Title\n .drawer-title {\n @include dialog-title(var(--drawer-title-line-height));\n }\n\n // Scrollable body\n .drawer-body {\n // Contain absolutely positioned children (e.g. menus) so they scroll with\n // the body instead of being clipped by the drawer's overflow.\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--drawer-padding-y);\n @include dialog-body(var(--drawer-padding-y) var(--drawer-padding-x));\n min-height: 0; // allow the body to shrink for inner scrolling\n overflow-y: auto;\n }\n\n // Optional footer\n .drawer-footer {\n @include dialog-footer(var(--drawer-padding-y) var(--drawer-padding-x), .5rem, var(--drawer-border-width), var(--drawer-border-color));\n }\n\n .drawer-fit-content {\n inset-block-end: auto;\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n (\n --pagination-min-height: var(--btn-input-min-height),\n --pagination-padding-x: var(--btn-input-padding-x),\n --pagination-padding-y: var(--btn-input-padding-y),\n --pagination-font-size: var(--btn-input-font-size),\n --pagination-color: var(--link-color),\n --pagination-bg: var(--bg-body),\n --pagination-border-width: var(--border-width),\n --pagination-border-color: var(--border-color),\n --pagination-border-radius: var(--btn-input-border-radius),\n --pagination-hover-color: var(--link-hover-color),\n --pagination-hover-bg: var(--bg-1),\n --pagination-hover-border-color: var(--border-color),\n --pagination-active-color: var(--theme-contrast, var(--primary-contrast)),\n --pagination-active-bg: var(--theme-bg, var(--primary-bg)),\n --pagination-active-border-color: var(--theme-bg, var(--primary-bg)),\n --pagination-disabled-color: var(--fg-3),\n --pagination-disabled-bg: var(--bg-2),\n --pagination-disabled-border-color: var(--border-color),\n ),\n $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n (\"sm\", \"lg\"),\n $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .pagination {\n @include tokens($pagination-tokens);\n\n display: flex;\n @include list-unstyled();\n }\n\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--theme-fg, var(--pagination-color));\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--theme-fg-emphasis, var(--pagination-hover-color));\n background-color: var(--theme-bg-subtle, var(--pagination-hover-bg));\n border-color: var(--theme-border, var(--pagination-hover-border-color));\n }\n\n &:focus-visible {\n z-index: 3;\n @include focus-ring(true, var(--theme-focus-ring, var(--focus-ring-color)));\n }\n\n &.active,\n .active > & {\n z-index: 3;\n color: var(--theme-contrast, var(--pagination-active-color));\n background-color: var(--theme-bg, var(--pagination-active-bg));\n border-color: var(--theme-bg, var(--pagination-active-border-color));\n }\n\n &.disabled,\n .disabled > & {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n }\n\n .page-item {\n &:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n\n &:first-child {\n .page-link {\n @include border-start-radius(var(--pagination-border-radius));\n }\n }\n\n &:last-child {\n .page-link {\n @include border-end-radius(var(--pagination-border-radius));\n }\n }\n }\n\n //\n // Sizing\n //\n\n // scss-docs-start pagination-sizes-loop\n @each $size, $_ in $pagination-sizes {\n .pagination-#{$size} {\n --pagination-min-height: var(--btn-input-#{$size}-min-height);\n --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n --pagination-font-size: var(--btn-input-#{$size}-font-size);\n --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end pagination-sizes-loop\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n (\n --placeholder-opacity-max: .5,\n --placeholder-opacity-min: .2,\n ),\n $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n .placeholder {\n @include tokens($placeholder-tokens);\n\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n\n &.btn::before {\n display: inline-block;\n content: \"\";\n }\n }\n\n // Sizing\n .placeholder-xs {\n min-height: .6em;\n }\n\n .placeholder-sm {\n min-height: .8em;\n }\n\n .placeholder-lg {\n min-height: 1.2em;\n }\n\n // Animation\n .placeholder-glow {\n .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n }\n\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n\n .placeholder-wave {\n mask-image: linear-gradient(130deg, var(--black) 55%, rgb(0 0 0 / calc(1 - var(--placeholder-opacity-min))) 75%, var(--black) 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n (\n --popover-zindex: var(--z-popover),\n --popover-max-width: 280px,\n --popover-font-size: var(--font-size-sm),\n --popover-bg: var(--bg-body),\n --popover-border-width: var(--border-width),\n --popover-border-color: var(--border-color-translucent),\n --popover-border-radius: var(--radius-7),\n --popover-inner-border-radius: calc(var(--radius-7) - var(--border-width)),\n --popover-box-shadow: var(--box-shadow),\n --popover-header-padding-x: var(--spacer),\n --popover-header-padding-y: var(--spacer-3),\n --popover-header-font-size: var(--font-size-sm),\n --popover-header-color: inherit,\n --popover-header-bg: var(--bg-1),\n --popover-body-padding-x: var(--spacer),\n --popover-body-padding-y: var(--spacer-3),\n --popover-body-color: var(--fg-body),\n --popover-arrow-width: 1rem,\n --popover-arrow-height: .5rem,\n --popover-arrow-border: var(--popover-border-color),\n --popover-transition-property: \"opacity\",\n --popover-transition-duration: .15s,\n --popover-transition-timing: linear,\n ),\n $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n .popover {\n // scss-docs-start popover-css-vars\n @include tokens($popover-tokens);\n // scss-docs-end popover-css-vars\n\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n @include border-radius(var(--popover-border-radius));\n @include box-shadow(var(--popover-box-shadow));\n opacity: 0;\n\n // The JS inserts the popover, so the fade needs a starting state below. Add\n // .popover-instant, or pass `animation: false`, to skip it.\n &:not(.popover-instant) {\n @include transition-props(\n var(--popover-transition-property),\n var(--popover-transition-duration),\n var(--popover-transition-timing)\n );\n }\n\n &.show {\n opacity: 1;\n }\n\n .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n }\n }\n\n @starting-style {\n .popover:not(.popover-instant).show {\n opacity: 0;\n }\n }\n\n .bs-popover-top {\n > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-end {\n > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-bottom {\n > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n\n // When the popover has a header, the bottom arrow points into the header,\n // so its fill should match the header background, not the body background.\n &:has(+ .popover-header)::after {\n border-block-end-color: var(--popover-header-bg);\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n }\n\n .bs-popover-start {\n > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-popover-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-popover-start;\n }\n }\n\n // Offset the popover to account for the popover arrow\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0; // Reset the default from Reboot\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n @include border-top-radius(var(--popover-inner-border-radius));\n\n &:empty {\n display: none;\n }\n }\n\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n","@mixin reset-text {\n font-family: var(--body-font-family);\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n (\n --progress-height: 1rem,\n --progress-font-size: var(--font-size-sm),\n --progress-bg: var(--bg-2),\n --progress-border-radius: var(--radius-5),\n --progress-box-shadow: var(--box-shadow-inset),\n --progress-bar-color: var(--white),\n --progress-bar-bg: var(--primary-bg),\n --progress-bar-transition: width .6s ease,\n --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n ),\n $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n // scss-docs-start progress-keyframes\n @if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: var(--progress-height); }\n }\n }\n // scss-docs-end progress-keyframes\n\n .progress,\n .progress-stacked {\n @include tokens($progress-tokens);\n\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n @include border-radius(var(--progress-border-radius));\n @include box-shadow(var(--progress-box-shadow));\n }\n\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n @include transition(var(--progress-bar-transition));\n }\n\n .progress-bar-striped {\n @include gradient-striped();\n background-size: var(--progress-height) var(--progress-height);\n }\n\n .progress-stacked > .progress {\n overflow: visible;\n }\n\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n\n @if $enable-transitions {\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n (\n --spinner-width: 1em,\n --spinner-height: 1em,\n --spinner-border-width: .125em,\n --spinner-animation-speed: 1s,\n --spinner-animation-timing-function: linear,\n --spinner-animation-name: spinner-border,\n ),\n $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n (\n --spinner-width: 1em,\n --spinner-height: 1em,\n --spinner-animation-speed: 1s,\n --spinner-animation-timing-function: ease-in-out,\n --spinner-animation-name: spinner-grow,\n ),\n $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n // Assumes a flex parent\n .spinner-grow,\n .spinner-border {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: var(--spinner-animation-speed) var(--spinner-animation-timing-function) infinite var(--spinner-animation-name);\n }\n\n // scss-docs-start spinner-border-keyframes\n @keyframes spinner-border {\n to { transform: rotate(360deg); }\n }\n // scss-docs-end spinner-border-keyframes\n\n .spinner-border {\n @include tokens($spinner-border-tokens);\n\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n\n .spinner-sm {\n // scss-docs-start spinner-border-sm-css-vars\n --spinner-width: .75em;\n --spinner-height: .75em;\n // scss-docs-end spinner-border-sm-css-vars\n }\n\n //\n // Growing circle\n //\n\n // scss-docs-start spinner-grow-keyframes\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n // scss-docs-end spinner-grow-keyframes\n\n .spinner-grow {\n @include tokens($spinner-grow-tokens);\n\n background-color: currentcolor;\n opacity: 0;\n }\n\n // Generic class for rotating custom spinners\n .spinner-rotate {\n animation: 1s linear infinite spinner-border;\n }\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n (\n --stepper-size: 2rem,\n --stepper-gap: 1rem,\n --stepper-font-size: var(--font-size-sm),\n --stepper-text-gap: .5rem,\n --stepper-track-size: .125rem,\n --stepper-bg: var(--bg-2),\n --stepper-active-color: var(--primary-contrast),\n --stepper-active-bg: var(--primary-bg),\n ),\n $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n\n .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n\n &::after {\n inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n\n &:last-child::after {\n right: 100%;\n }\n }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n .stepper {\n @include tokens($stepper-tokens);\n\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style-type: \"\";\n counter-reset: stepper;\n }\n\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n\n // The counter\n &::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: .5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n @include border-radius(50%);\n }\n\n // Connecting lines\n &::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n\n // Avoid sibling selector for easier CSS overrides\n &:last-child::after {\n display: none;\n }\n\n &.active {\n &::before,\n &::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n }\n }\n\n // Targets the last .active element from a sequence of active elements\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n\n .stepper-horizontal {\n @include stepper-horizontal();\n }\n\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n @if $next {\n .#{$prefix}stepper-horizontal {\n @include container-breakpoint-up($next) {\n @include stepper-horizontal();\n }\n }\n }\n }\n\n // scss-docs-start stepper-overflow\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n\n > .stepper {\n width: max-content;\n min-width: 100%;\n }\n }\n // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n (\n --toast-zindex: var(--z-toast),\n --toast-padding-x: 1rem,\n --toast-padding-y: .75rem,\n --toast-spacing: #{$container-padding-x},\n --toast-max-width: 350px,\n --toast-font-size: var(--font-size-sm),\n --toast-color: null,\n --toast-bg: var(--bg-body),\n --toast-border-width: var(--border-width),\n --toast-border-color: var(--border-color-translucent),\n --toast-border-radius: null,\n --toast-box-shadow: var(--box-shadow),\n --toast-header-color: var(--fg-3),\n --toast-header-bg: var(--bg-1),\n --toast-header-border-color: var(--border-color-translucent),\n --toast-transition-property: \"opacity, display\",\n --toast-transition-duration: .15s,\n --toast-transition-timing: linear,\n ),\n $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n .toast {\n @include tokens($toast-tokens);\n\n display: none;\n flex-direction: column;\n width: var(--toast-max-width);\n max-width: 100%;\n overflow: hidden;\n font-size: var(--toast-font-size);\n color: var(--toast-color, var(--fg-body));\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n box-shadow: var(--toast-box-shadow);\n @include border-radius(var(--toast-border-radius, var(--radius-7)));\n\n // scss-docs-start toast-transition\n // Animated variant (default). `display` transitions discretely so the toast\n // stays laid out until the fade-out finishes. Add .toast-instant to skip it.\n &:not(.toast-instant) {\n opacity: 0;\n @include transition-props(\n var(--toast-transition-property),\n var(--toast-transition-duration),\n var(--toast-transition-timing),\n allow-discrete\n );\n }\n\n &.show {\n display: flex;\n opacity: 1;\n }\n // scss-docs-end toast-transition\n }\n\n // The toast is not rendered before .show lands, so the fade-in needs an\n // explicit starting state — the base opacity above cannot serve as one.\n @starting-style {\n .toast:not(.toast-instant).show {\n opacity: 0;\n }\n }\n\n .toast-container {\n --toast-zindex: var(--z-toast);\n\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n\n > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n }\n\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--theme-fg-emphasis, var(--toast-header-color));\n background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n // background-clip: padding-box;\n border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n\n .btn-close {\n margin-inline-start: calc(.5 * var(--toast-padding-x));\n margin-inline-end: calc(-.25 * var(--toast-padding-x));\n color: inherit;\n }\n }\n\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n (\n --tooltip-zindex: var(--z-tooltip),\n --tooltip-max-width: 200px,\n --tooltip-padding-x: var(--spacer-3),\n --tooltip-padding-y: calc(var(--spacer) * .375),\n --tooltip-font-size: var(--font-size-sm),\n --tooltip-color: var(--bg-body),\n --tooltip-bg: var(--fg-body),\n --tooltip-border-radius: var(--radius-5),\n --tooltip-opacity: .95,\n --tooltip-arrow-width: .8rem,\n --tooltip-arrow-height: .4rem,\n --tooltip-transition-property: \"opacity\",\n --tooltip-transition-duration: .15s,\n --tooltip-transition-timing: linear,\n ),\n $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n@layer components {\n .tooltip {\n @include tokens($tooltip-tokens);\n\n z-index: var(--tooltip-zindex);\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n // The JS inserts the tip, so the fade needs a starting state below. Add\n // .tooltip-instant, or pass `animation: false`, to skip it.\n &:not(.tooltip-instant) {\n @include transition-props(\n var(--tooltip-transition-property),\n var(--tooltip-transition-duration),\n var(--tooltip-transition-timing)\n );\n }\n\n &.show { opacity: var(--tooltip-opacity); }\n\n .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n }\n\n @starting-style {\n .tooltip:not(.tooltip-instant).show {\n opacity: 0;\n }\n }\n\n .bs-tooltip-top .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-end .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-bottom .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-start .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-tooltip-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-tooltip-start;\n }\n }\n\n // Wrapper for the tooltip content\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n @include border-radius(var(--tooltip-border-radius));\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$fade-tokens: () !default;\n$collapse-tokens: () !default;\n\n// stylelint-disable scss/dollar-variable-default\n// scss-docs-start fade-transition\n$fade-tokens: defaults(\n (\n --transition-fade-duration: .15s,\n --transition-fade-timing: linear,\n ),\n $fade-tokens\n);\n// scss-docs-end fade-transition\n\n// scss-docs-start collapse-transition\n// stylelint-disable custom-property-no-missing-var-function\n$collapse-tokens: defaults(\n (\n --transition-collapse-property: \"block-size, display\",\n --transition-collapse-duration: .35s,\n --transition-collapse-timing: ease,\n ),\n $collapse-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end collapse-transition\n\n// A generic fade for your own markup. No Bootstrap component needs it: each one\n// declares its own transition and its own tokens. See the Transitions page.\n.fade {\n @include tokens($fade-tokens);\n @include transition(opacity var(--transition-fade-duration) var(--transition-fade-timing));\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n// scss-docs-start collapse-classes\n// The browser animates the size itself. `interpolate-size` lets the `0` of the\n// closed state interpolate to the `auto` of the open one, and `display`\n// transitions discretely, so the element stays laid out until the size reaches\n// `0`. The animated axis is clipped, so the content cannot spill while it moves.\n.collapse {\n @include tokens($collapse-tokens);\n\n overflow-y: clip;\n @include transition-props(\n var(--transition-collapse-property),\n var(--transition-collapse-duration),\n var(--transition-collapse-timing),\n allow-discrete\n );\n\n // Browsers without `interpolate-size` open and close the element at once.\n @media (prefers-reduced-motion: no-preference) {\n interpolate-size: allow-keywords;\n }\n\n &:not(.show) {\n display: none;\n block-size: 0;\n }\n\n // A closed collapse is not rendered, so the open side needs a start value of\n // its own. Without it the element appears at full size at once.\n &.show {\n @starting-style {\n block-size: 0;\n }\n }\n\n // Horizontal collapses animate the inline size instead. The open size is\n // `fit-content`, so the element is as wide as its content, not as wide as its\n // container.\n &.collapse-horizontal {\n --transition-collapse-property: inline-size, display;\n\n inline-size: fit-content;\n overflow-x: clip;\n overflow-y: visible;\n\n &:not(.show) {\n inline-size: 0;\n block-size: auto;\n }\n\n &.show {\n @starting-style {\n inline-size: 0;\n }\n }\n }\n}\n// scss-docs-end collapse-classes\n","@layer helpers {\n .focus-ring:focus-visible {\n // outline: var(--focus-ring);\n outline: var(--focus-ring-width) solid var(--theme-focus-ring, var(--focus-ring-color));\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$hover-lift-tokens: () !default;\n\n// scss-docs-start hover-lift-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$hover-lift-tokens: defaults(\n (\n --hover-lift-transition-duration: .2s,\n --hover-lift-transition-timing: ease,\n --hover-lift-transform: translateY(-.25rem),\n --hover-lift-box-shadow: var(--box-shadow-lg),\n ),\n $hover-lift-tokens\n);\n// scss-docs-end hover-lift-tokens\n\n@layer helpers {\n .hover-lift {\n @include tokens($hover-lift-tokens);\n @include transition(\n transform var(--hover-lift-transition-duration) var(--hover-lift-transition-timing),\n box-shadow var(--hover-lift-transition-duration) var(--hover-lift-transition-timing)\n );\n\n &:hover,\n &:focus-visible {\n transform: var(--hover-lift-transform);\n @include box-shadow(var(--hover-lift-box-shadow));\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$icon-link-tokens: () !default;\n\n// scss-docs-start icon-link-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$icon-link-tokens: defaults(\n (\n --icon-link-gap: .375rem,\n --icon-link-underline-offset: .25em,\n --icon-link-icon-size: 1em,\n --icon-link-icon-transition: .2s ease-in-out transform,\n --icon-link-icon-transform: translate3d(.25em, 0, 0),\n ),\n $icon-link-tokens\n);\n// scss-docs-end icon-link-tokens\n\n@layer helpers {\n .icon-link {\n @include tokens($icon-link-tokens);\n\n display: inline-flex;\n gap: var(--icon-link-gap);\n align-items: center;\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n text-underline-offset: var(--icon-link-underline-offset);\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: var(--icon-link-icon-size);\n height: var(--icon-link-icon-size);\n fill: currentcolor;\n @include transition(var(--icon-link-icon-transition));\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, var(--icon-link-icon-transform));\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: var(--z-fixed);\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: var(--z-fixed);\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}sticky-top {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n\n .#{$prefix}sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: var(--z-sticky);\n }\n }\n }\n}\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n .#{$prefix}vstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .#{$prefix}hstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n\n // Remint fg tokens so reboot links match each surface’s intended text pairing.\n // Keep this out of utilities `variables` — that registers `@property { inherits: false }`.\n // Do not put --theme-contrast first in reboot’s link stack: .theme-* always defines it.\n .theme-contrast {\n --theme-fg: var(--theme-contrast);\n --theme-fg-emphasis: var(--theme-contrast);\n }\n\n .theme-muted {\n --theme-fg: var(--theme-fg-emphasis);\n }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Themes map sub-keys\n//\n// Return var() references to root tokens instead of raw values.\n// Ex: theme-color-refs(\"bg\") => (primary: var(--primary-bg), accent: var(--accent-bg), ...)\n@function theme-color-refs($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: var(--#{$color-name}-#{$key})));\n }\n }\n\n @return $result;\n}\n\n// Theme token to root tokens\n//\n// Returns the global :root token reference for a given a given token map, prefix, and key.\n// Ex: theme-token-refs($theme-bgs, \"bg\") => (body: var(--bg-body), 1: var(--bg-1), ...)\n// Skips `inherit` since it's a CSS-wide keyword that can't be stored in a custom property.\n@function theme-token-refs($map, $prefix) {\n $result: ();\n\n @each $key, $value in $map {\n @if $value != inherit {\n $result: map.merge($result, ($key: var(--#{$prefix}-#{$key})));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n// $fallback lets the referenced $color-var fall back to another color (e.g. currentcolor)\n// when it hasn't been set by a companion color utility.\n@function theme-opacity-values($color-var, $fallback: null, $opacities: $util-opacity) {\n $result: ();\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n $color: if(sass($fallback): var($color-var, $fallback); else: var($color-var));\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: $color));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, $color $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Set each --theme-* token to `initial` so descendants drop inherited theme colors.\n// Use `initial`, not `unset`. `unset` inherits from the parent again.\n// scss-docs-start generate-theme-reset\n@mixin generate-theme-reset() {\n .theme-reset {\n $keys: ();\n\n @each $color-map in map.values($theme-colors) {\n @each $key in map.keys($color-map) {\n $keys: map.merge($keys, ($key: true));\n }\n }\n\n @each $key in map.keys($keys) {\n --theme-#{$key}: initial;\n }\n }\n}\n// scss-docs-end generate-theme-reset\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n\n @include generate-theme-reset();\n}\n\n// Theme maps use the `defaults()` pattern so `@use ... with (...)` merges custom\n// values on top of the built-ins instead of replacing the whole map. Set a key\n// to `null` to remove it. See scss/_config.scss for `defaults()`.\n\n// scss-docs-start theme-colors\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: defaults(\n (\n \"primary\": (\n \"base\": var(--blue-500),\n \"fg\": light-dark(var(--blue-600), var(--blue-400)),\n \"fg-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"fg\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"fg-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"fg\": light-dark(var(--green-600), var(--green-400)),\n \"fg-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"fg\": light-dark(var(--red-600), var(--red-400)),\n \"fg-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"fg\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"fg-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"fg\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"fg-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"fg\": light-dark(var(--gray-900), var(--gray-200)),\n \"fg-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"fg\": light-dark(var(--gray-600), var(--gray-400)),\n \"fg-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n ),\n $theme-colors\n);\n// scss-docs-end theme-colors\n\n$theme-bgs: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-bgs: defaults(\n (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"fg\": var(--fg-body),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n ),\n $theme-bgs\n);\n\n$theme-fgs: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-fgs: defaults(\n (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"bg\": var(--bg-body),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n ),\n $theme-fgs\n);\n\n$theme-borders: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-borders: defaults(\n (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), color-mix(in oklch, var(--gray-800), var(--gray-900))),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n ),\n $theme-borders\n);\n\n$util-opacity: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$util-opacity: defaults(\n (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n ),\n $util-opacity\n);\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus, :focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus, :focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n// scss-docs-start stretched-link-pseudo-element\n$stretched-link-pseudo-element: after !default;\n// scss-docs-end stretched-link-pseudo-element\n\n$stretched-link-tokens: () !default;\n\n// scss-docs-start stretched-link-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stretched-link-tokens: defaults(\n (\n --stretched-link-z-index: 1,\n ),\n $stretched-link-tokens\n);\n// scss-docs-end stretched-link-tokens\n\n@layer helpers {\n .stretched-link {\n @include tokens($stretched-link-tokens);\n\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: var(--stretched-link-z-index);\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../layout/breakpoints\" as bp;\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can target children via `child-selector`, wrapped in :where() for zero specificity\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to emit CSS custom properties from a utility's `variables` key.\n// When variables is a map, the provided static values are used on each class.\n// When variables is a list or single identifier, each variable receives the current utility value.\n@mixin generate-variables($utility, $value) {\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"map\" {\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n } @else {\n // Treat as a list (or single identifier) — each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n }\n }\n}\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $property-map, $properties, $value) {\n @if $property-map != null {\n // Property-Value Mapping approach\n @each $property, $default-value in $property-map {\n // If value is a map, check if it has a key for this property.\n // Otherwise, use default-value (or $value if default-value is null).\n $actual-value: $default-value;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actual-value: map.get($value, $property);\n } @else if $default-value == null {\n $actual-value: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actual-value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actual-value;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, dark, important, state, variables, child-selector, enabled;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Validate boolean keys\n @each $bool-key in (responsive, print, dark, important, enabled) {\n @if map.has-key($utility, $bool-key) {\n $val: map.get($utility, $bool-key);\n @if $val != true and $val != false {\n @error \"Utility key `#{$bool-key}` should be a boolean (true or false), got: #{$val}\";\n }\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selector-type: \"class\";\n @if map.has-key($utility, selector) {\n $selector-type: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selector-type) {\n @error \"Invalid `selector` value `#{$selector-type}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in an attribute selector (e.g., [class^=\"class\"])\n $selector-class: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selector-type != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selector-type}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $property-map: null;\n $custom-class: \"\";\n\n // Check if property is a map (Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $property-map: $properties;\n @if map.has-key($utility, class) {\n $custom-class: map.get($utility, class);\n }\n } @else {\n // Legacy approach: multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $custom-class: map.get($utility, class);\n } @else {\n $custom-class: list.nth($properties, 1);\n }\n @if $custom-class == null {\n $custom-class: \"\";\n }\n }\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // Don't add a dash before value key if value key is null (e.g. with shadow class)\n $custom-class-modifier: \"\";\n @if $key {\n @if $custom-class == \"\" {\n $custom-class-modifier: $key;\n } @else {\n $custom-class-modifier: \"-\" + $key;\n }\n }\n\n // Build the class name fragment (without prefix or dot) for reuse in state variants\n $class-name: \"\";\n @if $selector-type == \"class\" {\n @if $custom-class != \"\" {\n $class-name: $custom-class + $custom-class-modifier;\n } @else if $selector-class != null and $selector-class != \"\" {\n $class-name: $selector-class + $custom-class-modifier;\n } @else {\n $class-name: $custom-class-modifier;\n }\n }\n\n $selector: \"\";\n @if $selector-type == \"class\" {\n $selector: \".#{$prefix + $class-name}\";\n } @else if $selector-type == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selector-class}\\\"]\";\n } @else if $selector-type == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selector-class}\\\"]\";\n }\n\n // Apply child-selector wrapping if present (wraps in :where() for zero specificity)\n $child-sel: null;\n @if map.has-key($utility, child-selector) {\n $child-sel: map.get($utility, child-selector);\n }\n\n $final-selector: $selector;\n @if $child-sel {\n $final-selector: \":where(#{$selector} #{$child-sel})\";\n }\n\n #{$final-selector} {\n @include generate-variables($utility, $value);\n @include generate-properties($utility, $property-map, $properties, $value);\n }\n\n // Generate state variants (e.g., hover:link-10 instead of link-10-hover)\n @if $state != () {\n @each $state-variant in $state {\n $state-selector: \".#{$prefix}#{$state-variant}\\\\:#{$class-name}:#{$state-variant}\";\n @if $child-sel {\n $state-selector: \":where(#{$state-selector} #{$child-sel})\";\n }\n\n #{$state-selector} {\n @include generate-variables($utility, $value);\n @include generate-properties($utility, $property-map, $properties, $value);\n }\n }\n }\n }\n}\n\n// Helper: append a custom property name to a list only if not already present.\n@function append-unique-var($list, $name) {\n @if list.index($list, $name) == null {\n @return list.append($list, $name);\n }\n @return $list;\n}\n\n// Helper: collect custom property names (those starting with `--`) from a\n// utility's `property` value, which may be a map, list, or string.\n@function collect-property-vars($list, $properties) {\n @if meta.type-of($properties) == \"map\" {\n @each $prop, $value in $properties {\n @if meta.type-of($prop) == \"string\" and string.slice($prop, 1, 2) == \"--\" {\n $list: append-unique-var($list, $prop);\n }\n }\n } @else if meta.type-of($properties) == \"list\" {\n @each $prop in $properties {\n @if meta.type-of($prop) == \"string\" and string.slice($prop, 1, 2) == \"--\" {\n $list: append-unique-var($list, $prop);\n }\n }\n } @else if meta.type-of($properties) == \"string\" and string.slice($properties, 1, 2) == \"--\" {\n $list: append-unique-var($list, $properties);\n }\n @return $list;\n}\n\n// Registers every custom property that utilities assign to as non-inheriting\n// via `@property`. Utilities compose values through local custom properties\n// (e.g. `--bc`, `--bg`, `--fg`, `--rounded-size`); because custom properties\n// inherit by default, setting one on an element would otherwise leak into every\n// descendant (e.g. `.border-inverse` tinting nested component borders). Marking\n// them `inherits: false` scopes each utility to the element it's applied to.\n// `syntax: \"*\"` is used so no `initial-value` is required (values are complex\n// expressions like `light-dark()` / `color-mix()` that can't be registered).\n@mixin generate-utility-at-properties($utilities) {\n $names: ();\n\n @each $key, $utility in $utilities {\n @if meta.type-of($utility) == \"map\" and map.get($utility, enabled) != false {\n // Custom properties assigned via the `property` key\n $names: collect-property-vars($names, map.get($utility, property));\n\n // Custom properties assigned via the `variables` key (names lack the `--` prefix)\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"map\" {\n @each $var-key, $var-value in $variables {\n $names: append-unique-var($names, \"--\" + $var-key);\n }\n } @else if meta.type-of($variables) == \"list\" {\n @each $var-name in $variables {\n $names: append-unique-var($names, \"--\" + $var-name);\n }\n } @else {\n $names: append-unique-var($names, \"--\" + $variables);\n }\n }\n }\n }\n\n @each $name in $names {\n @property #{$name} {\n syntax: \"*\";\n inherits: false;\n }\n }\n}\n\n// Generates all utility classes: base, responsive, print, and dark.\n// Extracted so that tests can call this mixin directly with a custom $utilities map\n// rather than having to mirror the loop conditions inline.\n@mixin generate-utilities-loop($utilities, $breakpoints) {\n // Base + responsive (one pass per breakpoint)\n @each $breakpoint in map.keys($breakpoints) {\n @include bp.media-breakpoint-up($breakpoint, $breakpoints) {\n $prefix: bp.breakpoint-prefix($breakpoint, $breakpoints);\n\n @each $key, $utility in $utilities {\n @if meta.type-of($utility) == \"map\" and map.get($utility, enabled) != false and (map.get($utility, responsive) or $prefix == \"\") {\n @include generate-utility($utility, $prefix);\n }\n }\n }\n }\n\n // Print utilities\n @media print {\n @each $key, $utility in $utilities {\n @if meta.type-of($utility) == \"map\" and map.get($utility, enabled) != false and map.get($utility, print) == true {\n @include generate-utility($utility, \"print\\\\:\");\n }\n }\n }\n\n // Dark utilities\n @media (prefers-color-scheme: dark) {\n @each $key, $utility in $utilities {\n @if meta.type-of($utility) == \"map\" and map.get($utility, enabled) != false and map.get($utility, dark) == true {\n @include generate-utility($utility, \"dark\\\\:\");\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n// Register utility-composition custom properties as non-inheriting so utilities\n// (e.g. `.border-inverse`) don't leak their composed value into descendants.\n// Emitted outside the cascade layer since `@property` registration is global.\n@include generate-utility-at-properties($utilities);\n\n@layer utilities {\n @include generate-utilities-loop($utilities, $breakpoints);\n\n // The keyframe animation utilities (.animation-shake, .animation-pop) are\n // decorative, so disable them when the user prefers reduced motion.\n @if map.has-key($utilities, \"animation\") and $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .animation-shake,\n .animation-pop {\n animation: none;\n }\n }\n }\n}\n\n// Keyframes powering the animation utilities. Declared outside the cascade\n// layer since @keyframes registration is global and unaffected by layers — which\n// is also why they carry the utility prefix, so they cannot collide with a\n// `shake` or `pop` animation of your own.\n// Bundles such as `bootstrap-grid` narrow `$utilities` before importing this\n// file, so skip the keyframes when the animation utility is filtered out.\n@if map.has-key($utilities, \"animation\") {\n @keyframes animation-shake {\n 10%,\n 90% { transform: translate3d(-1px, 0, 0); }\n\n 20%,\n 80% { transform: translate3d(2px, 0, 0); }\n\n 30%,\n 50%,\n 70% { transform: translate3d(-4px, 0, 0); }\n\n 40%,\n 60% { transform: translate3d(4px, 0, 0); }\n }\n\n // Scales from 0 to 1; the back-easing curve on the utility supplies the\n // slight overshoot, so the keyframes stay a simple two-stop scale.\n @keyframes animation-pop {\n from { transform: scale(0); }\n\n to { transform: scale(1); }\n }\n}\n"],"names":[]} |