/*
 * Broad Tailwind utility registry for theme-driven page construction.
 * Keep this list curated and expand it intentionally as new layout patterns
 * prove they are needed across the theme.
 */

/* Display, position, and stacking. */
@source inline("block inline-block inline flex inline-flex grid hidden contents flow-root table table-row table-cell");
@source inline("relative absolute fixed sticky");
@source inline("visible invisible collapse overflow-auto overflow-visible");
@source inline("w-full min-w-0 max-w-none");
@source inline("inset-{0..10} inset-x-{0..10} inset-y-{0..10} top-{0..10} right-{0..10} bottom-{0..10} left-{0..10}");
@source inline("z-auto z-{0..50..10} order-none order-first order-last order-{1..12}");

/* Grid and flex layouts. */
@source inline("flex-col flex-row flex-wrap grow shrink-0");
@source inline("grid-flow-row grid-flow-col place-items-center place-content-center auto-cols-fr col-span-full");
@source inline("items-start items-center items-end justify-start justify-center justify-between justify-end self-start self-center self-end");
@source inline("justify-items-start justify-items-center justify-items-end place-items-start place-items-end place-content-start place-content-end");
@source inline("gap-{2,3,4,5,6,8,10,12} gap-x-{2,3,4,5,6,8,10,12} gap-y-{2,3,4,5,6,8,10,12}");
@source inline("space-x-{2,3,4,5} space-y-{2,3,4,5}");
@source inline("grid-cols-{1..12} col-span-{1..12}");
@source inline("{md:,lg:}grid-cols-{1..12} {md:,lg:}col-span-{1..12}");
@source inline("{sm:,md:,lg:}gap-{2,3,4,5,6,8,10,12} {sm:,md:,lg:}gap-x-{2,3,4,5,6,8,10,12} {sm:,md:,lg:}gap-y-{2,3,4,5,6,8,10,12}");
@source inline("{sm:,md:,lg:}space-x-{2,3,4,5} {sm:,md:,lg:}space-y-{2,3,4,5}");

/* Spacing and sizing. */
@source inline("w-auto w-dvw min-w-screen min-w-{1..12} w-{1..10} w-{12,16,20,24,32}");
@source inline("h-auto h-dvh min-h-screen min-h-{1..12} h-{1..10} h-{12,16,20,24,32}");
@source inline("m-{0..10} mx-{0..10} my-{0..10} mt-{0..10} mr-{0..10} mb-{0..10} ml-{0..10}");
@source inline("max-w-full max-w-{sm,md,lg,xl,2xl,3xl,4xl,5xl,6xl}");
@source inline("max-w-screen-sm max-w-screen-md max-w-screen-lg max-w-screen-xl max-w-screen-2xl");
@source inline("min-w-full min-w-min min-w-max min-w-fit");
@source inline("p-{0..10} px-{0..10} py-{0..10} pt-{0..10} pr-{0..10} pb-{0..10} pl-{0..10}");
@source inline("w-fit w-screen w-auto w-max w-min w-dvw w-{1..10} w-{12,16,20,24,32}");
@source inline("{sm:,md:,lg:,xl:}max-w-screen-sm {sm:,md:,lg:,xl:}max-w-screen-md {sm:,md:,lg:,xl:}max-w-screen-lg {sm:,md:,lg:,xl:}max-w-screen-xl {sm:,md:,lg:,xl:}max-w-screen-2xl");
@source inline("{sm:,md:,lg:,xl:}min-w-full {sm:,md:,lg:,xl:}min-w-min {sm:,md:,lg:,xl:}min-w-max {sm:,md:,lg:,xl:}min-w-fit");
@source inline("{sm:,md:,lg:,xl:}w-full {sm:,md:,lg:,xl:}w-screen {sm:,md:,lg:,xl:}max-w-full");
@source inline("{sm:,md:,lg:}m-{0..10} {sm:,md:,lg:}mt-{0..10} {sm:,md:,lg:}mb-{0..10}");
@source inline("{sm:,md:,lg:}p-{0..10} {sm:,md:,lg:}px-{0..10} {sm:,md:,lg:}py-{0..10}");

/* Typography and content. */
@source inline("align-middle caption-top caption-bottom");
@source inline("font-medium font-semibold font-bold leading-6 leading-7 leading-8");
@source inline("font-sans font-normal font-thin font-extralight font-light font-extrabold leading-none leading-tight leading-snug leading-normal tracking-tight tracking-normal tracking-wide tracking-tighter tracking-wider whitespace-nowrap whitespace-normal break-words break-normal break-keep break-all uppercase lowercase capitalize italic not-italic underline line-through no-underline text-wrap text-balance text-ellipsis antialiased subpixel-antialiased truncate");
@source inline("list-disc list-decimal list-none content-none");
@source inline("text-left text-center text-right text-sm text-base text-lg text-xl text-2xl text-3xl");
@source inline("{md:,lg:}text-base {md:,lg:}text-lg {md:,lg:}text-xl {md:,lg:}text-2xl {md:,lg:}text-3xl");

/* Borders, effects, and transforms. */
@source inline("rotate-{0..180..15}");
@source inline("border border-0 border-1 border-2 border-3 border-4 border-8 border-solid border-dashed border-dotted border-transparent");
@source inline("border-x border-y border-t border-r border-b border-l");
@source inline("border-x-{0,2,4,8} border-y-{0,2,4,8} border-t-{0,2,4,8} border-r-{0,2,4,8} border-b-{0,2,4,8} border-l-{0,2,4,8}");
@source inline("flex-auto flex-initial flex-none basis-auto shrink isolate");
@source inline("opacity-{0..100..10}");
@source inline("rounded rounded-md rounded-lg rounded-xl rounded-2xl rounded-full");
@source inline("shadow-sm shadow shadow-md outline-none outline");
@source inline("touch-auto touch-none touch-pan-x touch-pan-y touch-manipulation");
@source inline("translate-x-{0..10} translate-y-{0..10}");

/* Gradients and neutral tokens. */
@source inline("bg-gradient-to-r bg-gradient-to-b");
@source inline("bg-surface-{50,{100..900..100},950}/{5..90..5} text-surface-{50,{100..900..100},950}/{5..90..5}");
@source inline("bg-surface-{50,{100..900..100},950} text-surface-{50,{100..900..100},950} border-surface-{50,{100..900..100},950}");

/* Neutral Tailwind colors. */
@source inline("bg-transparent bg-white bg-black text-white text-black border-white border-black");
@source inline("bg-white/{5..10..5} bg-black/{5..10..5}");
@source inline("text-white/{50..90..10} text-black/{50..90..10}");
@source inline("bg-gray-light text-gray text-dark bg-yellow text-red text-green");

/* Common Tailwind color palettes for dynamic content. */
@source inline("bg-primary-strong text-primary-strong");
@source inline("bg-primary-strong/{5..90..5} text-primary-strong/{5..90..5} border-primary-strong/{5..90..5}");
@source inline("bg-primary-soft text-primary-soft");
@source inline("bg-primary-soft/{5..90..5} text-primary-soft/{5..90..5} border-primary-soft/{5..90..5}");
@source inline("bg-secondary-strong text-secondary-strong");
@source inline("bg-secondary-strong/{5..90..5} text-secondary-strong/{5..90..5} border-secondary-strong/{5..90..5}");
@source inline("bg-secondary-soft text-secondary-soft");
@source inline("bg-secondary-soft/{5..90..5} text-secondary-soft/{5..90..5} border-secondary-soft/{5..90..5}");
@source inline("bg-amber-{50,{100..900..100},950} text-amber-{50,{100..900..100},950} border-amber-{50,{100..900..100},950}");
@source inline("bg-blue-{50,{100..900..100},950} text-blue-{50,{100..900..100},950} border-blue-{50,{100..900..100},950}");
@source inline("bg-cyan-{50,{100..900..100},950} text-cyan-{50,{100..900..100},950} border-cyan-{50,{100..900..100},950}");
@source inline("bg-emerald-{50,{100..900..100},950} text-emerald-{50,{100..900..100},950} border-emerald-{50,{100..900..100},950}");
@source inline("bg-fuchsia-{50,{100..900..100},950} text-fuchsia-{50,{100..900..100},950} border-fuchsia-{50,{100..900..100},950}");
@source inline("bg-green-{50,{100..900..100},950} text-green-{50,{100..900..100},950} border-green-{50,{100..900..100},950}");
@source inline("bg-indigo-{50,{100..900..100},950} text-indigo-{50,{100..900..100},950} border-indigo-{50,{100..900..100},950}");
@source inline("bg-lime-{50,{100..900..100},950} text-lime-{50,{100..900..100},950} border-lime-{50,{100..900..100},950}");
@source inline("bg-orange-{50,{100..900..100},950} text-orange-{50,{100..900..100},950} border-orange-{50,{100..900..100},950}");
@source inline("bg-pink-{50,{100..900..100},950} text-pink-{50,{100..900..100},950} border-pink-{50,{100..900..100},950}");
@source inline("bg-purple-{50,{100..900..100},950} text-purple-{50,{100..900..100},950} border-purple-{50,{100..900..100},950}");
@source inline("bg-accent-strong text-accent-strong");
@source inline("bg-accent-strong/{5..90..5} text-accent-strong/{5..90..5} border-accent-strong/{5..90..5}");
@source inline("bg-accent-soft text-accent-soft");
@source inline("bg-accent-soft/{5..90..5} text-accent-soft/{5..90..5} border-accent-soft/{5..90..5}");
@source inline("bg-red-{50,{100..900..100},950} text-red-{50,{100..900..100},950} border-red-{50,{100..900..100},950}");
@source inline("bg-rose-{50,{100..900..100},950} text-rose-{50,{100..900..100},950} border-rose-{50,{100..900..100},950}");
@source inline("bg-sky-{50,{100..900..100},950} text-sky-{50,{100..900..100},950} border-sky-{50,{100..900..100},950}");
@source inline("bg-slate-{50,{100..900..100},950} text-slate-{50,{100..900..100},950} border-slate-{50,{100..900..100},950}");
@source inline("bg-teal-{50,{100..900..100},950} text-teal-{50,{100..900..100},950} border-teal-{50,{100..900..100},950}");
@source inline("bg-violet-{50,{100..900..100},950} text-violet-{50,{100..900..100},950} border-violet-{50,{100..900..100},950}");
@source inline("bg-yellow-{50,{100..900..100},950} text-yellow-{50,{100..900..100},950} border-yellow-{50,{100..900..100},950}");

/* Overflow, interaction, and accessibility. */
@source inline("overflow-hidden overflow-x-auto overflow-y-auto overflow-visible");
@source inline("sr-only pointer-events-none pointer-events-auto cursor-pointer cursor-default cursor-not-allowed select-none select-text select-all");
@source inline("transition transition-colors");

/* Backgrounds and images. */
@source inline("bg-none bg-auto bg-cover bg-contain bg-center bg-no-repeat bg-left bg-right bg-top bg-bottom bg-fixed bg-local bg-scroll bg-repeat bg-repeat-x bg-repeat-y bg-repeat-round bg-repeat-space");
@source inline("bg-origin-border bg-origin-padding bg-origin-content");

/* Tables, icons, and media. */
@source inline("table-auto table-fixed border-collapse border-separate");
@source inline("text-current fill-current stroke-current");

/* DaisyUI semantic colors and component tokens. */
@source inline("bg-accent/{5..90..5} text-accent/{5..90..5}");
@source inline("bg-base-content/{5..90..5} text-base-content/{5..90..5}");
@source inline("bg-base-{100..300..100}");
@source inline("bg-error/{5..90..5} text-error/{5..90..5}");
@source inline("bg-info/{5..90..5} text-info/{5..90..5}");
@source inline("bg-primary bg-secondary bg-accent bg-info bg-success bg-warning bg-error");
@source inline("bg-primary/{5..90..5} text-primary/{5..90..5}");
@source inline("bg-secondary/{5..90..5} text-secondary/{5..90..5}");
@source inline("bg-success/{5..90..5} text-success/{5..90..5}");
@source inline("bg-warning/{5..90..5} text-warning/{5..90..5}");
@source inline("border-base-{100..300..100}");
@source inline("border-primary border-secondary border-accent");
@source inline("border-primary/{5..90..5} border-secondary/{5..90..5} border-accent/{5..90..5}");
@source inline("from-primary from-secondary from-accent from-info from-success from-warning from-error");
@source inline("rounded-box");
@source inline("text-primary text-secondary text-accent text-info text-success text-warning text-error");
@source inline("to-primary to-secondary to-accent to-info to-success to-warning to-error");
