{% if not _htmx_partial | default(false) %} {% block title %}{% if page_title %}{{ page_title }} — {{ app_name | default("App") }}{% else %}{{ app_name | default("App") }}{% endif %}{% endblock %} {# Inter font #} {# CSS Cascade Layer order — defines priority: base < framework < app < overrides #} {# Tailwind CSS + DaisyUI — compiled bundle replaces both CDNs (#377) #} {% if _tailwind_bundled | default(false) %} {% else %} {% endif %} {% set _cdn_base = "https://cdn.jsdelivr.net/gh/manwithacat/dazzle@v" ~ _dazzle_version ~ "/dist" %} {% if _use_cdn | default(false) %} {# Dazzle framework CSS + JS — jsDelivr CDN #} {% else %} {# HTMX + extensions (vendored) #} {# Alpine.js + plugins #} {# Dazzle framework CSS (local — framework layer via @import) #} {% endif %} {# CSRF token injection for HTMX requests (v1.0.0) #} {# Lucide icons (v0.38.0: nav group icons) #} {% if not _use_cdn | default(false) %} {% else %} {% endif %} {# Design token CSS custom properties #} {% block head_extra %}{% endblock %} {% endif %} {% block body %} {% endblock %} {# Toast notifications — Alpine dzToast component #}
{# Screen-reader page announcer for hx-boost navigation #}
{# Server-rendered user preferences for client-side access (v0.38.0) #} {% if user_preferences %} {% endif %} {# Feedback widget — injected when feedback_widget is enabled in DSL #} {% if _feedback_widget_enabled | default(false) %} {% endif %} {% block scripts_extra %}{% endblock %} {% if not _htmx_partial | default(false) %} {% endif %}