﻿:root{--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1536px;--bp-3xl: 1920px;--cq-narrow: 480px;--cq-compact: 580px;--cq-medium: 880px;--cq-wide: 1120px}@keyframes ln-upload-spin{to{transform:rotate(360deg)}}[data-ln-debug] [data-ln-accordion]:not(:has([data-ln-toggle])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-accordion]:not(:has([data-ln-toggle]))::before{content:" ⚠ [data-ln-accordion] contains no [data-ln-toggle] collapsible panels.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] form[data-ln-ajax]:not([action])::after{content:" ⚠ form[data-ln-ajax] is missing a required 'action' attribute";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-autoresize]:not(textarea)::after{content:" ⚠ data-ln-autoresize belongs only on <textarea> elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-autosave]:not(form)::after{content:" ⚠ data-ln-autosave belongs only on <form> elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] form[data-ln-autosave=""]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] form[data-ln-autosave=""]:not([id])::before{content:" ⚠ form[data-ln-autosave] requires an 'id' or explicit storage key value.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-chart]:not(.chart){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-chart]:not(.chart)::before{content:" ⚠ [data-ln-chart] is missing the required .chart visual class.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-chart]:not([data-ln-chart-x]),[data-ln-debug] [data-ln-chart]:not([data-ln-chart-y]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-chart]:not([data-ln-chart-x])::before,[data-ln-debug] [data-ln-chart]:not([data-ln-chart-y])::before{content:" ⚠ [data-ln-chart] requires data-ln-chart-x and data-ln-chart-y.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-chart]:not(:has([data-ln-chart-plot][viewBox])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-chart]:not(:has([data-ln-chart-plot][viewBox]))::before{content:" ⚠ [data-ln-chart] requires [data-ln-chart-plot] with an SVG viewBox.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-chart]:not(:has([data-ln-chart-line])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-chart]:not(:has([data-ln-chart-line]))::before{content:" ⚠ [data-ln-chart] requires an authored [data-ln-chart-line] polyline.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-circular-progress]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-circular-progress]:not([id])::before{content:" ⚠ [data-ln-circular-progress] is missing an 'id' attribute.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-confirm]:has([data-ln-confirm-idle]):not(:has([data-ln-confirm-active]))::after{content:" ⚠ ln-confirm two-element mode is missing [data-ln-confirm-active]";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-confirm]:has([data-ln-confirm-active]):not(:has([data-ln-confirm-idle]))::after{content:" ⚠ ln-confirm two-element mode is missing [data-ln-confirm-idle]";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-confirm=""]:not(:has([data-ln-confirm-idle])):not(:has([data-ln-confirm-active]))::after{content:" ⚠ data-ln-confirm has empty prompt and no idle/active child elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-confirm]:not([data-ln-confirm-state=confirming]) [data-ln-confirm-active]:not([hidden])::after{content:" ⚠ ln-confirm [data-ln-confirm-active] is missing the hidden attribute";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-data-coordinator]:not(:has([data-ln-data-store])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-data-coordinator]:not(:has([data-ln-data-store]))::before{content:" ⚠ [data-ln-data-coordinator] must contain a child [data-ln-data-store].";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-data-store]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-data-store]:not([id])::before{content:" ⚠ [data-ln-data-store] requires a unique 'id' attribute as store table name.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-data-store][data-ln-data-store-frozen]{outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-data-store][data-ln-data-store-frozen]::before{content:" ⚠ data-ln-data-store / -indexes are read once at init — the IndexedDB schema can only change in a versionchange transaction. Reload to apply.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-date]:not(input,span,time,td,p,div,b,strong,data)::after{content:" ⚠ data-ln-date belongs on <input>, <span>, <time>, or <td>";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] input[data-ln-date]:not([id])::after{content:" ⚠ data-ln-date is missing required 'id' attribute";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-dropdown]:not(:has([data-ln-toggle])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-dropdown]:not(:has([data-ln-toggle]))::before{content:" ⚠ [data-ln-dropdown] is missing a required child menu [data-ln-toggle].";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-dropdown]:not(:has([data-ln-toggle-for])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-dropdown]:not(:has([data-ln-toggle-for]))::before{content:" ⚠ [data-ln-dropdown] is missing a required child trigger [data-ln-toggle-for].";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-editor]:not(:has(textarea)){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-editor]:not(:has(textarea))::before{content:" ⚠ [data-ln-editor] is missing a target <textarea> element.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-editor-action=""]::after{content:" ⚠ data-ln-editor-action cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-editor-action]:not([data-ln-editor] *)::after{content:" ⚠ [data-ln-editor-action] is orphaned (not inside a [data-ln-editor] container)";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-filter=""]::after{content:" ⚠ data-ln-filter target is empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-filter-key=""]::after{content:" ⚠ data-ln-filter-key cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-form]:not(form)::after{content:" ⚠ data-ln-form belongs only on <form> elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-include]:not(template)::after{content:" ⚠ data-ln-include belongs only on <template> elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] template[data-ln-include=""]::after{content:" ⚠ data-ln-include URL cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-key=""]::after{content:" ⚠ data-ln-key shortcut combination cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-key-for=""]::after{content:" ⚠ data-ln-key-for target selector cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-key-target=""]::after{content:" ⚠ data-ln-key-target selector cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-link]:not(:has(a[href])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-link]:not(:has(a[href]))::before{content:' ⚠ [data-ln-link] container is missing a required child <a href="..."> link.';display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-list]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-list]:not([id])::before{content:" ⚠ [data-ln-list] is missing a required 'id' attribute for sort/search mapping.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] dialog[data-ln-modal]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] dialog[data-ln-modal]:not([id])::before{content:" ⚠ [data-ln-modal] is missing a required 'id' attribute for trigger linking.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-modal-for=""]::after{content:" ⚠ data-ln-modal-for is missing a target modal id";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-modal]:not(dialog)::after{content:" ⚠ data-ln-modal must be on a <dialog> element";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-number]:not(input,span,time,td,p,div,b,strong,data)::after{content:" ⚠ data-ln-number belongs on <input>, <span>, <time>, or <td>";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] input[data-ln-number]:not([id])::after{content:" ⚠ data-ln-number is missing required 'id' attribute";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-options]:not(select)::after{content:" ⚠ data-ln-options belongs only on <select> elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-options=""]::after{content:" ⚠ data-ln-options store name cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-picklist]:not(:has([data-ln-picklist-list=available]))::after{content:" ⚠ data-ln-picklist is missing [data-ln-picklist-list='available']";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-picklist]:not(:has([data-ln-picklist-list=selected]))::after{content:" ⚠ data-ln-picklist is missing [data-ln-picklist-list='selected']";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-picklist-list]:not([data-ln-picklist] *)::after{content:" ⚠ [data-ln-picklist-list] is orphaned (not inside a [data-ln-picklist] root)";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-picklist-list]:not([data-ln-picklist-list=available],[data-ln-picklist-list=selected])::after{content:' ⚠ [data-ln-picklist-list] must be "available" or "selected"';color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-popover]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-popover]:not([id])::before{content:" ⚠ [data-ln-popover] is missing a required 'id' attribute for trigger linking.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-popover-for=""]::after{content:" ⚠ data-ln-popover-for target ID cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-progress]:not(.progress [data-ln-progress]):not([data-ln-upload-progress] [data-ln-progress])::after{content:" ⚠ data-ln-progress must be a child of a .progress container";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-route]:not(template)::after{content:" ⚠ data-ln-route must be declared on a <template> element";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] template[data-ln-route=""]::after{content:" ⚠ data-ln-route pattern cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-search]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-search]:not([id])::before{content:" ⚠ [data-ln-search] is missing a required 'id' attribute for search control linking.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-search-for=""]::after{content:" ⚠ data-ln-search-for target ID cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-slug-from]:not(input)::after{content:" ⚠ data-ln-slug-from belongs only on <input> elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-slug-from=""]::after{content:" ⚠ data-ln-slug-from source field name cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-slug-from]:not(form [data-ln-slug-from])::after{content:" ⚠ data-ln-slug-from must be nested inside a <form> element";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-sort=""]::after{content:" ⚠ data-ln-sort target is empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-sortable]:not(ul,ol,div,tbody)::after{content:" ⚠ data-ln-sortable belongs on <ul>, <ol>, <tbody>, or <div> containers";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-sortable-handle]:not([data-ln-sortable] *)::after{content:" ⚠ [data-ln-sortable-handle] is orphaned (not inside a [data-ln-sortable] container)";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-stat=""]::after{content:" ⚠ data-ln-stat store name cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-table]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-table]:not([id])::before{content:" ⚠ [data-ln-table] is missing a required 'id' attribute for filter mapping.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] th[data-ln-table-sort]::after,[data-ln-debug] th:has([data-ln-table-col-sort])::after,[data-ln-debug] th:has(.table-sort)::after{content:" ⚠ LEGACY SORT MARKUP — use [data-ln-sort]";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-tabs]:has(a[data-ln-tab]):not([id]):not([data-ln-tabs-key]),[data-ln-debug] [data-ln-tabs]:has(a[href^="#"]):not([id]):not([data-ln-tabs-key]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-tabs]:has(a[data-ln-tab]):not([id]):not([data-ln-tabs-key])::before,[data-ln-debug] [data-ln-tabs]:has(a[href^="#"]):not([id]):not([data-ln-tabs-key])::before{content:" ⚠ Anchor tabs (URL hash mode) require an 'id' or 'data-ln-tabs-key' namespace on [data-ln-tabs].";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] button[data-ln-tab=""]::after{content:" ⚠ data-ln-tab key cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] form button[data-ln-tab]:not([type=button])::after{content:" ⚠ tab trigger within form must have type='button'";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-tab]:not([data-ln-tabs] *)::after{content:" ⚠ [data-ln-tab] is orphaned (not inside a [data-ln-tabs] container)";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-time]:not(time)::after{content:" ⚠ data-ln-time belongs on native <time> elements";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] time[data-ln-time]:not([datetime])::after{content:" ⚠ <time data-ln-time> is missing required datetime attribute";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-toast]:not(ul,ol)::after{content:" ⚠ data-ln-toast must be placed on a <ul> or <ol> element";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-toggle]:not([id]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-toggle]:not([id])::before{content:" ⚠ [data-ln-toggle] is missing a required 'id' attribute for trigger linking.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-toggle-for=""]::after{content:" ⚠ data-ln-toggle-for target ID cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-tooltip=""]:not([title])::after{content:" ⚠ data-ln-tooltip is empty and has no title fallback";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-translations]:not(:has([data-ln-translations-active])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-translations]:not(:has([data-ln-translations-active]))::before{content:" ⚠ [data-ln-translations] is missing a required <ul data-ln-translations-active> container.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-translatable=""]::after{content:" ⚠ data-ln-translatable field key cannot be empty";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-upload]:not(:has(input[type=file])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-upload]:not(:has(input[type=file]))::before{content:' ⚠ [data-ln-upload] is missing a required <input type="file"> element.';display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-upload]:not(:has([data-ln-upload-zone])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-upload]:not(:has([data-ln-upload-zone]))::before{content:" ⚠ [data-ln-upload] is missing a required [data-ln-upload-zone] element.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] [data-ln-upload]:not(:has([data-ln-upload-list])){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-upload]:not(:has([data-ln-upload-list]))::before{content:" ⚠ [data-ln-upload] is missing a required [data-ln-upload-list] container.";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] input[data-ln-validate]:not([id])::after,[data-ln-debug] select[data-ln-validate]:not([id])::after,[data-ln-debug] textarea[data-ln-validate]:not([id])::after{content:" ⚠ data-ln-validate element is missing required 'id' attribute";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}[data-ln-debug] [data-ln-validate]:not(.form-element [data-ln-validate]):not([data-ln-form] [data-ln-validate]){outline:2px dashed hsl(var(--color-error));position:relative}[data-ln-debug] [data-ln-validate]:not(.form-element [data-ln-validate]):not([data-ln-form] [data-ln-validate])::before{content:" ⚠ data-ln-validate must be a child of .form-element or data-ln-form wrapper";display:block;background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent);color:hsl(var(--color-error));padding:var(--size-xs) var(--size-sm);font-size:var(--text-xs, 0.75rem);font-weight:bold;border-bottom:1px solid hsl(var(--color-strong))}[data-ln-debug] img:not([alt]){outline:2px dashed hsl(var(--color-error));outline-offset:var(--size-xs);background:color-mix(in srgb, hsl(var(--color-error)) 15%, transparent)}[data-ln-debug] abbr:not([title])::after{content:" ⚠ abbr is missing a title attribute";color:hsl(var(--color-error));font-weight:normal;white-space:nowrap;margin-inline-start:var(--size-xs, 0.5rem)}
