/* GENERATED by scripts/build-vendor-utilities.py — do not edit by hand. */

/* --- Display ----------------------------------------------------------- */
.pp-block:not(#_):not(#_):not(#_) { display: block; }
.pp-inline-block:not(#_):not(#_):not(#_) { display: inline-block; }
.pp-inline:not(#_):not(#_):not(#_) { display: inline; }
.pp-flex:not(#_):not(#_):not(#_) { display: flex; }
.pp-inline-flex:not(#_):not(#_):not(#_) { display: inline-flex; }
.pp-grid:not(#_):not(#_):not(#_) { display: grid; }
.pp-hidden:not(#_):not(#_):not(#_) { display: none; }
.pp-contents:not(#_):not(#_):not(#_) { display: contents; }

/* --- Flex & grid ------------------------------------------------------- */
.pp-flex-row:not(#_):not(#_):not(#_) { flex-direction: row; }
.pp-flex-col:not(#_):not(#_):not(#_) { flex-direction: column; }
.pp-flex-wrap:not(#_):not(#_):not(#_) { flex-wrap: wrap; }
.pp-flex-nowrap:not(#_):not(#_):not(#_) { flex-wrap: nowrap; }
.pp-flex-1:not(#_):not(#_):not(#_) { flex: 1 1 0%; }
.pp-flex-auto:not(#_):not(#_):not(#_) { flex: 1 1 auto; }
.pp-flex-none:not(#_):not(#_):not(#_) { flex: none; }
.pp-grow:not(#_):not(#_):not(#_) { flex-grow: 1; }
.pp-shrink-0:not(#_):not(#_):not(#_) { flex-shrink: 0; }
.pp-items-start:not(#_):not(#_):not(#_) { align-items: flex-start; }
.pp-self-start:not(#_):not(#_):not(#_) { align-self: flex-start; }
.pp-items-center:not(#_):not(#_):not(#_) { align-items: center; }
.pp-self-center:not(#_):not(#_):not(#_) { align-self: center; }
.pp-items-end:not(#_):not(#_):not(#_) { align-items: flex-end; }
.pp-self-end:not(#_):not(#_):not(#_) { align-self: flex-end; }
.pp-items-stretch:not(#_):not(#_):not(#_) { align-items: stretch; }
.pp-self-stretch:not(#_):not(#_):not(#_) { align-self: stretch; }
.pp-items-baseline:not(#_):not(#_):not(#_) { align-items: baseline; }
.pp-self-baseline:not(#_):not(#_):not(#_) { align-self: baseline; }
.pp-justify-start:not(#_):not(#_):not(#_) { justify-content: flex-start; }
.pp-justify-center:not(#_):not(#_):not(#_) { justify-content: center; }
.pp-justify-end:not(#_):not(#_):not(#_) { justify-content: flex-end; }
.pp-justify-between:not(#_):not(#_):not(#_) { justify-content: space-between; }
.pp-justify-around:not(#_):not(#_):not(#_) { justify-content: space-around; }
.pp-grid-cols-1:not(#_):not(#_):not(#_) { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.pp-grid-cols-2:not(#_):not(#_):not(#_) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pp-grid-cols-3:not(#_):not(#_):not(#_) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp-grid-cols-4:not(#_):not(#_):not(#_) { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* --- Spacing ----------------------------------------------------------- */
.pp-p-0:not(#_):not(#_):not(#_) { padding: 0; }
.pp-p-4:not(#_):not(#_):not(#_) { padding: 4px; }
.pp-p-8:not(#_):not(#_):not(#_) { padding: 8px; }
.pp-p-12:not(#_):not(#_):not(#_) { padding: 12px; }
.pp-p-16:not(#_):not(#_):not(#_) { padding: 16px; }
.pp-p-20:not(#_):not(#_):not(#_) { padding: 20px; }
.pp-p-24:not(#_):not(#_):not(#_) { padding: 24px; }
.pp-p-28:not(#_):not(#_):not(#_) { padding: 28px; }
.pp-p-32:not(#_):not(#_):not(#_) { padding: 32px; }
.pp-p-40:not(#_):not(#_):not(#_) { padding: 40px; }
.pp-p-48:not(#_):not(#_):not(#_) { padding: 48px; }
.pp-p-56:not(#_):not(#_):not(#_) { padding: 56px; }
.pp-p-64:not(#_):not(#_):not(#_) { padding: 64px; }
.pp-p-72:not(#_):not(#_):not(#_) { padding: 72px; }
.pp-p-80:not(#_):not(#_):not(#_) { padding: 80px; }
.pp-px-0:not(#_):not(#_):not(#_) { padding-left: 0; padding-right: 0; }
.pp-px-4:not(#_):not(#_):not(#_) { padding-left: 4px; padding-right: 4px; }
.pp-px-8:not(#_):not(#_):not(#_) { padding-left: 8px; padding-right: 8px; }
.pp-px-12:not(#_):not(#_):not(#_) { padding-left: 12px; padding-right: 12px; }
.pp-px-16:not(#_):not(#_):not(#_) { padding-left: 16px; padding-right: 16px; }
.pp-px-20:not(#_):not(#_):not(#_) { padding-left: 20px; padding-right: 20px; }
.pp-px-24:not(#_):not(#_):not(#_) { padding-left: 24px; padding-right: 24px; }
.pp-px-28:not(#_):not(#_):not(#_) { padding-left: 28px; padding-right: 28px; }
.pp-px-32:not(#_):not(#_):not(#_) { padding-left: 32px; padding-right: 32px; }
.pp-px-40:not(#_):not(#_):not(#_) { padding-left: 40px; padding-right: 40px; }
.pp-px-48:not(#_):not(#_):not(#_) { padding-left: 48px; padding-right: 48px; }
.pp-px-56:not(#_):not(#_):not(#_) { padding-left: 56px; padding-right: 56px; }
.pp-px-64:not(#_):not(#_):not(#_) { padding-left: 64px; padding-right: 64px; }
.pp-px-72:not(#_):not(#_):not(#_) { padding-left: 72px; padding-right: 72px; }
.pp-px-80:not(#_):not(#_):not(#_) { padding-left: 80px; padding-right: 80px; }
.pp-py-0:not(#_):not(#_):not(#_) { padding-top: 0; padding-bottom: 0; }
.pp-py-4:not(#_):not(#_):not(#_) { padding-top: 4px; padding-bottom: 4px; }
.pp-py-8:not(#_):not(#_):not(#_) { padding-top: 8px; padding-bottom: 8px; }
.pp-py-12:not(#_):not(#_):not(#_) { padding-top: 12px; padding-bottom: 12px; }
.pp-py-16:not(#_):not(#_):not(#_) { padding-top: 16px; padding-bottom: 16px; }
.pp-py-20:not(#_):not(#_):not(#_) { padding-top: 20px; padding-bottom: 20px; }
.pp-py-24:not(#_):not(#_):not(#_) { padding-top: 24px; padding-bottom: 24px; }
.pp-py-28:not(#_):not(#_):not(#_) { padding-top: 28px; padding-bottom: 28px; }
.pp-py-32:not(#_):not(#_):not(#_) { padding-top: 32px; padding-bottom: 32px; }
.pp-py-40:not(#_):not(#_):not(#_) { padding-top: 40px; padding-bottom: 40px; }
.pp-py-48:not(#_):not(#_):not(#_) { padding-top: 48px; padding-bottom: 48px; }
.pp-py-56:not(#_):not(#_):not(#_) { padding-top: 56px; padding-bottom: 56px; }
.pp-py-64:not(#_):not(#_):not(#_) { padding-top: 64px; padding-bottom: 64px; }
.pp-py-72:not(#_):not(#_):not(#_) { padding-top: 72px; padding-bottom: 72px; }
.pp-py-80:not(#_):not(#_):not(#_) { padding-top: 80px; padding-bottom: 80px; }
.pp-pt-0:not(#_):not(#_):not(#_) { padding-top: 0; }
.pp-pt-4:not(#_):not(#_):not(#_) { padding-top: 4px; }
.pp-pt-8:not(#_):not(#_):not(#_) { padding-top: 8px; }
.pp-pt-12:not(#_):not(#_):not(#_) { padding-top: 12px; }
.pp-pt-16:not(#_):not(#_):not(#_) { padding-top: 16px; }
.pp-pt-20:not(#_):not(#_):not(#_) { padding-top: 20px; }
.pp-pt-24:not(#_):not(#_):not(#_) { padding-top: 24px; }
.pp-pt-28:not(#_):not(#_):not(#_) { padding-top: 28px; }
.pp-pt-32:not(#_):not(#_):not(#_) { padding-top: 32px; }
.pp-pt-40:not(#_):not(#_):not(#_) { padding-top: 40px; }
.pp-pt-48:not(#_):not(#_):not(#_) { padding-top: 48px; }
.pp-pt-56:not(#_):not(#_):not(#_) { padding-top: 56px; }
.pp-pt-64:not(#_):not(#_):not(#_) { padding-top: 64px; }
.pp-pt-72:not(#_):not(#_):not(#_) { padding-top: 72px; }
.pp-pt-80:not(#_):not(#_):not(#_) { padding-top: 80px; }
.pp-pr-0:not(#_):not(#_):not(#_) { padding-right: 0; }
.pp-pr-4:not(#_):not(#_):not(#_) { padding-right: 4px; }
.pp-pr-8:not(#_):not(#_):not(#_) { padding-right: 8px; }
.pp-pr-12:not(#_):not(#_):not(#_) { padding-right: 12px; }
.pp-pr-16:not(#_):not(#_):not(#_) { padding-right: 16px; }
.pp-pr-20:not(#_):not(#_):not(#_) { padding-right: 20px; }
.pp-pr-24:not(#_):not(#_):not(#_) { padding-right: 24px; }
.pp-pr-28:not(#_):not(#_):not(#_) { padding-right: 28px; }
.pp-pr-32:not(#_):not(#_):not(#_) { padding-right: 32px; }
.pp-pr-40:not(#_):not(#_):not(#_) { padding-right: 40px; }
.pp-pr-48:not(#_):not(#_):not(#_) { padding-right: 48px; }
.pp-pr-56:not(#_):not(#_):not(#_) { padding-right: 56px; }
.pp-pr-64:not(#_):not(#_):not(#_) { padding-right: 64px; }
.pp-pr-72:not(#_):not(#_):not(#_) { padding-right: 72px; }
.pp-pr-80:not(#_):not(#_):not(#_) { padding-right: 80px; }
.pp-pb-0:not(#_):not(#_):not(#_) { padding-bottom: 0; }
.pp-pb-4:not(#_):not(#_):not(#_) { padding-bottom: 4px; }
.pp-pb-8:not(#_):not(#_):not(#_) { padding-bottom: 8px; }
.pp-pb-12:not(#_):not(#_):not(#_) { padding-bottom: 12px; }
.pp-pb-16:not(#_):not(#_):not(#_) { padding-bottom: 16px; }
.pp-pb-20:not(#_):not(#_):not(#_) { padding-bottom: 20px; }
.pp-pb-24:not(#_):not(#_):not(#_) { padding-bottom: 24px; }
.pp-pb-28:not(#_):not(#_):not(#_) { padding-bottom: 28px; }
.pp-pb-32:not(#_):not(#_):not(#_) { padding-bottom: 32px; }
.pp-pb-40:not(#_):not(#_):not(#_) { padding-bottom: 40px; }
.pp-pb-48:not(#_):not(#_):not(#_) { padding-bottom: 48px; }
.pp-pb-56:not(#_):not(#_):not(#_) { padding-bottom: 56px; }
.pp-pb-64:not(#_):not(#_):not(#_) { padding-bottom: 64px; }
.pp-pb-72:not(#_):not(#_):not(#_) { padding-bottom: 72px; }
.pp-pb-80:not(#_):not(#_):not(#_) { padding-bottom: 80px; }
.pp-pl-0:not(#_):not(#_):not(#_) { padding-left: 0; }
.pp-pl-4:not(#_):not(#_):not(#_) { padding-left: 4px; }
.pp-pl-8:not(#_):not(#_):not(#_) { padding-left: 8px; }
.pp-pl-12:not(#_):not(#_):not(#_) { padding-left: 12px; }
.pp-pl-16:not(#_):not(#_):not(#_) { padding-left: 16px; }
.pp-pl-20:not(#_):not(#_):not(#_) { padding-left: 20px; }
.pp-pl-24:not(#_):not(#_):not(#_) { padding-left: 24px; }
.pp-pl-28:not(#_):not(#_):not(#_) { padding-left: 28px; }
.pp-pl-32:not(#_):not(#_):not(#_) { padding-left: 32px; }
.pp-pl-40:not(#_):not(#_):not(#_) { padding-left: 40px; }
.pp-pl-48:not(#_):not(#_):not(#_) { padding-left: 48px; }
.pp-pl-56:not(#_):not(#_):not(#_) { padding-left: 56px; }
.pp-pl-64:not(#_):not(#_):not(#_) { padding-left: 64px; }
.pp-pl-72:not(#_):not(#_):not(#_) { padding-left: 72px; }
.pp-pl-80:not(#_):not(#_):not(#_) { padding-left: 80px; }
.pp-m-0:not(#_):not(#_):not(#_) { margin: 0; }
.pp-m-4:not(#_):not(#_):not(#_) { margin: 4px; }
.pp-m-8:not(#_):not(#_):not(#_) { margin: 8px; }
.pp-m-12:not(#_):not(#_):not(#_) { margin: 12px; }
.pp-m-16:not(#_):not(#_):not(#_) { margin: 16px; }
.pp-m-20:not(#_):not(#_):not(#_) { margin: 20px; }
.pp-m-24:not(#_):not(#_):not(#_) { margin: 24px; }
.pp-m-28:not(#_):not(#_):not(#_) { margin: 28px; }
.pp-m-32:not(#_):not(#_):not(#_) { margin: 32px; }
.pp-m-40:not(#_):not(#_):not(#_) { margin: 40px; }
.pp-m-48:not(#_):not(#_):not(#_) { margin: 48px; }
.pp-m-56:not(#_):not(#_):not(#_) { margin: 56px; }
.pp-m-64:not(#_):not(#_):not(#_) { margin: 64px; }
.pp-m-72:not(#_):not(#_):not(#_) { margin: 72px; }
.pp-m-80:not(#_):not(#_):not(#_) { margin: 80px; }
.pp-m-auto:not(#_):not(#_):not(#_) { margin: auto; }
.pp-mx-0:not(#_):not(#_):not(#_) { margin-left: 0; margin-right: 0; }
.pp-mx-4:not(#_):not(#_):not(#_) { margin-left: 4px; margin-right: 4px; }
.pp-mx-8:not(#_):not(#_):not(#_) { margin-left: 8px; margin-right: 8px; }
.pp-mx-12:not(#_):not(#_):not(#_) { margin-left: 12px; margin-right: 12px; }
.pp-mx-16:not(#_):not(#_):not(#_) { margin-left: 16px; margin-right: 16px; }
.pp-mx-20:not(#_):not(#_):not(#_) { margin-left: 20px; margin-right: 20px; }
.pp-mx-24:not(#_):not(#_):not(#_) { margin-left: 24px; margin-right: 24px; }
.pp-mx-28:not(#_):not(#_):not(#_) { margin-left: 28px; margin-right: 28px; }
.pp-mx-32:not(#_):not(#_):not(#_) { margin-left: 32px; margin-right: 32px; }
.pp-mx-40:not(#_):not(#_):not(#_) { margin-left: 40px; margin-right: 40px; }
.pp-mx-48:not(#_):not(#_):not(#_) { margin-left: 48px; margin-right: 48px; }
.pp-mx-56:not(#_):not(#_):not(#_) { margin-left: 56px; margin-right: 56px; }
.pp-mx-64:not(#_):not(#_):not(#_) { margin-left: 64px; margin-right: 64px; }
.pp-mx-72:not(#_):not(#_):not(#_) { margin-left: 72px; margin-right: 72px; }
.pp-mx-80:not(#_):not(#_):not(#_) { margin-left: 80px; margin-right: 80px; }
.pp-mx-auto:not(#_):not(#_):not(#_) { margin-left: auto; margin-right: auto; }
.pp-my-0:not(#_):not(#_):not(#_) { margin-top: 0; margin-bottom: 0; }
.pp-my-4:not(#_):not(#_):not(#_) { margin-top: 4px; margin-bottom: 4px; }
.pp-my-8:not(#_):not(#_):not(#_) { margin-top: 8px; margin-bottom: 8px; }
.pp-my-12:not(#_):not(#_):not(#_) { margin-top: 12px; margin-bottom: 12px; }
.pp-my-16:not(#_):not(#_):not(#_) { margin-top: 16px; margin-bottom: 16px; }
.pp-my-20:not(#_):not(#_):not(#_) { margin-top: 20px; margin-bottom: 20px; }
.pp-my-24:not(#_):not(#_):not(#_) { margin-top: 24px; margin-bottom: 24px; }
.pp-my-28:not(#_):not(#_):not(#_) { margin-top: 28px; margin-bottom: 28px; }
.pp-my-32:not(#_):not(#_):not(#_) { margin-top: 32px; margin-bottom: 32px; }
.pp-my-40:not(#_):not(#_):not(#_) { margin-top: 40px; margin-bottom: 40px; }
.pp-my-48:not(#_):not(#_):not(#_) { margin-top: 48px; margin-bottom: 48px; }
.pp-my-56:not(#_):not(#_):not(#_) { margin-top: 56px; margin-bottom: 56px; }
.pp-my-64:not(#_):not(#_):not(#_) { margin-top: 64px; margin-bottom: 64px; }
.pp-my-72:not(#_):not(#_):not(#_) { margin-top: 72px; margin-bottom: 72px; }
.pp-my-80:not(#_):not(#_):not(#_) { margin-top: 80px; margin-bottom: 80px; }
.pp-my-auto:not(#_):not(#_):not(#_) { margin-top: auto; margin-bottom: auto; }
.pp-mt-0:not(#_):not(#_):not(#_) { margin-top: 0; }
.pp-mt-4:not(#_):not(#_):not(#_) { margin-top: 4px; }
.pp-mt-8:not(#_):not(#_):not(#_) { margin-top: 8px; }
.pp-mt-12:not(#_):not(#_):not(#_) { margin-top: 12px; }
.pp-mt-16:not(#_):not(#_):not(#_) { margin-top: 16px; }
.pp-mt-20:not(#_):not(#_):not(#_) { margin-top: 20px; }
.pp-mt-24:not(#_):not(#_):not(#_) { margin-top: 24px; }
.pp-mt-28:not(#_):not(#_):not(#_) { margin-top: 28px; }
.pp-mt-32:not(#_):not(#_):not(#_) { margin-top: 32px; }
.pp-mt-40:not(#_):not(#_):not(#_) { margin-top: 40px; }
.pp-mt-48:not(#_):not(#_):not(#_) { margin-top: 48px; }
.pp-mt-56:not(#_):not(#_):not(#_) { margin-top: 56px; }
.pp-mt-64:not(#_):not(#_):not(#_) { margin-top: 64px; }
.pp-mt-72:not(#_):not(#_):not(#_) { margin-top: 72px; }
.pp-mt-80:not(#_):not(#_):not(#_) { margin-top: 80px; }
.pp-mt-auto:not(#_):not(#_):not(#_) { margin-top: auto; }
.pp-mr-0:not(#_):not(#_):not(#_) { margin-right: 0; }
.pp-mr-4:not(#_):not(#_):not(#_) { margin-right: 4px; }
.pp-mr-8:not(#_):not(#_):not(#_) { margin-right: 8px; }
.pp-mr-12:not(#_):not(#_):not(#_) { margin-right: 12px; }
.pp-mr-16:not(#_):not(#_):not(#_) { margin-right: 16px; }
.pp-mr-20:not(#_):not(#_):not(#_) { margin-right: 20px; }
.pp-mr-24:not(#_):not(#_):not(#_) { margin-right: 24px; }
.pp-mr-28:not(#_):not(#_):not(#_) { margin-right: 28px; }
.pp-mr-32:not(#_):not(#_):not(#_) { margin-right: 32px; }
.pp-mr-40:not(#_):not(#_):not(#_) { margin-right: 40px; }
.pp-mr-48:not(#_):not(#_):not(#_) { margin-right: 48px; }
.pp-mr-56:not(#_):not(#_):not(#_) { margin-right: 56px; }
.pp-mr-64:not(#_):not(#_):not(#_) { margin-right: 64px; }
.pp-mr-72:not(#_):not(#_):not(#_) { margin-right: 72px; }
.pp-mr-80:not(#_):not(#_):not(#_) { margin-right: 80px; }
.pp-mr-auto:not(#_):not(#_):not(#_) { margin-right: auto; }
.pp-mb-0:not(#_):not(#_):not(#_) { margin-bottom: 0; }
.pp-mb-4:not(#_):not(#_):not(#_) { margin-bottom: 4px; }
.pp-mb-8:not(#_):not(#_):not(#_) { margin-bottom: 8px; }
.pp-mb-12:not(#_):not(#_):not(#_) { margin-bottom: 12px; }
.pp-mb-16:not(#_):not(#_):not(#_) { margin-bottom: 16px; }
.pp-mb-20:not(#_):not(#_):not(#_) { margin-bottom: 20px; }
.pp-mb-24:not(#_):not(#_):not(#_) { margin-bottom: 24px; }
.pp-mb-28:not(#_):not(#_):not(#_) { margin-bottom: 28px; }
.pp-mb-32:not(#_):not(#_):not(#_) { margin-bottom: 32px; }
.pp-mb-40:not(#_):not(#_):not(#_) { margin-bottom: 40px; }
.pp-mb-48:not(#_):not(#_):not(#_) { margin-bottom: 48px; }
.pp-mb-56:not(#_):not(#_):not(#_) { margin-bottom: 56px; }
.pp-mb-64:not(#_):not(#_):not(#_) { margin-bottom: 64px; }
.pp-mb-72:not(#_):not(#_):not(#_) { margin-bottom: 72px; }
.pp-mb-80:not(#_):not(#_):not(#_) { margin-bottom: 80px; }
.pp-mb-auto:not(#_):not(#_):not(#_) { margin-bottom: auto; }
.pp-ml-0:not(#_):not(#_):not(#_) { margin-left: 0; }
.pp-ml-4:not(#_):not(#_):not(#_) { margin-left: 4px; }
.pp-ml-8:not(#_):not(#_):not(#_) { margin-left: 8px; }
.pp-ml-12:not(#_):not(#_):not(#_) { margin-left: 12px; }
.pp-ml-16:not(#_):not(#_):not(#_) { margin-left: 16px; }
.pp-ml-20:not(#_):not(#_):not(#_) { margin-left: 20px; }
.pp-ml-24:not(#_):not(#_):not(#_) { margin-left: 24px; }
.pp-ml-28:not(#_):not(#_):not(#_) { margin-left: 28px; }
.pp-ml-32:not(#_):not(#_):not(#_) { margin-left: 32px; }
.pp-ml-40:not(#_):not(#_):not(#_) { margin-left: 40px; }
.pp-ml-48:not(#_):not(#_):not(#_) { margin-left: 48px; }
.pp-ml-56:not(#_):not(#_):not(#_) { margin-left: 56px; }
.pp-ml-64:not(#_):not(#_):not(#_) { margin-left: 64px; }
.pp-ml-72:not(#_):not(#_):not(#_) { margin-left: 72px; }
.pp-ml-80:not(#_):not(#_):not(#_) { margin-left: 80px; }
.pp-ml-auto:not(#_):not(#_):not(#_) { margin-left: auto; }
.pp-gap-0:not(#_):not(#_):not(#_) { gap: 0px; }
.pp-gap-x-0:not(#_):not(#_):not(#_) { column-gap: 0px; }
.pp-gap-y-0:not(#_):not(#_):not(#_) { row-gap: 0px; }
.pp-gap-4:not(#_):not(#_):not(#_) { gap: 4px; }
.pp-gap-x-4:not(#_):not(#_):not(#_) { column-gap: 4px; }
.pp-gap-y-4:not(#_):not(#_):not(#_) { row-gap: 4px; }
.pp-gap-8:not(#_):not(#_):not(#_) { gap: 8px; }
.pp-gap-x-8:not(#_):not(#_):not(#_) { column-gap: 8px; }
.pp-gap-y-8:not(#_):not(#_):not(#_) { row-gap: 8px; }
.pp-gap-12:not(#_):not(#_):not(#_) { gap: 12px; }
.pp-gap-x-12:not(#_):not(#_):not(#_) { column-gap: 12px; }
.pp-gap-y-12:not(#_):not(#_):not(#_) { row-gap: 12px; }
.pp-gap-16:not(#_):not(#_):not(#_) { gap: 16px; }
.pp-gap-x-16:not(#_):not(#_):not(#_) { column-gap: 16px; }
.pp-gap-y-16:not(#_):not(#_):not(#_) { row-gap: 16px; }
.pp-gap-20:not(#_):not(#_):not(#_) { gap: 20px; }
.pp-gap-x-20:not(#_):not(#_):not(#_) { column-gap: 20px; }
.pp-gap-y-20:not(#_):not(#_):not(#_) { row-gap: 20px; }
.pp-gap-24:not(#_):not(#_):not(#_) { gap: 24px; }
.pp-gap-x-24:not(#_):not(#_):not(#_) { column-gap: 24px; }
.pp-gap-y-24:not(#_):not(#_):not(#_) { row-gap: 24px; }
.pp-gap-28:not(#_):not(#_):not(#_) { gap: 28px; }
.pp-gap-x-28:not(#_):not(#_):not(#_) { column-gap: 28px; }
.pp-gap-y-28:not(#_):not(#_):not(#_) { row-gap: 28px; }
.pp-gap-32:not(#_):not(#_):not(#_) { gap: 32px; }
.pp-gap-x-32:not(#_):not(#_):not(#_) { column-gap: 32px; }
.pp-gap-y-32:not(#_):not(#_):not(#_) { row-gap: 32px; }
.pp-gap-40:not(#_):not(#_):not(#_) { gap: 40px; }
.pp-gap-x-40:not(#_):not(#_):not(#_) { column-gap: 40px; }
.pp-gap-y-40:not(#_):not(#_):not(#_) { row-gap: 40px; }
.pp-gap-48:not(#_):not(#_):not(#_) { gap: 48px; }
.pp-gap-x-48:not(#_):not(#_):not(#_) { column-gap: 48px; }
.pp-gap-y-48:not(#_):not(#_):not(#_) { row-gap: 48px; }
.pp-gap-56:not(#_):not(#_):not(#_) { gap: 56px; }
.pp-gap-x-56:not(#_):not(#_):not(#_) { column-gap: 56px; }
.pp-gap-y-56:not(#_):not(#_):not(#_) { row-gap: 56px; }
.pp-gap-64:not(#_):not(#_):not(#_) { gap: 64px; }
.pp-gap-x-64:not(#_):not(#_):not(#_) { column-gap: 64px; }
.pp-gap-y-64:not(#_):not(#_):not(#_) { row-gap: 64px; }
.pp-gap-72:not(#_):not(#_):not(#_) { gap: 72px; }
.pp-gap-x-72:not(#_):not(#_):not(#_) { column-gap: 72px; }
.pp-gap-y-72:not(#_):not(#_):not(#_) { row-gap: 72px; }
.pp-gap-80:not(#_):not(#_):not(#_) { gap: 80px; }
.pp-gap-x-80:not(#_):not(#_):not(#_) { column-gap: 80px; }
.pp-gap-y-80:not(#_):not(#_):not(#_) { row-gap: 80px; }

/* --- Sizing ------------------------------------------------------------ */
.pp-w-16:not(#_):not(#_):not(#_) { width: 16px; }
.pp-w-20:not(#_):not(#_):not(#_) { width: 20px; }
.pp-w-24:not(#_):not(#_):not(#_) { width: 24px; }
.pp-w-28:not(#_):not(#_):not(#_) { width: 28px; }
.pp-w-32:not(#_):not(#_):not(#_) { width: 32px; }
.pp-w-40:not(#_):not(#_):not(#_) { width: 40px; }
.pp-w-48:not(#_):not(#_):not(#_) { width: 48px; }
.pp-w-100:not(#_):not(#_):not(#_) { width: 100px; }
.pp-w-120:not(#_):not(#_):not(#_) { width: 120px; }
.pp-w-140:not(#_):not(#_):not(#_) { width: 140px; }
.pp-w-150:not(#_):not(#_):not(#_) { width: 150px; }
.pp-w-176:not(#_):not(#_):not(#_) { width: 176px; }
.pp-w-200:not(#_):not(#_):not(#_) { width: 200px; }
.pp-w-236:not(#_):not(#_):not(#_) { width: 236px; }
.pp-w-255:not(#_):not(#_):not(#_) { width: 255px; }
.pp-w-280:not(#_):not(#_):not(#_) { width: 280px; }
.pp-w-380:not(#_):not(#_):not(#_) { width: 380px; }
.pp-w-392:not(#_):not(#_):not(#_) { width: 392px; }
.pp-w-480:not(#_):not(#_):not(#_) { width: 480px; }
.pp-w-592:not(#_):not(#_):not(#_) { width: 592px; }
.pp-w-600:not(#_):not(#_):not(#_) { width: 600px; }
.pp-w-680:not(#_):not(#_):not(#_) { width: 680px; }
.pp-w-1\/2:not(#_):not(#_):not(#_) { width: 50%; }
.pp-w-1\/3:not(#_):not(#_):not(#_) { width: 33.333333%; }
.pp-w-2\/3:not(#_):not(#_):not(#_) { width: 66.666667%; }
.pp-w-1\/4:not(#_):not(#_):not(#_) { width: 25%; }
.pp-w-3\/4:not(#_):not(#_):not(#_) { width: 75%; }
.pp-w-full:not(#_):not(#_):not(#_) { width: 100%; }
.pp-min-w-16:not(#_):not(#_):not(#_) { min-width: 16px; }
.pp-min-w-20:not(#_):not(#_):not(#_) { min-width: 20px; }
.pp-min-w-24:not(#_):not(#_):not(#_) { min-width: 24px; }
.pp-min-w-28:not(#_):not(#_):not(#_) { min-width: 28px; }
.pp-min-w-32:not(#_):not(#_):not(#_) { min-width: 32px; }
.pp-min-w-40:not(#_):not(#_):not(#_) { min-width: 40px; }
.pp-min-w-48:not(#_):not(#_):not(#_) { min-width: 48px; }
.pp-min-w-100:not(#_):not(#_):not(#_) { min-width: 100px; }
.pp-min-w-120:not(#_):not(#_):not(#_) { min-width: 120px; }
.pp-min-w-140:not(#_):not(#_):not(#_) { min-width: 140px; }
.pp-min-w-150:not(#_):not(#_):not(#_) { min-width: 150px; }
.pp-min-w-176:not(#_):not(#_):not(#_) { min-width: 176px; }
.pp-min-w-200:not(#_):not(#_):not(#_) { min-width: 200px; }
.pp-min-w-236:not(#_):not(#_):not(#_) { min-width: 236px; }
.pp-min-w-255:not(#_):not(#_):not(#_) { min-width: 255px; }
.pp-min-w-280:not(#_):not(#_):not(#_) { min-width: 280px; }
.pp-min-w-380:not(#_):not(#_):not(#_) { min-width: 380px; }
.pp-min-w-392:not(#_):not(#_):not(#_) { min-width: 392px; }
.pp-min-w-480:not(#_):not(#_):not(#_) { min-width: 480px; }
.pp-min-w-592:not(#_):not(#_):not(#_) { min-width: 592px; }
.pp-min-w-600:not(#_):not(#_):not(#_) { min-width: 600px; }
.pp-min-w-680:not(#_):not(#_):not(#_) { min-width: 680px; }
.pp-min-w-1\/2:not(#_):not(#_):not(#_) { min-width: 50%; }
.pp-min-w-1\/3:not(#_):not(#_):not(#_) { min-width: 33.333333%; }
.pp-min-w-2\/3:not(#_):not(#_):not(#_) { min-width: 66.666667%; }
.pp-min-w-1\/4:not(#_):not(#_):not(#_) { min-width: 25%; }
.pp-min-w-3\/4:not(#_):not(#_):not(#_) { min-width: 75%; }
.pp-min-w-full:not(#_):not(#_):not(#_) { min-width: 100%; }
.pp-max-w-16:not(#_):not(#_):not(#_) { max-width: 16px; }
.pp-max-w-20:not(#_):not(#_):not(#_) { max-width: 20px; }
.pp-max-w-24:not(#_):not(#_):not(#_) { max-width: 24px; }
.pp-max-w-28:not(#_):not(#_):not(#_) { max-width: 28px; }
.pp-max-w-32:not(#_):not(#_):not(#_) { max-width: 32px; }
.pp-max-w-40:not(#_):not(#_):not(#_) { max-width: 40px; }
.pp-max-w-48:not(#_):not(#_):not(#_) { max-width: 48px; }
.pp-max-w-100:not(#_):not(#_):not(#_) { max-width: 100px; }
.pp-max-w-120:not(#_):not(#_):not(#_) { max-width: 120px; }
.pp-max-w-140:not(#_):not(#_):not(#_) { max-width: 140px; }
.pp-max-w-150:not(#_):not(#_):not(#_) { max-width: 150px; }
.pp-max-w-176:not(#_):not(#_):not(#_) { max-width: 176px; }
.pp-max-w-200:not(#_):not(#_):not(#_) { max-width: 200px; }
.pp-max-w-236:not(#_):not(#_):not(#_) { max-width: 236px; }
.pp-max-w-255:not(#_):not(#_):not(#_) { max-width: 255px; }
.pp-max-w-280:not(#_):not(#_):not(#_) { max-width: 280px; }
.pp-max-w-380:not(#_):not(#_):not(#_) { max-width: 380px; }
.pp-max-w-392:not(#_):not(#_):not(#_) { max-width: 392px; }
.pp-max-w-480:not(#_):not(#_):not(#_) { max-width: 480px; }
.pp-max-w-592:not(#_):not(#_):not(#_) { max-width: 592px; }
.pp-max-w-600:not(#_):not(#_):not(#_) { max-width: 600px; }
.pp-max-w-680:not(#_):not(#_):not(#_) { max-width: 680px; }
.pp-max-w-1\/2:not(#_):not(#_):not(#_) { max-width: 50%; }
.pp-max-w-1\/3:not(#_):not(#_):not(#_) { max-width: 33.333333%; }
.pp-max-w-2\/3:not(#_):not(#_):not(#_) { max-width: 66.666667%; }
.pp-max-w-1\/4:not(#_):not(#_):not(#_) { max-width: 25%; }
.pp-max-w-3\/4:not(#_):not(#_):not(#_) { max-width: 75%; }
.pp-max-w-full:not(#_):not(#_):not(#_) { max-width: 100%; }
.pp-w-auto:not(#_):not(#_):not(#_) { width: auto; }
.pp-w-fit:not(#_):not(#_):not(#_) { width: fit-content; }
.pp-max-w-none:not(#_):not(#_):not(#_) { max-width: none; }
.pp-h-16:not(#_):not(#_):not(#_) { height: 16px; }
.pp-h-20:not(#_):not(#_):not(#_) { height: 20px; }
.pp-h-24:not(#_):not(#_):not(#_) { height: 24px; }
.pp-h-28:not(#_):not(#_):not(#_) { height: 28px; }
.pp-h-32:not(#_):not(#_):not(#_) { height: 32px; }
.pp-h-36:not(#_):not(#_):not(#_) { height: 36px; }
.pp-h-40:not(#_):not(#_):not(#_) { height: 40px; }
.pp-h-44:not(#_):not(#_):not(#_) { height: 44px; }
.pp-h-48:not(#_):not(#_):not(#_) { height: 48px; }
.pp-h-72:not(#_):not(#_):not(#_) { height: 72px; }
.pp-h-full:not(#_):not(#_):not(#_) { height: 100%; }
.pp-min-h-16:not(#_):not(#_):not(#_) { min-height: 16px; }
.pp-min-h-20:not(#_):not(#_):not(#_) { min-height: 20px; }
.pp-min-h-24:not(#_):not(#_):not(#_) { min-height: 24px; }
.pp-min-h-28:not(#_):not(#_):not(#_) { min-height: 28px; }
.pp-min-h-32:not(#_):not(#_):not(#_) { min-height: 32px; }
.pp-min-h-36:not(#_):not(#_):not(#_) { min-height: 36px; }
.pp-min-h-40:not(#_):not(#_):not(#_) { min-height: 40px; }
.pp-min-h-44:not(#_):not(#_):not(#_) { min-height: 44px; }
.pp-min-h-48:not(#_):not(#_):not(#_) { min-height: 48px; }
.pp-min-h-72:not(#_):not(#_):not(#_) { min-height: 72px; }
.pp-min-h-full:not(#_):not(#_):not(#_) { min-height: 100%; }
.pp-max-h-16:not(#_):not(#_):not(#_) { max-height: 16px; }
.pp-max-h-20:not(#_):not(#_):not(#_) { max-height: 20px; }
.pp-max-h-24:not(#_):not(#_):not(#_) { max-height: 24px; }
.pp-max-h-28:not(#_):not(#_):not(#_) { max-height: 28px; }
.pp-max-h-32:not(#_):not(#_):not(#_) { max-height: 32px; }
.pp-max-h-36:not(#_):not(#_):not(#_) { max-height: 36px; }
.pp-max-h-40:not(#_):not(#_):not(#_) { max-height: 40px; }
.pp-max-h-44:not(#_):not(#_):not(#_) { max-height: 44px; }
.pp-max-h-48:not(#_):not(#_):not(#_) { max-height: 48px; }
.pp-max-h-72:not(#_):not(#_):not(#_) { max-height: 72px; }
.pp-max-h-full:not(#_):not(#_):not(#_) { max-height: 100%; }
.pp-h-auto:not(#_):not(#_):not(#_) { height: auto; }

/* --- Typography — Figma text styles (size + weight + line-height) ------ */
.pp-text-h1:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h1); font-weight: 700; line-height: 1.4; }
.pp-text-h2:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h2); font-weight: 600; line-height: 1.4; }
.pp-text-h3:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h3); font-weight: 600; line-height: 1.4; }
.pp-text-h4:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h4); font-weight: 600; line-height: normal; }
.pp-text-title1:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-title1); font-weight: 600; line-height: normal; }
.pp-text-title2:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-title2); font-weight: 600; line-height: normal; }
.pp-text-title3:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-title3); font-weight: 600; line-height: normal; }
.pp-text-body1:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-body1); font-weight: 400; line-height: normal; }
.pp-text-body2:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-body2); font-weight: 400; line-height: normal; }
.pp-text-help:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-help); font-weight: 400; line-height: normal; }
.pp-text-tag:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-tag); font-weight: 500; line-height: normal; }

/* --- Typography — single properties ------------------------------------ */
.pp-text-11:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-tag); }
.pp-text-12:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-help); }
.pp-text-14:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-body2); }
.pp-text-16:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-body1); }
.pp-text-18:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-title1); }
.pp-text-20:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h4); }
.pp-text-28:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h3); }
.pp-text-32:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h2); }
.pp-text-40:not(#_):not(#_):not(#_) { font-size: var(--pp-fs-h1); }
.pp-font-regular:not(#_):not(#_):not(#_) { font-weight: 400; }
.pp-font-medium:not(#_):not(#_):not(#_) { font-weight: 500; }
.pp-font-semibold:not(#_):not(#_):not(#_) { font-weight: 600; }
.pp-font-bold:not(#_):not(#_):not(#_) { font-weight: 700; }
.pp-text-left:not(#_):not(#_):not(#_) { text-align: left; }
.pp-text-center:not(#_):not(#_):not(#_) { text-align: center; }
.pp-text-right:not(#_):not(#_):not(#_) { text-align: right; }
.pp-leading-none:not(#_):not(#_):not(#_) { line-height: 1; }
.pp-leading-tight:not(#_):not(#_):not(#_) { line-height: 1.4; }
.pp-leading-normal:not(#_):not(#_):not(#_) { line-height: normal; }
.pp-uppercase:not(#_):not(#_):not(#_) { text-transform: uppercase; }
.pp-capitalize:not(#_):not(#_):not(#_) { text-transform: capitalize; }
.pp-underline:not(#_):not(#_):not(#_) { text-decoration: underline; }
.pp-no-underline:not(#_):not(#_):not(#_) { text-decoration: none; }
.pp-line-through:not(#_):not(#_):not(#_) { text-decoration: line-through; }
.pp-whitespace-nowrap:not(#_):not(#_):not(#_) { white-space: nowrap; }
.pp-break-words:not(#_):not(#_):not(#_) { overflow-wrap: anywhere; }
.pp-font-family:not(#_):not(#_):not(#_) { font-family: var(--pp-font); }
.pp-truncate:not(#_):not(#_):not(#_) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* --- Colours (from tokens.css) ----------------------------------------- */
.pp-text-purple-100:not(#_):not(#_):not(#_) { color: var(--pp-purple-100); }
.pp-bg-purple-100:not(#_):not(#_):not(#_) { background-color: var(--pp-purple-100); }
.pp-border-purple-100:not(#_):not(#_):not(#_) { border-color: var(--pp-purple-100); }
.pp-text-purple-50:not(#_):not(#_):not(#_) { color: var(--pp-purple-50); }
.pp-bg-purple-50:not(#_):not(#_):not(#_) { background-color: var(--pp-purple-50); }
.pp-border-purple-50:not(#_):not(#_):not(#_) { border-color: var(--pp-purple-50); }
.pp-text-purple-20:not(#_):not(#_):not(#_) { color: var(--pp-purple-20); }
.pp-bg-purple-20:not(#_):not(#_):not(#_) { background-color: var(--pp-purple-20); }
.pp-border-purple-20:not(#_):not(#_):not(#_) { border-color: var(--pp-purple-20); }
.pp-text-purple-10:not(#_):not(#_):not(#_) { color: var(--pp-purple-10); }
.pp-bg-purple-10:not(#_):not(#_):not(#_) { background-color: var(--pp-purple-10); }
.pp-border-purple-10:not(#_):not(#_):not(#_) { border-color: var(--pp-purple-10); }
.pp-text-purple-5:not(#_):not(#_):not(#_) { color: var(--pp-purple-5); }
.pp-bg-purple-5:not(#_):not(#_):not(#_) { background-color: var(--pp-purple-5); }
.pp-border-purple-5:not(#_):not(#_):not(#_) { border-color: var(--pp-purple-5); }
.pp-text-purple-tag:not(#_):not(#_):not(#_) { color: var(--pp-purple-tag); }
.pp-bg-purple-tag:not(#_):not(#_):not(#_) { background-color: var(--pp-purple-tag); }
.pp-border-purple-tag:not(#_):not(#_):not(#_) { border-color: var(--pp-purple-tag); }
.pp-text-purple-3:not(#_):not(#_):not(#_) { color: var(--pp-purple-3); }
.pp-bg-purple-3:not(#_):not(#_):not(#_) { background-color: var(--pp-purple-3); }
.pp-border-purple-3:not(#_):not(#_):not(#_) { border-color: var(--pp-purple-3); }
.pp-text-pink-100:not(#_):not(#_):not(#_) { color: var(--pp-pink-100); }
.pp-bg-pink-100:not(#_):not(#_):not(#_) { background-color: var(--pp-pink-100); }
.pp-border-pink-100:not(#_):not(#_):not(#_) { border-color: var(--pp-pink-100); }
.pp-text-pink-50:not(#_):not(#_):not(#_) { color: var(--pp-pink-50); }
.pp-bg-pink-50:not(#_):not(#_):not(#_) { background-color: var(--pp-pink-50); }
.pp-border-pink-50:not(#_):not(#_):not(#_) { border-color: var(--pp-pink-50); }
.pp-text-pink-10:not(#_):not(#_):not(#_) { color: var(--pp-pink-10); }
.pp-bg-pink-10:not(#_):not(#_):not(#_) { background-color: var(--pp-pink-10); }
.pp-border-pink-10:not(#_):not(#_):not(#_) { border-color: var(--pp-pink-10); }
.pp-text-yellow-600:not(#_):not(#_):not(#_) { color: var(--pp-yellow-600); }
.pp-bg-yellow-600:not(#_):not(#_):not(#_) { background-color: var(--pp-yellow-600); }
.pp-border-yellow-600:not(#_):not(#_):not(#_) { border-color: var(--pp-yellow-600); }
.pp-text-yellow-80:not(#_):not(#_):not(#_) { color: var(--pp-yellow-80); }
.pp-bg-yellow-80:not(#_):not(#_):not(#_) { background-color: var(--pp-yellow-80); }
.pp-border-yellow-80:not(#_):not(#_):not(#_) { border-color: var(--pp-yellow-80); }
.pp-text-yellow-300:not(#_):not(#_):not(#_) { color: var(--pp-yellow-300); }
.pp-bg-yellow-300:not(#_):not(#_):not(#_) { background-color: var(--pp-yellow-300); }
.pp-border-yellow-300:not(#_):not(#_):not(#_) { border-color: var(--pp-yellow-300); }
.pp-text-black:not(#_):not(#_):not(#_) { color: var(--pp-black); }
.pp-bg-black:not(#_):not(#_):not(#_) { background-color: var(--pp-black); }
.pp-border-black:not(#_):not(#_):not(#_) { border-color: var(--pp-black); }
.pp-text-black-soft:not(#_):not(#_):not(#_) { color: var(--pp-black-soft); }
.pp-bg-black-soft:not(#_):not(#_):not(#_) { background-color: var(--pp-black-soft); }
.pp-border-black-soft:not(#_):not(#_):not(#_) { border-color: var(--pp-black-soft); }
.pp-text-grey-70:not(#_):not(#_):not(#_) { color: var(--pp-grey-70); }
.pp-bg-grey-70:not(#_):not(#_):not(#_) { background-color: var(--pp-grey-70); }
.pp-border-grey-70:not(#_):not(#_):not(#_) { border-color: var(--pp-grey-70); }
.pp-text-grey-60:not(#_):not(#_):not(#_) { color: var(--pp-grey-60); }
.pp-bg-grey-60:not(#_):not(#_):not(#_) { background-color: var(--pp-grey-60); }
.pp-border-grey-60:not(#_):not(#_):not(#_) { border-color: var(--pp-grey-60); }
.pp-text-grey-50:not(#_):not(#_):not(#_) { color: var(--pp-grey-50); }
.pp-bg-grey-50:not(#_):not(#_):not(#_) { background-color: var(--pp-grey-50); }
.pp-border-grey-50:not(#_):not(#_):not(#_) { border-color: var(--pp-grey-50); }
.pp-text-grey-20:not(#_):not(#_):not(#_) { color: var(--pp-grey-20); }
.pp-bg-grey-20:not(#_):not(#_):not(#_) { background-color: var(--pp-grey-20); }
.pp-border-grey-20:not(#_):not(#_):not(#_) { border-color: var(--pp-grey-20); }
.pp-text-grey-10:not(#_):not(#_):not(#_) { color: var(--pp-grey-10); }
.pp-bg-grey-10:not(#_):not(#_):not(#_) { background-color: var(--pp-grey-10); }
.pp-border-grey-10:not(#_):not(#_):not(#_) { border-color: var(--pp-grey-10); }
.pp-text-grey-5:not(#_):not(#_):not(#_) { color: var(--pp-grey-5); }
.pp-bg-grey-5:not(#_):not(#_):not(#_) { background-color: var(--pp-grey-5); }
.pp-border-grey-5:not(#_):not(#_):not(#_) { border-color: var(--pp-grey-5); }
.pp-text-white:not(#_):not(#_):not(#_) { color: var(--pp-white); }
.pp-bg-white:not(#_):not(#_):not(#_) { background-color: var(--pp-white); }
.pp-border-white:not(#_):not(#_):not(#_) { border-color: var(--pp-white); }
.pp-text-navy:not(#_):not(#_):not(#_) { color: var(--pp-navy); }
.pp-bg-navy:not(#_):not(#_):not(#_) { background-color: var(--pp-navy); }
.pp-border-navy:not(#_):not(#_):not(#_) { border-color: var(--pp-navy); }
.pp-text-success:not(#_):not(#_):not(#_) { color: var(--pp-success); }
.pp-bg-success:not(#_):not(#_):not(#_) { background-color: var(--pp-success); }
.pp-border-success:not(#_):not(#_):not(#_) { border-color: var(--pp-success); }
.pp-text-success-bg:not(#_):not(#_):not(#_) { color: var(--pp-success-bg); }
.pp-bg-success-bg:not(#_):not(#_):not(#_) { background-color: var(--pp-success-bg); }
.pp-border-success-bg:not(#_):not(#_):not(#_) { border-color: var(--pp-success-bg); }
.pp-text-green-100:not(#_):not(#_):not(#_) { color: var(--pp-green-100); }
.pp-bg-green-100:not(#_):not(#_):not(#_) { background-color: var(--pp-green-100); }
.pp-border-green-100:not(#_):not(#_):not(#_) { border-color: var(--pp-green-100); }
.pp-text-green-10:not(#_):not(#_):not(#_) { color: var(--pp-green-10); }
.pp-bg-green-10:not(#_):not(#_):not(#_) { background-color: var(--pp-green-10); }
.pp-border-green-10:not(#_):not(#_):not(#_) { border-color: var(--pp-green-10); }
.pp-text-danger:not(#_):not(#_):not(#_) { color: var(--pp-danger); }
.pp-bg-danger:not(#_):not(#_):not(#_) { background-color: var(--pp-danger); }
.pp-border-danger:not(#_):not(#_):not(#_) { border-color: var(--pp-danger); }
.pp-text-danger-bg:not(#_):not(#_):not(#_) { color: var(--pp-danger-bg); }
.pp-bg-danger-bg:not(#_):not(#_):not(#_) { background-color: var(--pp-danger-bg); }
.pp-border-danger-bg:not(#_):not(#_):not(#_) { border-color: var(--pp-danger-bg); }
.pp-text-warning:not(#_):not(#_):not(#_) { color: var(--pp-warning); }
.pp-bg-warning:not(#_):not(#_):not(#_) { background-color: var(--pp-warning); }
.pp-border-warning:not(#_):not(#_):not(#_) { border-color: var(--pp-warning); }
.pp-text-warning-text:not(#_):not(#_):not(#_) { color: var(--pp-warning-text); }
.pp-bg-warning-text:not(#_):not(#_):not(#_) { background-color: var(--pp-warning-text); }
.pp-border-warning-text:not(#_):not(#_):not(#_) { border-color: var(--pp-warning-text); }
.pp-text-warning-bg:not(#_):not(#_):not(#_) { color: var(--pp-warning-bg); }
.pp-bg-warning-bg:not(#_):not(#_):not(#_) { background-color: var(--pp-warning-bg); }
.pp-border-warning-bg:not(#_):not(#_):not(#_) { border-color: var(--pp-warning-bg); }
.pp-text-orange-10:not(#_):not(#_):not(#_) { color: var(--pp-orange-10); }
.pp-bg-orange-10:not(#_):not(#_):not(#_) { background-color: var(--pp-orange-10); }
.pp-border-orange-10:not(#_):not(#_):not(#_) { border-color: var(--pp-orange-10); }
.pp-text-info:not(#_):not(#_):not(#_) { color: var(--pp-info); }
.pp-bg-info:not(#_):not(#_):not(#_) { background-color: var(--pp-info); }
.pp-border-info:not(#_):not(#_):not(#_) { border-color: var(--pp-info); }
.pp-text-info-bg:not(#_):not(#_):not(#_) { color: var(--pp-info-bg); }
.pp-bg-info-bg:not(#_):not(#_):not(#_) { background-color: var(--pp-info-bg); }
.pp-border-info-bg:not(#_):not(#_):not(#_) { border-color: var(--pp-info-bg); }
.pp-text-border-neutral:not(#_):not(#_):not(#_) { color: var(--pp-border-neutral); }
.pp-bg-border-neutral:not(#_):not(#_):not(#_) { background-color: var(--pp-border-neutral); }
.pp-border-border-neutral:not(#_):not(#_):not(#_) { border-color: var(--pp-border-neutral); }
.pp-bg-transparent:not(#_):not(#_):not(#_) { background-color: transparent; }

/* --- Borders & radius -------------------------------------------------- */
.pp-border:not(#_):not(#_):not(#_) { border: 1px solid var(--pp-grey-50); }
.pp-border-0:not(#_):not(#_):not(#_) { border: 0; }
.pp-border-t:not(#_):not(#_):not(#_) { border-top: 1px solid var(--pp-grey-50); }
.pp-border-t-0:not(#_):not(#_):not(#_) { border-top: 0; }
.pp-border-r:not(#_):not(#_):not(#_) { border-right: 1px solid var(--pp-grey-50); }
.pp-border-r-0:not(#_):not(#_):not(#_) { border-right: 0; }
.pp-border-b:not(#_):not(#_):not(#_) { border-bottom: 1px solid var(--pp-grey-50); }
.pp-border-b-0:not(#_):not(#_):not(#_) { border-bottom: 0; }
.pp-border-l:not(#_):not(#_):not(#_) { border-left: 1px solid var(--pp-grey-50); }
.pp-border-l-0:not(#_):not(#_):not(#_) { border-left: 0; }
.pp-rounded-none:not(#_):not(#_):not(#_) { border-radius: 0; }
.pp-rounded-4:not(#_):not(#_):not(#_) { border-radius: 4px; }
.pp-rounded-8:not(#_):not(#_):not(#_) { border-radius: var(--pp-radius-input); }
.pp-rounded-12:not(#_):not(#_):not(#_) { border-radius: var(--pp-radius-card); }
.pp-rounded-16:not(#_):not(#_):not(#_) { border-radius: 16px; }
.pp-rounded-20:not(#_):not(#_):not(#_) { border-radius: var(--pp-radius-pill); }
.pp-rounded-full:not(#_):not(#_):not(#_) { border-radius: var(--pp-radius-full); }

/* --- Position & overflow ----------------------------------------------- */
.pp-static:not(#_):not(#_):not(#_) { position: static; }
.pp-relative:not(#_):not(#_):not(#_) { position: relative; }
.pp-absolute:not(#_):not(#_):not(#_) { position: absolute; }
.pp-fixed:not(#_):not(#_):not(#_) { position: fixed; }
.pp-sticky:not(#_):not(#_):not(#_) { position: sticky; }
.pp-top-0:not(#_):not(#_):not(#_) { top: 0; }
.pp-right-0:not(#_):not(#_):not(#_) { right: 0; }
.pp-bottom-0:not(#_):not(#_):not(#_) { bottom: 0; }
.pp-left-0:not(#_):not(#_):not(#_) { left: 0; }
.pp-inset-0:not(#_):not(#_):not(#_) { inset: 0; }
.pp-overflow-hidden:not(#_):not(#_):not(#_) { overflow: hidden; }
.pp-overflow-auto:not(#_):not(#_):not(#_) { overflow: auto; }
.pp-overflow-visible:not(#_):not(#_):not(#_) { overflow: visible; }

/* --- Effects & interaction --------------------------------------------- */
.pp-shadow:not(#_):not(#_):not(#_) { box-shadow: var(--pp-shadow); }
.pp-shadow-nav:not(#_):not(#_):not(#_) { box-shadow: var(--pp-shadow-nav); }
.pp-shadow-none:not(#_):not(#_):not(#_) { box-shadow: none; }
.pp-opacity-0:not(#_):not(#_):not(#_) { opacity: 0; }
.pp-opacity-50:not(#_):not(#_):not(#_) { opacity: 0.5; }
.pp-opacity-100:not(#_):not(#_):not(#_) { opacity: 1; }
.pp-cursor-pointer:not(#_):not(#_):not(#_) { cursor: pointer; }
.pp-pointer-events-none:not(#_):not(#_):not(#_) { pointer-events: none; }
.pp-align-middle:not(#_):not(#_):not(#_) { vertical-align: middle; }
