| {"version":3,"sourceRoot":null,"mappings":";;;;;AEmGA,oycE1FA,8EAAA,eCRE,uDCGA,qMAQE,yGEWE,uCFXF,gCAYE,+HGnBJ,sDAMA,yDAWI,+CAMA,qDCmGF,sBDzGE,mDAMA,0DCmGF,sBDzGE,mDAMA,0DCmGF,uBDzGE,mDAMA,0DCmGF,uBDzGE,mDAMA,0DCmGF,uBDzGE,uDAMA,8DExBJ,4CAIA,0NAUE,mEAMA,mED4ME,0BClNF,uEAMA,wED4ME,0BClNF,uEAMA,wED4ME,2BClNF,uEAMA,wED4ME,2BClNF,uEAMA,wED4ME,2BClNF,2EAMA,4EEYA,saAAA,4ZAAA,saAAA,4ZAAA,saAAA,wYAAA,saAAA,0bCjCF,wQCeA,iIAKA,yGCnBE,qECDF,yEEFA,2JfQF,iBiB2LI,wCAAA,8BAAA,oCAAA,oCAAA,8CAAA,wCAAA,6CAAA,4BAAA,4BAAA,4BAAA,8BAAA,8BAAA,gCAAA,4BAAA,uBAAA,6DAAA,uDAAA,oDAAA,iEAAA,oDAAA,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,wCAAA,8CAAA,8CAAA,6BAAA,oLAAA,uLAAA,sLAAA,iLAAA,wLAAA,iLAAA,wIAAA,0IAAA,iCAAA,qCAAA,qCAAA,+BAAA,iCAAA,aAAA,gBAAA,kBAAA,mBAAA,sBAAA,wBAAA,gBAAA,mBAAA,qBAAA,eAAA,kBAAA,oBAAA,iDAAA,8CAAA,+CAAA,oFAAA,mBAAA,oGAAA,mCAAA,mGAAA,kCAAA,qGAAA,oCAAA,uGAAA,sCAAA,gGAAA,+BAAA,kGAAA,iCAAA,yFAAA,0FAAA,0FAAA,uFAAA,2FAAA,sFAAA,wHAAA,0HAAA,mFAAA,qHAAA,sHAAA,uHAAA,2HAAA,oFAAA,oFAAA,+HAAA,kIAAA,iIAAA,4HAAA,mIAAA,4HAAA,+HAAA,iIAAA,2BAAA,2BAAA,2BAAA,2BAAA,2BAAA,qFAAA,qFAAA,qFAAA,qFAAA,qFAAA,qFAAA,qFAAA,qFAAA,qFAAA,gDAAA,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,iBAAA,iBAAA,iBAAA,mBAAA,oBAAA,0BAAA,0BAAA,0BAAA,2BAAA,sBAAA,2BAAA,qBAAA,6BAAA,qBAAA,6BAAA,mCAAA,6CAAA,mDAAA,yBAAA,yBAAA,6BAAA,6BAAA,0BAAA,8BAAA,0CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,qDAAA,yCAAA,qCAAA,2CAAA,6CAAA,4CAAA,wCAAA,yCAAA,0CAAA,sCAAA,uCAAA,2CAAA,yCAAA,8CAAA,0CAAA,2CAAA,mDAAA,iDAAA,6CAAA,iCAAA,wCAAA,oCAAA,qCAAA,yCAAA,uCAAA,qCAAA,iCAAA,uCAAA,iDAAA,iDAAA,iDAAA,iDAAA,iDAAA,iCAAA,uCAAA,6CAAA,2CAAA,sBAAA,iBAAA,iBAAA,iBAAA,iBAAA,iBAAA,iBAAA,oBAAA,cAAA,mBAAA,kBAAA,iBAAA,mBAAA,iBAAA,oBAAA,sBAAA,2BAAA,0BAAA,yBAAA,2BAAA,yBAAA,4BAAA,qBAAA,0BAAA,yBAAA,wBAAA,0BAAA,wBAAA,2BAAA,2BAAA,gCAAA,+BAAA,8BAAA,gCAAA,8BAAA,iCAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,+BAAA,4BAAA,iCAAA,gCAAA,+BAAA,iCAAA,+BAAA,mCAAA,kCAAA,kCAAA,eAAA,oBAAA,mBAAA,kBAAA,oBAAA,kBAAA,uBAAA,4BAAA,2BAAA,0BAAA,4BAAA,0BAAA,sBAAA,2BAAA,0BAAA,yBAAA,2BAAA,yBAAA,4BAAA,iCAAA,gCAAA,+BAAA,iCAAA,+BAAA,2BAAA,gCAAA,+BAAA,8BAAA,gCAAA,8BAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,6BAAA,kCAAA,iCAAA,gCAAA,kCAAA,gCAAA,aAAA,kBAAA,iBAAA,gBAAA,kBAAA,gBAAA,qBAAA,0BAAA,yBAAA,wBAAA,0BAAA,wBAAA,6CAAA,uDAAA,qDAAA,mDAAA,uDAAA,mDAAA,gDAAA,kDAAA,wBAAA,yBAAA,sBAAA,qDAAA,sDAAA,mDAAA,sDAAA,sDAAA,8CAAA,sDAAA,2CAAA,2CAAA,wCAAA,uEAAA,4EAAA,yEAAA,wEAAA,wEAAA,gEAAA,sEAAA,8BAAA,8BAAA,gCAAA,0BAAA,2BAAA,2BAAA,6BAAA,yBAAA,8BAAA,oBAAA,wBAAA,yBAAA,qBAAA,6BAAA,yBAAA,+BAAA,2CAAA,qDAAA,2DAAA,yCAAA,yCAAA,2CAAA,4BAAA,gCAAA,kCAAA,gCAAA,uDAAA,yFAAA,uIAAA,2FAAA,sFAAA,6FAAA,sFAAA,yFAAA,2FAAA,sFAAA,mFAAA,mFAAA,mFAAA,mFAAA,qDAAA,qDAAA,+CAAA,kGAAA,qGAAA,oGAAA,+FAAA,sGAAA,+FAAA,+FAAA,oGAAA,6HAAA,qFAAA,+FAAA,iGAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,gEAAA,2BAAA,+FAAA,+FAAA,+FAAA,+FAAA,+FAAA,+FAAA,+FAAA,+FAAA,+FAAA,2DAAA,iFAAA,gFAAA,iFAAA,2FAAA,yIAAA,6FAAA,wFAAA,+FAAA,wFAAA,2FAAA,6FAAA,yHAAA,yHAAA,yHAAA,yHAAA,yHAAA,yHAAA,yHAAA,yHAAA,yHAAA,qFAAA,wFAAA,wFAAA,wFAAA,wFAAA,wFAAA,qEAAA,sEAAA,sEAAA,mEAAA,uEAAA,kEAAA,oGAAA,sGAAA,8FAAA,8FAAA,8FAAA,8FAAA,8FAAA,gEAAA,gEAAA,kEAAA,0DAAA,2GAAA,8GAAA,6GAAA,wGAAA,+GAAA,wGAAA,2GAAA,6GAAA,0GAAA,6GAAA,4GAAA,uGAAA,8GAAA,uGAAA,0GAAA,4GAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,2EAAA,sCAAA,mFAAA,oFAAA,2FAAA,yEAAA,iDAAA,iCAAA,mCAAA,mCAAA,mCAAA,6BAAA,6BAAA,+CAAA,2BAAA,oDAAA,iDAAA,oDAAA,oDAAA,qDAAA,kCAAA,yDAAA,+GAAA,qEAAA,uHAAA,iHAAA,uHAAA,uHAAA,yHAAA,8EAAA,8HAAA,2GAAA,iEAAA,mHAAA,6GAAA,mHAAA,mHAAA,qHAAA,0EAAA,0HAAA,8GAAA,oEAAA,sHAAA,gHAAA,sHAAA,sHAAA,wHAAA,6EAAA,6HAAA,iHAAA,uEAAA,yHAAA,mHAAA,yHAAA,yHAAA,2HAAA,gFAAA,gIAAA,4BAAA,6BAAA,iBAAA,eAAA,eAAA,eAAA,eXrEA,sBWqEA,oCAAA,gCAAA,2BAAA,iEAAA,2DAAA,wDAAA,qEAAA,wDAAA,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,gDAAA,4CAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,sBAAA,qBAAA,uBAAA,qBAAA,wBAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,+BAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,qCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,oCAAA,6BAAA,kCAAA,iCAAA,gCAAA,kCAAA,gCAAA,mCAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,uBAAA,sBAAA,wBAAA,sBAAA,2BAAA,gCAAA,+BAAA,8BAAA,gCAAA,8BAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,iCAAA,sCAAA,qCAAA,oCAAA,sCAAA,oCAAA,iBAAA,sBAAA,qBAAA,oBAAA,sBAAA,oBAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,iDAAA,2DAAA,yDAAA,uDAAA,2DAAA,uDAAA,iCAAA,6BAAA,oCXrEA,sBWqEA,oCAAA,gCAAA,2BAAA,iEAAA,2DAAA,wDAAA,qEAAA,wDAAA,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,gDAAA,4CAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,sBAAA,qBAAA,uBAAA,qBAAA,wBAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,+BAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,qCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,oCAAA,6BAAA,kCAAA,iCAAA,gCAAA,kCAAA,gCAAA,mCAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,uBAAA,sBAAA,wBAAA,sBAAA,2BAAA,gCAAA,+BAAA,8BAAA,gCAAA,8BAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,iCAAA,sCAAA,qCAAA,oCAAA,sCAAA,oCAAA,iBAAA,sBAAA,qBAAA,oBAAA,sBAAA,oBAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,iDAAA,2DAAA,yDAAA,uDAAA,2DAAA,uDAAA,iCAAA,6BAAA,oCXrEA,uBWqEA,oCAAA,gCAAA,2BAAA,iEAAA,2DAAA,wDAAA,qEAAA,wDAAA,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,gDAAA,4CAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,sBAAA,qBAAA,uBAAA,qBAAA,wBAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,+BAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,qCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,oCAAA,6BAAA,kCAAA,iCAAA,gCAAA,kCAAA,gCAAA,mCAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,uBAAA,sBAAA,wBAAA,sBAAA,2BAAA,gCAAA,+BAAA,8BAAA,gCAAA,8BAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,iCAAA,sCAAA,qCAAA,oCAAA,sCAAA,oCAAA,iBAAA,sBAAA,qBAAA,oBAAA,sBAAA,oBAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,iDAAA,2DAAA,yDAAA,uDAAA,2DAAA,uDAAA,iCAAA,6BAAA,oCXrEA,uBWqEA,oCAAA,gCAAA,2BAAA,iEAAA,2DAAA,wDAAA,qEAAA,wDAAA,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,gDAAA,4CAAA,6CAAA,8CAAA,0CAAA,2CAAA,+CAAA,6CAAA,kDAAA,8CAAA,+CAAA,uDAAA,qDAAA,iDAAA,qCAAA,4CAAA,wCAAA,yCAAA,6CAAA,2CAAA,yCAAA,qCAAA,2CAAA,qDAAA,qDAAA,qDAAA,qDAAA,qDAAA,qCAAA,2CAAA,iDAAA,+CAAA,0BAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,qBAAA,wBAAA,kBAAA,uBAAA,sBAAA,qBAAA,uBAAA,qBAAA,wBAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,+BAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,qCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,oCAAA,6BAAA,kCAAA,iCAAA,gCAAA,kCAAA,gCAAA,mCAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,uCAAA,sCAAA,sCAAA,mBAAA,wBAAA,uBAAA,sBAAA,wBAAA,sBAAA,2BAAA,gCAAA,+BAAA,8BAAA,gCAAA,8BAAA,0BAAA,+BAAA,8BAAA,6BAAA,+BAAA,6BAAA,gCAAA,qCAAA,oCAAA,mCAAA,qCAAA,mCAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,iCAAA,sCAAA,qCAAA,oCAAA,sCAAA,oCAAA,iBAAA,sBAAA,qBAAA,oBAAA,sBAAA,oBAAA,yBAAA,8BAAA,6BAAA,4BAAA,8BAAA,4BAAA,iDAAA,2DAAA,yDAAA,uDAAA,2DAAA,uDAAA,iCAAA,6BAAA,oCXrEA,uBWqEA,wCAAA,oCAAA,+BAAA,qEAAA,+DAAA,4DAAA,yEAAA,4DAAA,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,oDAAA,gDAAA,iDAAA,kDAAA,8CAAA,+CAAA,mDAAA,iDAAA,sDAAA,kDAAA,mDAAA,2DAAA,yDAAA,qDAAA,yCAAA,gDAAA,4CAAA,6CAAA,iDAAA,+CAAA,6CAAA,yCAAA,+CAAA,yDAAA,yDAAA,yDAAA,yDAAA,yDAAA,yCAAA,+CAAA,qDAAA,mDAAA,8BAAA,yBAAA,yBAAA,yBAAA,yBAAA,yBAAA,yBAAA,4BAAA,sBAAA,2BAAA,0BAAA,yBAAA,2BAAA,yBAAA,4BAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,oCAAA,6BAAA,kCAAA,iCAAA,gCAAA,kCAAA,gCAAA,mCAAA,mCAAA,wCAAA,uCAAA,sCAAA,wCAAA,sCAAA,yCAAA,kCAAA,uCAAA,sCAAA,qCAAA,uCAAA,qCAAA,wCAAA,iCAAA,sCAAA,qCAAA,oCAAA,sCAAA,oCAAA,uCAAA,oCAAA,yCAAA,wCAAA,uCAAA,yCAAA,uCAAA,2CAAA,0CAAA,0CAAA,uBAAA,4BAAA,2BAAA,0BAAA,4BAAA,0BAAA,+BAAA,oCAAA,mCAAA,kCAAA,oCAAA,kCAAA,8BAAA,mCAAA,kCAAA,iCAAA,mCAAA,iCAAA,oCAAA,yCAAA,wCAAA,uCAAA,yCAAA,uCAAA,mCAAA,wCAAA,uCAAA,sCAAA,wCAAA,sCAAA,kCAAA,uCAAA,sCAAA,qCAAA,uCAAA,qCAAA,qCAAA,0CAAA,yCAAA,wCAAA,0CAAA,wCAAA,qBAAA,0BAAA,yBAAA,wBAAA,0BAAA,wBAAA,6BAAA,kCAAA,iCAAA,gCAAA,kCAAA,gCAAA,qDAAA,+DAAA,6DAAA,2DAAA,+DAAA,2DAAA,qCAAA,iCAAA,yCjBvBJ,yzUAMA,uCAIA","sources":["bootstrap-utilities.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.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/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["/*!\n * Bootstrap Utilities v6.0.0-dev (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 --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\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 --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\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-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\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 --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\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(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\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(--border-radius-xs);\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(--border-radius-sm);\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(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\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.25rem, 1rem + 0.625vw, 1.5rem);\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 --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-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-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-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-text: light-dark(var(--green-600), var(--green-400));\n --success-text-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-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-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-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-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-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-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-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-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-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-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-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-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(var(--gray-100), 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 color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sm\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sm\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .md\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .md\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .lg\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .lg\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .\\32 xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\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-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-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-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-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-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-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-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-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-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-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-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-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-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-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-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-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}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(: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):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\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@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: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: 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 }\n .focus-ring-accent {\n --focus-ring-color: 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 }\n .focus-ring-success {\n --focus-ring-color: 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 }\n .focus-ring-danger {\n --focus-ring-color: 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 }\n .focus-ring-warning {\n --focus-ring-color: 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 }\n .focus-ring-info {\n --focus-ring-color: 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 }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\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 left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 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-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\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(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\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 .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 .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: flex-start;\n }\n .justify-self-end {\n justify-self: flex-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-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-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.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\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.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\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.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\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.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\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.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\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.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\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.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\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.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\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.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\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.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\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.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\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.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\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.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\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.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\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.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\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.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\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.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\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.25rem, 1rem + 0.625vw, 1.5rem);\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.25rem, 1rem + 0.625vw, 1.5rem);\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: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\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 white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\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 .link-10-hover: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 .link-20-hover: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 .link-30-hover: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 .link-40-hover: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 .link-50-hover: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 .link-60-hover: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 .link-70-hover: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 .link-80-hover: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 .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\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-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-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 .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 {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\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: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\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(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-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 @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: flex-start;\n }\n .sm\\:justify-self-end {\n justify-self: flex-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-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-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.5rem;\n }\n .sm\\:m-3 {\n margin: 1rem;\n }\n .sm\\:m-4 {\n margin: 1.5rem;\n }\n .sm\\:m-5 {\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.5rem;\n }\n .sm\\:mx-3 {\n margin-inline: 1rem;\n }\n .sm\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-5 {\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.5rem;\n }\n .sm\\:my-3 {\n margin-block: 1rem;\n }\n .sm\\:my-4 {\n margin-block: 1.5rem;\n }\n .sm\\:my-5 {\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.5rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-5 {\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.5rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 3rem;\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.5rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-5 {\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.5rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-5 {\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.5rem;\n }\n .sm\\:p-3 {\n padding: 1rem;\n }\n .sm\\:p-4 {\n padding: 1.5rem;\n }\n .sm\\:p-5 {\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.5rem;\n }\n .sm\\:px-3 {\n padding-inline: 1rem;\n }\n .sm\\:px-4 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-5 {\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.5rem;\n }\n .sm\\:py-3 {\n padding-block: 1rem;\n }\n .sm\\:py-4 {\n padding-block: 1.5rem;\n }\n .sm\\:py-5 {\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.5rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-5 {\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.5rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-5 {\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.5rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-5 {\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.5rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-5 {\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.5rem;\n }\n .sm\\:gap-3 {\n gap: 1rem;\n }\n .sm\\:gap-4 {\n gap: 1.5rem;\n }\n .sm\\:gap-5 {\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.5rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-5 {\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.5rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 3rem;\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: flex-start;\n }\n .md\\:justify-self-end {\n justify-self: flex-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-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-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.5rem;\n }\n .md\\:m-3 {\n margin: 1rem;\n }\n .md\\:m-4 {\n margin: 1.5rem;\n }\n .md\\:m-5 {\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.5rem;\n }\n .md\\:mx-3 {\n margin-inline: 1rem;\n }\n .md\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-5 {\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.5rem;\n }\n .md\\:my-3 {\n margin-block: 1rem;\n }\n .md\\:my-4 {\n margin-block: 1.5rem;\n }\n .md\\:my-5 {\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.5rem;\n }\n .md\\:mt-3 {\n margin-block-start: 1rem;\n }\n .md\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-5 {\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.5rem;\n }\n .md\\:me-3 {\n margin-inline-end: 1rem;\n }\n .md\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-5 {\n margin-inline-end: 3rem;\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.5rem;\n }\n .md\\:mb-3 {\n margin-block-end: 1rem;\n }\n .md\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-5 {\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.5rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-5 {\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.5rem;\n }\n .md\\:p-3 {\n padding: 1rem;\n }\n .md\\:p-4 {\n padding: 1.5rem;\n }\n .md\\:p-5 {\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.5rem;\n }\n .md\\:px-3 {\n padding-inline: 1rem;\n }\n .md\\:px-4 {\n padding-inline: 1.5rem;\n }\n .md\\:px-5 {\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.5rem;\n }\n .md\\:py-3 {\n padding-block: 1rem;\n }\n .md\\:py-4 {\n padding-block: 1.5rem;\n }\n .md\\:py-5 {\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.5rem;\n }\n .md\\:pt-3 {\n padding-block-start: 1rem;\n }\n .md\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-5 {\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.5rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-5 {\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.5rem;\n }\n .md\\:pb-3 {\n padding-block-end: 1rem;\n }\n .md\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-5 {\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.5rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-5 {\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.5rem;\n }\n .md\\:gap-3 {\n gap: 1rem;\n }\n .md\\:gap-4 {\n gap: 1.5rem;\n }\n .md\\:gap-5 {\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.5rem;\n }\n .md\\:row-gap-3 {\n row-gap: 1rem;\n }\n .md\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-5 {\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.5rem;\n }\n .md\\:column-gap-3 {\n column-gap: 1rem;\n }\n .md\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-5 {\n column-gap: 3rem;\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: flex-start;\n }\n .lg\\:justify-self-end {\n justify-self: flex-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-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-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.5rem;\n }\n .lg\\:m-3 {\n margin: 1rem;\n }\n .lg\\:m-4 {\n margin: 1.5rem;\n }\n .lg\\:m-5 {\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.5rem;\n }\n .lg\\:mx-3 {\n margin-inline: 1rem;\n }\n .lg\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-5 {\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.5rem;\n }\n .lg\\:my-3 {\n margin-block: 1rem;\n }\n .lg\\:my-4 {\n margin-block: 1.5rem;\n }\n .lg\\:my-5 {\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.5rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-5 {\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.5rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 3rem;\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.5rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-5 {\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.5rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-5 {\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.5rem;\n }\n .lg\\:p-3 {\n padding: 1rem;\n }\n .lg\\:p-4 {\n padding: 1.5rem;\n }\n .lg\\:p-5 {\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.5rem;\n }\n .lg\\:px-3 {\n padding-inline: 1rem;\n }\n .lg\\:px-4 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-5 {\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.5rem;\n }\n .lg\\:py-3 {\n padding-block: 1rem;\n }\n .lg\\:py-4 {\n padding-block: 1.5rem;\n }\n .lg\\:py-5 {\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.5rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-5 {\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.5rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-5 {\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.5rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-5 {\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.5rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-5 {\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.5rem;\n }\n .lg\\:gap-3 {\n gap: 1rem;\n }\n .lg\\:gap-4 {\n gap: 1.5rem;\n }\n .lg\\:gap-5 {\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.5rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-5 {\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.5rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 3rem;\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: flex-start;\n }\n .xl\\:justify-self-end {\n justify-self: flex-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-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-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.5rem;\n }\n .xl\\:m-3 {\n margin: 1rem;\n }\n .xl\\:m-4 {\n margin: 1.5rem;\n }\n .xl\\:m-5 {\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.5rem;\n }\n .xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-5 {\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.5rem;\n }\n .xl\\:my-3 {\n margin-block: 1rem;\n }\n .xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .xl\\:my-5 {\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.5rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-5 {\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.5rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 3rem;\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.5rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-5 {\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.5rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-5 {\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.5rem;\n }\n .xl\\:p-3 {\n padding: 1rem;\n }\n .xl\\:p-4 {\n padding: 1.5rem;\n }\n .xl\\:p-5 {\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.5rem;\n }\n .xl\\:px-3 {\n padding-inline: 1rem;\n }\n .xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-5 {\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.5rem;\n }\n .xl\\:py-3 {\n padding-block: 1rem;\n }\n .xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .xl\\:py-5 {\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.5rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-5 {\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.5rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-5 {\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.5rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-5 {\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.5rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-5 {\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.5rem;\n }\n .xl\\:gap-3 {\n gap: 1rem;\n }\n .xl\\:gap-4 {\n gap: 1.5rem;\n }\n .xl\\:gap-5 {\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.5rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-5 {\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.5rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 3rem;\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: flex-start;\n }\n .\\32 xl\\:justify-self-end {\n justify-self: flex-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-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-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.5rem;\n }\n .\\32 xl\\:m-3 {\n margin: 1rem;\n }\n .\\32 xl\\:m-4 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-5 {\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.5rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-5 {\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.5rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-5 {\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.5rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-5 {\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.5rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 3rem;\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.5rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-5 {\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.5rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-5 {\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.5rem;\n }\n .\\32 xl\\:p-3 {\n padding: 1rem;\n }\n .\\32 xl\\:p-4 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-5 {\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.5rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-5 {\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.5rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-5 {\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.5rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-5 {\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.5rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-5 {\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.5rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-5 {\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.5rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-5 {\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.5rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-5 {\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.5rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-5 {\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.5rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 3rem;\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}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (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: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\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 @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@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, 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\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-font-weight-variables\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 // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', 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-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), 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-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-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\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\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(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\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(--border-radius-xs),\n\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(--border-radius-sm),\n\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(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\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-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:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\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: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !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-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: 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: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\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: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\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: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\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: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\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$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"auto\": auto,\n \"1x1\": #{\"1 / 1\"},\n \"4x3\": #{\"4 / 3\"},\n \"16x9\": #{\"16 / 9\"},\n \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n// scss-docs-end font-variables\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.25rem, 1rem + .625vw, 1.5rem),\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// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n// scss-docs-end type-variables\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-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\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) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"../config\" as *;\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 @if list.nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\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: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-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: $zindex-sticky;\n }\n\n .#{$prefix}sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: $zindex-sticky;\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 \"../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","@use \"sass:meta\";\n@use \"sass:map\";\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// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\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: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\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\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-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 \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-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 \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-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 \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-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 \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-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 \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-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 \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-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 \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-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) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\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 \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\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 \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\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(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\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) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(: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):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $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:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n // Loop over each breakpoint\n @each $breakpoint in map.keys($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if meta.type-of($utility) == \"map\" 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 // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n @include generate-utility($utility, \"print\\\\:\");\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\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 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 generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\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, important, state, variables;\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 // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` 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 $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: 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 $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\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 $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $prefix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n @if $customClass != \"\" {\n $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n } @else if $selectorClass != null and $selectorClass != \"\" {\n $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n } @else {\n $selector: \".#{$prefix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"],"names":[]} |