/* ── Utility classes ──────────────────────────────────────────────────────
   Auto-generated from what were previously inline style="" attributes,
   to keep CSS out of markup (see CLAUDE.md accessibility/CSP notes).
   One declaration per class; compose multiple classes on an element. */

/* align-items */
.ai-flex-end { align-items: flex-end; }
.ai-center { align-items: center; }
.ai-baseline { align-items: baseline; }
.ai-flex-start { align-items: flex-start; }

/* align-self */
.as-center { align-self: center; }

/* aspect-ratio */
.ar-1-1 { aspect-ratio: 1/1; }

/* backdrop-filter */
.bf-blur-4px { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }

/* background */
.bg-bg { background: var(--color-bg); }
.bg-border { background: var(--color-border); }
.bg-text-muted { background: var(--color-text-muted); }
.bg-primary { background: var(--color-primary); }
.bg-error { background: var(--color-error); }
.bg-color-mix-in-srgb-primary-12pc-transparent { background: color-mix(in srgb, var(--color-primary) 12%, transparent); }
.bg-none { background: none; }

/* border */
.bd-1px-solid-border { border: 1px solid var(--color-border); }
.bd-none { border: none; }

/* border-bottom */
.bdb-1px-solid-border { border-bottom: 1px solid var(--color-border); }

/* border-collapse */
.bdc-collapse { border-collapse: collapse; }

/* border-color */
.bdcl-error { border-color: var(--color-error); }
.bdcl-primary { border-color: var(--color-primary); }

/* border-radius */
.br-radius-sm { border-radius: var(--radius-sm); }
.br-radius-md { border-radius: var(--radius-md); }
.br-50pc { border-radius: 50%; }
.br-radius-lg { border-radius: var(--radius-lg); }
.br-9999px { border-radius: 9999px; }
.br-999px { border-radius: 999px; }
.br-0 { border-radius: 0; }

/* border-top */
.bdt-2px-solid-border { border-top: 2px solid var(--color-border); }
.bdt-1px-solid-border { border-top: 1px solid var(--color-border); }

/* box-shadow */
.bs-0-0-0-1px-primary { box-shadow: 0 0 0 1px var(--color-primary); }

/* clip */
.clip-rect-0-0-0-0 { clip: rect(0,0,0,0); }

/* color */
.c-text-muted { color: var(--color-text-muted); }
.c-primary { color: var(--color-primary); }
.c-error { color: var(--color-error); }
.c-white { color: #fff; }
.c-text { color: var(--color-text); }
.c-primary-dark { color: var(--color-primary-dark); }
.c-inherit { color: inherit; }

/* cursor */
.cur-pointer { cursor: pointer; }

/* display */
.d-flex { display: flex; }
.d-none { display: none; }
.d-grid { display: grid; }
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-flex { display: inline-flex; }

/* flex */
.fx-1 { flex: 1; }
.fx-1-1-220px { flex: 1 1 220px; }

/* flex-direction */
.fxd-column { flex-direction: column; }

/* flex-shrink */
.fxs-0 { flex-shrink: 0; }

/* flex-wrap */
.fxw-wrap { flex-wrap: wrap; }

/* float */
.fl-right { float: right; }

/* font-family */
.ff-monospace { font-family: monospace; }

/* font-size */
.fs-0-9375rem { font-size: 0.9375rem; }
.fs-1rem { font-size: 1rem; }
.fs-0-875rem { font-size: 0.875rem; }
.fs-0-8125rem { font-size: 0.8125rem; }
.fs-1-25rem { font-size: 1.25rem; }
.fs-1-125rem { font-size: 1.125rem; }
.fs-0-75rem { font-size: 0.75rem; }
.fs-0-9rem { font-size: 0.9rem; }
.fs-1-0625rem { font-size: 1.0625rem; }
.fs-2-5rem { font-size: 2.5rem; }
.fs-1-5rem { font-size: 1.5rem; }

/* font-style */
.fst-italic { font-style: italic; }

/* font-weight */
.fwt-700 { font-weight: 700; }
.fwt-600 { font-weight: 600; }
.fwt-400 { font-weight: 400; }
.fwt-500 { font-weight: 500; }

/* gap */
.gap-0-75rem { gap: 0.75rem; }
.gap-0-5rem { gap: 0.5rem; }
.gap-1rem { gap: 1rem; }
.gap-0-5rem-1rem { gap: 0.5rem 1rem; }
.gap-1-5rem { gap: 1.5rem; }
.gap-0-375rem { gap: 0.375rem; }
.gap-0-625rem { gap: 0.625rem; }
.gap-0-875rem { gap: 0.875rem; }

/* grid-column */
.gc-1-1 { grid-column: 1 / -1; }

/* grid-template-columns */
.gtc-repeat-auto-fill-minmax-140px-1fr { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.gtc-1fr-1fr { grid-template-columns: 1fr 1fr; }
.gtc-repeat-auto-fit-minmax-220px-1fr { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* height */
.h-28px { height: 28px; }
.h-400px { height: 400px; }
.h-1rem { height: 1rem; }
.h-2rem { height: 2rem; }
.h-12px { height: 12px; }
.h-200px { height: 200px; }
.h-1-5rem { height: 1.5rem; }
.h-80px { height: 80px; }
.h-100px { height: 100px; }
.h-300px { height: 300px; }
.h-1px { height: 1px; }
.h-500px { height: 500px; }
.h-14px { height: 14px; }
.h-60px { height: 60px; }
.h-36px { height: 36px; }
.h-18px { height: 18px; }
.h-110px { height: 110px; }
.h-40px { height: 40px; }
.h-13px { height: 13px; }
.h-17px { height: 17px; }
.h-32px { height: 32px; }
.h-120px { height: 120px; }
.h-44px { height: 44px; }
.h-90px { height: 90px; }

/* justify-content */
.jc-space-between { justify-content: space-between; }
.jc-center { justify-content: center; }

/* left */
.left-0-75rem { left: 0.75rem; }

/* line-height */
.lh-1-7 { line-height: 1.7; }
.lh-1-6 { line-height: 1.6; }
.lh-1-75 { line-height: 1.75; }
.lh-1-65 { line-height: 1.65; }
.lh-1 { line-height: 1; }
.lh-1-5 { line-height: 1.5; }

/* list-style */
.ls-none { list-style: none; }

/* margin */
.m-0 { margin: 0; }
.m-2rem-0 { margin: 2rem 0; }
.m-0-25rem-0-0 { margin: 0.25rem 0 0; }
.m-0-auto-1rem { margin: 0 auto 1rem; }
.m-2rem-auto { margin: 2rem auto; }
.m-1rem-auto { margin: 1rem auto; }

/* margin-bottom */
.mb-2rem { margin-bottom: 2rem; }
.mb-1-5rem { margin-bottom: 1.5rem; }
.mb-1rem { margin-bottom: 1rem; }
.mb-1-25rem { margin-bottom: 1.25rem; }
.mb-0-25rem { margin-bottom: 0.25rem; }
.mb-0-75rem { margin-bottom: 0.75rem; }
.mb-0 { margin-bottom: 0; }
.mb-0-375rem { margin-bottom: 0.375rem; }
.mb-0-5rem { margin-bottom: 0.5rem; }
.mb-0-875rem { margin-bottom: 0.875rem; }
.mb-1-75rem { margin-bottom: 1.75rem; }

/* margin-inline */
.mi-auto { margin-inline: auto; }

/* margin-left */
.ml-1-5rem { margin-left: 1.5rem; }
.ml-0-5rem { margin-left: 0.5rem; }
.ml-auto { margin-left: auto; }

/* margin-right */
.mr-4px { margin-right: 4px; }

/* margin-top */
.mt-0-75rem { margin-top: 0.75rem; }
.mt-0-25rem { margin-top: 0.25rem; }
.mt-0-5rem { margin-top: 0.5rem; }
.mt-1-5rem { margin-top: 1.5rem; }
.mt-0-375rem { margin-top: 0.375rem; }
.mt-1rem { margin-top: 1rem; }
.mt-1-25rem { margin-top: 1.25rem; }
.mt-0 { margin-top: 0; }
.mt-0-625rem { margin-top: 0.625rem; }
.mt-0-875rem { margin-top: 0.875rem; }
.mt-4rem { margin-top: 4rem; }
.mt-auto { margin-top: auto; }
.mt-0-125rem { margin-top: 0.125rem; }

/* max-width */
.mw-540px { max-width: 540px; }
.mw-120px { max-width: 120px; }
.mw-240px { max-width: 240px; }
.mw-380px { max-width: 380px; }
.mw-220px { max-width: 220px; }
.mw-480px { max-width: 480px; }
.mw-320px { max-width: 320px; }
.mw-560px { max-width: 560px; }
.mw-500px { max-width: 500px; }

/* min-width */
.minw-180px { min-width: 180px; }
.minw-120px { min-width: 120px; }
.minw-80px { min-width: 80px; }
.minw-160px { min-width: 160px; }
.minw-0 { min-width: 0; }

/* overflow */
.ov-hidden { overflow: hidden; }

/* padding */
.p-0 { padding: 0; }
.p-2rem { padding: 2rem; }
.p-2-5rem { padding: 2.5rem; }
.p-3rem { padding: 3rem; }
.p-0-125rem-0-5rem { padding: 0.125rem 0.5rem; }
.p-0-875rem { padding: 0.875rem; }
.p-1rem-0 { padding: 1rem 0; }
.p-1rem { padding: 1rem; }
.p-0-375rem-0 { padding: 0.375rem 0; }
.p-0-5rem-0 { padding: 0.5rem 0; }
.p-0-75rem-0-875rem { padding: 0.75rem 0.875rem; }
.p-0-2rem-0-625rem-0-2rem-0-75rem { padding: 0.2rem 0.625rem 0.2rem 0.75rem; }
.p-0-875rem-1rem-0-625rem { padding: 0.875rem 1rem 0.625rem; }
.p-0-625rem-0-75rem { padding: 0.625rem 0.75rem; }

/* padding-block */
.pblk-4rem { padding-block: 4rem; }

/* padding-bottom */
.pb-1-25rem { padding-bottom: 1.25rem; }

/* padding-left */
.pl-2-25rem { padding-left: 2.25rem; }
.pl-1-25rem { padding-left: 1.25rem; }

/* padding-top */
.pt-4rem { padding-top: 4rem; }
.pt-1-25rem { padding-top: 1.25rem; }

/* pointer-events */
.pe-none { pointer-events: none; }
.pe-auto { pointer-events: auto; }

/* position */
.pos-relative { position: relative; }
.pos-absolute { position: absolute; }

/* resize */
.rsz-vertical { resize: vertical; }

/* text-align */
.ta-center { text-align: center; }
.ta-right { text-align: right; }
.ta-left { text-align: left; }

/* text-decoration */
.td-underline { text-decoration: underline; }

/* text-overflow */
.teo-ellipsis { text-overflow: ellipsis; }

/* top */
.top-50pc { top: 50%; }

/* transform */
.tf-translateY-50pc { transform: translateY(-50%); }
.is-rotated { transform: rotate(180deg); }

/* user-select */
.us-none { -webkit-user-select: none; user-select: none; }

/* vertical-align */
.va-middle { vertical-align: middle; }
.va-2px { vertical-align: -2px; }

/* white-space */
.ws-nowrap { white-space: nowrap; }

/* width */
.w-30pc { width: 30%; }
.w-110px { width: 110px; }
.w-1rem { width: 1rem; }
.w-2rem { width: 2rem; }
.w-50pc { width: 50%; }
.w-25pc { width: 25%; }
.w-1px { width: 1px; }
.w-52px { width: 52px; }
.w-35pc { width: 35%; }
.w-100pc { width: 100%; }
.w-40pc { width: 40%; }
.w-1-5rem { width: 1.5rem; }
.w-60pc { width: 60%; }
.w-60px { width: 60px; }
.w-80pc { width: 80%; }
.w-90pc { width: 90%; }
.w-70pc { width: 70%; }
.w-55pc { width: 55%; }
.w-48px { width: 48px; }
.w-75pc { width: 75%; }
