/* ==========================================================================
   Cleat props
   ========================================================================== */

/* Color
----------------------------------------------------------------------------- */
:where(html) {
	--red: hsl(3 75% 50%);
	--red-1: hsl(3 75% 97%);
	--red-2: hsl(3 75% 90%);
	--red-3: hsl(3 75% 77%);
	--red-4: hsl(3 75% 63%);
	--red-5: hsl(3 75% 50%);
	--red-6: hsl(3 75% 42%);
	--red-7: hsl(3 75% 34%);
	--red-8: hsl(3 75% 26%);
	--red-9: hsl(3 75% 18%);
	--red-10: hsl(3 75% 10%);

	--orange: hsl(24 94% 50%);
	--orange-1: hsl(24 94% 97%);
	--orange-2: hsl(24 94% 90%);
	--orange-3: hsl(24 94% 77%);
	--orange-4: hsl(24 94% 63%);
	--orange-5: hsl(24 94% 50%);
	--orange-6: hsl(24 94% 42%);
	--orange-7: hsl(24 94% 34%);
	--orange-8: hsl(24 94% 26%);
	--orange-9: hsl(24 94% 18%);
	--orange-10: hsl(24 94% 10%);

	--yellow: hsl(43 96% 50%);
	--yellow-1: hsl(43 96% 97%);
	--yellow-2: hsl(43 96% 90%);
	--yellow-3: hsl(43 96% 77%);
	--yellow-4: hsl(43 96% 63%);
	--yellow-5: hsl(43 96% 50%);
	--yellow-6: hsl(43 96% 42%);
	--yellow-7: hsl(43 96% 34%);
	--yellow-8: hsl(43 96% 26%);
	--yellow-9: hsl(43 96% 18%);
	--yellow-10: hsl(43 96% 10%);

	--green: hsl(134 63% 50%);
	--green-1: hsl(134 63% 97%);
	--green-2: hsl(134 63% 90%);
	--green-3: hsl(134 63% 77%);
	--green-4: hsl(134 63% 63%);
	--green-5: hsl(134 63% 50%);
	--green-6: hsl(134 63% 42%);
	--green-7: hsl(134 63% 34%);
	--green-8: hsl(134 63% 26%);
	--green-9: hsl(134 63% 18%);
	--green-10: hsl(134 63% 10%);

	--blue: hsl(221 83% 50%);
	--blue-1: hsl(221 83% 97%);
	--blue-2: hsl(221 83% 90%);
	--blue-3: hsl(221 83% 77%);
	--blue-4: hsl(221 83% 63%);
	--blue-5: hsl(221 83% 50%);
	--blue-6: hsl(221 83% 42%);
	--blue-7: hsl(221 83% 34%);
	--blue-8: hsl(221 83% 26%);
	--blue-9: hsl(221 83% 18%);
	--blue-10: hsl(221 83% 10%);

	--purple: hsl(264 76% 50%);
	--purple-1: hsl(264 76% 97%);
	--purple-2: hsl(264 76% 90%);
	--purple-3: hsl(264 76% 77%);
	--purple-4: hsl(264 76% 63%);
	--purple-5: hsl(264 76% 50%);
	--purple-6: hsl(264 76% 42%);
	--purple-7: hsl(264 76% 34%);
	--purple-8: hsl(264 76% 26%);
	--purple-9: hsl(264 76% 18%);
	--purple-10: hsl(264 76% 10%);

	--slate: hsl(215 20% 50%);
	--slate-1: hsl(215 20% 97%);
	--slate-2: hsl(215 20% 90%);
	--slate-3: hsl(215 20% 77%);
	--slate-4: hsl(215 20% 63%);
	--slate-5: hsl(215 20% 50%);
	--slate-6: hsl(215 20% 42%);
	--slate-7: hsl(215 20% 34%);
	--slate-8: hsl(215 20% 26%);
	--slate-9: hsl(215 20% 18%);
	--slate-10: hsl(215 20% 10%);

	--gray: hsl(180 5% 50%);
	--gray-1: hsl(180 5% 97%);
	--gray-2: hsl(180 5% 90%);
	--gray-3: hsl(180 5% 77%);
	--gray-4: hsl(180 5% 63%);
	--gray-5: hsl(180 5% 50%);
	--gray-6: hsl(180 5% 42%);
	--gray-7: hsl(180 5% 34%);
	--gray-8: hsl(180 5% 26%);
	--gray-9: hsl(180 5% 18%);
	--gray-10: hsl(180 5% 10%);

	--pink: hsl(330 81% 50%);
	--pink-1: hsl(330 81% 97%);
	--pink-2: hsl(330 81% 90%);
	--pink-3: hsl(330 81% 77%);
	--pink-4: hsl(330 81% 63%);
	--pink-5: hsl(330 81% 50%);
	--pink-6: hsl(330 81% 42%);
	--pink-7: hsl(330 81% 34%);
	--pink-8: hsl(330 81% 26%);
	--pink-9: hsl(330 81% 18%);
	--pink-10: hsl(330 81% 10%);

	--teal: hsl(189 72% 50%);
	--teal-1: hsl(189 72% 97%);
	--teal-2: hsl(189 72% 90%);
	--teal-3: hsl(189 72% 77%);
	--teal-4: hsl(189 72% 63%);
	--teal-5: hsl(189 72% 50%);
	--teal-6: hsl(189 72% 42%);
	--teal-7: hsl(189 72% 34%);
	--teal-8: hsl(189 72% 26%);
	--teal-9: hsl(189 72% 18%);
	--teal-10: hsl(189 72% 10%);

	--black: hsl(0 0% 0%);
	--black-1: hsl(0 0% 0% / 0.1);
	--black-2: hsl(0 0% 0% / 0.2);
	--black-3: hsl(0 0% 0% / 0.3);
	--black-4: hsl(0 0% 0% / 0.4);
	--black-5: hsl(0 0% 0% / 0.5);
	--black-6: hsl(0 0% 0% / 0.6);
	--black-7: hsl(0 0% 0% / 0.7);
	--black-8: hsl(0 0% 0% / 0.8);
	--black-9: hsl(0 0% 0% / 0.9);
	--black-10: hsl(0 0% 0% / 0.95);

	--white: hsl(0 0% 100%);
	--white-1: hsl(0 0% 100% / 0.1);
	--white-2: hsl(0 0% 100% / 0.2);
	--white-3: hsl(0 0% 100% / 0.3);
	--white-4: hsl(0 0% 100% / 0.4);
	--white-5: hsl(0 0% 100% / 0.5);
	--white-6: hsl(0 0% 100% / 0.6);
	--white-7: hsl(0 0% 100% / 0.7);
	--white-8: hsl(0 0% 100% / 0.8);
	--white-9: hsl(0 0% 100% / 0.9);
	--white-10: hsl(0 0% 100% / 0.95);
}

:where(html){
	--red-hsl: 3 75% 50%;
	--red-1-hsl: 3 75% 97%;
	--red-2-hsl: 3 75% 90%;
	--red-3-hsl: 3 75% 77%;
	--red-4-hsl: 3 75% 63%;
	--red-5-hsl: 3 75% 50%;
	--red-6-hsl: 3 75% 42%;
	--red-7-hsl: 3 75% 34%;
	--red-8-hsl: 3 75% 26%;
	--red-9-hsl: 3 75% 18%;
	--red-10-hsl: 3 75% 10%;
	
	--orange-hsl: 24 94% 50%;
	--orange-1-hsl: 24 94% 97%;
	--orange-2-hsl: 24 94% 90%;
	--orange-3-hsl: 24 94% 77%;
	--orange-4-hsl: 24 94% 63%;
	--orange-5-hsl: 24 94% 50%;
	--orange-6-hsl: 24 94% 42%;
	--orange-7-hsl: 24 94% 34%;
	--orange-8-hsl: 24 94% 26%;
	--orange-9-hsl: 24 94% 18%;
	--orange-10-hsl: 24 94% 10%;
	
	--yellow-hsl: 43 96% 50%;
	--yellow-1-hsl: 43 96% 97%;
	--yellow-2-hsl: 43 96% 90%;
	--yellow-3-hsl: 43 96% 77%;
	--yellow-4-hsl: 43 96% 63%;
	--yellow-5-hsl: 43 96% 50%;
	--yellow-6-hsl: 43 96% 42%;
	--yellow-7-hsl: 43 96% 34%;
	--yellow-8-hsl: 43 96% 26%;
	--yellow-9-hsl: 43 96% 18%;
	--yellow-10-hsl: 43 96% 10%;
	
	--green-hsl: 134 63% 50%;
	--green-1-hsl: 134 63% 97%;
	--green-2-hsl: 134 63% 90%;
	--green-3-hsl: 134 63% 77%;
	--green-4-hsl: 134 63% 63%;
	--green-5-hsl: 134 63% 50%;
	--green-6-hsl: 134 63% 42%;
	--green-7-hsl: 134 63% 34%;
	--green-8-hsl: 134 63% 26%;
	--green-9-hsl: 134 63% 18%;
	--green-10-hsl: 134 63% 10%;
	
	--teal-hsl: 189 72% 50%;
	--teal-1-hsl: 189 72% 97%;
	--teal-2-hsl: 189 72% 90%;
	--teal-3-hsl: 189 72% 77%;
	--teal-4-hsl: 189 72% 63%;
	--teal-5-hsl: 189 72% 50%;
	--teal-6-hsl: 189 72% 42%;
	--teal-7-hsl: 189 72% 34%;
	--teal-8-hsl: 189 72% 26%;
	--teal-9-hsl: 189 72% 18%;
	--teal-10-hsl: 189 72% 10%;
	
	--blue-hsl: 221 83% 50%;
	--blue-1-hsl: 221 83% 97%;
	--blue-2-hsl: 221 83% 90%;
	--blue-3-hsl: 221 83% 77%;
	--blue-4-hsl: 221 83% 63%;
	--blue-5-hsl: 221 83% 50%;
	--blue-6-hsl: 221 83% 42%;
	--blue-7-hsl: 221 83% 34%;
	--blue-8-hsl: 221 83% 26%;
	--blue-9-hsl: 221 83% 18%;
	--blue-10-hsl: 221 83% 10%;
	
	--purple-hsl: 264 76% 50%;
	--purple-1-hsl: 264 76% 97%;
	--purple-2-hsl: 264 76% 90%;
	--purple-3-hsl: 264 76% 77%;
	--purple-4-hsl: 264 76% 63%;
	--purple-5-hsl: 264 76% 50%;
	--purple-6-hsl: 264 76% 42%;
	--purple-7-hsl: 264 76% 34%;
	--purple-8-hsl: 264 76% 26%;
	--purple-9-hsl: 264 76% 18%;
	--purple-10-hsl: 264 76% 10%;
	
	--pink-hsl: 330 81% 50%;
	--pink-1-hsl: 330 81% 97%;
	--pink-2-hsl: 330 81% 90%;
	--pink-3-hsl: 330 81% 77%;
	--pink-4-hsl: 330 81% 63%;
	--pink-5-hsl: 330 81% 50%;
	--pink-6-hsl: 330 81% 42%;
	--pink-7-hsl: 330 81% 34%;
	--pink-8-hsl: 330 81% 26%;
	--pink-9-hsl: 330 81% 18%;
	--pink-10-hsl: 330 81% 10%;
	
	--slate-hsl: 215 20% 50%;
	--slate-1-hsl: 215 20% 97%;
	--slate-2-hsl: 215 20% 90%;
	--slate-3-hsl: 215 20% 77%;
	--slate-4-hsl: 215 20% 63%;
	--slate-5-hsl: 215 20% 50%;
	--slate-6-hsl: 215 20% 42%;
	--slate-7-hsl: 215 20% 34%;
	--slate-8-hsl: 215 20% 26%;
	--slate-9-hsl: 215 20% 18%;
	--slate-10-hsl: 215 20% 10%;
	
	--gray-hsl: 180 5% 50%;
	--gray-1-hsl: 180 5% 97%;
	--gray-2-hsl: 180 5% 90%;
	--gray-3-hsl: 180 5% 77%;
	--gray-4-hsl: 180 5% 63%;
	--gray-5-hsl: 180 5% 50%;
	--gray-6-hsl: 180 5% 42%;
	--gray-7-hsl: 180 5% 34%;
	--gray-8-hsl: 180 5% 26%;
	--gray-9-hsl: 180 5% 18%;
	--gray-10-hsl: 180 5% 10%;
	
	--white-hsl: 0 0% 100%;
	--white-1-hsl: 0 0% 100% / 0.1;
	--white-2-hsl: 0 0% 100% / 0.2;
	--white-3-hsl: 0 0% 100% / 0.3;
	--white-4-hsl: 0 0% 100% / 0.4;
	--white-5-hsl: 0 0% 100% / 0.5;
	--white-6-hsl: 0 0% 100% / 0.6;
	--white-7-hsl: 0 0% 100% / 0.7;
	--white-8-hsl: 0 0% 100% / 0.8;
	--white-9-hsl: 0 0% 100% / 0.9;
	--white-10-hsl: 0 0% 100% / 0.95;
	
	--black-hsl: 0 0% 0%;
	--black-1-hsl: 0 0% 0% / 0.1;
	--black-2-hsl: 0 0% 0% / 0.2;
	--black-3-hsl: 0 0% 0% / 0.3;
	--black-4-hsl: 0 0% 0% / 0.4;
	--black-5-hsl: 0 0% 0% / 0.5;
	--black-6-hsl: 0 0% 0% / 0.6;
	--black-7-hsl: 0 0% 0% / 0.7;
	--black-8-hsl: 0 0% 0% / 0.8;
	--black-9-hsl: 0 0% 0% / 0.9;
	--black-10-hsl: 0 0% 0% / 0.95;
}

/* Font family
----------------------------------------------------------------------------- */
:where(html) {
	--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	--font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
	--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	--font-inter: InterVariable, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}

/* Font size
----------------------------------------------------------------------------- */
:where(html) {
	--font-size: clamp(0.9844rem, 0.9094rem + 0.375vw, 1.2rem);        /* 15.75px ~ 19.20px */
	
	--font-size-1: clamp(0.6913rem, 0.6902rem + 0.0054vw, 0.6944rem);  /* 11.06px ~ 11.11px */
	--font-size-2: clamp(0.7775rem, 0.7582rem + 0.0967vw, 0.8331rem);  /* 12.44px ~ 13.33px */
	--font-size-3: clamp(0.875rem, 0.8315rem + 0.2174vw, 1rem);        /* 14.00px ~ 16.00px */
	--font-size-4: clamp(0.9844rem, 0.9094rem + 0.375vw, 1.2rem);      /* 15.75px ~ 19.20px */
	--font-size-5: clamp(1.1075rem, 0.9918rem + 0.5783vw, 1.44rem);    /* 17.72px ~ 23.04px */
	--font-size-6: clamp(1.2456rem, 1.0778rem + 0.8391vw, 1.7281rem);  /* 19.93px ~ 27.65px */
	--font-size-7: clamp(1.4019rem, 1.1682rem + 1.1685vw, 2.0738rem);  /* 22.43px ~ 33.18px */
	--font-size-8: clamp(1.5769rem, 1.2599rem + 1.5848vw, 2.4881rem);  /* 25.23px ~ 39.81px */
	--font-size-9: clamp(1.7738rem, 1.352rem + 2.1087vw, 2.9863rem);   /* 28.38px ~ 47.78px */
	--font-size-10: clamp(1.9956rem, 1.4435rem + 3.7609vw, 6.5831rem); /* 31.93px ~ 105.33px */
}

/* Letter spacing
----------------------------------------------------------------------------- */
:where(html) {
	--letter-spacing: -0.035em;
	--letter-spacing-0: 0;

	--letter-spacing-1: -0.075em;
	--letter-spacing-2: -0.05em;
	--letter-spacing-3: -0.035em;
	--letter-spacing-4: -0.025em;
	--letter-spacing-5: 0em;
	--letter-spacing-6: 0.025em;
	--letter-spacing-7: 0.035em;
	--letter-spacing-8: 0.05em;
	--letter-spacing-9: 0.075em;
	--letter-spacing-10: 0.1em;
}

/* Line height
----------------------------------------------------------------------------- */
:where(html) {
	--line-height: 1.6;
	--line-height-0: 1;

	--line-height-1: 1.1;
	--line-height-2: 1.2;
	--line-height-3: 1.3;
	--line-height-4: 1.45;
	--line-height-5: 1.6;
	--line-height-6: 1.75;
	--line-height-7: 1.9;
	--line-height-8: 2.05;
	--line-height-9: 2.2;
	--line-height-10: 2.35;
}

/* Aspect ratio props
----------------------------------------------------------------------------- */
:where(html) {
	--aspect-ratio: 16/9;
	--aspect-ratio-0: auto;

	--aspect-ratio-1: 6/10;
	--aspect-ratio-2: 7/10;
	--aspect-ratio-3: 8/10;
	--aspect-ratio-4: 9/10;
	--aspect-ratio-5: 1/1;
	--aspect-ratio-6: 4/3;
	--aspect-ratio-7: 16/9;
	--aspect-ratio-8: 2/1;
	--aspect-ratio-9: 21/9;
	--aspect-ratio-10: 3/1;
}

/* Container props
----------------------------------------------------------------------------- */
:where(html) {
	--container: 1080px;
	--container-0: none;

	--container-1: 480px;
	--container-2: 600px;
	--container-3: 720px;
	--container-4: 840px;
	--container-5: 960px;
	--container-6: 1080px;
	--container-7: 1280px;
	--container-8: 1440px;
	--container-9: 1600px;
	--container-10: 1920px;
}

/* Size props
----------------------------------------------------------------------------- */
:where(html) {
	--size-1: clamp(7rem, 6.7391rem + 1.3043vw, 7.75rem);         /* 112px ~ 124px */
	--size-2: clamp(9.6875rem, 9.3179rem + 1.8478vw, 10.75rem);   /* 155px ~ 172px */
	--size-3: clamp(15.0625rem, 14.4755rem + 2.9348vw, 16.75rem); /* 241px ~ 268px */
	--size-4: clamp(18.6875rem, 17.9701rem + 3.587vw, 20.75rem);  /* 299px ~ 332px */
	--size-5: clamp(22.25rem, 21.3804rem + 4.3478vw, 24.75rem);   /* 356px ~ 396px */
	--size-6: clamp(25.875rem, 24.875rem + 5vw, 28.75rem);        /* 414px ~ 460px */
	--size-7: clamp(29.5rem, 28.3696rem + 5.6522vw, 32.75rem);    /* 472px ~ 524px */
	--size-8: clamp(36.6875rem, 35.2745rem + 7.0652vw, 40.75rem); /* 587px ~ 652px */
	--size-9: clamp(43.875rem, 42.1793rem + 8.4783vw, 48.75rem);  /* 702px ~ 780px */
	--size-10: clamp(54rem, 51.913rem + 10.4348vw, 60rem);        /* 864px ~ 960px */
}

/* Space props
----------------------------------------------------------------------------- */
:where(html) {
	--space-1: clamp(0.125rem, 0.125rem + 0vw, 0.125rem);        /*   2px ~ 2px   */
	--space-2: clamp(0.3125rem, 0.2908rem + 0.1087vw, 0.375rem); /*   5px ~ 6px   */
	--space-3: clamp(0.5625rem, 0.5408rem + 0.1087vw, 0.625rem); /*   9px ~ 10px  */
	--space-4: clamp(0.8125rem, 0.7908rem + 0.1087vw, 0.875rem); /*  13px ~ 14px  */
	--space-5: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);      /*  16px ~ 18px  */
	--space-6: clamp(1.375rem, 1.3315rem + 0.2174vw, 1.5rem);    /*  22px ~ 24px  */
	--space-7: clamp(1.8125rem, 1.7473rem + 0.3261vw, 2rem);     /*  29px ~ 32px  */
	--space-8: clamp(2.25rem, 2.163rem + 0.4348vw, 2.5rem);      /*  36px ~ 40px  */
	--space-9: clamp(2.9375rem, 2.8288rem + 0.5435vw, 3.25rem);  /*  47px ~ 52px  */
	--space-10: clamp(4.25rem, 4.0761rem + 0.8696vw, 4.75rem);   /*  68px ~ 76px  */
}

/* Scale props
----------------------------------------------------------------------------- */
:where(html) {
	--scale-1: clamp(5%, 5.5%, 6%);
	--scale-2: clamp(8%, 9%, 10%);
	--scale-3: clamp(11%, 12.5%, 14%);
	--scale-4: clamp(14%, 16%, 18%);
	--scale-5: clamp(17%, 19.5%, 22%);
	--scale-6: clamp(20%, 23%, 26%);
	--scale-7: clamp(23%, 26.5%, 30%);
	--scale-8: clamp(26%, 30%, 34%);
	--scale-9: clamp(29%, 33.5%, 38%);
	--scale-10: clamp(32%, 41%, 42%);
}

/* Z-index props
----------------------------------------------------------------------------- */
:where(html) {
	--z-index: 1;
	--z-index-0: 0;
	--z-index-bottom: -9999;
	--z-index-top: 9999;

	--z-index-1: 1;
	--z-index-2: 2;
	--z-index-3: 3;
	--z-index-4: 4;
	--z-index-5: 5;
	--z-index-6: 60;
	--z-index-7: 70;
	--z-index-8: 80;
	--z-index-9: 90;
	--z-index-10: 100;
}

/* Border
----------------------------------------------------------------------------- */
:where(html) {
	--border-radius: 8px;
	--border-radius-0: 0;
	
	--border-radius-1: 2px;
	--border-radius-2: 3px;
	--border-radius-3: 4px;
	--border-radius-4: 6px;
	--border-radius-5: 8px;
	--border-radius-6: 12px;
	--border-radius-7: 16px;
	--border-radius-8: 20px;
	--border-radius-9: 24px;
	--border-radius-10: 9999px;
	
	--border-width: 1px;
	--border-width-0: 0;
	
	--border-width-1: 1px;
	--border-width-2: 2px;
	--border-width-3: 3px;
	--border-width-4: 4px;
	--border-width-5: 5px;
	--border-width-6: 10px;
	--border-width-7: 15px;
	--border-width-8: 20px;
	--border-width-9: 25px;
	--border-width-10: 30px;
}

/* Shadow
----------------------------------------------------------------------------- */
:where(html) {
	--simple-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.10);
	--simple-shadow-0: none;
	
	--simple-shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.09);
	--simple-shadow-2: 0 2px 3px 0 rgba(0, 0, 0, 0.08);
	--simple-shadow-3: 0 4px 6px 0 rgba(0, 0, 0, 0.07);
	--simple-shadow-4: 0 6px 8px 0 rgba(0, 0, 0, 0.06);
	--simple-shadow-5: 0 8px 12px 0 rgba(0, 0, 0, 0.05);
	--simple-shadow-6: 0 10px 16px 0 rgba(0, 0, 0, 0.05);
	--simple-shadow-7: 0 12px 20px 0 rgba(0, 0, 0, 0.06);
	--simple-shadow-8: 0 15px 30px 0 rgba(0, 0, 0, 0.07);
	--simple-shadow-9: 0 20px 50px 0 rgba(0, 0, 0, 0.08);
	--simple-shadow-10: 0 22px 60px 0 rgba(0, 0, 0, 0.10);
	
	--shadow:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.77),
		1px 2px 2px -2px hsl(0 0% 50% / 0.58),
		5px 10px 10.1px -4px hsl(0 0% 50% / 0.39);
	
	--shadow-0: none;
	
	--shadow-1:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.83),
		1px 2px 2px -4px hsl(0 0% 50% / 0.52);
	
	--shadow-2:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.77),
		1px 2px 2px -2px hsl(0 0% 50% / 0.58),
		2px 7px 7px -4px hsl(0 0% 50% / 0.39);
	
	--shadow-3:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.77),
		1px 2px 2px -2px hsl(0 0% 50% / 0.58),
		3px 8px 8px -4px hsl(0 0% 50% / 0.39);
	
	--shadow-4:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.77),
		1px 2px 2px -2px hsl(0 0% 50% / 0.58),
		4px 9px 9px -4px hsl(0 0% 50% / 0.39);
	
	--shadow-5:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.77),
		1px 2px 2px -2px hsl(0 0% 50% / 0.58),
		5px 10px 10.1px -4px hsl(0 0% 50% / 0.39);
	
	--shadow-6:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.86),
		1.3px 2.7px 2.7px -1px hsl(0 0% 50% / 0.73),
		4px 7px 7px -3px hsl(0 0% 50% / 0.47),
		8px 15px 15px -4px hsl(0 0% 50% / 0.34);
	
	--shadow-7:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.86),
		1.3px 2.7px 2.7px -1px hsl(0 0% 50% / 0.73),
		6px 10px 10px -3px hsl(0 0% 50% / 0.47),
		12px 20px 20px -4px hsl(0 0% 50% / 0.34);
	
	--shadow-8:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.86),
		1.3px 2.7px 2.7px -1px hsl(0 0% 50% / 0.73),
		7px 12px 12px -3px hsl(0 0% 50% / 0.47),
		15px 30px 30px -4px hsl(0 0% 50% / 0.34);
	
	--shadow-9:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.86),
		1.3px 2.7px 2.7px -1px hsl(0 0% 50% / 0.73),
		4.3px 8.5px 8.6px -2px hsl(0 0% 50% / 0.6),
		8px 18px 18px -3px hsl(0 0% 50% / 0.47),
		20px 40px 40px -4px hsl(0 0% 50% / 0.34);
	
	--shadow-10:
		0.3px 0.5px 0.5px hsl(0 0% 50% / 0.86),
		1.3px 2.7px 2.7px -1px hsl(0 0% 50% / 0.73),
		4.3px 8.5px 8.6px -2px hsl(0 0% 50% / 0.6),
		11.4px 22.8px 22.9px -3px hsl(0 0% 50% / 0.47),
		25px 50px 50.3px -4px hsl(0 0% 50% / 0.34);
}

/* ==========================================================================
   Cleat reset
   ========================================================================== */

/* Reset
----------------------------------------------------------------------------- */
:where(html) {
	font-family: InterVariable, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	font-feature-settings: 'liga' 1, 'calt' 1;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

body {
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

img,
picture,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

:target {
	scroll-margin-block: 6ex;
}

/* ==========================================================================
   Cleat utilities
   ========================================================================== */

/* Debug
----------------------------------------------------------------------------- */
.debug * {
	outline: 1px solid rgba(0, 0, 255, 0.25);
	position: relative;
}

.debug *::before {
	color: rgba(0, 0, 255, 0.5);
	content: attr(class);
	left: 0;
	top: 0;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 12px;
	margin-top: -12px;
	position: absolute;
	white-space: nowrap;
}

/* Container
----------------------------------------------------------------------------- */
.container { max-width: var(--container); margin-inline: auto; }
.container-0 { max-width: var(--container-0); margin-inline: auto; }
.container-1 { max-width: var(--container-1); margin-inline: auto; }
.container-2 { max-width: var(--container-2); margin-inline: auto; }
.container-3 { max-width: var(--container-3); margin-inline: auto; }
.container-4 { max-width: var(--container-4); margin-inline: auto; }
.container-5 { max-width: var(--container-5); margin-inline: auto; }
.container-6 { max-width: var(--container-6); margin-inline: auto; }
.container-7 { max-width: var(--container-7); margin-inline: auto; }
.container-8 { max-width: var(--container-8); margin-inline: auto; }
.container-9 { max-width: var(--container-9); margin-inline: auto; }
.container-10 { max-width: var(--container-10); margin-inline: auto; }


/* Stacks
----------------------------------------------------------------------------- */
.hstack {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: var(--cleat-h-alignment, flex-start);
	align-items: var(--cleat-v-alignment, center);
	gap: var(--cleat-gap, 0.75em);
}

.vstack {
	display: flex;
	flex-direction: column;
	justify-content: var(--cleat-h-alignment, flex-start);
	align-items: var(--cleat-v-alignment, stretch);
	gap: var(--cleat-gap, 0.75em);
}

.spacer {
	flex: 1;
}

.zstack {
	display: grid;
}

.zstack>* {
	grid-area: 1/1;
}

/* .zstack {
	position: relative;
	overflow: clip;
}

.zstack > * { position: absolute; }

.zstack > :nth-child(1) { z-index: 1; }
.zstack > :nth-child(2) { z-index: 2; }
.zstack > :nth-child(3) { z-index: 3; }
.zstack > :nth-child(4) { z-index: 4; }
.zstack > :nth-child(5) { z-index: 5; }
.zstack > :nth-child(6) { z-index: 6; }
.zstack > :nth-child(7) { z-index: 7; }
.zstack > :nth-child(8) { z-index: 8; }
.zstack > :nth-child(9) { z-index: 9; }
.zstack > :nth-child(10) { z-index: 10; } */

.cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Width
----------------------------------------------------------------------------- */
.w-0 { width: 0; }

.w-1 { width: var(--space-1); }
.w-2 { width: var(--space-2); }
.w-3 { width: var(--space-3); }
.w-4 { width: var(--space-4); }
.w-5 { width: var(--space-5); }
.w-6 { width: var(--space-6); }
.w-7 { width: var(--space-7); }
.w-8 { width: var(--space-8); }
.w-9 { width: var(--space-9); }
.w-10 { width: var(--space-10); }

.w-11 { width: var(--size-1); }
.w-12 { width: var(--size-2); }
.w-13 { width: var(--size-3); }
.w-14 { width: var(--size-4); }
.w-15 { width: var(--size-5); }
.w-16 { width: var(--size-6); }
.w-17 { width: var(--size-7); }
.w-18 { width: var(--size-8); }
.w-19 { width: var(--size-9); }
.w-20 { width: var(--size-10); }

.w-21 { width: var(--scale-1); }
.w-22 { width: var(--scale-2); }
.w-23 { width: var(--scale-3); }
.w-24 { width: var(--scale-4); }
.w-24 { width: var(--scale-4); }
.w-25 { width: var(--scale-5); }
.w-26 { width: var(--scale-6); }
.w-27 { width: var(--scale-7); }
.w-28 { width: var(--scale-8); }
.w-29 { width: var(--scale-9); }
.w-30 { width: var(--scale-10); }

.w-100 { width: 100%; }
.w-dvw { width: 100dvw; }

.w-1\/2 { width: 50%; }
.w-1\/3 { width: 33.3333333%; }
.w-2\/3 { width: 66.6666666%; }
.w-1\/4 { width: 25%; }
.w-2\/4 { width: 50%; }
.w-3\/4 { width: 75%; }
.w-1\/5 { width: 20%; }
.w-2\/5 { width: 40%; }
.w-3\/5 { width: 60%; }
.w-4\/5 { width: 80%; }
.w-1\/6 { width: 16.6666666%; }
.w-2\/6 { width: 33.3333333%; }
.w-3\/6 { width: 50%; }
.w-4\/6 { width: 66.6666666%; }
.w-5\/6 { width: 83.3333333%; }

/* Height
----------------------------------------------------------------------------- */
.h-0 { height: 0; }

.h-1 { height: var(--space-1); }
.h-2 { height: var(--space-2); }
.h-3 { height: var(--space-3); }
.h-4 { height: var(--space-4); }
.h-5 { height: var(--space-5); }
.h-6 { height: var(--space-6); }
.h-7 { height: var(--space-7); }
.h-8 { height: var(--space-8); }
.h-9 { height: var(--space-9); }
.h-10 { height: var(--space-10); }

.h-11 { height: var(--size-1); }
.h-12 { height: var(--size-2); }
.h-13 { height: var(--size-3); }
.h-14 { height: var(--size-4); }
.h-15 { height: var(--size-5); }
.h-16 { height: var(--size-6); }
.h-17 { height: var(--size-7); }
.h-18 { height: var(--size-8); }
.h-19 { height: var(--size-9); }
.h-20 { height: var(--size-10); }

.h-21 { height: var(--scale-1); }
.h-22 { height: var(--scale-2); }
.h-23 { height: var(--scale-3); }
.h-24 { height: var(--scale-4); }
.h-25 { height: var(--scale-5); }
.h-26 { height: var(--scale-6); }
.h-27 { height: var(--scale-7); }
.h-28 { height: var(--scale-8); }
.h-29 { height: var(--scale-9); }
.h-30 { height: var(--scale-10); }

.h-100 { height: 100%; }
.h-dvh { height: 100dvh; }

.h-1\/2 { height: 50%; }
.h-1\/3 { height: 33.3333333%; }
.h-2\/3 { height: 66.6666666%; }
.h-1\/4 { height: 25%; }
.h-2\/4 { height: 50%; }
.h-3\/4 { height: 75%; }
.h-1\/5 { height: 20%; }
.h-2\/5 { height: 40%; }
.h-3\/5 { height: 60%; }
.h-4\/5 { height: 80%; }
.h-1\/6 { height: 16.6666666%; }
.h-2\/6 { height: 33.3333333%; }
.h-3\/6 { height: 50%; }
.h-4\/6 { height: 66.6666666%; }
.h-5\/6 { height: 83.3333333%; }

/* Size
----------------------------------------------------------------------------- */
.size-0 { width: 0; height: 0; }
.size-full { width: 100%; height: 100%; }

.size-1 { width: var(--space-1); height: var(--space-1); }
.size-2 { width: var(--space-2); height: var(--space-2); }
.size-3 { width: var(--space-3); height: var(--space-3); }
.size-4 { width: var(--space-4); height: var(--space-4); }
.size-5 { width: var(--space-5); height: var(--space-5); }
.size-6 { width: var(--space-6); height: var(--space-6); }
.size-7 { width: var(--space-7); height: var(--space-7); }
.size-8 { width: var(--space-8); height: var(--space-8); }
.size-9 { width: var(--space-9); height: var(--space-9); }
.size-10 { width: var(--space-10); height: var(--space-10); }

.size-11 { width: var(--size-1); height: var(--size-1); }
.size-12 { width: var(--size-2); height: var(--size-2); }
.size-13 { width: var(--size-3); height: var(--size-3); }
.size-14 { width: var(--size-4); height: var(--size-4); }
.size-15 { width: var(--size-5); height: var(--size-5); }
.size-16 { width: var(--size-6); height: var(--size-6); }
.size-17 { width: var(--size-7); height: var(--size-7); }
.size-18 { width: var(--size-8); height: var(--size-8); }
.size-19 { width: var(--size-9); height: var(--size-9); }
.size-20 { width: var(--size-10); height: var(--size-10); }

.size-21 { width: var(--scale-1); height: var(--scale-1); }
.size-22 { width: var(--scale-2); height: var(--scale-2); }
.size-23 { width: var(--scale-3); height: var(--scale-3); }
.size-24 { width: var(--scale-4); height: var(--scale-4); }
.size-25 { width: var(--scale-5); height: var(--scale-5); }
.size-26 { width: var(--scale-6); height: var(--scale-6); }
.size-27 { width: var(--scale-7); height: var(--scale-7); }
.size-28 { width: var(--scale-8); height: var(--scale-8); }
.size-29 { width: var(--scale-9); height: var(--scale-9); }
.size-30 { width: var(--scale-10); height: var(--scale-10); }

/* Padding
----------------------------------------------------------------------------- */
.p-0 { padding: 0; }

.p-1 { padding: var(--space-1); }
.p-2 { padding: var(--space-2); }
.p-3 { padding: var(--space-3); }
.p-4 { padding: var(--space-4); }
.p-5 { padding: var(--space-5); }
.p-6 { padding: var(--space-6); }
.p-7 { padding: var(--space-7); }
.p-8 { padding: var(--space-8); }
.p-9 { padding: var(--space-9); }
.p-10 { padding: var(--space-10); }

.p-11 { padding: var(--size-1); }
.p-12 { padding: var(--size-2); }
.p-13 { padding: var(--size-3); }
.p-14 { padding: var(--size-4); }
.p-15 { padding: var(--size-5); }
.p-16 { padding: var(--size-6); }
.p-17 { padding: var(--size-7); }
.p-18 { padding: var(--size-8); }
.p-19 { padding: var(--size-9); }
.p-20 { padding: var(--size-10); }

.p-21 { padding: var(--scale-1); }
.p-22 { padding: var(--scale-2); }
.p-23 { padding: var(--scale-3); }
.p-24 { padding: var(--scale-4); }
.p-25 { padding: var(--scale-5); }
.p-26 { padding: var(--scale-6); }
.p-27 { padding: var(--scale-7); }
.p-28 { padding: var(--scale-8); }
.p-29 { padding: var(--scale-9); }
.p-30 { padding: var(--scale-10); }

.py-0 { padding-block: 0; }

.py-1 { padding-block: var(--space-1); }
.py-2 { padding-block: var(--space-2); }
.py-3 { padding-block: var(--space-3); }
.py-4 { padding-block: var(--space-4); }
.py-5 { padding-block: var(--space-5); }
.py-6 { padding-block: var(--space-6); }
.py-7 { padding-block: var(--space-7); }
.py-8 { padding-block: var(--space-8); }
.py-9 { padding-block: var(--space-9); }
.py-10 { padding-block: var(--space-10); }

.py-11 { padding-block: var(--size-1); }
.py-12 { padding-block: var(--size-2); }
.py-13 { padding-block: var(--size-3); }
.py-14 { padding-block: var(--size-4); }
.py-15 { padding-block: var(--size-5); }
.py-16 { padding-block: var(--size-6); }
.py-17 { padding-block: var(--size-7); }
.py-18 { padding-block: var(--size-8); }
.py-19 { padding-block: var(--size-9); }
.py-20 { padding-block: var(--size-10); }

.py-21 { padding-block: var(--scale-1); }
.py-22 { padding-block: var(--scale-2); }
.py-23 { padding-block: var(--scale-3); }
.py-24 { padding-block: var(--scale-4); }
.py-25 { padding-block: var(--scale-5); }
.py-26 { padding-block: var(--scale-6); }
.py-27 { padding-block: var(--scale-7); }
.py-28 { padding-block: var(--scale-8); }
.py-29 { padding-block: var(--scale-9); }
.py-30 { padding-block: var(--scale-10); }

.px-0 { padding-inline: 0; }

.px-1 { padding-inline: var(--space-1); }
.px-2 { padding-inline: var(--space-2); }
.px-3 { padding-inline: var(--space-3); }
.px-4 { padding-inline: var(--space-4); }
.px-5 { padding-inline: var(--space-5); }
.px-6 { padding-inline: var(--space-6); }
.px-7 { padding-inline: var(--space-7); }
.px-8 { padding-inline: var(--space-8); }
.px-9 { padding-inline: var(--space-9); }
.px-10 { padding-inline: var(--space-10); }

.px-11 { padding-inline: var(--size-1); }
.px-12 { padding-inline: var(--size-2); }
.px-13 { padding-inline: var(--size-3); }
.px-14 { padding-inline: var(--size-4); }
.px-15 { padding-inline: var(--size-5); }
.px-16 { padding-inline: var(--size-6); }
.px-17 { padding-inline: var(--size-7); }
.px-18 { padding-inline: var(--size-8); }
.px-19 { padding-inline: var(--size-9); }
.px-20 { padding-inline: var(--size-10); }

.px-21 { padding-inline: var(--scale-1); }
.px-22 { padding-inline: var(--scale-2); }
.px-23 { padding-inline: var(--scale-3); }
.px-24 { padding-inline: var(--scale-4); }
.px-25 { padding-inline: var(--scale-5); }
.px-26 { padding-inline: var(--scale-6); }
.px-27 { padding-inline: var(--scale-7); }
.px-28 { padding-inline: var(--scale-8); }
.px-29 { padding-inline: var(--scale-9); }
.px-30 { padding-inline: var(--scale-10); }

.pt-0 { padding-block-start: 0; }

.pt-1 { padding-block-start: var(--space-1); }
.pt-2 { padding-block-start: var(--space-2); }
.pt-3 { padding-block-start: var(--space-3); }
.pt-4 { padding-block-start: var(--space-4); }
.pt-5 { padding-block-start: var(--space-5); }
.pt-6 { padding-block-start: var(--space-6); }
.pt-7 { padding-block-start: var(--space-7); }
.pt-8 { padding-block-start: var(--space-8); }
.pt-9 { padding-block-start: var(--space-9); }
.pt-10 { padding-block-start: var(--space-10); }

.pt-11 { padding-block-start: var(--size-1); }
.pt-12 { padding-block-start: var(--size-2); }
.pt-13 { padding-block-start: var(--size-3); }
.pt-14 { padding-block-start: var(--size-4); }
.pt-15 { padding-block-start: var(--size-5); }
.pt-16 { padding-block-start: var(--size-6); }
.pt-17 { padding-block-start: var(--size-7); }
.pt-18 { padding-block-start: var(--size-8); }
.pt-19 { padding-block-start: var(--size-9); }
.pt-20 { padding-block-start: var(--size-10); }

.pt-21 { padding-block-start: var(--scale-1); }
.pt-22 { padding-block-start: var(--scale-2); }
.pt-23 { padding-block-start: var(--scale-3); }
.pt-24 { padding-block-start: var(--scale-4); }
.pt-25 { padding-block-start: var(--scale-5); }
.pt-26 { padding-block-start: var(--scale-6); }
.pt-27 { padding-block-start: var(--scale-7); }
.pt-28 { padding-block-start: var(--scale-8); }
.pt-29 { padding-block-start: var(--scale-9); }
.pt-30 { padding-block-start: var(--scale-10); }

.pb-0 { padding-block-end: 0; }

.pb-1 { padding-block-end: var(--space-1); }
.pb-2 { padding-block-end: var(--space-2); }
.pb-3 { padding-block-end: var(--space-3); }
.pb-4 { padding-block-end: var(--space-4); }
.pb-5 { padding-block-end: var(--space-5); }
.pb-6 { padding-block-end: var(--space-6); }
.pb-7 { padding-block-end: var(--space-7); }
.pb-8 { padding-block-end: var(--space-8); }
.pb-9 { padding-block-end: var(--space-9); }
.pb-10 { padding-block-end: var(--space-10); }

.pb-11 { padding-block-end: var(--size-1); }
.pb-12 { padding-block-end: var(--size-2); }
.pb-13 { padding-block-end: var(--size-3); }
.pb-14 { padding-block-end: var(--size-4); }
.pb-15 { padding-block-end: var(--size-5); }
.pb-16 { padding-block-end: var(--size-6); }
.pb-17 { padding-block-end: var(--size-7); }
.pb-18 { padding-block-end: var(--size-8); }
.pb-19 { padding-block-end: var(--size-9); }
.pb-20 { padding-block-end: var(--size-10); }

.pb-21 { padding-block-end: var(--scale-1); }
.pb-22 { padding-block-end: var(--scale-2); }
.pb-23 { padding-block-end: var(--scale-3); }
.pb-24 { padding-block-end: var(--scale-4); }
.pb-25 { padding-block-end: var(--scale-5); }
.pb-26 { padding-block-end: var(--scale-6); }
.pb-27 { padding-block-end: var(--scale-7); }
.pb-28 { padding-block-end: var(--scale-8); }
.pb-29 { padding-block-end: var(--scale-9); }
.pb-30 { padding-block-end: var(--scale-10); }

.ps-0 { padding-inline-start: 0; }

.ps-1 { padding-inline-start: var(--space-1); }
.ps-2 { padding-inline-start: var(--space-2); }
.ps-3 { padding-inline-start: var(--space-3); }
.ps-4 { padding-inline-start: var(--space-4); }
.ps-5 { padding-inline-start: var(--space-5); }
.ps-6 { padding-inline-start: var(--space-6); }
.ps-7 { padding-inline-start: var(--space-7); }
.ps-8 { padding-inline-start: var(--space-8); }
.ps-9 { padding-inline-start: var(--space-9); }
.ps-10 { padding-inline-start: var(--space-10); }

.ps-11 { padding-inline-start: var(--size-1); }
.ps-12 { padding-inline-start: var(--size-2); }
.ps-13 { padding-inline-start: var(--size-3); }
.ps-14 { padding-inline-start: var(--size-4); }
.ps-15 { padding-inline-start: var(--size-5); }
.ps-16 { padding-inline-start: var(--size-6); }
.ps-17 { padding-inline-start: var(--size-7); }
.ps-18 { padding-inline-start: var(--size-8); }
.ps-19 { padding-inline-start: var(--size-9); }
.ps-20 { padding-inline-start: var(--size-10); }

.ps-21 { padding-inline-start: var(--scale-1); }
.ps-22 { padding-inline-start: var(--scale-2); }
.ps-23 { padding-inline-start: var(--scale-3); }
.ps-24 { padding-inline-start: var(--scale-4); }
.ps-25 { padding-inline-start: var(--scale-5); }
.ps-26 { padding-inline-start: var(--scale-6); }
.ps-27 { padding-inline-start: var(--scale-7); }
.ps-28 { padding-inline-start: var(--scale-8); }
.ps-29 { padding-inline-start: var(--scale-9); }
.ps-30 { padding-inline-start: var(--scale-10); }

.pe-0 { padding-inline-end: 0; }

.pe-1 { padding-inline-end: var(--space-1); }
.pe-2 { padding-inline-end: var(--space-2); }
.pe-3 { padding-inline-end: var(--space-3); }
.pe-4 { padding-inline-end: var(--space-4); }
.pe-5 { padding-inline-end: var(--space-5); }
.pe-6 { padding-inline-end: var(--space-6); }
.pe-7 { padding-inline-end: var(--space-7); }
.pe-8 { padding-inline-end: var(--space-8); }
.pe-9 { padding-inline-end: var(--space-9); }
.pe-10 { padding-inline-end: var(--space-10); }

.pe-11 { padding-inline-end: var(--size-1); }
.pe-12 { padding-inline-end: var(--size-2); }
.pe-13 { padding-inline-end: var(--size-3); }
.pe-14 { padding-inline-end: var(--size-4); }
.pe-15 { padding-inline-end: var(--size-5); }
.pe-16 { padding-inline-end: var(--size-6); }
.pe-17 { padding-inline-end: var(--size-7); }
.pe-18 { padding-inline-end: var(--size-8); }
.pe-19 { padding-inline-end: var(--size-9); }
.pe-20 { padding-inline-end: var(--size-10); }

.pe-21 { padding-inline-end: var(--scale-1); }
.pe-22 { padding-inline-end: var(--scale-2); }
.pe-23 { padding-inline-end: var(--scale-3); }
.pe-24 { padding-inline-end: var(--scale-4); }
.pe-25 { padding-inline-end: var(--scale-5); }
.pe-26 { padding-inline-end: var(--scale-6); }
.pe-27 { padding-inline-end: var(--scale-7); }
.pe-28 { padding-inline-end: var(--scale-8); }
.pe-29 { padding-inline-end: var(--scale-9); }
.pe-30 { padding-inline-end: var(--scale-10); }

/* Margin
----------------------------------------------------------------------------- */
.m-0 { margin: 0; }

.m-1 { margin: var(--space-1); }
.m-2 { margin: var(--space-2); }
.m-3 { margin: var(--space-3); }
.m-4 { margin: var(--space-4); }
.m-5 { margin: var(--space-5); }
.m-6 { margin: var(--space-6); }
.m-7 { margin: var(--space-7); }
.m-8 { margin: var(--space-8); }
.m-9 { margin: var(--space-9); }
.m-10 { margin: var(--space-10); }

.m-11 { margin: var(--size-1); }
.m-12 { margin: var(--size-2); }
.m-13 { margin: var(--size-3); }
.m-14 { margin: var(--size-4); }
.m-15 { margin: var(--size-5); }
.m-16 { margin: var(--size-6); }
.m-17 { margin: var(--size-7); }
.m-18 { margin: var(--size-8); }
.m-19 { margin: var(--size-9); }
.m-20 { margin: var(--size-10); }

.m-21 { margin: var(--scale-1); }
.m-22 { margin: var(--scale-2); }
.m-23 { margin: var(--scale-3); }
.m-24 { margin: var(--scale-4); }
.m-25 { margin: var(--scale-5); }
.m-26 { margin: var(--scale-6); }
.m-27 { margin: var(--scale-7); }
.m-28 { margin: var(--scale-8); }
.m-29 { margin: var(--scale-9); }
.m-30 { margin: var(--scale-10); }

.my-0 { margin-block: 0; }

.my-1 { margin-block: var(--space-1); }
.my-2 { margin-block: var(--space-2); }
.my-3 { margin-block: var(--space-3); }
.my-4 { margin-block: var(--space-4); }
.my-5 { margin-block: var(--space-5); }
.my-6 { margin-block: var(--space-6); }
.my-7 { margin-block: var(--space-7); }
.my-8 { margin-block: var(--space-8); }
.my-9 { margin-block: var(--space-9); }
.my-10 { margin-block: var(--space-10); }

.my-11 { margin-block: var(--size-1); }
.my-12 { margin-block: var(--size-2); }
.my-13 { margin-block: var(--size-3); }
.my-14 { margin-block: var(--size-4); }
.my-15 { margin-block: var(--size-5); }
.my-16 { margin-block: var(--size-6); }
.my-17 { margin-block: var(--size-7); }
.my-18 { margin-block: var(--size-8); }
.my-19 { margin-block: var(--size-9); }
.my-20 { margin-block: var(--size-10); }

.my-21 { margin-block: var(--scale-1); }
.my-22 { margin-block: var(--scale-2); }
.my-23 { margin-block: var(--scale-3); }
.my-24 { margin-block: var(--scale-4); }
.my-25 { margin-block: var(--scale-5); }
.my-26 { margin-block: var(--scale-6); }
.my-27 { margin-block: var(--scale-7); }
.my-28 { margin-block: var(--scale-8); }
.my-29 { margin-block: var(--scale-9); }
.my-30 { margin-block: var(--scale-10); }

.mx-0 { margin-inline: 0; }

.mx-1 { margin-inline: var(--space-1); }
.mx-2 { margin-inline: var(--space-2); }
.mx-3 { margin-inline: var(--space-3); }
.mx-4 { margin-inline: var(--space-4); }
.mx-5 { margin-inline: var(--space-5); }
.mx-6 { margin-inline: var(--space-6); }
.mx-7 { margin-inline: var(--space-7); }
.mx-8 { margin-inline: var(--space-8); }
.mx-9 { margin-inline: var(--space-9); }
.mx-10 { margin-inline: var(--space-10); }

.mx-11 { margin-inline: var(--size-1); }
.mx-12 { margin-inline: var(--size-2); }
.mx-13 { margin-inline: var(--size-3); }
.mx-14 { margin-inline: var(--size-4); }
.mx-15 { margin-inline: var(--size-5); }
.mx-16 { margin-inline: var(--size-6); }
.mx-17 { margin-inline: var(--size-7); }
.mx-18 { margin-inline: var(--size-8); }
.mx-19 { margin-inline: var(--size-9); }
.mx-20 { margin-inline: var(--size-10); }

.mx-21 { margin-inline: var(--scale-1); }
.mx-22 { margin-inline: var(--scale-2); }
.mx-23 { margin-inline: var(--scale-3); }
.mx-24 { margin-inline: var(--scale-4); }
.mx-25 { margin-inline: var(--scale-5); }
.mx-26 { margin-inline: var(--scale-6); }
.mx-27 { margin-inline: var(--scale-7); }
.mx-28 { margin-inline: var(--scale-8); }
.mx-29 { margin-inline: var(--scale-9); }
.mx-30 { margin-inline: var(--scale-10); }

.mt-0 { margin-block-start: 0; }

.mt-1 { margin-block-start: var(--space-1); }
.mt-2 { margin-block-start: var(--space-2); }
.mt-3 { margin-block-start: var(--space-3); }
.mt-4 { margin-block-start: var(--space-4); }
.mt-5 { margin-block-start: var(--space-5); }
.mt-6 { margin-block-start: var(--space-6); }
.mt-7 { margin-block-start: var(--space-7); }
.mt-8 { margin-block-start: var(--space-8); }
.mt-9 { margin-block-start: var(--space-9); }
.mt-10 { margin-block-start: var(--space-10); }

.mt-11 { margin-block-start: var(--size-1); }
.mt-12 { margin-block-start: var(--size-2); }
.mt-13 { margin-block-start: var(--size-3); }
.mt-14 { margin-block-start: var(--size-4); }
.mt-15 { margin-block-start: var(--size-5); }
.mt-16 { margin-block-start: var(--size-6); }
.mt-17 { margin-block-start: var(--size-7); }
.mt-18 { margin-block-start: var(--size-8); }
.mt-19 { margin-block-start: var(--size-9); }
.mt-20 { margin-block-start: var(--size-10); }

.mt-21 { margin-block-start: var(--scale-1); }
.mt-22 { margin-block-start: var(--scale-2); }
.mt-23 { margin-block-start: var(--scale-3); }
.mt-24 { margin-block-start: var(--scale-4); }
.mt-25 { margin-block-start: var(--scale-5); }
.mt-26 { margin-block-start: var(--scale-6); }
.mt-27 { margin-block-start: var(--scale-7); }
.mt-28 { margin-block-start: var(--scale-8); }
.mt-29 { margin-block-start: var(--scale-9); }
.mt-30 { margin-block-start: var(--scale-10); }

.mb-0 { margin-block-end: 0; }

.mb-1 { margin-block-end: var(--space-1); }
.mb-2 { margin-block-end: var(--space-2); }
.mb-3 { margin-block-end: var(--space-3); }
.mb-4 { margin-block-end: var(--space-4); }
.mb-5 { margin-block-end: var(--space-5); }
.mb-6 { margin-block-end: var(--space-6); }
.mb-7 { margin-block-end: var(--space-7); }
.mb-8 { margin-block-end: var(--space-8); }
.mb-9 { margin-block-end: var(--space-9); }
.mb-10 { margin-block-end: var(--space-10); }

.mb-11 { margin-block-end: var(--size-1); }
.mb-12 { margin-block-end: var(--size-2); }
.mb-13 { margin-block-end: var(--size-3); }
.mb-14 { margin-block-end: var(--size-4); }
.mb-15 { margin-block-end: var(--size-5); }
.mb-16 { margin-block-end: var(--size-6); }
.mb-17 { margin-block-end: var(--size-7); }
.mb-18 { margin-block-end: var(--size-8); }
.mb-19 { margin-block-end: var(--size-9); }
.mb-20 { margin-block-end: var(--size-10); }

.mb-21 { margin-block-end: var(--scale-1); }
.mb-22 { margin-block-end: var(--scale-2); }
.mb-23 { margin-block-end: var(--scale-3); }
.mb-24 { margin-block-end: var(--scale-4); }
.mb-25 { margin-block-end: var(--scale-5); }
.mb-26 { margin-block-end: var(--scale-6); }
.mb-27 { margin-block-end: var(--scale-7); }
.mb-28 { margin-block-end: var(--scale-8); }
.mb-29 { margin-block-end: var(--scale-9); }
.mb-30 { margin-block-end: var(--scale-10); }

.ms-0 { margin-inline-start: 0; }

.ms-1 { margin-inline-start: var(--space-1); }
.ms-2 { margin-inline-start: var(--space-2); }
.ms-3 { margin-inline-start: var(--space-3); }
.ms-4 { margin-inline-start: var(--space-4); }
.ms-5 { margin-inline-start: var(--space-5); }
.ms-6 { margin-inline-start: var(--space-6); }
.ms-7 { margin-inline-start: var(--space-7); }
.ms-8 { margin-inline-start: var(--space-8); }
.ms-9 { margin-inline-start: var(--space-9); }
.ms-10 { margin-inline-start: var(--space-10); }

.ms-11 { margin-inline-start: var(--size-1); }
.ms-12 { margin-inline-start: var(--size-2); }
.ms-13 { margin-inline-start: var(--size-3); }
.ms-14 { margin-inline-start: var(--size-4); }
.ms-15 { margin-inline-start: var(--size-5); }
.ms-16 { margin-inline-start: var(--size-6); }
.ms-17 { margin-inline-start: var(--size-7); }
.ms-18 { margin-inline-start: var(--size-8); }
.ms-19 { margin-inline-start: var(--size-9); }
.ms-20 { margin-inline-start: var(--size-10); }

.ms-21 { margin-inline-start: var(--scale-1); }
.ms-22 { margin-inline-start: var(--scale-2); }
.ms-23 { margin-inline-start: var(--scale-3); }
.ms-24 { margin-inline-start: var(--scale-4); }
.ms-25 { margin-inline-start: var(--scale-5); }
.ms-26 { margin-inline-start: var(--scale-6); }
.ms-27 { margin-inline-start: var(--scale-7); }
.ms-28 { margin-inline-start: var(--scale-8); }
.ms-29 { margin-inline-start: var(--scale-9); }
.ms-30 { margin-inline-start: var(--scale-10); }

.me-0 { margin-inline-end: 0; }

.me-1 { margin-inline-end: var(--space-1); }
.me-2 { margin-inline-end: var(--space-2); }
.me-3 { margin-inline-end: var(--space-3); }
.me-4 { margin-inline-end: var(--space-4); }
.me-5 { margin-inline-end: var(--space-5); }
.me-6 { margin-inline-end: var(--space-6); }
.me-7 { margin-inline-end: var(--space-7); }
.me-8 { margin-inline-end: var(--space-8); }
.me-9 { margin-inline-end: var(--space-9); }
.me-10 { margin-inline-end: var(--space-10); }

.me-11 { margin-inline-end: var(--size-1); }
.me-12 { margin-inline-end: var(--size-2); }
.me-13 { margin-inline-end: var(--size-3); }
.me-14 { margin-inline-end: var(--size-4); }
.me-15 { margin-inline-end: var(--size-5); }
.me-16 { margin-inline-end: var(--size-6); }
.me-17 { margin-inline-end: var(--size-7); }
.me-18 { margin-inline-end: var(--size-8); }
.me-19 { margin-inline-end: var(--size-9); }
.me-20 { margin-inline-end: var(--size-10); }

.me-21 { margin-inline-end: var(--scale-1); }
.me-22 { margin-inline-end: var(--scale-2); }
.me-23 { margin-inline-end: var(--scale-3); }
.me-24 { margin-inline-end: var(--scale-4); }
.me-25 { margin-inline-end: var(--scale-5); }
.me-26 { margin-inline-end: var(--scale-6); }
.me-27 { margin-inline-end: var(--scale-7); }
.me-28 { margin-inline-end: var(--scale-8); }
.me-29 { margin-inline-end: var(--scale-9); }
.me-30 { margin-inline-end: var(--scale-10); }

/* Gap
----------------------------------------------------------------------------- */
.g-0 { gap: 0; }

.g-1 { gap: var(--space-1); }
.g-2 { gap: var(--space-2); }
.g-3 { gap: var(--space-3); }
.g-4 { gap: var(--space-4); }
.g-5 { gap: var(--space-5); }
.g-6 { gap: var(--space-6); }
.g-7 { gap: var(--space-7); }
.g-8 { gap: var(--space-8); }
.g-9 { gap: var(--space-9); }
.g-10 { gap: var(--space-10); }

.g-11 { gap: var(--size-1); }
.g-12 { gap: var(--size-2); }
.g-13 { gap: var(--size-3); }
.g-14 { gap: var(--size-4); }
.g-15 { gap: var(--size-5); }
.g-16 { gap: var(--size-6); }
.g-17 { gap: var(--size-7); }
.g-18 { gap: var(--size-8); }
.g-19 { gap: var(--size-9); }
.g-20 { gap: var(--size-10); }

.g-21 { gap: var(--scale-1); }
.g-22 { gap: var(--scale-2); }
.g-23 { gap: var(--scale-3); }
.g-24 { gap: var(--scale-4); }
.g-25 { gap: var(--scale-5); }
.g-26 { gap: var(--scale-6); }
.g-27 { gap: var(--scale-7); }
.g-28 { gap: var(--scale-8); }
.g-29 { gap: var(--scale-9); }
.g-30 { gap: var(--scale-10); }

.gy-0 { row-gap: 0; }

.gy-1 { row-gap: var(--spcae-1); }
.gy-2 { row-gap: var(--spcae-2); }
.gy-3 { row-gap: var(--spcae-3); }
.gy-4 { row-gap: var(--spcae-4); }
.gy-5 { row-gap: var(--spcae-5); }
.gy-6 { row-gap: var(--spcae-6); }
.gy-7 { row-gap: var(--spcae-7); }
.gy-8 { row-gap: var(--spcae-8); }
.gy-9 { row-gap: var(--spcae-9); }
.gy-10 { row-gap: var(--space-10); }

.gy-11 { row-gap: var(--size-1); }
.gy-12 { row-gap: var(--size-2); }
.gy-13 { row-gap: var(--size-3); }
.gy-14 { row-gap: var(--size-4); }
.gy-15 { row-gap: var(--size-5); }
.gy-16 { row-gap: var(--size-6); }
.gy-17 { row-gap: var(--size-7); }
.gy-18 { row-gap: var(--size-8); }
.gy-19 { row-gap: var(--size-9); }
.gy-20 { row-gap: var(--size-10); }

.gy-21 { row-gap: var(--scale-1); }
.gy-22 { row-gap: var(--scale-2); }
.gy-23 { row-gap: var(--scale-3); }
.gy-24 { row-gap: var(--scale-4); }
.gy-25 { row-gap: var(--scale-5); }
.gy-26 { row-gap: var(--scale-6); }
.gy-27 { row-gap: var(--scale-7); }
.gy-28 { row-gap: var(--scale-8); }
.gy-29 { row-gap: var(--scale-9); }
.gy-30 { row-gap: var(--scale-10); }

.gx-0 { column-gap: 0; }

.gx-1 { column-gap: var(--space-1); }
.gx-2 { column-gap: var(--space-2); }
.gx-3 { column-gap: var(--space-3); }
.gx-4 { column-gap: var(--space-4); }
.gx-5 { column-gap: var(--space-5); }
.gx-6 { column-gap: var(--space-6); }
.gx-7 { column-gap: var(--space-7); }
.gx-8 { column-gap: var(--space-8); }
.gx-9 { column-gap: var(--space-9); }
.gx-10 { column-gap: var(--space-10); }

.gx-11 { column-gap: var(--size-1); }
.gx-12 { column-gap: var(--size-2); }
.gx-13 { column-gap: var(--size-3); }
.gx-14 { column-gap: var(--size-4); }
.gx-15 { column-gap: var(--size-5); }
.gx-16 { column-gap: var(--size-6); }
.gx-17 { column-gap: var(--size-7); }
.gx-18 { column-gap: var(--size-8); }
.gx-19 { column-gap: var(--size-9); }
.gx-20 { column-gap: var(--size-10); }

.gx-21 { column-gap: var(--scale-1); }
.gx-22 { column-gap: var(--scale-2); }
.gx-23 { column-gap: var(--scale-3); }
.gx-24 { column-gap: var(--scale-4); }
.gx-25 { column-gap: var(--scale-5); }
.gx-26 { column-gap: var(--scale-6); }
.gx-27 { column-gap: var(--scale-7); }
.gx-28 { column-gap: var(--scale-8); }
.gx-29 { column-gap: var(--scale-9); }
.gx-30 { column-gap: var(--scale-10); }

/* Position
----------------------------------------------------------------------------- */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.sticky { position: sticky; }
.static { position: static; }

/* Inset
----------------------------------------------------------------------------- */
.inset { inset: 0; }
.inset-0 { inset: 0; }

.inset-1 { inset: var(--space-1); }
.inset-2 { inset: var(--space-2); }
.inset-3 { inset: var(--space-3); }
.inset-4 { inset: var(--space-4); }
.inset-5 { inset: var(--space-5); }
.inset-6 { inset: var(--space-6); }
.inset-7 { inset: var(--space-7); }
.inset-8 { inset: var(--space-8); }
.inset-9 { inset: var(--space-9); }
.inset-10 { inset: var(--space-10); }

.inset-11 { inset: var(--size-1); }
.inset-12 { inset: var(--size-2); }
.inset-13 { inset: var(--size-3); }
.inset-14 { inset: var(--size-4); }
.inset-15 { inset: var(--size-5); }
.inset-16 { inset: var(--size-6); }
.inset-17 { inset: var(--size-7); }
.inset-18 { inset: var(--size-8); }
.inset-19 { inset: var(--size-9); }
.inset-20 { inset: var(--size-10); }

.inset-21 { inset: var(--scale-1); }
.inset-22 { inset: var(--scale-2); }
.inset-23 { inset: var(--scale-3); }
.inset-24 { inset: var(--scale-4); }
.inset-25 { inset: var(--scale-5); }
.inset-26 { inset: var(--scale-6); }
.inset-27 { inset: var(--scale-7); }
.inset-28 { inset: var(--scale-8); }
.inset-29 { inset: var(--scale-9); }
.inset-30 { inset: var(--scale-10); }

.top { top: 0; }
.top-0 { top: 0; }

.top-1 { top: var(--space-1); }
.top-2 { top: var(--space-2); }
.top-3 { top: var(--space-3); }
.top-4 { top: var(--space-4); }
.top-5 { top: var(--space-5); }
.top-6 { top: var(--space-6); }
.top-7 { top: var(--space-7); }
.top-8 { top: var(--space-8); }
.top-9 { top: var(--space-9); }
.top-10 { top: var(--space-10); }

.top-11 { top: var(--size-1); }
.top-12 { top: var(--size-2); }
.top-13 { top: var(--size-3); }
.top-14 { top: var(--size-4); }
.top-15 { top: var(--size-5); }
.top-16 { top: var(--size-6); }
.top-17 { top: var(--size-7); }
.top-18 { top: var(--size-8); }
.top-19 { top: var(--size-9); }
.top-20 { top: var(--size-10); }

.top-21 { top: var(--scale-1); }
.top-22 { top: var(--scale-2); }
.top-23 { top: var(--scale-3); }
.top-24 { top: var(--scale-4); }
.top-25 { top: var(--scale-5); }
.top-26 { top: var(--scale-6); }
.top-27 { top: var(--scale-7); }
.top-28 { top: var(--scale-8); }
.top-29 { top: var(--scale-9); }
.top-30 { top: var(--scale-10); }

.bottom { bottom: 0; }
.bottom-0 { bottom: 0; }

.bottom-1 { bottom: var(--space-1); }
.bottom-2 { bottom: var(--space-2); }
.bottom-3 { bottom: var(--space-3); }
.bottom-4 { bottom: var(--space-4); }
.bottom-5 { bottom: var(--space-5); }
.bottom-6 { bottom: var(--space-6); }
.bottom-7 { bottom: var(--space-7); }
.bottom-8 { bottom: var(--space-8); }
.bottom-9 { bottom: var(--space-9); }
.bottom-10 { bottom: var(--space-10); }

.bottom-11 { bottom: var(--size-1); }
.bottom-12 { bottom: var(--size-2); }
.bottom-13 { bottom: var(--size-3); }
.bottom-14 { bottom: var(--size-4); }
.bottom-15 { bottom: var(--size-5); }
.bottom-16 { bottom: var(--size-6); }
.bottom-17 { bottom: var(--size-7); }
.bottom-18 { bottom: var(--size-8); }
.bottom-19 { bottom: var(--size-9); }
.bottom-20 { bottom: var(--size-10); }

.bottom-21 { bottom: var(--scale-1); }
.bottom-22 { bottom: var(--scale-2); }
.bottom-23 { bottom: var(--scale-3); }
.bottom-24 { bottom: var(--scale-4); }
.bottom-25 { bottom: var(--scale-5); }
.bottom-26 { bottom: var(--scale-6); }
.bottom-27 { bottom: var(--scale-7); }
.bottom-28 { bottom: var(--scale-8); }
.bottom-29 { bottom: var(--scale-9); }
.bottom-30 { bottom: var(--scale-10); }

.left { left: 0; }
.left-0 { left: 0; }

.left-1 { left: var(--space-1); }
.left-2 { left: var(--space-2); }
.left-3 { left: var(--space-3); }
.left-4 { left: var(--space-4); }
.left-5 { left: var(--space-5); }
.left-6 { left: var(--space-6); }
.left-7 { left: var(--space-7); }
.left-8 { left: var(--space-8); }
.left-9 { left: var(--space-9); }
.left-10 { left: var(--space-10); }

.left-11 { left: var(--size-1); }
.left-12 { left: var(--size-2); }
.left-13 { left: var(--size-3); }
.left-14 { left: var(--size-4); }
.left-15 { left: var(--size-5); }
.left-16 { left: var(--size-6); }
.left-17 { left: var(--size-7); }
.left-18 { left: var(--size-8); }
.left-19 { left: var(--size-9); }
.left-20 { left: var(--size-10); }

.left-21 { left: var(--scale-1); }
.left-22 { left: var(--scale-2); }
.left-23 { left: var(--scale-3); }
.left-24 { left: var(--scale-4); }
.left-25 { left: var(--scale-5); }
.left-26 { left: var(--scale-6); }
.left-27 { left: var(--scale-7); }
.left-28 { left: var(--scale-8); }
.left-29 { left: var(--scale-9); }
.left-30 { left: var(--scale-10); }

.right { right: 0; }
.right-0 { right: 0; }

.right-1 { right: var(--space-1); }
.right-2 { right: var(--space-2); }
.right-3 { right: var(--space-3); }
.right-4 { right: var(--space-4); }
.right-5 { right: var(--space-5); }
.right-6 { right: var(--space-6); }
.right-7 { right: var(--space-7); }
.right-8 { right: var(--space-8); }
.right-9 { right: var(--space-9); }
.right-10 { right: var(--space-10); }

.right-11 { right: var(--size-1); }
.right-12 { right: var(--size-2); }
.right-13 { right: var(--size-3); }
.right-14 { right: var(--size-4); }
.right-15 { right: var(--size-5); }
.right-16 { right: var(--size-6); }
.right-17 { right: var(--size-7); }
.right-18 { right: var(--size-8); }
.right-19 { right: var(--size-9); }
.right-20 { right: var(--size-10); }

.right-21 { right: var(--scale-1); }
.right-22 { right: var(--scale-2); }
.right-23 { right: var(--scale-3); }
.right-24 { right: var(--scale-4); }
.right-25 { right: var(--scale-5); }
.right-26 { right: var(--scale-6); }
.right-27 { right: var(--scale-7); }
.right-28 { right: var(--scale-8); }
.right-29 { right: var(--scale-9); }
.right-30 { right: var(--scale-10); }

/* Aspect ratio
----------------------------------------------------------------------------- */
.aspect { aspect-ratio: var(--aspect-ratio); }
.aspect-0 { aspect-ratio: var(--aspect-ratio-0); }
.aspect-1 { aspect-ratio: var(--aspect-ratio-1); }
.aspect-2 { aspect-ratio: var(--aspect-ratio-2); }
.aspect-3 { aspect-ratio: var(--aspect-ratio-3); }
.aspect-4 { aspect-ratio: var(--aspect-ratio-4); }
.aspect-5 { aspect-ratio: var(--aspect-ratio-5); }
.aspect-6 { aspect-ratio: var(--aspect-ratio-6); }
.aspect-7 { aspect-ratio: var(--aspect-ratio-7); }
.aspect-8 { aspect-ratio: var(--aspect-ratio-8); }
.aspect-9 { aspect-ratio: var(--aspect-ratio-9); }
.aspect-10 { aspect-ratio: var(--aspect-ratio-10); }

/* Border
----------------------------------------------------------------------------- */
.border {
	--border: var(--border-width) solid var(--gray-2);
	--border-colored: var(--border-width) solid var(--border-color);
	border: var(--border);
}


.border-0 { border: var(--border-width-0) solid var(--gray-2); }
.border-1 { border: var(--border-width-1) solid var(--gray-2); }
.border-2 { border: var(--border-width-2) solid var(--gray-2); }
.border-3 { border: var(--border-width-3) solid var(--gray-2); }
.border-4 { border: var(--border-width-4) solid var(--gray-2); }
.border-5 { border: var(--border-width-5) solid var(--gray-2); }
.border-6 { border: var(--border-width-6) solid var(--gray-2); }
.border-7 { border: var(--border-width-7) solid var(--gray-2); }
.border-8 { border: var(--border-width-8) solid var(--gray-2); }
.border-9 { border: var(--border-width-9) solid var(--gray-2); }
.border-10 { border: var(--border-width-10) solid var(--gray-2); }

.rounded { border-radius: var(--border-radius); }
.rounded-0 { border-radius: var(--border-radius-0); }
.rounded-1 { border-radius: var(--border-radius-1); }
.rounded-2 { border-radius: var(--border-radius-2); }
.rounded-3 { border-radius: var(--border-radius-3); }
.rounded-4 { border-radius: var(--border-radius-4); }
.rounded-5 { border-radius: var(--border-radius-5); }
.rounded-6 { border-radius: var(--border-radius-6); }
.rounded-7 { border-radius: var(--border-radius-7); }
.rounded-8 { border-radius: var(--border-radius-8); }
.rounded-9 { border-radius: var(--border-radius-9); }
.rounded-10 { border-radius: var(--border-radius-10); }
.rounded-full { border-radius: var(--border-radius-10); }

/* Shadow
----------------------------------------------------------------------------- */
.simple-shadow { box-shadow: var(--simple-shadow); }
.simple-shadow-0 { box-shadow: var(--simple-shadow-0); }

.simple-shadow-1 { box-shadow: var(--simple-shadow-1); }
.simple-shadow-2 { box-shadow: var(--simple-shadow-2); }
.simple-shadow-3 { box-shadow: var(--simple-shadow-3); }
.simple-shadow-4 { box-shadow: var(--simple-shadow-4); }
.simple-shadow-5 { box-shadow: var(--simple-shadow-5); }
.simple-shadow-6 { box-shadow: var(--simple-shadow-6); }
.simple-shadow-7 { box-shadow: var(--simple-shadow-7); }
.simple-shadow-8 { box-shadow: var(--simple-shadow-8); }
.simple-shadow-9 { box-shadow: var(--simple-shadow-9); }
.simple-shadow-10 { box-shadow: var(--simple-shadow-10); }

.shadow {
	--shadow: var(--shadow-5);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.77),
		1px 2px 2px -2px hsl(var(--shadow-color) / 0.58),
		5px 10px 10.1px -4px hsl(var(--shadow-color) / 0.39);
	box-shadow: var(--shadow);
}
.shadow-0 {
	box-shadow: var(--shadow-0);
}

.shadow-1 {
	--shadow: var(--shadow-1);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.83),
		1px 2px 2px -4px hsl(var(--shadow-color) / 0.52);
	box-shadow: var(--shadow);
}
.shadow-2 {
	--shadow: var(--shadow-2);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.77),
		1px 2px 2px -2px hsl(var(--shadow-color) / 0.58),
		2px 7px 7px -4px hsl(var(--shadow-color) / 0.39);
	box-shadow: var(--shadow);
}
.shadow-3 {
	--shadow: var(--shadow-3);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.77),
		1px 2px 2px -2px hsl(var(--shadow-color) / 0.58),
		3px 8px 8px -4px hsl(var(--shadow-color) / 0.39);
	box-shadow: var(--shadow);
}
.shadow-4 {
	--shadow: var(--shadow-4);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.77),
		1px 2px 2px -2px hsl(var(--shadow-color) / 0.58),
		4px 9px 9px -4px hsl(var(--shadow-color) / 0.39);
	box-shadow: var(--shadow);
}
.shadow-5 {
	--shadow: var(--shadow-5);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.77),
		1px 2px 2px -2px hsl(var(--shadow-color) / 0.58),
		5px 10px 10.1px -4px hsl(var(--shadow-color) / 0.39);
	box-shadow: var(--shadow);
}
.shadow-6 {
	--shadow: var(--shadow-6);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.86),
		1.3px 2.7px 2.7px -1px hsl(var(--shadow-color) / 0.73),
		4px 7px 7px -3px hsl(var(--shadow-color) / 0.47),
		8px 15px 15px -4px hsl(var(--shadow-color) / 0.34);
	box-shadow: var(--shadow);
}
.shadow-7 {
	--shadow: var(--shadow-7);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.86),
		1.3px 2.7px 2.7px -1px hsl(var(--shadow-color) / 0.73),
		6px 10px 10px -3px hsl(var(--shadow-color) / 0.47),
		12px 20px 20px -4px hsl(var(--shadow-color) / 0.34);
	box-shadow: var(--shadow);
}
.shadow-8 {
	--shadow: var(--shadow-8);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.86),
		1.3px 2.7px 2.7px -1px hsl(var(--shadow-color) / 0.73),
		7px 12px 12px -3px hsl(var(--shadow-color) / 0.47),
		15px 30px 30px -4px hsl(var(--shadow-color) / 0.34);
	box-shadow: var(--shadow);
}
.shadow-9 {
	--shadow: var(--shadow-9);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.86),
		1.3px 2.7px 2.7px -1px hsl(var(--shadow-color) / 0.73),
		4.3px 8.5px 8.6px -2px hsl(var(--shadow-color) / 0.6),
		8px 18px 18px -3px hsl(var(--shadow-color) / 0.47),
		20px 40px 40px -4px hsl(var(--shadow-color) / 0.34);

	box-shadow: var(--shadow);
}
.shadow-10 {
	--shadow: var(--shadow-10);
	--shadow-colored: 0.3px 0.5px 0.5px hsl(var(--shadow-color) / 0.86),
		1.3px 2.7px 2.7px -1px hsl(var(--shadow-color) / 0.73),
		4.3px 8.5px 8.6px -2px hsl(var(--shadow-color) / 0.6),
		11.4px 22.8px 22.9px -3px hsl(var(--shadow-color) / 0.47),
		25px 50px 50.3px -4px hsl(var(--shadow-color) / 0.34);

	box-shadow: var(--shadow);
}

/* Color
----------------------------------------------------------------------------- */
.bg-red { background: var(--red); }
.bg-red-1 { background: var(--red-1); }
.bg-red-2 { background: var(--red-2); }
.bg-red-3 { background: var(--red-3); }
.bg-red-4 { background: var(--red-4); }
.bg-red-5 { background: var(--red-5); }
.bg-red-6 { background: var(--red-6); }
.bg-red-7 { background: var(--red-7); }
.bg-red-8 { background: var(--red-8); }
.bg-red-9 { background: var(--red-9); }
.bg-red-10 { background: var(--red-10); }

.shadow-red { --shadow-color: var(--red-hsl); --shadow: var(--shadow-colored); }
.shadow-red-1 { --shadow-color: var(--red-1-hsl); --shadow: var(--shadow-colored); }
.shadow-red-2 { --shadow-color: var(--red-2-hsl); --shadow: var(--shadow-colored); }
.shadow-red-3 { --shadow-color: var(--red-3-hsl); --shadow: var(--shadow-colored); }
.shadow-red-4 { --shadow-color: var(--red-4-hsl); --shadow: var(--shadow-colored); }
.shadow-red-5 { --shadow-color: var(--red-5-hsl); --shadow: var(--shadow-colored); }
.shadow-red-6 { --shadow-color: var(--red-6-hsl); --shadow: var(--shadow-colored); }
.shadow-red-7 { --shadow-color: var(--red-7-hsl); --shadow: var(--shadow-colored); }
.shadow-red-8 { --shadow-color: var(--red-8-hsl); --shadow: var(--shadow-colored); }
.shadow-red-9 { --shadow-color: var(--red-9-hsl); --shadow: var(--shadow-colored); }
.shadow-red-10 { --shadow-color: var(--red-10-hsl); --shadow: var(--shadow-colored); }

.border-red { --border-color: var(--red); --border: var(--border-colored); }
.border-red-1 { --border-color: var(--red-1); --border: var(--border-colored); }
.border-red-2 { --border-color: var(--red-2); --border: var(--border-colored); }
.border-red-3 { --border-color: var(--red-3); --border: var(--border-colored); }
.border-red-4 { --border-color: var(--red-4); --border: var(--border-colored); }
.border-red-5 { --border-color: var(--red-5); --border: var(--border-colored); }
.border-red-6 { --border-color: var(--red-6); --border: var(--border-colored); }
.border-red-7 { --border-color: var(--red-7); --border: var(--border-colored); }
.border-red-8 { --border-color: var(--red-8); --border: var(--border-colored); }
.border-red-9 { --border-color: var(--red-9); --border: var(--border-colored); }
.border-red-10 { --border-color: var(--red-10); --border: var(--border-colored); }

.bg-orange { background: var(--orange); }
.bg-orange-1 { background: var(--orange-1); }
.bg-orange-2 { background: var(--orange-2); }
.bg-orange-3 { background: var(--orange-3); }
.bg-orange-4 { background: var(--orange-4); }
.bg-orange-5 { background: var(--orange-5); }
.bg-orange-6 { background: var(--orange-6); }
.bg-orange-7 { background: var(--orange-7); }
.bg-orange-8 { background: var(--orange-8); }
.bg-orange-9 { background: var(--orange-9); }
.bg-orange-10 { background: var(--orange-10); }

.bg-yellow { background: var(--yellow); }
.bg-yellow-1 { background: var(--yellow-1); }
.bg-yellow-2 { background: var(--yellow-2); }
.bg-yellow-3 { background: var(--yellow-3); }
.bg-yellow-4 { background: var(--yellow-4); }
.bg-yellow-5 { background: var(--yellow-5); }
.bg-yellow-6 { background: var(--yellow-6); }
.bg-yellow-7 { background: var(--yellow-7); }
.bg-yellow-8 { background: var(--yellow-8); }
.bg-yellow-9 { background: var(--yellow-9); }
.bg-yellow-10 { background: var(--yellow-10); }

.bg-green { background: var(--green); }
.bg-green-1 { background: var(--green-1); }
.bg-green-2 { background: var(--green-2); }
.bg-green-3 { background: var(--green-3); }
.bg-green-4 { background: var(--green-4); }
.bg-green-5 { background: var(--green-5); }
.bg-green-6 { background: var(--green-6); }
.bg-green-7 { background: var(--green-7); }
.bg-green-8 { background: var(--green-8); }
.bg-green-9 { background: var(--green-9); }
.bg-green-10 { background: var(--green-10); }

.shadow-green { --shadow-color: var(--green-hsl); --shadow: var(--shadow-colored); }
.shadow-green-1 { --shadow-color: var(--green-1-hsl); --shadow: var(--shadow-colored); }
.shadow-green-2 { --shadow-color: var(--green-2-hsl); --shadow: var(--shadow-colored); }
.shadow-green-3 { --shadow-color: var(--green-3-hsl); --shadow: var(--shadow-colored); }
.shadow-green-4 { --shadow-color: var(--green-4-hsl); --shadow: var(--shadow-colored); }
.shadow-green-5 { --shadow-color: var(--green-5-hsl); --shadow: var(--shadow-colored); }
.shadow-green-6 { --shadow-color: var(--green-6-hsl); --shadow: var(--shadow-colored); }
.shadow-green-7 { --shadow-color: var(--green-7-hsl); --shadow: var(--shadow-colored); }
.shadow-green-8 { --shadow-color: var(--green-8-hsl); --shadow: var(--shadow-colored); }
.shadow-green-9 { --shadow-color: var(--green-9-hsl); --shadow: var(--shadow-colored); }
.shadow-green-10 { --shadow-color: var(--green-10-hsl); --shadow: var(--shadow-colored); }

.bg-blue { background: var(--blue); }
.bg-blue-1 { background: var(--blue-1); }
.bg-blue-2 { background: var(--blue-2); }
.bg-blue-3 { background: var(--blue-3); }
.bg-blue-4 { background: var(--blue-4); }
.bg-blue-5 { background: var(--blue-5); }
.bg-blue-6 { background: var(--blue-6); }
.bg-blue-7 { background: var(--blue-7); }
.bg-blue-8 { background: var(--blue-8); }
.bg-blue-9 { background: var(--blue-9); }
.bg-blue-10 { background: var(--blue-10); }

.shadow-blue { --shadow-color: var(--blue-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-1 { --shadow-color: var(--blue-1-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-2 { --shadow-color: var(--blue-2-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-3 { --shadow-color: var(--blue-3-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-4 { --shadow-color: var(--blue-4-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-5 { --shadow-color: var(--blue-5-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-6 { --shadow-color: var(--blue-6-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-7 { --shadow-color: var(--blue-7-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-8 { --shadow-color: var(--blue-8-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-9 { --shadow-color: var(--blue-9-hsl); --shadow: var(--shadow-colored); }
.shadow-blue-10 { --shadow-color: var(--blue-10-hsl); --shadow: var(--shadow-colored); }

.bg-purple { background: var(--purple); }
.bg-purple-1 { background: var(--purple-1); }
.bg-purple-2 { background: var(--purple-2); }
.bg-purple-3 { background: var(--purple-3); }
.bg-purple-4 { background: var(--purple-4); }
.bg-purple-5 { background: var(--purple-5); }
.bg-purple-6 { background: var(--purple-6); }
.bg-purple-7 { background: var(--purple-7); }
.bg-purple-8 { background: var(--purple-8); }
.bg-purple-9 { background: var(--purple-9); }
.bg-purple-10 { background: var(--purple-10); }

.bg-black { background: var(--black); }
.bg-black-1 { background: var(--black-1); }
.bg-black-2 { background: var(--black-2); }
.bg-black-3 { background: var(--black-3); }
.bg-black-4 { background: var(--black-4); }
.bg-black-5 { background: var(--black-5); }
.bg-black-6 { background: var(--black-6); }
.bg-black-7 { background: var(--black-7); }
.bg-black-8 { background: var(--black-8); }
.bg-black-9 { background: var(--black-9); }
.bg-black-10 { background: var(--black-10); }

.bg-white { background: var(--white); }
.bg-white-1 { background: var(--white-1); }
.bg-white-2 { background: var(--white-2); }
.bg-white-3 { background: var(--white-3); }
.bg-white-4 { background: var(--white-4); }
.bg-white-5 { background: var(--white-5); }
.bg-white-6 { background: var(--white-6); }
.bg-white-7 { background: var(--white-7); }
.bg-white-8 { background: var(--white-8); }
.bg-white-9 { background: var(--white-9); }
.bg-white-10 { background: var(--white-10); }

.white { color: var(--white); }
.white-1 { color: var(--white-1); }
.white-2 { color: var(--white-2); }
.white-3 { color: var(--white-3); }
.white-4 { color: var(--white-4); }
.white-5 { color: var(--white-5); }
.white-6 { color: var(--white-6); }
.white-7 { color: var(--white-7); }
.white-8 { color: var(--white-8); }
.white-9 { color: var(--white-9); }
.white-10 { color: var(--white-10); }

.bg-slate { background: var(--slate); }
.bg-slate-1 { background: var(--slate-1); }
.bg-slate-2 { background: var(--slate-2); }
.bg-slate-3 { background: var(--slate-3); }
.bg-slate-4 { background: var(--slate-4); }
.bg-slate-5 { background: var(--slate-5); }
.bg-slate-6 { background: var(--slate-6); }
.bg-slate-7 { background: var(--slate-7); }
.bg-slate-8 { background: var(--slate-8); }
.bg-slate-9 { background: var(--slate-9); }
.bg-slate-10 { background: var(--slate-10); }

.bg-gray { background: var(--gray); }
.bg-gray-1 { background: var(--gray-1); }
.bg-gray-2 { background: var(--gray-2); }
.bg-gray-3 { background: var(--gray-3); }
.bg-gray-4 { background: var(--gray-4); }
.bg-gray-5 { background: var(--gray-5); }
.bg-gray-6 { background: var(--gray-6); }
.bg-gray-7 { background: var(--gray-7); }
.bg-gray-8 { background: var(--gray-8); }
.bg-gray-9 { background: var(--gray-9); }
.bg-gray-10 { background: var(--gray-10); }

.bg-pink { background: var(--pink); }
.bg-pink-1 { background: var(--pink-1); }
.bg-pink-2 { background: var(--pink-2); }
.bg-pink-3 { background: var(--pink-3); }
.bg-pink-4 { background: var(--pink-4); }
.bg-pink-5 { background: var(--pink-5); }
.bg-pink-6 { background: var(--pink-6); }
.bg-pink-7 { background: var(--pink-7); }
.bg-pink-8 { background: var(--pink-8); }
.bg-pink-9 { background: var(--pink-9); }
.bg-pink-10 { background: var(--pink-10); }

.bg-teal { background: var(--teal); }
.bg-teal-1 { background: var(--teal-1); }
.bg-teal-2 { background: var(--teal-2); }
.bg-teal-3 { background: var(--teal-3); }
.bg-teal-4 { background: var(--teal-4); }
.bg-teal-5 { background: var(--teal-5); }
.bg-teal-6 { background: var(--teal-6); }
.bg-teal-7 { background: var(--teal-7); }
.bg-teal-8 { background: var(--teal-8); }
.bg-teal-9 { background: var(--teal-9); }
.bg-teal-10 { background: var(--teal-10); }