beer.css 87 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257
  1. :root {
  2. --size: 16px;
  3. --font: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", Noto Sans, Arial, sans-serif;
  4. --font-icon: "Material Symbols Outlined";
  5. --speed1: 0.1s;
  6. --speed2: 0.2s;
  7. --speed3: 0.3s;
  8. --speed4: 0.4s;
  9. --active: rgb(128 128 128 / 0.192);
  10. --overlay: rgb(0 0 0 / 0.5);
  11. --elevate1: 0 0.125rem 0.125rem 0 rgb(0 0 0 / 0.32);
  12. --elevate2: 0 0.25rem 0.5rem 0 rgb(0 0 0 / 0.4);
  13. --elevate3: 0 0.375rem 0.75rem 0 rgb(0 0 0 / 0.48);
  14. --top: env(safe-area-inset-top);
  15. --bottom: env(safe-area-inset-bottom);
  16. --left: env(safe-area-inset-left);
  17. --right: env(safe-area-inset-right);
  18. }
  19. :root,
  20. body.light {
  21. --primary: #6750a4;
  22. --on-primary: #ffffff;
  23. --primary-container: #e9ddff;
  24. --on-primary-container: #22005d;
  25. --secondary: #625b71;
  26. --on-secondary: #ffffff;
  27. --secondary-container: #e8def8;
  28. --on-secondary-container: #1e192b;
  29. --tertiary: #7e5260;
  30. --on-tertiary: #ffffff;
  31. --tertiary-container: #ffd9e3;
  32. --on-tertiary-container: #31101d;
  33. --error: #ba1a1a;
  34. --on-error: #ffffff;
  35. --error-container: #ffdad6;
  36. --on-error-container: #410002;
  37. --background: #fffbff;
  38. --on-background: #1c1b1e;
  39. --surface: #fdf8fd;
  40. --on-surface: #1c1b1e;
  41. --surface-variant: #e7e0eb;
  42. --on-surface-variant: #49454e;
  43. --outline: #7a757f;
  44. --outline-variant: #cac4cf;
  45. --shadow: #000000;
  46. --scrim: #000000;
  47. --inverse-surface: #313033;
  48. --inverse-on-surface: #f4eff4;
  49. --inverse-primary: #cfbcff;
  50. --surface-dim: #ddd8dd;
  51. --surface-bright: #fdf8fd;
  52. --surface-container-lowest: #ffffff;
  53. --surface-container-low: #f7f2f7;
  54. --surface-container: #f2ecf1;
  55. --surface-container-high: #ece7eb;
  56. --surface-container-highest: #e6e1e6;
  57. }
  58. body.dark {
  59. --primary: #cfbcff;
  60. --on-primary: #381e72;
  61. --primary-container: #4f378a;
  62. --on-primary-container: #e9ddff;
  63. --secondary: #cbc2db;
  64. --on-secondary: #332d41;
  65. --secondary-container: #4a4458;
  66. --on-secondary-container: #e8def8;
  67. --tertiary: #efb8c8;
  68. --on-tertiary: #4a2532;
  69. --tertiary-container: #633b48;
  70. --on-tertiary-container: #ffd9e3;
  71. --error: #ffb4ab;
  72. --on-error: #690005;
  73. --error-container: #93000a;
  74. --on-error-container: #ffb4ab;
  75. --background: #1c1b1e;
  76. --on-background: #e6e1e6;
  77. --surface: #141316;
  78. --on-surface: #e6e1e6;
  79. --surface-variant: #49454e;
  80. --on-surface-variant: #cac4cf;
  81. --outline: #948f99;
  82. --outline-variant: #49454e;
  83. --shadow: #000000;
  84. --scrim: #000000;
  85. --inverse-surface: #e6e1e6;
  86. --inverse-on-surface: #313033;
  87. --inverse-primary: #6750a4;
  88. --surface-dim: #141316;
  89. --surface-bright: #3a383c;
  90. --surface-container-lowest: #0f0e11;
  91. --surface-container-low: #1c1b1e;
  92. --surface-container: #201f22;
  93. --surface-container-high: #2b292d;
  94. --surface-container-highest: #363438;
  95. }
  96. /* outlined icons */
  97. @font-face {
  98. font-family: "Material Symbols Outlined";
  99. font-style: normal;
  100. font-weight: 400;
  101. font-display: block;
  102. src:
  103. url("material-symbols-outlined.woff2") format("woff2"),
  104. url("https://cdn.jsdelivr.net/npm/beercss@3.8.0/dist/cdn/material-symbols-outlined.woff2") format("woff2");
  105. }
  106. /* rounded icons */
  107. @font-face {
  108. font-family: "Material Symbols Rounded";
  109. font-style: normal;
  110. font-weight: 400;
  111. font-display: block;
  112. src:
  113. url("material-symbols-rounded.woff2") format("woff2"),
  114. url("https://cdn.jsdelivr.net/npm/beercss@3.8.0/dist/cdn/material-symbols-rounded.woff2") format("woff2");
  115. }
  116. /* sharp icons */
  117. @font-face {
  118. font-family: "Material Symbols Sharp";
  119. font-style: normal;
  120. font-weight: 400;
  121. font-display: block;
  122. src:
  123. url("material-symbols-sharp.woff2") format("woff2"),
  124. url("https://cdn.jsdelivr.net/npm/beercss@3.8.0/dist/cdn/material-symbols-sharp.woff2") format("woff2");
  125. }
  126. * {
  127. -webkit-tap-highlight-color: transparent;
  128. position: relative;
  129. vertical-align: middle;
  130. color: inherit;
  131. margin: 0;
  132. padding: 0;
  133. border-radius: inherit;
  134. box-sizing: border-box;
  135. }
  136. body {
  137. color: var(--on-surface);
  138. background-color: var(--surface);
  139. overflow-x: hidden;
  140. }
  141. label {
  142. font-size: 0.75rem;
  143. vertical-align: baseline;
  144. }
  145. a,
  146. b,
  147. i,
  148. span,
  149. strong,
  150. em,
  151. code {
  152. vertical-align: baseline;
  153. }
  154. a,
  155. button,
  156. .button {
  157. cursor: pointer;
  158. text-decoration: none;
  159. display: inline-flex;
  160. align-items: center;
  161. border: none;
  162. font-family: inherit;
  163. outline: inherit;
  164. justify-content: center;
  165. }
  166. a,
  167. button,
  168. .button,
  169. i,
  170. label {
  171. user-select: none;
  172. }
  173. body ::-webkit-scrollbar,
  174. body ::-webkit-scrollbar-thumb,
  175. body ::-webkit-scrollbar-button {
  176. background: none;
  177. inline-size: 0.4rem;
  178. block-size: 0.4rem;
  179. }
  180. body :is(:hover,:focus)::-webkit-scrollbar-thumb {
  181. background: var(--outline);
  182. border-radius: 1rem;
  183. }
  184. * + :is(address, article, blockquote, code, .field, fieldset, form, .grid, h1, h2, h3, h4, h5, h6, nav, ol, p, pre, .row, section, aside, table, .tabs, ul) {
  185. margin-block-start: 1rem;
  186. }
  187. :is(a, button, .button, .chip):focus-visible {
  188. outline: 0.125rem solid var(--primary);
  189. outline-offset: 0.25rem;
  190. }
  191. .transparent {
  192. background-color: transparent !important;
  193. box-shadow: none !important;
  194. color: inherit !important;
  195. }
  196. .primary {
  197. background-color: var(--primary) !important;
  198. color: var(--on-primary) !important;
  199. }
  200. .primary-text {
  201. color: var(--primary) !important;
  202. }
  203. .primary-border {
  204. border-color: var(--primary) !important;
  205. }
  206. .primary-container {
  207. background-color: var(--primary-container) !important;
  208. color: var(--on-primary-container) !important;
  209. }
  210. .secondary {
  211. background-color: var(--secondary) !important;
  212. color: var(--on-secondary) !important;
  213. }
  214. .secondary-text {
  215. color: var(--secondary) !important;
  216. }
  217. .secondary-border {
  218. border-color: var(--secondary) !important;
  219. }
  220. .secondary-container {
  221. background-color: var(--secondary-container) !important;
  222. color: var(--on-secondary-container) !important;
  223. }
  224. .tertiary {
  225. background-color: var(--tertiary) !important;
  226. color: var(--on-tertiary) !important;
  227. }
  228. .tertiary-text {
  229. color: var(--tertiary) !important;
  230. }
  231. .tertiary-border {
  232. border-color: var(--tertiary) !important;
  233. }
  234. .tertiary-container {
  235. background-color: var(--tertiary-container) !important;
  236. color: var(--on-tertiary-container) !important;
  237. }
  238. .error {
  239. background-color: var(--error) !important;
  240. color: var(--on-error) !important;
  241. }
  242. .error-text {
  243. color: var(--error) !important;
  244. }
  245. .error-border {
  246. border-color: var(--error) !important;
  247. }
  248. .error-container {
  249. background-color: var(--error-container) !important;
  250. color: var(--on-error-container) !important;
  251. }
  252. .background {
  253. background-color: var(--background) !important;
  254. color: var(--on-background) !important;
  255. }
  256. .surface,
  257. .surface-dim,
  258. .surface-bright,
  259. .surface-container-lowest,
  260. .surface-container-low,
  261. .surface-container,
  262. .surface-container-high,
  263. .surface-container-highest {
  264. background-color: var(--surface) !important;
  265. color: var(--on-surface) !important;
  266. }
  267. .surface-variant {
  268. background-color: var(--surface-variant) !important;
  269. color: var(--on-surface-variant) !important;
  270. }
  271. .inverse-surface {
  272. background-color: var(--inverse-surface);
  273. color: var(--inverse-on-surface);
  274. }
  275. .inverse-primary {
  276. background-color: var(--inverse-primary);
  277. color: var(--primary);
  278. }
  279. .inverse-primary-text {
  280. color: var(--inverse-primary) !important;
  281. }
  282. .inverse-primary-border {
  283. border-color: var(--inverse-primary) !important;
  284. }
  285. .surface-dim {
  286. background-color: var(--surface-dim) !important;
  287. }
  288. .surface-bright {
  289. background-color: var(--surface-bright) !important;
  290. }
  291. .surface-container-lowest {
  292. background-color: var(--surface-container-lowest) !important;
  293. }
  294. .surface-container-low {
  295. background-color: var(--surface-container-low) !important;
  296. }
  297. .surface-container {
  298. background-color: var(--surface-container) !important;
  299. }
  300. .surface-container-high {
  301. background-color: var(--surface-container-high) !important;
  302. }
  303. .surface-container-highest {
  304. background-color: var(--surface-container-highest) !important;
  305. }
  306. .surface-container-low {
  307. background-color: var(--surface-container-low) !important;
  308. }
  309. .black {
  310. background-color: #000 !important;
  311. }
  312. .black-border {
  313. border-color: #000 !important;
  314. }
  315. .black-text {
  316. color: #000 !important;
  317. }
  318. .white {
  319. background-color: #FFF !important;
  320. }
  321. .white-border {
  322. border-color: #FFF !important;
  323. }
  324. .white-text {
  325. color: #FFF !important;
  326. }
  327. .transparent-border {
  328. border-color: transparent !important;
  329. }
  330. .transparent-text {
  331. color: transparent !important;
  332. }
  333. .fill:not(i) {
  334. background-color: var(--surface-variant) !important;
  335. color: var(--on-surface-variant) !important;
  336. }
  337. .middle-align {
  338. display: flex;
  339. align-items: center !important;
  340. }
  341. .bottom-align {
  342. display: flex;
  343. align-items: flex-end !important;
  344. }
  345. .top-align {
  346. display: flex;
  347. align-items: flex-start !important;
  348. }
  349. .left-align {
  350. text-align: start;
  351. justify-content: flex-start !important;
  352. }
  353. .right-align {
  354. text-align: end;
  355. justify-content: flex-end !important;
  356. }
  357. .center-align {
  358. text-align: center;
  359. justify-content: center !important;
  360. }
  361. .red,
  362. .red6 {
  363. background-color: #F44336 !important;
  364. }
  365. .red-border {
  366. border-color: #F44336 !important;
  367. }
  368. .red-text {
  369. color: #F44336 !important;
  370. }
  371. .red1 {
  372. background-color: #FFEBEE !important;
  373. }
  374. .red2 {
  375. background-color: #FFCDD2 !important;
  376. }
  377. .red3 {
  378. background-color: #EF9A9A !important;
  379. }
  380. .red4 {
  381. background-color: #E57373 !important;
  382. }
  383. .red5 {
  384. background-color: #EF5350 !important;
  385. }
  386. .red7 {
  387. background-color: #E53935 !important;
  388. }
  389. .red8 {
  390. background-color: #D32F2F !important;
  391. }
  392. .red9 {
  393. background-color: #C62828 !important;
  394. }
  395. .red10 {
  396. background-color: #B71C1C !important;
  397. }
  398. .pink,
  399. .pink6 {
  400. background-color: #E91E63 !important;
  401. }
  402. .pink-border {
  403. border-color: #E91E63 !important;
  404. }
  405. .pink-text {
  406. color: #E91E63 !important;
  407. }
  408. .pink1 {
  409. background-color: #FCE4EC !important;
  410. }
  411. .pink2 {
  412. background-color: #F8BBD0 !important;
  413. }
  414. .pink3 {
  415. background-color: #F48FB1 !important;
  416. }
  417. .pink4 {
  418. background-color: #F06292 !important;
  419. }
  420. .pink5 {
  421. background-color: #EC407A !important;
  422. }
  423. .pink7 {
  424. background-color: #D81B60 !important;
  425. }
  426. .pink8 {
  427. background-color: #C2185B !important;
  428. }
  429. .pink9 {
  430. background-color: #AD1457 !important;
  431. }
  432. .pink10 {
  433. background-color: #880E4F !important;
  434. }
  435. .purple,
  436. .purple6 {
  437. background-color: #9C27B0 !important;
  438. }
  439. .purple-border {
  440. border-color: #9C27B0 !important;
  441. }
  442. .purple-text {
  443. color: #9C27B0 !important;
  444. }
  445. .purple1 {
  446. background-color: #F3E5F5 !important;
  447. }
  448. .purple2 {
  449. background-color: #E1BEE7 !important;
  450. }
  451. .purple3 {
  452. background-color: #CE93D8 !important;
  453. }
  454. .purple4 {
  455. background-color: #BA68C8 !important;
  456. }
  457. .purple5 {
  458. background-color: #AB47BC !important;
  459. }
  460. .purple7 {
  461. background-color: #8E24AA !important;
  462. }
  463. .purple8 {
  464. background-color: #7B1FA2 !important;
  465. }
  466. .purple9 {
  467. background-color: #6A1B9A !important;
  468. }
  469. .purple10 {
  470. background-color: #4A148C !important;
  471. }
  472. .deep-purple,
  473. .deep-purple6 {
  474. background-color: #673AB7 !important;
  475. }
  476. .deep-purple-border {
  477. border-color: #673AB7 !important;
  478. }
  479. .deep-purple-text {
  480. color: #673AB7 !important;
  481. }
  482. .deep-purple1 {
  483. background-color: #EDE7F6 !important;
  484. }
  485. .deep-purple2 {
  486. background-color: #D1C4E9 !important;
  487. }
  488. .deep-purple3 {
  489. background-color: #B39DDB !important;
  490. }
  491. .deep-purple4 {
  492. background-color: #9575CD !important;
  493. }
  494. .deep-purple5 {
  495. background-color: #7E57C2 !important;
  496. }
  497. .deep-purple7 {
  498. background-color: #5E35B1 !important;
  499. }
  500. .deep-purple8 {
  501. background-color: #512DA8 !important;
  502. }
  503. .deep-purple9 {
  504. background-color: #4527A0 !important;
  505. }
  506. .deep-purple10 {
  507. background-color: #311B92 !important;
  508. }
  509. .indigo,
  510. .indigo6 {
  511. background-color: #3F51B5 !important;
  512. }
  513. .indigo-border {
  514. border-color: #3F51B5 !important;
  515. }
  516. .indigo-text {
  517. color: #3F51B5 !important;
  518. }
  519. .indigo1 {
  520. background-color: #E8EAF6 !important;
  521. }
  522. .indigo2 {
  523. background-color: #C5CAE9 !important;
  524. }
  525. .indigo3 {
  526. background-color: #9FA8DA !important;
  527. }
  528. .indigo4 {
  529. background-color: #7986CB !important;
  530. }
  531. .indigo5 {
  532. background-color: #5C6BC0 !important;
  533. }
  534. .indigo7 {
  535. background-color: #3949AB !important;
  536. }
  537. .indigo8 {
  538. background-color: #303F9F !important;
  539. }
  540. .indigo9 {
  541. background-color: #283593 !important;
  542. }
  543. .indigo10 {
  544. background-color: #1A237E !important;
  545. }
  546. .blue,
  547. .blue6 {
  548. background-color: #2196F3 !important;
  549. }
  550. .blue-border {
  551. border-color: #2196F3 !important;
  552. }
  553. .blue-text {
  554. color: #2196F3 !important;
  555. }
  556. .blue1 {
  557. background-color: #E3F2FD !important;
  558. }
  559. .blue2 {
  560. background-color: #BBDEFB !important;
  561. }
  562. .blue3 {
  563. background-color: #90CAF9 !important;
  564. }
  565. .blue4 {
  566. background-color: #64B5F6 !important;
  567. }
  568. .blue5 {
  569. background-color: #42A5F5 !important;
  570. }
  571. .blue7 {
  572. background-color: #1E88E5 !important;
  573. }
  574. .blue8 {
  575. background-color: #1976D2 !important;
  576. }
  577. .blue9 {
  578. background-color: #1565C0 !important;
  579. }
  580. .blue10 {
  581. background-color: #0D47A1 !important;
  582. }
  583. .light-blue,
  584. .light-blue6 {
  585. background-color: #03A9F4 !important;
  586. }
  587. .light-blue-border {
  588. border-color: #03A9F4 !important;
  589. }
  590. .light-blue-text {
  591. color: #03A9F4 !important;
  592. }
  593. .light-blue1 {
  594. background-color: #E1F5FE !important;
  595. }
  596. .light-blue2 {
  597. background-color: #B3E5FC !important;
  598. }
  599. .light-blue3 {
  600. background-color: #81D4FA !important;
  601. }
  602. .light-blue4 {
  603. background-color: #4FC3F7 !important;
  604. }
  605. .light-blue5 {
  606. background-color: #29B6F6 !important;
  607. }
  608. .light-blue7 {
  609. background-color: #039BE5 !important;
  610. }
  611. .light-blue8 {
  612. background-color: #0288D1 !important;
  613. }
  614. .light-blue9 {
  615. background-color: #0277BD !important;
  616. }
  617. .light-blue10 {
  618. background-color: #01579B !important;
  619. }
  620. .cyan,
  621. .cyan6 {
  622. background-color: #00BCD4 !important;
  623. }
  624. .cyan-border {
  625. border-color: #00BCD4 !important;
  626. }
  627. .cyan-text {
  628. color: #00BCD4 !important;
  629. }
  630. .cyan1 {
  631. background-color: #E0F7FA !important;
  632. }
  633. .cyan2 {
  634. background-color: #B2EBF2 !important;
  635. }
  636. .cyan3 {
  637. background-color: #80DEEA !important;
  638. }
  639. .cyan4 {
  640. background-color: #4DD0E1 !important;
  641. }
  642. .cyan5 {
  643. background-color: #26C6DA !important;
  644. }
  645. .cyan7 {
  646. background-color: #00ACC1 !important;
  647. }
  648. .cyan8 {
  649. background-color: #0097A7 !important;
  650. }
  651. .cyan9 {
  652. background-color: #00838F !important;
  653. }
  654. .cyan10 {
  655. background-color: #006064 !important;
  656. }
  657. .teal,
  658. .teal6 {
  659. background-color: #009688 !important;
  660. }
  661. .teal-border {
  662. border-color: #009688 !important;
  663. }
  664. .teal-text {
  665. color: #009688 !important;
  666. }
  667. .teal1 {
  668. background-color: #E0F2F1 !important;
  669. }
  670. .teal2 {
  671. background-color: #B2DFDB !important;
  672. }
  673. .teal3 {
  674. background-color: #80CBC4 !important;
  675. }
  676. .teal4 {
  677. background-color: #4DB6AC !important;
  678. }
  679. .teal5 {
  680. background-color: #26A69A !important;
  681. }
  682. .teal7 {
  683. background-color: #00897B !important;
  684. }
  685. .teal8 {
  686. background-color: #00796B !important;
  687. }
  688. .teal9 {
  689. background-color: #00695C !important;
  690. }
  691. .teal10 {
  692. background-color: #004D40 !important;
  693. }
  694. .green,
  695. .green6 {
  696. background-color: #4CAF50 !important;
  697. }
  698. .green-border {
  699. border-color: #4CAF50 !important;
  700. }
  701. .green-text {
  702. color: #4CAF50 !important;
  703. }
  704. .green1 {
  705. background-color: #E8F5E9 !important;
  706. }
  707. .green2 {
  708. background-color: #C8E6C9 !important;
  709. }
  710. .green3 {
  711. background-color: #A5D6A7 !important;
  712. }
  713. .green4 {
  714. background-color: #81C784 !important;
  715. }
  716. .green5 {
  717. background-color: #66BB6A !important;
  718. }
  719. .green7 {
  720. background-color: #43A047 !important;
  721. }
  722. .green8 {
  723. background-color: #388E3C !important;
  724. }
  725. .green9 {
  726. background-color: #2E7D32 !important;
  727. }
  728. .green10 {
  729. background-color: #1B5E20 !important;
  730. }
  731. .light-green,
  732. .light-green6 {
  733. background-color: #8BC34A !important;
  734. }
  735. .light-green-border {
  736. border-color: #8BC34A !important;
  737. }
  738. .light-green-text {
  739. color: #8BC34A !important;
  740. }
  741. .light-green1 {
  742. background-color: #F1F8E9 !important;
  743. }
  744. .light-green2 {
  745. background-color: #DCEDC8 !important;
  746. }
  747. .light-green3 {
  748. background-color: #C5E1A5 !important;
  749. }
  750. .light-green4 {
  751. background-color: #AED581 !important;
  752. }
  753. .light-green5 {
  754. background-color: #9CCC65 !important;
  755. }
  756. .light-green7 {
  757. background-color: #7CB342 !important;
  758. }
  759. .light-green8 {
  760. background-color: #689F38 !important;
  761. }
  762. .light-green9 {
  763. background-color: #558B2F !important;
  764. }
  765. .light-green10 {
  766. background-color: #33691E !important;
  767. }
  768. .lime,
  769. .lime6 {
  770. background-color: #CDDC39 !important;
  771. }
  772. .lime-border {
  773. border-color: #CDDC39 !important;
  774. }
  775. .lime-text {
  776. color: #CDDC39 !important;
  777. }
  778. .lime1 {
  779. background-color: #F9FBE7 !important;
  780. }
  781. .lime2 {
  782. background-color: #F0F4C3 !important;
  783. }
  784. .lime3 {
  785. background-color: #E6EE9C !important;
  786. }
  787. .lime4 {
  788. background-color: #DCE775 !important;
  789. }
  790. .lime5 {
  791. background-color: #D4E157 !important;
  792. }
  793. .lime7 {
  794. background-color: #C0CA33 !important;
  795. }
  796. .lime8 {
  797. background-color: #AFB42B !important;
  798. }
  799. .lime9 {
  800. background-color: #9E9D24 !important;
  801. }
  802. .lime10 {
  803. background-color: #827717 !important;
  804. }
  805. .yellow,
  806. .yellow6 {
  807. background-color: #FFEB3B !important;
  808. }
  809. .yellow-border {
  810. border-color: #FFEB3B !important;
  811. }
  812. .yellow-text {
  813. color: #FFEB3B !important;
  814. }
  815. .yellow1 {
  816. background-color: #FFFDE7 !important;
  817. }
  818. .yellow2 {
  819. background-color: #FFF9C4 !important;
  820. }
  821. .yellow3 {
  822. background-color: #FFF59D !important;
  823. }
  824. .yellow4 {
  825. background-color: #FFF176 !important;
  826. }
  827. .yellow5 {
  828. background-color: #FFEE58 !important;
  829. }
  830. .yellow7 {
  831. background-color: #FDD835 !important;
  832. }
  833. .yellow8 {
  834. background-color: #FBC02D !important;
  835. }
  836. .yellow9 {
  837. background-color: #F9A825 !important;
  838. }
  839. .yellow10 {
  840. background-color: #F57F17 !important;
  841. }
  842. .amber,
  843. .amber6 {
  844. background-color: #FFC107 !important;
  845. }
  846. .amber-border {
  847. border-color: #FFC107 !important;
  848. }
  849. .amber-text {
  850. color: #FFC107 !important;
  851. }
  852. .amber1 {
  853. background-color: #FFF8E1 !important;
  854. }
  855. .amber2 {
  856. background-color: #FFECB3 !important;
  857. }
  858. .amber3 {
  859. background-color: #FFE082 !important;
  860. }
  861. .amber4 {
  862. background-color: #FFD54F !important;
  863. }
  864. .amber5 {
  865. background-color: #FFCA28 !important;
  866. }
  867. .amber7 {
  868. background-color: #FFB300 !important;
  869. }
  870. .amber8 {
  871. background-color: #FFA000 !important;
  872. }
  873. .amber9 {
  874. background-color: #FF8F00 !important;
  875. }
  876. .amber10 {
  877. background-color: #FF6F00 !important;
  878. }
  879. .orange,
  880. .orange6 {
  881. background-color: #FF9800 !important;
  882. }
  883. .orange-border {
  884. border-color: #FF9800 !important;
  885. }
  886. .orange-text {
  887. color: #FF9800 !important;
  888. }
  889. .orange1 {
  890. background-color: #FFF3E0 !important;
  891. }
  892. .orange2 {
  893. background-color: #FFE0B2 !important;
  894. }
  895. .orange3 {
  896. background-color: #FFCC80 !important;
  897. }
  898. .orange4 {
  899. background-color: #FFB74D !important;
  900. }
  901. .orange5 {
  902. background-color: #FFA726 !important;
  903. }
  904. .orange7 {
  905. background-color: #FB8C00 !important;
  906. }
  907. .orange8 {
  908. background-color: #F57C00 !important;
  909. }
  910. .orange9 {
  911. background-color: #EF6C00 !important;
  912. }
  913. .orange10 {
  914. background-color: #E65100 !important;
  915. }
  916. .deep-orange,
  917. .deep-orange6 {
  918. background-color: #FF5722 !important;
  919. }
  920. .deep-orange-border {
  921. border-color: #FF5722 !important;
  922. }
  923. .deep-orange-text {
  924. color: #FF5722 !important;
  925. }
  926. .deep-orange1 {
  927. background-color: #FBE9E7 !important;
  928. }
  929. .deep-orange2 {
  930. background-color: #FFCCBC !important;
  931. }
  932. .deep-orange3 {
  933. background-color: #FFAB91 !important;
  934. }
  935. .deep-orange4 {
  936. background-color: #FF8A65 !important;
  937. }
  938. .deep-orange5 {
  939. background-color: #FF7043 !important;
  940. }
  941. .deep-orange7 {
  942. background-color: #F4511E !important;
  943. }
  944. .deep-orange8 {
  945. background-color: #E64A19 !important;
  946. }
  947. .deep-orange9 {
  948. background-color: #D84315 !important;
  949. }
  950. .deep-orange10 {
  951. background-color: #BF360C !important;
  952. }
  953. .brown,
  954. .brown6 {
  955. background-color: #795548 !important;
  956. }
  957. .brown-border {
  958. border-color: #795548 !important;
  959. }
  960. .brown-text {
  961. color: #795548 !important;
  962. }
  963. .brown1 {
  964. background-color: #EFEBE9 !important;
  965. }
  966. .brown2 {
  967. background-color: #D7CCC8 !important;
  968. }
  969. .brown3 {
  970. background-color: #BCAAA4 !important;
  971. }
  972. .brown4 {
  973. background-color: #A1887F !important;
  974. }
  975. .brown5 {
  976. background-color: #8D6E63 !important;
  977. }
  978. .brown7 {
  979. background-color: #6D4C41 !important;
  980. }
  981. .brown8 {
  982. background-color: #5D4037 !important;
  983. }
  984. .brown9 {
  985. background-color: #4E342E !important;
  986. }
  987. .brown10 {
  988. background-color: #3E2723 !important;
  989. }
  990. .blue-grey,
  991. .blue-grey6 {
  992. background-color: #607D8B !important;
  993. }
  994. .blue-grey-border {
  995. border-color: #607D8B !important;
  996. }
  997. .blue-grey-text {
  998. color: #607D8B !important;
  999. }
  1000. .blue-grey1 {
  1001. background-color: #ECEFF1 !important;
  1002. }
  1003. .blue-grey2 {
  1004. background-color: #CFD8DC !important;
  1005. }
  1006. .blue-grey3 {
  1007. background-color: #B0BEC5 !important;
  1008. }
  1009. .blue-grey4 {
  1010. background-color: #90A4AE !important;
  1011. }
  1012. .blue-grey5 {
  1013. background-color: #78909C !important;
  1014. }
  1015. .blue-grey7 {
  1016. background-color: #546E7A !important;
  1017. }
  1018. .blue-grey8 {
  1019. background-color: #455A64 !important;
  1020. }
  1021. .blue-grey9 {
  1022. background-color: #37474F !important;
  1023. }
  1024. .blue-grey10 {
  1025. background-color: #263238 !important;
  1026. }
  1027. .grey,
  1028. .grey6 {
  1029. background-color: #9E9E9E !important;
  1030. }
  1031. .grey-border {
  1032. border-color: #9E9E9E !important;
  1033. }
  1034. .grey-text {
  1035. color: #9E9E9E !important;
  1036. }
  1037. .grey1 {
  1038. background-color: #FAFAFA !important;
  1039. }
  1040. .grey2 {
  1041. background-color: #F5F5F5 !important;
  1042. }
  1043. .grey3 {
  1044. background-color: #EEE !important;
  1045. }
  1046. .grey4 {
  1047. background-color: #E0E0E0 !important;
  1048. }
  1049. .grey5 {
  1050. background-color: #BDBDBD !important;
  1051. }
  1052. .grey7 {
  1053. background-color: #757575 !important;
  1054. }
  1055. .grey8 {
  1056. background-color: #616161 !important;
  1057. }
  1058. .grey9 {
  1059. background-color: #424242 !important;
  1060. }
  1061. .grey10 {
  1062. background-color: #212121 !important;
  1063. }
  1064. .horizontal {
  1065. display: inline-flex;
  1066. flex-direction: row !important;
  1067. gap: 1rem;
  1068. inline-size: auto !important;
  1069. max-inline-size: none !important;
  1070. }
  1071. .horizontal > * {
  1072. margin-block: 0 !important;
  1073. }
  1074. .vertical {
  1075. display: flex;
  1076. flex-direction: column !important;
  1077. }
  1078. :is(a, button, .button, .chip).vertical {
  1079. display: inline-flex;
  1080. gap: 0.25rem;
  1081. block-size: auto !important;
  1082. max-block-size: none !important;
  1083. padding-block: 0.5rem;
  1084. }
  1085. .vertical > * {
  1086. margin-inline: 0 !important;
  1087. }
  1088. .no-elevate {
  1089. box-shadow: none !important;
  1090. }
  1091. .small-elevate,
  1092. .elevate {
  1093. box-shadow: var(--elevate1) !important;
  1094. }
  1095. .medium-elevate {
  1096. box-shadow: var(--elevate2) !important;
  1097. }
  1098. .large-elevate {
  1099. box-shadow: var(--elevate3) !important;
  1100. }
  1101. .round {
  1102. border-radius: var(---round);
  1103. }
  1104. .small-round,
  1105. .medium-round,
  1106. .large-round {
  1107. border-radius: var(---round) !important;
  1108. }
  1109. .top-round,
  1110. .bottom-round,
  1111. .left-round,
  1112. .right-round,
  1113. .medium-round,
  1114. .round {
  1115. ---round: 2rem;
  1116. }
  1117. .small-round {
  1118. ---round: 0.5rem;
  1119. }
  1120. .large-round {
  1121. ---round: 3.5rem;
  1122. }
  1123. .no-round,
  1124. .square,
  1125. .top-round,
  1126. .bottom-round,
  1127. .left-round,
  1128. .right-round {
  1129. border-radius: 0 !important;
  1130. }
  1131. .top-round {
  1132. border-start-start-radius: var(---round) !important;
  1133. border-start-end-radius: var(---round) !important;
  1134. }
  1135. .bottom-round {
  1136. border-end-end-radius: var(---round) !important;
  1137. border-end-start-radius: var(---round) !important;
  1138. }
  1139. .left-round {
  1140. border-start-start-radius: var(---round) !important;
  1141. border-end-start-radius: var(---round) !important;
  1142. }
  1143. .right-round {
  1144. border-start-end-radius: var(---round) !important;
  1145. border-end-end-radius: var(---round) !important;
  1146. }
  1147. .circle {
  1148. border-radius: 50%;
  1149. }
  1150. :is(button, .button, .chip).circle {
  1151. border-radius: 2.5rem;
  1152. }
  1153. :is(.circle, .square):not(i, img, video, svg),
  1154. :is(.circle, .square).chip.medium {
  1155. block-size: 2.5rem;
  1156. inline-size: 2.5rem;
  1157. padding: 0;
  1158. }
  1159. :is(.circle, .square) > span {
  1160. display: none;
  1161. }
  1162. :is(.circle, .square).small:not(i, img, video, svg),
  1163. :is(.circle, .square).chip {
  1164. block-size: 2rem;
  1165. inline-size: 2rem;
  1166. }
  1167. :is(.circle, .square).large:not(i, img, video, svg) {
  1168. block-size: 3rem;
  1169. inline-size: 3rem;
  1170. }
  1171. :is(.circle, .square).extra:not(i, img, video, svg) {
  1172. block-size: 3.5rem;
  1173. inline-size: 3.5rem;
  1174. }
  1175. :is(.circle, .square).round {
  1176. border-radius: 1rem !important;
  1177. }
  1178. .border:not(table, .field) {
  1179. box-sizing: border-box;
  1180. border: 0.0625rem solid var(--outline);
  1181. background-color: transparent;
  1182. box-shadow: none;
  1183. }
  1184. .no-border {
  1185. border-color: transparent !important;
  1186. }
  1187. :is(nav, .row, dialog.max, header.fixed, footer.fixed, menu > a, menu.max, table, .tabs):not(.round) {
  1188. border-radius: 0;
  1189. }
  1190. [class*=margin]:not(.left-margin, .right-margin, .top-margin, .bottom-margin, .horizontal-margin, .vertical-margin) {
  1191. margin: var(---margin) !important;
  1192. }
  1193. [class*=margin] {
  1194. ---margin: 1rem;
  1195. }
  1196. .no-margin {
  1197. ---margin: 0;
  1198. }
  1199. .auto-margin {
  1200. ---margin: auto;
  1201. }
  1202. .tiny-margin {
  1203. ---margin: 0.25rem;
  1204. }
  1205. .small-margin {
  1206. ---margin: 0.5rem;
  1207. }
  1208. .large-margin {
  1209. ---margin: 1.5rem;
  1210. }
  1211. .left-margin,
  1212. .horizontal-margin {
  1213. margin-inline-start: var(---margin) !important;
  1214. }
  1215. .right-margin,
  1216. .horizontal-margin {
  1217. margin-inline-end: var(---margin) !important;
  1218. }
  1219. .top-margin,
  1220. .vertical-margin {
  1221. margin-block-start: var(---margin) !important;
  1222. }
  1223. .bottom-margin,
  1224. .vertical-margin {
  1225. margin-block-end: var(---margin) !important;
  1226. }
  1227. .no-opacity {
  1228. opacity: 1 !important;
  1229. }
  1230. .opacity {
  1231. opacity: 0 !important;
  1232. }
  1233. .small-opacity {
  1234. opacity: 0.75 !important;
  1235. }
  1236. .medium-opacity {
  1237. opacity: 0.5 !important;
  1238. }
  1239. .large-opacity {
  1240. opacity: 0.25 !important;
  1241. }
  1242. [class*=padding]:not(.left-padding, .right-padding, .top-padding, .bottom-padding, .horizontal-padding, .vertical-padding) {
  1243. padding: var(---padding) !important;
  1244. }
  1245. [class*=padding] {
  1246. ---padding: 1rem;
  1247. }
  1248. .no-padding {
  1249. ---padding: 0;
  1250. }
  1251. .tiny-padding {
  1252. ---padding: 0.25rem;
  1253. }
  1254. .small-padding {
  1255. ---padding: 0.5rem;
  1256. }
  1257. .large-padding {
  1258. ---padding: 1.5rem;
  1259. }
  1260. .left-padding,
  1261. .horizontal-padding {
  1262. padding-inline-start: var(---padding) !important;
  1263. }
  1264. .right-padding,
  1265. .horizontal-padding {
  1266. padding-inline-end: var(---padding) !important;
  1267. }
  1268. .top-padding,
  1269. .vertical-padding {
  1270. padding-block-start: var(---padding) !important;
  1271. }
  1272. .bottom-padding,
  1273. .vertical-padding {
  1274. padding-block-end: var(---padding) !important;
  1275. }
  1276. .front {
  1277. z-index: 10 !important;
  1278. }
  1279. .back {
  1280. z-index: -10 !important;
  1281. }
  1282. .left {
  1283. inset-inline-start: 0;
  1284. }
  1285. .right {
  1286. inset-inline-end: 0;
  1287. }
  1288. .top {
  1289. inset-block-start: 0;
  1290. }
  1291. .bottom {
  1292. inset-block-end: 0;
  1293. }
  1294. .center {
  1295. inset-inline-start: 50%;
  1296. transform: translateX(-50%);
  1297. }
  1298. [dir=rtl] .center {
  1299. transform: translateX(50%);
  1300. }
  1301. .middle {
  1302. inset-block-start: 50%;
  1303. transform: translateY(-50%);
  1304. }
  1305. .middle.center {
  1306. transform: translate(-50%, -50%);
  1307. }
  1308. [dir=rtl] .middle.center {
  1309. transform: translate(50%, -50%);
  1310. }
  1311. .ripple {
  1312. ---duration: 600ms;
  1313. }
  1314. .fast-ripple {
  1315. ---duration: 200ms;
  1316. }
  1317. .slow-ripple {
  1318. ---duration: 1800ms;
  1319. }
  1320. .ripple-js {
  1321. position: absolute;
  1322. inset: 0;
  1323. pointer-events: none;
  1324. overflow: hidden;
  1325. }
  1326. .ripple-js > div {
  1327. position: absolute;
  1328. border-radius: 50%;
  1329. background: currentColor;
  1330. opacity: 0.3;
  1331. transform: scale(0);
  1332. animation: to-ripple var(---duration) linear;
  1333. }
  1334. @keyframes to-ripple {
  1335. to {
  1336. transform: scale(4);
  1337. opacity: 0;
  1338. }
  1339. }
  1340. .scroll {
  1341. overflow: auto;
  1342. }
  1343. .no-scroll {
  1344. overflow: hidden;
  1345. }
  1346. [class*=width] {
  1347. max-inline-size: 100%;
  1348. }
  1349. .auto-width {
  1350. inline-size: auto;
  1351. }
  1352. .small-width {
  1353. inline-size: 12rem !important;
  1354. }
  1355. .medium-width {
  1356. inline-size: 24rem !important;
  1357. }
  1358. .large-width {
  1359. inline-size: 36rem !important;
  1360. }
  1361. .auto-height {
  1362. block-size: auto;
  1363. }
  1364. .small-height {
  1365. block-size: 12rem !important;
  1366. }
  1367. .medium-height {
  1368. block-size: 24rem !important;
  1369. }
  1370. .large-height {
  1371. block-size: 36rem !important;
  1372. }
  1373. .wrap {
  1374. display: block;
  1375. white-space: normal;
  1376. }
  1377. .no-wrap:not(menu) {
  1378. display: flex;
  1379. white-space: nowrap;
  1380. }
  1381. .tiny-space:not(nav, ol, ul, .row, .grid, table, .tooltip) {
  1382. block-size: 0.5rem;
  1383. }
  1384. :is(.space, .small-space):not(nav, ol, ul, .row, .grid, table, .tooltip) {
  1385. block-size: 1rem;
  1386. }
  1387. .medium-space:not(nav, ol, ul, .row, .grid, table, .tooltip) {
  1388. block-size: 2rem;
  1389. }
  1390. .large-space:not(nav, ol, ul, .row, .grid, table, .tooltip) {
  1391. block-size: 3rem;
  1392. }
  1393. .responsive {
  1394. inline-size: -webkit-fill-available;
  1395. inline-size: -moz-available;
  1396. }
  1397. @media only screen and (max-width: 600px) {
  1398. .m:not(.s),
  1399. .l:not(.s),
  1400. .m.l:not(.s) {
  1401. display: none;
  1402. }
  1403. }
  1404. @media only screen and (min-width: 601px) and (max-width: 992px) {
  1405. .s:not(.m),
  1406. .l:not(.m),
  1407. .s.l:not(.m) {
  1408. display: none;
  1409. }
  1410. }
  1411. @media only screen and (min-width: 993px) {
  1412. .m:not(.l),
  1413. .s:not(.l),
  1414. .m.s:not(.l) {
  1415. display: none;
  1416. }
  1417. }
  1418. html {
  1419. font-size: var(--size);
  1420. }
  1421. body {
  1422. font-family: var(--font);
  1423. font-size: 0.875rem;
  1424. line-height: 1.5rem;
  1425. letter-spacing: 0.0313rem;
  1426. }
  1427. h1,
  1428. h2,
  1429. h3,
  1430. h4,
  1431. h5,
  1432. h6 {
  1433. font-weight: 400;
  1434. display: block;
  1435. align-items: center;
  1436. line-height: normal;
  1437. }
  1438. h1 {
  1439. font-size: 3.5625rem;
  1440. }
  1441. h2 {
  1442. font-size: 2.8125rem;
  1443. }
  1444. h3 {
  1445. font-size: 2.25rem;
  1446. }
  1447. h4 {
  1448. font-size: 2rem;
  1449. }
  1450. h5 {
  1451. font-size: 1.75rem;
  1452. }
  1453. h6 {
  1454. font-size: 1.5rem;
  1455. }
  1456. h1.small {
  1457. font-size: 3.0625rem;
  1458. }
  1459. h2.small {
  1460. font-size: 2.3125rem;
  1461. }
  1462. h3.small {
  1463. font-size: 1.75rem;
  1464. }
  1465. h4.small {
  1466. font-size: 1.5rem;
  1467. }
  1468. h5.small {
  1469. font-size: 1.25rem;
  1470. }
  1471. h6.small {
  1472. font-size: 1rem;
  1473. }
  1474. h1.large {
  1475. font-size: 4.0625rem;
  1476. }
  1477. h2.large {
  1478. font-size: 3.3125rem;
  1479. }
  1480. h3.large {
  1481. font-size: 2.75rem;
  1482. }
  1483. h4.large {
  1484. font-size: 2.5rem;
  1485. }
  1486. h5.large {
  1487. font-size: 2.25rem;
  1488. }
  1489. h6.large {
  1490. font-size: 2rem;
  1491. }
  1492. .link {
  1493. color: var(--primary) !important;
  1494. }
  1495. .inverse-link {
  1496. color: var(--inverse-primary) !important;
  1497. }
  1498. .truncate {
  1499. overflow: hidden;
  1500. white-space: nowrap !important;
  1501. text-overflow: ellipsis;
  1502. flex: inherit;
  1503. }
  1504. .truncate > * {
  1505. white-space: nowrap !important;
  1506. }
  1507. .small-text {
  1508. font-size: 0.75rem;
  1509. }
  1510. .medium-text {
  1511. font-size: 0.875rem;
  1512. }
  1513. .large-text {
  1514. font-size: 1rem;
  1515. }
  1516. .upper {
  1517. text-transform: uppercase;
  1518. }
  1519. .lower {
  1520. text-transform: lowercase;
  1521. }
  1522. .capitalize {
  1523. text-transform: capitalize;
  1524. }
  1525. .bold {
  1526. font-weight: bold;
  1527. }
  1528. .overline {
  1529. text-decoration: line-through;
  1530. }
  1531. .underline {
  1532. text-decoration: underline;
  1533. }
  1534. .italic {
  1535. font-style: italic;
  1536. }
  1537. p {
  1538. margin: 0.5rem 0;
  1539. }
  1540. .no-line {
  1541. line-height: normal;
  1542. }
  1543. .tiny-line {
  1544. line-height: 1.25rem;
  1545. }
  1546. .small-line {
  1547. line-height: 1.5rem;
  1548. }
  1549. .medium-line {
  1550. line-height: 1.75rem;
  1551. }
  1552. .large-line {
  1553. line-height: 2rem;
  1554. }
  1555. .extra-line {
  1556. line-height: 2.25rem;
  1557. }
  1558. pre {
  1559. border-radius: 0;
  1560. background-color: var(--surface-container);
  1561. white-space: pre-wrap;
  1562. padding: 1rem;
  1563. border-inline-start: 0.25rem solid var(--primary);
  1564. font-family: inherit;
  1565. }
  1566. blockquote {
  1567. border-radius: 0;
  1568. padding: 1rem;
  1569. border-inline-start: 0.25rem solid var(--primary);
  1570. font-family: inherit;
  1571. }
  1572. code {
  1573. border-radius: 0;
  1574. background-color: var(--surface-container);
  1575. white-space: pre-wrap;
  1576. padding: 0.25rem;
  1577. }
  1578. pre > code,
  1579. blockquote > code {
  1580. padding: 0;
  1581. }
  1582. .scroll > code {
  1583. white-space: pre;
  1584. }
  1585. pre:has(> code){
  1586. direction: ltr;
  1587. text-align: start;
  1588. }
  1589. :is(.wave, .chip, .button, button, nav.tabbed > a, .tabs > a):not(.slow-ripple, .ripple, .fast-ripple)::after {
  1590. content: "";
  1591. position: absolute;
  1592. inset: 0;
  1593. z-index: 1;
  1594. border-radius: inherit;
  1595. inline-size: 100%;
  1596. block-size: 100%;
  1597. background-position: center;
  1598. background-image: radial-gradient(circle, currentColor 1%, transparent 1%);
  1599. opacity: 0;
  1600. transition: none;
  1601. }
  1602. :is(.wave, .chip, .button, button, nav.tabbed > a, .tabs > a):not(.slow-ripple, .ripple, .fast-ripple):is(:focus-visible, :hover)::after {
  1603. background-size: 15000%;
  1604. opacity: 0.1;
  1605. transition: background-size var(--speed2) linear;
  1606. }
  1607. :is(.wave, .chip, .button, button, nav.tabbed > a, .tabs > a):not(.slow-ripple, .ripple, .fast-ripple):active::after {
  1608. background-size: 5000%;
  1609. opacity: 0;
  1610. transition: none;
  1611. }
  1612. .no-wave::after,
  1613. .no-wave:is(:hover, :active)::after {
  1614. display: none;
  1615. }
  1616. .badge {
  1617. display: inline-flex;
  1618. align-items: center;
  1619. justify-content: center;
  1620. position: absolute;
  1621. font-size: 0.6875rem;
  1622. text-transform: none;
  1623. z-index: 2;
  1624. padding: 0 0.25rem;
  1625. min-block-size: 1rem;
  1626. min-inline-size: 1rem;
  1627. background-color: var(--error);
  1628. color: var(--on-error);
  1629. line-height: normal;
  1630. border-radius: 1rem;
  1631. inset: 50% auto auto 50%;
  1632. transform: translate(0, -100%);
  1633. font-family: var(--font);
  1634. }
  1635. .badge.top {
  1636. transform: translate(-50%, -100%);
  1637. }
  1638. .badge.bottom {
  1639. transform: translate(-50%, 0);
  1640. }
  1641. .badge.left {
  1642. transform: translate(-100%, -50%);
  1643. }
  1644. .badge.right {
  1645. transform: translate(0, -50%);
  1646. }
  1647. .badge.top.left {
  1648. transform: translate(-100%, -100%);
  1649. }
  1650. .badge.bottom.left {
  1651. transform: translate(-100%, 0);
  1652. }
  1653. .badge.top.right {
  1654. transform: translate(0, -100%);
  1655. }
  1656. .badge.bottom.right {
  1657. transform: translate(0, 0);
  1658. }
  1659. .badge.border {
  1660. border-color: var(--error);
  1661. color: var(--error);
  1662. background-color: var(--surface);
  1663. }
  1664. .badge:is(.circle, .square) {
  1665. text-align: center;
  1666. inline-size: auto;
  1667. block-size: auto;
  1668. padding: 0 0.25rem;
  1669. border-radius: 1rem;
  1670. }
  1671. .badge.square {
  1672. border-radius: 0;
  1673. }
  1674. .badge.min > * {
  1675. display: none;
  1676. }
  1677. .badge.min {
  1678. clip-path: circle(18.75% at 50% 50%);
  1679. }
  1680. nav:is(.left, .right, .top, .bottom) > a > .badge,
  1681. nav:is(.left, .right, .top, .bottom) > :is(ol, ul) > li > a > .badge {
  1682. inset: 1rem auto auto 50%;
  1683. }
  1684. .badge.none {
  1685. inset: auto !important;
  1686. transform: none;
  1687. position: relative;
  1688. margin: 0 0.125rem;
  1689. }
  1690. :is(button, .button, .chip) > .badge.none {
  1691. margin: 0 -0.5rem;
  1692. }
  1693. .button,
  1694. button {
  1695. box-sizing: content-box;
  1696. display: inline-flex;
  1697. align-items: center;
  1698. justify-content: center;
  1699. block-size: 2.5rem;
  1700. min-inline-size: 2.5rem;
  1701. font-size: 0.875rem;
  1702. font-weight: 500;
  1703. color: var(--on-primary);
  1704. padding: 0 1.5rem;
  1705. background-color: var(--primary);
  1706. margin: 0 0.5rem;
  1707. border-radius: 1.25rem;
  1708. transition: transform var(--speed3), border-radius var(--speed3), padding var(--speed3);
  1709. user-select: none;
  1710. gap: 1rem;
  1711. line-height: normal;
  1712. }
  1713. :is(button, .button).small {
  1714. block-size: 2rem;
  1715. min-inline-size: 2rem;
  1716. border-radius: 1rem;
  1717. }
  1718. :is(button, .button).large {
  1719. block-size: 3rem;
  1720. min-inline-size: 3rem;
  1721. border-radius: 1.5rem;
  1722. }
  1723. :is(.button, button):is(.extra, .extend) {
  1724. block-size: 3.5rem;
  1725. min-inline-size: 3.5rem;
  1726. font-size: 1rem;
  1727. border-radius: 1.75rem;
  1728. }
  1729. :is(button, .button).border {
  1730. border-color: var(--outline);
  1731. color: var(--primary);
  1732. }
  1733. :is(button, .button):not(.border, .chip):hover {
  1734. box-shadow: var(--elevate1);
  1735. }
  1736. .extend > span {
  1737. display: none;
  1738. }
  1739. .extend:is(:hover, .active) {
  1740. inline-size: auto;
  1741. padding: 0 1.5rem;
  1742. }
  1743. .extend:is(:hover, .active) > i + span {
  1744. display: inherit;
  1745. margin-inline-start: 1.5rem;
  1746. }
  1747. .extend:is(:hover, .active) > :is(img, svg) + span {
  1748. display: inherit;
  1749. margin-inline-start: 2.5rem;
  1750. }
  1751. :is(.button, button)[disabled] {
  1752. opacity: 0.5;
  1753. cursor: not-allowed;
  1754. }
  1755. .button[disabled] {
  1756. pointer-events: none;
  1757. }
  1758. :is(.button, button)[disabled]::before,
  1759. :is(.button, button)[disabled]::after {
  1760. display: none;
  1761. }
  1762. :is(.button, button).fill {
  1763. background-color: var(--secondary-container) !important;
  1764. color: var(--on-secondary-container) !important;
  1765. }
  1766. :is(.button, button).vertical {
  1767. border-radius: 2rem;
  1768. }
  1769. article {
  1770. box-shadow: var(--elevate1);
  1771. background-color: var(--surface-container-low);
  1772. color: var(--on-surface);
  1773. padding: 1rem;
  1774. border-radius: 0.75rem;
  1775. display: block;
  1776. transition: transform var(--speed3), border-radius var(--speed3), padding var(--speed3);
  1777. }
  1778. article.small {
  1779. block-size: 12rem;
  1780. }
  1781. article.medium {
  1782. block-size: 20rem;
  1783. }
  1784. article.large {
  1785. block-size: 32rem;
  1786. }
  1787. .chip {
  1788. box-sizing: border-box;
  1789. display: inline-flex;
  1790. align-items: center;
  1791. justify-content: center;
  1792. block-size: 2rem;
  1793. min-inline-size: 2rem;
  1794. font-size: 0.875rem;
  1795. font-weight: 500;
  1796. background-color: transparent;
  1797. border: 0.0625rem solid var(--outline-variant);
  1798. color: var(--on-surface-variant);
  1799. padding: 0 1rem;
  1800. margin: 0 0.5rem;
  1801. text-transform: none;
  1802. border-radius: 0.5rem;
  1803. transition: transform var(--speed3), border-radius var(--speed3), padding var(--speed3);
  1804. user-select: none;
  1805. gap: 1rem;
  1806. line-height: normal;
  1807. letter-spacing: normal;
  1808. }
  1809. .chip.fill:hover {
  1810. box-shadow: var(--elevate1);
  1811. }
  1812. .chip.medium {
  1813. block-size: 2.5rem;
  1814. min-inline-size: 2.5rem;
  1815. border-radius: 0.5rem;
  1816. }
  1817. .chip.large {
  1818. block-size: 3rem;
  1819. min-inline-size: 3rem;
  1820. border-radius: 0.5rem;
  1821. }
  1822. .chip.fill {
  1823. background-color: var(--secondary-container) !important;
  1824. border: none;
  1825. }
  1826. .chip.round.small {
  1827. border-radius: 1rem;
  1828. }
  1829. .chip.round {
  1830. border-radius: 1.25rem;
  1831. }
  1832. .chip.round.large {
  1833. border-radius: 1.5rem;
  1834. }
  1835. main.responsive {
  1836. flex: 1;
  1837. padding: 0.5rem;
  1838. overflow-x: hidden;
  1839. }
  1840. :is(main, header, footer, section).responsive {
  1841. max-inline-size: 75rem;
  1842. margin: 0 auto;
  1843. }
  1844. :is(main, header, footer, section).responsive.max {
  1845. max-inline-size: 100%;
  1846. }
  1847. *:has(> main.responsive) {
  1848. display: flex;
  1849. flex-direction: column;
  1850. min-block-size: 100vh;
  1851. }
  1852. *:has(> nav.bottom:not(.s, .m, .l)) {
  1853. padding-block-end: calc(var(--bottom) + 5rem);
  1854. }
  1855. *:has(> nav.top:not(.s, .m, .l)) {
  1856. padding-block-start: calc(var(--top) + 5rem);
  1857. }
  1858. *:has(> nav.left:not(.s, .m, .l)) {
  1859. padding-inline-start: calc(var(--left) + 5rem);
  1860. }
  1861. *:has(> nav.right:not(.s, .m, .l)) {
  1862. padding-inline-end: calc(var(--right) + 5rem);
  1863. }
  1864. *:has(> nav.drawer.left:not(.s, .m, .l)) {
  1865. padding-inline-start: calc(var(--left) + 20rem);
  1866. }
  1867. *:has(> nav.drawer.right:not(.s, .m, .l)) {
  1868. padding-inline-end: calc(var(--right) + 20rem);
  1869. }
  1870. nav.top:not(.s, .m, .l) ~ header.fixed {
  1871. inset-block-start: 5rem;
  1872. }
  1873. nav.bottom:not(.s, .m, .l) ~ footer.fixed {
  1874. inset-block-end: 5rem;
  1875. }
  1876. :not(main):has(> aside) {
  1877. overflow: auto;
  1878. }
  1879. aside {
  1880. z-index: 1;
  1881. }
  1882. aside:not(.fixed, .absolute).right {
  1883. float: right;
  1884. }
  1885. aside:not(.fixed, .absolute).left {
  1886. float: left;
  1887. }
  1888. @media only screen and (max-width: 600px) {
  1889. *:has(> nav.s.bottom) {
  1890. padding-block-end: calc(var(--bottom) + 5rem);
  1891. }
  1892. *:has(> nav.s.top) {
  1893. padding-block-start: calc(var(--top) + 5rem);
  1894. }
  1895. *:has(> nav.s.left) {
  1896. padding-inline-start: calc(var(--left) + 5rem);
  1897. }
  1898. *:has(> nav.s.right) {
  1899. padding-inline-end: calc(var(--right) + 5rem);
  1900. }
  1901. *:has(> nav.s.drawer.left) {
  1902. padding-inline-start: calc(var(--left) + 20rem);
  1903. }
  1904. *:has(> nav.s.drawer.right) {
  1905. padding-inline-end: calc(var(--right) + 20rem);
  1906. }
  1907. nav.s.top ~ header.fixed {
  1908. inset-block-start: 5rem;
  1909. }
  1910. nav.s.bottom ~ footer.fixed {
  1911. inset-block-end: 5rem;
  1912. }
  1913. }
  1914. @media only screen and (min-width: 601px) and (max-width: 992px) {
  1915. *:has(> nav.m.bottom) {
  1916. padding-block-end: calc(var(--bottom) + 5rem);
  1917. }
  1918. *:has(> nav.m.top) {
  1919. padding-block-start: calc(var(--top) + 5rem);
  1920. }
  1921. *:has(> nav.m.left) {
  1922. padding-inline-start: calc(var(--left) + 5rem);
  1923. }
  1924. *:has(> nav.m.right) {
  1925. padding-inline-end: calc(var(--right) + 5rem);
  1926. }
  1927. *:has(> nav.m.drawer.left) {
  1928. padding-inline-start: calc(var(--left) + 20rem);
  1929. }
  1930. *:has(> nav.m.drawer.right) {
  1931. padding-inline-end: calc(var(--right) + 20rem);
  1932. }
  1933. nav.m.top ~ header.fixed {
  1934. inset-block-start: 5rem;
  1935. }
  1936. nav.m.bottom ~ footer.fixed {
  1937. inset-block-end: 5rem;
  1938. }
  1939. }
  1940. @media only screen and (min-width: 993px) {
  1941. *:has(> nav.l.bottom) {
  1942. padding-block-end: calc(var(--bottom) + 5rem);
  1943. }
  1944. *:has(> nav.l.top) {
  1945. padding-block-start: calc(var(--top) + 5rem);
  1946. }
  1947. *:has(> nav.l.left) {
  1948. padding-inline-start: calc(var(--left) + 5rem);
  1949. }
  1950. *:has(> nav.l.right) {
  1951. padding-inline-end: calc(var(--right) + 5rem);
  1952. }
  1953. *:has(> nav.l.drawer.left) {
  1954. padding-inline-start: calc(var(--left) + 20rem);
  1955. }
  1956. *:has(> nav.l.drawer.right) {
  1957. padding-inline-end: calc(var(--right) + 20rem);
  1958. }
  1959. nav.l.top ~ header.fixed {
  1960. inset-block-start: 5rem;
  1961. }
  1962. nav.l.bottom ~ footer.fixed {
  1963. inset-block-end: 5rem;
  1964. }
  1965. }
  1966. @media only screen and (max-width: 600px) {
  1967. main.responsive {
  1968. padding-inline: calc(var(--left) + 0.5rem) calc(var(--right) + 0.5rem);
  1969. }
  1970. }
  1971. dialog {
  1972. display: block;
  1973. visibility: hidden;
  1974. border: none;
  1975. opacity: 0;
  1976. position: fixed;
  1977. box-shadow: var(--elevate2);
  1978. color: var(--on-surface);
  1979. background-color: var(--surface-container-high);
  1980. padding: 1.5rem;
  1981. z-index: 100;
  1982. inset: 10% auto auto 50%;
  1983. min-inline-size: 20rem;
  1984. max-inline-size: 100%;
  1985. max-block-size: 80%;
  1986. overflow-x: hidden;
  1987. overflow-y: auto;
  1988. transition: all var(--speed3), 0s background-color;
  1989. border-radius: 1.75rem;
  1990. transform: translate(-50%, -4rem);
  1991. outline: none;
  1992. }
  1993. dialog::backdrop {
  1994. display: none;
  1995. }
  1996. dialog.small {
  1997. inline-size: 25%;
  1998. block-size: 25%;
  1999. }
  2000. dialog.medium {
  2001. inline-size: 50%;
  2002. block-size: 50%;
  2003. }
  2004. dialog.large {
  2005. inline-size: 75%;
  2006. block-size: 75%;
  2007. }
  2008. dialog:is(.active, [open]) {
  2009. visibility: visible;
  2010. opacity: 1;
  2011. transform: translate(-50%, 0);
  2012. }
  2013. dialog.top {
  2014. opacity: 1;
  2015. padding: 1rem;
  2016. inset: 0 auto auto 0;
  2017. block-size: auto;
  2018. inline-size: 100%;
  2019. min-inline-size: auto;
  2020. max-block-size: 100%;
  2021. transform: translateY(-100%);
  2022. border-radius: 0 0 1rem 1rem;
  2023. }
  2024. [dir=rtl] dialog.right,
  2025. dialog.left {
  2026. opacity: 1;
  2027. padding: 1rem;
  2028. inset: 0 auto auto 0;
  2029. inline-size: auto;
  2030. block-size: 100%;
  2031. max-block-size: 100%;
  2032. border-radius: 0 1rem 1rem 0;
  2033. background-color: var(--surface);
  2034. transform: translateX(-100%);
  2035. }
  2036. [dir=rtl] dialog.left,
  2037. dialog.right {
  2038. opacity: 1;
  2039. padding: 1rem;
  2040. inset: 0 0 auto auto;
  2041. inline-size: auto;
  2042. block-size: 100%;
  2043. max-block-size: 100%;
  2044. border-radius: 1rem 0 0 1rem;
  2045. background-color: var(--surface);
  2046. transform: translateX(100%);
  2047. }
  2048. dialog.bottom {
  2049. opacity: 1;
  2050. padding: 1rem;
  2051. inset: auto auto 0 0;
  2052. block-size: auto;
  2053. inline-size: 100%;
  2054. min-inline-size: auto;
  2055. max-block-size: 100%;
  2056. transform: translateY(100%);
  2057. border-radius: 1rem 1rem 0 0;
  2058. }
  2059. dialog.max {
  2060. inset: 0 auto auto 0;
  2061. inline-size: 100%;
  2062. block-size: 100%;
  2063. max-inline-size: 100%;
  2064. max-block-size: 100%;
  2065. transform: translateY(4rem);
  2066. background-color: var(--surface);
  2067. }
  2068. dialog:is(.active, [open]):is(.left, .right, .top, .bottom, .max) {
  2069. transform: translate(0, 0);
  2070. }
  2071. dialog.small:is(.left, .right) {
  2072. inline-size: 20rem;
  2073. }
  2074. dialog.medium:is(.left, .right) {
  2075. inline-size: 32rem;
  2076. }
  2077. dialog.large:is(.left, .right) {
  2078. inline-size: 44rem;
  2079. }
  2080. dialog.small:is(.top, .bottom) {
  2081. block-size: 16rem;
  2082. }
  2083. dialog.medium:is(.top, .bottom) {
  2084. block-size: 24rem;
  2085. }
  2086. dialog.large:is(.top, .bottom) {
  2087. block-size: 32rem;
  2088. }
  2089. hr,
  2090. [class*=divider] {
  2091. all: unset;
  2092. min-inline-size: 1.5rem;
  2093. min-block-size: auto;
  2094. block-size: 0.0625rem;
  2095. background-color: var(--outline-variant);
  2096. display: block;
  2097. }
  2098. hr + *,
  2099. [class*=divider] + * {
  2100. margin: 0 !important;
  2101. }
  2102. hr.medium,
  2103. .medium-divider {
  2104. margin: 1rem 0 !important;
  2105. }
  2106. hr.large,
  2107. .large-divider {
  2108. margin: 1.5rem 0 !important;
  2109. }
  2110. hr.small,
  2111. .small-divider {
  2112. margin: 0.5rem 0 !important;
  2113. }
  2114. hr.vertical,
  2115. .divider.vertical {
  2116. min-inline-size: auto;
  2117. min-block-size: 1.5rem;
  2118. inline-size: 0.0625rem;
  2119. }
  2120. summary.none {
  2121. list-style-type: none;
  2122. }
  2123. summary.none::-webkit-details-marker {
  2124. display: none;
  2125. }
  2126. summary {
  2127. cursor: pointer;
  2128. }
  2129. summary:focus {
  2130. outline: none;
  2131. }
  2132. .field {
  2133. ---size: 3rem;
  2134. ---start: 1.2rem;
  2135. block-size: var(---size);
  2136. margin-block-end: 2rem;
  2137. border-radius: 0.25rem 0.25rem 0 0;
  2138. }
  2139. .grid > * > .field {
  2140. margin-block-end: 1rem;
  2141. }
  2142. .grid > * > .field + .field {
  2143. margin-block-start: 2rem;
  2144. }
  2145. .grid.no-space > * > .field + .field {
  2146. margin-block-start: 1rem;
  2147. }
  2148. .grid.medium-space > * > .field + .field {
  2149. margin-block-start: 2.5rem;
  2150. }
  2151. .grid.large-space > * > .field + .field {
  2152. margin-block-start: 3rem;
  2153. }
  2154. .field.small {
  2155. ---size: 2.5rem;
  2156. ---start: 1rem;
  2157. }
  2158. .field.large {
  2159. ---size: 3.5rem;
  2160. ---start: 1.4rem;
  2161. }
  2162. .field.extra {
  2163. ---size: 4rem;
  2164. ---start: 1.6rem;
  2165. }
  2166. .field.border {
  2167. border-radius: 0.25rem;
  2168. }
  2169. .field.round.small {
  2170. border-radius: 1.25rem;
  2171. }
  2172. .field.round {
  2173. border-radius: 1.5rem;
  2174. }
  2175. .field.round.large {
  2176. border-radius: 1.75rem;
  2177. }
  2178. .field.round.extra {
  2179. border-radius: 2rem;
  2180. }
  2181. /* icon */
  2182. .field > :is(i, img, svg, progress, a:not(.helper, .error)) {
  2183. position: absolute;
  2184. inset: 50% auto auto auto;
  2185. transform: translateY(-50%);
  2186. cursor: pointer;
  2187. z-index: 0;
  2188. inline-size: 1.5rem;
  2189. block-size: 1.5rem;
  2190. }
  2191. .field > :is(i, img, svg, progress, a:not(.helper, .error)),
  2192. [dir=rtl] .field > :is(i, img, svg, progress, a:not(.helper, .error)):first-child {
  2193. inset: 50% 1rem auto auto;
  2194. }
  2195. .field > :is(i, img, svg, progress, a:not(.helper, .error)):first-child,
  2196. [dir=rtl] .field > :is(i, img, svg, progress, a:not(.helper, .error)) {
  2197. inset: 50% auto auto 1rem;
  2198. }
  2199. .field.invalid > i {
  2200. color: var(--error);
  2201. }
  2202. .field > progress.circle {
  2203. inset-block-start: calc(50% - 0.75rem) !important;
  2204. border-width: 0.1875rem;
  2205. }
  2206. .field > a:not(.helper, .error) {
  2207. z-index: 10;
  2208. }
  2209. .field > a > :is(i, img, svg, progress, a:not(.helper, .error)) {
  2210. inline-size: 1.5rem;
  2211. block-size: 1.5rem;
  2212. }
  2213. /* input, textarea and select */
  2214. .field > :is(input, textarea, select) {
  2215. all: unset;
  2216. position: relative;
  2217. display: flex;
  2218. align-items: center;
  2219. box-sizing: border-box;
  2220. border-radius: inherit;
  2221. border: 0.0625rem solid transparent;
  2222. padding: 0 0.9375rem;
  2223. font-family: inherit;
  2224. font-size: 1rem;
  2225. inline-size: 100%;
  2226. block-size: 100%;
  2227. outline: none;
  2228. z-index: 1;
  2229. background: none;
  2230. resize: none;
  2231. text-align: start;
  2232. cursor: text;
  2233. }
  2234. input::-webkit-date-and-time-value {
  2235. text-align: start;
  2236. }
  2237. :is(input, select, textarea):-webkit-autofill {
  2238. -webkit-background-clip: text;
  2239. -webkit-text-fill-color: var(--on-surface);
  2240. }
  2241. .field > :is(input, textarea, select):focus {
  2242. border: 0.125rem solid transparent;
  2243. padding: 0 0.875rem;
  2244. }
  2245. .field.min > textarea {
  2246. overflow: hidden;
  2247. position: absolute;
  2248. inset: 0;
  2249. max-block-size: 12rem;
  2250. }
  2251. input[type=file],
  2252. input[type=color],
  2253. :not(.field) > input[type^=date],
  2254. :not(.field) > input[type^=time],
  2255. input::-webkit-calendar-picker-indicator {
  2256. opacity: 0;
  2257. position: absolute;
  2258. inset: 0;
  2259. inline-size: 100%;
  2260. block-size: 100%;
  2261. margin: 0;
  2262. padding: 0;
  2263. border: 0;
  2264. outline: 0;
  2265. z-index: 2 !important;
  2266. }
  2267. input::-webkit-search-decoration,
  2268. input::-webkit-search-cancel-button,
  2269. input::-webkit-search-results-button,
  2270. input::-webkit-search-results-decoration,
  2271. input::-webkit-inner-spin-button,
  2272. input::-webkit-outer-spin-button {
  2273. display: none;
  2274. }
  2275. input[type=number] {
  2276. appearance: textfield;
  2277. }
  2278. .field.border > :is(input, textarea, select) {
  2279. border-color: var(--outline);
  2280. }
  2281. .field.border > :is(input, textarea, select):focus {
  2282. border-color: var(--primary);
  2283. }
  2284. .field.round > :is(input, textarea, select) {
  2285. padding-inline: 1.4376rem;
  2286. }
  2287. .field.round > :is(input, textarea, select):focus {
  2288. padding-inline: 1.375rem;
  2289. }
  2290. .field.prefix > :is(input, textarea, select) {
  2291. padding-inline-start: 2.9375rem;
  2292. }
  2293. .field.prefix > .slider {
  2294. margin-inline-start: 3.5rem;
  2295. }
  2296. .field.prefix > :is(input, textarea, select):focus {
  2297. padding-inline-start: 2.875rem;
  2298. }
  2299. .field.suffix > :is(input, textarea, select) {
  2300. padding-inline-end: 2.9375rem;
  2301. }
  2302. .field.suffix > .slider {
  2303. margin-inline-end: 3.5rem;
  2304. }
  2305. .field.suffix > :is(input, textarea, select):focus {
  2306. padding-inline-end: 2.875rem;
  2307. }
  2308. .field:not(.border, .round) > :is(input, textarea, select) {
  2309. border-block-end-color: var(--outline);
  2310. }
  2311. .field:not(.border, .round) > :is(input, textarea, select):focus {
  2312. border-block-end-color: var(--primary);
  2313. }
  2314. .field.round:not(.border, .fill) > :is(input, textarea, select),
  2315. .field.round:not(.border) > :is(input, textarea, select):focus {
  2316. box-shadow: var(--elevate1);
  2317. }
  2318. .field.round:not(.border, .fill) > :is(input, textarea, select):focus {
  2319. box-shadow: var(--elevate2);
  2320. }
  2321. .field.invalid:not(.border, .round) > :is(input, textarea, select),
  2322. .field.invalid:not(.border, .round) > :is(input, textarea, select):focus {
  2323. border-block-end-color: var(--error);
  2324. }
  2325. .field.invalid.border > :is(input, textarea, select),
  2326. .field.invalid.border > :is(input, textarea, select):focus {
  2327. border-color: var(--error);
  2328. }
  2329. .field:has(> :disabled) {
  2330. opacity: 0.5;
  2331. cursor: not-allowed;
  2332. }
  2333. .field > :disabled {
  2334. cursor: not-allowed;
  2335. }
  2336. .field.textarea.small:not(.min) {
  2337. ---size: 4.5rem;
  2338. }
  2339. .field.textarea:not(.min) {
  2340. ---size: 5.5rem;
  2341. }
  2342. .field.textarea.large:not(.min) {
  2343. ---size: 6.5rem;
  2344. }
  2345. .field.textarea.extra:not(.min) {
  2346. ---size: 7.5rem;
  2347. }
  2348. .field > select {
  2349. user-select: none;
  2350. }
  2351. .field > select > option {
  2352. background-color: var(--surface-container);
  2353. color: var(--on-surface);
  2354. }
  2355. .field.label > :is(input, select) {
  2356. padding-block-start: 1rem;
  2357. }
  2358. .field.label.border:not(.fill) > :is(input, select) {
  2359. padding-block-start: 0;
  2360. }
  2361. .field > textarea {
  2362. padding-block-start: var(---start);
  2363. white-space: pre-wrap;
  2364. }
  2365. .field > textarea:focus {
  2366. padding-block-start: calc(var(---start) - 0.06rem);
  2367. }
  2368. .field:not(.label) > textarea,
  2369. .field.border.label:not(.fill) > textarea {
  2370. padding-block-start: calc(var(---start) - 0.5rem);
  2371. }
  2372. .field:not(.label) > textarea:focus,
  2373. .field.border.label:not(.fill) > textarea:focus {
  2374. padding-block-start: calc(var(---start) - 0.56rem);
  2375. }
  2376. /* label */
  2377. .field.label > label {
  2378. position: absolute;
  2379. inset: -0.5rem auto auto 1rem;
  2380. display: flex;
  2381. inline-size: calc(100% - 5rem);
  2382. block-size: 4rem;
  2383. line-height: 4rem;
  2384. font-size: 1rem;
  2385. transition: all 0.2s;
  2386. gap: 0.25rem;
  2387. white-space: nowrap;
  2388. }
  2389. [dir=rtl] .field.label > label {
  2390. inset: -0.5rem 1rem auto auto;
  2391. }
  2392. .field.label.small > label {
  2393. block-size: 3.5rem;
  2394. line-height: 3.5rem;
  2395. }
  2396. .field.label.large > label {
  2397. block-size: 4.5rem;
  2398. line-height: 4.5rem;
  2399. }
  2400. .field.label.extra > label {
  2401. block-size: 5rem;
  2402. line-height: 5rem;
  2403. }
  2404. .field.label.border.prefix:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
  2405. inset-inline-start: 1rem;
  2406. }
  2407. .field.label.round > label,
  2408. .field.label.border.prefix.round:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
  2409. inset-inline-start: 1.5rem;
  2410. }
  2411. .field.label.prefix > label {
  2412. inset-inline-start: 3rem;
  2413. }
  2414. .field.label > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
  2415. block-size: 2.5rem;
  2416. line-height: 2.5rem;
  2417. font-size: 0.75rem;
  2418. }
  2419. .field.label.border:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
  2420. block-size: 1rem;
  2421. line-height: 1rem;
  2422. }
  2423. .field.label.border:not(.fill) > label::after {
  2424. content: "";
  2425. display: block;
  2426. margin-block-start: 0.5rem;
  2427. border-block-start: 0.0625rem solid var(--outline);
  2428. block-size: 1rem;
  2429. transition: none;
  2430. flex: auto;
  2431. }
  2432. .field.label.border:not(.fill) > :focus + label::after {
  2433. border-block-start: 0.125rem solid var(--primary);
  2434. }
  2435. .field.label.border:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
  2436. .field.label.border:not(.fill) > select {
  2437. clip-path: polygon(-2% -2%, 0.75rem -2%, 0.75rem 0.5rem, calc(100% - 5rem) 0.5rem, calc(100% - 5rem) -2%, 102% -2%, 102% 102%, -2% 102%);
  2438. }
  2439. [dir=rtl] .field.label.border:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
  2440. [dir=rtl] .field.label.border:not(.fill) > select {
  2441. clip-path: polygon(-2% -2%, 5rem -2%, 5rem 0.5rem, calc(100% - 0.75rem) 0.5rem, calc(100% - 0.75rem) -2%, 102% -2%, 102% 102%, -2% 102%);
  2442. }
  2443. .field.label.border.round:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
  2444. .field.label.border.round:not(.fill) > select {
  2445. clip-path: polygon(-2% -2%, 1.25rem -2%, 1.25rem 0.5rem, calc(100% - 5rem) 0.5rem, calc(100% - 5rem) -2%, 102% -2%, 102% 102%, -2% 102%);
  2446. }
  2447. [dir=rtl] .field.label.border.round:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
  2448. [dir=rtl] .field.label.border.round:not(.fill) > select {
  2449. clip-path: polygon(-2% -2%, 5rem -2%, 5rem 0.5rem, calc(100% - 1.25rem) 0.5rem, calc(100% - 1.25rem) -2%, 102% -2%, 102% 102%, -2% 102%);
  2450. }
  2451. .field.label > :focus + label {
  2452. color: var(--primary);
  2453. }
  2454. .field.label.invalid > label,
  2455. .field.label.invalid > label::after {
  2456. color: var(--error) !important;
  2457. border-color: var(--error) !important;
  2458. }
  2459. .field.label > label > a {
  2460. block-size: inherit;
  2461. line-height: inherit;
  2462. inline-size: 1rem;
  2463. }
  2464. .field.label > label > a > :is(i, img, svg) {
  2465. block-size: 1rem;
  2466. line-height: 1rem;
  2467. inline-size: 1rem;
  2468. font-size: 1rem;
  2469. }
  2470. /* helper */
  2471. .field > :is(.helper, .error) {
  2472. position: absolute;
  2473. inset: auto auto 0 1rem;
  2474. transform: translateY(100%);
  2475. font-size: 0.75rem;
  2476. background: none !important;
  2477. padding-block-start: 0.125rem;
  2478. }
  2479. [dir=rtl] .field > :is(.helper, .error) {
  2480. inset: auto 1rem 0 auto;
  2481. }
  2482. a.helper {
  2483. color: var(--primary);
  2484. }
  2485. .field > .error {
  2486. color: var(--error) !important;
  2487. }
  2488. .field.round > :is(.helper, .error) {
  2489. inset-inline-start: 1.5rem;
  2490. }
  2491. .field.invalid > .helper {
  2492. display: none;
  2493. }
  2494. table td > .field {
  2495. margin: 0;
  2496. }
  2497. fieldset {
  2498. border-radius: 0.25rem;
  2499. padding: 1rem;
  2500. border: 0.0625rem solid var(--outline-variant);
  2501. }
  2502. fieldset > legend {
  2503. margin: 0 -0.25rem;
  2504. padding: 0 0.25rem;
  2505. }
  2506. fieldset > legend + * {
  2507. margin-block-start: 0 !important;
  2508. }
  2509. .grid {
  2510. ---gap: 1rem;
  2511. display: grid;
  2512. grid-template-columns: repeat(12, calc(8.33% - var(---gap) + (var(---gap) / 12)));
  2513. gap: var(---gap);
  2514. }
  2515. .grid.no-space {
  2516. ---gap: 0rem;
  2517. }
  2518. .grid.medium-space {
  2519. ---gap: 1.5rem;
  2520. }
  2521. .grid.large-space {
  2522. ---gap: 2rem;
  2523. }
  2524. .grid > * {
  2525. margin: 0;
  2526. }
  2527. .s1 {
  2528. grid-area: auto/span 1;
  2529. }
  2530. .s2 {
  2531. grid-area: auto/span 2;
  2532. }
  2533. .s3 {
  2534. grid-area: auto/span 3;
  2535. }
  2536. .s4 {
  2537. grid-area: auto/span 4;
  2538. }
  2539. .s5 {
  2540. grid-area: auto/span 5;
  2541. }
  2542. .s6 {
  2543. grid-area: auto/span 6;
  2544. }
  2545. .s7 {
  2546. grid-area: auto/span 7;
  2547. }
  2548. .s8 {
  2549. grid-area: auto/span 8;
  2550. }
  2551. .s9 {
  2552. grid-area: auto/span 9;
  2553. }
  2554. .s10 {
  2555. grid-area: auto/span 10;
  2556. }
  2557. .s11 {
  2558. grid-area: auto/span 11;
  2559. }
  2560. .s12 {
  2561. grid-area: auto/span 12;
  2562. }
  2563. @media only screen and (min-width: 601px) {
  2564. .m1 {
  2565. grid-area: auto/span 1;
  2566. }
  2567. .m2 {
  2568. grid-area: auto/span 2;
  2569. }
  2570. .m3 {
  2571. grid-area: auto/span 3;
  2572. }
  2573. .m4 {
  2574. grid-area: auto/span 4;
  2575. }
  2576. .m5 {
  2577. grid-area: auto/span 5;
  2578. }
  2579. .m6 {
  2580. grid-area: auto/span 6;
  2581. }
  2582. .m7 {
  2583. grid-area: auto/span 7;
  2584. }
  2585. .m8 {
  2586. grid-area: auto/span 8;
  2587. }
  2588. .m9 {
  2589. grid-area: auto/span 9;
  2590. }
  2591. .m10 {
  2592. grid-area: auto/span 10;
  2593. }
  2594. .m11 {
  2595. grid-area: auto/span 11;
  2596. }
  2597. .m12 {
  2598. grid-area: auto/span 12;
  2599. }
  2600. }
  2601. @media only screen and (min-width: 993px) {
  2602. .l1 {
  2603. grid-area: auto/span 1;
  2604. }
  2605. .l2 {
  2606. grid-area: auto/span 2;
  2607. }
  2608. .l3 {
  2609. grid-area: auto/span 3;
  2610. }
  2611. .l4 {
  2612. grid-area: auto/span 4;
  2613. }
  2614. .l5 {
  2615. grid-area: auto/span 5;
  2616. }
  2617. .l6 {
  2618. grid-area: auto/span 6;
  2619. }
  2620. .l7 {
  2621. grid-area: auto/span 7;
  2622. }
  2623. .l8 {
  2624. grid-area: auto/span 8;
  2625. }
  2626. .l9 {
  2627. grid-area: auto/span 9;
  2628. }
  2629. .l10 {
  2630. grid-area: auto/span 10;
  2631. }
  2632. .l11 {
  2633. grid-area: auto/span 11;
  2634. }
  2635. .l12 {
  2636. grid-area: auto/span 12;
  2637. }
  2638. }
  2639. i,
  2640. :is(.checkbox, .radio, .switch) > span::before,
  2641. .icon > span > i {
  2642. ---size: 1.5rem;
  2643. font-family: var(--font-icon);
  2644. font-weight: normal;
  2645. font-style: normal;
  2646. font-size: var(---size);
  2647. letter-spacing: normal;
  2648. text-transform: none;
  2649. display: inline-flex;
  2650. align-items: center;
  2651. justify-content: center;
  2652. white-space: nowrap;
  2653. word-wrap: normal;
  2654. direction: ltr;
  2655. font-feature-settings: "liga";
  2656. -webkit-font-smoothing: antialiased;
  2657. vertical-align: middle;
  2658. text-align: center;
  2659. overflow: hidden;
  2660. inline-size: var(---size);
  2661. min-inline-size: var(---size);
  2662. block-size: var(---size);
  2663. min-block-size: var(---size);
  2664. box-sizing: content-box;
  2665. line-height: normal;
  2666. }
  2667. i.tiny {
  2668. ---size: 1rem;
  2669. }
  2670. .chip > i,
  2671. i.small {
  2672. ---size: 1.25rem;
  2673. }
  2674. i.medium {
  2675. ---size: 1.5rem;
  2676. }
  2677. i.large {
  2678. ---size: 1.75rem;
  2679. }
  2680. i.extra {
  2681. ---size: 2rem;
  2682. }
  2683. i.fill,
  2684. a.row:is(:hover, :focus) > i,
  2685. .transparent:is(:hover, :focus) > i {
  2686. font-variation-settings: "FILL" 1;
  2687. }
  2688. i > :is(img, svg) {
  2689. inline-size: 100%;
  2690. block-size: 100%;
  2691. background-size: 100%;
  2692. border-radius: inherit;
  2693. position: absolute;
  2694. inset: 0 auto auto 0;
  2695. padding: inherit;
  2696. }
  2697. i[class*=fa-] {
  2698. font-size: calc(var(---size) * 0.85);
  2699. line-height: normal;
  2700. block-size: auto;
  2701. min-block-size: auto;
  2702. }
  2703. .absolute {
  2704. position: absolute;
  2705. }
  2706. .fixed {
  2707. position: fixed;
  2708. }
  2709. :is(.absolute, .fixed).left.right {
  2710. inline-size: auto;
  2711. }
  2712. :is(.absolute, .fixed).left.right.small {
  2713. block-size: 20rem;
  2714. }
  2715. :is(.absolute, .fixed).left.right.medium {
  2716. block-size: 28rem;
  2717. }
  2718. :is(.absolute, .fixed).left.right.large {
  2719. block-size: 44rem;
  2720. }
  2721. :is(.absolute, .fixed).top.bottom.small {
  2722. inline-size: 20rem;
  2723. }
  2724. :is(.absolute, .fixed).top.bottom.medium {
  2725. inline-size: 28rem;
  2726. }
  2727. :is(.absolute, .fixed).top.bottom.large {
  2728. inline-size: 44rem;
  2729. }
  2730. header,
  2731. footer {
  2732. display: flex;
  2733. justify-content: center;
  2734. flex-direction: column;
  2735. min-block-size: 4rem;
  2736. padding: 0 1rem;
  2737. background-color: var(--surface-container);
  2738. }
  2739. main ~ footer {
  2740. min-block-size: 5rem;
  2741. }
  2742. :is(header, footer).fixed.responsive {
  2743. z-index: 12;
  2744. }
  2745. :is(header, footer, menu > *).fixed {
  2746. position: sticky;
  2747. inset: 0;
  2748. z-index: 11;
  2749. background-color: inherit;
  2750. }
  2751. :is(dialog, menu, nav, article) > :is(header, footer) {
  2752. background-color: inherit;
  2753. padding: 0;
  2754. }
  2755. :is(dialog, article, [class*=padding]) > :is(header, footer).fixed {
  2756. ---translateY: 1rem;
  2757. transform: translateY(var(---translateY));
  2758. }
  2759. :is(dialog, article, [class*=padding]) > header.fixed {
  2760. transform: translateY(calc(-1 * var(---translateY)));
  2761. }
  2762. .no-padding > :is(header, footer).fixed {
  2763. transform: none;
  2764. }
  2765. .small-padding > :is(header, footer).fixed {
  2766. ---translateY: 0.5rem;
  2767. }
  2768. :is(.large-padding, dialog:not(.left, .right, .top, .bottom)) > :is(header, footer).fixed {
  2769. ---translateY: 1.5rem;
  2770. }
  2771. svg {
  2772. fill: currentcolor;
  2773. }
  2774. :is(img, svg, video):is(.small, .medium, .large, .tiny, .extra, .round, .circle, .responsive) {
  2775. object-fit: cover;
  2776. object-position: center;
  2777. transition: transform var(--speed3), border-radius var(--speed3), padding var(--speed3);
  2778. block-size: 3rem;
  2779. inline-size: 3rem;
  2780. }
  2781. :is(img, svg, video).round {
  2782. border-radius: 0.5rem;
  2783. }
  2784. :is(img, svg, video).tiny {
  2785. block-size: 2rem;
  2786. inline-size: 2rem;
  2787. }
  2788. :is(img, svg, video).small {
  2789. block-size: 2.5rem;
  2790. inline-size: 2.5rem;
  2791. }
  2792. :is(img, svg, video).large {
  2793. block-size: 3.5rem;
  2794. inline-size: 3.5rem;
  2795. }
  2796. :is(img, svg, video).extra {
  2797. block-size: 4rem;
  2798. inline-size: 4rem;
  2799. }
  2800. :is(img, svg, video).responsive {
  2801. inline-size: 100%;
  2802. block-size: 100%;
  2803. margin: 0 auto;
  2804. }
  2805. :is(button, .button, .chip):not(.transparent) > .responsive {
  2806. border: 0.25rem solid transparent;
  2807. }
  2808. :is(button, .button, .chip.medium) > .responsive {
  2809. inline-size: 2.5rem;
  2810. }
  2811. :is(button.small, .button.small, .chip:not(.medium)) > .responsive {
  2812. inline-size: 2rem;
  2813. }
  2814. :is(button, .button, .chip).large > .responsive {
  2815. inline-size: 3rem;
  2816. }
  2817. :is(button, .button, .chip).extra > .responsive {
  2818. inline-size: 3.5rem;
  2819. }
  2820. :is(img, svg, video).responsive.tiny {
  2821. inline-size: 100%;
  2822. block-size: 4rem;
  2823. }
  2824. :is(img, svg, video).responsive.small {
  2825. inline-size: 100%;
  2826. block-size: 8rem;
  2827. }
  2828. :is(img, svg, video).responsive.medium {
  2829. inline-size: 100%;
  2830. block-size: 12rem;
  2831. }
  2832. :is(img, svg, video).responsive.large {
  2833. inline-size: 100%;
  2834. block-size: 16rem;
  2835. }
  2836. :is(img, svg, video).responsive.extra {
  2837. inline-size: 100%;
  2838. block-size: 20rem;
  2839. }
  2840. :is(img, svg, video).responsive.round {
  2841. border-radius: 2rem;
  2842. }
  2843. :is(img, svg, video).empty-state {
  2844. max-inline-size: 100%;
  2845. inline-size: 24rem;
  2846. }
  2847. :is(button, .button, .chip, .field) > :is(img, svg):not(.responsive, .tiny, .small, .medium, .large, .extra),
  2848. .tabs :is(img, svg):not(.responsive, .tiny, .small, .medium, .large, .extra) {
  2849. min-inline-size: 1.5rem;
  2850. max-inline-size: 1.5rem;
  2851. min-block-size: 1.5rem;
  2852. max-block-size: 1.5rem;
  2853. }
  2854. :is(button, .button, .chip) > :is(i, img, svg),
  2855. :is(button, .button, .chip) > .responsive {
  2856. margin: 0 -0.5rem;
  2857. }
  2858. :is(button, .button) > .responsive {
  2859. margin-inline-start: -1.5rem;
  2860. }
  2861. :is(button, .button) > span + .responsive {
  2862. margin-inline-start: -0.5rem;
  2863. margin-inline-end: -1.5rem;
  2864. }
  2865. .chip > .responsive {
  2866. margin-inline-start: -1rem;
  2867. }
  2868. .chip > span + .responsive {
  2869. margin-inline-start: -0.5rem;
  2870. margin-inline-end: -1rem;
  2871. }
  2872. :is(.circle, .square) > .responsive {
  2873. margin: 0;
  2874. }
  2875. .extend > :is(.responsive, i) {
  2876. margin: 0;
  2877. position: absolute;
  2878. inset-inline: 1rem;
  2879. z-index: 1;
  2880. }
  2881. .extend > .responsive {
  2882. inset-inline: 0;
  2883. inline-size: 3.5rem;
  2884. }
  2885. .extend.border > .responsive {
  2886. inline-size: 3.375rem;
  2887. }
  2888. menu > li {
  2889. all: unset;
  2890. }
  2891. menu {
  2892. opacity: 0;
  2893. visibility: hidden;
  2894. position: absolute;
  2895. box-shadow: var(--elevate2);
  2896. background-color: var(--surface-container);
  2897. z-index: 11;
  2898. inset: auto auto 0 0;
  2899. inline-size: 100%;
  2900. max-block-size: 50vh;
  2901. max-inline-size: none !important;
  2902. overflow-x: hidden;
  2903. overflow-y: auto;
  2904. font-size: 0.875rem;
  2905. font-weight: normal;
  2906. text-transform: none;
  2907. color: var(--on-surface);
  2908. line-height: normal;
  2909. text-align: start;
  2910. border-radius: 0.25rem;
  2911. transform: scale(0.8) translateY(120%);
  2912. transition: all var(--speed2), 0s background-color;
  2913. }
  2914. [dir=rtl] menu {
  2915. inset: auto 0 0 auto;
  2916. }
  2917. menu.no-wrap {
  2918. inline-size: max-content;
  2919. white-space: nowrap !important;
  2920. }
  2921. menu.active,
  2922. menu:not([data-ui]):active,
  2923. :not(menu, [data-ui]):focus-within > menu,
  2924. menu > :is(a, li, nav):hover + menu,
  2925. menu > menu:hover {
  2926. opacity: 1;
  2927. visibility: visible;
  2928. transform: scale(1) translateY(100%);
  2929. }
  2930. menu * {
  2931. white-space: inherit !important;
  2932. }
  2933. menu > :is(a, nav, li > a, li > nav) {
  2934. padding: 0.5rem 1rem;
  2935. min-block-size: 3rem;
  2936. flex: 1;
  2937. margin: 0 !important;
  2938. }
  2939. menu > :is(a, li > a):not(.row) {
  2940. display: flex;
  2941. flex-direction: column;
  2942. align-items: flex-start;
  2943. }
  2944. menu > :is(a, nav, li > a, li > nav):is(:hover, :focus, .active) {
  2945. background-color: var(--active);
  2946. }
  2947. menu.min {
  2948. inset: 0 0 auto 0;
  2949. transform: none !important;
  2950. border-radius: inherit;
  2951. }
  2952. [dir=rtl] menu.min.right,
  2953. menu.min.left {
  2954. inset: 0 0 auto auto;
  2955. }
  2956. [dir=rtl] menu.min.left,
  2957. menu.min.right {
  2958. inset: 0 auto auto 0;
  2959. }
  2960. menu.max {
  2961. position: fixed;
  2962. inset: 0;
  2963. block-size: 100%;
  2964. max-block-size: none;
  2965. min-block-size: auto;
  2966. z-index: 100;
  2967. transform: none !important;
  2968. }
  2969. menu.no-wrap:is(.min, .max) {
  2970. min-inline-size: 16rem;
  2971. }
  2972. [dir=rtl] menu.right,
  2973. menu.left {
  2974. inset: auto 0 0 auto;
  2975. }
  2976. [dir=rtl] menu.left,
  2977. menu.right {
  2978. inset: auto auto 0 0;
  2979. }
  2980. menu:has(> menu),
  2981. menu > menu {
  2982. ---child: 1;
  2983. ---type: 0;
  2984. overflow: unset;
  2985. white-space: nowrap;
  2986. inline-size: auto;
  2987. min-inline-size: 12rem;
  2988. max-block-size: none;
  2989. }
  2990. menu > menu,
  2991. menu > menu.right,
  2992. [dir=rtl] menu > menu.left {
  2993. inset: auto auto calc(3rem * (var(---child) - var(---type))) 100%;
  2994. }
  2995. [dir=rtl] menu > menu,
  2996. [dir=rtl] menu > menu.right,
  2997. menu > menu.left {
  2998. inset: auto 100% calc(3rem * (var(---child) - var(---type))) auto;
  2999. }
  3000. menu > :nth-last-child(2) {
  3001. ---child: 2;
  3002. }
  3003. menu > :nth-last-child(3) {
  3004. ---child: 3;
  3005. }
  3006. menu > :nth-last-child(4) {
  3007. ---child: 4;
  3008. }
  3009. menu > :nth-last-child(5) {
  3010. ---child: 5;
  3011. }
  3012. menu > :nth-last-child(6) {
  3013. ---child: 6;
  3014. }
  3015. menu > :nth-last-child(7) {
  3016. ---child: 7;
  3017. }
  3018. menu > :nth-last-child(8) {
  3019. ---child: 8;
  3020. }
  3021. menu > :nth-last-child(9) {
  3022. ---child: 9;
  3023. }
  3024. menu > :nth-last-child(10) {
  3025. ---child: 10;
  3026. }
  3027. menu > :nth-last-child(11) {
  3028. ---child: 11;
  3029. }
  3030. menu > :nth-last-of-type(2) {
  3031. ---type: 1;
  3032. }
  3033. menu > :nth-last-of-type(3) {
  3034. ---type: 2;
  3035. }
  3036. menu > :nth-last-of-type(4) {
  3037. ---type: 3;
  3038. }
  3039. menu > :nth-last-of-type(5) {
  3040. ---type: 4;
  3041. }
  3042. menu > :nth-last-of-type(6) {
  3043. ---type: 5;
  3044. }
  3045. menu > :nth-last-of-type(7) {
  3046. ---type: 6;
  3047. }
  3048. menu > :nth-last-of-type(8) {
  3049. ---type: 7;
  3050. }
  3051. menu > :nth-last-of-type(9) {
  3052. ---type: 8;
  3053. }
  3054. menu > :nth-last-of-type(10) {
  3055. ---type: 9;
  3056. }
  3057. menu > :nth-last-of-type(11) {
  3058. ---type: 10;
  3059. }
  3060. nav > :is(ol, ul),
  3061. nav > :is(ol, ul) > li {
  3062. all: unset;
  3063. }
  3064. nav,
  3065. .row,
  3066. a.row,
  3067. nav.drawer > :is(a, label),
  3068. nav.drawer > :is(ol, ul) > li > :is(a, label) {
  3069. display: flex;
  3070. align-items: center;
  3071. align-self: normal;
  3072. text-align: start;
  3073. justify-content: flex-start;
  3074. white-space: nowrap;
  3075. gap: 1rem;
  3076. }
  3077. a.row,
  3078. nav.row {
  3079. min-block-size: 3rem;
  3080. margin: 0;
  3081. }
  3082. :is(nav, .row, .max) > :only-child,
  3083. nav > :is(ol, ul) > li > :only-child {
  3084. margin: 0;
  3085. }
  3086. :is(nav, .row) > * {
  3087. margin: 0;
  3088. white-space: normal;
  3089. flex: none;
  3090. }
  3091. :is(nav, .row).no-space {
  3092. gap: 0;
  3093. }
  3094. :is(nav, .row).no-space:not(.vertical) > .border + .border {
  3095. border-inline-start: 0;
  3096. }
  3097. :is(nav, .row).no-space.vertical > .border + .border {
  3098. border-top: 0;
  3099. }
  3100. :is(nav, .row).medium-space {
  3101. gap: 1.5rem;
  3102. }
  3103. :is(nav, .row).large-space {
  3104. gap: 2rem;
  3105. }
  3106. :is(nav, .row) > .max,
  3107. :is(nav, .row) > :is(ol, ul) > .max,
  3108. nav.drawer > :is(a, label) > .max,
  3109. nav.drawer > :is(ol, ul) > li > :is(a, label) > .max {
  3110. flex: 1;
  3111. }
  3112. :is(nav, .row).wrap {
  3113. display: flex;
  3114. flex-wrap: wrap;
  3115. }
  3116. :is(header, footer) > :is(nav, .row) {
  3117. min-block-size: inherit;
  3118. }
  3119. :is(nav, .row) > .border.no-margin + .border.no-margin {
  3120. border-inline-start: 0;
  3121. }
  3122. nav:is(.left, .right, .top, .bottom) {
  3123. border: 0;
  3124. position: fixed;
  3125. color: var(--on-surface);
  3126. transform: none;
  3127. z-index: 100;
  3128. block-size: auto;
  3129. inline-size: auto;
  3130. text-align: center;
  3131. padding: 0.5rem 1rem;
  3132. inset: var(--top) var(--right) var(--bottom) var(--left);
  3133. margin: 0;
  3134. }
  3135. nav:is(.left, .right) {
  3136. inline-size: 5rem;
  3137. justify-content: flex-start;
  3138. flex-direction: column;
  3139. background-color: var(--surface);
  3140. }
  3141. nav:is(.top, .bottom) {
  3142. block-size: 5rem;
  3143. justify-content: center;
  3144. flex-direction: row;
  3145. background-color: var(--surface-container);
  3146. }
  3147. nav.top {
  3148. inset-block-end: auto;
  3149. }
  3150. nav.left {
  3151. inset-inline-end: auto;
  3152. }
  3153. nav.right {
  3154. inset-inline-start: auto;
  3155. }
  3156. nav.bottom {
  3157. inset-block-start: auto;
  3158. }
  3159. nav.drawer {
  3160. flex-direction: column;
  3161. align-items: normal;
  3162. inline-size: 20rem;
  3163. gap: 0;
  3164. padding: 0.5rem 1rem;
  3165. }
  3166. nav.drawer:is(.min, .max) {
  3167. inline-size: auto;
  3168. }
  3169. nav.drawer.max {
  3170. inline-size: 100%;
  3171. }
  3172. :is(nav, .row) > header {
  3173. background-color: inherit;
  3174. }
  3175. nav:is(.left, .right) > header {
  3176. transform: translateY(-0.5rem);
  3177. }
  3178. nav.drawer > header {
  3179. transform: translateY(-0.75rem);
  3180. min-block-size: 4.5rem;
  3181. align-self: stretch;
  3182. }
  3183. nav.drawer > :is(a, label),
  3184. nav.drawer > :is(ol, ul) > li > :is(a, label),
  3185. :is(a.row, nav.row):is(.wave, .slow-ripple, .ripple, .fast-ripple) {
  3186. padding: 0.75rem;
  3187. font-size: inherit;
  3188. }
  3189. nav.drawer > a,
  3190. nav.drawer > :is(ol, ul) > li > a {
  3191. border-radius: 2rem;
  3192. }
  3193. nav.drawer > a:is(:hover, .active),
  3194. nav.drawer > :is(ol, ul) > li > a:is(:hover, .active) {
  3195. background-color: var(--secondary-container);
  3196. }
  3197. nav.drawer > a:is(:hover, :focus, .active) > i,
  3198. nav.drawer > :is(ol, ul) > li > a:is(:hover, :focus, .active) > i {
  3199. font-variation-settings: "FILL" 1;
  3200. }
  3201. nav > :is(ol, ul) {
  3202. all: inherit;
  3203. flex: auto;
  3204. }
  3205. nav:not(.left, .right, .bottom, .top) > :is(ol, ul) {
  3206. padding: 0;
  3207. }
  3208. nav:is(.left, .right, .top, .bottom):not(.drawer) > a:not(.button, .chip),
  3209. nav:is(.left, .right, .top, .bottom):not(.drawer) > :is(ol, ul) > li > a:not(.button, .chip) {
  3210. align-self: center;
  3211. display: flex;
  3212. flex-direction: column;
  3213. gap: 0.25rem;
  3214. line-height: normal;
  3215. }
  3216. nav:is(.top, .bottom):not(.drawer) > a:not(.button, .chip),
  3217. nav:is(.top, .bottom):not(.drawer) > :is(ol, ul) > li > a:not(.button, .chip) {
  3218. inline-size: 3.5rem;
  3219. }
  3220. nav:is(.left, .right, .top, .bottom):not(.drawer) > a:not(.button, .chip) > i,
  3221. nav:is(.left, .right, .top, .bottom):not(.drawer) > :is(ol, ul) > li > a:not(.button, .chip) > i {
  3222. padding: 0.25rem;
  3223. border-radius: 2rem;
  3224. transition: padding var(--speed1) linear;
  3225. margin: 0 auto;
  3226. }
  3227. nav:is(.left, .right, .top, .bottom):not(.drawer) > a:not(.button, .chip):is(:hover, :focus, .active) > i,
  3228. nav:is(.left, .right, .top, .bottom):not(.drawer) > :is(ol, ul) > li > a:not(.button, .chip):is(:hover, :focus, .active) > i {
  3229. background-color: var(--secondary-container);
  3230. color: var(--on-secondary-container);
  3231. padding: 0.25rem 1rem;
  3232. font-variation-settings: "FILL" 1;
  3233. }
  3234. :is(nav, .row):is(.left-align, .top-align, .vertical) {
  3235. justify-content: flex-start;
  3236. }
  3237. :is(nav, .row):is(.right-align, .bottom-align) {
  3238. justify-content: flex-end;
  3239. }
  3240. :is(nav, .row):is(.center-align, .middle-align) {
  3241. justify-content: center;
  3242. }
  3243. :is(nav, .row):is(.left-align, .top-align, .vertical).vertical {
  3244. align-items: flex-start;
  3245. }
  3246. :is(nav, .row):is(.right-align, .bottom-align).vertical {
  3247. align-items: flex-end;
  3248. }
  3249. :is(nav, .row):is(.center-align, .middle-align).vertical {
  3250. align-items: center;
  3251. }
  3252. :is(.drawer, .vertical) > :is(li, [class*=divider], hr):not(.vertical),
  3253. :is(.drawer, .vertical) > :is(ol, ul) > li:not(.vertical) {
  3254. align-self: stretch;
  3255. }
  3256. nav:not(.left, .right) > .space {
  3257. inline-size: 0.5rem;
  3258. }
  3259. nav:not(.left, .right) > .medium-space {
  3260. inline-size: 1rem;
  3261. }
  3262. nav:not(.left, .right) > .large-space {
  3263. inline-size: 1.5rem;
  3264. }
  3265. nav.tabbed {
  3266. background-color: var(--surface-container);
  3267. border-radius: 4rem !important;
  3268. gap: 0rem;
  3269. block-size: 4rem;
  3270. }
  3271. nav.tabbed.small {
  3272. block-size: 3rem;
  3273. }
  3274. nav.tabbed.large {
  3275. block-size: 5rem;
  3276. }
  3277. nav.tabbed > a {
  3278. border-radius: inherit;
  3279. block-size: inherit;
  3280. display: inline-flex;
  3281. align-items: center;
  3282. padding-inline: 1rem;
  3283. gap: 0.5rem;
  3284. font-size: 1rem;
  3285. flex: 1;
  3286. }
  3287. nav.tabbed > a.active {
  3288. background-color: var(--primary-container);
  3289. }
  3290. :not(nav) > :is(ul, ol) {
  3291. all: revert;
  3292. }
  3293. :is(.scroll, .no-scroll, .no-space, .tabs, .tabbed) > :focus-visible {
  3294. outline: 0.125rem solid var(--primary);
  3295. outline-offset: -0.125rem;
  3296. }
  3297. @media only screen and (max-width: 600px) {
  3298. nav.top,
  3299. nav.bottom {
  3300. justify-content: space-around;
  3301. }
  3302. }
  3303. .overlay {
  3304. opacity: 0;
  3305. visibility: hidden;
  3306. position: fixed;
  3307. inset: 0;
  3308. color: var(--on-surface);
  3309. background-color: var(--overlay);
  3310. z-index: 100;
  3311. transition: all var(--speed3), 0s background-color;
  3312. }
  3313. .overlay.active {
  3314. opacity: 1;
  3315. visibility: visible;
  3316. }
  3317. .page {
  3318. ---transform: translate(0, 0);
  3319. opacity: 0;
  3320. position: absolute;
  3321. display: none;
  3322. }
  3323. .page.active {
  3324. opacity: 1;
  3325. position: inherit;
  3326. display: inherit;
  3327. animation: var(--speed4) to-page ease;
  3328. }
  3329. .page.active.top {
  3330. ---transform: translate(0, -4rem);
  3331. }
  3332. .page.active.bottom {
  3333. ---transform: translate(0, 4rem);
  3334. }
  3335. .page.active.left {
  3336. ---transform: translate(-4rem, 0);
  3337. }
  3338. .page.active.right {
  3339. ---transform: translate(4rem, 0);
  3340. }
  3341. @keyframes to-page {
  3342. from {
  3343. opacity: 0;
  3344. transform: var(---transform);
  3345. }
  3346. to {
  3347. opacity: 1;
  3348. transform: translate(0, 0);
  3349. }
  3350. }
  3351. progress {
  3352. position: relative;
  3353. inline-size: 100%;
  3354. block-size: 0.5rem;
  3355. color: var(--primary);
  3356. background: var(--primary-container);
  3357. border-radius: 1rem;
  3358. flex: none;
  3359. border: none;
  3360. overflow: hidden;
  3361. writing-mode: horizontal-tb;
  3362. direction: ltr;
  3363. -webkit-appearance: none;
  3364. }
  3365. progress.small {
  3366. inline-size: 4rem;
  3367. }
  3368. progress.medium {
  3369. inline-size: 8rem;
  3370. }
  3371. progress.large {
  3372. inline-size: 12rem;
  3373. }
  3374. progress:not(.circle, [value])::after {
  3375. content: "";
  3376. position: absolute;
  3377. inset: 0;
  3378. inline-size: 100%;
  3379. block-size: 100%;
  3380. clip-path: none;
  3381. background: currentcolor;
  3382. animation: 1.6s to-linear ease infinite;
  3383. }
  3384. progress:not(.circle, [value])::-moz-progress-bar {
  3385. animation: 1.6s to-linear ease infinite;
  3386. }
  3387. progress:not(.circle, [value])::-webkit-progress-value {
  3388. animation: 1.6s to-linear ease infinite;
  3389. }
  3390. progress::-webkit-progress-bar {
  3391. background: none;
  3392. }
  3393. progress::-webkit-progress-value {
  3394. background: currentcolor;
  3395. }
  3396. progress::-moz-progress-bar {
  3397. background: currentcolor;
  3398. }
  3399. progress.circle {
  3400. display: inline-block;
  3401. inline-size: 2.5rem;
  3402. block-size: 2.5rem;
  3403. border-radius: 50%;
  3404. border-width: 0.3rem;
  3405. border-style: solid;
  3406. border-color: currentcolor;
  3407. animation: 1.6s to-circular linear infinite;
  3408. background: none;
  3409. flex: none;
  3410. }
  3411. progress.circle::-moz-progress-bar {
  3412. background: none;
  3413. }
  3414. progress.circle.small {
  3415. inline-size: 1.5rem;
  3416. block-size: 1.5rem;
  3417. border-width: 0.2rem;
  3418. }
  3419. progress.circle.large {
  3420. inline-size: 3.5rem;
  3421. block-size: 3.5rem;
  3422. border-width: 0.4rem;
  3423. }
  3424. :is(nav, .row, .field) > progress:not(.circle, .small, .medium, .large) {
  3425. flex: auto;
  3426. }
  3427. progress.max {
  3428. display: unset;
  3429. position: absolute;
  3430. inline-size: 100% !important;
  3431. block-size: 100% !important;
  3432. color: var(--active);
  3433. background: none;
  3434. inset: 0;
  3435. border-radius: inherit;
  3436. animation: none;
  3437. writing-mode: horizontal-tb;
  3438. }
  3439. progress:is(.horizontal, .vertical, .max) {
  3440. display: unset;
  3441. inline-size: 100% !important;
  3442. }
  3443. progress.vertical {
  3444. writing-mode: vertical-lr;
  3445. }
  3446. progress.max.vertical {
  3447. transform: rotate(-180deg);
  3448. }
  3449. progress.max + * {
  3450. margin-block-start: 0;
  3451. }
  3452. :is(.button, button, .chip) > progress.circle {
  3453. color: inherit;
  3454. }
  3455. @supports (-moz-appearance:none) {
  3456. progress.max.vertical {
  3457. transform: none;
  3458. }
  3459. }
  3460. @keyframes to-linear {
  3461. 0% {
  3462. margin-inline-start: 0%;
  3463. inline-size: 0%;
  3464. }
  3465. 50% {
  3466. margin-inline-start: 0%;
  3467. inline-size: 100%;
  3468. }
  3469. 100% {
  3470. margin-inline-start: 100%;
  3471. inline-size: 0%;
  3472. }
  3473. }
  3474. @keyframes to-circular {
  3475. 0% {
  3476. transform: rotate(0deg);
  3477. clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
  3478. }
  3479. 20% {
  3480. clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%);
  3481. }
  3482. 30% {
  3483. clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%);
  3484. }
  3485. 40% {
  3486. clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%);
  3487. }
  3488. 50% {
  3489. clip-path: polygon(50% 50%, 50% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%);
  3490. }
  3491. 60% {
  3492. clip-path: polygon(50% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 100%);
  3493. }
  3494. 70% {
  3495. clip-path: polygon(50% 50%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 0% 100%, 0% 50%);
  3496. }
  3497. 80% {
  3498. clip-path: polygon(50% 50%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 50%);
  3499. }
  3500. 90% {
  3501. transform: rotate(360deg);
  3502. clip-path: polygon(50% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
  3503. }
  3504. 100% {
  3505. clip-path: polygon(50% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
  3506. }
  3507. }
  3508. /* checkbox, radio, switch */
  3509. .checkbox,
  3510. .radio,
  3511. .switch {
  3512. direction: ltr;
  3513. inline-size: auto;
  3514. block-size: auto;
  3515. line-height: normal;
  3516. white-space: nowrap;
  3517. cursor: pointer;
  3518. display: inline-flex;
  3519. align-items: center;
  3520. }
  3521. :is(.checkbox, .radio) > input {
  3522. inline-size: 1.5rem;
  3523. block-size: 1.5rem;
  3524. opacity: 0;
  3525. }
  3526. .switch > input {
  3527. inline-size: 3.25rem;
  3528. block-size: 2rem;
  3529. opacity: 0;
  3530. }
  3531. :is(.checkbox, .radio, .switch) > span {
  3532. display: inline-flex;
  3533. align-items: center;
  3534. color: var(--on-surface);
  3535. font-size: 0.875rem;
  3536. }
  3537. :is(.checkbox, .radio) > span:not(:empty) {
  3538. padding-inline-start: 0.25rem;
  3539. }
  3540. :is(.checkbox, .radio, .switch) > span::before,
  3541. .icon > span > i,
  3542. :is(.checkbox, .radio) > span::after {
  3543. content: '';
  3544. inline-size: 1.5rem;
  3545. block-size: 1.5rem;
  3546. box-sizing: border-box;
  3547. margin: 0 auto;
  3548. outline: none;
  3549. color: var(--primary);
  3550. position: absolute;
  3551. inset: auto auto auto -1.5rem;
  3552. border-radius: 50%;
  3553. user-select: none;
  3554. z-index: 1;
  3555. }
  3556. .switch > span::before,
  3557. .switch.icon > span > i {
  3558. position: absolute;
  3559. inset: 50% auto auto 0;
  3560. display: inline-flex;
  3561. align-items: center;
  3562. justify-content: center;
  3563. border-radius: 50%;
  3564. transition: all var(--speed2);
  3565. font-size: 1rem;
  3566. user-select: none;
  3567. min-inline-size: auto;
  3568. content: "";
  3569. color: var(--surface-variant);
  3570. background-color: var(--outline);
  3571. }
  3572. .switch > span::before,
  3573. .switch.icon > span > i {
  3574. transform: translate(-3rem, -50%) scale(0.6);
  3575. }
  3576. .switch.icon > span > i {
  3577. transform: translate(-3rem, -50%) scale(1);
  3578. }
  3579. .checkbox > span::before {
  3580. content: "check_box_outline_blank";
  3581. }
  3582. .checkbox > input:checked + span::before {
  3583. content: "check_box";
  3584. font-variation-settings: "FILL" 1;
  3585. }
  3586. .checkbox > input:indeterminate + span::before {
  3587. content: "indeterminate_check_box";
  3588. }
  3589. .radio > span::before {
  3590. content: "radio_button_unchecked";
  3591. }
  3592. .radio > input:checked + span::before {
  3593. content: "radio_button_checked";
  3594. }
  3595. :is(.radio, .checkbox, .switch).icon > span::before {
  3596. content: "" !important;
  3597. font-variation-settings: unset !important;
  3598. }
  3599. :is(.checkbox, .radio) > span::after {
  3600. transition: all var(--speed1);
  3601. background-color: currentColor;
  3602. box-shadow: 0 0 0 0 currentColor;
  3603. opacity: 0;
  3604. }
  3605. :is(.checkbox, .radio):is(:hover) > input:not(:disabled) + span::after,
  3606. :is(.checkbox, .radio) > input:not(:disabled):is(:focus) + span::after {
  3607. box-shadow: 0 0 0 0.5rem currentColor;
  3608. opacity: 0.1;
  3609. }
  3610. .switch > input:not(:disabled):is(:focus, :hover) + span::before,
  3611. .switch.icon > input:not(:disabled):is(:focus, :hover) + span > i {
  3612. box-shadow: 0 0 0 0.5rem var(--active);
  3613. }
  3614. :is(.checkbox, .radio) > input:checked + span::before,
  3615. :is(.checkbox, .radio).icon > input:checked + span > i {
  3616. color: var(--primary);
  3617. }
  3618. .icon > input:checked + span > i:first-child,
  3619. .icon > span > i:last-child {
  3620. opacity: 0;
  3621. }
  3622. .icon > input:checked + span > i:last-child,
  3623. .icon > span > i:first-child {
  3624. opacity: 1;
  3625. }
  3626. .switch > input:checked + span::after {
  3627. border: none;
  3628. background-color: var(--primary);
  3629. }
  3630. .switch > input:checked + span::before,
  3631. .switch.icon > input:checked + span > i {
  3632. content: "check";
  3633. color: var(--primary);
  3634. background-color: var(--on-primary);
  3635. }
  3636. .switch > input:checked + span::before,
  3637. .switch.icon > input:checked + span > i {
  3638. transform: translate(-1.75rem, -50%) scale(1);
  3639. }
  3640. :is(.checkbox, .radio, .switch) > input:disabled + span {
  3641. opacity: 0.5;
  3642. cursor: not-allowed;
  3643. }
  3644. .switch > span::after {
  3645. content: "";
  3646. position: absolute;
  3647. inset: 50% auto auto 0;
  3648. background-color: var(--active);
  3649. border: 0.125rem solid var(--outline);
  3650. box-sizing: border-box;
  3651. inline-size: 3.25rem;
  3652. block-size: 2rem;
  3653. border-radius: 2rem;
  3654. }
  3655. .switch > span::after {
  3656. transform: translate(-3.25rem, -50%);
  3657. }
  3658. .field > :is(nav, .row) {
  3659. flex-grow: 1;
  3660. padding: 0 1rem;
  3661. }
  3662. .field.round > :is(nav, .row) {
  3663. flex-grow: 1;
  3664. padding: 0 1.5rem;
  3665. }
  3666. [dir=rtl] .switch {
  3667. transform: scale(-1);
  3668. }
  3669. [dir=rtl] .switch > span::before,
  3670. [dir=rtl] .switch.icon > span > i {
  3671. transform: translate(-3rem, -50%) scale(-0.6);
  3672. }
  3673. [dir=rtl] .switch.icon > span > i {
  3674. transform: translate(-3rem, -50%) scale(-1);
  3675. }
  3676. [dir=rtl] .switch > input:checked + span::before,
  3677. [dir=rtl] .switch.icon > input:checked + span > i {
  3678. transform: translate(-1.75rem, -50%) scale(-1);
  3679. }
  3680. .switch > :focus-visible + span::after {
  3681. outline: 0.125rem solid var(--primary);
  3682. outline-offset: 0.25rem;
  3683. }
  3684. :is(.checkbox, .radio) > :focus-visible + span::before {
  3685. outline: 0.125rem solid var(--primary);
  3686. outline-offset: 0.375rem;
  3687. }
  3688. .slider {
  3689. ---start: 0%;
  3690. ---end: 0%;
  3691. ---value1: "";
  3692. ---value2: "";
  3693. display: flex;
  3694. align-items: center !important;
  3695. inline-size: auto;
  3696. block-size: 1.25rem;
  3697. margin: 1.125rem;
  3698. flex: none;
  3699. direction: ltr;
  3700. }
  3701. [dir=rtl] .slider {
  3702. transform: scaleX(-1);
  3703. }
  3704. .slider.vertical {
  3705. flex-direction: row !important;
  3706. margin: 0.5rem auto !important;
  3707. padding: 50% 0;
  3708. transform: rotate(-90deg);
  3709. inline-size: 100%;
  3710. }
  3711. .slider.small {
  3712. inline-size: 4rem;
  3713. }
  3714. .slider.medium {
  3715. inline-size: 8rem;
  3716. }
  3717. .slider.large {
  3718. inline-size: 12rem;
  3719. }
  3720. .slider > input {
  3721. appearance: none;
  3722. box-shadow: none;
  3723. border: none;
  3724. outline: none;
  3725. pointer-events: none;
  3726. inline-size: 100%;
  3727. block-size: 1rem;
  3728. background: none;
  3729. z-index: 1;
  3730. padding: 0;
  3731. margin: 0;
  3732. transform: rotate(0deg);
  3733. }
  3734. .slider > input:only-of-type {
  3735. pointer-events: all;
  3736. }
  3737. .slider > input + input {
  3738. position: absolute;
  3739. }
  3740. .slider > input::-webkit-slider-thumb {
  3741. appearance: none;
  3742. box-shadow: none;
  3743. border: none;
  3744. outline: none;
  3745. pointer-events: all;
  3746. block-size: 2.75rem;
  3747. inline-size: 0.25rem;
  3748. border-radius: 0.25rem;
  3749. background: var(--primary);
  3750. cursor: grab;
  3751. margin: 0;
  3752. }
  3753. .slider > input::-webkit-slider-thumb:active {
  3754. cursor: grabbing;
  3755. }
  3756. .slider > input::-moz-range-thumb {
  3757. appearance: none;
  3758. box-shadow: none;
  3759. border: none;
  3760. outline: none;
  3761. pointer-events: all;
  3762. block-size: 2.75rem;
  3763. inline-size: 0.25rem;
  3764. border-radius: 0.25rem;
  3765. background: var(--primary);
  3766. cursor: grab;
  3767. margin: 0;
  3768. }
  3769. .slider > input::-moz-range-thumb:active {
  3770. cursor: grabbing;
  3771. }
  3772. .slider > input:not(:disabled):is(:focus)::-webkit-slider-thumb {
  3773. transform: scaleX(0.6);
  3774. }
  3775. .slider > input:not(:disabled):is(:focus)::-moz-range-thumb {
  3776. transform: scaleX(0.6);
  3777. }
  3778. .slider > input:disabled {
  3779. cursor: not-allowed;
  3780. opacity: 1;
  3781. }
  3782. .slider > input:disabled::-webkit-slider-thumb {
  3783. background: #9E9E9E;
  3784. cursor: not-allowed;
  3785. }
  3786. .slider > input:disabled::-moz-range-thumb {
  3787. background: #9E9E9E;
  3788. cursor: not-allowed;
  3789. }
  3790. .slider > input:disabled ~ span {
  3791. background: #9E9E9E;
  3792. }
  3793. .slider > span {
  3794. position: absolute;
  3795. block-size: 1rem;
  3796. border-radius: 1rem 0 0 1rem;
  3797. background: var(--primary);
  3798. z-index: 0;
  3799. inset: calc(50% - 0.5rem) var(---end) auto var(---start);
  3800. clip-path: polygon(0 0, calc(100% - 0.5rem) 0, calc(100% - 0.5rem) 100%, 0 100%);
  3801. }
  3802. .slider > input[type=range] + input[type=range] ~ span {
  3803. border-radius: 0;
  3804. clip-path: polygon(0.5rem 0, max(0.5rem, calc(100% - 0.5rem)) 0, max(0.5rem, calc(100% - 0.5rem)) 100%, 0.5rem 100%);
  3805. }
  3806. .field > .slider {
  3807. inline-size: 100%;
  3808. }
  3809. .slider::before {
  3810. content: "";
  3811. position: absolute;
  3812. inline-size: 100%;
  3813. block-size: 1rem;
  3814. border-radius: 1rem;
  3815. background: var(--primary-container);
  3816. clip-path: polygon(calc(var(---start) - 0.5rem) 0, 0 0, 0 100%, calc(var(---start) - 0.5rem) 100%, calc(var(---start) - 0.5rem) 0, calc(100% - var(---end) + 0.5rem) 0, 100% 0, 100% 100%, calc(100% - var(---end) + 0.5rem) 100%, calc(100% - var(---end) + 0.5rem) 0);
  3817. }
  3818. .slider:has(> [disabled])::before {
  3819. background: var(--active);
  3820. }
  3821. .slider > .tooltip {
  3822. visibility: hidden !important;
  3823. opacity: 0 !important;
  3824. inset: 0 auto auto calc(100% - var(---end));
  3825. border-radius: 2rem;
  3826. transition: top var(--speed2) ease, opacity var(--speed2) ease;
  3827. transform: translate(-50%, -50%) !important;
  3828. padding: 0.75rem 1rem;
  3829. }
  3830. [dir=rtl] .slider > .tooltip {
  3831. transform: translate(-50%, -50%) scaleX(-1) !important;
  3832. }
  3833. .slider > .tooltip + .tooltip {
  3834. inset: 0.25rem calc(100% - var(---start)) auto auto;
  3835. transform: translate(50%, -50%) !important;
  3836. }
  3837. [dir=rtl] .slider > .tooltip + .tooltip {
  3838. transform: translate(50%, -50%) scaleX(-1) !important;
  3839. }
  3840. .slider > .tooltip::before {
  3841. content: var(---value1);
  3842. }
  3843. .slider > .tooltip + .tooltip::before {
  3844. content: var(---value2);
  3845. }
  3846. .slider > :focus ~ .tooltip {
  3847. inset-block-start: -1rem !important;
  3848. opacity: 1 !important;
  3849. visibility: visible !important;
  3850. }
  3851. .slider.vertical > .tooltip {
  3852. display: none;
  3853. }
  3854. :is(nav, .row, .field) > .slider:not(.circle, .small, .medium, .large) {
  3855. flex: auto;
  3856. }
  3857. .slider.max,
  3858. .slider.max.vertical,
  3859. .slider.max > input,
  3860. .slider.max.vertical > input {
  3861. all: unset;
  3862. margin: 0 !important;
  3863. position: absolute;
  3864. color: var(--primary);
  3865. inset: 0;
  3866. border-radius: inherit;
  3867. overflow: hidden;
  3868. z-index: 2;
  3869. cursor: grab;
  3870. inline-size: 100%;
  3871. block-size: 100%;
  3872. }
  3873. .slider.max::before {
  3874. display: none;
  3875. }
  3876. .slider.max.vertical > input {
  3877. writing-mode: vertical-lr;
  3878. transform: rotate(-180deg);
  3879. }
  3880. .slider.max > input::-webkit-slider-thumb {
  3881. opacity: 0;
  3882. inline-size: 1rem;
  3883. block-size: 100vh;
  3884. transform: none !important;
  3885. }
  3886. .slider.max > input::-moz-range-thumb {
  3887. opacity: 0;
  3888. inline-size: 1rem;
  3889. block-size: 100vh;
  3890. transform: none !important;
  3891. }
  3892. .slider.max > span {
  3893. block-size: auto !important;
  3894. inset: 0 var(---end) 0 var(---start);
  3895. clip-path: none;
  3896. background: currentcolor;
  3897. border-radius: 0;
  3898. }
  3899. .slider.max.vertical > span {
  3900. inset: var(---end) 0 var(---start) 0;
  3901. }
  3902. .slider > input:focus-visible::-webkit-slider-thumb {
  3903. outline: 0.1875rem solid var(--primary);
  3904. outline-offset: 0.25rem;
  3905. }
  3906. .slider > input:focus-visible::-moz-range-thumb {
  3907. outline: 0.1875rem solid var(--primary);
  3908. outline-offset: 0.25rem;
  3909. }
  3910. .slider.max > input:focus-visible {
  3911. outline: 0.1875rem solid var(--primary);
  3912. outline-offset: -0.125rem;
  3913. }
  3914. @media (pointer: coarse) {
  3915. .slider > :hover ~ .tooltip {
  3916. inset-block-start: -1rem !important;
  3917. opacity: 1 !important;
  3918. visibility: visible !important;
  3919. }
  3920. }
  3921. .snackbar {
  3922. position: fixed;
  3923. inset: auto auto 6rem 50%;
  3924. inline-size: 80%;
  3925. block-size: auto;
  3926. z-index: 200;
  3927. visibility: hidden;
  3928. display: flex;
  3929. box-shadow: var(--elevate2);
  3930. color: var(--inverse-on-surface);
  3931. background-color: var(--inverse-surface);
  3932. padding: 1rem;
  3933. opacity: 1;
  3934. cursor: pointer;
  3935. text-align: start;
  3936. align-items: center;
  3937. border-radius: 0.25rem;
  3938. gap: 0.5rem;
  3939. transition: all var(--speed2);
  3940. transform: translate(-50%, 1rem);
  3941. opacity: 0;
  3942. }
  3943. .snackbar.top {
  3944. inset: 6rem auto auto 50%;
  3945. }
  3946. .snackbar.active {
  3947. visibility: visible;
  3948. transform: translate(-50%, 0);
  3949. opacity: 1;
  3950. }
  3951. .snackbar > .max {
  3952. flex: auto;
  3953. }
  3954. @media only screen and (min-width: 993px) {
  3955. .snackbar {
  3956. inline-size: 40%;
  3957. }
  3958. }
  3959. table {
  3960. inline-size: 100%;
  3961. border-spacing: 0;
  3962. font-size: 0.875rem;
  3963. text-align: start;
  3964. }
  3965. .scroll > table,
  3966. table :is(thead, tbody, tfoot, tr, th, td) {
  3967. background-color: inherit;
  3968. color: inherit;
  3969. }
  3970. :is(th, td) {
  3971. inline-size: auto;
  3972. text-align: inherit;
  3973. padding: 0.5rem;
  3974. }
  3975. :is(th, td) > * {
  3976. vertical-align: middle;
  3977. }
  3978. table.border > tbody > tr:not(:last-child) > td,
  3979. thead > tr > th {
  3980. border-block-end: 0.0625rem solid var(--outline);
  3981. }
  3982. tfoot > tr > th {
  3983. border-block-start: 0.0625rem solid var(--outline);
  3984. }
  3985. table.stripes > tbody > tr:nth-child(odd) {
  3986. background-color: var(--active);
  3987. }
  3988. table.no-space :is(th, td) {
  3989. padding: 0;
  3990. }
  3991. table.medium-space :is(th, td) {
  3992. padding: 0.75rem;
  3993. }
  3994. table.large-space :is(th, td) {
  3995. padding: 1rem;
  3996. }
  3997. table > .fixed,
  3998. th.fixed {
  3999. position: sticky;
  4000. z-index: 1;
  4001. inset-block-start: 0;
  4002. }
  4003. tfoot.fixed,
  4004. tfoot th.fixed {
  4005. inset-block-end: 0;
  4006. }
  4007. :is(td, th).min {
  4008. inline-size: 0.1%;
  4009. white-space: nowrap;
  4010. }
  4011. .tabs {
  4012. display: flex;
  4013. white-space: nowrap;
  4014. border-block-end: 0.0625rem solid var(--surface-variant);
  4015. }
  4016. .tabs:not(.left-align, .right-align, .center-align) {
  4017. justify-content: space-around;
  4018. }
  4019. .tabs > a {
  4020. display: flex;
  4021. font-size: 0.875rem;
  4022. font-weight: 500;
  4023. color: var(--on-surface-variant);
  4024. padding: 0.5rem 1rem;
  4025. text-align: center;
  4026. min-block-size: 3rem;
  4027. inline-size: 100%;
  4028. gap: 0.25rem;
  4029. }
  4030. .tabs.small > a {
  4031. min-block-size: 2rem;
  4032. }
  4033. .tabs.large > a {
  4034. min-block-size: 4rem;
  4035. }
  4036. .tabs > a.active,
  4037. .tabs > a.active > i {
  4038. color: var(--primary);
  4039. }
  4040. .tabs > a.active::before {
  4041. content: '';
  4042. position: absolute;
  4043. inset: auto 0 0 0;
  4044. block-size: 0.125rem;
  4045. background-color: var(--primary);
  4046. }
  4047. .tabs.min > a.active::before {
  4048. margin: 0 auto;
  4049. max-inline-size: min(100%, 4rem);
  4050. }
  4051. .tabs:is(.left-align, .center-align, .right-align) > a {
  4052. inline-size: auto;
  4053. }
  4054. .tooltip {
  4055. ---space: -0.5rem;
  4056. visibility: hidden;
  4057. display: flex;
  4058. align-items: center;
  4059. justify-content: center;
  4060. gap: 0.5rem;
  4061. background-color: var(--inverse-surface);
  4062. color: var(--inverse-on-surface);
  4063. font-size: 0.75rem;
  4064. text-align: center;
  4065. border-radius: 0.25rem;
  4066. padding: 0.5rem;
  4067. position: absolute;
  4068. z-index: 3;
  4069. inset: 0 auto auto 50%;
  4070. inline-size: auto;
  4071. white-space: nowrap;
  4072. font-weight: 500;
  4073. opacity: 0;
  4074. transition: all var(--speed2);
  4075. line-height: normal;
  4076. transform: translate(-50%, -100%) scale(0.9);
  4077. }
  4078. .tooltip.left {
  4079. inset: 50% auto auto 0;
  4080. transform: translate(-100%, -50%) scale(0.9);
  4081. }
  4082. .tooltip.right {
  4083. inset: 50% 0 auto auto;
  4084. transform: translate(100%, -50%) scale(0.9);
  4085. }
  4086. .tooltip.bottom {
  4087. inset: auto auto 0 50%;
  4088. transform: translate(-50%, 100%) scale(0.9);
  4089. }
  4090. .tooltip.small {
  4091. inline-size: 8rem;
  4092. white-space: normal;
  4093. }
  4094. .tooltip.medium {
  4095. inline-size: 12rem;
  4096. white-space: normal;
  4097. }
  4098. .tooltip.large {
  4099. inline-size: 16rem;
  4100. white-space: normal;
  4101. }
  4102. :hover > .tooltip {
  4103. visibility: visible;
  4104. opacity: 1;
  4105. transform: translate(-50%, -100%) scale(1);
  4106. }
  4107. :hover > .tooltip.left {
  4108. transform: translate(-100%, -50%) scale(1);
  4109. }
  4110. :hover > .tooltip.right {
  4111. transform: translate(100%, -50%) scale(1);
  4112. }
  4113. :hover > .tooltip.bottom {
  4114. transform: translate(-50%, 100%) scale(1);
  4115. }
  4116. .tooltip.no-space {
  4117. ---space: 0;
  4118. }
  4119. .tooltip.medium-space {
  4120. ---space: -1rem;
  4121. }
  4122. .tooltip.large-space {
  4123. ---space: -1.5rem;
  4124. }
  4125. .tooltip:not(.left, .right, .bottom) {
  4126. margin-block-start: var(---space) !important;
  4127. }
  4128. .tooltip.left,
  4129. .tooltip.right {
  4130. margin-inline: var(---space) !important;
  4131. }
  4132. .tooltip.bottom {
  4133. margin-block-end: var(---space) !important;
  4134. }
  4135. menu:active ~ .tooltip,
  4136. :is(button, .button):focus > menu ~ .tooltip,
  4137. .field > :focus ~ menu ~ .tooltip {
  4138. visibility: hidden;
  4139. }
  4140. .slider > .tooltip {
  4141. ---space: -1.25rem;
  4142. }
  4143. .slider.vertical > .tooltip {
  4144. ---space: -0.75rem;
  4145. }
  4146. .slider.vertical > .tooltip:is(.left, .right) {
  4147. ---space: -0.5rem;
  4148. }
  4149. .tooltip.max {
  4150. display: block;
  4151. font-size: inherit;
  4152. white-space: normal;
  4153. text-align: start;
  4154. inline-size: 20rem;
  4155. border-radius: 0.5rem;
  4156. padding: 1rem;
  4157. box-shadow: var(--elevate2);
  4158. }
  4159. [class*=blur],
  4160. [class*=blur].light {
  4161. ---blur: 1rem;
  4162. -webkit-backdrop-filter: blur(var(---blur));
  4163. backdrop-filter: blur(var(---blur));
  4164. color: var(--on-surface);
  4165. background-color: rgb(255 255 255 / 0.5);
  4166. }
  4167. .dark [class*=blur],
  4168. [class*=blur].dark {
  4169. background-color: rgb(0 0 0 / 0.5);
  4170. }
  4171. .small-blur {
  4172. ---blur: 0.5rem;
  4173. }
  4174. .large-blur {
  4175. ---blur: 1.5rem;
  4176. }
  4177. .shadow {
  4178. background-color: #00000050;
  4179. }
  4180. :is(.left-shadow, .right-shadow, .top-shadow, .bottom-shadow) {
  4181. background-color: transparent !important;
  4182. }
  4183. .left-shadow {
  4184. background-image: linear-gradient(to right, black, transparent);
  4185. }
  4186. .right-shadow {
  4187. background-image: linear-gradient(to left, black, transparent);
  4188. }
  4189. .bottom-shadow {
  4190. background-image: linear-gradient(to top, black, transparent);
  4191. }
  4192. .top-shadow {
  4193. background-image: linear-gradient(to bottom, black, transparent);
  4194. }