diff --git a/.gitignore b/.gitignore index 9db209f..1fee1ef 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,7 @@ gradle-app.setting # Allow generated code fragments for Docker builds !build/generated-src/** +!build/generated-resources/** ################### ### Environment ### diff --git a/Dockerfile b/Dockerfile index d0b9a2c..8e2c09b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,9 +13,10 @@ COPY --chown=gradle:gradle src ./src # Copy pre-generated code fragments COPY --chown=gradle:gradle build/generated-src ./build/generated-src +COPY --chown=gradle:gradle build/generated-resources ./build/generated-resources # Build the fat jar without cleaning (preserves generated code) -RUN ./gradlew build -x clean -x cleanGenerated -x jooqCodegen -x flywayMigrate --no-daemon +RUN ./gradlew build -x clean -x cleanGenerated -x jooqCodegen -x flywayMigrate -x precompileJte --no-daemon # --- Stage 2: Run the app --- FROM eclipse-temurin:21-jdk-alpine diff --git a/README.md b/README.md index 26fd91c..d1cd0b3 100644 --- a/README.md +++ b/README.md @@ -1,72 +1,7 @@ # Homepage -## Table of Contents +## Package +``` +./gradlew build +``` -- [Development](#Development) - - [Building](#Building) -- [Deployment](#Deployment) - - [Building](#Building-1) - -## Development - -### Building - -## Deployment - -### Building - -## Project Structure - -```bash -src -├── main -│ ├── kotlin -│ │ └── at -│ │ └── dokkae -│ │ └── homepage -│ │ ├── config -│ │ │ └── Environment.kt -│ │ ├── Homepage.kt # Application entrypoint -│ │ ├── repository # Persistence layer -│ │ │ ├── impls -│ │ │ │ └── JooqMessageRepository.kt -│ │ │ └── MessageRepository.kt -│ │ └── templates -│ │ ├── layout # HTML layouts. Usually include all page dependencies in the . -│ │ │ └── MainLayout.kt -│ │ └── page # Usually wrapped in a layout, containing all elements found inside the . -│ │ │ └── ChatPage.kt -│ │ └── partials # Contains all HTMX related snippets. -│ └── resources -│ ├── db -│ │ └── migration -│ │ ├── V001__add_update_and_create_timestamp_triggers.sql -│ │ ├── V002__add_message_table.sql -│ │ └── V003__fix_updated_at_insert_trigger.sql -│ └── public -│ │ # First-party static web files -│ ├── static -│ │ ├── css -│ │ │ └── index.css -│ │ ├── images -│ │ └── js -│ │ # External web dependencies. Uses the format '//'. -│ └── vendor -│ ├── htmx -│ │ └── 2.0.8 -│ │ └── htmx.min.js -│ ├── htmx-ext-sse -│ │ └── 2.2.4 -│ │ └── htmx-ext-sse.min.js -│ ├── hyperscript -│ │ └── 3e834a3f -│ │ └── hyperscript.min.js -│ └── tailwindcss -│ └── 095aecf0 -│ └── tailwindcss.min.js -└── test - └── kotlin - └── at - └── dokkae - └── homepage # Tests (and benchmarks?) -``` \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 81295e2..defbd59 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,10 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import io.github.klahap.dotenv.DotEnv import io.github.klahap.dotenv.DotEnvBuilder import org. gradle.api.JavaVersion.VERSION_21 import org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21 import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile +import kotlin.io.path.Path // ==================================================================================================== // ENVIRONMENT CONFIGURATION @@ -31,6 +33,7 @@ plugins { alias(libs.plugins.kotlin.jvm) alias(libs.plugins.shadow) alias(libs.plugins.dotenv.plugin) + alias(libs.plugins.jte) alias(libs.plugins.tasktree) alias(libs.plugins.jooq.codegen.gradle) alias(libs.plugins.flyway) @@ -59,12 +62,16 @@ repositories { // GENERATED CODE DIRECTORIES // ==================================================================================================== +val generatedResourcesDir = layout.buildDirectory.dir("generated-resources") val generatedSourcesDir = layout.buildDirectory.dir("generated-src") val migrationSourceDir = layout.projectDirectory.dir("src/main/resources/db/migration") +val jtwSourceDir = layout.projectDirectory.dir("src/main/kte") +val jteOutputDir = generatedResourcesDir.get().dir("jte") val jooqOutputDir = generatedSourcesDir.get().dir("jooq") sourceSets { main { + resources.srcDir(jteOutputDir) kotlin.srcDir(jooqOutputDir) } } @@ -77,13 +84,12 @@ dependencies { // HTTP4K implementation(platform(libs.http4k.bom)) implementation(libs.bundles.http4k) - implementation("org.http4k.pro:http4k-tools-hotreload") // Environment & Configuration implementation(libs.dotenv) // Templating - implementation(libs.bundles.templating) + implementation(libs.jte.kotlin) // Database implementation(libs.bundles.database) @@ -111,6 +117,27 @@ buildscript { } } +// ==================================================================================================== +// JTE TEMPLATE GENERATION +// ==================================================================================================== + +jte { + sourceDirectory.set(Path(jtwSourceDir.asFile.absolutePath)) + targetDirectory.set(Path(jteOutputDir.asFile.absolutePath)) + precompile() +} + +tasks.named("precompileJte") { + dependsOn("compileKotlin") +} + +tasks.register("genJte") { + group = "codegen" + description = "Precompile jte template into classes" + + dependsOn("precompileJte") +} + // ==================================================================================================== // JOOQ CODE GENERATION FROM SQL FILES // ==================================================================================================== @@ -236,7 +263,9 @@ tasks.named("shadowJar") { attributes("Main-Class" to "at.dokkae.homepage.HomepageKt") } - dependsOn("genJooq") + dependsOn("genJte", "genJooq") + + from(jteOutputDir) archiveFileName.set("app.jar") @@ -267,6 +296,7 @@ tasks.register("cleanGenerated") { description = "Clean all generated code" doLast { + delete(generatedResourcesDir) delete(generatedSourcesDir) logger.lifecycle("✓ Cleaned generated code directories") } diff --git a/build/generated-resources/jte/META-INF/main.kotlin_module b/build/generated-resources/jte/META-INF/main.kotlin_module new file mode 100644 index 0000000..9dbc290 Binary files /dev/null and b/build/generated-resources/jte/META-INF/main.kotlin_module differ diff --git a/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated$Companion.class b/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated$Companion.class new file mode 100644 index 0000000..448574b Binary files /dev/null and b/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated$Companion.class differ diff --git a/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated.class b/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated.class new file mode 100644 index 0000000..4c47fad Binary files /dev/null and b/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated.class differ diff --git a/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated.kt b/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated.kt new file mode 100644 index 0000000..5b8c1dc --- /dev/null +++ b/build/generated-resources/jte/gg/jte/generated/precompiled/JteIndexGenerated.kt @@ -0,0 +1,35 @@ +@file:Suppress("ktlint") +package gg.jte.generated.precompiled +import at.dokkae.homepage.templates.IndexTemplate +import at.dokkae.homepage.templates.MessageTemplate +import gg.jte.support.ForSupport +@Suppress("UNCHECKED_CAST", "UNUSED_PARAMETER") +class JteIndexGenerated { +companion object { + @JvmField val JTE_NAME = "Index.kte" + @JvmField val JTE_LINE_INFO = intArrayOf(0,0,0,1,2,4,4,4,4,4,18,18,37,58,88,93,96,96,97,97,98,98,102,108,119,132,146,161,161,161,4,4,4,4,4) + @JvmStatic fun render(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, model:IndexTemplate) { + jteOutput.writeContent("\n\n\n\n \n \n Dokkae's Chat\n\n \n \n \n\n \n\n\n
\n ") + jteOutput.writeContent("\n
\n

Dokkae's Chat

\n
\n\n ") + jteOutput.writeContent("\n
\n
\n ") + for (message in model.messages) { + jteOutput.writeContent("\n ") + gg.jte.generated.precompiled.partials.JteMessageGenerated.render(jteOutput, jteHtmlInterceptor, MessageTemplate(message)); + jteOutput.writeContent("\n ") + } + jteOutput.writeContent("\n
\n
\n\n ") + jteOutput.writeContent("\n
\n
\n ") + jteOutput.writeContent("\n
\n
\n \n
\n
\n\n ") + jteOutput.writeContent("\n
\n
\n
\n \n
\n\n ") + jteOutput.writeContent("\n \n
\n
\n
\n
\n\n ") + jteOutput.writeContent("\n \n
\n\n\n") + } + @JvmStatic fun renderMap(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, params:Map) { + val model = params["model"] as IndexTemplate + render(jteOutput, jteHtmlInterceptor, model); + } +} +} diff --git a/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated$Companion.class b/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated$Companion.class new file mode 100644 index 0000000..356b8f6 Binary files /dev/null and b/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated$Companion.class differ diff --git a/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated.class b/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated.class new file mode 100644 index 0000000..a51102d Binary files /dev/null and b/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated.class differ diff --git a/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated.kt b/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated.kt new file mode 100644 index 0000000..f00a90c --- /dev/null +++ b/build/generated-resources/jte/gg/jte/generated/precompiled/partials/JteMessageGenerated.kt @@ -0,0 +1,46 @@ +@file:Suppress("ktlint") +package gg.jte.generated.precompiled.partials +import at.dokkae.homepage.templates.MessageTemplate +import java.time.Instant +import java.time.ZoneId +import java.time.format.DateTimeFormatter +import kotlin.math.absoluteValue +@Suppress("UNCHECKED_CAST", "UNUSED_PARAMETER") +class JteMessageGenerated { +companion object { + @JvmField val JTE_NAME = "partials/Message.kte" + @JvmField val JTE_LINE_INFO = intArrayOf(0,0,0,1,2,3,4,6,6,6,6,6,8,8,8,9,9,10,10,14,15,15,15,15,18,21,21,21,24,24,24,24,24,24,28,30,30,30,34,34,34,6,6,6,6,6) + @JvmStatic fun render(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, model:MessageTemplate) { + jteOutput.writeContent("\n") + val dateFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy").withZone(ZoneId.systemDefault()) + jteOutput.writeContent("\n") + val timeFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm").withZone(ZoneId.systemDefault()) + jteOutput.writeContent("\n") + val borderColors = listOf("red", "orange", "yellow", "green", "blue", "pink" ) + jteOutput.writeContent("\n\n
\n
\n ") + jteOutput.writeContent("\n
\n\n
\n ") + jteOutput.writeContent("\n
\n \n ") + jteOutput.setContext("span", null) + jteOutput.writeUserContent(model.message.author) + jteOutput.writeContent("\n \n \n ") + jteOutput.setContext("span", null) + jteOutput.writeUserContent(dateFormatter.format(model.message.createdAt)) + jteOutput.writeContent(" • ") + jteOutput.setContext("span", null) + jteOutput.writeUserContent(timeFormatter.format(model.message.createdAt)) + jteOutput.writeContent("\n \n
\n\n ") + jteOutput.writeContent("\n
\n ") + jteOutput.setContext("div", null) + jteOutput.writeUserContent(model.message.content) + jteOutput.writeContent("\n
\n
\n
\n
") + } + @JvmStatic fun renderMap(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, params:Map) { + val model = params["model"] as MessageTemplate + render(jteOutput, jteHtmlInterceptor, model); + } +} +} diff --git a/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/DefaultCatalog.kt b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/DefaultCatalog.kt new file mode 100644 index 0000000..034f3de --- /dev/null +++ b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/DefaultCatalog.kt @@ -0,0 +1,43 @@ +/* + * This file is generated by jOOQ. + */ +package at.dokkae.homepage.generated.jooq + + +import kotlin.collections.List + +import org.jooq.Constants +import org.jooq.Schema +import org.jooq.impl.CatalogImpl + + +/** + * This class is generated by jOOQ. + */ +@Suppress("warnings") +open class DefaultCatalog : CatalogImpl("") { + companion object { + + /** + * The reference instance of DEFAULT_CATALOG + */ + val DEFAULT_CATALOG: DefaultCatalog = DefaultCatalog() + } + + /** + * standard public schema + */ + val PUBLIC: Public get(): Public = Public.PUBLIC + + override fun getSchemas(): List = listOf( + Public.PUBLIC + ) + + /** + * A reference to the 3.20 minor release of the code generator. If this + * doesn't compile, it's because the runtime library uses an older minor + * release, namely: 3.20. You can turn off the generation of this reference + * by specifying /configuration/generator/generate/jooqVersionReference + */ + private val REQUIRE_RUNTIME_JOOQ_VERSION = Constants.VERSION_3_20 +} diff --git a/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/Public.kt b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/Public.kt new file mode 100644 index 0000000..772d0e4 --- /dev/null +++ b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/Public.kt @@ -0,0 +1,40 @@ +/* + * This file is generated by jOOQ. + */ +package at.dokkae.homepage.generated.jooq + + +import at.dokkae.homepage.generated.jooq.tables.Message + +import kotlin.collections.List + +import org.jooq.Catalog +import org.jooq.Table +import org.jooq.impl.DSL +import org.jooq.impl.SchemaImpl + + +/** + * standard public schema + */ +@Suppress("warnings") +open class Public : SchemaImpl(DSL.name("public"), DefaultCatalog.DEFAULT_CATALOG, DSL.comment("standard public schema")) { + companion object { + + /** + * The reference instance of public + */ + val PUBLIC: Public = Public() + } + + /** + * The table public.message. + */ + val MESSAGE: Message get() = Message.MESSAGE + + override fun getCatalog(): Catalog = DefaultCatalog.DEFAULT_CATALOG + + override fun getTables(): List> = listOf( + Message.MESSAGE + ) +} diff --git a/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/keys/Keys.kt b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/keys/Keys.kt new file mode 100644 index 0000000..f59d310 --- /dev/null +++ b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/keys/Keys.kt @@ -0,0 +1,21 @@ +@file:Suppress("warnings") +/* + * This file is generated by jOOQ. + */ +package at.dokkae.homepage.generated.jooq.keys + + +import at.dokkae.homepage.generated.jooq.tables.Message +import at.dokkae.homepage.generated.jooq.tables.records.MessageRecord + +import org.jooq.UniqueKey +import org.jooq.impl.DSL +import org.jooq.impl.Internal + + + +// ------------------------------------------------------------------------- +// UNIQUE and PRIMARY KEY definitions +// ------------------------------------------------------------------------- + +val MESSAGE_PKEY: UniqueKey = Internal.createUniqueKey(Message.MESSAGE, DSL.name("message_pkey"), arrayOf(Message.MESSAGE.ID), true) diff --git a/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/Message.kt b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/Message.kt new file mode 100644 index 0000000..4801187 --- /dev/null +++ b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/Message.kt @@ -0,0 +1,187 @@ +/* + * This file is generated by jOOQ. + */ +package at.dokkae.homepage.generated.jooq.tables + + +import at.dokkae.homepage.generated.jooq.Public +import at.dokkae.homepage.generated.jooq.keys.MESSAGE_PKEY +import at.dokkae.homepage.generated.jooq.tables.records.MessageRecord + +import java.time.OffsetDateTime +import java.util.UUID + +import kotlin.collections.Collection + +import org.jooq.Condition +import org.jooq.Field +import org.jooq.ForeignKey +import org.jooq.InverseForeignKey +import org.jooq.Name +import org.jooq.PlainSQL +import org.jooq.QueryPart +import org.jooq.Record +import org.jooq.SQL +import org.jooq.Schema +import org.jooq.Select +import org.jooq.Stringly +import org.jooq.Table +import org.jooq.TableField +import org.jooq.TableOptions +import org.jooq.UniqueKey +import org.jooq.impl.DSL +import org.jooq.impl.SQLDataType +import org.jooq.impl.TableImpl + + +/** + * This class is generated by jOOQ. + */ +@Suppress("warnings") +open class Message( + alias: Name, + path: Table?, + childPath: ForeignKey?, + parentPath: InverseForeignKey?, + aliased: Table?, + parameters: Array?>?, + where: Condition? +): TableImpl( + alias, + Public.PUBLIC, + path, + childPath, + parentPath, + aliased, + parameters, + DSL.comment(""), + TableOptions.table(), + where, +) { + companion object { + + /** + * The reference instance of public.message + */ + val MESSAGE: Message = Message() + } + + /** + * The class holding records for this type + */ + override fun getRecordType(): Class = MessageRecord::class.java + + /** + * The column public.message.id. + */ + val ID: TableField = createField(DSL.name("id"), SQLDataType.UUID.nullable(false), this, "") + + /** + * The column public.message.author. + */ + val AUTHOR: TableField = createField(DSL.name("author"), SQLDataType.VARCHAR(31).nullable(false), this, "") + + /** + * The column public.message.content. + */ + val CONTENT: TableField = createField(DSL.name("content"), SQLDataType.VARCHAR(255).nullable(false), this, "") + + /** + * The column public.message.created_at. + */ + val CREATED_AT: TableField = createField(DSL.name("created_at"), SQLDataType.TIMESTAMPWITHTIMEZONE(6).nullable(false).defaultValue(DSL.field(DSL.raw("CURRENT_TIMESTAMP"), SQLDataType.TIMESTAMPWITHTIMEZONE)), this, "") + + /** + * The column public.message.updated_at. + */ + val UPDATED_AT: TableField = createField(DSL.name("updated_at"), SQLDataType.TIMESTAMPWITHTIMEZONE(6), this, "") + + private constructor(alias: Name, aliased: Table?): this(alias, null, null, null, aliased, null, null) + private constructor(alias: Name, aliased: Table?, parameters: Array?>?): this(alias, null, null, null, aliased, parameters, null) + private constructor(alias: Name, aliased: Table?, where: Condition?): this(alias, null, null, null, aliased, null, where) + + /** + * Create an aliased public.message table reference + */ + constructor(alias: String): this(DSL.name(alias)) + + /** + * Create an aliased public.message table reference + */ + constructor(alias: Name): this(alias, null) + + /** + * Create a public.message table reference + */ + constructor(): this(DSL.name("message"), null) + override fun getSchema(): Schema? = if (aliased()) null else Public.PUBLIC + override fun getPrimaryKey(): UniqueKey = MESSAGE_PKEY + override fun `as`(alias: String): Message = Message(DSL.name(alias), this) + override fun `as`(alias: Name): Message = Message(alias, this) + override fun `as`(alias: Table<*>): Message = Message(alias.qualifiedName, this) + + /** + * Rename this table + */ + override fun rename(name: String): Message = Message(DSL.name(name), null) + + /** + * Rename this table + */ + override fun rename(name: Name): Message = Message(name, null) + + /** + * Rename this table + */ + override fun rename(name: Table<*>): Message = Message(name.qualifiedName, null) + + /** + * Create an inline derived table from this table + */ + override fun where(condition: Condition?): Message = Message(qualifiedName, if (aliased()) this else null, condition) + + /** + * Create an inline derived table from this table + */ + override fun where(conditions: Collection): Message = where(DSL.and(conditions)) + + /** + * Create an inline derived table from this table + */ + override fun where(vararg conditions: Condition?): Message = where(DSL.and(*conditions)) + + /** + * Create an inline derived table from this table + */ + override fun where(condition: Field?): Message = where(DSL.condition(condition)) + + /** + * Create an inline derived table from this table + */ + @PlainSQL override fun where(condition: SQL): Message = where(DSL.condition(condition)) + + /** + * Create an inline derived table from this table + */ + @PlainSQL override fun where(@Stringly.SQL condition: String): Message = where(DSL.condition(condition)) + + /** + * Create an inline derived table from this table + */ + @PlainSQL override fun where(@Stringly.SQL condition: String, vararg binds: Any?): Message = where(DSL.condition(condition, *binds)) + + /** + * Create an inline derived table from this table + */ + @PlainSQL override fun where(@Stringly.SQL condition: String, vararg parts: QueryPart): Message = where(DSL.condition(condition, *parts)) + + /** + * Create an inline derived table from this table + */ + override fun whereExists(select: Select<*>): Message = where(DSL.exists(select)) + + /** + * Create an inline derived table from this table + */ + override fun whereNotExists(select: Select<*>): Message = where(DSL.notExists(select)) +} diff --git a/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/pojos/Message.kt b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/pojos/Message.kt new file mode 100644 index 0000000..7976170 --- /dev/null +++ b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/pojos/Message.kt @@ -0,0 +1,76 @@ +/* + * This file is generated by jOOQ. + */ +package at.dokkae.homepage.generated.jooq.tables.pojos + + +import java.io.Serializable +import java.time.OffsetDateTime +import java.util.UUID + + +/** + * This class is generated by jOOQ. + */ +@Suppress("warnings") +data class Message( + val id: UUID, + val author: String, + val content: String, + val createdAt: OffsetDateTime? = null, + val updatedAt: OffsetDateTime? = null +): Serializable { + + override fun equals(other: Any?): Boolean { + if (this === other) + return true + if (other == null) + return false + if (this::class != other::class) + return false + val o: Message = other as Message + if (this.id != o.id) + return false + if (this.author != o.author) + return false + if (this.content != o.content) + return false + if (this.createdAt == null) { + if (o.createdAt != null) + return false + } + else if (this.createdAt != o.createdAt) + return false + if (this.updatedAt == null) { + if (o.updatedAt != null) + return false + } + else if (this.updatedAt != o.updatedAt) + return false + return true + } + + override fun hashCode(): Int { + val prime = 31 + var result = 1 + result = prime * result + this.id.hashCode() + result = prime * result + this.author.hashCode() + result = prime * result + this.content.hashCode() + result = prime * result + (if (this.createdAt == null) 0 else this.createdAt.hashCode()) + result = prime * result + (if (this.updatedAt == null) 0 else this.updatedAt.hashCode()) + return result + } + + override fun toString(): String { + val sb = StringBuilder("Message (") + + sb.append(id) + sb.append(", ").append(author) + sb.append(", ").append(content) + sb.append(", ").append(createdAt) + sb.append(", ").append(updatedAt) + + sb.append(")") + return sb.toString() + } +} diff --git a/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/records/MessageRecord.kt b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/records/MessageRecord.kt new file mode 100644 index 0000000..fb107a6 --- /dev/null +++ b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/records/MessageRecord.kt @@ -0,0 +1,73 @@ +/* + * This file is generated by jOOQ. + */ +package at.dokkae.homepage.generated.jooq.tables.records + + +import at.dokkae.homepage.generated.jooq.tables.Message + +import java.time.OffsetDateTime +import java.util.UUID + +import org.jooq.Record1 +import org.jooq.impl.UpdatableRecordImpl + + +/** + * This class is generated by jOOQ. + */ +@Suppress("warnings") +open class MessageRecord private constructor() : UpdatableRecordImpl(Message.MESSAGE) { + + open var id: UUID + set(value): Unit = set(0, value) + get(): UUID = get(0) as UUID + + open var author: String + set(value): Unit = set(1, value) + get(): String = get(1) as String + + open var content: String + set(value): Unit = set(2, value) + get(): String = get(2) as String + + open var createdAt: OffsetDateTime? + set(value): Unit = set(3, value) + get(): OffsetDateTime? = get(3) as OffsetDateTime? + + open var updatedAt: OffsetDateTime? + set(value): Unit = set(4, value) + get(): OffsetDateTime? = get(4) as OffsetDateTime? + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + override fun key(): Record1 = super.key() as Record1 + + /** + * Create a detached, initialised MessageRecord + */ + constructor(id: UUID, author: String, content: String, createdAt: OffsetDateTime? = null, updatedAt: OffsetDateTime? = null): this() { + this.id = id + this.author = author + this.content = content + this.createdAt = createdAt + this.updatedAt = updatedAt + resetTouchedOnNotNull() + } + + /** + * Create a detached, initialised MessageRecord + */ + constructor(value: at.dokkae.homepage.generated.jooq.tables.pojos.Message?): this() { + if (value != null) { + this.id = value.id + this.author = value.author + this.content = value.content + this.createdAt = value.createdAt + this.updatedAt = value.updatedAt + resetTouchedOnNotNull() + } + } +} diff --git a/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/references/Tables.kt b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/references/Tables.kt new file mode 100644 index 0000000..4feda24 --- /dev/null +++ b/build/generated-src/jooq/at/dokkae/homepage/generated/jooq/tables/references/Tables.kt @@ -0,0 +1,15 @@ +@file:Suppress("warnings") +/* + * This file is generated by jOOQ. + */ +package at.dokkae.homepage.generated.jooq.tables.references + + +import at.dokkae.homepage.generated.jooq.tables.Message + + + +/** + * The table public.message. + */ +val MESSAGE: Message = Message.MESSAGE diff --git a/gradle.properties b/gradle.properties index 9902dc8..d3c86a1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,2 @@ org.gradle.caching=true -org.gradle.configuration-cache=true -kotlin.incremental=true -kotlin.daemon.jvmargs=-Xmx4g \ No newline at end of file +org.gradle.configuration-cache=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fc1b468..d58e295 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ shadow = "9.3.0" dotenv-plugin = "1.1.3" dotenv = "6.5.1" http4k = "6.23.1.0" -kotlinx-html = "0.12.0" +jte = "3.2.1" flyway = "11.19.0" jooq = "3.20.10" junit = "6.0.0" @@ -15,6 +15,7 @@ tasktree = "4.0.1" kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } shadow = { id = "com.gradleup.shadow", version.ref = "shadow" } dotenv-plugin = { id = "io.github.klahap.dotenv", version.ref = "dotenv-plugin" } +jte = { id = "gg.jte.gradle", version.ref = "jte" } jooq-codegen-gradle = { id = "org.jooq.jooq-codegen-gradle", version.ref = "jooq" } tasktree = { id = "com.dorongold.task-tree", version.ref = "tasktree" } flyway = { id = "org.flywaydb.flyway", version.ref = "flyway" } @@ -24,14 +25,10 @@ http4k = [ "http4k-client-okhttp", "http4k-core", "http4k-server-jetty", + "http4k-template-jte", "http4k-web-htmx" ] -templating = [ - "kotlinx-html", - "kotlinx-html-jvm" -] - testing = [ "http4k-testing-approval", "http4k-testing-hamkrest", @@ -57,11 +54,11 @@ http4k-bom = { module = "org.http4k:http4k-bom", version.ref = "http4k" } http4k-client-okhttp = { module = "org.http4k:http4k-client-okhttp" } http4k-core = { module = "org.http4k:http4k-core" } http4k-server-jetty = { module = "org.http4k:http4k-server-jetty" } +http4k-template-jte = { module = "org.http4k:http4k-template-jte" } http4k-web-htmx = { module = "org.http4k:http4k-web-htmx" } -# HTML Templating -kotlinx-html = { module = "org.jetbrains.kotlinx:kotlinx-html", version.ref = "kotlinx-html" } -kotlinx-html-jvm = { module = "org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref = "kotlinx-html" } +# JTE Templating +jte-kotlin = { module = "gg.jte:jte-kotlin", version.ref = "jte" } # Database Driver postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql" } diff --git a/jte-classes/META-INF/main.kotlin_module b/jte-classes/META-INF/main.kotlin_module new file mode 100644 index 0000000..9dbc290 Binary files /dev/null and b/jte-classes/META-INF/main.kotlin_module differ diff --git a/jte-classes/gg/jte/generated/ondemand/JteIndexGenerated.kt b/jte-classes/gg/jte/generated/ondemand/JteIndexGenerated.kt new file mode 100644 index 0000000..a762a23 --- /dev/null +++ b/jte-classes/gg/jte/generated/ondemand/JteIndexGenerated.kt @@ -0,0 +1,35 @@ +@file:Suppress("ktlint") +package gg.jte.generated.ondemand +import at.dokkae.homepage.templates.IndexTemplate +import at.dokkae.homepage.templates.MessageTemplate +import gg.jte.support.ForSupport +@Suppress("UNCHECKED_CAST", "UNUSED_PARAMETER") +class JteIndexGenerated { +companion object { + @JvmField val JTE_NAME = "Index.kte" + @JvmField val JTE_LINE_INFO = intArrayOf(0,0,0,1,2,4,4,4,4,4,18,18,37,58,88,93,96,96,97,97,98,98,102,108,119,132,146,161,161,161,4,4,4,4,4) + @JvmStatic fun render(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, model:IndexTemplate) { + jteOutput.writeContent("\n\n\n\n \n \n Dokkae's Chat\n\n \n \n \n\n \n\n\n
\n ") + jteOutput.writeContent("\n
\n

Dokkae's Chat

\n
\n\n ") + jteOutput.writeContent("\n
\n
\n ") + for (message in model.messages) { + jteOutput.writeContent("\n ") + gg.jte.generated.ondemand.partials.JteMessageGenerated.render(jteOutput, jteHtmlInterceptor, MessageTemplate(message)); + jteOutput.writeContent("\n ") + } + jteOutput.writeContent("\n
\n
\n\n ") + jteOutput.writeContent("\n
\n
\n ") + jteOutput.writeContent("\n
\n
\n \n
\n
\n\n ") + jteOutput.writeContent("\n
\n
\n
\n \n
\n\n ") + jteOutput.writeContent("\n \n
\n
\n
\n
\n\n ") + jteOutput.writeContent("\n \n
\n\n\n") + } + @JvmStatic fun renderMap(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, params:Map) { + val model = params["model"] as IndexTemplate + render(jteOutput, jteHtmlInterceptor, model); + } +} +} diff --git a/jte-classes/gg/jte/generated/ondemand/partials/JteMessageGenerated.kt b/jte-classes/gg/jte/generated/ondemand/partials/JteMessageGenerated.kt new file mode 100644 index 0000000..06f028d --- /dev/null +++ b/jte-classes/gg/jte/generated/ondemand/partials/JteMessageGenerated.kt @@ -0,0 +1,46 @@ +@file:Suppress("ktlint") +package gg.jte.generated.ondemand.partials +import at.dokkae.homepage.templates.MessageTemplate +import java.time.Instant +import java.time.ZoneId +import java.time.format.DateTimeFormatter +import kotlin.math.absoluteValue +@Suppress("UNCHECKED_CAST", "UNUSED_PARAMETER") +class JteMessageGenerated { +companion object { + @JvmField val JTE_NAME = "partials/Message.kte" + @JvmField val JTE_LINE_INFO = intArrayOf(0,0,0,1,2,3,4,6,6,6,6,6,8,8,8,9,9,10,10,14,15,15,15,15,18,21,21,21,24,24,24,24,24,24,28,30,30,30,34,34,34,6,6,6,6,6) + @JvmStatic fun render(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, model:MessageTemplate) { + jteOutput.writeContent("\n") + val dateFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy").withZone(ZoneId.systemDefault()) + jteOutput.writeContent("\n") + val timeFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm").withZone(ZoneId.systemDefault()) + jteOutput.writeContent("\n") + val borderColors = listOf("red", "orange", "yellow", "green", "blue", "pink" ) + jteOutput.writeContent("\n\n
\n
\n ") + jteOutput.writeContent("\n
\n\n
\n ") + jteOutput.writeContent("\n
\n \n ") + jteOutput.setContext("span", null) + jteOutput.writeUserContent(model.message.author) + jteOutput.writeContent("\n \n \n ") + jteOutput.setContext("span", null) + jteOutput.writeUserContent(dateFormatter.format(model.message.createdAt)) + jteOutput.writeContent(" • ") + jteOutput.setContext("span", null) + jteOutput.writeUserContent(timeFormatter.format(model.message.createdAt)) + jteOutput.writeContent("\n \n
\n\n ") + jteOutput.writeContent("\n
\n ") + jteOutput.setContext("div", null) + jteOutput.writeUserContent(model.message.content) + jteOutput.writeContent("\n
\n
\n
\n
") + } + @JvmStatic fun renderMap(jteOutput:gg.jte.html.HtmlTemplateOutput, jteHtmlInterceptor:gg.jte.html.HtmlInterceptor?, params:Map) { + val model = params["model"] as MessageTemplate + render(jteOutput, jteHtmlInterceptor, model); + } +} +} diff --git a/src/main/kotlin/at/dokkae/homepage/Homepage.kt b/src/main/kotlin/at/dokkae/homepage/Homepage.kt index 4db1bc1..636ad47 100644 --- a/src/main/kotlin/at/dokkae/homepage/Homepage.kt +++ b/src/main/kotlin/at/dokkae/homepage/Homepage.kt @@ -1,48 +1,34 @@ package at.dokkae.homepage +import at.dokkae.homepage.config.Env import at.dokkae.homepage.config.Environment +import at.dokkae.homepage.extensions.Precompiled import at.dokkae.homepage.repository.MessageRepository import at.dokkae.homepage.repository.impls.JooqMessageRepository -import at.dokkae.homepage.templates.page.chatPage -import at.dokkae.homepage.templates.partials.messagePartial +import at.dokkae.homepage.templates.IndexTemplate +import at.dokkae.homepage.templates.MessageTemplate import io.github.cdimascio.dotenv.dotenv -import kotlinx.html.div -import kotlinx.html.dom.createHTMLDocument -import kotlinx.html.dom.serialize -import kotlinx.html.html -import kotlinx.html.stream.createHTML import org.flywaydb.core.Flyway -import org.http4k.core.ContentType import org.http4k.core.HttpHandler import org.http4k.core.Method.* -import org.http4k.core.MimeTypes -import org.http4k.core.PolyHandler import org.http4k.core.Response import org.http4k.core.Status import org.http4k.core.body.form import org.http4k.core.getFirst import org.http4k.core.toParametersMap -import org.http4k.core.with -import org.http4k.hotreload.HotReloadServer -import org.http4k.hotreload.HotReloadable -import org.http4k.lens.Header -import org.http4k.lens.html import org.http4k.routing.ResourceLoader -import org.http4k.routing.RoutingHandler import org.http4k.routing.bindHttp import org.http4k.routing.bindSse -import org.http4k.routing.path import org.http4k.routing.poly import org.http4k.routing.routes import org.http4k.routing.sse import org.http4k.routing.static import org.http4k.server.Jetty -import org.http4k.server.PolyServerConfig -import org.http4k.server.ServerConfig import org.http4k.server.asServer import org.http4k.sse.Sse import org.http4k.sse.SseMessage import org.http4k.sse.SseResponse +import org.http4k.template.JTETemplates import org.jooq.SQLDialect import org.jooq.impl.DSL import java.sql.DriverManager @@ -53,7 +39,7 @@ import kotlin.concurrent.thread fun migrateDatabase(env: Environment) { val flyway = Flyway.configure() - .dataSource(env.db.url, env.db.username, env.db.password) + .dataSource(env.dbUrl, env.dbUsername, env.dbPassword) .locations("classpath:db/migration") .baselineOnMigrate(true) // optional: creates baseline if no schema history exists .load() @@ -62,49 +48,48 @@ fun migrateDatabase(env: Environment) { println("Migrated ${result.migrationsExecuted} migration${if (result.migrationsExecuted != 1) "s" else ""}") } +data class Message( + val author: String, + val content: String, + + val id: UUID = UUID.randomUUID(), + val createdAt: Instant = Instant.now(), + val updatedAt: Instant? = null +) { + init { + require(author.length <= 31) { "Author must be 31 characters or less" } + require(content.length <= 255) { "Content must be 255 characters or less" } + } +} + fun main() { val env = Environment.load(dotenv { ignoreIfMissing = true ignoreIfMalformed = true }) - if (env.db.migrate) { + if (env.dbMigrate) { migrateDatabase(env) } - val connection = DriverManager.getConnection(env.db.url, env.db.username, env.db.password) + val connection = DriverManager.getConnection(env.dbUrl, env.dbUsername, env.dbPassword) val dslContext = DSL.using(connection, SQLDialect.POSTGRES) val messageRepository: MessageRepository = JooqMessageRepository(dslContext) val subscribers = CopyOnWriteArrayList() - - val indexHandler: HttpHandler = { - val html = createHTMLDocument().html { - chatPage( - messages = messageRepository.findAll() - ) - }.serialize() - - Response(Status.OK).html(html) + val renderer = when (env.appEnv) { + Env.DEVELOPMENT -> { + println("🔥 Hot-Reloading JTE templates") + JTETemplates().HotReload("src/main/kte") + } + Env.PRODUCTION -> { + println("📦 Loading pre-compiled JTE templates") + JTETemplates().Precompiled("build/generated-resources/jte") + } } - val vendorHandler: HttpHandler = handler@{ req -> - val name = req.path("name") ?: return@handler Response(Status.NOT_FOUND) - val version = req.path("version") ?: return@handler Response(Status.NOT_FOUND) - val file = req.path("file") ?: return@handler Response(Status.NOT_FOUND) - val contentType = MimeTypes().forFile(file) - - if (contentType == ContentType.OCTET_STREAM) { - return@handler Response(Status.NOT_FOUND) - } - - val resource = ResourceLoader.Classpath("/public/vendor/$name/$version").load(file) - ?: return@handler Response(Status.NOT_FOUND) - - Response(Status.OK) - .with(Header.CONTENT_TYPE of contentType) - .header("Cache-Control", "public, max-age=31536000, immutable") - .body(resource.openStream()) + val indexHandler: HttpHandler = { + Response(Status.OK).body(renderer(IndexTemplate(messageRepository.findAll()))) } val sse = sse( @@ -112,16 +97,13 @@ fun main() { SseResponse { sse -> subscribers.add(sse) - sse.send(SseMessage.Event("connected", "Connection established")) sse.onClose { subscribers.remove(sse) } } } ) val http = routes( - static(ResourceLoader.Classpath("public/static")), - - "/public/vendor/{name}/{version}/{file}" bindHttp GET to vendorHandler, + static(ResourceLoader.Classpath("static")), "/" bindHttp GET to indexHandler, @@ -135,9 +117,7 @@ fun main() { Response(Status.BAD_REQUEST) } else { val msg = Message(author, message) - val sseMsg = SseMessage.Data(createHTML().div { - messagePartial(msg) - }) + val sseMsg = SseMessage.Data(renderer(MessageTemplate(msg))) messageRepository.save(msg) subscribers.forEach { @@ -154,7 +134,7 @@ fun main() { } ) - poly(http, sse).asServer(Jetty(9000)).start() + poly(http, sse).asServer(Jetty(port = env.appPort)).start() - println("Server started on http://${env.app.domain}:${env.app.port}") + println("Server started on http://${env.appDomain}:${env.appPort}") } diff --git a/src/main/kotlin/at/dokkae/homepage/config/Environment.kt b/src/main/kotlin/at/dokkae/homepage/config/Environment.kt index 19cbff0..528c86e 100644 --- a/src/main/kotlin/at/dokkae/homepage/config/Environment.kt +++ b/src/main/kotlin/at/dokkae/homepage/config/Environment.kt @@ -8,40 +8,27 @@ enum class Env { } data class Environment( - val app: AppEnvironment, - val db: DbEnvironment, + val appPort: Int, + val appDomain: String, + val appEnv: Env, + val dbUrl: String, + val dbUsername: String, + val dbPassword: String, + val dbMigrate: Boolean, ) { - data class AppEnvironment( - val port: Int, - val domain: String, - val env: Env, - ) - - data class DbEnvironment( - val url: String, - val username: String, - val password: String, - val migrate: Boolean, - ) - - companion object { /** * Returns a loaded Environment object instance. * @throws IllegalStateException if required environment variables were not found within the provided `dotenv` instance. */ fun load(dotenv: Dotenv): Environment = Environment( - app = AppEnvironment( - port = requireEnv(dotenv, "APP_PORT").toInt(), - domain = requireEnv(dotenv, "APP_DOMAIN"), - env = Env.valueOf(requireEnv(dotenv, "APP_ENV").uppercase()), - ), - db = DbEnvironment( - url = requireEnv(dotenv, "DB_URL"), - username = requireEnv(dotenv, "DB_USERNAME"), - password = requireEnv(dotenv, "DB_PASSWORD"), - migrate = dotenv["DB_MIGRATE"]?.toBoolean() ?: false - ), + appPort = requireEnv(dotenv, "APP_PORT").toInt(), + appDomain = requireEnv(dotenv, "APP_DOMAIN"), + appEnv = Env.valueOf(requireEnv(dotenv, "APP_ENV").uppercase()), + dbUrl = requireEnv(dotenv, "DB_URL"), + dbUsername = requireEnv(dotenv, "DB_USERNAME"), + dbPassword = requireEnv(dotenv, "DB_PASSWORD"), + dbMigrate = dotenv["DB_MIGRATE"]?.toBoolean() ?: false ) private fun requireEnv(dotenv: Dotenv, key: String): String { diff --git a/src/main/kotlin/at/dokkae/homepage/extensions/JteTemplates.kt b/src/main/kotlin/at/dokkae/homepage/extensions/JteTemplates.kt new file mode 100644 index 0000000..49e1963 --- /dev/null +++ b/src/main/kotlin/at/dokkae/homepage/extensions/JteTemplates.kt @@ -0,0 +1,20 @@ +package at.dokkae.homepage.extensions + +import gg.jte.ContentType +import gg.jte.TemplateEngine +import gg.jte.output.StringOutput +import org.http4k.template.JTETemplates +import org.http4k.template.ViewModel +import org.http4k.template.ViewNotFound +import java.io.File + +fun JTETemplates.Precompiled(classTemplateDir: String) = + fun(viewModel: ViewModel): String { + val templateName = viewModel.template() + ".kte" + + val templateEngine = TemplateEngine.createPrecompiled(File(classTemplateDir).toPath(), ContentType.Html) + + return if (templateEngine.hasTemplate(templateName)) + StringOutput().also { templateEngine.render(templateName, viewModel, it); }.toString() + else throw ViewNotFound(viewModel) + } \ No newline at end of file diff --git a/src/main/kotlin/at/dokkae/homepage/model/Message.kt b/src/main/kotlin/at/dokkae/homepage/model/Message.kt deleted file mode 100644 index c9e9e3d..0000000 --- a/src/main/kotlin/at/dokkae/homepage/model/Message.kt +++ /dev/null @@ -1,18 +0,0 @@ -package at.dokkae.homepage.model - -import java.time.Instant -import java.util.UUID - -data class Message( - val author: String, - val content: String, - - val id: UUID = UUID.randomUUID(), - val createdAt: Instant = Instant.now(), - val updatedAt: Instant? = null -) { - init { - require(author.length <= 31) { "Author must be 31 characters or less" } - require(content.length <= 255) { "Content must be 255 characters or less" } - } -} \ No newline at end of file diff --git a/src/main/kotlin/at/dokkae/homepage/templates/Index.kt b/src/main/kotlin/at/dokkae/homepage/templates/Index.kt new file mode 100644 index 0000000..1e75cb7 --- /dev/null +++ b/src/main/kotlin/at/dokkae/homepage/templates/Index.kt @@ -0,0 +1,8 @@ +package at.dokkae.homepage.templates + +import at.dokkae.homepage.Message +import org.http4k.template.ViewModel + +data class IndexTemplate(val messages: List = listOf()) : ViewModel { + override fun template(): String = "Index" +} \ No newline at end of file diff --git a/src/main/kotlin/at/dokkae/homepage/templates/Message.kt b/src/main/kotlin/at/dokkae/homepage/templates/Message.kt new file mode 100644 index 0000000..1b9eb18 --- /dev/null +++ b/src/main/kotlin/at/dokkae/homepage/templates/Message.kt @@ -0,0 +1,8 @@ +package at.dokkae.homepage.templates + +import at.dokkae.homepage.Message +import org.http4k.template.ViewModel + +data class MessageTemplate(val message: Message) : ViewModel { + override fun template(): String = "partials/Message" +} \ No newline at end of file diff --git a/src/main/kotlin/at/dokkae/homepage/templates/layout/MainLayout.kt b/src/main/kotlin/at/dokkae/homepage/templates/layout/MainLayout.kt deleted file mode 100644 index 02d2703..0000000 --- a/src/main/kotlin/at/dokkae/homepage/templates/layout/MainLayout.kt +++ /dev/null @@ -1,30 +0,0 @@ -package at.dokkae.homepage.templates.layout - -import kotlinx.html.BODY -import kotlinx.html.HTML -import kotlinx.html.* - -fun HTML.mainLayout( - title: String, - content: BODY.() -> Unit = {} -) { - head { - meta { charset = "utf-8" } - meta { - name = "viewport" - this.content = "width=device-width, initial-scale=1" - } - - this.title(title) - - script { src = "/public/vendor/htmx/2.0.8/htmx.min.js" } - script { src = "/public/vendor/htmx-ext-sse/2.2.4/htmx-ext-sse.min.js" } - script { src = "/public/vendor/hyperscript/3e834a3f/hyperscript.min.js" } - script { src = "/public/vendor/tailwindcss/095aecf0/tailwindcss.min.js" } - } - body(classes = "h-dvh") { - attributes["hx-ext"] = "sse" - - content() - } -} \ No newline at end of file diff --git a/src/main/kotlin/at/dokkae/homepage/templates/page/ChatPage.kt b/src/main/kotlin/at/dokkae/homepage/templates/page/ChatPage.kt deleted file mode 100644 index 049c391..0000000 --- a/src/main/kotlin/at/dokkae/homepage/templates/page/ChatPage.kt +++ /dev/null @@ -1,159 +0,0 @@ -package at.dokkae.homepage.templates.page - -import at.dokkae.homepage.Message -import at.dokkae.homepage.templates.layout.mainLayout -import at.dokkae.homepage.templates.partials.messagePartial -import kotlinx.html.* -import kotlin.math.absoluteValue - -fun HTML.chatPage( - username: String = "Anonymous", - messages: List = listOf(), -) { - mainLayout("Dokkae's Chat") { - unsafe { - +""" - - - - - - - - - """.trimIndent() - } - - style { - unsafe { - +""" - .squiggly { - filter: url(#wiggle); - } - """.trimIndent() - } - } - - div(classes = "w-full h-full flex flex-row") { - classes += "text-neutral-100 bg-neutral-800 p-0 lg:p-4 gap-4" - - div(classes = "flex-1 flex flex-col min-w-0") { - classes += "gap-0 lg:gap-4" - - header(classes = "flex justify-between items-center") { - classes += "bg-neutral-900 p-4 rounded-none lg:rounded-2xl border-b border-neutral-800 lg:border-none" - - div { - p(classes = "font-semibold") { +"Dokkae's Chat" } - small(classes = "text-gray-400") { - //+"Connected • User-Name" - +"Post whatever, whenever from wherever" - } - } - - button(classes = "lg:hidden") { - classes += "px-3 py-2 rounded-lg bg-neutral-700 hover:scale-110" - classes += "transition-transform duration-150" - attributes["_"] = "on click remove .hidden from #sidebar-overlay then wait 5ms then remove .opacity-0 from #sidebar-overlay then remove .translate-x-full from #sidebar" - - +"☰" - } - } - - main(classes = "flex-1 overflow-hidden flex flex-col") { - classes += "bg-neutral-900 p-4 rounded-none lg:rounded-2xl gap-4" - - div(classes = "flex-1 flex flex-col-reverse overflow-x-hidden overflow-y-auto") { - classes += "gap-4" - attributes["sse-connect"] = "/message-events" - attributes["sse-swap"] = "message" - attributes["hx-swap"] = "afterbegin" - - messages.map { messagePartial(it) } - } - - form(classes = "flex flex-row") { - classes += "bg-neutral-800 pl-4 pr-2 py-2 gap-4 rounded-xl" - attributes["hx-post"] = "/messages" - attributes["hx-swap"] = "none" - attributes["_"] = """ - on htmx:afterRequest(detail) - if detail.successful - set #message-input.value to '' - end - """.trimIndent() - - input(classes = "flex-1") { - id = "message-input" - type = InputType.text - name = "message" - placeholder = "Your message..." - required = true - autoComplete = "off" - } - - button { - type = ButtonType.submit - classes += "px-3 py-2 rounded-lg bg-pink-300 hover:bg-pink-200 hover:scale-110" - classes += "transition-transform duration-150" - - unsafe { - +""" - - - - - - """.trimIndent() - } - } - } - } - } - - div(classes = "fixed inset-0 bg-black/50 lg:hidden hidden opacity-0 z-10") { - id = "sidebar-overlay" - classes += "transition-opacity duration-300" - attributes["_"] = "on click add .translate-x-full to #sidebar then add .opacity-0 to me then wait 300ms then add .hidden to me" - } - - aside(classes = "w-2/3 lg:w-1/3 lg:max-w-128 fixed lg:static top-0 right-0 h-full translate-x-full lg:translate-x-0 z-20 lg:z-auto") { - id = "sidebar" - classes += "flex flex-col space-between gap-4" - classes += "transition-all duration-300 ease-in-out" - classes += "bg-neutral-900 rounded-2xl p-4" - - div(classes = "flex justify-between items-center") { - button(classes = "lg:hidden") { - classes += "px-3 py-2 rounded-lg bg-neutral-700 hover:scale-110" - classes += "transition-transform duration-150" - attributes["_"] = "on click add .translate-x-full to #sidebar then add .opacity-0 to #sidebar-overlay then wait 300ms then add .hidden to #sidebar-overlay" - - +"✕" - } - } - - div(classes = "flex-1") { - +"Sidebar Content" - } - - footer(classes = "flex items-center justify-center") { - small(classes = "w-full text-center") { - classes += "text-neutral-400" - - +"No auth — anyone can post. Open source at " - a { - classes += "text-pink-300 hover:text-pink-200 hover:underline transition" - - href = "https://github.com/dokkae6949/homepage" - target = "_blank" - rel = "noopener noreferrer" - - +"dokkae6949/homepage" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/src/main/kotlin/at/dokkae/homepage/templates/partials/MessagePartial.kt b/src/main/kotlin/at/dokkae/homepage/templates/partials/MessagePartial.kt deleted file mode 100644 index c4d91c3..0000000 --- a/src/main/kotlin/at/dokkae/homepage/templates/partials/MessagePartial.kt +++ /dev/null @@ -1,57 +0,0 @@ -package at.dokkae.homepage.templates.partials - -import at.dokkae.homepage.Message -import kotlinx.html.FlowContent -import kotlinx.html.* -import java.time.ZoneOffset -import java.time.format.DateTimeFormatter -import kotlin.math.absoluteValue - -fun FlowContent.messagePartial(message: Message) { - val dateFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy").withZone(ZoneOffset.UTC) - val timeFormatter = DateTimeFormatter.ofPattern("HH:mm").withZone(ZoneOffset.UTC) - val colors = listOf( - "red", - "orange", - "amber", - "yellow", - "lime", - "green", - "emerald", - "teal", - "cyan", - "sky", - "blue", - "indigo", - "violet", - "purple", - "fuchsia", - "pink", - "rose" - ) - val bgColorClass = "bg-${colors[message.id.hashCode().absoluteValue % colors.size]}-200" - - div { - div(classes = "flex relative pl-2 py-1 hover:bg-neutral-800/30 rounded-xl transition-colors") { - div(classes = "absolute left-0 top-1/2 -translate-y-1/2 w-1 h-3/4 rounded-r $bgColorClass") - - div(classes = "flex-1 pl-3 text-ellipsis text-wrap break-all") { - div(classes = "flex flex-wrap items-baseline gap-2 mb-1") { - span(classes = "font-semibold text-white") { - +message.author - } - span(classes = "text-xs text-neutral-400") { - +dateFormatter.format(message.createdAt) - +" • " - +timeFormatter.format(message.createdAt) - +" UTC" - } - } - - div(classes = "text-neutral-200") { - +message.content - } - } - } - } -} \ No newline at end of file diff --git a/src/main/kotlin/at/dokkae/homepage/web/controller/MessageController.kt b/src/main/kotlin/at/dokkae/homepage/web/controller/MessageController.kt deleted file mode 100644 index 7afd51e..0000000 --- a/src/main/kotlin/at/dokkae/homepage/web/controller/MessageController.kt +++ /dev/null @@ -1,41 +0,0 @@ -package at.dokkae.homepage.web.controller - -import org.http4k.core.Body -import org.http4k.core.Method.* -import org.http4k.core.PolyHandler -import org.http4k.core.Request -import org.http4k.core.Response -import org.http4k.core.Status -import org.http4k.lens.FormField -import org.http4k.lens.LensFailure -import org.http4k.lens.Validator -import org.http4k.lens.nonEmptyString -import org.http4k.lens.webForm -import org.http4k.routing.bind -import org.http4k.routing.poly -import org.http4k.routing.routes - -class MessageController( - -) { - private val messageField = FormField.nonEmptyString().required("message") - private val messageCreationForm = Body.webForm(Validator.Strict, messageField).toLens() - - val routes: PolyHandler = poly( - routes( - "/messages" bind POST to ::createMessage - ), - ) - - - private fun createMessage(req: Request): Response { - return try { - val fields = messageCreationForm(req).fields - val content = fields["message"] - - Response(Status.CREATED) - } catch (e: LensFailure) { - Response(Status.BAD_REQUEST) - } - } -} \ No newline at end of file diff --git a/src/main/kte/partials/Message.kte b/src/main/kte/partials/Message.kte index 81cc99e..4e43280 100644 --- a/src/main/kte/partials/Message.kte +++ b/src/main/kte/partials/Message.kte @@ -8,7 +8,7 @@ !{val dateFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy").withZone(ZoneId.systemDefault())} !{val timeFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm").withZone(ZoneId.systemDefault())} -!{val borderColors = listOf("red", "orange", "yellow", "green", "blue", "pink")} +!{val borderColors = listOf("red", "orange", "yellow", "green", "blue", "pink" )}
diff --git a/src/main/resources/public/vendor/htmx-ext-sse/2.2.4/htmx-ext-sse.min.js b/src/main/resources/public/vendor/htmx-ext-sse/2.2.4/htmx-ext-sse.min.js deleted file mode 100644 index 4528733..0000000 --- a/src/main/resources/public/vendor/htmx-ext-sse/2.2.4/htmx-ext-sse.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var g;htmx.defineExtension("sse",{init:function(e){g=e;if(htmx.createEventSource==undefined){htmx.createEventSource=t}},getSelectors:function(){return["[sse-connect]","[data-sse-connect]","[sse-swap]","[data-sse-swap]"]},onEvent:function(e,t){var r=t.target||t.detail.elt;switch(e){case"htmx:beforeCleanupElement":var n=g.getInternalData(r);var s=n.sseEventSource;if(s){g.triggerEvent(r,"htmx:sseClose",{source:s,type:"nodeReplaced"});n.sseEventSource.close()}return;case"htmx:afterProcessNode":i(r)}}});function t(e){return new EventSource(e,{withCredentials:true})}function a(n){if(g.getAttributeValue(n,"sse-swap")){var s=g.getClosestMatch(n,v);if(s==null){return null}var e=g.getInternalData(s);var a=e.sseEventSource;var t=g.getAttributeValue(n,"sse-swap");var r=t.split(",");for(var i=0;i0){const t=r.querySelectorAll("[sse-swap], [data-sse-swap], [hx-trigger], [data-hx-trigger]");for(let e=0;e=0)){return r}else{return null}}if(o&&(o==="*"||o.split(" ").indexOf(n)>=0)){return"unset"}}return r}function ne(t,n){let r=null;q(t,function(e){return!!(r=o(t,ce(e),n))});if(r!=="unset"){return r}}function h(e,t){return e instanceof Element&&e.matches(t)}function A(e){const t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;const n=t.exec(e);if(n){return n[1].toLowerCase()}else{return""}}function L(e){if("parseHTMLUnsafe"in Document){return Document.parseHTMLUnsafe(e)}const t=new DOMParser;return t.parseFromString(e,"text/html")}function N(e,t){while(t.childNodes.length>0){e.append(t.childNodes[0])}}function r(e){const t=te().createElement("script");ie(e.attributes,function(e){t.setAttribute(e.name,e.value)});t.textContent=e.textContent;t.async=false;if(Q.config.inlineScriptNonce){t.nonce=Q.config.inlineScriptNonce}return t}function i(e){return e.matches("script")&&(e.type==="text/javascript"||e.type==="module"||e.type==="")}function I(e){Array.from(e.querySelectorAll("script")).forEach(e=>{if(i(e)){const t=r(e);const n=e.parentNode;try{n.insertBefore(t,e)}catch(e){H(e)}finally{e.remove()}}})}function D(e){const t=e.replace(/]*)?>[\s\S]*?<\/head>/i,"");const n=A(t);let r;if(n==="html"){r=new DocumentFragment;const i=L(e);N(r,i.body);r.title=i.title}else if(n==="body"){r=new DocumentFragment;const i=L(t);N(r,i.body);r.title=i.title}else{const i=L('");r=i.querySelector("template").content;r.title=i.title;var o=r.querySelector("title");if(o&&o.parentNode===r){o.remove();r.title=o.innerText}}if(r){if(Q.config.allowScriptTags){I(r)}else{r.querySelectorAll("script").forEach(e=>e.remove())}}return r}function re(e){if(e){e()}}function t(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"}function P(e){return typeof e==="function"}function k(e){return t(e,"Object")}function oe(e){const t="htmx-internal-data";let n=e[t];if(!n){n=e[t]={}}return n}function M(t){const n=[];if(t){for(let e=0;e=0}function se(e){return e.getRootNode({composed:true})===document}function B(e){return e.trim().split(/\s+/)}function le(e,t){for(const n in t){if(t.hasOwnProperty(n)){e[n]=t[n]}}return e}function v(e){try{return JSON.parse(e)}catch(e){H(e);return null}}function X(){const e="htmx:sessionStorageTest";try{sessionStorage.setItem(e,e);sessionStorage.removeItem(e);return true}catch(e){return false}}function U(e){const t=new URL(e,"http://x");if(t){e=t.pathname+t.search}if(e!="/"){e=e.replace(/\/+$/,"")}return e}function e(e){return On(te().body,function(){return eval(e)})}function V(t){const e=Q.on("htmx:load",function(e){t(e.detail.elt)});return e}function j(){Q.logger=function(e,t,n){if(console){console.log(t,e,n)}}}function $(){Q.logger=null}function f(e,t){if(typeof e!=="string"){return e.querySelector(t)}else{return f(te(),e)}}function x(e,t){if(typeof e!=="string"){return e.querySelectorAll(t)}else{return x(te(),e)}}function b(){return window}function _(e,t){e=w(e);if(t){b().setTimeout(function(){_(e);e=null},t)}else{u(e).removeChild(e)}}function ce(e){return e instanceof Element?e:null}function z(e){return e instanceof HTMLElement?e:null}function J(e){return typeof e==="string"?e:null}function p(e){return e instanceof Element||e instanceof Document||e instanceof DocumentFragment?e:null}function K(e,t,n){e=ce(w(e));if(!e){return}if(n){b().setTimeout(function(){K(e,t);e=null},n)}else{e.classList&&e.classList.add(t)}}function G(e,t,n){let r=ce(w(e));if(!r){return}if(n){b().setTimeout(function(){G(r,t);r=null},n)}else{if(r.classList){r.classList.remove(t);if(r.classList.length===0){r.removeAttribute("class")}}}}function W(e,t){e=w(e);e.classList.toggle(t)}function Z(e,t){e=w(e);ie(e.parentElement.children,function(e){G(e,t)});K(ce(e),t)}function g(e,t){e=ce(w(e));if(e){return e.closest(t)}return null}function l(e,t){return e.substring(0,t.length)===t}function Y(e,t){return e.substring(e.length-t.length)===t}function pe(e){const t=e.trim();if(l(t,"<")&&Y(t,"/>")){return t.substring(1,t.length-2)}else{return t}}function m(t,r,n){if(r.indexOf("global ")===0){return m(t,r.slice(7),true)}t=w(t);const o=[];{let t=0;let n=0;for(let e=0;e"){t--}}if(n0){const r=pe(o.shift());let e;if(r.indexOf("closest ")===0){e=g(ce(t),pe(r.slice(8)))}else if(r.indexOf("find ")===0){e=f(p(t),pe(r.slice(5)))}else if(r==="next"||r==="nextElementSibling"){e=ce(t).nextElementSibling}else if(r.indexOf("next ")===0){e=ge(t,pe(r.slice(5)),!!n)}else if(r==="previous"||r==="previousElementSibling"){e=ce(t).previousElementSibling}else if(r.indexOf("previous ")===0){e=me(t,pe(r.slice(9)),!!n)}else if(r==="document"){e=document}else if(r==="window"){e=window}else if(r==="body"){e=document.body}else if(r==="root"){e=y(t,!!n)}else if(r==="host"){e=t.getRootNode().host}else{s.push(r)}if(e){i.push(e)}}if(s.length>0){const e=s.join(",");const c=p(y(t,!!n));i.push(...M(c.querySelectorAll(e)))}return i}var ge=function(t,e,n){const r=p(y(t,n)).querySelectorAll(e);for(let e=0;e=0;e--){const o=r[e];if(o.compareDocumentPosition(t)===Node.DOCUMENT_POSITION_FOLLOWING){return o}}};function ue(e,t){if(typeof e!=="string"){return m(e,t)[0]}else{return m(te().body,e)[0]}}function w(e,t){if(typeof e==="string"){return f(p(t)||document,e)}else{return e}}function ye(e,t,n,r){if(P(t)){return{target:te().body,event:J(e),listener:t,options:n}}else{return{target:w(e),event:J(t),listener:n,options:r}}}function xe(t,n,r,o){Gn(function(){const e=ye(t,n,r,o);e.target.addEventListener(e.event,e.listener,e.options)});const e=P(n);return e?n:r}function be(t,n,r){Gn(function(){const e=ye(t,n,r);e.target.removeEventListener(e.event,e.listener)});return P(n)?n:r}const ve=te().createElement("output");function we(t,n){const e=ne(t,n);if(e){if(e==="this"){return[Se(t,n)]}else{const r=m(t,e);const o=/(^|,)(\s*)inherit(\s*)($|,)/.test(e);if(o){const i=ce(q(t,function(e){return e!==t&&s(ce(e),n)}));if(i){r.push(...we(i,n))}}if(r.length===0){H('The selector "'+e+'" on '+n+" returned no matches!");return[ve]}else{return r}}}}function Se(e,t){return ce(q(e,function(e){return a(ce(e),t)!=null}))}function Ee(e){const t=ne(e,"hx-target");if(t){if(t==="this"){return Se(e,"hx-target")}else{return ue(e,t)}}else{const n=oe(e);if(n.boosted){return te().body}else{return e}}}function Ce(e){return Q.config.attributesToSettle.includes(e)}function Oe(t,n){ie(Array.from(t.attributes),function(e){if(!n.hasAttribute(e.name)&&Ce(e.name)){t.removeAttribute(e.name)}});ie(n.attributes,function(e){if(Ce(e.name)){t.setAttribute(e.name,e.value)}})}function He(t,e){const n=Jn(e);for(let e=0;e0){s=e.substring(0,e.indexOf(":"));n=e.substring(e.indexOf(":")+1)}else{s=e}o.removeAttribute("hx-swap-oob");o.removeAttribute("data-hx-swap-oob");const r=m(t,n,false);if(r.length){ie(r,function(e){let t;const n=o.cloneNode(true);t=te().createDocumentFragment();t.appendChild(n);if(!He(s,e)){t=p(n)}const r={shouldSwap:true,target:e,fragment:t};if(!ae(e,"htmx:oobBeforeSwap",r))return;e=r.target;if(r.shouldSwap){qe(t);$e(s,e,e,t,i);Re()}ie(i.elts,function(e){ae(e,"htmx:oobAfterSwap",r)})});o.parentNode.removeChild(o)}else{o.parentNode.removeChild(o);fe(te().body,"htmx:oobErrorNoTarget",{content:o})}return e}function Re(){const e=f("#--htmx-preserve-pantry--");if(e){for(const t of[...e.children]){const n=f("#"+t.id);n.parentNode.moveBefore(t,n);n.remove()}e.remove()}}function qe(e){ie(x(e,"[hx-preserve], [data-hx-preserve]"),function(e){const t=a(e,"id");const n=te().getElementById(t);if(n!=null){if(e.moveBefore){let e=f("#--htmx-preserve-pantry--");if(e==null){te().body.insertAdjacentHTML("afterend","
");e=f("#--htmx-preserve-pantry--")}e.moveBefore(n,null)}else{e.parentNode.replaceChild(n,e)}}})}function Ae(l,e,c){ie(e.querySelectorAll("[id]"),function(t){const n=ee(t,"id");if(n&&n.length>0){const r=n.replace("'","\\'");const o=t.tagName.replace(":","\\:");const e=p(l);const i=e&&e.querySelector(o+"[id='"+r+"']");if(i&&i!==e){const s=t.cloneNode();Oe(t,i);c.tasks.push(function(){Oe(t,s)})}}})}function Le(e){return function(){G(e,Q.config.addedClass);Ft(ce(e));Ne(p(e));ae(e,"htmx:load")}}function Ne(e){const t="[autofocus]";const n=z(h(e,t)?e:e.querySelector(t));if(n!=null){n.focus()}}function c(e,t,n,r){Ae(e,n,r);while(n.childNodes.length>0){const o=n.firstChild;K(ce(o),Q.config.addedClass);e.insertBefore(o,t);if(o.nodeType!==Node.TEXT_NODE&&o.nodeType!==Node.COMMENT_NODE){r.tasks.push(Le(o))}}}function Ie(e,t){let n=0;while(n0}function ze(h,d,p,g){if(!g){g={}}let m=null;let n=null;let e=function(){re(g.beforeSwapCallback);h=w(h);const r=g.contextElement?y(g.contextElement,false):te();const e=document.activeElement;let t={};t={elt:e,start:e?e.selectionStart:null,end:e?e.selectionEnd:null};const o=Sn(h);if(p.swapStyle==="textContent"){h.textContent=d}else{let n=D(d);o.title=g.title||n.title;if(g.historyRequest){n=n.querySelector("[hx-history-elt],[data-hx-history-elt]")||n}if(g.selectOOB){const i=g.selectOOB.split(",");for(let t=0;t0){b().setTimeout(n,p.settleDelay)}else{n()}};let t=Q.config.globalViewTransitions;if(p.hasOwnProperty("transition")){t=p.transition}const r=g.contextElement||te();if(t&&ae(r,"htmx:beforeTransition",g.eventInfo)&&typeof Promise!=="undefined"&&document.startViewTransition){const o=new Promise(function(e,t){m=e;n=t});const i=e;e=function(){document.startViewTransition(function(){i();return o})}}try{if(p?.swapDelay&&p.swapDelay>0){b().setTimeout(e,p.swapDelay)}else{e()}}catch(e){fe(r,"htmx:swapError",g.eventInfo);re(n);throw e}}function Je(e,t,n){const r=e.getResponseHeader(t);if(r.indexOf("{")===0){const o=v(r);for(const i in o){if(o.hasOwnProperty(i)){let e=o[i];if(k(e)){n=e.target!==undefined?e.target:n}else{e={value:e}}ae(n,i,e)}}}else{const s=r.split(",");for(let e=0;e0){const s=o[0];if(s==="]"){e--;if(e===0){if(n===null){t=t+"true"}o.shift();t+=")})";try{const l=On(r,function(){return Function(t)()},function(){return true});l.source=t;return l}catch(e){fe(te().body,"htmx:syntax:error",{error:e,source:t});return null}}}else if(s==="["){e++}if(tt(s,n,i)){t+="(("+i+"."+s+") ? ("+i+"."+s+") : (window."+s+"))"}else{t=t+s}n=o.shift()}}}function O(e,t){let n="";while(e.length>0&&!t.test(e[0])){n+=e.shift()}return n}function rt(e){let t;if(e.length>0&&Ye.test(e[0])){e.shift();t=O(e,Qe).trim();e.shift()}else{t=O(e,E)}return t}const ot="input, textarea, select";function it(e,t,n){const r=[];const o=et(t);do{O(o,C);const l=o.length;const c=O(o,/[,\[\s]/);if(c!==""){if(c==="every"){const u={trigger:"every"};O(o,C);u.pollInterval=d(O(o,/[,\[\s]/));O(o,C);var i=nt(e,o,"event");if(i){u.eventFilter=i}r.push(u)}else{const f={trigger:c};var i=nt(e,o,"event");if(i){f.eventFilter=i}O(o,C);while(o.length>0&&o[0]!==","){const a=o.shift();if(a==="changed"){f.changed=true}else if(a==="once"){f.once=true}else if(a==="consume"){f.consume=true}else if(a==="delay"&&o[0]===":"){o.shift();f.delay=d(O(o,E))}else if(a==="from"&&o[0]===":"){o.shift();if(Ye.test(o[0])){var s=rt(o)}else{var s=O(o,E);if(s==="closest"||s==="find"||s==="next"||s==="previous"){o.shift();const h=rt(o);if(h.length>0){s+=" "+h}}}f.from=s}else if(a==="target"&&o[0]===":"){o.shift();f.target=rt(o)}else if(a==="throttle"&&o[0]===":"){o.shift();f.throttle=d(O(o,E))}else if(a==="queue"&&o[0]===":"){o.shift();f.queue=O(o,E)}else if(a==="root"&&o[0]===":"){o.shift();f[a]=rt(o)}else if(a==="threshold"&&o[0]===":"){o.shift();f[a]=O(o,E)}else{fe(e,"htmx:syntax:error",{token:o.shift()})}O(o,C)}r.push(f)}}if(o.length===l){fe(e,"htmx:syntax:error",{token:o.shift()})}O(o,C)}while(o[0]===","&&o.shift());if(n){n[t]=r}return r}function st(e){const t=a(e,"hx-trigger");let n=[];if(t){const r=Q.config.triggerSpecsCache;n=r&&r[t]||it(e,t,r)}if(n.length>0){return n}else if(h(e,"form")){return[{trigger:"submit"}]}else if(h(e,'input[type="button"], input[type="submit"]')){return[{trigger:"click"}]}else if(h(e,ot)){return[{trigger:"change"}]}else{return[{trigger:"click"}]}}function lt(e){oe(e).cancelled=true}function ct(e,t,n){const r=oe(e);r.timeout=b().setTimeout(function(){if(se(e)&&r.cancelled!==true){if(!pt(n,e,Xt("hx:poll:trigger",{triggerSpec:n,target:e}))){t(e)}ct(e,t,n)}},n.pollInterval)}function ut(e){return location.hostname===e.hostname&&ee(e,"href")&&ee(e,"href").indexOf("#")!==0}function ft(e){return g(e,Q.config.disableSelector)}function at(t,n,e){if(t instanceof HTMLAnchorElement&&ut(t)&&(t.target===""||t.target==="_self")||t.tagName==="FORM"&&String(ee(t,"method")).toLowerCase()!=="dialog"){n.boosted=true;let r,o;if(t.tagName==="A"){r="get";o=ee(t,"href")}else{const i=ee(t,"method");r=i?i.toLowerCase():"get";o=ee(t,"action");if(o==null||o===""){o=location.href}if(r==="get"&&o.includes("?")){o=o.replace(/\?[^#]+/,"")}}e.forEach(function(e){gt(t,function(e,t){const n=ce(e);if(ft(n)){S(n);return}he(r,o,n,t)},n,e,true)})}}function ht(e,t){if(e.type==="submit"&&t.tagName==="FORM"){return true}else if(e.type==="click"){const n=t.closest('input[type="submit"], button');if(n&&n.form&&n.type==="submit"){return true}const r=t.closest("a");const o=/^#.+/;if(r&&r.href&&!o.test(r.getAttribute("href"))){return true}}return false}function dt(e,t){return oe(e).boosted&&e instanceof HTMLAnchorElement&&t.type==="click"&&(t.ctrlKey||t.metaKey)}function pt(e,t,n){const r=e.eventFilter;if(r){try{return r.call(t,n)!==true}catch(e){const o=r.source;fe(te().body,"htmx:eventFilter:error",{error:e,source:o});return true}}return false}function gt(l,c,e,u,f){const a=oe(l);let t;if(u.from){t=m(l,u.from)}else{t=[l]}if(u.changed){if(!("lastValue"in a)){a.lastValue=new WeakMap}t.forEach(function(e){if(!a.lastValue.has(u)){a.lastValue.set(u,new WeakMap)}a.lastValue.get(u).set(e,e.value)})}ie(t,function(i){const s=function(e){if(!se(l)){i.removeEventListener(u.trigger,s);return}if(dt(l,e)){return}if(f||ht(e,i)){e.preventDefault()}if(pt(u,l,e)){return}const t=oe(e);t.triggerSpec=u;if(t.handledFor==null){t.handledFor=[]}if(t.handledFor.indexOf(l)<0){t.handledFor.push(l);if(u.consume){e.stopPropagation()}if(u.target&&e.target){if(!h(ce(e.target),u.target)){return}}if(u.once){if(a.triggeredOnce){return}else{a.triggeredOnce=true}}if(u.changed){const n=e.target;const r=n.value;const o=a.lastValue.get(u);if(o.has(n)&&o.get(n)===r){return}o.set(n,r)}if(a.delayed){clearTimeout(a.delayed)}if(a.throttle){return}if(u.throttle>0){if(!a.throttle){ae(l,"htmx:trigger");c(l,e);a.throttle=b().setTimeout(function(){a.throttle=null},u.throttle)}}else if(u.delay>0){a.delayed=b().setTimeout(function(){ae(l,"htmx:trigger");c(l,e)},u.delay)}else{ae(l,"htmx:trigger");c(l,e)}}};if(e.listenerInfos==null){e.listenerInfos=[]}e.listenerInfos.push({trigger:u.trigger,listener:s,on:i});i.addEventListener(u.trigger,s)})}let mt=false;let yt=null;function xt(){if(!yt){yt=function(){mt=true};window.addEventListener("scroll",yt);window.addEventListener("resize",yt);setInterval(function(){if(mt){mt=false;ie(te().querySelectorAll("[hx-trigger*='revealed'],[data-hx-trigger*='revealed']"),function(e){bt(e)})}},200)}}function bt(e){if(!s(e,"data-hx-revealed")&&F(e)){e.setAttribute("data-hx-revealed","true");const t=oe(e);if(t.initHash){ae(e,"revealed")}else{e.addEventListener("htmx:afterProcessNode",function(){ae(e,"revealed")},{once:true})}}}function vt(e,t,n,r){const o=function(){if(!n.loaded){n.loaded=true;ae(e,"htmx:trigger");t(e)}};if(r>0){b().setTimeout(o,r)}else{o()}}function wt(t,n,e){let i=false;ie(de,function(r){if(s(t,"hx-"+r)){const o=a(t,"hx-"+r);i=true;n.path=o;n.verb=r;e.forEach(function(e){St(t,e,n,function(e,t){const n=ce(e);if(ft(n)){S(n);return}he(r,o,n,t)})})}});return i}function St(r,e,t,n){if(e.trigger==="revealed"){xt();gt(r,n,t,e);bt(ce(r))}else if(e.trigger==="intersect"){const o={};if(e.root){o.root=ue(r,e.root)}if(e.threshold){o.threshold=parseFloat(e.threshold)}const i=new IntersectionObserver(function(t){for(let e=0;e0){t.polling=true;ct(ce(r),n,e)}else{gt(r,n,t,e)}}function Et(e){const t=ce(e);if(!t){return false}const n=t.attributes;for(let e=0;e", "+e).join(""));return o}else{return[]}}function Rt(e){const t=At(e.target);const n=Nt(e);if(n){n.lastButtonClicked=t}}function qt(e){const t=Nt(e);if(t){t.lastButtonClicked=null}}function At(e){return g(ce(e),"button, input[type='submit']")}function Lt(e){return e.form||g(e,"form")}function Nt(e){const t=At(e.target);if(!t){return}const n=Lt(t);if(!n){return}return oe(n)}function It(e){e.addEventListener("click",Rt);e.addEventListener("focusin",Rt);e.addEventListener("focusout",qt)}function Dt(t,e,n){const r=oe(t);if(!Array.isArray(r.onHandlers)){r.onHandlers=[]}let o;const i=function(e){On(t,function(){if(ft(t)){return}if(!o){o=new Function("event",n)}o.call(t,e)})};t.addEventListener(e,i);r.onHandlers.push({event:e,listener:i})}function Pt(t){Pe(t);for(let e=0;eQ.config.historyCacheSize){i.shift()}while(i.length>0){try{sessionStorage.setItem("htmx-history-cache",JSON.stringify(i));break}catch(e){fe(te().body,"htmx:historyCacheError",{cause:e,cache:i});i.shift()}}}function Jt(t){if(!X()){return null}t=U(t);const n=v(sessionStorage.getItem("htmx-history-cache"))||[];for(let e=0;e=200&&this.status<400){r.response=this.response;ae(te().body,"htmx:historyCacheMissLoad",r);ze(r.historyElt,r.response,n,{contextElement:r.historyElt,historyRequest:true});$t(r.path);ae(te().body,"htmx:historyRestore",{path:e,cacheMiss:true,serverResponse:r.response})}else{fe(te().body,"htmx:historyCacheMissLoadError",r)}};if(ae(te().body,"htmx:historyCacheMiss",r)){t.send()}}function en(e){Gt();e=e||location.pathname+location.search;const t=Jt(e);if(t){const n={swapStyle:"innerHTML",swapDelay:0,settleDelay:0,scroll:t.scroll};const r={path:e,item:t,historyElt:_t(),swapSpec:n};if(ae(te().body,"htmx:historyCacheHit",r)){ze(r.historyElt,t.content,n,{contextElement:r.historyElt,title:t.title});$t(r.path);ae(te().body,"htmx:historyRestore",r)}}else{if(Q.config.refreshOnHistoryMiss){Q.location.reload(true)}else{Qt(e)}}}function tn(e){let t=we(e,"hx-indicator");if(t==null){t=[e]}ie(t,function(e){const t=oe(e);t.requestCount=(t.requestCount||0)+1;e.classList.add.call(e.classList,Q.config.requestClass)});return t}function nn(e){let t=we(e,"hx-disabled-elt");if(t==null){t=[]}ie(t,function(e){const t=oe(e);t.requestCount=(t.requestCount||0)+1;e.setAttribute("disabled","");e.setAttribute("data-disabled-by-htmx","")});return t}function rn(e,t){ie(e.concat(t),function(e){const t=oe(e);t.requestCount=(t.requestCount||1)-1});ie(e,function(e){const t=oe(e);if(t.requestCount===0){e.classList.remove.call(e.classList,Q.config.requestClass)}});ie(t,function(e){const t=oe(e);if(t.requestCount===0){e.removeAttribute("disabled");e.removeAttribute("data-disabled-by-htmx")}})}function on(t,n){for(let e=0;en.indexOf(e)<0)}else{e=e.filter(e=>e!==n)}r.delete(t);ie(e,e=>r.append(t,e))}}function un(e){if(e instanceof HTMLSelectElement&&e.multiple){return M(e.querySelectorAll("option:checked")).map(function(e){return e.value})}if(e instanceof HTMLInputElement&&e.files){return M(e.files)}return e.value}function fn(t,n,r,e,o){if(e==null||on(t,e)){return}else{t.push(e)}if(sn(e)){const i=ee(e,"name");ln(i,un(e),n);if(o){an(e,r)}}if(e instanceof HTMLFormElement){ie(e.elements,function(e){if(t.indexOf(e)>=0){cn(e.name,un(e),n)}else{t.push(e)}if(o){an(e,r)}});new FormData(e).forEach(function(e,t){if(e instanceof File&&e.name===""){return}ln(t,e,n)})}}function an(e,t){const n=e;if(n.willValidate){ae(n,"htmx:validation:validate");if(!n.checkValidity()){if(ae(n,"htmx:validation:failed",{message:n.validationMessage,validity:n.validity})&&!t.length&&Q.config.reportValidityOfForms){n.reportValidity()}t.push({elt:n,message:n.validationMessage,validity:n.validity})}}}function hn(n,e){for(const t of e.keys()){n.delete(t)}e.forEach(function(e,t){n.append(t,e)});return n}function dn(e,t){const n=[];const r=new FormData;const o=new FormData;const i=[];const s=oe(e);if(s.lastButtonClicked&&!se(s.lastButtonClicked)){s.lastButtonClicked=null}let l=e instanceof HTMLFormElement&&e.noValidate!==true||a(e,"hx-validate")==="true";if(s.lastButtonClicked){l=l&&s.lastButtonClicked.formNoValidate!==true}if(t!=="get"){fn(n,o,i,Lt(e),l)}fn(n,r,i,e,l);if(s.lastButtonClicked||e.tagName==="BUTTON"||e.tagName==="INPUT"&&ee(e,"type")==="submit"){const u=s.lastButtonClicked||e;const f=ee(u,"name");ln(f,u.value,o)}const c=we(e,"hx-include");ie(c,function(e){fn(n,r,i,ce(e),l);if(!h(e,"form")){ie(p(e).querySelectorAll(ot),function(e){fn(n,r,i,e,l)})}});hn(r,o);return{errors:i,formData:r,values:kn(r)}}function pn(e,t,n){if(e!==""){e+="&"}if(String(n)==="[object Object]"){n=JSON.stringify(n)}const r=encodeURIComponent(n);e+=encodeURIComponent(t)+"="+r;return e}function gn(e){e=Dn(e);let n="";e.forEach(function(e,t){n=pn(n,t,e)});return n}function mn(e,t,n){const r={"HX-Request":"true","HX-Trigger":ee(e,"id"),"HX-Trigger-Name":ee(e,"name"),"HX-Target":a(t,"id"),"HX-Current-URL":location.href};Cn(e,"hx-headers",false,r);if(n!==undefined){r["HX-Prompt"]=n}if(oe(e).boosted){r["HX-Boosted"]="true"}return r}function yn(n,e){const t=ne(e,"hx-params");if(t){if(t==="none"){return new FormData}else if(t==="*"){return n}else if(t.indexOf("not ")===0){ie(t.slice(4).split(","),function(e){e=e.trim();n.delete(e)});return n}else{const r=new FormData;ie(t.split(","),function(t){t=t.trim();if(n.has(t)){n.getAll(t).forEach(function(e){r.append(t,e)})}});return r}}else{return n}}function xn(e){return!!ee(e,"href")&&ee(e,"href").indexOf("#")>=0}function bn(e,t){const n=t||ne(e,"hx-swap");const r={swapStyle:oe(e).boosted?"innerHTML":Q.config.defaultSwapStyle,swapDelay:Q.config.defaultSwapDelay,settleDelay:Q.config.defaultSettleDelay};if(Q.config.scrollIntoViewOnBoost&&oe(e).boosted&&!xn(e)){r.show="top"}if(n){const s=B(n);if(s.length>0){for(let e=0;e0?o.join(":"):null;r.scroll=u;r.scrollTarget=i}else if(l.indexOf("show:")===0){const f=l.slice(5);var o=f.split(":");const a=o.pop();var i=o.length>0?o.join(":"):null;r.show=a;r.showTarget=i}else if(l.indexOf("focus-scroll:")===0){const h=l.slice("focus-scroll:".length);r.focusScroll=h=="true"}else if(e==0){r.swapStyle=l}else{H("Unknown modifier in hx-swap: "+l)}}}}return r}function vn(e){return ne(e,"hx-encoding")==="multipart/form-data"||h(e,"form")&&ee(e,"enctype")==="multipart/form-data"}function wn(t,n,r){let o=null;Vt(n,function(e){if(o==null){o=e.encodeParameters(t,r,n)}});if(o!=null){return o}else{if(vn(n)){return hn(new FormData,Dn(r))}else{return gn(r)}}}function Sn(e){return{tasks:[],elts:[e]}}function En(e,t){const n=e[0];const r=e[e.length-1];if(t.scroll){var o=null;if(t.scrollTarget){o=ce(ue(n,t.scrollTarget))}if(t.scroll==="top"&&(n||o)){o=o||n;o.scrollTop=0}if(t.scroll==="bottom"&&(r||o)){o=o||r;o.scrollTop=o.scrollHeight}if(typeof t.scroll==="number"){b().setTimeout(function(){window.scrollTo(0,t.scroll)},0)}}if(t.show){var o=null;if(t.showTarget){let e=t.showTarget;if(t.showTarget==="window"){e="body"}o=ce(ue(n,e))}if(t.show==="top"&&(n||o)){o=o||n;o.scrollIntoView({block:"start",behavior:Q.config.scrollBehavior})}if(t.show==="bottom"&&(r||o)){o=o||r;o.scrollIntoView({block:"end",behavior:Q.config.scrollBehavior})}}}function Cn(r,e,o,i,s){if(i==null){i={}}if(r==null){return i}const l=a(r,e);if(l){let e=l.trim();let t=o;if(e==="unset"){return null}if(e.indexOf("javascript:")===0){e=e.slice(11);t=true}else if(e.indexOf("js:")===0){e=e.slice(3);t=true}if(e.indexOf("{")!==0){e="{"+e+"}"}let n;if(t){n=On(r,function(){if(s){return Function("event","return ("+e+")").call(r,s)}else{return Function("return ("+e+")").call(r)}},{})}else{n=v(e)}for(const c in n){if(n.hasOwnProperty(c)){if(i[c]==null){i[c]=n[c]}}}}return Cn(ce(u(r)),e,o,i,s)}function On(e,t,n){if(Q.config.allowEval){return t()}else{fe(e,"htmx:evalDisallowedError");return n}}function Hn(e,t,n){return Cn(e,"hx-vars",true,n,t)}function Tn(e,t,n){return Cn(e,"hx-vals",false,n,t)}function Rn(e,t){return le(Hn(e,t),Tn(e,t))}function qn(t,n,r){if(r!==null){try{t.setRequestHeader(n,r)}catch(e){t.setRequestHeader(n,encodeURIComponent(r));t.setRequestHeader(n+"-URI-AutoEncoded","true")}}}function An(t){if(t.responseURL){try{const e=new URL(t.responseURL);return e.pathname+e.search}catch(e){fe(te().body,"htmx:badResponseUrl",{url:t.responseURL})}}}function T(e,t){return t.test(e.getAllResponseHeaders())}function Ln(t,n,r){t=t.toLowerCase();if(r){if(r instanceof Element||typeof r==="string"){return he(t,n,null,null,{targetOverride:w(r)||ve,returnPromise:true})}else{let e=w(r.target);if(r.target&&!e||r.source&&!e&&!w(r.source)){e=ve}return he(t,n,w(r.source),r.event,{handler:r.handler,headers:r.headers,values:r.values,targetOverride:e,swapOverride:r.swap,select:r.select,returnPromise:true,push:r.push,replace:r.replace,selectOOB:r.selectOOB})}}else{return he(t,n,null,null,{returnPromise:true})}}function Nn(e){const t=[];while(e){t.push(e);e=e.parentElement}return t}function In(e,t,n){const r=new URL(t,location.protocol!=="about:"?location.href:window.origin);const o=location.protocol!=="about:"?location.origin:window.origin;const i=o===r.origin;if(Q.config.selfRequestsOnly){if(!i){return false}}return ae(e,"htmx:validateUrl",le({url:r,sameHost:i},n))}function Dn(e){if(e instanceof FormData)return e;const t=new FormData;for(const n in e){if(e.hasOwnProperty(n)){if(e[n]&&typeof e[n].forEach==="function"){e[n].forEach(function(e){t.append(n,e)})}else if(typeof e[n]==="object"&&!(e[n]instanceof Blob)){t.append(n,JSON.stringify(e[n]))}else{t.append(n,e[n])}}}return t}function Pn(r,o,e){return new Proxy(e,{get:function(t,e){if(typeof e==="number")return t[e];if(e==="length")return t.length;if(e==="push"){return function(e){t.push(e);r.append(o,e)}}if(typeof t[e]==="function"){return function(){t[e].apply(t,arguments);r.delete(o);t.forEach(function(e){r.append(o,e)})}}if(t[e]&&t[e].length===1){return t[e][0]}else{return t[e]}},set:function(e,t,n){e[t]=n;r.delete(o);e.forEach(function(e){r.append(o,e)});return true}})}function kn(o){return new Proxy(o,{get:function(e,t){if(typeof t==="symbol"){const r=Reflect.get(e,t);if(typeof r==="function"){return function(){return r.apply(o,arguments)}}else{return r}}if(t==="toJSON"){return()=>Object.fromEntries(o)}if(t in e){if(typeof e[t]==="function"){return function(){return o[t].apply(o,arguments)}}}const n=o.getAll(t);if(n.length===0){return undefined}else if(n.length===1){return n[0]}else{return Pn(e,t,n)}},set:function(t,n,e){if(typeof n!=="string"){return false}t.delete(n);if(e&&typeof e.forEach==="function"){e.forEach(function(e){t.append(n,e)})}else if(typeof e==="object"&&!(e instanceof Blob)){t.append(n,JSON.stringify(e))}else{t.append(n,e)}return true},deleteProperty:function(e,t){if(typeof t==="string"){e.delete(t)}return true},ownKeys:function(e){return Reflect.ownKeys(Object.fromEntries(e))},getOwnPropertyDescriptor:function(e,t){return Reflect.getOwnPropertyDescriptor(Object.fromEntries(e),t)}})}function he(t,n,r,o,i,k){let s=null;let l=null;i=i!=null?i:{};if(i.returnPromise&&typeof Promise!=="undefined"){var e=new Promise(function(e,t){s=e;l=t})}if(r==null){r=te().body}const M=i.handler||Vn;const F=i.select||null;if(!se(r)){re(s);return e}const c=i.targetOverride||ce(Ee(r));if(c==null||c==ve){fe(r,"htmx:targetError",{target:ne(r,"hx-target")});re(l);return e}let u=oe(r);const f=u.lastButtonClicked;if(f){const A=ee(f,"formaction");if(A!=null){n=A}const L=ee(f,"formmethod");if(L!=null){if(de.includes(L.toLowerCase())){t=L}else{re(s);return e}}}const a=ne(r,"hx-confirm");if(k===undefined){const K=function(e){return he(t,n,r,o,i,!!e)};const G={target:c,elt:r,path:n,verb:t,triggeringEvent:o,etc:i,issueRequest:K,question:a};if(ae(r,"htmx:confirm",G)===false){re(s);return e}}let h=r;let d=ne(r,"hx-sync");let p=null;let B=false;if(d){const N=d.split(":");const I=N[0].trim();if(I==="this"){h=Se(r,"hx-sync")}else{h=ce(ue(r,I))}d=(N[1]||"drop").trim();u=oe(h);if(d==="drop"&&u.xhr&&u.abortable!==true){re(s);return e}else if(d==="abort"){if(u.xhr){re(s);return e}else{B=true}}else if(d==="replace"){ae(h,"htmx:abort")}else if(d.indexOf("queue")===0){const W=d.split(" ");p=(W[1]||"last").trim()}}if(u.xhr){if(u.abortable){ae(h,"htmx:abort")}else{if(p==null){if(o){const D=oe(o);if(D&&D.triggerSpec&&D.triggerSpec.queue){p=D.triggerSpec.queue}}if(p==null){p="last"}}if(u.queuedRequests==null){u.queuedRequests=[]}if(p==="first"&&u.queuedRequests.length===0){u.queuedRequests.push(function(){he(t,n,r,o,i)})}else if(p==="all"){u.queuedRequests.push(function(){he(t,n,r,o,i)})}else if(p==="last"){u.queuedRequests=[];u.queuedRequests.push(function(){he(t,n,r,o,i)})}re(s);return e}}const g=new XMLHttpRequest;u.xhr=g;u.abortable=B;const m=function(){u.xhr=null;u.abortable=false;if(u.queuedRequests!=null&&u.queuedRequests.length>0){const e=u.queuedRequests.shift();e()}};const X=ne(r,"hx-prompt");if(X){var y=prompt(X);if(y===null||!ae(r,"htmx:prompt",{prompt:y,target:c})){re(s);m();return e}}if(a&&!k){if(!confirm(a)){re(s);m();return e}}let x=mn(r,c,y);if(t!=="get"&&!vn(r)){x["Content-Type"]="application/x-www-form-urlencoded"}if(i.headers){x=le(x,i.headers)}const U=dn(r,t);let b=U.errors;const V=U.formData;if(i.values){hn(V,Dn(i.values))}const j=Dn(Rn(r,o));const v=hn(V,j);let w=yn(v,r);if(Q.config.getCacheBusterParam&&t==="get"){w.set("org.htmx.cache-buster",ee(c,"id")||"true")}if(n==null||n===""){n=location.href}const S=Cn(r,"hx-request");const $=oe(r).boosted;let E=Q.config.methodsThatUseUrlParams.indexOf(t)>=0;const C={boosted:$,useUrlParams:E,formData:w,parameters:kn(w),unfilteredFormData:v,unfilteredParameters:kn(v),headers:x,elt:r,target:c,verb:t,errors:b,withCredentials:i.credentials||S.credentials||Q.config.withCredentials,timeout:i.timeout||S.timeout||Q.config.timeout,path:n,triggeringEvent:o};if(!ae(r,"htmx:configRequest",C)){re(s);m();return e}n=C.path;t=C.verb;x=C.headers;w=Dn(C.parameters);b=C.errors;E=C.useUrlParams;if(b&&b.length>0){ae(r,"htmx:validation:halted",C);re(s);m();return e}const _=n.split("#");const z=_[0];const O=_[1];let H=n;if(E){H=z;const Z=!w.keys().next().done;if(Z){if(H.indexOf("?")<0){H+="?"}else{H+="&"}H+=gn(w);if(O){H+="#"+O}}}if(!In(r,H,C)){fe(r,"htmx:invalidPath",C);re(l);m();return e}g.open(t.toUpperCase(),H,true);g.overrideMimeType("text/html");g.withCredentials=C.withCredentials;g.timeout=C.timeout;if(S.noHeaders){}else{for(const P in x){if(x.hasOwnProperty(P)){const Y=x[P];qn(g,P,Y)}}}const T={xhr:g,target:c,requestConfig:C,etc:i,boosted:$,select:F,pathInfo:{requestPath:n,finalRequestPath:H,responsePath:null,anchor:O}};g.onload=function(){try{const t=Nn(r);T.pathInfo.responsePath=An(g);M(r,T);if(T.keepIndicators!==true){rn(R,q)}ae(r,"htmx:afterRequest",T);ae(r,"htmx:afterOnLoad",T);if(!se(r)){let e=null;while(t.length>0&&e==null){const n=t.shift();if(se(n)){e=n}}if(e){ae(e,"htmx:afterRequest",T);ae(e,"htmx:afterOnLoad",T)}}re(s)}catch(e){fe(r,"htmx:onLoadError",le({error:e},T));throw e}finally{m()}};g.onerror=function(){rn(R,q);fe(r,"htmx:afterRequest",T);fe(r,"htmx:sendError",T);re(l);m()};g.onabort=function(){rn(R,q);fe(r,"htmx:afterRequest",T);fe(r,"htmx:sendAbort",T);re(l);m()};g.ontimeout=function(){rn(R,q);fe(r,"htmx:afterRequest",T);fe(r,"htmx:timeout",T);re(l);m()};if(!ae(r,"htmx:beforeRequest",T)){re(s);m();return e}var R=tn(r);var q=nn(r);ie(["loadstart","loadend","progress","abort"],function(t){ie([g,g.upload],function(e){e.addEventListener(t,function(e){ae(r,"htmx:xhr:"+t,{lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total})})})});ae(r,"htmx:beforeSend",T);const J=E?null:wn(g,r,w);g.send(J);return e}function Mn(e,t){const n=t.xhr;let r=null;let o=null;if(T(n,/HX-Push:/i)){r=n.getResponseHeader("HX-Push");o="push"}else if(T(n,/HX-Push-Url:/i)){r=n.getResponseHeader("HX-Push-Url");o="push"}else if(T(n,/HX-Replace-Url:/i)){r=n.getResponseHeader("HX-Replace-Url");o="replace"}if(r){if(r==="false"){return{}}else{return{type:o,path:r}}}const i=t.pathInfo.finalRequestPath;const s=t.pathInfo.responsePath;const l=t.etc.push||ne(e,"hx-push-url");const c=t.etc.replace||ne(e,"hx-replace-url");const u=oe(e).boosted;let f=null;let a=null;if(l){f="push";a=l}else if(c){f="replace";a=c}else if(u){f="push";a=s||i}if(a){if(a==="false"){return{}}if(a==="true"){a=s||i}if(t.pathInfo.anchor&&a.indexOf("#")===-1){a=a+"#"+t.pathInfo.anchor}return{type:f,path:a}}else{return{}}}function Fn(e,t){var n=new RegExp(e.code);return n.test(t.toString(10))}function Bn(e){for(var t=0;t`+`.${t}{opacity:0;visibility: hidden} `+`.${n} .${t}, .${n}.${t}{opacity:1;visibility: visible;transition: opacity 200ms ease-in}`+"")}}function Zn(){const e=te().querySelector('meta[name="htmx-config"]');if(e){return v(e.content)}else{return null}}function Yn(){const e=Zn();if(e){Q.config=le(Q.config,e)}}Gn(function(){Yn();Wn();let e=te().body;Ft(e);const t=te().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");e.addEventListener("htmx:abort",function(e){const t=e.detail.elt||e.target;const n=oe(t);if(n&&n.xhr){n.xhr.abort()}});const n=window.onpopstate?window.onpopstate.bind(window):null;window.onpopstate=function(e){if(e.state&&e.state.htmx){en();ie(t,function(e){ae(e,"htmx:restored",{document:te(),triggerEvent:ae})})}else{if(n){n(e)}}};b().setTimeout(function(){ae(e,"htmx:load",{});e=null},0)});return Q}(); \ No newline at end of file diff --git a/src/main/resources/public/vendor/hyperscript/3e834a3f/hyperscript.min.js b/src/main/resources/public/vendor/hyperscript/3e834a3f/hyperscript.min.js deleted file mode 100644 index f3258ef..0000000 --- a/src/main/resources/public/vendor/hyperscript/3e834a3f/hyperscript.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t){const r=t(e);if(typeof exports==="object"&&typeof exports["nodeName"]!=="string"){module.exports=r}else{e["_hyperscript"]=r;if("document"in e)e["_hyperscript"].browserInit()}})(typeof self!=="undefined"?self:this,(e=>{"use strict";const t={dynamicResolvers:[function(e,t){if(e==="Fixed"){return Number(t).toFixed()}else if(e.indexOf("Fixed:")===0){let r=e.split(":")[1];return Number(t).toFixed(parseInt(r))}}],String:function(e){if(e.toString){return e.toString()}else{return""+e}},Int:function(e){return parseInt(e)},Float:function(e){return parseFloat(e)},Number:function(e){return Number(e)},Date:function(e){return new Date(e)},Array:function(e){return Array.from(e)},JSON:function(e){return JSON.stringify(e)},Object:function(e){if(e instanceof String){e=e.toString()}if(typeof e==="string"){return JSON.parse(e)}else{return Object.assign({},e)}}};const r={attributes:"_, script, data-script",defaultTransition:"all 500ms ease-in",disableSelector:"[disable-scripting], [data-disable-scripting]",hideShowStrategies:{},conversions:t};class n{static OP_TABLE={"+":"PLUS","-":"MINUS","*":"MULTIPLY","/":"DIVIDE",".":"PERIOD","..":"ELLIPSIS","\\":"BACKSLASH",":":"COLON","%":"PERCENT","|":"PIPE","!":"EXCLAMATION","?":"QUESTION","#":"POUND","&":"AMPERSAND",$:"DOLLAR",";":"SEMI",",":"COMMA","(":"L_PAREN",")":"R_PAREN","<":"L_ANG",">":"R_ANG","<=":"LTE_ANG",">=":"GTE_ANG","==":"EQ","===":"EQQ","!=":"NEQ","!==":"NEQQ","{":"L_BRACE","}":"R_BRACE","[":"L_BRACKET","]":"R_BRACKET","=":"EQUALS","~":"TILDE"};static isValidCSSClassChar(e){return n.isAlpha(e)||n.isNumeric(e)||e==="-"||e==="_"||e===":"}static isValidCSSIDChar(e){return n.isAlpha(e)||n.isNumeric(e)||e==="-"||e==="_"||e===":"}static isWhitespace(e){return e===" "||e==="\t"||n.isNewline(e)}static positionString(e){return"[Line: "+e.line+", Column: "+e.column+"]"}static isNewline(e){return e==="\r"||e==="\n"}static isNumeric(e){return e>="0"&&e<="9"}static isAlpha(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}static isIdentifierChar(e,t){return e==="_"||e==="$"}static isReservedChar(e){return e==="`"||e==="^"}static isValidSingleQuoteStringStart(e){if(e.length>0){var t=e[e.length-1];if(t.type==="IDENTIFIER"||t.type==="CLASS_REF"||t.type==="ID_REF"){return false}if(t.op&&(t.value===">"||t.value===")")){return false}}return true}static tokenize(e,t){var r=[];var a=e;var o=0;var s=0;var u=1;var l="";var c=0;function f(){return t&&c===0}while(o=0){return this.consumeToken()}}requireToken(e,t){var r=this.matchToken(e,t);if(r){return r}else{this.raiseError(this,"Expected '"+e+"' but found '"+this.currentToken().value+"'")}}peekToken(e,t,r){t=t||0;r=r||"IDENTIFIER";if(this.tokens[t]&&this.tokens[t].value===e&&this.tokens[t].type===r){return this.tokens[t]}}matchToken(e,t){if(this.follows.indexOf(e)!==-1){return}t=t||"IDENTIFIER";if(this.currentToken()&&this.currentToken().value===e&&this.currentToken().type===t){return this.consumeToken()}}consumeToken(){var e=this.tokens.shift();this.consumed.push(e);this._lastConsumed=e;this.consumeWhitespace();return e}consumeUntil(e,t){var r=[];var n=this.token(0,true);while((t==null||n.type!==t)&&(e==null||n.value!==e)&&n.type!=="EOF"){var i=this.tokens.shift();this.consumed.push(i);r.push(n);n=this.token(0,true)}this.consumeWhitespace();return r}lastWhitespace(){if(this.consumed[this.consumed.length-1]&&this.consumed[this.consumed.length-1].type==="WHITESPACE"){return this.consumed[this.consumed.length-1].value}else{return""}}consumeUntilWhitespace(){return this.consumeUntil(null,"WHITESPACE")}hasMore(){return this.tokens.length>0}token(e,t){var r;var n=0;do{if(!t){while(this.tokens[n]&&this.tokens[n].type==="WHITESPACE"){n++}}r=this.tokens[n];e--;n++}while(e>-1);if(r){return r}else{return{type:"EOF",value:"<<>>"}}}currentToken(){return this.token(0)}lastMatch(){return this._lastConsumed}static sourceFor=function(){return this.programSource.substring(this.startToken.start,this.endToken.end)};static lineFor=function(){return this.programSource.split("\n")[this.startToken.line-1]};follows=[];pushFollow(e){this.follows.push(e)}popFollow(){this.follows.pop()}clearFollows(){var e=this.follows;this.follows=[];return e}restoreFollows(e){this.follows=e}}class a{constructor(e){this.runtime=e;this.possessivesDisabled=false;this.addGrammarElement("feature",(function(e,t,r){if(r.matchOpToken("(")){var n=e.requireElement("feature",r);r.requireOpToken(")");return n}var i=e.FEATURES[r.currentToken().value||""];if(i){return i(e,t,r)}}));this.addGrammarElement("command",(function(e,t,r){if(r.matchOpToken("(")){const t=e.requireElement("command",r);r.requireOpToken(")");return t}var n=e.COMMANDS[r.currentToken().value||""];let i;if(n){i=n(e,t,r)}else if(r.currentToken().type==="IDENTIFIER"){i=e.parseElement("pseudoCommand",r)}if(i){return e.parseElement("indirectStatement",r,i)}return i}));this.addGrammarElement("commandList",(function(e,t,r){if(r.hasMore()){var n=e.parseElement("command",r);if(n){r.matchToken("then");const t=e.parseElement("commandList",r);if(t)n.next=t;return n}}return{type:"emptyCommandListCommand",op:function(e){return t.findNext(this,e)},execute:function(e){return t.unifiedExec(this,e)}}}));this.addGrammarElement("leaf",(function(e,t,r){var n=e.parseAnyOf(e.LEAF_EXPRESSIONS,r);if(n==null){return e.parseElement("symbol",r)}return n}));this.addGrammarElement("indirectExpression",(function(e,t,r,n){for(var i=0;i{this.unifiedExec(e,t)})).catch((e=>{this.unifiedExec({op:function(){throw e}},t)}));return}else if(r===o.HALT){if(t.meta.finallyHandler&&!t.meta.handlingFinally){t.meta.handlingFinally=true;e=t.meta.finallyHandler}else{if(t.meta.onHalt){t.meta.onHalt()}if(t.meta.currentException){if(t.meta.reject){t.meta.reject(t.meta.currentException);return}else{throw t.meta.currentException}}else{return}}}else{e=r}}}unifiedEval(e,t,r){var n=[t];var i=false;var a=false;if(e.args){for(var o=0;o{n=this.wrapArrays(n);Promise.all(n).then((function(n){if(a){this.unwrapAsyncs(n)}try{var i=e.op.apply(e,n);t(i)}catch(e){r(e)}})).catch((function(e){r(e)}))}))}else{if(a){this.unwrapAsyncs(n)}return e.op.apply(e,n)}}_scriptAttrs=null;getScriptAttributes(){if(this._scriptAttrs==null){this._scriptAttrs=r.attributes.replace(/ /g,"").split(",")}return this._scriptAttrs}getScript(e){for(var t=0;t{this.initElement(e,e instanceof HTMLScriptElement&&e.type==="text/hyperscript"?document.body:e)}))}}initElement(e,t){if(e.closest&&e.closest(r.disableSelector)){return}var n=this.getInternalData(e);if(!n.initialized){var i=this.getScript(e);if(i){try{n.initialized=true;n.script=i;const r=this.lexer,s=this.parser;var a=r.tokenize(i);var o=s.parseHyperScript(a);if(!o)return;o.apply(t||e,e);setTimeout((()=>{this.triggerEvent(t||e,"load",{hyperscript:true})}),1)}catch(t){this.triggerEvent(e,"exception",{error:t});console.error("hyperscript errors were found on the following element:",e,"\n\n",t.message,t.stack)}}}}internalDataMap=new WeakMap;getInternalData(e){var t=this.internalDataMap.get(e);if(typeof t==="undefined"){this.internalDataMap.set(e,t={})}return t}typeCheck(e,t,r){if(e==null&&r){return true}var n=Object.prototype.toString.call(e).slice(8,-1);return n===t}getElementScope(e){var t=e.meta&&e.meta.owner;if(t){var r=this.getInternalData(t);var n="elementScope";if(e.meta.feature&&e.meta.feature.behavior){n=e.meta.feature.behavior+"Scope"}var i=h(r,n);return i}else{return{}}}isReservedWord(e){return["meta","it","result","locals","event","target","detail","sender","body"].includes(e)}isHyperscriptContext(e){return e instanceof f}resolveSymbol(t,r,n){if(t==="me"||t==="my"||t==="I"){return r.me}if(t==="it"||t==="its"||t==="result"){return r.result}if(t==="you"||t==="your"||t==="yourself"){return r.you}else{if(n==="global"){return e[t]}else if(n==="element"){var i=this.getElementScope(r);return i[t]}else if(n==="local"){return r.locals[t]}else{if(r.meta&&r.meta.context){var a=r.meta.context[t];if(typeof a!=="undefined"){return a}if(r.meta.context.detail){a=r.meta.context.detail[t];if(typeof a!=="undefined"){return a}}}if(this.isHyperscriptContext(r)&&!this.isReservedWord(t)){var o=r.locals[t]}else{var o=r[t]}if(typeof o!=="undefined"){return o}else{var i=this.getElementScope(r);o=i[t];if(typeof o!=="undefined"){return o}else{return e[t]}}}}}setSymbol(t,r,n,i){if(n==="global"){e[t]=i}else if(n==="element"){var a=this.getElementScope(r);a[t]=i}else if(n==="local"){r.locals[t]=i}else{if(this.isHyperscriptContext(r)&&!this.isReservedWord(t)&&typeof r.locals[t]!=="undefined"){r.locals[t]=i}else{var a=this.getElementScope(r);var o=a[t];if(typeof o!=="undefined"){a[t]=i}else{if(this.isHyperscriptContext(r)&&!this.isReservedWord(t)){r.locals[t]=i}else{r[t]=i}}}}}findNext(e,t){if(e){if(e.resolveNext){return e.resolveNext(t)}else if(e.next){return e.next}else{return this.findNext(e.parent,t)}}}flatGet(e,t,r){if(e!=null){var n=r(e,t);if(typeof n!=="undefined"){return n}if(this.shouldAutoIterate(e)){var i=[];for(var a of e){var o=r(a,t);i.push(o)}return i}}}resolveProperty(e,t){return this.flatGet(e,t,((e,t)=>e[t]))}resolveAttribute(e,t){return this.flatGet(e,t,((e,t)=>e.getAttribute&&e.getAttribute(t)))}resolveStyle(e,t){return this.flatGet(e,t,((e,t)=>e.style&&e.style[t]))}resolveComputedStyle(e,t){return this.flatGet(e,t,((e,t)=>getComputedStyle(e).getPropertyValue(t)))}assignToNamespace(t,r,n,i){let a;if(typeof document!=="undefined"&&t===document.body){a=e}else{a=this.getHyperscriptFeatures(t)}var o;while((o=r.shift())!==undefined){var s=a[o];if(s==null){s={};a[o]=s}a=s}a[n]=i}getHyperTrace(e,t){var r=[];var n=e;while(n.meta.caller){n=n.meta.caller}if(n.meta.traceMap){return n.meta.traceMap.get(t,r)}}registerHyperTrace(e,t){var r=[];var n=null;while(e!=null){r.push(e);n=e;e=e.meta.caller}if(n.meta.traceMap==null){n.meta.traceMap=new Map}if(!n.meta.traceMap.get(t)){var i={trace:r,print:function(e){e=e||console.error;e("hypertrace /// ");var t=0;for(var n=0;n",i.meta.feature.displayName.padEnd(t+2),"-",i.meta.owner)}}};n.meta.traceMap.set(t,i)}}escapeSelector(e){return e.replace(/[:&()\[\]\/]/g,(function(e){return"\\"+e}))}nullCheck(e,t){if(e==null){throw new Error("'"+t.sourceFor()+"' is null")}}isEmpty(e){return e==undefined||e.length===0}doesExist(e){if(e==null){return false}if(this.shouldAutoIterate(e)){for(const t of e){return true}return false}return true}getRootNode(e){if(e&&e instanceof Node){var t=e.getRootNode();if(t instanceof Document||t instanceof ShadowRoot)return t}return document}getEventQueueFor(e,t){let r=this.getInternalData(e);var n=r.eventQueues;if(n==null){n=new Map;r.eventQueues=n}var i=n.get(t);if(i==null){i={queue:[],executing:false};n.set(t,i)}return i}beepValueToConsole(e,t,r){if(this.triggerEvent(e,"hyperscript:beep",{element:e,expression:t,value:r})){var n;if(r){if(r instanceof m){n="ElementCollection"}else if(r.constructor){n=r.constructor.name}else{n="unknown"}}else{n="object (null)"}var a=r;if(n==="String"){a='"'+a+'"'}else if(r instanceof m){a=Array.from(r)}console.log("///_ BEEP! The expression ("+i.sourceFor.call(t).replace("beep! ","")+") evaluates to:",a,"of type "+n)}}hyperscriptUrl="document"in e&&document.currentScript?document.currentScript.src:null}function s(){let e=document.cookie.split("; ").map((e=>{let t=e.split("=");return{name:t[0],value:decodeURIComponent(t[1])}}));return e}function u(e){document.cookie=e+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT"}function l(){for(const e of s()){u(e.name)}}const c=new Proxy({},{get(e,t){if(t==="then"||t==="asyncWrapper"){return null}else if(t==="length"){return s().length}else if(t==="clear"){return u}else if(t==="clearAll"){return l}else if(typeof t==="string"){if(!isNaN(t)){return s()[parseInt(t)]}else{let e=document.cookie.split("; ").find((e=>e.startsWith(t+"=")))?.split("=")[1];if(e){return decodeURIComponent(e)}}}else if(t===Symbol.iterator){return s()[t]}},set(e,t,r){var n=null;if("string"===typeof r){n=encodeURIComponent(r);n+=";samesite=lax"}else{n=encodeURIComponent(r.value);if(r.expires){n+=";expires="+r.maxAge}if(r.maxAge){n+=";max-age="+r.maxAge}if(r.partitioned){n+=";partitioned="+r.partitioned}if(r.path){n+=";path="+r.path}if(r.samesite){n+=";samesite="+r.path}if(r.secure){n+=";secure="+r.path}}document.cookie=t+"="+n;return true}});class f{constructor(t,r,n,i,a){this.meta={parser:a.parser,lexer:a.lexer,runtime:a,owner:t,feature:r,iterators:{},ctx:this};this.locals={cookies:c};this.me=n,this.you=undefined;this.result=undefined;this.event=i;this.target=i?i.target:null;this.detail=i?i.detail:null;this.sender=i?i.detail?i.detail.sender:null:null;this.body="document"in e?document.body:null;a.addFeatures(t,this)}}class m{constructor(e,t,r){this._css=e;this.relativeToElement=t;this.escape=r;this[p]=true}get css(){if(this.escape){return o.prototype.escapeSelector(this._css)}else{return this._css}}get className(){return this._css.substr(1)}get id(){return this.className()}contains(e){for(let t of this){if(t.contains(e)){return true}}return false}get length(){return this.selectMatches().length}[Symbol.iterator](){let e=this.selectMatches();return e[Symbol.iterator]()}selectMatches(){let e=o.prototype.getRootNode(this.relativeToElement).querySelectorAll(this.css);return e}}const p=Symbol();function h(e,t){var r=e[t];if(r){return r}else{var n={};e[t]=n;return n}}function v(e){try{return JSON.parse(e)}catch(e){d(e);return null}}function d(e){if(console.error){console.error(e)}else if(console.log){console.log("ERROR: ",e)}}function E(e,t){return new(e.bind.apply(e,[e].concat(t)))}function T(t){t.addLeafExpression("parenthesized",(function(e,t,r){if(r.matchOpToken("(")){var n=r.clearFollows();try{var i=e.requireElement("expression",r)}finally{r.restoreFollows(n)}r.requireOpToken(")");return i}}));t.addLeafExpression("string",(function(e,t,r){var i=r.matchTokenType("STRING");if(!i)return;var a=i.value;var o;if(i.template){var s=n.tokenize(a,true);o=e.parseStringTemplate(s)}else{o=[]}return{type:"string",token:i,args:o,op:function(e){var t="";for(var r=1;re instanceof Element))}get css(){let e="",t=0;for(const r of this.templateParts){if(r instanceof Element){e+="[data-hs-query-id='"+t+++"']"}else e+=r}return e}[Symbol.iterator](){this.elements.forEach(((e,t)=>e.dataset.hsQueryId=t));const e=super[Symbol.iterator]();this.elements.forEach((e=>e.removeAttribute("data-hs-query-id")));return e}}t.addLeafExpression("queryRef",(function(e,t,i){var a=i.matchOpToken("<");if(!a)return;var o=i.consumeUntil("/");i.requireOpToken("/");i.requireOpToken(">");var s=o.map((function(e){if(e.type==="STRING"){return'"'+e.value+'"'}else{return e.value}})).join("");var u,l,c;if(/\$[^=]/.test(s)){u=true;l=n.tokenize(s,true);c=e.parseStringTemplate(l)}return{type:"queryRef",css:s,args:c,op:function(e,...t){if(u){return new r(s,e.me,t)}else{return new m(s,e.me)}},evaluate:function(e){return t.unifiedEval(this,e)}}}));t.addLeafExpression("attributeRef",(function(e,t,r){var n=r.matchTokenType("ATTRIBUTE_REF");if(!n)return;if(!n.value)return;var i=n.value;if(i.indexOf("[")===0){var a=i.substring(2,i.length-1)}else{var a=i.substring(1)}var o="["+a+"]";var s=a.split("=");var u=s[0];var l=s[1];if(l){if(l.indexOf('"')===0){l=l.substring(1,l.length-1)}}return{type:"attributeRef",name:u,css:o,value:l,op:function(e){var t=e.you||e.me;if(t){return t.getAttribute(u)}},evaluate:function(e){return t.unifiedEval(this,e)}}}));t.addLeafExpression("styleRef",(function(e,t,r){var n=r.matchTokenType("STYLE_REF");if(!n)return;if(!n.value)return;var i=n.value.substr(1);if(i.startsWith("computed-")){i=i.substr("computed-".length);return{type:"computedStyleRef",name:i,op:function(e){var r=e.you||e.me;if(r){return t.resolveComputedStyle(r,i)}},evaluate:function(e){return t.unifiedEval(this,e)}}}else{return{type:"styleRef",name:i,op:function(e){var r=e.you||e.me;if(r){return t.resolveStyle(r,i)}},evaluate:function(e){return t.unifiedEval(this,e)}}}}));t.addGrammarElement("objectKey",(function(e,t,r){var n;if(n=r.matchTokenType("STRING")){return{type:"objectKey",key:n.value,evaluate:function(){return n.value}}}else if(r.matchOpToken("[")){var i=e.parseElement("expression",r);r.requireOpToken("]");return{type:"objectKey",expr:i,args:[i],op:function(e,t){return t},evaluate:function(e){return t.unifiedEval(this,e)}}}else{var a="";do{n=r.matchTokenType("IDENTIFIER")||r.matchOpToken("-");if(n)a+=n.value}while(n);return{type:"objectKey",key:a,evaluate:function(){return a}}}}));t.addLeafExpression("objectLiteral",(function(e,t,r){if(!r.matchOpToken("{"))return;var n=[];var i=[];if(!r.matchOpToken("}")){do{var a=e.requireElement("objectKey",r);r.requireOpToken(":");var o=e.requireElement("expression",r);i.push(o);n.push(a)}while(r.matchOpToken(",")&&!r.peekToken("}",0,"R_BRACE"));r.requireOpToken("}")}return{type:"objectLiteral",args:[n,i],op:function(e,t,r){var n={};for(var i=0;i");var a=e.requireElement("expression",r);return{type:"blockLiteral",args:n,expr:a,evaluate:function(e){var t=function(){for(var t=0;t=0;a--){var o=i[a];if(o.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_FOLLOWING){return o}}if(n){return i[i.length-1]}};var l=function(e,t,r,n){var i=[];o.prototype.forEach(t,(function(t){if(t.matches(r)||t===e){i.push(t)}}));for(var a=0;a","<=",">=","==","===","!=","!==");var a=i?i.value:null;var o=true;var s=false;if(a==null){if(r.matchToken("is")||r.matchToken("am")){if(r.matchToken("not")){if(r.matchToken("in")){a="not in"}else if(r.matchToken("a")||r.matchToken("an")){a="not a";s=true}else if(r.matchToken("empty")){a="not empty";o=false}else{if(r.matchToken("really")){a="!=="}else{a="!="}if(r.matchToken("equal")){r.matchToken("to")}}}else if(r.matchToken("in")){a="in"}else if(r.matchToken("a")||r.matchToken("an")){a="a";s=true}else if(r.matchToken("empty")){a="empty";o=false}else if(r.matchToken("less")){r.requireToken("than");if(r.matchToken("or")){r.requireToken("equal");r.requireToken("to");a="<="}else{a="<"}}else if(r.matchToken("greater")){r.requireToken("than");if(r.matchToken("or")){r.requireToken("equal");r.requireToken("to");a=">="}else{a=">"}}else{if(r.matchToken("really")){a="==="}else{a="=="}if(r.matchToken("equal")){r.matchToken("to")}}}else if(r.matchToken("equals")){a="=="}else if(r.matchToken("really")){r.requireToken("equals");a="==="}else if(r.matchToken("exist")||r.matchToken("exists")){a="exist";o=false}else if(r.matchToken("matches")||r.matchToken("match")){a="match"}else if(r.matchToken("contains")||r.matchToken("contain")){a="contain"}else if(r.matchToken("includes")||r.matchToken("include")){a="include"}else if(r.matchToken("do")||r.matchToken("does")){r.requireToken("not");if(r.matchToken("matches")||r.matchToken("match")){a="not match"}else if(r.matchToken("contains")||r.matchToken("contain")){a="not contain"}else if(r.matchToken("exist")||r.matchToken("exist")){a="not exist";o=false}else if(r.matchToken("include")){a="not include"}else{e.raiseParseError(r,"Expected matches or contains")}}}if(a){var u,l,c;if(s){u=r.requireTokenType("IDENTIFIER");l=!r.matchOpToken("!")}else if(o){c=e.requireElement("mathExpression",r);if(a==="match"||a==="not match"){c=c.css?c.css:c}}var m=n;n={type:"comparisonOperator",operator:a,typeName:u,nullOk:l,lhs:n,rhs:c,args:[n,c],op:function(e,r,n){if(a==="=="){return r==n}else if(a==="!="){return r!=n}if(a==="==="){return r===n}else if(a==="!=="){return r!==n}if(a==="match"){return r!=null&&p(m,r,n)}if(a==="not match"){return r==null||!p(m,r,n)}if(a==="in"){return n!=null&&f(c,n,r)}if(a==="not in"){return n==null||!f(c,n,r)}if(a==="contain"){return r!=null&&f(m,r,n)}if(a==="not contain"){return r==null||!f(m,r,n)}if(a==="include"){return r!=null&&f(m,r,n)}if(a==="not include"){return r==null||!f(m,r,n)}if(a==="==="){return r===n}else if(a==="!=="){return r!==n}else if(a==="<"){return r"){return r>n}else if(a==="<="){return r<=n}else if(a===">="){return r>=n}else if(a==="empty"){return t.isEmpty(r)}else if(a==="not empty"){return!t.isEmpty(r)}else if(a==="exist"){return t.doesExist(r)}else if(a==="not exist"){return!t.doesExist(r)}else if(a==="a"){return t.typeCheck(r,u.value,l)}else if(a==="not a"){return!t.typeCheck(r,u.value,l)}else{throw"Unknown comparison : "+a}},evaluate:function(e){return t.unifiedEval(this,e)}}}return n}));t.addGrammarElement("comparisonExpression",(function(e,t,r){return e.parseAnyOf(["comparisonOperator","mathExpression"],r)}));t.addGrammarElement("logicalOperator",(function(e,t,r){var n=e.parseElement("comparisonExpression",r);var i,a=null;i=r.matchToken("and")||r.matchToken("or");while(i){a=a||i;if(a.value!==i.value){e.raiseParseError(r,"You must parenthesize logical operations with different operators")}var o=e.requireElement("comparisonExpression",r);const s=i.value;n={type:"logicalOperator",operator:s,lhs:n,rhs:o,args:[n,o],op:function(e,t,r){if(s==="and"){return t&&r}else{return t||r}},evaluate:function(e){return t.unifiedEval(this,e,s==="or")}};i=r.matchToken("and")||r.matchToken("or")}return n}));t.addGrammarElement("logicalExpression",(function(e,t,r){return e.parseAnyOf(["logicalOperator","mathExpression"],r)}));t.addGrammarElement("asyncExpression",(function(e,t,r){if(r.matchToken("async")){var n=e.requireElement("logicalExpression",r);var i={type:"asyncExpression",value:n,evaluate:function(e){return{asyncWrapper:true,value:this.value.evaluate(e)}}};return i}else{return e.parseElement("logicalExpression",r)}}));t.addGrammarElement("expression",(function(e,t,r){r.matchToken("the");return e.parseElement("asyncExpression",r)}));t.addGrammarElement("assignableExpression",(function(e,t,r){r.matchToken("the");var n=e.parseElement("primaryExpression",r);if(n&&(n.type==="symbol"||n.type==="ofExpression"||n.type==="propertyAccess"||n.type==="attributeRefAccess"||n.type==="attributeRef"||n.type==="styleRef"||n.type==="arrayIndex"||n.type==="possessive")){return n}else{e.raiseParseError(r,"A target expression must be writable. The expression type '"+(n&&n.type)+"' is not.")}return n}));t.addGrammarElement("hyperscript",(function(e,t,r){var n=[];if(r.hasMore()){while(e.featureStart(r.currentToken())||r.currentToken().value==="("){var i=e.requireElement("feature",r);n.push(i);r.matchToken("end")}}return{type:"hyperscript",features:n,apply:function(e,t,r){for(const i of n){i.install(e,t,r)}}}}));var v=function(e){var t=[];if(e.token(0).value==="("&&(e.token(1).value===")"||e.token(2).value===","||e.token(2).value===")")){e.matchOpToken("(");do{t.push(e.requireTokenType("IDENTIFIER"))}while(e.matchOpToken(","));e.requireOpToken(")")}return t};t.addFeature("on",(function(e,t,r){if(!r.matchToken("on"))return;var n=false;if(r.matchToken("every")){n=true}var i=[];var a=null;do{var o=e.requireElement("eventName",r,"Expected event name");var s=o.evaluate();if(a){a=a+" or "+s}else{a="on "+s}var u=v(r);var l=null;if(r.matchOpToken("[")){l=e.requireElement("expression",r);r.requireOpToken("]")}var c,f,m;if(r.currentToken().type==="NUMBER"){var p=r.consumeToken();if(!p.value)return;c=parseInt(p.value);if(r.matchToken("to")){var h=r.consumeToken();if(!h.value)return;f=parseInt(h.value)}else if(r.matchToken("and")){m=true;r.requireToken("on")}}var d,E;if(s==="intersection"){d={};if(r.matchToken("with")){d["with"]=e.requireElement("expression",r).evaluate()}if(r.matchToken("having")){do{if(r.matchToken("margin")){d["rootMargin"]=e.requireElement("stringLike",r).evaluate()}else if(r.matchToken("threshold")){d["threshold"]=e.requireElement("expression",r).evaluate()}else{e.raiseParseError(r,"Unknown intersection config specification")}}while(r.matchToken("and"))}}else if(s==="mutation"){E={};if(r.matchToken("of")){do{if(r.matchToken("anything")){E["attributes"]=true;E["subtree"]=true;E["characterData"]=true;E["childList"]=true}else if(r.matchToken("childList")){E["childList"]=true}else if(r.matchToken("attributes")){E["attributes"]=true;E["attributeOldValue"]=true}else if(r.matchToken("subtree")){E["subtree"]=true}else if(r.matchToken("characterData")){E["characterData"]=true;E["characterDataOldValue"]=true}else if(r.currentToken().type==="ATTRIBUTE_REF"){var T=r.consumeToken();if(E["attributeFilter"]==null){E["attributeFilter"]=[]}if(T.value.indexOf("@")==0){E["attributeFilter"].push(T.value.substring(1))}else{e.raiseParseError(r,"Only shorthand attribute references are allowed here")}}else{e.raiseParseError(r,"Unknown mutation config specification")}}while(r.matchToken("or"))}else{E["attributes"]=true;E["characterData"]=true;E["childList"]=true}}var y=null;var k=false;if(r.matchToken("from")){if(r.matchToken("elsewhere")){k=true}else{r.pushFollow("or");try{y=e.requireElement("expression",r)}finally{r.popFollow()}if(!y){e.raiseParseError(r,'Expected either target value or "elsewhere".')}}}if(y===null&&k===false&&r.matchToken("elsewhere")){k=true}if(r.matchToken("in")){var x=e.parseElement("unaryExpression",r)}if(r.matchToken("debounced")){r.requireToken("at");var g=e.requireElement("unaryExpression",r);var b=g.evaluate({})}else if(r.matchToken("throttled")){r.requireToken("at");var g=e.requireElement("unaryExpression",r);var w=g.evaluate({})}i.push({execCount:0,every:n,on:s,args:u,filter:l,from:y,inExpr:x,elsewhere:k,startCount:c,endCount:f,unbounded:m,debounceTime:b,throttleTime:w,mutationSpec:E,intersectionSpec:d,debounced:undefined,lastExec:undefined})}while(r.matchToken("or"));var S=true;if(!n){if(r.matchToken("queue")){if(r.matchToken("all")){var N=true;var S=false}else if(r.matchToken("first")){var q=true}else if(r.matchToken("none")){var I=true}else{r.requireToken("last")}}}var C=e.requireElement("commandList",r);e.ensureTerminated(C);var R,A;if(r.matchToken("catch")){R=r.requireTokenType("IDENTIFIER").value;A=e.requireElement("commandList",r);e.ensureTerminated(A)}if(r.matchToken("finally")){var L=e.requireElement("commandList",r);e.ensureTerminated(L)}var O={displayName:a,events:i,start:C,every:n,execCount:0,errorHandler:A,errorSymbol:R,execute:function(e){let r=t.getEventQueueFor(e.me,O);if(r.executing&&n===false){if(I||q&&r.queue.length>0){return}if(S){r.queue.length=0}r.queue.push(e);return}O.execCount++;r.executing=true;e.meta.onHalt=function(){r.executing=false;var e=r.queue.shift();if(e){setTimeout((function(){O.execute(e)}),1)}};e.meta.reject=function(r){console.error(r.message?r.message:r);var n=t.getHyperTrace(e,r);if(n){n.print()}t.triggerEvent(e.me,"exception",{error:r})};C.execute(e)},install:function(e,r){for(const r of O.events){var n;if(r.elsewhere){n=[document]}else if(r.from){n=r.from.evaluate(t.makeContext(e,O,e,null))}else{n=[e]}t.implicitLoop(n,(function(n){var i=r.on;if(n==null){console.warn("'%s' feature ignored because target does not exists:",a,e);return}if(r.mutationSpec){i="hyperscript:mutation";const e=new MutationObserver((function(e,r){if(!O.executing){t.triggerEvent(n,i,{mutationList:e,observer:r})}}));e.observe(n,r.mutationSpec)}if(r.intersectionSpec){i="hyperscript:intersection";const e=new IntersectionObserver((function(r){for(const o of r){var a={observer:e};a=Object.assign(a,o);a["intersecting"]=o.isIntersecting;t.triggerEvent(n,i,a)}}),r.intersectionSpec);e.observe(n)}var o=n.addEventListener||n.on;o.call(n,i,(function a(o){if(typeof Node!=="undefined"&&e instanceof Node&&n!==e&&!e.isConnected){n.removeEventListener(i,a);return}var s=t.makeContext(e,O,e,o);if(r.elsewhere&&e.contains(o.target)){return}if(r.from){s.result=n}for(const e of r.args){let t=s.event[e.value];if(t!==undefined){s.locals[e.value]=t}else if("detail"in s.event){s.locals[e.value]=s.event["detail"][e.value]}}s.meta.errorHandler=A;s.meta.errorSymbol=R;s.meta.finallyHandler=L;if(r.filter){var u=s.meta.context;s.meta.context=s.event;try{var l=r.filter.evaluate(s);if(l){}else{return}}finally{s.meta.context=u}}if(r.inExpr){var c=o.target;while(true){if(c.matches&&c.matches(r.inExpr.css)){s.result=c;break}else{c=c.parentElement;if(c==null){return}}}}r.execCount++;if(r.startCount){if(r.endCount){if(r.execCountr.endCount){return}}else if(r.unbounded){if(r.execCount{var a=false;for(const s of i){var o=n=>{e.result=n;if(s.args){for(const t of s.args){e.locals[t.value]=n[t.value]||(n.detail?n.detail[t.value]:null)}}if(!a){a=true;r(t.findNext(this,e))}};if(s.name){n.addEventListener(s.name,o,{once:true})}else if(s.time!=null){setTimeout(o,s.time,s.time)}}}))}};return n}else{var s;if(r.matchToken("a")){r.requireToken("tick");s=0}else{s=e.requireElement("expression",r)}n={type:"waitCmd",time:s,args:[s],op:function(e,r){return new Promise((n=>{setTimeout((()=>{n(t.findNext(this,e))}),r)}))},execute:function(e){return t.unifiedExec(this,e)}};return n}}));t.addGrammarElement("dotOrColonPath",(function(e,t,r){var n=r.matchTokenType("IDENTIFIER");if(n){var i=[n.value];var a=r.matchOpToken(".")||r.matchOpToken(":");if(a){do{i.push(r.requireTokenType("IDENTIFIER","NUMBER").value)}while(r.matchOpToken(a.value))}return{type:"dotOrColonPath",path:i,evaluate:function(){return i.join(a?a.value:"")}}}}));t.addGrammarElement("eventName",(function(e,t,r){var n;if(n=r.matchTokenType("STRING")){return{evaluate:function(){return n.value}}}return e.parseElement("dotOrColonPath",r)}));function d(e,t,r,n){var i=t.requireElement("eventName",n);var a=t.parseElement("namedArgumentList",n);if(e==="send"&&n.matchToken("to")||e==="trigger"&&n.matchToken("on")){var o=t.requireElement("expression",n)}else{var o=t.requireElement("implicitMeTarget",n)}var s={eventName:i,details:a,to:o,args:[o,i,a],op:function(e,t,n,i){r.nullCheck(t,o);r.implicitLoop(t,(function(t){r.triggerEvent(t,n,i,e.me)}));return r.findNext(s,e)}};return s}t.addCommand("trigger",(function(e,t,r){if(r.matchToken("trigger")){return d("trigger",e,t,r)}}));t.addCommand("send",(function(e,t,r){if(r.matchToken("send")){return d("send",e,t,r)}}));var T=function(e,t,r,n){if(n){if(e.commandBoundary(r.currentToken())){e.raiseParseError(r,"'return' commands must return a value. If you do not wish to return a value, use 'exit' instead.")}else{var i=e.requireElement("expression",r)}}var a={value:i,args:[i],op:function(e,r){var n=e.meta.resolve;e.meta.returned=true;e.meta.returnValue=r;if(n){if(r){n(r)}else{n()}}return t.HALT}};return a};t.addCommand("return",(function(e,t,r){if(r.matchToken("return")){return T(e,t,r,true)}}));t.addCommand("exit",(function(e,t,r){if(r.matchToken("exit")){return T(e,t,r,false)}}));t.addCommand("halt",(function(e,t,r){if(r.matchToken("halt")){if(r.matchToken("the")){r.requireToken("event");if(r.matchOpToken("'")){r.requireToken("s")}var n=true}if(r.matchToken("bubbling")){var i=true}else if(r.matchToken("default")){var a=true}var o=T(e,t,r,false);var s={keepExecuting:true,bubbling:i,haltDefault:a,exit:o,op:function(e){if(e.event){if(i){e.event.stopPropagation()}else if(a){e.event.preventDefault()}else{e.event.stopPropagation();e.event.preventDefault()}if(n){return t.findNext(this,e)}else{return o}}}};return s}}));t.addCommand("log",(function(e,t,r){if(!r.matchToken("log"))return;var n=[e.parseElement("expression",r)];while(r.matchOpToken(",")){n.push(e.requireElement("expression",r))}if(r.matchToken("with")){var i=e.requireElement("expression",r)}var a={exprs:n,withExpr:i,args:[i,n],op:function(e,r,n){if(r){r.apply(null,n)}else{console.log.apply(null,n)}return t.findNext(this,e)}};return a}));t.addCommand("beep!",(function(e,t,r){if(!r.matchToken("beep!"))return;var n=[e.parseElement("expression",r)];while(r.matchOpToken(",")){n.push(e.requireElement("expression",r))}var i={exprs:n,args:[n],op:function(e,r){for(let i=0;i{if(!r.matchToken("pick"))return;r.matchToken("the");if(r.matchToken("item")||r.matchToken("items")||r.matchToken("character")||r.matchToken("characters")){const n=g(e,t,r);r.requireToken("from");const i=e.requireElement("expression",r);return{args:[i,n.from,n.to],op(e,r,i,a){if(n.toEnd)a=r.length;if(!n.includeStart)i++;if(n.includeEnd)a++;if(a==null||a==undefined)a=i+1;e.result=r.slice(i,a);return t.findNext(this,e)}}}if(r.matchToken("match")){r.matchToken("of");const n=e.parseElement("expression",r);let i="";if(r.matchOpToken("|")){i=r.requireTokenType("IDENTIFIER").value}r.requireToken("from");const a=e.parseElement("expression",r);return{args:[a,n],op(e,r,n){e.result=new RegExp(n,i).exec(r);return t.findNext(this,e)}}}if(r.matchToken("matches")){r.matchToken("of");const n=e.parseElement("expression",r);let i="gu";if(r.matchOpToken("|")){i="g"+r.requireTokenType("IDENTIFIER").value.replace("g","")}r.requireToken("from");const a=e.parseElement("expression",r);return{args:[a,n],op(e,r,n){e.result=new w(n,i,r);return t.findNext(this,e)}}}}));t.addCommand("increment",(function(e,t,r){if(!r.matchToken("increment"))return;var n;var i=e.parseElement("assignableExpression",r);if(r.matchToken("by")){n=e.requireElement("expression",r)}var a={type:"implicitIncrementOp",target:i,args:[i,n],op:function(e,t,r){t=t?parseFloat(t):0;r=n?parseFloat(r):1;var i=t+r;e.result=i;return i},evaluate:function(e){return t.unifiedEval(this,e)}};return k(e,t,r,i,a)}));t.addCommand("decrement",(function(e,t,r){if(!r.matchToken("decrement"))return;var n;var i=e.parseElement("assignableExpression",r);if(r.matchToken("by")){n=e.requireElement("expression",r)}var a={type:"implicitDecrementOp",target:i,args:[i,n],op:function(e,t,r){t=t?parseFloat(t):0;r=n?parseFloat(r):1;var i=t-r;e.result=i;return i},evaluate:function(e){return t.unifiedEval(this,e)}};return k(e,t,r,i,a)}));function S(e,t){var r="text";var n;e.matchToken("a")||e.matchToken("an");if(e.matchToken("json")||e.matchToken("Object")){r="json"}else if(e.matchToken("response")){r="response"}else if(e.matchToken("html")){r="html"}else if(e.matchToken("text")){}else{n=t.requireElement("dotOrColonPath",e).evaluate()}return{type:r,conversion:n}}t.addCommand("fetch",(function(e,t,r){if(!r.matchToken("fetch"))return;var n=e.requireElement("stringLike",r);if(r.matchToken("as")){var i=S(r,e)}if(r.matchToken("with")&&r.currentToken().value!=="{"){var a=e.parseElement("nakedNamedArgumentList",r)}else{var a=e.parseElement("objectLiteral",r)}if(i==null&&r.matchToken("as")){i=S(r,e)}var o=i?i.type:"text";var s=i?i.conversion:null;var u={url:n,argExpressions:a,args:[n,a],op:function(e,r,n){var i=n||{};i["sender"]=e.me;i["headers"]=i["headers"]||{};var a=new AbortController;let l=e.me.addEventListener("fetch:abort",(function(){a.abort()}),{once:true});i["signal"]=a.signal;t.triggerEvent(e.me,"hyperscript:beforeFetch",i);t.triggerEvent(e.me,"fetch:beforeRequest",i);n=i;var c=false;if(n.timeout){setTimeout((function(){if(!c){a.abort()}}),n.timeout)}return fetch(r,n).then((function(r){let n={response:r};t.triggerEvent(e.me,"fetch:afterResponse",n);r=n.response;if(o==="response"){e.result=r;t.triggerEvent(e.me,"fetch:afterRequest",{result:r});c=true;return t.findNext(u,e)}if(o==="json"){return r.json().then((function(r){e.result=r;t.triggerEvent(e.me,"fetch:afterRequest",{result:r});c=true;return t.findNext(u,e)}))}return r.text().then((function(r){if(s)r=t.convertValue(r,s);if(o==="html")r=t.convertValue(r,"Fragment");e.result=r;t.triggerEvent(e.me,"fetch:afterRequest",{result:r});c=true;return t.findNext(u,e)}))})).catch((function(r){t.triggerEvent(e.me,"fetch:error",{reason:r});throw r})).finally((function(){e.me.removeEventListener("fetch:abort",l)}))}};return u}))}function y(e){e.addCommand("settle",(function(e,t,r){if(r.matchToken("settle")){if(!e.commandBoundary(r.currentToken())){var n=e.requireElement("expression",r)}else{var n=e.requireElement("implicitMeTarget",r)}var i={type:"settleCmd",args:[n],op:function(e,r){t.nullCheck(r,n);var a=null;var o=false;var s=false;var u=new Promise((function(e){a=e}));r.addEventListener("transitionstart",(function(){s=true}),{once:true});setTimeout((function(){if(!s&&!o){a(t.findNext(i,e))}}),500);r.addEventListener("transitionend",(function(){if(!o){a(t.findNext(i,e))}}),{once:true});return u},execute:function(e){return t.unifiedExec(this,e)}};return i}}));e.addCommand("add",(function(e,t,r){if(r.matchToken("add")){var n=e.parseElement("classRef",r);var i=null;var a=null;if(n==null){i=e.parseElement("attributeRef",r);if(i==null){a=e.parseElement("styleLiteral",r);if(a==null){e.raiseParseError(r,"Expected either a class reference or attribute expression")}}}else{var o=[n];while(n=e.parseElement("classRef",r)){o.push(n)}}if(r.matchToken("to")){var s=e.requireElement("expression",r)}else{var s=e.requireElement("implicitMeTarget",r)}if(r.matchToken("when")){if(a){e.raiseParseError(r,"Only class and properties are supported with a when clause")}var u=e.requireElement("expression",r)}if(o){return{classRefs:o,to:s,args:[s,o],op:function(e,r,n){t.nullCheck(r,s);t.forEach(n,(function(n){t.implicitLoop(r,(function(r){if(u){e.result=r;let i=t.evaluateNoPromise(u,e);if(i){if(r instanceof Element)r.classList.add(n.className)}else{if(r instanceof Element)r.classList.remove(n.className)}e.result=null}else{if(r instanceof Element)r.classList.add(n.className)}}))}));return t.findNext(this,e)}}}else if(i){return{type:"addCmd",attributeRef:i,to:s,args:[s],op:function(e,r,n){t.nullCheck(r,s);t.implicitLoop(r,(function(r){if(u){e.result=r;let n=t.evaluateNoPromise(u,e);if(n){r.setAttribute(i.name,i.value)}else{r.removeAttribute(i.name)}e.result=null}else{r.setAttribute(i.name,i.value)}}));return t.findNext(this,e)},execute:function(e){return t.unifiedExec(this,e)}}}else{return{type:"addCmd",cssDeclaration:a,to:s,args:[s,a],op:function(e,r,n){t.nullCheck(r,s);t.implicitLoop(r,(function(e){e.style.cssText+=n}));return t.findNext(this,e)},execute:function(e){return t.unifiedExec(this,e)}}}}}));e.addGrammarElement("styleLiteral",(function(e,t,r){if(!r.matchOpToken("{"))return;var n=[""];var i=[];while(r.hasMore()){if(r.matchOpToken("\\")){r.consumeToken()}else if(r.matchOpToken("}")){break}else if(r.matchToken("$")){var a=r.matchOpToken("{");var o=e.parseElement("expression",r);if(a)r.requireOpToken("}");i.push(o);n.push("")}else{var s=r.consumeToken();n[n.length-1]+=r.source.substring(s.start,s.end)}n[n.length-1]+=r.lastWhitespace()}return{type:"styleLiteral",args:[i],op:function(e,t){var r="";n.forEach((function(e,n){r+=e;if(n in t)r+=t[n]}));return r},evaluate:function(e){return t.unifiedEval(this,e)}}}));e.addCommand("remove",(function(e,t,r){if(r.matchToken("remove")){var n=e.parseElement("classRef",r);var i=null;var a=null;if(n==null){i=e.parseElement("attributeRef",r);if(i==null){a=e.parseElement("expression",r);if(a==null){e.raiseParseError(r,"Expected either a class reference, attribute expression or value expression")}}}else{var o=[n];while(n=e.parseElement("classRef",r)){o.push(n)}}if(r.matchToken("from")){var s=e.requireElement("expression",r)}else{if(a==null){var s=e.requireElement("implicitMeTarget",r)}}if(a){return{elementExpr:a,from:s,args:[a,s],op:function(e,r,n){t.nullCheck(r,a);t.implicitLoop(r,(function(e){if(e.parentElement&&(n==null||n.contains(e))){e.parentElement.removeChild(e)}}));return t.findNext(this,e)}}}else{return{classRefs:o,attributeRef:i,elementExpr:a,from:s,args:[o,s],op:function(e,r,n){t.nullCheck(n,s);if(r){t.forEach(r,(function(e){t.implicitLoop(n,(function(t){t.classList.remove(e.className)}))}))}else{t.implicitLoop(n,(function(e){e.removeAttribute(i.name)}))}return t.findNext(this,e)}}}}}));e.addCommand("toggle",(function(e,t,r){if(r.matchToken("toggle")){r.matchAnyToken("the","my");if(r.currentToken().type==="STYLE_REF"){let t=r.consumeToken();var n=t.value.substr(1);var a=true;var o=i(e,r,n);if(r.matchToken("of")){r.pushFollow("with");try{var s=e.requireElement("expression",r)}finally{r.popFollow()}}else{var s=e.requireElement("implicitMeTarget",r)}}else if(r.matchToken("between")){var u=true;var l=e.parseElement("classRef",r);r.requireToken("and");var c=e.requireElement("classRef",r)}else{var l=e.parseElement("classRef",r);var f=null;if(l==null){f=e.parseElement("attributeRef",r);if(f==null){e.raiseParseError(r,"Expected either a class reference or attribute expression")}}else{var m=[l];while(l=e.parseElement("classRef",r)){m.push(l)}}}if(a!==true){if(r.matchToken("on")){var s=e.requireElement("expression",r)}else{var s=e.requireElement("implicitMeTarget",r)}}if(r.matchToken("for")){var p=e.requireElement("expression",r)}else if(r.matchToken("until")){var h=e.requireElement("dotOrColonPath",r,"Expected event name");if(r.matchToken("from")){var v=e.requireElement("expression",r)}}var d={classRef:l,classRef2:c,classRefs:m,attributeRef:f,on:s,time:p,evt:h,from:v,toggle:function(e,r,n,i){t.nullCheck(e,s);if(a){t.implicitLoop(e,(function(e){o("toggle",e)}))}else if(u){t.implicitLoop(e,(function(e){if(e.classList.contains(r.className)){e.classList.remove(r.className);e.classList.add(n.className)}else{e.classList.add(r.className);e.classList.remove(n.className)}}))}else if(i){t.forEach(i,(function(r){t.implicitLoop(e,(function(e){e.classList.toggle(r.className)}))}))}else{t.implicitLoop(e,(function(e){if(e.hasAttribute(f.name)){e.removeAttribute(f.name)}else{e.setAttribute(f.name,f.value)}}))}},args:[s,p,h,v,l,c,m],op:function(e,r,n,i,a,o,s,u){if(n){return new Promise((function(i){d.toggle(r,o,s,u);setTimeout((function(){d.toggle(r,o,s,u);i(t.findNext(d,e))}),n)}))}else if(i){return new Promise((function(n){var l=a||e.me;l.addEventListener(i,(function(){d.toggle(r,o,s,u);n(t.findNext(d,e))}),{once:true});d.toggle(r,o,s,u)}))}else{this.toggle(r,o,s,u);return t.findNext(d,e)}}};return d}}));var t={display:function(r,n,i){if(i){n.style.display=i}else if(r==="toggle"){if(getComputedStyle(n).display==="none"){t.display("show",n,i)}else{t.display("hide",n,i)}}else if(r==="hide"){const t=e.runtime.getInternalData(n);if(t.originalDisplay==null){t.originalDisplay=n.style.display}n.style.display="none"}else{const t=e.runtime.getInternalData(n);if(t.originalDisplay&&t.originalDisplay!=="none"){n.style.display=t.originalDisplay}else{n.style.removeProperty("display")}}},visibility:function(e,r,n){if(n){r.style.visibility=n}else if(e==="toggle"){if(getComputedStyle(r).visibility==="hidden"){t.visibility("show",r,n)}else{t.visibility("hide",r,n)}}else if(e==="hide"){r.style.visibility="hidden"}else{r.style.visibility="visible"}},opacity:function(e,r,n){if(n){r.style.opacity=n}else if(e==="toggle"){if(getComputedStyle(r).opacity==="0"){t.opacity("show",r,n)}else{t.opacity("hide",r,n)}}else if(e==="hide"){r.style.opacity="0"}else{r.style.opacity="1"}}};var n=function(e,t,r){var n;var i=r.currentToken();if(i.value==="when"||i.value==="with"||e.commandBoundary(i)){n=e.parseElement("implicitMeTarget",r)}else{n=e.parseElement("expression",r)}return n};var i=function(e,n,i){var a=r.defaultHideShowStrategy;var o=t;if(r.hideShowStrategies){o=Object.assign(o,r.hideShowStrategies)}i=i||a||"display";var s=o[i];if(s==null){e.raiseParseError(n,"Unknown show/hide strategy : "+i)}return s};e.addCommand("hide",(function(e,t,r){if(r.matchToken("hide")){var a=n(e,t,r);var o=null;if(r.matchToken("with")){o=r.requireTokenType("IDENTIFIER","STYLE_REF").value;if(o.indexOf("*")===0){o=o.substr(1)}}var s=i(e,r,o);return{target:a,args:[a],op:function(e,r){t.nullCheck(r,a);t.implicitLoop(r,(function(e){s("hide",e)}));return t.findNext(this,e)}}}}));e.addCommand("show",(function(e,t,r){if(r.matchToken("show")){var a=n(e,t,r);var o=null;if(r.matchToken("with")){o=r.requireTokenType("IDENTIFIER","STYLE_REF").value;if(o.indexOf("*")===0){o=o.substr(1)}}var s=null;if(r.matchOpToken(":")){var u=r.consumeUntilWhitespace();r.matchTokenType("WHITESPACE");s=u.map((function(e){return e.value})).join("")}if(r.matchToken("when")){var l=e.requireElement("expression",r)}var c=i(e,r,o);return{target:a,when:l,args:[a],op:function(e,r){t.nullCheck(r,a);t.implicitLoop(r,(function(r){if(l){e.result=r;let n=t.evaluateNoPromise(l,e);if(n){c("show",r,s)}else{c("hide",r)}e.result=null}else{c("show",r,s)}}));return t.findNext(this,e)}}}}));e.addCommand("take",(function(e,t,r){if(r.matchToken("take")){let u=null;let l=[];while(u=e.parseElement("classRef",r)){l.push(u)}var n=null;var i=null;let c=l.length>0;if(!c){n=e.parseElement("attributeRef",r);if(n==null){e.raiseParseError(r,"Expected either a class reference or attribute expression")}if(r.matchToken("with")){i=e.requireElement("expression",r)}}if(r.matchToken("from")){var a=e.requireElement("expression",r)}if(r.matchToken("for")){var o=e.requireElement("expression",r)}else{var o=e.requireElement("implicitMeTarget",r)}if(c){var s={classRefs:l,from:a,forElt:o,args:[l,a,o],op:function(e,r,n,i){t.nullCheck(i,o);t.implicitLoop(r,(function(e){var r=e.className;if(n){t.implicitLoop(n,(function(e){e.classList.remove(r)}))}else{t.implicitLoop(e,(function(e){e.classList.remove(r)}))}t.implicitLoop(i,(function(e){e.classList.add(r)}))}));return t.findNext(this,e)}};return s}else{var s={attributeRef:n,from:a,forElt:o,args:[a,o,i],op:function(e,r,i,s){t.nullCheck(r,a);t.nullCheck(i,o);t.implicitLoop(r,(function(e){if(!s){e.removeAttribute(n.name)}else{e.setAttribute(n.name,s)}}));t.implicitLoop(i,(function(e){e.setAttribute(n.name,n.value||"")}));return t.findNext(this,e)}};return s}}}));function a(t,r,n,i){if(n!=null){var a=t.resolveSymbol(n,r)}else{var a=r}if(a instanceof Element||a instanceof HTMLDocument){while(a.firstChild)a.removeChild(a.firstChild);a.append(e.runtime.convertValue(i,"Fragment"));t.processNode(a)}else{if(n!=null){t.setSymbol(n,r,null,i)}else{throw"Don't know how to put a value into "+typeof r}}}e.addCommand("put",(function(e,t,r){if(r.matchToken("put")){var n=e.requireElement("expression",r);var i=r.matchAnyToken("into","before","after");if(i==null&&r.matchToken("at")){r.matchToken("the");i=r.matchAnyToken("start","end");r.requireToken("of")}if(i==null){e.raiseParseError(r,"Expected one of 'into', 'before', 'at start of', 'at end of', 'after'")}var o=e.requireElement("expression",r);var s=i.value;var u=false;var l=false;var c=null;var f=null;if(o.type==="arrayIndex"&&s==="into"){u=true;f=o.prop;c=o.root}else if(o.prop&&o.root&&s==="into"){f=o.prop.value;c=o.root}else if(o.type==="symbol"&&s==="into"){l=true;f=o.name}else if(o.type==="attributeRef"&&s==="into"){var m=true;f=o.name;c=e.requireElement("implicitMeTarget",r)}else if(o.type==="styleRef"&&s==="into"){var p=true;f=o.name;c=e.requireElement("implicitMeTarget",r)}else if(o.attribute&&s==="into"){var m=o.attribute.type==="attributeRef";var p=o.attribute.type==="styleRef";f=o.attribute.name;c=o.root}else{c=o}var h={target:o,operation:s,symbolWrite:l,value:n,args:[c,f,n],op:function(e,r,n,i){if(l){a(t,e,n,i)}else{t.nullCheck(r,c);if(s==="into"){if(m){t.implicitLoop(r,(function(e){e.setAttribute(n,i)}))}else if(p){t.implicitLoop(r,(function(e){e.style[n]=i}))}else if(u){r[n]=i}else{t.implicitLoop(r,(function(e){a(t,e,n,i)}))}}else{var o=s==="before"?Element.prototype.before:s==="after"?Element.prototype.after:s==="start"?Element.prototype.prepend:s==="end"?Element.prototype.append:Element.prototype.append;t.implicitLoop(r,(function(e){o.call(e,i instanceof Node?i:t.convertValue(i,"Fragment"));if(e.parentElement){t.processNode(e.parentElement)}else{t.processNode(e)}}))}}return t.findNext(this,e)}};return h}}));function o(e,t,r){var n;if(r.matchToken("the")||r.matchToken("element")||r.matchToken("elements")||r.currentToken().type==="CLASS_REF"||r.currentToken().type==="ID_REF"||r.currentToken().op&&r.currentToken().value==="<"){e.possessivesDisabled=true;try{n=e.parseElement("expression",r)}finally{delete e.possessivesDisabled}if(r.matchOpToken("'")){r.requireToken("s")}}else if(r.currentToken().type==="IDENTIFIER"&&r.currentToken().value==="its"){var i=r.matchToken("its");n={type:"pseudopossessiveIts",token:i,name:i.value,evaluate:function(e){return t.resolveSymbol("it",e)}}}else{r.matchToken("my")||r.matchToken("me");n=e.parseElement("implicitMeTarget",r)}return n}e.addCommand("transition",(function(e,t,n){if(n.matchToken("transition")){var i=o(e,t,n);var a=[];var s=[];var u=[];var l=n.currentToken();while(!e.commandBoundary(l)&&l.value!=="over"&&l.value!=="using"){if(n.currentToken().type==="STYLE_REF"){let e=n.consumeToken();let t=e.value.substr(1);a.push({type:"styleRefValue",evaluate:function(){return t}})}else{a.push(e.requireElement("stringLike",n))}if(n.matchToken("from")){s.push(e.requireElement("expression",n))}else{s.push(null)}n.requireToken("to");if(n.matchToken("initial")){u.push({type:"initial_literal",evaluate:function(){return"initial"}})}else{u.push(e.requireElement("expression",n))}l=n.currentToken()}if(n.matchToken("over")){var c=e.requireElement("expression",n)}else if(n.matchToken("using")){var f=e.requireElement("expression",n)}var m={to:u,args:[i,a,s,u,f,c],op:function(e,n,a,o,s,u,l){t.nullCheck(n,i);var c=[];t.implicitLoop(n,(function(e){var n=new Promise((function(n,i){var c=e.style.transition;if(l){e.style.transition="all "+l+"ms ease-in"}else if(u){e.style.transition=u}else{e.style.transition=r.defaultTransition}var f=t.getInternalData(e);var m=getComputedStyle(e);var p={};for(var h=0;he.forEach((e=>S(e))))).then((()=>n((function(){a();k.processNode(document.documentElement);document.dispatchEvent(new Event("hyperscript:ready"));e.document.addEventListener("htmx:load",(function(e){k.processNode(e.detail.elt)}))}))));function n(e){if(document.readyState!=="loading"){setTimeout(e)}else{document.addEventListener("DOMContentLoaded",e)}}function i(){var e=document.querySelector('meta[name="htmx-config"]');if(e){return v(e.content)}else{return null}}function a(){var e=i();if(e){Object.assign(r,e)}}}const S=Object.assign(b,{config:r,use(e){e(S)},internals:{lexer:x,parser:g,runtime:k,Lexer:n,Tokens:i,Parser:a,Runtime:o},ElementCollection:m,addFeature:g.addFeature.bind(g),addCommand:g.addCommand.bind(g),addLeafExpression:g.addLeafExpression.bind(g),addIndirectExpression:g.addIndirectExpression.bind(g),evaluate:k.evaluate.bind(k),parse:k.parse.bind(k),processNode:k.processNode.bind(k),version:"0.9.14",browserInit:w});return S})); diff --git a/src/main/resources/public/vendor/tailwindcss/095aecf0/tailwindcss.min.js b/src/main/resources/public/vendor/tailwindcss/095aecf0/tailwindcss.min.js deleted file mode 100644 index 4f80440..0000000 --- a/src/main/resources/public/vendor/tailwindcss/095aecf0/tailwindcss.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Minified by jsDelivr using Terser v5.39.0. - * Original file: /npm/@tailwindcss/browser@4.1.18/dist/index.global.js - * - * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files - */ -"use strict";(()=>{function e(e){let t=[0];for(let r=0;r0;){let o=n>>1,a=r+o;t[a]<=e?(r=a+1,n=n-o-1):n=o}return r-=1,{line:r+1,column:e-t[r]}},findOffset:function({line:e,column:r}){e-=1,e=Math.min(Math.max(e,0),t.length-1);let n=t[e],o=t[e+1]??n;return Math.min(Math.max(n+r,0),o)}}}var t=10,r=class t extends Error{loc;constructor(r,n){if(n){let t=n[0],o=e(t.code).find(n[1]);r=`${t.file}:${o.line}:${o.column+1}: ${r}`}super(r),this.name="CssSyntaxError",this.loc=n,Error.captureStackTrace&&Error.captureStackTrace(this,t)}};function n(e,n){let l=n?.from?{file:n.from,code:e}:null;"\ufeff"===e[0]&&(e=" "+e.slice(1));let s,c=[],u=[],d=[],f=null,p=null,h="",m="",g=0;for(let n=0;n0&&e[r]===t[t.length-1]&&(t=t.slice(0,-1))}}let d=a(h,u);if(!d)throw new r("Invalid custom property, expected a value",l?[l,o,n]:null);l&&(d.src=[l,o,n],d.dst=[l,o,n]),f?f.nodes.push(d):c.push(d),h=""}else if(59===v&&64===h.charCodeAt(0))p=o(h),l&&(p.src=[l,g,n],p.dst=[l,g,n]),f?f.nodes.push(p):c.push(p),h="",p=null;else if(59===v&&")"!==m[m.length-1]){let e=a(h);if(!e){if(0===h.length)continue;throw new r(`Invalid declaration: \`${h.trim()}\``,l?[l,g,n]:null)}l&&(e.src=[l,g,n],e.dst=[l,g,n]),f?f.nodes.push(e):c.push(e),h=""}else if(123===v&&")"!==m[m.length-1])m+="}",p=C(h.trim()),l&&(p.src=[l,g,n],p.dst=[l,g,n]),f&&f.nodes.push(p),d.push(f),f=p,h="",p=null;else if(125===v&&")"!==m[m.length-1]){if(""===m)throw new r("Missing opening {",l?[l,n,n]:null);if(m=m.slice(0,-1),h.length>0)if(64===h.charCodeAt(0))p=o(h),l&&(p.src=[l,g,n],p.dst=[l,g,n]),f?f.nodes.push(p):c.push(p),h="",p=null;else{let e=h.indexOf(":");if(f){let t=a(h,e);if(!t)throw new r(`Invalid declaration: \`${h.trim()}\``,l?[l,g,n]:null);l&&(t.src=[l,g,n],t.dst=[l,g,n]),f.nodes.push(t)}}let e=d.pop()??null;null===e&&f&&c.push(f),f=e,h="",p=null}else if(40===v)m+=")",h+="(";else if(41===v){if(")"!==m[m.length-1])throw new r("Missing opening (",l?[l,n,n]:null);m=m.slice(0,-1),h+=")"}else{if(0===h.length&&(32===v||v===t||9===v))continue;""===h&&(g=n),h+=String.fromCharCode(v)}}}if(64===h.charCodeAt(0)){let t=o(h);l&&(t.src=[l,g,e.length],t.dst=[l,g,e.length]),c.push(t)}if(m.length>0&&f){if("rule"===f.kind)throw new r(`Missing closing } at ${f.selector}`,f.src?[f.src[0],f.src[1],f.src[1]]:null);if("at-rule"===f.kind)throw new r(`Missing closing } at ${f.name} ${f.params}`,f.src?[f.src[0],f.src[1],f.src[1]]:null)}return u.length>0?u.concat(c):c}function o(e,t=[]){let r=e,n="";for(let t=5;t=1&&t<=31||127===t||0===o&&t>=48&&t<=57||1===o&&t>=48&&t<=57&&45===i?"\\"+t.toString(16)+" ":t>=128||45===t||95===t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122?r.charAt(o):"\\"+r.charAt(o):"�";return a}function s(e){return e.replace(/\\([\dA-Fa-f]{1,6}[\t\n\f\r ]?|[\S\s])/g,(e=>e.length>2?String.fromCodePoint(Number.parseInt(e.slice(1).trim(),16)):e[1]))}var c=new Map([["--font",["--font-weight","--font-size"]],["--inset",["--inset-shadow","--inset-ring"]],["--text",["--text-color","--text-decoration-color","--text-decoration-thickness","--text-indent","--text-shadow","--text-underline-offset"]],["--grid-column",["--grid-column-start","--grid-column-end"]],["--grid-row",["--grid-row-start","--grid-row-end"]]]);function u(e,t){return(c.get(t)??[]).some((t=>e===t||e.startsWith(`${t}-`)))}var d=class{constructor(e=new Map,t=new Set([])){this.values=e,this.keyframes=t}prefix=null;get size(){return this.values.size}add(e,t,r=0,n){if(e.endsWith("-*")){if("initial"!==t)throw new Error(`Invalid theme value \`${t}\` for namespace \`${e}\``);"--*"===e?this.values.clear():this.clearNamespace(e.slice(0,-2),0)}if(4&r){let t=this.values.get(e);if(t&&!(4&t.options))return}"initial"===t?this.values.delete(e):this.values.set(e,{value:t,options:r,src:n})}keysInNamespaces(e){let t=[];for(let r of e){let e=`${r}-`;for(let n of this.values.keys())n.startsWith(e)&&-1===n.indexOf("--",2)&&(u(n,r)||t.push(n.slice(e.length)))}return t}get(e){for(let t of e){let e=this.values.get(t);if(e)return e.value}return null}hasDefault(e){return!(4&~this.getOptions(e))}getOptions(e){return e=s(this.#e(e)),this.values.get(e)?.options??0}entries(){return this.prefix?Array.from(this.values,(e=>(e[0]=this.prefixKey(e[0]),e))):this.values.entries()}prefixKey(e){return this.prefix?`--${this.prefix}-${e.slice(2)}`:e}#e(e){return this.prefix?`--${e.slice(3+this.prefix.length)}`:e}clearNamespace(e,t){let r=c.get(e)??[];e:for(let n of this.values.keys())if(n.startsWith(e)){if(0!==t&&(this.getOptions(n)&t)!==t)continue;for(let e of r)if(n.startsWith(e))continue e;this.values.delete(n)}}#t(e,t){for(let r of t){let t=null!==e?`${r}-${e}`:r;if(!this.values.has(t)){if(null===e||!e.includes("."))continue;if(t=`${r}-${e.replaceAll(".","_")}`,!this.values.has(t))continue}if(!u(t,r))return t}return null}#r(e){let t=this.values.get(e);if(!t)return null;let r=null;return 2&t.options&&(r=t.value),`var(${l(this.prefixKey(e))}${r?`, ${r}`:""})`}markUsedVariable(e){let t=s(this.#e(e)),r=this.values.get(t);if(!r)return!1;let n=16&r.options;return r.options|=16,!n}resolve(e,t,r=0){let n=this.#t(e,t);if(!n)return null;let o=this.values.get(n);return 1&(r|o.options)?o.value:this.#r(n)}resolveValue(e,t){let r=this.#t(e,t);return r?this.values.get(r).value:null}resolveWith(e,t,r=[]){let n=this.#t(e,t);if(!n)return null;let o={};for(let e of r){let t=`${n}${e}`,r=this.values.get(t);r&&(1&r.options?o[e]=r.value:o[e]=this.#r(t))}let a=this.values.get(n);return 1&a.options?[a.value,o]:[this.#r(n),o]}namespace(e){let t=new Map,r=`${e}-`;for(let[n,o]of this.values)n===e?t.set(null,o.value):n.startsWith(`${r}-`)?t.set(n.slice(e.length),o.value):n.startsWith(r)&&t.set(n.slice(r.length),o.value);return t}addKeyframes(e){this.keyframes.add(e)}getKeyframes(){return Array.from(this.keyframes)}},f=class extends Map{constructor(e){super(),this.factory=e}get(e){let t=super.get(e);return void 0===t&&(t=this.factory(e,this),this.set(e,t)),t}};function p(e){return{kind:"word",value:e}}function h(e,t){return{kind:"function",value:e,nodes:t}}function m(e){return{kind:"separator",value:e}}function g(e){let t="";for(let r of e)switch(r.kind){case"word":case"separator":t+=r.value;break;case"function":t+=r.value+"("+g(r.nodes)+")"}return t}function v(e){e=e.replaceAll("\r\n","\n");let t,r=[],n=[],o=null,a="";for(let i=0;i0){let e=p(a);o?o.nodes.push(e):r.push(e),a=""}let t=p(e[i]);o?o.nodes.push(t):r.push(t);break}case 58:case 44:case 61:case 62:case 60:case 10:case 32:case 9:{if(a.length>0){let e=p(a);o?o.nodes.push(e):r.push(e),a=""}let n=i,l=i+1;for(;l0){let t=p(a);e?.nodes.push(t),a=""}o=n.length>0?n[n.length-1]:null;break}default:a+=String.fromCharCode(l)}}return a.length>0&&r.push(p(a)),r}var w,k=((w=k||{})[w.Continue=0]="Continue",w[w.Skip=1]="Skip",w[w.Stop=2]="Stop",w[w.Replace=3]="Replace",w[w.ReplaceSkip=4]="ReplaceSkip",w[w.ReplaceStop=5]="ReplaceStop",w),b={Continue:{kind:0},Skip:{kind:1},Stop:{kind:2},Replace:e=>({kind:3,nodes:Array.isArray(e)?e:[e]}),ReplaceSkip:e=>({kind:4,nodes:Array.isArray(e)?e:[e]}),ReplaceStop:e=>({kind:5,nodes:Array.isArray(e)?e:[e]})};function y(e,t){"function"==typeof t?x(e,t):x(e,t.enter,t.exit)}function x(e,t=()=>b.Continue,r=()=>b.Continue){let n=[[e,0,null]],o={parent:null,depth:0,path(){let e=[];for(let t=1;t0;){let e=n.length-1,a=n[e],i=a[0],l=a[1],s=a[2];if(l>=i.length){n.pop();continue}if(o.parent=s,o.depth=e,l>=0){let e=i[l],r=t(e,o)??b.Continue;switch(r.kind){case 0:e.nodes&&e.nodes.length>0&&n.push([e.nodes,0,e]),a[1]=~l;continue;case 2:return;case 1:a[1]=~l;continue;case 3:i.splice(l,1,...r.nodes);continue;case 5:return void i.splice(l,1,...r.nodes);case 4:i.splice(l,1,...r.nodes),a[1]+=r.nodes.length;continue;default:throw new Error(`Invalid \`WalkAction.${k[r.kind]??`Unknown(${r.kind})`}\` in enter.`)}}let c=~l,u=r(i[c],o)??b.Continue;switch(u.kind){case 0:a[1]=c+1;continue;case 2:return;case 3:case 4:i.splice(c,1,...u.nodes),a[1]=c+u.nodes.length;continue;case 5:return void i.splice(c,1,...u.nodes);default:throw new Error(`Invalid \`WalkAction.${k[u.kind]??`Unknown(${u.kind})`}\` in exit.`)}}}function $(e){let t=[];return y(v(e),(e=>{if("function"===e.kind&&"var"===e.value)return y(e.nodes,(e=>{"word"!==e.kind||"-"!==e.value[0]||"-"!==e.value[1]||t.push(e.value)})),b.Skip})),t}var A=64;function z(e,t=[]){return{kind:"rule",selector:e,nodes:t}}function S(e,t="",r=[]){return{kind:"at-rule",name:e,params:t,nodes:r}}function C(e,t=[]){return e.charCodeAt(0)===A?o(e,t):z(e,t)}function T(e,t,r=!1){return{kind:"declaration",property:e,value:t,important:r}}function j(e){return{kind:"comment",value:e}}function V(e,t){return{kind:"context",context:e,nodes:t}}function K(e){return{kind:"at-root",nodes:e}}function E(e){switch(e.kind){case"rule":return{kind:e.kind,selector:e.selector,nodes:e.nodes.map(E),src:e.src,dst:e.dst};case"at-rule":return{kind:e.kind,name:e.name,params:e.params,nodes:e.nodes.map(E),src:e.src,dst:e.dst};case"at-root":return{kind:e.kind,nodes:e.nodes.map(E),src:e.src,dst:e.dst};case"context":return{kind:e.kind,context:{...e.context},nodes:e.nodes.map(E),src:e.src,dst:e.dst};case"declaration":return{kind:e.kind,property:e.property,value:e.value,important:e.important,src:e.src,dst:e.dst};case"comment":return{kind:e.kind,value:e.value,src:e.src,dst:e.dst};default:throw new Error(`Unknown node kind: ${e.kind}`)}}function N(e){return{depth:e.depth,get context(){let t={};for(let r of e.path())"context"===r.kind&&Object.assign(t,r.context);return Object.defineProperty(this,"context",{value:t}),t},get parent(){let e=this.path().pop()??null;return Object.defineProperty(this,"parent",{value:e}),e},path:()=>e.path().filter((e=>"context"!==e.kind))}}function O(e,t,r=3){let n=[],o=new Set,a=new f((()=>new Set)),i=new f((()=>new Set)),l=new Set,s=new Set,c=[],u=[],d=new f((()=>new Set));function p(e,f,h={},m=0){if("declaration"===e.kind){if("--tw-sort"===e.property||void 0===e.value||null===e.value)return;if(h.theme&&"-"===e.property[0]&&"-"===e.property[1]){if("initial"===e.value)return void(e.value=void 0);h.keyframes||a.get(f).add(e)}if(e.value.includes("var("))if(h.theme&&"-"===e.property[0]&&"-"===e.property[1])for(let t of $(e.value))d.get(t).add(e.property);else t.trackUsedVariables(e.value);if("animation"===e.property)for(let t of R(e.value))s.add(t);2&r&&e.value.includes("color-mix(")&&!h.keyframes&&i.get(f).add(e),f.push(e)}else if("rule"===e.kind){let t=[];for(let r of e.nodes)p(r,t,h,m+1);let r={},n=new Set;for(let e of t){if("declaration"!==e.kind)continue;let t=`${e.property}:${e.value}:${e.important}`;r[t]??=[],r[t].push(e)}for(let e in r)for(let t=0;t0&&(t=t.filter((e=>!n.has(e)))),0===t.length)return;"&"===e.selector?f.push(...t):f.push({...e,nodes:t})}else if("at-rule"===e.kind&&"@property"===e.name&&0===m){if(o.has(e.params))return;if(1&r){let t=e.params,r=null,n=!1;for(let t of e.nodes)"declaration"===t.kind&&("initial-value"===t.property?r=t.value:"inherits"===t.property&&(n="true"===t.value));let o=T(t,r??"initial");o.src=e.src,n?c.push(o):u.push(o)}o.add(e.params);let t={...e,nodes:[]};for(let r of e.nodes)p(r,t.nodes,h,m+1);f.push(t)}else if("at-rule"===e.kind){"@keyframes"===e.name&&(h={...h,keyframes:!0});let t={...e,nodes:[]};for(let r of e.nodes)p(r,t.nodes,h,m+1);"@keyframes"===e.name&&h.theme&&l.add(t),(t.nodes.length>0||"@layer"===t.name||"@charset"===t.name||"@custom-media"===t.name||"@namespace"===t.name||"@import"===t.name)&&f.push(t)}else if("at-root"===e.kind)for(let t of e.nodes){let e=[];p(t,e,h,0);for(let t of e)n.push(t)}else if("context"===e.kind){if(e.context.reference)return;for(let t of e.nodes)p(t,f,{...h,...e.context},m)}else"comment"===e.kind&&f.push(e)}let h=[];for(let t of e)p(t,h,{},0);e:for(let[e,r]of a)for(let n of r){if(W(n.property,t.theme,d)){if(n.property.startsWith(t.theme.prefixKey("--animate-")))for(let e of R(n.value))s.add(e);continue}let r=e.indexOf(n);if(e.splice(r,1),0===e.length){let t=U(h,(t=>"rule"===t.kind&&t.nodes===e));if(!t||0===t.length)continue e;for(t.unshift({kind:"at-root",nodes:h});;){let e=t.pop();if(!e)break;let r=t[t.length-1];if(!r||"at-root"!==r.kind&&"at-rule"!==r.kind)break;let n=r.nodes.indexOf(e);if(-1===n)break;r.nodes.splice(n,1)}continue e}}for(let e of l)if(!s.has(e.params)){let t=n.indexOf(e);n.splice(t,1)}if(h=h.concat(n),2&r)for(let[e,r]of i)for(let n of r){let r=e.indexOf(n);if(-1===r||null==n.value)continue;let o=v(n.value),a=!1;if(y(o,(e=>{if("function"!==e.kind||"color-mix"!==e.value)return;let r=!1,n=!1;if(y(e.nodes,(e=>{if("word"==e.kind&&"currentcolor"===e.value.toLowerCase())return n=!0,void(a=!0);let o=e,i=null,l=new Set;do{if("function"!==o.kind||"var"!==o.value)return;let e=o.nodes[0];if(!e||"word"!==e.kind)return;let s=e.value;if(l.has(s))return void(r=!0);if(l.add(s),a=!0,i=t.theme.resolveValue(null,[e.value]),!i)return void(r=!0);if("currentcolor"===i.toLowerCase())return void(n=!0);o=i.startsWith("var(")?v(i)[0]:null}while(o);return b.Replace({kind:"word",value:i})})),r||n){let t=e.nodes.findIndex((e=>"separator"===e.kind&&e.value.trim().includes(",")));if(-1===t)return;let r=e.nodes.length>t?e.nodes[t+1]:null;return r?b.Replace(r):void 0}if(a){let t=e.nodes[2];"word"===t.kind&&("oklab"===t.value||"oklch"===t.value||"lab"===t.value||"lch"===t.value)&&(t.value="srgb")}})),!a)continue;let i={...n,value:g(o)},l=C("@supports (color: color-mix(in lab, red, red))",[n]);l.src=n.src,e.splice(r,1,i,l)}if(1&r){let e=[];if(c.length>0){let t=C(":root, :host",c);t.src=c[0].src,e.push(t)}if(u.length>0){let t=C("*, ::before, ::after, ::backdrop",u);t.src=u[0].src,e.push(t)}if(e.length>0){let t=h.findIndex((e=>!("comment"===e.kind||"at-rule"===e.kind&&("@charset"===e.name||"@import"===e.name)))),r=S("@layer","properties",[]);r.src=e[0].src,h.splice(t<0?h.length:t,0,r);let n=C("@layer properties",[S("@supports","((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b))))",e)]);n.src=e[0].src,n.nodes[0].src=e[0].src,h.push(n)}}return h}function F(e,t){let r=0,n={file:null,code:""};function o(e,a=0){let i="",l=" ".repeat(a);if("declaration"===e.kind){if(i+=`${l}${e.property}: ${e.value}${e.important?" !important":""};\n`,t){r+=l.length;let t=r;r+=e.property.length,r+=2,r+=e.value?.length??0,e.important&&(r+=11);let o=r;r+=2,e.dst=[n,t,o]}}else if("rule"===e.kind){if(i+=`${l}${e.selector} {\n`,t){r+=l.length;let t=r;r+=e.selector.length,r+=1;let o=r;e.dst=[n,t,o],r+=2}for(let t of e.nodes)i+=o(t,a+1);i+=`${l}}\n`,t&&(r+=l.length,r+=2)}else if("at-rule"===e.kind){if(0===e.nodes.length){let o=`${l}${e.name} ${e.params};\n`;if(t){r+=l.length;let t=r;r+=e.name.length,r+=1,r+=e.params.length;let o=r;r+=2,e.dst=[n,t,o]}return o}if(i+=`${l}${e.name}${e.params?` ${e.params} `:" "}{\n`,t){r+=l.length;let t=r;r+=e.name.length,e.params&&(r+=1,r+=e.params.length),r+=1;let o=r;e.dst=[n,t,o],r+=2}for(let t of e.nodes)i+=o(t,a+1);i+=`${l}}\n`,t&&(r+=l.length,r+=2)}else if("comment"===e.kind){if(i+=`${l}/*${e.value}*/\n`,t){r+=l.length;let t=r;r+=2+e.value.length+2;let o=r;e.dst=[n,t,o],r+=1}}else if("context"===e.kind||"at-root"===e.kind)return"";return i}let a="";for(let t of e)a+=o(t,0);return n.code=a,a}function U(e,t){let r=[];return y(e,((e,n)=>{if(t(e))return r=n.path(),r.push(e),b.Stop})),r}function W(e,t,r,n=new Set){if(n.has(e)||(n.add(e),24&t.getOptions(e)))return!0;{let o=r.get(e)??[];for(let e of o)if(W(e,t,r,n))return!0}return!1}function R(e){return e.split(/[\s,]+/)}var D=["calc","min","max","clamp","mod","rem","sin","cos","tan","asin","acos","atan","atan2","pow","sqrt","hypot","log","exp","round"];function _(e){return-1!==e.indexOf("(")&&D.some((t=>e.includes(`${t}(`)))}function L(e){if(-1===e.indexOf("("))return M(e);let t=v(e);return B(t),e=function(e){if(!D.some((t=>e.includes(t))))return e;let t="",r=[],n=null,o=null;for(let a=0;a=48&&i<=57||null!==n&&(37===i||i>=97&&i<=122||i>=65&&i<=90)?n=a:(o=n,n=null),40!==i)if(41===i)t+=e[a],r.shift();else{if(44===i&&r[0]){t+=", ";continue}if(32===i&&r[0]&&32===t.charCodeAt(t.length-1))continue;if(43!==i&&42!==i&&47!==i&&45!==i||!r[0])t+=e[a];else{let r=t.trimEnd(),n=r.charCodeAt(r.length-1),i=r.charCodeAt(r.length-2),l=e.charCodeAt(a+1);if((101===n||69===n)&&i>=48&&i<=57){t+=e[a];continue}if(43===n||42===n||47===n||45===n){t+=e[a];continue}if(40===n||44===n){t+=e[a];continue}32===e.charCodeAt(a-1)?t+=`${e[a]} `:t+=n>=48&&n<=57||l>=48&&l<=57||41===n||40===l||43===l||42===l||47===l||45===l||null!==o&&o===a-1?` ${e[a]} `:e[a]}}else{t+=e[a];let n=a;for(let t=a-1;t>=0;t--){let r=e.charCodeAt(t);if(r>=48&&r<=57)n=t;else{if(!(r>=97&&r<=122))break;n=t}}let o=e.slice(n,a);if(D.includes(o)){r.unshift(!0);continue}if(r[0]&&""===o){r.unshift(!0);continue}r.unshift(!1)}}return t}(e=g(t)),e}function M(e,t=!1){let r="";for(let n=0;n0&&o===P[t-1]&&t--;break;case 59:if(0===t)return!1}}return!0}var H=new Uint8Array(256);function Z(e,t){let r=0,n=[],o=0,a=e.length,i=t.charCodeAt(0);for(let t=0;t0&&l===H[r-1]&&r--}else n.push(e.slice(o,t)),o=t+1}return n.push(e.slice(o)),n}var Y=/^[a-zA-Z0-9_.%-]+$/;function G(e){if("["===e[0]&&"]"===e[e.length-1]){let t=L(e.slice(1,-1));return q(t)&&0!==t.length&&0!==t.trim().length?{kind:"arbitrary",value:t}:null}return"("===e[0]&&")"===e[e.length-1]?"-"===(e=e.slice(1,-1))[0]&&"-"===e[1]&&q(e)?{kind:"arbitrary",value:L(e=`var(${e})`)}:null:Y.test(e)?{kind:"named",value:e}:null}function*J(e,t){t(e)&&(yield[e,null]);let r=e.lastIndexOf("-");for(;r>0;){let n=e.slice(0,r);if(t(n)){let o=[n,e.slice(r+1)];if(""===o[1]||"@"===o[0]&&t("@")&&"-"===e[r])break;yield o}r=e.lastIndexOf("-",r-1)}"@"===e[0]&&t("@")&&(yield["@",e.slice(1)])}function X(e){if(null===e)return"";let t=ae(e.value),r=t?e.value.slice(4,-1):e.value,[n,o]=t?["(",")"]:["[","]"];return"arbitrary"===e.kind?`/${n}${te(r)}${o}`:"named"===e.kind?`/${e.value}`:""}function Q(e){if("static"===e.kind)return e.root;if("arbitrary"===e.kind)return`[${te(function(e){return re.get(e)}(e.selector))}]`;let t="";if("functional"===e.kind){t+=e.root;let r="@"!==e.root;if(e.value)if("arbitrary"===e.value.kind){let n=ae(e.value.value),o=n?e.value.value.slice(4,-1):e.value.value,[a,i]=n?["(",")"]:["[","]"];t+=`${r?"-":""}${a}${te(o)}${i}`}else"named"===e.value.kind&&(t+=`${r?"-":""}${e.value.value}`)}return"compound"===e.kind&&(t+=e.root,t+="-",t+=Q(e.variant)),("functional"===e.kind||"compound"===e.kind)&&(t+=X(e.modifier)),t}var ee=new f((e=>{let t=v(e),r=new Set;return y(t,((e,n)=>{let o=null===n.parent?t:n.parent.nodes??[];if("word"!==e.kind||"+"!==e.value&&"-"!==e.value&&"*"!==e.value&&"/"!==e.value)"separator"===e.kind&&e.value.length>0&&""===e.value.trim()?(o[0]===e||o[o.length-1]===e)&&r.add(e):"separator"===e.kind&&","===e.value.trim()&&(e.value=",");else{let t=o.indexOf(e)??-1;if(-1===t)return;let n=o[t-1];if("separator"!==n?.kind||" "!==n.value)return;let a=o[t+1];if("separator"!==a?.kind||" "!==a.value)return;r.add(n),r.add(a)}})),r.size>0&&y(t,(e=>{if(r.has(e))return r.delete(e),b.ReplaceSkip([])})),ne(t),g(t)}));function te(e){return ee.get(e)}var re=new f((e=>{let t=v(e);return 3===t.length&&"word"===t[0].kind&&"&"===t[0].value&&"separator"===t[1].kind&&":"===t[1].value&&"function"===t[2].kind&&"is"===t[2].value?g(t[2].nodes):e}));function ne(e){for(let t of e)switch(t.kind){case"function":if("url"===t.value||t.value.endsWith("_url")){t.value=le(t.value);break}if("var"===t.value||t.value.endsWith("_var")||"theme"===t.value||t.value.endsWith("_theme")){t.value=le(t.value);for(let e=0;e{let t=v(e);return 1===t.length&&"function"===t[0].kind&&"var"===t[0].value}));function ae(e){return oe.get(e)}function ie(e){throw new Error(`Unexpected value: ${e}`)}function le(e){return e.replaceAll("_",String.raw`\_`).replaceAll(" ","_")}function se(e,t,r){if(e===t)return 0;let n=e.indexOf("("),o=t.indexOf("("),a=-1===n?e.replace(/[\d.]+/g,""):e.slice(0,n),i=-1===o?t.replace(/[\d.]+/g,""):t.slice(0,o),l=(a===i?0:a0},"bg-size":function(e){let t=0;for(let r of Z(e,",")){if("cover"===r||"contain"===r){t+=1;continue}let e=Z(r," ");if(1!==e.length&&2!==e.length)return!1;e.every((e=>"auto"===e||Ae(e)||ye(e)))&&(t+=1)}return t>0},"line-width":function(e){return Z(e," ").every((e=>Ae(e)||ke(e)||"thin"===e||"medium"===e||"thick"===e))},image:function(e){let t=0;for(let r of Z(e,","))if(!r.startsWith("var(")){if(he(r)){t+=1;continue}if(ge.test(r)){t+=1;continue}if(me.test(r)){t+=1;continue}return!1}return t>0},"family-name":function(e){let t=0;for(let r of Z(e,",")){let e=r.charCodeAt(0);if(e>=48&&e<=57)return!1;r.startsWith("var(")||(t+=1)}return t>0},"generic-name":function(e){return"serif"===e||"sans-serif"===e||"monospace"===e||"cursive"===e||"fantasy"===e||"system-ui"===e||"ui-serif"===e||"ui-sans-serif"===e||"ui-monospace"===e||"ui-rounded"===e||"math"===e||"emoji"===e||"fangsong"===e},"absolute-size":function(e){return"xx-small"===e||"x-small"===e||"small"===e||"medium"===e||"large"===e||"x-large"===e||"xx-large"===e||"xxx-large"===e},"relative-size":function(e){return"larger"===e||"smaller"===e},angle:function(e){return ze.test(e)},vector:function(e){return Se.test(e)}};function fe(e,t){if(e.startsWith("var("))return null;for(let r of t)if(de[r]?.(e))return r;return null}var pe=/^url\(.*\)$/;function he(e){return pe.test(e)}var me=/^(?:element|image|cross-fade|image-set)\(/,ge=/^(repeating-)?(conic|linear|radial)-gradient\(/;var ve=/[+-]?\d*\.?\d+(?:[eE][+-]?\d+)?/,we=new RegExp(`^${ve.source}$`);function ke(e){return we.test(e)||_(e)}var be=new RegExp(`^${ve.source}%$`);function ye(e){return be.test(e)||_(e)}var xe=new RegExp(`^${ve.source}s*/s*${ve.source}$`);var $e=new RegExp(`^${ve.source}(${["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"].join("|")})$`);function Ae(e){return $e.test(e)||_(e)}var ze=new RegExp(`^${ve.source}(${["deg","rad","grad","turn"].join("|")})$`);var Se=new RegExp(`^${ve.source} +${ve.source} +${ve.source}$`);function Ce(e){let t=Number(e);return Number.isInteger(t)&&t>=0&&String(t)===String(e)}function Te(e){let t=Number(e);return Number.isInteger(t)&&t>0&&String(t)===String(e)}function je(e){return Ke(e,.25)}function Ve(e){return Ke(e,.25)}function Ke(e,t){let r=Number(e);return r>=0&&r%t==0&&String(r)===String(e)}var Ee=new Set(["inset","inherit","initial","revert","unset"]),Ne=/^-?(\d+|\.\d+)(.*?)$/g;function Oe(e,t){return Z(e,",").map((e=>{let r=Z(e=e.trim()," ").filter((e=>""!==e.trim())),n=null,o=null,a=null;for(let e of r)Ee.has(e)||(Ne.test(e)?(null===o?o=e:null===a&&(a=e),Ne.lastIndex=0):null===n&&(n=e));if(null===o||null===a)return e;let i=t(n??"currentcolor");return null!==n?e.replace(n,i):`${e} ${i}`})).join(", ")}var Fe=/^-?[a-z][a-zA-Z0-9/%._-]*$/,Ue=/^-?[a-z][a-zA-Z0-9/%._-]*-\*$/,We=["0","0.5","1","1.5","2","2.5","3","3.5","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96"],Re=class{utilities=new f((()=>[]));completions=new Map;static(e,t){this.utilities.get(e).push({kind:"static",compileFn:t})}functional(e,t,r){this.utilities.get(e).push({kind:"functional",compileFn:t,options:r})}has(e,t){return this.utilities.has(e)&&this.utilities.get(e).some((e=>e.kind===t))}get(e){return this.utilities.has(e)?this.utilities.get(e):[]}getCompletions(e){return this.has(e,"static")?this.completions.get(e)?.()??[{supportsNegative:!1,values:[],modifiers:[]}]:this.completions.get(e)?.()??[]}suggest(e,t){let r=this.completions.get(e);r?this.completions.set(e,(()=>[...r?.(),...t?.()])):this.completions.set(e,t)}keys(e){let t=[];for(let[r,n]of this.utilities.entries())for(let o of n)if(o.kind===e){t.push(r);break}return t}};function De(e,t,r){return S("@property",e,[T("syntax",r?`"${r}"`:'"*"'),T("inherits","false"),...t?[T("initial-value",t)]:[]])}function _e(e,t){if(null===t)return e;let r=Number(t);return Number.isNaN(r)||(t=100*r+"%"),"100%"===t?e:`color-mix(in oklab, ${e} ${t}, transparent)`}function Le(e,t){let r=Number(t);return Number.isNaN(r)||(t=100*r+"%"),`oklab(from ${e} l a b / ${t})`}function Me(e,t,r){if(!t)return e;if("arbitrary"===t.kind)return _e(e,t.value);let n=r.resolve(t.value,["--opacity"]);return n?_e(e,n):Ve(t.value)?_e(e,`${t.value}%`):null}function Be(e,t,r){let n=null;switch(e.value.value){case"inherit":n="inherit";break;case"transparent":n="transparent";break;case"current":n="currentcolor";break;default:n=t.resolve(e.value.value,r)}return n?Me(n,e.modifier,t):null}var Ie=/(\d+)_(\d+)/g;var Pe=["number","integer","ratio","percentage"];function qe(e,t,r){for(let n of t.nodes){if("named"===e.kind&&"word"===n.kind&&("'"===n.value[0]||'"'===n.value[0])&&n.value[n.value.length-1]===n.value[0]&&n.value.slice(1,-1)===e.value)return{nodes:v(e.value)};if("named"===e.kind&&"word"===n.kind&&"-"===n.value[0]&&"-"===n.value[1]){let t=n.value;if(t.endsWith("-*")){t=t.slice(0,-2);let n=r.theme.resolve(e.value,[t]);if(n)return{nodes:v(n)}}else{let n=t.split("-*");if(n.length<=1)continue;let o=[n.shift()],a=r.theme.resolveWith(e.value,o,n);if(a){let[,e={}]=a;{let t=e[n.pop()];if(t)return{nodes:v(t)}}}}}else{if("named"===e.kind&&"word"===n.kind){if(!Pe.includes(n.value))continue;let t="ratio"===n.value&&"fraction"in e?e.fraction:e.value;if(!t)continue;let r=fe(t,[n.value]);if(null===r)continue;if("ratio"===r){let[e,r]=Z(t,"/");if(!Ce(e)||!Ce(r))continue}else{if("number"===r&&!je(t))continue;if("percentage"===r&&!Ce(t.slice(0,-1)))continue}return{nodes:v(t),ratio:"ratio"===r}}if("arbitrary"===e.kind&&"word"===n.kind&&"["===n.value[0]&&"]"===n.value[n.value.length-1]){let t=n.value.slice(1,-1);if("*"===t)return{nodes:v(e.value)};if("dataType"in e&&e.dataType&&e.dataType!==t)continue;if("dataType"in e&&e.dataType)return{nodes:v(e.value)};if(null!==fe(e.value,[t]))return{nodes:v(e.value)}}}}}function He(e,t,r,n,o=""){let a=!1,i=Oe(t,(e=>null==r?n(e):e.startsWith("current")?n(_e(e,r)):((e.startsWith("var(")||r.startsWith("var("))&&(a=!0),n(Le(e,r)))));function l(e){return o?Z(e,",").map((e=>o+e)).join(","):e}return a?[T(e,l(Oe(t,n))),C("@supports (color: lab(from red l a b))",[T(e,l(i))])]:[T(e,l(i))]}function Ze(e,t,r,n,o=""){let a=!1,i=Z(t,",").map((e=>Oe(e,(e=>null==r?n(e):e.startsWith("current")?n(_e(e,r)):((e.startsWith("var(")||r.startsWith("var("))&&(a=!0),n(Le(e,r))))))).map((e=>`drop-shadow(${e})`)).join(" ");return a?[T(e,o+Z(t,",").map((e=>`drop-shadow(${Oe(e,n)})`)).join(" ")),C("@supports (color: lab(from red l a b))",[T(e,o+i)])]:[T(e,o+i)]}var Ye={"--alpha":function(e,t,r,...n){let[o,a]=Z(r,"/").map((e=>e.trim()));if(!o||!a)throw new Error(`The --alpha(…) function requires a color and an alpha value, e.g.: \`--alpha(${o||"var(--my-color)"} / ${a||"50%"})\``);if(n.length>0)throw new Error(`The --alpha(…) function only accepts one argument, e.g.: \`--alpha(${o||"var(--my-color)"} / ${a||"50%"})\``);return _e(o,a)},"--spacing":function(e,t,r,...n){if(!r)throw new Error("The --spacing(…) function requires an argument, but received none.");if(n.length>0)throw new Error(`The --spacing(…) function only accepts a single argument, but received ${n.length+1}.`);let o=e.theme.resolve(null,["--spacing"]);if(!o)throw new Error("The --spacing(…) function requires that the `--spacing` theme variable exists, but it was not found.");return`calc(${o} * ${r})`},"--theme":function(e,t,r,...n){if(!r.startsWith("--"))throw new Error("The --theme(…) function can only be used with CSS variables from your theme.");let o=!1;r.endsWith(" inline")&&(o=!0,r=r.slice(0,-7)),"at-rule"===t.kind&&(o=!0);let a=e.resolveThemeValue(r,o);if(!a){if(n.length>0)return n.join(", ");throw new Error(`Could not resolve value for theme function: \`theme(${r})\`. Consider checking if the variable name is correct or provide a fallback value to silence this error.`)}if(0===n.length)return a;let i=n.join(", ");if("initial"===i)return a;if("initial"===a)return i;if(a.startsWith("var(")||a.startsWith("theme(")||a.startsWith("--theme(")){let e=v(a);return function(e,t){y(e,(e=>{if("function"===e.kind&&("var"===e.value||"theme"===e.value||"--theme"===e.value))if(1===e.nodes.length)e.nodes.push({kind:"word",value:`, ${t}`});else{let r=e.nodes[e.nodes.length-1];"word"===r.kind&&"initial"===r.value&&(r.value=t)}}))}(e,i),g(e)}return a},theme:function(e,t,r,...n){r=function(e){if("'"!==e[0]&&'"'!==e[0])return e;let t="",r=e[0];for(let n=1;n0)return n.join(", ");if(!o)throw new Error(`Could not resolve value for theme function: \`theme(${r})\`. Consider checking if the path is correct or provide a fallback value to silence this error.`);return o}};var Ge=new RegExp(Object.keys(Ye).map((e=>`${e}\\(`)).join("|"));function Je(e,t){let r=0;return y(e,(e=>{if("declaration"===e.kind&&e.value&&Ge.test(e.value))return r|=8,void(e.value=Xe(e.value,e,t));"at-rule"===e.kind&&("@media"===e.name||"@custom-media"===e.name||"@container"===e.name||"@supports"===e.name)&&Ge.test(e.params)&&(r|=8,e.params=Xe(e.params,e,t))})),r}function Xe(e,t,r){let n=v(e);return y(n,(e=>{if("function"===e.kind&&e.value in Ye){let n=Z(g(e.nodes).trim(),",").map((e=>e.trim())),o=Ye[e.value](r,t,...n);return b.Replace(v(o))}})),g(n)}var Qe=/^@?[a-z0-9][a-zA-Z0-9_-]*(?{"rule"===e.kind?n.push(e.selector):"at-rule"===e.kind&&"@variant"===e.name?o=!0:"at-rule"===e.kind&&"@slot"!==e.name&&n.push(`${e.name} ${e.params}`)})),this.static(e,(e=>{let n=t.map(E);o&&ot(n,r),nt(n,e.nodes),e.nodes=n}),{compounds:tt(n)})}functional(e,t,{compounds:r,order:n}={}){this.set(e,{kind:"functional",applyFn:t,compoundsWith:0,compounds:r??2,order:n})}compound(e,t,r,{compounds:n,order:o}={}){this.set(e,{kind:"compound",applyFn:r,compoundsWith:t,compounds:n??2,order:o})}group(e,t){this.groupOrder=this.nextOrder(),t&&this.compareFns.set(this.groupOrder,t),e(),this.groupOrder=null}has(e){return this.variants.has(e)}get(e){return this.variants.get(e)}kind(e){return this.variants.get(e)?.kind}compoundsWith(e,t){let r=this.variants.get(e),n="string"==typeof t?this.variants.get(t):"arbitrary"===t.kind?{compounds:tt([t.selector])}:this.variants.get(t.root);return!!(r&&n&&"compound"===r.kind&&0!==n.compounds&&0!==r.compoundsWith&&r.compoundsWith&n.compounds)}suggest(e,t){this.completions.set(e,t)}getCompletions(e){return this.completions.get(e)?.()??[]}compare(e,t){if(e===t)return 0;if(null===e)return-1;if(null===t)return 1;if("arbitrary"===e.kind&&"arbitrary"===t.kind)return e.selector1){let e=n[n.length-1];if(" "===n[n.length-2]&&("i"===e||"I"===e||"s"===e||"S"===e))return`${t}="${n.slice(0,-2)}" ${e}`}return`${t}="${n}"`}return e}function nt(e,t){y(e,(e=>"at-rule"===e.kind&&"@slot"===e.name?b.Replace(t):"at-rule"!==e.kind||"@keyframes"!==e.name&&"@property"!==e.name?void 0:(Object.assign(e,K([S(e.name,e.params,e.nodes)])),b.Skip)))}function ot(e,t){let r=0;return y(e,(e=>{if("at-rule"!==e.kind||"@variant"!==e.name)return;let n=z("&",e.nodes),o=e.params,a=t.parseVariant(o);if(null===a)throw new Error(`Cannot use \`@variant\` with unknown variant: ${o}`);if(null===st(n,a,t.variants))throw new Error(`Cannot use \`@variant\` with variant: ${o}`);return r|=32,b.Replace(n)})),r}function at(e,t){let r=function(e){let t=new Re;function r(r,n){function*o(t){for(let r of e.keysInNamespaces(t))yield r.replace(Ie,((e,t,r)=>`${t}.${r}`))}let a=["1/2","1/3","2/3","1/4","2/4","3/4","1/5","2/5","3/5","4/5","1/6","2/6","3/6","4/6","5/6","1/12","2/12","3/12","4/12","5/12","6/12","7/12","8/12","9/12","10/12","11/12"];t.suggest(r,(()=>{let e=[];for(let t of n()){if("string"==typeof t){e.push({values:[t],modifiers:[]});continue}let r=[...t.values??[],...o(t.valueThemeKeys??[])],n=[...t.modifiers??[],...o(t.modifierThemeKeys??[])];t.supportsFractions&&r.push(...a),t.hasDefaultValue&&r.unshift(null),e.push({supportsNegative:t.supportsNegative,values:r,modifiers:n})}return e}))}function n(e,r){t.static(e,(()=>r.map((e=>"function"==typeof e?e():T(e[0],e[1])))))}function o(n,o){function a({negative:t}){return r=>{let n=null,a=null;if(r.value)if("arbitrary"===r.value.kind){if(r.modifier)return;n=r.value.value,a=r.value.dataType}else{if(n=e.resolve(r.value.fraction??r.value.value,o.themeKeys??[]),null===n&&o.supportsFractions&&r.value.fraction){let[e,t]=Z(r.value.fraction,"/");if(!Ce(e)||!Ce(t))return;n=`calc(${r.value.fraction} * 100%)`}if(null===n&&t&&o.handleNegativeBareValue){if(n=o.handleNegativeBareValue(r.value),!n?.includes("/")&&r.modifier)return;if(null!==n)return o.handle(n,null)}if(null===n&&o.handleBareValue&&(n=o.handleBareValue(r.value),!n?.includes("/")&&r.modifier))return;if(null===n&&!t&&o.staticValues&&!r.modifier){let e=o.staticValues[r.value.value];if(e)return e.map(E)}}else{if(r.modifier)return;n=void 0!==o.defaultValue?o.defaultValue:e.resolve(null,o.themeKeys??[])}if(null!==n)return o.handle(t?`calc(${n} * -1)`:n,a)}}if(o.supportsNegative&&t.functional(`-${n}`,a({negative:!0})),t.functional(n,a({negative:!1})),r(n,(()=>[{supportsNegative:o.supportsNegative,valueThemeKeys:o.themeKeys??[],hasDefaultValue:void 0!==o.defaultValue&&null!==o.defaultValue,supportsFractions:o.supportsFractions}])),o.staticValues&&Object.keys(o.staticValues).length>0){let e=Object.keys(o.staticValues);r(n,(()=>[{values:e}]))}}function a(n,o){t.functional(n,(t=>{if(!t.value)return;let r=null;return"arbitrary"===t.value.kind?(r=t.value.value,r=Me(r,t.modifier,e)):r=Be(t,e,o.themeKeys),null!==r?o.handle(r):void 0})),r(n,(()=>[{values:["current","inherit","transparent"],valueThemeKeys:o.themeKeys,modifiers:Array.from({length:21},((e,t)=>""+5*t))}]))}function i(n,a,i,{supportsNegative:l=!1,supportsFractions:s=!1,staticValues:c}={}){l&&t.static(`-${n}-px`,(()=>i("-1px"))),t.static(`${n}-px`,(()=>i("1px"))),o(n,{themeKeys:a,supportsFractions:s,supportsNegative:l,defaultValue:null,handleBareValue:({value:t})=>{let r=e.resolve(null,["--spacing"]);return r&&je(t)?`calc(${r} * ${t})`:null},handleNegativeBareValue:({value:t})=>{let r=e.resolve(null,["--spacing"]);return r&&je(t)?`calc(${r} * -${t})`:null},handle:i,staticValues:c}),r(n,(()=>[{values:e.get(["--spacing"])?We:[],supportsNegative:l,supportsFractions:s,valueThemeKeys:a}]))}n("sr-only",[["position","absolute"],["width","1px"],["height","1px"],["padding","0"],["margin","-1px"],["overflow","hidden"],["clip-path","inset(50%)"],["white-space","nowrap"],["border-width","0"]]),n("not-sr-only",[["position","static"],["width","auto"],["height","auto"],["padding","0"],["margin","0"],["overflow","visible"],["clip-path","none"],["white-space","normal"]]),n("pointer-events-none",[["pointer-events","none"]]),n("pointer-events-auto",[["pointer-events","auto"]]),n("visible",[["visibility","visible"]]),n("invisible",[["visibility","hidden"]]),n("collapse",[["visibility","collapse"]]),n("static",[["position","static"]]),n("fixed",[["position","fixed"]]),n("absolute",[["position","absolute"]]),n("relative",[["position","relative"]]),n("sticky",[["position","sticky"]]);for(let[e,t]of[["inset","inset"],["inset-x","inset-inline"],["inset-y","inset-block"],["start","inset-inline-start"],["end","inset-inline-end"],["top","top"],["right","right"],["bottom","bottom"],["left","left"]])n(`${e}-auto`,[[t,"auto"]]),n(`${e}-full`,[[t,"100%"]]),n(`-${e}-full`,[[t,"-100%"]]),i(e,["--inset","--spacing"],(e=>[T(t,e)]),{supportsNegative:!0,supportsFractions:!0});n("isolate",[["isolation","isolate"]]),n("isolation-auto",[["isolation","auto"]]),o("z",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--z-index"],handle:e=>[T("z-index",e)],staticValues:{auto:[T("z-index","auto")]}}),r("z",(()=>[{supportsNegative:!0,values:["0","10","20","30","40","50"],valueThemeKeys:["--z-index"]}])),o("order",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--order"],handle:e=>[T("order",e)],staticValues:{first:[T("order","-9999")],last:[T("order","9999")]}}),r("order",(()=>[{supportsNegative:!0,values:Array.from({length:12},((e,t)=>`${t+1}`)),valueThemeKeys:["--order"]}])),o("col",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--grid-column"],handle:e=>[T("grid-column",e)],staticValues:{auto:[T("grid-column","auto")]}}),o("col-span",{handleBareValue:({value:e})=>Ce(e)?e:null,handle:e=>[T("grid-column",`span ${e} / span ${e}`)],staticValues:{full:[T("grid-column","1 / -1")]}}),o("col-start",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--grid-column-start"],handle:e=>[T("grid-column-start",e)],staticValues:{auto:[T("grid-column-start","auto")]}}),o("col-end",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--grid-column-end"],handle:e=>[T("grid-column-end",e)],staticValues:{auto:[T("grid-column-end","auto")]}}),r("col-span",(()=>[{values:Array.from({length:12},((e,t)=>`${t+1}`)),valueThemeKeys:[]}])),r("col-start",(()=>[{supportsNegative:!0,values:Array.from({length:13},((e,t)=>`${t+1}`)),valueThemeKeys:["--grid-column-start"]}])),r("col-end",(()=>[{supportsNegative:!0,values:Array.from({length:13},((e,t)=>`${t+1}`)),valueThemeKeys:["--grid-column-end"]}])),o("row",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--grid-row"],handle:e=>[T("grid-row",e)],staticValues:{auto:[T("grid-row","auto")]}}),o("row-span",{themeKeys:[],handleBareValue:({value:e})=>Ce(e)?e:null,handle:e=>[T("grid-row",`span ${e} / span ${e}`)],staticValues:{full:[T("grid-row","1 / -1")]}}),o("row-start",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--grid-row-start"],handle:e=>[T("grid-row-start",e)],staticValues:{auto:[T("grid-row-start","auto")]}}),o("row-end",{supportsNegative:!0,handleBareValue:({value:e})=>Ce(e)?e:null,themeKeys:["--grid-row-end"],handle:e=>[T("grid-row-end",e)],staticValues:{auto:[T("grid-row-end","auto")]}}),r("row-span",(()=>[{values:Array.from({length:12},((e,t)=>`${t+1}`)),valueThemeKeys:[]}])),r("row-start",(()=>[{supportsNegative:!0,values:Array.from({length:13},((e,t)=>`${t+1}`)),valueThemeKeys:["--grid-row-start"]}])),r("row-end",(()=>[{supportsNegative:!0,values:Array.from({length:13},((e,t)=>`${t+1}`)),valueThemeKeys:["--grid-row-end"]}])),n("float-start",[["float","inline-start"]]),n("float-end",[["float","inline-end"]]),n("float-right",[["float","right"]]),n("float-left",[["float","left"]]),n("float-none",[["float","none"]]),n("clear-start",[["clear","inline-start"]]),n("clear-end",[["clear","inline-end"]]),n("clear-right",[["clear","right"]]),n("clear-left",[["clear","left"]]),n("clear-both",[["clear","both"]]),n("clear-none",[["clear","none"]]);for(let[e,t]of[["m","margin"],["mx","margin-inline"],["my","margin-block"],["ms","margin-inline-start"],["me","margin-inline-end"],["mt","margin-top"],["mr","margin-right"],["mb","margin-bottom"],["ml","margin-left"]])n(`${e}-auto`,[[t,"auto"]]),i(e,["--margin","--spacing"],(e=>[T(t,e)]),{supportsNegative:!0});n("box-border",[["box-sizing","border-box"]]),n("box-content",[["box-sizing","content-box"]]),o("line-clamp",{themeKeys:["--line-clamp"],handleBareValue:({value:e})=>Ce(e)?e:null,handle:e=>[T("overflow","hidden"),T("display","-webkit-box"),T("-webkit-box-orient","vertical"),T("-webkit-line-clamp",e)],staticValues:{none:[T("overflow","visible"),T("display","block"),T("-webkit-box-orient","horizontal"),T("-webkit-line-clamp","unset")]}}),r("line-clamp",(()=>[{values:["1","2","3","4","5","6"],valueThemeKeys:["--line-clamp"]}])),n("block",[["display","block"]]),n("inline-block",[["display","inline-block"]]),n("inline",[["display","inline"]]),n("hidden",[["display","none"]]),n("inline-flex",[["display","inline-flex"]]),n("table",[["display","table"]]),n("inline-table",[["display","inline-table"]]),n("table-caption",[["display","table-caption"]]),n("table-cell",[["display","table-cell"]]),n("table-column",[["display","table-column"]]),n("table-column-group",[["display","table-column-group"]]),n("table-footer-group",[["display","table-footer-group"]]),n("table-header-group",[["display","table-header-group"]]),n("table-row-group",[["display","table-row-group"]]),n("table-row",[["display","table-row"]]),n("flow-root",[["display","flow-root"]]),n("flex",[["display","flex"]]),n("grid",[["display","grid"]]),n("inline-grid",[["display","inline-grid"]]),n("contents",[["display","contents"]]),n("list-item",[["display","list-item"]]),n("field-sizing-content",[["field-sizing","content"]]),n("field-sizing-fixed",[["field-sizing","fixed"]]),o("aspect",{themeKeys:["--aspect"],handleBareValue:({fraction:e})=>{if(null===e)return null;let[t,r]=Z(e,"/");return Ce(t)&&Ce(r)?e:null},handle:e=>[T("aspect-ratio",e)],staticValues:{auto:[T("aspect-ratio","auto")],square:[T("aspect-ratio","1 / 1")]}});for(let[e,t]of[["full","100%"],["svw","100svw"],["lvw","100lvw"],["dvw","100dvw"],["svh","100svh"],["lvh","100lvh"],["dvh","100dvh"],["min","min-content"],["max","max-content"],["fit","fit-content"]])n(`size-${e}`,[["--tw-sort","size"],["width",t],["height",t]]),n(`w-${e}`,[["width",t]]),n(`h-${e}`,[["height",t]]),n(`min-w-${e}`,[["min-width",t]]),n(`min-h-${e}`,[["min-height",t]]),n(`max-w-${e}`,[["max-width",t]]),n(`max-h-${e}`,[["max-height",t]]);n("size-auto",[["--tw-sort","size"],["width","auto"],["height","auto"]]),n("w-auto",[["width","auto"]]),n("h-auto",[["height","auto"]]),n("min-w-auto",[["min-width","auto"]]),n("min-h-auto",[["min-height","auto"]]),n("h-lh",[["height","1lh"]]),n("min-h-lh",[["min-height","1lh"]]),n("max-h-lh",[["max-height","1lh"]]),n("w-screen",[["width","100vw"]]),n("min-w-screen",[["min-width","100vw"]]),n("max-w-screen",[["max-width","100vw"]]),n("h-screen",[["height","100vh"]]),n("min-h-screen",[["min-height","100vh"]]),n("max-h-screen",[["max-height","100vh"]]),n("max-w-none",[["max-width","none"]]),n("max-h-none",[["max-height","none"]]),i("size",["--size","--spacing"],(e=>[T("--tw-sort","size"),T("width",e),T("height",e)]),{supportsFractions:!0});for(let[e,t,r]of[["w",["--width","--spacing","--container"],"width"],["min-w",["--min-width","--spacing","--container"],"min-width"],["max-w",["--max-width","--spacing","--container"],"max-width"],["h",["--height","--spacing"],"height"],["min-h",["--min-height","--height","--spacing"],"min-height"],["max-h",["--max-height","--height","--spacing"],"max-height"]])i(e,t,(e=>[T(r,e)]),{supportsFractions:!0});t.static("container",(()=>{let t=[...e.namespace("--breakpoint").values()];t.sort(((e,t)=>se(e,t,"asc")));let r=[T("--tw-sort","--tw-container-component"),T("width","100%")];for(let e of t)r.push(S("@media",`(width >= ${e})`,[T("max-width",e)]));return r})),n("flex-auto",[["flex","auto"]]),n("flex-initial",[["flex","0 auto"]]),n("flex-none",[["flex","none"]]),t.functional("flex",(e=>{if(e.value){if("arbitrary"===e.value.kind)return e.modifier?void 0:[T("flex",e.value.value)];if(e.value.fraction){let[t,r]=Z(e.value.fraction,"/");return Ce(t)&&Ce(r)?[T("flex",`calc(${e.value.fraction} * 100%)`)]:void 0}if(Ce(e.value.value))return e.modifier?void 0:[T("flex",e.value.value)]}})),r("flex",(()=>[{supportsFractions:!0},{values:Array.from({length:12},((e,t)=>`${t+1}`))}])),o("shrink",{defaultValue:"1",handleBareValue:({value:e})=>Ce(e)?e:null,handle:e=>[T("flex-shrink",e)]}),o("grow",{defaultValue:"1",handleBareValue:({value:e})=>Ce(e)?e:null,handle:e=>[T("flex-grow",e)]}),r("shrink",(()=>[{values:["0"],valueThemeKeys:[],hasDefaultValue:!0}])),r("grow",(()=>[{values:["0"],valueThemeKeys:[],hasDefaultValue:!0}])),n("basis-auto",[["flex-basis","auto"]]),n("basis-full",[["flex-basis","100%"]]),i("basis",["--flex-basis","--spacing","--container"],(e=>[T("flex-basis",e)]),{supportsFractions:!0}),n("table-auto",[["table-layout","auto"]]),n("table-fixed",[["table-layout","fixed"]]),n("caption-top",[["caption-side","top"]]),n("caption-bottom",[["caption-side","bottom"]]),n("border-collapse",[["border-collapse","collapse"]]),n("border-separate",[["border-collapse","separate"]]);let l=()=>K([De("--tw-border-spacing-x","0",""),De("--tw-border-spacing-y","0","")]);i("border-spacing",["--border-spacing","--spacing"],(e=>[l(),T("--tw-border-spacing-x",e),T("--tw-border-spacing-y",e),T("border-spacing","var(--tw-border-spacing-x) var(--tw-border-spacing-y)")])),i("border-spacing-x",["--border-spacing","--spacing"],(e=>[l(),T("--tw-border-spacing-x",e),T("border-spacing","var(--tw-border-spacing-x) var(--tw-border-spacing-y)")])),i("border-spacing-y",["--border-spacing","--spacing"],(e=>[l(),T("--tw-border-spacing-y",e),T("border-spacing","var(--tw-border-spacing-x) var(--tw-border-spacing-y)")])),o("origin",{themeKeys:["--transform-origin"],handle:e=>[T("transform-origin",e)],staticValues:{center:[T("transform-origin","center")],top:[T("transform-origin","top")],"top-right":[T("transform-origin","100% 0")],right:[T("transform-origin","100%")],"bottom-right":[T("transform-origin","100% 100%")],bottom:[T("transform-origin","bottom")],"bottom-left":[T("transform-origin","0 100%")],left:[T("transform-origin","0")],"top-left":[T("transform-origin","0 0")]}}),o("perspective-origin",{themeKeys:["--perspective-origin"],handle:e=>[T("perspective-origin",e)],staticValues:{center:[T("perspective-origin","center")],top:[T("perspective-origin","top")],"top-right":[T("perspective-origin","100% 0")],right:[T("perspective-origin","100%")],"bottom-right":[T("perspective-origin","100% 100%")],bottom:[T("perspective-origin","bottom")],"bottom-left":[T("perspective-origin","0 100%")],left:[T("perspective-origin","0")],"top-left":[T("perspective-origin","0 0")]}}),o("perspective",{themeKeys:["--perspective"],handle:e=>[T("perspective",e)],staticValues:{none:[T("perspective","none")]}});let s=()=>K([De("--tw-translate-x","0"),De("--tw-translate-y","0"),De("--tw-translate-z","0")]);n("translate-none",[["translate","none"]]),n("-translate-full",[s,["--tw-translate-x","-100%"],["--tw-translate-y","-100%"],["translate","var(--tw-translate-x) var(--tw-translate-y)"]]),n("translate-full",[s,["--tw-translate-x","100%"],["--tw-translate-y","100%"],["translate","var(--tw-translate-x) var(--tw-translate-y)"]]),i("translate",["--translate","--spacing"],(e=>[s(),T("--tw-translate-x",e),T("--tw-translate-y",e),T("translate","var(--tw-translate-x) var(--tw-translate-y)")]),{supportsNegative:!0,supportsFractions:!0});for(let e of["x","y"])n(`-translate-${e}-full`,[s,[`--tw-translate-${e}`,"-100%"],["translate","var(--tw-translate-x) var(--tw-translate-y)"]]),n(`translate-${e}-full`,[s,[`--tw-translate-${e}`,"100%"],["translate","var(--tw-translate-x) var(--tw-translate-y)"]]),i(`translate-${e}`,["--translate","--spacing"],(t=>[s(),T(`--tw-translate-${e}`,t),T("translate","var(--tw-translate-x) var(--tw-translate-y)")]),{supportsNegative:!0,supportsFractions:!0});i("translate-z",["--translate","--spacing"],(e=>[s(),T("--tw-translate-z",e),T("translate","var(--tw-translate-x) var(--tw-translate-y) var(--tw-translate-z)")]),{supportsNegative:!0}),n("translate-3d",[s,["translate","var(--tw-translate-x) var(--tw-translate-y) var(--tw-translate-z)"]]);let c=()=>K([De("--tw-scale-x","1"),De("--tw-scale-y","1"),De("--tw-scale-z","1")]);function u({negative:t}){return r=>{if(!r.value||r.modifier)return;let n;return"arbitrary"===r.value.kind?(n=r.value.value,n=t?`calc(${n} * -1)`:n,[T("scale",n)]):(n=e.resolve(r.value.value,["--scale"]),!n&&Ce(r.value.value)&&(n=`${r.value.value}%`),n?(n=t?`calc(${n} * -1)`:n,[c(),T("--tw-scale-x",n),T("--tw-scale-y",n),T("--tw-scale-z",n),T("scale","var(--tw-scale-x) var(--tw-scale-y)")]):void 0)}}n("scale-none",[["scale","none"]]),t.functional("-scale",u({negative:!0})),t.functional("scale",u({negative:!1})),r("scale",(()=>[{supportsNegative:!0,values:["0","50","75","90","95","100","105","110","125","150","200"],valueThemeKeys:["--scale"]}]));for(let e of["x","y","z"])o(`scale-${e}`,{supportsNegative:!0,themeKeys:["--scale"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,handle:t=>[c(),T(`--tw-scale-${e}`,t),T("scale","var(--tw-scale-x) var(--tw-scale-y)"+("z"===e?" var(--tw-scale-z)":""))]}),r(`scale-${e}`,(()=>[{supportsNegative:!0,values:["0","50","75","90","95","100","105","110","125","150","200"],valueThemeKeys:["--scale"]}]));function d({negative:t}){return r=>{if(!r.value||r.modifier)return;let n;if("arbitrary"===r.value.kind){n=r.value.value;let e=r.value.dataType??fe(n,["angle","vector"]);if("vector"===e)return[T("rotate",`${n} var(--tw-rotate)`)];if("angle"!==e)return[T("rotate",t?`calc(${n} * -1)`:n)]}else if(n=e.resolve(r.value.value,["--rotate"]),!n&&Ce(r.value.value)&&(n=`${r.value.value}deg`),!n)return;return[T("rotate",t?`calc(${n} * -1)`:n)]}}n("scale-3d",[c,["scale","var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)"]]),n("rotate-none",[["rotate","none"]]),t.functional("-rotate",d({negative:!0})),t.functional("rotate",d({negative:!1})),r("rotate",(()=>[{supportsNegative:!0,values:["0","1","2","3","6","12","45","90","180"],valueThemeKeys:["--rotate"]}]));{let e=["var(--tw-rotate-x,)","var(--tw-rotate-y,)","var(--tw-rotate-z,)","var(--tw-skew-x,)","var(--tw-skew-y,)"].join(" "),a=()=>K([De("--tw-rotate-x"),De("--tw-rotate-y"),De("--tw-rotate-z"),De("--tw-skew-x"),De("--tw-skew-y")]);for(let t of["x","y","z"])o(`rotate-${t}`,{supportsNegative:!0,themeKeys:["--rotate"],handleBareValue:({value:e})=>Ce(e)?`${e}deg`:null,handle:r=>[a(),T(`--tw-rotate-${t}`,`rotate${t.toUpperCase()}(${r})`),T("transform",e)]}),r(`rotate-${t}`,(()=>[{supportsNegative:!0,values:["0","1","2","3","6","12","45","90","180"],valueThemeKeys:["--rotate"]}]));o("skew",{supportsNegative:!0,themeKeys:["--skew"],handleBareValue:({value:e})=>Ce(e)?`${e}deg`:null,handle:t=>[a(),T("--tw-skew-x",`skewX(${t})`),T("--tw-skew-y",`skewY(${t})`),T("transform",e)]}),o("skew-x",{supportsNegative:!0,themeKeys:["--skew"],handleBareValue:({value:e})=>Ce(e)?`${e}deg`:null,handle:t=>[a(),T("--tw-skew-x",`skewX(${t})`),T("transform",e)]}),o("skew-y",{supportsNegative:!0,themeKeys:["--skew"],handleBareValue:({value:e})=>Ce(e)?`${e}deg`:null,handle:t=>[a(),T("--tw-skew-y",`skewY(${t})`),T("transform",e)]}),r("skew",(()=>[{supportsNegative:!0,values:["0","1","2","3","6","12"],valueThemeKeys:["--skew"]}])),r("skew-x",(()=>[{supportsNegative:!0,values:["0","1","2","3","6","12"],valueThemeKeys:["--skew"]}])),r("skew-y",(()=>[{supportsNegative:!0,values:["0","1","2","3","6","12"],valueThemeKeys:["--skew"]}])),t.functional("transform",(t=>{if(t.modifier)return;let r=null;return t.value?"arbitrary"===t.value.kind&&(r=t.value.value):r=e,null!==r?[a(),T("transform",r)]:void 0})),r("transform",(()=>[{hasDefaultValue:!0}])),n("transform-cpu",[["transform",e]]),n("transform-gpu",[["transform",`translateZ(0) ${e}`]]),n("transform-none",[["transform","none"]])}n("transform-flat",[["transform-style","flat"]]),n("transform-3d",[["transform-style","preserve-3d"]]),n("transform-content",[["transform-box","content-box"]]),n("transform-border",[["transform-box","border-box"]]),n("transform-fill",[["transform-box","fill-box"]]),n("transform-stroke",[["transform-box","stroke-box"]]),n("transform-view",[["transform-box","view-box"]]),n("backface-visible",[["backface-visibility","visible"]]),n("backface-hidden",[["backface-visibility","hidden"]]);for(let e of["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out"])n(`cursor-${e}`,[["cursor",e]]);o("cursor",{themeKeys:["--cursor"],handle:e=>[T("cursor",e)]});for(let e of["auto","none","manipulation"])n(`touch-${e}`,[["touch-action",e]]);let f=()=>K([De("--tw-pan-x"),De("--tw-pan-y"),De("--tw-pinch-zoom")]);for(let e of["x","left","right"])n(`touch-pan-${e}`,[f,["--tw-pan-x",`pan-${e}`],["touch-action","var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)"]]);for(let e of["y","up","down"])n(`touch-pan-${e}`,[f,["--tw-pan-y",`pan-${e}`],["touch-action","var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)"]]);n("touch-pinch-zoom",[f,["--tw-pinch-zoom","pinch-zoom"],["touch-action","var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)"]]);for(let e of["none","text","all","auto"])n(`select-${e}`,[["-webkit-user-select",e],["user-select",e]]);n("resize-none",[["resize","none"]]),n("resize-x",[["resize","horizontal"]]),n("resize-y",[["resize","vertical"]]),n("resize",[["resize","both"]]),n("snap-none",[["scroll-snap-type","none"]]);let p=()=>K([De("--tw-scroll-snap-strictness","proximity","*")]);for(let e of["x","y","both"])n(`snap-${e}`,[p,["scroll-snap-type",`${e} var(--tw-scroll-snap-strictness)`]]);n("snap-mandatory",[p,["--tw-scroll-snap-strictness","mandatory"]]),n("snap-proximity",[p,["--tw-scroll-snap-strictness","proximity"]]),n("snap-align-none",[["scroll-snap-align","none"]]),n("snap-start",[["scroll-snap-align","start"]]),n("snap-end",[["scroll-snap-align","end"]]),n("snap-center",[["scroll-snap-align","center"]]),n("snap-normal",[["scroll-snap-stop","normal"]]),n("snap-always",[["scroll-snap-stop","always"]]);for(let[e,t]of[["scroll-m","scroll-margin"],["scroll-mx","scroll-margin-inline"],["scroll-my","scroll-margin-block"],["scroll-ms","scroll-margin-inline-start"],["scroll-me","scroll-margin-inline-end"],["scroll-mt","scroll-margin-top"],["scroll-mr","scroll-margin-right"],["scroll-mb","scroll-margin-bottom"],["scroll-ml","scroll-margin-left"]])i(e,["--scroll-margin","--spacing"],(e=>[T(t,e)]),{supportsNegative:!0});for(let[e,t]of[["scroll-p","scroll-padding"],["scroll-px","scroll-padding-inline"],["scroll-py","scroll-padding-block"],["scroll-ps","scroll-padding-inline-start"],["scroll-pe","scroll-padding-inline-end"],["scroll-pt","scroll-padding-top"],["scroll-pr","scroll-padding-right"],["scroll-pb","scroll-padding-bottom"],["scroll-pl","scroll-padding-left"]])i(e,["--scroll-padding","--spacing"],(e=>[T(t,e)]));n("list-inside",[["list-style-position","inside"]]),n("list-outside",[["list-style-position","outside"]]),o("list",{themeKeys:["--list-style-type"],handle:e=>[T("list-style-type",e)],staticValues:{none:[T("list-style-type","none")],disc:[T("list-style-type","disc")],decimal:[T("list-style-type","decimal")]}}),o("list-image",{themeKeys:["--list-style-image"],handle:e=>[T("list-style-image",e)],staticValues:{none:[T("list-style-image","none")]}}),n("appearance-none",[["appearance","none"]]),n("appearance-auto",[["appearance","auto"]]),n("scheme-normal",[["color-scheme","normal"]]),n("scheme-dark",[["color-scheme","dark"]]),n("scheme-light",[["color-scheme","light"]]),n("scheme-light-dark",[["color-scheme","light dark"]]),n("scheme-only-dark",[["color-scheme","only dark"]]),n("scheme-only-light",[["color-scheme","only light"]]),o("columns",{themeKeys:["--columns","--container"],handleBareValue:({value:e})=>Ce(e)?e:null,handle:e=>[T("columns",e)],staticValues:{auto:[T("columns","auto")]}}),r("columns",(()=>[{values:Array.from({length:12},((e,t)=>`${t+1}`)),valueThemeKeys:["--columns","--container"]}]));for(let e of["auto","avoid","all","avoid-page","page","left","right","column"])n(`break-before-${e}`,[["break-before",e]]);for(let e of["auto","avoid","avoid-page","avoid-column"])n(`break-inside-${e}`,[["break-inside",e]]);for(let e of["auto","avoid","all","avoid-page","page","left","right","column"])n(`break-after-${e}`,[["break-after",e]]);n("grid-flow-row",[["grid-auto-flow","row"]]),n("grid-flow-col",[["grid-auto-flow","column"]]),n("grid-flow-dense",[["grid-auto-flow","dense"]]),n("grid-flow-row-dense",[["grid-auto-flow","row dense"]]),n("grid-flow-col-dense",[["grid-auto-flow","column dense"]]),o("auto-cols",{themeKeys:["--grid-auto-columns"],handle:e=>[T("grid-auto-columns",e)],staticValues:{auto:[T("grid-auto-columns","auto")],min:[T("grid-auto-columns","min-content")],max:[T("grid-auto-columns","max-content")],fr:[T("grid-auto-columns","minmax(0, 1fr)")]}}),o("auto-rows",{themeKeys:["--grid-auto-rows"],handle:e=>[T("grid-auto-rows",e)],staticValues:{auto:[T("grid-auto-rows","auto")],min:[T("grid-auto-rows","min-content")],max:[T("grid-auto-rows","max-content")],fr:[T("grid-auto-rows","minmax(0, 1fr)")]}}),o("grid-cols",{themeKeys:["--grid-template-columns"],handleBareValue:({value:e})=>Te(e)?`repeat(${e}, minmax(0, 1fr))`:null,handle:e=>[T("grid-template-columns",e)],staticValues:{none:[T("grid-template-columns","none")],subgrid:[T("grid-template-columns","subgrid")]}}),o("grid-rows",{themeKeys:["--grid-template-rows"],handleBareValue:({value:e})=>Te(e)?`repeat(${e}, minmax(0, 1fr))`:null,handle:e=>[T("grid-template-rows",e)],staticValues:{none:[T("grid-template-rows","none")],subgrid:[T("grid-template-rows","subgrid")]}}),r("grid-cols",(()=>[{values:Array.from({length:12},((e,t)=>`${t+1}`)),valueThemeKeys:["--grid-template-columns"]}])),r("grid-rows",(()=>[{values:Array.from({length:12},((e,t)=>`${t+1}`)),valueThemeKeys:["--grid-template-rows"]}])),n("flex-row",[["flex-direction","row"]]),n("flex-row-reverse",[["flex-direction","row-reverse"]]),n("flex-col",[["flex-direction","column"]]),n("flex-col-reverse",[["flex-direction","column-reverse"]]),n("flex-wrap",[["flex-wrap","wrap"]]),n("flex-nowrap",[["flex-wrap","nowrap"]]),n("flex-wrap-reverse",[["flex-wrap","wrap-reverse"]]),n("place-content-center",[["place-content","center"]]),n("place-content-start",[["place-content","start"]]),n("place-content-end",[["place-content","end"]]),n("place-content-center-safe",[["place-content","safe center"]]),n("place-content-end-safe",[["place-content","safe end"]]),n("place-content-between",[["place-content","space-between"]]),n("place-content-around",[["place-content","space-around"]]),n("place-content-evenly",[["place-content","space-evenly"]]),n("place-content-baseline",[["place-content","baseline"]]),n("place-content-stretch",[["place-content","stretch"]]),n("place-items-center",[["place-items","center"]]),n("place-items-start",[["place-items","start"]]),n("place-items-end",[["place-items","end"]]),n("place-items-center-safe",[["place-items","safe center"]]),n("place-items-end-safe",[["place-items","safe end"]]),n("place-items-baseline",[["place-items","baseline"]]),n("place-items-stretch",[["place-items","stretch"]]),n("content-normal",[["align-content","normal"]]),n("content-center",[["align-content","center"]]),n("content-start",[["align-content","flex-start"]]),n("content-end",[["align-content","flex-end"]]),n("content-center-safe",[["align-content","safe center"]]),n("content-end-safe",[["align-content","safe flex-end"]]),n("content-between",[["align-content","space-between"]]),n("content-around",[["align-content","space-around"]]),n("content-evenly",[["align-content","space-evenly"]]),n("content-baseline",[["align-content","baseline"]]),n("content-stretch",[["align-content","stretch"]]),n("items-center",[["align-items","center"]]),n("items-start",[["align-items","flex-start"]]),n("items-end",[["align-items","flex-end"]]),n("items-center-safe",[["align-items","safe center"]]),n("items-end-safe",[["align-items","safe flex-end"]]),n("items-baseline",[["align-items","baseline"]]),n("items-baseline-last",[["align-items","last baseline"]]),n("items-stretch",[["align-items","stretch"]]),n("justify-normal",[["justify-content","normal"]]),n("justify-center",[["justify-content","center"]]),n("justify-start",[["justify-content","flex-start"]]),n("justify-end",[["justify-content","flex-end"]]),n("justify-center-safe",[["justify-content","safe center"]]),n("justify-end-safe",[["justify-content","safe flex-end"]]),n("justify-between",[["justify-content","space-between"]]),n("justify-around",[["justify-content","space-around"]]),n("justify-evenly",[["justify-content","space-evenly"]]),n("justify-baseline",[["justify-content","baseline"]]),n("justify-stretch",[["justify-content","stretch"]]),n("justify-items-normal",[["justify-items","normal"]]),n("justify-items-center",[["justify-items","center"]]),n("justify-items-start",[["justify-items","start"]]),n("justify-items-end",[["justify-items","end"]]),n("justify-items-center-safe",[["justify-items","safe center"]]),n("justify-items-end-safe",[["justify-items","safe end"]]),n("justify-items-stretch",[["justify-items","stretch"]]),i("gap",["--gap","--spacing"],(e=>[T("gap",e)])),i("gap-x",["--gap","--spacing"],(e=>[T("column-gap",e)])),i("gap-y",["--gap","--spacing"],(e=>[T("row-gap",e)])),i("space-x",["--space","--spacing"],(e=>[K([De("--tw-space-x-reverse","0")]),z(":where(& > :not(:last-child))",[T("--tw-sort","row-gap"),T("--tw-space-x-reverse","0"),T("margin-inline-start",`calc(${e} * var(--tw-space-x-reverse))`),T("margin-inline-end",`calc(${e} * calc(1 - var(--tw-space-x-reverse)))`)])]),{supportsNegative:!0}),i("space-y",["--space","--spacing"],(e=>[K([De("--tw-space-y-reverse","0")]),z(":where(& > :not(:last-child))",[T("--tw-sort","column-gap"),T("--tw-space-y-reverse","0"),T("margin-block-start",`calc(${e} * var(--tw-space-y-reverse))`),T("margin-block-end",`calc(${e} * calc(1 - var(--tw-space-y-reverse)))`)])]),{supportsNegative:!0}),n("space-x-reverse",[()=>K([De("--tw-space-x-reverse","0")]),()=>z(":where(& > :not(:last-child))",[T("--tw-sort","row-gap"),T("--tw-space-x-reverse","1")])]),n("space-y-reverse",[()=>K([De("--tw-space-y-reverse","0")]),()=>z(":where(& > :not(:last-child))",[T("--tw-sort","column-gap"),T("--tw-space-y-reverse","1")])]),n("accent-auto",[["accent-color","auto"]]),a("accent",{themeKeys:["--accent-color","--color"],handle:e=>[T("accent-color",e)]}),a("caret",{themeKeys:["--caret-color","--color"],handle:e=>[T("caret-color",e)]}),a("divide",{themeKeys:["--divide-color","--border-color","--color"],handle:e=>[z(":where(& > :not(:last-child))",[T("--tw-sort","divide-color"),T("border-color",e)])]}),n("place-self-auto",[["place-self","auto"]]),n("place-self-start",[["place-self","start"]]),n("place-self-end",[["place-self","end"]]),n("place-self-center",[["place-self","center"]]),n("place-self-end-safe",[["place-self","safe end"]]),n("place-self-center-safe",[["place-self","safe center"]]),n("place-self-stretch",[["place-self","stretch"]]),n("self-auto",[["align-self","auto"]]),n("self-start",[["align-self","flex-start"]]),n("self-end",[["align-self","flex-end"]]),n("self-center",[["align-self","center"]]),n("self-end-safe",[["align-self","safe flex-end"]]),n("self-center-safe",[["align-self","safe center"]]),n("self-stretch",[["align-self","stretch"]]),n("self-baseline",[["align-self","baseline"]]),n("self-baseline-last",[["align-self","last baseline"]]),n("justify-self-auto",[["justify-self","auto"]]),n("justify-self-start",[["justify-self","flex-start"]]),n("justify-self-end",[["justify-self","flex-end"]]),n("justify-self-center",[["justify-self","center"]]),n("justify-self-end-safe",[["justify-self","safe flex-end"]]),n("justify-self-center-safe",[["justify-self","safe center"]]),n("justify-self-stretch",[["justify-self","stretch"]]);for(let e of["auto","hidden","clip","visible","scroll"])n(`overflow-${e}`,[["overflow",e]]),n(`overflow-x-${e}`,[["overflow-x",e]]),n(`overflow-y-${e}`,[["overflow-y",e]]);for(let e of["auto","contain","none"])n(`overscroll-${e}`,[["overscroll-behavior",e]]),n(`overscroll-x-${e}`,[["overscroll-behavior-x",e]]),n(`overscroll-y-${e}`,[["overscroll-behavior-y",e]]);n("scroll-auto",[["scroll-behavior","auto"]]),n("scroll-smooth",[["scroll-behavior","smooth"]]),n("truncate",[["overflow","hidden"],["text-overflow","ellipsis"],["white-space","nowrap"]]),n("text-ellipsis",[["text-overflow","ellipsis"]]),n("text-clip",[["text-overflow","clip"]]),n("hyphens-none",[["-webkit-hyphens","none"],["hyphens","none"]]),n("hyphens-manual",[["-webkit-hyphens","manual"],["hyphens","manual"]]),n("hyphens-auto",[["-webkit-hyphens","auto"],["hyphens","auto"]]),n("whitespace-normal",[["white-space","normal"]]),n("whitespace-nowrap",[["white-space","nowrap"]]),n("whitespace-pre",[["white-space","pre"]]),n("whitespace-pre-line",[["white-space","pre-line"]]),n("whitespace-pre-wrap",[["white-space","pre-wrap"]]),n("whitespace-break-spaces",[["white-space","break-spaces"]]),n("text-wrap",[["text-wrap","wrap"]]),n("text-nowrap",[["text-wrap","nowrap"]]),n("text-balance",[["text-wrap","balance"]]),n("text-pretty",[["text-wrap","pretty"]]),n("break-normal",[["overflow-wrap","normal"],["word-break","normal"]]),n("break-all",[["word-break","break-all"]]),n("break-keep",[["word-break","keep-all"]]),n("wrap-anywhere",[["overflow-wrap","anywhere"]]),n("wrap-break-word",[["overflow-wrap","break-word"]]),n("wrap-normal",[["overflow-wrap","normal"]]);for(let[e,t]of[["rounded",["border-radius"]],["rounded-s",["border-start-start-radius","border-end-start-radius"]],["rounded-e",["border-start-end-radius","border-end-end-radius"]],["rounded-t",["border-top-left-radius","border-top-right-radius"]],["rounded-r",["border-top-right-radius","border-bottom-right-radius"]],["rounded-b",["border-bottom-right-radius","border-bottom-left-radius"]],["rounded-l",["border-top-left-radius","border-bottom-left-radius"]],["rounded-ss",["border-start-start-radius"]],["rounded-se",["border-start-end-radius"]],["rounded-ee",["border-end-end-radius"]],["rounded-es",["border-end-start-radius"]],["rounded-tl",["border-top-left-radius"]],["rounded-tr",["border-top-right-radius"]],["rounded-br",["border-bottom-right-radius"]],["rounded-bl",["border-bottom-left-radius"]]])o(e,{themeKeys:["--radius"],handle:e=>t.map((t=>T(t,e))),staticValues:{none:t.map((e=>T(e,"0"))),full:t.map((e=>T(e,"calc(infinity * 1px)")))}});n("border-solid",[["--tw-border-style","solid"],["border-style","solid"]]),n("border-dashed",[["--tw-border-style","dashed"],["border-style","dashed"]]),n("border-dotted",[["--tw-border-style","dotted"],["border-style","dotted"]]),n("border-double",[["--tw-border-style","double"],["border-style","double"]]),n("border-hidden",[["--tw-border-style","hidden"],["border-style","hidden"]]),n("border-none",[["--tw-border-style","none"],["border-style","none"]]);{let a=function(n,o){t.functional(n,(t=>{if(!t.value){if(t.modifier)return;let r=e.get(["--default-border-width"])??"1px",n=o.width(r);return n?[i(),...n]:void 0}if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["color","line-width","length"])){case"line-width":case"length":{if(t.modifier)return;let e=o.width(r);return e?[i(),...e]:void 0}default:return r=Me(r,t.modifier,e),null===r?void 0:o.color(r)}}{let r=Be(t,e,["--border-color","--color"]);if(r)return o.color(r)}{if(t.modifier)return;let r=e.resolve(t.value.value,["--border-width"]);if(r){let e=o.width(r);return e?[i(),...e]:void 0}if(Ce(t.value.value)){let e=o.width(`${t.value.value}px`);return e?[i(),...e]:void 0}}})),r(n,(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--border-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t)),hasDefaultValue:!0},{values:["0","2","4","8"],valueThemeKeys:["--border-width"]}]))},i=()=>K([De("--tw-border-style","solid")]);a("border",{width:e=>[T("border-style","var(--tw-border-style)"),T("border-width",e)],color:e=>[T("border-color",e)]}),a("border-x",{width:e=>[T("border-inline-style","var(--tw-border-style)"),T("border-inline-width",e)],color:e=>[T("border-inline-color",e)]}),a("border-y",{width:e=>[T("border-block-style","var(--tw-border-style)"),T("border-block-width",e)],color:e=>[T("border-block-color",e)]}),a("border-s",{width:e=>[T("border-inline-start-style","var(--tw-border-style)"),T("border-inline-start-width",e)],color:e=>[T("border-inline-start-color",e)]}),a("border-e",{width:e=>[T("border-inline-end-style","var(--tw-border-style)"),T("border-inline-end-width",e)],color:e=>[T("border-inline-end-color",e)]}),a("border-t",{width:e=>[T("border-top-style","var(--tw-border-style)"),T("border-top-width",e)],color:e=>[T("border-top-color",e)]}),a("border-r",{width:e=>[T("border-right-style","var(--tw-border-style)"),T("border-right-width",e)],color:e=>[T("border-right-color",e)]}),a("border-b",{width:e=>[T("border-bottom-style","var(--tw-border-style)"),T("border-bottom-width",e)],color:e=>[T("border-bottom-color",e)]}),a("border-l",{width:e=>[T("border-left-style","var(--tw-border-style)"),T("border-left-width",e)],color:e=>[T("border-left-color",e)]}),o("divide-x",{defaultValue:e.get(["--default-border-width"])??"1px",themeKeys:["--divide-width","--border-width"],handleBareValue:({value:e})=>Ce(e)?`${e}px`:null,handle:e=>[K([De("--tw-divide-x-reverse","0")]),z(":where(& > :not(:last-child))",[T("--tw-sort","divide-x-width"),i(),T("--tw-divide-x-reverse","0"),T("border-inline-style","var(--tw-border-style)"),T("border-inline-start-width",`calc(${e} * var(--tw-divide-x-reverse))`),T("border-inline-end-width",`calc(${e} * calc(1 - var(--tw-divide-x-reverse)))`)])]}),o("divide-y",{defaultValue:e.get(["--default-border-width"])??"1px",themeKeys:["--divide-width","--border-width"],handleBareValue:({value:e})=>Ce(e)?`${e}px`:null,handle:e=>[K([De("--tw-divide-y-reverse","0")]),z(":where(& > :not(:last-child))",[T("--tw-sort","divide-y-width"),i(),T("--tw-divide-y-reverse","0"),T("border-bottom-style","var(--tw-border-style)"),T("border-top-style","var(--tw-border-style)"),T("border-top-width",`calc(${e} * var(--tw-divide-y-reverse))`),T("border-bottom-width",`calc(${e} * calc(1 - var(--tw-divide-y-reverse)))`)])]}),r("divide-x",(()=>[{values:["0","2","4","8"],valueThemeKeys:["--divide-width","--border-width"],hasDefaultValue:!0}])),r("divide-y",(()=>[{values:["0","2","4","8"],valueThemeKeys:["--divide-width","--border-width"],hasDefaultValue:!0}])),n("divide-x-reverse",[()=>K([De("--tw-divide-x-reverse","0")]),()=>z(":where(& > :not(:last-child))",[T("--tw-divide-x-reverse","1")])]),n("divide-y-reverse",[()=>K([De("--tw-divide-y-reverse","0")]),()=>z(":where(& > :not(:last-child))",[T("--tw-divide-y-reverse","1")])]);for(let e of["solid","dashed","dotted","double","none"])n(`divide-${e}`,[()=>z(":where(& > :not(:last-child))",[T("--tw-sort","divide-style"),T("--tw-border-style",e),T("border-style",e)])])}n("bg-auto",[["background-size","auto"]]),n("bg-cover",[["background-size","cover"]]),n("bg-contain",[["background-size","contain"]]),o("bg-size",{handle(e){if(e)return[T("background-size",e)]}}),n("bg-fixed",[["background-attachment","fixed"]]),n("bg-local",[["background-attachment","local"]]),n("bg-scroll",[["background-attachment","scroll"]]),n("bg-top",[["background-position","top"]]),n("bg-top-left",[["background-position","left top"]]),n("bg-top-right",[["background-position","right top"]]),n("bg-bottom",[["background-position","bottom"]]),n("bg-bottom-left",[["background-position","left bottom"]]),n("bg-bottom-right",[["background-position","right bottom"]]),n("bg-left",[["background-position","left"]]),n("bg-right",[["background-position","right"]]),n("bg-center",[["background-position","center"]]),o("bg-position",{handle(e){if(e)return[T("background-position",e)]}}),n("bg-repeat",[["background-repeat","repeat"]]),n("bg-no-repeat",[["background-repeat","no-repeat"]]),n("bg-repeat-x",[["background-repeat","repeat-x"]]),n("bg-repeat-y",[["background-repeat","repeat-y"]]),n("bg-repeat-round",[["background-repeat","round"]]),n("bg-repeat-space",[["background-repeat","space"]]),n("bg-none",[["background-image","none"]]);{let e=function(e){let t="in oklab";if("named"===e?.kind)switch(e.value){case"longer":case"shorter":case"increasing":case"decreasing":t=`in oklch ${e.value} hue`;break;default:t=`in ${e.value}`}else"arbitrary"===e?.kind&&(t=e.value);return t},n=function({negative:t}){return r=>{if(!r.value)return;if("arbitrary"===r.value.kind){if(r.modifier)return;let e=r.value.value;return"angle"===(r.value.dataType??fe(e,["angle"]))?(e=t?`calc(${e} * -1)`:`${e}`,[T("--tw-gradient-position",e),T("background-image",`linear-gradient(var(--tw-gradient-stops,${e}))`)]):t?void 0:[T("--tw-gradient-position",e),T("background-image",`linear-gradient(var(--tw-gradient-stops,${e}))`)]}let n=r.value.value;if(!t&&i.has(n))n=i.get(n);else{if(!Ce(n))return;n=t?`calc(${n}deg * -1)`:`${n}deg`}let o=e(r.modifier);return[T("--tw-gradient-position",`${n}`),C("@supports (background-image: linear-gradient(in lab, red, red))",[T("--tw-gradient-position",`${n} ${o}`)]),T("background-image","linear-gradient(var(--tw-gradient-stops))")]}},o=function({negative:t}){return r=>{if("arbitrary"===r.value?.kind){if(r.modifier)return;let e=r.value.value;return[T("--tw-gradient-position",e),T("background-image",`conic-gradient(var(--tw-gradient-stops,${e}))`)]}let n=e(r.modifier);if(!r.value)return[T("--tw-gradient-position",n),T("background-image","conic-gradient(var(--tw-gradient-stops))")];let o=r.value.value;return Ce(o)?(o=t?`calc(${o}deg * -1)`:`${o}deg`,[T("--tw-gradient-position",`from ${o} ${n}`),T("background-image","conic-gradient(var(--tw-gradient-stops))")]):void 0}},a=["oklab","oklch","srgb","hsl","longer","shorter","increasing","decreasing"],i=new Map([["to-t","to top"],["to-tr","to top right"],["to-r","to right"],["to-br","to bottom right"],["to-b","to bottom"],["to-bl","to bottom left"],["to-l","to left"],["to-tl","to top left"]]);t.functional("-bg-linear",n({negative:!0})),t.functional("bg-linear",n({negative:!1})),r("bg-linear",(()=>[{values:[...i.keys()],modifiers:a},{values:["0","30","60","90","120","150","180","210","240","270","300","330"],supportsNegative:!0,modifiers:a}])),t.functional("-bg-conic",o({negative:!0})),t.functional("bg-conic",o({negative:!1})),r("bg-conic",(()=>[{hasDefaultValue:!0,modifiers:a},{values:["0","30","60","90","120","150","180","210","240","270","300","330"],supportsNegative:!0,modifiers:a}])),t.functional("bg-radial",(t=>{if(!t.value)return[T("--tw-gradient-position",e(t.modifier)),T("background-image","radial-gradient(var(--tw-gradient-stops))")];if("arbitrary"===t.value.kind){if(t.modifier)return;let e=t.value.value;return[T("--tw-gradient-position",e),T("background-image",`radial-gradient(var(--tw-gradient-stops,${e}))`)]}})),r("bg-radial",(()=>[{hasDefaultValue:!0,modifiers:a}]))}t.functional("bg",(t=>{if(t.value){if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["image","color","percentage","position","bg-size","length","url"])){case"percentage":case"position":return t.modifier?void 0:[T("background-position",r)];case"bg-size":case"length":case"size":return t.modifier?void 0:[T("background-size",r)];case"image":case"url":return t.modifier?void 0:[T("background-image",r)];default:return r=Me(r,t.modifier,e),null===r?void 0:[T("background-color",r)]}}{let r=Be(t,e,["--background-color","--color"]);if(r)return[T("background-color",r)]}{if(t.modifier)return;let r=e.resolve(t.value.value,["--background-image"]);if(r)return[T("background-image",r)]}}})),r("bg",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--background-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:[],valueThemeKeys:["--background-image"]}]));let h=()=>K([De("--tw-gradient-position"),De("--tw-gradient-from","#0000",""),De("--tw-gradient-via","#0000",""),De("--tw-gradient-to","#0000",""),De("--tw-gradient-stops"),De("--tw-gradient-via-stops"),De("--tw-gradient-from-position","0%",""),De("--tw-gradient-via-position","50%",""),De("--tw-gradient-to-position","100%","")]);function m(n,o){t.functional(n,(t=>{if(t.value){if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["color","length","percentage"])){case"length":case"percentage":return t.modifier?void 0:o.position(r);default:return r=Me(r,t.modifier,e),null===r?void 0:o.color(r)}}{let r=Be(t,e,["--background-color","--color"]);if(r)return o.color(r)}{if(t.modifier)return;let r=e.resolve(t.value.value,["--gradient-color-stop-positions"]);if(r)return o.position(r);if("%"===t.value.value[t.value.value.length-1]&&Ce(t.value.value.slice(0,-1)))return o.position(t.value.value)}}})),r(n,(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--background-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:Array.from({length:21},((e,t)=>5*t+"%")),valueThemeKeys:["--gradient-color-stop-positions"]}]))}m("from",{color:e=>[h(),T("--tw-sort","--tw-gradient-from"),T("--tw-gradient-from",e),T("--tw-gradient-stops","var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))")],position:e=>[h(),T("--tw-gradient-from-position",e)]}),n("via-none",[["--tw-gradient-via-stops","initial"]]),m("via",{color:e=>[h(),T("--tw-sort","--tw-gradient-via"),T("--tw-gradient-via",e),T("--tw-gradient-via-stops","var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position)"),T("--tw-gradient-stops","var(--tw-gradient-via-stops)")],position:e=>[h(),T("--tw-gradient-via-position",e)]}),m("to",{color:e=>[h(),T("--tw-sort","--tw-gradient-to"),T("--tw-gradient-to",e),T("--tw-gradient-stops","var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))")],position:e=>[h(),T("--tw-gradient-to-position",e)]}),n("mask-none",[["mask-image","none"]]),t.functional("mask",(e=>{if(!e.value||e.modifier||"arbitrary"!==e.value.kind)return;let t=e.value.value;switch(e.value.dataType??fe(t,["image","percentage","position","bg-size","length","url"])){case"percentage":case"position":return e.modifier?void 0:[T("mask-position",t)];case"bg-size":case"length":case"size":return[T("mask-size",t)];default:return[T("mask-image",t)]}})),n("mask-add",[["mask-composite","add"]]),n("mask-subtract",[["mask-composite","subtract"]]),n("mask-intersect",[["mask-composite","intersect"]]),n("mask-exclude",[["mask-composite","exclude"]]),n("mask-alpha",[["mask-mode","alpha"]]),n("mask-luminance",[["mask-mode","luminance"]]),n("mask-match",[["mask-mode","match-source"]]),n("mask-type-alpha",[["mask-type","alpha"]]),n("mask-type-luminance",[["mask-type","luminance"]]),n("mask-auto",[["mask-size","auto"]]),n("mask-cover",[["mask-size","cover"]]),n("mask-contain",[["mask-size","contain"]]),o("mask-size",{handle(e){if(e)return[T("mask-size",e)]}}),n("mask-top",[["mask-position","top"]]),n("mask-top-left",[["mask-position","left top"]]),n("mask-top-right",[["mask-position","right top"]]),n("mask-bottom",[["mask-position","bottom"]]),n("mask-bottom-left",[["mask-position","left bottom"]]),n("mask-bottom-right",[["mask-position","right bottom"]]),n("mask-left",[["mask-position","left"]]),n("mask-right",[["mask-position","right"]]),n("mask-center",[["mask-position","center"]]),o("mask-position",{handle(e){if(e)return[T("mask-position",e)]}}),n("mask-repeat",[["mask-repeat","repeat"]]),n("mask-no-repeat",[["mask-repeat","no-repeat"]]),n("mask-repeat-x",[["mask-repeat","repeat-x"]]),n("mask-repeat-y",[["mask-repeat","repeat-y"]]),n("mask-repeat-round",[["mask-repeat","round"]]),n("mask-repeat-space",[["mask-repeat","space"]]),n("mask-clip-border",[["mask-clip","border-box"]]),n("mask-clip-padding",[["mask-clip","padding-box"]]),n("mask-clip-content",[["mask-clip","content-box"]]),n("mask-clip-fill",[["mask-clip","fill-box"]]),n("mask-clip-stroke",[["mask-clip","stroke-box"]]),n("mask-clip-view",[["mask-clip","view-box"]]),n("mask-no-clip",[["mask-clip","no-clip"]]),n("mask-origin-border",[["mask-origin","border-box"]]),n("mask-origin-padding",[["mask-origin","padding-box"]]),n("mask-origin-content",[["mask-origin","content-box"]]),n("mask-origin-fill",[["mask-origin","fill-box"]]),n("mask-origin-stroke",[["mask-origin","stroke-box"]]),n("mask-origin-view",[["mask-origin","view-box"]]);let g=()=>K([De("--tw-mask-linear","linear-gradient(#fff, #fff)"),De("--tw-mask-radial","linear-gradient(#fff, #fff)"),De("--tw-mask-conic","linear-gradient(#fff, #fff)")]);function v(n,o){t.functional(n,(t=>{if(t.value){if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["length","percentage","color"])){case"color":return r=Me(r,t.modifier,e),null===r?void 0:o.color(r);case"percentage":return t.modifier||!Ce(r.slice(0,-1))?void 0:o.position(r);default:return t.modifier?void 0:o.position(r)}}{let r=Be(t,e,["--background-color","--color"]);if(r)return o.color(r)}{if(t.modifier)return;let r=fe(t.value.value,["number","percentage"]);if(!r)return;switch(r){case"number":{let r=e.resolve(null,["--spacing"]);return r&&je(t.value.value)?o.position(`calc(${r} * ${t.value.value})`):void 0}case"percentage":return Ce(t.value.value.slice(0,-1))?o.position(t.value.value):void 0;default:return}}}})),r(n,(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--background-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:Array.from({length:21},((e,t)=>5*t+"%")),valueThemeKeys:["--gradient-color-stop-positions"]}])),r(n,(()=>[{values:Array.from({length:21},((e,t)=>5*t+"%"))},{values:e.get(["--spacing"])?We:[]},{values:["current","inherit","transparent"],valueThemeKeys:["--background-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))}]))}let w=()=>K([De("--tw-mask-left","linear-gradient(#fff, #fff)"),De("--tw-mask-right","linear-gradient(#fff, #fff)"),De("--tw-mask-bottom","linear-gradient(#fff, #fff)"),De("--tw-mask-top","linear-gradient(#fff, #fff)")]);function k(e,t,r){v(e,{color(e){let n=[g(),w(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-linear","var(--tw-mask-left), var(--tw-mask-right), var(--tw-mask-bottom), var(--tw-mask-top)")];for(let o of["top","right","bottom","left"])r[o]&&(n.push(T(`--tw-mask-${o}`,`linear-gradient(to ${o}, var(--tw-mask-${o}-from-color) var(--tw-mask-${o}-from-position), var(--tw-mask-${o}-to-color) var(--tw-mask-${o}-to-position))`)),n.push(K([De(`--tw-mask-${o}-from-position`,"0%"),De(`--tw-mask-${o}-to-position`,"100%"),De(`--tw-mask-${o}-from-color`,"black"),De(`--tw-mask-${o}-to-color`,"transparent")])),n.push(T(`--tw-mask-${o}-${t}-color`,e)));return n},position(e){let n=[g(),w(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-linear","var(--tw-mask-left), var(--tw-mask-right), var(--tw-mask-bottom), var(--tw-mask-top)")];for(let o of["top","right","bottom","left"])r[o]&&(n.push(T(`--tw-mask-${o}`,`linear-gradient(to ${o}, var(--tw-mask-${o}-from-color) var(--tw-mask-${o}-from-position), var(--tw-mask-${o}-to-color) var(--tw-mask-${o}-to-position))`)),n.push(K([De(`--tw-mask-${o}-from-position`,"0%"),De(`--tw-mask-${o}-to-position`,"100%"),De(`--tw-mask-${o}-from-color`,"black"),De(`--tw-mask-${o}-to-color`,"transparent")])),n.push(T(`--tw-mask-${o}-${t}-position`,e)));return n}})}k("mask-x-from","from",{top:!1,right:!0,bottom:!1,left:!0}),k("mask-x-to","to",{top:!1,right:!0,bottom:!1,left:!0}),k("mask-y-from","from",{top:!0,right:!1,bottom:!0,left:!1}),k("mask-y-to","to",{top:!0,right:!1,bottom:!0,left:!1}),k("mask-t-from","from",{top:!0,right:!1,bottom:!1,left:!1}),k("mask-t-to","to",{top:!0,right:!1,bottom:!1,left:!1}),k("mask-r-from","from",{top:!1,right:!0,bottom:!1,left:!1}),k("mask-r-to","to",{top:!1,right:!0,bottom:!1,left:!1}),k("mask-b-from","from",{top:!1,right:!1,bottom:!0,left:!1}),k("mask-b-to","to",{top:!1,right:!1,bottom:!0,left:!1}),k("mask-l-from","from",{top:!1,right:!1,bottom:!1,left:!0}),k("mask-l-to","to",{top:!1,right:!1,bottom:!1,left:!0});let b=()=>K([De("--tw-mask-linear-position","0deg"),De("--tw-mask-linear-from-position","0%"),De("--tw-mask-linear-to-position","100%"),De("--tw-mask-linear-from-color","black"),De("--tw-mask-linear-to-color","transparent")]);o("mask-linear",{defaultValue:null,supportsNegative:!0,supportsFractions:!1,handleBareValue:e=>Ce(e.value)?`calc(1deg * ${e.value})`:null,handleNegativeBareValue:e=>Ce(e.value)?`calc(1deg * -${e.value})`:null,handle:e=>[g(),b(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-linear","linear-gradient(var(--tw-mask-linear-stops, var(--tw-mask-linear-position)))"),T("--tw-mask-linear-position",e)]}),r("mask-linear",(()=>[{supportsNegative:!0,values:["0","1","2","3","6","12","45","90","180"]}])),v("mask-linear-from",{color:e=>[g(),b(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-linear-stops","var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)"),T("--tw-mask-linear","linear-gradient(var(--tw-mask-linear-stops))"),T("--tw-mask-linear-from-color",e)],position:e=>[g(),b(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-linear-stops","var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)"),T("--tw-mask-linear","linear-gradient(var(--tw-mask-linear-stops))"),T("--tw-mask-linear-from-position",e)]}),v("mask-linear-to",{color:e=>[g(),b(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-linear-stops","var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)"),T("--tw-mask-linear","linear-gradient(var(--tw-mask-linear-stops))"),T("--tw-mask-linear-to-color",e)],position:e=>[g(),b(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-linear-stops","var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)"),T("--tw-mask-linear","linear-gradient(var(--tw-mask-linear-stops))"),T("--tw-mask-linear-to-position",e)]});let y=()=>K([De("--tw-mask-radial-from-position","0%"),De("--tw-mask-radial-to-position","100%"),De("--tw-mask-radial-from-color","black"),De("--tw-mask-radial-to-color","transparent"),De("--tw-mask-radial-shape","ellipse"),De("--tw-mask-radial-size","farthest-corner"),De("--tw-mask-radial-position","center")]);n("mask-circle",[["--tw-mask-radial-shape","circle"]]),n("mask-ellipse",[["--tw-mask-radial-shape","ellipse"]]),n("mask-radial-closest-side",[["--tw-mask-radial-size","closest-side"]]),n("mask-radial-farthest-side",[["--tw-mask-radial-size","farthest-side"]]),n("mask-radial-closest-corner",[["--tw-mask-radial-size","closest-corner"]]),n("mask-radial-farthest-corner",[["--tw-mask-radial-size","farthest-corner"]]),n("mask-radial-at-top",[["--tw-mask-radial-position","top"]]),n("mask-radial-at-top-left",[["--tw-mask-radial-position","top left"]]),n("mask-radial-at-top-right",[["--tw-mask-radial-position","top right"]]),n("mask-radial-at-bottom",[["--tw-mask-radial-position","bottom"]]),n("mask-radial-at-bottom-left",[["--tw-mask-radial-position","bottom left"]]),n("mask-radial-at-bottom-right",[["--tw-mask-radial-position","bottom right"]]),n("mask-radial-at-left",[["--tw-mask-radial-position","left"]]),n("mask-radial-at-right",[["--tw-mask-radial-position","right"]]),n("mask-radial-at-center",[["--tw-mask-radial-position","center"]]),o("mask-radial-at",{defaultValue:null,supportsNegative:!1,supportsFractions:!1,handle:e=>[T("--tw-mask-radial-position",e)]}),o("mask-radial",{defaultValue:null,supportsNegative:!1,supportsFractions:!1,handle:e=>[g(),y(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-radial","radial-gradient(var(--tw-mask-radial-stops, var(--tw-mask-radial-size)))"),T("--tw-mask-radial-size",e)]}),v("mask-radial-from",{color:e=>[g(),y(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-radial-stops","var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)"),T("--tw-mask-radial","radial-gradient(var(--tw-mask-radial-stops))"),T("--tw-mask-radial-from-color",e)],position:e=>[g(),y(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-radial-stops","var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)"),T("--tw-mask-radial","radial-gradient(var(--tw-mask-radial-stops))"),T("--tw-mask-radial-from-position",e)]}),v("mask-radial-to",{color:e=>[g(),y(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-radial-stops","var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)"),T("--tw-mask-radial","radial-gradient(var(--tw-mask-radial-stops))"),T("--tw-mask-radial-to-color",e)],position:e=>[g(),y(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-radial-stops","var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)"),T("--tw-mask-radial","radial-gradient(var(--tw-mask-radial-stops))"),T("--tw-mask-radial-to-position",e)]});let x=()=>K([De("--tw-mask-conic-position","0deg"),De("--tw-mask-conic-from-position","0%"),De("--tw-mask-conic-to-position","100%"),De("--tw-mask-conic-from-color","black"),De("--tw-mask-conic-to-color","transparent")]);o("mask-conic",{defaultValue:null,supportsNegative:!0,supportsFractions:!1,handleBareValue:e=>Ce(e.value)?`calc(1deg * ${e.value})`:null,handleNegativeBareValue:e=>Ce(e.value)?`calc(1deg * -${e.value})`:null,handle:e=>[g(),x(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-conic","conic-gradient(var(--tw-mask-conic-stops, var(--tw-mask-conic-position)))"),T("--tw-mask-conic-position",e)]}),r("mask-conic",(()=>[{supportsNegative:!0,values:["0","1","2","3","6","12","45","90","180"]}])),v("mask-conic-from",{color:e=>[g(),x(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-conic-stops","from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)"),T("--tw-mask-conic","conic-gradient(var(--tw-mask-conic-stops))"),T("--tw-mask-conic-from-color",e)],position:e=>[g(),x(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-conic-stops","from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)"),T("--tw-mask-conic","conic-gradient(var(--tw-mask-conic-stops))"),T("--tw-mask-conic-from-position",e)]}),v("mask-conic-to",{color:e=>[g(),x(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-conic-stops","from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)"),T("--tw-mask-conic","conic-gradient(var(--tw-mask-conic-stops))"),T("--tw-mask-conic-to-color",e)],position:e=>[g(),x(),T("mask-image","var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)"),T("mask-composite","intersect"),T("--tw-mask-conic-stops","from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)"),T("--tw-mask-conic","conic-gradient(var(--tw-mask-conic-stops))"),T("--tw-mask-conic-to-position",e)]}),n("box-decoration-slice",[["-webkit-box-decoration-break","slice"],["box-decoration-break","slice"]]),n("box-decoration-clone",[["-webkit-box-decoration-break","clone"],["box-decoration-break","clone"]]),n("bg-clip-text",[["background-clip","text"]]),n("bg-clip-border",[["background-clip","border-box"]]),n("bg-clip-padding",[["background-clip","padding-box"]]),n("bg-clip-content",[["background-clip","content-box"]]),n("bg-origin-border",[["background-origin","border-box"]]),n("bg-origin-padding",[["background-origin","padding-box"]]),n("bg-origin-content",[["background-origin","content-box"]]);for(let e of["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"])n(`bg-blend-${e}`,[["background-blend-mode",e]]),n(`mix-blend-${e}`,[["mix-blend-mode",e]]);n("mix-blend-plus-darker",[["mix-blend-mode","plus-darker"]]),n("mix-blend-plus-lighter",[["mix-blend-mode","plus-lighter"]]),n("fill-none",[["fill","none"]]),t.functional("fill",(t=>{if(!t.value)return;if("arbitrary"===t.value.kind){let r=Me(t.value.value,t.modifier,e);return null===r?void 0:[T("fill",r)]}let r=Be(t,e,["--fill","--color"]);return r?[T("fill",r)]:void 0})),r("fill",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--fill","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))}])),n("stroke-none",[["stroke","none"]]),t.functional("stroke",(t=>{if(t.value){if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["color","number","length","percentage"])){case"number":case"length":case"percentage":return t.modifier?void 0:[T("stroke-width",r)];default:return r=Me(t.value.value,t.modifier,e),null===r?void 0:[T("stroke",r)]}}{let r=Be(t,e,["--stroke","--color"]);if(r)return[T("stroke",r)]}{let r=e.resolve(t.value.value,["--stroke-width"]);if(r)return[T("stroke-width",r)];if(Ce(t.value.value))return[T("stroke-width",t.value.value)]}}})),r("stroke",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--stroke","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["0","1","2","3"],valueThemeKeys:["--stroke-width"]}])),n("object-contain",[["object-fit","contain"]]),n("object-cover",[["object-fit","cover"]]),n("object-fill",[["object-fit","fill"]]),n("object-none",[["object-fit","none"]]),n("object-scale-down",[["object-fit","scale-down"]]),o("object",{themeKeys:["--object-position"],handle:e=>[T("object-position",e)],staticValues:{top:[T("object-position","top")],"top-left":[T("object-position","left top")],"top-right":[T("object-position","right top")],bottom:[T("object-position","bottom")],"bottom-left":[T("object-position","left bottom")],"bottom-right":[T("object-position","right bottom")],left:[T("object-position","left")],right:[T("object-position","right")],center:[T("object-position","center")]}});for(let[e,t]of[["p","padding"],["px","padding-inline"],["py","padding-block"],["ps","padding-inline-start"],["pe","padding-inline-end"],["pt","padding-top"],["pr","padding-right"],["pb","padding-bottom"],["pl","padding-left"]])i(e,["--padding","--spacing"],(e=>[T(t,e)]));n("text-left",[["text-align","left"]]),n("text-center",[["text-align","center"]]),n("text-right",[["text-align","right"]]),n("text-justify",[["text-align","justify"]]),n("text-start",[["text-align","start"]]),n("text-end",[["text-align","end"]]),i("indent",["--text-indent","--spacing"],(e=>[T("text-indent",e)]),{supportsNegative:!0}),n("align-baseline",[["vertical-align","baseline"]]),n("align-top",[["vertical-align","top"]]),n("align-middle",[["vertical-align","middle"]]),n("align-bottom",[["vertical-align","bottom"]]),n("align-text-top",[["vertical-align","text-top"]]),n("align-text-bottom",[["vertical-align","text-bottom"]]),n("align-sub",[["vertical-align","sub"]]),n("align-super",[["vertical-align","super"]]),o("align",{themeKeys:[],handle:e=>[T("vertical-align",e)]}),t.functional("font",(t=>{if(t.value&&!t.modifier){if("arbitrary"===t.value.kind){let e=t.value.value;switch(t.value.dataType??fe(e,["number","generic-name","family-name"])){case"generic-name":case"family-name":return[T("font-family",e)];default:return[K([De("--tw-font-weight")]),T("--tw-font-weight",e),T("font-weight",e)]}}{let r=e.resolveWith(t.value.value,["--font"],["--font-feature-settings","--font-variation-settings"]);if(r){let[e,t={}]=r;return[T("font-family",e),T("font-feature-settings",t["--font-feature-settings"]),T("font-variation-settings",t["--font-variation-settings"])]}}{let r=e.resolve(t.value.value,["--font-weight"]);if(r)return[K([De("--tw-font-weight")]),T("--tw-font-weight",r),T("font-weight",r)]}}})),r("font",(()=>[{values:[],valueThemeKeys:["--font"]},{values:[],valueThemeKeys:["--font-weight"]}])),n("uppercase",[["text-transform","uppercase"]]),n("lowercase",[["text-transform","lowercase"]]),n("capitalize",[["text-transform","capitalize"]]),n("normal-case",[["text-transform","none"]]),n("italic",[["font-style","italic"]]),n("not-italic",[["font-style","normal"]]),n("underline",[["text-decoration-line","underline"]]),n("overline",[["text-decoration-line","overline"]]),n("line-through",[["text-decoration-line","line-through"]]),n("no-underline",[["text-decoration-line","none"]]),n("font-stretch-normal",[["font-stretch","normal"]]),n("font-stretch-ultra-condensed",[["font-stretch","ultra-condensed"]]),n("font-stretch-extra-condensed",[["font-stretch","extra-condensed"]]),n("font-stretch-condensed",[["font-stretch","condensed"]]),n("font-stretch-semi-condensed",[["font-stretch","semi-condensed"]]),n("font-stretch-semi-expanded",[["font-stretch","semi-expanded"]]),n("font-stretch-expanded",[["font-stretch","expanded"]]),n("font-stretch-extra-expanded",[["font-stretch","extra-expanded"]]),n("font-stretch-ultra-expanded",[["font-stretch","ultra-expanded"]]),o("font-stretch",{handleBareValue:({value:e})=>{if(!e.endsWith("%"))return null;let t=Number(e.slice(0,-1));return!Ce(t)||Number.isNaN(t)||t<50||t>200?null:e},handle:e=>[T("font-stretch",e)]}),r("font-stretch",(()=>[{values:["50%","75%","90%","95%","100%","105%","110%","125%","150%","200%"]}])),a("placeholder",{themeKeys:["--background-color","--color"],handle:e=>[z("&::placeholder",[T("--tw-sort","placeholder-color"),T("color",e)])]}),n("decoration-solid",[["text-decoration-style","solid"]]),n("decoration-double",[["text-decoration-style","double"]]),n("decoration-dotted",[["text-decoration-style","dotted"]]),n("decoration-dashed",[["text-decoration-style","dashed"]]),n("decoration-wavy",[["text-decoration-style","wavy"]]),n("decoration-auto",[["text-decoration-thickness","auto"]]),n("decoration-from-font",[["text-decoration-thickness","from-font"]]),t.functional("decoration",(t=>{if(t.value){if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["color","length","percentage"])){case"length":case"percentage":return t.modifier?void 0:[T("text-decoration-thickness",r)];default:return r=Me(r,t.modifier,e),null===r?void 0:[T("text-decoration-color",r)]}}{let r=e.resolve(t.value.value,["--text-decoration-thickness"]);if(r)return t.modifier?void 0:[T("text-decoration-thickness",r)];if(Ce(t.value.value))return t.modifier?void 0:[T("text-decoration-thickness",`${t.value.value}px`)]}{let r=Be(t,e,["--text-decoration-color","--color"]);if(r)return[T("text-decoration-color",r)]}}})),r("decoration",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--text-decoration-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["0","1","2"],valueThemeKeys:["--text-decoration-thickness"]}])),o("animate",{themeKeys:["--animate"],handle:e=>[T("animation",e)],staticValues:{none:[T("animation","none")]}});{let a=["var(--tw-blur,)","var(--tw-brightness,)","var(--tw-contrast,)","var(--tw-grayscale,)","var(--tw-hue-rotate,)","var(--tw-invert,)","var(--tw-saturate,)","var(--tw-sepia,)","var(--tw-drop-shadow,)"].join(" "),i=["var(--tw-backdrop-blur,)","var(--tw-backdrop-brightness,)","var(--tw-backdrop-contrast,)","var(--tw-backdrop-grayscale,)","var(--tw-backdrop-hue-rotate,)","var(--tw-backdrop-invert,)","var(--tw-backdrop-opacity,)","var(--tw-backdrop-saturate,)","var(--tw-backdrop-sepia,)"].join(" "),l=()=>K([De("--tw-blur"),De("--tw-brightness"),De("--tw-contrast"),De("--tw-grayscale"),De("--tw-hue-rotate"),De("--tw-invert"),De("--tw-opacity"),De("--tw-saturate"),De("--tw-sepia"),De("--tw-drop-shadow"),De("--tw-drop-shadow-color"),De("--tw-drop-shadow-alpha","100%",""),De("--tw-drop-shadow-size")]),s=()=>K([De("--tw-backdrop-blur"),De("--tw-backdrop-brightness"),De("--tw-backdrop-contrast"),De("--tw-backdrop-grayscale"),De("--tw-backdrop-hue-rotate"),De("--tw-backdrop-invert"),De("--tw-backdrop-opacity"),De("--tw-backdrop-saturate"),De("--tw-backdrop-sepia")]);t.functional("filter",(e=>{if(!e.modifier){if(null===e.value)return[l(),T("filter",a)];if("arbitrary"===e.value.kind)return[T("filter",e.value.value)];if("none"===e.value.value)return[T("filter","none")]}})),t.functional("backdrop-filter",(e=>{if(!e.modifier){if(null===e.value)return[s(),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)];if("arbitrary"===e.value.kind)return[T("-webkit-backdrop-filter",e.value.value),T("backdrop-filter",e.value.value)];if("none"===e.value.value)return[T("-webkit-backdrop-filter","none"),T("backdrop-filter","none")]}})),o("blur",{themeKeys:["--blur"],handle:e=>[l(),T("--tw-blur",`blur(${e})`),T("filter",a)],staticValues:{none:[l(),T("--tw-blur"," "),T("filter",a)]}}),o("backdrop-blur",{themeKeys:["--backdrop-blur","--blur"],handle:e=>[s(),T("--tw-backdrop-blur",`blur(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)],staticValues:{none:[s(),T("--tw-backdrop-blur"," "),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}}),o("brightness",{themeKeys:["--brightness"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,handle:e=>[l(),T("--tw-brightness",`brightness(${e})`),T("filter",a)]}),o("backdrop-brightness",{themeKeys:["--backdrop-brightness","--brightness"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,handle:e=>[s(),T("--tw-backdrop-brightness",`brightness(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("brightness",(()=>[{values:["0","50","75","90","95","100","105","110","125","150","200"],valueThemeKeys:["--brightness"]}])),r("backdrop-brightness",(()=>[{values:["0","50","75","90","95","100","105","110","125","150","200"],valueThemeKeys:["--backdrop-brightness","--brightness"]}])),o("contrast",{themeKeys:["--contrast"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,handle:e=>[l(),T("--tw-contrast",`contrast(${e})`),T("filter",a)]}),o("backdrop-contrast",{themeKeys:["--backdrop-contrast","--contrast"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,handle:e=>[s(),T("--tw-backdrop-contrast",`contrast(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("contrast",(()=>[{values:["0","50","75","100","125","150","200"],valueThemeKeys:["--contrast"]}])),r("backdrop-contrast",(()=>[{values:["0","50","75","100","125","150","200"],valueThemeKeys:["--backdrop-contrast","--contrast"]}])),o("grayscale",{themeKeys:["--grayscale"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,defaultValue:"100%",handle:e=>[l(),T("--tw-grayscale",`grayscale(${e})`),T("filter",a)]}),o("backdrop-grayscale",{themeKeys:["--backdrop-grayscale","--grayscale"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,defaultValue:"100%",handle:e=>[s(),T("--tw-backdrop-grayscale",`grayscale(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("grayscale",(()=>[{values:["0","25","50","75","100"],valueThemeKeys:["--grayscale"],hasDefaultValue:!0}])),r("backdrop-grayscale",(()=>[{values:["0","25","50","75","100"],valueThemeKeys:["--backdrop-grayscale","--grayscale"],hasDefaultValue:!0}])),o("hue-rotate",{supportsNegative:!0,themeKeys:["--hue-rotate"],handleBareValue:({value:e})=>Ce(e)?`${e}deg`:null,handle:e=>[l(),T("--tw-hue-rotate",`hue-rotate(${e})`),T("filter",a)]}),o("backdrop-hue-rotate",{supportsNegative:!0,themeKeys:["--backdrop-hue-rotate","--hue-rotate"],handleBareValue:({value:e})=>Ce(e)?`${e}deg`:null,handle:e=>[s(),T("--tw-backdrop-hue-rotate",`hue-rotate(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("hue-rotate",(()=>[{values:["0","15","30","60","90","180"],valueThemeKeys:["--hue-rotate"]}])),r("backdrop-hue-rotate",(()=>[{values:["0","15","30","60","90","180"],valueThemeKeys:["--backdrop-hue-rotate","--hue-rotate"]}])),o("invert",{themeKeys:["--invert"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,defaultValue:"100%",handle:e=>[l(),T("--tw-invert",`invert(${e})`),T("filter",a)]}),o("backdrop-invert",{themeKeys:["--backdrop-invert","--invert"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,defaultValue:"100%",handle:e=>[s(),T("--tw-backdrop-invert",`invert(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("invert",(()=>[{values:["0","25","50","75","100"],valueThemeKeys:["--invert"],hasDefaultValue:!0}])),r("backdrop-invert",(()=>[{values:["0","25","50","75","100"],valueThemeKeys:["--backdrop-invert","--invert"],hasDefaultValue:!0}])),o("saturate",{themeKeys:["--saturate"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,handle:e=>[l(),T("--tw-saturate",`saturate(${e})`),T("filter",a)]}),o("backdrop-saturate",{themeKeys:["--backdrop-saturate","--saturate"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,handle:e=>[s(),T("--tw-backdrop-saturate",`saturate(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("saturate",(()=>[{values:["0","50","100","150","200"],valueThemeKeys:["--saturate"]}])),r("backdrop-saturate",(()=>[{values:["0","50","100","150","200"],valueThemeKeys:["--backdrop-saturate","--saturate"]}])),o("sepia",{themeKeys:["--sepia"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,defaultValue:"100%",handle:e=>[l(),T("--tw-sepia",`sepia(${e})`),T("filter",a)]}),o("backdrop-sepia",{themeKeys:["--backdrop-sepia","--sepia"],handleBareValue:({value:e})=>Ce(e)?`${e}%`:null,defaultValue:"100%",handle:e=>[s(),T("--tw-backdrop-sepia",`sepia(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("sepia",(()=>[{values:["0","50","100"],valueThemeKeys:["--sepia"],hasDefaultValue:!0}])),r("backdrop-sepia",(()=>[{values:["0","50","100"],valueThemeKeys:["--backdrop-sepia","--sepia"],hasDefaultValue:!0}])),n("drop-shadow-none",[l,["--tw-drop-shadow"," "],["filter",a]]),t.functional("drop-shadow",(t=>{let r;if(t.modifier&&("arbitrary"===t.modifier.kind?r=t.modifier.value:Ce(t.modifier.value)&&(r=`${t.modifier.value}%`)),!t.value){let t=e.get(["--drop-shadow"]),n=e.resolve(null,["--drop-shadow"]);return null===t||null===n?void 0:[l(),T("--tw-drop-shadow-alpha",r),...Ze("--tw-drop-shadow-size",t,r,(e=>`var(--tw-drop-shadow-color, ${e})`)),T("--tw-drop-shadow",Z(n,",").map((e=>`drop-shadow(${e})`)).join(" ")),T("filter",a)]}if("arbitrary"===t.value.kind){let n=t.value.value;return"color"===(t.value.dataType??fe(n,["color"]))?(n=Me(n,t.modifier,e),null===n?void 0:[l(),T("--tw-drop-shadow-color",_e(n,"var(--tw-drop-shadow-alpha)")),T("--tw-drop-shadow","var(--tw-drop-shadow-size)")]):t.modifier&&!r?void 0:[l(),T("--tw-drop-shadow-alpha",r),...Ze("--tw-drop-shadow-size",n,r,(e=>`var(--tw-drop-shadow-color, ${e})`)),T("--tw-drop-shadow","var(--tw-drop-shadow-size)"),T("filter",a)]}{let n=e.get([`--drop-shadow-${t.value.value}`]),o=e.resolve(t.value.value,["--drop-shadow"]);if(n&&o)return t.modifier&&!r?void 0:r?[l(),T("--tw-drop-shadow-alpha",r),...Ze("--tw-drop-shadow-size",n,r,(e=>`var(--tw-drop-shadow-color, ${e})`)),T("--tw-drop-shadow","var(--tw-drop-shadow-size)"),T("filter",a)]:[l(),T("--tw-drop-shadow-alpha",r),...Ze("--tw-drop-shadow-size",n,r,(e=>`var(--tw-drop-shadow-color, ${e})`)),T("--tw-drop-shadow",Z(o,",").map((e=>`drop-shadow(${e})`)).join(" ")),T("filter",a)]}{let r=Be(t,e,["--drop-shadow-color","--color"]);if(r)return"inherit"===r?[l(),T("--tw-drop-shadow-color","inherit"),T("--tw-drop-shadow","var(--tw-drop-shadow-size)")]:[l(),T("--tw-drop-shadow-color",_e(r,"var(--tw-drop-shadow-alpha)")),T("--tw-drop-shadow","var(--tw-drop-shadow-size)")]}})),r("drop-shadow",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--drop-shadow-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{valueThemeKeys:["--drop-shadow"]}])),o("backdrop-opacity",{themeKeys:["--backdrop-opacity","--opacity"],handleBareValue:({value:e})=>Ve(e)?`${e}%`:null,handle:e=>[s(),T("--tw-backdrop-opacity",`opacity(${e})`),T("-webkit-backdrop-filter",i),T("backdrop-filter",i)]}),r("backdrop-opacity",(()=>[{values:Array.from({length:21},((e,t)=>""+5*t)),valueThemeKeys:["--backdrop-opacity","--opacity"]}]))}{let a=`var(--tw-ease, ${e.resolve(null,["--default-transition-timing-function"])??"ease"})`,i=`var(--tw-duration, ${e.resolve(null,["--default-transition-duration"])??"0s"})`;o("transition",{defaultValue:"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events",themeKeys:["--transition-property"],handle:e=>[T("transition-property",e),T("transition-timing-function",a),T("transition-duration",i)],staticValues:{none:[T("transition-property","none")],all:[T("transition-property","all"),T("transition-timing-function",a),T("transition-duration",i)],colors:[T("transition-property","color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to"),T("transition-timing-function",a),T("transition-duration",i)],opacity:[T("transition-property","opacity"),T("transition-timing-function",a),T("transition-duration",i)],shadow:[T("transition-property","box-shadow"),T("transition-timing-function",a),T("transition-duration",i)],transform:[T("transition-property","transform, translate, scale, rotate"),T("transition-timing-function",a),T("transition-duration",i)]}}),n("transition-discrete",[["transition-behavior","allow-discrete"]]),n("transition-normal",[["transition-behavior","normal"]]),o("delay",{handleBareValue:({value:e})=>Ce(e)?`${e}ms`:null,themeKeys:["--transition-delay"],handle:e=>[T("transition-delay",e)]});{let r=()=>K([De("--tw-duration")]);n("duration-initial",[r,["--tw-duration","initial"]]),t.functional("duration",(t=>{if(t.modifier||!t.value)return;let n=null;return"arbitrary"===t.value.kind?n=t.value.value:(n=e.resolve(t.value.fraction??t.value.value,["--transition-duration"]),null===n&&Ce(t.value.value)&&(n=`${t.value.value}ms`)),null!==n?[r(),T("--tw-duration",n),T("transition-duration",n)]:void 0}))}r("delay",(()=>[{values:["75","100","150","200","300","500","700","1000"],valueThemeKeys:["--transition-delay"]}])),r("duration",(()=>[{values:["75","100","150","200","300","500","700","1000"],valueThemeKeys:["--transition-duration"]}]))}{let e=()=>K([De("--tw-ease")]);o("ease",{themeKeys:["--ease"],handle:t=>[e(),T("--tw-ease",t),T("transition-timing-function",t)],staticValues:{initial:[e(),T("--tw-ease","initial")],linear:[e(),T("--tw-ease","linear"),T("transition-timing-function","linear")]}})}n("will-change-auto",[["will-change","auto"]]),n("will-change-scroll",[["will-change","scroll-position"]]),n("will-change-contents",[["will-change","contents"]]),n("will-change-transform",[["will-change","transform"]]),o("will-change",{themeKeys:[],handle:e=>[T("will-change",e)]}),n("content-none",[["--tw-content","none"],["content","none"]]),o("content",{themeKeys:["--content"],handle:e=>[K([De("--tw-content",'""')]),T("--tw-content",e),T("content","var(--tw-content)")]});{let e="var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)",t=()=>K([De("--tw-contain-size"),De("--tw-contain-layout"),De("--tw-contain-paint"),De("--tw-contain-style")]);n("contain-none",[["contain","none"]]),n("contain-content",[["contain","content"]]),n("contain-strict",[["contain","strict"]]),n("contain-size",[t,["--tw-contain-size","size"],["contain",e]]),n("contain-inline-size",[t,["--tw-contain-size","inline-size"],["contain",e]]),n("contain-layout",[t,["--tw-contain-layout","layout"],["contain",e]]),n("contain-paint",[t,["--tw-contain-paint","paint"],["contain",e]]),n("contain-style",[t,["--tw-contain-style","style"],["contain",e]]),o("contain",{themeKeys:[],handle:e=>[T("contain",e)]})}n("forced-color-adjust-none",[["forced-color-adjust","none"]]),n("forced-color-adjust-auto",[["forced-color-adjust","auto"]]),i("leading",["--leading","--spacing"],(e=>[K([De("--tw-leading")]),T("--tw-leading",e),T("line-height",e)]),{staticValues:{none:[K([De("--tw-leading")]),T("--tw-leading","1"),T("line-height","1")]}}),o("tracking",{supportsNegative:!0,themeKeys:["--tracking"],handle:e=>[K([De("--tw-tracking")]),T("--tw-tracking",e),T("letter-spacing",e)]}),n("antialiased",[["-webkit-font-smoothing","antialiased"],["-moz-osx-font-smoothing","grayscale"]]),n("subpixel-antialiased",[["-webkit-font-smoothing","auto"],["-moz-osx-font-smoothing","auto"]]);{let e="var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)",t=()=>K([De("--tw-ordinal"),De("--tw-slashed-zero"),De("--tw-numeric-figure"),De("--tw-numeric-spacing"),De("--tw-numeric-fraction")]);n("normal-nums",[["font-variant-numeric","normal"]]),n("ordinal",[t,["--tw-ordinal","ordinal"],["font-variant-numeric",e]]),n("slashed-zero",[t,["--tw-slashed-zero","slashed-zero"],["font-variant-numeric",e]]),n("lining-nums",[t,["--tw-numeric-figure","lining-nums"],["font-variant-numeric",e]]),n("oldstyle-nums",[t,["--tw-numeric-figure","oldstyle-nums"],["font-variant-numeric",e]]),n("proportional-nums",[t,["--tw-numeric-spacing","proportional-nums"],["font-variant-numeric",e]]),n("tabular-nums",[t,["--tw-numeric-spacing","tabular-nums"],["font-variant-numeric",e]]),n("diagonal-fractions",[t,["--tw-numeric-fraction","diagonal-fractions"],["font-variant-numeric",e]]),n("stacked-fractions",[t,["--tw-numeric-fraction","stacked-fractions"],["font-variant-numeric",e]])}{let a=()=>K([De("--tw-outline-style","solid")]);t.static("outline-hidden",(()=>[T("--tw-outline-style","none"),T("outline-style","none"),S("@media","(forced-colors: active)",[T("outline","2px solid transparent"),T("outline-offset","2px")])])),n("outline-none",[["--tw-outline-style","none"],["outline-style","none"]]),n("outline-solid",[["--tw-outline-style","solid"],["outline-style","solid"]]),n("outline-dashed",[["--tw-outline-style","dashed"],["outline-style","dashed"]]),n("outline-dotted",[["--tw-outline-style","dotted"],["outline-style","dotted"]]),n("outline-double",[["--tw-outline-style","double"],["outline-style","double"]]),t.functional("outline",(t=>{if(null===t.value){if(t.modifier)return;let r=e.get(["--default-outline-width"])??"1px";return[a(),T("outline-style","var(--tw-outline-style)"),T("outline-width",r)]}if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["color","length","number","percentage"])){case"length":case"number":case"percentage":return t.modifier?void 0:[a(),T("outline-style","var(--tw-outline-style)"),T("outline-width",r)];default:return r=Me(r,t.modifier,e),null===r?void 0:[T("outline-color",r)]}}{let r=Be(t,e,["--outline-color","--color"]);if(r)return[T("outline-color",r)]}{if(t.modifier)return;let r=e.resolve(t.value.value,["--outline-width"]);if(r)return[a(),T("outline-style","var(--tw-outline-style)"),T("outline-width",r)];if(Ce(t.value.value))return[a(),T("outline-style","var(--tw-outline-style)"),T("outline-width",`${t.value.value}px`)]}})),r("outline",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--outline-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t)),hasDefaultValue:!0},{values:["0","1","2","4","8"],valueThemeKeys:["--outline-width"]}])),o("outline-offset",{supportsNegative:!0,themeKeys:["--outline-offset"],handleBareValue:({value:e})=>Ce(e)?`${e}px`:null,handle:e=>[T("outline-offset",e)]}),r("outline-offset",(()=>[{supportsNegative:!0,values:["0","1","2","4","8"],valueThemeKeys:["--outline-offset"]}]))}o("opacity",{themeKeys:["--opacity"],handleBareValue:({value:e})=>Ve(e)?`${e}%`:null,handle:e=>[T("opacity",e)]}),r("opacity",(()=>[{values:Array.from({length:21},((e,t)=>""+5*t)),valueThemeKeys:["--opacity"]}])),o("underline-offset",{supportsNegative:!0,themeKeys:["--text-underline-offset"],handleBareValue:({value:e})=>Ce(e)?`${e}px`:null,handle:e=>[T("text-underline-offset",e)],staticValues:{auto:[T("text-underline-offset","auto")]}}),r("underline-offset",(()=>[{supportsNegative:!0,values:["0","1","2","4","8"],valueThemeKeys:["--text-underline-offset"]}])),t.functional("text",(t=>{if(t.value){if("arbitrary"===t.value.kind){let r=t.value.value;switch(t.value.dataType??fe(r,["color","length","percentage","absolute-size","relative-size"])){case"size":case"length":case"percentage":case"absolute-size":case"relative-size":if(t.modifier){let n="arbitrary"===t.modifier.kind?t.modifier.value:e.resolve(t.modifier.value,["--leading"]);if(!n&&je(t.modifier.value)){let r=e.resolve(null,["--spacing"]);if(!r)return null;n=`calc(${r} * ${t.modifier.value})`}return!n&&"none"===t.modifier.value&&(n="1"),n?[T("font-size",r),T("line-height",n)]:null}return[T("font-size",r)];default:return r=Me(r,t.modifier,e),null===r?void 0:[T("color",r)]}}{let r=Be(t,e,["--text-color","--color"]);if(r)return[T("color",r)]}{let r=e.resolveWith(t.value.value,["--text"],["--line-height","--letter-spacing","--font-weight"]);if(r){let[n,o={}]=Array.isArray(r)?r:[r];if(t.modifier){let r="arbitrary"===t.modifier.kind?t.modifier.value:e.resolve(t.modifier.value,["--leading"]);if(!r&&je(t.modifier.value)){let n=e.resolve(null,["--spacing"]);if(!n)return null;r=`calc(${n} * ${t.modifier.value})`}if(!r&&"none"===t.modifier.value&&(r="1"),!r)return null;let o=[T("font-size",n)];return r&&o.push(T("line-height",r)),o}return"string"==typeof o?[T("font-size",n),T("line-height",o)]:[T("font-size",n),T("line-height",o["--line-height"]?`var(--tw-leading, ${o["--line-height"]})`:void 0),T("letter-spacing",o["--letter-spacing"]?`var(--tw-tracking, ${o["--letter-spacing"]})`:void 0),T("font-weight",o["--font-weight"]?`var(--tw-font-weight, ${o["--font-weight"]})`:void 0)]}}}})),r("text",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--text-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:[],valueThemeKeys:["--text"],modifiers:[],modifierThemeKeys:["--leading"]}]));let $=()=>K([De("--tw-text-shadow-color"),De("--tw-text-shadow-alpha","100%","")]);n("text-shadow-initial",[$,["--tw-text-shadow-color","initial"]]),t.functional("text-shadow",(t=>{let r;if(t.modifier&&("arbitrary"===t.modifier.kind?r=t.modifier.value:Ce(t.modifier.value)&&(r=`${t.modifier.value}%`)),!t.value){let t=e.get(["--text-shadow"]);return null===t?void 0:[$(),T("--tw-text-shadow-alpha",r),...He("text-shadow",t,r,(e=>`var(--tw-text-shadow-color, ${e})`))]}if("arbitrary"===t.value.kind){let n=t.value.value;return"color"===(t.value.dataType??fe(n,["color"]))?(n=Me(n,t.modifier,e),null===n?void 0:[$(),T("--tw-text-shadow-color",_e(n,"var(--tw-text-shadow-alpha)"))]):[$(),T("--tw-text-shadow-alpha",r),...He("text-shadow",n,r,(e=>`var(--tw-text-shadow-color, ${e})`))]}switch(t.value.value){case"none":return t.modifier?void 0:[$(),T("text-shadow","none")];case"inherit":return t.modifier?void 0:[$(),T("--tw-text-shadow-color","inherit")]}{let n=e.get([`--text-shadow-${t.value.value}`]);if(n)return[$(),T("--tw-text-shadow-alpha",r),...He("text-shadow",n,r,(e=>`var(--tw-text-shadow-color, ${e})`))]}{let r=Be(t,e,["--text-shadow-color","--color"]);if(r)return[$(),T("--tw-text-shadow-color",_e(r,"var(--tw-text-shadow-alpha)"))]}})),r("text-shadow",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--text-shadow-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["none"]},{valueThemeKeys:["--text-shadow"],modifiers:Array.from({length:21},((e,t)=>""+5*t)),hasDefaultValue:null!==e.get(["--text-shadow"])}]));{let o=function(e){return`var(--tw-ring-inset,) 0 0 0 calc(${e} + var(--tw-ring-offset-width)) var(--tw-ring-color, ${c})`},a=function(e){return`inset 0 0 0 ${e} var(--tw-inset-ring-color, currentcolor)`},i=["var(--tw-inset-shadow)","var(--tw-inset-ring-shadow)","var(--tw-ring-offset-shadow)","var(--tw-ring-shadow)","var(--tw-shadow)"].join(", "),l="0 0 #0000",s=()=>K([De("--tw-shadow",l),De("--tw-shadow-color"),De("--tw-shadow-alpha","100%",""),De("--tw-inset-shadow",l),De("--tw-inset-shadow-color"),De("--tw-inset-shadow-alpha","100%",""),De("--tw-ring-color"),De("--tw-ring-shadow",l),De("--tw-inset-ring-color"),De("--tw-inset-ring-shadow",l),De("--tw-ring-inset"),De("--tw-ring-offset-width","0px",""),De("--tw-ring-offset-color","#fff"),De("--tw-ring-offset-shadow",l)]);n("shadow-initial",[s,["--tw-shadow-color","initial"]]),t.functional("shadow",(t=>{let r;if(t.modifier&&("arbitrary"===t.modifier.kind?r=t.modifier.value:Ce(t.modifier.value)&&(r=`${t.modifier.value}%`)),!t.value){let t=e.get(["--shadow"]);return null===t?void 0:[s(),T("--tw-shadow-alpha",r),...He("--tw-shadow",t,r,(e=>`var(--tw-shadow-color, ${e})`)),T("box-shadow",i)]}if("arbitrary"===t.value.kind){let n=t.value.value;return"color"===(t.value.dataType??fe(n,["color"]))?(n=Me(n,t.modifier,e),null===n?void 0:[s(),T("--tw-shadow-color",_e(n,"var(--tw-shadow-alpha)"))]):[s(),T("--tw-shadow-alpha",r),...He("--tw-shadow",n,r,(e=>`var(--tw-shadow-color, ${e})`)),T("box-shadow",i)]}switch(t.value.value){case"none":return t.modifier?void 0:[s(),T("--tw-shadow",l),T("box-shadow",i)];case"inherit":return t.modifier?void 0:[s(),T("--tw-shadow-color","inherit")]}{let n=e.get([`--shadow-${t.value.value}`]);if(n)return[s(),T("--tw-shadow-alpha",r),...He("--tw-shadow",n,r,(e=>`var(--tw-shadow-color, ${e})`)),T("box-shadow",i)]}{let r=Be(t,e,["--box-shadow-color","--color"]);if(r)return[s(),T("--tw-shadow-color",_e(r,"var(--tw-shadow-alpha)"))]}})),r("shadow",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--box-shadow-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["none"]},{valueThemeKeys:["--shadow"],modifiers:Array.from({length:21},((e,t)=>""+5*t)),hasDefaultValue:null!==e.get(["--shadow"])}])),n("inset-shadow-initial",[s,["--tw-inset-shadow-color","initial"]]),t.functional("inset-shadow",(t=>{let r;if(t.modifier&&("arbitrary"===t.modifier.kind?r=t.modifier.value:Ce(t.modifier.value)&&(r=`${t.modifier.value}%`)),!t.value){let t=e.get(["--inset-shadow"]);return null===t?void 0:[s(),T("--tw-inset-shadow-alpha",r),...He("--tw-inset-shadow",t,r,(e=>`var(--tw-inset-shadow-color, ${e})`)),T("box-shadow",i)]}if("arbitrary"===t.value.kind){let n=t.value.value;return"color"===(t.value.dataType??fe(n,["color"]))?(n=Me(n,t.modifier,e),null===n?void 0:[s(),T("--tw-inset-shadow-color",_e(n,"var(--tw-inset-shadow-alpha)"))]):[s(),T("--tw-inset-shadow-alpha",r),...He("--tw-inset-shadow",n,r,(e=>`var(--tw-inset-shadow-color, ${e})`),"inset "),T("box-shadow",i)]}switch(t.value.value){case"none":return t.modifier?void 0:[s(),T("--tw-inset-shadow",l),T("box-shadow",i)];case"inherit":return t.modifier?void 0:[s(),T("--tw-inset-shadow-color","inherit")]}{let n=e.get([`--inset-shadow-${t.value.value}`]);if(n)return[s(),T("--tw-inset-shadow-alpha",r),...He("--tw-inset-shadow",n,r,(e=>`var(--tw-inset-shadow-color, ${e})`)),T("box-shadow",i)]}{let r=Be(t,e,["--box-shadow-color","--color"]);if(r)return[s(),T("--tw-inset-shadow-color",_e(r,"var(--tw-inset-shadow-alpha)"))]}})),r("inset-shadow",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--box-shadow-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["none"]},{valueThemeKeys:["--inset-shadow"],modifiers:Array.from({length:21},((e,t)=>""+5*t)),hasDefaultValue:null!==e.get(["--inset-shadow"])}])),n("ring-inset",[s,["--tw-ring-inset","inset"]]);let c=e.get(["--default-ring-color"])??"currentcolor";t.functional("ring",(t=>{if(!t.value){if(t.modifier)return;let r=e.get(["--default-ring-width"])??"1px";return[s(),T("--tw-ring-shadow",o(r)),T("box-shadow",i)]}if("arbitrary"===t.value.kind){let r=t.value.value;return"length"===(t.value.dataType??fe(r,["color","length"]))?t.modifier?void 0:[s(),T("--tw-ring-shadow",o(r)),T("box-shadow",i)]:(r=Me(r,t.modifier,e),null===r?void 0:[T("--tw-ring-color",r)])}{let r=Be(t,e,["--ring-color","--color"]);if(r)return[T("--tw-ring-color",r)]}{if(t.modifier)return;let r=e.resolve(t.value.value,["--ring-width"]);if(null===r&&Ce(t.value.value)&&(r=`${t.value.value}px`),r)return[s(),T("--tw-ring-shadow",o(r)),T("box-shadow",i)]}})),r("ring",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--ring-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["0","1","2","4","8"],valueThemeKeys:["--ring-width"],hasDefaultValue:!0}])),t.functional("inset-ring",(t=>{if(!t.value)return t.modifier?void 0:[s(),T("--tw-inset-ring-shadow",a("1px")),T("box-shadow",i)];if("arbitrary"===t.value.kind){let r=t.value.value;return"length"===(t.value.dataType??fe(r,["color","length"]))?t.modifier?void 0:[s(),T("--tw-inset-ring-shadow",a(r)),T("box-shadow",i)]:(r=Me(r,t.modifier,e),null===r?void 0:[T("--tw-inset-ring-color",r)])}{let r=Be(t,e,["--ring-color","--color"]);if(r)return[T("--tw-inset-ring-color",r)]}{if(t.modifier)return;let r=e.resolve(t.value.value,["--ring-width"]);if(null===r&&Ce(t.value.value)&&(r=`${t.value.value}px`),r)return[s(),T("--tw-inset-ring-shadow",a(r)),T("box-shadow",i)]}})),r("inset-ring",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--ring-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["0","1","2","4","8"],valueThemeKeys:["--ring-width"],hasDefaultValue:!0}]));let u="var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)";t.functional("ring-offset",(t=>{if(t.value){if("arbitrary"===t.value.kind){let r=t.value.value;return"length"===(t.value.dataType??fe(r,["color","length"]))?t.modifier?void 0:[T("--tw-ring-offset-width",r),T("--tw-ring-offset-shadow",u)]:(r=Me(r,t.modifier,e),null===r?void 0:[T("--tw-ring-offset-color",r)])}{let r=e.resolve(t.value.value,["--ring-offset-width"]);if(r)return t.modifier?void 0:[T("--tw-ring-offset-width",r),T("--tw-ring-offset-shadow",u)];if(Ce(t.value.value))return t.modifier?void 0:[T("--tw-ring-offset-width",`${t.value.value}px`),T("--tw-ring-offset-shadow",u)]}{let r=Be(t,e,["--ring-offset-color","--color"]);if(r)return[T("--tw-ring-offset-color",r)]}}}))}return r("ring-offset",(()=>[{values:["current","inherit","transparent"],valueThemeKeys:["--ring-offset-color","--color"],modifiers:Array.from({length:21},((e,t)=>""+5*t))},{values:["0","1","2","4","8"],valueThemeKeys:["--ring-offset-width"]}])),t.functional("@container",(e=>{let t=null;if(null===e.value?t="inline-size":"arbitrary"===e.value.kind?t=e.value.value:"named"===e.value.kind&&"normal"===e.value.value&&(t="normal"),null!==t)return e.modifier?[T("container-type",t),T("container-name",e.modifier.value)]:[T("container-type",t)]})),r("@container",(()=>[{values:["normal"],valueThemeKeys:[],hasDefaultValue:!0}])),t}(e),n=function(e){let t=new et;function r(e,r,{compounds:n}={}){n=n??tt(r),t.static(e,(e=>{e.nodes=r.map((t=>C(t,e.nodes)))}),{compounds:n})}function n(e,t){return t.map((t=>{let r=Z(t=t.trim()," ");return"not"===r[0]?r.slice(1).join(" "):"@container"===e?"("===r[0][0]?`not ${t}`:"not"===r[1]?`${r[0]} ${r.slice(2).join(" ")}`:`${r[0]} not ${r.slice(1).join(" ")}`:`not ${t}`}))}r("*",[":is(& > *)"],{compounds:0}),r("**",[":is(& *)"],{compounds:0});let o=["@media","@supports","@container"];function a(e){for(let t of o){if(t!==e.name)continue;let r=Z(e.params,",");return r.length>1?null:(r=n(e.name,r),S(e.name,r.join(", ")))}return null}function i(e){return e.includes("::")?null:`&:not(${Z(e,",").map((e=>e.replaceAll("&","*"))).join(", ")})`}t.compound("not",3,((e,t)=>{if("arbitrary"===t.variant.kind&&t.variant.relative||t.modifier)return null;let r=!1;return y([e],((t,n)=>{if("rule"!==t.kind&&"at-rule"!==t.kind)return b.Continue;if(t.nodes.length>0)return b.Continue;let o=[],l=[],s=n.path();s.push(t);for(let e of s)"at-rule"===e.kind?o.push(e):"rule"===e.kind&&l.push(e);if(o.length>1)return b.Stop;if(l.length>1)return b.Stop;let c=[];for(let e of l){let t=i(e.selector);if(!t)return r=!1,b.Stop;c.push(z(t,[]))}for(let e of o){let t=a(e);if(!t)return r=!1,b.Stop;c.push(t)}return Object.assign(e,z("&",c)),r=!0,b.Skip})),"rule"===e.kind&&"&"===e.selector&&1===e.nodes.length&&Object.assign(e,e.nodes[0]),r?void 0:null})),t.suggest("not",(()=>Array.from(t.keys()).filter((e=>t.compoundsWith("not",e))))),t.compound("group",2,((t,r)=>{if("arbitrary"===r.variant.kind&&r.variant.relative)return null;let n=r.modifier?`:where(.${e.prefix?`${e.prefix}\\:`:""}group\\/${r.modifier.value})`:`:where(.${e.prefix?`${e.prefix}\\:`:""}group)`,o=!1;return y([t],((e,t)=>{if("rule"!==e.kind)return b.Continue;for(let e of t.path())if("rule"===e.kind)return o=!1,b.Stop;let r=e.selector.replaceAll("&",n);Z(r,",").length>1&&(r=`:is(${r})`),e.selector=`&:is(${r} *)`,o=!0})),o?void 0:null})),t.suggest("group",(()=>Array.from(t.keys()).filter((e=>t.compoundsWith("group",e))))),t.compound("peer",2,((t,r)=>{if("arbitrary"===r.variant.kind&&r.variant.relative)return null;let n=r.modifier?`:where(.${e.prefix?`${e.prefix}\\:`:""}peer\\/${r.modifier.value})`:`:where(.${e.prefix?`${e.prefix}\\:`:""}peer)`,o=!1;return y([t],((e,t)=>{if("rule"!==e.kind)return b.Continue;for(let e of t.path())if("rule"===e.kind)return o=!1,b.Stop;let r=e.selector.replaceAll("&",n);Z(r,",").length>1&&(r=`:is(${r})`),e.selector=`&:is(${r} ~ *)`,o=!0})),o?void 0:null})),t.suggest("peer",(()=>Array.from(t.keys()).filter((e=>t.compoundsWith("peer",e))))),r("first-letter",["&::first-letter"]),r("first-line",["&::first-line"]),r("marker",["& *::marker","&::marker","& *::-webkit-details-marker","&::-webkit-details-marker"]),r("selection",["& *::selection","&::selection"]),r("file",["&::file-selector-button"]),r("placeholder",["&::placeholder"]),r("backdrop",["&::backdrop"]),r("details-content",["&::details-content"]);{let e=function(){return K([S("@property","--tw-content",[T("syntax",'"*"'),T("initial-value",'""'),T("inherits","false")])])};t.static("before",(t=>{t.nodes=[z("&::before",[e(),T("content","var(--tw-content)"),...t.nodes])]}),{compounds:0}),t.static("after",(t=>{t.nodes=[z("&::after",[e(),T("content","var(--tw-content)"),...t.nodes])]}),{compounds:0})}r("first",["&:first-child"]),r("last",["&:last-child"]),r("only",["&:only-child"]),r("odd",["&:nth-child(odd)"]),r("even",["&:nth-child(even)"]),r("first-of-type",["&:first-of-type"]),r("last-of-type",["&:last-of-type"]),r("only-of-type",["&:only-of-type"]),r("visited",["&:visited"]),r("target",["&:target"]),r("open",["&:is([open], :popover-open, :open)"]),r("default",["&:default"]),r("checked",["&:checked"]),r("indeterminate",["&:indeterminate"]),r("placeholder-shown",["&:placeholder-shown"]),r("autofill",["&:autofill"]),r("optional",["&:optional"]),r("required",["&:required"]),r("valid",["&:valid"]),r("invalid",["&:invalid"]),r("user-valid",["&:user-valid"]),r("user-invalid",["&:user-invalid"]),r("in-range",["&:in-range"]),r("out-of-range",["&:out-of-range"]),r("read-only",["&:read-only"]),r("empty",["&:empty"]),r("focus-within",["&:focus-within"]),t.static("hover",(e=>{e.nodes=[z("&:hover",[S("@media","(hover: hover)",e.nodes)])]})),r("focus",["&:focus"]),r("focus-visible",["&:focus-visible"]),r("active",["&:active"]),r("enabled",["&:enabled"]),r("disabled",["&:disabled"]),r("inert",["&:is([inert], [inert] *)"]),t.compound("in",2,((e,t)=>{if(t.modifier)return null;let r=!1;return y([e],((e,t)=>{if("rule"!==e.kind)return b.Continue;for(let e of t.path())if("rule"===e.kind)return r=!1,b.Stop;e.selector=`:where(${e.selector.replaceAll("&","*")}) &`,r=!0})),r?void 0:null})),t.suggest("in",(()=>Array.from(t.keys()).filter((e=>t.compoundsWith("in",e))))),t.compound("has",2,((e,t)=>{if(t.modifier)return null;let r=!1;return y([e],((e,t)=>{if("rule"!==e.kind)return b.Continue;for(let e of t.path())if("rule"===e.kind)return r=!1,b.Stop;e.selector=`&:has(${e.selector.replaceAll("&","*")})`,r=!0})),r?void 0:null})),t.suggest("has",(()=>Array.from(t.keys()).filter((e=>t.compoundsWith("has",e))))),t.functional("aria",((e,t)=>{if(!t.value||t.modifier)return null;"arbitrary"===t.value.kind?e.nodes=[z(`&[aria-${rt(t.value.value)}]`,e.nodes)]:e.nodes=[z(`&[aria-${t.value.value}="true"]`,e.nodes)]})),t.suggest("aria",(()=>["busy","checked","disabled","expanded","hidden","pressed","readonly","required","selected"])),t.functional("data",((e,t)=>{if(!t.value||t.modifier)return null;e.nodes=[z(`&[data-${rt(t.value.value)}]`,e.nodes)]})),t.functional("nth",((e,t)=>{if(!t.value||t.modifier||"named"===t.value.kind&&!Ce(t.value.value))return null;e.nodes=[z(`&:nth-child(${t.value.value})`,e.nodes)]})),t.functional("nth-last",((e,t)=>{if(!t.value||t.modifier||"named"===t.value.kind&&!Ce(t.value.value))return null;e.nodes=[z(`&:nth-last-child(${t.value.value})`,e.nodes)]})),t.functional("nth-of-type",((e,t)=>{if(!t.value||t.modifier||"named"===t.value.kind&&!Ce(t.value.value))return null;e.nodes=[z(`&:nth-of-type(${t.value.value})`,e.nodes)]})),t.functional("nth-last-of-type",((e,t)=>{if(!t.value||t.modifier||"named"===t.value.kind&&!Ce(t.value.value))return null;e.nodes=[z(`&:nth-last-of-type(${t.value.value})`,e.nodes)]})),t.functional("supports",((e,t)=>{if(!t.value||t.modifier)return null;let r=t.value.value;if(null===r)return null;if(/^[\w-]*\s*\(/.test(r)){let t=r.replace(/\b(and|or|not)\b/g," $1 ");e.nodes=[S("@supports",t,e.nodes)]}else r.includes(":")||(r=`${r}: var(--tw)`),("("!==r[0]||")"!==r[r.length-1])&&(r=`(${r})`),e.nodes=[S("@supports",r,e.nodes)]}),{compounds:1}),r("motion-safe",["@media (prefers-reduced-motion: no-preference)"]),r("motion-reduce",["@media (prefers-reduced-motion: reduce)"]),r("contrast-more",["@media (prefers-contrast: more)"]),r("contrast-less",["@media (prefers-contrast: less)"]);{let r=function(e,t,r,n){if(e===t)return 0;let o=n.get(e);if(null===o)return"asc"===r?-1:1;let a=n.get(t);return null===a?"asc"===r?1:-1:se(o,a,r)};{let n=e.namespace("--breakpoint"),o=new f((t=>{switch(t.kind){case"static":return e.resolveValue(t.root,["--breakpoint"])??null;case"functional":{if(!t.value||t.modifier)return null;let r=null;return"arbitrary"===t.value.kind?r=t.value.value:"named"===t.value.kind&&(r=e.resolveValue(t.value.value,["--breakpoint"])),!r||r.includes("var(")?null:r}case"arbitrary":case"compound":return null}}));t.group((()=>{t.functional("max",((e,t)=>{if(t.modifier)return null;let r=o.get(t);if(null===r)return null;e.nodes=[S("@media",`(width < ${r})`,e.nodes)]}),{compounds:1})}),((e,t)=>r(e,t,"desc",o))),t.suggest("max",(()=>Array.from(n.keys()).filter((e=>null!==e)))),t.group((()=>{for(let[r,n]of e.namespace("--breakpoint"))null!==r&&t.static(r,(e=>{e.nodes=[S("@media",`(width >= ${n})`,e.nodes)]}),{compounds:1});t.functional("min",((e,t)=>{if(t.modifier)return null;let r=o.get(t);if(null===r)return null;e.nodes=[S("@media",`(width >= ${r})`,e.nodes)]}),{compounds:1})}),((e,t)=>r(e,t,"asc",o))),t.suggest("min",(()=>Array.from(n.keys()).filter((e=>null!==e))))}{let n=e.namespace("--container"),o=new f((t=>{switch(t.kind){case"functional":{if(null===t.value)return null;let r=null;return"arbitrary"===t.value.kind?r=t.value.value:"named"===t.value.kind&&(r=e.resolveValue(t.value.value,["--container"])),!r||r.includes("var(")?null:r}case"static":case"arbitrary":case"compound":return null}}));t.group((()=>{t.functional("@max",((e,t)=>{let r=o.get(t);if(null===r)return null;e.nodes=[S("@container",t.modifier?`${t.modifier.value} (width < ${r})`:`(width < ${r})`,e.nodes)]}),{compounds:1})}),((e,t)=>r(e,t,"desc",o))),t.suggest("@max",(()=>Array.from(n.keys()).filter((e=>null!==e)))),t.group((()=>{t.functional("@",((e,t)=>{let r=o.get(t);if(null===r)return null;e.nodes=[S("@container",t.modifier?`${t.modifier.value} (width >= ${r})`:`(width >= ${r})`,e.nodes)]}),{compounds:1}),t.functional("@min",((e,t)=>{let r=o.get(t);if(null===r)return null;e.nodes=[S("@container",t.modifier?`${t.modifier.value} (width >= ${r})`:`(width >= ${r})`,e.nodes)]}),{compounds:1})}),((e,t)=>r(e,t,"asc",o))),t.suggest("@min",(()=>Array.from(n.keys()).filter((e=>null!==e)))),t.suggest("@",(()=>Array.from(n.keys()).filter((e=>null!==e))))}}return r("portrait",["@media (orientation: portrait)"]),r("landscape",["@media (orientation: landscape)"]),r("ltr",['&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *)']),r("rtl",['&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *)']),r("dark",["@media (prefers-color-scheme: dark)"]),r("starting",["@starting-style"]),r("print",["@media print"]),r("forced-colors",["@media (forced-colors: active)"]),r("inverted-colors",["@media (inverted-colors: inverted)"]),r("pointer-none",["@media (pointer: none)"]),r("pointer-coarse",["@media (pointer: coarse)"]),r("pointer-fine",["@media (pointer: fine)"]),r("any-pointer-none",["@media (any-pointer: none)"]),r("any-pointer-coarse",["@media (any-pointer: coarse)"]),r("any-pointer-fine",["@media (any-pointer: fine)"]),r("noscript",["@media (scripting: none)"]),t}(e),o=new f((e=>function(e,t){if("["===e[0]&&"]"===e[e.length-1]){if("@"===e[1]&&e.includes("&"))return null;let t=L(e.slice(1,-1));if(!q(t)||0===t.length||0===t.trim().length)return null;let r=">"===t[0]||"+"===t[0]||"~"===t[0];return!r&&"@"!==t[0]&&!t.includes("&")&&(t=`&:is(${t})`),{kind:"arbitrary",selector:t,relative:r}}{let[r,n=null,o]=Z(e,"/");if(o)return null;let a=J(r,(e=>t.variants.has(e)));for(let[e,r]of a)switch(t.variants.kind(e)){case"static":return null!==r||null!==n?null:{kind:"static",root:e};case"functional":{let t=null===n?null:G(n);if(null!==n&&null===t)return null;if(null===r)return{kind:"functional",root:e,modifier:t,value:null};if("]"===r[r.length-1]){if("["!==r[0])continue;let n=L(r.slice(1,-1));return q(n)&&0!==n.length&&0!==n.trim().length?{kind:"functional",root:e,modifier:t,value:{kind:"arbitrary",value:n}}:null}if(")"===r[r.length-1]){if("("!==r[0])continue;let n=L(r.slice(1,-1));return q(n)&&0!==n.length&&0!==n.trim().length&&"-"===n[0]&&"-"===n[1]?{kind:"functional",root:e,modifier:t,value:{kind:"arbitrary",value:`var(${n})`}}:null}if(!Y.test(r))continue;return{kind:"functional",root:e,modifier:t,value:{kind:"named",value:r}}}case"compound":{if(null===r)return null;n&&("not"===e||"has"===e||"in"===e)&&(r=`${r}/${n}`,n=null);let o=t.parseVariant(r);if(null===o||!t.variants.compoundsWith(e,o))return null;let a=null===n?null:G(n);return null!==n&&null===a?null:{kind:"compound",root:e,modifier:a,variant:o}}}}return null}(e,u))),a=new f((e=>Array.from(function*(e,t){let r=Z(e,":");if(t.theme.prefix){if(1===r.length||r[0]!==t.theme.prefix)return null;r.shift()}let n=r.pop(),o=[];for(let e=r.length-1;e>=0;--e){let n=t.parseVariant(r[e]);if(null===n)return;o.push(n)}let a=!1;"!"===n[n.length-1]?(a=!0,n=n.slice(0,-1)):"!"===n[0]&&(a=!0,n=n.slice(1)),t.utilities.has(n,"static")&&!n.includes("[")&&(yield{kind:"static",root:n,variants:o,important:a,raw:e});let[i,l=null,s]=Z(n,"/");if(s)return;let c,u=null===l?null:G(l);if(null===l||null!==u)if("["!==i[0]){if("]"===i[i.length-1]){let e=i.indexOf("-[");if(-1===e)return;let r=i.slice(0,e);if(!t.utilities.has(r,"functional"))return;c=[[r,i.slice(e+1)]]}else if(")"===i[i.length-1]){let e=i.indexOf("-(");if(-1===e)return;let r=i.slice(0,e);if(!t.utilities.has(r,"functional"))return;let n=i.slice(e+2,-1),o=Z(n,":"),a=null;if(2===o.length&&(a=o[0],n=o[1]),"-"!==n[0]||"-"!==n[1]||!q(n))return;c=[[r,null===a?`[var(${n})]`:`[${a}:var(${n})]`]]}else c=J(i,(e=>t.utilities.has(e,"functional")));for(let[t,r]of c){let n={kind:"functional",root:t,modifier:u,value:null,variants:o,important:a,raw:e};if(null!==r){{let e=r.indexOf("[");if(-1!==e){if("]"!==r[r.length-1])return;let t=L(r.slice(e+1,-1));if(!q(t))continue;let o=null;for(let e=0;e=97&&r<=122))break}if(0===t.length||0===t.trim().length||""===o)continue;n.value={kind:"arbitrary",dataType:o||null,value:t}}else{let e=null===l||"arbitrary"===n.modifier?.kind?null:`${r}/${l}`;if(!Y.test(r))continue;n.value={kind:"named",value:r,fraction:e}}}yield n}else yield n}}else{if("]"!==i[i.length-1])return;let t=i.charCodeAt(1);if(45!==t&&!(t>=97&&t<=122))return;i=i.slice(1,-1);let r=i.indexOf(":");if(-1===r||0===r||r===i.length-1)return;let n=i.slice(0,r),l=L(i.slice(r+1));if(!q(l))return;yield{kind:"arbitrary",property:n,value:l,modifier:u,variants:o,important:a,raw:e}}}(e,u)))),i=new f((e=>new f((t=>{let r=function(e,t,r){let n=function(e,t){if("arbitrary"===e.kind){let r=e.value;return e.modifier&&(r=Me(r,e.modifier,t.theme)),null===r?[]:[[T(e.property,r)]]}let r=t.utilities.get(e.root)??[],n=[],o=r.filter((e=>!ct(e)));for(let t of o){if(t.kind!==e.kind)continue;let r=t.compileFn(e);if(void 0!==r){if(null===r)return n;n.push(r)}}if(n.length>0)return n;let a=r.filter((e=>ct(e)));for(let t of a){if(t.kind!==e.kind)continue;let r=t.compileFn(e);if(void 0!==r){if(null===r)return n;n.push(r)}}return n}(e,t);if(0===n.length)return[];let o=t.important&&!!(1&r),a=[],i=`.${l(e.raw)}`;for(let r of n){let n=dt(r);(e.important||o)&&ut(r);let l={kind:"rule",selector:i,nodes:r};for(let r of e.variants)if(null===st(l,r,t.variants))return[];a.push({node:l,propertySort:n})}return a}(t,u,e);try{Je(r.map((({node:e})=>e)),u),ot(r.map((({node:e})=>e)),u)}catch{return[]}return r})))),s=new f((t=>{for(let r of $(t))e.markUsedVariable(r)}));function c(e){let r=[];for(let n of e){let e=!0,{astNodes:o}=lt([n],u,{onInvalidCandidate(){e=!1}});t&&y(o,(e=>(e.src??=t,b.Continue))),o=O(o,u,0),r.push(e?o:[])}return r}let u={theme:e,utilities:r,variants:n,invalidCandidates:new Set,important:!1,candidatesToCss:function(e){return c(e).map((e=>e.length>0?F(e):null))},candidatesToAst:c,getClassOrder(e){return function(e,t){let{astNodes:r,nodeSorting:n}=lt(Array.from(t),e),o=new Map(t.map((e=>[e,null]))),a=0n;for(let e of r){let t=n.get(e)?.candidate;t&&o.set(t,o.get(t)??a++)}return t.map((e=>[e,o.get(e)??null]))}(this,e)},getClassList:()=>[],getVariants:()=>[],parseCandidate:e=>a.get(e),parseVariant:e=>o.get(e),compileAstNodes:(e,t=1)=>i.get(t).get(e),printCandidate:e=>function(e,t){let r=[];for(let e of t.variants)r.unshift(Q(e));e.theme.prefix&&r.unshift(e.theme.prefix);let n="";if("static"===t.kind&&(n+=t.root),"functional"===t.kind&&(n+=t.root,t.value))if("arbitrary"===t.value.kind){if(null!==t.value){let e=ae(t.value.value),r=e?t.value.value.slice(4,-1):t.value.value,[o,a]=e?["(",")"]:["[","]"];t.value.dataType?n+=`-${o}${t.value.dataType}:${te(r)}${a}`:n+=`-${o}${te(r)}${a}`}}else"named"===t.value.kind&&(n+=`-${t.value.value}`);return"arbitrary"===t.kind&&(n+=`[${t.property}:${te(t.value)}]`),("arbitrary"===t.kind||"functional"===t.kind)&&(n+=X(t.modifier)),t.important&&(n+="!"),r.push(n),r.join(":")}(u,e),printVariant:e=>Q(e),getVariantOrder(){let e=Array.from(o.values());e.sort(((e,t)=>this.variants.compare(e,t)));let t,r=new Map,n=0;for(let o of e)null!==o&&(void 0!==t&&0!==this.variants.compare(t,o)&&n++,r.set(o,n),t=o);return r},resolveThemeValue(t,r=!0){let n=t.lastIndexOf("/"),o=null;-1!==n&&(o=t.slice(n+1).trim(),t=t.slice(0,n).trim());let a=e.resolve(null,[t],r?1:0)??void 0;return o&&a?_e(a,o):a},trackUsedVariables(e){s.get(e)},canonicalizeCandidates:(e,t)=>[],storage:{}};return u}var it=["container-type","pointer-events","visibility","position","inset","inset-inline","inset-block","inset-inline-start","inset-inline-end","top","right","bottom","left","isolation","z-index","order","grid-column","grid-column-start","grid-column-end","grid-row","grid-row-start","grid-row-end","float","clear","--tw-container-component","margin","margin-inline","margin-block","margin-inline-start","margin-inline-end","margin-top","margin-right","margin-bottom","margin-left","box-sizing","display","field-sizing","aspect-ratio","height","max-height","min-height","width","max-width","min-width","flex","flex-shrink","flex-grow","flex-basis","table-layout","caption-side","border-collapse","border-spacing","transform-origin","translate","--tw-translate-x","--tw-translate-y","--tw-translate-z","scale","--tw-scale-x","--tw-scale-y","--tw-scale-z","rotate","--tw-rotate-x","--tw-rotate-y","--tw-rotate-z","--tw-skew-x","--tw-skew-y","transform","animation","cursor","touch-action","--tw-pan-x","--tw-pan-y","--tw-pinch-zoom","resize","scroll-snap-type","--tw-scroll-snap-strictness","scroll-snap-align","scroll-snap-stop","scroll-margin","scroll-margin-inline","scroll-margin-block","scroll-margin-inline-start","scroll-margin-inline-end","scroll-margin-top","scroll-margin-right","scroll-margin-bottom","scroll-margin-left","scroll-padding","scroll-padding-inline","scroll-padding-block","scroll-padding-inline-start","scroll-padding-inline-end","scroll-padding-top","scroll-padding-right","scroll-padding-bottom","scroll-padding-left","list-style-position","list-style-type","list-style-image","appearance","columns","break-before","break-inside","break-after","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-template-columns","grid-template-rows","flex-direction","flex-wrap","place-content","place-items","align-content","align-items","justify-content","justify-items","gap","column-gap","row-gap","--tw-space-x-reverse","--tw-space-y-reverse","divide-x-width","divide-y-width","--tw-divide-y-reverse","divide-style","divide-color","place-self","align-self","justify-self","overflow","overflow-x","overflow-y","overscroll-behavior","overscroll-behavior-x","overscroll-behavior-y","scroll-behavior","border-radius","border-start-radius","border-end-radius","border-top-radius","border-right-radius","border-bottom-radius","border-left-radius","border-start-start-radius","border-start-end-radius","border-end-end-radius","border-end-start-radius","border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius","border-width","border-inline-width","border-block-width","border-inline-start-width","border-inline-end-width","border-top-width","border-right-width","border-bottom-width","border-left-width","border-style","border-inline-style","border-block-style","border-inline-start-style","border-inline-end-style","border-top-style","border-right-style","border-bottom-style","border-left-style","border-color","border-inline-color","border-block-color","border-inline-start-color","border-inline-end-color","border-top-color","border-right-color","border-bottom-color","border-left-color","background-color","background-image","--tw-gradient-position","--tw-gradient-stops","--tw-gradient-via-stops","--tw-gradient-from","--tw-gradient-from-position","--tw-gradient-via","--tw-gradient-via-position","--tw-gradient-to","--tw-gradient-to-position","mask-image","--tw-mask-top","--tw-mask-top-from-color","--tw-mask-top-from-position","--tw-mask-top-to-color","--tw-mask-top-to-position","--tw-mask-right","--tw-mask-right-from-color","--tw-mask-right-from-position","--tw-mask-right-to-color","--tw-mask-right-to-position","--tw-mask-bottom","--tw-mask-bottom-from-color","--tw-mask-bottom-from-position","--tw-mask-bottom-to-color","--tw-mask-bottom-to-position","--tw-mask-left","--tw-mask-left-from-color","--tw-mask-left-from-position","--tw-mask-left-to-color","--tw-mask-left-to-position","--tw-mask-linear","--tw-mask-linear-position","--tw-mask-linear-from-color","--tw-mask-linear-from-position","--tw-mask-linear-to-color","--tw-mask-linear-to-position","--tw-mask-radial","--tw-mask-radial-shape","--tw-mask-radial-size","--tw-mask-radial-position","--tw-mask-radial-from-color","--tw-mask-radial-from-position","--tw-mask-radial-to-color","--tw-mask-radial-to-position","--tw-mask-conic","--tw-mask-conic-position","--tw-mask-conic-from-color","--tw-mask-conic-from-position","--tw-mask-conic-to-color","--tw-mask-conic-to-position","box-decoration-break","background-size","background-attachment","background-clip","background-position","background-repeat","background-origin","mask-composite","mask-mode","mask-type","mask-size","mask-clip","mask-position","mask-repeat","mask-origin","fill","stroke","stroke-width","object-fit","object-position","padding","padding-inline","padding-block","padding-inline-start","padding-inline-end","padding-top","padding-right","padding-bottom","padding-left","text-align","text-indent","vertical-align","font-family","font-size","line-height","font-weight","letter-spacing","text-wrap","overflow-wrap","word-break","text-overflow","hyphens","white-space","color","text-transform","font-style","font-stretch","font-variant-numeric","text-decoration-line","text-decoration-color","text-decoration-style","text-decoration-thickness","text-underline-offset","-webkit-font-smoothing","placeholder-color","caret-color","accent-color","color-scheme","opacity","background-blend-mode","mix-blend-mode","box-shadow","--tw-shadow","--tw-shadow-color","--tw-ring-shadow","--tw-ring-color","--tw-inset-shadow","--tw-inset-shadow-color","--tw-inset-ring-shadow","--tw-inset-ring-color","--tw-ring-offset-width","--tw-ring-offset-color","outline","outline-width","outline-offset","outline-color","--tw-blur","--tw-brightness","--tw-contrast","--tw-drop-shadow","--tw-grayscale","--tw-hue-rotate","--tw-invert","--tw-saturate","--tw-sepia","filter","--tw-backdrop-blur","--tw-backdrop-brightness","--tw-backdrop-contrast","--tw-backdrop-grayscale","--tw-backdrop-hue-rotate","--tw-backdrop-invert","--tw-backdrop-opacity","--tw-backdrop-saturate","--tw-backdrop-sepia","backdrop-filter","transition-property","transition-behavior","transition-delay","transition-duration","transition-timing-function","will-change","contain","content","forced-color-adjust"];function lt(e,t,{onInvalidCandidate:r,respectImportant:n}={}){let o=new Map,a=[],i=new Map;for(let n of e){if(t.invalidCandidates.has(n)){r?.(n);continue}let e=t.parseCandidate(n);0!==e.length?i.set(n,e):r?.(n)}let l=0;(n??1)&&(l|=1);let s=t.getVariantOrder();for(let[e,n]of i){let i=!1;for(let r of n){let n=t.compileAstNodes(r,l);if(0!==n.length){i=!0;for(let{node:t,propertySort:i}of n){let n=0n;for(let e of r.variants)n|=1n<{let r=o.get(e),n=o.get(t);if(r.variants-n.variants!==0n)return Number(r.variants-n.variants);let a=0;for(;a=48&&n<=57&&o>=48&&o<=57){let a=r,i=r+1,l=r,s=r+1;for(n=e.charCodeAt(i);n>=48&&n<=57;)n=e.charCodeAt(++i);for(o=t.charCodeAt(s);o>=48&&o<=57;)o=t.charCodeAt(++s);let c=e.slice(a,i),u=t.slice(l,s),d=Number(c)-Number(u);if(d)return d;if(cu)return 1}else if(n!==o)return n-o}return e.length-t.length}(r.candidate,n.candidate)})),{astNodes:a,nodeSorting:o}}function st(e,t,r,n=0){if("arbitrary"===t.kind)return t.relative&&0===n?null:void(e.nodes=[C(t.selector,e.nodes)]);let{applyFn:o}=r.get(t.root);if("compound"===t.kind){let a=S("@slot");if(null===st(a,t.variant,r,n+1)||"not"===t.root&&a.nodes.length>1)return null;for(let e of a.nodes)if("rule"!==e.kind&&"at-rule"!==e.kind||null===o(e,t))return null;return y(a.nodes,(t=>{if(("rule"===t.kind||"at-rule"===t.kind)&&t.nodes.length<=0)return t.nodes=e.nodes,b.Skip})),void(e.nodes=a.nodes)}return null===o(e,t)?null:void 0}function ct(e){let t=e.options?.types??[];return t.length>1&&t.includes("any")}function ut(e){for(let t of e)"at-root"!==t.kind&&("declaration"===t.kind?t.important=!0:("rule"===t.kind||"at-rule"===t.kind)&&ut(t.nodes))}function dt(e){let t=new Set,r=0,n=e.slice(),o=!1;for(;n.length>0;){let e=n.shift();if("declaration"===e.kind){if(void 0===e.value||(r++,o))continue;if("--tw-sort"===e.property){let r=it.indexOf(e.value??"");if(-1!==r){t.add(r),o=!0;continue}}let n=it.indexOf(e.property);-1!==n&&t.add(n)}else if("rule"===e.kind||"at-rule"===e.kind)for(let t of e.nodes)n.push(t)}return{order:Array.from(t).sort(((e,t)=>e-t)),count:r}}function ft(e,t){let r=0,n=C("&",e),o=new Set,a=new f((()=>new Set)),i=new f((()=>new Set));y([n],((e,n)=>{if("at-rule"===e.kind){if("@keyframes"===e.name)return y(e.nodes,(e=>{if("at-rule"===e.kind&&"@apply"===e.name)throw new Error("You cannot use `@apply` inside `@keyframes`.")})),b.Skip;if("@utility"===e.name){let r=e.params.replace(/-\*$/,"");return i.get(r).add(e),void y(e.nodes,(r=>{if("at-rule"===r.kind&&"@apply"===r.name){o.add(e);for(let n of pt(r,t))a.get(e).add(n)}}))}if("@apply"===e.name){if(null===n.parent)return;r|=1,o.add(n.parent);for(let r of pt(e,t))for(let e of n.path())o.has(e)&&a.get(e).add(r)}}}));let l=new Set,s=[],c=new Set;function u(e,r=[]){if(!l.has(e)){if(c.has(e)){let n=r[(r.indexOf(e)+1)%r.length];throw"at-rule"===e.kind&&"@utility"===e.name&&"at-rule"===n.kind&&"@utility"===n.name&&y(e.nodes,(e=>{if("at-rule"!==e.kind||"@apply"!==e.name)return;let r=e.params.split(/\s+/g);for(let e of r)for(let r of t.parseCandidate(e))switch(r.kind){case"arbitrary":break;case"static":case"functional":if(n.params.replace(/-\*$/,"")===r.root)throw new Error(`You cannot \`@apply\` the \`${e}\` utility here because it creates a circular dependency.`)}})),new Error(`Circular dependency detected:\n\n${F([e])}\nRelies on:\n\n${F([n])}`)}c.add(e);for(let t of a.get(e))for(let n of i.get(t))r.push(e),u(n,r),r.pop();l.add(e),c.delete(e),s.push(e)}}for(let e of o)u(e);for(let e of s)"nodes"in e&&y(e.nodes,(e=>{if("at-rule"!==e.kind||"@apply"!==e.name)return;let r=e.params.split(/(\s+)/g),n={},o=0;for(let[e,t]of r.entries())e%2==0&&(n[t]=o),o+=t.length;{let r=lt(Object.keys(n),t,{respectImportant:!1,onInvalidCandidate:e=>{if(t.theme.prefix&&!e.startsWith(t.theme.prefix))throw new Error(`Cannot apply unprefixed utility class \`${e}\`. Did you mean \`${t.theme.prefix}:${e}\`?`);if(t.invalidCandidates.has(e))throw new Error(`Cannot apply utility class \`${e}\` because it has been explicitly disabled: https://tailwindcss.com/docs/detecting-classes-in-source-files#explicitly-excluding-classes`);let r=Z(e,":");if(r.length>1){let n=r.pop();if(t.candidatesToCss([n])[0]){let n=t.candidatesToCss(r.map((e=>`${e}:[--tw-variant-check:1]`))),o=r.filter(((e,t)=>null===n[t]));if(o.length>0){if(1===o.length)throw new Error(`Cannot apply utility class \`${e}\` because the ${o.map((e=>`\`${e}\``))} variant does not exist.`);{let t=new Intl.ListFormat("en",{style:"long",type:"conjunction"});throw new Error(`Cannot apply utility class \`${e}\` because the ${t.format(o.map((e=>`\`${e}\``)))} variants do not exist.`)}}}}throw 0===t.theme.size?new Error(`Cannot apply unknown utility class \`${e}\`. Are you using CSS modules or similar and missing \`@reference\`? https://tailwindcss.com/docs/functions-and-directives#reference-directive`):new Error(`Cannot apply unknown utility class \`${e}\``)}}),o=e.src,a=r.astNodes.map((e=>{let t=r.nodeSorting.get(e)?.candidate,a=t?n[t]:void 0;if(e=E(e),!o||!t||void 0===a)return y([e],(e=>{e.src=o})),e;let i=[o[0],o[1],o[2]];return i[1]+=7+a,i[2]=i[1]+t.length,y([e],(e=>{e.src=i})),e})),i=[];for(let e of a)if("rule"===e.kind)for(let t of e.nodes)i.push(t);else i.push(e);return b.Replace(i)}}));return r}function*pt(e,t){for(let r of e.params.split(/\s+/g))for(let e of t.parseCandidate(r))switch(e.kind){case"arbitrary":break;case"static":case"functional":yield e.root}}async function ht(e,t,r,o=0,a=!1){let i=0,l=[];return y(e,(e=>{if("at-rule"===e.kind&&("@import"===e.name||"@reference"===e.name)){let s=function(e){let t,r=null,n=null,o=null;for(let a=0;a{if(o>100)throw new Error(`Exceeded maximum recursion depth while resolving \`${c}\` in \`${t}\`)`);let i=await r(c,t),l=n(i.content,{from:a?i.path:void 0});await ht(l,i.base,r,o+1,a),p.nodes=function(e,t,r,n,o){let a=t;if(null!==r){let t=S("@layer",r,a);t.src=e.src,a=[t]}if(null!==n){let t=S("@media",n,a);t.src=e.src,a=[t]}if(null!==o){let t=S("@supports","("===o[0]?o:`(${o})`,a);t.src=e.src,a=[t]}return a}(e,[V({base:i.base},l)],u,d,f)})()),b.ReplaceSkip(p)}})),l.length>0&&await Promise.all(l),i}function mt(e,t=null){return Array.isArray(e)&&2===e.length&&"object"==typeof e[1]&&null!==typeof e[1]?t?e[1][t]??null:e[0]:Array.isArray(e)&&null===t?e.join(", "):"string"==typeof e&&null===t?e:null}function gt(e,{theme:t},r){for(let t of r){let r=bt([t]);r&&e.theme.clearNamespace(`--${r}`,4)}for(let[r,n]of function(e){let t=[];return yt(e,[],((e,r)=>{if(function(e){return"number"==typeof e||"string"==typeof e}(e))return t.push([r,e]),1;if(function(e){if(!Array.isArray(e)||2!==e.length||"string"!=typeof e[0]&&"number"!=typeof e[0]||void 0===e[1]||null===e[1]||"object"!=typeof e[1])return!1;for(let t of Reflect.ownKeys(e[1]))if("string"!=typeof t||"string"!=typeof e[1][t]&&"number"!=typeof e[1][t])return!1;return!0}(e)){t.push([r,e[0]]);for(let n of Reflect.ownKeys(e[1]))t.push([[...r,`-${n}`],e[1][n]]);return 1}return Array.isArray(e)&&e.every((e=>"string"==typeof e))?("fontSize"===r[0]?(t.push([r,e[0]]),e.length>=2&&t.push([[...r,"-line-height"],e[1]])):t.push([r,e.join(", ")]),1):void 0})),t}(t)){if("string"!=typeof n&&"number"!=typeof n)continue;if("string"==typeof n&&(n=n.replace(//g,"1")),"opacity"===r[0]&&("number"==typeof n||"string"==typeof n)){let e="string"==typeof n?parseFloat(n):n;e>=0&&e<=1&&(n=100*e+"%")}let t=bt(r);t&&e.theme.add(`--${t}`,""+n,7)}if(Object.hasOwn(t,"fontFamily")){let r=5;{let n=mt(t.fontFamily.sans);n&&e.theme.hasDefault("--font-sans")&&(e.theme.add("--default-font-family",n,r),e.theme.add("--default-font-feature-settings",mt(t.fontFamily.sans,"fontFeatureSettings")??"normal",r),e.theme.add("--default-font-variation-settings",mt(t.fontFamily.sans,"fontVariationSettings")??"normal",r))}{let n=mt(t.fontFamily.mono);n&&e.theme.hasDefault("--font-mono")&&(e.theme.add("--default-mono-font-family",n,r),e.theme.add("--default-mono-font-feature-settings",mt(t.fontFamily.mono,"fontFeatureSettings")??"normal",r),e.theme.add("--default-mono-font-variation-settings",mt(t.fontFamily.mono,"fontVariationSettings")??"normal",r))}}return t}var vt={borderWidth:"border-width",outlineWidth:"outline-width",ringColor:"ring-color",ringWidth:"ring-width",transitionDuration:"transition-duration",transitionTimingFunction:"transition-timing-function"},wt={animation:"animate",aspectRatio:"aspect",borderRadius:"radius",boxShadow:"shadow",colors:"color",containers:"container",fontFamily:"font",fontSize:"text",letterSpacing:"tracking",lineHeight:"leading",maxWidth:"container",screens:"breakpoint",transitionTimingFunction:"ease"},kt=/^[a-zA-Z0-9-_%/\.]+$/;function bt(e){let t=vt[e[0]];if(t&&"DEFAULT"===e[1])return`default-${t}`;if("container"===e[0])return null;for(let t of e)if(!kt.test(t))return null;let r=wt[e[0]];return r&&((e=e.slice())[0]=r),e.map(((e,t,r)=>"1"===e&&t!==r.length-1?"":e)).map(((e,t)=>(e=e.replaceAll(".","_"),(0===t||e.startsWith("-")||"lineHeight"===e)&&(e=e.replace(/([a-z])([A-Z])/g,((e,t,r)=>`${t}-${r.toLowerCase()}`))),e))).filter(((t,r)=>"DEFAULT"!==t||r!==e.length-1)).join("-")}function yt(e,t=[],r){for(let n of Reflect.ownKeys(e)){let o=e[n];if(null==o)continue;let a=[...t,n],i=r(o,a)??0;if(1!==i){if(2===i)return 2;if((Array.isArray(o)||"object"==typeof o)&&2===yt(o,a,r))return 2}}}function xt(e){return{kind:"combinator",value:e}}function $t(e,t){return{kind:"function",value:e,nodes:t}}function At(e){return{kind:"selector",value:e}}function zt(e){return{kind:"separator",value:e}}function St(e){return{kind:"value",value:e}}function Ct(e){let t="";for(let r of e)switch(r.kind){case"combinator":case"selector":case"separator":case"value":t+=r.value;break;case"function":t+=r.value+"("+Ct(r.nodes)+")"}return t}function Tt(e){e=e.replaceAll("\r\n","\n");let t,r=[],n=[],o=null,a="";for(let i=0;i0){let e=At(a);o?o.nodes.push(e):r.push(e),a=""}let n=i,l=i+1;for(;l0){let t=At(a);e.nodes.push(t),a=""}o=n.length>0?n[n.length-1]:null;break}case 46:case 58:case 35:if(a.length>0){let e=At(a);o?o.nodes.push(e):r.push(e)}a=e[i];break;case 91:{if(a.length>0){let e=At(a);o?o.nodes.push(e):r.push(e)}a="";let n=i,l=0;for(let r=i+1;r0){let e=At(a);o?o.nodes.push(e):r.push(e),a=""}o?o.nodes.push(At(e[i])):r.push(At(e[i]));break;case 92:a+=e[i]+e[i+1],i+=1;break;default:a+=e[i]}}return a.length>0&&r.push(At(a)),r}function jt(e){let t=[];for(let r of Z(e,".")){if(!r.includes("[")){t.push(r);continue}let e=0;for(;;){let n=r.indexOf("[",e),o=r.indexOf("]",n);if(-1===n||-1===o)break;n>e&&t.push(r.slice(e,n)),t.push(r.slice(n+1,o)),e=o+1}e<=r.length-1&&t.push(r.slice(e))}return t}function Vt(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}function Kt(e,t,r,n=[]){for(let o of t)if(null!=o)for(let t of Reflect.ownKeys(o)){n.push(t);let a=r(e[t],o[t],n);void 0!==a?e[t]=a:Vt(e[t])&&Vt(o[t])?e[t]=Kt({},[e[t],o[t]],r,n):e[t]=o[t],n.pop()}return e}function Et(e,t,r){return function(n,o){let a=n.lastIndexOf("/"),i=null;-1!==a&&(i=n.slice(a+1).trim(),n=n.slice(0,a).trim());let l=(()=>{let o=jt(n),[a,i]=function(e,t){if(1===t.length&&t[0].startsWith("--"))return[e.get([t[0]]),e.getOptions(t[0])];let r=bt(t),n=new Map,o=new f((()=>new Map)),a=e.namespace(`--${r}`);if(0===a.size)return[null,0];let i=new Map;for(let[t,l]of a){if(!t||!t.includes("--")){n.set(t,l),i.set(t,e.getOptions(t?`--${r}-${t}`:`--${r}`));continue}let a=t.indexOf("--"),s=t.slice(0,a),c=t.slice(a+2);c=c.replace(/-([a-z])/g,((e,t)=>t.toUpperCase())),o.get(""===s?null:s).set(c,[l,e.getOptions(`--${r}${t}`)])}let l=e.getOptions(`--${r}`);for(let[e,t]of o){let r=n.get(e);if("string"!=typeof r)continue;let o={},a={};for(let[e,[r,n]]of t)o[e]=r,a[e]=n;n.set(e,[r,o]),i.set(e,[l,a])}let s={},c={};for(let[e,t]of n)Ot(s,[e??"DEFAULT"],t);for(let[e,t]of i)Ot(c,[e??"DEFAULT"],t);return"DEFAULT"===t[t.length-1]?[s?.DEFAULT??null,c.DEFAULT??0]:"DEFAULT"in s&&1===Object.keys(s).length?[s.DEFAULT,c.DEFAULT??0]:(s.__CSS_VALUES__=c,[s,c])}(e.theme,o),l=r(Nt(t()??{},o)??null);if("string"==typeof l&&(l=l.replace("","1")),"object"!=typeof a)return"object"!=typeof i&&4&i?l??a:a;if(null!==l&&"object"==typeof l&&!Array.isArray(l)){let e=Kt({},[l],((e,t)=>t));if(null===a&&Object.hasOwn(l,"__CSS_VALUES__")){let t={};for(let r in l.__CSS_VALUES__)t[r]=l[r],delete e[r];a=t}for(let t in a)"__CSS_VALUES__"!==t&&(4&l?.__CSS_VALUES__?.[t]&&void 0!==Nt(e,t.split("-"))||(e[s(t)]=a[t]));return e}if(Array.isArray(a)&&Array.isArray(i)&&Array.isArray(l)){let e=a[0],t=a[1];4&i[0]&&(e=l[0]??e);for(let e of Object.keys(t))4&i[1][e]&&(t[e]=l[1][e]??t[e]);return[e,t]}return a??l})();return i&&"string"==typeof l&&(l=_e(l,i)),l??o}}function Nt(e,t){for(let r=0;r{e.src=a})),t.push(l)},addVariant(t,r){if(!Qe.test(t))throw new Error(`\`addVariant('${t}')\` defines an invalid variant name. Variants should only contain alphanumeric, dashes, or underscore characters and start with a lowercase letter or number.`);if("string"==typeof r){if(r.includes(":merge("))return}else if(Array.isArray(r)){if(r.some((e=>e.includes(":merge("))))return}else if("object"==typeof r){let e=function(t,r){return Object.entries(t).some((([t,n])=>t.includes(r)||"object"==typeof n&&e(n,r)))};if(e(r,":merge("))return}"string"==typeof r||Array.isArray(r)?e.variants.static(t,(e=>{e.nodes=Rt(r,e.nodes)}),{compounds:tt("string"==typeof r?[r]:r)}):"object"==typeof r&&e.variants.fromAst(t,Wt(r),e)},matchVariant(t,r,n){function o(e,t,n){return Rt(r(e,{modifier:t?.value??null}),n)}try{let e=r("a",{modifier:null});if("string"==typeof e&&e.includes(":merge("))return;if(Array.isArray(e)&&e.some((e=>e.includes(":merge("))))return}catch{}let a=Object.keys(n?.values??{});e.variants.group((()=>{e.variants.functional(t,((e,t)=>{if(!t.value)return n?.values&&"DEFAULT"in n.values?void(e.nodes=o(n.values.DEFAULT,t.modifier,e.nodes)):null;if("arbitrary"===t.value.kind)e.nodes=o(t.value.value,t.modifier,e.nodes);else{if("named"!==t.value.kind||!n?.values)return null;{let r=n.values[t.value.value];if("string"!=typeof r)return null;e.nodes=o(r,t.modifier,e.nodes)}}}))}),((e,t)=>{if("functional"!==e.kind||"functional"!==t.kind)return 0;let r=e.value?e.value.value:"DEFAULT",o=t.value?t.value.value:"DEFAULT",i=n?.values?.[r]??r,l=n?.values?.[o]??o;if(n&&"function"==typeof n.sort)return n.sort({value:i,modifier:e.modifier?.value??null},{value:l,modifier:t.modifier?.value??null});let s=a.indexOf(r),c=a.indexOf(o);return s=-1===s?a.length:s,c=-1===c?a.length:c,s!==c?s-c:iObject.keys(n?.values??{}).filter((e=>"DEFAULT"!==e))))},addUtilities(r){let i=(r=Array.isArray(r)?r:[r]).flatMap((e=>Object.entries(e)));i=i.flatMap((([e,t])=>Z(e,",").map((e=>[e.trim(),t]))));let l=new f((()=>[]));for(let[e,r]of i){if(e.startsWith("@keyframes ")){if(!o){let n=C(e,Wt(r));y([n],(e=>{e.src=a})),t.push(n)}continue}let n=Tt(e),i=!1;if(y(n,(e=>{if("selector"===e.kind&&"."===e.value[0]&&Ft.test(e.value.slice(1))){let t=e.value;e.value="&";let o=Ct(n),a=t.slice(1),s="&"===o?Wt(r):[C(o,Wt(r))];return l.get(a).push(...s),i=!0,void(e.value=t)}if("function"===e.kind&&":not"===e.value)return b.Skip})),!i)throw new Error(`\`addUtilities({ '${e}' : … })\` defines an invalid utility selector. Utilities must be a single class name and start with a lowercase letter, eg. \`.scrollbar-none\`.`)}for(let[t,r]of l)e.theme.prefix&&y(r,(t=>{if("rule"===t.kind){let r=Tt(t.selector);y(r,(t=>{"selector"===t.kind&&"."===t.value[0]&&(t.value=`.${e.theme.prefix}\\:${t.value.slice(1)}`)})),t.selector=Ct(r)}})),e.utilities.static(t,(o=>{let a=r.map(E);return Dt(a,t,o.raw),n.current|=ft(a,e),a}))},matchUtilities(t,r){let o=r?.type?Array.isArray(r?.type)?r.type:[r.type]:["any"];for(let[a,i]of Object.entries(t)){let t=function({negative:t}){return l=>{if("arbitrary"===l.value?.kind&&o.length>0&&!o.includes("any")&&(l.value.dataType&&!o.includes(l.value.dataType)||!l.value.dataType&&!fe(l.value.value,o)))return;let s,c=o.includes("color"),u=null,d=!1;{let e=r?.values??{};c&&(e=Object.assign({inherit:"inherit",transparent:"transparent",current:"currentcolor"},e)),l.value?"arbitrary"===l.value.kind?u=l.value.value:l.value.fraction&&e[l.value.fraction]?(u=e[l.value.fraction],d=!0):e[l.value.value]?u=e[l.value.value]:e.__BARE_VALUE__&&(u=e.__BARE_VALUE__(l.value)??null,d=(null!==l.value.fraction&&u?.includes("/"))??!1):u=e.DEFAULT??null}if(null===u)return;{let e=r?.modifiers??null;s=l.modifier?"any"===e||"arbitrary"===l.modifier.kind?l.modifier.value:e?.[l.modifier.value]?e[l.modifier.value]:c&&!Number.isNaN(Number(l.modifier.value))?`${l.modifier.value}%`:null:null}if(l.modifier&&null===s&&!d)return"arbitrary"===l.value?.kind?null:void 0;c&&null!==s&&(u=_e(u,s)),t&&(u=`calc(${u} * -1)`);let f=Wt(i(u,{modifier:s}));return Dt(f,a,l.raw),n.current|=ft(f,e),f}};if(!Ft.test(a))throw new Error(`\`matchUtilities({ '${a}' : … })\` defines an invalid utility name. Utilities should be alphanumeric and start with a lowercase letter, eg. \`scrollbar\`.`);r?.supportsNegativeValues&&e.utilities.functional(`-${a}`,t({negative:!0}),{types:o}),e.utilities.functional(a,t({negative:!1}),{types:o}),e.utilities.suggest(a,(()=>{let e=r?.values??{},t=new Set(Object.keys(e));t.delete("__BARE_VALUE__"),t.delete("__CSS_VALUES__"),t.has("DEFAULT")&&(t.delete("DEFAULT"),t.add(null));let n=r?.modifiers??{},o="any"===n?[]:Object.keys(n);return[{supportsNegative:r?.supportsNegativeValues??!1,values:Array.from(t),modifiers:o}]}))}},addComponents(e,t){this.addUtilities(e,t)},matchComponents(e,t){this.matchUtilities(e,t)},theme:Et(e,(()=>r.theme??{}),(e=>e)),prefix:e=>e,config(e,t){let n=r;if(!e)return n;let o=jt(e);for(let e=0;eObject.entries(e)));for(let[e,n]of r)if(null!=n&&!1!==n)if("object"!=typeof n){if(!e.startsWith("--")){if("@slot"===n){t.push(C(e,[S("@slot")]));continue}e=e.replace(/([A-Z])/g,"-$1").toLowerCase()}t.push(T(e,String(n)))}else if(Array.isArray(n))for(let r of n)"string"==typeof r?t.push(T(e,r)):t.push(C(e,Wt(r)));else t.push(C(e,Wt(n)));return t}function Rt(e,t){return("string"==typeof e?[e]:e).flatMap((e=>{if(e.trim().endsWith("}")){let r=n(e.replace("}","{@slot}}"));return nt(r,t),r}return C(e,t)}))}function Dt(e,t,r){y(e,(e=>{if("rule"===e.kind){let n=Tt(e.selector);y(n,(e=>{"selector"===e.kind&&e.value===`.${t}`&&(e.value=`.${l(r)}`)})),e.selector=Ct(n)}}))}function _t(e,t){for(let r of function(e){let t=[];if("keyframes"in e.theme)for(let[r,n]of Object.entries(e.theme.keyframes))t.push(S("@keyframes",r,Wt(n)));return t}(t))e.theme.addKeyframes(r)}var Lt={inherit:"inherit",current:"currentcolor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"oklch(98.4% 0.003 247.858)",100:"oklch(96.8% 0.007 247.896)",200:"oklch(92.9% 0.013 255.508)",300:"oklch(86.9% 0.022 252.894)",400:"oklch(70.4% 0.04 256.788)",500:"oklch(55.4% 0.046 257.417)",600:"oklch(44.6% 0.043 257.281)",700:"oklch(37.2% 0.044 257.287)",800:"oklch(27.9% 0.041 260.031)",900:"oklch(20.8% 0.042 265.755)",950:"oklch(12.9% 0.042 264.695)"},gray:{50:"oklch(98.5% 0.002 247.839)",100:"oklch(96.7% 0.003 264.542)",200:"oklch(92.8% 0.006 264.531)",300:"oklch(87.2% 0.01 258.338)",400:"oklch(70.7% 0.022 261.325)",500:"oklch(55.1% 0.027 264.364)",600:"oklch(44.6% 0.03 256.802)",700:"oklch(37.3% 0.034 259.733)",800:"oklch(27.8% 0.033 256.848)",900:"oklch(21% 0.034 264.665)",950:"oklch(13% 0.028 261.692)"},zinc:{50:"oklch(98.5% 0 0)",100:"oklch(96.7% 0.001 286.375)",200:"oklch(92% 0.004 286.32)",300:"oklch(87.1% 0.006 286.286)",400:"oklch(70.5% 0.015 286.067)",500:"oklch(55.2% 0.016 285.938)",600:"oklch(44.2% 0.017 285.786)",700:"oklch(37% 0.013 285.805)",800:"oklch(27.4% 0.006 286.033)",900:"oklch(21% 0.006 285.885)",950:"oklch(14.1% 0.005 285.823)"},neutral:{50:"oklch(98.5% 0 0)",100:"oklch(97% 0 0)",200:"oklch(92.2% 0 0)",300:"oklch(87% 0 0)",400:"oklch(70.8% 0 0)",500:"oklch(55.6% 0 0)",600:"oklch(43.9% 0 0)",700:"oklch(37.1% 0 0)",800:"oklch(26.9% 0 0)",900:"oklch(20.5% 0 0)",950:"oklch(14.5% 0 0)"},stone:{50:"oklch(98.5% 0.001 106.423)",100:"oklch(97% 0.001 106.424)",200:"oklch(92.3% 0.003 48.717)",300:"oklch(86.9% 0.005 56.366)",400:"oklch(70.9% 0.01 56.259)",500:"oklch(55.3% 0.013 58.071)",600:"oklch(44.4% 0.011 73.639)",700:"oklch(37.4% 0.01 67.558)",800:"oklch(26.8% 0.007 34.298)",900:"oklch(21.6% 0.006 56.043)",950:"oklch(14.7% 0.004 49.25)"},red:{50:"oklch(97.1% 0.013 17.38)",100:"oklch(93.6% 0.032 17.717)",200:"oklch(88.5% 0.062 18.334)",300:"oklch(80.8% 0.114 19.571)",400:"oklch(70.4% 0.191 22.216)",500:"oklch(63.7% 0.237 25.331)",600:"oklch(57.7% 0.245 27.325)",700:"oklch(50.5% 0.213 27.518)",800:"oklch(44.4% 0.177 26.899)",900:"oklch(39.6% 0.141 25.723)",950:"oklch(25.8% 0.092 26.042)"},orange:{50:"oklch(98% 0.016 73.684)",100:"oklch(95.4% 0.038 75.164)",200:"oklch(90.1% 0.076 70.697)",300:"oklch(83.7% 0.128 66.29)",400:"oklch(75% 0.183 55.934)",500:"oklch(70.5% 0.213 47.604)",600:"oklch(64.6% 0.222 41.116)",700:"oklch(55.3% 0.195 38.402)",800:"oklch(47% 0.157 37.304)",900:"oklch(40.8% 0.123 38.172)",950:"oklch(26.6% 0.079 36.259)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},yellow:{50:"oklch(98.7% 0.026 102.212)",100:"oklch(97.3% 0.071 103.193)",200:"oklch(94.5% 0.129 101.54)",300:"oklch(90.5% 0.182 98.111)",400:"oklch(85.2% 0.199 91.936)",500:"oklch(79.5% 0.184 86.047)",600:"oklch(68.1% 0.162 75.834)",700:"oklch(55.4% 0.135 66.442)",800:"oklch(47.6% 0.114 61.907)",900:"oklch(42.1% 0.095 57.708)",950:"oklch(28.6% 0.066 53.813)"},lime:{50:"oklch(98.6% 0.031 120.757)",100:"oklch(96.7% 0.067 122.328)",200:"oklch(93.8% 0.127 124.321)",300:"oklch(89.7% 0.196 126.665)",400:"oklch(84.1% 0.238 128.85)",500:"oklch(76.8% 0.233 130.85)",600:"oklch(64.8% 0.2 131.684)",700:"oklch(53.2% 0.157 131.589)",800:"oklch(45.3% 0.124 130.933)",900:"oklch(40.5% 0.101 131.063)",950:"oklch(27.4% 0.072 132.109)"},green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},emerald:{50:"oklch(97.9% 0.021 166.113)",100:"oklch(95% 0.052 163.051)",200:"oklch(90.5% 0.093 164.15)",300:"oklch(84.5% 0.143 164.978)",400:"oklch(76.5% 0.177 163.223)",500:"oklch(69.6% 0.17 162.48)",600:"oklch(59.6% 0.145 163.225)",700:"oklch(50.8% 0.118 165.612)",800:"oklch(43.2% 0.095 166.913)",900:"oklch(37.8% 0.077 168.94)",950:"oklch(26.2% 0.051 172.552)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},violet:{50:"oklch(96.9% 0.016 293.756)",100:"oklch(94.3% 0.029 294.588)",200:"oklch(89.4% 0.057 293.283)",300:"oklch(81.1% 0.111 293.571)",400:"oklch(70.2% 0.183 293.541)",500:"oklch(60.6% 0.25 292.717)",600:"oklch(54.1% 0.281 293.009)",700:"oklch(49.1% 0.27 292.581)",800:"oklch(43.2% 0.232 292.759)",900:"oklch(38% 0.189 293.745)",950:"oklch(28.3% 0.141 291.089)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},fuchsia:{50:"oklch(97.7% 0.017 320.058)",100:"oklch(95.2% 0.037 318.852)",200:"oklch(90.3% 0.076 319.62)",300:"oklch(83.3% 0.145 321.434)",400:"oklch(74% 0.238 322.16)",500:"oklch(66.7% 0.295 322.15)",600:"oklch(59.1% 0.293 322.896)",700:"oklch(51.8% 0.253 323.949)",800:"oklch(45.2% 0.211 324.591)",900:"oklch(40.1% 0.17 325.612)",950:"oklch(29.3% 0.136 325.661)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"}};function Mt(e){return{__BARE_VALUE__:e}}var Bt=Mt((e=>{if(Ce(e.value))return e.value})),It=Mt((e=>{if(Ce(e.value))return`${e.value}%`})),Pt=Mt((e=>{if(Ce(e.value))return`${e.value}px`})),qt=Mt((e=>{if(Ce(e.value))return`${e.value}ms`})),Ht=Mt((e=>{if(Ce(e.value))return`${e.value}deg`})),Zt=Mt((e=>{if(null===e.fraction)return;let[t,r]=Z(e.fraction,"/");return Ce(t)&&Ce(r)?e.fraction:void 0})),Yt=Mt((e=>{if(Ce(Number(e.value)))return`repeat(${e.value}, minmax(0, 1fr))`})),Gt={accentColor:({theme:e})=>e("colors"),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9",...Zt},backdropBlur:({theme:e})=>e("blur"),backdropBrightness:({theme:e})=>({...e("brightness"),...It}),backdropContrast:({theme:e})=>({...e("contrast"),...It}),backdropGrayscale:({theme:e})=>({...e("grayscale"),...It}),backdropHueRotate:({theme:e})=>({...e("hueRotate"),...Ht}),backdropInvert:({theme:e})=>({...e("invert"),...It}),backdropOpacity:({theme:e})=>({...e("opacity"),...It}),backdropSaturate:({theme:e})=>({...e("saturate"),...It}),backdropSepia:({theme:e})=>({...e("sepia"),...It}),backgroundColor:({theme:e})=>e("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:e})=>e("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:e})=>({DEFAULT:"currentcolor",...e("colors")}),borderOpacity:({theme:e})=>e("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:e})=>e("spacing"),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px",...Pt},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:e})=>e("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2",...It},caretColor:({theme:e})=>e("colors"),colors:()=>({...Lt}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",...Bt},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2",...It},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:e})=>e("borderColor"),divideOpacity:({theme:e})=>e("borderOpacity"),divideWidth:({theme:e})=>({...e("borderWidth"),...Pt}),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:e})=>e("colors"),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:e})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",...e("spacing")}),flexGrow:{0:"0",DEFAULT:"1",...Bt},flexShrink:{0:"0",DEFAULT:"1",...Bt},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:e})=>e("spacing"),gradientColorStops:({theme:e})=>e("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%",...It},grayscale:{0:"0",DEFAULT:"100%",...It},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...Bt},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...Bt},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...Bt},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...Bt},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))",...Yt},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))",...Yt},height:({theme:e})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...e("spacing")}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg",...Ht},inset:({theme:e})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%",...e("spacing")}),invert:{0:"0",DEFAULT:"100%",...It},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:e})=>({auto:"auto",...e("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",...Bt},maxHeight:({theme:e})=>({none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...e("spacing")}),maxWidth:({theme:e})=>({none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...e("spacing")}),minHeight:({theme:e})=>({full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...e("spacing")}),minWidth:({theme:e})=>({full:"100%",min:"min-content",max:"max-content",fit:"fit-content",...e("spacing")}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1",...It},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",...Bt},outlineColor:({theme:e})=>e("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Pt},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Pt},padding:({theme:e})=>e("spacing"),placeholderColor:({theme:e})=>e("colors"),placeholderOpacity:({theme:e})=>e("opacity"),ringColor:({theme:e})=>({DEFAULT:"currentcolor",...e("colors")}),ringOffsetColor:({theme:e})=>e("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Pt},ringOpacity:({theme:e})=>({DEFAULT:"0.5",...e("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Pt},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg",...Ht},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2",...It},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",...It},screens:{sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},scrollMargin:({theme:e})=>e("spacing"),scrollPadding:({theme:e})=>e("spacing"),sepia:{0:"0",DEFAULT:"100%",...It},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",...Ht},space:({theme:e})=>e("spacing"),spacing:{px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:e})=>({none:"none",...e("colors")}),strokeWidth:{0:"0",1:"1",2:"2",...Bt},supports:{},data:{},textColor:({theme:e})=>e("colors"),textDecorationColor:({theme:e})=>e("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Pt},textIndent:({theme:e})=>e("spacing"),textOpacity:({theme:e})=>e("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Pt},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms",...qt},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms",...qt},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:e})=>({"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%",...e("spacing")}),size:({theme:e})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",...e("spacing")}),width:({theme:e})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content",...e("spacing")}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50",...Bt}};function Jt(e){return{theme:{...Gt,colors:({theme:e})=>e("color",{}),extend:{fontSize:({theme:e})=>({...e("text",{})}),boxShadow:({theme:e})=>({...e("shadow",{})}),animation:({theme:e})=>({...e("animate",{})}),aspectRatio:({theme:e})=>({...e("aspect",{})}),borderRadius:({theme:e})=>({...e("radius",{})}),screens:({theme:e})=>({...e("breakpoint",{})}),letterSpacing:({theme:e})=>({...e("tracking",{})}),lineHeight:({theme:e})=>({...e("leading",{})}),transitionDuration:{DEFAULT:e.get(["--default-transition-duration"])??null},transitionTimingFunction:{DEFAULT:e.get(["--default-transition-timing-function"])??null},maxWidth:({theme:e})=>({...e("container",{})})}}}}var Xt={blocklist:[],future:{},experimental:{},prefix:"",important:!1,darkMode:null,theme:{},plugins:[],content:{files:[]}};function Qt(e,t){let r={design:e,configs:[],plugins:[],content:{files:[]},theme:{},extend:{},result:structuredClone(Xt)};for(let e of t)tr(r,e);for(let e of r.configs)"darkMode"in e&&void 0!==e.darkMode&&(r.result.darkMode=e.darkMode??null),"prefix"in e&&void 0!==e.prefix&&(r.result.prefix=e.prefix??""),"blocklist"in e&&void 0!==e.blocklist&&(r.result.blocklist=e.blocklist??[]),"important"in e&&void 0!==e.important&&(r.result.important=e.important??!1);let n=function(e){let t=new Set,r=Et(e.design,(()=>e.theme),o),n=Object.assign(r,{theme:r,colors:Lt});function o(e){return"function"==typeof e?e(n)??null:e??null}for(let r of e.configs){let n=r.theme??{},o=n.extend??{};for(let e in n)"extend"!==e&&t.add(e);Object.assign(e.theme,n);for(let t in o)e.extend[t]??=[],e.extend[t].push(o[t])}delete e.theme.extend;for(let t in e.extend){let r=[e.theme[t],...e.extend[t]];e.theme[t]=()=>Kt({},r.map(o),er)}for(let t in e.theme)e.theme[t]=o(e.theme[t]);if(e.theme.screens&&"object"==typeof e.theme.screens)for(let t of Object.keys(e.theme.screens)){let r=e.theme.screens[t];r&&"object"==typeof r&&("raw"in r||"max"in r||"min"in r&&(e.theme.screens[t]=r.min))}return t}(r);return{resolvedConfig:{...r.result,content:r.content,theme:r.theme,plugins:r.plugins},replacedThemeKeys:n}}function er(e,t){return Array.isArray(e)&&Vt(e[0])?e.concat(t):Array.isArray(t)&&Vt(t[0])&&Vt(e)?[e,...t]:Array.isArray(t)?t:void 0}function tr(e,{config:t,base:r,path:n,reference:o,src:a}){let i=[];for(let e of t.plugins??[])"__isOptionsFunction"in e?i.push({...e(),reference:o,src:a}):"handler"in e?i.push({...e,reference:o,src:a}):i.push({handler:e,reference:o,src:a});if(Array.isArray(t.presets)&&0===t.presets.length)throw new Error("Error in the config file/plugin/preset. An empty preset (`preset: []`) is not currently supported.");for(let i of t.presets??[])tr(e,{path:n,base:r,config:i,reference:o,src:a});for(let t of i)e.plugins.push(t),t.config&&tr(e,{path:n,base:r,config:t.config,reference:!!t.reference,src:t.src??a});let l=t.content??[],s=Array.isArray(l)?l:l.files;for(let t of s)e.content.files.push("object"==typeof t?t:{base:r,pattern:t});e.configs.push(t)}function rr(e,t){let r=e.theme.container||{};if("object"!=typeof r||null===r)return;let n=function({center:e,padding:t,screens:r},n){let o=[],a=null;if(e&&o.push(T("margin-inline","auto")),("string"==typeof t||"object"==typeof t&&null!==t&&"DEFAULT"in t)&&o.push(T("padding-inline","string"==typeof t?t:t.DEFAULT)),"object"==typeof r&&null!==r){a=new Map;let e=Array.from(n.theme.namespace("--breakpoint").entries());if(e.sort(((e,t)=>se(e[1],t[1],"asc"))),e.length>0){let[t]=e[0];o.push(S("@media",`(width >= --theme(--breakpoint-${t}))`,[T("max-width","none")]))}for(let[e,t]of Object.entries(r)){if("object"==typeof t){if(!("min"in t))continue;t=t.min}a.set(e,S("@media",`(width >= ${t})`,[T("max-width",t)]))}}if("object"==typeof t&&null!==t){let e=Object.entries(t).filter((([e])=>"DEFAULT"!==e)).map((([e,t])=>[e,n.theme.resolveValue(e,["--breakpoint"]),t])).filter(Boolean);e.sort(((e,t)=>se(e[1],t[1],"asc")));for(let[t,,r]of e)if(a&&a.has(t))a.get(t).nodes.push(T("padding-inline",r));else{if(a)continue;o.push(S("@media",`(width >= theme(--breakpoint-${t}))`,[T("padding-inline",r)]))}}if(a)for(let[,e]of a)o.push(e);return o}(r,t);0!==n.length&&t.utilities.static("container",(()=>n.map(E)))}function nr({addVariant:e,config:t}){let r=t("darkMode",null),[n,o=".dark"]=Array.isArray(r)?r:[r];if("variant"===n){let e;if(Array.isArray(o)||"function"==typeof o?e=o:"string"==typeof o&&(e=[o]),Array.isArray(e))for(let t of e)".dark"===t?(n=!1,console.warn('When using `variant` for `darkMode`, you must provide a selector.\nExample: `darkMode: ["variant", ".your-selector &"]`')):t.includes("&")||(n=!1,console.warn('When using `variant` for `darkMode`, your selector must contain `&`.\nExample `darkMode: ["variant", ".your-selector &"]`'));o=e}null===n||("selector"===n?e("dark",`&:where(${o}, ${o} *)`):"media"===n?e("dark","@media (prefers-color-scheme: dark)"):"variant"===n?e("dark",o):"class"===n&&e("dark",`&:is(${o} *)`))}function or(e){return(Array.isArray(e)?e:[e]).map((e=>"string"==typeof e?{min:e}:e&&"object"==typeof e?e:null)).map((e=>{if(null===e)return null;if("raw"in e)return e.raw;let t="";return void 0!==e.max&&(t+=`${e.max} >= `),t+="width",void 0!==e.min&&(t+=` >= ${e.min}`),`(${t})`})).filter(Boolean).join(", ")}var ar=/^[a-z]+$/;async function ir({designSystem:e,base:t,ast:r,loadModule:n,sources:o}){let a=0,i=[],l=[];y(r,((e,t)=>{if("at-rule"!==e.kind)return;let r=N(t);if("@plugin"===e.name){if(null!==r.parent)throw new Error("`@plugin` cannot be nested.");let t=e.params.slice(1,-1);if(0===t.length)throw new Error("`@plugin` must have a path.");let n={};for(let t of e.nodes??[]){if("declaration"!==t.kind)throw new Error(`Unexpected \`@plugin\` option:\n\n${F([t])}\n\n\`@plugin\` options must be a flat list of declarations.`);if(void 0===t.value)continue;let e=Z(t.value,",").map((e=>{if("null"===(e=e.trim()))return null;if("true"===e)return!0;if("false"===e)return!1;if(!Number.isNaN(Number(e)))return Number(e);if('"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1])return e.slice(1,-1);if("{"===e[0]&&"}"===e[e.length-1])throw new Error(`Unexpected \`@plugin\` option: Value of declaration \`${F([t]).trim()}\` is not supported.\n\nUsing an object as a plugin option is currently only supported in JavaScript configuration files.`);return e}));n[t.property]=1===e.length?e[0]:e}return i.push([{id:t,base:r.context.base,reference:!!r.context.reference,src:e.src},Object.keys(n).length>0?n:null]),a|=4,b.Replace([])}if("@config"===e.name){if(e.nodes.length>0)throw new Error("`@config` cannot have a body.");if(null!==r.parent)throw new Error("`@config` cannot be nested.");return l.push({id:e.params.slice(1,-1),base:r.context.base,reference:!!r.context.reference,src:e.src}),a|=4,b.Replace([])}})),function(e){for(let[t,r]of[["t","top"],["tr","top right"],["r","right"],["br","bottom right"],["b","bottom"],["bl","bottom left"],["l","left"],["tl","top left"]])e.utilities.suggest(`bg-gradient-to-${t}`,(()=>[])),e.utilities.static(`bg-gradient-to-${t}`,(()=>[T("--tw-gradient-position",`to ${r} in oklab`),T("background-image","linear-gradient(var(--tw-gradient-stops))")]));e.utilities.suggest("bg-left-top",(()=>[])),e.utilities.static("bg-left-top",(()=>[T("background-position","left top")])),e.utilities.suggest("bg-right-top",(()=>[])),e.utilities.static("bg-right-top",(()=>[T("background-position","right top")])),e.utilities.suggest("bg-left-bottom",(()=>[])),e.utilities.static("bg-left-bottom",(()=>[T("background-position","left bottom")])),e.utilities.suggest("bg-right-bottom",(()=>[])),e.utilities.static("bg-right-bottom",(()=>[T("background-position","right bottom")])),e.utilities.suggest("object-left-top",(()=>[])),e.utilities.static("object-left-top",(()=>[T("object-position","left top")])),e.utilities.suggest("object-right-top",(()=>[])),e.utilities.static("object-right-top",(()=>[T("object-position","right top")])),e.utilities.suggest("object-left-bottom",(()=>[])),e.utilities.static("object-left-bottom",(()=>[T("object-position","left bottom")])),e.utilities.suggest("object-right-bottom",(()=>[])),e.utilities.static("object-right-bottom",(()=>[T("object-position","right bottom")])),e.utilities.suggest("max-w-screen",(()=>[])),e.utilities.functional("max-w-screen",(t=>{if(!t.value||"arbitrary"===t.value.kind)return;let r=e.theme.resolve(t.value.value,["--breakpoint"]);return r?[T("max-width",r)]:void 0})),e.utilities.suggest("overflow-ellipsis",(()=>[])),e.utilities.static("overflow-ellipsis",(()=>[T("text-overflow","ellipsis")])),e.utilities.suggest("decoration-slice",(()=>[])),e.utilities.static("decoration-slice",(()=>[T("-webkit-box-decoration-break","slice"),T("box-decoration-break","slice")])),e.utilities.suggest("decoration-clone",(()=>[])),e.utilities.static("decoration-clone",(()=>[T("-webkit-box-decoration-break","clone"),T("box-decoration-break","clone")])),e.utilities.suggest("flex-shrink",(()=>[])),e.utilities.functional("flex-shrink",(e=>{if(!e.modifier){if(!e.value)return[T("flex-shrink","1")];if("arbitrary"===e.value.kind)return[T("flex-shrink",e.value.value)];if(Ce(e.value.value))return[T("flex-shrink",e.value.value)]}})),e.utilities.suggest("flex-grow",(()=>[])),e.utilities.functional("flex-grow",(e=>{if(!e.modifier){if(!e.value)return[T("flex-grow","1")];if("arbitrary"===e.value.kind)return[T("flex-grow",e.value.value)];if(Ce(e.value.value))return[T("flex-grow",e.value.value)]}})),e.utilities.suggest("order-none",(()=>[])),e.utilities.static("order-none",(()=>[T("order","0")])),e.utilities.suggest("break-words",(()=>[])),e.utilities.static("break-words",(()=>[T("overflow-wrap","break-word")]))}(e);let s=e.resolveThemeValue;if(e.resolveThemeValue=function(n,i){return n.startsWith("--")?s(n,i):(a|=lr({designSystem:e,base:t,ast:r,sources:o,configs:[],pluginDetails:[]}),e.resolveThemeValue(n,i))},!i.length&&!l.length)return 0;let[c,u]=await Promise.all([Promise.all(l.map((async({id:e,base:t,reference:r,src:o})=>{let a=await n(e,t,"config");return{path:e,base:a.base,config:a.module,reference:r,src:o}}))),Promise.all(i.map((async([{id:e,base:t,reference:r,src:o},a])=>{let i=await n(e,t,"plugin");return{path:e,base:i.base,plugin:i.module,options:a,reference:r,src:o}})))]);return a|=lr({designSystem:e,base:t,ast:r,sources:o,configs:c,pluginDetails:u}),a}function lr({designSystem:e,base:t,ast:r,sources:n,configs:o,pluginDetails:a}){let i=0,l=[...a.map((e=>{if(!e.options)return{config:{plugins:[e.plugin]},base:e.base,reference:e.reference,src:e.src};if("__isOptionsFunction"in e.plugin)return{config:{plugins:[e.plugin(e.options)]},base:e.base,reference:e.reference,src:e.src};throw new Error(`The plugin "${e.path}" does not accept options`)})),...o],{resolvedConfig:s}=Qt(e,[{config:Jt(e.theme),base:t,reference:!0,src:void 0},...l,{config:{plugins:[nr]},base:t,reference:!0,src:void 0}]),{resolvedConfig:c,replacedThemeKeys:u}=Qt(e,l),d={designSystem:e,ast:r,resolvedConfig:s,featuresRef:{set current(e){i|=e}}},f=Ut({...d,referenceMode:!1,src:void 0}),p=e.resolveThemeValue;e.resolveThemeValue=function(e,t){if("-"===e[0]&&"-"===e[1])return p(e,t);let r=f.theme(e,void 0);return Array.isArray(r)&&2===r.length?r[0]:Array.isArray(r)?r.join(", "):"object"==typeof r&&null!==r&&"DEFAULT"in r?r.DEFAULT:"string"==typeof r?r:void 0};for(let{handler:e,reference:t,src:r}of s.plugins){e(Ut({...d,referenceMode:t??!1,src:r}))}if(gt(e,c,u),_t(e,c),function(e,t){let r=e.theme.aria||{},n=e.theme.supports||{},o=e.theme.data||{};if(Object.keys(r).length>0){let e=t.variants.get("aria"),n=e?.applyFn,o=e?.compounds;t.variants.functional("aria",((e,t)=>{let o=t.value;return o&&"named"===o.kind&&o.value in r?n?.(e,{...t,value:{kind:"arbitrary",value:r[o.value]}}):n?.(e,t)}),{compounds:o})}if(Object.keys(n).length>0){let e=t.variants.get("supports"),r=e?.applyFn,o=e?.compounds;t.variants.functional("supports",((e,t)=>{let o=t.value;return o&&"named"===o.kind&&o.value in n?r?.(e,{...t,value:{kind:"arbitrary",value:n[o.value]}}):r?.(e,t)}),{compounds:o})}if(Object.keys(o).length>0){let e=t.variants.get("data"),r=e?.applyFn,n=e?.compounds;t.variants.functional("data",((e,t)=>{let n=t.value;return n&&"named"===n.kind&&n.value in o?r?.(e,{...t,value:{kind:"arbitrary",value:o[n.value]}}):r?.(e,t)}),{compounds:n})}}(c,e),function(e,t){let r=e.theme.screens||{},n=t.variants.get("min")?.order??0,o=[];for(let[e,a]of Object.entries(r)){let r=function(r){t.variants.static(e,(e=>{e.nodes=[S("@media",c,e.nodes)]}),{order:r})},i=t.variants.get(e),l=t.theme.resolveValue(e,["--breakpoint"]);if(i&&l&&!t.theme.hasDefault(`--breakpoint-${e}`))continue;let s=!0;"string"==typeof a&&(s=!1);let c=or(a);s?o.push(r):r(n)}if(0!==o.length){for(let[,e]of t.variants.variants)e.order>n&&(e.order+=o.length);t.variants.compareFns=new Map(Array.from(t.variants.compareFns).map((([e,t])=>(e>n&&(e+=o.length),[e,t]))));for(let[e,t]of o.entries())t(n+e+1)}}(c,e),rr(c,e),!e.theme.prefix&&s.prefix){if(s.prefix.endsWith("-")&&(s.prefix=s.prefix.slice(0,-1),console.warn(`The prefix "${s.prefix}" is invalid. Prefixes must be lowercase ASCII letters (a-z) only and is written as a variant before all utilities. We have fixed up the prefix for you. Remove the trailing \`-\` to silence this warning.`)),!ar.test(s.prefix))throw new Error(`The prefix "${s.prefix}" is invalid. Prefixes must be lowercase ASCII letters (a-z) only.`);e.theme.prefix=s.prefix}if(!e.important&&!0===s.important&&(e.important=!0),"string"==typeof s.important){let e=s.important;y(r,((t,r)=>{if("at-rule"!==t.kind||"@tailwind"!==t.name||"utilities"!==t.params)return;let n=N(r);return"rule"===n.parent?.kind&&n.parent.selector===e?b.Stop:b.ReplaceStop(z(e,[t]))}))}for(let t of s.blocklist)e.invalidCandidates.add(t);for(let e of s.content.files){if("raw"in e)throw new Error(`Error in the config file/plugin/preset. The \`content\` key contains a \`raw\` entry:\n\n${JSON.stringify(e,null,2)}\n\nThis feature is not currently supported.`);let t=!1;"!"==e.pattern[0]&&(t=!0,e.pattern=e.pattern.slice(1)),n.push({...e,negated:t})}return i}var sr=/^(-?\d+)\.\.(-?\d+)(?:\.\.(-?\d+))?$/;function cr(e){let t=e.indexOf("{");if(-1===t)return[e];let r=[],n=e.slice(0,t),o=e.slice(t),a=0,i=o.lastIndexOf("}");for(let e=0;e0&&(a=-a);for(let r=e;o?r<=t:r>=t;r+=a)i.push(r.toString())}return i}(s):Z(s,","),l=l.flatMap((e=>cr(e)));let u=cr(c);for(let e of u)for(let t of l)r.push(n+t+e);return r}var ur=/^[a-z]+$/;function dr(){throw new Error("No `loadModule` function provided to `compile`")}function fr(){throw new Error("No `loadStylesheet` function provided to `compile`")}async function pr(e,{base:t="",from:r,loadModule:n=dr,loadStylesheet:o=fr}={}){let a=0;e=[V({base:t},e)],a|=await ht(e,t,o,0,void 0!==r);let i=null,c=new d,u=new Map,f=new Map,p=[],h=null,m=null,w=[],k=[],x=[],$=[],A=null;y(e,((e,t)=>{if("at-rule"!==e.kind)return;let r=N(t);if("@tailwind"===e.name&&("utilities"===e.params||e.params.startsWith("utilities"))){if(null!==m)return b.Replace([]);if(r.context.reference)return b.Replace([]);let t=Z(e.params," ");for(let e of t)if(e.startsWith("source(")){let t=e.slice(7,-1);if("none"===t){A=t;continue}if('"'===t[0]&&'"'!==t[t.length-1]||"'"===t[0]&&"'"!==t[t.length-1]||"'"!==t[0]&&'"'!==t[0])throw new Error("`source(…)` paths must be quoted.");A={base:r.context.sourceBase??r.context.base,pattern:t.slice(1,-1)}}m=e,a|=16}if("@utility"===e.name){if(null!==r.parent)throw new Error("`@utility` cannot be nested.");if(0===e.nodes.length)throw new Error(`\`@utility ${e.params}\` is empty. Utilities should include at least one property.`);let t=function(e){let t=e.params;return Ue.test(t)?r=>{let n={"--value":{usedSpacingInteger:!1,usedSpacingNumber:!1,themeKeys:new Set,literals:new Set},"--modifier":{usedSpacingInteger:!1,usedSpacingNumber:!1,themeKeys:new Set,literals:new Set}};y(e.nodes,(e=>{if("declaration"!==e.kind||!e.value||!e.value.includes("--value(")&&!e.value.includes("--modifier("))return;let t=v(e.value);y(t,(e=>{if("function"!==e.kind)return;if(!("--spacing"!==e.value||n["--modifier"].usedSpacingNumber&&n["--value"].usedSpacingNumber))return y(e.nodes,(e=>{if("function"!==e.kind||"--value"!==e.value&&"--modifier"!==e.value)return;let t=e.value;for(let r of e.nodes)if("word"===r.kind)if("integer"===r.value)n[t].usedSpacingInteger||=!0;else if("number"===r.value&&(n[t].usedSpacingNumber||=!0,n["--modifier"].usedSpacingNumber&&n["--value"].usedSpacingNumber))return b.Stop})),b.Continue;if("--value"!==e.value&&"--modifier"!==e.value)return;let t=Z(g(e.nodes),",");for(let[e,r]of t.entries())r=r.replace(/\\\*/g,"*"),r=r.replace(/--(.*?)\s--(.*?)/g,"--$1-*--$2"),r=r.replace(/\s+/g,""),r=r.replace(/(-\*){2,}/g,"-*"),"-"===r[0]&&"-"===r[1]&&!r.includes("-*")&&(r+="-*"),t[e]=r;e.nodes=v(t.join(","));for(let t of e.nodes)if("word"!==t.kind||'"'!==t.value[0]&&"'"!==t.value[0]||t.value[0]!==t.value[t.value.length-1]){if("word"===t.kind&&"-"===t.value[0]&&"-"===t.value[1]){let r=t.value.replace(/-\*.*$/g,"");n[e.value].themeKeys.add(r)}else if("word"===t.kind&&("["!==t.value[0]||"]"!==t.value[t.value.length-1])&&!Pe.includes(t.value)){console.warn(`Unsupported bare value data type: "${t.value}".\nOnly valid data types are: ${Pe.map((e=>`"${e}"`)).join(", ")}.\n`);let r=t.value,n=structuredClone(e),o="¶";y(n.nodes,(e=>{if("word"===e.kind&&e.value===r)return b.ReplaceSkip({kind:"word",value:o})}));let a="^".repeat(g([t]).length),i=g([n]).indexOf(o),l=["```css",g([e])," ".repeat(i)+a,"```"].join("\n");console.warn(l)}}else{let r=t.value.slice(1,-1);n[e.value].literals.add(r)}})),e.value=g(t)})),r.utilities.functional(t.slice(0,-2),(t=>{let n=E(e),o=t.value,a=t.modifier;if(null===o)return;let i=!1,l=!1,s=!1,c=!1,u=new Map,d=!1;if(y([n],((e,t)=>{let n=t.parent;if("rule"!==n?.kind&&"at-rule"!==n?.kind||"declaration"!==e.kind||!e.value)return;let f=!1,p=v(e.value);if(y(p,(t=>{if("function"===t.kind){if("--value"===t.value){i=!0;let a=qe(o,t,r);return a?(l=!0,a.ratio?d=!0:u.set(e,n),b.ReplaceSkip(a.nodes)):(i||=!1,f=!0,b.Stop)}if("--modifier"===t.value){if(null===a)return f=!0,b.Stop;s=!0;let e=qe(a,t,r);return e?(c=!0,b.ReplaceSkip(e.nodes)):(s||=!1,f=!0,b.Stop)}}})),f)return b.ReplaceSkip([]);e.value=g(p)})),i&&!l||s&&!c||d&&c||a&&!d&&!c)return null;if(d)for(let[e,t]of u){let r=t.nodes.indexOf(e);-1!==r&&t.nodes.splice(r,1)}return n.nodes})),r.utilities.suggest(t.slice(0,-2),(()=>{let e=[],t=[];for(let[o,{literals:a,usedSpacingNumber:i,usedSpacingInteger:l,themeKeys:s}]of[[e,n["--value"]],[t,n["--modifier"]]]){for(let e of a)o.push(e);if(i)o.push(...We);else if(l)for(let e of We)Ce(e)&&o.push(e);for(let e of r.theme.keysInNamespaces(s))o.push(e.replace(Ie,((e,t,r)=>`${t}.${r}`)))}return[{values:e,modifiers:t}]}))}:Fe.test(t)?r=>{r.utilities.static(t,(()=>e.nodes.map(E)))}:null}(e);if(null===t){if(!e.params.endsWith("-*")){if(e.params.endsWith("*"))throw new Error(`\`@utility ${e.params}\` defines an invalid utility name. A functional utility must end in \`-*\`.`);if(e.params.includes("*"))throw new Error(`\`@utility ${e.params}\` defines an invalid utility name. The dynamic portion marked by \`-*\` must appear once at the end.`)}throw new Error(`\`@utility ${e.params}\` defines an invalid utility name. Utilities should be alphanumeric and start with a lowercase letter.`)}p.push(t)}if("@source"===e.name){if(e.nodes.length>0)throw new Error("`@source` cannot have a body.");if(null!==r.parent)throw new Error("`@source` cannot be nested.");let t=!1,n=!1,o=e.params;if("n"===o[0]&&o.startsWith("not ")&&(t=!0,o=o.slice(4)),"i"===o[0]&&o.startsWith("inline(")&&(n=!0,o=o.slice(7,-1)),'"'===o[0]&&'"'!==o[o.length-1]||"'"===o[0]&&"'"!==o[o.length-1]||"'"!==o[0]&&'"'!==o[0])throw new Error("`@source` paths must be quoted.");let a=o.slice(1,-1);if(n){let e=t?$:x,r=Z(a," ");for(let t of r)for(let r of cr(t))e.push(r)}else k.push({base:r.context.base,pattern:a,negated:t});return b.ReplaceSkip([])}if("@variant"===e.name&&(null===r.parent?0===e.nodes.length?e.name="@custom-variant":(y(e.nodes,(t=>{if("at-rule"===t.kind&&"@slot"===t.name)return e.name="@custom-variant",b.Stop})),"@variant"===e.name&&w.push(e)):w.push(e)),"@custom-variant"===e.name){if(null!==r.parent)throw new Error("`@custom-variant` cannot be nested.");let[t,n]=Z(e.params," ");if(!Qe.test(t))throw new Error(`\`@custom-variant ${t}\` defines an invalid variant name. Variants should only contain alphanumeric, dashes, or underscore characters and start with a lowercase letter or number.`);if(e.nodes.length>0&&n)throw new Error(`\`@custom-variant ${t}\` cannot have both a selector and a body.`);if(0===e.nodes.length){if(!n)throw new Error(`\`@custom-variant ${t}\` has no selector or body.`);let e=Z(n.slice(1,-1),",");if(0===e.length||e.some((e=>""===e.trim())))throw new Error(`\`@custom-variant ${t} (${e.join(",")})\` selector is invalid.`);let r=[],o=[];for(let t of e)t=t.trim(),"@"===t[0]?r.push(t):o.push(t);u.set(t,(e=>{e.variants.static(t,(e=>{let t=[];o.length>0&&t.push(z(o.join(", "),e.nodes));for(let n of r)t.push(C(n,e.nodes));e.nodes=t}),{compounds:tt([...o,...r])})})),f.set(t,new Set)}else{let r=new Set;y(e.nodes,(e=>{"at-rule"===e.kind&&"@variant"===e.name&&r.add(e.params)})),u.set(t,(r=>{r.variants.fromAst(t,e.nodes,r)})),f.set(t,r)}return b.ReplaceSkip([])}if("@media"===e.name){let t=Z(e.params," "),n=[];for(let o of t)if(o.startsWith("source(")){let t=o.slice(7,-1);y(e.nodes,(e=>{if("at-rule"===e.kind&&"@tailwind"===e.name&&"utilities"===e.params)return e.params+=` source(${t})`,b.ReplaceStop([V({sourceBase:r.context.base},[e])])}))}else if(o.startsWith("theme(")){let t=o.slice(6,-1),r=t.includes("reference");y(e.nodes,(e=>{if("context"!==e.kind){if("at-rule"!==e.kind){if(r)throw new Error('Files imported with `@import "…" theme(reference)` must only contain `@theme` blocks.\nUse `@reference "…";` instead.');return b.Continue}if("@theme"===e.name)return e.params+=" "+t,b.Skip}}))}else if(o.startsWith("prefix(")){let t=o.slice(7,-1);y(e.nodes,(e=>{if("at-rule"===e.kind&&"@theme"===e.name)return e.params+=` prefix(${t})`,b.Skip}))}else"important"===o?i=!0:"reference"===o?e.nodes=[V({reference:!0},e.nodes)]:n.push(o);if(n.length>0)e.params=n.join(" ");else if(t.length>0)return b.Replace(e.nodes);return b.Continue}if("@theme"===e.name){let[t,n]=function(e){let t=0,r=null;for(let n of Z(e," "))"reference"===n?t|=2:"inline"===n?t|=1:"default"===n?t|=4:"static"===n?t|=8:n.startsWith("prefix(")&&n.endsWith(")")&&(r=n.slice(7,-1));return[t,r]}(e.params);if(a|=64,r.context.reference&&(t|=2),n){if(!ur.test(n))throw new Error(`The prefix "${n}" is invalid. Prefixes must be lowercase ASCII letters (a-z) only.`);c.prefix=n}return y(e.nodes,(r=>{if("at-rule"===r.kind&&"@keyframes"===r.name)return c.addKeyframes(r),b.Skip;if("comment"===r.kind)return;if("declaration"===r.kind&&r.property.startsWith("--"))return void c.add(s(r.property),r.value??"",t,r.src);let n=F([S(e.name,e.params,[r])]).split("\n").map(((e,t,r)=>`${0===t||t>=r.length-2?" ":">"} ${e}`)).join("\n");throw new Error(`\`@theme\` blocks must only contain custom properties or \`@keyframes\`.\n\n${n}`)})),h?b.ReplaceSkip([]):(h=z(":root, :host",[]),h.src=e.src,b.ReplaceSkip(h))}}));let j=at(c,m?.src);if(i&&(j.important=i),$.length>0)for(let e of $)j.invalidCandidates.add(e);a|=await ir({designSystem:j,base:t,ast:e,loadModule:n,sources:k});for(let e of u.keys())j.variants.static(e,(()=>{}));for(let e of function(e,t){let r=new Set,n=new Set,o=[];function a(i,l=[]){if(e.has(i)&&!r.has(i)){n.has(i)&&t.onCircularDependency?.(l,i),n.add(i);for(let t of e.get(i)??[])l.push(i),a(t,l),l.pop();r.add(i),n.delete(i),o.push(i)}}for(let t of e.keys())a(t);return o}(f,{onCircularDependency(e,t){let r=F(e.map(((r,n)=>S("@custom-variant",r,[S("@variant",e[n+1]??t,[])])))).replaceAll(";"," { … }").replace(`@custom-variant ${t} {`,`@custom-variant ${t} { /* ← */`);throw new Error(`Circular dependency detected in custom variants:\n\n${r}`)}}))u.get(e)?.(j);for(let e of p)e(j);if(h){let t=[];for(let[e,r]of j.theme.entries()){if(2&r.options)continue;let n=T(l(e),r.value);n.src=r.src,t.push(n)}let r=j.theme.getKeyframes();for(let t of r)e.push(V({theme:!0},[K([t])]));h.nodes=[V({theme:!0},t)]}if(a|=ot(e,j),a|=Je(e,j),a|=ft(e,j),m){let e=m;e.kind="context",e.context={}}return y(e,(e=>{if("at-rule"===e.kind)return"@utility"===e.name?b.Replace([]):b.Skip})),{designSystem:j,ast:e,sources:k,root:A,utilitiesNode:m,features:a,inlineCandidates:x}}async function hr(t,r={}){let o=n(t,{from:r.from}),a=await async function(e,t={}){let{designSystem:r,ast:n,sources:o,root:a,utilitiesNode:i,features:l,inlineCandidates:s}=await pr(e,t);function c(e){r.invalidCandidates.add(e)}n.unshift(j("! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com "));let u=new Set,d=null,f=0,p=!1;for(let e of s)r.invalidCandidates.has(e)||(u.add(e),p=!0);return{sources:o,root:a,features:l,build(o){if(0===l)return e;if(!i)return d??=O(n,r,t.polyfills),d;let a=p,s=!1;p=!1;let h=u.size;for(let e of o)if(!r.invalidCandidates.has(e))if("-"===e[0]&&"-"===e[1]){let t=r.theme.markUsedVariable(e);a||=t,s||=t}else u.add(e),a||=u.size!==h;if(!a)return d??=O(n,r,t.polyfills),d;let m=lt(u,r,{onInvalidCandidate:c}).astNodes;return t.from&&y(m,(e=>{e.src??=i.src})),s||f!==m.length?(f=m.length,i.nodes=m,d=O(n,r,t.polyfills),d):(d??=O(n,r,t.polyfills),d)}}}(o,r),i=o,l=t;return{...a,build(e){let t=a.build(e);return t===i||(l=F(t,!!r.from),i=t),l},buildSourceMap:()=>function({ast:t}){let r=new f((t=>e(t.code))),n=new f((e=>({url:e.file,content:e.code,ignore:!1}))),o={file:null,sources:[],mappings:[]};y(t,(e=>{if(!e.src||!e.dst)return;let t=n.get(e.src[0]);if(!t.content)return;let a=r.get(e.src[0]),i=r.get(e.dst[0]),l=t.content.slice(e.src[1],e.src[2]),s=0;for(let r of l.split("\n")){if(""!==r.trim()){let r=a.find(e.src[1]+s),n=i.find(e.dst[1]);o.mappings.push({name:null,originalPosition:{source:t,...r},generatedPosition:n})}s+=r.length,s+=1}let c=a.find(e.src[2]),u=i.find(e.dst[2]);o.mappings.push({name:null,originalPosition:{source:t,...c},generatedPosition:u})}));for(let e of r.keys())o.sources.push(n.get(e));return o.mappings.sort(((e,t)=>e.generatedPosition.line-t.generatedPosition.line||e.generatedPosition.column-t.generatedPosition.column||(e.originalPosition?.line??0)-(t.originalPosition?.line??0)||(e.originalPosition?.column??0)-(t.originalPosition?.column??0))),o}({ast:i})}}var mr,gr={index:"@layer theme, base, components, utilities;\n\n@import './theme.css' layer(theme);\n@import './preflight.css' layer(base);\n@import './utilities.css' layer(utilities);\n",preflight:"/*\n 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n 2. Remove default margins and padding\n 3. Reset all borders.\n*/\n\n*,\n::after,\n::before,\n::backdrop,\n::file-selector-button {\n box-sizing: border-box; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 2 */\n border: 0 solid; /* 3 */\n}\n\n/*\n 1. Use a consistent sensible line-height in all browsers.\n 2. Prevent adjustments of font size after orientation changes in iOS.\n 3. Use a more readable tab size.\n 4. Use the user's configured `sans` font-family by default.\n 5. Use the user's configured `sans` font-feature-settings by default.\n 6. Use the user's configured `sans` font-variation-settings by default.\n 7. Disable tap highlights on iOS.\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n tab-size: 4; /* 3 */\n font-family: --theme(\n --default-font-family,\n ui-sans-serif,\n system-ui,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji'\n ); /* 4 */\n font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */\n font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n 1. Add the correct height in Firefox.\n 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n 3. Reset the default border style to a 1px solid border.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\n Add the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\n Remove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\n Reset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n}\n\n/*\n Add the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n 1. Use the user's configured `mono` font-family by default.\n 2. Use the user's configured `mono` font-feature-settings by default.\n 3. Use the user's configured `mono` font-variation-settings by default.\n 4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: --theme(\n --default-mono-font-family,\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n 'Liberation Mono',\n 'Courier New',\n monospace\n ); /* 1 */\n font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */\n font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\n Add the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\n Prevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n 3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n Use the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\n Add the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\n Add the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\n Make lists unstyled by default.\n*/\n\nol,\nul,\nmenu {\n list-style: none;\n}\n\n/*\n 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\n Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/*\n 1. Inherit font styles in all browsers.\n 2. Remove border radius in all browsers.\n 3. Remove background color in all browsers.\n 4. Ensure consistent opacity for disabled states in all browsers.\n*/\n\nbutton,\ninput,\nselect,\noptgroup,\ntextarea,\n::file-selector-button {\n font: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n border-radius: 0; /* 2 */\n background-color: transparent; /* 3 */\n opacity: 1; /* 4 */\n}\n\n/*\n Restore default font weight.\n*/\n\n:where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n}\n\n/*\n Restore indentation.\n*/\n\n:where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n}\n\n/*\n Restore space after button.\n*/\n\n::file-selector-button {\n margin-inline-end: 4px;\n}\n\n/*\n Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n*/\n\n::placeholder {\n opacity: 1;\n}\n\n/*\n Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not\n crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)\n*/\n\n@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or\n (contain-intrinsic-size: 1px) /* Safari 17+ */ {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n}\n\n/*\n Prevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n Remove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n 1. Ensure date/time inputs have the same height when empty in iOS Safari.\n 2. Ensure text alignment can be changed on date/time inputs in iOS Safari.\n*/\n\n::-webkit-date-and-time-value {\n min-height: 1lh; /* 1 */\n text-align: inherit; /* 2 */\n}\n\n/*\n Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.\n*/\n\n::-webkit-datetime-edit {\n display: inline-flex;\n}\n\n/*\n Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.\n*/\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n}\n\n::-webkit-datetime-edit,\n::-webkit-datetime-edit-year-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-minute-field,\n::-webkit-datetime-edit-second-field,\n::-webkit-datetime-edit-millisecond-field,\n::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n}\n\n/*\n Center dropdown marker shown on inputs with paired ``s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)\n*/\n\n::-webkit-calendar-picker-indicator {\n line-height: 1;\n}\n\n/*\n Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\n Correct the inability to style the border radius in iOS Safari.\n*/\n\nbutton,\ninput:where([type='button'], [type='reset'], [type='submit']),\n::file-selector-button {\n appearance: button;\n}\n\n/*\n Correct the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n Make elements with the HTML hidden attribute stay hidden by default.\n*/\n\n[hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n}\n",theme:"@theme default {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;\n --font-mono:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-red-950: oklch(25.8% 0.092 26.042);\n\n --color-orange-50: oklch(98% 0.016 73.684);\n --color-orange-100: oklch(95.4% 0.038 75.164);\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-300: oklch(83.7% 0.128 66.29);\n --color-orange-400: oklch(75% 0.183 55.934);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-800: oklch(47% 0.157 37.304);\n --color-orange-900: oklch(40.8% 0.123 38.172);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-500: oklch(79.5% 0.184 86.047);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-yellow-950: oklch(28.6% 0.066 53.813);\n\n --color-lime-50: oklch(98.6% 0.031 120.757);\n --color-lime-100: oklch(96.7% 0.067 122.328);\n --color-lime-200: oklch(93.8% 0.127 124.321);\n --color-lime-300: oklch(89.7% 0.196 126.665);\n --color-lime-400: oklch(84.1% 0.238 128.85);\n --color-lime-500: oklch(76.8% 0.233 130.85);\n --color-lime-600: oklch(64.8% 0.2 131.684);\n --color-lime-700: oklch(53.2% 0.157 131.589);\n --color-lime-800: oklch(45.3% 0.124 130.933);\n --color-lime-900: oklch(40.5% 0.101 131.063);\n --color-lime-950: oklch(27.4% 0.072 132.109);\n\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-green-950: oklch(26.6% 0.065 152.934);\n\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-100: oklch(95% 0.052 163.051);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-800: oklch(43.2% 0.095 166.913);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n\n --color-teal-50: oklch(98.4% 0.014 180.72);\n --color-teal-100: oklch(95.3% 0.051 180.801);\n --color-teal-200: oklch(91% 0.096 180.426);\n --color-teal-300: oklch(85.5% 0.138 181.071);\n --color-teal-400: oklch(77.7% 0.152 181.912);\n --color-teal-500: oklch(70.4% 0.14 182.503);\n --color-teal-600: oklch(60% 0.118 184.704);\n --color-teal-700: oklch(51.1% 0.096 186.391);\n --color-teal-800: oklch(43.7% 0.078 188.216);\n --color-teal-900: oklch(38.6% 0.063 188.416);\n --color-teal-950: oklch(27.7% 0.046 192.524);\n\n --color-cyan-50: oklch(98.4% 0.019 200.873);\n --color-cyan-100: oklch(95.6% 0.045 203.388);\n --color-cyan-200: oklch(91.7% 0.08 205.041);\n --color-cyan-300: oklch(86.5% 0.127 207.078);\n --color-cyan-400: oklch(78.9% 0.154 211.53);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-cyan-600: oklch(60.9% 0.126 221.723);\n --color-cyan-700: oklch(52% 0.105 223.128);\n --color-cyan-800: oklch(45% 0.085 224.283);\n --color-cyan-900: oklch(39.8% 0.07 227.392);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n\n --color-sky-50: oklch(97.7% 0.013 236.62);\n --color-sky-100: oklch(95.1% 0.026 236.824);\n --color-sky-200: oklch(90.1% 0.058 230.902);\n --color-sky-300: oklch(82.8% 0.111 230.318);\n --color-sky-400: oklch(74.6% 0.16 232.661);\n --color-sky-500: oklch(68.5% 0.169 237.323);\n --color-sky-600: oklch(58.8% 0.158 241.966);\n --color-sky-700: oklch(50% 0.134 242.749);\n --color-sky-800: oklch(44.3% 0.11 240.79);\n --color-sky-900: oklch(39.1% 0.09 240.876);\n --color-sky-950: oklch(29.3% 0.066 243.157);\n\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-100: oklch(93.2% 0.032 255.585);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-indigo-800: oklch(39.8% 0.195 277.366);\n --color-indigo-900: oklch(35.9% 0.144 278.697);\n --color-indigo-950: oklch(25.7% 0.09 281.288);\n\n --color-violet-50: oklch(96.9% 0.016 293.756);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-300: oklch(81.1% 0.111 293.571);\n --color-violet-400: oklch(70.2% 0.183 293.541);\n --color-violet-500: oklch(60.6% 0.25 292.717);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-violet-700: oklch(49.1% 0.27 292.581);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-violet-900: oklch(38% 0.189 293.745);\n --color-violet-950: oklch(28.3% 0.141 291.089);\n\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-500: oklch(62.7% 0.265 303.9);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n\n --color-fuchsia-50: oklch(97.7% 0.017 320.058);\n --color-fuchsia-100: oklch(95.2% 0.037 318.852);\n --color-fuchsia-200: oklch(90.3% 0.076 319.62);\n --color-fuchsia-300: oklch(83.3% 0.145 321.434);\n --color-fuchsia-400: oklch(74% 0.238 322.16);\n --color-fuchsia-500: oklch(66.7% 0.295 322.15);\n --color-fuchsia-600: oklch(59.1% 0.293 322.896);\n --color-fuchsia-700: oklch(51.8% 0.253 323.949);\n --color-fuchsia-800: oklch(45.2% 0.211 324.591);\n --color-fuchsia-900: oklch(40.1% 0.17 325.612);\n --color-fuchsia-950: oklch(29.3% 0.136 325.661);\n\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-200: oklch(89.9% 0.061 343.231);\n --color-pink-300: oklch(82.3% 0.12 346.018);\n --color-pink-400: oklch(71.8% 0.202 349.761);\n --color-pink-500: oklch(65.6% 0.241 354.308);\n --color-pink-600: oklch(59.2% 0.249 0.584);\n --color-pink-700: oklch(52.5% 0.223 3.958);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-pink-950: oklch(28.4% 0.109 3.907);\n\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-100: oklch(94.1% 0.03 12.58);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-300: oklch(81% 0.117 11.638);\n --color-rose-400: oklch(71.2% 0.194 13.428);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-700: oklch(51.4% 0.222 16.935);\n --color-rose-800: oklch(45.5% 0.188 13.697);\n --color-rose-900: oklch(41% 0.159 10.272);\n --color-rose-950: oklch(27.1% 0.105 12.094);\n\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-gray-950: oklch(13% 0.028 261.692);\n\n --color-zinc-50: oklch(98.5% 0 0);\n --color-zinc-100: oklch(96.7% 0.001 286.375);\n --color-zinc-200: oklch(92% 0.004 286.32);\n --color-zinc-300: oklch(87.1% 0.006 286.286);\n --color-zinc-400: oklch(70.5% 0.015 286.067);\n --color-zinc-500: oklch(55.2% 0.016 285.938);\n --color-zinc-600: oklch(44.2% 0.017 285.786);\n --color-zinc-700: oklch(37% 0.013 285.805);\n --color-zinc-800: oklch(27.4% 0.006 286.033);\n --color-zinc-900: oklch(21% 0.006 285.885);\n --color-zinc-950: oklch(14.1% 0.005 285.823);\n\n --color-neutral-50: oklch(98.5% 0 0);\n --color-neutral-100: oklch(97% 0 0);\n --color-neutral-200: oklch(92.2% 0 0);\n --color-neutral-300: oklch(87% 0 0);\n --color-neutral-400: oklch(70.8% 0 0);\n --color-neutral-500: oklch(55.6% 0 0);\n --color-neutral-600: oklch(43.9% 0 0);\n --color-neutral-700: oklch(37.1% 0 0);\n --color-neutral-800: oklch(26.9% 0 0);\n --color-neutral-900: oklch(20.5% 0 0);\n --color-neutral-950: oklch(14.5% 0 0);\n\n --color-stone-50: oklch(98.5% 0.001 106.423);\n --color-stone-100: oklch(97% 0.001 106.424);\n --color-stone-200: oklch(92.3% 0.003 48.717);\n --color-stone-300: oklch(86.9% 0.005 56.366);\n --color-stone-400: oklch(70.9% 0.01 56.259);\n --color-stone-500: oklch(55.3% 0.013 58.071);\n --color-stone-600: oklch(44.4% 0.011 73.639);\n --color-stone-700: oklch(37.4% 0.01 67.558);\n --color-stone-800: oklch(26.8% 0.007 34.298);\n --color-stone-900: oklch(21.6% 0.006 56.043);\n --color-stone-950: oklch(14.7% 0.004 49.25);\n\n --color-black: #000;\n --color-white: #fff;\n\n --spacing: 0.25rem;\n\n --breakpoint-sm: 40rem;\n --breakpoint-md: 48rem;\n --breakpoint-lg: 64rem;\n --breakpoint-xl: 80rem;\n --breakpoint-2xl: 96rem;\n\n --container-3xs: 16rem;\n --container-2xs: 18rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --text-8xl: 6rem;\n --text-8xl--line-height: 1;\n --text-9xl: 8rem;\n --text-9xl--line-height: 1;\n\n --font-weight-thin: 100;\n --font-weight-extralight: 200;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --font-weight-black: 900;\n\n --tracking-tighter: -0.05em;\n --tracking-tight: -0.025em;\n --tracking-normal: 0em;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-4xl: 2rem;\n\n --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n\n --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);\n --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);\n --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);\n\n --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);\n --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);\n --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);\n --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);\n\n --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / 0.15);\n --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / 0.2);\n --text-shadow-sm:\n 0px 1px 0px rgb(0 0 0 / 0.075), 0px 1px 1px rgb(0 0 0 / 0.075), 0px 2px 2px rgb(0 0 0 / 0.075);\n --text-shadow-md:\n 0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1), 0px 2px 4px rgb(0 0 0 / 0.1);\n --text-shadow-lg:\n 0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1), 0px 4px 8px rgb(0 0 0 / 0.1);\n\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n\n --animate-spin: spin 1s linear infinite;\n --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n @keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n }\n\n @keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n }\n\n @keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n }\n\n --blur-xs: 4px;\n --blur-sm: 8px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n\n --perspective-dramatic: 100px;\n --perspective-near: 300px;\n --perspective-normal: 500px;\n --perspective-midrange: 800px;\n --perspective-distant: 1200px;\n\n --aspect-video: 16 / 9;\n\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: --theme(--font-sans, initial);\n --default-font-feature-settings: --theme(--font-sans--font-feature-settings, initial);\n --default-font-variation-settings: --theme(--font-sans--font-variation-settings, initial);\n --default-mono-font-family: --theme(--font-mono, initial);\n --default-mono-font-feature-settings: --theme(--font-mono--font-feature-settings, initial);\n --default-mono-font-variation-settings: --theme(--font-mono--font-variation-settings, initial);\n}\n\n/* Deprecated */\n@theme default inline reference {\n --blur: 8px;\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --drop-shadow: 0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06);\n --radius: 0.25rem;\n --max-width-prose: 65ch;\n}\n",utilities:"@tailwind utilities;\n"},vr="text/tailwindcss",wr=new Set,kr="",br=document.createElement("style"),yr=Promise.resolve(),xr=1,$r=new class{start(e){performance.mark(`${e} (start)`)}end(e,t){performance.mark(`${e} (end)`),performance.measure(e,{start:`${e} (start)`,end:`${e} (end)`,detail:t})}hit(e,t){performance.mark(e,{detail:t})}error(e){throw performance.mark("(error)",{detail:{error:`${e}`}}),e}};async function Ar(e,t){try{let r=function(){if("tailwindcss"===e)return{path:"virtual:tailwindcss/index.css",base:t,content:gr.index};if("tailwindcss/preflight"===e||"tailwindcss/preflight.css"===e||"./preflight.css"===e)return{path:"virtual:tailwindcss/preflight.css",base:t,content:gr.preflight};if("tailwindcss/theme"===e||"tailwindcss/theme.css"===e||"./theme.css"===e)return{path:"virtual:tailwindcss/theme.css",base:t,content:gr.theme};if("tailwindcss/utilities"===e||"tailwindcss/utilities.css"===e||"./utilities.css"===e)return{path:"virtual:tailwindcss/utilities.css",base:t,content:gr.utilities};throw new Error(`The browser build does not support @import for "${e}"`)}();return $r.hit("Loaded stylesheet",{id:e,base:t,size:r.content.length}),r}catch(r){throw $r.hit("Failed to load stylesheet",{id:e,base:t,error:r.message??r}),r}}async function zr(){throw new Error("The browser build does not support plugins or config files.")}function Sr(e){yr=yr.then((async function(){if(!mr&&"full"!==e)return;let t=xr++;$r.start(`Build #${t} (${e})`),"full"===e&&await async function(){$r.start("Create compiler"),$r.start("Reading Stylesheets");let e=document.querySelectorAll(`style[type="${vr}"]`),t="";for(let r of e)Tr(r),t+=r.textContent+"\n";if(t.includes("@import")||(t=`@import "tailwindcss";${t}`),$r.end("Reading Stylesheets",{size:t.length,changed:kr!==t}),kr!==t){kr=t,$r.start("Compile CSS");try{mr=await hr(t,{base:"/",loadStylesheet:Ar,loadModule:zr})}finally{$r.end("Compile CSS"),$r.end("Create compiler")}wr.clear()}}(),$r.start("Build"),await async function(e){if(!mr)return;let t=new Set;$r.start("Collect classes");for(let e of document.querySelectorAll("[class]"))for(let r of e.classList)wr.has(r)||(wr.add(r),t.add(r));$r.end("Collect classes",{count:t.size}),(0!==t.size||"incremental"!==e)&&($r.start("Build utilities"),br.textContent=mr.build(Array.from(t)),$r.end("Build utilities"))}(e),$r.end("Build"),$r.end(`Build #${t} (${e})`)})).catch((e=>$r.error(e)))}var Cr=new MutationObserver((()=>Sr("full")));function Tr(e){Cr.observe(e,{attributes:!0,attributeFilter:["type"],characterData:!0,subtree:!0,childList:!0})}new MutationObserver((e=>{let t=0,r=0;for(let n of e){for(let e of n.addedNodes)e.nodeType===Node.ELEMENT_NODE&&"STYLE"===e.tagName&&e.getAttribute("type")===vr&&(Tr(e),t++);for(let e of n.addedNodes)1===e.nodeType&&e!==br&&r++;"attributes"===n.type&&r++}return t>0?Sr("full"):r>0?Sr("incremental"):void 0})).observe(document.documentElement,{attributes:!0,attributeFilter:["class"],childList:!0,subtree:!0}),Sr("full"),document.head.append(br)})(); -//# sourceMappingURL=/sm/7341ede9bd212679a9112e4ec665dc9ef909eb1fd663069797e072e9077e0844.map \ No newline at end of file diff --git a/src/main/resources/public/static/css/.keep b/src/main/resources/static/css/.keep similarity index 100% rename from src/main/resources/public/static/css/.keep rename to src/main/resources/static/css/.keep diff --git a/src/main/resources/public/static/css/index.css b/src/main/resources/static/css/index.css similarity index 100% rename from src/main/resources/public/static/css/index.css rename to src/main/resources/static/css/index.css diff --git a/src/main/resources/public/static/images/.keep b/src/main/resources/static/images/.keep similarity index 100% rename from src/main/resources/public/static/images/.keep rename to src/main/resources/static/images/.keep diff --git a/src/main/resources/public/static/js/.keep b/src/main/resources/static/js/.keep similarity index 100% rename from src/main/resources/public/static/js/.keep rename to src/main/resources/static/js/.keep