{# Design tokens + frontend runtime. The variables below are shadcn/ui's stock Zinc theme, and every class string in polyadmin/ui.py resolves to them rather than to a literal Tailwind palette -- so restyling the admin, or flipping it to dark, is a change to these variables and nothing else. Script order is load-order-critical, top to bottom: 1. the dark-class script must run synchronously before paint, or a dark-mode reload flashes the light palette for a frame; 2. the Tailwind CDN script must load *before* `tailwind.config` is assigned -- backwards from what you would guess. That script is what defines the global `tailwind`, so assigning to it first throws a ReferenceError the browser swallows, and every token-based utility then resolves to nothing; 3. Alpine plugins must load before Alpine core, which initializes on load and only sees directives registered by then. Everything is CDN-loaded: there is no frontend build step. #} {# (3) Alpine plugins, then Alpine core, then HTMX. SortableJS is deferred so it is ready before any x-init calling Sortable.create, and is the one non-Alpine dependency: drag-and-drop has no small CSS-only equivalent. #}