diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,58 @@
 # Revision history for emanote
 
+## 1.4.0.0 (2025-08-18)
+
+**Notable features**
+
+- LLM optimized **single-file Markdown export** ([\#598](https://github.com/srid/emanote/pull/598))
+- Obsidian-style **callouts** ([\#466](https://github.com/srid/emanote/pull/466))
+- **TOC sidebar** ([\#504](https://github.com/srid/emanote/pull/504))
+- Native support for **combining multiple notebooks**
+  - Resolve ambiguities based on closer common ancestor ([\#498](https://github.com/srid/emanote/pull/498))
+  - Support for folder "index.md" notes ([\#512](https://github.com/srid/emanote/pull/512))
+    - Instead of "foo/qux.md", you can now create "foo/qux/index.md"
+  - Layers can be mounted in sub-directories, enabling composition of distinct notebooks ([\#523](https://github.com/srid/emanote/pull/523))
+
+**Other improvements**
+
+- Add query syntax for listing folgezetten children & parents ([\#476](https://github.com/srid/emanote/pull/476))
+- `emanote run --no-ws` option to disable WebSocket monitoring. This is useful for using Emanote to serve the HTML site directly on the internet, without needing to statically generate it.
+- Allow specifying custom page title in sidebar ([\#488](https://github.com/srid/emanote/pull/488))
+- Allow specifying `lang` attribute for HTML page in YAML config ([\#485](https://github.com/srid/emanote/pull/485))
+- KaTeX support ([\#489](https://github.com/srid/emanote/pull/489))
+- Lua filters: filter paths will now be looked up in all layers now.
+- Live server now uses Tailwind 3 ([\#503](https://github.com/srid/emanote/pull/503))
+- Enable auto identifier for org files ([\#502](https://github.com/srid/emanote/pull/502))
+- Support date metadata from the filename when it begins with YYYY-MM-DD ([\#552](https://github.com/srid/emanote/pull/552)).
+- Daily notes automatically get a hierarchical tag.
+- HTML
+  - Support for `<kbd>` rendering https://github.com/srid/heist-extra/pull/8
+  - prevent the external link icon from wrapping ([\#528](https://github.com/srid/emanote/pull/528))
+  - [live server] Update Tailwind CDN to 3.4.16
+- Update ema (2.7.2)
+- Nix flake module
+  - Add link checker based on `html-proofer`
+  - Replace `baseUrl` and `prettyUrls` with `extraConfig`
+- **BACKWARDS INCOMPTABILE** changes
+  - Removed `ema:homeUrl` (use `baseUrl` instead)
+  - `feed.siteUrl` is now `page.siteUrl`
+  - A new HTML template layout "default" (unifies and) replaces both "book" and "note" layout. ([\#483](https://github.com/srid/emanote/pull/483))
+    - Sidebar tree is now computed from the folgezettel graph, which is a superset of the folder hierarchy. The index page's tree inherits the same.
+    - The semantics of `folder-folgezettel` is now applied in inverse (see docs)
+  - Add anchor links to headings ([\#500](https://github.com/srid/emanote/pull/500))
+
+**Bug fixes**
+
+- Emanote no longer crashes when run on an empty directory ([\#487](https://github.com/srid/emanote/issues/487))
+- Stork search fixes
+  - Fix empty stork index generation when using more than 1 layer ([\#493](https://github.com/srid/emanote/issues/493))
+  - Stork search index is now uses note path from their associated layer ([\#495](https://github.com/srid/emanote/pull/495))
+
+**Performance improvements**
+
+- Browser-side performance improvement using `idiomorph` ([\#567](https://github.com/srid/emanote/pull/567))
+- Fix memory leak and performance gradation overtime in the browser due to Tailwind when using live server ([\#569](https://github.com/srid/emanote/pull/569))
+
 ## 1.2.0.0 (2023-08-24)
 
 - Bug fixes
@@ -36,7 +89,7 @@
 - UI
   - Index pages are no longer marked as 'experimental'
   - Add external link icon to external links (this behaviour is customizable). [\#189](https://github.com/srid/emanote/pull/189)
-  - `js.mermaid` snippet uses the "module" script tag approach, which is added to end of `<body>`. See [here](https://mermaid-js.github.io/mermaid/#/n00b-gettingStarted?id=_3-calling-the-javascript-api). 
+  - `js.mermaid` snippet uses the "module" script tag approach, which is added to end of `<body>`. See [here](https://mermaid-js.github.io/mermaid/#/n00b-gettingStarted?id=_3-calling-the-javascript-api).
   - Align dates in timeline queries
 - Configuration
   - Add `page.bodyHtml` option to inject custom HTML at the end of `<body>` tag.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,8 +2,7 @@
 
 [![AGPL](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://en.wikipedia.org/wiki/Affero_General_Public_License)
 [![built with nix](https://img.shields.io/badge/Built_With-Nix-5277C3.svg?logo=nixos&labelColor=73C3D5)](https://builtwithnix.org)
-[![Matrix](https://img.shields.io/matrix/ema:matrix.org)](https://app.element.io/#/room/#ema:matrix.org "Chat on Matrix")
-[![Unwoke](https://img.shields.io/badge/unwoke-8A2BE2)](https://srid.ca/unwoke)
+[![Naiveté Compass of Mood](https://img.shields.io/badge/naïve-FF10F0)](https://compass.naivete.me/ "This project follows the 'Naiveté Compass of Mood'")
 
 Emanote emanates[^def] a structured view of your plain-text notes.
 
@@ -23,26 +22,27 @@
 
 ## Developing
 
-
-Emanote is a Haskell software.[^licenses] Thanks to Nix, this repository is pre-configured to provide a delightful development experience with full IDE support in Visual Studio Code. 
+Emanote is a Haskell software.[^licenses] Thanks to Nix, this repository is pre-configured to provide a delightful development experience with full IDE support in Visual Studio Code.
 
-See https://srid.ca/haskell-template/start for complete instructions, but the tldr is: Install nix, enable Flakes and run `bin/run`.
+See https://srid.ca/haskell-template/start for complete instructions, but briefly: [Install Nix](https://nixos.asia/en/install) and run `nix develop -c just run`.
 
-See [architecture.md](docs/architecture.md) for a high-level overview of the codebase.
+See [architecture](https://emanote.srid.ca/architecture) for a high-level overview of the codebase.
 
 ### PR contribution guidelines
 
-Run `nix build .#check -L` when opening a PR.
+You may want to run `nix run nixpkgs#omnix -- ci run` before opening a PR, but the Github Actions will run it as well.
 
 ## Discussion
 
-To discuss the emanote project, [join Matrix][matrix] or post in [GitHub Discussions][ghdiscuss].
+To discuss the emanote project, post in [GitHub Discussions][ghdiscuss].
 
-[matrix]: https://matrix.to/#/#ema:matrix.org
 [ghdiscuss]: https://github.com/srid/emanote/discussions
 
 [^licenses]: Emanote uses software and resources that are licensed differently, viz.:
-    - [Logo](https://www.svgrepo.com/svg/267765/paper-plane)
-    - [Stork search](https://github.com/jameslittle230/stork/blob/master/license.txt)
-    - [Tailwind CSS](https://github.com/tailwindlabs/tailwindcss/blob/master/LICENSE)
-    - Various SVG icons are from [Heroicons](https://github.com/tailwindlabs/heroicons/blob/master/LICENSE)
+    - By default, emanote is licensed: `SPDX-License-Identifier: AGPL-3.0-or-later`
+    - [default/index.yaml](default/index.yaml) `SPDX-License-Identifier: CC0-1.0 OR AGPL-3.0-or-later`
+    - [default/templates](default/templates) `SPDX-License-Identifier: CC0-1.0 OR AGPL-3.0-or-later`
+    - [Logo](https://www.svgrepo.com/svg/267765/paper-plane) `SPDX-License-Identifier: CC0-1.0`
+    - [Stork search](https://github.com/jameslittle230/stork/blob/master/license.txt) `SPDX-License-Identifier: Apache-2.0`
+    - [Tailwind CSS](https://github.com/tailwindlabs/tailwindcss/blob/master/LICENSE) `SPDX-License-Identifier: MIT`
+    - Various SVG icons are from [Heroicons](https://github.com/tailwindlabs/heroicons/blob/master/LICENSE) `SPDX-License-Identifier: MIT`
diff --git a/default/_emanote-live-server/tailwind/2.2.2/tailwind.min.css b/default/_emanote-live-server/tailwind/2.2.2/tailwind.min.css
deleted file mode 100644
# file too large to diff: default/_emanote-live-server/tailwind/2.2.2/tailwind.min.css
diff --git a/default/_emanote-live-server/tailwind/tailwind.cdn.js b/default/_emanote-live-server/tailwind/tailwind.cdn.js
new file mode 100644
--- /dev/null
+++ b/default/_emanote-live-server/tailwind/tailwind.cdn.js
@@ -0,0 +1,87 @@
+(()=>{var R_=Object.create;var fs=Object.defineProperty;var I_=Object.getOwnPropertyDescriptor;var D_=Object.getOwnPropertyNames;var q_=Object.getPrototypeOf,L_=Object.prototype.hasOwnProperty;var nd=t=>fs(t,"__esModule",{value:!0});var sd=t=>{if(typeof require!="undefined")return require(t);throw new Error('Dynamic require of "'+t+'" is not supported')};var D=(t,e)=>()=>(t&&(e=t(t=0)),e);var x=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),dt=(t,e)=>{nd(t);for(var r in e)fs(t,r,{get:e[r],enumerable:!0})},B_=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of D_(e))!L_.call(t,i)&&i!=="default"&&fs(t,i,{get:()=>e[i],enumerable:!(r=I_(e,i))||r.enumerable});return t},Te=t=>B_(nd(fs(t!=null?R_(q_(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var g,u=D(()=>{g={platform:"",env:{},versions:{node:"14.17.6"}}});var M_,Ie,Dt=D(()=>{u();M_=0,Ie={readFileSync:t=>self[t]||"",statSync:()=>({mtimeMs:M_++}),promises:{readFile:t=>Promise.resolve(self[t]||"")}}});var Ao=x((m$,od)=>{u();"use strict";var ad=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof e.maxAge=="number"&&e.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||1/0,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if(typeof this.onEviction=="function")for(let[r,i]of e)this.onEviction(r,i.value)}_deleteIfExpired(e,r){return typeof r.expiry=="number"&&r.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(e,r.value),this.delete(e)):!1}_getOrDeleteIfExpired(e,r){if(this._deleteIfExpired(e,r)===!1)return r.value}_getItemValue(e,r){return r.expiry?this._getOrDeleteIfExpired(e,r):r.value}_peek(e,r){let i=r.get(e);return this._getItemValue(e,i)}_set(e,r){this.cache.set(e,r),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,r){this.oldCache.delete(e),this._set(e,r)}*_entriesAscending(){for(let e of this.oldCache){let[r,i]=e;this.cache.has(r)||this._deleteIfExpired(r,i)===!1&&(yield e)}for(let e of this.cache){let[r,i]=e;this._deleteIfExpired(r,i)===!1&&(yield e)}}get(e){if(this.cache.has(e)){let r=this.cache.get(e);return this._getItemValue(e,r)}if(this.oldCache.has(e)){let r=this.oldCache.get(e);if(this._deleteIfExpired(e,r)===!1)return this._moveToRecent(e,r),r.value}}set(e,r,{maxAge:i=this.maxAge===1/0?void 0:Date.now()+this.maxAge}={}){this.cache.has(e)?this.cache.set(e,{value:r,maxAge:i}):this._set(e,{value:r,expiry:i})}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):this.oldCache.has(e)?!this._deleteIfExpired(e,this.oldCache.get(e)):!1}peek(e){if(this.cache.has(e))return this._peek(e,this.cache);if(this.oldCache.has(e))return this._peek(e,this.oldCache)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");let r=[...this._entriesAscending()],i=r.length-e;i<0?(this.cache=new Map(r),this.oldCache=new Map,this._size=r.length):(i>0&&this._emitEvictions(r.slice(0,i)),this.oldCache=new Map(r.slice(i)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache){let[r,i]=e;this._deleteIfExpired(r,i)===!1&&(yield[r,i.value])}for(let e of this.oldCache){let[r,i]=e;this.cache.has(r)||this._deleteIfExpired(r,i)===!1&&(yield[r,i.value])}}*entriesDescending(){let e=[...this.cache];for(let r=e.length-1;r>=0;--r){let i=e[r],[n,s]=i;this._deleteIfExpired(n,s)===!1&&(yield[n,s.value])}e=[...this.oldCache];for(let r=e.length-1;r>=0;--r){let i=e[r],[n,s]=i;this.cache.has(n)||this._deleteIfExpired(n,s)===!1&&(yield[n,s.value])}}*entriesAscending(){for(let[e,r]of this._entriesAscending())yield[e,r.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};od.exports=ad});var ld,ud=D(()=>{u();ld=t=>t&&t._hash});function cs(t){return ld(t,{ignoreUnknown:!0})}var fd=D(()=>{u();ud()});function Yt(t){if(t=`${t}`,t==="0")return"0";if(/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(t))return t.replace(/^[+-]?/,r=>r==="-"?"":"-");let e=["var","calc","min","max","clamp"];for(let r of e)if(t.includes(`${r}(`))return`calc(${t} * -1)`}var ps=D(()=>{u()});var cd,pd=D(()=>{u();cd=["preflight","container","accessibility","pointerEvents","visibility","position","inset","isolation","zIndex","order","gridColumn","gridColumnStart","gridColumnEnd","gridRow","gridRowStart","gridRowEnd","float","clear","margin","boxSizing","lineClamp","display","aspectRatio","size","height","maxHeight","minHeight","width","minWidth","maxWidth","flex","flexShrink","flexGrow","flexBasis","tableLayout","captionSide","borderCollapse","borderSpacing","transformOrigin","translate","rotate","skew","scale","transform","animation","cursor","touchAction","userSelect","resize","scrollSnapType","scrollSnapAlign","scrollSnapStop","scrollMargin","scrollPadding","listStylePosition","listStyleType","listStyleImage","appearance","columns","breakBefore","breakInside","breakAfter","gridAutoColumns","gridAutoFlow","gridAutoRows","gridTemplateColumns","gridTemplateRows","flexDirection","flexWrap","placeContent","placeItems","alignContent","alignItems","justifyContent","justifyItems","gap","space","divideWidth","divideStyle","divideColor","divideOpacity","placeSelf","alignSelf","justifySelf","overflow","overscrollBehavior","scrollBehavior","textOverflow","hyphens","whitespace","textWrap","wordBreak","borderRadius","borderWidth","borderStyle","borderColor","borderOpacity","backgroundColor","backgroundOpacity","backgroundImage","gradientColorStops","boxDecorationBreak","backgroundSize","backgroundAttachment","backgroundClip","backgroundPosition","backgroundRepeat","backgroundOrigin","fill","stroke","strokeWidth","objectFit","objectPosition","padding","textAlign","textIndent","verticalAlign","fontFamily","fontSize","fontWeight","textTransform","fontStyle","fontVariantNumeric","lineHeight","letterSpacing","textColor","textOpacity","textDecoration","textDecorationColor","textDecorationStyle","textDecorationThickness","textUnderlineOffset","fontSmoothing","placeholderColor","placeholderOpacity","caretColor","accentColor","opacity","backgroundBlendMode","mixBlendMode","boxShadow","boxShadowColor","outlineStyle","outlineWidth","outlineOffset","outlineColor","ringWidth","ringColor","ringOpacity","ringOffsetWidth","ringOffsetColor","blur","brightness","contrast","dropShadow","grayscale","hueRotate","invert","saturate","sepia","filter","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backdropFilter","transitionProperty","transitionDelay","transitionDuration","transitionTimingFunction","willChange","contain","content","forcedColorAdjust"]});function dd(t,e){return t===void 0?e:Array.isArray(t)?t:[...new Set(e.filter(i=>t!==!1&&t[i]!==!1).concat(Object.keys(t).filter(i=>t[i]!==!1)))]}var hd=D(()=>{u()});var md={};dt(md,{default:()=>ht});var ht,ds=D(()=>{u();ht=new Proxy({},{get:()=>String})});function To(t,e,r){typeof g!="undefined"&&g.env.JEST_WORKER_ID||r&&gd.has(r)||(r&&gd.add(r),console.warn(""),e.forEach(i=>console.warn(t,"-",i)))}function Eo(t){return ht.dim(t)}var gd,te,rt=D(()=>{u();ds();gd=new Set;te={info(t,e){To(ht.bold(ht.cyan("info")),...Array.isArray(t)?[t]:[e,t])},warn(t,e){["content-problems"].includes(t)||To(ht.bold(ht.yellow("warn")),...Array.isArray(t)?[t]:[e,t])},risk(t,e){To(ht.bold(ht.magenta("risk")),...Array.isArray(t)?[t]:[e,t])}}});var hs={};dt(hs,{default:()=>Co});function _i({version:t,from:e,to:r}){te.warn(`${e}-color-renamed`,[`As of Tailwind CSS ${t}, \`${e}\` has been renamed to \`${r}\`.`,"Update your configuration file to silence this warning."])}var Co,Ai=D(()=>{u();rt();Co={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return _i({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return _i({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return _i({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return _i({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return _i({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}});function Oo(t,...e){for(let r of e){for(let i in r)t?.hasOwnProperty?.(i)||(t[i]=r[i]);for(let i of Object.getOwnPropertySymbols(r))t?.hasOwnProperty?.(i)||(t[i]=r[i])}return t}var yd=D(()=>{u()});function Kt(t){if(Array.isArray(t))return t;let e=t.split("[").length-1,r=t.split("]").length-1;if(e!==r)throw new Error(`Path is invalid. Has unbalanced brackets: ${t}`);return t.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean)}var ms=D(()=>{u()});function De(t,e){return gs.future.includes(e)?t.future==="all"||(t?.future?.[e]??wd[e]??!1):gs.experimental.includes(e)?t.experimental==="all"||(t?.experimental?.[e]??wd[e]??!1):!1}function vd(t){return t.experimental==="all"?gs.experimental:Object.keys(t?.experimental??{}).filter(e=>gs.experimental.includes(e)&&t.experimental[e])}function bd(t){if(g.env.JEST_WORKER_ID===void 0&&vd(t).length>0){let e=vd(t).map(r=>ht.yellow(r)).join(", ");te.warn("experimental-flags-enabled",[`You have enabled experimental features: ${e}`,"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."])}}var wd,gs,qt=D(()=>{u();ds();rt();wd={optimizeUniversalDefaults:!1,generalizedModifiers:!0,disableColorOpacityUtilitiesByDefault:!1,relativeContentPathsByDefault:!1},gs={future:["hoverOnlyWhenSupported","respectDefaultRingColorOpacity","disableColorOpacityUtilitiesByDefault","relativeContentPathsByDefault"],experimental:["optimizeUniversalDefaults","generalizedModifiers"]}});function xd(t){(()=>{if(t.purge||!t.content||!Array.isArray(t.content)&&!(typeof t.content=="object"&&t.content!==null))return!1;if(Array.isArray(t.content))return t.content.every(r=>typeof r=="string"?!0:!(typeof r?.raw!="string"||r?.extension&&typeof r?.extension!="string"));if(typeof t.content=="object"&&t.content!==null){if(Object.keys(t.content).some(r=>!["files","relative","extract","transform"].includes(r)))return!1;if(Array.isArray(t.content.files)){if(!t.content.files.every(r=>typeof r=="string"?!0:!(typeof r?.raw!="string"||r?.extension&&typeof r?.extension!="string")))return!1;if(typeof t.content.extract=="object"){for(let r of Object.values(t.content.extract))if(typeof r!="function")return!1}else if(!(t.content.extract===void 0||typeof t.content.extract=="function"))return!1;if(typeof t.content.transform=="object"){for(let r of Object.values(t.content.transform))if(typeof r!="function")return!1}else if(!(t.content.transform===void 0||typeof t.content.transform=="function"))return!1;if(typeof t.content.relative!="boolean"&&typeof t.content.relative!="undefined")return!1}return!0}return!1})()||te.warn("purge-deprecation",["The `purge`/`content` options have changed in Tailwind CSS v3.0.","Update your configuration file to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]),t.safelist=(()=>{let{content:r,purge:i,safelist:n}=t;return Array.isArray(n)?n:Array.isArray(r?.safelist)?r.safelist:Array.isArray(i?.safelist)?i.safelist:Array.isArray(i?.options?.safelist)?i.options.safelist:[]})(),t.blocklist=(()=>{let{blocklist:r}=t;if(Array.isArray(r)){if(r.every(i=>typeof i=="string"))return r;te.warn("blocklist-invalid",["The `blocklist` option must be an array of strings.","https://tailwindcss.com/docs/content-configuration#discarding-classes"])}return[]})(),typeof t.prefix=="function"?(te.warn("prefix-function",["As of Tailwind CSS v3.0, `prefix` cannot be a function.","Update `prefix` in your configuration to be a string to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]),t.prefix=""):t.prefix=t.prefix??"",t.content={relative:(()=>{let{content:r}=t;return r?.relative?r.relative:De(t,"relativeContentPathsByDefault")})(),files:(()=>{let{content:r,purge:i}=t;return Array.isArray(i)?i:Array.isArray(i?.content)?i.content:Array.isArray(r)?r:Array.isArray(r?.content)?r.content:Array.isArray(r?.files)?r.files:[]})(),extract:(()=>{let r=(()=>t.purge?.extract?t.purge.extract:t.content?.extract?t.content.extract:t.purge?.extract?.DEFAULT?t.purge.extract.DEFAULT:t.content?.extract?.DEFAULT?t.content.extract.DEFAULT:t.purge?.options?.extractors?t.purge.options.extractors:t.content?.options?.extractors?t.content.options.extractors:{})(),i={},n=(()=>{if(t.purge?.options?.defaultExtractor)return t.purge.options.defaultExtractor;if(t.content?.options?.defaultExtractor)return t.content.options.defaultExtractor})();if(n!==void 0&&(i.DEFAULT=n),typeof r=="function")i.DEFAULT=r;else if(Array.isArray(r))for(let{extensions:s,extractor:a}of r??[])for(let o of s)i[o]=a;else typeof r=="object"&&r!==null&&Object.assign(i,r);return i})(),transform:(()=>{let r=(()=>t.purge?.transform?t.purge.transform:t.content?.transform?t.content.transform:t.purge?.transform?.DEFAULT?t.purge.transform.DEFAULT:t.content?.transform?.DEFAULT?t.content.transform.DEFAULT:{})(),i={};return typeof r=="function"?i.DEFAULT=r:typeof r=="object"&&r!==null&&Object.assign(i,r),i})()};for(let r of t.content.files)if(typeof r=="string"&&/{([^,]*?)}/g.test(r)){te.warn("invalid-glob-braces",[`The glob pattern ${Eo(r)} in your Tailwind CSS configuration is invalid.`,`Update it to ${Eo(r.replace(/{([^,]*?)}/g,"$1"))} to silence this warning.`]);break}return t}var Sd=D(()=>{u();qt();rt()});function Be(t){if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||Object.getPrototypeOf(e)===null}var qr=D(()=>{u()});function Xt(t){return Array.isArray(t)?t.map(e=>Xt(e)):typeof t=="object"&&t!==null?Object.fromEntries(Object.entries(t).map(([e,r])=>[e,Xt(r)])):t}var ys=D(()=>{u()});function gr(t){return t.replace(/\\,/g,"\\2c ")}var ws=D(()=>{u()});var Po,kd=D(()=>{u();Po={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});function Ti(t,{loose:e=!1}={}){if(typeof t!="string")return null;if(t=t.trim(),t==="transparent")return{mode:"rgb",color:["0","0","0"],alpha:"0"};if(t in Po)return{mode:"rgb",color:Po[t].map(s=>s.toString())};let r=t.replace($_,(s,a,o,l,c)=>["#",a,a,o,o,l,l,c?c+c:""].join("")).match(N_);if(r!==null)return{mode:"rgb",color:[parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)].map(s=>s.toString()),alpha:r[4]?(parseInt(r[4],16)/255).toString():void 0};let i=t.match(F_)??t.match(z_);if(i===null)return null;let n=[i[2],i[3],i[4]].filter(Boolean).map(s=>s.toString());return n.length===2&&n[0].startsWith("var(")?{mode:i[1],color:[n[0]],alpha:n[1]}:!e&&n.length!==3||n.length<3&&!n.some(s=>/^var\(.*?\)$/.test(s))?null:{mode:i[1],color:n,alpha:i[5]?.toString?.()}}function Ro({mode:t,color:e,alpha:r}){let i=r!==void 0;return t==="rgba"||t==="hsla"?`${t}(${e.join(", ")}${i?`, ${r}`:""})`:`${t}(${e.join(" ")}${i?` / ${r}`:""})`}var N_,$_,Zt,vs,_d,Jt,F_,z_,Io=D(()=>{u();kd();N_=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,$_=/^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,Zt=/(?:\d+|\d*\.\d+)%?/,vs=/(?:\s*,\s*|\s+)/,_d=/\s*[,/]\s*/,Jt=/var\(--(?:[^ )]*?)(?:,(?:[^ )]*?|var\(--[^ )]*?\)))?\)/,F_=new RegExp(`^(rgba?)\\(\\s*(${Zt.source}|${Jt.source})(?:${vs.source}(${Zt.source}|${Jt.source}))?(?:${vs.source}(${Zt.source}|${Jt.source}))?(?:${_d.source}(${Zt.source}|${Jt.source}))?\\s*\\)$`),z_=new RegExp(`^(hsla?)\\(\\s*((?:${Zt.source})(?:deg|rad|grad|turn)?|${Jt.source})(?:${vs.source}(${Zt.source}|${Jt.source}))?(?:${vs.source}(${Zt.source}|${Jt.source}))?(?:${_d.source}(${Zt.source}|${Jt.source}))?\\s*\\)$`)});function bt(t,e,r){if(typeof t=="function")return t({opacityValue:e});let i=Ti(t,{loose:!0});return i===null?r:Ro({...i,alpha:e})}function $e({color:t,property:e,variable:r}){let i=[].concat(e);if(typeof t=="function")return{[r]:"1",...Object.fromEntries(i.map(s=>[s,t({opacityVariable:r,opacityValue:`var(${r}, 1)`})]))};let n=Ti(t);return n===null?Object.fromEntries(i.map(s=>[s,t])):n.alpha!==void 0?Object.fromEntries(i.map(s=>[s,t])):{[r]:"1",...Object.fromEntries(i.map(s=>[s,Ro({...n,alpha:`var(${r}, 1)`})]))}}var Ei=D(()=>{u();Io()});function qe(t,e){let r=[],i=[],n=0,s=!1;for(let a=0;a<t.length;a++){let o=t[a];r.length===0&&o===e[0]&&!s&&(e.length===1||t.slice(a,a+e.length)===e)&&(i.push(t.slice(n,a)),n=a+e.length),s=s?!1:o==="\\",o==="("||o==="["||o==="{"?r.push(o):(o===")"&&r[r.length-1]==="("||o==="]"&&r[r.length-1]==="["||o==="}"&&r[r.length-1]==="{")&&r.pop()}return i.push(t.slice(n)),i}var yr=D(()=>{u()});function bs(t){return qe(t,",").map(r=>{let i=r.trim(),n={raw:i},s=i.split(U_),a=new Set;for(let o of s)Ad.lastIndex=0,!a.has("KEYWORD")&&j_.has(o)?(n.keyword=o,a.add("KEYWORD")):Ad.test(o)?a.has("X")?a.has("Y")?a.has("BLUR")?a.has("SPREAD")||(n.spread=o,a.add("SPREAD")):(n.blur=o,a.add("BLUR")):(n.y=o,a.add("Y")):(n.x=o,a.add("X")):n.color?(n.unknown||(n.unknown=[]),n.unknown.push(o)):n.color=o;return n.valid=n.x!==void 0&&n.y!==void 0,n})}function Td(t){return t.map(e=>e.valid?[e.keyword,e.x,e.y,e.blur,e.spread,e.color].filter(Boolean).join(" "):e.raw).join(", ")}var j_,U_,Ad,Do=D(()=>{u();yr();j_=new Set(["inset","inherit","initial","revert","unset"]),U_=/\ +(?![^(]*\))/g,Ad=/^-?(\d+|\.\d+)(.*?)$/g});function qo(t){return H_.some(e=>new RegExp(`^${e}\\(.*\\)`).test(t))}function ie(t,e=null,r=!0){let i=e&&V_.has(e.property);return t.startsWith("--")&&!i?`var(${t})`:t.includes("url(")?t.split(/(url\(.*?\))/g).filter(Boolean).map(n=>/^url\(.*?\)$/.test(n)?n:ie(n,e,!1)).join(""):(t=t.replace(/([^\\])_+/g,(n,s)=>s+" ".repeat(n.length-1)).replace(/^_/g," ").replace(/\\_/g,"_"),r&&(t=t.trim()),t=W_(t),t)}function mt(t){return t.includes("=")&&(t=t.replace(/(=.*)/g,(e,r)=>{if(r[1]==="'"||r[1]==='"')return r;if(r.length>2){let i=r[r.length-1];if(r[r.length-2]===" "&&(i==="i"||i==="I"||i==="s"||i==="S"))return`="${r.slice(1,-2)}" ${r[r.length-1]}`}return`="${r.slice(1)}"`})),t}function W_(t){let e=["theme"],r=["min-content","max-content","fit-content","safe-area-inset-top","safe-area-inset-right","safe-area-inset-bottom","safe-area-inset-left","titlebar-area-x","titlebar-area-y","titlebar-area-width","titlebar-area-height","keyboard-inset-top","keyboard-inset-right","keyboard-inset-bottom","keyboard-inset-left","keyboard-inset-width","keyboard-inset-height","radial-gradient","linear-gradient","conic-gradient","repeating-radial-gradient","repeating-linear-gradient","repeating-conic-gradient","anchor-size"];return t.replace(/(calc|min|max|clamp)\(.+\)/g,i=>{let n="";function s(){let a=n.trimEnd();return a[a.length-1]}for(let a=0;a<i.length;a++){let o=function(f){return f.split("").every((d,p)=>i[a+p]===d)},l=function(f){let d=1/0;for(let m of f){let w=i.indexOf(m,a);w!==-1&&w<d&&(d=w)}let p=i.slice(a,d);return a+=p.length-1,p},c=i[a];if(o("var"))n+=l([")",","]);else if(r.some(f=>o(f))){let f=r.find(d=>o(d));n+=f,a+=f.length-1}else e.some(f=>o(f))?n+=l([")"]):o("[")?n+=l(["]"]):["+","-","*","/"].includes(c)&&!["(","+","-","*","/",","].includes(s())?n+=` ${c} `:n+=c}return n.replace(/\s+/g," ")})}function Lo(t){return t.startsWith("url(")}function Bo(t){return!isNaN(Number(t))||qo(t)}function Ci(t){return t.endsWith("%")&&Bo(t.slice(0,-1))||qo(t)}function Oi(t){return t==="0"||new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${Q_}$`).test(t)||qo(t)}function Ed(t){return Y_.has(t)}function Cd(t){let e=bs(ie(t));for(let r of e)if(!r.valid)return!1;return!0}function Od(t){let e=0;return qe(t,"_").every(i=>(i=ie(i),i.startsWith("var(")?!0:Ti(i,{loose:!0})!==null?(e++,!0):!1))?e>0:!1}function Pd(t){let e=0;return qe(t,",").every(i=>(i=ie(i),i.startsWith("var(")?!0:Lo(i)||X_(i)||["element(","image(","cross-fade(","image-set("].some(n=>i.startsWith(n))?(e++,!0):!1))?e>0:!1}function X_(t){t=ie(t);for(let e of K_)if(t.startsWith(`${e}(`))return!0;return!1}function Rd(t){let e=0;return qe(t,"_").every(i=>(i=ie(i),i.startsWith("var(")?!0:Z_.has(i)||Oi(i)||Ci(i)?(e++,!0):!1))?e>0:!1}function Id(t){let e=0;return qe(t,",").every(i=>(i=ie(i),i.startsWith("var(")?!0:i.includes(" ")&&!/(['"])([^"']+)\1/g.test(i)||/^\d/g.test(i)?!1:(e++,!0)))?e>0:!1}function Dd(t){return J_.has(t)}function qd(t){return e2.has(t)}function Ld(t){return t2.has(t)}var H_,V_,G_,Q_,Y_,K_,Z_,J_,e2,t2,Pi=D(()=>{u();Io();Do();yr();H_=["min","max","clamp","calc"];V_=new Set(["scroll-timeline-name","timeline-scope","view-timeline-name","font-palette","anchor-name","anchor-scope","position-anchor","position-try-options","scroll-timeline","animation-timeline","view-timeline","position-try"]);G_=["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"],Q_=`(?:${G_.join("|")})`;Y_=new Set(["thin","medium","thick"]);K_=new Set(["conic-gradient","linear-gradient","radial-gradient","repeating-conic-gradient","repeating-linear-gradient","repeating-radial-gradient"]);Z_=new Set(["center","top","right","bottom","left"]);J_=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]);e2=new Set(["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large"]);t2=new Set(["larger","smaller"])});function Bd(t){let e=["cover","contain"];return qe(t,",").every(r=>{let i=qe(r,"_").filter(Boolean);return i.length===1&&e.includes(i[0])?!0:i.length!==1&&i.length!==2?!1:i.every(n=>Oi(n)||Ci(n)||n==="auto")})}var Md=D(()=>{u();Pi();yr()});function Nd(t,e){t.walkClasses(r=>{r.value=e(r.value),r.raws&&r.raws.value&&(r.raws.value=gr(r.raws.value))})}function $d(t,e){if(!er(t))return;let r=t.slice(1,-1);if(!!e(r))return ie(r)}function r2(t,e={},r){let i=e[t];if(i!==void 0)return Yt(i);if(er(t)){let n=$d(t,r);return n===void 0?void 0:Yt(n)}}function xs(t,e={},{validate:r=()=>!0}={}){let i=e.values?.[t];return i!==void 0?i:e.supportsNegativeValues&&t.startsWith("-")?r2(t.slice(1),e.values,r):$d(t,r)}function er(t){return t.startsWith("[")&&t.endsWith("]")}function Fd(t){let e=t.lastIndexOf("/"),r=t.lastIndexOf("[",e),i=t.indexOf("]",e);return t[e-1]==="]"||t[e+1]==="["||r!==-1&&i!==-1&&r<e&&e<i&&(e=t.lastIndexOf("/",r)),e===-1||e===t.length-1?[t,void 0]:er(t)&&!t.includes("]/[")?[t,void 0]:[t.slice(0,e),t.slice(e+1)]}function Lr(t){if(typeof t=="string"&&t.includes("<alpha-value>")){let e=t;return({opacityValue:r=1})=>e.replace(/<alpha-value>/g,r)}return t}function zd(t){return ie(t.slice(1,-1))}function i2(t,e={},{tailwindConfig:r={}}={}){if(e.values?.[t]!==void 0)return Lr(e.values?.[t]);let[i,n]=Fd(t);if(n!==void 0){let s=e.values?.[i]??(er(i)?i.slice(1,-1):void 0);return s===void 0?void 0:(s=Lr(s),er(n)?bt(s,zd(n)):r.theme?.opacity?.[n]===void 0?void 0:bt(s,r.theme.opacity[n]))}return xs(t,e,{validate:Od})}function n2(t,e={}){return e.values?.[t]}function Xe(t){return(e,r)=>xs(e,r,{validate:t})}function s2(t,e){let r=t.indexOf(e);return r===-1?[void 0,t]:[t.slice(0,r),t.slice(r+1)]}function No(t,e,r,i){if(r.values&&e in r.values)for(let{type:s}of t??[]){let a=Mo[s](e,r,{tailwindConfig:i});if(a!==void 0)return[a,s,null]}if(er(e)){let s=e.slice(1,-1),[a,o]=s2(s,":");if(!/^[\w-_]+$/g.test(a))o=s;else if(a!==void 0&&!jd.includes(a))return[];if(o.length>0&&jd.includes(a))return[xs(`[${o}]`,r),a,null]}let n=$o(t,e,r,i);for(let s of n)return s;return[]}function*$o(t,e,r,i){let n=De(i,"generalizedModifiers"),[s,a]=Fd(e);if(n&&r.modifiers!=null&&(r.modifiers==="any"||typeof r.modifiers=="object"&&(a&&er(a)||a in r.modifiers))||(s=e,a=void 0),a!==void 0&&s===""&&(s="DEFAULT"),a!==void 0&&typeof r.modifiers=="object"){let l=r.modifiers?.[a]??null;l!==null?a=l:er(a)&&(a=zd(a))}for(let{type:l}of t??[]){let c=Mo[l](s,r,{tailwindConfig:i});c!==void 0&&(yield[c,l,a??null])}}var Mo,jd,Ri=D(()=>{u();ws();Ei();Pi();ps();Md();qt();Mo={any:xs,color:i2,url:Xe(Lo),image:Xe(Pd),length:Xe(Oi),percentage:Xe(Ci),position:Xe(Rd),lookup:n2,"generic-name":Xe(Dd),"family-name":Xe(Id),number:Xe(Bo),"line-width":Xe(Ed),"absolute-size":Xe(qd),"relative-size":Xe(Ld),shadow:Xe(Cd),size:Xe(Bd)},jd=Object.keys(Mo)});function ne(t){return typeof t=="function"?t({}):t}var Fo=D(()=>{u()});function Br(t){return typeof t=="function"}function Ii(t,...e){let r=e.pop();for(let i of e)for(let n in i){let s=r(t[n],i[n]);s===void 0?Be(t[n])&&Be(i[n])?t[n]=Ii({},t[n],i[n],r):t[n]=i[n]:t[n]=s}return t}function a2(t,...e){return Br(t)?t(...e):t}function o2(t){return t.reduce((e,{extend:r})=>Ii(e,r,(i,n)=>i===void 0?[n]:Array.isArray(i)?[n,...i]:[n,i]),{})}function l2(t){return{...t.reduce((e,r)=>Oo(e,r),{}),extend:o2(t)}}function Ud(t,e){if(Array.isArray(t)&&Be(t[0]))return t.concat(e);if(Array.isArray(e)&&Be(e[0])&&Be(t))return[t,...e];if(Array.isArray(e))return e}function u2({extend:t,...e}){return Ii(e,t,(r,i)=>!Br(r)&&!i.some(Br)?Ii({},r,...i,Ud):(n,s)=>Ii({},...[r,...i].map(a=>a2(a,n,s)),Ud))}function*f2(t){let e=Kt(t);if(e.length===0||(yield e,Array.isArray(t)))return;let r=/^(.*?)\s*\/\s*([^/]+)$/,i=t.match(r);if(i!==null){let[,n,s]=i,a=Kt(n);a.alpha=s,yield a}}function c2(t){let e=(r,i)=>{for(let n of f2(r)){let s=0,a=t;for(;a!=null&&s<n.length;)a=a[n[s++]],a=Br(a)&&(n.alpha===void 0||s<=n.length-1)?a(e,zo):a;if(a!==void 0){if(n.alpha!==void 0){let o=Lr(a);return bt(o,n.alpha,ne(o))}return Be(a)?Xt(a):a}}return i};return Object.assign(e,{theme:e,...zo}),Object.keys(t).reduce((r,i)=>(r[i]=Br(t[i])?t[i](e,zo):t[i],r),{})}function Hd(t){let e=[];return t.forEach(r=>{e=[...e,r];let i=r?.plugins??[];i.length!==0&&i.forEach(n=>{n.__isOptionsFunction&&(n=n()),e=[...e,...Hd([n?.config??{}])]})}),e}function p2(t){return[...t].reduceRight((r,i)=>Br(i)?i({corePlugins:r}):dd(i,r),cd)}function d2(t){return[...t].reduceRight((r,i)=>[...r,...i],[])}function jo(t){let e=[...Hd(t),{prefix:"",important:!1,separator:":"}];return xd(Oo({theme:c2(u2(l2(e.map(r=>r?.theme??{})))),corePlugins:p2(e.map(r=>r.corePlugins)),plugins:d2(t.map(r=>r?.plugins??[]))},...e))}var zo,Vd=D(()=>{u();ps();pd();hd();Ai();yd();ms();Sd();qr();ys();Ri();Ei();Fo();zo={colors:Co,negative(t){return Object.keys(t).filter(e=>t[e]!=="0").reduce((e,r)=>{let i=Yt(t[r]);return i!==void 0&&(e[`-${r}`]=i),e},{})},breakpoints(t){return Object.keys(t).filter(e=>typeof t[e]=="string").reduce((e,r)=>({...e,[`screen-${r}`]:t[r]}),{})}}});var Ss=x((wF,Wd)=>{u();Wd.exports={content:[],presets:[],darkMode:"media",theme:{accentColor:({theme:t})=>({...t("colors"),auto:"auto"}),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"},backdropBlur:({theme:t})=>t("blur"),backdropBrightness:({theme:t})=>t("brightness"),backdropContrast:({theme:t})=>t("contrast"),backdropGrayscale:({theme:t})=>t("grayscale"),backdropHueRotate:({theme:t})=>t("hueRotate"),backdropInvert:({theme:t})=>t("invert"),backdropOpacity:({theme:t})=>t("opacity"),backdropSaturate:({theme:t})=>t("saturate"),backdropSepia:({theme:t})=>t("sepia"),backgroundColor:({theme:t})=>t("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:t})=>t("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:t})=>({...t("colors"),DEFAULT:t("colors.gray.200","currentColor")}),borderOpacity:({theme:t})=>t("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:t})=>({...t("spacing")}),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px"},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:t})=>t("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"},caretColor:({theme:t})=>t("colors"),colors:({colors:t})=>({inherit:t.inherit,current:t.current,transparent:t.transparent,black:t.black,white:t.white,slate:t.slate,gray:t.gray,zinc:t.zinc,neutral:t.neutral,stone:t.stone,red:t.red,orange:t.orange,amber:t.amber,yellow:t.yellow,lime:t.lime,green:t.green,emerald:t.emerald,teal:t.teal,cyan:t.cyan,sky:t.sky,blue:t.blue,indigo:t.indigo,violet:t.violet,purple:t.purple,fuchsia:t.fuchsia,pink:t.pink,rose:t.rose}),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"},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2"},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:t})=>t("borderColor"),divideOpacity:({theme:t})=>t("borderOpacity"),divideWidth:({theme:t})=>t("borderWidth"),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:t})=>({none:"none",...t("colors")}),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:t})=>({auto:"auto",...t("spacing"),"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%"}),flexGrow:{0:"0",DEFAULT:"1"},flexShrink:{0:"0",DEFAULT:"1"},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:t})=>t("spacing"),gradientColorStops:({theme:t})=>t("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%"},grayscale:{0:"0",DEFAULT:"100%"},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"},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"},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"},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"},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))"},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))"},height:({theme:t})=>({auto:"auto",...t("spacing"),"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"}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},inset:({theme:t})=>({auto:"auto",...t("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),invert:{0:"0",DEFAULT:"100%"},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:t})=>({auto:"auto",...t("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"},maxHeight:({theme:t})=>({...t("spacing"),none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),maxWidth:({theme:t,breakpoints:e})=>({...t("spacing"),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(t("screens"))}),minHeight:({theme:t})=>({...t("spacing"),full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),minWidth:({theme:t})=>({...t("spacing"),full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),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"},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"},outlineColor:({theme:t})=>t("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},padding:({theme:t})=>t("spacing"),placeholderColor:({theme:t})=>t("colors"),placeholderOpacity:({theme:t})=>t("opacity"),ringColor:({theme:t})=>({DEFAULT:t("colors.blue.500","#3b82f6"),...t("colors")}),ringOffsetColor:({theme:t})=>t("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},ringOpacity:({theme:t})=>({DEFAULT:"0.5",...t("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2"},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"},screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},scrollMargin:({theme:t})=>({...t("spacing")}),scrollPadding:({theme:t})=>t("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg"},space:({theme:t})=>({...t("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:t})=>({none:"none",...t("colors")}),strokeWidth:{0:"0",1:"1",2:"2"},supports:{},data:{},textColor:({theme:t})=>t("colors"),textDecorationColor:({theme:t})=>t("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},textIndent:({theme:t})=>({...t("spacing")}),textOpacity:({theme:t})=>t("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},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"},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-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:t})=>({...t("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),size:({theme:t})=>({auto:"auto",...t("spacing"),"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"}),width:({theme:t})=>({auto:"auto",...t("spacing"),"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"}),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"}},plugins:[]}});function ks(t){let e=(t?.presets??[Gd.default]).slice().reverse().flatMap(n=>ks(n instanceof Function?n():n)),r={respectDefaultRingColorOpacity:{theme:{ringColor:({theme:n})=>({DEFAULT:"#3b82f67f",...n("colors")})}},disableColorOpacityUtilitiesByDefault:{corePlugins:{backgroundOpacity:!1,borderOpacity:!1,divideOpacity:!1,placeholderOpacity:!1,ringOpacity:!1,textOpacity:!1}}},i=Object.keys(r).filter(n=>De(t,n)).map(n=>r[n]);return[t,...i,...e]}var Gd,Qd=D(()=>{u();Gd=Te(Ss());qt()});var Yd={};dt(Yd,{default:()=>Di});function Di(...t){let[,...e]=ks(t[0]);return jo([...t,...e])}var Uo=D(()=>{u();Vd();Qd()});var qi={};dt(qi,{default:()=>Oe});var Oe,xt=D(()=>{u();Oe={resolve:t=>t,extname:t=>"."+t.split(".").pop()}});function _s(t){return typeof t=="object"&&t!==null}function m2(t){return Object.keys(t).length===0}function Kd(t){return typeof t=="string"||t instanceof String}function Ho(t){return _s(t)&&t.config===void 0&&!m2(t)?null:_s(t)&&t.config!==void 0&&Kd(t.config)?Oe.resolve(t.config):_s(t)&&t.config!==void 0&&_s(t.config)?null:Kd(t)?Oe.resolve(t):g2()}function g2(){for(let t of h2)try{let e=Oe.resolve(t);return Ie.accessSync(e),e}catch(e){}return null}var h2,Xd=D(()=>{u();Dt();xt();h2=["./tailwind.config.js","./tailwind.config.cjs","./tailwind.config.mjs","./tailwind.config.ts","./tailwind.config.cts","./tailwind.config.mts"]});var Zd={};dt(Zd,{default:()=>Vo});var Vo,Wo=D(()=>{u();Vo={parse:t=>({href:t})}});var Go=x(()=>{u()});var As=x((CF,th)=>{u();"use strict";var Jd=(ds(),md),eh=Go(),Mr=class extends Error{constructor(e,r,i,n,s,a){super(e);this.name="CssSyntaxError",this.reason=e,s&&(this.file=s),n&&(this.source=n),a&&(this.plugin=a),typeof r!="undefined"&&typeof i!="undefined"&&(typeof r=="number"?(this.line=r,this.column=i):(this.line=r.line,this.column=r.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,Mr)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line!="undefined"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let r=this.source;e==null&&(e=Jd.isColorSupported);let i=f=>f,n=f=>f,s=f=>f;if(e){let{bold:f,gray:d,red:p}=Jd.createColors(!0);n=m=>f(p(m)),i=m=>d(m),eh&&(s=m=>eh(m))}let a=r.split(/\r?\n/),o=Math.max(this.line-3,0),l=Math.min(this.line+2,a.length),c=String(l).length;return a.slice(o,l).map((f,d)=>{let p=o+1+d,m=" "+(" "+p).slice(-c)+" | ";if(p===this.line){if(f.length>160){let S=20,v=Math.max(0,this.column-S),b=Math.max(this.column+S,this.endColumn+S),_=f.slice(v,b),A=i(m.replace(/\d/g," "))+f.slice(0,Math.min(this.column-1,S-1)).replace(/[^\t]/g," ");return n(">")+i(m)+s(_)+`
+ `+A+n("^")}let w=i(m.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+i(m)+s(f)+`
+ `+w+n("^")}return" "+i(m)+s(f)}).join(`
+`)}toString(){let e=this.showSourceCode();return e&&(e=`
+
+`+e+`
+`),this.name+": "+this.message+e}};th.exports=Mr;Mr.default=Mr});var Qo=x((OF,ih)=>{u();"use strict";var rh={after:`
+`,beforeClose:`
+`,beforeComment:`
+`,beforeDecl:`
+`,beforeOpen:" ",beforeRule:`
+`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:"    ",semicolon:!1};function y2(t){return t[0].toUpperCase()+t.slice(1)}var Ts=class{constructor(e){this.builder=e}atrule(e,r){let i="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(typeof e.raws.afterName!="undefined"?i+=e.raws.afterName:n&&(i+=" "),e.nodes)this.block(e,i+n);else{let s=(e.raws.between||"")+(r?";":"");this.builder(i+n+s,e)}}beforeAfter(e,r){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):r==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let n=e.parent,s=0;for(;n&&n.type!=="root";)s+=1,n=n.parent;if(i.includes(`
+`)){let a=this.raw(e,null,"indent");if(a.length)for(let o=0;o<s;o++)i+=a}return i}block(e,r){let i=this.raw(e,"between","beforeOpen");this.builder(r+i+"{",e,"start");let n;e.nodes&&e.nodes.length?(this.body(e),n=this.raw(e,"after")):n=this.raw(e,"after","emptyBody"),n&&this.builder(n),this.builder("}",e,"end")}body(e){let r=e.nodes.length-1;for(;r>0&&e.nodes[r].type==="comment";)r-=1;let i=this.raw(e,"semicolon");for(let n=0;n<e.nodes.length;n++){let s=e.nodes[n],a=this.raw(s,"before");a&&this.builder(a),this.stringify(s,r!==n||i)}}comment(e){let r=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder("/*"+r+e.text+i+"*/",e)}decl(e,r){let i=this.raw(e,"between","colon"),n=e.prop+i+this.rawValue(e,"value");e.important&&(n+=e.raws.important||" !important"),r&&(n+=";"),this.builder(n,e)}document(e){this.body(e)}raw(e,r,i){let n;if(i||(i=r),r&&(n=e.raws[r],typeof n!="undefined"))return n;let s=e.parent;if(i==="before"&&(!s||s.type==="root"&&s.first===e||s&&s.type==="document"))return"";if(!s)return rh[i];let a=e.root();if(a.rawCache||(a.rawCache={}),typeof a.rawCache[i]!="undefined")return a.rawCache[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let o="raw"+y2(i);this[o]?n=this[o](a,e):a.walk(l=>{if(n=l.raws[r],typeof n!="undefined")return!1})}return typeof n=="undefined"&&(n=rh[i]),a.rawCache[i]=n,n}rawBeforeClose(e){let r;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after!="undefined")return r=i.raws.after,r.includes(`
+`)&&(r=r.replace(/[^\n]+$/,"")),!1}),r&&(r=r.replace(/\S/g,"")),r}rawBeforeComment(e,r){let i;return e.walkComments(n=>{if(typeof n.raws.before!="undefined")return i=n.raws.before,i.includes(`
+`)&&(i=i.replace(/[^\n]+$/,"")),!1}),typeof i=="undefined"?i=this.raw(r,null,"beforeDecl"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeDecl(e,r){let i;return e.walkDecls(n=>{if(typeof n.raws.before!="undefined")return i=n.raws.before,i.includes(`
+`)&&(i=i.replace(/[^\n]+$/,"")),!1}),typeof i=="undefined"?i=this.raw(r,null,"beforeRule"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeOpen(e){let r;return e.walk(i=>{if(i.type!=="decl"&&(r=i.raws.between,typeof r!="undefined"))return!1}),r}rawBeforeRule(e){let r;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before!="undefined")return r=i.raws.before,r.includes(`
+`)&&(r=r.replace(/[^\n]+$/,"")),!1}),r&&(r=r.replace(/\S/g,"")),r}rawColon(e){let r;return e.walkDecls(i=>{if(typeof i.raws.between!="undefined")return r=i.raws.between.replace(/[^\s:]/g,""),!1}),r}rawEmptyBody(e){let r;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(r=i.raws.after,typeof r!="undefined"))return!1}),r}rawIndent(e){if(e.raws.indent)return e.raws.indent;let r;return e.walk(i=>{let n=i.parent;if(n&&n!==e&&n.parent&&n.parent===e&&typeof i.raws.before!="undefined"){let s=i.raws.before.split(`
+`);return r=s[s.length-1],r=r.replace(/\S/g,""),!1}}),r}rawSemicolon(e){let r;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(r=i.raws.semicolon,typeof r!="undefined"))return!1}),r}rawValue(e,r){let i=e[r],n=e.raws[r];return n&&n.value===i?n.raw:i}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,r){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,r)}};ih.exports=Ts;Ts.default=Ts});var Li=x((PF,nh)=>{u();"use strict";var w2=Qo();function Yo(t,e){new w2(e).stringify(t)}nh.exports=Yo;Yo.default=Yo});var Es=x((RF,Ko)=>{u();"use strict";Ko.exports.isClean=Symbol("isClean");Ko.exports.my=Symbol("my")});var Ni=x((IF,sh)=>{u();"use strict";var v2=As(),b2=Qo(),x2=Li(),{isClean:Bi,my:S2}=Es();function Xo(t,e){let r=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let n=t[i],s=typeof n;i==="parent"&&s==="object"?e&&(r[i]=e):i==="source"?r[i]=n:Array.isArray(n)?r[i]=n.map(a=>Xo(a,r)):(s==="object"&&n!==null&&(n=Xo(n)),r[i]=n)}return r}function Mi(t,e){if(e&&typeof e.offset!="undefined")return e.offset;let r=1,i=1,n=0;for(let s=0;s<t.length;s++){if(i===e.line&&r===e.column){n=s;break}t[s]===`
+`?(r=1,i+=1):r+=1}return n}var Cs=class{constructor(e={}){this.raws={},this[Bi]=!1,this[S2]=!0;for(let r in e)if(r==="nodes"){this.nodes=[];for(let i of e[r])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[r]=e[r]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let r=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${r.input.from}:${r.start.line}:${r.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let r in e)this[r]=e[r];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let r=Xo(this);for(let i in e)r[i]=e[i];return r}cloneAfter(e={}){let r=this.clone(e);return this.parent.insertAfter(this,r),r}cloneBefore(e={}){let r=this.clone(e);return this.parent.insertBefore(this,r),r}error(e,r={}){if(this.source){let{end:i,start:n}=this.rangeBy(r);return this.source.input.error(e,{column:n.column,line:n.line},{column:i.column,line:i.line},r)}return new v2(e)}getProxyProcessor(){return{get(e,r){return r==="proxyOf"?e:r==="root"?()=>e.root().toProxy():e[r]},set(e,r,i){return e[r]===i||(e[r]=i,(r==="prop"||r==="value"||r==="name"||r==="params"||r==="important"||r==="text")&&e.markDirty()),!0}}}markClean(){this[Bi]=!0}markDirty(){if(this[Bi]){this[Bi]=!1;let e=this;for(;e=e.parent;)e[Bi]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e){let r=this.source.start;if(e.index)r=this.positionInside(e.index);else if(e.word){let n=this.source.input.css.slice(Mi(this.source.input.css,this.source.start),Mi(this.source.input.css,this.source.end)).indexOf(e.word);n!==-1&&(r=this.positionInside(n))}return r}positionInside(e){let r=this.source.start.column,i=this.source.start.line,n=Mi(this.source.input.css,this.source.start),s=n+e;for(let a=n;a<s;a++)this.source.input.css[a]===`
+`?(r=1,i+=1):r+=1;return{column:r,line:i}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let r={column:this.source.start.column,line:this.source.start.line},i=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:r.column+1,line:r.line};if(e.word){let s=this.source.input.css.slice(Mi(this.source.input.css,this.source.start),Mi(this.source.input.css,this.source.end)).indexOf(e.word);s!==-1&&(r=this.positionInside(s),i=this.positionInside(s+e.word.length))}else e.start?r={column:e.start.column,line:e.start.line}:e.index&&(r=this.positionInside(e.index)),e.end?i={column:e.end.column,line:e.end.line}:typeof e.endIndex=="number"?i=this.positionInside(e.endIndex):e.index&&(i=this.positionInside(e.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line}),{end:i,start:r}}raw(e,r){return new b2().raw(this,e,r)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let r=this,i=!1;for(let n of e)n===this?i=!0:i?(this.parent.insertAfter(r,n),r=n):this.parent.insertBefore(r,n);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,r){let i={},n=r==null;r=r||new Map;let s=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let o=this[a];if(Array.isArray(o))i[a]=o.map(l=>typeof l=="object"&&l.toJSON?l.toJSON(null,r):l);else if(typeof o=="object"&&o.toJSON)i[a]=o.toJSON(null,r);else if(a==="source"){let l=r.get(o.input);l==null&&(l=s,r.set(o.input,s),s++),i[a]={end:o.end,inputId:l,start:o.start}}else i[a]=o}return n&&(i.inputs=[...r.keys()].map(a=>a.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=x2){e.stringify&&(e=e.stringify);let r="";return e(this,i=>{r+=i}),r}warn(e,r,i){let n={node:this};for(let s in i)n[s]=i[s];return e.warn(r,n)}get proxyOf(){return this}};sh.exports=Cs;Cs.default=Cs});var $i=x((DF,ah)=>{u();"use strict";var k2=Ni(),Os=class extends k2{constructor(e){super(e);this.type="comment"}};ah.exports=Os;Os.default=Os});var Fi=x((qF,oh)=>{u();"use strict";var _2=Ni(),Ps=class extends _2{constructor(e){e&&typeof e.value!="undefined"&&typeof e.value!="string"&&(e={...e,value:String(e.value)});super(e);this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}};oh.exports=Ps;Ps.default=Ps});var tr=x((LF,gh)=>{u();"use strict";var lh=$i(),uh=Fi(),A2=Ni(),{isClean:fh,my:ch}=Es(),Zo,ph,dh,Jo;function hh(t){return t.map(e=>(e.nodes&&(e.nodes=hh(e.nodes)),delete e.source,e))}function mh(t){if(t[fh]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)mh(e)}var it=class extends A2{append(...e){for(let r of e){let i=this.normalize(r,this.last);for(let n of i)this.proxyOf.nodes.push(n)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let r of this.nodes)r.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let r=this.getIterator(),i,n;for(;this.indexes[r]<this.proxyOf.nodes.length&&(i=this.indexes[r],n=e(this.proxyOf.nodes[i],i),n!==!1);)this.indexes[r]+=1;return delete this.indexes[r],n}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,r){return r==="proxyOf"?e:e[r]?r==="each"||typeof r=="string"&&r.startsWith("walk")?(...i)=>e[r](...i.map(n=>typeof n=="function"?(s,a)=>n(s.toProxy(),a):n)):r==="every"||r==="some"?i=>e[r]((n,...s)=>i(n.toProxy(),...s)):r==="root"?()=>e.root().toProxy():r==="nodes"?e.nodes.map(i=>i.toProxy()):r==="first"||r==="last"?e[r].toProxy():e[r]:e[r]},set(e,r,i){return e[r]===i||(e[r]=i,(r==="name"||r==="params"||r==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,r){let i=this.index(e),n=this.normalize(r,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let a of n)this.proxyOf.nodes.splice(i+1,0,a);let s;for(let a in this.indexes)s=this.indexes[a],i<s&&(this.indexes[a]=s+n.length);return this.markDirty(),this}insertBefore(e,r){let i=this.index(e),n=i===0?"prepend":!1,s=this.normalize(r,this.proxyOf.nodes[i],n).reverse();i=this.index(e);for(let o of s)this.proxyOf.nodes.splice(i,0,o);let a;for(let o in this.indexes)a=this.indexes[o],i<=a&&(this.indexes[o]=a+s.length);return this.markDirty(),this}normalize(e,r){if(typeof e=="string")e=hh(ph(e).nodes);else if(typeof e=="undefined")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value=="undefined")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new uh(e)]}else if(e.selector||e.selectors)e=[new Jo(e)];else if(e.name)e=[new Zo(e)];else if(e.text)e=[new lh(e)];else throw new Error("Unknown node type in node creation");return e.map(n=>(n[ch]||it.rebuild(n),n=n.proxyOf,n.parent&&n.parent.removeChild(n),n[fh]&&mh(n),n.raws||(n.raws={}),typeof n.raws.before=="undefined"&&r&&typeof r.raws.before!="undefined"&&(n.raws.before=r.raws.before.replace(/\S/g,"")),n.parent=this.proxyOf,n))}prepend(...e){e=e.reverse();for(let r of e){let i=this.normalize(r,this.first,"prepend").reverse();for(let n of i)this.proxyOf.nodes.unshift(n);for(let n in this.indexes)this.indexes[n]=this.indexes[n]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let r;for(let i in this.indexes)r=this.indexes[i],r>=e&&(this.indexes[i]=r-1);return this.markDirty(),this}replaceValues(e,r,i){return i||(i=r,r={}),this.walkDecls(n=>{r.props&&!r.props.includes(n.prop)||r.fast&&!n.value.includes(r.fast)||(n.value=n.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((r,i)=>{let n;try{n=e(r,i)}catch(s){throw r.addToError(s)}return n!==!1&&r.walk&&(n=r.walk(e)),n})}walkAtRules(e,r){return r?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="atrule"&&e.test(i.name))return r(i,n)}):this.walk((i,n)=>{if(i.type==="atrule"&&i.name===e)return r(i,n)}):(r=e,this.walk((i,n)=>{if(i.type==="atrule")return r(i,n)}))}walkComments(e){return this.walk((r,i)=>{if(r.type==="comment")return e(r,i)})}walkDecls(e,r){return r?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="decl"&&e.test(i.prop))return r(i,n)}):this.walk((i,n)=>{if(i.type==="decl"&&i.prop===e)return r(i,n)}):(r=e,this.walk((i,n)=>{if(i.type==="decl")return r(i,n)}))}walkRules(e,r){return r?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="rule"&&e.test(i.selector))return r(i,n)}):this.walk((i,n)=>{if(i.type==="rule"&&i.selector===e)return r(i,n)}):(r=e,this.walk((i,n)=>{if(i.type==="rule")return r(i,n)}))}get first(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};it.registerParse=t=>{ph=t};it.registerRule=t=>{Jo=t};it.registerAtRule=t=>{Zo=t};it.registerRoot=t=>{dh=t};gh.exports=it;it.default=it;it.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Zo.prototype):t.type==="rule"?Object.setPrototypeOf(t,Jo.prototype):t.type==="decl"?Object.setPrototypeOf(t,uh.prototype):t.type==="comment"?Object.setPrototypeOf(t,lh.prototype):t.type==="root"&&Object.setPrototypeOf(t,dh.prototype),t[ch]=!0,t.nodes&&t.nodes.forEach(e=>{it.rebuild(e)})}});var Rs=x((BF,wh)=>{u();"use strict";var yh=tr(),zi=class extends yh{constructor(e){super(e);this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};wh.exports=zi;zi.default=zi;yh.registerAtRule(zi)});var Is=x((MF,xh)=>{u();"use strict";var T2=tr(),vh,bh,Nr=class extends T2{constructor(e){super({type:"document",...e});this.nodes||(this.nodes=[])}toResult(e={}){return new vh(new bh,this,e).stringify()}};Nr.registerLazyResult=t=>{vh=t};Nr.registerProcessor=t=>{bh=t};xh.exports=Nr;Nr.default=Nr});var kh=x((NF,Sh)=>{u();var E2="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",C2=(t,e=21)=>(r=e)=>{let i="",n=r;for(;n--;)i+=t[Math.random()*t.length|0];return i},O2=(t=21)=>{let e="",r=t;for(;r--;)e+=E2[Math.random()*64|0];return e};Sh.exports={nanoid:O2,customAlphabet:C2}});var _h=x(()=>{u()});var el=x((zF,Ah)=>{u();Ah.exports={}});var qs=x((jF,Oh)=>{u();"use strict";var{nanoid:P2}=kh(),{isAbsolute:tl,resolve:rl}=(xt(),qi),{SourceMapConsumer:R2,SourceMapGenerator:I2}=_h(),{fileURLToPath:Th,pathToFileURL:Ds}=(Wo(),Zd),Eh=As(),D2=el(),il=Go(),nl=Symbol("fromOffsetCache"),q2=Boolean(R2&&I2),Ch=Boolean(rl&&tl),ji=class{constructor(e,r={}){if(e===null||typeof e=="undefined"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,r.from&&(!Ch||/^\w+:\/\//.test(r.from)||tl(r.from)?this.file=r.from:this.file=rl(r.from)),Ch&&q2){let i=new D2(this.css,r);if(i.text){this.map=i;let n=i.consumer().file;!this.file&&n&&(this.file=this.mapResolve(n))}}this.file||(this.id="<input css "+P2(6)+">"),this.map&&(this.map.file=this.from)}error(e,r,i,n={}){let s,a,o;if(r&&typeof r=="object"){let c=r,f=i;if(typeof c.offset=="number"){let d=this.fromOffset(c.offset);r=d.line,i=d.col}else r=c.line,i=c.column;if(typeof f.offset=="number"){let d=this.fromOffset(f.offset);a=d.line,s=d.col}else a=f.line,s=f.column}else if(!i){let c=this.fromOffset(r);r=c.line,i=c.col}let l=this.origin(r,i,a,s);return l?o=new Eh(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,n.plugin):o=new Eh(e,a===void 0?r:{column:i,line:r},a===void 0?i:{column:s,line:a},this.css,this.file,n.plugin),o.input={column:i,endColumn:s,endLine:a,line:r,source:this.css},this.file&&(Ds&&(o.input.url=Ds(this.file).toString()),o.input.file=this.file),o}fromOffset(e){let r,i;if(this[nl])i=this[nl];else{let s=this.css.split(`
+`);i=new Array(s.length);let a=0;for(let o=0,l=s.length;o<l;o++)i[o]=a,a+=s[o].length+1;this[nl]=i}r=i[i.length-1];let n=0;if(e>=r)n=i.length-1;else{let s=i.length-2,a;for(;n<s;)if(a=n+(s-n>>1),e<i[a])s=a-1;else if(e>=i[a+1])n=a+1;else{n=a;break}}return{col:e-i[n]+1,line:n+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:rl(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,r,i,n){if(!this.map)return!1;let s=this.map.consumer(),a=s.originalPositionFor({column:r,line:e});if(!a.source)return!1;let o;typeof i=="number"&&(o=s.originalPositionFor({column:n,line:i}));let l;tl(a.source)?l=Ds(a.source):l=new URL(a.source,this.map.consumer().sourceRoot||Ds(this.map.mapFile));let c={column:a.column,endColumn:o&&o.column,endLine:o&&o.line,line:a.line,url:l.toString()};if(l.protocol==="file:")if(Th)c.file=Th(l);else throw new Error("file: protocol is not available in this PostCSS build");let f=s.sourceContentFor(a.source);return f&&(c.source=f),c}toJSON(){let e={};for(let r of["hasBOM","css","file","id"])this[r]!=null&&(e[r]=this[r]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};Oh.exports=ji;ji.default=ji;il&&il.registerInput&&il.registerInput(ji)});var $r=x((UF,Dh)=>{u();"use strict";var Ph=tr(),Rh,Ih,wr=class extends Ph{constructor(e){super(e);this.type="root",this.nodes||(this.nodes=[])}normalize(e,r,i){let n=super.normalize(e);if(r){if(i==="prepend")this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(let s of n)s.raws.before=r.raws.before}return n}removeChild(e,r){let i=this.index(e);return!r&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new Rh(new Ih,this,e).stringify()}};wr.registerLazyResult=t=>{Rh=t};wr.registerProcessor=t=>{Ih=t};Dh.exports=wr;wr.default=wr;Ph.registerRoot(wr)});var sl=x((HF,qh)=>{u();"use strict";var Ui={comma(t){return Ui.split(t,[","],!0)},space(t){let e=[" ",`
+`,"	"];return Ui.split(t,e)},split(t,e,r){let i=[],n="",s=!1,a=0,o=!1,l="",c=!1;for(let f of t)c?c=!1:f==="\\"?c=!0:o?f===l&&(o=!1):f==='"'||f==="'"?(o=!0,l=f):f==="("?a+=1:f===")"?a>0&&(a-=1):a===0&&e.includes(f)&&(s=!0),s?(n!==""&&i.push(n.trim()),n="",s=!1):n+=f;return(r||n!=="")&&i.push(n.trim()),i}};qh.exports=Ui;Ui.default=Ui});var Ls=x((VF,Bh)=>{u();"use strict";var Lh=tr(),L2=sl(),Hi=class extends Lh{constructor(e){super(e);this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return L2.comma(this.selector)}set selectors(e){let r=this.selector?this.selector.match(/,\s*/):null,i=r?r[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}};Bh.exports=Hi;Hi.default=Hi;Lh.registerRule(Hi)});var Nh=x((WF,Mh)=>{u();"use strict";var B2=Rs(),M2=$i(),N2=Fi(),$2=qs(),F2=el(),z2=$r(),j2=Ls();function Vi(t,e){if(Array.isArray(t))return t.map(n=>Vi(n));let{inputs:r,...i}=t;if(r){e=[];for(let n of r){let s={...n,__proto__:$2.prototype};s.map&&(s.map={...s.map,__proto__:F2.prototype}),e.push(s)}}if(i.nodes&&(i.nodes=t.nodes.map(n=>Vi(n,e))),i.source){let{inputId:n,...s}=i.source;i.source=s,n!=null&&(i.source.input=e[n])}if(i.type==="root")return new z2(i);if(i.type==="decl")return new N2(i);if(i.type==="rule")return new j2(i);if(i.type==="comment")return new M2(i);if(i.type==="atrule")return new B2(i);throw new Error("Unknown node type: "+t.type)}Mh.exports=Vi;Vi.default=Vi});var al=x((GF,$h)=>{u();$h.exports=function(t,e){return{generate:()=>{let r="";return t(e,i=>{r+=i}),[r]}}}});var Hh=x((QF,Uh)=>{u();"use strict";var ol="'".charCodeAt(0),Fh='"'.charCodeAt(0),Bs="\\".charCodeAt(0),zh="/".charCodeAt(0),Ms=`
+`.charCodeAt(0),Wi=" ".charCodeAt(0),Ns="\f".charCodeAt(0),$s="	".charCodeAt(0),Fs="\r".charCodeAt(0),U2="[".charCodeAt(0),H2="]".charCodeAt(0),V2="(".charCodeAt(0),W2=")".charCodeAt(0),G2="{".charCodeAt(0),Q2="}".charCodeAt(0),Y2=";".charCodeAt(0),K2="*".charCodeAt(0),X2=":".charCodeAt(0),Z2="@".charCodeAt(0),zs=/[\t\n\f\r "#'()/;[\\\]{}]/g,js=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,J2=/.[\r\n"'(/\\]/,jh=/[\da-f]/i;Uh.exports=function(e,r={}){let i=e.css.valueOf(),n=r.ignoreErrors,s,a,o,l,c,f,d,p,m,w,S=i.length,v=0,b=[],_=[];function A(){return v}function O(R){throw e.error("Unclosed "+R,v)}function P(){return _.length===0&&v>=S}function F(R){if(_.length)return _.pop();if(v>=S)return;let W=R?R.ignoreUnclosed:!1;switch(s=i.charCodeAt(v),s){case Ms:case Wi:case $s:case Fs:case Ns:{l=v;do l+=1,s=i.charCodeAt(l);while(s===Wi||s===Ms||s===$s||s===Fs||s===Ns);f=["space",i.slice(v,l)],v=l-1;break}case U2:case H2:case G2:case Q2:case X2:case Y2:case W2:{let re=String.fromCharCode(s);f=[re,re,v];break}case V2:{if(w=b.length?b.pop()[1]:"",m=i.charCodeAt(v+1),w==="url"&&m!==ol&&m!==Fh&&m!==Wi&&m!==Ms&&m!==$s&&m!==Ns&&m!==Fs){l=v;do{if(d=!1,l=i.indexOf(")",l+1),l===-1)if(n||W){l=v;break}else O("bracket");for(p=l;i.charCodeAt(p-1)===Bs;)p-=1,d=!d}while(d);f=["brackets",i.slice(v,l+1),v,l],v=l}else l=i.indexOf(")",v+1),a=i.slice(v,l+1),l===-1||J2.test(a)?f=["(","(",v]:(f=["brackets",a,v,l],v=l);break}case ol:case Fh:{c=s===ol?"'":'"',l=v;do{if(d=!1,l=i.indexOf(c,l+1),l===-1)if(n||W){l=v+1;break}else O("string");for(p=l;i.charCodeAt(p-1)===Bs;)p-=1,d=!d}while(d);f=["string",i.slice(v,l+1),v,l],v=l;break}case Z2:{zs.lastIndex=v+1,zs.test(i),zs.lastIndex===0?l=i.length-1:l=zs.lastIndex-2,f=["at-word",i.slice(v,l+1),v,l],v=l;break}case Bs:{for(l=v,o=!0;i.charCodeAt(l+1)===Bs;)l+=1,o=!o;if(s=i.charCodeAt(l+1),o&&s!==zh&&s!==Wi&&s!==Ms&&s!==$s&&s!==Fs&&s!==Ns&&(l+=1,jh.test(i.charAt(l)))){for(;jh.test(i.charAt(l+1));)l+=1;i.charCodeAt(l+1)===Wi&&(l+=1)}f=["word",i.slice(v,l+1),v,l],v=l;break}default:{s===zh&&i.charCodeAt(v+1)===K2?(l=i.indexOf("*/",v+2)+1,l===0&&(n||W?l=i.length:O("comment")),f=["comment",i.slice(v,l+1),v,l],v=l):(js.lastIndex=v+1,js.test(i),js.lastIndex===0?l=i.length-1:l=js.lastIndex-2,f=["word",i.slice(v,l+1),v,l],b.push(f),v=l);break}}return v++,f}function N(R){_.push(R)}return{back:N,endOfFile:P,nextToken:F,position:A}}});var Yh=x((YF,Qh)=>{u();"use strict";var eA=Rs(),tA=$i(),rA=Fi(),iA=$r(),Vh=Ls(),nA=Hh(),Wh={empty:!0,space:!0};function sA(t){for(let e=t.length-1;e>=0;e--){let r=t[e],i=r[3]||r[2];if(i)return i}}var Gh=class{constructor(e){this.input=e,this.root=new iA,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let r=new eA;r.name=e[1].slice(1),r.name===""&&this.unnamedAtrule(r,e),this.init(r,e[2]);let i,n,s,a=!1,o=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){r.source.end=this.getPosition(e[2]),r.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){o=!0;break}else if(i==="}"){if(l.length>0){for(s=l.length-1,n=l[s];n&&n[0]==="space";)n=l[--s];n&&(r.source.end=this.getPosition(n[3]||n[2]),r.source.end.offset++)}this.end(e);break}else l.push(e);else l.push(e);if(this.tokenizer.endOfFile()){a=!0;break}}r.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(r.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(r,"params",l),a&&(e=l[l.length-1],r.source.end=this.getPosition(e[3]||e[2]),r.source.end.offset++,this.spaces=r.raws.between,r.raws.between="")):(r.raws.afterName="",r.params=""),o&&(r.nodes=[],this.current=r)}checkMissedSemicolon(e){let r=this.colon(e);if(r===!1)return;let i=0,n;for(let s=r-1;s>=0&&(n=e[s],!(n[0]!=="space"&&(i+=1,i===2)));s--);throw this.input.error("Missed semicolon",n[0]==="word"?n[3]+1:n[2])}colon(e){let r=0,i,n,s;for(let[a,o]of e.entries()){if(n=o,s=n[0],s==="("&&(r+=1),s===")"&&(r-=1),r===0&&s===":")if(!i)this.doubleColon(n);else{if(i[0]==="word"&&i[1]==="progid")continue;return a}i=n}return!1}comment(e){let r=new tA;this.init(r,e[2]),r.source.end=this.getPosition(e[3]||e[2]),r.source.end.offset++;let i=e[1].slice(2,-2);if(/^\s*$/.test(i))r.text="",r.raws.left=i,r.raws.right="";else{let n=i.match(/^(\s*)([^]*\S)(\s*)$/);r.text=n[2],r.raws.left=n[1],r.raws.right=n[3]}}createTokenizer(){this.tokenizer=nA(this.input)}decl(e,r){let i=new rA;this.init(i,e[0][2]);let n=e[e.length-1];for(n[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(n[3]||n[2]||sA(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let s;for(;e.length;)if(s=e.shift(),s[0]===":"){i.raws.between+=s[1];break}else s[0]==="word"&&/\w/.test(s[1])&&this.unknownWord([s]),i.raws.between+=s[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let a=[],o;for(;e.length&&(o=e[0][0],!(o!=="space"&&o!=="comment"));)a.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(s=e[c],s[1].toLowerCase()==="!important"){i.important=!0;let f=this.stringFrom(e,c);f=this.spacesFromEnd(e)+f,f!==" !important"&&(i.raws.important=f);break}else if(s[1].toLowerCase()==="important"){let f=e.slice(0),d="";for(let p=c;p>0;p--){let m=f[p][0];if(d.trim().startsWith("!")&&m!=="space")break;d=f.pop()[1]+d}d.trim().startsWith("!")&&(i.important=!0,i.raws.important=d,e=f)}if(s[0]!=="space"&&s[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=a.map(c=>c[1]).join(""),a=[]),this.raw(i,"value",a.concat(e),r),i.value.includes(":")&&!r&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let r=new Vh;this.init(r,e[2]),r.selector="",r.raws.between="",this.current=r}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let r=this.current.nodes[this.current.nodes.length-1];r&&r.type==="rule"&&!r.raws.ownSemicolon&&(r.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let r=this.input.fromOffset(e);return{column:r.col,line:r.line,offset:e}}init(e,r){this.current.push(e),e.source={input:this.input,start:this.getPosition(r)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let r=!1,i=null,n=!1,s=null,a=[],o=e[1].startsWith("--"),l=[],c=e;for(;c;){if(i=c[0],l.push(c),i==="("||i==="[")s||(s=c),a.push(i==="("?")":"]");else if(o&&n&&i==="{")s||(s=c),a.push("}");else if(a.length===0)if(i===";")if(n){this.decl(l,o);return}else break;else if(i==="{"){this.rule(l);return}else if(i==="}"){this.tokenizer.back(l.pop()),r=!0;break}else i===":"&&(n=!0);else i===a[a.length-1]&&(a.pop(),a.length===0&&(s=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(r=!0),a.length>0&&this.unclosedBracket(s),r&&n){if(!o)for(;l.length&&(c=l[l.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,o)}else this.unknownWord(l)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,r,i,n){let s,a,o=i.length,l="",c=!0,f,d;for(let p=0;p<o;p+=1)s=i[p],a=s[0],a==="space"&&p===o-1&&!n?c=!1:a==="comment"?(d=i[p-1]?i[p-1][0]:"empty",f=i[p+1]?i[p+1][0]:"empty",!Wh[d]&&!Wh[f]?l.slice(-1)===","?c=!1:l+=s[1]:c=!1):l+=s[1];if(!c){let p=i.reduce((m,w)=>m+w[1],"");e.raws[r]={raw:p,value:l}}e[r]=l}rule(e){e.pop();let r=new Vh;this.init(r,e[0][2]),r.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(r,"selector",e),this.current=r}spacesAndCommentsFromEnd(e){let r,i="";for(;e.length&&(r=e[e.length-1][0],!(r!=="space"&&r!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let r,i="";for(;e.length&&(r=e[0][0],!(r!=="space"&&r!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let r,i="";for(;e.length&&(r=e[e.length-1][0],r==="space");)i=e.pop()[1]+i;return i}stringFrom(e,r){let i="";for(let n=r;n<e.length;n++)i+=e[n][1];return e.splice(r,e.length-r),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,r){throw this.input.error("At-rule without name",{offset:r[2]},{offset:r[2]+r[1].length})}};Qh.exports=Gh});var Hs=x((KF,Kh)=>{u();"use strict";var aA=tr(),oA=qs(),lA=Yh();function Us(t,e){let r=new oA(t,e),i=new lA(r);try{i.parse()}catch(n){throw n}return i.root}Kh.exports=Us;Us.default=Us;aA.registerParse(Us)});var ll=x((XF,Xh)=>{u();"use strict";var Vs=class{constructor(e,r={}){if(this.type="warning",this.text=e,r.node&&r.node.source){let i=r.node.rangeBy(r);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in r)this[i]=r[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Xh.exports=Vs;Vs.default=Vs});var Gs=x((ZF,Zh)=>{u();"use strict";var uA=ll(),Ws=class{constructor(e,r,i){this.processor=e,this.messages=[],this.root=r,this.opts=i,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let i=new uA(e,r);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}get content(){return this.css}};Zh.exports=Ws;Ws.default=Ws});var ul=x((JF,em)=>{u();"use strict";var Jh={};em.exports=function(e){Jh[e]||(Jh[e]=!0,typeof console!="undefined"&&console.warn&&console.warn(e))}});var pl=x((t8,nm)=>{u();"use strict";var fA=tr(),cA=Is(),pA=al(),dA=Hs(),tm=Gs(),hA=$r(),mA=Li(),{isClean:St,my:gA}=Es(),e8=ul(),yA={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wA={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},vA={Once:!0,postcssPlugin:!0,prepare:!0},Fr=0;function Gi(t){return typeof t=="object"&&typeof t.then=="function"}function rm(t){let e=!1,r=yA[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[r,r+"-"+e,Fr,r+"Exit",r+"Exit-"+e]:e?[r,r+"-"+e,r+"Exit",r+"Exit-"+e]:t.append?[r,Fr,r+"Exit"]:[r,r+"Exit"]}function im(t){let e;return t.type==="document"?e=["Document",Fr,"DocumentExit"]:t.type==="root"?e=["Root",Fr,"RootExit"]:e=rm(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function fl(t){return t[St]=!1,t.nodes&&t.nodes.forEach(e=>fl(e)),t}var cl={},Lt=class{constructor(e,r,i){this.stringified=!1,this.processed=!1;let n;if(typeof r=="object"&&r!==null&&(r.type==="root"||r.type==="document"))n=fl(r);else if(r instanceof Lt||r instanceof tm)n=fl(r.root),r.map&&(typeof i.map=="undefined"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=r.map);else{let s=dA;i.syntax&&(s=i.syntax.parse),i.parser&&(s=i.parser),s.parse&&(s=s.parse);try{n=s(r,i)}catch(a){this.processed=!0,this.error=a}n&&!n[gA]&&fA.rebuild(n)}this.result=new tm(e,n,i),this.helpers={...cl,postcss:cl,result:this.result},this.plugins=this.processor.plugins.map(s=>typeof s=="object"&&s.prepare?{...s,...s.prepare(this.result)}:s)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,r){let i=this.result.lastPlugin;try{r&&r.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(n){console&&console.error&&console.error(n)}return e}prepareVisitors(){this.listeners={};let e=(r,i,n)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([r,n])};for(let r of this.plugins)if(typeof r=="object")for(let i in r){if(!wA[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${r.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!vA[i])if(typeof r[i]=="object")for(let n in r[i])n==="*"?e(r,i,r[i][n]):e(r,i+"-"+n.toLowerCase(),r[i][n]);else typeof r[i]=="function"&&e(r,i,r[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let r=this.plugins[e],i=this.runOnRoot(r);if(Gi(i))try{await i}catch(n){throw this.handleError(n)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[St];){e[St]=!0;let r=[im(e)];for(;r.length>0;){let i=this.visitTick(r);if(Gi(i))try{await i}catch(n){let s=r[r.length-1].node;throw this.handleError(n,s)}}}if(this.listeners.OnceExit)for(let[r,i]of this.listeners.OnceExit){this.result.lastPlugin=r;try{if(e.type==="document"){let n=e.nodes.map(s=>i(s,this.helpers));await Promise.all(n)}else await i(e,this.helpers)}catch(n){throw this.handleError(n)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let r=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Gi(r[0])?Promise.all(r):r}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(r){throw this.handleError(r)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,r=mA;e.syntax&&(r=e.syntax.stringify),e.stringifier&&(r=e.stringifier),r.stringify&&(r=r.stringify);let n=new pA(r,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let r=this.runOnRoot(e);if(Gi(r))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[St];)e[St]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let r of e.nodes)this.visitSync(this.listeners.OnceExit,r);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,r){return this.async().then(e,r)}toString(){return this.css}visitSync(e,r){for(let[i,n]of e){this.result.lastPlugin=i;let s;try{s=n(r,this.helpers)}catch(a){throw this.handleError(a,r.proxyOf)}if(r.type!=="root"&&r.type!=="document"&&!r.parent)return!0;if(Gi(s))throw this.getAsyncError()}}visitTick(e){let r=e[e.length-1],{node:i,visitors:n}=r;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(n.length>0&&r.visitorIndex<n.length){let[a,o]=n[r.visitorIndex];r.visitorIndex+=1,r.visitorIndex===n.length&&(r.visitors=[],r.visitorIndex=0),this.result.lastPlugin=a;try{return o(i.toProxy(),this.helpers)}catch(l){throw this.handleError(l,i)}}if(r.iterator!==0){let a=r.iterator,o;for(;o=i.nodes[i.indexes[a]];)if(i.indexes[a]+=1,!o[St]){o[St]=!0,e.push(im(o));return}r.iterator=0,delete i.indexes[a]}let s=r.events;for(;r.eventIndex<s.length;){let a=s[r.eventIndex];if(r.eventIndex+=1,a===Fr){i.nodes&&i.nodes.length&&(i[St]=!0,r.iterator=i.getIterator());return}else if(this.listeners[a]){r.visitors=this.listeners[a];return}}e.pop()}walkSync(e){e[St]=!0;let r=rm(e);for(let i of r)if(i===Fr)e.nodes&&e.each(n=>{n[St]||this.walkSync(n)});else{let n=this.listeners[i];if(n&&this.visitSync(n,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};Lt.registerPostcss=t=>{cl=t};nm.exports=Lt;Lt.default=Lt;hA.registerLazyResult(Lt);cA.registerLazyResult(Lt)});var am=x((i8,sm)=>{u();"use strict";var bA=al(),xA=Hs(),SA=Gs(),kA=Li(),r8=ul(),Qs=class{constructor(e,r,i){r=r.toString(),this.stringified=!1,this._processor=e,this._css=r,this._opts=i,this._map=void 0;let n,s=kA;this.result=new SA(this._processor,n,this._opts),this.result.css=r;let a=this;Object.defineProperty(this.result,"root",{get(){return a.root}});let o=new bA(s,n,this._opts,r);if(o.isMap()){let[l,c]=o.generate();l&&(this.result.css=l),c&&(this.result.map=c)}else o.clearAnnotation(),this.result.css=o.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,r){return this.async().then(e,r)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,r=xA;try{e=r(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}};sm.exports=Qs;Qs.default=Qs});var lm=x((n8,om)=>{u();"use strict";var _A=Is(),AA=pl(),TA=am(),EA=$r(),zr=class{constructor(e=[]){this.version="8.4.49",this.plugins=this.normalize(e)}normalize(e){let r=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))r=r.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)r.push(i);else if(typeof i=="function")r.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return r}process(e,r={}){return!this.plugins.length&&!r.parser&&!r.stringifier&&!r.syntax?new TA(this,e,r):new AA(this,e,r)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};om.exports=zr;zr.default=zr;EA.registerProcessor(zr);_A.registerProcessor(zr)});var Ze=x((s8,mm)=>{u();"use strict";var um=Rs(),fm=$i(),CA=tr(),OA=As(),cm=Fi(),pm=Is(),PA=Nh(),RA=qs(),IA=pl(),DA=sl(),qA=Ni(),LA=Hs(),dl=lm(),BA=Gs(),dm=$r(),hm=Ls(),MA=Li(),NA=ll();function oe(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new dl(t)}oe.plugin=function(e,r){let i=!1;function n(...a){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:
+https://evilmartians.com/chronicles/postcss-8-plugin-migration`),g.env.LANG&&g.env.LANG.startsWith("cn")&&console.warn(e+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
+https://www.w3ctech.com/topic/2226`));let o=r(...a);return o.postcssPlugin=e,o.postcssVersion=new dl().version,o}let s;return Object.defineProperty(n,"postcss",{get(){return s||(s=n()),s}}),n.process=function(a,o,l){return oe([n(l)]).process(a,o)},n};oe.stringify=MA;oe.parse=LA;oe.fromJSON=PA;oe.list=DA;oe.comment=t=>new fm(t);oe.atRule=t=>new um(t);oe.decl=t=>new cm(t);oe.rule=t=>new hm(t);oe.root=t=>new dm(t);oe.document=t=>new pm(t);oe.CssSyntaxError=OA;oe.Declaration=cm;oe.Container=CA;oe.Processor=dl;oe.Document=pm;oe.Comment=fm;oe.Warning=NA;oe.AtRule=um;oe.Result=BA;oe.Input=RA;oe.Rule=hm;oe.Root=dm;oe.Node=qA;IA.registerPostcss(oe);mm.exports=oe;oe.default=oe});var pe,le,a8,o8,l8,u8,f8,c8,p8,d8,h8,m8,g8,y8,w8,v8,b8,x8,S8,k8,_8,A8,T8,E8,C8,O8,rr=D(()=>{u();pe=Te(Ze()),le=pe.default,a8=pe.default.stringify,o8=pe.default.fromJSON,l8=pe.default.plugin,u8=pe.default.parse,f8=pe.default.list,c8=pe.default.document,p8=pe.default.comment,d8=pe.default.atRule,h8=pe.default.rule,m8=pe.default.decl,g8=pe.default.root,y8=pe.default.CssSyntaxError,w8=pe.default.Declaration,v8=pe.default.Container,b8=pe.default.Processor,x8=pe.default.Document,S8=pe.default.Comment,k8=pe.default.Warning,_8=pe.default.AtRule,A8=pe.default.Result,T8=pe.default.Input,E8=pe.default.Rule,C8=pe.default.Root,O8=pe.default.Node});var hl=x((R8,gm)=>{u();gm.exports=function(t,e,r,i,n){for(e=e.split?e.split("."):e,i=0;i<e.length;i++)t=t?t[e[i]]:n;return t===n?r:t}});var Ks=x((Ys,ym)=>{u();"use strict";Ys.__esModule=!0;Ys.default=zA;function $A(t){for(var e=t.toLowerCase(),r="",i=!1,n=0;n<6&&e[n]!==void 0;n++){var s=e.charCodeAt(n),a=s>=97&&s<=102||s>=48&&s<=57;if(i=s===32,!a)break;r+=e[n]}if(r.length!==0){var o=parseInt(r,16),l=o>=55296&&o<=57343;return l||o===0||o>1114111?["\uFFFD",r.length+(i?1:0)]:[String.fromCodePoint(o),r.length+(i?1:0)]}}var FA=/\\/;function zA(t){var e=FA.test(t);if(!e)return t;for(var r="",i=0;i<t.length;i++){if(t[i]==="\\"){var n=$A(t.slice(i+1,i+7));if(n!==void 0){r+=n[0],i+=n[1];continue}if(t[i+1]==="\\"){r+="\\",i++;continue}t.length===i+1&&(r+=t[i]);continue}r+=t[i]}return r}ym.exports=Ys.default});var vm=x((Xs,wm)=>{u();"use strict";Xs.__esModule=!0;Xs.default=jA;function jA(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];for(;r.length>0;){var n=r.shift();if(!t[n])return;t=t[n]}return t}wm.exports=Xs.default});var xm=x((Zs,bm)=>{u();"use strict";Zs.__esModule=!0;Zs.default=UA;function UA(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];for(;r.length>0;){var n=r.shift();t[n]||(t[n]={}),t=t[n]}}bm.exports=Zs.default});var km=x((Js,Sm)=>{u();"use strict";Js.__esModule=!0;Js.default=HA;function HA(t){for(var e="",r=t.indexOf("/*"),i=0;r>=0;){e=e+t.slice(i,r);var n=t.indexOf("*/",r+2);if(n<0)return e;i=n+2,r=t.indexOf("/*",i)}return e=e+t.slice(i),e}Sm.exports=Js.default});var Qi=x(kt=>{u();"use strict";kt.__esModule=!0;kt.unesc=kt.stripComments=kt.getProp=kt.ensureObject=void 0;var VA=ea(Ks());kt.unesc=VA.default;var WA=ea(vm());kt.getProp=WA.default;var GA=ea(xm());kt.ensureObject=GA.default;var QA=ea(km());kt.stripComments=QA.default;function ea(t){return t&&t.__esModule?t:{default:t}}});var Bt=x((Yi,Tm)=>{u();"use strict";Yi.__esModule=!0;Yi.default=void 0;var _m=Qi();function Am(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function YA(t,e,r){return e&&Am(t.prototype,e),r&&Am(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}var KA=function t(e,r){if(typeof e!="object"||e===null)return e;var i=new e.constructor;for(var n in e)if(!!e.hasOwnProperty(n)){var s=e[n],a=typeof s;n==="parent"&&a==="object"?r&&(i[n]=r):s instanceof Array?i[n]=s.map(function(o){return t(o,i)}):i[n]=t(s,i)}return i},XA=function(){function t(r){r===void 0&&(r={}),Object.assign(this,r),this.spaces=this.spaces||{},this.spaces.before=this.spaces.before||"",this.spaces.after=this.spaces.after||""}var e=t.prototype;return e.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.replaceWith=function(){if(this.parent){for(var i in arguments)this.parent.insertBefore(this,arguments[i]);this.remove()}return this},e.next=function(){return this.parent.at(this.parent.index(this)+1)},e.prev=function(){return this.parent.at(this.parent.index(this)-1)},e.clone=function(i){i===void 0&&(i={});var n=KA(this);for(var s in i)n[s]=i[s];return n},e.appendToPropertyAndEscape=function(i,n,s){this.raws||(this.raws={});var a=this[i],o=this.raws[i];this[i]=a+n,o||s!==n?this.raws[i]=(o||a)+s:delete this.raws[i]},e.setPropertyAndEscape=function(i,n,s){this.raws||(this.raws={}),this[i]=n,this.raws[i]=s},e.setPropertyWithoutEscape=function(i,n){this[i]=n,this.raws&&delete this.raws[i]},e.isAtPosition=function(i,n){if(this.source&&this.source.start&&this.source.end)return!(this.source.start.line>i||this.source.end.line<i||this.source.start.line===i&&this.source.start.column>n||this.source.end.line===i&&this.source.end.column<n)},e.stringifyProperty=function(i){return this.raws&&this.raws[i]||this[i]},e.valueToString=function(){return String(this.stringifyProperty("value"))},e.toString=function(){return[this.rawSpaceBefore,this.valueToString(),this.rawSpaceAfter].join("")},YA(t,[{key:"rawSpaceBefore",get:function(){var i=this.raws&&this.raws.spaces&&this.raws.spaces.before;return i===void 0&&(i=this.spaces&&this.spaces.before),i||""},set:function(i){(0,_m.ensureObject)(this,"raws","spaces"),this.raws.spaces.before=i}},{key:"rawSpaceAfter",get:function(){var i=this.raws&&this.raws.spaces&&this.raws.spaces.after;return i===void 0&&(i=this.spaces.after),i||""},set:function(i){(0,_m.ensureObject)(this,"raws","spaces"),this.raws.spaces.after=i}}]),t}();Yi.default=XA;Tm.exports=Yi.default});var Me=x(de=>{u();"use strict";de.__esModule=!0;de.UNIVERSAL=de.TAG=de.STRING=de.SELECTOR=de.ROOT=de.PSEUDO=de.NESTING=de.ID=de.COMMENT=de.COMBINATOR=de.CLASS=de.ATTRIBUTE=void 0;var ZA="tag";de.TAG=ZA;var JA="string";de.STRING=JA;var eT="selector";de.SELECTOR=eT;var tT="root";de.ROOT=tT;var rT="pseudo";de.PSEUDO=rT;var iT="nesting";de.NESTING=iT;var nT="id";de.ID=nT;var sT="comment";de.COMMENT=sT;var aT="combinator";de.COMBINATOR=aT;var oT="class";de.CLASS=oT;var lT="attribute";de.ATTRIBUTE=lT;var uT="universal";de.UNIVERSAL=uT});var ta=x((Ki,Pm)=>{u();"use strict";Ki.__esModule=!0;Ki.default=void 0;var fT=pT(Bt()),Mt=cT(Me());function Em(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(Em=function(n){return n?r:e})(t)}function cT(t,e){if(!e&&t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=Em(e);if(r&&r.has(t))return r.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if(s!=="default"&&Object.prototype.hasOwnProperty.call(t,s)){var a=n?Object.getOwnPropertyDescriptor(t,s):null;a&&(a.get||a.set)?Object.defineProperty(i,s,a):i[s]=t[s]}return i.default=t,r&&r.set(t,i),i}function pT(t){return t&&t.__esModule?t:{default:t}}function dT(t,e){var r=typeof Symbol!="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=hT(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hT(t,e){if(!!t){if(typeof t=="string")return Cm(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cm(t,e)}}function Cm(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function Om(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function mT(t,e,r){return e&&Om(t.prototype,e),r&&Om(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function gT(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,ml(t,e)}function ml(t,e){return ml=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},ml(t,e)}var yT=function(t){gT(e,t);function e(i){var n;return n=t.call(this,i)||this,n.nodes||(n.nodes=[]),n}var r=e.prototype;return r.append=function(n){return n.parent=this,this.nodes.push(n),this},r.prepend=function(n){return n.parent=this,this.nodes.unshift(n),this},r.at=function(n){return this.nodes[n]},r.index=function(n){return typeof n=="number"?n:this.nodes.indexOf(n)},r.removeChild=function(n){n=this.index(n),this.at(n).parent=void 0,this.nodes.splice(n,1);var s;for(var a in this.indexes)s=this.indexes[a],s>=n&&(this.indexes[a]=s-1);return this},r.removeAll=function(){for(var n=dT(this.nodes),s;!(s=n()).done;){var a=s.value;a.parent=void 0}return this.nodes=[],this},r.empty=function(){return this.removeAll()},r.insertAfter=function(n,s){s.parent=this;var a=this.index(n);this.nodes.splice(a+1,0,s),s.parent=this;var o;for(var l in this.indexes)o=this.indexes[l],a<=o&&(this.indexes[l]=o+1);return this},r.insertBefore=function(n,s){s.parent=this;var a=this.index(n);this.nodes.splice(a,0,s),s.parent=this;var o;for(var l in this.indexes)o=this.indexes[l],o<=a&&(this.indexes[l]=o+1);return this},r._findChildAtPosition=function(n,s){var a=void 0;return this.each(function(o){if(o.atPosition){var l=o.atPosition(n,s);if(l)return a=l,!1}else if(o.isAtPosition(n,s))return a=o,!1}),a},r.atPosition=function(n,s){if(this.isAtPosition(n,s))return this._findChildAtPosition(n,s)||this},r._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},r.each=function(n){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var s=this.lastEach;if(this.indexes[s]=0,!!this.length){for(var a,o;this.indexes[s]<this.length&&(a=this.indexes[s],o=n(this.at(a),a),o!==!1);)this.indexes[s]+=1;if(delete this.indexes[s],o===!1)return!1}},r.walk=function(n){return this.each(function(s,a){var o=n(s,a);if(o!==!1&&s.length&&(o=s.walk(n)),o===!1)return!1})},r.walkAttributes=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.ATTRIBUTE)return n.call(s,a)})},r.walkClasses=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.CLASS)return n.call(s,a)})},r.walkCombinators=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.COMBINATOR)return n.call(s,a)})},r.walkComments=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.COMMENT)return n.call(s,a)})},r.walkIds=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.ID)return n.call(s,a)})},r.walkNesting=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.NESTING)return n.call(s,a)})},r.walkPseudos=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.PSEUDO)return n.call(s,a)})},r.walkTags=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.TAG)return n.call(s,a)})},r.walkUniversals=function(n){var s=this;return this.walk(function(a){if(a.type===Mt.UNIVERSAL)return n.call(s,a)})},r.split=function(n){var s=this,a=[];return this.reduce(function(o,l,c){var f=n.call(s,l);return a.push(l),f?(o.push(a),a=[]):c===s.length-1&&o.push(a),o},[])},r.map=function(n){return this.nodes.map(n)},r.reduce=function(n,s){return this.nodes.reduce(n,s)},r.every=function(n){return this.nodes.every(n)},r.some=function(n){return this.nodes.some(n)},r.filter=function(n){return this.nodes.filter(n)},r.sort=function(n){return this.nodes.sort(n)},r.toString=function(){return this.map(String).join("")},mT(e,[{key:"first",get:function(){return this.at(0)}},{key:"last",get:function(){return this.at(this.length-1)}},{key:"length",get:function(){return this.nodes.length}}]),e}(fT.default);Ki.default=yT;Pm.exports=Ki.default});var yl=x((Xi,Im)=>{u();"use strict";Xi.__esModule=!0;Xi.default=void 0;var wT=bT(ta()),vT=Me();function bT(t){return t&&t.__esModule?t:{default:t}}function Rm(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function xT(t,e,r){return e&&Rm(t.prototype,e),r&&Rm(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function ST(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,gl(t,e)}function gl(t,e){return gl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},gl(t,e)}var kT=function(t){ST(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=vT.ROOT,n}var r=e.prototype;return r.toString=function(){var n=this.reduce(function(s,a){return s.push(String(a)),s},[]).join(",");return this.trailingComma?n+",":n},r.error=function(n,s){return this._error?this._error(n,s):new Error(n)},xT(e,[{key:"errorGenerator",set:function(n){this._error=n}}]),e}(wT.default);Xi.default=kT;Im.exports=Xi.default});var vl=x((Zi,Dm)=>{u();"use strict";Zi.__esModule=!0;Zi.default=void 0;var _T=TT(ta()),AT=Me();function TT(t){return t&&t.__esModule?t:{default:t}}function ET(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,wl(t,e)}function wl(t,e){return wl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},wl(t,e)}var CT=function(t){ET(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=AT.SELECTOR,i}return e}(_T.default);Zi.default=CT;Dm.exports=Zi.default});var vr=x((q8,qm)=>{u();"use strict";var OT={},PT=OT.hasOwnProperty,RT=function(e,r){if(!e)return r;var i={};for(var n in r)i[n]=PT.call(e,n)?e[n]:r[n];return i},IT=/[ -,\.\/:-@\[-\^`\{-~]/,DT=/[ -,\.\/:-@\[\]\^`\{-~]/,qT=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,bl=function t(e,r){r=RT(r,t.options),r.quotes!="single"&&r.quotes!="double"&&(r.quotes="single");for(var i=r.quotes=="double"?'"':"'",n=r.isIdentifier,s=e.charAt(0),a="",o=0,l=e.length;o<l;){var c=e.charAt(o++),f=c.charCodeAt(),d=void 0;if(f<32||f>126){if(f>=55296&&f<=56319&&o<l){var p=e.charCodeAt(o++);(p&64512)==56320?f=((f&1023)<<10)+(p&1023)+65536:o--}d="\\"+f.toString(16).toUpperCase()+" "}else r.escapeEverything?IT.test(c)?d="\\"+c:d="\\"+f.toString(16).toUpperCase()+" ":/[\t\n\f\r\x0B]/.test(c)?d="\\"+f.toString(16).toUpperCase()+" ":c=="\\"||!n&&(c=='"'&&i==c||c=="'"&&i==c)||n&&DT.test(c)?d="\\"+c:d=c;a+=d}return n&&(/^-[-\d]/.test(a)?a="\\-"+a.slice(1):/\d/.test(s)&&(a="\\3"+s+" "+a.slice(1))),a=a.replace(qT,function(m,w,S){return w&&w.length%2?m:(w||"")+S}),!n&&r.wrap?i+a+i:a};bl.options={escapeEverything:!1,isIdentifier:!1,quotes:"single",wrap:!1};bl.version="3.0.0";qm.exports=bl});var Sl=x((Ji,Mm)=>{u();"use strict";Ji.__esModule=!0;Ji.default=void 0;var LT=Lm(vr()),BT=Qi(),MT=Lm(Bt()),NT=Me();function Lm(t){return t&&t.__esModule?t:{default:t}}function Bm(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function $T(t,e,r){return e&&Bm(t.prototype,e),r&&Bm(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function FT(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,xl(t,e)}function xl(t,e){return xl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},xl(t,e)}var zT=function(t){FT(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=NT.CLASS,n._constructed=!0,n}var r=e.prototype;return r.valueToString=function(){return"."+t.prototype.valueToString.call(this)},$T(e,[{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var s=(0,LT.default)(n,{isIdentifier:!0});s!==n?((0,BT.ensureObject)(this,"raws"),this.raws.value=s):this.raws&&delete this.raws.value}this._value=n}}]),e}(MT.default);Ji.default=zT;Mm.exports=Ji.default});var _l=x((en,Nm)=>{u();"use strict";en.__esModule=!0;en.default=void 0;var jT=HT(Bt()),UT=Me();function HT(t){return t&&t.__esModule?t:{default:t}}function VT(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,kl(t,e)}function kl(t,e){return kl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},kl(t,e)}var WT=function(t){VT(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=UT.COMMENT,i}return e}(jT.default);en.default=WT;Nm.exports=en.default});var Tl=x((tn,$m)=>{u();"use strict";tn.__esModule=!0;tn.default=void 0;var GT=YT(Bt()),QT=Me();function YT(t){return t&&t.__esModule?t:{default:t}}function KT(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Al(t,e)}function Al(t,e){return Al=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Al(t,e)}var XT=function(t){KT(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=QT.ID,n}var r=e.prototype;return r.valueToString=function(){return"#"+t.prototype.valueToString.call(this)},e}(GT.default);tn.default=XT;$m.exports=tn.default});var ra=x((rn,jm)=>{u();"use strict";rn.__esModule=!0;rn.default=void 0;var ZT=Fm(vr()),JT=Qi(),eE=Fm(Bt());function Fm(t){return t&&t.__esModule?t:{default:t}}function zm(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function tE(t,e,r){return e&&zm(t.prototype,e),r&&zm(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function rE(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,El(t,e)}function El(t,e){return El=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},El(t,e)}var iE=function(t){rE(e,t);function e(){return t.apply(this,arguments)||this}var r=e.prototype;return r.qualifiedName=function(n){return this.namespace?this.namespaceString+"|"+n:n},r.valueToString=function(){return this.qualifiedName(t.prototype.valueToString.call(this))},tE(e,[{key:"namespace",get:function(){return this._namespace},set:function(n){if(n===!0||n==="*"||n==="&"){this._namespace=n,this.raws&&delete this.raws.namespace;return}var s=(0,ZT.default)(n,{isIdentifier:!0});this._namespace=n,s!==n?((0,JT.ensureObject)(this,"raws"),this.raws.namespace=s):this.raws&&delete this.raws.namespace}},{key:"ns",get:function(){return this._namespace},set:function(n){this.namespace=n}},{key:"namespaceString",get:function(){if(this.namespace){var n=this.stringifyProperty("namespace");return n===!0?"":n}else return""}}]),e}(eE.default);rn.default=iE;jm.exports=rn.default});var Ol=x((nn,Um)=>{u();"use strict";nn.__esModule=!0;nn.default=void 0;var nE=aE(ra()),sE=Me();function aE(t){return t&&t.__esModule?t:{default:t}}function oE(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Cl(t,e)}function Cl(t,e){return Cl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Cl(t,e)}var lE=function(t){oE(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=sE.TAG,i}return e}(nE.default);nn.default=lE;Um.exports=nn.default});var Rl=x((sn,Hm)=>{u();"use strict";sn.__esModule=!0;sn.default=void 0;var uE=cE(Bt()),fE=Me();function cE(t){return t&&t.__esModule?t:{default:t}}function pE(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Pl(t,e)}function Pl(t,e){return Pl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Pl(t,e)}var dE=function(t){pE(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=fE.STRING,i}return e}(uE.default);sn.default=dE;Hm.exports=sn.default});var Dl=x((an,Vm)=>{u();"use strict";an.__esModule=!0;an.default=void 0;var hE=gE(ta()),mE=Me();function gE(t){return t&&t.__esModule?t:{default:t}}function yE(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Il(t,e)}function Il(t,e){return Il=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Il(t,e)}var wE=function(t){yE(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=mE.PSEUDO,n}var r=e.prototype;return r.toString=function(){var n=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),n,this.rawSpaceAfter].join("")},e}(hE.default);an.default=wE;Vm.exports=an.default});var ia={};dt(ia,{deprecate:()=>vE});function vE(t){return t}var na=D(()=>{u()});var ql=x((L8,Wm)=>{u();Wm.exports=(na(),ia).deprecate});var Fl=x(un=>{u();"use strict";un.__esModule=!0;un.default=void 0;un.unescapeValue=Nl;var on=Bl(vr()),bE=Bl(Ks()),xE=Bl(ra()),SE=Me(),Ll;function Bl(t){return t&&t.__esModule?t:{default:t}}function Gm(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function kE(t,e,r){return e&&Gm(t.prototype,e),r&&Gm(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function _E(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Ml(t,e)}function Ml(t,e){return Ml=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Ml(t,e)}var ln=ql(),AE=/^('|")([^]*)\1$/,TE=ln(function(){},"Assigning an attribute a value containing characters that might need to be escaped is deprecated. Call attribute.setValue() instead."),EE=ln(function(){},"Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead."),CE=ln(function(){},"Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now.");function Nl(t){var e=!1,r=null,i=t,n=i.match(AE);return n&&(r=n[1],i=n[2]),i=(0,bE.default)(i),i!==t&&(e=!0),{deprecatedUsage:e,unescaped:i,quoteMark:r}}function OE(t){if(t.quoteMark!==void 0||t.value===void 0)return t;CE();var e=Nl(t.value),r=e.quoteMark,i=e.unescaped;return t.raws||(t.raws={}),t.raws.value===void 0&&(t.raws.value=t.value),t.value=i,t.quoteMark=r,t}var sa=function(t){_E(e,t);function e(i){var n;return i===void 0&&(i={}),n=t.call(this,OE(i))||this,n.type=SE.ATTRIBUTE,n.raws=n.raws||{},Object.defineProperty(n.raws,"unquoted",{get:ln(function(){return n.value},"attr.raws.unquoted is deprecated. Call attr.value instead."),set:ln(function(){return n.value},"Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.")}),n._constructed=!0,n}var r=e.prototype;return r.getQuotedValue=function(n){n===void 0&&(n={});var s=this._determineQuoteMark(n),a=$l[s],o=(0,on.default)(this._value,a);return o},r._determineQuoteMark=function(n){return n.smart?this.smartQuoteMark(n):this.preferredQuoteMark(n)},r.setValue=function(n,s){s===void 0&&(s={}),this._value=n,this._quoteMark=this._determineQuoteMark(s),this._syncRawValue()},r.smartQuoteMark=function(n){var s=this.value,a=s.replace(/[^']/g,"").length,o=s.replace(/[^"]/g,"").length;if(a+o===0){var l=(0,on.default)(s,{isIdentifier:!0});if(l===s)return e.NO_QUOTE;var c=this.preferredQuoteMark(n);if(c===e.NO_QUOTE){var f=this.quoteMark||n.quoteMark||e.DOUBLE_QUOTE,d=$l[f],p=(0,on.default)(s,d);if(p.length<l.length)return f}return c}else return o===a?this.preferredQuoteMark(n):o<a?e.DOUBLE_QUOTE:e.SINGLE_QUOTE},r.preferredQuoteMark=function(n){var s=n.preferCurrentQuoteMark?this.quoteMark:n.quoteMark;return s===void 0&&(s=n.preferCurrentQuoteMark?n.quoteMark:this.quoteMark),s===void 0&&(s=e.DOUBLE_QUOTE),s},r._syncRawValue=function(){var n=(0,on.default)(this._value,$l[this.quoteMark]);n===this._value?this.raws&&delete this.raws.value:this.raws.value=n},r._handleEscapes=function(n,s){if(this._constructed){var a=(0,on.default)(s,{isIdentifier:!0});a!==s?this.raws[n]=a:delete this.raws[n]}},r._spacesFor=function(n){var s={before:"",after:""},a=this.spaces[n]||{},o=this.raws.spaces&&this.raws.spaces[n]||{};return Object.assign(s,a,o)},r._stringFor=function(n,s,a){s===void 0&&(s=n),a===void 0&&(a=Qm);var o=this._spacesFor(s);return a(this.stringifyProperty(n),o)},r.offsetOf=function(n){var s=1,a=this._spacesFor("attribute");if(s+=a.before.length,n==="namespace"||n==="ns")return this.namespace?s:-1;if(n==="attributeNS"||(s+=this.namespaceString.length,this.namespace&&(s+=1),n==="attribute"))return s;s+=this.stringifyProperty("attribute").length,s+=a.after.length;var o=this._spacesFor("operator");s+=o.before.length;var l=this.stringifyProperty("operator");if(n==="operator")return l?s:-1;s+=l.length,s+=o.after.length;var c=this._spacesFor("value");s+=c.before.length;var f=this.stringifyProperty("value");if(n==="value")return f?s:-1;s+=f.length,s+=c.after.length;var d=this._spacesFor("insensitive");return s+=d.before.length,n==="insensitive"&&this.insensitive?s:-1},r.toString=function(){var n=this,s=[this.rawSpaceBefore,"["];return s.push(this._stringFor("qualifiedAttribute","attribute")),this.operator&&(this.value||this.value==="")&&(s.push(this._stringFor("operator")),s.push(this._stringFor("value")),s.push(this._stringFor("insensitiveFlag","insensitive",function(a,o){return a.length>0&&!n.quoted&&o.before.length===0&&!(n.spaces.value&&n.spaces.value.after)&&(o.before=" "),Qm(a,o)}))),s.push("]"),s.push(this.rawSpaceAfter),s.join("")},kE(e,[{key:"quoted",get:function(){var n=this.quoteMark;return n==="'"||n==='"'},set:function(n){EE()}},{key:"quoteMark",get:function(){return this._quoteMark},set:function(n){if(!this._constructed){this._quoteMark=n;return}this._quoteMark!==n&&(this._quoteMark=n,this._syncRawValue())}},{key:"qualifiedAttribute",get:function(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get:function(){return this.insensitive?"i":""}},{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var s=Nl(n),a=s.deprecatedUsage,o=s.unescaped,l=s.quoteMark;if(a&&TE(),o===this._value&&l===this._quoteMark)return;this._value=o,this._quoteMark=l,this._syncRawValue()}else this._value=n}},{key:"insensitive",get:function(){return this._insensitive},set:function(n){n||(this._insensitive=!1,this.raws&&(this.raws.insensitiveFlag==="I"||this.raws.insensitiveFlag==="i")&&(this.raws.insensitiveFlag=void 0)),this._insensitive=n}},{key:"attribute",get:function(){return this._attribute},set:function(n){this._handleEscapes("attribute",n),this._attribute=n}}]),e}(xE.default);un.default=sa;sa.NO_QUOTE=null;sa.SINGLE_QUOTE="'";sa.DOUBLE_QUOTE='"';var $l=(Ll={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}},Ll[null]={isIdentifier:!0},Ll);function Qm(t,e){return""+e.before+t+e.after}});var jl=x((fn,Ym)=>{u();"use strict";fn.__esModule=!0;fn.default=void 0;var PE=IE(ra()),RE=Me();function IE(t){return t&&t.__esModule?t:{default:t}}function DE(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,zl(t,e)}function zl(t,e){return zl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},zl(t,e)}var qE=function(t){DE(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=RE.UNIVERSAL,i.value="*",i}return e}(PE.default);fn.default=qE;Ym.exports=fn.default});var Hl=x((cn,Km)=>{u();"use strict";cn.__esModule=!0;cn.default=void 0;var LE=ME(Bt()),BE=Me();function ME(t){return t&&t.__esModule?t:{default:t}}function NE(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Ul(t,e)}function Ul(t,e){return Ul=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Ul(t,e)}var $E=function(t){NE(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=BE.COMBINATOR,i}return e}(LE.default);cn.default=$E;Km.exports=cn.default});var Wl=x((pn,Xm)=>{u();"use strict";pn.__esModule=!0;pn.default=void 0;var FE=jE(Bt()),zE=Me();function jE(t){return t&&t.__esModule?t:{default:t}}function UE(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Vl(t,e)}function Vl(t,e){return Vl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Vl(t,e)}var HE=function(t){UE(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=zE.NESTING,i.value="&",i}return e}(FE.default);pn.default=HE;Xm.exports=pn.default});var Jm=x((aa,Zm)=>{u();"use strict";aa.__esModule=!0;aa.default=VE;function VE(t){return t.sort(function(e,r){return e-r})}Zm.exports=aa.default});var Gl=x(H=>{u();"use strict";H.__esModule=!0;H.word=H.tilde=H.tab=H.str=H.space=H.slash=H.singleQuote=H.semicolon=H.plus=H.pipe=H.openSquare=H.openParenthesis=H.newline=H.greaterThan=H.feed=H.equals=H.doubleQuote=H.dollar=H.cr=H.comment=H.comma=H.combinator=H.colon=H.closeSquare=H.closeParenthesis=H.caret=H.bang=H.backslash=H.at=H.asterisk=H.ampersand=void 0;var WE=38;H.ampersand=WE;var GE=42;H.asterisk=GE;var QE=64;H.at=QE;var YE=44;H.comma=YE;var KE=58;H.colon=KE;var XE=59;H.semicolon=XE;var ZE=40;H.openParenthesis=ZE;var JE=41;H.closeParenthesis=JE;var eC=91;H.openSquare=eC;var tC=93;H.closeSquare=tC;var rC=36;H.dollar=rC;var iC=126;H.tilde=iC;var nC=94;H.caret=nC;var sC=43;H.plus=sC;var aC=61;H.equals=aC;var oC=124;H.pipe=oC;var lC=62;H.greaterThan=lC;var uC=32;H.space=uC;var eg=39;H.singleQuote=eg;var fC=34;H.doubleQuote=fC;var cC=47;H.slash=cC;var pC=33;H.bang=pC;var dC=92;H.backslash=dC;var hC=13;H.cr=hC;var mC=12;H.feed=mC;var gC=10;H.newline=gC;var yC=9;H.tab=yC;var wC=eg;H.str=wC;var vC=-1;H.comment=vC;var bC=-2;H.word=bC;var xC=-3;H.combinator=xC});var ig=x(dn=>{u();"use strict";dn.__esModule=!0;dn.FIELDS=void 0;dn.default=CC;var B=SC(Gl()),jr,ue;function tg(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(tg=function(n){return n?r:e})(t)}function SC(t,e){if(!e&&t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=tg(e);if(r&&r.has(t))return r.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if(s!=="default"&&Object.prototype.hasOwnProperty.call(t,s)){var a=n?Object.getOwnPropertyDescriptor(t,s):null;a&&(a.get||a.set)?Object.defineProperty(i,s,a):i[s]=t[s]}return i.default=t,r&&r.set(t,i),i}var kC=(jr={},jr[B.tab]=!0,jr[B.newline]=!0,jr[B.cr]=!0,jr[B.feed]=!0,jr),_C=(ue={},ue[B.space]=!0,ue[B.tab]=!0,ue[B.newline]=!0,ue[B.cr]=!0,ue[B.feed]=!0,ue[B.ampersand]=!0,ue[B.asterisk]=!0,ue[B.bang]=!0,ue[B.comma]=!0,ue[B.colon]=!0,ue[B.semicolon]=!0,ue[B.openParenthesis]=!0,ue[B.closeParenthesis]=!0,ue[B.openSquare]=!0,ue[B.closeSquare]=!0,ue[B.singleQuote]=!0,ue[B.doubleQuote]=!0,ue[B.plus]=!0,ue[B.pipe]=!0,ue[B.tilde]=!0,ue[B.greaterThan]=!0,ue[B.equals]=!0,ue[B.dollar]=!0,ue[B.caret]=!0,ue[B.slash]=!0,ue),Ql={},rg="0123456789abcdefABCDEF";for(oa=0;oa<rg.length;oa++)Ql[rg.charCodeAt(oa)]=!0;var oa;function AC(t,e){var r=e,i;do{if(i=t.charCodeAt(r),_C[i])return r-1;i===B.backslash?r=TC(t,r)+1:r++}while(r<t.length);return r-1}function TC(t,e){var r=e,i=t.charCodeAt(r+1);if(!kC[i])if(Ql[i]){var n=0;do r++,n++,i=t.charCodeAt(r+1);while(Ql[i]&&n<6);n<6&&i===B.space&&r++}else r++;return r}var EC={TYPE:0,START_LINE:1,START_COL:2,END_LINE:3,END_COL:4,START_POS:5,END_POS:6};dn.FIELDS=EC;function CC(t){var e=[],r=t.css.valueOf(),i=r,n=i.length,s=-1,a=1,o=0,l=0,c,f,d,p,m,w,S,v,b,_,A,O,P;function F(N,R){if(t.safe)r+=R,b=r.length-1;else throw t.error("Unclosed "+N,a,o-s,o)}for(;o<n;){switch(c=r.charCodeAt(o),c===B.newline&&(s=o,a+=1),c){case B.space:case B.tab:case B.newline:case B.cr:case B.feed:b=o;do b+=1,c=r.charCodeAt(b),c===B.newline&&(s=b,a+=1);while(c===B.space||c===B.newline||c===B.tab||c===B.cr||c===B.feed);P=B.space,p=a,d=b-s-1,l=b;break;case B.plus:case B.greaterThan:case B.tilde:case B.pipe:b=o;do b+=1,c=r.charCodeAt(b);while(c===B.plus||c===B.greaterThan||c===B.tilde||c===B.pipe);P=B.combinator,p=a,d=o-s,l=b;break;case B.asterisk:case B.ampersand:case B.bang:case B.comma:case B.equals:case B.dollar:case B.caret:case B.openSquare:case B.closeSquare:case B.colon:case B.semicolon:case B.openParenthesis:case B.closeParenthesis:b=o,P=c,p=a,d=o-s,l=b+1;break;case B.singleQuote:case B.doubleQuote:O=c===B.singleQuote?"'":'"',b=o;do for(m=!1,b=r.indexOf(O,b+1),b===-1&&F("quote",O),w=b;r.charCodeAt(w-1)===B.backslash;)w-=1,m=!m;while(m);P=B.str,p=a,d=o-s,l=b+1;break;default:c===B.slash&&r.charCodeAt(o+1)===B.asterisk?(b=r.indexOf("*/",o+2)+1,b===0&&F("comment","*/"),f=r.slice(o,b+1),v=f.split(`
+`),S=v.length-1,S>0?(_=a+S,A=b-v[S].length):(_=a,A=s),P=B.comment,a=_,p=_,d=b-A):c===B.slash?(b=o,P=c,p=a,d=o-s,l=b+1):(b=AC(r,o),P=B.word,p=a,d=b-s),l=b+1;break}e.push([P,a,o-s,p,d,o,l]),A&&(s=A,A=null),o=l}return e}});var cg=x((hn,fg)=>{u();"use strict";hn.__esModule=!0;hn.default=void 0;var OC=nt(yl()),Yl=nt(vl()),PC=nt(Sl()),ng=nt(_l()),RC=nt(Tl()),IC=nt(Ol()),Kl=nt(Rl()),DC=nt(Dl()),sg=la(Fl()),qC=nt(jl()),Xl=nt(Hl()),LC=nt(Wl()),BC=nt(Jm()),I=la(ig()),$=la(Gl()),MC=la(Me()),xe=Qi(),br,Zl;function ag(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(ag=function(n){return n?r:e})(t)}function la(t,e){if(!e&&t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=ag(e);if(r&&r.has(t))return r.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if(s!=="default"&&Object.prototype.hasOwnProperty.call(t,s)){var a=n?Object.getOwnPropertyDescriptor(t,s):null;a&&(a.get||a.set)?Object.defineProperty(i,s,a):i[s]=t[s]}return i.default=t,r&&r.set(t,i),i}function nt(t){return t&&t.__esModule?t:{default:t}}function og(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function NC(t,e,r){return e&&og(t.prototype,e),r&&og(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}var Jl=(br={},br[$.space]=!0,br[$.cr]=!0,br[$.feed]=!0,br[$.newline]=!0,br[$.tab]=!0,br),$C=Object.assign({},Jl,(Zl={},Zl[$.comment]=!0,Zl));function lg(t){return{line:t[I.FIELDS.START_LINE],column:t[I.FIELDS.START_COL]}}function ug(t){return{line:t[I.FIELDS.END_LINE],column:t[I.FIELDS.END_COL]}}function xr(t,e,r,i){return{start:{line:t,column:e},end:{line:r,column:i}}}function Ur(t){return xr(t[I.FIELDS.START_LINE],t[I.FIELDS.START_COL],t[I.FIELDS.END_LINE],t[I.FIELDS.END_COL])}function eu(t,e){if(!!t)return xr(t[I.FIELDS.START_LINE],t[I.FIELDS.START_COL],e[I.FIELDS.END_LINE],e[I.FIELDS.END_COL])}function Hr(t,e){var r=t[e];if(typeof r=="string")return r.indexOf("\\")!==-1&&((0,xe.ensureObject)(t,"raws"),t[e]=(0,xe.unesc)(r),t.raws[e]===void 0&&(t.raws[e]=r)),t}function tu(t,e){for(var r=-1,i=[];(r=t.indexOf(e,r+1))!==-1;)i.push(r);return i}function FC(){var t=Array.prototype.concat.apply([],arguments);return t.filter(function(e,r){return r===t.indexOf(e)})}var zC=function(){function t(r,i){i===void 0&&(i={}),this.rule=r,this.options=Object.assign({lossy:!1,safe:!1},i),this.position=0,this.css=typeof this.rule=="string"?this.rule:this.rule.selector,this.tokens=(0,I.default)({css:this.css,error:this._errorGenerator(),safe:this.options.safe});var n=eu(this.tokens[0],this.tokens[this.tokens.length-1]);this.root=new OC.default({source:n}),this.root.errorGenerator=this._errorGenerator();var s=new Yl.default({source:{start:{line:1,column:1}},sourceIndex:0});this.root.append(s),this.current=s,this.loop()}var e=t.prototype;return e._errorGenerator=function(){var i=this;return function(n,s){return typeof i.rule=="string"?new Error(n):i.rule.error(n,s)}},e.attribute=function(){var i=[],n=this.currToken;for(this.position++;this.position<this.tokens.length&&this.currToken[I.FIELDS.TYPE]!==$.closeSquare;)i.push(this.currToken),this.position++;if(this.currToken[I.FIELDS.TYPE]!==$.closeSquare)return this.expected("closing square bracket",this.currToken[I.FIELDS.START_POS]);var s=i.length,a={source:xr(n[1],n[2],this.currToken[3],this.currToken[4]),sourceIndex:n[I.FIELDS.START_POS]};if(s===1&&!~[$.word].indexOf(i[0][I.FIELDS.TYPE]))return this.expected("attribute",i[0][I.FIELDS.START_POS]);for(var o=0,l="",c="",f=null,d=!1;o<s;){var p=i[o],m=this.content(p),w=i[o+1];switch(p[I.FIELDS.TYPE]){case $.space:if(d=!0,this.options.lossy)break;if(f){(0,xe.ensureObject)(a,"spaces",f);var S=a.spaces[f].after||"";a.spaces[f].after=S+m;var v=(0,xe.getProp)(a,"raws","spaces",f,"after")||null;v&&(a.raws.spaces[f].after=v+m)}else l=l+m,c=c+m;break;case $.asterisk:if(w[I.FIELDS.TYPE]===$.equals)a.operator=m,f="operator";else if((!a.namespace||f==="namespace"&&!d)&&w){l&&((0,xe.ensureObject)(a,"spaces","attribute"),a.spaces.attribute.before=l,l=""),c&&((0,xe.ensureObject)(a,"raws","spaces","attribute"),a.raws.spaces.attribute.before=l,c=""),a.namespace=(a.namespace||"")+m;var b=(0,xe.getProp)(a,"raws","namespace")||null;b&&(a.raws.namespace+=m),f="namespace"}d=!1;break;case $.dollar:if(f==="value"){var _=(0,xe.getProp)(a,"raws","value");a.value+="$",_&&(a.raws.value=_+"$");break}case $.caret:w[I.FIELDS.TYPE]===$.equals&&(a.operator=m,f="operator"),d=!1;break;case $.combinator:if(m==="~"&&w[I.FIELDS.TYPE]===$.equals&&(a.operator=m,f="operator"),m!=="|"){d=!1;break}w[I.FIELDS.TYPE]===$.equals?(a.operator=m,f="operator"):!a.namespace&&!a.attribute&&(a.namespace=!0),d=!1;break;case $.word:if(w&&this.content(w)==="|"&&i[o+2]&&i[o+2][I.FIELDS.TYPE]!==$.equals&&!a.operator&&!a.namespace)a.namespace=m,f="namespace";else if(!a.attribute||f==="attribute"&&!d){l&&((0,xe.ensureObject)(a,"spaces","attribute"),a.spaces.attribute.before=l,l=""),c&&((0,xe.ensureObject)(a,"raws","spaces","attribute"),a.raws.spaces.attribute.before=c,c=""),a.attribute=(a.attribute||"")+m;var A=(0,xe.getProp)(a,"raws","attribute")||null;A&&(a.raws.attribute+=m),f="attribute"}else if(!a.value&&a.value!==""||f==="value"&&!(d||a.quoteMark)){var O=(0,xe.unesc)(m),P=(0,xe.getProp)(a,"raws","value")||"",F=a.value||"";a.value=F+O,a.quoteMark=null,(O!==m||P)&&((0,xe.ensureObject)(a,"raws"),a.raws.value=(P||F)+m),f="value"}else{var N=m==="i"||m==="I";(a.value||a.value==="")&&(a.quoteMark||d)?(a.insensitive=N,(!N||m==="I")&&((0,xe.ensureObject)(a,"raws"),a.raws.insensitiveFlag=m),f="insensitive",l&&((0,xe.ensureObject)(a,"spaces","insensitive"),a.spaces.insensitive.before=l,l=""),c&&((0,xe.ensureObject)(a,"raws","spaces","insensitive"),a.raws.spaces.insensitive.before=c,c="")):(a.value||a.value==="")&&(f="value",a.value+=m,a.raws.value&&(a.raws.value+=m))}d=!1;break;case $.str:if(!a.attribute||!a.operator)return this.error("Expected an attribute followed by an operator preceding the string.",{index:p[I.FIELDS.START_POS]});var R=(0,sg.unescapeValue)(m),W=R.unescaped,re=R.quoteMark;a.value=W,a.quoteMark=re,f="value",(0,xe.ensureObject)(a,"raws"),a.raws.value=m,d=!1;break;case $.equals:if(!a.attribute)return this.expected("attribute",p[I.FIELDS.START_POS],m);if(a.value)return this.error('Unexpected "=" found; an operator was already defined.',{index:p[I.FIELDS.START_POS]});a.operator=a.operator?a.operator+m:m,f="operator",d=!1;break;case $.comment:if(f)if(d||w&&w[I.FIELDS.TYPE]===$.space||f==="insensitive"){var E=(0,xe.getProp)(a,"spaces",f,"after")||"",J=(0,xe.getProp)(a,"raws","spaces",f,"after")||E;(0,xe.ensureObject)(a,"raws","spaces",f),a.raws.spaces[f].after=J+m}else{var Q=a[f]||"",ce=(0,xe.getProp)(a,"raws",f)||Q;(0,xe.ensureObject)(a,"raws"),a.raws[f]=ce+m}else c=c+m;break;default:return this.error('Unexpected "'+m+'" found.',{index:p[I.FIELDS.START_POS]})}o++}Hr(a,"attribute"),Hr(a,"namespace"),this.newNode(new sg.default(a)),this.position++},e.parseWhitespaceEquivalentTokens=function(i){i<0&&(i=this.tokens.length);var n=this.position,s=[],a="",o=void 0;do if(Jl[this.currToken[I.FIELDS.TYPE]])this.options.lossy||(a+=this.content());else if(this.currToken[I.FIELDS.TYPE]===$.comment){var l={};a&&(l.before=a,a=""),o=new ng.default({value:this.content(),source:Ur(this.currToken),sourceIndex:this.currToken[I.FIELDS.START_POS],spaces:l}),s.push(o)}while(++this.position<i);if(a){if(o)o.spaces.after=a;else if(!this.options.lossy){var c=this.tokens[n],f=this.tokens[this.position-1];s.push(new Kl.default({value:"",source:xr(c[I.FIELDS.START_LINE],c[I.FIELDS.START_COL],f[I.FIELDS.END_LINE],f[I.FIELDS.END_COL]),sourceIndex:c[I.FIELDS.START_POS],spaces:{before:a,after:""}}))}}return s},e.convertWhitespaceNodesToSpace=function(i,n){var s=this;n===void 0&&(n=!1);var a="",o="";i.forEach(function(c){var f=s.lossySpace(c.spaces.before,n),d=s.lossySpace(c.rawSpaceBefore,n);a+=f+s.lossySpace(c.spaces.after,n&&f.length===0),o+=f+c.value+s.lossySpace(c.rawSpaceAfter,n&&d.length===0)}),o===a&&(o=void 0);var l={space:a,rawSpace:o};return l},e.isNamedCombinator=function(i){return i===void 0&&(i=this.position),this.tokens[i+0]&&this.tokens[i+0][I.FIELDS.TYPE]===$.slash&&this.tokens[i+1]&&this.tokens[i+1][I.FIELDS.TYPE]===$.word&&this.tokens[i+2]&&this.tokens[i+2][I.FIELDS.TYPE]===$.slash},e.namedCombinator=function(){if(this.isNamedCombinator()){var i=this.content(this.tokens[this.position+1]),n=(0,xe.unesc)(i).toLowerCase(),s={};n!==i&&(s.value="/"+i+"/");var a=new Xl.default({value:"/"+n+"/",source:xr(this.currToken[I.FIELDS.START_LINE],this.currToken[I.FIELDS.START_COL],this.tokens[this.position+2][I.FIELDS.END_LINE],this.tokens[this.position+2][I.FIELDS.END_COL]),sourceIndex:this.currToken[I.FIELDS.START_POS],raws:s});return this.position=this.position+3,a}else this.unexpected()},e.combinator=function(){var i=this;if(this.content()==="|")return this.namespace();var n=this.locateNextMeaningfulToken(this.position);if(n<0||this.tokens[n][I.FIELDS.TYPE]===$.comma||this.tokens[n][I.FIELDS.TYPE]===$.closeParenthesis){var s=this.parseWhitespaceEquivalentTokens(n);if(s.length>0){var a=this.current.last;if(a){var o=this.convertWhitespaceNodesToSpace(s),l=o.space,c=o.rawSpace;c!==void 0&&(a.rawSpaceAfter+=c),a.spaces.after+=l}else s.forEach(function(P){return i.newNode(P)})}return}var f=this.currToken,d=void 0;n>this.position&&(d=this.parseWhitespaceEquivalentTokens(n));var p;if(this.isNamedCombinator()?p=this.namedCombinator():this.currToken[I.FIELDS.TYPE]===$.combinator?(p=new Xl.default({value:this.content(),source:Ur(this.currToken),sourceIndex:this.currToken[I.FIELDS.START_POS]}),this.position++):Jl[this.currToken[I.FIELDS.TYPE]]||d||this.unexpected(),p){if(d){var m=this.convertWhitespaceNodesToSpace(d),w=m.space,S=m.rawSpace;p.spaces.before=w,p.rawSpaceBefore=S}}else{var v=this.convertWhitespaceNodesToSpace(d,!0),b=v.space,_=v.rawSpace;_||(_=b);var A={},O={spaces:{}};b.endsWith(" ")&&_.endsWith(" ")?(A.before=b.slice(0,b.length-1),O.spaces.before=_.slice(0,_.length-1)):b.startsWith(" ")&&_.startsWith(" ")?(A.after=b.slice(1),O.spaces.after=_.slice(1)):O.value=_,p=new Xl.default({value:" ",source:eu(f,this.tokens[this.position-1]),sourceIndex:f[I.FIELDS.START_POS],spaces:A,raws:O})}return this.currToken&&this.currToken[I.FIELDS.TYPE]===$.space&&(p.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(p)},e.comma=function(){if(this.position===this.tokens.length-1){this.root.trailingComma=!0,this.position++;return}this.current._inferEndPosition();var i=new Yl.default({source:{start:lg(this.tokens[this.position+1])},sourceIndex:this.tokens[this.position+1][I.FIELDS.START_POS]});this.current.parent.append(i),this.current=i,this.position++},e.comment=function(){var i=this.currToken;this.newNode(new ng.default({value:this.content(),source:Ur(i),sourceIndex:i[I.FIELDS.START_POS]})),this.position++},e.error=function(i,n){throw this.root.error(i,n)},e.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[I.FIELDS.START_POS]})},e.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[I.FIELDS.START_POS])},e.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[I.FIELDS.START_POS])},e.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[I.FIELDS.START_POS])},e.unexpectedPipe=function(){return this.error("Unexpected '|'.",this.currToken[I.FIELDS.START_POS])},e.namespace=function(){var i=this.prevToken&&this.content(this.prevToken)||!0;if(this.nextToken[I.FIELDS.TYPE]===$.word)return this.position++,this.word(i);if(this.nextToken[I.FIELDS.TYPE]===$.asterisk)return this.position++,this.universal(i);this.unexpectedPipe()},e.nesting=function(){if(this.nextToken){var i=this.content(this.nextToken);if(i==="|"){this.position++;return}}var n=this.currToken;this.newNode(new LC.default({value:this.content(),source:Ur(n),sourceIndex:n[I.FIELDS.START_POS]})),this.position++},e.parentheses=function(){var i=this.current.last,n=1;if(this.position++,i&&i.type===MC.PSEUDO){var s=new Yl.default({source:{start:lg(this.tokens[this.position])},sourceIndex:this.tokens[this.position][I.FIELDS.START_POS]}),a=this.current;for(i.append(s),this.current=s;this.position<this.tokens.length&&n;)this.currToken[I.FIELDS.TYPE]===$.openParenthesis&&n++,this.currToken[I.FIELDS.TYPE]===$.closeParenthesis&&n--,n?this.parse():(this.current.source.end=ug(this.currToken),this.current.parent.source.end=ug(this.currToken),this.position++);this.current=a}else{for(var o=this.currToken,l="(",c;this.position<this.tokens.length&&n;)this.currToken[I.FIELDS.TYPE]===$.openParenthesis&&n++,this.currToken[I.FIELDS.TYPE]===$.closeParenthesis&&n--,c=this.currToken,l+=this.parseParenthesisToken(this.currToken),this.position++;i?i.appendToPropertyAndEscape("value",l,l):this.newNode(new Kl.default({value:l,source:xr(o[I.FIELDS.START_LINE],o[I.FIELDS.START_COL],c[I.FIELDS.END_LINE],c[I.FIELDS.END_COL]),sourceIndex:o[I.FIELDS.START_POS]}))}if(n)return this.expected("closing parenthesis",this.currToken[I.FIELDS.START_POS])},e.pseudo=function(){for(var i=this,n="",s=this.currToken;this.currToken&&this.currToken[I.FIELDS.TYPE]===$.colon;)n+=this.content(),this.position++;if(!this.currToken)return this.expected(["pseudo-class","pseudo-element"],this.position-1);if(this.currToken[I.FIELDS.TYPE]===$.word)this.splitWord(!1,function(a,o){n+=a,i.newNode(new DC.default({value:n,source:eu(s,i.currToken),sourceIndex:s[I.FIELDS.START_POS]})),o>1&&i.nextToken&&i.nextToken[I.FIELDS.TYPE]===$.openParenthesis&&i.error("Misplaced parenthesis.",{index:i.nextToken[I.FIELDS.START_POS]})});else return this.expected(["pseudo-class","pseudo-element"],this.currToken[I.FIELDS.START_POS])},e.space=function(){var i=this.content();this.position===0||this.prevToken[I.FIELDS.TYPE]===$.comma||this.prevToken[I.FIELDS.TYPE]===$.openParenthesis||this.current.nodes.every(function(n){return n.type==="comment"})?(this.spaces=this.optionalSpace(i),this.position++):this.position===this.tokens.length-1||this.nextToken[I.FIELDS.TYPE]===$.comma||this.nextToken[I.FIELDS.TYPE]===$.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(i),this.position++):this.combinator()},e.string=function(){var i=this.currToken;this.newNode(new Kl.default({value:this.content(),source:Ur(i),sourceIndex:i[I.FIELDS.START_POS]})),this.position++},e.universal=function(i){var n=this.nextToken;if(n&&this.content(n)==="|")return this.position++,this.namespace();var s=this.currToken;this.newNode(new qC.default({value:this.content(),source:Ur(s),sourceIndex:s[I.FIELDS.START_POS]}),i),this.position++},e.splitWord=function(i,n){for(var s=this,a=this.nextToken,o=this.content();a&&~[$.dollar,$.caret,$.equals,$.word].indexOf(a[I.FIELDS.TYPE]);){this.position++;var l=this.content();if(o+=l,l.lastIndexOf("\\")===l.length-1){var c=this.nextToken;c&&c[I.FIELDS.TYPE]===$.space&&(o+=this.requiredSpace(this.content(c)),this.position++)}a=this.nextToken}var f=tu(o,".").filter(function(w){var S=o[w-1]==="\\",v=/^\d+\.\d+%$/.test(o);return!S&&!v}),d=tu(o,"#").filter(function(w){return o[w-1]!=="\\"}),p=tu(o,"#{");p.length&&(d=d.filter(function(w){return!~p.indexOf(w)}));var m=(0,BC.default)(FC([0].concat(f,d)));m.forEach(function(w,S){var v=m[S+1]||o.length,b=o.slice(w,v);if(S===0&&n)return n.call(s,b,m.length);var _,A=s.currToken,O=A[I.FIELDS.START_POS]+m[S],P=xr(A[1],A[2]+w,A[3],A[2]+(v-1));if(~f.indexOf(w)){var F={value:b.slice(1),source:P,sourceIndex:O};_=new PC.default(Hr(F,"value"))}else if(~d.indexOf(w)){var N={value:b.slice(1),source:P,sourceIndex:O};_=new RC.default(Hr(N,"value"))}else{var R={value:b,source:P,sourceIndex:O};Hr(R,"value"),_=new IC.default(R)}s.newNode(_,i),i=null}),this.position++},e.word=function(i){var n=this.nextToken;return n&&this.content(n)==="|"?(this.position++,this.namespace()):this.splitWord(i)},e.loop=function(){for(;this.position<this.tokens.length;)this.parse(!0);return this.current._inferEndPosition(),this.root},e.parse=function(i){switch(this.currToken[I.FIELDS.TYPE]){case $.space:this.space();break;case $.comment:this.comment();break;case $.openParenthesis:this.parentheses();break;case $.closeParenthesis:i&&this.missingParenthesis();break;case $.openSquare:this.attribute();break;case $.dollar:case $.caret:case $.equals:case $.word:this.word();break;case $.colon:this.pseudo();break;case $.comma:this.comma();break;case $.asterisk:this.universal();break;case $.ampersand:this.nesting();break;case $.slash:case $.combinator:this.combinator();break;case $.str:this.string();break;case $.closeSquare:this.missingSquareBracket();case $.semicolon:this.missingBackslash();default:this.unexpected()}},e.expected=function(i,n,s){if(Array.isArray(i)){var a=i.pop();i=i.join(", ")+" or "+a}var o=/^[aeiou]/.test(i[0])?"an":"a";return s?this.error("Expected "+o+" "+i+', found "'+s+'" instead.',{index:n}):this.error("Expected "+o+" "+i+".",{index:n})},e.requiredSpace=function(i){return this.options.lossy?" ":i},e.optionalSpace=function(i){return this.options.lossy?"":i},e.lossySpace=function(i,n){return this.options.lossy?n?" ":"":i},e.parseParenthesisToken=function(i){var n=this.content(i);return i[I.FIELDS.TYPE]===$.space?this.requiredSpace(n):n},e.newNode=function(i,n){return n&&(/^ +$/.test(n)&&(this.options.lossy||(this.spaces=(this.spaces||"")+n),n=!0),i.namespace=n,Hr(i,"namespace")),this.spaces&&(i.spaces.before=this.spaces,this.spaces=""),this.current.append(i)},e.content=function(i){return i===void 0&&(i=this.currToken),this.css.slice(i[I.FIELDS.START_POS],i[I.FIELDS.END_POS])},e.locateNextMeaningfulToken=function(i){i===void 0&&(i=this.position+1);for(var n=i;n<this.tokens.length;)if($C[this.tokens[n][I.FIELDS.TYPE]]){n++;continue}else return n;return-1},NC(t,[{key:"currToken",get:function(){return this.tokens[this.position]}},{key:"nextToken",get:function(){return this.tokens[this.position+1]}},{key:"prevToken",get:function(){return this.tokens[this.position-1]}}]),t}();hn.default=zC;fg.exports=hn.default});var dg=x((mn,pg)=>{u();"use strict";mn.__esModule=!0;mn.default=void 0;var jC=UC(cg());function UC(t){return t&&t.__esModule?t:{default:t}}var HC=function(){function t(r,i){this.func=r||function(){},this.funcRes=null,this.options=i}var e=t.prototype;return e._shouldUpdateSelector=function(i,n){n===void 0&&(n={});var s=Object.assign({},this.options,n);return s.updateSelector===!1?!1:typeof i!="string"},e._isLossy=function(i){i===void 0&&(i={});var n=Object.assign({},this.options,i);return n.lossless===!1},e._root=function(i,n){n===void 0&&(n={});var s=new jC.default(i,this._parseOptions(n));return s.root},e._parseOptions=function(i){return{lossy:this._isLossy(i)}},e._run=function(i,n){var s=this;return n===void 0&&(n={}),new Promise(function(a,o){try{var l=s._root(i,n);Promise.resolve(s.func(l)).then(function(c){var f=void 0;return s._shouldUpdateSelector(i,n)&&(f=l.toString(),i.selector=f),{transform:c,root:l,string:f}}).then(a,o)}catch(c){o(c);return}})},e._runSync=function(i,n){n===void 0&&(n={});var s=this._root(i,n),a=this.func(s);if(a&&typeof a.then=="function")throw new Error("Selector processor returned a promise to a synchronous call.");var o=void 0;return n.updateSelector&&typeof i!="string"&&(o=s.toString(),i.selector=o),{transform:a,root:s,string:o}},e.ast=function(i,n){return this._run(i,n).then(function(s){return s.root})},e.astSync=function(i,n){return this._runSync(i,n).root},e.transform=function(i,n){return this._run(i,n).then(function(s){return s.transform})},e.transformSync=function(i,n){return this._runSync(i,n).transform},e.process=function(i,n){return this._run(i,n).then(function(s){return s.string||s.root.toString()})},e.processSync=function(i,n){var s=this._runSync(i,n);return s.string||s.root.toString()},t}();mn.default=HC;pg.exports=mn.default});var hg=x(he=>{u();"use strict";he.__esModule=!0;he.universal=he.tag=he.string=he.selector=he.root=he.pseudo=he.nesting=he.id=he.comment=he.combinator=he.className=he.attribute=void 0;var VC=st(Fl()),WC=st(Sl()),GC=st(Hl()),QC=st(_l()),YC=st(Tl()),KC=st(Wl()),XC=st(Dl()),ZC=st(yl()),JC=st(vl()),eO=st(Rl()),tO=st(Ol()),rO=st(jl());function st(t){return t&&t.__esModule?t:{default:t}}var iO=function(e){return new VC.default(e)};he.attribute=iO;var nO=function(e){return new WC.default(e)};he.className=nO;var sO=function(e){return new GC.default(e)};he.combinator=sO;var aO=function(e){return new QC.default(e)};he.comment=aO;var oO=function(e){return new YC.default(e)};he.id=oO;var lO=function(e){return new KC.default(e)};he.nesting=lO;var uO=function(e){return new XC.default(e)};he.pseudo=uO;var fO=function(e){return new ZC.default(e)};he.root=fO;var cO=function(e){return new JC.default(e)};he.selector=cO;var pO=function(e){return new eO.default(e)};he.string=pO;var dO=function(e){return new tO.default(e)};he.tag=dO;var hO=function(e){return new rO.default(e)};he.universal=hO});var wg=x(se=>{u();"use strict";se.__esModule=!0;se.isComment=se.isCombinator=se.isClassName=se.isAttribute=void 0;se.isContainer=TO;se.isIdentifier=void 0;se.isNamespace=EO;se.isNesting=void 0;se.isNode=ru;se.isPseudo=void 0;se.isPseudoClass=AO;se.isPseudoElement=yg;se.isUniversal=se.isTag=se.isString=se.isSelector=se.isRoot=void 0;var Se=Me(),He,mO=(He={},He[Se.ATTRIBUTE]=!0,He[Se.CLASS]=!0,He[Se.COMBINATOR]=!0,He[Se.COMMENT]=!0,He[Se.ID]=!0,He[Se.NESTING]=!0,He[Se.PSEUDO]=!0,He[Se.ROOT]=!0,He[Se.SELECTOR]=!0,He[Se.STRING]=!0,He[Se.TAG]=!0,He[Se.UNIVERSAL]=!0,He);function ru(t){return typeof t=="object"&&mO[t.type]}function at(t,e){return ru(e)&&e.type===t}var mg=at.bind(null,Se.ATTRIBUTE);se.isAttribute=mg;var gO=at.bind(null,Se.CLASS);se.isClassName=gO;var yO=at.bind(null,Se.COMBINATOR);se.isCombinator=yO;var wO=at.bind(null,Se.COMMENT);se.isComment=wO;var vO=at.bind(null,Se.ID);se.isIdentifier=vO;var bO=at.bind(null,Se.NESTING);se.isNesting=bO;var iu=at.bind(null,Se.PSEUDO);se.isPseudo=iu;var xO=at.bind(null,Se.ROOT);se.isRoot=xO;var SO=at.bind(null,Se.SELECTOR);se.isSelector=SO;var kO=at.bind(null,Se.STRING);se.isString=kO;var gg=at.bind(null,Se.TAG);se.isTag=gg;var _O=at.bind(null,Se.UNIVERSAL);se.isUniversal=_O;function yg(t){return iu(t)&&t.value&&(t.value.startsWith("::")||t.value.toLowerCase()===":before"||t.value.toLowerCase()===":after"||t.value.toLowerCase()===":first-letter"||t.value.toLowerCase()===":first-line")}function AO(t){return iu(t)&&!yg(t)}function TO(t){return!!(ru(t)&&t.walk)}function EO(t){return mg(t)||gg(t)}});var vg=x(gt=>{u();"use strict";gt.__esModule=!0;var nu=Me();Object.keys(nu).forEach(function(t){t==="default"||t==="__esModule"||t in gt&&gt[t]===nu[t]||(gt[t]=nu[t])});var su=hg();Object.keys(su).forEach(function(t){t==="default"||t==="__esModule"||t in gt&&gt[t]===su[t]||(gt[t]=su[t])});var au=wg();Object.keys(au).forEach(function(t){t==="default"||t==="__esModule"||t in gt&&gt[t]===au[t]||(gt[t]=au[t])})});var _t=x((gn,xg)=>{u();"use strict";gn.__esModule=!0;gn.default=void 0;var CO=RO(dg()),OO=PO(vg());function bg(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(bg=function(n){return n?r:e})(t)}function PO(t,e){if(!e&&t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=bg(e);if(r&&r.has(t))return r.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if(s!=="default"&&Object.prototype.hasOwnProperty.call(t,s)){var a=n?Object.getOwnPropertyDescriptor(t,s):null;a&&(a.get||a.set)?Object.defineProperty(i,s,a):i[s]=t[s]}return i.default=t,r&&r.set(t,i),i}function RO(t){return t&&t.__esModule?t:{default:t}}var ou=function(e){return new CO.default(e)};Object.assign(ou,OO);delete ou.__esModule;var IO=ou;gn.default=IO;xg.exports=gn.default});function Nt(t){return["fontSize","outline"].includes(t)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e[0]),e):t==="fontFamily"?e=>{typeof e=="function"&&(e=e({}));let r=Array.isArray(e)&&Be(e[1])?e[0]:e;return Array.isArray(r)?r.join(", "):r}:["boxShadow","transitionProperty","transitionDuration","transitionDelay","transitionTimingFunction","backgroundImage","backgroundSize","backgroundColor","cursor","animation"].includes(t)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e.join(", ")),e):["gridTemplateColumns","gridTemplateRows","objectPosition"].includes(t)?e=>(typeof e=="function"&&(e=e({})),typeof e=="string"&&(e=le.list.comma(e).join(" ")),e):(e,r={})=>(typeof e=="function"&&(e=e(r)),e)}var yn=D(()=>{u();rr();qr()});var Cg=x((V8,pu)=>{u();var{AtRule:DO,Rule:Sg}=Ze(),kg=_t();function lu(t,e){let r;try{kg(i=>{r=i}).processSync(t)}catch(i){throw t.includes(":")?e?e.error("Missed semicolon"):i:e?e.error(i.message):i}return r.at(0)}function _g(t,e){let r=!1;return t.each(i=>{if(i.type==="nesting"){let n=e.clone({});i.value!=="&"?i.replaceWith(lu(i.value.replace("&",n.toString()))):i.replaceWith(n),r=!0}else"nodes"in i&&i.nodes&&_g(i,e)&&(r=!0)}),r}function Ag(t,e){let r=[];return t.selectors.forEach(i=>{let n=lu(i,t);e.selectors.forEach(s=>{if(!s)return;let a=lu(s,e);_g(a,n)||(a.prepend(kg.combinator({value:" "})),a.prepend(n.clone({}))),r.push(a.toString())})}),r}function ua(t,e){let r=t.prev();for(e.after(t);r&&r.type==="comment";){let i=r.prev();e.after(r),r=i}return t}function qO(t){return function e(r,i,n,s=n){let a=[];if(i.each(o=>{o.type==="rule"&&n?s&&(o.selectors=Ag(r,o)):o.type==="atrule"&&o.nodes?t[o.name]?e(r,o,s):i[fu]!==!1&&a.push(o):a.push(o)}),n&&a.length){let o=r.clone({nodes:[]});for(let l of a)o.append(l);i.prepend(o)}}}function uu(t,e,r){let i=new Sg({nodes:[],selector:t});return i.append(e),r.after(i),i}function Tg(t,e){let r={};for(let i of t)r[i]=!0;if(e)for(let i of e)r[i.replace(/^@/,"")]=!0;return r}function LO(t){t=t.trim();let e=t.match(/^\((.*)\)$/);if(!e)return{selector:t,type:"basic"};let r=e[1].match(/^(with(?:out)?):(.+)$/);if(r){let i=r[1]==="with",n=Object.fromEntries(r[2].trim().split(/\s+/).map(a=>[a,!0]));if(i&&n.all)return{type:"noop"};let s=a=>!!n[a];return n.all?s=()=>!0:i&&(s=a=>a==="all"?!1:!n[a]),{escapes:s,type:"withrules"}}return{type:"unknown"}}function BO(t){let e=[],r=t.parent;for(;r&&r instanceof DO;)e.push(r),r=r.parent;return e}function MO(t){let e=t[Eg];if(!e)t.after(t.nodes);else{let r=t.nodes,i,n=-1,s,a,o,l=BO(t);if(l.forEach((c,f)=>{if(e(c.name))i=c,n=f,a=o;else{let d=o;o=c.clone({nodes:[]}),d&&o.append(d),s=s||o}}),i?a?(s.append(r),i.after(a)):i.after(r):t.after(r),t.next()&&i){let c;l.slice(0,n+1).forEach((f,d,p)=>{let m=c;c=f.clone({nodes:[]}),m&&c.append(m);let w=[],v=(p[d-1]||t).next();for(;v;)w.push(v),v=v.next();c.append(w)}),c&&(a||r[r.length-1]).after(c)}}t.remove()}var fu=Symbol("rootRuleMergeSel"),Eg=Symbol("rootRuleEscapes");function NO(t){let{params:e}=t,{escapes:r,selector:i,type:n}=LO(e);if(n==="unknown")throw t.error(`Unknown @${t.name} parameter ${JSON.stringify(e)}`);if(n==="basic"&&i){let s=new Sg({nodes:t.nodes,selector:i});t.removeAll(),t.append(s)}t[Eg]=r,t[fu]=r?!r("all"):n==="noop"}var cu=Symbol("hasRootRule");pu.exports=(t={})=>{let e=Tg(["media","supports","layer","container","starting-style"],t.bubble),r=qO(e),i=Tg(["document","font-face","keyframes","-webkit-keyframes","-moz-keyframes"],t.unwrap),n=(t.rootRuleName||"at-root").replace(/^@/,""),s=t.preserveEmpty;return{Once(a){a.walkAtRules(n,o=>{NO(o),a[cu]=!0})},postcssPlugin:"postcss-nested",RootExit(a){a[cu]&&(a.walkAtRules(n,MO),a[cu]=!1)},Rule(a){let o=!1,l=a,c=!1,f=[];a.each(d=>{d.type==="rule"?(f.length&&(l=uu(a.selector,f,l),f=[]),c=!0,o=!0,d.selectors=Ag(a,d),l=ua(d,l)):d.type==="atrule"?(f.length&&(l=uu(a.selector,f,l),f=[]),d.name===n?(o=!0,r(a,d,!0,d[fu]),l=ua(d,l)):e[d.name]?(c=!0,o=!0,r(a,d,!0),l=ua(d,l)):i[d.name]?(c=!0,o=!0,r(a,d,!1),l=ua(d,l)):c&&f.push(d)):d.type==="decl"&&c&&f.push(d)}),f.length&&(l=uu(a.selector,f,l)),o&&s!==!0&&(a.raws.semicolon=!0,a.nodes.length===0&&a.remove())}}};pu.exports.postcss=!0});var Ig=x((W8,Rg)=>{u();"use strict";var Og=/-(\w|$)/g,Pg=(t,e)=>e.toUpperCase(),$O=t=>(t=t.toLowerCase(),t==="float"?"cssFloat":t.startsWith("-ms-")?t.substr(1).replace(Og,Pg):t.replace(Og,Pg));Rg.exports=$O});var mu=x((G8,Dg)=>{u();var FO=Ig(),zO={boxFlex:!0,boxFlexGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function du(t){return typeof t.nodes=="undefined"?!0:hu(t)}function hu(t){let e,r={};return t.each(i=>{if(i.type==="atrule")e="@"+i.name,i.params&&(e+=" "+i.params),typeof r[e]=="undefined"?r[e]=du(i):Array.isArray(r[e])?r[e].push(du(i)):r[e]=[r[e],du(i)];else if(i.type==="rule"){let n=hu(i);if(r[i.selector])for(let s in n)r[i.selector][s]=n[s];else r[i.selector]=n}else if(i.type==="decl"){i.prop[0]==="-"&&i.prop[1]==="-"||i.parent&&i.parent.selector===":export"?e=i.prop:e=FO(i.prop);let n=i.value;!isNaN(i.value)&&zO[e]&&(n=parseFloat(i.value)),i.important&&(n+=" !important"),typeof r[e]=="undefined"?r[e]=n:Array.isArray(r[e])?r[e].push(n):r[e]=[r[e],n]}}),r}Dg.exports=hu});var fa=x((Q8,Mg)=>{u();var wn=Ze(),qg=/\s*!important\s*$/i,jO={"box-flex":!0,"box-flex-group":!0,"column-count":!0,flex:!0,"flex-grow":!0,"flex-positive":!0,"flex-shrink":!0,"flex-negative":!0,"font-weight":!0,"line-clamp":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,"tab-size":!0,widows:!0,"z-index":!0,zoom:!0,"fill-opacity":!0,"stroke-dashoffset":!0,"stroke-opacity":!0,"stroke-width":!0};function UO(t){return t.replace(/([A-Z])/g,"-$1").replace(/^ms-/,"-ms-").toLowerCase()}function Lg(t,e,r){r===!1||r===null||(e.startsWith("--")||(e=UO(e)),typeof r=="number"&&(r===0||jO[e]?r=r.toString():r+="px"),e==="css-float"&&(e="float"),qg.test(r)?(r=r.replace(qg,""),t.push(wn.decl({prop:e,value:r,important:!0}))):t.push(wn.decl({prop:e,value:r})))}function Bg(t,e,r){let i=wn.atRule({name:e[1],params:e[3]||""});typeof r=="object"&&(i.nodes=[],gu(r,i)),t.push(i)}function gu(t,e){let r,i,n;for(r in t)if(i=t[r],!(i===null||typeof i=="undefined"))if(r[0]==="@"){let s=r.match(/@(\S+)(\s+([\W\w]*)\s*)?/);if(Array.isArray(i))for(let a of i)Bg(e,s,a);else Bg(e,s,i)}else if(Array.isArray(i))for(let s of i)Lg(e,r,s);else typeof i=="object"?(n=wn.rule({selector:r}),gu(i,n),e.push(n)):Lg(e,r,i)}Mg.exports=function(t){let e=wn.root();return gu(t,e),e}});var yu=x((Y8,Ng)=>{u();var HO=mu();Ng.exports=function(e){return console&&console.warn&&e.warnings().forEach(r=>{let i=r.plugin||"PostCSS";console.warn(i+": "+r.text)}),HO(e.root)}});var Fg=x((K8,$g)=>{u();var VO=Ze(),WO=yu(),GO=fa();$g.exports=function(e){let r=VO(e);return async i=>{let n=await r.process(i,{parser:GO,from:void 0});return WO(n)}}});var jg=x((X8,zg)=>{u();var QO=Ze(),YO=yu(),KO=fa();zg.exports=function(t){let e=QO(t);return r=>{let i=e.process(r,{parser:KO,from:void 0});return YO(i)}}});var Hg=x((Z8,Ug)=>{u();var XO=mu(),ZO=fa(),JO=Fg(),eP=jg();Ug.exports={objectify:XO,parse:ZO,async:JO,sync:eP}});var Vr,Vg,J8,ez,tz,rz,Wg=D(()=>{u();Vr=Te(Hg()),Vg=Vr.default,J8=Vr.default.objectify,ez=Vr.default.parse,tz=Vr.default.async,rz=Vr.default.sync});function Wr(t){return Array.isArray(t)?t.flatMap(e=>le([(0,Gg.default)({bubble:["screen"]})]).process(e,{parser:Vg}).root.nodes):Wr([t])}var Gg,wu=D(()=>{u();rr();Gg=Te(Cg());Wg()});function Gr(t,e,r=!1){if(t==="")return e;let i=typeof e=="string"?(0,Qg.default)().astSync(e):e;return i.walkClasses(n=>{let s=n.value,a=r&&s.startsWith("-");n.value=a?`-${t}${s.slice(1)}`:`${t}${s}`}),typeof e=="string"?i.toString():i}var Qg,ca=D(()=>{u();Qg=Te(_t())});function Ve(t){let e=Yg.default.className();return e.value=t,gr(e?.raws?.value??e.value)}var Yg,Qr=D(()=>{u();Yg=Te(_t());ws()});function vu(t){return gr(`.${Ve(t)}`)}function pa(t,e){return vu(vn(t,e))}function vn(t,e){return e==="DEFAULT"?t:e==="-"||e==="-DEFAULT"?`-${t}`:e.startsWith("-")?`-${t}${e}`:e.startsWith("/")?`${t}${e}`:`${t}-${e}`}var bu=D(()=>{u();Qr();ws()});function U(t,e=[[t,[t]]],{filterDefault:r=!1,...i}={}){let n=Nt(t);return function({matchUtilities:s,theme:a}){for(let o of e){let l=Array.isArray(o[0])?o:[o];s(l.reduce((c,[f,d])=>Object.assign(c,{[f]:p=>d.reduce((m,w)=>Array.isArray(w)?Object.assign(m,{[w[0]]:w[1]}):Object.assign(m,{[w]:n(p)}),{})}),{}),{...i,values:r?Object.fromEntries(Object.entries(a(t)??{}).filter(([c])=>c!=="DEFAULT")):a(t)})}}}var Kg=D(()=>{u();yn()});function ir(t){return t=Array.isArray(t)?t:[t],t.map(e=>{let r=e.values.map(i=>i.raw!==void 0?i.raw:[i.min&&`(min-width: ${i.min})`,i.max&&`(max-width: ${i.max})`].filter(Boolean).join(" and "));return e.not?`not all and ${r}`:r}).join(", ")}var da=D(()=>{u()});function xu(t){return t.split(oP).map(r=>{let i=r.trim(),n={value:i},s=i.split(lP),a=new Set;for(let o of s)!a.has("DIRECTIONS")&&tP.has(o)?(n.direction=o,a.add("DIRECTIONS")):!a.has("PLAY_STATES")&&rP.has(o)?(n.playState=o,a.add("PLAY_STATES")):!a.has("FILL_MODES")&&iP.has(o)?(n.fillMode=o,a.add("FILL_MODES")):!a.has("ITERATION_COUNTS")&&(nP.has(o)||uP.test(o))?(n.iterationCount=o,a.add("ITERATION_COUNTS")):!a.has("TIMING_FUNCTION")&&sP.has(o)||!a.has("TIMING_FUNCTION")&&aP.some(l=>o.startsWith(`${l}(`))?(n.timingFunction=o,a.add("TIMING_FUNCTION")):!a.has("DURATION")&&Xg.test(o)?(n.duration=o,a.add("DURATION")):!a.has("DELAY")&&Xg.test(o)?(n.delay=o,a.add("DELAY")):a.has("NAME")?(n.unknown||(n.unknown=[]),n.unknown.push(o)):(n.name=o,a.add("NAME"));return n})}var tP,rP,iP,nP,sP,aP,oP,lP,Xg,uP,Zg=D(()=>{u();tP=new Set(["normal","reverse","alternate","alternate-reverse"]),rP=new Set(["running","paused"]),iP=new Set(["none","forwards","backwards","both"]),nP=new Set(["infinite"]),sP=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),aP=["cubic-bezier","steps"],oP=/\,(?![^(]*\))/g,lP=/\ +(?![^(]*\))/g,Xg=/^(-?[\d.]+m?s)$/,uP=/^(\d+)$/});var Jg,Le,ey=D(()=>{u();Jg=t=>Object.assign({},...Object.entries(t??{}).flatMap(([e,r])=>typeof r=="object"?Object.entries(Jg(r)).map(([i,n])=>({[e+(i==="DEFAULT"?"":`-${i}`)]:n})):[{[`${e}`]:r}])),Le=Jg});var ry,ty=D(()=>{ry="3.4.16"});function nr(t,e=!0){return Array.isArray(t)?t.map(r=>{if(e&&Array.isArray(r))throw new Error("The tuple syntax is not supported for `screens`.");if(typeof r=="string")return{name:r.toString(),not:!1,values:[{min:r,max:void 0}]};let[i,n]=r;return i=i.toString(),typeof n=="string"?{name:i,not:!1,values:[{min:n,max:void 0}]}:Array.isArray(n)?{name:i,not:!1,values:n.map(s=>ny(s))}:{name:i,not:!1,values:[ny(n)]}}):nr(Object.entries(t??{}),!1)}function ha(t){return t.values.length!==1?{result:!1,reason:"multiple-values"}:t.values[0].raw!==void 0?{result:!1,reason:"raw-values"}:t.values[0].min!==void 0&&t.values[0].max!==void 0?{result:!1,reason:"min-and-max"}:{result:!0,reason:null}}function iy(t,e,r){let i=ma(e,t),n=ma(r,t),s=ha(i),a=ha(n);if(s.reason==="multiple-values"||a.reason==="multiple-values")throw new Error("Attempted to sort a screen with multiple values. This should never happen. Please open a bug report.");if(s.reason==="raw-values"||a.reason==="raw-values")throw new Error("Attempted to sort a screen with raw values. This should never happen. Please open a bug report.");if(s.reason==="min-and-max"||a.reason==="min-and-max")throw new Error("Attempted to sort a screen with both min and max values. This should never happen. Please open a bug report.");let{min:o,max:l}=i.values[0],{min:c,max:f}=n.values[0];e.not&&([o,l]=[l,o]),r.not&&([c,f]=[f,c]),o=o===void 0?o:parseFloat(o),l=l===void 0?l:parseFloat(l),c=c===void 0?c:parseFloat(c),f=f===void 0?f:parseFloat(f);let[d,p]=t==="min"?[o,c]:[f,l];return d-p}function ma(t,e){return typeof t=="object"?t:{name:"arbitrary-screen",values:[{[e]:t}]}}function ny({"min-width":t,min:e=t,max:r,raw:i}={}){return{min:e,max:r,raw:i}}var ga=D(()=>{u()});function ya(t,e){t.walkDecls(r=>{if(e.includes(r.prop)){r.remove();return}for(let i of e)r.value.includes(`/ var(${i})`)?r.value=r.value.replace(`/ var(${i})`,""):r.value.includes(`/ var(${i}, 1)`)&&(r.value=r.value.replace(`/ var(${i}, 1)`,""))})}var sy=D(()=>{u()});var me,yt,At,Pe,ay,oy=D(()=>{u();Dt();xt();rr();Kg();da();Qr();Zg();ey();Ei();Fo();qr();yn();ty();rt();ga();Do();sy();qt();Pi();bn();me={childVariant:({addVariant:t})=>{t("*","& > *")},pseudoElementVariants:({addVariant:t})=>{t("first-letter","&::first-letter"),t("first-line","&::first-line"),t("marker",[({container:e})=>(ya(e,["--tw-text-opacity"]),"& *::marker"),({container:e})=>(ya(e,["--tw-text-opacity"]),"&::marker")]),t("selection",["& *::selection","&::selection"]),t("file","&::file-selector-button"),t("placeholder","&::placeholder"),t("backdrop","&::backdrop"),t("before",({container:e})=>(e.walkRules(r=>{let i=!1;r.walkDecls("content",()=>{i=!0}),i||r.prepend(le.decl({prop:"content",value:"var(--tw-content)"}))}),"&::before")),t("after",({container:e})=>(e.walkRules(r=>{let i=!1;r.walkDecls("content",()=>{i=!0}),i||r.prepend(le.decl({prop:"content",value:"var(--tw-content)"}))}),"&::after"))},pseudoClassVariants:({addVariant:t,matchVariant:e,config:r,prefix:i})=>{let n=[["first","&:first-child"],["last","&:last-child"],["only","&:only-child"],["odd","&:nth-child(odd)"],["even","&:nth-child(even)"],"first-of-type","last-of-type","only-of-type",["visited",({container:a})=>(ya(a,["--tw-text-opacity","--tw-border-opacity","--tw-bg-opacity"]),"&:visited")],"target",["open","&[open]"],"default","checked","indeterminate","placeholder-shown","autofill","optional","required","valid","invalid","in-range","out-of-range","read-only","empty","focus-within",["hover",De(r(),"hoverOnlyWhenSupported")?"@media (hover: hover) and (pointer: fine) { &:hover }":"&:hover"],"focus","focus-visible","active","enabled","disabled"].map(a=>Array.isArray(a)?a:[a,`&:${a}`]);for(let[a,o]of n)t(a,l=>typeof o=="function"?o(l):o);let s={group:(a,{modifier:o})=>o?[`:merge(${i(".group")}\\/${Ve(o)})`," &"]:[`:merge(${i(".group")})`," &"],peer:(a,{modifier:o})=>o?[`:merge(${i(".peer")}\\/${Ve(o)})`," ~ &"]:[`:merge(${i(".peer")})`," ~ &"]};for(let[a,o]of Object.entries(s))e(a,(l="",c)=>{let f=ie(typeof l=="function"?l(c):l);f.includes("&")||(f="&"+f);let[d,p]=o("",c),m=null,w=null,S=0;for(let v=0;v<f.length;++v){let b=f[v];b==="&"?m=v:b==="'"||b==='"'?S+=1:m!==null&&b===" "&&!S&&(w=v)}return m!==null&&w===null&&(w=f.length),f.slice(0,m)+d+f.slice(m+1,w)+p+f.slice(w)},{values:Object.fromEntries(n),[sr]:{respectPrefix:!1}})},directionVariants:({addVariant:t})=>{t("ltr",'&:where([dir="ltr"], [dir="ltr"] *)'),t("rtl",'&:where([dir="rtl"], [dir="rtl"] *)')},reducedMotionVariants:({addVariant:t})=>{t("motion-safe","@media (prefers-reduced-motion: no-preference)"),t("motion-reduce","@media (prefers-reduced-motion: reduce)")},darkVariants:({config:t,addVariant:e})=>{let[r,i=".dark"]=[].concat(t("darkMode","media"));if(r===!1&&(r="media",te.warn("darkmode-false",["The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.","Change `darkMode` to `media` or remove it entirely.","https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration"])),r==="variant"){let n;if(Array.isArray(i)||typeof i=="function"?n=i:typeof i=="string"&&(n=[i]),Array.isArray(n))for(let s of n)s===".dark"?(r=!1,te.warn("darkmode-variant-without-selector",["When using `variant` for `darkMode`, you must provide a selector.",'Example: `darkMode: ["variant", ".your-selector &"]`'])):s.includes("&")||(r=!1,te.warn("darkmode-variant-without-ampersand",["When using `variant` for `darkMode`, your selector must contain `&`.",'Example `darkMode: ["variant", ".your-selector &"]`']));i=n}r==="selector"?e("dark",`&:where(${i}, ${i} *)`):r==="media"?e("dark","@media (prefers-color-scheme: dark)"):r==="variant"?e("dark",i):r==="class"&&e("dark",`&:is(${i} *)`)},printVariant:({addVariant:t})=>{t("print","@media print")},screenVariants:({theme:t,addVariant:e,matchVariant:r})=>{let i=t("screens")??{},n=Object.values(i).every(b=>typeof b=="string"),s=nr(t("screens")),a=new Set([]);function o(b){return b.match(/(\D+)$/)?.[1]??"(none)"}function l(b){b!==void 0&&a.add(o(b))}function c(b){return l(b),a.size===1}for(let b of s)for(let _ of b.values)l(_.min),l(_.max);let f=a.size<=1;function d(b){return Object.fromEntries(s.filter(_=>ha(_).result).map(_=>{let{min:A,max:O}=_.values[0];if(b==="min"&&A!==void 0)return _;if(b==="min"&&O!==void 0)return{..._,not:!_.not};if(b==="max"&&O!==void 0)return _;if(b==="max"&&A!==void 0)return{..._,not:!_.not}}).map(_=>[_.name,_]))}function p(b){return(_,A)=>iy(b,_.value,A.value)}let m=p("max"),w=p("min");function S(b){return _=>{if(n)if(f){if(typeof _=="string"&&!c(_))return te.warn("minmax-have-mixed-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[]}else return te.warn("mixed-screen-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[];else return te.warn("complex-screen-config",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing objects."]),[];return[`@media ${ir(ma(_,b))}`]}}r("max",S("max"),{sort:m,values:n?d("max"):{}});let v="min-screens";for(let b of s)e(b.name,`@media ${ir(b)}`,{id:v,sort:n&&f?w:void 0,value:b});r("min",S("min"),{id:v,sort:w})},supportsVariants:({matchVariant:t,theme:e})=>{t("supports",(r="")=>{let i=ie(r),n=/^\w*\s*\(/.test(i);return i=n?i.replace(/\b(and|or|not)\b/g," $1 "):i,n?`@supports ${i}`:(i.includes(":")||(i=`${i}: var(--tw)`),i.startsWith("(")&&i.endsWith(")")||(i=`(${i})`),`@supports ${i}`)},{values:e("supports")??{}})},hasVariants:({matchVariant:t,prefix:e})=>{t("has",r=>`&:has(${ie(r)})`,{values:{},[sr]:{respectPrefix:!1}}),t("group-has",(r,{modifier:i})=>i?`:merge(${e(".group")}\\/${i}):has(${ie(r)}) &`:`:merge(${e(".group")}):has(${ie(r)}) &`,{values:{},[sr]:{respectPrefix:!1}}),t("peer-has",(r,{modifier:i})=>i?`:merge(${e(".peer")}\\/${i}):has(${ie(r)}) ~ &`:`:merge(${e(".peer")}):has(${ie(r)}) ~ &`,{values:{},[sr]:{respectPrefix:!1}})},ariaVariants:({matchVariant:t,theme:e})=>{t("aria",r=>`&[aria-${mt(ie(r))}]`,{values:e("aria")??{}}),t("group-aria",(r,{modifier:i})=>i?`:merge(.group\\/${i})[aria-${mt(ie(r))}] &`:`:merge(.group)[aria-${mt(ie(r))}] &`,{values:e("aria")??{}}),t("peer-aria",(r,{modifier:i})=>i?`:merge(.peer\\/${i})[aria-${mt(ie(r))}] ~ &`:`:merge(.peer)[aria-${mt(ie(r))}] ~ &`,{values:e("aria")??{}})},dataVariants:({matchVariant:t,theme:e})=>{t("data",r=>`&[data-${mt(ie(r))}]`,{values:e("data")??{}}),t("group-data",(r,{modifier:i})=>i?`:merge(.group\\/${i})[data-${mt(ie(r))}] &`:`:merge(.group)[data-${mt(ie(r))}] &`,{values:e("data")??{}}),t("peer-data",(r,{modifier:i})=>i?`:merge(.peer\\/${i})[data-${mt(ie(r))}] ~ &`:`:merge(.peer)[data-${mt(ie(r))}] ~ &`,{values:e("data")??{}})},orientationVariants:({addVariant:t})=>{t("portrait","@media (orientation: portrait)"),t("landscape","@media (orientation: landscape)")},prefersContrastVariants:({addVariant:t})=>{t("contrast-more","@media (prefers-contrast: more)"),t("contrast-less","@media (prefers-contrast: less)")},forcedColorsVariants:({addVariant:t})=>{t("forced-colors","@media (forced-colors: active)")}},yt=["translate(var(--tw-translate-x), var(--tw-translate-y))","rotate(var(--tw-rotate))","skewX(var(--tw-skew-x))","skewY(var(--tw-skew-y))","scaleX(var(--tw-scale-x))","scaleY(var(--tw-scale-y))"].join(" "),At=["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(" "),Pe=["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(" "),ay={preflight:({addBase:t})=>{let e=le.parse(`*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings', normal);-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:theme('fontFamily.mono[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.mono[1].fontVariationSettings', normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}`);t([le.comment({text:`! tailwindcss v${ry} | MIT License | https://tailwindcss.com`}),...e.nodes])},container:(()=>{function t(r=[]){return r.flatMap(i=>i.values.map(n=>n.min)).filter(i=>i!==void 0)}function e(r,i,n){if(typeof n=="undefined")return[];if(!(typeof n=="object"&&n!==null))return[{screen:"DEFAULT",minWidth:0,padding:n}];let s=[];n.DEFAULT&&s.push({screen:"DEFAULT",minWidth:0,padding:n.DEFAULT});for(let a of r)for(let o of i)for(let{min:l}of o.values)l===a&&s.push({minWidth:a,padding:n[o.name]});return s}return function({addComponents:r,theme:i}){let n=nr(i("container.screens",i("screens"))),s=t(n),a=e(s,n,i("container.padding")),o=c=>{let f=a.find(d=>d.minWidth===c);return f?{paddingRight:f.padding,paddingLeft:f.padding}:{}},l=Array.from(new Set(s.slice().sort((c,f)=>parseInt(c)-parseInt(f)))).map(c=>({[`@media (min-width: ${c})`]:{".container":{"max-width":c,...o(c)}}}));r([{".container":Object.assign({width:"100%"},i("container.center",!1)?{marginRight:"auto",marginLeft:"auto"}:{},o(0))},...l])}})(),accessibility:({addUtilities:t})=>{t({".sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},".not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",clip:"auto",whiteSpace:"normal"}})},pointerEvents:({addUtilities:t})=>{t({".pointer-events-none":{"pointer-events":"none"},".pointer-events-auto":{"pointer-events":"auto"}})},visibility:({addUtilities:t})=>{t({".visible":{visibility:"visible"},".invisible":{visibility:"hidden"},".collapse":{visibility:"collapse"}})},position:({addUtilities:t})=>{t({".static":{position:"static"},".fixed":{position:"fixed"},".absolute":{position:"absolute"},".relative":{position:"relative"},".sticky":{position:"sticky"}})},inset:U("inset",[["inset",["inset"]],[["inset-x",["left","right"]],["inset-y",["top","bottom"]]],[["start",["inset-inline-start"]],["end",["inset-inline-end"]],["top",["top"]],["right",["right"]],["bottom",["bottom"]],["left",["left"]]]],{supportsNegativeValues:!0}),isolation:({addUtilities:t})=>{t({".isolate":{isolation:"isolate"},".isolation-auto":{isolation:"auto"}})},zIndex:U("zIndex",[["z",["zIndex"]]],{supportsNegativeValues:!0}),order:U("order",void 0,{supportsNegativeValues:!0}),gridColumn:U("gridColumn",[["col",["gridColumn"]]]),gridColumnStart:U("gridColumnStart",[["col-start",["gridColumnStart"]]],{supportsNegativeValues:!0}),gridColumnEnd:U("gridColumnEnd",[["col-end",["gridColumnEnd"]]],{supportsNegativeValues:!0}),gridRow:U("gridRow",[["row",["gridRow"]]]),gridRowStart:U("gridRowStart",[["row-start",["gridRowStart"]]],{supportsNegativeValues:!0}),gridRowEnd:U("gridRowEnd",[["row-end",["gridRowEnd"]]],{supportsNegativeValues:!0}),float:({addUtilities:t})=>{t({".float-start":{float:"inline-start"},".float-end":{float:"inline-end"},".float-right":{float:"right"},".float-left":{float:"left"},".float-none":{float:"none"}})},clear:({addUtilities:t})=>{t({".clear-start":{clear:"inline-start"},".clear-end":{clear:"inline-end"},".clear-left":{clear:"left"},".clear-right":{clear:"right"},".clear-both":{clear:"both"},".clear-none":{clear:"none"}})},margin:U("margin",[["m",["margin"]],[["mx",["margin-left","margin-right"]],["my",["margin-top","margin-bottom"]]],[["ms",["margin-inline-start"]],["me",["margin-inline-end"]],["mt",["margin-top"]],["mr",["margin-right"]],["mb",["margin-bottom"]],["ml",["margin-left"]]]],{supportsNegativeValues:!0}),boxSizing:({addUtilities:t})=>{t({".box-border":{"box-sizing":"border-box"},".box-content":{"box-sizing":"content-box"}})},lineClamp:({matchUtilities:t,addUtilities:e,theme:r})=>{t({"line-clamp":i=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":`${i}`})},{values:r("lineClamp")}),e({".line-clamp-none":{overflow:"visible",display:"block","-webkit-box-orient":"horizontal","-webkit-line-clamp":"none"}})},display:({addUtilities:t})=>{t({".block":{display:"block"},".inline-block":{display:"inline-block"},".inline":{display:"inline"},".flex":{display:"flex"},".inline-flex":{display:"inline-flex"},".table":{display:"table"},".inline-table":{display:"inline-table"},".table-caption":{display:"table-caption"},".table-cell":{display:"table-cell"},".table-column":{display:"table-column"},".table-column-group":{display:"table-column-group"},".table-footer-group":{display:"table-footer-group"},".table-header-group":{display:"table-header-group"},".table-row-group":{display:"table-row-group"},".table-row":{display:"table-row"},".flow-root":{display:"flow-root"},".grid":{display:"grid"},".inline-grid":{display:"inline-grid"},".contents":{display:"contents"},".list-item":{display:"list-item"},".hidden":{display:"none"}})},aspectRatio:U("aspectRatio",[["aspect",["aspect-ratio"]]]),size:U("size",[["size",["width","height"]]]),height:U("height",[["h",["height"]]]),maxHeight:U("maxHeight",[["max-h",["maxHeight"]]]),minHeight:U("minHeight",[["min-h",["minHeight"]]]),width:U("width",[["w",["width"]]]),minWidth:U("minWidth",[["min-w",["minWidth"]]]),maxWidth:U("maxWidth",[["max-w",["maxWidth"]]]),flex:U("flex"),flexShrink:U("flexShrink",[["flex-shrink",["flex-shrink"]],["shrink",["flex-shrink"]]]),flexGrow:U("flexGrow",[["flex-grow",["flex-grow"]],["grow",["flex-grow"]]]),flexBasis:U("flexBasis",[["basis",["flex-basis"]]]),tableLayout:({addUtilities:t})=>{t({".table-auto":{"table-layout":"auto"},".table-fixed":{"table-layout":"fixed"}})},captionSide:({addUtilities:t})=>{t({".caption-top":{"caption-side":"top"},".caption-bottom":{"caption-side":"bottom"}})},borderCollapse:({addUtilities:t})=>{t({".border-collapse":{"border-collapse":"collapse"},".border-separate":{"border-collapse":"separate"}})},borderSpacing:({addDefaults:t,matchUtilities:e,theme:r})=>{t("border-spacing",{"--tw-border-spacing-x":0,"--tw-border-spacing-y":0}),e({"border-spacing":i=>({"--tw-border-spacing-x":i,"--tw-border-spacing-y":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-x":i=>({"--tw-border-spacing-x":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-y":i=>({"--tw-border-spacing-y":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"})},{values:r("borderSpacing")})},transformOrigin:U("transformOrigin",[["origin",["transformOrigin"]]]),translate:U("translate",[[["translate-x",[["@defaults transform",{}],"--tw-translate-x",["transform",yt]]],["translate-y",[["@defaults transform",{}],"--tw-translate-y",["transform",yt]]]]],{supportsNegativeValues:!0}),rotate:U("rotate",[["rotate",[["@defaults transform",{}],"--tw-rotate",["transform",yt]]]],{supportsNegativeValues:!0}),skew:U("skew",[[["skew-x",[["@defaults transform",{}],"--tw-skew-x",["transform",yt]]],["skew-y",[["@defaults transform",{}],"--tw-skew-y",["transform",yt]]]]],{supportsNegativeValues:!0}),scale:U("scale",[["scale",[["@defaults transform",{}],"--tw-scale-x","--tw-scale-y",["transform",yt]]],[["scale-x",[["@defaults transform",{}],"--tw-scale-x",["transform",yt]]],["scale-y",[["@defaults transform",{}],"--tw-scale-y",["transform",yt]]]]],{supportsNegativeValues:!0}),transform:({addDefaults:t,addUtilities:e})=>{t("transform",{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1"}),e({".transform":{"@defaults transform":{},transform:yt},".transform-cpu":{transform:yt},".transform-gpu":{transform:yt.replace("translate(var(--tw-translate-x), var(--tw-translate-y))","translate3d(var(--tw-translate-x), var(--tw-translate-y), 0)")},".transform-none":{transform:"none"}})},animation:({matchUtilities:t,theme:e,config:r})=>{let i=s=>Ve(r("prefix")+s),n=Object.fromEntries(Object.entries(e("keyframes")??{}).map(([s,a])=>[s,{[`@keyframes ${i(s)}`]:a}]));t({animate:s=>{let a=xu(s);return[...a.flatMap(o=>n[o.name]),{animation:a.map(({name:o,value:l})=>o===void 0||n[o]===void 0?l:l.replace(o,i(o))).join(", ")}]}},{values:e("animation")})},cursor:U("cursor"),touchAction:({addDefaults:t,addUtilities:e})=>{t("touch-action",{"--tw-pan-x":" ","--tw-pan-y":" ","--tw-pinch-zoom":" "});let r="var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)";e({".touch-auto":{"touch-action":"auto"},".touch-none":{"touch-action":"none"},".touch-pan-x":{"@defaults touch-action":{},"--tw-pan-x":"pan-x","touch-action":r},".touch-pan-left":{"@defaults touch-action":{},"--tw-pan-x":"pan-left","touch-action":r},".touch-pan-right":{"@defaults touch-action":{},"--tw-pan-x":"pan-right","touch-action":r},".touch-pan-y":{"@defaults touch-action":{},"--tw-pan-y":"pan-y","touch-action":r},".touch-pan-up":{"@defaults touch-action":{},"--tw-pan-y":"pan-up","touch-action":r},".touch-pan-down":{"@defaults touch-action":{},"--tw-pan-y":"pan-down","touch-action":r},".touch-pinch-zoom":{"@defaults touch-action":{},"--tw-pinch-zoom":"pinch-zoom","touch-action":r},".touch-manipulation":{"touch-action":"manipulation"}})},userSelect:({addUtilities:t})=>{t({".select-none":{"user-select":"none"},".select-text":{"user-select":"text"},".select-all":{"user-select":"all"},".select-auto":{"user-select":"auto"}})},resize:({addUtilities:t})=>{t({".resize-none":{resize:"none"},".resize-y":{resize:"vertical"},".resize-x":{resize:"horizontal"},".resize":{resize:"both"}})},scrollSnapType:({addDefaults:t,addUtilities:e})=>{t("scroll-snap-type",{"--tw-scroll-snap-strictness":"proximity"}),e({".snap-none":{"scroll-snap-type":"none"},".snap-x":{"@defaults scroll-snap-type":{},"scroll-snap-type":"x var(--tw-scroll-snap-strictness)"},".snap-y":{"@defaults scroll-snap-type":{},"scroll-snap-type":"y var(--tw-scroll-snap-strictness)"},".snap-both":{"@defaults scroll-snap-type":{},"scroll-snap-type":"both var(--tw-scroll-snap-strictness)"},".snap-mandatory":{"--tw-scroll-snap-strictness":"mandatory"},".snap-proximity":{"--tw-scroll-snap-strictness":"proximity"}})},scrollSnapAlign:({addUtilities:t})=>{t({".snap-start":{"scroll-snap-align":"start"},".snap-end":{"scroll-snap-align":"end"},".snap-center":{"scroll-snap-align":"center"},".snap-align-none":{"scroll-snap-align":"none"}})},scrollSnapStop:({addUtilities:t})=>{t({".snap-normal":{"scroll-snap-stop":"normal"},".snap-always":{"scroll-snap-stop":"always"}})},scrollMargin:U("scrollMargin",[["scroll-m",["scroll-margin"]],[["scroll-mx",["scroll-margin-left","scroll-margin-right"]],["scroll-my",["scroll-margin-top","scroll-margin-bottom"]]],[["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"]]]],{supportsNegativeValues:!0}),scrollPadding:U("scrollPadding",[["scroll-p",["scroll-padding"]],[["scroll-px",["scroll-padding-left","scroll-padding-right"]],["scroll-py",["scroll-padding-top","scroll-padding-bottom"]]],[["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"]]]]),listStylePosition:({addUtilities:t})=>{t({".list-inside":{"list-style-position":"inside"},".list-outside":{"list-style-position":"outside"}})},listStyleType:U("listStyleType",[["list",["listStyleType"]]]),listStyleImage:U("listStyleImage",[["list-image",["listStyleImage"]]]),appearance:({addUtilities:t})=>{t({".appearance-none":{appearance:"none"},".appearance-auto":{appearance:"auto"}})},columns:U("columns",[["columns",["columns"]]]),breakBefore:({addUtilities:t})=>{t({".break-before-auto":{"break-before":"auto"},".break-before-avoid":{"break-before":"avoid"},".break-before-all":{"break-before":"all"},".break-before-avoid-page":{"break-before":"avoid-page"},".break-before-page":{"break-before":"page"},".break-before-left":{"break-before":"left"},".break-before-right":{"break-before":"right"},".break-before-column":{"break-before":"column"}})},breakInside:({addUtilities:t})=>{t({".break-inside-auto":{"break-inside":"auto"},".break-inside-avoid":{"break-inside":"avoid"},".break-inside-avoid-page":{"break-inside":"avoid-page"},".break-inside-avoid-column":{"break-inside":"avoid-column"}})},breakAfter:({addUtilities:t})=>{t({".break-after-auto":{"break-after":"auto"},".break-after-avoid":{"break-after":"avoid"},".break-after-all":{"break-after":"all"},".break-after-avoid-page":{"break-after":"avoid-page"},".break-after-page":{"break-after":"page"},".break-after-left":{"break-after":"left"},".break-after-right":{"break-after":"right"},".break-after-column":{"break-after":"column"}})},gridAutoColumns:U("gridAutoColumns",[["auto-cols",["gridAutoColumns"]]]),gridAutoFlow:({addUtilities:t})=>{t({".grid-flow-row":{gridAutoFlow:"row"},".grid-flow-col":{gridAutoFlow:"column"},".grid-flow-dense":{gridAutoFlow:"dense"},".grid-flow-row-dense":{gridAutoFlow:"row dense"},".grid-flow-col-dense":{gridAutoFlow:"column dense"}})},gridAutoRows:U("gridAutoRows",[["auto-rows",["gridAutoRows"]]]),gridTemplateColumns:U("gridTemplateColumns",[["grid-cols",["gridTemplateColumns"]]]),gridTemplateRows:U("gridTemplateRows",[["grid-rows",["gridTemplateRows"]]]),flexDirection:({addUtilities:t})=>{t({".flex-row":{"flex-direction":"row"},".flex-row-reverse":{"flex-direction":"row-reverse"},".flex-col":{"flex-direction":"column"},".flex-col-reverse":{"flex-direction":"column-reverse"}})},flexWrap:({addUtilities:t})=>{t({".flex-wrap":{"flex-wrap":"wrap"},".flex-wrap-reverse":{"flex-wrap":"wrap-reverse"},".flex-nowrap":{"flex-wrap":"nowrap"}})},placeContent:({addUtilities:t})=>{t({".place-content-center":{"place-content":"center"},".place-content-start":{"place-content":"start"},".place-content-end":{"place-content":"end"},".place-content-between":{"place-content":"space-between"},".place-content-around":{"place-content":"space-around"},".place-content-evenly":{"place-content":"space-evenly"},".place-content-baseline":{"place-content":"baseline"},".place-content-stretch":{"place-content":"stretch"}})},placeItems:({addUtilities:t})=>{t({".place-items-start":{"place-items":"start"},".place-items-end":{"place-items":"end"},".place-items-center":{"place-items":"center"},".place-items-baseline":{"place-items":"baseline"},".place-items-stretch":{"place-items":"stretch"}})},alignContent:({addUtilities:t})=>{t({".content-normal":{"align-content":"normal"},".content-center":{"align-content":"center"},".content-start":{"align-content":"flex-start"},".content-end":{"align-content":"flex-end"},".content-between":{"align-content":"space-between"},".content-around":{"align-content":"space-around"},".content-evenly":{"align-content":"space-evenly"},".content-baseline":{"align-content":"baseline"},".content-stretch":{"align-content":"stretch"}})},alignItems:({addUtilities:t})=>{t({".items-start":{"align-items":"flex-start"},".items-end":{"align-items":"flex-end"},".items-center":{"align-items":"center"},".items-baseline":{"align-items":"baseline"},".items-stretch":{"align-items":"stretch"}})},justifyContent:({addUtilities:t})=>{t({".justify-normal":{"justify-content":"normal"},".justify-start":{"justify-content":"flex-start"},".justify-end":{"justify-content":"flex-end"},".justify-center":{"justify-content":"center"},".justify-between":{"justify-content":"space-between"},".justify-around":{"justify-content":"space-around"},".justify-evenly":{"justify-content":"space-evenly"},".justify-stretch":{"justify-content":"stretch"}})},justifyItems:({addUtilities:t})=>{t({".justify-items-start":{"justify-items":"start"},".justify-items-end":{"justify-items":"end"},".justify-items-center":{"justify-items":"center"},".justify-items-stretch":{"justify-items":"stretch"}})},gap:U("gap",[["gap",["gap"]],[["gap-x",["columnGap"]],["gap-y",["rowGap"]]]]),space:({matchUtilities:t,addUtilities:e,theme:r})=>{t({"space-x":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"0","margin-right":`calc(${i} * var(--tw-space-x-reverse))`,"margin-left":`calc(${i} * calc(1 - var(--tw-space-x-reverse)))`}}),"space-y":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"0","margin-top":`calc(${i} * calc(1 - var(--tw-space-y-reverse)))`,"margin-bottom":`calc(${i} * var(--tw-space-y-reverse))`}})},{values:r("space"),supportsNegativeValues:!0}),e({".space-y-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"1"},".space-x-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"1"}})},divideWidth:({matchUtilities:t,addUtilities:e,theme:r})=>{t({"divide-x":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"0","border-right-width":`calc(${i} * var(--tw-divide-x-reverse))`,"border-left-width":`calc(${i} * calc(1 - var(--tw-divide-x-reverse)))`}}),"divide-y":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"0","border-top-width":`calc(${i} * calc(1 - var(--tw-divide-y-reverse)))`,"border-bottom-width":`calc(${i} * var(--tw-divide-y-reverse))`}})},{values:r("divideWidth"),type:["line-width","length","any"]}),e({".divide-y-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"1"},".divide-x-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"1"}})},divideStyle:({addUtilities:t})=>{t({".divide-solid > :not([hidden]) ~ :not([hidden])":{"border-style":"solid"},".divide-dashed > :not([hidden]) ~ :not([hidden])":{"border-style":"dashed"},".divide-dotted > :not([hidden]) ~ :not([hidden])":{"border-style":"dotted"},".divide-double > :not([hidden]) ~ :not([hidden])":{"border-style":"double"},".divide-none > :not([hidden]) ~ :not([hidden])":{"border-style":"none"}})},divideColor:({matchUtilities:t,theme:e,corePlugins:r})=>{t({divide:i=>r("divideOpacity")?{["& > :not([hidden]) ~ :not([hidden])"]:$e({color:i,property:"border-color",variable:"--tw-divide-opacity"})}:{["& > :not([hidden]) ~ :not([hidden])"]:{"border-color":ne(i)}}},{values:(({DEFAULT:i,...n})=>n)(Le(e("divideColor"))),type:["color","any"]})},divideOpacity:({matchUtilities:t,theme:e})=>{t({"divide-opacity":r=>({["& > :not([hidden]) ~ :not([hidden])"]:{"--tw-divide-opacity":r}})},{values:e("divideOpacity")})},placeSelf:({addUtilities:t})=>{t({".place-self-auto":{"place-self":"auto"},".place-self-start":{"place-self":"start"},".place-self-end":{"place-self":"end"},".place-self-center":{"place-self":"center"},".place-self-stretch":{"place-self":"stretch"}})},alignSelf:({addUtilities:t})=>{t({".self-auto":{"align-self":"auto"},".self-start":{"align-self":"flex-start"},".self-end":{"align-self":"flex-end"},".self-center":{"align-self":"center"},".self-stretch":{"align-self":"stretch"},".self-baseline":{"align-self":"baseline"}})},justifySelf:({addUtilities:t})=>{t({".justify-self-auto":{"justify-self":"auto"},".justify-self-start":{"justify-self":"start"},".justify-self-end":{"justify-self":"end"},".justify-self-center":{"justify-self":"center"},".justify-self-stretch":{"justify-self":"stretch"}})},overflow:({addUtilities:t})=>{t({".overflow-auto":{overflow:"auto"},".overflow-hidden":{overflow:"hidden"},".overflow-clip":{overflow:"clip"},".overflow-visible":{overflow:"visible"},".overflow-scroll":{overflow:"scroll"},".overflow-x-auto":{"overflow-x":"auto"},".overflow-y-auto":{"overflow-y":"auto"},".overflow-x-hidden":{"overflow-x":"hidden"},".overflow-y-hidden":{"overflow-y":"hidden"},".overflow-x-clip":{"overflow-x":"clip"},".overflow-y-clip":{"overflow-y":"clip"},".overflow-x-visible":{"overflow-x":"visible"},".overflow-y-visible":{"overflow-y":"visible"},".overflow-x-scroll":{"overflow-x":"scroll"},".overflow-y-scroll":{"overflow-y":"scroll"}})},overscrollBehavior:({addUtilities:t})=>{t({".overscroll-auto":{"overscroll-behavior":"auto"},".overscroll-contain":{"overscroll-behavior":"contain"},".overscroll-none":{"overscroll-behavior":"none"},".overscroll-y-auto":{"overscroll-behavior-y":"auto"},".overscroll-y-contain":{"overscroll-behavior-y":"contain"},".overscroll-y-none":{"overscroll-behavior-y":"none"},".overscroll-x-auto":{"overscroll-behavior-x":"auto"},".overscroll-x-contain":{"overscroll-behavior-x":"contain"},".overscroll-x-none":{"overscroll-behavior-x":"none"}})},scrollBehavior:({addUtilities:t})=>{t({".scroll-auto":{"scroll-behavior":"auto"},".scroll-smooth":{"scroll-behavior":"smooth"}})},textOverflow:({addUtilities:t})=>{t({".truncate":{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},".overflow-ellipsis":{"text-overflow":"ellipsis"},".text-ellipsis":{"text-overflow":"ellipsis"},".text-clip":{"text-overflow":"clip"}})},hyphens:({addUtilities:t})=>{t({".hyphens-none":{hyphens:"none"},".hyphens-manual":{hyphens:"manual"},".hyphens-auto":{hyphens:"auto"}})},whitespace:({addUtilities:t})=>{t({".whitespace-normal":{"white-space":"normal"},".whitespace-nowrap":{"white-space":"nowrap"},".whitespace-pre":{"white-space":"pre"},".whitespace-pre-line":{"white-space":"pre-line"},".whitespace-pre-wrap":{"white-space":"pre-wrap"},".whitespace-break-spaces":{"white-space":"break-spaces"}})},textWrap:({addUtilities:t})=>{t({".text-wrap":{"text-wrap":"wrap"},".text-nowrap":{"text-wrap":"nowrap"},".text-balance":{"text-wrap":"balance"},".text-pretty":{"text-wrap":"pretty"}})},wordBreak:({addUtilities:t})=>{t({".break-normal":{"overflow-wrap":"normal","word-break":"normal"},".break-words":{"overflow-wrap":"break-word"},".break-all":{"word-break":"break-all"},".break-keep":{"word-break":"keep-all"}})},borderRadius:U("borderRadius",[["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"]]]]),borderWidth:U("borderWidth",[["border",[["@defaults border-width",{}],"border-width"]],[["border-x",[["@defaults border-width",{}],"border-left-width","border-right-width"]],["border-y",[["@defaults border-width",{}],"border-top-width","border-bottom-width"]]],[["border-s",[["@defaults border-width",{}],"border-inline-start-width"]],["border-e",[["@defaults border-width",{}],"border-inline-end-width"]],["border-t",[["@defaults border-width",{}],"border-top-width"]],["border-r",[["@defaults border-width",{}],"border-right-width"]],["border-b",[["@defaults border-width",{}],"border-bottom-width"]],["border-l",[["@defaults border-width",{}],"border-left-width"]]]],{type:["line-width","length"]}),borderStyle:({addUtilities:t})=>{t({".border-solid":{"border-style":"solid"},".border-dashed":{"border-style":"dashed"},".border-dotted":{"border-style":"dotted"},".border-double":{"border-style":"double"},".border-hidden":{"border-style":"hidden"},".border-none":{"border-style":"none"}})},borderColor:({matchUtilities:t,theme:e,corePlugins:r})=>{t({border:i=>r("borderOpacity")?$e({color:i,property:"border-color",variable:"--tw-border-opacity"}):{"border-color":ne(i)}},{values:(({DEFAULT:i,...n})=>n)(Le(e("borderColor"))),type:["color","any"]}),t({"border-x":i=>r("borderOpacity")?$e({color:i,property:["border-left-color","border-right-color"],variable:"--tw-border-opacity"}):{"border-left-color":ne(i),"border-right-color":ne(i)},"border-y":i=>r("borderOpacity")?$e({color:i,property:["border-top-color","border-bottom-color"],variable:"--tw-border-opacity"}):{"border-top-color":ne(i),"border-bottom-color":ne(i)}},{values:(({DEFAULT:i,...n})=>n)(Le(e("borderColor"))),type:["color","any"]}),t({"border-s":i=>r("borderOpacity")?$e({color:i,property:"border-inline-start-color",variable:"--tw-border-opacity"}):{"border-inline-start-color":ne(i)},"border-e":i=>r("borderOpacity")?$e({color:i,property:"border-inline-end-color",variable:"--tw-border-opacity"}):{"border-inline-end-color":ne(i)},"border-t":i=>r("borderOpacity")?$e({color:i,property:"border-top-color",variable:"--tw-border-opacity"}):{"border-top-color":ne(i)},"border-r":i=>r("borderOpacity")?$e({color:i,property:"border-right-color",variable:"--tw-border-opacity"}):{"border-right-color":ne(i)},"border-b":i=>r("borderOpacity")?$e({color:i,property:"border-bottom-color",variable:"--tw-border-opacity"}):{"border-bottom-color":ne(i)},"border-l":i=>r("borderOpacity")?$e({color:i,property:"border-left-color",variable:"--tw-border-opacity"}):{"border-left-color":ne(i)}},{values:(({DEFAULT:i,...n})=>n)(Le(e("borderColor"))),type:["color","any"]})},borderOpacity:U("borderOpacity",[["border-opacity",["--tw-border-opacity"]]]),backgroundColor:({matchUtilities:t,theme:e,corePlugins:r})=>{t({bg:i=>r("backgroundOpacity")?$e({color:i,property:"background-color",variable:"--tw-bg-opacity"}):{"background-color":ne(i)}},{values:Le(e("backgroundColor")),type:["color","any"]})},backgroundOpacity:U("backgroundOpacity",[["bg-opacity",["--tw-bg-opacity"]]]),backgroundImage:U("backgroundImage",[["bg",["background-image"]]],{type:["lookup","image","url"]}),gradientColorStops:(()=>{function t(e){return bt(e,0,"rgb(255 255 255 / 0)")}return function({matchUtilities:e,theme:r,addDefaults:i}){i("gradient-color-stops",{"--tw-gradient-from-position":" ","--tw-gradient-via-position":" ","--tw-gradient-to-position":" "});let n={values:Le(r("gradientColorStops")),type:["color","any"]},s={values:r("gradientColorStopPositions"),type:["length","percentage"]};e({from:a=>{let o=t(a);return{"@defaults gradient-color-stops":{},"--tw-gradient-from":`${ne(a)} var(--tw-gradient-from-position)`,"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":"var(--tw-gradient-from), var(--tw-gradient-to)"}}},n),e({from:a=>({"--tw-gradient-from-position":a})},s),e({via:a=>{let o=t(a);return{"@defaults gradient-color-stops":{},"--tw-gradient-to":`${o}  var(--tw-gradient-to-position)`,"--tw-gradient-stops":`var(--tw-gradient-from), ${ne(a)} var(--tw-gradient-via-position), var(--tw-gradient-to)`}}},n),e({via:a=>({"--tw-gradient-via-position":a})},s),e({to:a=>({"@defaults gradient-color-stops":{},"--tw-gradient-to":`${ne(a)} var(--tw-gradient-to-position)`})},n),e({to:a=>({"--tw-gradient-to-position":a})},s)}})(),boxDecorationBreak:({addUtilities:t})=>{t({".decoration-slice":{"box-decoration-break":"slice"},".decoration-clone":{"box-decoration-break":"clone"},".box-decoration-slice":{"box-decoration-break":"slice"},".box-decoration-clone":{"box-decoration-break":"clone"}})},backgroundSize:U("backgroundSize",[["bg",["background-size"]]],{type:["lookup","length","percentage","size"]}),backgroundAttachment:({addUtilities:t})=>{t({".bg-fixed":{"background-attachment":"fixed"},".bg-local":{"background-attachment":"local"},".bg-scroll":{"background-attachment":"scroll"}})},backgroundClip:({addUtilities:t})=>{t({".bg-clip-border":{"background-clip":"border-box"},".bg-clip-padding":{"background-clip":"padding-box"},".bg-clip-content":{"background-clip":"content-box"},".bg-clip-text":{"background-clip":"text"}})},backgroundPosition:U("backgroundPosition",[["bg",["background-position"]]],{type:["lookup",["position",{preferOnConflict:!0}]]}),backgroundRepeat:({addUtilities:t})=>{t({".bg-repeat":{"background-repeat":"repeat"},".bg-no-repeat":{"background-repeat":"no-repeat"},".bg-repeat-x":{"background-repeat":"repeat-x"},".bg-repeat-y":{"background-repeat":"repeat-y"},".bg-repeat-round":{"background-repeat":"round"},".bg-repeat-space":{"background-repeat":"space"}})},backgroundOrigin:({addUtilities:t})=>{t({".bg-origin-border":{"background-origin":"border-box"},".bg-origin-padding":{"background-origin":"padding-box"},".bg-origin-content":{"background-origin":"content-box"}})},fill:({matchUtilities:t,theme:e})=>{t({fill:r=>({fill:ne(r)})},{values:Le(e("fill")),type:["color","any"]})},stroke:({matchUtilities:t,theme:e})=>{t({stroke:r=>({stroke:ne(r)})},{values:Le(e("stroke")),type:["color","url","any"]})},strokeWidth:U("strokeWidth",[["stroke",["stroke-width"]]],{type:["length","number","percentage"]}),objectFit:({addUtilities:t})=>{t({".object-contain":{"object-fit":"contain"},".object-cover":{"object-fit":"cover"},".object-fill":{"object-fit":"fill"},".object-none":{"object-fit":"none"},".object-scale-down":{"object-fit":"scale-down"}})},objectPosition:U("objectPosition",[["object",["object-position"]]]),padding:U("padding",[["p",["padding"]],[["px",["padding-left","padding-right"]],["py",["padding-top","padding-bottom"]]],[["ps",["padding-inline-start"]],["pe",["padding-inline-end"]],["pt",["padding-top"]],["pr",["padding-right"]],["pb",["padding-bottom"]],["pl",["padding-left"]]]]),textAlign:({addUtilities:t})=>{t({".text-left":{"text-align":"left"},".text-center":{"text-align":"center"},".text-right":{"text-align":"right"},".text-justify":{"text-align":"justify"},".text-start":{"text-align":"start"},".text-end":{"text-align":"end"}})},textIndent:U("textIndent",[["indent",["text-indent"]]],{supportsNegativeValues:!0}),verticalAlign:({addUtilities:t,matchUtilities:e})=>{t({".align-baseline":{"vertical-align":"baseline"},".align-top":{"vertical-align":"top"},".align-middle":{"vertical-align":"middle"},".align-bottom":{"vertical-align":"bottom"},".align-text-top":{"vertical-align":"text-top"},".align-text-bottom":{"vertical-align":"text-bottom"},".align-sub":{"vertical-align":"sub"},".align-super":{"vertical-align":"super"}}),e({align:r=>({"vertical-align":r})})},fontFamily:({matchUtilities:t,theme:e})=>{t({font:r=>{let[i,n={}]=Array.isArray(r)&&Be(r[1])?r:[r],{fontFeatureSettings:s,fontVariationSettings:a}=n;return{"font-family":Array.isArray(i)?i.join(", "):i,...s===void 0?{}:{"font-feature-settings":s},...a===void 0?{}:{"font-variation-settings":a}}}},{values:e("fontFamily"),type:["lookup","generic-name","family-name"]})},fontSize:({matchUtilities:t,theme:e})=>{t({text:(r,{modifier:i})=>{let[n,s]=Array.isArray(r)?r:[r];if(i)return{"font-size":n,"line-height":i};let{lineHeight:a,letterSpacing:o,fontWeight:l}=Be(s)?s:{lineHeight:s};return{"font-size":n,...a===void 0?{}:{"line-height":a},...o===void 0?{}:{"letter-spacing":o},...l===void 0?{}:{"font-weight":l}}}},{values:e("fontSize"),modifiers:e("lineHeight"),type:["absolute-size","relative-size","length","percentage"]})},fontWeight:U("fontWeight",[["font",["fontWeight"]]],{type:["lookup","number","any"]}),textTransform:({addUtilities:t})=>{t({".uppercase":{"text-transform":"uppercase"},".lowercase":{"text-transform":"lowercase"},".capitalize":{"text-transform":"capitalize"},".normal-case":{"text-transform":"none"}})},fontStyle:({addUtilities:t})=>{t({".italic":{"font-style":"italic"},".not-italic":{"font-style":"normal"}})},fontVariantNumeric:({addDefaults:t,addUtilities:e})=>{let r="var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)";t("font-variant-numeric",{"--tw-ordinal":" ","--tw-slashed-zero":" ","--tw-numeric-figure":" ","--tw-numeric-spacing":" ","--tw-numeric-fraction":" "}),e({".normal-nums":{"font-variant-numeric":"normal"},".ordinal":{"@defaults font-variant-numeric":{},"--tw-ordinal":"ordinal","font-variant-numeric":r},".slashed-zero":{"@defaults font-variant-numeric":{},"--tw-slashed-zero":"slashed-zero","font-variant-numeric":r},".lining-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"lining-nums","font-variant-numeric":r},".oldstyle-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"oldstyle-nums","font-variant-numeric":r},".proportional-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"proportional-nums","font-variant-numeric":r},".tabular-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"tabular-nums","font-variant-numeric":r},".diagonal-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"diagonal-fractions","font-variant-numeric":r},".stacked-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"stacked-fractions","font-variant-numeric":r}})},lineHeight:U("lineHeight",[["leading",["lineHeight"]]]),letterSpacing:U("letterSpacing",[["tracking",["letterSpacing"]]],{supportsNegativeValues:!0}),textColor:({matchUtilities:t,theme:e,corePlugins:r})=>{t({text:i=>r("textOpacity")?$e({color:i,property:"color",variable:"--tw-text-opacity"}):{color:ne(i)}},{values:Le(e("textColor")),type:["color","any"]})},textOpacity:U("textOpacity",[["text-opacity",["--tw-text-opacity"]]]),textDecoration:({addUtilities:t})=>{t({".underline":{"text-decoration-line":"underline"},".overline":{"text-decoration-line":"overline"},".line-through":{"text-decoration-line":"line-through"},".no-underline":{"text-decoration-line":"none"}})},textDecorationColor:({matchUtilities:t,theme:e})=>{t({decoration:r=>({"text-decoration-color":ne(r)})},{values:Le(e("textDecorationColor")),type:["color","any"]})},textDecorationStyle:({addUtilities:t})=>{t({".decoration-solid":{"text-decoration-style":"solid"},".decoration-double":{"text-decoration-style":"double"},".decoration-dotted":{"text-decoration-style":"dotted"},".decoration-dashed":{"text-decoration-style":"dashed"},".decoration-wavy":{"text-decoration-style":"wavy"}})},textDecorationThickness:U("textDecorationThickness",[["decoration",["text-decoration-thickness"]]],{type:["length","percentage"]}),textUnderlineOffset:U("textUnderlineOffset",[["underline-offset",["text-underline-offset"]]],{type:["length","percentage","any"]}),fontSmoothing:({addUtilities:t})=>{t({".antialiased":{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},".subpixel-antialiased":{"-webkit-font-smoothing":"auto","-moz-osx-font-smoothing":"auto"}})},placeholderColor:({matchUtilities:t,theme:e,corePlugins:r})=>{t({placeholder:i=>r("placeholderOpacity")?{"&::placeholder":$e({color:i,property:"color",variable:"--tw-placeholder-opacity"})}:{"&::placeholder":{color:ne(i)}}},{values:Le(e("placeholderColor")),type:["color","any"]})},placeholderOpacity:({matchUtilities:t,theme:e})=>{t({"placeholder-opacity":r=>({["&::placeholder"]:{"--tw-placeholder-opacity":r}})},{values:e("placeholderOpacity")})},caretColor:({matchUtilities:t,theme:e})=>{t({caret:r=>({"caret-color":ne(r)})},{values:Le(e("caretColor")),type:["color","any"]})},accentColor:({matchUtilities:t,theme:e})=>{t({accent:r=>({"accent-color":ne(r)})},{values:Le(e("accentColor")),type:["color","any"]})},opacity:U("opacity",[["opacity",["opacity"]]]),backgroundBlendMode:({addUtilities:t})=>{t({".bg-blend-normal":{"background-blend-mode":"normal"},".bg-blend-multiply":{"background-blend-mode":"multiply"},".bg-blend-screen":{"background-blend-mode":"screen"},".bg-blend-overlay":{"background-blend-mode":"overlay"},".bg-blend-darken":{"background-blend-mode":"darken"},".bg-blend-lighten":{"background-blend-mode":"lighten"},".bg-blend-color-dodge":{"background-blend-mode":"color-dodge"},".bg-blend-color-burn":{"background-blend-mode":"color-burn"},".bg-blend-hard-light":{"background-blend-mode":"hard-light"},".bg-blend-soft-light":{"background-blend-mode":"soft-light"},".bg-blend-difference":{"background-blend-mode":"difference"},".bg-blend-exclusion":{"background-blend-mode":"exclusion"},".bg-blend-hue":{"background-blend-mode":"hue"},".bg-blend-saturation":{"background-blend-mode":"saturation"},".bg-blend-color":{"background-blend-mode":"color"},".bg-blend-luminosity":{"background-blend-mode":"luminosity"}})},mixBlendMode:({addUtilities:t})=>{t({".mix-blend-normal":{"mix-blend-mode":"normal"},".mix-blend-multiply":{"mix-blend-mode":"multiply"},".mix-blend-screen":{"mix-blend-mode":"screen"},".mix-blend-overlay":{"mix-blend-mode":"overlay"},".mix-blend-darken":{"mix-blend-mode":"darken"},".mix-blend-lighten":{"mix-blend-mode":"lighten"},".mix-blend-color-dodge":{"mix-blend-mode":"color-dodge"},".mix-blend-color-burn":{"mix-blend-mode":"color-burn"},".mix-blend-hard-light":{"mix-blend-mode":"hard-light"},".mix-blend-soft-light":{"mix-blend-mode":"soft-light"},".mix-blend-difference":{"mix-blend-mode":"difference"},".mix-blend-exclusion":{"mix-blend-mode":"exclusion"},".mix-blend-hue":{"mix-blend-mode":"hue"},".mix-blend-saturation":{"mix-blend-mode":"saturation"},".mix-blend-color":{"mix-blend-mode":"color"},".mix-blend-luminosity":{"mix-blend-mode":"luminosity"},".mix-blend-plus-darker":{"mix-blend-mode":"plus-darker"},".mix-blend-plus-lighter":{"mix-blend-mode":"plus-lighter"}})},boxShadow:(()=>{let t=Nt("boxShadow"),e=["var(--tw-ring-offset-shadow, 0 0 #0000)","var(--tw-ring-shadow, 0 0 #0000)","var(--tw-shadow)"].join(", ");return function({matchUtilities:r,addDefaults:i,theme:n}){i("box-shadow",{"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),r({shadow:s=>{s=t(s);let a=bs(s);for(let o of a)!o.valid||(o.color="var(--tw-shadow-color)");return{"@defaults box-shadow":{},"--tw-shadow":s==="none"?"0 0 #0000":s,"--tw-shadow-colored":s==="none"?"0 0 #0000":Td(a),"box-shadow":e}}},{values:n("boxShadow"),type:["shadow"]})}})(),boxShadowColor:({matchUtilities:t,theme:e})=>{t({shadow:r=>({"--tw-shadow-color":ne(r),"--tw-shadow":"var(--tw-shadow-colored)"})},{values:Le(e("boxShadowColor")),type:["color","any"]})},outlineStyle:({addUtilities:t})=>{t({".outline-none":{outline:"2px solid transparent","outline-offset":"2px"},".outline":{"outline-style":"solid"},".outline-dashed":{"outline-style":"dashed"},".outline-dotted":{"outline-style":"dotted"},".outline-double":{"outline-style":"double"}})},outlineWidth:U("outlineWidth",[["outline",["outline-width"]]],{type:["length","number","percentage"]}),outlineOffset:U("outlineOffset",[["outline-offset",["outline-offset"]]],{type:["length","number","percentage","any"],supportsNegativeValues:!0}),outlineColor:({matchUtilities:t,theme:e})=>{t({outline:r=>({"outline-color":ne(r)})},{values:Le(e("outlineColor")),type:["color","any"]})},ringWidth:({matchUtilities:t,addDefaults:e,addUtilities:r,theme:i,config:n})=>{let s=(()=>{if(De(n(),"respectDefaultRingColorOpacity"))return i("ringColor.DEFAULT");let a=i("ringOpacity.DEFAULT","0.5");return i("ringColor")?.DEFAULT?bt(i("ringColor")?.DEFAULT,a,`rgb(147 197 253 / ${a})`):`rgb(147 197 253 / ${a})`})();e("ring-width",{"--tw-ring-inset":" ","--tw-ring-offset-width":i("ringOffsetWidth.DEFAULT","0px"),"--tw-ring-offset-color":i("ringOffsetColor.DEFAULT","#fff"),"--tw-ring-color":s,"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),t({ring:a=>({"@defaults ring-width":{},"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${a} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":["var(--tw-ring-offset-shadow)","var(--tw-ring-shadow)","var(--tw-shadow, 0 0 #0000)"].join(", ")})},{values:i("ringWidth"),type:"length"}),r({".ring-inset":{"@defaults ring-width":{},"--tw-ring-inset":"inset"}})},ringColor:({matchUtilities:t,theme:e,corePlugins:r})=>{t({ring:i=>r("ringOpacity")?$e({color:i,property:"--tw-ring-color",variable:"--tw-ring-opacity"}):{"--tw-ring-color":ne(i)}},{values:Object.fromEntries(Object.entries(Le(e("ringColor"))).filter(([i])=>i!=="DEFAULT")),type:["color","any"]})},ringOpacity:t=>{let{config:e}=t;return U("ringOpacity",[["ring-opacity",["--tw-ring-opacity"]]],{filterDefault:!De(e(),"respectDefaultRingColorOpacity")})(t)},ringOffsetWidth:U("ringOffsetWidth",[["ring-offset",["--tw-ring-offset-width"]]],{type:"length"}),ringOffsetColor:({matchUtilities:t,theme:e})=>{t({"ring-offset":r=>({"--tw-ring-offset-color":ne(r)})},{values:Le(e("ringOffsetColor")),type:["color","any"]})},blur:({matchUtilities:t,theme:e})=>{t({blur:r=>({"--tw-blur":r.trim()===""?" ":`blur(${r})`,"@defaults filter":{},filter:At})},{values:e("blur")})},brightness:({matchUtilities:t,theme:e})=>{t({brightness:r=>({"--tw-brightness":`brightness(${r})`,"@defaults filter":{},filter:At})},{values:e("brightness")})},contrast:({matchUtilities:t,theme:e})=>{t({contrast:r=>({"--tw-contrast":`contrast(${r})`,"@defaults filter":{},filter:At})},{values:e("contrast")})},dropShadow:({matchUtilities:t,theme:e})=>{t({"drop-shadow":r=>({"--tw-drop-shadow":Array.isArray(r)?r.map(i=>`drop-shadow(${i})`).join(" "):`drop-shadow(${r})`,"@defaults filter":{},filter:At})},{values:e("dropShadow")})},grayscale:({matchUtilities:t,theme:e})=>{t({grayscale:r=>({"--tw-grayscale":`grayscale(${r})`,"@defaults filter":{},filter:At})},{values:e("grayscale")})},hueRotate:({matchUtilities:t,theme:e})=>{t({"hue-rotate":r=>({"--tw-hue-rotate":`hue-rotate(${r})`,"@defaults filter":{},filter:At})},{values:e("hueRotate"),supportsNegativeValues:!0})},invert:({matchUtilities:t,theme:e})=>{t({invert:r=>({"--tw-invert":`invert(${r})`,"@defaults filter":{},filter:At})},{values:e("invert")})},saturate:({matchUtilities:t,theme:e})=>{t({saturate:r=>({"--tw-saturate":`saturate(${r})`,"@defaults filter":{},filter:At})},{values:e("saturate")})},sepia:({matchUtilities:t,theme:e})=>{t({sepia:r=>({"--tw-sepia":`sepia(${r})`,"@defaults filter":{},filter:At})},{values:e("sepia")})},filter:({addDefaults:t,addUtilities:e})=>{t("filter",{"--tw-blur":" ","--tw-brightness":" ","--tw-contrast":" ","--tw-grayscale":" ","--tw-hue-rotate":" ","--tw-invert":" ","--tw-saturate":" ","--tw-sepia":" ","--tw-drop-shadow":" "}),e({".filter":{"@defaults filter":{},filter:At},".filter-none":{filter:"none"}})},backdropBlur:({matchUtilities:t,theme:e})=>{t({"backdrop-blur":r=>({"--tw-backdrop-blur":r.trim()===""?" ":`blur(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropBlur")})},backdropBrightness:({matchUtilities:t,theme:e})=>{t({"backdrop-brightness":r=>({"--tw-backdrop-brightness":`brightness(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropBrightness")})},backdropContrast:({matchUtilities:t,theme:e})=>{t({"backdrop-contrast":r=>({"--tw-backdrop-contrast":`contrast(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropContrast")})},backdropGrayscale:({matchUtilities:t,theme:e})=>{t({"backdrop-grayscale":r=>({"--tw-backdrop-grayscale":`grayscale(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropGrayscale")})},backdropHueRotate:({matchUtilities:t,theme:e})=>{t({"backdrop-hue-rotate":r=>({"--tw-backdrop-hue-rotate":`hue-rotate(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropHueRotate"),supportsNegativeValues:!0})},backdropInvert:({matchUtilities:t,theme:e})=>{t({"backdrop-invert":r=>({"--tw-backdrop-invert":`invert(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropInvert")})},backdropOpacity:({matchUtilities:t,theme:e})=>{t({"backdrop-opacity":r=>({"--tw-backdrop-opacity":`opacity(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropOpacity")})},backdropSaturate:({matchUtilities:t,theme:e})=>{t({"backdrop-saturate":r=>({"--tw-backdrop-saturate":`saturate(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropSaturate")})},backdropSepia:({matchUtilities:t,theme:e})=>{t({"backdrop-sepia":r=>({"--tw-backdrop-sepia":`sepia(${r})`,"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe})},{values:e("backdropSepia")})},backdropFilter:({addDefaults:t,addUtilities:e})=>{t("backdrop-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":" "}),e({".backdrop-filter":{"@defaults backdrop-filter":{},"-webkit-backdrop-filter":Pe,"backdrop-filter":Pe},".backdrop-filter-none":{"-webkit-backdrop-filter":"none","backdrop-filter":"none"}})},transitionProperty:({matchUtilities:t,theme:e})=>{let r=e("transitionTimingFunction.DEFAULT"),i=e("transitionDuration.DEFAULT");t({transition:n=>({"transition-property":n,...n==="none"?{}:{"transition-timing-function":r,"transition-duration":i}})},{values:e("transitionProperty")})},transitionDelay:U("transitionDelay",[["delay",["transitionDelay"]]]),transitionDuration:U("transitionDuration",[["duration",["transitionDuration"]]],{filterDefault:!0}),transitionTimingFunction:U("transitionTimingFunction",[["ease",["transitionTimingFunction"]]],{filterDefault:!0}),willChange:U("willChange",[["will-change",["will-change"]]]),contain:({addDefaults:t,addUtilities:e})=>{let r="var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style)";t("contain",{"--tw-contain-size":" ","--tw-contain-layout":" ","--tw-contain-paint":" ","--tw-contain-style":" "}),e({".contain-none":{contain:"none"},".contain-content":{contain:"content"},".contain-strict":{contain:"strict"},".contain-size":{"@defaults contain":{},"--tw-contain-size":"size",contain:r},".contain-inline-size":{"@defaults contain":{},"--tw-contain-size":"inline-size",contain:r},".contain-layout":{"@defaults contain":{},"--tw-contain-layout":"layout",contain:r},".contain-paint":{"@defaults contain":{},"--tw-contain-paint":"paint",contain:r},".contain-style":{"@defaults contain":{},"--tw-contain-style":"style",contain:r}})},content:U("content",[["content",["--tw-content",["content","var(--tw-content)"]]]]),forcedColorAdjust:({addUtilities:t})=>{t({".forced-color-adjust-auto":{"forced-color-adjust":"auto"},".forced-color-adjust-none":{"forced-color-adjust":"none"}})}}});function cP(t){if(t===void 0)return!1;if(t==="true"||t==="1")return!0;if(t==="false"||t==="0")return!1;if(t==="*")return!0;let e=t.split(",").map(r=>r.split(":")[0]);return e.includes("-tailwindcss")?!1:!!e.includes("tailwindcss")}var wt,ly,uy,wa,Su,$t,xn,ar=D(()=>{u();wt=typeof g!="undefined"?{NODE_ENV:"production",DEBUG:cP(g.env.DEBUG)}:{NODE_ENV:"production",DEBUG:!1},ly=new Map,uy=new Map,wa=new Map,Su=new Map,$t=new String("*"),xn=Symbol("__NONE__")});function Yr(t){let e=[],r=!1;for(let i=0;i<t.length;i++){let n=t[i];if(n===":"&&!r&&e.length===0)return!1;if(pP.has(n)&&t[i-1]!=="\\"&&(r=!r),!r&&t[i-1]!=="\\"){if(fy.has(n))e.push(n);else if(cy.has(n)){let s=cy.get(n);if(e.length<=0||e.pop()!==s)return!1}}}return!(e.length>0)}var fy,cy,pP,ku=D(()=>{u();fy=new Map([["{","}"],["[","]"],["(",")"]]),cy=new Map(Array.from(fy.entries()).map(([t,e])=>[e,t])),pP=new Set(['"',"'","`"])});function Kr(t){let[e]=py(t);return e.forEach(([r,i])=>r.removeChild(i)),t.nodes.push(...e.map(([,r])=>r)),t}function py(t){let e=[],r=null;for(let i of t.nodes)if(i.type==="combinator")e=e.filter(([,n])=>Au(n).includes("jumpable")),r=null;else if(i.type==="pseudo"){dP(i)?(r=i,e.push([t,i,null])):r&&hP(i,r)?e.push([t,i,r]):r=null;for(let n of i.nodes??[]){let[s,a]=py(n);r=a||r,e.push(...s)}}return[e,r]}function dy(t){return t.value.startsWith("::")||_u[t.value]!==void 0}function dP(t){return dy(t)&&Au(t).includes("terminal")}function hP(t,e){return t.type!=="pseudo"||dy(t)?!1:Au(e).includes("actionable")}function Au(t){return _u[t.value]??_u.__default__}var _u,va=D(()=>{u();_u={"::after":["terminal","jumpable"],"::backdrop":["terminal","jumpable"],"::before":["terminal","jumpable"],"::cue":["terminal"],"::cue-region":["terminal"],"::first-letter":["terminal","jumpable"],"::first-line":["terminal","jumpable"],"::grammar-error":["terminal"],"::marker":["terminal","jumpable"],"::part":["terminal","actionable"],"::placeholder":["terminal","jumpable"],"::selection":["terminal","jumpable"],"::slotted":["terminal"],"::spelling-error":["terminal"],"::target-text":["terminal"],"::file-selector-button":["terminal","actionable"],"::deep":["actionable"],"::v-deep":["actionable"],"::ng-deep":["actionable"],":after":["terminal","jumpable"],":before":["terminal","jumpable"],":first-letter":["terminal","jumpable"],":first-line":["terminal","jumpable"],":where":[],":is":[],":has":[],__default__:["terminal","actionable"]}});function Xr(t,{context:e,candidate:r}){let i=e?.tailwindConfig.prefix??"",n=t.map(a=>{let o=(0,Tt.default)().astSync(a.format);return{...a,ast:a.respectPrefix?Gr(i,o):o}}),s=Tt.default.root({nodes:[Tt.default.selector({nodes:[Tt.default.className({value:Ve(r)})]})]});for(let{ast:a}of n)[s,a]=gP(s,a),a.walkNesting(o=>o.replaceWith(...s.nodes[0].nodes)),s=a;return s}function my(t){let e=[];for(;t.prev()&&t.prev().type!=="combinator";)t=t.prev();for(;t&&t.type!=="combinator";)e.push(t),t=t.next();return e}function mP(t){return t.sort((e,r)=>e.type==="tag"&&r.type==="class"?-1:e.type==="class"&&r.type==="tag"?1:e.type==="class"&&r.type==="pseudo"&&r.value.startsWith("::")?-1:e.type==="pseudo"&&e.value.startsWith("::")&&r.type==="class"?1:t.index(e)-t.index(r)),t}function Eu(t,e){let r=!1;t.walk(i=>{if(i.type==="class"&&i.value===e)return r=!0,!1}),r||t.remove()}function ba(t,e,{context:r,candidate:i,base:n}){let s=r?.tailwindConfig?.separator??":";n=n??qe(i,s).pop();let a=(0,Tt.default)().astSync(t);if(a.walkClasses(f=>{f.raws&&f.value.includes(n)&&(f.raws.value=Ve((0,hy.default)(f.raws.value)))}),a.each(f=>Eu(f,n)),a.length===0)return null;let o=Array.isArray(e)?Xr(e,{context:r,candidate:i}):e;if(o===null)return a.toString();let l=Tt.default.comment({value:"/*__simple__*/"}),c=Tt.default.comment({value:"/*__simple__*/"});return a.walkClasses(f=>{if(f.value!==n)return;let d=f.parent,p=o.nodes[0].nodes;if(d.nodes.length===1){f.replaceWith(...p);return}let m=my(f);d.insertBefore(m[0],l),d.insertAfter(m[m.length-1],c);for(let S of p)d.insertBefore(m[0],S.clone());f.remove(),m=my(l);let w=d.index(l);d.nodes.splice(w,m.length,...mP(Tt.default.selector({nodes:m})).nodes),l.remove(),c.remove()}),a.walkPseudos(f=>{f.value===Tu&&f.replaceWith(f.nodes)}),a.each(f=>Kr(f)),a.toString()}function gP(t,e){let r=[];return t.walkPseudos(i=>{i.value===Tu&&r.push({pseudo:i,value:i.nodes[0].toString()})}),e.walkPseudos(i=>{if(i.value!==Tu)return;let n=i.nodes[0].toString(),s=r.find(c=>c.value===n);if(!s)return;let a=[],o=i.next();for(;o&&o.type!=="combinator";)a.push(o),o=o.next();let l=o;s.pseudo.parent.insertAfter(s.pseudo,Tt.default.selector({nodes:a.map(c=>c.clone())})),i.remove(),a.forEach(c=>c.remove()),l&&l.type==="combinator"&&l.remove()}),[t,e]}var Tt,hy,Tu,Cu=D(()=>{u();Tt=Te(_t()),hy=Te(Ks());Qr();ca();va();yr();Tu=":merge"});function xa(t,e){let r=(0,Ou.default)().astSync(t);return r.each(i=>{i.nodes.some(s=>s.type==="combinator")&&(i.nodes=[Ou.default.pseudo({value:":is",nodes:[i.clone()]})]),Kr(i)}),`${e} ${r.toString()}`}var Ou,Pu=D(()=>{u();Ou=Te(_t());va()});function Ru(t){return yP.transformSync(t)}function*wP(t){let e=1/0;for(;e>=0;){let r,i=!1;if(e===1/0&&t.endsWith("]")){let a=t.indexOf("[");t[a-1]==="-"?r=a-1:t[a-1]==="/"?(r=a-1,i=!0):r=-1}else e===1/0&&t.includes("/")?(r=t.lastIndexOf("/"),i=!0):r=t.lastIndexOf("-",e);if(r<0)break;let n=t.slice(0,r),s=t.slice(i?r:r+1);e=r-1,!(n===""||s==="/")&&(yield[n,s])}}function vP(t,e){if(t.length===0||e.tailwindConfig.prefix==="")return t;for(let r of t){let[i]=r;if(i.options.respectPrefix){let n=le.root({nodes:[r[1].clone()]}),s=r[1].raws.tailwind.classCandidate;n.walkRules(a=>{let o=s.startsWith("-");a.selector=Gr(e.tailwindConfig.prefix,a.selector,o)}),r[1]=n.nodes[0]}}return t}function bP(t,e){if(t.length===0)return t;let r=[];function i(n){return n.parent&&n.parent.type==="atrule"&&n.parent.name==="keyframes"}for(let[n,s]of t){let a=le.root({nodes:[s.clone()]});a.walkRules(o=>{if(i(o))return;let l=(0,Sa.default)().astSync(o.selector);l.each(c=>Eu(c,e)),Nd(l,c=>c===e?`!${c}`:c),o.selector=l.toString(),o.walkDecls(c=>c.important=!0)}),r.push([{...n,important:!0},a.nodes[0]])}return r}function xP(t,e,r){if(e.length===0)return e;let i={modifier:null,value:xn};{let[n,...s]=qe(t,"/");if(s.length>1&&(n=n+"/"+s.slice(0,-1).join("/"),s=s.slice(-1)),s.length&&!r.variantMap.has(t)&&(t=n,i.modifier=s[0],!De(r.tailwindConfig,"generalizedModifiers")))return[]}if(t.endsWith("]")&&!t.startsWith("[")){let n=/(.)(-?)\[(.*)\]/g.exec(t);if(n){let[,s,a,o]=n;if(s==="@"&&a==="-")return[];if(s!=="@"&&a==="")return[];t=t.replace(`${a}[${o}]`,""),i.value=o}}if(qu(t)&&!r.variantMap.has(t)){let n=r.offsets.recordVariant(t),s=ie(t.slice(1,-1)),a=qe(s,",");if(a.length>1)return[];if(!a.every(Ta))return[];let o=a.map((l,c)=>[r.offsets.applyParallelOffset(n,c),Sn(l.trim())]);r.variantMap.set(t,o)}if(r.variantMap.has(t)){let n=qu(t),s=r.variantOptions.get(t)?.[sr]??{},a=r.variantMap.get(t).slice(),o=[],l=(()=>!(n||s.respectPrefix===!1))();for(let[c,f]of e){if(c.layer==="user")continue;let d=le.root({nodes:[f.clone()]});for(let[p,m,w]of a){let b=function(){S.raws.neededBackup||(S.raws.neededBackup=!0,S.walkRules(P=>P.raws.originalSelector=P.selector))},_=function(P){return b(),S.each(F=>{F.type==="rule"&&(F.selectors=F.selectors.map(N=>P({get className(){return Ru(N)},selector:N})))}),S},S=(w??d).clone(),v=[],A=m({get container(){return b(),S},separator:r.tailwindConfig.separator,modifySelectors:_,wrap(P){let F=S.nodes;S.removeAll(),P.append(F),S.append(P)},format(P){v.push({format:P,respectPrefix:l})},args:i});if(Array.isArray(A)){for(let[P,F]of A.entries())a.push([r.offsets.applyParallelOffset(p,P),F,S.clone()]);continue}if(typeof A=="string"&&v.push({format:A,respectPrefix:l}),A===null)continue;S.raws.neededBackup&&(delete S.raws.neededBackup,S.walkRules(P=>{let F=P.raws.originalSelector;if(!F||(delete P.raws.originalSelector,F===P.selector))return;let N=P.selector,R=(0,Sa.default)(W=>{W.walkClasses(re=>{re.value=`${t}${r.tailwindConfig.separator}${re.value}`})}).processSync(F);v.push({format:N.replace(R,"&"),respectPrefix:l}),P.selector=F})),S.nodes[0].raws.tailwind={...S.nodes[0].raws.tailwind,parentLayer:c.layer};let O=[{...c,sort:r.offsets.applyVariantOffset(c.sort,p,Object.assign(i,r.variantOptions.get(t))),collectedFormats:(c.collectedFormats??[]).concat(v)},S.nodes[0]];o.push(O)}}return o}return[]}function Iu(t,e,r={}){return!Be(t)&&!Array.isArray(t)?[[t],r]:Array.isArray(t)?Iu(t[0],e,t[1]):(e.has(t)||e.set(t,Wr(t)),[e.get(t),r])}function kP(t){return SP.test(t)}function _P(t){if(!t.includes("://"))return!1;try{let e=new URL(t);return e.scheme!==""&&e.host!==""}catch(e){return!1}}function gy(t){let e=!0;return t.walkDecls(r=>{if(!yy(r.prop,r.value))return e=!1,!1}),e}function yy(t,e){if(_P(`${t}:${e}`))return!1;try{return le.parse(`a{${t}:${e}}`).toResult(),!0}catch(r){return!1}}function AP(t,e){let[,r,i]=t.match(/^\[([a-zA-Z0-9-_]+):(\S+)\]$/)??[];if(i===void 0||!kP(r)||!Yr(i))return null;let n=ie(i,{property:r});return yy(r,n)?[[{sort:e.offsets.arbitraryProperty(t),layer:"utilities",options:{respectImportant:!0}},()=>({[vu(t)]:{[r]:n}})]]:null}function*TP(t,e){e.candidateRuleMap.has(t)&&(yield[e.candidateRuleMap.get(t),"DEFAULT"]),yield*function*(o){o!==null&&(yield[o,"DEFAULT"])}(AP(t,e));let r=t,i=!1,n=e.tailwindConfig.prefix,s=n.length,a=r.startsWith(n)||r.startsWith(`-${n}`);r[s]==="-"&&a&&(i=!0,r=n+r.slice(s+1)),i&&e.candidateRuleMap.has(r)&&(yield[e.candidateRuleMap.get(r),"-DEFAULT"]);for(let[o,l]of wP(r))e.candidateRuleMap.has(o)&&(yield[e.candidateRuleMap.get(o),i?`-${l}`:l])}function EP(t,e){return t===$t?[$t]:qe(t,e)}function*CP(t,e){for(let r of t)r[1].raws.tailwind={...r[1].raws.tailwind,classCandidate:e,preserveSource:r[0].options?.preserveSource??!1},yield r}function*Du(t,e){let r=e.tailwindConfig.separator,[i,...n]=EP(t,r).reverse(),s=!1;i.startsWith("!")&&(s=!0,i=i.slice(1));for(let a of TP(i,e)){let o=[],l=new Map,[c,f]=a,d=c.length===1;for(let[p,m]of c){let w=[];if(typeof m=="function")for(let S of[].concat(m(f,{isOnlyPlugin:d}))){let[v,b]=Iu(S,e.postCssNodeCache);for(let _ of v)w.push([{...p,options:{...p.options,...b}},_])}else if(f==="DEFAULT"||f==="-DEFAULT"){let S=m,[v,b]=Iu(S,e.postCssNodeCache);for(let _ of v)w.push([{...p,options:{...p.options,...b}},_])}if(w.length>0){let S=Array.from($o(p.options?.types??[],f,p.options??{},e.tailwindConfig)).map(([v,b])=>b);S.length>0&&l.set(w,S),o.push(w)}}if(qu(f)){if(o.length>1){let w=function(v){return v.length===1?v[0]:v.find(b=>{let _=l.get(b);return b.some(([{options:A},O])=>gy(O)?A.types.some(({type:P,preferOnConflict:F})=>_.includes(P)&&F):!1)})},[p,m]=o.reduce((v,b)=>(b.some(([{options:A}])=>A.types.some(({type:O})=>O==="any"))?v[0].push(b):v[1].push(b),v),[[],[]]),S=w(m)??w(p);if(S)o=[S];else{let v=o.map(_=>new Set([...l.get(_)??[]]));for(let _ of v)for(let A of _){let O=!1;for(let P of v)_!==P&&P.has(A)&&(P.delete(A),O=!0);O&&_.delete(A)}let b=[];for(let[_,A]of v.entries())for(let O of A){let P=o[_].map(([,F])=>F).flat().map(F=>F.toString().split(`
+`).slice(1,-1).map(N=>N.trim()).map(N=>`      ${N}`).join(`
+`)).join(`
+
+`);b.push(`  Use \`${t.replace("[",`[${O}:`)}\` for \`${P.trim()}\``);break}te.warn([`The class \`${t}\` is ambiguous and matches multiple utilities.`,...b,`If this is content and not a class, replace it with \`${t.replace("[","&lsqb;").replace("]","&rsqb;")}\` to silence this warning.`]);continue}}o=o.map(p=>p.filter(m=>gy(m[1])))}o=o.flat(),o=Array.from(CP(o,i)),o=vP(o,e),s&&(o=bP(o,i));for(let p of n)o=xP(p,o,e);for(let p of o)p[1].raws.tailwind={...p[1].raws.tailwind,candidate:t},p=OP(p,{context:e,candidate:t}),p!==null&&(yield p)}}function OP(t,{context:e,candidate:r}){if(!t[0].collectedFormats)return t;let i=!0,n;try{n=Xr(t[0].collectedFormats,{context:e,candidate:r})}catch{return null}let s=le.root({nodes:[t[1].clone()]});return s.walkRules(a=>{if(!ka(a))try{let o=ba(a.selector,n,{candidate:r,context:e});if(o===null){a.remove();return}a.selector=o}catch{return i=!1,!1}}),!i||s.nodes.length===0?null:(t[1]=s.nodes[0],t)}function ka(t){return t.parent&&t.parent.type==="atrule"&&t.parent.name==="keyframes"}function PP(t){if(t===!0)return e=>{ka(e)||e.walkDecls(r=>{r.parent.type==="rule"&&!ka(r.parent)&&(r.important=!0)})};if(typeof t=="string")return e=>{ka(e)||(e.selectors=e.selectors.map(r=>xa(r,t)))}}function _a(t,e,r=!1){let i=[],n=PP(e.tailwindConfig.important);for(let s of t){if(e.notClassCache.has(s))continue;if(e.candidateRuleCache.has(s)){i=i.concat(Array.from(e.candidateRuleCache.get(s)));continue}let a=Array.from(Du(s,e));if(a.length===0){e.notClassCache.add(s);continue}e.classCache.set(s,a);let o=e.candidateRuleCache.get(s)??new Set;e.candidateRuleCache.set(s,o);for(let l of a){let[{sort:c,options:f},d]=l;if(f.respectImportant&&n){let m=le.root({nodes:[d.clone()]});m.walkRules(n),d=m.nodes[0]}let p=[c,r?d.clone():d];o.add(p),e.ruleCache.add(p),i.push(p)}}return i}function qu(t){return t.startsWith("[")&&t.endsWith("]")}var Sa,yP,SP,Aa=D(()=>{u();rr();Sa=Te(_t());wu();qr();ca();Ri();rt();ar();Cu();bu();Pi();bn();ku();yr();qt();Pu();yP=(0,Sa.default)(t=>t.first.filter(({type:e})=>e==="class").pop().value);SP=/^[a-z_-]/});var wy,vy=D(()=>{u();wy={}});function RP(t){try{return wy.createHash("md5").update(t,"utf-8").digest("binary")}catch(e){return""}}function by(t,e){let r=e.toString();if(!r.includes("@tailwind"))return!1;let i=Su.get(t),n=RP(r),s=i!==n;return Su.set(t,n),s}var xy=D(()=>{u();vy();ar()});function Ea(t){return(t>0n)-(t<0n)}var Sy=D(()=>{u()});function ky(t,e){let r=0n,i=0n;for(let[n,s]of e)t&n&&(r=r|n,i=i|s);return t&~r|i}var _y=D(()=>{u()});function Ay(t){let e=null;for(let r of t)e=e??r,e=e>r?e:r;return e}function IP(t,e){let r=t.length,i=e.length,n=r<i?r:i;for(let s=0;s<n;s++){let a=t.charCodeAt(s)-e.charCodeAt(s);if(a!==0)return a}return r-i}var Lu,Ty=D(()=>{u();Sy();_y();Lu=class{constructor(){this.offsets={defaults:0n,base:0n,components:0n,utilities:0n,variants:0n,user:0n},this.layerPositions={defaults:0n,base:1n,components:2n,utilities:3n,user:4n,variants:5n},this.reservedVariantBits=0n,this.variantOffsets=new Map}create(e){return{layer:e,parentLayer:e,arbitrary:0n,variants:0n,parallelIndex:0n,index:this.offsets[e]++,propertyOffset:0n,property:"",options:[]}}arbitraryProperty(e){return{...this.create("utilities"),arbitrary:1n,property:e}}forVariant(e,r=0){let i=this.variantOffsets.get(e);if(i===void 0)throw new Error(`Cannot find offset for unknown variant ${e}`);return{...this.create("variants"),variants:i<<BigInt(r)}}applyVariantOffset(e,r,i){return i.variant=r.variants,{...e,layer:"variants",parentLayer:e.layer==="variants"?e.parentLayer:e.layer,variants:e.variants|r.variants,options:i.sort?[].concat(i,e.options):e.options,parallelIndex:Ay([e.parallelIndex,r.parallelIndex])}}applyParallelOffset(e,r){return{...e,parallelIndex:BigInt(r)}}recordVariants(e,r){for(let i of e)this.recordVariant(i,r(i))}recordVariant(e,r=1){return this.variantOffsets.set(e,1n<<this.reservedVariantBits),this.reservedVariantBits+=BigInt(r),{...this.create("variants"),variants:this.variantOffsets.get(e)}}compare(e,r){if(e.layer!==r.layer)return this.layerPositions[e.layer]-this.layerPositions[r.layer];if(e.parentLayer!==r.parentLayer)return this.layerPositions[e.parentLayer]-this.layerPositions[r.parentLayer];for(let i of e.options)for(let n of r.options){if(i.id!==n.id||!i.sort||!n.sort)continue;let s=Ay([i.variant,n.variant])??0n,a=~(s|s-1n),o=e.variants&a,l=r.variants&a;if(o!==l)continue;let c=i.sort({value:i.value,modifier:i.modifier},{value:n.value,modifier:n.modifier});if(c!==0)return c}return e.variants!==r.variants?e.variants-r.variants:e.parallelIndex!==r.parallelIndex?e.parallelIndex-r.parallelIndex:e.arbitrary!==r.arbitrary?e.arbitrary-r.arbitrary:e.propertyOffset!==r.propertyOffset?e.propertyOffset-r.propertyOffset:e.index-r.index}recalculateVariantOffsets(){let e=Array.from(this.variantOffsets.entries()).filter(([n])=>n.startsWith("[")).sort(([n],[s])=>IP(n,s)),r=e.map(([,n])=>n).sort((n,s)=>Ea(n-s));return e.map(([,n],s)=>[n,r[s]]).filter(([n,s])=>n!==s)}remapArbitraryVariantOffsets(e){let r=this.recalculateVariantOffsets();return r.length===0?e:e.map(i=>{let[n,s]=i;return n={...n,variants:ky(n.variants,r)},[n,s]})}sortArbitraryProperties(e){let r=new Set;for(let[a]of e)a.arbitrary===1n&&r.add(a.property);if(r.size===0)return e;let i=Array.from(r).sort(),n=new Map,s=1n;for(let a of i)n.set(a,s++);return e.map(a=>{let[o,l]=a;return o={...o,propertyOffset:n.get(o.property)??0n},[o,l]})}sort(e){return e=this.remapArbitraryVariantOffsets(e),e=this.sortArbitraryProperties(e),e.sort(([r],[i])=>Ea(this.compare(r,i)))}}});function $u(t,e){let r=t.tailwindConfig.prefix;return typeof r=="function"?r(e):r+e}function Cy({type:t="any",...e}){let r=[].concat(t);return{...e,types:r.map(i=>Array.isArray(i)?{type:i[0],...i[1]}:{type:i,preferOnConflict:!1})}}function DP(t){let e=[],r="",i=0;for(let n=0;n<t.length;n++){let s=t[n];if(s==="\\")r+="\\"+t[++n];else if(s==="{")++i,e.push(r.trim()),r="";else if(s==="}"){if(--i<0)throw new Error("Your { and } are unbalanced.");e.push(r.trim()),r=""}else r+=s}return r.length>0&&e.push(r.trim()),e=e.filter(n=>n!==""),e}function qP(t,e,{before:r=[]}={}){if(r=[].concat(r),r.length<=0){t.push(e);return}let i=t.length-1;for(let n of r){let s=t.indexOf(n);s!==-1&&(i=Math.min(i,s))}t.splice(i,0,e)}function Oy(t){return Array.isArray(t)?t.flatMap(e=>!Array.isArray(e)&&!Be(e)?e:Wr(e)):Oy([t])}function LP(t,e){return(0,Bu.default)(i=>{let n=[];return e&&e(i),i.walkClasses(s=>{n.push(s.value)}),n}).transformSync(t)}function BP(t){t.walkPseudos(e=>{e.value===":not"&&e.remove()})}function MP(t,e={containsNonOnDemandable:!1},r=0){let i=[],n=[];t.type==="rule"?n.push(...t.selectors):t.type==="atrule"&&t.walkRules(s=>n.push(...s.selectors));for(let s of n){let a=LP(s,BP);a.length===0&&(e.containsNonOnDemandable=!0);for(let o of a)i.push(o)}return r===0?[e.containsNonOnDemandable||i.length===0,i]:i}function Ca(t){return Oy(t).flatMap(e=>{let r=new Map,[i,n]=MP(e);return i&&n.unshift($t),n.map(s=>(r.has(e)||r.set(e,e),[s,r.get(e)]))})}function Ta(t){return t.startsWith("@")||t.includes("&")}function Sn(t){t=t.replace(/\n+/g,"").replace(/\s{1,}/g," ").trim();let e=DP(t).map(r=>{if(!r.startsWith("@"))return({format:s})=>s(r);let[,i,n]=/@(\S*)( .+|[({].*)?/g.exec(r);return({wrap:s})=>s(le.atRule({name:i,params:n?.trim()??""}))}).reverse();return r=>{for(let i of e)i(r)}}function NP(t,e,{variantList:r,variantMap:i,offsets:n,classList:s}){function a(p,m){return p?(0,Ey.default)(t,p,m):t}function o(p){return Gr(t.prefix,p)}function l(p,m){return p===$t?$t:m.respectPrefix?e.tailwindConfig.prefix+p:p}function c(p,m,w={}){let S=Kt(p),v=a(["theme",...S],m);return Nt(S[0])(v,w)}let f=0,d={postcss:le,prefix:o,e:Ve,config:a,theme:c,corePlugins:p=>Array.isArray(t.corePlugins)?t.corePlugins.includes(p):a(["corePlugins",p],!0),variants:()=>[],addBase(p){for(let[m,w]of Ca(p)){let S=l(m,{}),v=n.create("base");e.candidateRuleMap.has(S)||e.candidateRuleMap.set(S,[]),e.candidateRuleMap.get(S).push([{sort:v,layer:"base"},w])}},addDefaults(p,m){let w={[`@defaults ${p}`]:m};for(let[S,v]of Ca(w)){let b=l(S,{});e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("defaults"),layer:"defaults"},v])}},addComponents(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!1},Array.isArray(m)?{}:m);for(let[S,v]of Ca(p)){let b=l(S,m);s.add(b),e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("components"),layer:"components",options:m},v])}},addUtilities(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!0},Array.isArray(m)?{}:m);for(let[S,v]of Ca(p)){let b=l(S,m);s.add(b),e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("utilities"),layer:"utilities",options:m},v])}},matchUtilities:function(p,m){m=Cy({...{respectPrefix:!0,respectImportant:!0,modifiers:!1},...m});let S=n.create("utilities");for(let v in p){let A=function(P,{isOnlyPlugin:F}){let[N,R,W]=No(m.types,P,m,t);if(N===void 0)return[];if(!m.types.some(({type:Q})=>Q===R))if(F)te.warn([`Unnecessary typehint \`${R}\` in \`${v}-${P}\`.`,`You can safely update it to \`${v}-${P.replace(R+":","")}\`.`]);else return[];if(!Yr(N))return[];let re={get modifier(){return m.modifiers||te.warn(`modifier-used-without-options-for-${v}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),W}},E=De(t,"generalizedModifiers");return[].concat(E?_(N,re):_(N)).filter(Boolean).map(Q=>({[pa(v,P)]:Q}))},b=l(v,m),_=p[v];s.add([b,m]);let O=[{sort:S,layer:"utilities",options:m},A];e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push(O)}},matchComponents:function(p,m){m=Cy({...{respectPrefix:!0,respectImportant:!1,modifiers:!1},...m});let S=n.create("components");for(let v in p){let A=function(P,{isOnlyPlugin:F}){let[N,R,W]=No(m.types,P,m,t);if(N===void 0)return[];if(!m.types.some(({type:Q})=>Q===R))if(F)te.warn([`Unnecessary typehint \`${R}\` in \`${v}-${P}\`.`,`You can safely update it to \`${v}-${P.replace(R+":","")}\`.`]);else return[];if(!Yr(N))return[];let re={get modifier(){return m.modifiers||te.warn(`modifier-used-without-options-for-${v}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),W}},E=De(t,"generalizedModifiers");return[].concat(E?_(N,re):_(N)).filter(Boolean).map(Q=>({[pa(v,P)]:Q}))},b=l(v,m),_=p[v];s.add([b,m]);let O=[{sort:S,layer:"components",options:m},A];e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push(O)}},addVariant(p,m,w={}){m=[].concat(m).map(S=>{if(typeof S!="string")return(v={})=>{let{args:b,modifySelectors:_,container:A,separator:O,wrap:P,format:F}=v,N=S(Object.assign({modifySelectors:_,container:A,separator:O},w.type===Mu.MatchVariant&&{args:b,wrap:P,format:F}));if(typeof N=="string"&&!Ta(N))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Array.isArray(N)?N.filter(R=>typeof R=="string").map(R=>Sn(R)):N&&typeof N=="string"&&Sn(N)(v)};if(!Ta(S))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Sn(S)}),qP(r,p,w),i.set(p,m),e.variantOptions.set(p,w)},matchVariant(p,m,w){let S=w?.id??++f,v=p==="@",b=De(t,"generalizedModifiers");for(let[A,O]of Object.entries(w?.values??{}))A!=="DEFAULT"&&d.addVariant(v?`${p}${A}`:`${p}-${A}`,({args:P,container:F})=>m(O,b?{modifier:P?.modifier,container:F}:{container:F}),{...w,value:O,id:S,type:Mu.MatchVariant,variantInfo:Nu.Base});let _="DEFAULT"in(w?.values??{});d.addVariant(p,({args:A,container:O})=>A?.value===xn&&!_?null:m(A?.value===xn?w.values.DEFAULT:A?.value??(typeof A=="string"?A:""),b?{modifier:A?.modifier,container:O}:{container:O}),{...w,id:S,type:Mu.MatchVariant,variantInfo:Nu.Dynamic})}};return d}function Oa(t){return Fu.has(t)||Fu.set(t,new Map),Fu.get(t)}function Py(t,e){let r=!1,i=new Map;for(let n of t){if(!n)continue;let s=Vo.parse(n),a=s.hash?s.href.replace(s.hash,""):s.href;a=s.search?a.replace(s.search,""):a;let o=Ie.statSync(decodeURIComponent(a),{throwIfNoEntry:!1})?.mtimeMs;!o||((!e.has(n)||o>e.get(n))&&(r=!0),i.set(n,o))}return[r,i]}function Ry(t){t.walkAtRules(e=>{["responsive","variants"].includes(e.name)&&(Ry(e),e.before(e.nodes),e.remove())})}function $P(t){let e=[];return t.each(r=>{r.type==="atrule"&&["responsive","variants"].includes(r.name)&&(r.name="layer",r.params="utilities")}),t.walkAtRules("layer",r=>{if(Ry(r),r.params==="base"){for(let i of r.nodes)e.push(function({addBase:n}){n(i,{respectPrefix:!1})});r.remove()}else if(r.params==="components"){for(let i of r.nodes)e.push(function({addComponents:n}){n(i,{respectPrefix:!1,preserveSource:!0})});r.remove()}else if(r.params==="utilities"){for(let i of r.nodes)e.push(function({addUtilities:n}){n(i,{respectPrefix:!1,preserveSource:!0})});r.remove()}}),e}function FP(t,e){let r=Object.entries({...me,...ay}).map(([l,c])=>t.tailwindConfig.corePlugins.includes(l)?c:null).filter(Boolean),i=t.tailwindConfig.plugins.map(l=>(l.__isOptionsFunction&&(l=l()),typeof l=="function"?l:l.handler)),n=$P(e),s=[me.childVariant,me.pseudoElementVariants,me.pseudoClassVariants,me.hasVariants,me.ariaVariants,me.dataVariants],a=[me.supportsVariants,me.reducedMotionVariants,me.prefersContrastVariants,me.screenVariants,me.orientationVariants,me.directionVariants,me.darkVariants,me.forcedColorsVariants,me.printVariant];return(t.tailwindConfig.darkMode==="class"||Array.isArray(t.tailwindConfig.darkMode)&&t.tailwindConfig.darkMode[0]==="class")&&(a=[me.supportsVariants,me.reducedMotionVariants,me.prefersContrastVariants,me.darkVariants,me.screenVariants,me.orientationVariants,me.directionVariants,me.forcedColorsVariants,me.printVariant]),[...r,...s,...i,...a,...n]}function zP(t,e){let r=[],i=new Map;e.variantMap=i;let n=new Lu;e.offsets=n;let s=new Set,a=NP(e.tailwindConfig,e,{variantList:r,variantMap:i,offsets:n,classList:s});for(let f of t)if(Array.isArray(f))for(let d of f)d(a);else f?.(a);n.recordVariants(r,f=>i.get(f).length);for(let[f,d]of i.entries())e.variantMap.set(f,d.map((p,m)=>[n.forVariant(f,m),p]));let o=(e.tailwindConfig.safelist??[]).filter(Boolean);if(o.length>0){let f=[];for(let d of o){if(typeof d=="string"){e.changedContent.push({content:d,extension:"html"});continue}if(d instanceof RegExp){te.warn("root-regex",["Regular expressions in `safelist` work differently in Tailwind CSS v3.0.","Update your `safelist` configuration to eliminate this warning.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"]);continue}f.push(d)}if(f.length>0){let d=new Map,p=e.tailwindConfig.prefix.length,m=f.some(w=>w.pattern.source.includes("!"));for(let w of s){let S=Array.isArray(w)?(()=>{let[v,b]=w,A=Object.keys(b?.values??{}).map(O=>vn(v,O));return b?.supportsNegativeValues&&(A=[...A,...A.map(O=>"-"+O)],A=[...A,...A.map(O=>O.slice(0,p)+"-"+O.slice(p))]),b.types.some(({type:O})=>O==="color")&&(A=[...A,...A.flatMap(O=>Object.keys(e.tailwindConfig.theme.opacity).map(P=>`${O}/${P}`))]),m&&b?.respectImportant&&(A=[...A,...A.map(O=>"!"+O)]),A})():[w];for(let v of S)for(let{pattern:b,variants:_=[]}of f)if(b.lastIndex=0,d.has(b)||d.set(b,0),!!b.test(v)){d.set(b,d.get(b)+1),e.changedContent.push({content:v,extension:"html"});for(let A of _)e.changedContent.push({content:A+e.tailwindConfig.separator+v,extension:"html"})}}for(let[w,S]of d.entries())S===0&&te.warn([`The safelist pattern \`${w}\` doesn't match any Tailwind CSS classes.`,"Fix this pattern or remove it from your `safelist` configuration.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"])}}let l=[].concat(e.tailwindConfig.darkMode??"media")[1]??"dark",c=[$u(e,l),$u(e,"group"),$u(e,"peer")];e.getClassOrder=function(d){let p=[...d].sort((v,b)=>v===b?0:v<b?-1:1),m=new Map(p.map(v=>[v,null])),w=_a(new Set(p),e,!0);w=e.offsets.sort(w);let S=BigInt(c.length);for(let[,v]of w){let b=v.raws.tailwind.candidate;m.set(b,m.get(b)??S++)}return d.map(v=>{let b=m.get(v)??null,_=c.indexOf(v);return b===null&&_!==-1&&(b=BigInt(_)),[v,b]})},e.getClassList=function(d={}){let p=[];for(let m of s)if(Array.isArray(m)){let[w,S]=m,v=[],b=Object.keys(S?.modifiers??{});S?.types?.some(({type:O})=>O==="color")&&b.push(...Object.keys(e.tailwindConfig.theme.opacity??{}));let _={modifiers:b},A=d.includeMetadata&&b.length>0;for(let[O,P]of Object.entries(S?.values??{})){if(P==null)continue;let F=vn(w,O);if(p.push(A?[F,_]:F),S?.supportsNegativeValues&&Yt(P)){let N=vn(w,`-${O}`);v.push(A?[N,_]:N)}}p.push(...v)}else p.push(m);return p},e.getVariants=function(){let d=Math.random().toString(36).substring(7).toUpperCase(),p=[];for(let[m,w]of e.variantOptions.entries())w.variantInfo!==Nu.Base&&p.push({name:m,isArbitrary:w.type===Symbol.for("MATCH_VARIANT"),values:Object.keys(w.values??{}),hasDash:m!=="@",selectors({modifier:S,value:v}={}){let b=`TAILWINDPLACEHOLDER${d}`,_=le.rule({selector:`.${b}`}),A=le.root({nodes:[_.clone()]}),O=A.toString(),P=(e.variantMap.get(m)??[]).flatMap(([ce,T])=>T),F=[];for(let ce of P){let T=[],C={args:{modifier:S,value:w.values?.[v]??v},separator:e.tailwindConfig.separator,modifySelectors(X){return A.each(Ue=>{Ue.type==="rule"&&(Ue.selectors=Ue.selectors.map(Ye=>X({get className(){return Ru(Ye)},selector:Ye})))}),A},format(X){T.push(X)},wrap(X){T.push(`@${X.name} ${X.params} { & }`)},container:A},Ce=ce(C);if(T.length>0&&F.push(T),Array.isArray(Ce))for(let X of Ce)T=[],X(C),F.push(T)}let N=[],R=A.toString();O!==R&&(A.walkRules(ce=>{let T=ce.selector,C=(0,Bu.default)(Ce=>{Ce.walkClasses(X=>{X.value=`${m}${e.tailwindConfig.separator}${X.value}`})}).processSync(T);N.push(T.replace(C,"&").replace(b,"&"))}),A.walkAtRules(ce=>{N.push(`@${ce.name} (${ce.params}) { & }`)}));let W=!(v in(w.values??{})),re=w[sr]??{},E=(()=>!(W||re.respectPrefix===!1))();F=F.map(ce=>ce.map(T=>({format:T,respectPrefix:E}))),N=N.map(ce=>({format:ce,respectPrefix:E}));let J={candidate:b,context:e},Q=F.map(ce=>ba(`.${b}`,Xr(ce,J),J).replace(`.${b}`,"&").replace("{ & }","").trim());return N.length>0&&Q.push(Xr(N,J).toString().replace(`.${b}`,"&")),Q}});return p}}function Iy(t,e){!t.classCache.has(e)||(t.notClassCache.add(e),t.classCache.delete(e),t.applyClassCache.delete(e),t.candidateRuleMap.delete(e),t.candidateRuleCache.delete(e),t.stylesheetCache=null)}function jP(t,e){let r=e.raws.tailwind.candidate;if(!!r){for(let i of t.ruleCache)i[1].raws.tailwind.candidate===r&&t.ruleCache.delete(i);Iy(t,r)}}function zu(t,e=[],r=le.root()){let i={disposables:[],ruleCache:new Set,candidateRuleCache:new Map,classCache:new Map,applyClassCache:new Map,notClassCache:new Set(t.blocklist??[]),postCssNodeCache:new Map,candidateRuleMap:new Map,tailwindConfig:t,changedContent:e,variantMap:new Map,stylesheetCache:null,variantOptions:new Map,markInvalidUtilityCandidate:s=>Iy(i,s),markInvalidUtilityNode:s=>jP(i,s)},n=FP(i,r);return zP(n,i),i}function Dy(t,e,r,i,n,s){let a=e.opts.from,o=i!==null;wt.DEBUG&&console.log("Source path:",a);let l;if(o&&Zr.has(a))l=Zr.get(a);else if(kn.has(n)){let p=kn.get(n);or.get(p).add(a),Zr.set(a,p),l=p}let c=by(a,t);if(l){let[p,m]=Py([...s],Oa(l));if(!p&&!c)return[l,!1,m]}if(Zr.has(a)){let p=Zr.get(a);if(or.has(p)&&(or.get(p).delete(a),or.get(p).size===0)){or.delete(p);for(let[m,w]of kn)w===p&&kn.delete(m);for(let m of p.disposables.splice(0))m(p)}}wt.DEBUG&&console.log("Setting up new context...");let f=zu(r,[],t);Object.assign(f,{userConfigPath:i});let[,d]=Py([...s],Oa(f));return kn.set(n,f),Zr.set(a,f),or.has(f)||or.set(f,new Set),or.get(f).add(a),[f,!0,d]}var Ey,Bu,sr,Mu,Nu,Fu,Zr,kn,or,bn=D(()=>{u();Dt();Wo();rr();Ey=Te(hl()),Bu=Te(_t());yn();wu();ca();qr();Qr();bu();Ri();oy();ar();ar();ms();rt();ps();ku();Aa();xy();Ty();qt();Cu();sr=Symbol(),Mu={AddVariant:Symbol.for("ADD_VARIANT"),MatchVariant:Symbol.for("MATCH_VARIANT")},Nu={Base:1<<0,Dynamic:1<<1};Fu=new WeakMap;Zr=ly,kn=uy,or=wa});function ju(t){return t.ignore?[]:t.glob?g.env.ROLLUP_WATCH==="true"?[{type:"dependency",file:t.base}]:[{type:"dir-dependency",dir:t.base,glob:t.glob}]:[{type:"dependency",file:t.base}]}var qy=D(()=>{u()});function Ly(t,e){return{handler:t,config:e}}var By,My=D(()=>{u();Ly.withOptions=function(t,e=()=>({})){let r=function(i){return{__options:i,handler:t(i),config:e(i)}};return r.__isOptionsFunction=!0,r.__pluginFunction=t,r.__configFunction=e,r};By=Ly});var Sr={};dt(Sr,{default:()=>UP});var UP,kr=D(()=>{u();My();UP=By});var $y=x((K9,Ny)=>{u();var HP=(kr(),Sr).default,VP={overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical"},WP=HP(function({matchUtilities:t,addUtilities:e,theme:r,variants:i}){let n=r("lineClamp");t({"line-clamp":s=>({...VP,"-webkit-line-clamp":`${s}`})},{values:n}),e([{".line-clamp-none":{"-webkit-line-clamp":"unset"}}],i("lineClamp"))},{theme:{lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"}},variants:{lineClamp:["responsive"]}});Ny.exports=WP});function Uu(t){t.content.files.length===0&&te.warn("content-problems",["The `content` option in your Tailwind CSS configuration is missing or empty.","Configure your content sources or your generated CSS will be missing styles.","https://tailwindcss.com/docs/content-configuration"]);try{let e=$y();t.plugins.includes(e)&&(te.warn("line-clamp-in-core",["As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.","Remove it from the `plugins` array in your configuration to eliminate this warning."]),t.plugins=t.plugins.filter(r=>r!==e))}catch{}return t}var Fy=D(()=>{u();rt()});var zy,jy=D(()=>{u();zy=()=>!1});var Pa,Uy=D(()=>{u();Pa={sync:t=>[].concat(t),generateTasks:t=>[{dynamic:!1,base:".",negative:[],positive:[].concat(t),patterns:[].concat(t)}],escapePath:t=>t}});var Hu,Hy=D(()=>{u();Hu=t=>t});var Vy,Wy=D(()=>{u();Vy=()=>""});function Gy(t){let e=t,r=Vy(t);return r!=="."&&(e=t.substr(r.length),e.charAt(0)==="/"&&(e=e.substr(1))),e.substr(0,2)==="./"?e=e.substr(2):e.charAt(0)==="/"&&(e=e.substr(1)),{base:r,glob:e}}var Qy=D(()=>{u();Wy()});var Ra=x(ot=>{u();"use strict";ot.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;ot.find=(t,e)=>t.nodes.find(r=>r.type===e);ot.exceedsLimit=(t,e,r=1,i)=>i===!1||!ot.isInteger(t)||!ot.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;ot.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};ot.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;ot.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;ot.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;ot.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);ot.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n<i.length;n++){let s=i[n];if(Array.isArray(s)){r(s);continue}s!==void 0&&e.push(s)}return e};return r(t),e}});var Ia=x((aj,Ky)=>{u();"use strict";var Yy=Ra();Ky.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&Yy.isInvalidBrace(n),a=i.invalid===!0&&e.escapeInvalid===!0,o="";if(i.value)return(s||a)&&Yy.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)o+=r(l);return o};return r(t)}});var Zy=x((oj,Xy)=>{u();"use strict";Xy.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var o0=x((lj,a0)=>{u();"use strict";var Jy=Zy(),_r=(t,e,r)=>{if(Jy(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(Jy(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...r};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),a=String(i.capture),o=String(i.wrap),l=t+":"+e+"="+n+s+a+o;if(_r.cache.hasOwnProperty(l))return _r.cache[l].result;let c=Math.min(t,e),f=Math.max(t,e);if(Math.abs(c-f)===1){let S=t+"|"+e;return i.capture?`(${S})`:i.wrap===!1?S:`(?:${S})`}let d=s0(t)||s0(e),p={min:t,max:e,a:c,b:f},m=[],w=[];if(d&&(p.isPadded=d,p.maxLen=String(p.max).length),c<0){let S=f<0?Math.abs(f):1;w=e0(S,Math.abs(c),p,i),c=p.a=0}return f>=0&&(m=e0(c,f,p,i)),p.negatives=w,p.positives=m,p.result=GP(w,m,i),i.capture===!0?p.result=`(${p.result})`:i.wrap!==!1&&m.length+w.length>1&&(p.result=`(?:${p.result})`),_r.cache[l]=p,p.result};function GP(t,e,r){let i=Vu(t,e,"-",!1,r)||[],n=Vu(e,t,"",!1,r)||[],s=Vu(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function QP(t,e){let r=1,i=1,n=r0(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=r0(t,r);for(n=i0(e+1,i)-1;t<n&&n<=e;)s.add(n),i+=1,n=i0(e+1,i)-1;return s=[...s],s.sort(XP),s}function YP(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let i=KP(t,e),n=i.length,s="",a=0;for(let o=0;o<n;o++){let[l,c]=i[o];l===c?s+=l:l!=="0"||c!=="9"?s+=ZP(l,c,r):a++}return a&&(s+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[a],digits:n}}function e0(t,e,r,i){let n=QP(t,e),s=[],a=t,o;for(let l=0;l<n.length;l++){let c=n[l],f=YP(String(a),String(c),i),d="";if(!r.isPadded&&o&&o.pattern===f.pattern){o.count.length>1&&o.count.pop(),o.count.push(f.count[0]),o.string=o.pattern+n0(o.count),a=c+1;continue}r.isPadded&&(d=JP(c,r,i)),f.string=d+f.pattern+n0(f.count),s.push(f),a=c+1,o=f}return s}function Vu(t,e,r,i,n){let s=[];for(let a of t){let{string:o}=a;!i&&!t0(e,"string",o)&&s.push(r+o),i&&t0(e,"string",o)&&s.push(r+o)}return s}function KP(t,e){let r=[];for(let i=0;i<t.length;i++)r.push([t[i],e[i]]);return r}function XP(t,e){return t>e?1:e>t?-1:0}function t0(t,e,r){return t.some(i=>i[e]===r)}function r0(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function i0(t,e){return t-t%Math.pow(10,e)}function n0(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function ZP(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function s0(t){return/^-?(0+)\d/.test(t)}function JP(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}_r.cache={};_r.clearCache=()=>_r.cache={};a0.exports=_r});var Qu=x((uj,h0)=>{u();"use strict";var eR=(na(),ia),l0=o0(),u0=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),tR=t=>e=>t===!0?Number(e):String(e),Wu=t=>typeof t=="number"||typeof t=="string"&&t!=="",_n=t=>Number.isInteger(+t),Gu=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},rR=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,iR=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},Da=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},nR=(t,e,r)=>{t.negatives.sort((o,l)=>o<l?-1:o>l?1:0),t.positives.sort((o,l)=>o<l?-1:o>l?1:0);let i=e.capture?"":"?:",n="",s="",a;return t.positives.length&&(n=t.positives.map(o=>Da(String(o),r)).join("|")),t.negatives.length&&(s=`-(${i}${t.negatives.map(o=>Da(String(o),r)).join("|")})`),n&&s?a=`${n}|${s}`:a=n||s,e.wrap?`(${i}${a})`:a},f0=(t,e,r,i)=>{if(r)return l0(t,e,{wrap:!1,...i});let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},c0=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return l0(t,e,r)},p0=(...t)=>new RangeError("Invalid range arguments: "+eR.inspect(...t)),d0=(t,e,r)=>{if(r.strictRanges===!0)throw p0([t,e]);return[]},sR=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},aR=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw p0([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let a=n>s,o=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let f=Gu(o)||Gu(l)||Gu(c),d=f?Math.max(o.length,l.length,c.length):0,p=f===!1&&rR(t,e,i)===!1,m=i.transform||tR(p);if(i.toRegex&&r===1)return f0(Da(t,d),Da(e,d),!0,i);let w={negatives:[],positives:[]},S=_=>w[_<0?"negatives":"positives"].push(Math.abs(_)),v=[],b=0;for(;a?n>=s:n<=s;)i.toRegex===!0&&r>1?S(n):v.push(iR(m(n,b),d,p)),n=a?n-r:n+r,b++;return i.toRegex===!0?r>1?nR(w,i,d):c0(v,null,{wrap:!1,...i}):v},oR=(t,e,r=1,i={})=>{if(!_n(t)&&t.length>1||!_n(e)&&e.length>1)return d0(t,e,i);let n=i.transform||(p=>String.fromCharCode(p)),s=`${t}`.charCodeAt(0),a=`${e}`.charCodeAt(0),o=s>a,l=Math.min(s,a),c=Math.max(s,a);if(i.toRegex&&r===1)return f0(l,c,!1,i);let f=[],d=0;for(;o?s>=a:s<=a;)f.push(n(s,d)),s=o?s-r:s+r,d++;return i.toRegex===!0?c0(f,null,{wrap:!1,options:i}):f},qa=(t,e,r,i={})=>{if(e==null&&Wu(t))return[t];if(!Wu(t)||!Wu(e))return d0(t,e,i);if(typeof r=="function")return qa(t,e,1,{transform:r});if(u0(r))return qa(t,e,0,r);let n={...i};return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,_n(r)?_n(t)&&_n(e)?aR(t,e,r,n):oR(t,e,Math.max(Math.abs(r),1),n):r!=null&&!u0(r)?sR(r,n):qa(t,e,1,r)};h0.exports=qa});var y0=x((fj,g0)=>{u();"use strict";var lR=Qu(),m0=Ra(),uR=(t,e={})=>{let r=(i,n={})=>{let s=m0.isInvalidBrace(n),a=i.invalid===!0&&e.escapeInvalid===!0,o=s===!0||a===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0)return l+i.value;if(i.isClose===!0)return console.log("node.isClose",l,i.value),l+i.value;if(i.type==="open")return o?l+i.value:"(";if(i.type==="close")return o?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":o?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let f=m0.reduce(i.nodes),d=lR(...f,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(d.length!==0)return f.length>1&&d.length>1?`(${d})`:d}if(i.nodes)for(let f of i.nodes)c+=r(f,i);return c};return r(t)};g0.exports=uR});var b0=x((cj,v0)=>{u();"use strict";var fR=Qu(),w0=Ia(),Jr=Ra(),Ar=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Jr.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Ar(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Ar(n,s,r):n+s);return Jr.flatten(i)},cR=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let a=s,o=s.queue;for(;a.type!=="brace"&&a.type!=="root"&&a.parent;)a=a.parent,o=a.queue;if(n.invalid||n.dollar){o.push(Ar(o.pop(),w0(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){o.push(Ar(o.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let d=Jr.reduce(n.nodes);if(Jr.exceedsLimit(...d,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let p=fR(...d,e);p.length===0&&(p=w0(n,e)),o.push(Ar(o.pop(),p)),n.nodes=[];return}let l=Jr.encloseBrace(n),c=n.queue,f=n;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,c=f.queue;for(let d=0;d<n.nodes.length;d++){let p=n.nodes[d];if(p.type==="comma"&&n.type==="brace"){d===1&&c.push(""),c.push("");continue}if(p.type==="close"){o.push(Ar(o.pop(),c,l));continue}if(p.value&&p.type!=="open"){c.push(Ar(c.pop(),p.value));continue}p.nodes&&i(p,n)}return c};return Jr.flatten(i(t))};v0.exports=cR});var S0=x((pj,x0)=>{u();"use strict";x0.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
+`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"	",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var E0=x((dj,T0)=>{u();"use strict";var pR=Ia(),{MAX_LENGTH:k0,CHAR_BACKSLASH:Yu,CHAR_BACKTICK:dR,CHAR_COMMA:hR,CHAR_DOT:mR,CHAR_LEFT_PARENTHESES:gR,CHAR_RIGHT_PARENTHESES:yR,CHAR_LEFT_CURLY_BRACE:wR,CHAR_RIGHT_CURLY_BRACE:vR,CHAR_LEFT_SQUARE_BRACKET:_0,CHAR_RIGHT_SQUARE_BRACKET:A0,CHAR_DOUBLE_QUOTE:bR,CHAR_SINGLE_QUOTE:xR,CHAR_NO_BREAK_SPACE:SR,CHAR_ZERO_WIDTH_NOBREAK_SPACE:kR}=S0(),_R=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(k0,r.maxLength):k0;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],a=n,o=n,l=0,c=t.length,f=0,d=0,p,m=()=>t[f++],w=S=>{if(S.type==="text"&&o.type==="dot"&&(o.type="text"),o&&o.type==="text"&&S.type==="text"){o.value+=S.value;return}return a.nodes.push(S),S.parent=a,S.prev=o,o=S,S};for(w({type:"bos"});f<c;)if(a=s[s.length-1],p=m(),!(p===kR||p===SR)){if(p===Yu){w({type:"text",value:(e.keepEscaping?p:"")+m()});continue}if(p===A0){w({type:"text",value:"\\"+p});continue}if(p===_0){l++;let S;for(;f<c&&(S=m());){if(p+=S,S===_0){l++;continue}if(S===Yu){p+=m();continue}if(S===A0&&(l--,l===0))break}w({type:"text",value:p});continue}if(p===gR){a=w({type:"paren",nodes:[]}),s.push(a),w({type:"text",value:p});continue}if(p===yR){if(a.type!=="paren"){w({type:"text",value:p});continue}a=s.pop(),w({type:"text",value:p}),a=s[s.length-1];continue}if(p===bR||p===xR||p===dR){let S=p,v;for(e.keepQuotes!==!0&&(p="");f<c&&(v=m());){if(v===Yu){p+=v+m();continue}if(v===S){e.keepQuotes===!0&&(p+=v);break}p+=v}w({type:"text",value:p});continue}if(p===wR){d++;let S=o.value&&o.value.slice(-1)==="$"||a.dollar===!0;a=w({type:"brace",open:!0,close:!1,dollar:S,depth:d,commas:0,ranges:0,nodes:[]}),s.push(a),w({type:"open",value:p});continue}if(p===vR){if(a.type!=="brace"){w({type:"text",value:p});continue}let S="close";a=s.pop(),a.close=!0,w({type:S,value:p}),d--,a=s[s.length-1];continue}if(p===hR&&d>0){if(a.ranges>0){a.ranges=0;let S=a.nodes.shift();a.nodes=[S,{type:"text",value:pR(a)}]}w({type:"comma",value:p}),a.commas++;continue}if(p===mR&&d>0&&a.commas===0){let S=a.nodes;if(d===0||S.length===0){w({type:"text",value:p});continue}if(o.type==="dot"){if(a.range=[],o.value+=p,o.type="range",a.nodes.length!==3&&a.nodes.length!==5){a.invalid=!0,a.ranges=0,o.type="text";continue}a.ranges++,a.args=[];continue}if(o.type==="range"){S.pop();let v=S[S.length-1];v.value+=o.value+p,o=v,a.ranges--;continue}w({type:"dot",value:p});continue}w({type:"text",value:p})}do if(a=s.pop(),a.type!=="root"){a.nodes.forEach(b=>{b.nodes||(b.type==="open"&&(b.isOpen=!0),b.type==="close"&&(b.isClose=!0),b.nodes||(b.type="text"),b.invalid=!0)});let S=s[s.length-1],v=S.nodes.indexOf(a);S.nodes.splice(v,1,...a.nodes)}while(s.length>0);return w({type:"eos"}),n};T0.exports=_R});var P0=x((hj,O0)=>{u();"use strict";var C0=Ia(),AR=y0(),TR=b0(),ER=E0(),Je=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Je.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Je.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Je.parse=(t,e={})=>ER(t,e);Je.stringify=(t,e={})=>typeof t=="string"?C0(Je.parse(t,e),e):C0(t,e);Je.compile=(t,e={})=>(typeof t=="string"&&(t=Je.parse(t,e)),AR(t,e));Je.expand=(t,e={})=>{typeof t=="string"&&(t=Je.parse(t,e));let r=TR(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Je.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Je.compile(t,e):Je.expand(t,e);O0.exports=Je});var An=x((mj,L0)=>{u();"use strict";var CR=(xt(),qi),Et="\\\\/",R0=`[^${Et}]`,Ft="\\.",OR="\\+",PR="\\?",La="\\/",RR="(?=.)",I0="[^/]",Ku=`(?:${La}|$)`,D0=`(?:^|${La})`,Xu=`${Ft}{1,2}${Ku}`,IR=`(?!${Ft})`,DR=`(?!${D0}${Xu})`,qR=`(?!${Ft}{0,1}${Ku})`,LR=`(?!${Xu})`,BR=`[^.${La}]`,MR=`${I0}*?`,q0={DOT_LITERAL:Ft,PLUS_LITERAL:OR,QMARK_LITERAL:PR,SLASH_LITERAL:La,ONE_CHAR:RR,QMARK:I0,END_ANCHOR:Ku,DOTS_SLASH:Xu,NO_DOT:IR,NO_DOTS:DR,NO_DOT_SLASH:qR,NO_DOTS_SLASH:LR,QMARK_NO_DOT:BR,STAR:MR,START_ANCHOR:D0},NR={...q0,SLASH_LITERAL:`[${Et}]`,QMARK:R0,STAR:`${R0}*?`,DOTS_SLASH:`${Ft}{1,2}(?:[${Et}]|$)`,NO_DOT:`(?!${Ft})`,NO_DOTS:`(?!(?:^|[${Et}])${Ft}{1,2}(?:[${Et}]|$))`,NO_DOT_SLASH:`(?!${Ft}{0,1}(?:[${Et}]|$))`,NO_DOTS_SLASH:`(?!${Ft}{1,2}(?:[${Et}]|$))`,QMARK_NO_DOT:`[^.${Et}]`,START_ANCHOR:`(?:^|[${Et}])`,END_ANCHOR:`(?:[${Et}]|$)`},$R={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};L0.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:$R,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:CR.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?NR:q0}}});var Tn=x(We=>{u();"use strict";var FR=(xt(),qi),zR=g.platform==="win32",{REGEX_BACKSLASH:jR,REGEX_REMOVE_BACKSLASH:UR,REGEX_SPECIAL_CHARS:HR,REGEX_SPECIAL_CHARS_GLOBAL:VR}=An();We.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);We.hasRegexChars=t=>HR.test(t);We.isRegexChar=t=>t.length===1&&We.hasRegexChars(t);We.escapeRegex=t=>t.replace(VR,"\\$1");We.toPosixSlashes=t=>t.replace(jR,"/");We.removeBackslashes=t=>t.replace(UR,e=>e==="\\"?"":e);We.supportsLookbehinds=()=>{let t=g.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};We.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:zR===!0||FR.sep==="\\";We.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?We.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};We.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};We.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var U0=x((yj,j0)=>{u();"use strict";var B0=Tn(),{CHAR_ASTERISK:Zu,CHAR_AT:WR,CHAR_BACKWARD_SLASH:En,CHAR_COMMA:GR,CHAR_DOT:Ju,CHAR_EXCLAMATION_MARK:ef,CHAR_FORWARD_SLASH:M0,CHAR_LEFT_CURLY_BRACE:tf,CHAR_LEFT_PARENTHESES:rf,CHAR_LEFT_SQUARE_BRACKET:QR,CHAR_PLUS:YR,CHAR_QUESTION_MARK:N0,CHAR_RIGHT_CURLY_BRACE:KR,CHAR_RIGHT_PARENTHESES:$0,CHAR_RIGHT_SQUARE_BRACKET:XR}=An(),F0=t=>t===M0||t===En,z0=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},ZR=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],a=[],o=[],l=t,c=-1,f=0,d=0,p=!1,m=!1,w=!1,S=!1,v=!1,b=!1,_=!1,A=!1,O=!1,P=!1,F=0,N,R,W={value:"",depth:0,isGlob:!1},re=()=>c>=i,E=()=>l.charCodeAt(c+1),J=()=>(N=R,l.charCodeAt(++c));for(;c<i;){R=J();let Ce;if(R===En){_=W.backslashes=!0,R=J(),R===tf&&(b=!0);continue}if(b===!0||R===tf){for(F++;re()!==!0&&(R=J());){if(R===En){_=W.backslashes=!0,J();continue}if(R===tf){F++;continue}if(b!==!0&&R===Ju&&(R=J())===Ju){if(p=W.isBrace=!0,w=W.isGlob=!0,P=!0,n===!0)continue;break}if(b!==!0&&R===GR){if(p=W.isBrace=!0,w=W.isGlob=!0,P=!0,n===!0)continue;break}if(R===KR&&(F--,F===0)){b=!1,p=W.isBrace=!0,P=!0;break}}if(n===!0)continue;break}if(R===M0){if(s.push(c),a.push(W),W={value:"",depth:0,isGlob:!1},P===!0)continue;if(N===Ju&&c===f+1){f+=2;continue}d=c+1;continue}if(r.noext!==!0&&(R===YR||R===WR||R===Zu||R===N0||R===ef)===!0&&E()===rf){if(w=W.isGlob=!0,S=W.isExtglob=!0,P=!0,R===ef&&c===f&&(O=!0),n===!0){for(;re()!==!0&&(R=J());){if(R===En){_=W.backslashes=!0,R=J();continue}if(R===$0){w=W.isGlob=!0,P=!0;break}}continue}break}if(R===Zu){if(N===Zu&&(v=W.isGlobstar=!0),w=W.isGlob=!0,P=!0,n===!0)continue;break}if(R===N0){if(w=W.isGlob=!0,P=!0,n===!0)continue;break}if(R===QR){for(;re()!==!0&&(Ce=J());){if(Ce===En){_=W.backslashes=!0,J();continue}if(Ce===XR){m=W.isBracket=!0,w=W.isGlob=!0,P=!0;break}}if(n===!0)continue;break}if(r.nonegate!==!0&&R===ef&&c===f){A=W.negated=!0,f++;continue}if(r.noparen!==!0&&R===rf){if(w=W.isGlob=!0,n===!0){for(;re()!==!0&&(R=J());){if(R===rf){_=W.backslashes=!0,R=J();continue}if(R===$0){P=!0;break}}continue}break}if(w===!0){if(P=!0,n===!0)continue;break}}r.noext===!0&&(S=!1,w=!1);let Q=l,ce="",T="";f>0&&(ce=l.slice(0,f),l=l.slice(f),d-=f),Q&&w===!0&&d>0?(Q=l.slice(0,d),T=l.slice(d)):w===!0?(Q="",T=l):Q=l,Q&&Q!==""&&Q!=="/"&&Q!==l&&F0(Q.charCodeAt(Q.length-1))&&(Q=Q.slice(0,-1)),r.unescape===!0&&(T&&(T=B0.removeBackslashes(T)),Q&&_===!0&&(Q=B0.removeBackslashes(Q)));let C={prefix:ce,input:t,start:f,base:Q,glob:T,isBrace:p,isBracket:m,isGlob:w,isExtglob:S,isGlobstar:v,negated:A,negatedExtglob:O};if(r.tokens===!0&&(C.maxDepth=0,F0(R)||a.push(W),C.tokens=a),r.parts===!0||r.tokens===!0){let Ce;for(let X=0;X<s.length;X++){let Ue=Ce?Ce+1:f,Ye=s[X],Ke=t.slice(Ue,Ye);r.tokens&&(X===0&&f!==0?(a[X].isPrefix=!0,a[X].value=ce):a[X].value=Ke,z0(a[X]),C.maxDepth+=a[X].depth),(X!==0||Ke!=="")&&o.push(Ke),Ce=Ye}if(Ce&&Ce+1<t.length){let X=t.slice(Ce+1);o.push(X),r.tokens&&(a[a.length-1].value=X,z0(a[a.length-1]),C.maxDepth+=a[a.length-1].depth)}C.slashes=s,C.parts=o}return C};j0.exports=ZR});var W0=x((wj,V0)=>{u();"use strict";var Ba=An(),et=Tn(),{MAX_LENGTH:Ma,POSIX_REGEX_SOURCE:JR,REGEX_NON_SPECIAL_CHARS:eI,REGEX_SPECIAL_CHARS_BACKREF:tI,REPLACEMENTS:H0}=Ba,rI=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>et.escapeRegex(n)).join("..")}return r},ei=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,nf=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=H0[t]||t;let r={...e},i=typeof r.maxLength=="number"?Math.min(Ma,r.maxLength):Ma,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},a=[s],o=r.capture?"":"?:",l=et.isWindows(e),c=Ba.globChars(l),f=Ba.extglobChars(c),{DOT_LITERAL:d,PLUS_LITERAL:p,SLASH_LITERAL:m,ONE_CHAR:w,DOTS_SLASH:S,NO_DOT:v,NO_DOT_SLASH:b,NO_DOTS_SLASH:_,QMARK:A,QMARK_NO_DOT:O,STAR:P,START_ANCHOR:F}=c,N=z=>`(${o}(?:(?!${F}${z.dot?S:d}).)*?)`,R=r.dot?"":v,W=r.dot?A:O,re=r.bash===!0?N(r):P;r.capture&&(re=`(${re})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let E={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};t=et.removePrefix(t,E),n=t.length;let J=[],Q=[],ce=[],T=s,C,Ce=()=>E.index===n-1,X=E.peek=(z=1)=>t[E.index+z],Ue=E.advance=()=>t[++E.index]||"",Ye=()=>t.slice(E.index+1),Ke=(z="",we=0)=>{E.consumed+=z,E.index+=we},as=z=>{E.output+=z.output!=null?z.output:z.value,Ke(z.value)},O_=()=>{let z=1;for(;X()==="!"&&(X(2)!=="("||X(3)==="?");)Ue(),E.start++,z++;return z%2==0?!1:(E.negated=!0,E.start++,!0)},os=z=>{E[z]++,ce.push(z)},mr=z=>{E[z]--,ce.pop()},ee=z=>{if(T.type==="globstar"){let we=E.braces>0&&(z.type==="comma"||z.type==="brace"),L=z.extglob===!0||J.length&&(z.type==="pipe"||z.type==="paren");z.type!=="slash"&&z.type!=="paren"&&!we&&!L&&(E.output=E.output.slice(0,-T.output.length),T.type="star",T.value="*",T.output=re,E.output+=T.output)}if(J.length&&z.type!=="paren"&&(J[J.length-1].inner+=z.value),(z.value||z.output)&&as(z),T&&T.type==="text"&&z.type==="text"){T.value+=z.value,T.output=(T.output||"")+z.value;return}z.prev=T,a.push(z),T=z},ls=(z,we)=>{let L={...f[we],conditions:1,inner:""};L.prev=T,L.parens=E.parens,L.output=E.output;let Z=(r.capture?"(":"")+L.open;os("parens"),ee({type:z,value:we,output:E.output?"":w}),ee({type:"paren",extglob:!0,value:Ue(),output:Z}),J.push(L)},P_=z=>{let we=z.close+(r.capture?")":""),L;if(z.type==="negate"){let Z=re;if(z.inner&&z.inner.length>1&&z.inner.includes("/")&&(Z=N(r)),(Z!==re||Ce()||/^\)+$/.test(Ye()))&&(we=z.close=`)$))${Z}`),z.inner.includes("*")&&(L=Ye())&&/^\.[^\\/.]+$/.test(L)){let Ae=nf(L,{...e,fastpaths:!1}).output;we=z.close=`)${Ae})${Z})`}z.prev.type==="bos"&&(E.negatedExtglob=!0)}ee({type:"paren",extglob:!0,value:C,output:we}),mr("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let z=!1,we=t.replace(tI,(L,Z,Ae,Fe,Re,_o)=>Fe==="\\"?(z=!0,L):Fe==="?"?Z?Z+Fe+(Re?A.repeat(Re.length):""):_o===0?W+(Re?A.repeat(Re.length):""):A.repeat(Ae.length):Fe==="."?d.repeat(Ae.length):Fe==="*"?Z?Z+Fe+(Re?re:""):re:Z?L:`\\${L}`);return z===!0&&(r.unescape===!0?we=we.replace(/\\/g,""):we=we.replace(/\\+/g,L=>L.length%2==0?"\\\\":L?"\\":"")),we===t&&r.contains===!0?(E.output=t,E):(E.output=et.wrapOutput(we,E,e),E)}for(;!Ce();){if(C=Ue(),C==="\0")continue;if(C==="\\"){let L=X();if(L==="/"&&r.bash!==!0||L==="."||L===";")continue;if(!L){C+="\\",ee({type:"text",value:C});continue}let Z=/^\\+/.exec(Ye()),Ae=0;if(Z&&Z[0].length>2&&(Ae=Z[0].length,E.index+=Ae,Ae%2!=0&&(C+="\\")),r.unescape===!0?C=Ue():C+=Ue(),E.brackets===0){ee({type:"text",value:C});continue}}if(E.brackets>0&&(C!=="]"||T.value==="["||T.value==="[^")){if(r.posix!==!1&&C===":"){let L=T.value.slice(1);if(L.includes("[")&&(T.posix=!0,L.includes(":"))){let Z=T.value.lastIndexOf("["),Ae=T.value.slice(0,Z),Fe=T.value.slice(Z+2),Re=JR[Fe];if(Re){T.value=Ae+Re,E.backtrack=!0,Ue(),!s.output&&a.indexOf(T)===1&&(s.output=w);continue}}}(C==="["&&X()!==":"||C==="-"&&X()==="]")&&(C=`\\${C}`),C==="]"&&(T.value==="["||T.value==="[^")&&(C=`\\${C}`),r.posix===!0&&C==="!"&&T.value==="["&&(C="^"),T.value+=C,as({value:C});continue}if(E.quotes===1&&C!=='"'){C=et.escapeRegex(C),T.value+=C,as({value:C});continue}if(C==='"'){E.quotes=E.quotes===1?0:1,r.keepQuotes===!0&&ee({type:"text",value:C});continue}if(C==="("){os("parens"),ee({type:"paren",value:C});continue}if(C===")"){if(E.parens===0&&r.strictBrackets===!0)throw new SyntaxError(ei("opening","("));let L=J[J.length-1];if(L&&E.parens===L.parens+1){P_(J.pop());continue}ee({type:"paren",value:C,output:E.parens?")":"\\)"}),mr("parens");continue}if(C==="["){if(r.nobracket===!0||!Ye().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(ei("closing","]"));C=`\\${C}`}else os("brackets");ee({type:"bracket",value:C});continue}if(C==="]"){if(r.nobracket===!0||T&&T.type==="bracket"&&T.value.length===1){ee({type:"text",value:C,output:`\\${C}`});continue}if(E.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(ei("opening","["));ee({type:"text",value:C,output:`\\${C}`});continue}mr("brackets");let L=T.value.slice(1);if(T.posix!==!0&&L[0]==="^"&&!L.includes("/")&&(C=`/${C}`),T.value+=C,as({value:C}),r.literalBrackets===!1||et.hasRegexChars(L))continue;let Z=et.escapeRegex(T.value);if(E.output=E.output.slice(0,-T.value.length),r.literalBrackets===!0){E.output+=Z,T.value=Z;continue}T.value=`(${o}${Z}|${T.value})`,E.output+=T.value;continue}if(C==="{"&&r.nobrace!==!0){os("braces");let L={type:"brace",value:C,output:"(",outputIndex:E.output.length,tokensIndex:E.tokens.length};Q.push(L),ee(L);continue}if(C==="}"){let L=Q[Q.length-1];if(r.nobrace===!0||!L){ee({type:"text",value:C,output:C});continue}let Z=")";if(L.dots===!0){let Ae=a.slice(),Fe=[];for(let Re=Ae.length-1;Re>=0&&(a.pop(),Ae[Re].type!=="brace");Re--)Ae[Re].type!=="dots"&&Fe.unshift(Ae[Re].value);Z=rI(Fe,r),E.backtrack=!0}if(L.comma!==!0&&L.dots!==!0){let Ae=E.output.slice(0,L.outputIndex),Fe=E.tokens.slice(L.tokensIndex);L.value=L.output="\\{",C=Z="\\}",E.output=Ae;for(let Re of Fe)E.output+=Re.output||Re.value}ee({type:"brace",value:C,output:Z}),mr("braces"),Q.pop();continue}if(C==="|"){J.length>0&&J[J.length-1].conditions++,ee({type:"text",value:C});continue}if(C===","){let L=C,Z=Q[Q.length-1];Z&&ce[ce.length-1]==="braces"&&(Z.comma=!0,L="|"),ee({type:"comma",value:C,output:L});continue}if(C==="/"){if(T.type==="dot"&&E.index===E.start+1){E.start=E.index+1,E.consumed="",E.output="",a.pop(),T=s;continue}ee({type:"slash",value:C,output:m});continue}if(C==="."){if(E.braces>0&&T.type==="dot"){T.value==="."&&(T.output=d);let L=Q[Q.length-1];T.type="dots",T.output+=C,T.value+=C,L.dots=!0;continue}if(E.braces+E.parens===0&&T.type!=="bos"&&T.type!=="slash"){ee({type:"text",value:C,output:d});continue}ee({type:"dot",value:C,output:d});continue}if(C==="?"){if(!(T&&T.value==="(")&&r.noextglob!==!0&&X()==="("&&X(2)!=="?"){ls("qmark",C);continue}if(T&&T.type==="paren"){let Z=X(),Ae=C;if(Z==="<"&&!et.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(T.value==="("&&!/[!=<:]/.test(Z)||Z==="<"&&!/<([!=]|\w+>)/.test(Ye()))&&(Ae=`\\${C}`),ee({type:"text",value:C,output:Ae});continue}if(r.dot!==!0&&(T.type==="slash"||T.type==="bos")){ee({type:"qmark",value:C,output:O});continue}ee({type:"qmark",value:C,output:A});continue}if(C==="!"){if(r.noextglob!==!0&&X()==="("&&(X(2)!=="?"||!/[!=<:]/.test(X(3)))){ls("negate",C);continue}if(r.nonegate!==!0&&E.index===0){O_();continue}}if(C==="+"){if(r.noextglob!==!0&&X()==="("&&X(2)!=="?"){ls("plus",C);continue}if(T&&T.value==="("||r.regex===!1){ee({type:"plus",value:C,output:p});continue}if(T&&(T.type==="bracket"||T.type==="paren"||T.type==="brace")||E.parens>0){ee({type:"plus",value:C});continue}ee({type:"plus",value:p});continue}if(C==="@"){if(r.noextglob!==!0&&X()==="("&&X(2)!=="?"){ee({type:"at",extglob:!0,value:C,output:""});continue}ee({type:"text",value:C});continue}if(C!=="*"){(C==="$"||C==="^")&&(C=`\\${C}`);let L=eI.exec(Ye());L&&(C+=L[0],E.index+=L[0].length),ee({type:"text",value:C});continue}if(T&&(T.type==="globstar"||T.star===!0)){T.type="star",T.star=!0,T.value+=C,T.output=re,E.backtrack=!0,E.globstar=!0,Ke(C);continue}let z=Ye();if(r.noextglob!==!0&&/^\([^?]/.test(z)){ls("star",C);continue}if(T.type==="star"){if(r.noglobstar===!0){Ke(C);continue}let L=T.prev,Z=L.prev,Ae=L.type==="slash"||L.type==="bos",Fe=Z&&(Z.type==="star"||Z.type==="globstar");if(r.bash===!0&&(!Ae||z[0]&&z[0]!=="/")){ee({type:"star",value:C,output:""});continue}let Re=E.braces>0&&(L.type==="comma"||L.type==="brace"),_o=J.length&&(L.type==="pipe"||L.type==="paren");if(!Ae&&L.type!=="paren"&&!Re&&!_o){ee({type:"star",value:C,output:""});continue}for(;z.slice(0,3)==="/**";){let us=t[E.index+4];if(us&&us!=="/")break;z=z.slice(3),Ke("/**",3)}if(L.type==="bos"&&Ce()){T.type="globstar",T.value+=C,T.output=N(r),E.output=T.output,E.globstar=!0,Ke(C);continue}if(L.type==="slash"&&L.prev.type!=="bos"&&!Fe&&Ce()){E.output=E.output.slice(0,-(L.output+T.output).length),L.output=`(?:${L.output}`,T.type="globstar",T.output=N(r)+(r.strictSlashes?")":"|$)"),T.value+=C,E.globstar=!0,E.output+=L.output+T.output,Ke(C);continue}if(L.type==="slash"&&L.prev.type!=="bos"&&z[0]==="/"){let us=z[1]!==void 0?"|$":"";E.output=E.output.slice(0,-(L.output+T.output).length),L.output=`(?:${L.output}`,T.type="globstar",T.output=`${N(r)}${m}|${m}${us})`,T.value+=C,E.output+=L.output+T.output,E.globstar=!0,Ke(C+Ue()),ee({type:"slash",value:"/",output:""});continue}if(L.type==="bos"&&z[0]==="/"){T.type="globstar",T.value+=C,T.output=`(?:^|${m}|${N(r)}${m})`,E.output=T.output,E.globstar=!0,Ke(C+Ue()),ee({type:"slash",value:"/",output:""});continue}E.output=E.output.slice(0,-T.output.length),T.type="globstar",T.output=N(r),T.value+=C,E.output+=T.output,E.globstar=!0,Ke(C);continue}let we={type:"star",value:C,output:re};if(r.bash===!0){we.output=".*?",(T.type==="bos"||T.type==="slash")&&(we.output=R+we.output),ee(we);continue}if(T&&(T.type==="bracket"||T.type==="paren")&&r.regex===!0){we.output=C,ee(we);continue}(E.index===E.start||T.type==="slash"||T.type==="dot")&&(T.type==="dot"?(E.output+=b,T.output+=b):r.dot===!0?(E.output+=_,T.output+=_):(E.output+=R,T.output+=R),X()!=="*"&&(E.output+=w,T.output+=w)),ee(we)}for(;E.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(ei("closing","]"));E.output=et.escapeLast(E.output,"["),mr("brackets")}for(;E.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(ei("closing",")"));E.output=et.escapeLast(E.output,"("),mr("parens")}for(;E.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(ei("closing","}"));E.output=et.escapeLast(E.output,"{"),mr("braces")}if(r.strictSlashes!==!0&&(T.type==="star"||T.type==="bracket")&&ee({type:"maybe_slash",value:"",output:`${m}?`}),E.backtrack===!0){E.output="";for(let z of E.tokens)E.output+=z.output!=null?z.output:z.value,z.suffix&&(E.output+=z.suffix)}return E};nf.fastpaths=(t,e)=>{let r={...e},i=typeof r.maxLength=="number"?Math.min(Ma,r.maxLength):Ma,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=H0[t]||t;let s=et.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:o,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:f,NO_DOTS:d,NO_DOTS_SLASH:p,STAR:m,START_ANCHOR:w}=Ba.globChars(s),S=r.dot?d:f,v=r.dot?p:f,b=r.capture?"":"?:",_={negated:!1,prefix:""},A=r.bash===!0?".*?":m;r.capture&&(A=`(${A})`);let O=R=>R.noglobstar===!0?A:`(${b}(?:(?!${w}${R.dot?c:a}).)*?)`,P=R=>{switch(R){case"*":return`${S}${l}${A}`;case".*":return`${a}${l}${A}`;case"*.*":return`${S}${A}${a}${l}${A}`;case"*/*":return`${S}${A}${o}${l}${v}${A}`;case"**":return S+O(r);case"**/*":return`(?:${S}${O(r)}${o})?${v}${l}${A}`;case"**/*.*":return`(?:${S}${O(r)}${o})?${v}${A}${a}${l}${A}`;case"**/.*":return`(?:${S}${O(r)}${o})?${a}${l}${A}`;default:{let W=/^(.*?)\.(\w+)$/.exec(R);if(!W)return;let re=P(W[1]);return re?re+a+W[2]:void 0}}},F=et.removePrefix(t,_),N=P(F);return N&&r.strictSlashes!==!0&&(N+=`${o}?`),N};V0.exports=nf});var Q0=x((vj,G0)=>{u();"use strict";var iI=(xt(),qi),nI=U0(),sf=W0(),af=Tn(),sI=An(),aI=t=>t&&typeof t=="object"&&!Array.isArray(t),Ee=(t,e,r=!1)=>{if(Array.isArray(t)){let f=t.map(p=>Ee(p,e,r));return p=>{for(let m of f){let w=m(p);if(w)return w}return!1}}let i=aI(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=af.isWindows(e),a=i?Ee.compileRe(t,e):Ee.makeRe(t,e,!1,!0),o=a.state;delete a.state;let l=()=>!1;if(n.ignore){let f={...e,ignore:null,onMatch:null,onResult:null};l=Ee(n.ignore,f,r)}let c=(f,d=!1)=>{let{isMatch:p,match:m,output:w}=Ee.test(f,a,e,{glob:t,posix:s}),S={glob:t,state:o,regex:a,posix:s,input:f,output:w,match:m,isMatch:p};return typeof n.onResult=="function"&&n.onResult(S),p===!1?(S.isMatch=!1,d?S:!1):l(f)?(typeof n.onIgnore=="function"&&n.onIgnore(S),S.isMatch=!1,d?S:!1):(typeof n.onMatch=="function"&&n.onMatch(S),d?S:!0)};return r&&(c.state=o),c};Ee.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},a=s.format||(n?af.toPosixSlashes:null),o=t===i,l=o&&a?a(t):t;return o===!1&&(l=a?a(t):t,o=l===i),(o===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?o=Ee.matchBase(t,e,r,n):o=e.exec(l)),{isMatch:Boolean(o),match:o,output:l}};Ee.matchBase=(t,e,r,i=af.isWindows(r))=>(e instanceof RegExp?e:Ee.makeRe(e,r)).test(iI.basename(t));Ee.isMatch=(t,e,r)=>Ee(e,r)(t);Ee.parse=(t,e)=>Array.isArray(t)?t.map(r=>Ee.parse(r,e)):sf(t,{...e,fastpaths:!1});Ee.scan=(t,e)=>nI(t,e);Ee.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",a=n.contains?"":"$",o=`${s}(?:${t.output})${a}`;t&&t.negated===!0&&(o=`^(?!${o}).*$`);let l=Ee.toRegex(o,e);return i===!0&&(l.state=t),l};Ee.makeRe=(t,e={},r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(n.output=sf.fastpaths(t,e)),n.output||(n=sf(t,e)),Ee.compileRe(n,e,r,i)};Ee.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Ee.constants=sI;G0.exports=Ee});var K0=x((bj,Y0)=>{u();"use strict";Y0.exports=Q0()});var rw=x((xj,tw)=>{u();"use strict";var X0=(na(),ia),Z0=P0(),Ct=K0(),of=Tn(),J0=t=>t===""||t==="./",ew=t=>{let e=t.indexOf("{");return e>-1&&t.indexOf("}",e)>-1},ve=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,a=0,o=f=>{s.add(f.output),r&&r.onResult&&r.onResult(f)};for(let f=0;f<e.length;f++){let d=Ct(String(e[f]),{...r,onResult:o},!0),p=d.state.negated||d.state.negatedExtglob;p&&a++;for(let m of t){let w=d(m,!0);!(p?!w.isMatch:w.isMatch)||(p?i.add(w.output):(i.delete(w.output),n.add(w.output)))}}let c=(a===e.length?[...s]:[...n]).filter(f=>!i.has(f));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(f=>f.replace(/\\/g,"")):e}return c};ve.match=ve;ve.matcher=(t,e)=>Ct(t,e);ve.isMatch=(t,e,r)=>Ct(e,r)(t);ve.any=ve.isMatch;ve.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=o=>{r.onResult&&r.onResult(o),n.push(o.output)},a=new Set(ve(t,e,{...r,onResult:s}));for(let o of n)a.has(o)||i.add(o);return[...i]};ve.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${X0.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>ve.contains(t,i,r));if(typeof e=="string"){if(J0(t)||J0(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return ve.isMatch(t,e,{...r,contains:!0})};ve.matchKeys=(t,e,r)=>{if(!of.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=ve(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};ve.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Ct(String(n),r);if(i.some(a=>s(a)))return!0}return!1};ve.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Ct(String(n),r);if(!i.every(a=>s(a)))return!1}return!0};ve.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${X0.inspect(t)}"`);return[].concat(e).every(i=>Ct(i,r)(t))};ve.capture=(t,e,r)=>{let i=of.isWindows(r),s=Ct.makeRe(String(t),{...r,capture:!0}).exec(i?of.toPosixSlashes(e):e);if(s)return s.slice(1).map(a=>a===void 0?"":a)};ve.makeRe=(...t)=>Ct.makeRe(...t);ve.scan=(...t)=>Ct.scan(...t);ve.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of Z0(String(i),e))r.push(Ct.parse(n,e));return r};ve.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!ew(t)?[t]:Z0(t,e)};ve.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return ve.braces(t,{...e,expand:!0})};ve.hasBraces=ew;tw.exports=ve});function nw(t,e){let r=e.content.files;r=r.filter(o=>typeof o=="string"),r=r.map(Hu);let i=Pa.generateTasks(r),n=[],s=[];for(let o of i)n.push(...o.positive.map(l=>sw(l,!1))),s.push(...o.negative.map(l=>sw(l,!0)));let a=[...n,...s];return a=lI(t,a),a=a.flatMap(uI),a=a.map(oI),a}function sw(t,e){let r={original:t,base:t,ignore:e,pattern:t,glob:null};return zy(t)&&Object.assign(r,Gy(t)),r}function oI(t){let e=Hu(t.base);return e=Pa.escapePath(e),t.pattern=t.glob?`${e}/${t.glob}`:e,t.pattern=t.ignore?`!${t.pattern}`:t.pattern,t}function lI(t,e){let r=[];return t.userConfigPath&&t.tailwindConfig.content.relative&&(r=[Oe.dirname(t.userConfigPath)]),e.map(i=>(i.base=Oe.resolve(...r,i.base),i))}function uI(t){let e=[t];try{let r=Ie.realpathSync(t.base);r!==t.base&&e.push({...t,base:r})}catch{}return e}function aw(t,e,r){let i=t.tailwindConfig.content.files.filter(a=>typeof a.raw=="string").map(({raw:a,extension:o="html"})=>({content:a,extension:o})),[n,s]=cI(e,r);for(let a of n){let o=Oe.extname(a).slice(1);i.push({file:a,extension:o})}return[i,s]}function fI(t){if(!t.some(s=>s.includes("**")&&!lw.test(s)))return()=>{};let r=[],i=[];for(let s of t){let a=iw.default.matcher(s);lw.test(s)&&i.push(a),r.push(a)}let n=!1;return s=>{if(n||i.some(f=>f(s)))return;let a=r.findIndex(f=>f(s));if(a===-1)return;let o=t[a],l=Oe.relative(g.cwd(),o);l[0]!=="."&&(l=`./${l}`);let c=ow.find(f=>s.includes(f));c&&(n=!0,te.warn("broad-content-glob-pattern",[`Your \`content\` configuration includes a pattern which looks like it's accidentally matching all of \`${c}\` and can cause serious performance issues.`,`Pattern: \`${l}\``,"See our documentation for recommendations:","https://tailwindcss.com/docs/content-configuration#pattern-recommendations"]))}}function cI(t,e){let r=t.map(o=>o.pattern),i=new Map,n=fI(r),s=new Set;wt.DEBUG&&console.time("Finding changed files");let a=Pa.sync(r,{absolute:!0});for(let o of a){n(o);let l=e.get(o)||-1/0,c=Ie.statSync(o).mtimeMs;c>l&&(s.add(o),i.set(o,c))}return wt.DEBUG&&console.timeEnd("Finding changed files"),[s,i]}var iw,ow,lw,uw=D(()=>{u();Dt();xt();jy();Uy();Hy();Qy();ar();rt();iw=Te(rw());ow=["node_modules"],lw=new RegExp(`(${ow.map(t=>String.raw`\b${t}\b`).join("|")})`)});function fw(){}var cw=D(()=>{u()});function mI(t,e){for(let r of e){let i=`${t}${r}`;if(Ie.existsSync(i)&&Ie.statSync(i).isFile())return i}for(let r of e){let i=`${t}/index${r}`;if(Ie.existsSync(i))return i}return null}function*pw(t,e,r,i=Oe.extname(t)){let n=mI(Oe.resolve(e,t),pI.includes(i)?dI:hI);if(n===null||r.has(n))return;r.add(n),yield n,e=Oe.dirname(n),i=Oe.extname(n);let s=Ie.readFileSync(n,"utf-8");for(let a of[...s.matchAll(/import[\s\S]*?['"](.{3,}?)['"]/gi),...s.matchAll(/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi),...s.matchAll(/require\(['"`](.+)['"`]\)/gi)])!a[1].startsWith(".")||(yield*pw(a[1],e,r,i))}function lf(t){return t===null?new Set:new Set(pw(t,Oe.dirname(t),new Set))}var pI,dI,hI,dw=D(()=>{u();Dt();xt();pI=[".js",".cjs",".mjs"],dI=["",".js",".cjs",".mjs",".ts",".cts",".mts",".jsx",".tsx"],hI=["",".ts",".cts",".mts",".tsx",".js",".cjs",".mjs",".jsx"]});function gI(t,e){if(uf.has(t))return uf.get(t);let r=nw(t,e);return uf.set(t,r).get(t)}function yI(t){let e=Ho(t);if(e!==null){let[i,n,s,a]=mw.get(e)||[],o=lf(e),l=!1,c=new Map;for(let p of o){let m=Ie.statSync(p).mtimeMs;c.set(p,m),(!a||!a.has(p)||m>a.get(p))&&(l=!0)}if(!l)return[i,e,n,s];for(let p of o)delete sd.cache[p];let f=Uu(Di(fw(e))),d=cs(f);return mw.set(e,[f,d,o,c]),[f,e,d,o]}let r=Di(t?.config??t??{});return r=Uu(r),[r,null,cs(r),[]]}function ff(t){return({tailwindDirectives:e,registerDependency:r})=>(i,n)=>{let[s,a,o,l]=yI(t),c=new Set(l);if(e.size>0){c.add(n.opts.from);for(let w of n.messages)w.type==="dependency"&&c.add(w.file)}let[f,,d]=Dy(i,n,s,a,o,c),p=Oa(f),m=gI(f,s);if(e.size>0){for(let v of m)for(let b of ju(v))r(b);let[w,S]=aw(f,m,p);for(let v of w)f.changedContent.push(v);for(let[v,b]of S.entries())d.set(v,b)}for(let w of l)r({type:"dependency",file:w});for(let[w,S]of d.entries())p.set(w,S);return f}}var hw,mw,uf,gw=D(()=>{u();Dt();hw=Te(Ao());fd();Uo();Xd();bn();qy();Fy();uw();cw();dw();mw=new hw.default({maxSize:100}),uf=new WeakMap});function cf(t){let e=new Set,r=new Set,i=new Set;if(t.walkAtRules(n=>{n.name==="apply"&&i.add(n),n.name==="import"&&(n.params==='"tailwindcss/base"'||n.params==="'tailwindcss/base'"?(n.name="tailwind",n.params="base"):n.params==='"tailwindcss/components"'||n.params==="'tailwindcss/components'"?(n.name="tailwind",n.params="components"):n.params==='"tailwindcss/utilities"'||n.params==="'tailwindcss/utilities'"?(n.name="tailwind",n.params="utilities"):(n.params==='"tailwindcss/screens"'||n.params==="'tailwindcss/screens'"||n.params==='"tailwindcss/variants"'||n.params==="'tailwindcss/variants'")&&(n.name="tailwind",n.params="variants")),n.name==="tailwind"&&(n.params==="screens"&&(n.params="variants"),e.add(n.params)),["layer","responsive","variants"].includes(n.name)&&(["responsive","variants"].includes(n.name)&&te.warn(`${n.name}-at-rule-deprecated`,[`The \`@${n.name}\` directive has been deprecated in Tailwind CSS v3.0.`,"Use `@layer utilities` or `@layer components` instead.","https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer"]),r.add(n))}),!e.has("base")||!e.has("components")||!e.has("utilities")){for(let n of r)if(n.name==="layer"&&["base","components","utilities"].includes(n.params)){if(!e.has(n.params))throw n.error(`\`@layer ${n.params}\` is used but no matching \`@tailwind ${n.params}\` directive is present.`)}else if(n.name==="responsive"){if(!e.has("utilities"))throw n.error("`@responsive` is used but `@tailwind utilities` is missing.")}else if(n.name==="variants"&&!e.has("utilities"))throw n.error("`@variants` is used but `@tailwind utilities` is missing.")}return{tailwindDirectives:e,applyDirectives:i}}var yw=D(()=>{u();rt()});function Tr(t,e=void 0,r=void 0){return t.map(i=>{let n=i.clone();return r!==void 0&&(n.raws.tailwind={...n.raws.tailwind,...r}),e!==void 0&&ww(n,s=>{if(s.raws.tailwind?.preserveSource===!0&&s.source)return!1;s.source=e}),n})}function ww(t,e){e(t)!==!1&&t.each?.(r=>ww(r,e))}var vw=D(()=>{u()});function pf(t){return t=Array.isArray(t)?t:[t],t=t.map(e=>e instanceof RegExp?e.source:e),t.join("")}function tt(t){return new RegExp(pf(t),"g")}function lr(t){return`(?:${t.map(pf).join("|")})`}function df(t){return`(?:${pf(t)})?`}function xw(t){return t&&wI.test(t)?t.replace(bw,"\\$&"):t||""}var bw,wI,Sw=D(()=>{u();bw=/[\\^$.*+?()[\]{}|]/g,wI=RegExp(bw.source)});function kw(t){let e=Array.from(vI(t));return r=>{let i=[];for(let n of e)for(let s of r.match(n)??[])i.push(SI(s));for(let n of i.slice()){let s=qe(n,".");for(let a=0;a<s.length;a++){let o=s[a];if(a>=s.length-1){i.push(o);continue}let l=Number(s[a+1]);isNaN(l)?i.push(o):a++}}return i}}function*vI(t){let e=t.tailwindConfig.separator,r=t.tailwindConfig.prefix!==""?df(tt([/-?/,xw(t.tailwindConfig.prefix)])):"",i=lr([/\[[^\s:'"`]+:[^\s\[\]]+\]/,/\[[^\s:'"`\]]+:[^\s]+?\[[^\s]+\][^\s]+?\]/,tt([lr([/-?(?:\w+)/,/@(?:\w+)/]),df(lr([tt([lr([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s:\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\><$]*)?/]),tt([lr([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\$]*)?/]),/[-\/][^\s'"`\\$={><]*/]))])]),n=[lr([tt([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/,e]),tt([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]\/[\w_-]+/,e]),tt([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/,e]),tt([/[^\s"'`\[\\]+/,e])]),lr([tt([/([^\s"'`\[\\]+-)?\[[^\s`]+\]\/[\w_-]+/,e]),tt([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/,e]),tt([/[^\s`\[\\]+/,e])])];for(let s of n)yield tt(["((?=((",s,")+))\\2)?",/!?/,r,i]);yield/[^<>"'`\s.(){}[\]#=%$][^<>"'`\s(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g}function SI(t){if(!t.includes("-["))return t;let e=0,r=[],i=t.matchAll(bI);i=Array.from(i).flatMap(n=>{let[,...s]=n;return s.map((a,o)=>Object.assign([],n,{index:n.index+o,0:a}))});for(let n of i){let s=n[0],a=r[r.length-1];if(s===a?r.pop():(s==="'"||s==='"'||s==="`")&&r.push(s),!a){if(s==="["){e++;continue}else if(s==="]"){e--;continue}if(e<0)return t.substring(0,n.index-1);if(e===0&&!xI.test(s))return t.substring(0,n.index)}}return t}var bI,xI,_w=D(()=>{u();Sw();yr();bI=/([\[\]'"`])([^\[\]'"`])?/g,xI=/[^"'`\s<>\]]+/});function kI(t,e){let r=t.tailwindConfig.content.extract;return r[e]||r.DEFAULT||Tw[e]||Tw.DEFAULT(t)}function _I(t,e){let r=t.content.transform;return r[e]||r.DEFAULT||Ew[e]||Ew.DEFAULT}function AI(t,e,r,i){Cn.has(e)||Cn.set(e,new Aw.default({maxSize:25e3}));for(let n of t.split(`
+`))if(n=n.trim(),!i.has(n))if(i.add(n),Cn.get(e).has(n))for(let s of Cn.get(e).get(n))r.add(s);else{let s=e(n).filter(o=>o!=="!*"),a=new Set(s);for(let o of a)r.add(o);Cn.get(e).set(n,a)}}function TI(t,e){let r=e.offsets.sort(t),i={base:new Set,defaults:new Set,components:new Set,utilities:new Set,variants:new Set};for(let[n,s]of r)i[n.layer].add(s);return i}function hf(t){return async e=>{let r={base:null,components:null,utilities:null,variants:null};if(e.walkAtRules(v=>{v.name==="tailwind"&&Object.keys(r).includes(v.params)&&(r[v.params]=v)}),Object.values(r).every(v=>v===null))return e;let i=new Set([...t.candidates??[],$t]),n=new Set;zt.DEBUG&&console.time("Reading changed files");let s=[];for(let v of t.changedContent){let b=_I(t.tailwindConfig,v.extension),_=kI(t,v.extension);s.push([v,{transformer:b,extractor:_}])}let a=500;for(let v=0;v<s.length;v+=a){let b=s.slice(v,v+a);await Promise.all(b.map(async([{file:_,content:A},{transformer:O,extractor:P}])=>{A=_?await Ie.promises.readFile(_,"utf8"):A,AI(O(A),P,i,n)}))}zt.DEBUG&&console.timeEnd("Reading changed files");let o=t.classCache.size;zt.DEBUG&&console.time("Generate rules"),zt.DEBUG&&console.time("Sorting candidates");let l=new Set([...i].sort((v,b)=>v===b?0:v<b?-1:1));zt.DEBUG&&console.timeEnd("Sorting candidates"),_a(l,t),zt.DEBUG&&console.timeEnd("Generate rules"),zt.DEBUG&&console.time("Build stylesheet"),(t.stylesheetCache===null||t.classCache.size!==o)&&(t.stylesheetCache=TI([...t.ruleCache],t)),zt.DEBUG&&console.timeEnd("Build stylesheet");let{defaults:c,base:f,components:d,utilities:p,variants:m}=t.stylesheetCache;r.base&&(r.base.before(Tr([...c,...f],r.base.source,{layer:"base"})),r.base.remove()),r.components&&(r.components.before(Tr([...d],r.components.source,{layer:"components"})),r.components.remove()),r.utilities&&(r.utilities.before(Tr([...p],r.utilities.source,{layer:"utilities"})),r.utilities.remove());let w=Array.from(m).filter(v=>{let b=v.raws.tailwind?.parentLayer;return b==="components"?r.components!==null:b==="utilities"?r.utilities!==null:!0});r.variants?(r.variants.before(Tr(w,r.variants.source,{layer:"variants"})),r.variants.remove()):w.length>0&&e.append(Tr(w,e.source,{layer:"variants"})),e.source.end=e.source.end??e.source.start;let S=w.some(v=>v.raws.tailwind?.parentLayer==="utilities");r.utilities&&p.size===0&&!S&&te.warn("content-problems",["No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.","https://tailwindcss.com/docs/content-configuration"]),zt.DEBUG&&(console.log("Potential classes: ",i.size),console.log("Active contexts: ",wa.size)),t.changedContent=[],e.walkAtRules("layer",v=>{Object.keys(r).includes(v.params)&&v.remove()})}}var Aw,zt,Tw,Ew,Cn,Cw=D(()=>{u();Dt();Aw=Te(Ao());ar();Aa();rt();vw();_w();zt=wt,Tw={DEFAULT:kw},Ew={DEFAULT:t=>t,svelte:t=>t.replace(/(?:^|\s)class:/g," ")};Cn=new WeakMap});function $a(t){let e=new Map;le.root({nodes:[t.clone()]}).walkRules(s=>{(0,Na.default)(a=>{a.walkClasses(o=>{let l=o.parent.toString(),c=e.get(l);c||e.set(l,c=new Set),c.add(o.value)})}).processSync(s.selector)});let i=Array.from(e.values(),s=>Array.from(s)),n=i.flat();return Object.assign(n,{groups:i})}function mf(t){return EI.astSync(t)}function Ow(t,e){let r=new Set;for(let i of t)r.add(i.split(e).pop());return Array.from(r)}function Pw(t,e){let r=t.tailwindConfig.prefix;return typeof r=="function"?r(e):r+e}function*Rw(t){for(yield t;t.parent;)yield t.parent,t=t.parent}function CI(t,e={}){let r=t.nodes;t.nodes=[];let i=t.clone(e);return t.nodes=r,i}function OI(t){for(let e of Rw(t))if(t!==e){if(e.type==="root")break;t=CI(e,{nodes:[t]})}return t}function PI(t,e){let r=new Map;return t.walkRules(i=>{for(let a of Rw(i))if(a.raws.tailwind?.layer!==void 0)return;let n=OI(i),s=e.offsets.create("user");for(let a of $a(i)){let o=r.get(a)||[];r.set(a,o),o.push([{layer:"user",sort:s,important:!1},n])}}),r}function RI(t,e){for(let r of t){if(e.notClassCache.has(r)||e.applyClassCache.has(r))continue;if(e.classCache.has(r)){e.applyClassCache.set(r,e.classCache.get(r).map(([n,s])=>[n,s.clone()]));continue}let i=Array.from(Du(r,e));if(i.length===0){e.notClassCache.add(r);continue}e.applyClassCache.set(r,i)}return e.applyClassCache}function II(t){let e=null;return{get:r=>(e=e||t(),e.get(r)),has:r=>(e=e||t(),e.has(r))}}function DI(t){return{get:e=>t.flatMap(r=>r.get(e)||[]),has:e=>t.some(r=>r.has(e))}}function Iw(t){let e=t.split(/[\s\t\n]+/g);return e[e.length-1]==="!important"?[e.slice(0,-1),!0]:[e,!1]}function Dw(t,e,r){let i=new Set,n=[];if(t.walkAtRules("apply",l=>{let[c]=Iw(l.params);for(let f of c)i.add(f);n.push(l)}),n.length===0)return;let s=DI([r,RI(i,e)]);function a(l,c,f){let d=mf(l),p=mf(c),w=mf(`.${Ve(f)}`).nodes[0].nodes[0];return d.each(S=>{let v=new Set;p.each(b=>{let _=!1;b=b.clone(),b.walkClasses(A=>{A.value===w.value&&(_||(A.replaceWith(...S.nodes.map(O=>O.clone())),v.add(b),_=!0))})});for(let b of v){let _=[[]];for(let A of b.nodes)A.type==="combinator"?(_.push(A),_.push([])):_[_.length-1].push(A);b.nodes=[];for(let A of _)Array.isArray(A)&&A.sort((O,P)=>O.type==="tag"&&P.type==="class"?-1:O.type==="class"&&P.type==="tag"?1:O.type==="class"&&P.type==="pseudo"&&P.value.startsWith("::")?-1:O.type==="pseudo"&&O.value.startsWith("::")&&P.type==="class"?1:0),b.nodes=b.nodes.concat(A)}S.replaceWith(...v)}),d.toString()}let o=new Map;for(let l of n){let[c]=o.get(l.parent)||[[],l.source];o.set(l.parent,[c,l.source]);let[f,d]=Iw(l.params);if(l.parent.type==="atrule"){if(l.parent.name==="screen"){let p=l.parent.params;throw l.error(`@apply is not supported within nested at-rules like @screen. We suggest you write this as @apply ${f.map(m=>`${p}:${m}`).join(" ")} instead.`)}throw l.error(`@apply is not supported within nested at-rules like @${l.parent.name}. You can fix this by un-nesting @${l.parent.name}.`)}for(let p of f){if([Pw(e,"group"),Pw(e,"peer")].includes(p))throw l.error(`@apply should not be used with the '${p}' utility`);if(!s.has(p))throw l.error(`The \`${p}\` class does not exist. If \`${p}\` is a custom class, make sure it is defined within a \`@layer\` directive.`);let m=s.get(p);for(let[,w]of m)w.type!=="atrule"&&w.walkRules(()=>{throw l.error([`The \`${p}\` class cannot be used with \`@apply\` because \`@apply\` does not currently support nested CSS.`,"Rewrite the selector without nesting or configure the `tailwindcss/nesting` plugin:","https://tailwindcss.com/docs/using-with-preprocessors#nesting"].join(`
+`))});c.push([p,d,m])}}for(let[l,[c,f]]of o){let d=[];for(let[m,w,S]of c){let v=[m,...Ow([m],e.tailwindConfig.separator)];for(let[b,_]of S){let A=$a(l),O=$a(_);if(O=O.groups.filter(R=>R.some(W=>v.includes(W))).flat(),O=O.concat(Ow(O,e.tailwindConfig.separator)),A.some(R=>O.includes(R)))throw _.error(`You cannot \`@apply\` the \`${m}\` utility here because it creates a circular dependency.`);let F=le.root({nodes:[_.clone()]});F.walk(R=>{R.source=f}),(_.type!=="atrule"||_.type==="atrule"&&_.name!=="keyframes")&&F.walkRules(R=>{if(!$a(R).some(Q=>Q===m)){R.remove();return}let W=typeof e.tailwindConfig.important=="string"?e.tailwindConfig.important:null,E=l.raws.tailwind!==void 0&&W&&l.selector.indexOf(W)===0?l.selector.slice(W.length):l.selector;E===""&&(E=l.selector),R.selector=a(E,R.selector,m),W&&E!==l.selector&&(R.selector=xa(R.selector,W)),R.walkDecls(Q=>{Q.important=b.important||w});let J=(0,Na.default)().astSync(R.selector);J.each(Q=>Kr(Q)),R.selector=J.toString()}),!!F.nodes[0]&&d.push([b.sort,F.nodes[0]])}}let p=e.offsets.sort(d).map(m=>m[1]);l.after(p)}for(let l of n)l.parent.nodes.length>1?l.remove():l.parent.remove();Dw(t,e,r)}function gf(t){return e=>{let r=II(()=>PI(e,t));Dw(e,t,r)}}var Na,EI,qw=D(()=>{u();rr();Na=Te(_t());Aa();Qr();Pu();va();EI=(0,Na.default)()});var Lw=x((p7,Fa)=>{u();(function(){"use strict";function t(i,n,s){if(!i)return null;t.caseSensitive||(i=i.toLowerCase());var a=t.threshold===null?null:t.threshold*i.length,o=t.thresholdAbsolute,l;a!==null&&o!==null?l=Math.min(a,o):a!==null?l=a:o!==null?l=o:l=null;var c,f,d,p,m,w=n.length;for(m=0;m<w;m++)if(f=n[m],s&&(f=f[s]),!!f&&(t.caseSensitive?d=f:d=f.toLowerCase(),p=r(i,d,l),(l===null||p<l)&&(l=p,s&&t.returnWinningObject?c=n[m]:c=f,t.returnFirstMatch)))return c;return c||t.nullResultValue}t.threshold=.4,t.thresholdAbsolute=20,t.caseSensitive=!1,t.nullResultValue=null,t.returnWinningObject=null,t.returnFirstMatch=!1,typeof Fa!="undefined"&&Fa.exports?Fa.exports=t:window.didYouMean=t;var e=Math.pow(2,32)-1;function r(i,n,s){s=s||s===0?s:e;var a=i.length,o=n.length;if(a===0)return Math.min(s+1,o);if(o===0)return Math.min(s+1,a);if(Math.abs(a-o)>s)return s+1;var l=[],c,f,d,p,m;for(c=0;c<=o;c++)l[c]=[c];for(f=0;f<=a;f++)l[0][f]=f;for(c=1;c<=o;c++){for(d=e,p=1,c>s&&(p=c-s),m=o+1,m>s+c&&(m=s+c),f=1;f<=a;f++)f<p||f>m?l[c][f]=s+1:n.charAt(c-1)===i.charAt(f-1)?l[c][f]=l[c-1][f-1]:l[c][f]=Math.min(l[c-1][f-1]+1,Math.min(l[c][f-1]+1,l[c-1][f]+1)),l[c][f]<d&&(d=l[c][f]);if(d>s)return s+1}return l[o][a]}})()});var Mw=x((d7,Bw)=>{u();var yf="(".charCodeAt(0),wf=")".charCodeAt(0),za="'".charCodeAt(0),vf='"'.charCodeAt(0),bf="\\".charCodeAt(0),ti="/".charCodeAt(0),xf=",".charCodeAt(0),Sf=":".charCodeAt(0),ja="*".charCodeAt(0),qI="u".charCodeAt(0),LI="U".charCodeAt(0),BI="+".charCodeAt(0),MI=/^[a-f0-9?-]+$/i;Bw.exports=function(t){for(var e=[],r=t,i,n,s,a,o,l,c,f,d=0,p=r.charCodeAt(d),m=r.length,w=[{nodes:e}],S=0,v,b="",_="",A="";d<m;)if(p<=32){i=d;do i+=1,p=r.charCodeAt(i);while(p<=32);a=r.slice(d,i),s=e[e.length-1],p===wf&&S?A=a:s&&s.type==="div"?(s.after=a,s.sourceEndIndex+=a.length):p===xf||p===Sf||p===ti&&r.charCodeAt(i+1)!==ja&&(!v||v&&v.type==="function"&&!1)?_=a:e.push({type:"space",sourceIndex:d,sourceEndIndex:i,value:a}),d=i}else if(p===za||p===vf){i=d,n=p===za?"'":'"',a={type:"string",sourceIndex:d,quote:n};do if(o=!1,i=r.indexOf(n,i+1),~i)for(l=i;r.charCodeAt(l-1)===bf;)l-=1,o=!o;else r+=n,i=r.length-1,a.unclosed=!0;while(o);a.value=r.slice(d+1,i),a.sourceEndIndex=a.unclosed?i:i+1,e.push(a),d=i+1,p=r.charCodeAt(d)}else if(p===ti&&r.charCodeAt(d+1)===ja)i=r.indexOf("*/",d),a={type:"comment",sourceIndex:d,sourceEndIndex:i+2},i===-1&&(a.unclosed=!0,i=r.length,a.sourceEndIndex=i),a.value=r.slice(d+2,i),e.push(a),d=i+2,p=r.charCodeAt(d);else if((p===ti||p===ja)&&v&&v.type==="function")a=r[d],e.push({type:"word",sourceIndex:d-_.length,sourceEndIndex:d+a.length,value:a}),d+=1,p=r.charCodeAt(d);else if(p===ti||p===xf||p===Sf)a=r[d],e.push({type:"div",sourceIndex:d-_.length,sourceEndIndex:d+a.length,value:a,before:_,after:""}),_="",d+=1,p=r.charCodeAt(d);else if(yf===p){i=d;do i+=1,p=r.charCodeAt(i);while(p<=32);if(f=d,a={type:"function",sourceIndex:d-b.length,value:b,before:r.slice(f+1,i)},d=i,b==="url"&&p!==za&&p!==vf){i-=1;do if(o=!1,i=r.indexOf(")",i+1),~i)for(l=i;r.charCodeAt(l-1)===bf;)l-=1,o=!o;else r+=")",i=r.length-1,a.unclosed=!0;while(o);c=i;do c-=1,p=r.charCodeAt(c);while(p<=32);f<c?(d!==c+1?a.nodes=[{type:"word",sourceIndex:d,sourceEndIndex:c+1,value:r.slice(d,c+1)}]:a.nodes=[],a.unclosed&&c+1!==i?(a.after="",a.nodes.push({type:"space",sourceIndex:c+1,sourceEndIndex:i,value:r.slice(c+1,i)})):(a.after=r.slice(c+1,i),a.sourceEndIndex=i)):(a.after="",a.nodes=[]),d=i+1,a.sourceEndIndex=a.unclosed?i:d,p=r.charCodeAt(d),e.push(a)}else S+=1,a.after="",a.sourceEndIndex=d+1,e.push(a),w.push(a),e=a.nodes=[],v=a;b=""}else if(wf===p&&S)d+=1,p=r.charCodeAt(d),v.after=A,v.sourceEndIndex+=A.length,A="",S-=1,w[w.length-1].sourceEndIndex=d,w.pop(),v=w[S],e=v.nodes;else{i=d;do p===bf&&(i+=1),i+=1,p=r.charCodeAt(i);while(i<m&&!(p<=32||p===za||p===vf||p===xf||p===Sf||p===ti||p===yf||p===ja&&v&&v.type==="function"&&!0||p===ti&&v.type==="function"&&!0||p===wf&&S));a=r.slice(d,i),yf===p?b=a:(qI===a.charCodeAt(0)||LI===a.charCodeAt(0))&&BI===a.charCodeAt(1)&&MI.test(a.slice(2))?e.push({type:"unicode-range",sourceIndex:d,sourceEndIndex:i,value:a}):e.push({type:"word",sourceIndex:d,sourceEndIndex:i,value:a}),d=i}for(d=w.length-1;d;d-=1)w[d].unclosed=!0,w[d].sourceEndIndex=r.length;return w[0].nodes}});var $w=x((h7,Nw)=>{u();Nw.exports=function t(e,r,i){var n,s,a,o;for(n=0,s=e.length;n<s;n+=1)a=e[n],i||(o=r(a,n,e)),o!==!1&&a.type==="function"&&Array.isArray(a.nodes)&&t(a.nodes,r,i),i&&r(a,n,e)}});var Uw=x((m7,jw)=>{u();function Fw(t,e){var r=t.type,i=t.value,n,s;return e&&(s=e(t))!==void 0?s:r==="word"||r==="space"?i:r==="string"?(n=t.quote||"",n+i+(t.unclosed?"":n)):r==="comment"?"/*"+i+(t.unclosed?"":"*/"):r==="div"?(t.before||"")+i+(t.after||""):Array.isArray(t.nodes)?(n=zw(t.nodes,e),r!=="function"?n:i+"("+(t.before||"")+n+(t.after||"")+(t.unclosed?"":")")):i}function zw(t,e){var r,i;if(Array.isArray(t)){for(r="",i=t.length-1;~i;i-=1)r=Fw(t[i],e)+r;return r}return Fw(t,e)}jw.exports=zw});var Vw=x((g7,Hw)=>{u();var Ua="-".charCodeAt(0),Ha="+".charCodeAt(0),kf=".".charCodeAt(0),NI="e".charCodeAt(0),$I="E".charCodeAt(0);function FI(t){var e=t.charCodeAt(0),r;if(e===Ha||e===Ua){if(r=t.charCodeAt(1),r>=48&&r<=57)return!0;var i=t.charCodeAt(2);return r===kf&&i>=48&&i<=57}return e===kf?(r=t.charCodeAt(1),r>=48&&r<=57):e>=48&&e<=57}Hw.exports=function(t){var e=0,r=t.length,i,n,s;if(r===0||!FI(t))return!1;for(i=t.charCodeAt(e),(i===Ha||i===Ua)&&e++;e<r&&(i=t.charCodeAt(e),!(i<48||i>57));)e+=1;if(i=t.charCodeAt(e),n=t.charCodeAt(e+1),i===kf&&n>=48&&n<=57)for(e+=2;e<r&&(i=t.charCodeAt(e),!(i<48||i>57));)e+=1;if(i=t.charCodeAt(e),n=t.charCodeAt(e+1),s=t.charCodeAt(e+2),(i===NI||i===$I)&&(n>=48&&n<=57||(n===Ha||n===Ua)&&s>=48&&s<=57))for(e+=n===Ha||n===Ua?3:2;e<r&&(i=t.charCodeAt(e),!(i<48||i>57));)e+=1;return{number:t.slice(0,e),unit:t.slice(e)}}});var Yw=x((y7,Qw)=>{u();var zI=Mw(),Ww=$w(),Gw=Uw();function ur(t){return this instanceof ur?(this.nodes=zI(t),this):new ur(t)}ur.prototype.toString=function(){return Array.isArray(this.nodes)?Gw(this.nodes):""};ur.prototype.walk=function(t,e){return Ww(this.nodes,t,e),this};ur.unit=Vw();ur.walk=Ww;ur.stringify=Gw;Qw.exports=ur});function Af(t){return typeof t=="object"&&t!==null}function jI(t,e){let r=Kt(e);do if(r.pop(),(0,On.default)(t,r)!==void 0)break;while(r.length);return r.length?r:void 0}function ri(t){return typeof t=="string"?t:t.reduce((e,r,i)=>r.includes(".")?`${e}[${r}]`:i===0?r:`${e}.${r}`,"")}function Xw(t){return t.map(e=>`'${e}'`).join(", ")}function Zw(t){return Xw(Object.keys(t))}function Tf(t,e,r,i={}){let n=Array.isArray(e)?ri(e):e.replace(/^['"]+|['"]+$/g,""),s=Array.isArray(e)?e:Kt(n),a=(0,On.default)(t.theme,s,r);if(a===void 0){let l=`'${n}' does not exist in your theme config.`,c=s.slice(0,-1),f=(0,On.default)(t.theme,c);if(Af(f)){let d=Object.keys(f).filter(m=>Tf(t,[...c,m]).isValid),p=(0,Kw.default)(s[s.length-1],d);p?l+=` Did you mean '${ri([...c,p])}'?`:d.length>0&&(l+=` '${ri(c)}' has the following valid keys: ${Xw(d)}`)}else{let d=jI(t.theme,n);if(d){let p=(0,On.default)(t.theme,d);Af(p)?l+=` '${ri(d)}' has the following keys: ${Zw(p)}`:l+=` '${ri(d)}' is not an object.`}else l+=` Your theme has the following top-level keys: ${Zw(t.theme)}`}return{isValid:!1,error:l}}if(!(typeof a=="string"||typeof a=="number"||typeof a=="function"||a instanceof String||a instanceof Number||Array.isArray(a))){let l=`'${n}' was found but does not resolve to a string.`;if(Af(a)){let c=Object.keys(a).filter(f=>Tf(t,[...s,f]).isValid);c.length&&(l+=` Did you mean something like '${ri([...s,c[0]])}'?`)}return{isValid:!1,error:l}}let[o]=s;return{isValid:!0,value:Nt(o)(a,i)}}function UI(t,e,r){e=e.map(n=>Jw(t,n,r));let i=[""];for(let n of e)n.type==="div"&&n.value===","?i.push(""):i[i.length-1]+=_f.default.stringify(n);return i}function Jw(t,e,r){if(e.type==="function"&&r[e.value]!==void 0){let i=UI(t,e.nodes,r);e.type="word",e.value=r[e.value](t,...i)}return e}function HI(t,e,r){return Object.keys(r).some(n=>e.includes(`${n}(`))?(0,_f.default)(e).walk(n=>{Jw(t,n,r)}).toString():e}function*WI(t){t=t.replace(/^['"]+|['"]+$/g,"");let e=t.match(/^([^\s]+)(?![^\[]*\])(?:\s*\/\s*([^\/\s]+))$/),r;yield[t,void 0],e&&(t=e[1],r=e[2],yield[t,r])}function GI(t,e,r){let i=Array.from(WI(e)).map(([n,s])=>Object.assign(Tf(t,n,r,{opacityValue:s}),{resolvedPath:n,alpha:s}));return i.find(n=>n.isValid)??i[0]}function ev(t){let e=t.tailwindConfig,r={theme:(i,n,...s)=>{let{isValid:a,value:o,error:l,alpha:c}=GI(e,n,s.length?s:void 0);if(!a){let p=i.parent,m=p?.raws.tailwind?.candidate;if(p&&m!==void 0){t.markInvalidUtilityNode(p),p.remove(),te.warn("invalid-theme-key-in-class",[`The utility \`${m}\` contains an invalid theme value and was not generated.`]);return}throw i.error(l)}let f=Lr(o),d=f!==void 0&&typeof f=="function";return(c!==void 0||d)&&(c===void 0&&(c=1),o=bt(f,c,f)),o},screen:(i,n)=>{n=n.replace(/^['"]+/g,"").replace(/['"]+$/g,"");let a=nr(e.theme.screens).find(({name:o})=>o===n);if(!a)throw i.error(`The '${n}' screen does not exist in your theme.`);return ir(a)}};return i=>{i.walk(n=>{let s=VI[n.type];s!==void 0&&(n[s]=HI(n,n[s],r))})}}var On,Kw,_f,VI,tv=D(()=>{u();On=Te(hl()),Kw=Te(Lw());yn();_f=Te(Yw());ga();da();ms();Ei();Ri();rt();VI={atrule:"params",decl:"value"}});function rv({tailwindConfig:{theme:t}}){return function(e){e.walkAtRules("screen",r=>{let i=r.params,s=nr(t.screens).find(({name:a})=>a===i);if(!s)throw r.error(`No \`${i}\` screen found.`);r.name="media",r.params=ir(s)})}}var iv=D(()=>{u();ga();da()});function QI(t){let e=t.filter(o=>o.type!=="pseudo"||o.nodes.length>0?!0:o.value.startsWith("::")||[":before",":after",":first-line",":first-letter"].includes(o.value)).reverse(),r=new Set(["tag","class","id","attribute"]),i=e.findIndex(o=>r.has(o.type));if(i===-1)return e.reverse().join("").trim();let n=e[i],s=nv[n.type]?nv[n.type](n):n;e=e.slice(0,i);let a=e.findIndex(o=>o.type==="combinator"&&o.value===">");return a!==-1&&(e.splice(0,a),e.unshift(Va.default.universal())),[s,...e.reverse()].join("").trim()}function KI(t){return Ef.has(t)||Ef.set(t,YI.transformSync(t)),Ef.get(t)}function Cf({tailwindConfig:t}){return e=>{let r=new Map,i=new Set;if(e.walkAtRules("defaults",n=>{if(n.nodes&&n.nodes.length>0){i.add(n);return}let s=n.params;r.has(s)||r.set(s,new Set),r.get(s).add(n.parent),n.remove()}),De(t,"optimizeUniversalDefaults"))for(let n of i){let s=new Map,a=r.get(n.params)??[];for(let o of a)for(let l of KI(o.selector)){let c=l.includes(":-")||l.includes("::-")||l.includes(":has")?l:"__DEFAULT__",f=s.get(c)??new Set;s.set(c,f),f.add(l)}if(s.size===0){n.remove();continue}for(let[,o]of s){let l=le.rule({source:n.source});l.selectors=[...o],l.append(n.nodes.map(c=>c.clone())),n.before(l)}n.remove()}else if(i.size){let n=le.rule({selectors:["*","::before","::after"]});for(let a of i)n.append(a.nodes),n.parent||a.before(n),n.source||(n.source=a.source),a.remove();let s=n.clone({selectors:["::backdrop"]});n.after(s)}}}var Va,nv,YI,Ef,sv=D(()=>{u();rr();Va=Te(_t());qt();nv={id(t){return Va.default.attribute({attribute:"id",operator:"=",value:t.value,quoteMark:'"'})}};YI=(0,Va.default)(t=>t.map(e=>{let r=e.split(i=>i.type==="combinator"&&i.value===" ").pop();return QI(r)})),Ef=new Map});function Of(){function t(e){let r=null;e.each(i=>{if(!XI.has(i.type)){r=null;return}if(r===null){r=i;return}let n=av[i.type];i.type==="atrule"&&i.name==="font-face"?r=i:n.every(s=>(i[s]??"").replace(/\s+/g," ")===(r[s]??"").replace(/\s+/g," "))?(i.nodes&&r.append(i.nodes),i.remove()):r=i}),e.each(i=>{i.type==="atrule"&&t(i)})}return e=>{t(e)}}var av,XI,ov=D(()=>{u();av={atrule:["name","params"],rule:["selector"]},XI=new Set(Object.keys(av))});function Pf(){return t=>{t.walkRules(e=>{let r=new Map,i=new Set([]),n=new Map;e.walkDecls(s=>{if(s.parent===e){if(r.has(s.prop)){if(r.get(s.prop).value===s.value){i.add(r.get(s.prop)),r.set(s.prop,s);return}n.has(s.prop)||n.set(s.prop,new Set),n.get(s.prop).add(r.get(s.prop)),n.get(s.prop).add(s)}r.set(s.prop,s)}});for(let s of i)s.remove();for(let s of n.values()){let a=new Map;for(let o of s){let l=JI(o.value);l!==null&&(a.has(l)||a.set(l,new Set),a.get(l).add(o))}for(let o of a.values()){let l=Array.from(o).slice(0,-1);for(let c of l)c.remove()}}})}}function JI(t){let e=/^-?\d*.?\d+([\w%]+)?$/g.exec(t);return e?e[1]??ZI:null}var ZI,lv=D(()=>{u();ZI=Symbol("unitless-number")});function e5(t){if(!t.walkAtRules)return;let e=new Set;if(t.walkAtRules("apply",r=>{e.add(r.parent)}),e.size!==0)for(let r of e){let i=[],n=[];for(let s of r.nodes)s.type==="atrule"&&s.name==="apply"?(n.length>0&&(i.push(n),n=[]),i.push([s])):n.push(s);if(n.length>0&&i.push(n),i.length!==1){for(let s of[...i].reverse()){let a=r.clone({nodes:[]});a.append(s),r.after(a)}r.remove()}}}function Wa(){return t=>{e5(t)}}var uv=D(()=>{u()});function Ga(t){return async function(e,r){let{tailwindDirectives:i,applyDirectives:n}=cf(e);Wa()(e,r);let s=t({tailwindDirectives:i,applyDirectives:n,registerDependency(a){r.messages.push({plugin:"tailwindcss",parent:r.opts.from,...a})},createContext(a,o){return zu(a,o,e)}})(e,r);if(s.tailwindConfig.separator==="-")throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.");bd(s.tailwindConfig),await hf(s)(e,r),Wa()(e,r),gf(s)(e,r),ev(s)(e,r),rv(s)(e,r),Cf(s)(e,r),Of(s)(e,r),Pf(s)(e,r)}}var fv=D(()=>{u();yw();Cw();qw();tv();iv();sv();ov();lv();uv();bn();qt()});function cv(t,e){let r=null,i=null;return t.walkAtRules("config",n=>{if(i=n.source?.input.file??e.opts.from??null,i===null)throw n.error("The `@config` directive cannot be used without setting `from` in your PostCSS config.");if(r)throw n.error("Only one `@config` directive is allowed per file.");let s=n.params.match(/(['"])(.*?)\1/);if(!s)throw n.error("A path is required when using the `@config` directive.");let a=s[2];if(Oe.isAbsolute(a))throw n.error("The `@config` directive cannot be used with an absolute path.");if(r=Oe.resolve(Oe.dirname(i),a),!Ie.existsSync(r))throw n.error(`The config file at "${a}" does not exist. Make sure the path is correct and the file exists.`);n.remove()}),r||null}var pv=D(()=>{u();Dt();xt()});var dv=x((eU,Rf)=>{u();gw();fv();ar();pv();Rf.exports=function(e){return{postcssPlugin:"tailwindcss",plugins:[wt.DEBUG&&function(r){return console.log(`
+`),console.time("JIT TOTAL"),r},async function(r,i){e=cv(r,i)??e;let n=ff(e);if(r.type==="document"){let s=r.nodes.filter(a=>a.type==="root");for(let a of s)a.type==="root"&&await Ga(n)(a,i);return}await Ga(n)(r,i)},wt.DEBUG&&function(r){return console.timeEnd("JIT TOTAL"),console.log(`
+`),r}].filter(Boolean)}};Rf.exports.postcss=!0});var mv=x((tU,hv)=>{u();hv.exports=dv()});var If=x((rU,gv)=>{u();gv.exports=()=>["and_chr 114","and_uc 15.5","chrome 114","chrome 113","chrome 109","edge 114","firefox 114","ios_saf 16.5","ios_saf 16.4","ios_saf 16.3","ios_saf 16.1","opera 99","safari 16.5","samsung 21"]});var Qa={};dt(Qa,{agents:()=>t5,feature:()=>r5});function r5(){return{status:"cr",title:"CSS Feature Queries",stats:{ie:{"6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","5.5":"n"},edge:{"12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y"},firefox:{"2":"n","3":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y","3.5":"n","3.6":"n"},chrome:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y"},safari:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","17":"y","9.1":"y","10.1":"y","11.1":"y","12.1":"y","13.1":"y","14.1":"y","15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y",TP:"y","3.1":"n","3.2":"n","5.1":"n","6.1":"n","7.1":"n"},opera:{"9":"n","11":"n","12":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","60":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","12.1":"y","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11.1":"n","11.5":"n","11.6":"n"},ios_saf:{"8":"n","17":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y","10.3":"y","11.0-11.2":"y","11.3-11.4":"y","12.0-12.1":"y","12.2-12.5":"y","13.0-13.1":"y","13.2":"y","13.3":"y","13.4-13.7":"y","14.0-14.4":"y","14.5-14.8":"y","15.0-15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y","3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8.1-8.4":"n"},op_mini:{all:"y"},android:{"3":"n","4":"n","114":"y","4.4":"y","4.4.3-4.4.4":"y","2.1":"n","2.2":"n","2.3":"n","4.1":"n","4.2-4.3":"n"},bb:{"7":"n","10":"n"},op_mob:{"10":"n","11":"n","12":"n","73":"y","11.1":"n","11.5":"n","12.1":"n"},and_chr:{"114":"y"},and_ff:{"115":"y"},ie_mob:{"10":"n","11":"n"},and_uc:{"15.5":"y"},samsung:{"4":"y","20":"y","21":"y","5.0-5.4":"y","6.2-6.4":"y","7.2-7.4":"y","8.2":"y","9.2":"y","10.1":"y","11.1-11.2":"y","12.0":"y","13.0":"y","14.0":"y","15.0":"y","16.0":"y","17.0":"y","18.0":"y","19.0":"y"},and_qq:{"13.1":"y"},baidu:{"13.18":"y"},kaios:{"2.5":"y","3.0-3.1":"y"}}}}var t5,Ya=D(()=>{u();t5={ie:{prefix:"ms"},edge:{prefix:"webkit",prefix_exceptions:{"12":"ms","13":"ms","14":"ms","15":"ms","16":"ms","17":"ms","18":"ms"}},firefox:{prefix:"moz"},chrome:{prefix:"webkit"},safari:{prefix:"webkit"},opera:{prefix:"webkit",prefix_exceptions:{"9":"o","11":"o","12":"o","9.5-9.6":"o","10.0-10.1":"o","10.5":"o","10.6":"o","11.1":"o","11.5":"o","11.6":"o","12.1":"o"}},ios_saf:{prefix:"webkit"},op_mini:{prefix:"o"},android:{prefix:"webkit"},bb:{prefix:"webkit"},op_mob:{prefix:"o",prefix_exceptions:{"73":"webkit"}},and_chr:{prefix:"webkit"},and_ff:{prefix:"moz"},ie_mob:{prefix:"ms"},and_uc:{prefix:"webkit",prefix_exceptions:{"15.5":"webkit"}},samsung:{prefix:"webkit"},and_qq:{prefix:"webkit"},baidu:{prefix:"webkit"},kaios:{prefix:"moz"}}});var yv=x(()=>{u()});var ze=x((sU,fr)=>{u();var{list:Df}=Ze();fr.exports.error=function(t){let e=new Error(t);throw e.autoprefixer=!0,e};fr.exports.uniq=function(t){return[...new Set(t)]};fr.exports.removeNote=function(t){return t.includes(" ")?t.split(" ")[0]:t};fr.exports.escapeRegexp=function(t){return t.replace(/[$()*+-.?[\\\]^{|}]/g,"\\$&")};fr.exports.regexp=function(t,e=!0){return e&&(t=this.escapeRegexp(t)),new RegExp(`(^|[\\s,(])(${t}($|[\\s(,]))`,"gi")};fr.exports.editList=function(t,e){let r=Df.comma(t),i=e(r,[]);if(r===i)return t;let n=t.match(/,\s*/);return n=n?n[0]:", ",i.join(n)};fr.exports.splitSelector=function(t){return Df.comma(t).map(e=>Df.space(e).map(r=>r.split(/(?=\.|#)/g)))}});var cr=x((aU,bv)=>{u();var i5=If(),wv=(Ya(),Qa).agents,n5=ze(),vv=class{static prefixes(){if(this.prefixesCache)return this.prefixesCache;this.prefixesCache=[];for(let e in wv)this.prefixesCache.push(`-${wv[e].prefix}-`);return this.prefixesCache=n5.uniq(this.prefixesCache).sort((e,r)=>r.length-e.length),this.prefixesCache}static withPrefix(e){return this.prefixesRegexp||(this.prefixesRegexp=new RegExp(this.prefixes().join("|"))),this.prefixesRegexp.test(e)}constructor(e,r,i,n){this.data=e,this.options=i||{},this.browserslistOpts=n||{},this.selected=this.parse(r)}parse(e){let r={};for(let i in this.browserslistOpts)r[i]=this.browserslistOpts[i];return r.path=this.options.from,i5(e,r)}prefix(e){let[r,i]=e.split(" "),n=this.data[r],s=n.prefix_exceptions&&n.prefix_exceptions[i];return s||(s=n.prefix),`-${s}-`}isSelected(e){return this.selected.includes(e)}};bv.exports=vv});var Pn=x((oU,xv)=>{u();xv.exports={prefix(t){let e=t.match(/^(-\w+-)/);return e?e[0]:""},unprefixed(t){return t.replace(/^-\w+-/,"")}}});var ii=x((lU,kv)=>{u();var s5=cr(),Sv=Pn(),a5=ze();function qf(t,e){let r=new t.constructor;for(let i of Object.keys(t||{})){let n=t[i];i==="parent"&&typeof n=="object"?e&&(r[i]=e):i==="source"||i===null?r[i]=n:Array.isArray(n)?r[i]=n.map(s=>qf(s,r)):i!=="_autoprefixerPrefix"&&i!=="_autoprefixerValues"&&i!=="proxyCache"&&(typeof n=="object"&&n!==null&&(n=qf(n,r)),r[i]=n)}return r}var Ka=class{static hack(e){return this.hacks||(this.hacks={}),e.names.map(r=>(this.hacks[r]=e,this.hacks[r]))}static load(e,r,i){let n=this.hacks&&this.hacks[e];return n?new n(e,r,i):new this(e,r,i)}static clone(e,r){let i=qf(e);for(let n in r)i[n]=r[n];return i}constructor(e,r,i){this.prefixes=r,this.name=e,this.all=i}parentPrefix(e){let r;return typeof e._autoprefixerPrefix!="undefined"?r=e._autoprefixerPrefix:e.type==="decl"&&e.prop[0]==="-"?r=Sv.prefix(e.prop):e.type==="root"?r=!1:e.type==="rule"&&e.selector.includes(":-")&&/:(-\w+-)/.test(e.selector)?r=e.selector.match(/:(-\w+-)/)[1]:e.type==="atrule"&&e.name[0]==="-"?r=Sv.prefix(e.name):r=this.parentPrefix(e.parent),s5.prefixes().includes(r)||(r=!1),e._autoprefixerPrefix=r,e._autoprefixerPrefix}process(e,r){if(!this.check(e))return;let i=this.parentPrefix(e),n=this.prefixes.filter(a=>!i||i===a5.removeNote(a)),s=[];for(let a of n)this.add(e,a,s.concat([a]),r)&&s.push(a);return s}clone(e,r){return Ka.clone(e,r)}};kv.exports=Ka});var Y=x((uU,Tv)=>{u();var o5=ii(),l5=cr(),_v=ze(),Av=class extends o5{check(){return!0}prefixed(e,r){return r+e}normalize(e){return e}otherPrefixes(e,r){for(let i of l5.prefixes())if(i!==r&&e.includes(i))return!0;return!1}set(e,r){return e.prop=this.prefixed(e.prop,r),e}needCascade(e){return e._autoprefixerCascade||(e._autoprefixerCascade=this.all.options.cascade!==!1&&e.raw("before").includes(`
+`)),e._autoprefixerCascade}maxPrefixed(e,r){if(r._autoprefixerMax)return r._autoprefixerMax;let i=0;for(let n of e)n=_v.removeNote(n),n.length>i&&(i=n.length);return r._autoprefixerMax=i,r._autoprefixerMax}calcBefore(e,r,i=""){let s=this.maxPrefixed(e,r)-_v.removeNote(i).length,a=r.raw("before");return s>0&&(a+=Array(s).fill(" ").join("")),a}restoreBefore(e){let r=e.raw("before").split(`
+`),i=r[r.length-1];this.all.group(e).up(n=>{let s=n.raw("before").split(`
+`),a=s[s.length-1];a.length<i.length&&(i=a)}),r[r.length-1]=i,e.raws.before=r.join(`
+`)}insert(e,r,i){let n=this.set(this.clone(e),r);if(!(!n||e.parent.some(a=>a.prop===n.prop&&a.value===n.value)))return this.needCascade(e)&&(n.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,n)}isAlready(e,r){let i=this.all.group(e).up(n=>n.prop===r);return i||(i=this.all.group(e).down(n=>n.prop===r)),i}add(e,r,i,n){let s=this.prefixed(e.prop,r);if(!(this.isAlready(e,s)||this.otherPrefixes(e.value,r)))return this.insert(e,r,i,n)}process(e,r){if(!this.needCascade(e)){super.process(e,r);return}let i=super.process(e,r);!i||!i.length||(this.restoreBefore(e),e.raws.before=this.calcBefore(i,e))}old(e,r){return[this.prefixed(e,r)]}};Tv.exports=Av});var Cv=x((fU,Ev)=>{u();Ev.exports=function t(e){return{mul:r=>new t(e*r),div:r=>new t(e/r),simplify:()=>new t(e),toString:()=>e.toString()}}});var Rv=x((cU,Pv)=>{u();var u5=Cv(),f5=ii(),Lf=ze(),c5=/(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi,p5=/(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i,Ov=class extends f5{prefixName(e,r){return e==="-moz-"?r+"--moz-device-pixel-ratio":e+r+"-device-pixel-ratio"}prefixQuery(e,r,i,n,s){return n=new u5(n),s==="dpi"?n=n.div(96):s==="dpcm"&&(n=n.mul(2.54).div(96)),n=n.simplify(),e==="-o-"&&(n=n.n+"/"+n.d),this.prefixName(e,r)+i+n}clean(e){if(!this.bad){this.bad=[];for(let r of this.prefixes)this.bad.push(this.prefixName(r,"min")),this.bad.push(this.prefixName(r,"max"))}e.params=Lf.editList(e.params,r=>r.filter(i=>this.bad.every(n=>!i.includes(n))))}process(e){let r=this.parentPrefix(e),i=r?[r]:this.prefixes;e.params=Lf.editList(e.params,(n,s)=>{for(let a of n){if(!a.includes("min-resolution")&&!a.includes("max-resolution")){s.push(a);continue}for(let o of i){let l=a.replace(c5,c=>{let f=c.match(p5);return this.prefixQuery(o,f[1],f[2],f[3],f[4])});s.push(l)}s.push(a)}return Lf.uniq(s)})}};Pv.exports=Ov});var Dv=x((pU,Iv)=>{u();var Bf="(".charCodeAt(0),Mf=")".charCodeAt(0),Xa="'".charCodeAt(0),Nf='"'.charCodeAt(0),$f="\\".charCodeAt(0),ni="/".charCodeAt(0),Ff=",".charCodeAt(0),zf=":".charCodeAt(0),Za="*".charCodeAt(0),d5="u".charCodeAt(0),h5="U".charCodeAt(0),m5="+".charCodeAt(0),g5=/^[a-f0-9?-]+$/i;Iv.exports=function(t){for(var e=[],r=t,i,n,s,a,o,l,c,f,d=0,p=r.charCodeAt(d),m=r.length,w=[{nodes:e}],S=0,v,b="",_="",A="";d<m;)if(p<=32){i=d;do i+=1,p=r.charCodeAt(i);while(p<=32);a=r.slice(d,i),s=e[e.length-1],p===Mf&&S?A=a:s&&s.type==="div"?(s.after=a,s.sourceEndIndex+=a.length):p===Ff||p===zf||p===ni&&r.charCodeAt(i+1)!==Za&&(!v||v&&v.type==="function"&&v.value!=="calc")?_=a:e.push({type:"space",sourceIndex:d,sourceEndIndex:i,value:a}),d=i}else if(p===Xa||p===Nf){i=d,n=p===Xa?"'":'"',a={type:"string",sourceIndex:d,quote:n};do if(o=!1,i=r.indexOf(n,i+1),~i)for(l=i;r.charCodeAt(l-1)===$f;)l-=1,o=!o;else r+=n,i=r.length-1,a.unclosed=!0;while(o);a.value=r.slice(d+1,i),a.sourceEndIndex=a.unclosed?i:i+1,e.push(a),d=i+1,p=r.charCodeAt(d)}else if(p===ni&&r.charCodeAt(d+1)===Za)i=r.indexOf("*/",d),a={type:"comment",sourceIndex:d,sourceEndIndex:i+2},i===-1&&(a.unclosed=!0,i=r.length,a.sourceEndIndex=i),a.value=r.slice(d+2,i),e.push(a),d=i+2,p=r.charCodeAt(d);else if((p===ni||p===Za)&&v&&v.type==="function"&&v.value==="calc")a=r[d],e.push({type:"word",sourceIndex:d-_.length,sourceEndIndex:d+a.length,value:a}),d+=1,p=r.charCodeAt(d);else if(p===ni||p===Ff||p===zf)a=r[d],e.push({type:"div",sourceIndex:d-_.length,sourceEndIndex:d+a.length,value:a,before:_,after:""}),_="",d+=1,p=r.charCodeAt(d);else if(Bf===p){i=d;do i+=1,p=r.charCodeAt(i);while(p<=32);if(f=d,a={type:"function",sourceIndex:d-b.length,value:b,before:r.slice(f+1,i)},d=i,b==="url"&&p!==Xa&&p!==Nf){i-=1;do if(o=!1,i=r.indexOf(")",i+1),~i)for(l=i;r.charCodeAt(l-1)===$f;)l-=1,o=!o;else r+=")",i=r.length-1,a.unclosed=!0;while(o);c=i;do c-=1,p=r.charCodeAt(c);while(p<=32);f<c?(d!==c+1?a.nodes=[{type:"word",sourceIndex:d,sourceEndIndex:c+1,value:r.slice(d,c+1)}]:a.nodes=[],a.unclosed&&c+1!==i?(a.after="",a.nodes.push({type:"space",sourceIndex:c+1,sourceEndIndex:i,value:r.slice(c+1,i)})):(a.after=r.slice(c+1,i),a.sourceEndIndex=i)):(a.after="",a.nodes=[]),d=i+1,a.sourceEndIndex=a.unclosed?i:d,p=r.charCodeAt(d),e.push(a)}else S+=1,a.after="",a.sourceEndIndex=d+1,e.push(a),w.push(a),e=a.nodes=[],v=a;b=""}else if(Mf===p&&S)d+=1,p=r.charCodeAt(d),v.after=A,v.sourceEndIndex+=A.length,A="",S-=1,w[w.length-1].sourceEndIndex=d,w.pop(),v=w[S],e=v.nodes;else{i=d;do p===$f&&(i+=1),i+=1,p=r.charCodeAt(i);while(i<m&&!(p<=32||p===Xa||p===Nf||p===Ff||p===zf||p===ni||p===Bf||p===Za&&v&&v.type==="function"&&v.value==="calc"||p===ni&&v.type==="function"&&v.value==="calc"||p===Mf&&S));a=r.slice(d,i),Bf===p?b=a:(d5===a.charCodeAt(0)||h5===a.charCodeAt(0))&&m5===a.charCodeAt(1)&&g5.test(a.slice(2))?e.push({type:"unicode-range",sourceIndex:d,sourceEndIndex:i,value:a}):e.push({type:"word",sourceIndex:d,sourceEndIndex:i,value:a}),d=i}for(d=w.length-1;d;d-=1)w[d].unclosed=!0,w[d].sourceEndIndex=r.length;return w[0].nodes}});var Lv=x((dU,qv)=>{u();qv.exports=function t(e,r,i){var n,s,a,o;for(n=0,s=e.length;n<s;n+=1)a=e[n],i||(o=r(a,n,e)),o!==!1&&a.type==="function"&&Array.isArray(a.nodes)&&t(a.nodes,r,i),i&&r(a,n,e)}});var $v=x((hU,Nv)=>{u();function Bv(t,e){var r=t.type,i=t.value,n,s;return e&&(s=e(t))!==void 0?s:r==="word"||r==="space"?i:r==="string"?(n=t.quote||"",n+i+(t.unclosed?"":n)):r==="comment"?"/*"+i+(t.unclosed?"":"*/"):r==="div"?(t.before||"")+i+(t.after||""):Array.isArray(t.nodes)?(n=Mv(t.nodes,e),r!=="function"?n:i+"("+(t.before||"")+n+(t.after||"")+(t.unclosed?"":")")):i}function Mv(t,e){var r,i;if(Array.isArray(t)){for(r="",i=t.length-1;~i;i-=1)r=Bv(t[i],e)+r;return r}return Bv(t,e)}Nv.exports=Mv});var zv=x((mU,Fv)=>{u();var Ja="-".charCodeAt(0),eo="+".charCodeAt(0),jf=".".charCodeAt(0),y5="e".charCodeAt(0),w5="E".charCodeAt(0);function v5(t){var e=t.charCodeAt(0),r;if(e===eo||e===Ja){if(r=t.charCodeAt(1),r>=48&&r<=57)return!0;var i=t.charCodeAt(2);return r===jf&&i>=48&&i<=57}return e===jf?(r=t.charCodeAt(1),r>=48&&r<=57):e>=48&&e<=57}Fv.exports=function(t){var e=0,r=t.length,i,n,s;if(r===0||!v5(t))return!1;for(i=t.charCodeAt(e),(i===eo||i===Ja)&&e++;e<r&&(i=t.charCodeAt(e),!(i<48||i>57));)e+=1;if(i=t.charCodeAt(e),n=t.charCodeAt(e+1),i===jf&&n>=48&&n<=57)for(e+=2;e<r&&(i=t.charCodeAt(e),!(i<48||i>57));)e+=1;if(i=t.charCodeAt(e),n=t.charCodeAt(e+1),s=t.charCodeAt(e+2),(i===y5||i===w5)&&(n>=48&&n<=57||(n===eo||n===Ja)&&s>=48&&s<=57))for(e+=n===eo||n===Ja?3:2;e<r&&(i=t.charCodeAt(e),!(i<48||i>57));)e+=1;return{number:t.slice(0,e),unit:t.slice(e)}}});var to=x((gU,Hv)=>{u();var b5=Dv(),jv=Lv(),Uv=$v();function pr(t){return this instanceof pr?(this.nodes=b5(t),this):new pr(t)}pr.prototype.toString=function(){return Array.isArray(this.nodes)?Uv(this.nodes):""};pr.prototype.walk=function(t,e){return jv(this.nodes,t,e),this};pr.unit=zv();pr.walk=jv;pr.stringify=Uv;Hv.exports=pr});var Yv=x((yU,Qv)=>{u();var{list:x5}=Ze(),Vv=to(),S5=cr(),Wv=Pn(),Gv=class{constructor(e){this.props=["transition","transition-property"],this.prefixes=e}add(e,r){let i,n,s=this.prefixes.add[e.prop],a=this.ruleVendorPrefixes(e),o=a||s&&s.prefixes||[],l=this.parse(e.value),c=l.map(m=>this.findProp(m)),f=[];if(c.some(m=>m[0]==="-"))return;for(let m of l){if(n=this.findProp(m),n[0]==="-")continue;let w=this.prefixes.add[n];if(!(!w||!w.prefixes))for(i of w.prefixes){if(a&&!a.some(v=>i.includes(v)))continue;let S=this.prefixes.prefixed(n,i);S!=="-ms-transform"&&!c.includes(S)&&(this.disabled(n,i)||f.push(this.clone(n,S,m)))}}l=l.concat(f);let d=this.stringify(l),p=this.stringify(this.cleanFromUnprefixed(l,"-webkit-"));if(o.includes("-webkit-")&&this.cloneBefore(e,`-webkit-${e.prop}`,p),this.cloneBefore(e,e.prop,p),o.includes("-o-")){let m=this.stringify(this.cleanFromUnprefixed(l,"-o-"));this.cloneBefore(e,`-o-${e.prop}`,m)}for(i of o)if(i!=="-webkit-"&&i!=="-o-"){let m=this.stringify(this.cleanOtherPrefixes(l,i));this.cloneBefore(e,i+e.prop,m)}d!==e.value&&!this.already(e,e.prop,d)&&(this.checkForWarning(r,e),e.cloneBefore(),e.value=d)}findProp(e){let r=e[0].value;if(/^\d/.test(r)){for(let[i,n]of e.entries())if(i!==0&&n.type==="word")return n.value}return r}already(e,r,i){return e.parent.some(n=>n.prop===r&&n.value===i)}cloneBefore(e,r,i){this.already(e,r,i)||e.cloneBefore({prop:r,value:i})}checkForWarning(e,r){if(r.prop!=="transition-property")return;let i=!1,n=!1;r.parent.each(s=>{if(s.type!=="decl"||s.prop.indexOf("transition-")!==0)return;let a=x5.comma(s.value);if(s.prop==="transition-property"){a.forEach(o=>{let l=this.prefixes.add[o];l&&l.prefixes&&l.prefixes.length>0&&(i=!0)});return}return n=n||a.length>1,!1}),i&&n&&r.warn(e,"Replace transition-property to transition, because Autoprefixer could not support any cases of transition-property and other transition-*")}remove(e){let r=this.parse(e.value);r=r.filter(a=>{let o=this.prefixes.remove[this.findProp(a)];return!o||!o.remove});let i=this.stringify(r);if(e.value===i)return;if(r.length===0){e.remove();return}let n=e.parent.some(a=>a.prop===e.prop&&a.value===i),s=e.parent.some(a=>a!==e&&a.prop===e.prop&&a.value.length>i.length);if(n||s){e.remove();return}e.value=i}parse(e){let r=Vv(e),i=[],n=[];for(let s of r.nodes)n.push(s),s.type==="div"&&s.value===","&&(i.push(n),n=[]);return i.push(n),i.filter(s=>s.length>0)}stringify(e){if(e.length===0)return"";let r=[];for(let i of e)i[i.length-1].type!=="div"&&i.push(this.div(e)),r=r.concat(i);return r[0].type==="div"&&(r=r.slice(1)),r[r.length-1].type==="div"&&(r=r.slice(0,-2+1||void 0)),Vv.stringify({nodes:r})}clone(e,r,i){let n=[],s=!1;for(let a of i)!s&&a.type==="word"&&a.value===e?(n.push({type:"word",value:r}),s=!0):n.push(a);return n}div(e){for(let r of e)for(let i of r)if(i.type==="div"&&i.value===",")return i;return{type:"div",value:",",after:" "}}cleanOtherPrefixes(e,r){return e.filter(i=>{let n=Wv.prefix(this.findProp(i));return n===""||n===r})}cleanFromUnprefixed(e,r){let i=e.map(s=>this.findProp(s)).filter(s=>s.slice(0,r.length)===r).map(s=>this.prefixes.unprefixed(s)),n=[];for(let s of e){let a=this.findProp(s),o=Wv.prefix(a);!i.includes(a)&&(o===r||o==="")&&n.push(s)}return n}disabled(e,r){let i=["order","justify-content","align-self","align-content"];if(e.includes("flex")||i.includes(e)){if(this.prefixes.options.flexbox===!1)return!0;if(this.prefixes.options.flexbox==="no-2009")return r.includes("2009")}}ruleVendorPrefixes(e){let{parent:r}=e;if(r.type!=="rule")return!1;if(!r.selector.includes(":-"))return!1;let i=S5.prefixes().filter(n=>r.selector.includes(":"+n));return i.length>0?i:!1}};Qv.exports=Gv});var si=x((wU,Xv)=>{u();var k5=ze(),Kv=class{constructor(e,r,i,n){this.unprefixed=e,this.prefixed=r,this.string=i||r,this.regexp=n||k5.regexp(r)}check(e){return e.includes(this.string)?!!e.match(this.regexp):!1}};Xv.exports=Kv});var lt=x((vU,Jv)=>{u();var _5=ii(),A5=si(),T5=Pn(),E5=ze(),Zv=class extends _5{static save(e,r){let i=r.prop,n=[];for(let s in r._autoprefixerValues){let a=r._autoprefixerValues[s];if(a===r.value)continue;let o,l=T5.prefix(i);if(l==="-pie-")continue;if(l===s){o=r.value=a,n.push(o);continue}let c=e.prefixed(i,s),f=r.parent;if(!f.every(w=>w.prop!==c)){n.push(o);continue}let d=a.replace(/\s+/," ");if(f.some(w=>w.prop===r.prop&&w.value.replace(/\s+/," ")===d)){n.push(o);continue}let m=this.clone(r,{value:a});o=r.parent.insertBefore(r,m),n.push(o)}return n}check(e){let r=e.value;return r.includes(this.name)?!!r.match(this.regexp()):!1}regexp(){return this.regexpCache||(this.regexpCache=E5.regexp(this.name))}replace(e,r){return e.replace(this.regexp(),`$1${r}$2`)}value(e){return e.raws.value&&e.raws.value.value===e.value?e.raws.value.raw:e.value}add(e,r){e._autoprefixerValues||(e._autoprefixerValues={});let i=e._autoprefixerValues[r]||this.value(e),n;do if(n=i,i=this.replace(i,r),i===!1)return;while(i!==n);e._autoprefixerValues[r]=i}old(e){return new A5(this.name,e+this.name)}};Jv.exports=Zv});var dr=x((bU,eb)=>{u();eb.exports={}});var Hf=x((xU,ib)=>{u();var tb=to(),C5=lt(),O5=dr().insertAreas,P5=/(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i,R5=/(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i,I5=/(!\s*)?autoprefixer:\s*ignore\s+next/i,D5=/(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i,q5=["width","height","min-width","max-width","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size"];function Uf(t){return t.parent.some(e=>e.prop==="grid-template"||e.prop==="grid-template-areas")}function L5(t){let e=t.parent.some(i=>i.prop==="grid-template-rows"),r=t.parent.some(i=>i.prop==="grid-template-columns");return e&&r}var rb=class{constructor(e){this.prefixes=e}add(e,r){let i=this.prefixes.add["@resolution"],n=this.prefixes.add["@keyframes"],s=this.prefixes.add["@viewport"],a=this.prefixes.add["@supports"];e.walkAtRules(f=>{if(f.name==="keyframes"){if(!this.disabled(f,r))return n&&n.process(f)}else if(f.name==="viewport"){if(!this.disabled(f,r))return s&&s.process(f)}else if(f.name==="supports"){if(this.prefixes.options.supports!==!1&&!this.disabled(f,r))return a.process(f)}else if(f.name==="media"&&f.params.includes("-resolution")&&!this.disabled(f,r))return i&&i.process(f)}),e.walkRules(f=>{if(!this.disabled(f,r))return this.prefixes.add.selectors.map(d=>d.process(f,r))});function o(f){return f.parent.nodes.some(d=>{if(d.type!=="decl")return!1;let p=d.prop==="display"&&/(inline-)?grid/.test(d.value),m=d.prop.startsWith("grid-template"),w=/^grid-([A-z]+-)?gap/.test(d.prop);return p||m||w})}function l(f){return f.parent.some(d=>d.prop==="display"&&/(inline-)?flex/.test(d.value))}let c=this.gridStatus(e,r)&&this.prefixes.add["grid-area"]&&this.prefixes.add["grid-area"].prefixes;return e.walkDecls(f=>{if(this.disabledDecl(f,r))return;let d=f.parent,p=f.prop,m=f.value;if(p==="grid-row-span"){r.warn("grid-row-span is not part of final Grid Layout. Use grid-row.",{node:f});return}else if(p==="grid-column-span"){r.warn("grid-column-span is not part of final Grid Layout. Use grid-column.",{node:f});return}else if(p==="display"&&m==="box"){r.warn("You should write display: flex by final spec instead of display: box",{node:f});return}else if(p==="text-emphasis-position")(m==="under"||m==="over")&&r.warn("You should use 2 values for text-emphasis-position For example, `under left` instead of just `under`.",{node:f});else if(/^(align|justify|place)-(items|content)$/.test(p)&&l(f))(m==="start"||m==="end")&&r.warn(`${m} value has mixed support, consider using flex-${m} instead`,{node:f});else if(p==="text-decoration-skip"&&m==="ink")r.warn("Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed",{node:f});else{if(c&&this.gridStatus(f,r))if(f.value==="subgrid"&&r.warn("IE does not support subgrid",{node:f}),/^(align|justify|place)-items$/.test(p)&&o(f)){let S=p.replace("-items","-self");r.warn(`IE does not support ${p} on grid containers. Try using ${S} on child elements instead: ${f.parent.selector} > * { ${S}: ${f.value} }`,{node:f})}else if(/^(align|justify|place)-content$/.test(p)&&o(f))r.warn(`IE does not support ${f.prop} on grid containers`,{node:f});else if(p==="display"&&f.value==="contents"){r.warn("Please do not use display: contents; if you have grid setting enabled",{node:f});return}else if(f.prop==="grid-gap"){let S=this.gridStatus(f,r);S==="autoplace"&&!L5(f)&&!Uf(f)?r.warn("grid-gap only works if grid-template(-areas) is being used or both rows and columns have been declared and cells have not been manually placed inside the explicit grid",{node:f}):(S===!0||S==="no-autoplace")&&!Uf(f)&&r.warn("grid-gap only works if grid-template(-areas) is being used",{node:f})}else if(p==="grid-auto-columns"){r.warn("grid-auto-columns is not supported by IE",{node:f});return}else if(p==="grid-auto-rows"){r.warn("grid-auto-rows is not supported by IE",{node:f});return}else if(p==="grid-auto-flow"){let S=d.some(b=>b.prop==="grid-template-rows"),v=d.some(b=>b.prop==="grid-template-columns");Uf(f)?r.warn("grid-auto-flow is not supported by IE",{node:f}):m.includes("dense")?r.warn("grid-auto-flow: dense is not supported by IE",{node:f}):!S&&!v&&r.warn("grid-auto-flow works only if grid-template-rows and grid-template-columns are present in the same rule",{node:f});return}else if(m.includes("auto-fit")){r.warn("auto-fit value is not supported by IE",{node:f,word:"auto-fit"});return}else if(m.includes("auto-fill")){r.warn("auto-fill value is not supported by IE",{node:f,word:"auto-fill"});return}else p.startsWith("grid-template")&&m.includes("[")&&r.warn("Autoprefixer currently does not support line names. Try using grid-template-areas instead.",{node:f,word:"["});if(m.includes("radial-gradient"))if(R5.test(f.value))r.warn("Gradient has outdated direction syntax. New syntax is like `closest-side at 0 0` instead of `0 0, closest-side`.",{node:f});else{let S=tb(m);for(let v of S.nodes)if(v.type==="function"&&v.value==="radial-gradient")for(let b of v.nodes)b.type==="word"&&(b.value==="cover"?r.warn("Gradient has outdated direction syntax. Replace `cover` to `farthest-corner`.",{node:f}):b.value==="contain"&&r.warn("Gradient has outdated direction syntax. Replace `contain` to `closest-side`.",{node:f}))}m.includes("linear-gradient")&&P5.test(m)&&r.warn("Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.",{node:f})}q5.includes(f.prop)&&(f.value.includes("-fill-available")||(f.value.includes("fill-available")?r.warn("Replace fill-available to stretch, because spec had been changed",{node:f}):f.value.includes("fill")&&tb(m).nodes.some(v=>v.type==="word"&&v.value==="fill")&&r.warn("Replace fill to stretch, because spec had been changed",{node:f})));let w;if(f.prop==="transition"||f.prop==="transition-property")return this.prefixes.transition.add(f,r);if(f.prop==="align-self"){if(this.displayType(f)!=="grid"&&this.prefixes.options.flexbox!==!1&&(w=this.prefixes.add["align-self"],w&&w.prefixes&&w.process(f)),this.gridStatus(f,r)!==!1&&(w=this.prefixes.add["grid-row-align"],w&&w.prefixes))return w.process(f,r)}else if(f.prop==="justify-self"){if(this.gridStatus(f,r)!==!1&&(w=this.prefixes.add["grid-column-align"],w&&w.prefixes))return w.process(f,r)}else if(f.prop==="place-self"){if(w=this.prefixes.add["place-self"],w&&w.prefixes&&this.gridStatus(f,r)!==!1)return w.process(f,r)}else if(w=this.prefixes.add[f.prop],w&&w.prefixes)return w.process(f,r)}),this.gridStatus(e,r)&&O5(e,this.disabled),e.walkDecls(f=>{if(this.disabledValue(f,r))return;let d=this.prefixes.unprefixed(f.prop),p=this.prefixes.values("add",d);if(Array.isArray(p))for(let m of p)m.process&&m.process(f,r);C5.save(this.prefixes,f)})}remove(e,r){let i=this.prefixes.remove["@resolution"];e.walkAtRules((n,s)=>{this.prefixes.remove[`@${n.name}`]?this.disabled(n,r)||n.parent.removeChild(s):n.name==="media"&&n.params.includes("-resolution")&&i&&i.clean(n)});for(let n of this.prefixes.remove.selectors)e.walkRules((s,a)=>{n.check(s)&&(this.disabled(s,r)||s.parent.removeChild(a))});return e.walkDecls((n,s)=>{if(this.disabled(n,r))return;let a=n.parent,o=this.prefixes.unprefixed(n.prop);if((n.prop==="transition"||n.prop==="transition-property")&&this.prefixes.transition.remove(n),this.prefixes.remove[n.prop]&&this.prefixes.remove[n.prop].remove){let l=this.prefixes.group(n).down(c=>this.prefixes.normalize(c.prop)===o);if(o==="flex-flow"&&(l=!0),n.prop==="-webkit-box-orient"){let c={"flex-direction":!0,"flex-flow":!0};if(!n.parent.some(f=>c[f.prop]))return}if(l&&!this.withHackValue(n)){n.raw("before").includes(`
+`)&&this.reduceSpaces(n),a.removeChild(s);return}}for(let l of this.prefixes.values("remove",o)){if(!l.check||!l.check(n.value))continue;if(o=l.unprefixed,this.prefixes.group(n).down(f=>f.value.includes(o))){a.removeChild(s);return}}})}withHackValue(e){return e.prop==="-webkit-background-clip"&&e.value==="text"}disabledValue(e,r){return this.gridStatus(e,r)===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("grid")||this.prefixes.options.flexbox===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("flex")||e.type==="decl"&&e.prop==="content"?!0:this.disabled(e,r)}disabledDecl(e,r){if(this.gridStatus(e,r)===!1&&e.type==="decl"&&(e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.prefixes.options.flexbox===!1&&e.type==="decl"){let i=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||i.includes(e.prop))return!0}return this.disabled(e,r)}disabled(e,r){if(!e)return!1;if(e._autoprefixerDisabled!==void 0)return e._autoprefixerDisabled;if(e.parent){let n=e.prev();if(n&&n.type==="comment"&&I5.test(n.text))return e._autoprefixerDisabled=!0,e._autoprefixerSelfDisabled=!0,!0}let i=null;if(e.nodes){let n;e.each(s=>{s.type==="comment"&&/(!\s*)?autoprefixer:\s*(off|on)/i.test(s.text)&&(typeof n!="undefined"?r.warn("Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.",{node:s}):n=/on/i.test(s.text))}),n!==void 0&&(i=!n)}if(!e.nodes||i===null)if(e.parent){let n=this.disabled(e.parent,r);e.parent._autoprefixerSelfDisabled===!0?i=!1:i=n}else i=!1;return e._autoprefixerDisabled=i,i}reduceSpaces(e){let r=!1;if(this.prefixes.group(e).up(()=>(r=!0,!0)),r)return;let i=e.raw("before").split(`
+`),n=i[i.length-1].length,s=!1;this.prefixes.group(e).down(a=>{i=a.raw("before").split(`
+`);let o=i.length-1;i[o].length>n&&(s===!1&&(s=i[o].length-n),i[o]=i[o].slice(0,-s),a.raws.before=i.join(`
+`))})}displayType(e){for(let r of e.parent.nodes)if(r.prop==="display"){if(r.value.includes("flex"))return"flex";if(r.value.includes("grid"))return"grid"}return!1}gridStatus(e,r){if(!e)return!1;if(e._autoprefixerGridStatus!==void 0)return e._autoprefixerGridStatus;let i=null;if(e.nodes){let n;e.each(s=>{if(s.type==="comment"&&D5.test(s.text)){let a=/:\s*autoplace/i.test(s.text),o=/no-autoplace/i.test(s.text);typeof n!="undefined"?r.warn("Second Autoprefixer grid control comment was ignored. Autoprefixer applies control comments to the whole block, not to the next rules.",{node:s}):a?n="autoplace":o?n=!0:n=/on/i.test(s.text)}}),n!==void 0&&(i=n)}if(e.type==="atrule"&&e.name==="supports"){let n=e.params;n.includes("grid")&&n.includes("auto")&&(i=!1)}if(!e.nodes||i===null)if(e.parent){let n=this.gridStatus(e.parent,r);e.parent._autoprefixerSelfDisabled===!0?i=!1:i=n}else typeof this.prefixes.options.grid!="undefined"?i=this.prefixes.options.grid:typeof g.env.AUTOPREFIXER_GRID!="undefined"?g.env.AUTOPREFIXER_GRID==="autoplace"?i="autoplace":i=!0:i=!1;return e._autoprefixerGridStatus=i,i}};ib.exports=rb});var sb=x((SU,nb)=>{u();nb.exports={A:{A:{"2":"K E F G A B JC"},B:{"1":"C L M H N D O P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 KC zB J K E F G A B C L M H N D O k l LC MC"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 2 3 4 5 6 7 J K E F G A B C L M H N D O k l"},E:{"1":"G A B C L M H D RC 6B vB wB 7B SC TC 8B 9B xB AC yB BC CC DC EC FC GC UC","2":"0 J K E F NC 5B OC PC QC"},F:{"1":"1 2 3 4 5 6 7 8 9 H N D O k l AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j wB","2":"G B C VC WC XC YC vB HC ZC"},G:{"1":"D fC gC hC iC jC kC lC mC nC oC pC qC rC sC tC 8B 9B xB AC yB BC CC DC EC FC GC","2":"F 5B aC IC bC cC dC eC"},H:{"1":"uC"},I:{"1":"I zC 0C","2":"zB J vC wC xC yC IC"},J:{"2":"E A"},K:{"1":"m","2":"A B C vB HC wB"},L:{"1":"I"},M:{"1":"uB"},N:{"2":"A B"},O:{"1":"xB"},P:{"1":"J k l 1C 2C 3C 4C 5C 6B 6C 7C 8C 9C AD yB BD CD DD"},Q:{"1":"7B"},R:{"1":"ED"},S:{"1":"FD GD"}},B:4,C:"CSS Feature Queries"}});var ub=x((kU,lb)=>{u();function ab(t){return t[t.length-1]}var ob={parse(t){let e=[""],r=[e];for(let i of t){if(i==="("){e=[""],ab(r).push(e),r.push(e);continue}if(i===")"){r.pop(),e=ab(r),e.push("");continue}e[e.length-1]+=i}return r[0]},stringify(t){let e="";for(let r of t){if(typeof r=="object"){e+=`(${ob.stringify(r)})`;continue}e+=r}return e}};lb.exports=ob});var hb=x((_U,db)=>{u();var B5=sb(),{feature:M5}=(Ya(),Qa),{parse:N5}=Ze(),$5=cr(),Vf=ub(),F5=lt(),z5=ze(),fb=M5(B5),cb=[];for(let t in fb.stats){let e=fb.stats[t];for(let r in e){let i=e[r];/y/.test(i)&&cb.push(t+" "+r)}}var pb=class{constructor(e,r){this.Prefixes=e,this.all=r}prefixer(){if(this.prefixerCache)return this.prefixerCache;let e=this.all.browsers.selected.filter(i=>cb.includes(i)),r=new $5(this.all.browsers.data,e,this.all.options);return this.prefixerCache=new this.Prefixes(this.all.data,r,this.all.options),this.prefixerCache}parse(e){let r=e.split(":"),i=r[0],n=r[1];return n||(n=""),[i.trim(),n.trim()]}virtual(e){let[r,i]=this.parse(e),n=N5("a{}").first;return n.append({prop:r,value:i,raws:{before:""}}),n}prefixed(e){let r=this.virtual(e);if(this.disabled(r.first))return r.nodes;let i={warn:()=>null},n=this.prefixer().add[r.first.prop];n&&n.process&&n.process(r.first,i);for(let s of r.nodes){for(let a of this.prefixer().values("add",r.first.prop))a.process(s);F5.save(this.all,s)}return r.nodes}isNot(e){return typeof e=="string"&&/not\s*/i.test(e)}isOr(e){return typeof e=="string"&&/\s*or\s*/i.test(e)}isProp(e){return typeof e=="object"&&e.length===1&&typeof e[0]=="string"}isHack(e,r){return!new RegExp(`(\\(|\\s)${z5.escapeRegexp(r)}:`).test(e)}toRemove(e,r){let[i,n]=this.parse(e),s=this.all.unprefixed(i),a=this.all.cleaner();if(a.remove[i]&&a.remove[i].remove&&!this.isHack(r,s))return!0;for(let o of a.values("remove",s))if(o.check(n))return!0;return!1}remove(e,r){let i=0;for(;i<e.length;){if(!this.isNot(e[i-1])&&this.isProp(e[i])&&this.isOr(e[i+1])){if(this.toRemove(e[i][0],r)){e.splice(i,2);continue}i+=2;continue}typeof e[i]=="object"&&(e[i]=this.remove(e[i],r)),i+=1}return e}cleanBrackets(e){return e.map(r=>typeof r!="object"?r:r.length===1&&typeof r[0]=="object"?this.cleanBrackets(r[0]):this.cleanBrackets(r))}convert(e){let r=[""];for(let i of e)r.push([`${i.prop}: ${i.value}`]),r.push(" or ");return r[r.length-1]="",r}normalize(e){if(typeof e!="object")return e;if(e=e.filter(r=>r!==""),typeof e[0]=="string"){let r=e[0].trim();if(r.includes(":")||r==="selector"||r==="not selector")return[Vf.stringify(e)]}return e.map(r=>this.normalize(r))}add(e,r){return e.map(i=>{if(this.isProp(i)){let n=this.prefixed(i[0]);return n.length>1?this.convert(n):i}return typeof i=="object"?this.add(i,r):i})}process(e){let r=Vf.parse(e.params);r=this.normalize(r),r=this.remove(r,e.params),r=this.add(r,e.params),r=this.cleanBrackets(r),e.params=Vf.stringify(r)}disabled(e){if(!this.all.options.grid&&(e.prop==="display"&&e.value.includes("grid")||e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.all.options.flexbox===!1){if(e.prop==="display"&&e.value.includes("flex"))return!0;let r=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||r.includes(e.prop))return!0}return!1}};db.exports=pb});var yb=x((AU,gb)=>{u();var mb=class{constructor(e,r){this.prefix=r,this.prefixed=e.prefixed(this.prefix),this.regexp=e.regexp(this.prefix),this.prefixeds=e.possible().map(i=>[e.prefixed(i),e.regexp(i)]),this.unprefixed=e.name,this.nameRegexp=e.regexp()}isHack(e){let r=e.parent.index(e)+1,i=e.parent.nodes;for(;r<i.length;){let n=i[r].selector;if(!n)return!0;if(n.includes(this.unprefixed)&&n.match(this.nameRegexp))return!1;let s=!1;for(let[a,o]of this.prefixeds)if(n.includes(a)&&n.match(o)){s=!0;break}if(!s)return!0;r+=1}return!0}check(e){return!(!e.selector.includes(this.prefixed)||!e.selector.match(this.regexp)||this.isHack(e))}};gb.exports=mb});var ai=x((TU,vb)=>{u();var{list:j5}=Ze(),U5=yb(),H5=ii(),V5=cr(),W5=ze(),wb=class extends H5{constructor(e,r,i){super(e,r,i);this.regexpCache=new Map}check(e){return e.selector.includes(this.name)?!!e.selector.match(this.regexp()):!1}prefixed(e){return this.name.replace(/^(\W*)/,`$1${e}`)}regexp(e){if(!this.regexpCache.has(e)){let r=e?this.prefixed(e):this.name;this.regexpCache.set(e,new RegExp(`(^|[^:"'=])${W5.escapeRegexp(r)}`,"gi"))}return this.regexpCache.get(e)}possible(){return V5.prefixes()}prefixeds(e){if(e._autoprefixerPrefixeds){if(e._autoprefixerPrefixeds[this.name])return e._autoprefixerPrefixeds}else e._autoprefixerPrefixeds={};let r={};if(e.selector.includes(",")){let n=j5.comma(e.selector).filter(s=>s.includes(this.name));for(let s of this.possible())r[s]=n.map(a=>this.replace(a,s)).join(", ")}else for(let i of this.possible())r[i]=this.replace(e.selector,i);return e._autoprefixerPrefixeds[this.name]=r,e._autoprefixerPrefixeds}already(e,r,i){let n=e.parent.index(e)-1;for(;n>=0;){let s=e.parent.nodes[n];if(s.type!=="rule")return!1;let a=!1;for(let o in r[this.name]){let l=r[this.name][o];if(s.selector===l){if(i===o)return!0;a=!0;break}}if(!a)return!1;n-=1}return!1}replace(e,r){return e.replace(this.regexp(),`$1${this.prefixed(r)}`)}add(e,r){let i=this.prefixeds(e);if(this.already(e,i,r))return;let n=this.clone(e,{selector:i[this.name][r]});e.parent.insertBefore(e,n)}old(e){return new U5(this,e)}};vb.exports=wb});var Sb=x((EU,xb)=>{u();var G5=ii(),bb=class extends G5{add(e,r){let i=r+e.name;if(e.parent.some(a=>a.name===i&&a.params===e.params))return;let s=this.clone(e,{name:i});return e.parent.insertBefore(e,s)}process(e){let r=this.parentPrefix(e);for(let i of this.prefixes)(!r||r===i)&&this.add(e,i)}};xb.exports=bb});var _b=x((CU,kb)=>{u();var Q5=ai(),Wf=class extends Q5{prefixed(e){return e==="-webkit-"?":-webkit-full-screen":e==="-moz-"?":-moz-full-screen":`:${e}fullscreen`}};Wf.names=[":fullscreen"];kb.exports=Wf});var Tb=x((OU,Ab)=>{u();var Y5=ai(),Gf=class extends Y5{possible(){return super.possible().concat(["-moz- old","-ms- old"])}prefixed(e){return e==="-webkit-"?"::-webkit-input-placeholder":e==="-ms-"?"::-ms-input-placeholder":e==="-ms- old"?":-ms-input-placeholder":e==="-moz- old"?":-moz-placeholder":`::${e}placeholder`}};Gf.names=["::placeholder"];Ab.exports=Gf});var Cb=x((PU,Eb)=>{u();var K5=ai(),Qf=class extends K5{prefixed(e){return e==="-ms-"?":-ms-input-placeholder":`:${e}placeholder-shown`}};Qf.names=[":placeholder-shown"];Eb.exports=Qf});var Pb=x((RU,Ob)=>{u();var X5=ai(),Z5=ze(),Yf=class extends X5{constructor(e,r,i){super(e,r,i);this.prefixes&&(this.prefixes=Z5.uniq(this.prefixes.map(n=>"-webkit-")))}prefixed(e){return e==="-webkit-"?"::-webkit-file-upload-button":`::${e}file-selector-button`}};Yf.names=["::file-selector-button"];Ob.exports=Yf});var Ge=x((IU,Rb)=>{u();Rb.exports=function(t){let e;return t==="-webkit- 2009"||t==="-moz-"?e=2009:t==="-ms-"?e=2012:t==="-webkit-"&&(e="final"),t==="-webkit- 2009"&&(t="-webkit-"),[e,t]}});var Lb=x((DU,qb)=>{u();var Ib=Ze().list,Db=Ge(),J5=Y(),oi=class extends J5{prefixed(e,r){let i;return[i,r]=Db(r),i===2009?r+"box-flex":super.prefixed(e,r)}normalize(){return"flex"}set(e,r){let i=Db(r)[0];if(i===2009)return e.value=Ib.space(e.value)[0],e.value=oi.oldValues[e.value]||e.value,super.set(e,r);if(i===2012){let n=Ib.space(e.value);n.length===3&&n[2]==="0"&&(e.value=n.slice(0,2).concat("0px").join(" "))}return super.set(e,r)}};oi.names=["flex","box-flex"];oi.oldValues={auto:"1",none:"0"};qb.exports=oi});var Nb=x((qU,Mb)=>{u();var Bb=Ge(),e4=Y(),Kf=class extends e4{prefixed(e,r){let i;return[i,r]=Bb(r),i===2009?r+"box-ordinal-group":i===2012?r+"flex-order":super.prefixed(e,r)}normalize(){return"order"}set(e,r){return Bb(r)[0]===2009&&/\d/.test(e.value)?(e.value=(parseInt(e.value)+1).toString(),super.set(e,r)):super.set(e,r)}};Kf.names=["order","flex-order","box-ordinal-group"];Mb.exports=Kf});var Fb=x((LU,$b)=>{u();var t4=Y(),Xf=class extends t4{check(e){let r=e.value;return!r.toLowerCase().includes("alpha(")&&!r.includes("DXImageTransform.Microsoft")&&!r.includes("data:image/svg+xml")}};Xf.names=["filter"];$b.exports=Xf});var jb=x((BU,zb)=>{u();var r4=Y(),Zf=class extends r4{insert(e,r,i,n){if(r!=="-ms-")return super.insert(e,r,i);let s=this.clone(e),a=e.prop.replace(/end$/,"start"),o=r+e.prop.replace(/end$/,"span");if(!e.parent.some(l=>l.prop===o)){if(s.prop=o,e.value.includes("span"))s.value=e.value.replace(/span\s/i,"");else{let l;if(e.parent.walkDecls(a,c=>{l=c}),l){let c=Number(e.value)-Number(l.value)+"";s.value=c}else e.warn(n,`Can not prefix ${e.prop} (${a} is not found)`)}e.cloneBefore(s)}}};Zf.names=["grid-row-end","grid-column-end"];zb.exports=Zf});var Hb=x((MU,Ub)=>{u();var i4=Y(),Jf=class extends i4{check(e){return!e.value.split(/\s+/).some(r=>{let i=r.toLowerCase();return i==="reverse"||i==="alternate-reverse"})}};Jf.names=["animation","animation-direction"];Ub.exports=Jf});var Wb=x((NU,Vb)=>{u();var n4=Ge(),s4=Y(),ec=class extends s4{insert(e,r,i){let n;if([n,r]=n4(r),n!==2009)return super.insert(e,r,i);let s=e.value.split(/\s+/).filter(d=>d!=="wrap"&&d!=="nowrap"&&"wrap-reverse");if(s.length===0||e.parent.some(d=>d.prop===r+"box-orient"||d.prop===r+"box-direction"))return;let o=s[0],l=o.includes("row")?"horizontal":"vertical",c=o.includes("reverse")?"reverse":"normal",f=this.clone(e);return f.prop=r+"box-orient",f.value=l,this.needCascade(e)&&(f.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,f),f=this.clone(e),f.prop=r+"box-direction",f.value=c,this.needCascade(e)&&(f.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,f)}};ec.names=["flex-flow","box-direction","box-orient"];Vb.exports=ec});var Qb=x(($U,Gb)=>{u();var a4=Ge(),o4=Y(),tc=class extends o4{normalize(){return"flex"}prefixed(e,r){let i;return[i,r]=a4(r),i===2009?r+"box-flex":i===2012?r+"flex-positive":super.prefixed(e,r)}};tc.names=["flex-grow","flex-positive"];Gb.exports=tc});var Kb=x((FU,Yb)=>{u();var l4=Ge(),u4=Y(),rc=class extends u4{set(e,r){if(l4(r)[0]!==2009)return super.set(e,r)}};rc.names=["flex-wrap"];Yb.exports=rc});var Zb=x((zU,Xb)=>{u();var f4=Y(),li=dr(),ic=class extends f4{insert(e,r,i,n){if(r!=="-ms-")return super.insert(e,r,i);let s=li.parse(e),[a,o]=li.translate(s,0,2),[l,c]=li.translate(s,1,3);[["grid-row",a],["grid-row-span",o],["grid-column",l],["grid-column-span",c]].forEach(([f,d])=>{li.insertDecl(e,f,d)}),li.warnTemplateSelectorNotFound(e,n),li.warnIfGridRowColumnExists(e,n)}};ic.names=["grid-area"];Xb.exports=ic});var e1=x((jU,Jb)=>{u();var c4=Y(),Rn=dr(),nc=class extends c4{insert(e,r,i){if(r!=="-ms-")return super.insert(e,r,i);if(e.parent.some(a=>a.prop==="-ms-grid-row-align"))return;let[[n,s]]=Rn.parse(e);s?(Rn.insertDecl(e,"grid-row-align",n),Rn.insertDecl(e,"grid-column-align",s)):(Rn.insertDecl(e,"grid-row-align",n),Rn.insertDecl(e,"grid-column-align",n))}};nc.names=["place-self"];Jb.exports=nc});var r1=x((UU,t1)=>{u();var p4=Y(),sc=class extends p4{check(e){let r=e.value;return!r.includes("/")||r.includes("span")}normalize(e){return e.replace("-start","")}prefixed(e,r){let i=super.prefixed(e,r);return r==="-ms-"&&(i=i.replace("-start","")),i}};sc.names=["grid-row-start","grid-column-start"];t1.exports=sc});var s1=x((HU,n1)=>{u();var i1=Ge(),d4=Y(),ui=class extends d4{check(e){return e.parent&&!e.parent.some(r=>r.prop&&r.prop.startsWith("grid-"))}prefixed(e,r){let i;return[i,r]=i1(r),i===2012?r+"flex-item-align":super.prefixed(e,r)}normalize(){return"align-self"}set(e,r){let i=i1(r)[0];if(i===2012)return e.value=ui.oldValues[e.value]||e.value,super.set(e,r);if(i==="final")return super.set(e,r)}};ui.names=["align-self","flex-item-align"];ui.oldValues={"flex-end":"end","flex-start":"start"};n1.exports=ui});var o1=x((VU,a1)=>{u();var h4=Y(),m4=ze(),ac=class extends h4{constructor(e,r,i){super(e,r,i);this.prefixes&&(this.prefixes=m4.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};ac.names=["appearance"];a1.exports=ac});var f1=x((WU,u1)=>{u();var l1=Ge(),g4=Y(),oc=class extends g4{normalize(){return"flex-basis"}prefixed(e,r){let i;return[i,r]=l1(r),i===2012?r+"flex-preferred-size":super.prefixed(e,r)}set(e,r){let i;if([i,r]=l1(r),i===2012||i==="final")return super.set(e,r)}};oc.names=["flex-basis","flex-preferred-size"];u1.exports=oc});var p1=x((GU,c1)=>{u();var y4=Y(),lc=class extends y4{normalize(){return this.name.replace("box-image","border")}prefixed(e,r){let i=super.prefixed(e,r);return r==="-webkit-"&&(i=i.replace("border","box-image")),i}};lc.names=["mask-border","mask-border-source","mask-border-slice","mask-border-width","mask-border-outset","mask-border-repeat","mask-box-image","mask-box-image-source","mask-box-image-slice","mask-box-image-width","mask-box-image-outset","mask-box-image-repeat"];c1.exports=lc});var h1=x((QU,d1)=>{u();var w4=Y(),Ot=class extends w4{insert(e,r,i){let n=e.prop==="mask-composite",s;n?s=e.value.split(","):s=e.value.match(Ot.regexp)||[],s=s.map(c=>c.trim()).filter(c=>c);let a=s.length,o;if(a&&(o=this.clone(e),o.value=s.map(c=>Ot.oldValues[c]||c).join(", "),s.includes("intersect")&&(o.value+=", xor"),o.prop=r+"mask-composite"),n)return a?(this.needCascade(e)&&(o.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,o)):void 0;let l=this.clone(e);return l.prop=r+l.prop,a&&(l.value=l.value.replace(Ot.regexp,"")),this.needCascade(e)&&(l.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,l),a?(this.needCascade(e)&&(o.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,o)):e}};Ot.names=["mask","mask-composite"];Ot.oldValues={add:"source-over",subtract:"source-out",intersect:"source-in",exclude:"xor"};Ot.regexp=new RegExp(`\\s+(${Object.keys(Ot.oldValues).join("|")})\\b(?!\\))\\s*(?=[,])`,"ig");d1.exports=Ot});var y1=x((YU,g1)=>{u();var m1=Ge(),v4=Y(),fi=class extends v4{prefixed(e,r){let i;return[i,r]=m1(r),i===2009?r+"box-align":i===2012?r+"flex-align":super.prefixed(e,r)}normalize(){return"align-items"}set(e,r){let i=m1(r)[0];return(i===2009||i===2012)&&(e.value=fi.oldValues[e.value]||e.value),super.set(e,r)}};fi.names=["align-items","flex-align","box-align"];fi.oldValues={"flex-end":"end","flex-start":"start"};g1.exports=fi});var v1=x((KU,w1)=>{u();var b4=Y(),uc=class extends b4{set(e,r){return r==="-ms-"&&e.value==="contain"&&(e.value="element"),super.set(e,r)}insert(e,r,i){if(!(e.value==="all"&&r==="-ms-"))return super.insert(e,r,i)}};uc.names=["user-select"];w1.exports=uc});var S1=x((XU,x1)=>{u();var b1=Ge(),x4=Y(),fc=class extends x4{normalize(){return"flex-shrink"}prefixed(e,r){let i;return[i,r]=b1(r),i===2012?r+"flex-negative":super.prefixed(e,r)}set(e,r){let i;if([i,r]=b1(r),i===2012||i==="final")return super.set(e,r)}};fc.names=["flex-shrink","flex-negative"];x1.exports=fc});var _1=x((ZU,k1)=>{u();var S4=Y(),cc=class extends S4{prefixed(e,r){return`${r}column-${e}`}normalize(e){return e.includes("inside")?"break-inside":e.includes("before")?"break-before":"break-after"}set(e,r){return(e.prop==="break-inside"&&e.value==="avoid-column"||e.value==="avoid-page")&&(e.value="avoid"),super.set(e,r)}insert(e,r,i){if(e.prop!=="break-inside")return super.insert(e,r,i);if(!(/region/i.test(e.value)||/page/i.test(e.value)))return super.insert(e,r,i)}};cc.names=["break-inside","page-break-inside","column-break-inside","break-before","page-break-before","column-break-before","break-after","page-break-after","column-break-after"];k1.exports=cc});var T1=x((JU,A1)=>{u();var k4=Y(),pc=class extends k4{prefixed(e,r){return r+"print-color-adjust"}normalize(){return"color-adjust"}};pc.names=["color-adjust","print-color-adjust"];A1.exports=pc});var C1=x((eH,E1)=>{u();var _4=Y(),ci=class extends _4{insert(e,r,i){if(r==="-ms-"){let n=this.set(this.clone(e),r);this.needCascade(e)&&(n.raws.before=this.calcBefore(i,e,r));let s="ltr";return e.parent.nodes.forEach(a=>{a.prop==="direction"&&(a.value==="rtl"||a.value==="ltr")&&(s=a.value)}),n.value=ci.msValues[s][e.value]||e.value,e.parent.insertBefore(e,n)}return super.insert(e,r,i)}};ci.names=["writing-mode"];ci.msValues={ltr:{"horizontal-tb":"lr-tb","vertical-rl":"tb-rl","vertical-lr":"tb-lr"},rtl:{"horizontal-tb":"rl-tb","vertical-rl":"bt-rl","vertical-lr":"bt-lr"}};E1.exports=ci});var P1=x((tH,O1)=>{u();var A4=Y(),dc=class extends A4{set(e,r){return e.value=e.value.replace(/\s+fill(\s)/,"$1"),super.set(e,r)}};dc.names=["border-image"];O1.exports=dc});var D1=x((rH,I1)=>{u();var R1=Ge(),T4=Y(),pi=class extends T4{prefixed(e,r){let i;return[i,r]=R1(r),i===2012?r+"flex-line-pack":super.prefixed(e,r)}normalize(){return"align-content"}set(e,r){let i=R1(r)[0];if(i===2012)return e.value=pi.oldValues[e.value]||e.value,super.set(e,r);if(i==="final")return super.set(e,r)}};pi.names=["align-content","flex-line-pack"];pi.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};I1.exports=pi});var L1=x((iH,q1)=>{u();var E4=Y(),ut=class extends E4{prefixed(e,r){return r==="-moz-"?r+(ut.toMozilla[e]||e):super.prefixed(e,r)}normalize(e){return ut.toNormal[e]||e}};ut.names=["border-radius"];ut.toMozilla={};ut.toNormal={};for(let t of["top","bottom"])for(let e of["left","right"]){let r=`border-${t}-${e}-radius`,i=`border-radius-${t}${e}`;ut.names.push(r),ut.names.push(i),ut.toMozilla[r]=i,ut.toNormal[i]=r}q1.exports=ut});var M1=x((nH,B1)=>{u();var C4=Y(),hc=class extends C4{prefixed(e,r){return e.includes("-start")?r+e.replace("-block-start","-before"):r+e.replace("-block-end","-after")}normalize(e){return e.includes("-before")?e.replace("-before","-block-start"):e.replace("-after","-block-end")}};hc.names=["border-block-start","border-block-end","margin-block-start","margin-block-end","padding-block-start","padding-block-end","border-before","border-after","margin-before","margin-after","padding-before","padding-after"];B1.exports=hc});var $1=x((sH,N1)=>{u();var O4=Y(),{parseTemplate:P4,warnMissedAreas:R4,getGridGap:I4,warnGridGap:D4,inheritGridGap:q4}=dr(),mc=class extends O4{insert(e,r,i,n){if(r!=="-ms-")return super.insert(e,r,i);if(e.parent.some(m=>m.prop==="-ms-grid-rows"))return;let s=I4(e),a=q4(e,s),{rows:o,columns:l,areas:c}=P4({decl:e,gap:a||s}),f=Object.keys(c).length>0,d=Boolean(o),p=Boolean(l);return D4({gap:s,hasColumns:p,decl:e,result:n}),R4(c,e,n),(d&&p||f)&&e.cloneBefore({prop:"-ms-grid-rows",value:o,raws:{}}),p&&e.cloneBefore({prop:"-ms-grid-columns",value:l,raws:{}}),e}};mc.names=["grid-template"];N1.exports=mc});var z1=x((aH,F1)=>{u();var L4=Y(),gc=class extends L4{prefixed(e,r){return r+e.replace("-inline","")}normalize(e){return e.replace(/(margin|padding|border)-(start|end)/,"$1-inline-$2")}};gc.names=["border-inline-start","border-inline-end","margin-inline-start","margin-inline-end","padding-inline-start","padding-inline-end","border-start","border-end","margin-start","margin-end","padding-start","padding-end"];F1.exports=gc});var U1=x((oH,j1)=>{u();var B4=Y(),yc=class extends B4{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,r){return r+"grid-row-align"}normalize(){return"align-self"}};yc.names=["grid-row-align"];j1.exports=yc});var V1=x((lH,H1)=>{u();var M4=Y(),di=class extends M4{keyframeParents(e){let{parent:r}=e;for(;r;){if(r.type==="atrule"&&r.name==="keyframes")return!0;({parent:r}=r)}return!1}contain3d(e){if(e.prop==="transform-origin")return!1;for(let r of di.functions3d)if(e.value.includes(`${r}(`))return!0;return!1}set(e,r){return e=super.set(e,r),r==="-ms-"&&(e.value=e.value.replace(/rotatez/gi,"rotate")),e}insert(e,r,i){if(r==="-ms-"){if(!this.contain3d(e)&&!this.keyframeParents(e))return super.insert(e,r,i)}else if(r==="-o-"){if(!this.contain3d(e))return super.insert(e,r,i)}else return super.insert(e,r,i)}};di.names=["transform","transform-origin"];di.functions3d=["matrix3d","translate3d","translateZ","scale3d","scaleZ","rotate3d","rotateX","rotateY","perspective"];H1.exports=di});var Q1=x((uH,G1)=>{u();var W1=Ge(),N4=Y(),wc=class extends N4{normalize(){return"flex-direction"}insert(e,r,i){let n;if([n,r]=W1(r),n!==2009)return super.insert(e,r,i);if(e.parent.some(f=>f.prop===r+"box-orient"||f.prop===r+"box-direction"))return;let a=e.value,o,l;a==="inherit"||a==="initial"||a==="unset"?(o=a,l=a):(o=a.includes("row")?"horizontal":"vertical",l=a.includes("reverse")?"reverse":"normal");let c=this.clone(e);return c.prop=r+"box-orient",c.value=o,this.needCascade(e)&&(c.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,c),c=this.clone(e),c.prop=r+"box-direction",c.value=l,this.needCascade(e)&&(c.raws.before=this.calcBefore(i,e,r)),e.parent.insertBefore(e,c)}old(e,r){let i;return[i,r]=W1(r),i===2009?[r+"box-orient",r+"box-direction"]:super.old(e,r)}};wc.names=["flex-direction","box-direction","box-orient"];G1.exports=wc});var K1=x((fH,Y1)=>{u();var $4=Y(),vc=class extends $4{check(e){return e.value==="pixelated"}prefixed(e,r){return r==="-ms-"?"-ms-interpolation-mode":super.prefixed(e,r)}set(e,r){return r!=="-ms-"?super.set(e,r):(e.prop="-ms-interpolation-mode",e.value="nearest-neighbor",e)}normalize(){return"image-rendering"}process(e,r){return super.process(e,r)}};vc.names=["image-rendering","interpolation-mode"];Y1.exports=vc});var Z1=x((cH,X1)=>{u();var F4=Y(),z4=ze(),bc=class extends F4{constructor(e,r,i){super(e,r,i);this.prefixes&&(this.prefixes=z4.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};bc.names=["backdrop-filter"];X1.exports=bc});var ex=x((pH,J1)=>{u();var j4=Y(),U4=ze(),xc=class extends j4{constructor(e,r,i){super(e,r,i);this.prefixes&&(this.prefixes=U4.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}check(e){return e.value.toLowerCase()==="text"}};xc.names=["background-clip"];J1.exports=xc});var rx=x((dH,tx)=>{u();var H4=Y(),V4=["none","underline","overline","line-through","blink","inherit","initial","unset"],Sc=class extends H4{check(e){return e.value.split(/\s+/).some(r=>!V4.includes(r))}};Sc.names=["text-decoration"];tx.exports=Sc});var sx=x((hH,nx)=>{u();var ix=Ge(),W4=Y(),hi=class extends W4{prefixed(e,r){let i;return[i,r]=ix(r),i===2009?r+"box-pack":i===2012?r+"flex-pack":super.prefixed(e,r)}normalize(){return"justify-content"}set(e,r){let i=ix(r)[0];if(i===2009||i===2012){let n=hi.oldValues[e.value]||e.value;if(e.value=n,i!==2009||n!=="distribute")return super.set(e,r)}else if(i==="final")return super.set(e,r)}};hi.names=["justify-content","flex-pack","box-pack"];hi.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};nx.exports=hi});var ox=x((mH,ax)=>{u();var G4=Y(),kc=class extends G4{set(e,r){let i=e.value.toLowerCase();return r==="-webkit-"&&!i.includes(" ")&&i!=="contain"&&i!=="cover"&&(e.value=e.value+" "+e.value),super.set(e,r)}};kc.names=["background-size"];ax.exports=kc});var ux=x((gH,lx)=>{u();var Q4=Y(),_c=dr(),Ac=class extends Q4{insert(e,r,i){if(r!=="-ms-")return super.insert(e,r,i);let n=_c.parse(e),[s,a]=_c.translate(n,0,1);n[0]&&n[0].includes("span")&&(a=n[0].join("").replace(/\D/g,"")),[[e.prop,s],[`${e.prop}-span`,a]].forEach(([l,c])=>{_c.insertDecl(e,l,c)})}};Ac.names=["grid-row","grid-column"];lx.exports=Ac});var px=x((yH,cx)=>{u();var Y4=Y(),{prefixTrackProp:fx,prefixTrackValue:K4,autoplaceGridItems:X4,getGridGap:Z4,inheritGridGap:J4}=dr(),e3=Hf(),Tc=class extends Y4{prefixed(e,r){return r==="-ms-"?fx({prop:e,prefix:r}):super.prefixed(e,r)}normalize(e){return e.replace(/^grid-(rows|columns)/,"grid-template-$1")}insert(e,r,i,n){if(r!=="-ms-")return super.insert(e,r,i);let{parent:s,prop:a,value:o}=e,l=a.includes("rows"),c=a.includes("columns"),f=s.some(_=>_.prop==="grid-template"||_.prop==="grid-template-areas");if(f&&l)return!1;let d=new e3({options:{}}),p=d.gridStatus(s,n),m=Z4(e);m=J4(e,m)||m;let w=l?m.row:m.column;(p==="no-autoplace"||p===!0)&&!f&&(w=null);let S=K4({value:o,gap:w});e.cloneBefore({prop:fx({prop:a,prefix:r}),value:S});let v=s.nodes.find(_=>_.prop==="grid-auto-flow"),b="row";if(v&&!d.disabled(v,n)&&(b=v.value.trim()),p==="autoplace"){let _=s.nodes.find(O=>O.prop==="grid-template-rows");if(!_&&f)return;if(!_&&!f){e.warn(n,"Autoplacement does not work without grid-template-rows property");return}!s.nodes.find(O=>O.prop==="grid-template-columns")&&!f&&e.warn(n,"Autoplacement does not work without grid-template-columns property"),c&&!f&&X4(e,n,m,b)}}};Tc.names=["grid-template-rows","grid-template-columns","grid-rows","grid-columns"];cx.exports=Tc});var hx=x((wH,dx)=>{u();var t3=Y(),Ec=class extends t3{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,r){return r+"grid-column-align"}normalize(){return"justify-self"}};Ec.names=["grid-column-align"];dx.exports=Ec});var gx=x((vH,mx)=>{u();var r3=Y(),Cc=class extends r3{prefixed(e,r){return r+"scroll-chaining"}normalize(){return"overscroll-behavior"}set(e,r){return e.value==="auto"?e.value="chained":(e.value==="none"||e.value==="contain")&&(e.value="none"),super.set(e,r)}};Cc.names=["overscroll-behavior","scroll-chaining"];mx.exports=Cc});var vx=x((bH,wx)=>{u();var i3=Y(),{parseGridAreas:n3,warnMissedAreas:s3,prefixTrackProp:a3,prefixTrackValue:yx,getGridGap:o3,warnGridGap:l3,inheritGridGap:u3}=dr();function f3(t){return t.trim().slice(1,-1).split(/["']\s*["']?/g)}var Oc=class extends i3{insert(e,r,i,n){if(r!=="-ms-")return super.insert(e,r,i);let s=!1,a=!1,o=e.parent,l=o3(e);l=u3(e,l)||l,o.walkDecls(/-ms-grid-rows/,d=>d.remove()),o.walkDecls(/grid-template-(rows|columns)/,d=>{if(d.prop==="grid-template-rows"){a=!0;let{prop:p,value:m}=d;d.cloneBefore({prop:a3({prop:p,prefix:r}),value:yx({value:m,gap:l.row})})}else s=!0});let c=f3(e.value);s&&!a&&l.row&&c.length>1&&e.cloneBefore({prop:"-ms-grid-rows",value:yx({value:`repeat(${c.length}, auto)`,gap:l.row}),raws:{}}),l3({gap:l,hasColumns:s,decl:e,result:n});let f=n3({rows:c,gap:l});return s3(f,e,n),e}};Oc.names=["grid-template-areas"];wx.exports=Oc});var xx=x((xH,bx)=>{u();var c3=Y(),Pc=class extends c3{set(e,r){return r==="-webkit-"&&(e.value=e.value.replace(/\s*(right|left)\s*/i,"")),super.set(e,r)}};Pc.names=["text-emphasis-position"];bx.exports=Pc});var kx=x((SH,Sx)=>{u();var p3=Y(),Rc=class extends p3{set(e,r){return e.prop==="text-decoration-skip-ink"&&e.value==="auto"?(e.prop=r+"text-decoration-skip",e.value="ink",e):super.set(e,r)}};Rc.names=["text-decoration-skip-ink","text-decoration-skip"];Sx.exports=Rc});var Ox=x((kH,Cx)=>{u();"use strict";Cx.exports={wrap:_x,limit:Ax,validate:Tx,test:Ic,curry:d3,name:Ex};function _x(t,e,r){var i=e-t;return((r-t)%i+i)%i+t}function Ax(t,e,r){return Math.max(t,Math.min(e,r))}function Tx(t,e,r,i,n){if(!Ic(t,e,r,i,n))throw new Error(r+" is outside of range ["+t+","+e+")");return r}function Ic(t,e,r,i,n){return!(r<t||r>e||n&&r===e||i&&r===t)}function Ex(t,e,r,i){return(r?"(":"[")+t+","+e+(i?")":"]")}function d3(t,e,r,i){var n=Ex.bind(null,t,e,r,i);return{wrap:_x.bind(null,t,e),limit:Ax.bind(null,t,e),validate:function(s){return Tx(t,e,s,r,i)},test:function(s){return Ic(t,e,s,r,i)},toString:n,name:n}}});var Ix=x((_H,Rx)=>{u();var Dc=to(),h3=Ox(),m3=si(),g3=lt(),y3=ze(),Px=/top|left|right|bottom/gi,jt=class extends g3{replace(e,r){let i=Dc(e);for(let n of i.nodes)if(n.type==="function"&&n.value===this.name)if(n.nodes=this.newDirection(n.nodes),n.nodes=this.normalize(n.nodes),r==="-webkit- old"){if(!this.oldWebkit(n))return!1}else n.nodes=this.convertDirection(n.nodes),n.value=r+n.value;return i.toString()}replaceFirst(e,...r){return r.map(n=>n===" "?{type:"space",value:n}:{type:"word",value:n}).concat(e.slice(1))}normalizeUnit(e,r){return`${parseFloat(e)/r*360}deg`}normalize(e){if(!e[0])return e;if(/-?\d+(.\d+)?grad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,400);else if(/-?\d+(.\d+)?rad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,2*Math.PI);else if(/-?\d+(.\d+)?turn/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,1);else if(e[0].value.includes("deg")){let r=parseFloat(e[0].value);r=h3.wrap(0,360,r),e[0].value=`${r}deg`}return e[0].value==="0deg"?e=this.replaceFirst(e,"to"," ","top"):e[0].value==="90deg"?e=this.replaceFirst(e,"to"," ","right"):e[0].value==="180deg"?e=this.replaceFirst(e,"to"," ","bottom"):e[0].value==="270deg"&&(e=this.replaceFirst(e,"to"," ","left")),e}newDirection(e){if(e[0].value==="to"||(Px.lastIndex=0,!Px.test(e[0].value)))return e;e.unshift({type:"word",value:"to"},{type:"space",value:" "});for(let r=2;r<e.length&&e[r].type!=="div";r++)e[r].type==="word"&&(e[r].value=this.revertDirection(e[r].value));return e}isRadial(e){let r="before";for(let i of e)if(r==="before"&&i.type==="space")r="at";else if(r==="at"&&i.value==="at")r="after";else{if(r==="after"&&i.type==="space")return!0;if(i.type==="div")break;r="before"}return!1}convertDirection(e){return e.length>0&&(e[0].value==="to"?this.fixDirection(e):e[0].value.includes("deg")?this.fixAngle(e):this.isRadial(e)&&this.fixRadial(e)),e}fixDirection(e){e.splice(0,2);for(let r of e){if(r.type==="div")break;r.type==="word"&&(r.value=this.revertDirection(r.value))}}fixAngle(e){let r=e[0].value;r=parseFloat(r),r=Math.abs(450-r)%360,r=this.roundFloat(r,3),e[0].value=`${r}deg`}fixRadial(e){let r=[],i=[],n,s,a,o,l;for(o=0;o<e.length-2;o++)if(n=e[o],s=e[o+1],a=e[o+2],n.type==="space"&&s.value==="at"&&a.type==="space"){l=o+3;break}else r.push(n);let c;for(o=l;o<e.length;o++)if(e[o].type==="div"){c=e[o];break}else i.push(e[o]);e.splice(0,o,...i,c,...r)}revertDirection(e){return jt.directions[e.toLowerCase()]||e}roundFloat(e,r){return parseFloat(e.toFixed(r))}oldWebkit(e){let{nodes:r}=e,i=Dc.stringify(e.nodes);if(this.name!=="linear-gradient"||r[0]&&r[0].value.includes("deg")||i.includes("px")||i.includes("-corner")||i.includes("-side"))return!1;let n=[[]];for(let s of r)n[n.length-1].push(s),s.type==="div"&&s.value===","&&n.push([]);this.oldDirection(n),this.colorStops(n),e.nodes=[];for(let s of n)e.nodes=e.nodes.concat(s);return e.nodes.unshift({type:"word",value:"linear"},this.cloneDiv(e.nodes)),e.value="-webkit-gradient",!0}oldDirection(e){let r=this.cloneDiv(e[0]);if(e[0][0].value!=="to")return e.unshift([{type:"word",value:jt.oldDirections.bottom},r]);{let i=[];for(let s of e[0].slice(2))s.type==="word"&&i.push(s.value.toLowerCase());i=i.join(" ");let n=jt.oldDirections[i]||i;return e[0]=[{type:"word",value:n},r],e[0]}}cloneDiv(e){for(let r of e)if(r.type==="div"&&r.value===",")return r;return{type:"div",value:",",after:" "}}colorStops(e){let r=[];for(let i=0;i<e.length;i++){let n,s=e[i],a;if(i===0)continue;let o=Dc.stringify(s[0]);s[1]&&s[1].type==="word"?n=s[1].value:s[2]&&s[2].type==="word"&&(n=s[2].value);let l;i===1&&(!n||n==="0%")?l=`from(${o})`:i===e.length-1&&(!n||n==="100%")?l=`to(${o})`:n?l=`color-stop(${n}, ${o})`:l=`color-stop(${o})`;let c=s[s.length-1];e[i]=[{type:"word",value:l}],c.type==="div"&&c.value===","&&(a=e[i].push(c)),r.push(a)}return r}old(e){if(e==="-webkit-"){let r=this.name==="linear-gradient"?"linear":"radial",i="-gradient",n=y3.regexp(`-webkit-(${r}-gradient|gradient\\(\\s*${r})`,!1);return new m3(this.name,e+this.name,i,n)}else return super.old(e)}add(e,r){let i=e.prop;if(i.includes("mask")){if(r==="-webkit-"||r==="-webkit- old")return super.add(e,r)}else if(i==="list-style"||i==="list-style-image"||i==="content"){if(r==="-webkit-"||r==="-webkit- old")return super.add(e,r)}else return super.add(e,r)}};jt.names=["linear-gradient","repeating-linear-gradient","radial-gradient","repeating-radial-gradient"];jt.directions={top:"bottom",left:"right",bottom:"top",right:"left"};jt.oldDirections={top:"left bottom, left top",left:"right top, left top",bottom:"left top, left bottom",right:"left top, right top","top right":"left bottom, right top","top left":"right bottom, left top","right top":"left bottom, right top","right bottom":"left top, right bottom","bottom right":"left top, right bottom","bottom left":"right top, left bottom","left top":"right bottom, left top","left bottom":"right top, left bottom"};Rx.exports=jt});var Lx=x((AH,qx)=>{u();var w3=si(),v3=lt();function Dx(t){return new RegExp(`(^|[\\s,(])(${t}($|[\\s),]))`,"gi")}var qc=class extends v3{regexp(){return this.regexpCache||(this.regexpCache=Dx(this.name)),this.regexpCache}isStretch(){return this.name==="stretch"||this.name==="fill"||this.name==="fill-available"}replace(e,r){return r==="-moz-"&&this.isStretch()?e.replace(this.regexp(),"$1-moz-available$3"):r==="-webkit-"&&this.isStretch()?e.replace(this.regexp(),"$1-webkit-fill-available$3"):super.replace(e,r)}old(e){let r=e+this.name;return this.isStretch()&&(e==="-moz-"?r="-moz-available":e==="-webkit-"&&(r="-webkit-fill-available")),new w3(this.name,r,r,Dx(r))}add(e,r){if(!(e.prop.includes("grid")&&r!=="-webkit-"))return super.add(e,r)}};qc.names=["max-content","min-content","fit-content","fill","fill-available","stretch"];qx.exports=qc});var Nx=x((TH,Mx)=>{u();var Bx=si(),b3=lt(),Lc=class extends b3{replace(e,r){return r==="-webkit-"?e.replace(this.regexp(),"$1-webkit-optimize-contrast"):r==="-moz-"?e.replace(this.regexp(),"$1-moz-crisp-edges"):super.replace(e,r)}old(e){return e==="-webkit-"?new Bx(this.name,"-webkit-optimize-contrast"):e==="-moz-"?new Bx(this.name,"-moz-crisp-edges"):super.old(e)}};Lc.names=["pixelated"];Mx.exports=Lc});var Fx=x((EH,$x)=>{u();var x3=lt(),Bc=class extends x3{replace(e,r){let i=super.replace(e,r);return r==="-webkit-"&&(i=i.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi,"url($1)$2")),i}};Bc.names=["image-set"];$x.exports=Bc});var jx=x((CH,zx)=>{u();var S3=Ze().list,k3=lt(),Mc=class extends k3{replace(e,r){return S3.space(e).map(i=>{if(i.slice(0,+this.name.length+1)!==this.name+"(")return i;let n=i.lastIndexOf(")"),s=i.slice(n+1),a=i.slice(this.name.length+1,n);if(r==="-webkit-"){let o=a.match(/\d*.?\d+%?/);o?(a=a.slice(o[0].length).trim(),a+=`, ${o[0]}`):a+=", 0.5"}return r+this.name+"("+a+")"+s}).join(" ")}};Mc.names=["cross-fade"];zx.exports=Mc});var Hx=x((OH,Ux)=>{u();var _3=Ge(),A3=si(),T3=lt(),Nc=class extends T3{constructor(e,r){super(e,r);e==="display-flex"&&(this.name="flex")}check(e){return e.prop==="display"&&e.value===this.name}prefixed(e){let r,i;return[r,e]=_3(e),r===2009?this.name==="flex"?i="box":i="inline-box":r===2012?this.name==="flex"?i="flexbox":i="inline-flexbox":r==="final"&&(i=this.name),e+i}replace(e,r){return this.prefixed(r)}old(e){let r=this.prefixed(e);if(!!r)return new A3(this.name,r)}};Nc.names=["display-flex","inline-flex"];Ux.exports=Nc});var Wx=x((PH,Vx)=>{u();var E3=lt(),$c=class extends E3{constructor(e,r){super(e,r);e==="display-grid"&&(this.name="grid")}check(e){return e.prop==="display"&&e.value===this.name}};$c.names=["display-grid","inline-grid"];Vx.exports=$c});var Qx=x((RH,Gx)=>{u();var C3=lt(),Fc=class extends C3{constructor(e,r){super(e,r);e==="filter-function"&&(this.name="filter")}};Fc.names=["filter","filter-function"];Gx.exports=Fc});var Zx=x((IH,Xx)=>{u();var Yx=Pn(),K=Y(),Kx=Rv(),O3=Yv(),P3=Hf(),R3=hb(),zc=cr(),mi=ai(),I3=Sb(),Pt=lt(),gi=ze(),D3=_b(),q3=Tb(),L3=Cb(),B3=Pb(),M3=Lb(),N3=Nb(),$3=Fb(),F3=jb(),z3=Hb(),j3=Wb(),U3=Qb(),H3=Kb(),V3=Zb(),W3=e1(),G3=r1(),Q3=s1(),Y3=o1(),K3=f1(),X3=p1(),Z3=h1(),J3=y1(),e6=v1(),t6=S1(),r6=_1(),i6=T1(),n6=C1(),s6=P1(),a6=D1(),o6=L1(),l6=M1(),u6=$1(),f6=z1(),c6=U1(),p6=V1(),d6=Q1(),h6=K1(),m6=Z1(),g6=ex(),y6=rx(),w6=sx(),v6=ox(),b6=ux(),x6=px(),S6=hx(),k6=gx(),_6=vx(),A6=xx(),T6=kx(),E6=Ix(),C6=Lx(),O6=Nx(),P6=Fx(),R6=jx(),I6=Hx(),D6=Wx(),q6=Qx();mi.hack(D3);mi.hack(q3);mi.hack(L3);mi.hack(B3);K.hack(M3);K.hack(N3);K.hack($3);K.hack(F3);K.hack(z3);K.hack(j3);K.hack(U3);K.hack(H3);K.hack(V3);K.hack(W3);K.hack(G3);K.hack(Q3);K.hack(Y3);K.hack(K3);K.hack(X3);K.hack(Z3);K.hack(J3);K.hack(e6);K.hack(t6);K.hack(r6);K.hack(i6);K.hack(n6);K.hack(s6);K.hack(a6);K.hack(o6);K.hack(l6);K.hack(u6);K.hack(f6);K.hack(c6);K.hack(p6);K.hack(d6);K.hack(h6);K.hack(m6);K.hack(g6);K.hack(y6);K.hack(w6);K.hack(v6);K.hack(b6);K.hack(x6);K.hack(S6);K.hack(k6);K.hack(_6);K.hack(A6);K.hack(T6);Pt.hack(E6);Pt.hack(C6);Pt.hack(O6);Pt.hack(P6);Pt.hack(R6);Pt.hack(I6);Pt.hack(D6);Pt.hack(q6);var jc=new Map,In=class{constructor(e,r,i={}){this.data=e,this.browsers=r,this.options=i,[this.add,this.remove]=this.preprocess(this.select(this.data)),this.transition=new O3(this),this.processor=new P3(this)}cleaner(){if(this.cleanerCache)return this.cleanerCache;if(this.browsers.selected.length){let e=new zc(this.browsers.data,[]);this.cleanerCache=new In(this.data,e,this.options)}else return this;return this.cleanerCache}select(e){let r={add:{},remove:{}};for(let i in e){let n=e[i],s=n.browsers.map(l=>{let c=l.split(" ");return{browser:`${c[0]} ${c[1]}`,note:c[2]}}),a=s.filter(l=>l.note).map(l=>`${this.browsers.prefix(l.browser)} ${l.note}`);a=gi.uniq(a),s=s.filter(l=>this.browsers.isSelected(l.browser)).map(l=>{let c=this.browsers.prefix(l.browser);return l.note?`${c} ${l.note}`:c}),s=this.sort(gi.uniq(s)),this.options.flexbox==="no-2009"&&(s=s.filter(l=>!l.includes("2009")));let o=n.browsers.map(l=>this.browsers.prefix(l));n.mistakes&&(o=o.concat(n.mistakes)),o=o.concat(a),o=gi.uniq(o),s.length?(r.add[i]=s,s.length<o.length&&(r.remove[i]=o.filter(l=>!s.includes(l)))):r.remove[i]=o}return r}sort(e){return e.sort((r,i)=>{let n=gi.removeNote(r).length,s=gi.removeNote(i).length;return n===s?i.length-r.length:s-n})}preprocess(e){let r={selectors:[],"@supports":new R3(In,this)};for(let n in e.add){let s=e.add[n];if(n==="@keyframes"||n==="@viewport")r[n]=new I3(n,s,this);else if(n==="@resolution")r[n]=new Kx(n,s,this);else if(this.data[n].selector)r.selectors.push(mi.load(n,s,this));else{let a=this.data[n].props;if(a){let o=Pt.load(n,s,this);for(let l of a)r[l]||(r[l]={values:[]}),r[l].values.push(o)}else{let o=r[n]&&r[n].values||[];r[n]=K.load(n,s,this),r[n].values=o}}}let i={selectors:[]};for(let n in e.remove){let s=e.remove[n];if(this.data[n].selector){let a=mi.load(n,s);for(let o of s)i.selectors.push(a.old(o))}else if(n==="@keyframes"||n==="@viewport")for(let a of s){let o=`@${a}${n.slice(1)}`;i[o]={remove:!0}}else if(n==="@resolution")i[n]=new Kx(n,s,this);else{let a=this.data[n].props;if(a){let o=Pt.load(n,[],this);for(let l of s){let c=o.old(l);if(c)for(let f of a)i[f]||(i[f]={}),i[f].values||(i[f].values=[]),i[f].values.push(c)}}else for(let o of s){let l=this.decl(n).old(n,o);if(n==="align-self"){let c=r[n]&&r[n].prefixes;if(c){if(o==="-webkit- 2009"&&c.includes("-webkit-"))continue;if(o==="-webkit-"&&c.includes("-webkit- 2009"))continue}}for(let c of l)i[c]||(i[c]={}),i[c].remove=!0}}}return[r,i]}decl(e){return jc.has(e)||jc.set(e,K.load(e)),jc.get(e)}unprefixed(e){let r=this.normalize(Yx.unprefixed(e));return r==="flex-direction"&&(r="flex-flow"),r}normalize(e){return this.decl(e).normalize(e)}prefixed(e,r){return e=Yx.unprefixed(e),this.decl(e).prefixed(e,r)}values(e,r){let i=this[e],n=i["*"]&&i["*"].values,s=i[r]&&i[r].values;return n&&s?gi.uniq(n.concat(s)):n||s||[]}group(e){let r=e.parent,i=r.index(e),{length:n}=r.nodes,s=this.unprefixed(e.prop),a=(o,l)=>{for(i+=o;i>=0&&i<n;){let c=r.nodes[i];if(c.type==="decl"){if(o===-1&&c.prop===s&&!zc.withPrefix(c.value)||this.unprefixed(c.prop)!==s)break;if(l(c)===!0)return!0;if(o===1&&c.prop===s&&!zc.withPrefix(c.value))break}i+=o}return!1};return{up(o){return a(-1,o)},down(o){return a(1,o)}}}};Xx.exports=In});var eS=x((DH,Jx)=>{u();Jx.exports={"backdrop-filter":{feature:"css-backdrop-filter",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},element:{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-element-function",browsers:["firefox 114"]},"user-select":{mistakes:["-khtml-"],feature:"user-select-none",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"background-clip":{feature:"background-clip-text",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},hyphens:{feature:"css-hyphens",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},fill:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"fill-available":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},stretch:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"fit-content":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"text-decoration-style":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-color":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-line":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip-ink":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-size-adjust":{feature:"text-size-adjust",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"mask-clip":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-composite":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-image":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-origin":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-source":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},mask:{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-position":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-size":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-outset":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-width":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-slice":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"clip-path":{feature:"css-clip-path",browsers:["samsung 21"]},"box-decoration-break":{feature:"css-boxdecorationbreak",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","opera 99","safari 16.5","samsung 21"]},appearance:{feature:"css-appearance",browsers:["samsung 21"]},"image-set":{props:["background","background-image","border-image","cursor","mask","mask-image","list-style","list-style-image","content"],feature:"css-image-set",browsers:["and_uc 15.5","chrome 109","samsung 21"]},"cross-fade":{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-cross-fade",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},isolate:{props:["unicode-bidi"],feature:"css-unicode-bidi",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"color-adjust":{feature:"css-color-adjust",browsers:["chrome 109","chrome 113","chrome 114","edge 114","opera 99"]}}});var rS=x((qH,tS)=>{u();tS.exports={}});var aS=x((LH,sS)=>{u();var L6=If(),{agents:B6}=(Ya(),Qa),Uc=yv(),M6=cr(),N6=Zx(),$6=eS(),F6=rS(),iS={browsers:B6,prefixes:$6},nS=`
+  Replace Autoprefixer \`browsers\` option to Browserslist config.
+  Use \`browserslist\` key in \`package.json\` or \`.browserslistrc\` file.
+
+  Using \`browsers\` option can cause errors. Browserslist config can
+  be used for Babel, Autoprefixer, postcss-normalize and other tools.
+
+  If you really need to use option, rename it to \`overrideBrowserslist\`.
+
+  Learn more at:
+  https://github.com/browserslist/browserslist#readme
+  https://twitter.com/browserslist
+
+`;function z6(t){return Object.prototype.toString.apply(t)==="[object Object]"}var Hc=new Map;function j6(t,e){e.browsers.selected.length!==0&&(e.add.selectors.length>0||Object.keys(e.add).length>2||t.warn(`Autoprefixer target browsers do not need any prefixes.You do not need Autoprefixer anymore.
+Check your Browserslist config to be sure that your targets are set up correctly.
+
+  Learn more at:
+  https://github.com/postcss/autoprefixer#readme
+  https://github.com/browserslist/browserslist#readme
+
+`))}sS.exports=yi;function yi(...t){let e;if(t.length===1&&z6(t[0])?(e=t[0],t=void 0):t.length===0||t.length===1&&!t[0]?t=void 0:t.length<=2&&(Array.isArray(t[0])||!t[0])?(e=t[1],t=t[0]):typeof t[t.length-1]=="object"&&(e=t.pop()),e||(e={}),e.browser)throw new Error("Change `browser` option to `overrideBrowserslist` in Autoprefixer");if(e.browserslist)throw new Error("Change `browserslist` option to `overrideBrowserslist` in Autoprefixer");e.overrideBrowserslist?t=e.overrideBrowserslist:e.browsers&&(typeof console!="undefined"&&console.warn&&(Uc.red?console.warn(Uc.red(nS.replace(/`[^`]+`/g,n=>Uc.yellow(n.slice(1,-1))))):console.warn(nS)),t=e.browsers);let r={ignoreUnknownVersions:e.ignoreUnknownVersions,stats:e.stats,env:e.env};function i(n){let s=iS,a=new M6(s.browsers,t,n,r),o=a.selected.join(", ")+JSON.stringify(e);return Hc.has(o)||Hc.set(o,new N6(s.prefixes,a,e)),Hc.get(o)}return{postcssPlugin:"autoprefixer",prepare(n){let s=i({from:n.opts.from,env:e.env});return{OnceExit(a){j6(n,s),e.remove!==!1&&s.processor.remove(a,n),e.add!==!1&&s.processor.add(a,n)}}},info(n){return n=n||{},n.from=n.from||g.cwd(),F6(i(n))},options:e,browsers:t}}yi.postcss=!0;yi.data=iS;yi.defaults=L6.defaults;yi.info=()=>yi().info()});var lS=x((BH,oS)=>{u();oS.exports={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi}});var fS=x((MH,uS)=>{u();var Vc=lS(),Wc={whitespace:/\s+/g,urlHexPairs:/%[\dA-F]{2}/g,quotes:/"/g};function U6(t){return t.trim().replace(Wc.whitespace," ")}function H6(t){return encodeURIComponent(t).replace(Wc.urlHexPairs,W6)}function V6(t){return Object.keys(Vc).forEach(function(e){Vc[e].test(t)&&(t=t.replace(Vc[e],e))}),t}function W6(t){switch(t){case"%20":return" ";case"%3D":return"=";case"%3A":return":";case"%2F":return"/";default:return t.toLowerCase()}}function Gc(t){if(typeof t!="string")throw new TypeError("Expected a string, but received "+typeof t);t.charCodeAt(0)===65279&&(t=t.slice(1));var e=V6(U6(t)).replace(Wc.quotes,"'");return"data:image/svg+xml,"+H6(e)}Gc.toSrcset=function(e){return Gc(e).replace(/ /g,"%20")};uS.exports=Gc});var Qc={};dt(Qc,{default:()=>G6});var cS,G6,Yc=D(()=>{u();ys();cS=Te(Ss()),G6=Xt(cS.default.theme)});var gS=x(($H,mS)=>{u();var ro=fS(),Q6=(kr(),Sr).default,pS=(Yc(),Qc).default,hr=(Ai(),hs).default,[Y6,{lineHeight:K6}]=pS.fontSize.base,{spacing:Ut,borderWidth:dS,borderRadius:hS}=pS;function Er(t,e){return t.replace("<alpha-value>",`var(${e}, 1)`)}var X6=Q6.withOptions(function(t={strategy:void 0}){return function({addBase:e,addComponents:r,theme:i}){function n(l,c){let f=i(l);return!f||f.includes("var(")?c:f.replace("<alpha-value>","1")}let s=t.strategy===void 0?["base","class"]:[t.strategy],a=[{base:["[type='text']","input:where(:not([type]))","[type='email']","[type='url']","[type='password']","[type='number']","[type='date']","[type='datetime-local']","[type='month']","[type='search']","[type='tel']","[type='time']","[type='week']","[multiple]","textarea","select"],class:[".form-input",".form-textarea",".form-select",".form-multiselect"],styles:{appearance:"none","background-color":"#fff","border-color":Er(i("colors.gray.500",hr.gray[500]),"--tw-border-opacity"),"border-width":dS.DEFAULT,"border-radius":hS.none,"padding-top":Ut[2],"padding-right":Ut[3],"padding-bottom":Ut[2],"padding-left":Ut[3],"font-size":Y6,"line-height":K6,"--tw-shadow":"0 0 #0000","&:focus":{outline:"2px solid transparent","outline-offset":"2px","--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":"0px","--tw-ring-offset-color":"#fff","--tw-ring-color":Er(i("colors.blue.600",hr.blue[600]),"--tw-ring-opacity"),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":"var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)","box-shadow":"var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)","border-color":Er(i("colors.blue.600",hr.blue[600]),"--tw-border-opacity")}}},{base:["input::placeholder","textarea::placeholder"],class:[".form-input::placeholder",".form-textarea::placeholder"],styles:{color:Er(i("colors.gray.500",hr.gray[500]),"--tw-text-opacity"),opacity:"1"}},{base:["::-webkit-datetime-edit-fields-wrapper"],class:[".form-input::-webkit-datetime-edit-fields-wrapper"],styles:{padding:"0"}},{base:["::-webkit-date-and-time-value"],class:[".form-input::-webkit-date-and-time-value"],styles:{"min-height":"1.5em"}},{base:["::-webkit-date-and-time-value"],class:[".form-input::-webkit-date-and-time-value"],styles:{"text-align":"inherit"}},{base:["::-webkit-datetime-edit"],class:[".form-input::-webkit-datetime-edit"],styles:{display:"inline-flex"}},{base:["::-webkit-datetime-edit","::-webkit-datetime-edit-year-field","::-webkit-datetime-edit-month-field","::-webkit-datetime-edit-day-field","::-webkit-datetime-edit-hour-field","::-webkit-datetime-edit-minute-field","::-webkit-datetime-edit-second-field","::-webkit-datetime-edit-millisecond-field","::-webkit-datetime-edit-meridiem-field"],class:[".form-input::-webkit-datetime-edit",".form-input::-webkit-datetime-edit-year-field",".form-input::-webkit-datetime-edit-month-field",".form-input::-webkit-datetime-edit-day-field",".form-input::-webkit-datetime-edit-hour-field",".form-input::-webkit-datetime-edit-minute-field",".form-input::-webkit-datetime-edit-second-field",".form-input::-webkit-datetime-edit-millisecond-field",".form-input::-webkit-datetime-edit-meridiem-field"],styles:{"padding-top":0,"padding-bottom":0}},{base:["select"],class:[".form-select"],styles:{"background-image":`url("${ro(`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20"><path stroke="${n("colors.gray.500",hr.gray[500])}" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M6 8l4 4 4-4"/></svg>`)}")`,"background-position":`right ${Ut[2]} center`,"background-repeat":"no-repeat","background-size":"1.5em 1.5em","padding-right":Ut[10],"print-color-adjust":"exact"}},{base:["[multiple]",'[size]:where(select:not([size="1"]))'],class:['.form-select:where([size]:not([size="1"]))'],styles:{"background-image":"initial","background-position":"initial","background-repeat":"unset","background-size":"initial","padding-right":Ut[3],"print-color-adjust":"unset"}},{base:["[type='checkbox']","[type='radio']"],class:[".form-checkbox",".form-radio"],styles:{appearance:"none",padding:"0","print-color-adjust":"exact",display:"inline-block","vertical-align":"middle","background-origin":"border-box","user-select":"none","flex-shrink":"0",height:Ut[4],width:Ut[4],color:Er(i("colors.blue.600",hr.blue[600]),"--tw-text-opacity"),"background-color":"#fff","border-color":Er(i("colors.gray.500",hr.gray[500]),"--tw-border-opacity"),"border-width":dS.DEFAULT,"--tw-shadow":"0 0 #0000"}},{base:["[type='checkbox']"],class:[".form-checkbox"],styles:{"border-radius":hS.none}},{base:["[type='radio']"],class:[".form-radio"],styles:{"border-radius":"100%"}},{base:["[type='checkbox']:focus","[type='radio']:focus"],class:[".form-checkbox:focus",".form-radio:focus"],styles:{outline:"2px solid transparent","outline-offset":"2px","--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":"2px","--tw-ring-offset-color":"#fff","--tw-ring-color":Er(i("colors.blue.600",hr.blue[600]),"--tw-ring-opacity"),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":"var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)","box-shadow":"var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)"}},{base:["[type='checkbox']:checked","[type='radio']:checked"],class:[".form-checkbox:checked",".form-radio:checked"],styles:{"border-color":"transparent","background-color":"currentColor","background-size":"100% 100%","background-position":"center","background-repeat":"no-repeat"}},{base:["[type='checkbox']:checked"],class:[".form-checkbox:checked"],styles:{"background-image":`url("${ro('<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path d="M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z"/></svg>')}")`,"@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='radio']:checked"],class:[".form-radio:checked"],styles:{"background-image":`url("${ro('<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="3"/></svg>')}")`,"@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='checkbox']:checked:hover","[type='checkbox']:checked:focus","[type='radio']:checked:hover","[type='radio']:checked:focus"],class:[".form-checkbox:checked:hover",".form-checkbox:checked:focus",".form-radio:checked:hover",".form-radio:checked:focus"],styles:{"border-color":"transparent","background-color":"currentColor"}},{base:["[type='checkbox']:indeterminate"],class:[".form-checkbox:indeterminate"],styles:{"background-image":`url("${ro('<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 8h8"/></svg>')}")`,"border-color":"transparent","background-color":"currentColor","background-size":"100% 100%","background-position":"center","background-repeat":"no-repeat","@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='checkbox']:indeterminate:hover","[type='checkbox']:indeterminate:focus"],class:[".form-checkbox:indeterminate:hover",".form-checkbox:indeterminate:focus"],styles:{"border-color":"transparent","background-color":"currentColor"}},{base:["[type='file']"],class:null,styles:{background:"unset","border-color":"inherit","border-width":"0","border-radius":"0",padding:"0","font-size":"unset","line-height":"inherit"}},{base:["[type='file']:focus"],class:null,styles:{outline:["1px solid ButtonText","1px auto -webkit-focus-ring-color"]}}],o=l=>a.map(c=>c[l]===null?null:{[c[l]]:c.styles}).filter(Boolean);s.includes("base")&&e(o("base")),s.includes("class")&&r(o("class"))}});mS.exports=X6});var VS=x((Mn,bi)=>{u();var Z6=200,yS="__lodash_hash_undefined__",J6=800,eD=16,wS=9007199254740991,vS="[object Arguments]",tD="[object Array]",rD="[object AsyncFunction]",iD="[object Boolean]",nD="[object Date]",sD="[object Error]",bS="[object Function]",aD="[object GeneratorFunction]",oD="[object Map]",lD="[object Number]",uD="[object Null]",xS="[object Object]",fD="[object Proxy]",cD="[object RegExp]",pD="[object Set]",dD="[object String]",hD="[object Undefined]",mD="[object WeakMap]",gD="[object ArrayBuffer]",yD="[object DataView]",wD="[object Float32Array]",vD="[object Float64Array]",bD="[object Int8Array]",xD="[object Int16Array]",SD="[object Int32Array]",kD="[object Uint8Array]",_D="[object Uint8ClampedArray]",AD="[object Uint16Array]",TD="[object Uint32Array]",ED=/[\\^$.*+?()[\]{}|]/g,CD=/^\[object .+?Constructor\]$/,OD=/^(?:0|[1-9]\d*)$/,be={};be[wD]=be[vD]=be[bD]=be[xD]=be[SD]=be[kD]=be[_D]=be[AD]=be[TD]=!0;be[vS]=be[tD]=be[gD]=be[iD]=be[yD]=be[nD]=be[sD]=be[bS]=be[oD]=be[lD]=be[xS]=be[cD]=be[pD]=be[dD]=be[mD]=!1;var SS=typeof global=="object"&&global&&global.Object===Object&&global,PD=typeof self=="object"&&self&&self.Object===Object&&self,Dn=SS||PD||Function("return this")(),kS=typeof Mn=="object"&&Mn&&!Mn.nodeType&&Mn,qn=kS&&typeof bi=="object"&&bi&&!bi.nodeType&&bi,_S=qn&&qn.exports===kS,Kc=_S&&SS.process,AS=function(){try{var t=qn&&qn.require&&qn.require("util").types;return t||Kc&&Kc.binding&&Kc.binding("util")}catch(e){}}(),TS=AS&&AS.isTypedArray;function RD(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function ID(t,e){for(var r=-1,i=Array(t);++r<t;)i[r]=e(r);return i}function DD(t){return function(e){return t(e)}}function qD(t,e){return t==null?void 0:t[e]}function LD(t,e){return function(r){return t(e(r))}}var BD=Array.prototype,MD=Function.prototype,io=Object.prototype,Xc=Dn["__core-js_shared__"],no=MD.toString,Ht=io.hasOwnProperty,ES=function(){var t=/[^.]+$/.exec(Xc&&Xc.keys&&Xc.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),CS=io.toString,ND=no.call(Object),$D=RegExp("^"+no.call(Ht).replace(ED,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),so=_S?Dn.Buffer:void 0,OS=Dn.Symbol,PS=Dn.Uint8Array,RS=so?so.allocUnsafe:void 0,IS=LD(Object.getPrototypeOf,Object),DS=Object.create,FD=io.propertyIsEnumerable,zD=BD.splice,Cr=OS?OS.toStringTag:void 0,ao=function(){try{var t=ep(Object,"defineProperty");return t({},"",{}),t}catch(e){}}(),jD=so?so.isBuffer:void 0,qS=Math.max,UD=Date.now,LS=ep(Dn,"Map"),Ln=ep(Object,"create"),HD=function(){function t(){}return function(e){if(!Pr(e))return{};if(DS)return DS(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();function Or(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var i=t[e];this.set(i[0],i[1])}}function VD(){this.__data__=Ln?Ln(null):{},this.size=0}function WD(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function GD(t){var e=this.__data__;if(Ln){var r=e[t];return r===yS?void 0:r}return Ht.call(e,t)?e[t]:void 0}function QD(t){var e=this.__data__;return Ln?e[t]!==void 0:Ht.call(e,t)}function YD(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ln&&e===void 0?yS:e,this}Or.prototype.clear=VD;Or.prototype.delete=WD;Or.prototype.get=GD;Or.prototype.has=QD;Or.prototype.set=YD;function Vt(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var i=t[e];this.set(i[0],i[1])}}function KD(){this.__data__=[],this.size=0}function XD(t){var e=this.__data__,r=oo(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():zD.call(e,r,1),--this.size,!0}function ZD(t){var e=this.__data__,r=oo(e,t);return r<0?void 0:e[r][1]}function JD(t){return oo(this.__data__,t)>-1}function eq(t,e){var r=this.__data__,i=oo(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}Vt.prototype.clear=KD;Vt.prototype.delete=XD;Vt.prototype.get=ZD;Vt.prototype.has=JD;Vt.prototype.set=eq;function wi(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var i=t[e];this.set(i[0],i[1])}}function tq(){this.size=0,this.__data__={hash:new Or,map:new(LS||Vt),string:new Or}}function rq(t){var e=uo(this,t).delete(t);return this.size-=e?1:0,e}function iq(t){return uo(this,t).get(t)}function nq(t){return uo(this,t).has(t)}function sq(t,e){var r=uo(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}wi.prototype.clear=tq;wi.prototype.delete=rq;wi.prototype.get=iq;wi.prototype.has=nq;wi.prototype.set=sq;function vi(t){var e=this.__data__=new Vt(t);this.size=e.size}function aq(){this.__data__=new Vt,this.size=0}function oq(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}function lq(t){return this.__data__.get(t)}function uq(t){return this.__data__.has(t)}function fq(t,e){var r=this.__data__;if(r instanceof Vt){var i=r.__data__;if(!LS||i.length<Z6-1)return i.push([t,e]),this.size=++r.size,this;r=this.__data__=new wi(i)}return r.set(t,e),this.size=r.size,this}vi.prototype.clear=aq;vi.prototype.delete=oq;vi.prototype.get=lq;vi.prototype.has=uq;vi.prototype.set=fq;function cq(t,e){var r=ip(t),i=!r&&rp(t),n=!r&&!i&&FS(t),s=!r&&!i&&!n&&jS(t),a=r||i||n||s,o=a?ID(t.length,String):[],l=o.length;for(var c in t)(e||Ht.call(t,c))&&!(a&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||NS(c,l)))&&o.push(c);return o}function Zc(t,e,r){(r!==void 0&&!fo(t[e],r)||r===void 0&&!(e in t))&&Jc(t,e,r)}function pq(t,e,r){var i=t[e];(!(Ht.call(t,e)&&fo(i,r))||r===void 0&&!(e in t))&&Jc(t,e,r)}function oo(t,e){for(var r=t.length;r--;)if(fo(t[r][0],e))return r;return-1}function Jc(t,e,r){e=="__proto__"&&ao?ao(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var dq=Tq();function lo(t){return t==null?t===void 0?hD:uD:Cr&&Cr in Object(t)?Eq(t):Dq(t)}function BS(t){return Bn(t)&&lo(t)==vS}function hq(t){if(!Pr(t)||Rq(t))return!1;var e=sp(t)?$D:CD;return e.test(Mq(t))}function mq(t){return Bn(t)&&zS(t.length)&&!!be[lo(t)]}function gq(t){if(!Pr(t))return Iq(t);var e=$S(t),r=[];for(var i in t)i=="constructor"&&(e||!Ht.call(t,i))||r.push(i);return r}function MS(t,e,r,i,n){t!==e&&dq(e,function(s,a){if(n||(n=new vi),Pr(s))yq(t,e,a,r,MS,i,n);else{var o=i?i(tp(t,a),s,a+"",t,e,n):void 0;o===void 0&&(o=s),Zc(t,a,o)}},US)}function yq(t,e,r,i,n,s,a){var o=tp(t,r),l=tp(e,r),c=a.get(l);if(c){Zc(t,r,c);return}var f=s?s(o,l,r+"",t,e,a):void 0,d=f===void 0;if(d){var p=ip(l),m=!p&&FS(l),w=!p&&!m&&jS(l);f=l,p||m||w?ip(o)?f=o:Nq(o)?f=kq(o):m?(d=!1,f=bq(l,!0)):w?(d=!1,f=Sq(l,!0)):f=[]:$q(l)||rp(l)?(f=o,rp(o)?f=Fq(o):(!Pr(o)||sp(o))&&(f=Cq(l))):d=!1}d&&(a.set(l,f),n(f,l,i,s,a),a.delete(l)),Zc(t,r,f)}function wq(t,e){return Lq(qq(t,e,HS),t+"")}var vq=ao?function(t,e){return ao(t,"toString",{configurable:!0,enumerable:!1,value:jq(e),writable:!0})}:HS;function bq(t,e){if(e)return t.slice();var r=t.length,i=RS?RS(r):new t.constructor(r);return t.copy(i),i}function xq(t){var e=new t.constructor(t.byteLength);return new PS(e).set(new PS(t)),e}function Sq(t,e){var r=e?xq(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function kq(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r<i;)e[r]=t[r];return e}function _q(t,e,r,i){var n=!r;r||(r={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=i?i(r[o],t[o],o,r,t):void 0;l===void 0&&(l=t[o]),n?Jc(r,o,l):pq(r,o,l)}return r}function Aq(t){return wq(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,a=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,a&&Oq(r[0],r[1],a)&&(s=n<3?void 0:s,n=1),e=Object(e);++i<n;){var o=r[i];o&&t(e,o,i,s)}return e})}function Tq(t){return function(e,r,i){for(var n=-1,s=Object(e),a=i(e),o=a.length;o--;){var l=a[t?o:++n];if(r(s[l],l,s)===!1)break}return e}}function uo(t,e){var r=t.__data__;return Pq(e)?r[typeof e=="string"?"string":"hash"]:r.map}function ep(t,e){var r=qD(t,e);return hq(r)?r:void 0}function Eq(t){var e=Ht.call(t,Cr),r=t[Cr];try{t[Cr]=void 0;var i=!0}catch(s){}var n=CS.call(t);return i&&(e?t[Cr]=r:delete t[Cr]),n}function Cq(t){return typeof t.constructor=="function"&&!$S(t)?HD(IS(t)):{}}function NS(t,e){var r=typeof t;return e=e??wS,!!e&&(r=="number"||r!="symbol"&&OD.test(t))&&t>-1&&t%1==0&&t<e}function Oq(t,e,r){if(!Pr(r))return!1;var i=typeof e;return(i=="number"?np(r)&&NS(e,r.length):i=="string"&&e in r)?fo(r[e],t):!1}function Pq(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function Rq(t){return!!ES&&ES in t}function $S(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||io;return t===r}function Iq(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}function Dq(t){return CS.call(t)}function qq(t,e,r){return e=qS(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=qS(i.length-e,0),a=Array(s);++n<s;)a[n]=i[e+n];n=-1;for(var o=Array(e+1);++n<e;)o[n]=i[n];return o[e]=r(a),RD(t,this,o)}}function tp(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Lq=Bq(vq);function Bq(t){var e=0,r=0;return function(){var i=UD(),n=eD-(i-r);if(r=i,n>0){if(++e>=J6)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Mq(t){if(t!=null){try{return no.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function fo(t,e){return t===e||t!==t&&e!==e}var rp=BS(function(){return arguments}())?BS:function(t){return Bn(t)&&Ht.call(t,"callee")&&!FD.call(t,"callee")},ip=Array.isArray;function np(t){return t!=null&&zS(t.length)&&!sp(t)}function Nq(t){return Bn(t)&&np(t)}var FS=jD||Uq;function sp(t){if(!Pr(t))return!1;var e=lo(t);return e==bS||e==aD||e==rD||e==fD}function zS(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=wS}function Pr(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}function Bn(t){return t!=null&&typeof t=="object"}function $q(t){if(!Bn(t)||lo(t)!=xS)return!1;var e=IS(t);if(e===null)return!0;var r=Ht.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&no.call(r)==ND}var jS=TS?DD(TS):mq;function Fq(t){return _q(t,US(t))}function US(t){return np(t)?cq(t,!0):gq(t)}var zq=Aq(function(t,e,r){MS(t,e,r)});function jq(t){return function(){return t}}function HS(t){return t}function Uq(){return!1}bi.exports=zq});var GS=x((FH,WS)=>{u();function Hq(){if(!arguments.length)return[];var t=arguments[0];return Vq(t)?t:[t]}var Vq=Array.isArray;WS.exports=Hq});var YS=x((zH,QS)=>{u();var k=(Ai(),hs).default,G=t=>t.toFixed(7).replace(/(\.[0-9]+?)0+$/,"$1").replace(/\.0$/,""),je=t=>`${G(t/16)}rem`,h=(t,e)=>`${G(t/e)}em`,Rt=t=>{t=t.replace("#",""),t=t.length===3?t.replace(/./g,"$&$&"):t;let e=parseInt(t.substring(0,2),16),r=parseInt(t.substring(2,4),16),i=parseInt(t.substring(4,6),16);return`${e} ${r} ${i}`},ap={sm:{css:[{fontSize:je(14),lineHeight:G(24/14),p:{marginTop:h(16,14),marginBottom:h(16,14)},'[class~="lead"]':{fontSize:h(18,14),lineHeight:G(28/18),marginTop:h(16,18),marginBottom:h(16,18)},blockquote:{marginTop:h(24,18),marginBottom:h(24,18),paddingInlineStart:h(20,18)},h1:{fontSize:h(30,14),marginTop:"0",marginBottom:h(24,30),lineHeight:G(36/30)},h2:{fontSize:h(20,14),marginTop:h(32,20),marginBottom:h(16,20),lineHeight:G(28/20)},h3:{fontSize:h(18,14),marginTop:h(28,18),marginBottom:h(8,18),lineHeight:G(28/18)},h4:{marginTop:h(20,14),marginBottom:h(8,14),lineHeight:G(20/14)},img:{marginTop:h(24,14),marginBottom:h(24,14)},picture:{marginTop:h(24,14),marginBottom:h(24,14)},"picture > img":{marginTop:"0",marginBottom:"0"},video:{marginTop:h(24,14),marginBottom:h(24,14)},kbd:{fontSize:h(12,14),borderRadius:je(5),paddingTop:h(2,14),paddingInlineEnd:h(5,14),paddingBottom:h(2,14),paddingInlineStart:h(5,14)},code:{fontSize:h(12,14)},"h2 code":{fontSize:h(18,20)},"h3 code":{fontSize:h(16,18)},pre:{fontSize:h(12,14),lineHeight:G(20/12),marginTop:h(20,12),marginBottom:h(20,12),borderRadius:je(4),paddingTop:h(8,12),paddingInlineEnd:h(12,12),paddingBottom:h(8,12),paddingInlineStart:h(12,12)},ol:{marginTop:h(16,14),marginBottom:h(16,14),paddingInlineStart:h(22,14)},ul:{marginTop:h(16,14),marginBottom:h(16,14),paddingInlineStart:h(22,14)},li:{marginTop:h(4,14),marginBottom:h(4,14)},"ol > li":{paddingInlineStart:h(6,14)},"ul > li":{paddingInlineStart:h(6,14)},"> ul > li p":{marginTop:h(8,14),marginBottom:h(8,14)},"> ul > li > p:first-child":{marginTop:h(16,14)},"> ul > li > p:last-child":{marginBottom:h(16,14)},"> ol > li > p:first-child":{marginTop:h(16,14)},"> ol > li > p:last-child":{marginBottom:h(16,14)},"ul ul, ul ol, ol ul, ol ol":{marginTop:h(8,14),marginBottom:h(8,14)},dl:{marginTop:h(16,14),marginBottom:h(16,14)},dt:{marginTop:h(16,14)},dd:{marginTop:h(4,14),paddingInlineStart:h(22,14)},hr:{marginTop:h(40,14),marginBottom:h(40,14)},"hr + *":{marginTop:"0"},"h2 + *":{marginTop:"0"},"h3 + *":{marginTop:"0"},"h4 + *":{marginTop:"0"},table:{fontSize:h(12,14),lineHeight:G(18/12)},"thead th":{paddingInlineEnd:h(12,12),paddingBottom:h(8,12),paddingInlineStart:h(12,12)},"thead th:first-child":{paddingInlineStart:"0"},"thead th:last-child":{paddingInlineEnd:"0"},"tbody td, tfoot td":{paddingTop:h(8,12),paddingInlineEnd:h(12,12),paddingBottom:h(8,12),paddingInlineStart:h(12,12)},"tbody td:first-child, tfoot td:first-child":{paddingInlineStart:"0"},"tbody td:last-child, tfoot td:last-child":{paddingInlineEnd:"0"},figure:{marginTop:h(24,14),marginBottom:h(24,14)},"figure > *":{marginTop:"0",marginBottom:"0"},figcaption:{fontSize:h(12,14),lineHeight:G(16/12),marginTop:h(8,12)}},{"> :first-child":{marginTop:"0"},"> :last-child":{marginBottom:"0"}}]},base:{css:[{fontSize:je(16),lineHeight:G(28/16),p:{marginTop:h(20,16),marginBottom:h(20,16)},'[class~="lead"]':{fontSize:h(20,16),lineHeight:G(32/20),marginTop:h(24,20),marginBottom:h(24,20)},blockquote:{marginTop:h(32,20),marginBottom:h(32,20),paddingInlineStart:h(20,20)},h1:{fontSize:h(36,16),marginTop:"0",marginBottom:h(32,36),lineHeight:G(40/36)},h2:{fontSize:h(24,16),marginTop:h(48,24),marginBottom:h(24,24),lineHeight:G(32/24)},h3:{fontSize:h(20,16),marginTop:h(32,20),marginBottom:h(12,20),lineHeight:G(32/20)},h4:{marginTop:h(24,16),marginBottom:h(8,16),lineHeight:G(24/16)},img:{marginTop:h(32,16),marginBottom:h(32,16)},picture:{marginTop:h(32,16),marginBottom:h(32,16)},"picture > img":{marginTop:"0",marginBottom:"0"},video:{marginTop:h(32,16),marginBottom:h(32,16)},kbd:{fontSize:h(14,16),borderRadius:je(5),paddingTop:h(3,16),paddingInlineEnd:h(6,16),paddingBottom:h(3,16),paddingInlineStart:h(6,16)},code:{fontSize:h(14,16)},"h2 code":{fontSize:h(21,24)},"h3 code":{fontSize:h(18,20)},pre:{fontSize:h(14,16),lineHeight:G(24/14),marginTop:h(24,14),marginBottom:h(24,14),borderRadius:je(6),paddingTop:h(12,14),paddingInlineEnd:h(16,14),paddingBottom:h(12,14),paddingInlineStart:h(16,14)},ol:{marginTop:h(20,16),marginBottom:h(20,16),paddingInlineStart:h(26,16)},ul:{marginTop:h(20,16),marginBottom:h(20,16),paddingInlineStart:h(26,16)},li:{marginTop:h(8,16),marginBottom:h(8,16)},"ol > li":{paddingInlineStart:h(6,16)},"ul > li":{paddingInlineStart:h(6,16)},"> ul > li p":{marginTop:h(12,16),marginBottom:h(12,16)},"> ul > li > p:first-child":{marginTop:h(20,16)},"> ul > li > p:last-child":{marginBottom:h(20,16)},"> ol > li > p:first-child":{marginTop:h(20,16)},"> ol > li > p:last-child":{marginBottom:h(20,16)},"ul ul, ul ol, ol ul, ol ol":{marginTop:h(12,16),marginBottom:h(12,16)},dl:{marginTop:h(20,16),marginBottom:h(20,16)},dt:{marginTop:h(20,16)},dd:{marginTop:h(8,16),paddingInlineStart:h(26,16)},hr:{marginTop:h(48,16),marginBottom:h(48,16)},"hr + *":{marginTop:"0"},"h2 + *":{marginTop:"0"},"h3 + *":{marginTop:"0"},"h4 + *":{marginTop:"0"},table:{fontSize:h(14,16),lineHeight:G(24/14)},"thead th":{paddingInlineEnd:h(8,14),paddingBottom:h(8,14),paddingInlineStart:h(8,14)},"thead th:first-child":{paddingInlineStart:"0"},"thead th:last-child":{paddingInlineEnd:"0"},"tbody td, tfoot td":{paddingTop:h(8,14),paddingInlineEnd:h(8,14),paddingBottom:h(8,14),paddingInlineStart:h(8,14)},"tbody td:first-child, tfoot td:first-child":{paddingInlineStart:"0"},"tbody td:last-child, tfoot td:last-child":{paddingInlineEnd:"0"},figure:{marginTop:h(32,16),marginBottom:h(32,16)},"figure > *":{marginTop:"0",marginBottom:"0"},figcaption:{fontSize:h(14,16),lineHeight:G(20/14),marginTop:h(12,14)}},{"> :first-child":{marginTop:"0"},"> :last-child":{marginBottom:"0"}}]},lg:{css:[{fontSize:je(18),lineHeight:G(32/18),p:{marginTop:h(24,18),marginBottom:h(24,18)},'[class~="lead"]':{fontSize:h(22,18),lineHeight:G(32/22),marginTop:h(24,22),marginBottom:h(24,22)},blockquote:{marginTop:h(40,24),marginBottom:h(40,24),paddingInlineStart:h(24,24)},h1:{fontSize:h(48,18),marginTop:"0",marginBottom:h(40,48),lineHeight:G(48/48)},h2:{fontSize:h(30,18),marginTop:h(56,30),marginBottom:h(32,30),lineHeight:G(40/30)},h3:{fontSize:h(24,18),marginTop:h(40,24),marginBottom:h(16,24),lineHeight:G(36/24)},h4:{marginTop:h(32,18),marginBottom:h(8,18),lineHeight:G(28/18)},img:{marginTop:h(32,18),marginBottom:h(32,18)},picture:{marginTop:h(32,18),marginBottom:h(32,18)},"picture > img":{marginTop:"0",marginBottom:"0"},video:{marginTop:h(32,18),marginBottom:h(32,18)},kbd:{fontSize:h(16,18),borderRadius:je(5),paddingTop:h(4,18),paddingInlineEnd:h(8,18),paddingBottom:h(4,18),paddingInlineStart:h(8,18)},code:{fontSize:h(16,18)},"h2 code":{fontSize:h(26,30)},"h3 code":{fontSize:h(21,24)},pre:{fontSize:h(16,18),lineHeight:G(28/16),marginTop:h(32,16),marginBottom:h(32,16),borderRadius:je(6),paddingTop:h(16,16),paddingInlineEnd:h(24,16),paddingBottom:h(16,16),paddingInlineStart:h(24,16)},ol:{marginTop:h(24,18),marginBottom:h(24,18),paddingInlineStart:h(28,18)},ul:{marginTop:h(24,18),marginBottom:h(24,18),paddingInlineStart:h(28,18)},li:{marginTop:h(12,18),marginBottom:h(12,18)},"ol > li":{paddingInlineStart:h(8,18)},"ul > li":{paddingInlineStart:h(8,18)},"> ul > li p":{marginTop:h(16,18),marginBottom:h(16,18)},"> ul > li > p:first-child":{marginTop:h(24,18)},"> ul > li > p:last-child":{marginBottom:h(24,18)},"> ol > li > p:first-child":{marginTop:h(24,18)},"> ol > li > p:last-child":{marginBottom:h(24,18)},"ul ul, ul ol, ol ul, ol ol":{marginTop:h(16,18),marginBottom:h(16,18)},dl:{marginTop:h(24,18),marginBottom:h(24,18)},dt:{marginTop:h(24,18)},dd:{marginTop:h(12,18),paddingInlineStart:h(28,18)},hr:{marginTop:h(56,18),marginBottom:h(56,18)},"hr + *":{marginTop:"0"},"h2 + *":{marginTop:"0"},"h3 + *":{marginTop:"0"},"h4 + *":{marginTop:"0"},table:{fontSize:h(16,18),lineHeight:G(24/16)},"thead th":{paddingInlineEnd:h(12,16),paddingBottom:h(12,16),paddingInlineStart:h(12,16)},"thead th:first-child":{paddingInlineStart:"0"},"thead th:last-child":{paddingInlineEnd:"0"},"tbody td, tfoot td":{paddingTop:h(12,16),paddingInlineEnd:h(12,16),paddingBottom:h(12,16),paddingInlineStart:h(12,16)},"tbody td:first-child, tfoot td:first-child":{paddingInlineStart:"0"},"tbody td:last-child, tfoot td:last-child":{paddingInlineEnd:"0"},figure:{marginTop:h(32,18),marginBottom:h(32,18)},"figure > *":{marginTop:"0",marginBottom:"0"},figcaption:{fontSize:h(16,18),lineHeight:G(24/16),marginTop:h(16,16)}},{"> :first-child":{marginTop:"0"},"> :last-child":{marginBottom:"0"}}]},xl:{css:[{fontSize:je(20),lineHeight:G(36/20),p:{marginTop:h(24,20),marginBottom:h(24,20)},'[class~="lead"]':{fontSize:h(24,20),lineHeight:G(36/24),marginTop:h(24,24),marginBottom:h(24,24)},blockquote:{marginTop:h(48,30),marginBottom:h(48,30),paddingInlineStart:h(32,30)},h1:{fontSize:h(56,20),marginTop:"0",marginBottom:h(48,56),lineHeight:G(56/56)},h2:{fontSize:h(36,20),marginTop:h(56,36),marginBottom:h(32,36),lineHeight:G(40/36)},h3:{fontSize:h(30,20),marginTop:h(48,30),marginBottom:h(20,30),lineHeight:G(40/30)},h4:{marginTop:h(36,20),marginBottom:h(12,20),lineHeight:G(32/20)},img:{marginTop:h(40,20),marginBottom:h(40,20)},picture:{marginTop:h(40,20),marginBottom:h(40,20)},"picture > img":{marginTop:"0",marginBottom:"0"},video:{marginTop:h(40,20),marginBottom:h(40,20)},kbd:{fontSize:h(18,20),borderRadius:je(5),paddingTop:h(5,20),paddingInlineEnd:h(8,20),paddingBottom:h(5,20),paddingInlineStart:h(8,20)},code:{fontSize:h(18,20)},"h2 code":{fontSize:h(31,36)},"h3 code":{fontSize:h(27,30)},pre:{fontSize:h(18,20),lineHeight:G(32/18),marginTop:h(36,18),marginBottom:h(36,18),borderRadius:je(8),paddingTop:h(20,18),paddingInlineEnd:h(24,18),paddingBottom:h(20,18),paddingInlineStart:h(24,18)},ol:{marginTop:h(24,20),marginBottom:h(24,20),paddingInlineStart:h(32,20)},ul:{marginTop:h(24,20),marginBottom:h(24,20),paddingInlineStart:h(32,20)},li:{marginTop:h(12,20),marginBottom:h(12,20)},"ol > li":{paddingInlineStart:h(8,20)},"ul > li":{paddingInlineStart:h(8,20)},"> ul > li p":{marginTop:h(16,20),marginBottom:h(16,20)},"> ul > li > p:first-child":{marginTop:h(24,20)},"> ul > li > p:last-child":{marginBottom:h(24,20)},"> ol > li > p:first-child":{marginTop:h(24,20)},"> ol > li > p:last-child":{marginBottom:h(24,20)},"ul ul, ul ol, ol ul, ol ol":{marginTop:h(16,20),marginBottom:h(16,20)},dl:{marginTop:h(24,20),marginBottom:h(24,20)},dt:{marginTop:h(24,20)},dd:{marginTop:h(12,20),paddingInlineStart:h(32,20)},hr:{marginTop:h(56,20),marginBottom:h(56,20)},"hr + *":{marginTop:"0"},"h2 + *":{marginTop:"0"},"h3 + *":{marginTop:"0"},"h4 + *":{marginTop:"0"},table:{fontSize:h(18,20),lineHeight:G(28/18)},"thead th":{paddingInlineEnd:h(12,18),paddingBottom:h(16,18),paddingInlineStart:h(12,18)},"thead th:first-child":{paddingInlineStart:"0"},"thead th:last-child":{paddingInlineEnd:"0"},"tbody td, tfoot td":{paddingTop:h(16,18),paddingInlineEnd:h(12,18),paddingBottom:h(16,18),paddingInlineStart:h(12,18)},"tbody td:first-child, tfoot td:first-child":{paddingInlineStart:"0"},"tbody td:last-child, tfoot td:last-child":{paddingInlineEnd:"0"},figure:{marginTop:h(40,20),marginBottom:h(40,20)},"figure > *":{marginTop:"0",marginBottom:"0"},figcaption:{fontSize:h(18,20),lineHeight:G(28/18),marginTop:h(18,18)}},{"> :first-child":{marginTop:"0"},"> :last-child":{marginBottom:"0"}}]},"2xl":{css:[{fontSize:je(24),lineHeight:G(40/24),p:{marginTop:h(32,24),marginBottom:h(32,24)},'[class~="lead"]':{fontSize:h(30,24),lineHeight:G(44/30),marginTop:h(32,30),marginBottom:h(32,30)},blockquote:{marginTop:h(64,36),marginBottom:h(64,36),paddingInlineStart:h(40,36)},h1:{fontSize:h(64,24),marginTop:"0",marginBottom:h(56,64),lineHeight:G(64/64)},h2:{fontSize:h(48,24),marginTop:h(72,48),marginBottom:h(40,48),lineHeight:G(52/48)},h3:{fontSize:h(36,24),marginTop:h(56,36),marginBottom:h(24,36),lineHeight:G(44/36)},h4:{marginTop:h(40,24),marginBottom:h(16,24),lineHeight:G(36/24)},img:{marginTop:h(48,24),marginBottom:h(48,24)},picture:{marginTop:h(48,24),marginBottom:h(48,24)},"picture > img":{marginTop:"0",marginBottom:"0"},video:{marginTop:h(48,24),marginBottom:h(48,24)},kbd:{fontSize:h(20,24),borderRadius:je(6),paddingTop:h(6,24),paddingInlineEnd:h(8,24),paddingBottom:h(6,24),paddingInlineStart:h(8,24)},code:{fontSize:h(20,24)},"h2 code":{fontSize:h(42,48)},"h3 code":{fontSize:h(32,36)},pre:{fontSize:h(20,24),lineHeight:G(36/20),marginTop:h(40,20),marginBottom:h(40,20),borderRadius:je(8),paddingTop:h(24,20),paddingInlineEnd:h(32,20),paddingBottom:h(24,20),paddingInlineStart:h(32,20)},ol:{marginTop:h(32,24),marginBottom:h(32,24),paddingInlineStart:h(38,24)},ul:{marginTop:h(32,24),marginBottom:h(32,24),paddingInlineStart:h(38,24)},li:{marginTop:h(12,24),marginBottom:h(12,24)},"ol > li":{paddingInlineStart:h(10,24)},"ul > li":{paddingInlineStart:h(10,24)},"> ul > li p":{marginTop:h(20,24),marginBottom:h(20,24)},"> ul > li > p:first-child":{marginTop:h(32,24)},"> ul > li > p:last-child":{marginBottom:h(32,24)},"> ol > li > p:first-child":{marginTop:h(32,24)},"> ol > li > p:last-child":{marginBottom:h(32,24)},"ul ul, ul ol, ol ul, ol ol":{marginTop:h(16,24),marginBottom:h(16,24)},dl:{marginTop:h(32,24),marginBottom:h(32,24)},dt:{marginTop:h(32,24)},dd:{marginTop:h(12,24),paddingInlineStart:h(38,24)},hr:{marginTop:h(72,24),marginBottom:h(72,24)},"hr + *":{marginTop:"0"},"h2 + *":{marginTop:"0"},"h3 + *":{marginTop:"0"},"h4 + *":{marginTop:"0"},table:{fontSize:h(20,24),lineHeight:G(28/20)},"thead th":{paddingInlineEnd:h(12,20),paddingBottom:h(16,20),paddingInlineStart:h(12,20)},"thead th:first-child":{paddingInlineStart:"0"},"thead th:last-child":{paddingInlineEnd:"0"},"tbody td, tfoot td":{paddingTop:h(16,20),paddingInlineEnd:h(12,20),paddingBottom:h(16,20),paddingInlineStart:h(12,20)},"tbody td:first-child, tfoot td:first-child":{paddingInlineStart:"0"},"tbody td:last-child, tfoot td:last-child":{paddingInlineEnd:"0"},figure:{marginTop:h(48,24),marginBottom:h(48,24)},"figure > *":{marginTop:"0",marginBottom:"0"},figcaption:{fontSize:h(20,24),lineHeight:G(32/20),marginTop:h(20,20)}},{"> :first-child":{marginTop:"0"},"> :last-child":{marginBottom:"0"}}]},slate:{css:{"--tw-prose-body":k.slate[700],"--tw-prose-headings":k.slate[900],"--tw-prose-lead":k.slate[600],"--tw-prose-links":k.slate[900],"--tw-prose-bold":k.slate[900],"--tw-prose-counters":k.slate[500],"--tw-prose-bullets":k.slate[300],"--tw-prose-hr":k.slate[200],"--tw-prose-quotes":k.slate[900],"--tw-prose-quote-borders":k.slate[200],"--tw-prose-captions":k.slate[500],"--tw-prose-kbd":k.slate[900],"--tw-prose-kbd-shadows":Rt(k.slate[900]),"--tw-prose-code":k.slate[900],"--tw-prose-pre-code":k.slate[200],"--tw-prose-pre-bg":k.slate[800],"--tw-prose-th-borders":k.slate[300],"--tw-prose-td-borders":k.slate[200],"--tw-prose-invert-body":k.slate[300],"--tw-prose-invert-headings":k.white,"--tw-prose-invert-lead":k.slate[400],"--tw-prose-invert-links":k.white,"--tw-prose-invert-bold":k.white,"--tw-prose-invert-counters":k.slate[400],"--tw-prose-invert-bullets":k.slate[600],"--tw-prose-invert-hr":k.slate[700],"--tw-prose-invert-quotes":k.slate[100],"--tw-prose-invert-quote-borders":k.slate[700],"--tw-prose-invert-captions":k.slate[400],"--tw-prose-invert-kbd":k.white,"--tw-prose-invert-kbd-shadows":Rt(k.white),"--tw-prose-invert-code":k.white,"--tw-prose-invert-pre-code":k.slate[300],"--tw-prose-invert-pre-bg":"rgb(0 0 0 / 50%)","--tw-prose-invert-th-borders":k.slate[600],"--tw-prose-invert-td-borders":k.slate[700]}},gray:{css:{"--tw-prose-body":k.gray[700],"--tw-prose-headings":k.gray[900],"--tw-prose-lead":k.gray[600],"--tw-prose-links":k.gray[900],"--tw-prose-bold":k.gray[900],"--tw-prose-counters":k.gray[500],"--tw-prose-bullets":k.gray[300],"--tw-prose-hr":k.gray[200],"--tw-prose-quotes":k.gray[900],"--tw-prose-quote-borders":k.gray[200],"--tw-prose-captions":k.gray[500],"--tw-prose-kbd":k.gray[900],"--tw-prose-kbd-shadows":Rt(k.gray[900]),"--tw-prose-code":k.gray[900],"--tw-prose-pre-code":k.gray[200],"--tw-prose-pre-bg":k.gray[800],"--tw-prose-th-borders":k.gray[300],"--tw-prose-td-borders":k.gray[200],"--tw-prose-invert-body":k.gray[300],"--tw-prose-invert-headings":k.white,"--tw-prose-invert-lead":k.gray[400],"--tw-prose-invert-links":k.white,"--tw-prose-invert-bold":k.white,"--tw-prose-invert-counters":k.gray[400],"--tw-prose-invert-bullets":k.gray[600],"--tw-prose-invert-hr":k.gray[700],"--tw-prose-invert-quotes":k.gray[100],"--tw-prose-invert-quote-borders":k.gray[700],"--tw-prose-invert-captions":k.gray[400],"--tw-prose-invert-kbd":k.white,"--tw-prose-invert-kbd-shadows":Rt(k.white),"--tw-prose-invert-code":k.white,"--tw-prose-invert-pre-code":k.gray[300],"--tw-prose-invert-pre-bg":"rgb(0 0 0 / 50%)","--tw-prose-invert-th-borders":k.gray[600],"--tw-prose-invert-td-borders":k.gray[700]}},zinc:{css:{"--tw-prose-body":k.zinc[700],"--tw-prose-headings":k.zinc[900],"--tw-prose-lead":k.zinc[600],"--tw-prose-links":k.zinc[900],"--tw-prose-bold":k.zinc[900],"--tw-prose-counters":k.zinc[500],"--tw-prose-bullets":k.zinc[300],"--tw-prose-hr":k.zinc[200],"--tw-prose-quotes":k.zinc[900],"--tw-prose-quote-borders":k.zinc[200],"--tw-prose-captions":k.zinc[500],"--tw-prose-kbd":k.zinc[900],"--tw-prose-kbd-shadows":Rt(k.zinc[900]),"--tw-prose-code":k.zinc[900],"--tw-prose-pre-code":k.zinc[200],"--tw-prose-pre-bg":k.zinc[800],"--tw-prose-th-borders":k.zinc[300],"--tw-prose-td-borders":k.zinc[200],"--tw-prose-invert-body":k.zinc[300],"--tw-prose-invert-headings":k.white,"--tw-prose-invert-lead":k.zinc[400],"--tw-prose-invert-links":k.white,"--tw-prose-invert-bold":k.white,"--tw-prose-invert-counters":k.zinc[400],"--tw-prose-invert-bullets":k.zinc[600],"--tw-prose-invert-hr":k.zinc[700],"--tw-prose-invert-quotes":k.zinc[100],"--tw-prose-invert-quote-borders":k.zinc[700],"--tw-prose-invert-captions":k.zinc[400],"--tw-prose-invert-kbd":k.white,"--tw-prose-invert-kbd-shadows":Rt(k.white),"--tw-prose-invert-code":k.white,"--tw-prose-invert-pre-code":k.zinc[300],"--tw-prose-invert-pre-bg":"rgb(0 0 0 / 50%)","--tw-prose-invert-th-borders":k.zinc[600],"--tw-prose-invert-td-borders":k.zinc[700]}},neutral:{css:{"--tw-prose-body":k.neutral[700],"--tw-prose-headings":k.neutral[900],"--tw-prose-lead":k.neutral[600],"--tw-prose-links":k.neutral[900],"--tw-prose-bold":k.neutral[900],"--tw-prose-counters":k.neutral[500],"--tw-prose-bullets":k.neutral[300],"--tw-prose-hr":k.neutral[200],"--tw-prose-quotes":k.neutral[900],"--tw-prose-quote-borders":k.neutral[200],"--tw-prose-captions":k.neutral[500],"--tw-prose-kbd":k.neutral[900],"--tw-prose-kbd-shadows":Rt(k.neutral[900]),"--tw-prose-code":k.neutral[900],"--tw-prose-pre-code":k.neutral[200],"--tw-prose-pre-bg":k.neutral[800],"--tw-prose-th-borders":k.neutral[300],"--tw-prose-td-borders":k.neutral[200],"--tw-prose-invert-body":k.neutral[300],"--tw-prose-invert-headings":k.white,"--tw-prose-invert-lead":k.neutral[400],"--tw-prose-invert-links":k.white,"--tw-prose-invert-bold":k.white,"--tw-prose-invert-counters":k.neutral[400],"--tw-prose-invert-bullets":k.neutral[600],"--tw-prose-invert-hr":k.neutral[700],"--tw-prose-invert-quotes":k.neutral[100],"--tw-prose-invert-quote-borders":k.neutral[700],"--tw-prose-invert-captions":k.neutral[400],"--tw-prose-invert-kbd":k.white,"--tw-prose-invert-kbd-shadows":Rt(k.white),"--tw-prose-invert-code":k.white,"--tw-prose-invert-pre-code":k.neutral[300],"--tw-prose-invert-pre-bg":"rgb(0 0 0 / 50%)","--tw-prose-invert-th-borders":k.neutral[600],"--tw-prose-invert-td-borders":k.neutral[700]}},stone:{css:{"--tw-prose-body":k.stone[700],"--tw-prose-headings":k.stone[900],"--tw-prose-lead":k.stone[600],"--tw-prose-links":k.stone[900],"--tw-prose-bold":k.stone[900],"--tw-prose-counters":k.stone[500],"--tw-prose-bullets":k.stone[300],"--tw-prose-hr":k.stone[200],"--tw-prose-quotes":k.stone[900],"--tw-prose-quote-borders":k.stone[200],"--tw-prose-captions":k.stone[500],"--tw-prose-kbd":k.stone[900],"--tw-prose-kbd-shadows":Rt(k.stone[900]),"--tw-prose-code":k.stone[900],"--tw-prose-pre-code":k.stone[200],"--tw-prose-pre-bg":k.stone[800],"--tw-prose-th-borders":k.stone[300],"--tw-prose-td-borders":k.stone[200],"--tw-prose-invert-body":k.stone[300],"--tw-prose-invert-headings":k.white,"--tw-prose-invert-lead":k.stone[400],"--tw-prose-invert-links":k.white,"--tw-prose-invert-bold":k.white,"--tw-prose-invert-counters":k.stone[400],"--tw-prose-invert-bullets":k.stone[600],"--tw-prose-invert-hr":k.stone[700],"--tw-prose-invert-quotes":k.stone[100],"--tw-prose-invert-quote-borders":k.stone[700],"--tw-prose-invert-captions":k.stone[400],"--tw-prose-invert-kbd":k.white,"--tw-prose-invert-kbd-shadows":Rt(k.white),"--tw-prose-invert-code":k.white,"--tw-prose-invert-pre-code":k.stone[300],"--tw-prose-invert-pre-bg":"rgb(0 0 0 / 50%)","--tw-prose-invert-th-borders":k.stone[600],"--tw-prose-invert-td-borders":k.stone[700]}},red:{css:{"--tw-prose-links":k.red[600],"--tw-prose-invert-links":k.red[500]}},orange:{css:{"--tw-prose-links":k.orange[600],"--tw-prose-invert-links":k.orange[500]}},amber:{css:{"--tw-prose-links":k.amber[600],"--tw-prose-invert-links":k.amber[500]}},yellow:{css:{"--tw-prose-links":k.yellow[600],"--tw-prose-invert-links":k.yellow[500]}},lime:{css:{"--tw-prose-links":k.lime[600],"--tw-prose-invert-links":k.lime[500]}},green:{css:{"--tw-prose-links":k.green[600],"--tw-prose-invert-links":k.green[500]}},emerald:{css:{"--tw-prose-links":k.emerald[600],"--tw-prose-invert-links":k.emerald[500]}},teal:{css:{"--tw-prose-links":k.teal[600],"--tw-prose-invert-links":k.teal[500]}},cyan:{css:{"--tw-prose-links":k.cyan[600],"--tw-prose-invert-links":k.cyan[500]}},sky:{css:{"--tw-prose-links":k.sky[600],"--tw-prose-invert-links":k.sky[500]}},blue:{css:{"--tw-prose-links":k.blue[600],"--tw-prose-invert-links":k.blue[500]}},indigo:{css:{"--tw-prose-links":k.indigo[600],"--tw-prose-invert-links":k.indigo[500]}},violet:{css:{"--tw-prose-links":k.violet[600],"--tw-prose-invert-links":k.violet[500]}},purple:{css:{"--tw-prose-links":k.purple[600],"--tw-prose-invert-links":k.purple[500]}},fuchsia:{css:{"--tw-prose-links":k.fuchsia[600],"--tw-prose-invert-links":k.fuchsia[500]}},pink:{css:{"--tw-prose-links":k.pink[600],"--tw-prose-invert-links":k.pink[500]}},rose:{css:{"--tw-prose-links":k.rose[600],"--tw-prose-invert-links":k.rose[500]}},invert:{css:{"--tw-prose-body":"var(--tw-prose-invert-body)","--tw-prose-headings":"var(--tw-prose-invert-headings)","--tw-prose-lead":"var(--tw-prose-invert-lead)","--tw-prose-links":"var(--tw-prose-invert-links)","--tw-prose-bold":"var(--tw-prose-invert-bold)","--tw-prose-counters":"var(--tw-prose-invert-counters)","--tw-prose-bullets":"var(--tw-prose-invert-bullets)","--tw-prose-hr":"var(--tw-prose-invert-hr)","--tw-prose-quotes":"var(--tw-prose-invert-quotes)","--tw-prose-quote-borders":"var(--tw-prose-invert-quote-borders)","--tw-prose-captions":"var(--tw-prose-invert-captions)","--tw-prose-kbd":"var(--tw-prose-invert-kbd)","--tw-prose-kbd-shadows":"var(--tw-prose-invert-kbd-shadows)","--tw-prose-code":"var(--tw-prose-invert-code)","--tw-prose-pre-code":"var(--tw-prose-invert-pre-code)","--tw-prose-pre-bg":"var(--tw-prose-invert-pre-bg)","--tw-prose-th-borders":"var(--tw-prose-invert-th-borders)","--tw-prose-td-borders":"var(--tw-prose-invert-td-borders)"}}};QS.exports={DEFAULT:{css:[{color:"var(--tw-prose-body)",maxWidth:"65ch",p:{},'[class~="lead"]':{color:"var(--tw-prose-lead)"},a:{color:"var(--tw-prose-links)",textDecoration:"underline",fontWeight:"500"},strong:{color:"var(--tw-prose-bold)",fontWeight:"600"},"a strong":{color:"inherit"},"blockquote strong":{color:"inherit"},"thead th strong":{color:"inherit"},ol:{listStyleType:"decimal"},'ol[type="A"]':{listStyleType:"upper-alpha"},'ol[type="a"]':{listStyleType:"lower-alpha"},'ol[type="A" s]':{listStyleType:"upper-alpha"},'ol[type="a" s]':{listStyleType:"lower-alpha"},'ol[type="I"]':{listStyleType:"upper-roman"},'ol[type="i"]':{listStyleType:"lower-roman"},'ol[type="I" s]':{listStyleType:"upper-roman"},'ol[type="i" s]':{listStyleType:"lower-roman"},'ol[type="1"]':{listStyleType:"decimal"},ul:{listStyleType:"disc"},"ol > li::marker":{fontWeight:"400",color:"var(--tw-prose-counters)"},"ul > li::marker":{color:"var(--tw-prose-bullets)"},dt:{color:"var(--tw-prose-headings)",fontWeight:"600"},hr:{borderColor:"var(--tw-prose-hr)",borderTopWidth:1},blockquote:{fontWeight:"500",fontStyle:"italic",color:"var(--tw-prose-quotes)",borderInlineStartWidth:"0.25rem",borderInlineStartColor:"var(--tw-prose-quote-borders)",quotes:'"\\201C""\\201D""\\2018""\\2019"'},"blockquote p:first-of-type::before":{content:"open-quote"},"blockquote p:last-of-type::after":{content:"close-quote"},h1:{color:"var(--tw-prose-headings)",fontWeight:"800"},"h1 strong":{fontWeight:"900",color:"inherit"},h2:{color:"var(--tw-prose-headings)",fontWeight:"700"},"h2 strong":{fontWeight:"800",color:"inherit"},h3:{color:"var(--tw-prose-headings)",fontWeight:"600"},"h3 strong":{fontWeight:"700",color:"inherit"},h4:{color:"var(--tw-prose-headings)",fontWeight:"600"},"h4 strong":{fontWeight:"700",color:"inherit"},img:{},picture:{display:"block"},video:{},kbd:{fontWeight:"500",fontFamily:"inherit",color:"var(--tw-prose-kbd)",boxShadow:"0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%)"},code:{color:"var(--tw-prose-code)",fontWeight:"600"},"code::before":{content:'"`"'},"code::after":{content:'"`"'},"a code":{color:"inherit"},"h1 code":{color:"inherit"},"h2 code":{color:"inherit"},"h3 code":{color:"inherit"},"h4 code":{color:"inherit"},"blockquote code":{color:"inherit"},"thead th code":{color:"inherit"},pre:{color:"var(--tw-prose-pre-code)",backgroundColor:"var(--tw-prose-pre-bg)",overflowX:"auto",fontWeight:"400"},"pre code":{backgroundColor:"transparent",borderWidth:"0",borderRadius:"0",padding:"0",fontWeight:"inherit",color:"inherit",fontSize:"inherit",fontFamily:"inherit",lineHeight:"inherit"},"pre code::before":{content:"none"},"pre code::after":{content:"none"},table:{width:"100%",tableLayout:"auto",marginTop:h(32,16),marginBottom:h(32,16)},thead:{borderBottomWidth:"1px",borderBottomColor:"var(--tw-prose-th-borders)"},"thead th":{color:"var(--tw-prose-headings)",fontWeight:"600",verticalAlign:"bottom"},"tbody tr":{borderBottomWidth:"1px",borderBottomColor:"var(--tw-prose-td-borders)"},"tbody tr:last-child":{borderBottomWidth:"0"},"tbody td":{verticalAlign:"baseline"},tfoot:{borderTopWidth:"1px",borderTopColor:"var(--tw-prose-th-borders)"},"tfoot td":{verticalAlign:"top"},"th, td":{textAlign:"start"},"figure > *":{},figcaption:{color:"var(--tw-prose-captions)"}},ap.gray.css,...ap.base.css]},...ap}});var JS=x((jH,ZS)=>{u();var Wq="[object Object]";function Gq(t){var e=!1;if(t!=null&&typeof t.toString!="function")try{e=!!(t+"")}catch(r){}return e}function Qq(t,e){return function(r){return t(e(r))}}var Yq=Function.prototype,KS=Object.prototype,XS=Yq.toString,Kq=KS.hasOwnProperty,Xq=XS.call(Object),Zq=KS.toString,Jq=Qq(Object.getPrototypeOf,Object);function eL(t){return!!t&&typeof t=="object"}function tL(t){if(!eL(t)||Zq.call(t)!=Wq||Gq(t))return!1;var e=Jq(t);if(e===null)return!0;var r=Kq.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&XS.call(r)==Xq}ZS.exports=tL});var op=x((co,ek)=>{u();"use strict";co.__esModule=!0;co.default=nL;function rL(t){for(var e=t.toLowerCase(),r="",i=!1,n=0;n<6&&e[n]!==void 0;n++){var s=e.charCodeAt(n),a=s>=97&&s<=102||s>=48&&s<=57;if(i=s===32,!a)break;r+=e[n]}if(r.length!==0){var o=parseInt(r,16),l=o>=55296&&o<=57343;return l||o===0||o>1114111?["\uFFFD",r.length+(i?1:0)]:[String.fromCodePoint(o),r.length+(i?1:0)]}}var iL=/\\/;function nL(t){var e=iL.test(t);if(!e)return t;for(var r="",i=0;i<t.length;i++){if(t[i]==="\\"){var n=rL(t.slice(i+1,i+7));if(n!==void 0){r+=n[0],i+=n[1];continue}if(t[i+1]==="\\"){r+="\\",i++;continue}t.length===i+1&&(r+=t[i]);continue}r+=t[i]}return r}ek.exports=co.default});var rk=x((po,tk)=>{u();"use strict";po.__esModule=!0;po.default=sL;function sL(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];for(;r.length>0;){var n=r.shift();if(!t[n])return;t=t[n]}return t}tk.exports=po.default});var nk=x((ho,ik)=>{u();"use strict";ho.__esModule=!0;ho.default=aL;function aL(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];for(;r.length>0;){var n=r.shift();t[n]||(t[n]={}),t=t[n]}}ik.exports=ho.default});var ak=x((mo,sk)=>{u();"use strict";mo.__esModule=!0;mo.default=oL;function oL(t){for(var e="",r=t.indexOf("/*"),i=0;r>=0;){e=e+t.slice(i,r);var n=t.indexOf("*/",r+2);if(n<0)return e;i=n+2,r=t.indexOf("/*",i)}return e=e+t.slice(i),e}sk.exports=mo.default});var Nn=x(It=>{u();"use strict";It.__esModule=!0;It.stripComments=It.ensureObject=It.getProp=It.unesc=void 0;var lL=go(op());It.unesc=lL.default;var uL=go(rk());It.getProp=uL.default;var fL=go(nk());It.ensureObject=fL.default;var cL=go(ak());It.stripComments=cL.default;function go(t){return t&&t.__esModule?t:{default:t}}});var Wt=x(($n,uk)=>{u();"use strict";$n.__esModule=!0;$n.default=void 0;var ok=Nn();function lk(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function pL(t,e,r){return e&&lk(t.prototype,e),r&&lk(t,r),t}var dL=function t(e,r){if(typeof e!="object"||e===null)return e;var i=new e.constructor;for(var n in e)if(!!e.hasOwnProperty(n)){var s=e[n],a=typeof s;n==="parent"&&a==="object"?r&&(i[n]=r):s instanceof Array?i[n]=s.map(function(o){return t(o,i)}):i[n]=t(s,i)}return i},hL=function(){function t(r){r===void 0&&(r={}),Object.assign(this,r),this.spaces=this.spaces||{},this.spaces.before=this.spaces.before||"",this.spaces.after=this.spaces.after||""}var e=t.prototype;return e.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.replaceWith=function(){if(this.parent){for(var i in arguments)this.parent.insertBefore(this,arguments[i]);this.remove()}return this},e.next=function(){return this.parent.at(this.parent.index(this)+1)},e.prev=function(){return this.parent.at(this.parent.index(this)-1)},e.clone=function(i){i===void 0&&(i={});var n=dL(this);for(var s in i)n[s]=i[s];return n},e.appendToPropertyAndEscape=function(i,n,s){this.raws||(this.raws={});var a=this[i],o=this.raws[i];this[i]=a+n,o||s!==n?this.raws[i]=(o||a)+s:delete this.raws[i]},e.setPropertyAndEscape=function(i,n,s){this.raws||(this.raws={}),this[i]=n,this.raws[i]=s},e.setPropertyWithoutEscape=function(i,n){this[i]=n,this.raws&&delete this.raws[i]},e.isAtPosition=function(i,n){if(this.source&&this.source.start&&this.source.end)return!(this.source.start.line>i||this.source.end.line<i||this.source.start.line===i&&this.source.start.column>n||this.source.end.line===i&&this.source.end.column<n)},e.stringifyProperty=function(i){return this.raws&&this.raws[i]||this[i]},e.valueToString=function(){return String(this.stringifyProperty("value"))},e.toString=function(){return[this.rawSpaceBefore,this.valueToString(),this.rawSpaceAfter].join("")},pL(t,[{key:"rawSpaceBefore",get:function(){var i=this.raws&&this.raws.spaces&&this.raws.spaces.before;return i===void 0&&(i=this.spaces&&this.spaces.before),i||""},set:function(i){(0,ok.ensureObject)(this,"raws","spaces"),this.raws.spaces.before=i}},{key:"rawSpaceAfter",get:function(){var i=this.raws&&this.raws.spaces&&this.raws.spaces.after;return i===void 0&&(i=this.spaces.after),i||""},set:function(i){(0,ok.ensureObject)(this,"raws","spaces"),this.raws.spaces.after=i}}]),t}();$n.default=hL;uk.exports=$n.default});var Ne=x(ge=>{u();"use strict";ge.__esModule=!0;ge.UNIVERSAL=ge.ATTRIBUTE=ge.CLASS=ge.COMBINATOR=ge.COMMENT=ge.ID=ge.NESTING=ge.PSEUDO=ge.ROOT=ge.SELECTOR=ge.STRING=ge.TAG=void 0;var mL="tag";ge.TAG=mL;var gL="string";ge.STRING=gL;var yL="selector";ge.SELECTOR=yL;var wL="root";ge.ROOT=wL;var vL="pseudo";ge.PSEUDO=vL;var bL="nesting";ge.NESTING=bL;var xL="id";ge.ID=xL;var SL="comment";ge.COMMENT=SL;var kL="combinator";ge.COMBINATOR=kL;var _L="class";ge.CLASS=_L;var AL="attribute";ge.ATTRIBUTE=AL;var TL="universal";ge.UNIVERSAL=TL});var yo=x((Fn,dk)=>{u();"use strict";Fn.__esModule=!0;Fn.default=void 0;var EL=OL(Wt()),Gt=CL(Ne());function fk(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return fk=function(){return t},t}function CL(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=fk();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function OL(t){return t&&t.__esModule?t:{default:t}}function PL(t,e){var r;if(typeof Symbol=="undefined"||t[Symbol.iterator]==null){if(Array.isArray(t)||(r=RL(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return r=t[Symbol.iterator](),r.next.bind(r)}function RL(t,e){if(!!t){if(typeof t=="string")return ck(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ck(t,e)}}function ck(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function pk(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function IL(t,e,r){return e&&pk(t.prototype,e),r&&pk(t,r),t}function DL(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,lp(t,e)}function lp(t,e){return lp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},lp(t,e)}var qL=function(t){DL(e,t);function e(i){var n;return n=t.call(this,i)||this,n.nodes||(n.nodes=[]),n}var r=e.prototype;return r.append=function(n){return n.parent=this,this.nodes.push(n),this},r.prepend=function(n){return n.parent=this,this.nodes.unshift(n),this},r.at=function(n){return this.nodes[n]},r.index=function(n){return typeof n=="number"?n:this.nodes.indexOf(n)},r.removeChild=function(n){n=this.index(n),this.at(n).parent=void 0,this.nodes.splice(n,1);var s;for(var a in this.indexes)s=this.indexes[a],s>=n&&(this.indexes[a]=s-1);return this},r.removeAll=function(){for(var n=PL(this.nodes),s;!(s=n()).done;){var a=s.value;a.parent=void 0}return this.nodes=[],this},r.empty=function(){return this.removeAll()},r.insertAfter=function(n,s){s.parent=this;var a=this.index(n);this.nodes.splice(a+1,0,s),s.parent=this;var o;for(var l in this.indexes)o=this.indexes[l],a<=o&&(this.indexes[l]=o+1);return this},r.insertBefore=function(n,s){s.parent=this;var a=this.index(n);this.nodes.splice(a,0,s),s.parent=this;var o;for(var l in this.indexes)o=this.indexes[l],o<=a&&(this.indexes[l]=o+1);return this},r._findChildAtPosition=function(n,s){var a=void 0;return this.each(function(o){if(o.atPosition){var l=o.atPosition(n,s);if(l)return a=l,!1}else if(o.isAtPosition(n,s))return a=o,!1}),a},r.atPosition=function(n,s){if(this.isAtPosition(n,s))return this._findChildAtPosition(n,s)||this},r._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},r.each=function(n){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var s=this.lastEach;if(this.indexes[s]=0,!!this.length){for(var a,o;this.indexes[s]<this.length&&(a=this.indexes[s],o=n(this.at(a),a),o!==!1);)this.indexes[s]+=1;if(delete this.indexes[s],o===!1)return!1}},r.walk=function(n){return this.each(function(s,a){var o=n(s,a);if(o!==!1&&s.length&&(o=s.walk(n)),o===!1)return!1})},r.walkAttributes=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.ATTRIBUTE)return n.call(s,a)})},r.walkClasses=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.CLASS)return n.call(s,a)})},r.walkCombinators=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.COMBINATOR)return n.call(s,a)})},r.walkComments=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.COMMENT)return n.call(s,a)})},r.walkIds=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.ID)return n.call(s,a)})},r.walkNesting=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.NESTING)return n.call(s,a)})},r.walkPseudos=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.PSEUDO)return n.call(s,a)})},r.walkTags=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.TAG)return n.call(s,a)})},r.walkUniversals=function(n){var s=this;return this.walk(function(a){if(a.type===Gt.UNIVERSAL)return n.call(s,a)})},r.split=function(n){var s=this,a=[];return this.reduce(function(o,l,c){var f=n.call(s,l);return a.push(l),f?(o.push(a),a=[]):c===s.length-1&&o.push(a),o},[])},r.map=function(n){return this.nodes.map(n)},r.reduce=function(n,s){return this.nodes.reduce(n,s)},r.every=function(n){return this.nodes.every(n)},r.some=function(n){return this.nodes.some(n)},r.filter=function(n){return this.nodes.filter(n)},r.sort=function(n){return this.nodes.sort(n)},r.toString=function(){return this.map(String).join("")},IL(e,[{key:"first",get:function(){return this.at(0)}},{key:"last",get:function(){return this.at(this.length-1)}},{key:"length",get:function(){return this.nodes.length}}]),e}(EL.default);Fn.default=qL;dk.exports=Fn.default});var fp=x((zn,mk)=>{u();"use strict";zn.__esModule=!0;zn.default=void 0;var LL=ML(yo()),BL=Ne();function ML(t){return t&&t.__esModule?t:{default:t}}function hk(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function NL(t,e,r){return e&&hk(t.prototype,e),r&&hk(t,r),t}function $L(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,up(t,e)}function up(t,e){return up=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},up(t,e)}var FL=function(t){$L(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=BL.ROOT,n}var r=e.prototype;return r.toString=function(){var n=this.reduce(function(s,a){return s.push(String(a)),s},[]).join(",");return this.trailingComma?n+",":n},r.error=function(n,s){return this._error?this._error(n,s):new Error(n)},NL(e,[{key:"errorGenerator",set:function(n){this._error=n}}]),e}(LL.default);zn.default=FL;mk.exports=zn.default});var pp=x((jn,gk)=>{u();"use strict";jn.__esModule=!0;jn.default=void 0;var zL=UL(yo()),jL=Ne();function UL(t){return t&&t.__esModule?t:{default:t}}function HL(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,cp(t,e)}function cp(t,e){return cp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},cp(t,e)}var VL=function(t){HL(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=jL.SELECTOR,i}return e}(zL.default);jn.default=VL;gk.exports=jn.default});var hp=x((Un,vk)=>{u();"use strict";Un.__esModule=!0;Un.default=void 0;var WL=yk(vr()),GL=Nn(),QL=yk(Wt()),YL=Ne();function yk(t){return t&&t.__esModule?t:{default:t}}function wk(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function KL(t,e,r){return e&&wk(t.prototype,e),r&&wk(t,r),t}function XL(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,dp(t,e)}function dp(t,e){return dp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},dp(t,e)}var ZL=function(t){XL(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=YL.CLASS,n._constructed=!0,n}var r=e.prototype;return r.valueToString=function(){return"."+t.prototype.valueToString.call(this)},KL(e,[{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var s=(0,WL.default)(n,{isIdentifier:!0});s!==n?((0,GL.ensureObject)(this,"raws"),this.raws.value=s):this.raws&&delete this.raws.value}this._value=n}}]),e}(QL.default);Un.default=ZL;vk.exports=Un.default});var gp=x((Hn,bk)=>{u();"use strict";Hn.__esModule=!0;Hn.default=void 0;var JL=tB(Wt()),eB=Ne();function tB(t){return t&&t.__esModule?t:{default:t}}function rB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,mp(t,e)}function mp(t,e){return mp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},mp(t,e)}var iB=function(t){rB(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=eB.COMMENT,i}return e}(JL.default);Hn.default=iB;bk.exports=Hn.default});var wp=x((Vn,xk)=>{u();"use strict";Vn.__esModule=!0;Vn.default=void 0;var nB=aB(Wt()),sB=Ne();function aB(t){return t&&t.__esModule?t:{default:t}}function oB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,yp(t,e)}function yp(t,e){return yp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},yp(t,e)}var lB=function(t){oB(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=sB.ID,n}var r=e.prototype;return r.valueToString=function(){return"#"+t.prototype.valueToString.call(this)},e}(nB.default);Vn.default=lB;xk.exports=Vn.default});var wo=x((Wn,_k)=>{u();"use strict";Wn.__esModule=!0;Wn.default=void 0;var uB=Sk(vr()),fB=Nn(),cB=Sk(Wt());function Sk(t){return t&&t.__esModule?t:{default:t}}function kk(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function pB(t,e,r){return e&&kk(t.prototype,e),r&&kk(t,r),t}function dB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,vp(t,e)}function vp(t,e){return vp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},vp(t,e)}var hB=function(t){dB(e,t);function e(){return t.apply(this,arguments)||this}var r=e.prototype;return r.qualifiedName=function(n){return this.namespace?this.namespaceString+"|"+n:n},r.valueToString=function(){return this.qualifiedName(t.prototype.valueToString.call(this))},pB(e,[{key:"namespace",get:function(){return this._namespace},set:function(n){if(n===!0||n==="*"||n==="&"){this._namespace=n,this.raws&&delete this.raws.namespace;return}var s=(0,uB.default)(n,{isIdentifier:!0});this._namespace=n,s!==n?((0,fB.ensureObject)(this,"raws"),this.raws.namespace=s):this.raws&&delete this.raws.namespace}},{key:"ns",get:function(){return this._namespace},set:function(n){this.namespace=n}},{key:"namespaceString",get:function(){if(this.namespace){var n=this.stringifyProperty("namespace");return n===!0?"":n}else return""}}]),e}(cB.default);Wn.default=hB;_k.exports=Wn.default});var xp=x((Gn,Ak)=>{u();"use strict";Gn.__esModule=!0;Gn.default=void 0;var mB=yB(wo()),gB=Ne();function yB(t){return t&&t.__esModule?t:{default:t}}function wB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,bp(t,e)}function bp(t,e){return bp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},bp(t,e)}var vB=function(t){wB(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=gB.TAG,i}return e}(mB.default);Gn.default=vB;Ak.exports=Gn.default});var kp=x((Qn,Tk)=>{u();"use strict";Qn.__esModule=!0;Qn.default=void 0;var bB=SB(Wt()),xB=Ne();function SB(t){return t&&t.__esModule?t:{default:t}}function kB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Sp(t,e)}function Sp(t,e){return Sp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},Sp(t,e)}var _B=function(t){kB(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=xB.STRING,i}return e}(bB.default);Qn.default=_B;Tk.exports=Qn.default});var Ap=x((Yn,Ek)=>{u();"use strict";Yn.__esModule=!0;Yn.default=void 0;var AB=EB(yo()),TB=Ne();function EB(t){return t&&t.__esModule?t:{default:t}}function CB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,_p(t,e)}function _p(t,e){return _p=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},_p(t,e)}var OB=function(t){CB(e,t);function e(i){var n;return n=t.call(this,i)||this,n.type=TB.PSEUDO,n}var r=e.prototype;return r.toString=function(){var n=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),n,this.rawSpaceAfter].join("")},e}(AB.default);Yn.default=OB;Ek.exports=Yn.default});var Rp=x(Zn=>{u();"use strict";Zn.__esModule=!0;Zn.unescapeValue=Op;Zn.default=void 0;var Kn=Ep(vr()),PB=Ep(op()),RB=Ep(wo()),IB=Ne(),Tp;function Ep(t){return t&&t.__esModule?t:{default:t}}function Ck(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function DB(t,e,r){return e&&Ck(t.prototype,e),r&&Ck(t,r),t}function qB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Cp(t,e)}function Cp(t,e){return Cp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},Cp(t,e)}var Xn=ql(),LB=/^('|")([^]*)\1$/,BB=Xn(function(){},"Assigning an attribute a value containing characters that might need to be escaped is deprecated. Call attribute.setValue() instead."),MB=Xn(function(){},"Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead."),NB=Xn(function(){},"Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now.");function Op(t){var e=!1,r=null,i=t,n=i.match(LB);return n&&(r=n[1],i=n[2]),i=(0,PB.default)(i),i!==t&&(e=!0),{deprecatedUsage:e,unescaped:i,quoteMark:r}}function $B(t){if(t.quoteMark!==void 0||t.value===void 0)return t;NB();var e=Op(t.value),r=e.quoteMark,i=e.unescaped;return t.raws||(t.raws={}),t.raws.value===void 0&&(t.raws.value=t.value),t.value=i,t.quoteMark=r,t}var vo=function(t){qB(e,t);function e(i){var n;return i===void 0&&(i={}),n=t.call(this,$B(i))||this,n.type=IB.ATTRIBUTE,n.raws=n.raws||{},Object.defineProperty(n.raws,"unquoted",{get:Xn(function(){return n.value},"attr.raws.unquoted is deprecated. Call attr.value instead."),set:Xn(function(){return n.value},"Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.")}),n._constructed=!0,n}var r=e.prototype;return r.getQuotedValue=function(n){n===void 0&&(n={});var s=this._determineQuoteMark(n),a=Pp[s],o=(0,Kn.default)(this._value,a);return o},r._determineQuoteMark=function(n){return n.smart?this.smartQuoteMark(n):this.preferredQuoteMark(n)},r.setValue=function(n,s){s===void 0&&(s={}),this._value=n,this._quoteMark=this._determineQuoteMark(s),this._syncRawValue()},r.smartQuoteMark=function(n){var s=this.value,a=s.replace(/[^']/g,"").length,o=s.replace(/[^"]/g,"").length;if(a+o===0){var l=(0,Kn.default)(s,{isIdentifier:!0});if(l===s)return e.NO_QUOTE;var c=this.preferredQuoteMark(n);if(c===e.NO_QUOTE){var f=this.quoteMark||n.quoteMark||e.DOUBLE_QUOTE,d=Pp[f],p=(0,Kn.default)(s,d);if(p.length<l.length)return f}return c}else return o===a?this.preferredQuoteMark(n):o<a?e.DOUBLE_QUOTE:e.SINGLE_QUOTE},r.preferredQuoteMark=function(n){var s=n.preferCurrentQuoteMark?this.quoteMark:n.quoteMark;return s===void 0&&(s=n.preferCurrentQuoteMark?n.quoteMark:this.quoteMark),s===void 0&&(s=e.DOUBLE_QUOTE),s},r._syncRawValue=function(){var n=(0,Kn.default)(this._value,Pp[this.quoteMark]);n===this._value?this.raws&&delete this.raws.value:this.raws.value=n},r._handleEscapes=function(n,s){if(this._constructed){var a=(0,Kn.default)(s,{isIdentifier:!0});a!==s?this.raws[n]=a:delete this.raws[n]}},r._spacesFor=function(n){var s={before:"",after:""},a=this.spaces[n]||{},o=this.raws.spaces&&this.raws.spaces[n]||{};return Object.assign(s,a,o)},r._stringFor=function(n,s,a){s===void 0&&(s=n),a===void 0&&(a=Ok);var o=this._spacesFor(s);return a(this.stringifyProperty(n),o)},r.offsetOf=function(n){var s=1,a=this._spacesFor("attribute");if(s+=a.before.length,n==="namespace"||n==="ns")return this.namespace?s:-1;if(n==="attributeNS"||(s+=this.namespaceString.length,this.namespace&&(s+=1),n==="attribute"))return s;s+=this.stringifyProperty("attribute").length,s+=a.after.length;var o=this._spacesFor("operator");s+=o.before.length;var l=this.stringifyProperty("operator");if(n==="operator")return l?s:-1;s+=l.length,s+=o.after.length;var c=this._spacesFor("value");s+=c.before.length;var f=this.stringifyProperty("value");if(n==="value")return f?s:-1;s+=f.length,s+=c.after.length;var d=this._spacesFor("insensitive");return s+=d.before.length,n==="insensitive"&&this.insensitive?s:-1},r.toString=function(){var n=this,s=[this.rawSpaceBefore,"["];return s.push(this._stringFor("qualifiedAttribute","attribute")),this.operator&&(this.value||this.value==="")&&(s.push(this._stringFor("operator")),s.push(this._stringFor("value")),s.push(this._stringFor("insensitiveFlag","insensitive",function(a,o){return a.length>0&&!n.quoted&&o.before.length===0&&!(n.spaces.value&&n.spaces.value.after)&&(o.before=" "),Ok(a,o)}))),s.push("]"),s.push(this.rawSpaceAfter),s.join("")},DB(e,[{key:"quoted",get:function(){var n=this.quoteMark;return n==="'"||n==='"'},set:function(n){MB()}},{key:"quoteMark",get:function(){return this._quoteMark},set:function(n){if(!this._constructed){this._quoteMark=n;return}this._quoteMark!==n&&(this._quoteMark=n,this._syncRawValue())}},{key:"qualifiedAttribute",get:function(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get:function(){return this.insensitive?"i":""}},{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var s=Op(n),a=s.deprecatedUsage,o=s.unescaped,l=s.quoteMark;if(a&&BB(),o===this._value&&l===this._quoteMark)return;this._value=o,this._quoteMark=l,this._syncRawValue()}else this._value=n}},{key:"attribute",get:function(){return this._attribute},set:function(n){this._handleEscapes("attribute",n),this._attribute=n}}]),e}(RB.default);Zn.default=vo;vo.NO_QUOTE=null;vo.SINGLE_QUOTE="'";vo.DOUBLE_QUOTE='"';var Pp=(Tp={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}},Tp[null]={isIdentifier:!0},Tp);function Ok(t,e){return""+e.before+t+e.after}});var Dp=x((Jn,Pk)=>{u();"use strict";Jn.__esModule=!0;Jn.default=void 0;var FB=jB(wo()),zB=Ne();function jB(t){return t&&t.__esModule?t:{default:t}}function UB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Ip(t,e)}function Ip(t,e){return Ip=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},Ip(t,e)}var HB=function(t){UB(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=zB.UNIVERSAL,i.value="*",i}return e}(FB.default);Jn.default=HB;Pk.exports=Jn.default});var Lp=x((es,Rk)=>{u();"use strict";es.__esModule=!0;es.default=void 0;var VB=GB(Wt()),WB=Ne();function GB(t){return t&&t.__esModule?t:{default:t}}function QB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,qp(t,e)}function qp(t,e){return qp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},qp(t,e)}var YB=function(t){QB(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=WB.COMBINATOR,i}return e}(VB.default);es.default=YB;Rk.exports=es.default});var Mp=x((ts,Ik)=>{u();"use strict";ts.__esModule=!0;ts.default=void 0;var KB=ZB(Wt()),XB=Ne();function ZB(t){return t&&t.__esModule?t:{default:t}}function JB(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Bp(t,e)}function Bp(t,e){return Bp=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},Bp(t,e)}var eM=function(t){JB(e,t);function e(r){var i;return i=t.call(this,r)||this,i.type=XB.NESTING,i.value="&",i}return e}(KB.default);ts.default=eM;Ik.exports=ts.default});var qk=x((bo,Dk)=>{u();"use strict";bo.__esModule=!0;bo.default=tM;function tM(t){return t.sort(function(e,r){return e-r})}Dk.exports=bo.default});var Np=x(V=>{u();"use strict";V.__esModule=!0;V.combinator=V.word=V.comment=V.str=V.tab=V.newline=V.feed=V.cr=V.backslash=V.bang=V.slash=V.doubleQuote=V.singleQuote=V.space=V.greaterThan=V.pipe=V.equals=V.plus=V.caret=V.tilde=V.dollar=V.closeSquare=V.openSquare=V.closeParenthesis=V.openParenthesis=V.semicolon=V.colon=V.comma=V.at=V.asterisk=V.ampersand=void 0;var rM=38;V.ampersand=rM;var iM=42;V.asterisk=iM;var nM=64;V.at=nM;var sM=44;V.comma=sM;var aM=58;V.colon=aM;var oM=59;V.semicolon=oM;var lM=40;V.openParenthesis=lM;var uM=41;V.closeParenthesis=uM;var fM=91;V.openSquare=fM;var cM=93;V.closeSquare=cM;var pM=36;V.dollar=pM;var dM=126;V.tilde=dM;var hM=94;V.caret=hM;var mM=43;V.plus=mM;var gM=61;V.equals=gM;var yM=124;V.pipe=yM;var wM=62;V.greaterThan=wM;var vM=32;V.space=vM;var Lk=39;V.singleQuote=Lk;var bM=34;V.doubleQuote=bM;var xM=47;V.slash=xM;var SM=33;V.bang=SM;var kM=92;V.backslash=kM;var _M=13;V.cr=_M;var AM=12;V.feed=AM;var TM=10;V.newline=TM;var EM=9;V.tab=EM;var CM=Lk;V.str=CM;var OM=-1;V.comment=OM;var PM=-2;V.word=PM;var RM=-3;V.combinator=RM});var Nk=x(rs=>{u();"use strict";rs.__esModule=!0;rs.default=NM;rs.FIELDS=void 0;var M=IM(Np()),xi,fe;function Bk(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Bk=function(){return t},t}function IM(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Bk();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}var DM=(xi={},xi[M.tab]=!0,xi[M.newline]=!0,xi[M.cr]=!0,xi[M.feed]=!0,xi),qM=(fe={},fe[M.space]=!0,fe[M.tab]=!0,fe[M.newline]=!0,fe[M.cr]=!0,fe[M.feed]=!0,fe[M.ampersand]=!0,fe[M.asterisk]=!0,fe[M.bang]=!0,fe[M.comma]=!0,fe[M.colon]=!0,fe[M.semicolon]=!0,fe[M.openParenthesis]=!0,fe[M.closeParenthesis]=!0,fe[M.openSquare]=!0,fe[M.closeSquare]=!0,fe[M.singleQuote]=!0,fe[M.doubleQuote]=!0,fe[M.plus]=!0,fe[M.pipe]=!0,fe[M.tilde]=!0,fe[M.greaterThan]=!0,fe[M.equals]=!0,fe[M.dollar]=!0,fe[M.caret]=!0,fe[M.slash]=!0,fe),$p={},Mk="0123456789abcdefABCDEF";for(xo=0;xo<Mk.length;xo++)$p[Mk.charCodeAt(xo)]=!0;var xo;function LM(t,e){var r=e,i;do{if(i=t.charCodeAt(r),qM[i])return r-1;i===M.backslash?r=BM(t,r)+1:r++}while(r<t.length);return r-1}function BM(t,e){var r=e,i=t.charCodeAt(r+1);if(!DM[i])if($p[i]){var n=0;do r++,n++,i=t.charCodeAt(r+1);while($p[i]&&n<6);n<6&&i===M.space&&r++}else r++;return r}var MM={TYPE:0,START_LINE:1,START_COL:2,END_LINE:3,END_COL:4,START_POS:5,END_POS:6};rs.FIELDS=MM;function NM(t){var e=[],r=t.css.valueOf(),i=r,n=i.length,s=-1,a=1,o=0,l=0,c,f,d,p,m,w,S,v,b,_,A,O,P;function F(N,R){if(t.safe)r+=R,b=r.length-1;else throw t.error("Unclosed "+N,a,o-s,o)}for(;o<n;){switch(c=r.charCodeAt(o),c===M.newline&&(s=o,a+=1),c){case M.space:case M.tab:case M.newline:case M.cr:case M.feed:b=o;do b+=1,c=r.charCodeAt(b),c===M.newline&&(s=b,a+=1);while(c===M.space||c===M.newline||c===M.tab||c===M.cr||c===M.feed);P=M.space,p=a,d=b-s-1,l=b;break;case M.plus:case M.greaterThan:case M.tilde:case M.pipe:b=o;do b+=1,c=r.charCodeAt(b);while(c===M.plus||c===M.greaterThan||c===M.tilde||c===M.pipe);P=M.combinator,p=a,d=o-s,l=b;break;case M.asterisk:case M.ampersand:case M.bang:case M.comma:case M.equals:case M.dollar:case M.caret:case M.openSquare:case M.closeSquare:case M.colon:case M.semicolon:case M.openParenthesis:case M.closeParenthesis:b=o,P=c,p=a,d=o-s,l=b+1;break;case M.singleQuote:case M.doubleQuote:O=c===M.singleQuote?"'":'"',b=o;do for(m=!1,b=r.indexOf(O,b+1),b===-1&&F("quote",O),w=b;r.charCodeAt(w-1)===M.backslash;)w-=1,m=!m;while(m);P=M.str,p=a,d=o-s,l=b+1;break;default:c===M.slash&&r.charCodeAt(o+1)===M.asterisk?(b=r.indexOf("*/",o+2)+1,b===0&&F("comment","*/"),f=r.slice(o,b+1),v=f.split(`
+`),S=v.length-1,S>0?(_=a+S,A=b-v[S].length):(_=a,A=s),P=M.comment,a=_,p=_,d=b-A):c===M.slash?(b=o,P=c,p=a,d=o-s,l=b+1):(b=LM(r,o),P=M.word,p=a,d=b-s),l=b+1;break}e.push([P,a,o-s,p,d,o,l]),A&&(s=A,A=null),o=l}return e}});var Wk=x((is,Vk)=>{u();"use strict";is.__esModule=!0;is.default=void 0;var $M=ft(fp()),Fp=ft(pp()),FM=ft(hp()),$k=ft(gp()),zM=ft(wp()),jM=ft(xp()),zp=ft(kp()),UM=ft(Ap()),Fk=So(Rp()),HM=ft(Dp()),jp=ft(Lp()),VM=ft(Mp()),WM=ft(qk()),q=So(Nk()),j=So(Np()),GM=So(Ne()),ke=Nn(),Rr,Up;function zk(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return zk=function(){return t},t}function So(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=zk();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function ft(t){return t&&t.__esModule?t:{default:t}}function jk(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function QM(t,e,r){return e&&jk(t.prototype,e),r&&jk(t,r),t}var Hp=(Rr={},Rr[j.space]=!0,Rr[j.cr]=!0,Rr[j.feed]=!0,Rr[j.newline]=!0,Rr[j.tab]=!0,Rr),YM=Object.assign({},Hp,(Up={},Up[j.comment]=!0,Up));function Uk(t){return{line:t[q.FIELDS.START_LINE],column:t[q.FIELDS.START_COL]}}function Hk(t){return{line:t[q.FIELDS.END_LINE],column:t[q.FIELDS.END_COL]}}function Ir(t,e,r,i){return{start:{line:t,column:e},end:{line:r,column:i}}}function Si(t){return Ir(t[q.FIELDS.START_LINE],t[q.FIELDS.START_COL],t[q.FIELDS.END_LINE],t[q.FIELDS.END_COL])}function Vp(t,e){if(!!t)return Ir(t[q.FIELDS.START_LINE],t[q.FIELDS.START_COL],e[q.FIELDS.END_LINE],e[q.FIELDS.END_COL])}function ki(t,e){var r=t[e];if(typeof r=="string")return r.indexOf("\\")!==-1&&((0,ke.ensureObject)(t,"raws"),t[e]=(0,ke.unesc)(r),t.raws[e]===void 0&&(t.raws[e]=r)),t}function Wp(t,e){for(var r=-1,i=[];(r=t.indexOf(e,r+1))!==-1;)i.push(r);return i}function KM(){var t=Array.prototype.concat.apply([],arguments);return t.filter(function(e,r){return r===t.indexOf(e)})}var XM=function(){function t(r,i){i===void 0&&(i={}),this.rule=r,this.options=Object.assign({lossy:!1,safe:!1},i),this.position=0,this.css=typeof this.rule=="string"?this.rule:this.rule.selector,this.tokens=(0,q.default)({css:this.css,error:this._errorGenerator(),safe:this.options.safe});var n=Vp(this.tokens[0],this.tokens[this.tokens.length-1]);this.root=new $M.default({source:n}),this.root.errorGenerator=this._errorGenerator();var s=new Fp.default({source:{start:{line:1,column:1}}});this.root.append(s),this.current=s,this.loop()}var e=t.prototype;return e._errorGenerator=function(){var i=this;return function(n,s){return typeof i.rule=="string"?new Error(n):i.rule.error(n,s)}},e.attribute=function(){var i=[],n=this.currToken;for(this.position++;this.position<this.tokens.length&&this.currToken[q.FIELDS.TYPE]!==j.closeSquare;)i.push(this.currToken),this.position++;if(this.currToken[q.FIELDS.TYPE]!==j.closeSquare)return this.expected("closing square bracket",this.currToken[q.FIELDS.START_POS]);var s=i.length,a={source:Ir(n[1],n[2],this.currToken[3],this.currToken[4]),sourceIndex:n[q.FIELDS.START_POS]};if(s===1&&!~[j.word].indexOf(i[0][q.FIELDS.TYPE]))return this.expected("attribute",i[0][q.FIELDS.START_POS]);for(var o=0,l="",c="",f=null,d=!1;o<s;){var p=i[o],m=this.content(p),w=i[o+1];switch(p[q.FIELDS.TYPE]){case j.space:if(d=!0,this.options.lossy)break;if(f){(0,ke.ensureObject)(a,"spaces",f);var S=a.spaces[f].after||"";a.spaces[f].after=S+m;var v=(0,ke.getProp)(a,"raws","spaces",f,"after")||null;v&&(a.raws.spaces[f].after=v+m)}else l=l+m,c=c+m;break;case j.asterisk:if(w[q.FIELDS.TYPE]===j.equals)a.operator=m,f="operator";else if((!a.namespace||f==="namespace"&&!d)&&w){l&&((0,ke.ensureObject)(a,"spaces","attribute"),a.spaces.attribute.before=l,l=""),c&&((0,ke.ensureObject)(a,"raws","spaces","attribute"),a.raws.spaces.attribute.before=l,c=""),a.namespace=(a.namespace||"")+m;var b=(0,ke.getProp)(a,"raws","namespace")||null;b&&(a.raws.namespace+=m),f="namespace"}d=!1;break;case j.dollar:if(f==="value"){var _=(0,ke.getProp)(a,"raws","value");a.value+="$",_&&(a.raws.value=_+"$");break}case j.caret:w[q.FIELDS.TYPE]===j.equals&&(a.operator=m,f="operator"),d=!1;break;case j.combinator:if(m==="~"&&w[q.FIELDS.TYPE]===j.equals&&(a.operator=m,f="operator"),m!=="|"){d=!1;break}w[q.FIELDS.TYPE]===j.equals?(a.operator=m,f="operator"):!a.namespace&&!a.attribute&&(a.namespace=!0),d=!1;break;case j.word:if(w&&this.content(w)==="|"&&i[o+2]&&i[o+2][q.FIELDS.TYPE]!==j.equals&&!a.operator&&!a.namespace)a.namespace=m,f="namespace";else if(!a.attribute||f==="attribute"&&!d){l&&((0,ke.ensureObject)(a,"spaces","attribute"),a.spaces.attribute.before=l,l=""),c&&((0,ke.ensureObject)(a,"raws","spaces","attribute"),a.raws.spaces.attribute.before=c,c=""),a.attribute=(a.attribute||"")+m;var A=(0,ke.getProp)(a,"raws","attribute")||null;A&&(a.raws.attribute+=m),f="attribute"}else if(!a.value&&a.value!==""||f==="value"&&!d){var O=(0,ke.unesc)(m),P=(0,ke.getProp)(a,"raws","value")||"",F=a.value||"";a.value=F+O,a.quoteMark=null,(O!==m||P)&&((0,ke.ensureObject)(a,"raws"),a.raws.value=(P||F)+m),f="value"}else{var N=m==="i"||m==="I";(a.value||a.value==="")&&(a.quoteMark||d)?(a.insensitive=N,(!N||m==="I")&&((0,ke.ensureObject)(a,"raws"),a.raws.insensitiveFlag=m),f="insensitive",l&&((0,ke.ensureObject)(a,"spaces","insensitive"),a.spaces.insensitive.before=l,l=""),c&&((0,ke.ensureObject)(a,"raws","spaces","insensitive"),a.raws.spaces.insensitive.before=c,c="")):(a.value||a.value==="")&&(f="value",a.value+=m,a.raws.value&&(a.raws.value+=m))}d=!1;break;case j.str:if(!a.attribute||!a.operator)return this.error("Expected an attribute followed by an operator preceding the string.",{index:p[q.FIELDS.START_POS]});var R=(0,Fk.unescapeValue)(m),W=R.unescaped,re=R.quoteMark;a.value=W,a.quoteMark=re,f="value",(0,ke.ensureObject)(a,"raws"),a.raws.value=m,d=!1;break;case j.equals:if(!a.attribute)return this.expected("attribute",p[q.FIELDS.START_POS],m);if(a.value)return this.error('Unexpected "=" found; an operator was already defined.',{index:p[q.FIELDS.START_POS]});a.operator=a.operator?a.operator+m:m,f="operator",d=!1;break;case j.comment:if(f)if(d||w&&w[q.FIELDS.TYPE]===j.space||f==="insensitive"){var E=(0,ke.getProp)(a,"spaces",f,"after")||"",J=(0,ke.getProp)(a,"raws","spaces",f,"after")||E;(0,ke.ensureObject)(a,"raws","spaces",f),a.raws.spaces[f].after=J+m}else{var Q=a[f]||"",ce=(0,ke.getProp)(a,"raws",f)||Q;(0,ke.ensureObject)(a,"raws"),a.raws[f]=ce+m}else c=c+m;break;default:return this.error('Unexpected "'+m+'" found.',{index:p[q.FIELDS.START_POS]})}o++}ki(a,"attribute"),ki(a,"namespace"),this.newNode(new Fk.default(a)),this.position++},e.parseWhitespaceEquivalentTokens=function(i){i<0&&(i=this.tokens.length);var n=this.position,s=[],a="",o=void 0;do if(Hp[this.currToken[q.FIELDS.TYPE]])this.options.lossy||(a+=this.content());else if(this.currToken[q.FIELDS.TYPE]===j.comment){var l={};a&&(l.before=a,a=""),o=new $k.default({value:this.content(),source:Si(this.currToken),sourceIndex:this.currToken[q.FIELDS.START_POS],spaces:l}),s.push(o)}while(++this.position<i);if(a){if(o)o.spaces.after=a;else if(!this.options.lossy){var c=this.tokens[n],f=this.tokens[this.position-1];s.push(new zp.default({value:"",source:Ir(c[q.FIELDS.START_LINE],c[q.FIELDS.START_COL],f[q.FIELDS.END_LINE],f[q.FIELDS.END_COL]),sourceIndex:c[q.FIELDS.START_POS],spaces:{before:a,after:""}}))}}return s},e.convertWhitespaceNodesToSpace=function(i,n){var s=this;n===void 0&&(n=!1);var a="",o="";i.forEach(function(c){var f=s.lossySpace(c.spaces.before,n),d=s.lossySpace(c.rawSpaceBefore,n);a+=f+s.lossySpace(c.spaces.after,n&&f.length===0),o+=f+c.value+s.lossySpace(c.rawSpaceAfter,n&&d.length===0)}),o===a&&(o=void 0);var l={space:a,rawSpace:o};return l},e.isNamedCombinator=function(i){return i===void 0&&(i=this.position),this.tokens[i+0]&&this.tokens[i+0][q.FIELDS.TYPE]===j.slash&&this.tokens[i+1]&&this.tokens[i+1][q.FIELDS.TYPE]===j.word&&this.tokens[i+2]&&this.tokens[i+2][q.FIELDS.TYPE]===j.slash},e.namedCombinator=function(){if(this.isNamedCombinator()){var i=this.content(this.tokens[this.position+1]),n=(0,ke.unesc)(i).toLowerCase(),s={};n!==i&&(s.value="/"+i+"/");var a=new jp.default({value:"/"+n+"/",source:Ir(this.currToken[q.FIELDS.START_LINE],this.currToken[q.FIELDS.START_COL],this.tokens[this.position+2][q.FIELDS.END_LINE],this.tokens[this.position+2][q.FIELDS.END_COL]),sourceIndex:this.currToken[q.FIELDS.START_POS],raws:s});return this.position=this.position+3,a}else this.unexpected()},e.combinator=function(){var i=this;if(this.content()==="|")return this.namespace();var n=this.locateNextMeaningfulToken(this.position);if(n<0||this.tokens[n][q.FIELDS.TYPE]===j.comma){var s=this.parseWhitespaceEquivalentTokens(n);if(s.length>0){var a=this.current.last;if(a){var o=this.convertWhitespaceNodesToSpace(s),l=o.space,c=o.rawSpace;c!==void 0&&(a.rawSpaceAfter+=c),a.spaces.after+=l}else s.forEach(function(P){return i.newNode(P)})}return}var f=this.currToken,d=void 0;n>this.position&&(d=this.parseWhitespaceEquivalentTokens(n));var p;if(this.isNamedCombinator()?p=this.namedCombinator():this.currToken[q.FIELDS.TYPE]===j.combinator?(p=new jp.default({value:this.content(),source:Si(this.currToken),sourceIndex:this.currToken[q.FIELDS.START_POS]}),this.position++):Hp[this.currToken[q.FIELDS.TYPE]]||d||this.unexpected(),p){if(d){var m=this.convertWhitespaceNodesToSpace(d),w=m.space,S=m.rawSpace;p.spaces.before=w,p.rawSpaceBefore=S}}else{var v=this.convertWhitespaceNodesToSpace(d,!0),b=v.space,_=v.rawSpace;_||(_=b);var A={},O={spaces:{}};b.endsWith(" ")&&_.endsWith(" ")?(A.before=b.slice(0,b.length-1),O.spaces.before=_.slice(0,_.length-1)):b.startsWith(" ")&&_.startsWith(" ")?(A.after=b.slice(1),O.spaces.after=_.slice(1)):O.value=_,p=new jp.default({value:" ",source:Vp(f,this.tokens[this.position-1]),sourceIndex:f[q.FIELDS.START_POS],spaces:A,raws:O})}return this.currToken&&this.currToken[q.FIELDS.TYPE]===j.space&&(p.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(p)},e.comma=function(){if(this.position===this.tokens.length-1){this.root.trailingComma=!0,this.position++;return}this.current._inferEndPosition();var i=new Fp.default({source:{start:Uk(this.tokens[this.position+1])}});this.current.parent.append(i),this.current=i,this.position++},e.comment=function(){var i=this.currToken;this.newNode(new $k.default({value:this.content(),source:Si(i),sourceIndex:i[q.FIELDS.START_POS]})),this.position++},e.error=function(i,n){throw this.root.error(i,n)},e.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[q.FIELDS.START_POS]})},e.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[q.FIELDS.START_POS])},e.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[q.FIELDS.START_POS])},e.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[q.FIELDS.START_POS])},e.namespace=function(){var i=this.prevToken&&this.content(this.prevToken)||!0;if(this.nextToken[q.FIELDS.TYPE]===j.word)return this.position++,this.word(i);if(this.nextToken[q.FIELDS.TYPE]===j.asterisk)return this.position++,this.universal(i)},e.nesting=function(){if(this.nextToken){var i=this.content(this.nextToken);if(i==="|"){this.position++;return}}var n=this.currToken;this.newNode(new VM.default({value:this.content(),source:Si(n),sourceIndex:n[q.FIELDS.START_POS]})),this.position++},e.parentheses=function(){var i=this.current.last,n=1;if(this.position++,i&&i.type===GM.PSEUDO){var s=new Fp.default({source:{start:Uk(this.tokens[this.position-1])}}),a=this.current;for(i.append(s),this.current=s;this.position<this.tokens.length&&n;)this.currToken[q.FIELDS.TYPE]===j.openParenthesis&&n++,this.currToken[q.FIELDS.TYPE]===j.closeParenthesis&&n--,n?this.parse():(this.current.source.end=Hk(this.currToken),this.current.parent.source.end=Hk(this.currToken),this.position++);this.current=a}else{for(var o=this.currToken,l="(",c;this.position<this.tokens.length&&n;)this.currToken[q.FIELDS.TYPE]===j.openParenthesis&&n++,this.currToken[q.FIELDS.TYPE]===j.closeParenthesis&&n--,c=this.currToken,l+=this.parseParenthesisToken(this.currToken),this.position++;i?i.appendToPropertyAndEscape("value",l,l):this.newNode(new zp.default({value:l,source:Ir(o[q.FIELDS.START_LINE],o[q.FIELDS.START_COL],c[q.FIELDS.END_LINE],c[q.FIELDS.END_COL]),sourceIndex:o[q.FIELDS.START_POS]}))}if(n)return this.expected("closing parenthesis",this.currToken[q.FIELDS.START_POS])},e.pseudo=function(){for(var i=this,n="",s=this.currToken;this.currToken&&this.currToken[q.FIELDS.TYPE]===j.colon;)n+=this.content(),this.position++;if(!this.currToken)return this.expected(["pseudo-class","pseudo-element"],this.position-1);if(this.currToken[q.FIELDS.TYPE]===j.word)this.splitWord(!1,function(a,o){n+=a,i.newNode(new UM.default({value:n,source:Vp(s,i.currToken),sourceIndex:s[q.FIELDS.START_POS]})),o>1&&i.nextToken&&i.nextToken[q.FIELDS.TYPE]===j.openParenthesis&&i.error("Misplaced parenthesis.",{index:i.nextToken[q.FIELDS.START_POS]})});else return this.expected(["pseudo-class","pseudo-element"],this.currToken[q.FIELDS.START_POS])},e.space=function(){var i=this.content();this.position===0||this.prevToken[q.FIELDS.TYPE]===j.comma||this.prevToken[q.FIELDS.TYPE]===j.openParenthesis||this.current.nodes.every(function(n){return n.type==="comment"})?(this.spaces=this.optionalSpace(i),this.position++):this.position===this.tokens.length-1||this.nextToken[q.FIELDS.TYPE]===j.comma||this.nextToken[q.FIELDS.TYPE]===j.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(i),this.position++):this.combinator()},e.string=function(){var i=this.currToken;this.newNode(new zp.default({value:this.content(),source:Si(i),sourceIndex:i[q.FIELDS.START_POS]})),this.position++},e.universal=function(i){var n=this.nextToken;if(n&&this.content(n)==="|")return this.position++,this.namespace();var s=this.currToken;this.newNode(new HM.default({value:this.content(),source:Si(s),sourceIndex:s[q.FIELDS.START_POS]}),i),this.position++},e.splitWord=function(i,n){for(var s=this,a=this.nextToken,o=this.content();a&&~[j.dollar,j.caret,j.equals,j.word].indexOf(a[q.FIELDS.TYPE]);){this.position++;var l=this.content();if(o+=l,l.lastIndexOf("\\")===l.length-1){var c=this.nextToken;c&&c[q.FIELDS.TYPE]===j.space&&(o+=this.requiredSpace(this.content(c)),this.position++)}a=this.nextToken}var f=Wp(o,".").filter(function(w){var S=o[w-1]==="\\",v=/^\d+\.\d+%$/.test(o);return!S&&!v}),d=Wp(o,"#").filter(function(w){return o[w-1]!=="\\"}),p=Wp(o,"#{");p.length&&(d=d.filter(function(w){return!~p.indexOf(w)}));var m=(0,WM.default)(KM([0].concat(f,d)));m.forEach(function(w,S){var v=m[S+1]||o.length,b=o.slice(w,v);if(S===0&&n)return n.call(s,b,m.length);var _,A=s.currToken,O=A[q.FIELDS.START_POS]+m[S],P=Ir(A[1],A[2]+w,A[3],A[2]+(v-1));if(~f.indexOf(w)){var F={value:b.slice(1),source:P,sourceIndex:O};_=new FM.default(ki(F,"value"))}else if(~d.indexOf(w)){var N={value:b.slice(1),source:P,sourceIndex:O};_=new zM.default(ki(N,"value"))}else{var R={value:b,source:P,sourceIndex:O};ki(R,"value"),_=new jM.default(R)}s.newNode(_,i),i=null}),this.position++},e.word=function(i){var n=this.nextToken;return n&&this.content(n)==="|"?(this.position++,this.namespace()):this.splitWord(i)},e.loop=function(){for(;this.position<this.tokens.length;)this.parse(!0);return this.current._inferEndPosition(),this.root},e.parse=function(i){switch(this.currToken[q.FIELDS.TYPE]){case j.space:this.space();break;case j.comment:this.comment();break;case j.openParenthesis:this.parentheses();break;case j.closeParenthesis:i&&this.missingParenthesis();break;case j.openSquare:this.attribute();break;case j.dollar:case j.caret:case j.equals:case j.word:this.word();break;case j.colon:this.pseudo();break;case j.comma:this.comma();break;case j.asterisk:this.universal();break;case j.ampersand:this.nesting();break;case j.slash:case j.combinator:this.combinator();break;case j.str:this.string();break;case j.closeSquare:this.missingSquareBracket();case j.semicolon:this.missingBackslash();default:this.unexpected()}},e.expected=function(i,n,s){if(Array.isArray(i)){var a=i.pop();i=i.join(", ")+" or "+a}var o=/^[aeiou]/.test(i[0])?"an":"a";return s?this.error("Expected "+o+" "+i+', found "'+s+'" instead.',{index:n}):this.error("Expected "+o+" "+i+".",{index:n})},e.requiredSpace=function(i){return this.options.lossy?" ":i},e.optionalSpace=function(i){return this.options.lossy?"":i},e.lossySpace=function(i,n){return this.options.lossy?n?" ":"":i},e.parseParenthesisToken=function(i){var n=this.content(i);return i[q.FIELDS.TYPE]===j.space?this.requiredSpace(n):n},e.newNode=function(i,n){return n&&(/^ +$/.test(n)&&(this.options.lossy||(this.spaces=(this.spaces||"")+n),n=!0),i.namespace=n,ki(i,"namespace")),this.spaces&&(i.spaces.before=this.spaces,this.spaces=""),this.current.append(i)},e.content=function(i){return i===void 0&&(i=this.currToken),this.css.slice(i[q.FIELDS.START_POS],i[q.FIELDS.END_POS])},e.locateNextMeaningfulToken=function(i){i===void 0&&(i=this.position+1);for(var n=i;n<this.tokens.length;)if(YM[this.tokens[n][q.FIELDS.TYPE]]){n++;continue}else return n;return-1},QM(t,[{key:"currToken",get:function(){return this.tokens[this.position]}},{key:"nextToken",get:function(){return this.tokens[this.position+1]}},{key:"prevToken",get:function(){return this.tokens[this.position-1]}}]),t}();is.default=XM;Vk.exports=is.default});var Qk=x((ns,Gk)=>{u();"use strict";ns.__esModule=!0;ns.default=void 0;var ZM=JM(Wk());function JM(t){return t&&t.__esModule?t:{default:t}}var eN=function(){function t(r,i){this.func=r||function(){},this.funcRes=null,this.options=i}var e=t.prototype;return e._shouldUpdateSelector=function(i,n){n===void 0&&(n={});var s=Object.assign({},this.options,n);return s.updateSelector===!1?!1:typeof i!="string"},e._isLossy=function(i){i===void 0&&(i={});var n=Object.assign({},this.options,i);return n.lossless===!1},e._root=function(i,n){n===void 0&&(n={});var s=new ZM.default(i,this._parseOptions(n));return s.root},e._parseOptions=function(i){return{lossy:this._isLossy(i)}},e._run=function(i,n){var s=this;return n===void 0&&(n={}),new Promise(function(a,o){try{var l=s._root(i,n);Promise.resolve(s.func(l)).then(function(c){var f=void 0;return s._shouldUpdateSelector(i,n)&&(f=l.toString(),i.selector=f),{transform:c,root:l,string:f}}).then(a,o)}catch(c){o(c);return}})},e._runSync=function(i,n){n===void 0&&(n={});var s=this._root(i,n),a=this.func(s);if(a&&typeof a.then=="function")throw new Error("Selector processor returned a promise to a synchronous call.");var o=void 0;return n.updateSelector&&typeof i!="string"&&(o=s.toString(),i.selector=o),{transform:a,root:s,string:o}},e.ast=function(i,n){return this._run(i,n).then(function(s){return s.root})},e.astSync=function(i,n){return this._runSync(i,n).root},e.transform=function(i,n){return this._run(i,n).then(function(s){return s.transform})},e.transformSync=function(i,n){return this._runSync(i,n).transform},e.process=function(i,n){return this._run(i,n).then(function(s){return s.string||s.root.toString()})},e.processSync=function(i,n){var s=this._runSync(i,n);return s.string||s.root.toString()},t}();ns.default=eN;Gk.exports=ns.default});var Yk=x(ye=>{u();"use strict";ye.__esModule=!0;ye.universal=ye.tag=ye.string=ye.selector=ye.root=ye.pseudo=ye.nesting=ye.id=ye.comment=ye.combinator=ye.className=ye.attribute=void 0;var tN=ct(Rp()),rN=ct(hp()),iN=ct(Lp()),nN=ct(gp()),sN=ct(wp()),aN=ct(Mp()),oN=ct(Ap()),lN=ct(fp()),uN=ct(pp()),fN=ct(kp()),cN=ct(xp()),pN=ct(Dp());function ct(t){return t&&t.__esModule?t:{default:t}}var dN=function(e){return new tN.default(e)};ye.attribute=dN;var hN=function(e){return new rN.default(e)};ye.className=hN;var mN=function(e){return new iN.default(e)};ye.combinator=mN;var gN=function(e){return new nN.default(e)};ye.comment=gN;var yN=function(e){return new sN.default(e)};ye.id=yN;var wN=function(e){return new aN.default(e)};ye.nesting=wN;var vN=function(e){return new oN.default(e)};ye.pseudo=vN;var bN=function(e){return new lN.default(e)};ye.root=bN;var xN=function(e){return new uN.default(e)};ye.selector=xN;var SN=function(e){return new fN.default(e)};ye.string=SN;var kN=function(e){return new cN.default(e)};ye.tag=kN;var _N=function(e){return new pN.default(e)};ye.universal=_N});var Jk=x(ae=>{u();"use strict";ae.__esModule=!0;ae.isNode=Gp;ae.isPseudoElement=Zk;ae.isPseudoClass=LN;ae.isContainer=BN;ae.isNamespace=MN;ae.isUniversal=ae.isTag=ae.isString=ae.isSelector=ae.isRoot=ae.isPseudo=ae.isNesting=ae.isIdentifier=ae.isComment=ae.isCombinator=ae.isClassName=ae.isAttribute=void 0;var _e=Ne(),Qe,AN=(Qe={},Qe[_e.ATTRIBUTE]=!0,Qe[_e.CLASS]=!0,Qe[_e.COMBINATOR]=!0,Qe[_e.COMMENT]=!0,Qe[_e.ID]=!0,Qe[_e.NESTING]=!0,Qe[_e.PSEUDO]=!0,Qe[_e.ROOT]=!0,Qe[_e.SELECTOR]=!0,Qe[_e.STRING]=!0,Qe[_e.TAG]=!0,Qe[_e.UNIVERSAL]=!0,Qe);function Gp(t){return typeof t=="object"&&AN[t.type]}function pt(t,e){return Gp(e)&&e.type===t}var Kk=pt.bind(null,_e.ATTRIBUTE);ae.isAttribute=Kk;var TN=pt.bind(null,_e.CLASS);ae.isClassName=TN;var EN=pt.bind(null,_e.COMBINATOR);ae.isCombinator=EN;var CN=pt.bind(null,_e.COMMENT);ae.isComment=CN;var ON=pt.bind(null,_e.ID);ae.isIdentifier=ON;var PN=pt.bind(null,_e.NESTING);ae.isNesting=PN;var Qp=pt.bind(null,_e.PSEUDO);ae.isPseudo=Qp;var RN=pt.bind(null,_e.ROOT);ae.isRoot=RN;var IN=pt.bind(null,_e.SELECTOR);ae.isSelector=IN;var DN=pt.bind(null,_e.STRING);ae.isString=DN;var Xk=pt.bind(null,_e.TAG);ae.isTag=Xk;var qN=pt.bind(null,_e.UNIVERSAL);ae.isUniversal=qN;function Zk(t){return Qp(t)&&t.value&&(t.value.startsWith("::")||t.value.toLowerCase()===":before"||t.value.toLowerCase()===":after"||t.value.toLowerCase()===":first-letter"||t.value.toLowerCase()===":first-line")}function LN(t){return Qp(t)&&!Zk(t)}function BN(t){return!!(Gp(t)&&t.walk)}function MN(t){return Kk(t)||Xk(t)}});var e_=x(vt=>{u();"use strict";vt.__esModule=!0;var Yp=Ne();Object.keys(Yp).forEach(function(t){t==="default"||t==="__esModule"||t in vt&&vt[t]===Yp[t]||(vt[t]=Yp[t])});var Kp=Yk();Object.keys(Kp).forEach(function(t){t==="default"||t==="__esModule"||t in vt&&vt[t]===Kp[t]||(vt[t]=Kp[t])});var Xp=Jk();Object.keys(Xp).forEach(function(t){t==="default"||t==="__esModule"||t in vt&&vt[t]===Xp[t]||(vt[t]=Xp[t])})});var i_=x((ss,r_)=>{u();"use strict";ss.__esModule=!0;ss.default=void 0;var NN=zN(Qk()),$N=FN(e_());function t_(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return t_=function(){return t},t}function FN(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=t_();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function zN(t){return t&&t.__esModule?t:{default:t}}var Zp=function(e){return new NN.default(e)};Object.assign(Zp,$N);delete Zp.__esModule;var jN=Zp;ss.default=jN;r_.exports=ss.default});var a_=x((XH,s_)=>{u();var UN=JS(),n_=i_(),HN=n_();s_.exports={isUsableColor(t,e){return UN(e)&&t!=="gray"&&e[600]},commonTrailingPseudos(t){let e=HN.astSync(t),r=[];for(let[n,s]of e.nodes.entries())for(let[a,o]of[...s.nodes].reverse().entries()){if(o.type!=="pseudo"||!o.value.startsWith("::"))break;r[a]=r[a]||[],r[a][n]=o}let i=n_.selector();for(let n of r){if(!n)continue;if(new Set([...n.map(a=>a.value)]).size>1)break;n.forEach(a=>a.remove()),i.prepend(n[0])}return i.nodes.length?[i.toString(),e.toString()]:[null,t]}}});var f_=x((ZH,u_)=>{u();var VN=(kr(),Sr).default,WN=VS(),GN=GS(),QN=YS(),{commonTrailingPseudos:YN}=a_(),o_={};function Jp(t,{className:e,modifier:r,prefix:i}){let n=i(`.not-${e}`).slice(1),s=t.startsWith(">")?`${r==="DEFAULT"?`.${e}`:`.${e}-${r}`} `:"",[a,o]=YN(t);return a?`:where(${s}${o}):not(:where([class~="${n}"],[class~="${n}"] *))${a}`:`:where(${s}${t}):not(:where([class~="${n}"],[class~="${n}"] *))`}function l_(t){return typeof t=="object"&&t!==null}function KN(t={},{target:e,className:r,modifier:i,prefix:n}){function s(a,o){return e==="legacy"?[a,o]:Array.isArray(o)?[a,o]:l_(o)?Object.values(o).some(l_)?[Jp(a,{className:r,modifier:i,prefix:n}),o,Object.fromEntries(Object.entries(o).map(([c,f])=>s(c,f)))]:[Jp(a,{className:r,modifier:i,prefix:n}),o]:[a,o]}return Object.fromEntries(Object.entries(WN({},...Object.keys(t).filter(a=>o_[a]).map(a=>o_[a](t[a])),...GN(t.css||{}))).map(([a,o])=>s(a,o)))}u_.exports=VN.withOptions(({className:t="prose",target:e="modern"}={})=>function({addVariant:r,addComponents:i,theme:n,prefix:s}){let a=n("typography"),o={className:t,prefix:s};for(let[l,...c]of[["headings","h1","h2","h3","h4","h5","h6","th"],["h1"],["h2"],["h3"],["h4"],["h5"],["h6"],["p"],["a"],["blockquote"],["figure"],["figcaption"],["strong"],["em"],["kbd"],["code"],["pre"],["ol"],["ul"],["li"],["table"],["thead"],["tr"],["th"],["td"],["img"],["video"],["hr"],["lead",'[class~="lead"]']]){c=c.length===0?[l]:c;let f=e==="legacy"?c.map(d=>`& ${d}`):c.join(", ");r(`${t}-${l}`,e==="legacy"?f:`& :is(${Jp(f,o)})`)}i(Object.keys(a).map(l=>({[l==="DEFAULT"?`.${t}`:`.${t}-${l}`]:KN(a[l],{target:e,className:t,modifier:l,prefix:s})})))},()=>({theme:{typography:QN}}))});var m_=x((JH,h_)=>{u();var XN=(kr(),Sr).default,c_={position:"relative",paddingBottom:"calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%)"},p_={position:"absolute",height:"100%",width:"100%",top:"0",right:"0",bottom:"0",left:"0"},d_={".aspect-none":{position:"static",paddingBottom:"0"},".aspect-none > *":{position:"static",height:"auto",width:"auto",top:"auto",right:"auto",bottom:"auto",left:"auto"}},ZN=XN(function({addComponents:t,matchComponents:e,theme:r,variants:i,e:n}){let s=r("aspectRatio");if(e){e({"aspect-w":l=>[{...c_,"--tw-aspect-w":l},{"> *":p_}],"aspect-h":l=>({"--tw-aspect-h":l})},{values:s}),t(d_);return}let a=Object.entries(s).map(([l,c])=>`.${n(`aspect-w-${l}`)}`).join(`,
+`),o=Object.entries(s).map(([l,c])=>`.${n(`aspect-w-${l}`)} > *`).join(`,
+`);t([{[a]:c_,[o]:p_},d_,Object.entries(s).map(([l,c])=>({[`.${n(`aspect-w-${l}`)}`]:{"--tw-aspect-w":c}})),Object.entries(s).map(([l,c])=>({[`.${n(`aspect-h-${l}`)}`]:{"--tw-aspect-h":c}}))],i("aspectRatio"))},{theme:{aspectRatio:{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",14:"14",15:"15",16:"16"}},variants:{aspectRatio:["responsive"]}});h_.exports=ZN});var y_=x((eV,g_)=>{u();"use strict";var JN=e$((kr(),Sr).default);function e$(t){return t&&t.__esModule?t:{default:t}}g_.exports=(0,JN.default)(function(e){var r=e.matchUtilities,i=e.matchVariant,n=e.theme,s=function(c){var f,d,p=(d=(f=c.match(/^(\d+\.\d+|\d+|\.\d+)\D+/))===null||f===void 0?void 0:f[1])!==null&&d!==void 0?d:null;return p===null?null:parseFloat(c)},a,o=(a=n("containers"))!==null&&a!==void 0?a:{};r({"@container":function(l,c){var f=c.modifier;return{"container-type":l,"container-name":f}}},{values:{DEFAULT:"inline-size",normal:"normal"},modifiers:"any"}),i("@",function(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",c=(arguments.length>1?arguments[1]:void 0).modifier,f=s(l);return f!==null?"@container ".concat(c??""," (min-width: ").concat(l,")"):[]},{values:o,sort:function(c,f){var d=parseFloat(c.value),p=parseFloat(f.value);if(d===null||p===null)return 0;if(d-p!=0)return d-p;var m,w=(m=c.modifier)!==null&&m!==void 0?m:"",S,v=(S=f.modifier)!==null&&S!==void 0?S:"";return w===""&&v!==""?1:w!==""&&v===""?-1:w.localeCompare(v,"en",{numeric:!0})}})},{theme:{containers:{xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"}}})});var w_={};dt(w_,{default:()=>t$});var t$,v_=D(()=>{u();t$=[gS(),f_(),m_(),y_()]});var x_={};dt(x_,{default:()=>r$});var b_,r$,S_=D(()=>{u();ys();b_=Te(Ss()),r$=Xt(b_.default)});u();"use strict";var i$=Qt(mv()),n$=Qt(Ze()),s$=Qt(aS()),a$=Qt((v_(),w_)),o$=Qt((Yc(),Qc)),l$=Qt((S_(),x_)),u$=Qt((Ai(),hs)),f$=Qt((kr(),Sr)),c$=Qt((Uo(),Yd));function Qt(t){return t&&t.__esModule?t:{default:t}}console.warn("cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation");var ko="tailwind",ed="text/tailwindcss",k_="/template.html",Dr,__=!0,A_=0,td=new Set,rd,T_="",E_=(t=!1)=>({get(e,r){return(!t||r==="config")&&typeof e[r]=="object"&&e[r]!==null?new Proxy(e[r],E_()):e[r]},set(e,r,i){return e[r]=i,(!t||r==="config")&&id(!0),!0}});window[ko]=new Proxy({config:{},defaultTheme:o$.default,defaultConfig:l$.default,colors:u$.default,plugin:f$.default,resolveConfig:c$.default},E_(!0));function C_(t){rd.observe(t,{attributes:!0,attributeFilter:["type"],characterData:!0,subtree:!0,childList:!0})}new MutationObserver(async t=>{let e=!1;if(!rd){rd=new MutationObserver(async()=>await id(!0));for(let r of document.querySelectorAll(`style[type="${ed}"]`))C_(r)}for(let r of t)for(let i of r.addedNodes)i.nodeType===1&&i.tagName==="STYLE"&&i.getAttribute("type")===ed&&(C_(i),e=!0);await id(e)}).observe(document.documentElement,{attributes:!0,attributeFilter:["class"],childList:!0,subtree:!0});async function id(t=!1){t&&(A_++,td.clear());let e="";for(let i of document.querySelectorAll(`style[type="${ed}"]`))e+=i.textContent;let r=new Set;for(let i of document.querySelectorAll("[class]"))for(let n of i.classList)td.has(n)||r.add(n);if(document.body&&(__||r.size>0||e!==T_||!Dr||!Dr.isConnected)){for(let n of r)td.add(n);__=!1,T_=e,self[k_]=Array.from(r).join(" ");let{css:i}=await(0,n$.default)([(0,i$.default)({...window[ko].config,_hash:A_,content:{files:[k_],extract:{html:n=>n.split(" ")}},plugins:[...a$.default,...Array.isArray(window[ko].config.plugins)?window[ko].config.plugins:[]]}),(0,s$.default)({remove:!1})]).process(`@tailwind base;@tailwind components;@tailwind utilities;${e}`);(!Dr||!Dr.isConnected)&&(Dr=document.createElement("style"),document.head.append(Dr)),Dr.textContent=i}}})();
+/*!
+ * fill-range <https://github.com/jonschlinkert/fill-range>
+ *
+ * Copyright (c) 2014-present, Jon Schlinkert.
+ * Licensed under the MIT License.
+ */
+/*!
+ * is-number <https://github.com/jonschlinkert/is-number>
+ *
+ * Copyright (c) 2014-present, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+/*!
+ * to-regex-range <https://github.com/micromatch/to-regex-range>
+ *
+ * Copyright (c) 2015-present, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+/*! https://mths.be/cssesc v3.0.0 by @mathias */
diff --git a/default/_emanote-static/fonts/Work_Sans/WorkSans-Italic-VariableFont_wght.ttf b/default/_emanote-static/fonts/Work_Sans/WorkSans-Italic-VariableFont_wght.ttf
deleted file mode 100644
Binary files a/default/_emanote-static/fonts/Work_Sans/WorkSans-Italic-VariableFont_wght.ttf and /dev/null differ
diff --git a/default/_emanote-static/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf b/default/_emanote-static/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf
deleted file mode 100644
Binary files a/default/_emanote-static/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf and /dev/null differ
diff --git a/default/_emanote-static/fonts/maven-pro-400.ttf b/default/_emanote-static/fonts/maven-pro-400.ttf
new file mode 100644
Binary files /dev/null and b/default/_emanote-static/fonts/maven-pro-400.ttf differ
diff --git a/default/_emanote-static/fonts/maven-pro-500.ttf b/default/_emanote-static/fonts/maven-pro-500.ttf
new file mode 100644
Binary files /dev/null and b/default/_emanote-static/fonts/maven-pro-500.ttf differ
diff --git a/default/_emanote-static/fonts/maven-pro-600.ttf b/default/_emanote-static/fonts/maven-pro-600.ttf
new file mode 100644
Binary files /dev/null and b/default/_emanote-static/fonts/maven-pro-600.ttf differ
diff --git a/default/_emanote-static/fonts/maven-pro-700.ttf b/default/_emanote-static/fonts/maven-pro-700.ttf
new file mode 100644
Binary files /dev/null and b/default/_emanote-static/fonts/maven-pro-700.ttf differ
diff --git a/default/_emanote-static/fonts/maven-pro.css b/default/_emanote-static/fonts/maven-pro.css
new file mode 100644
--- /dev/null
+++ b/default/_emanote-static/fonts/maven-pro.css
@@ -0,0 +1,32 @@
+/* Maven Pro font-face definitions */
+@font-face {
+  font-family: 'Maven Pro';
+  font-style: normal;
+  font-weight: 400;
+  font-display: swap;
+  src: url('./maven-pro-400.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Maven Pro';
+  font-style: normal;
+  font-weight: 500;
+  font-display: swap;
+  src: url('./maven-pro-500.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Maven Pro';
+  font-style: normal;
+  font-weight: 600;
+  font-display: swap;
+  src: url('./maven-pro-600.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Maven Pro';
+  font-style: normal;
+  font-weight: 700;
+  font-display: swap;
+  src: url('./maven-pro-700.ttf') format('truetype');
+}
diff --git a/default/_emanote-static/inverted-tree.css b/default/_emanote-static/inverted-tree.css
--- a/default/_emanote-static/inverted-tree.css
+++ b/default/_emanote-static/inverted-tree.css
@@ -9,18 +9,18 @@
   -o-transform: rotate(180deg);
   transform: rotate(180deg);
 }
+
 body .tree {
   overflow: auto;
   /* See more-head.tpl */
-  font-family: 'WorkSans', sans-serif;
-  font-variation-settings: 'wght' 475;
-
   font-size: 0.8em;
 }
+
 body .tree ul.root {
   padding-top: 0px;
   margin-top: 0px;
 }
+
 body .tree ul {
   position: relative;
   padding: 1em 0px 0px 0px;
@@ -28,14 +28,17 @@
   margin: 0px auto 0px auto;
   text-align: center;
 }
+
 body .tree ul::after {
   content: "";
   display: table;
   clear: both;
 }
+
 body .tree ul:last-child {
   padding-bottom: 0.1em;
 }
+
 body .tree li {
   display: inline-block;
   vertical-align: top;
@@ -44,6 +47,7 @@
   position: relative;
   padding: 1em 0.5em 0em 0.5em;
 }
+
 body .tree li::before {
   content: "";
   position: absolute;
@@ -53,6 +57,7 @@
   width: 60%;
   height: 1.19999em;
 }
+
 body .tree li::after {
   content: "";
   position: absolute;
@@ -62,35 +67,44 @@
   width: 50%;
   height: 1.19999em;
 }
+
 body .tree li::after {
   right: auto;
   left: 50%;
   border-left: solid 2px #cccccc;
 }
+
 body .tree li:only-child {
   padding-top: 0em;
 }
+
 body .tree li:only-child::after {
   display: none;
 }
+
 body .tree li:only-child::before {
   display: none;
 }
+
 body .tree li:first-child::before {
   border-style: none;
   border-width: 0px;
 }
+
 body .tree li:first-child::after {
   border-radius: 5px 0px 0px 0px;
 }
+
 body .tree li:last-child::after {
   border-style: none;
   border-width: 0px;
 }
+
 body .tree li:last-child::before {
   border-right: solid 2px #cccccc;
   border-radius: 0px 5px 0px 0px;
 }
+
 body .tree ul ul::before {
   content: "";
   position: absolute;
@@ -100,6 +114,7 @@
   width: 0px;
   height: 1.19999em;
 }
+
 body .tree li div.forest-link {
   border: solid 2px #cccccc;
   padding: 0.2em 0.29999em 0.2em 0.29999em;
@@ -109,6 +124,7 @@
   position: relative;
   top: 2px;
 }
+
 body .tree.flipped li div.forest-link {
   -webkit-transform: rotate(180deg);
   -moz-transform: rotate(180deg);
diff --git a/default/index.yaml b/default/index.yaml
--- a/default/index.yaml
+++ b/default/index.yaml
@@ -11,36 +11,39 @@
 # TODO: How to design this when generating RSS feeds?
 template:
   # Which template to use to render notes. The filepath without the .tpl extension.
-  name: /templates/layouts/book
-  # Layout specific settings
-  layout:
-    # For base.tpl
-    base:
-      # The class to apply for <body> element when using base.tpl (used by note and book layouts)
-      bodyClass: bg-gray-400 overflow-y-scroll
-    note:
-      containerClass: container mx-auto max-w-prose
+  name: /templates/layouts/default
+  # Base settings for our default layout.
+  base:
+    # The class to apply for <body> element when
+    bodyClass: bg-gray-400 overflow-y-scroll
+    containerClass: container mx-auto
   error:
     containerClass: container mx-auto max-w-prose
   uptree:
+    enable: false
     # Class to apply for uptree's nodes
-    nodeClass: text-gray-900
-  # List of available colors: https://v2.tailwindcss.com/docs/customizing-colors#default-color-palette
+    nodeClass: text-gray-900 hover:bg-${theme}-500 hover:text-white cursor-pointer
+  # List of available colors: https://tailwindcss.com/docs/customizing-colors#default-color-palette
   theme: blue
   # Value of the <base> tag.
   baseUrl: /
+  iconUrl: favicon.svg
   # Change this to 'pretty' if you want URLs without the '.html' suffix.
   urlStrategy: direct
-  iconUrl: ${ema:homeUrl}favicon.svg
   sidebar:
+    enable: true
     # Whether this node in the sidebar tree should remain collapsed by default
     # (unless a route in it is active)
     collapsed: true
     # Weather this node should put folders before single notes
     folders-first: false
+  breadcrumbs:
+    enable: true
   stork:
     # https://stork-search.net/docs/config-ref#frontmatter_handling
     frontmatter-handling: omit
+  toc:
+    enable: true
 
 pandoc:
   # Rewrite the class specified in Pandoc's Div and Span nodes. You can specify the class using
@@ -68,18 +71,28 @@
 # Put page-specific metadata here. Override them in Markdown frontmatter or
 # per-folder YAML as necessary.
 page:
+  # The URL to the deployed site. Must include everything upto `baseUrl` above.
+  siteUrl: ""
+
   siteTitle: My Emanote Site
   # Desription is expected to be set on a per-page basis.
   # By default, the first paragraph is used for description.
   # Used for https://ogp.me/
   description: ""
 
+  # Language code for the page.
+  # https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang
+  lang: "en"
+
   # Image URL for previews.
   # By default, the first image URL is used. Note: wikilink are not yet
   # supported.
   # Used for https://ogp.me/
   image: ""
 
+  twitter:
+    card: summary_large_image
+
   # Put anything that should go in <head> of these routes here:
   # You can reference other metadata keys using <snippet var=".." />
   # Or use the JS behaviour library below.
@@ -133,7 +146,22 @@
       };
     </script>
     <script async="" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+  katex: |
+    <link rel="stylesheet"
+          href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css"
+          integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV"
+          crossorigin="anonymous">
+    <script defer
+            src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"
+            integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8"
+            crossorigin="anonymous"></script>
+    <script defer
+            src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js"
+            integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05"
+            crossorigin="anonymous"
+            onload="renderMathInElement(document.body);"></script>
 
 emanote:
   # Whether to automatically treat folder notes as a folgezettel parent of its contents
-  folder-folgezettel: true
+  # By default, all but top-level folders are treated as folgezettel parents.
+  # folder-folgezettel: true
diff --git a/default/templates/base.tpl b/default/templates/base.tpl
--- a/default/templates/base.tpl
+++ b/default/templates/base.tpl
@@ -1,6 +1,11 @@
 <!DOCTYPE HTML>
-<html lang="en">
 
+<!-- DoNotFormat -->
+<bind tag="ema-lang"><ema:metadata><value var="page.lang" /></ema:metadata></bind>
+<!-- DoNotFormat -->
+
+<html lang="${ema-lang}">
+
 <head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
@@ -14,6 +19,9 @@
       <meta property="og:image" content="${value:image}" />
       <meta property="og:type" content="website" />
       <meta property="og:title" content="${ema:title}" />
+      <with var="twitter">
+        <meta name="twitter:card" content="${value:card}" />
+      </with>
     </with>
     <with var="template">
       <base href="${value:baseUrl}" />
@@ -24,54 +32,7 @@
   <emaNoteFeedUrl />
   <tailwindCssShim />
 
-  <style>
-    /* Heist error element */
-    strong.error {
-      color: lightcoral;
-      font-size: 90%;
-      font-family: monospace;
-    }
-
-    /* External link icon */
-    a[data-linkicon=""]::after {
-      content: ""
-    }
-
-    a[data-linkicon=none]::after {
-      content: ""
-    }
-
-    a[data-linkicon="external"]::after {
-      content: url('data:image/svg+xml,\
-      <svg xmlns="http://www.w3.org/2000/svg" height="0.7em" viewBox="0 0 20 20"> \
-        <g style="stroke:gray;stroke-width:1"> \
-          <line x1="5" y1="5" x2="5" y2="14" /> \
-          <line x1="14" y1="9" x2="14" y2="14" /> \
-          <line x1="5" y1="14" x2="14" y2="14" /> \
-          <line x1="5" y1="5" x2="9" y2="5"  /> \
-          <line x1="10" y1="2" x2="17" y2="2"  /> \
-          <line x1="17" y1="2" x2="17" y2="9" /> \
-          <line x1="10" y1="9" x2="17" y2="2" style="stroke-width:1.0" /> \
-        </g> \
-      </svg>');
-    }
-
-    a[data-linkicon="external"][href^="mailto:"]::after {
-      content: url('data:image/svg+xml,\
-        <svg \
-          xmlns="http://www.w3.org/2000/svg" \
-          height="0.7em" \
-          fill="none" \
-          viewBox="0 0 24 24" \
-          stroke="gray" \
-          stroke-width="2"> \
-          <path \
-            stroke-linecap="round" \
-            stroke-linejoin="round" \
-            d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" /> \
-        </svg>');
-    }
-  </style>
+  <apply template="/templates/styles" />
   <apply template="/templates/hooks/more-head" />
 
   <head-main />
@@ -81,7 +42,7 @@
 <!-- DoNotFormat -->
 <bind tag="theme"><ema:metadata><value var="template.theme" /></ema:metadata></bind>
 <bind tag="iconSize">w-4 h-4 flex-shrink-0</bind>
-<bind tag="bodyClass"><ema:metadata><value var="template.layout.base.bodyClass" /></ema:metadata></bind>
+<bind tag="bodyClass"><ema:metadata><value var="template.base.bodyClass" /></ema:metadata></bind>
 <!-- DoNotFormat -->
 
 <body class="${bodyClass}">
diff --git a/default/templates/components/backlinks.tpl b/default/templates/components/backlinks.tpl
--- a/default/templates/components/backlinks.tpl
+++ b/default/templates/components/backlinks.tpl
@@ -4,7 +4,7 @@
     <ul class="space-y-1">
       <backlink>
         <li>
-          <a class="text-${theme}-600 mavenLinkBold hover:bg-${theme}-50"
+          <a class="text-${theme}-600 font-semibold hover:bg-${theme}-50"
             href="${backlink:note:url}">
             <backlink:note:title />
           </a>
diff --git a/default/templates/components/body.tpl b/default/templates/components/body.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/components/body.tpl
@@ -0,0 +1,23 @@
+<div class="flex-1 w-full bg-white">
+  <main class="px-4 py-4">
+    <apply template="note-title" />
+    <ema:has:toc>
+      <div class="md:grid md:gap-4 md:grid-cols-8">
+        <div class="md:col-span-6">
+          <apply template="note-body" />
+        </div>
+        <div class="hidden md:block md:col-span-2 md:border-l">
+          <apply template="toc" />
+        </div>
+      </div>
+      <else />
+      <apply template="note-body" />
+    </ema:has:toc>
+    <div class="flex flex-col lg:flex-row lg:space-x-2">
+      <apply template="timeline" />
+      <apply template="backlinks" />
+    </div>
+    <apply template="metadata" />
+    <apply template="/templates/hooks/note-end" />
+  </main>
+</div>
diff --git a/default/templates/components/breadcrumbs.tpl b/default/templates/components/breadcrumbs.tpl
--- a/default/templates/components/breadcrumbs.tpl
+++ b/default/templates/components/breadcrumbs.tpl
@@ -5,7 +5,7 @@
         <li class="inline-flex items-center">
           <ema:metadata>
             <with var="template">
-              <img style="width: 1rem;" src="${value:iconUrl}" />
+              <img style="width: 1rem;" src="${value:iconUrl}" alt="Site Icon" />
             </with>
           </ema:metadata>
         </li>
diff --git a/default/templates/components/footer.tpl b/default/templates/components/footer.tpl
--- a/default/templates/components/footer.tpl
+++ b/default/templates/components/footer.tpl
@@ -1,27 +1,31 @@
 <footer class="flex items-center justify-center mt-2 mb-8 space-x-4 text-center text-gray-800">
   <bind tag="iconClass">w-6 h-6 hover:text-${theme}-700</bind>
   <div>
-    <a href="${ema:homeUrl}" title="Go to Home page">
-      <svg xmlns="http://www.w3.org/2000/svg" class="${iconClass}" fill="none" viewBox="0 0 24 24"
-        stroke="currentColor">
-        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
-          d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" />
-      </svg>
-    </a>
+    <ema:metadata>
+      <with var="template">
+        <a href="${value:baseUrl}" title="Go to Home">
+          <svg xmlns="http://www.w3.org/2000/svg" class="${iconClass}" fill="none"
+            viewBox="0 0 24 24" stroke="currentColor">
+            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+              d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" />
+          </svg>
+        </a>
+      </with>
+    </ema:metadata>
   </div>
   <div>
     <a href="${ema:indexUrl}" title="View Index">
-      <svg class="${iconClass}" fill="none" stroke="currentColor" viewBox="0 0 24 24"
-        xmlns="http://www.w3.org/2000/svg">
+      <svg xmlns="http://www.w3.org/2000/svg" class="${iconClass}" fill="none" viewBox="0 0 24 24"
+        stroke="currentColor">
         <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
-          d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4">
-        </path>
+          d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
       </svg>
     </a>
   </div>
   <div>
     <a href="https://emanote.srid.ca" target="_blank" title="Generated by Emanote ${ema:version}">
-      <img class="${iconClass}" src="${ema:emanoteStaticLayerUrl}/emanote-logo.svg" />
+      <img class="${iconClass}" src="${ema:emanoteStaticLayerUrl}/emanote-logo.svg"
+        alt="Emanote logo" />
     </a>
   </div>
   <div>
diff --git a/default/templates/components/note-title.tpl b/default/templates/components/note-title.tpl
--- a/default/templates/components/note-title.tpl
+++ b/default/templates/components/note-title.tpl
@@ -1,6 +1,6 @@
 <h1
   class="flex items-end justify-center mb-4 p-3 bg-${theme}-100 text-5xl font-extrabold text-black rounded">
-  <a class="z-40 tracking-tighter ">
+  <span class="z-40 tracking-tighter ">
     <ema:note:title />
-  </a>
+  </span>
 </h1>
diff --git a/default/templates/components/note-uptree-recurse.tpl b/default/templates/components/note-uptree-recurse.tpl
--- a/default/templates/components/note-uptree-recurse.tpl
+++ b/default/templates/components/note-uptree-recurse.tpl
@@ -1,10 +1,10 @@
 <li>
 
-  <div class="${nodeClass} forest-link">
-    <a href="${node:url}">
+  <a href="${node:url}">
+    <div class="${nodeClass} forest-link">
       <node:text />
-    </a>
-  </div>
+    </div>
+  </a>
 
   <tree:open>
     <ul>
diff --git a/default/templates/components/note-uptree.tpl b/default/templates/components/note-uptree.tpl
--- a/default/templates/components/note-uptree.tpl
+++ b/default/templates/components/note-uptree.tpl
@@ -2,7 +2,7 @@
 <bind tag="nodeClass"><ema:metadata><value var="template.uptree.nodeClass" /></ema:metadata></bind>
 <!-- DoNotFormat -->
 
-<nav id="uptree" class="flipped tree" style="transform-origin: 50%;">
+<nav id="uptree" class="flipped tree font-medium" style="transform-origin: 50%;">
   <ul class="root">
     <li>
       <ema:note:uptree:nonempty>
diff --git a/default/templates/components/pandoc.tpl b/default/templates/components/pandoc.tpl
--- a/default/templates/components/pandoc.tpl
+++ b/default/templates/components/pandoc.tpl
@@ -1,3 +1,23 @@
+<bind tag="clickable-icon">
+  <a href="${ema:note:url}#${header:id}" class="--ema-anchor">
+    <span
+      class="hover:text-${theme}-400 group-hover:visible invisible cursor-pointer text-sm align-middle"
+      aria-label="Copy link"><svg class="inline w-4" xmlns="http://www.w3.org/2000/svg"
+        viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
+        stroke-linecap="round" stroke-linejoin="round">
+        <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path>
+        <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
+      </svg></span>
+  </a>
+</bind>
+
+<bind tag="heading-inlines-with-anchor">
+  <inlines />
+  <clickable-icon />
+</bind>
+
+<bind tag="header-class">group mt-6 mb-4 font-bold text-gray-700</bind>
+
 <ema:note:pandoc>
   <Para>
     <p class="mb-3">
@@ -91,18 +111,40 @@
   </HorizontalRule>
   <!-- TODO: Expand the above kind of overriding (full DOM control) to other AST nodes (below) -->
   <PandocLink class="text-${theme}-600">
-    <Internal class="mavenLinkBold hover:underline" />
+    <Internal class="font-semibold hover:underline" />
     <External class="hover:underline" target="_blank" rel="noopener" />
   </PandocLink>
-  <CodeBlock class="py-0.5 mb-3 text-sm" />
-  <Code class="py-0.5 px-0.5 bg-gray-100" />
-  <Header>
-    <h1 class="pb-2 mb-2 text-5xl font-bold text-center" />
-    <h2 class="mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2" />
-    <h3 class="mt-6 mb-2 text-3xl font-bold text-gray-700" />
-    <h4 class="mt-6 mb-2 text-2xl font-bold text-gray-700" />
-    <h5 class="mt-6 mb-2 text-xl font-bold text-gray-700" />
-    <h6 class="mt-6 mb-2 text-xl font-bold text-gray-700" />
-  </Header>
+  <CodeBlock class="py-0.5 mb-3 text-sm font-mono" />
+  <Code class="py-0.5 px-0.5 bg-gray-100 font-mono" />
 
+  <Header:1>
+    <h1 id="${header:id}" class="${header-class} text-5xl">
+      <heading-inlines-with-anchor />
+    </h1>
+  </Header:1>
+  <Header:2>
+    <h2 id="${header:id}" class="${header-class} text-4xl">
+      <heading-inlines-with-anchor />
+    </h2>
+  </Header:2>
+  <Header:3>
+    <h3 id="${header:id}" class="${header-class} text-3xl">
+      <heading-inlines-with-anchor />
+    </h3>
+  </Header:3>
+  <Header:4>
+    <h4 id="${header:id}" class="${header-class} text-2xl">
+      <heading-inlines-with-anchor />
+    </h4>
+  </Header:4>
+  <Header:5>
+    <h5 id="${header:id}" class="${header-class} text-xl">
+      <heading-inlines-with-anchor />
+    </h5>
+  </Header:5>
+  <Header:6>
+    <h6 id="${header:id}" class="${header-class} text-lg">
+      <heading-inlines-with-anchor />
+    </h6>
+  </Header:6>
 </ema:note:pandoc>
diff --git a/default/templates/components/sidebar-tree.tpl b/default/templates/components/sidebar-tree.tpl
--- a/default/templates/components/sidebar-tree.tpl
+++ b/default/templates/components/sidebar-tree.tpl
@@ -1,32 +1,30 @@
 <!-- Variable bindings for this tree-->
+<bind tag="link-class">hover:bg-${theme}-200</bind>
 <node:active>
-  <bind tag="link-class">font-bold text-${theme}-600 hover:underline</bind>
+  <bind tag="link-class">font-bold bg-${theme}-100 hover:bg-${theme}-200</bind>
   <else />
-  <tree:open>
-    <has-children>
-      <bind tag="link-class">font-bold hover:underline</bind>
-      <else />
-      <bind tag="link-class">hover:underline</bind>
-    </has-children>
-    <else />
-    <bind tag="link-class">hover:underline</bind>
-  </tree:open>
+  <node:activeTree>
+    <has-current-route>
+      <bind tag="link-class">font-bold hover:bg-${theme}-200</bind>
+    </has-current-route>
+  </node:activeTree>
 </node:active>
 
 <has-children>
   <bind tag="icon">
     <tree:open>
-      <svg xmlns="http://www.w3.org/2000/svg" class="${iconSize} inline text-gray-700"
-        viewBox="0 0 20 20" fill="currentColor">
+      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
+        class="${iconSize} inline text-gray-700" fill="currentColor">
         <path fill-rule="evenodd"
-          d="M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z"
+          d="M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25Zm3 10.5a.75.75 0 0 0 0-1.5H9a.75.75 0 0 0 0 1.5h6Z"
           clip-rule="evenodd" />
-        <path d="M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z" />
       </svg>
       <else />
       <svg xmlns="http://www.w3.org/2000/svg" class="${iconSize} inline text-gray-500"
-        viewBox="0 0 20 20" fill="currentColor">
-        <path d="M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z" />
+        viewBox="0 0 24 24" fill="currentColor">
+        <path fill-rule="evenodd"
+          d="M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25ZM12.75 9a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V15a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25V9Z"
+          clip-rule="evenodd" />
       </svg>
     </tree:open>
   </bind>
@@ -54,8 +52,20 @@
 <div class="pl-2">
   <!-- Node's rootLabel-->
   <div class="flex items-center my-2 space-x-2 justify-left">
-    <icon />
-    <a class="${link-class} truncate" title="${node:text}" href="${node:url}">
+    <span>
+      <tree:open>
+        <icon />
+        <else />
+        <has-children>
+          <a href="${node:url}" title="View folgezettel children">
+            <icon />
+          </a>
+          <else />
+          <icon />
+        </has-children>
+      </tree:open>
+    </span>
+    <a class="${link-class} rounded px-1.5 truncate" title="${node:text}" href="${node:url}">
       <node:text />
     </a>
     <tree:open>
diff --git a/default/templates/components/sidebar.tpl b/default/templates/components/sidebar.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/components/sidebar.tpl
@@ -0,0 +1,53 @@
+<nav id="sidebar"
+  class="flex-shrink hidden leading-relaxed md:block md:sticky md:top-0 md:max-h-screen md:overflow-y-auto md:w-48 xl:w-64">
+  <div class="px-2 py-2 text-gray-800">
+    <div id="indexing-links" class="flex flex-row float-right p-2 space-x-2 text-gray-500">
+      <a href="${ema:tagIndexUrl}" title="View tags">
+        <svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none" stroke="currentColor"
+          viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+            d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z">
+          </path>
+        </svg>
+      </a>
+      <a href="${ema:indexUrl}" title="Expand full tree">
+        <svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none" stroke="currentColor"
+          viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+            d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4">
+          </path>
+        </svg>
+      </a>
+      <button title="Search (Ctrl+K)" class="cursor-pointer"
+        onclick="window.emanote.stork.toggleSearch()">
+        <apply template="stork/stork-icon" />
+      </button>
+    </div>
+
+    <div id="site-logo" class="pl-2">
+      <div class="flex items-center my-2 space-x-2 justify-left">
+        <ema:metadata>
+          <with var="template">
+            <a href="${value:baseUrl}" title="Go to Home">
+              <!-- The style width attribute here is to prevent huge
+                      icon from displaying at those rare occasions when Tailwind
+                      hasn't kicked in immediately on page load 
+                      -->
+              <img style="width: 1rem;"
+                class="transition transform hover:scale-110 hover:opacity-80" src="${value:iconUrl}"
+                alt="Site Icon" />
+            </a>
+            <a class="font-bold truncate" title="Go to Home" href="${value:baseUrl}">
+              Home
+            </a>
+          </with>
+        </ema:metadata>
+      </div>
+    </div>
+
+    <ema:route-tree>
+      <apply template="sidebar-tree" />
+    </ema:route-tree>
+
+  </div>
+</nav>
diff --git a/default/templates/components/stork/stork-search-head.tpl b/default/templates/components/stork/stork-search-head.tpl
--- a/default/templates/components/stork/stork-search-head.tpl
+++ b/default/templates/components/stork/stork-search-head.tpl
@@ -1,6 +1,6 @@
 <link rel="stylesheet" href="${ema:emanoteStaticLayerUrl}/stork/flat.css" />
 <!-- Custom Stork-search styling for Emanote -->
-<style>
+<style data-category="stork">
   #stork-search-container {
     z-index: 1000;
     background-color: rgb(15 23 42/.8);
diff --git a/default/templates/components/toc.tpl b/default/templates/components/toc.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/components/toc.tpl
@@ -0,0 +1,73 @@
+<nav id="toc"
+  class="hidden leading-relaxed md:block md:sticky md:top-0 md:max-h-screen md:overflow-y-auto">
+  <div class="text-gray-600 text-sm -mt-2">
+    <ema:note:toc>
+      <Toc>
+        <ul class="ml-2">
+          <toc:entry>
+            <li class="whitespace-nowrap truncate mt-2" title="${toc:title}">
+              <a href="${ema:note:url}#${toc:anchor}"
+                class="--ema-toc bg-${theme}-200 rounded-md p-0.5">
+                <toc:title />
+              </a>
+              <toc:childs />
+            </li>
+          </toc:entry>
+        </ul>
+      </Toc>
+    </ema:note:toc>
+  </div>
+  <script>
+    // Highlight the TOC, based from https://stackoverflow.com/a/75346369
+    // TODO: We should get rid of JavaScript! See https://github.com/srid/emanote/issues/520
+    function highlightTOC() {
+      // Grab the toc links
+      const links = document.querySelectorAll("ul > li > a.--ema-toc");
+
+      // Find the matching anchors in the document body
+      const sections = [];
+      links.forEach((link) => {
+        let found = {};
+        for (section of document.querySelectorAll("a.--ema-anchor")) {
+          if (link.href == section.href) {
+            found = section;
+            break;
+          }
+        }
+        sections.push(found);
+      });
+
+      // Current toc link is marked with the following class
+      const mark = "toc-item-active";
+
+      // Set window scroll handler to update the toc mark.
+      window.onscroll = () => {
+        // Remove previous mark
+        links.forEach((link) => {
+          link.classList.remove(mark);
+        });
+
+        // Mark the link of the section that is in view, starting from the end
+        let marked = false;
+        for (var i = sections.length - 1; i >= 0; i--) {
+          if (window.scrollY > sections[i].offsetTop - 80) {
+            links[i].classList.add(mark);
+            marked = true;
+            break;
+          }
+        }
+
+        // Special case for the first and last section which might not reach the top
+        if (!marked && window.scrollY > 0) {
+          let i = 0;
+          if ((window.innerHeight + Math.round(window.scrollY)) >= document.body.offsetHeight) {
+            // We are at the bottom
+            i = links.length - 1
+          }
+          links[i].classList.add(mark);
+        }
+      };
+    }
+    highlightTOC();
+  </script>
+</nav>
diff --git a/default/templates/error.tpl b/default/templates/error.tpl
--- a/default/templates/error.tpl
+++ b/default/templates/error.tpl
@@ -11,9 +11,9 @@
             <main class="px-4 py-4 bg-red-100">
               <h1
                 class="flex items-end justify-center mb-4 p-3 bg-red-500 text-5xl font-extrabold text-gray-100 rounded">
-                <a class="z-40 tracking-tighter ">
+                <span class="z-40 tracking-tighter ">
                   <ema:note:title />
-                </a>
+                </span>
               </h1>
               <div class="flex items-center justify-center font-bold text-lg">
                 Your notebook has an issue.
@@ -22,9 +22,14 @@
                 <apply template="/templates/components/pandoc" />
               </div>
               <div class="flex items-center justify-center text-xl">
-                <div>Fix it (this page will reload), or <a class="font-bold underline" href="/">go
-                    to /</a>.
-                </div>
+                <ema:metadata>
+                  <with var="template">
+                    <div>Fix it (this page will reload), or <a class="font-bold underline"
+                        href="${value:baseUrl}">go
+                        to /</a>.
+                    </div>
+                  </with>
+                </ema:metadata>
               </div>
               <div class="transform scale-95 opacity-50 hover:opacity-100">
                 <apply template="components/timeline" />
diff --git a/default/templates/filters/callout/_base.tpl b/default/templates/filters/callout/_base.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/filters/callout/_base.tpl
@@ -0,0 +1,21 @@
+<div data-callout-metadata="" data-callout-fold="" data-callout="${callout:type}"
+  class="callout bg-opacity-10 bg-[#f5f5f5] p-4 pt-4 pb-2 rounded-lg mb-4" role="note"
+  style="background-color: ${color}20">
+  <path
+    d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z">
+  </path>
+  <div class="callout-title flex items-center mb-2 font-bold" style="color: ${color}">
+    <div class="callout-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+        stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-5 h-5">
+        <icon />
+      </svg>
+    </div>
+    <div class="ml-2">
+      <callout:title />
+    </div>
+  </div>
+  <div class="callout-content">
+    <callout:body />
+  </div>
+</div>
diff --git a/default/templates/filters/callout/failure.tpl b/default/templates/filters/callout/failure.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/filters/callout/failure.tpl
@@ -0,0 +1,7 @@
+<apply template="/templates/filters/callout/_base">
+  <bind tag="color">#E93147</bind>
+  <bind tag="icon">
+    <line x1="18" y1="6" x2="6" y2="18"></line>
+    <line x1="6" y1="6" x2="18" y2="18"></line>
+  </bind>
+</apply>
diff --git a/default/templates/filters/callout/info.tpl b/default/templates/filters/callout/info.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/filters/callout/info.tpl
@@ -0,0 +1,8 @@
+<apply template="/templates/filters/callout/_base">
+  <bind tag="color">#086DD3</bind>
+  <bind tag="icon">
+    <circle cx="12" cy="12" r="10"></circle>
+    <line x1="12" y1="16" x2="12" y2="12"></line>
+    <line x1="12" y1="8" x2="12.01" y2="8"></line>
+  </bind>
+</apply>
diff --git a/default/templates/filters/callout/note.tpl b/default/templates/filters/callout/note.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/filters/callout/note.tpl
@@ -0,0 +1,7 @@
+<apply template="/templates/filters/callout/_base">
+  <bind tag="color">#086DD3</bind>
+  <bind tag="icon">
+    <line x1="18" y1="2" x2="22" y2="6"></line>
+    <path d="M7.5 20.5 19 9l-4-4L3.5 16.5 2 22z"></path>
+  </bind>
+</apply>
diff --git a/default/templates/filters/callout/quote.tpl b/default/templates/filters/callout/quote.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/filters/callout/quote.tpl
@@ -0,0 +1,11 @@
+<apply template="/templates/filters/callout/_base">
+  <bind tag="color">#9E9E9E</bind>
+  <bind tag="icon">
+    <path
+      d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z">
+    </path>
+    <path
+      d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z">
+    </path>
+  </bind>
+</apply>
diff --git a/default/templates/filters/callout/tip.tpl b/default/templates/filters/callout/tip.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/filters/callout/tip.tpl
@@ -0,0 +1,8 @@
+<apply template="/templates/filters/callout/_base">
+  <bind tag="color">#08BFBC</bind>
+  <bind tag="icon">
+    <path
+      d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z">
+    </path>
+  </bind>
+</apply>
diff --git a/default/templates/filters/callout/warning.tpl b/default/templates/filters/callout/warning.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/filters/callout/warning.tpl
@@ -0,0 +1,8 @@
+<apply template="/templates/filters/callout/_base">
+  <bind tag="color">#EC7500</bind>
+  <bind tag="icon">
+    <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path>
+    <line x1="12" y1="9" x2="12" y2="13"></line>
+    <line x1="12" y1="17" x2="12.01" y2="17"></line>
+  </bind>
+</apply>
diff --git a/default/templates/filters/query-default.tpl b/default/templates/filters/query-default.tpl
--- a/default/templates/filters/query-default.tpl
+++ b/default/templates/filters/query-default.tpl
@@ -11,7 +11,7 @@
               <span data-nosnippet class="mr-2 text-right text-gray-600">
               </span>
             </ema:note:metadata>
-            <a class="flex-1 text-${theme}-600 mavenLinkBold border-l-2 pl-2 hover:underline"
+            <a class="flex-1 text-${theme}-600 font-semibold border-l-2 pl-2 hover:underline"
               href="${ema:note:url}">
               <ema:note:title />
             </a>
diff --git a/default/templates/filters/query-timeline.tpl b/default/templates/filters/query-timeline.tpl
--- a/default/templates/filters/query-timeline.tpl
+++ b/default/templates/filters/query-timeline.tpl
@@ -13,7 +13,7 @@
                 <value var="date" />
               </span>
             </ema:note:metadata>
-            <a class="flex-1 text-${theme}-600 mavenLinkBold border-l-2 pl-2 hover:underline"
+            <a class="flex-1 text-${theme}-600 font-semibold border-l-2 pl-2 hover:underline"
               href="${ema:note:url}">
               <ema:note:title />
             </a>
diff --git a/default/templates/hooks/more-head.tpl b/default/templates/hooks/more-head.tpl
--- a/default/templates/hooks/more-head.tpl
+++ b/default/templates/hooks/more-head.tpl
@@ -1,49 +1,1 @@
 <!-- What goes in this file will appear on near the end of <head>-->
-<link rel="preload"
-  href="${ema:emanoteStaticLayerUrl}/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf" as="font"
-  type="font/ttf" crossorigin>
-
-<style>
-  @font-face {
-    font-family: 'WorkSans';
-    /* FIXME: This ought to be: ${ema:emanoteStaticLayerUrl}/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf */
-    src: url(_emanote-static/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf) format("truetype");
-    font-display: swap;
-  }
-
-  body {
-    font-family: 'WorkSans', sans-serif;
-    font-variation-settings: 'wght' 350;
-  }
-
-  a.mavenLinkBold {
-    font-variation-settings: 'wght' 400;
-  }
-
-  strong {
-    font-variation-settings: 'wght' 500;
-  }
-
-  h1,
-  h2,
-  h3,
-  h4,
-  h5,
-  h6,
-  header,
-  .header-font {
-    font-family: 'WorkSans', sans-serif;
-  }
-
-  h1 {
-    font-variation-settings: 'wght' 500;
-  }
-
-  h2 {
-    font-variation-settings: 'wght' 400;
-  }
-
-  h3 {
-    font-variation-settings: 'wght' 300;
-  }
-</style>
diff --git a/default/templates/layouts/book.tpl b/default/templates/layouts/book.tpl
deleted file mode 100644
--- a/default/templates/layouts/book.tpl
+++ /dev/null
@@ -1,82 +0,0 @@
-<apply template="base">
-  <bind tag="head-main"></bind>
-  <bind tag="body-main">
-    <div class="container mx-auto">
-
-      <apply template="components/breadcrumbs" />
-
-      <div id="container"
-        class="flex flex-nowrap flex-col md:flex-row bg-gray-50 md:mt-8 md:shadow-2xl md:mb-8">
-        <!-- Sidebar column -->
-        <nav id="sidebar"
-          class="flex-shrink hidden leading-relaxed md:block md:sticky md:top-0 md:h-full md:w-48 xl:w-64">
-          <div class="px-2 py-2 text-gray-800">
-            <div id="indexing-links" class="flex flex-row float-right p-2 space-x-2 text-gray-500">
-              <a href="${ema:tagIndexUrl}" title="View tags">
-                <svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none"
-                  stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
-                  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
-                    d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z">
-                  </path>
-                </svg>
-              </a>
-              <a href="${ema:indexUrl}" title="Expand full tree">
-                <svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none"
-                  stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
-                  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
-                    d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4">
-                  </path>
-                </svg>
-              </a>
-              <a title="Search (Ctrl+K)" class="cursor-pointer"
-                onclick="window.emanote.stork.toggleSearch()">
-                <apply template="components/stork/stork-icon" />
-              </a>
-            </div>
-
-            <div id="site-logo" class="pl-2">
-              <div class="flex items-center my-2 space-x-2 justify-left">
-                <a href="${ema:homeUrl}" title="Go to Home">
-                  <ema:metadata>
-                    <with var="template">
-                      <!-- The style width attribute here is to prevent huge
-                      icon from displaying at those rare occasions when Tailwind
-                      hasn't kicked in immediately on page load 
-                      -->
-                      <img style="width: 1rem;"
-                        class="transition transform hover:scale-110 hover:opacity-80"
-                        src="${value:iconUrl}" />
-                    </with>
-                  </ema:metadata>
-                </a>
-                <a class="font-bold truncate" title="Go to Home" href="${ema:homeUrl}">
-                  Home
-                </a>
-              </div>
-            </div>
-
-            <ema:route-tree>
-              <apply template="components/sidebar-tree" />
-            </ema:route-tree>
-
-          </div>
-        </nav>
-
-        <!-- Main body column -->
-        <div class="flex-1 w-full overflow-x-auto bg-white">
-          <main class="px-4 py-4">
-            <apply template="components/note-title" />
-            <apply template="components/note-body" />
-            <div class="flex flex-col lg:flex-row lg:space-x-2">
-              <apply template="components/timeline" />
-              <apply template="components/backlinks" />
-            </div>
-            <apply template="components/metadata" />
-            <apply template="/templates/hooks/note-end" />
-          </main>
-        </div>
-      </div>
-      <apply template="components/footer" />
-    </div>
-  </bind>
-</apply>
diff --git a/default/templates/layouts/default.tpl b/default/templates/layouts/default.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/layouts/default.tpl
@@ -0,0 +1,66 @@
+<!-- DoNotFormat -->
+<bind tag="containerClass"><ema:metadata><value var="template.base.containerClass" /></ema:metadata> <ema:has:sidebar>md:mt-8 <else/>mt-2 <ema:has:uptree>md:mt-4 <else/> md:mt-8 </ema:has:uptree> </ema:has:sidebar></bind>
+<!-- DoNotFormat -->
+
+<bind tag="storkSearchButtonTopRight">
+  <div class="absolute -top-6 right-1 md:right-0 flex flex-row items-center justify-center">
+    <button title="Search (Ctrl+K)" class="cursor-pointer" onclick="window.emanote.stork.toggleSearch()">
+      <apply template="components/stork/stork-icon" />
+    </button>
+  </div>
+</bind>
+
+
+<apply template="base">
+  <bind tag="head-main">
+    <style>
+      /* For use in sidebar.tpl, as we cannot achieve this in tailwind itself! */
+      /* md:min-w-48  */
+      @media (min-width: 768px) {
+        #sidebar {
+          min-width: 12rem;
+        }
+      }
+
+      /* xl:min-w-64  */
+      @media (min-width: 1280px) {
+        #sidebar {
+          min-width: 16rem;
+        }
+      }
+    </style>
+
+    <ema:has:uptree>
+      <link rel="stylesheet" href="${ema:emanoteStaticLayerUrl}/inverted-tree.css" />
+    </ema:has:uptree>
+  </bind>
+
+  <bind tag="body-main">
+    <div class="${containerClass}">
+      <ema:has:uptree>
+        <apply template="components/note-uptree" />
+      </ema:has:uptree>
+
+      <ema:has:breadcrumbs>
+        <apply template="components/breadcrumbs" />
+      </ema:has:breadcrumbs>
+
+      <ema:has:sidebar>
+        <div id="container"
+          class="flex flex-nowrap flex-col md:flex-row bg-gray-50 md:shadow-2xl md:mb-8">
+          <!-- Sidebar column -->
+          <apply template="components/sidebar" />
+          <!-- Main body column -->
+          <apply template="components/body" />
+        </div>
+        <else />
+        <div id="container" class="relative md:shadow-2xl md:mb-8">
+          <storkSearchButtonTopRight />
+          <!-- Main body column -->
+          <apply template="components/body" />
+        </div>
+      </ema:has:sidebar>
+      <apply template="components/footer" />
+    </div>
+  </bind>
+</apply>
diff --git a/default/templates/layouts/note.tpl b/default/templates/layouts/note.tpl
deleted file mode 100644
--- a/default/templates/layouts/note.tpl
+++ /dev/null
@@ -1,41 +0,0 @@
-<!-- TODO: Main navigation links (Home, index, tags, ...) -->
-
-<!-- DoNotFormat -->
-<bind tag="containerClass"><ema:metadata><value var="template.layout.note.containerClass" /></ema:metadata></bind>
-<!-- DoNotFormat -->
-
-<apply template="base">
-  <bind tag="head-main">
-    <link rel="stylesheet" href="${ema:emanoteStaticLayerUrl}/inverted-tree.css" />
-  </bind>
-  <bind tag="body-main">
-    <div class="${containerClass}">
-      <div class="mt-2 md:mt-4">
-        <apply template="components/note-uptree" />
-
-        <div class="relative md:shadow-2xl md:mb-8">
-
-          <div class="absolute -top-6 right-1 md:right-0 flex flex-row items-center justify-center">
-            <a title="Search (Ctrl+K)" class="cursor-pointer"
-              onclick="window.emanote.stork.toggleSearch()">
-              <apply template="components/stork/stork-icon" />
-            </a>
-          </div>
-          <div class="flex-1 w-full overflow-x-auto bg-white">
-            <main class="px-4 py-4">
-              <apply template="components/note-title" />
-              <apply template="components/note-body" />
-              <div class="flex flex-col lg:flex-row lg:space-x-2">
-                <apply template="components/timeline" />
-                <apply template="components/backlinks" />
-              </div>
-              <apply template="components/metadata" />
-              <apply template="/templates/hooks/note-end" />
-            </main>
-          </div>
-        </div>
-        <apply template="components/footer" />
-      </div>
-    </div>
-  </bind>
-</apply>
diff --git a/default/templates/special/tagindex.tpl b/default/templates/special/tagindex.tpl
--- a/default/templates/special/tagindex.tpl
+++ b/default/templates/special/tagindex.tpl
@@ -8,7 +8,7 @@
               <ema:tagcrumbs>
                 <ema:each-crumb>
                   <li class="inline-flex items-center">
-                    <a class="px-1 font-mono font-semibold text-${theme}-600 "
+                    <a class="px-1 font-mono font-semibold text-${theme}-600"
                       href="${ema:tagcrumb:url}">
                       <ema:tagcrumb:title />
                     </a>
@@ -21,9 +21,9 @@
                 </ema:each-crumb>
               </ema:tagcrumbs>
               <li class="inline-flex items-center text-black">
-                <a class="px-1 font-mono">
+                <span class="px-1 font-mono">
                   <ema:tag:title />
-                </a>
+                </span>
               </li>
             </ul>
           </div>
diff --git a/default/templates/styles.tpl b/default/templates/styles.tpl
new file mode 100644
--- /dev/null
+++ b/default/templates/styles.tpl
@@ -0,0 +1,94 @@
+<link rel="stylesheet" href="${ema:emanoteStaticLayerUrl}/fonts/maven-pro.css" />
+
+<style data-category="global-font">
+  /* Maven Pro font for the entire site */
+  body {
+    font-family: 'Maven Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
+  }
+</style>
+
+<style data-category="error">
+  /* Heist error element */
+  strong.error {
+    color: lightcoral;
+    font-size: 90%;
+    font-family: monospace;
+  }
+</style>
+
+<style data-category="kbd">
+  /* <kbd> styling */
+  kbd {
+    background-color: #eee;
+    border-radius: 3px;
+    border: 1px solid #b4b4b4;
+    box-shadow:
+      0 1px 1px rgba(0, 0, 0, 0.2),
+      0 2px 0 0 rgba(255, 255, 255, 0.7) inset;
+    display: inline-block;
+    line-height: 1;
+    padding: 2px 4px;
+    white-space: nowrap;
+  }
+</style>
+
+<style data-category="callout">
+  /* To prevent overemphasis of link styles in callout titles */
+  .callout .callout-title a {
+    color: inherit;
+    text-decoration: underline;
+  }
+</style>
+
+<style data-category="toc">
+  a.--ema-toc:not(.toc-item-active) {
+    background-color: #ffffff !important;
+  }
+</style>
+
+<style data-category="external-link">
+  /* External link icon */
+  a[data-linkicon=""]::after {
+    content: ""
+  }
+
+  a[data-linkicon=none]::after {
+    content: ""
+  }
+
+  a[data-linkicon="external"] {
+    padding-right: 24px;
+  }
+
+  a[data-linkicon="external"]::after {
+    margin-right: -24px;
+    content: url('data:image/svg+xml,\
+      <svg xmlns="http://www.w3.org/2000/svg" height="0.7em" viewBox="0 0 20 20"> \
+        <g style="stroke:gray;stroke-width:1"> \
+          <line x1="5" y1="5" x2="5" y2="14" /> \
+          <line x1="14" y1="9" x2="14" y2="14" /> \
+          <line x1="5" y1="14" x2="14" y2="14" /> \
+          <line x1="5" y1="5" x2="9" y2="5"  /> \
+          <line x1="10" y1="2" x2="17" y2="2"  /> \
+          <line x1="17" y1="2" x2="17" y2="9" /> \
+          <line x1="10" y1="9" x2="17" y2="2" style="stroke-width:1.0" /> \
+        </g> \
+      </svg>');
+  }
+
+  a[data-linkicon="external"][href^="mailto:"]::after {
+    content: url('data:image/svg+xml,\
+        <svg \
+          xmlns="http://www.w3.org/2000/svg" \
+          height="0.7em" \
+          fill="none" \
+          viewBox="0 0 24 24" \
+          stroke="gray" \
+          stroke-width="2"> \
+          <path \
+            stroke-linecap="round" \
+            stroke-linejoin="round" \
+            d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" /> \
+        </svg>');
+  }
+</style>
diff --git a/emanote.cabal b/emanote.cabal
--- a/emanote.cabal
+++ b/emanote.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               emanote
-version:            1.2.0.0
+version:            1.4.0.0
 license:            AGPL-3.0-only
 copyright:          2022 Sridhar Ratnakumar
 maintainer:         srid@srid.ca
@@ -20,10 +20,11 @@
 
 data-dir:           default
 data-files:
-  _emanote-live-server/**/*.css
-  _emanote-static/**/*.ttf
+  _emanote-live-server/**/*.js
   _emanote-static/*.css
   _emanote-static/*.svg
+  _emanote-static/fonts/*.css
+  _emanote-static/fonts/*.ttf
   _emanote-static/stork/flat.css
   _emanote-static/stork/stork.js
   _emanote-static/stork/stork.js.map
@@ -43,8 +44,6 @@
     -fprint-explicit-foralls -fprint-explicit-kinds
 
   default-extensions:
-    NoImplicitPrelude
-    NoStarIsType
     BangPatterns
     ConstraintKinds
     DataKinds
@@ -70,6 +69,8 @@
     LambdaCase
     MultiParamTypeClasses
     MultiWayIf
+    NoImplicitPrelude
+    NoStarIsType
     NumericUnderscores
     OverloadedStrings
     PolyKinds
@@ -97,14 +98,14 @@
     , base                   >=4.14    && <5
     , blaze-html
     , bytestring
+    , casing
     , commonmark
     , commonmark-extensions  >=0.2.3.4
     , commonmark-pandoc
-    , commonmark-simple
-    , commonmark-wikilink
+    , commonmark-simple      >=0.2
+    , commonmark-wikilink    >=0.2
     , containers
     , data-default
-    , dependent-sum
     , deriving-aeson
     , directory
     , ema                    >=0.10.1
@@ -114,11 +115,10 @@
     , fsnotify
     , hedgehog
     , heist                  >=1.1.1.0
-    , heist-extra            >=0.2.0.0
+    , heist-extra            >=0.4.0.0
     , hspec
     , hspec-hedgehog
     , ixset-typed            >=0.5.1.0
-    , lvar
     , map-syntax
     , megaparsec
     , monad-logger
@@ -133,12 +133,10 @@
     , pandoc-lua-engine
     , pandoc-types
     , parsec
-    , path-tree              >=0.2
     , process-extras
     , profunctors
     , relude                 >=1.0
     , shower
-    , some
     , stm
     , tagged
     , tagtree
@@ -146,7 +144,7 @@
     , text
     , time
     , tomland
-    , unionmount             >=0.2
+    , unionmount             >=0.3
     , unliftio
     , unordered-containers
     , uri-encode
@@ -165,6 +163,7 @@
     Emanote.CLI
     Emanote.Model
     Emanote.Model.Calendar
+    Emanote.Model.Calendar.Parser
     Emanote.Model.Graph
     Emanote.Model.Link.Rel
     Emanote.Model.Link.Resolve
@@ -178,6 +177,7 @@
     Emanote.Model.Stork.Index
     Emanote.Model.Task
     Emanote.Model.Title
+    Emanote.Model.Toc
     Emanote.Model.Type
     Emanote.Pandoc.BuiltinFilters
     Emanote.Pandoc.ExternalLink
@@ -186,6 +186,7 @@
     Emanote.Pandoc.Markdown.Syntax.HashTag
     Emanote.Pandoc.Markdown.Syntax.Highlight
     Emanote.Pandoc.Renderer
+    Emanote.Pandoc.Renderer.Callout
     Emanote.Pandoc.Renderer.Embed
     Emanote.Pandoc.Renderer.Query
     Emanote.Pandoc.Renderer.Url
@@ -204,6 +205,8 @@
     Emanote.View
     Emanote.View.Common
     Emanote.View.Export
+    Emanote.View.Export.Content
+    Emanote.View.Export.JSON
     Emanote.View.Feed
     Emanote.View.LiveServerFiles
     Emanote.View.TagIndex
@@ -243,4 +246,7 @@
     other-modules:
       Emanote.Model.Link.RelSpec
       Emanote.Model.QuerySpec
+      Emanote.Model.TocSpec
       Emanote.Pandoc.ExternalLinkSpec
+      Emanote.Pandoc.Renderer.CalloutSpec
+      Emanote.Route.RSpec
diff --git a/src/Emanote.hs b/src/Emanote.hs
--- a/src/Emanote.hs
+++ b/src/Emanote.hs
@@ -10,22 +10,24 @@
 import Control.Monad.Logger.Extras (Logger (Logger), logToStderr, runLoggerLoggingT)
 import Control.Monad.Writer.Strict (MonadWriter (tell), WriterT (runWriterT))
 import Data.Default (def)
-import Data.Dependent.Sum (DSum ((:=>)))
 import Data.Map.Strict qualified as Map
 import Ema (
   EmaSite (..),
   IsRoute (..),
+  SiteConfig (SiteConfig),
   fromPrism_,
-  runSiteWithCli,
+  runSiteWith,
   toPrism_,
  )
 import Ema.CLI qualified
 import Ema.Dynamic (Dynamic (Dynamic))
 import Emanote.CLI qualified as CLI
+import Emanote.Model.Graph qualified as G
 import Emanote.Model.Link.Rel (ResolvedRelTarget (..))
 import Emanote.Model.Type (modelCompileTailwind)
 import Emanote.Model.Type qualified as Model
 import Emanote.Pandoc.Renderer
+import Emanote.Pandoc.Renderer.Callout qualified as PF
 import Emanote.Pandoc.Renderer.Embed qualified as PF
 import Emanote.Pandoc.Renderer.Query qualified as PF
 import Emanote.Pandoc.Renderer.Url qualified as PF
@@ -36,6 +38,7 @@
 import Emanote.Source.Dynamic (EmanoteConfig (..), emanoteSiteInput)
 import Emanote.View.Common (generatedCssFile)
 import Emanote.View.Export qualified as Export
+import Emanote.View.Export.JSON qualified as ExportJSON
 import Emanote.View.Template qualified as View
 import Optics.Core ((%), (.~), (^.))
 import Relude
@@ -50,9 +53,18 @@
 
 instance EmaSite SiteRoute where
   type SiteArg SiteRoute = EmanoteConfig
-  siteInput = emanoteSiteInput
+  siteInput cliAct cfg = do
+    model <- emanoteSiteInput cliAct cfg
+    pure $ model <&> modelUpdateCachedFields
   siteOutput = View.emanoteSiteOutput
 
+-- | Populate model fields that needs to be computed once per update.
+modelUpdateCachedFields :: Model.ModelEma -> Model.ModelEma
+modelUpdateCachedFields model =
+  model
+    & Model.modelFolgezettelTree
+    .~ G.folgezettelTreesFrom (unModelEma model) (Model.modelIndexRoute model)
+
 defaultEmanoteConfig :: CLI.Cli -> EmanoteConfig
 defaultEmanoteConfig cli =
   EmanoteConfig cli id defaultEmanotePandocRenderers False
@@ -60,14 +72,16 @@
 run :: EmanoteConfig -> IO ()
 run cfg@EmanoteConfig {..} = do
   case CLI.cmd _emanoteConfigCli of
-    CLI.Cmd_Ema emaCli ->
-      Ema.runSiteWithCli @SiteRoute emaCli cfg
+    CLI.Cmd_Ema emaCli -> do
+      let emaCfg = SiteConfig emaCli def
+      Ema.runSiteWith @SiteRoute emaCfg cfg
         >>= postRun cfg
-    CLI.Cmd_Export -> do
+    CLI.Cmd_Export exportFormat -> do
       Dynamic (unModelEma -> model0, _) <-
-        flip runLoggerLoggingT oneOffLogger $
-          siteInput @SiteRoute (Ema.CLI.action def) cfg
-      putLBSLn $ Export.renderGraphExport model0
+        flip runLoggerLoggingT oneOffLogger
+          $ siteInput @SiteRoute (Ema.CLI.action def) cfg
+      content <- Export.renderExport exportFormat model0
+      putLBSLn content
   where
     -- A logger suited for running one-off commands.
     oneOffLogger =
@@ -80,15 +94,12 @@
             then f loc src level msg
             else pass
 
-postRun :: EmanoteConfig -> (Model.ModelEma, DSum Ema.CLI.Action Identity) -> IO ()
-postRun EmanoteConfig {..} = \case
-  (unModelEma -> model0, Ema.CLI.Generate outPath :=> Identity genPaths) -> do
-    when (model0 ^. modelCompileTailwind) $
-      compileTailwindCss (outPath </> generatedCssFile) genPaths
-    checkBrokenLinks _emanoteConfigCli $ Export.modelRels model0
-    checkBadMarkdownFiles $ Model.modelNoteErrors model0
-  _ ->
-    pass
+postRun :: EmanoteConfig -> (Model.ModelEma, (FilePath, [FilePath])) -> IO ()
+postRun EmanoteConfig {..} (unModelEma -> model0, (outPath, genPaths)) = do
+  when (model0 ^. modelCompileTailwind)
+    $ compileTailwindCss (outPath </> generatedCssFile) genPaths
+  checkBrokenLinks _emanoteConfigCli $ ExportJSON.modelRels model0
+  checkBadMarkdownFiles $ Model.modelNoteErrors model0
 
 unModelEma :: Model.ModelEma -> Model.Model
 unModelEma m = Model.withRoutePrism (fromPrism_ $ routePrism @SiteRoute m) m
@@ -103,11 +114,12 @@
     logE "Errors found."
     exitFailure
 
-checkBrokenLinks :: CLI.Cli -> Map LMLRoute [Export.Link] -> IO ()
+checkBrokenLinks :: CLI.Cli -> Map LMLRoute [ExportJSON.Link] -> IO ()
 checkBrokenLinks cli modelRels = runStderrLoggingT $ do
-  ((), res :: Sum Int) <- runWriterT $
-    forM_ (Map.toList modelRels) $ \(noteRoute, rels) ->
-      forM_ (sortNub rels) $ \(Export.Link urt rrt) ->
+  ((), res :: Sum Int) <- runWriterT
+    $ forM_ (Map.toList modelRels)
+    $ \(noteRoute, rels) ->
+      forM_ (sortNub rels) $ \(ExportJSON.Link urt rrt) ->
         case rrt of
           RRTFound _ -> pass
           RRTMissing -> do
@@ -119,20 +131,24 @@
   if res == 0
     then do
       log "No broken links detected."
-    else unless (CLI.allowBrokenLinks cli) $ do
-      logE $ "Found " <> show (getSum res) <> " broken links! Emanote generated the site, but the generated site has broken links."
-      log "(Tip: use `--allow-broken-links` to ignore this check.)"
+    else unless (CLI.allowBrokenInternalLinks cli) $ do
+      logE $ "Found " <> show (getSum res) <> " broken internal links! Emanote generated the site, but the generated site has broken internal links."
+      log "(Tip: use `--allow-broken-internal-links` to ignore this check.)"
       exitFailure
 
 compileTailwindCss :: (MonadUnliftIO m) => FilePath -> [FilePath] -> m ()
 compileTailwindCss cssPath genPaths = do
   runStdoutLoggingT $ do
     log $ "Running Tailwind CSS v3 compiler to generate: " <> toText cssPath
-    Tailwind.runTailwind $
-      def
-        & Tailwind.tailwindConfig % Tailwind.tailwindConfigContent .~ genPaths
-        & Tailwind.tailwindOutput .~ cssPath
-        & Tailwind.tailwindMode .~ Tailwind.Production
+    Tailwind.runTailwind
+      $ def
+      & Tailwind.tailwindConfig
+      % Tailwind.tailwindConfigContent
+      .~ genPaths
+      & Tailwind.tailwindOutput
+      .~ cssPath
+      & Tailwind.tailwindMode
+      .~ Tailwind.Production
 
 defaultEmanotePandocRenderers :: EmanotePandocRenderers Model.Model LMLRoute
 defaultEmanotePandocRenderers =
@@ -144,6 +160,7 @@
           [ PF.embedBlockWikiLinkResolvingSplice
           , PF.embedBlockRegularLinkResolvingSplice
           , PF.queryResolvingSplice
+          , PF.calloutResolvingSplice
           ]
       inlineRenderers =
         PandocRenderers
diff --git a/src/Emanote/CLI.hs b/src/Emanote/CLI.hs
--- a/src/Emanote/CLI.hs
+++ b/src/Emanote/CLI.hs
@@ -3,6 +3,7 @@
 
 module Emanote.CLI (
   Cli (..),
+  Layer (..),
   Cmd (..),
   parseCli,
   cliParser,
@@ -11,43 +12,68 @@
 import Data.Text qualified as T
 import Data.Version (showVersion)
 import Ema.CLI qualified
+import Emanote.Route.SiteRoute.Type (ExportFormat (..))
 import Options.Applicative hiding (action)
 import Paths_emanote qualified
 import Relude
 import UnliftIO.Directory (getCurrentDirectory)
 
 data Cli = Cli
-  { layers :: NonEmpty FilePath
-  , allowBrokenLinks :: Bool
+  { layers :: NonEmpty Layer
+  , allowBrokenInternalLinks :: Bool
   , cmd :: Cmd
   }
 
+data Layer = Layer
+  { path :: FilePath
+  , mountPoint :: Maybe FilePath
+  }
+
 data Cmd
   = Cmd_Ema Ema.CLI.Cli
-  | Cmd_Export
+  | Cmd_Export ExportFormat
 
+exportParser :: Parser Cmd
+exportParser = do
+  exportCmd <-
+    subparser
+      ( command "metadata" (info (pure ExportFormat_Metadata) (progDesc "Export metadata JSON"))
+          <> command "content" (info contentParser (progDesc "Export all notes to single Markdown file to stdout (uses baseUrl from notebook config)"))
+      )
+  pure $ Cmd_Export exportCmd
+  where
+    contentParser :: Parser ExportFormat
+    contentParser = pure ExportFormat_Content
+
 cliParser :: FilePath -> Parser Cli
 cliParser cwd = do
-  layers <- pathList (one cwd)
-  allowBrokenLinks <- switch (long "allow-broken-links" <> help "Report but do not fail on broken links")
+  layers <- layerList $ one $ Layer cwd Nothing
+  allowBrokenInternalLinks <- switch (long "allow-broken-internal-links" <> help "Report but do not fail on broken internal links")
   cmd <-
     fmap Cmd_Ema Ema.CLI.cliParser
-      <|> subparser (command "export" (info (pure Cmd_Export) (progDesc "Export metadata JSON")))
+      <|> subparser (command "export" (info exportParser (progDesc "Export commands")))
   pure Cli {..}
   where
-    pathList defaultPath = do
-      option pathListReader $
-        mconcat
+    layerList defaultPath = do
+      option layerListReader
+        $ mconcat
           [ long "layers"
           , short 'L'
           , metavar "LAYERS"
           , value defaultPath
           , help "List of (semicolon delimited) notebook folders to 'union mount', with the left-side folders being overlaid on top of the right-side ones. The default layer is implicitly included at the end of this list."
           ]
-    pathListReader :: ReadM (NonEmpty FilePath)
-    pathListReader =
+    layerListReader :: ReadM (NonEmpty Layer)
+    layerListReader = do
+      let partition s =
+            T.breakOn "@" s
+              & second (\x -> if T.null s then Nothing else Just $ T.drop 1 x)
       maybeReader $ \paths ->
-        nonEmpty $ fmap toString $ T.split (== ';') . toText $ paths
+        nonEmpty
+          $ fmap (uncurry Layer . bimap toString (fmap toString) . partition)
+          $ T.split (== ';')
+          . toText
+          $ paths
 
 parseCli' :: FilePath -> ParserInfo Cli
 parseCli' cwd =
diff --git a/src/Emanote/Model/Calendar.hs b/src/Emanote/Model/Calendar.hs
--- a/src/Emanote/Model/Calendar.hs
+++ b/src/Emanote/Model/Calendar.hs
@@ -1,17 +1,14 @@
 {- | A primitive module to eventually pave way towards first-class "calendar"
- (daily notes, etc.) support in Emanote; either built-in or as plugin.
+(daily notes, etc.) support in Emanote; either built-in or as plugin.
 -}
 module Emanote.Model.Calendar where
 
-import Data.Time.Calendar (Day, fromGregorianValid)
+import Emanote.Model.Calendar.Parser (parseRouteDay)
 import Emanote.Model.Note qualified as N
 import Emanote.Model.Title (Title)
 import Emanote.Model.Type (Model, modelLookupTitle)
 import Emanote.Route (LMLRoute)
-import Emanote.Route qualified as R
 import Relude
-import Text.Megaparsec qualified as M
-import Text.Megaparsec.Char qualified as M
 
 -- HACK: This is so that calendar backlinks are sorted properly.
 backlinkSortKey :: Model -> LMLRoute -> Down Title
@@ -27,26 +24,3 @@
 isDailyNote :: LMLRoute -> Bool
 isDailyNote =
   isJust . parseRouteDay
-
-parseRouteDay :: LMLRoute -> Maybe Day
-parseRouteDay =
-  M.parseMaybe parse . R.withLmlRoute R.routeBaseName
-  where
-    parse :: M.Parsec Void Text Day
-    parse = do
-      let asInt = maybe (fail "Not an int") pure . readMaybe
-      -- Year
-      year <- asInt =<< replicateM 4 M.digitChar
-      void $ M.string "-"
-      -- Month
-      month <- asInt =<< replicateM 2 M.digitChar
-      void $ M.string "-"
-      -- Day
-      day <- asInt =<< replicateM 2 M.digitChar
-      -- Optional suffix (ignored)
-      void $
-        optional $ do
-          void $ M.oneOf ['-', '_', ' ']
-          void M.takeRest
-      maybe (fail "Not a date") pure $
-        fromGregorianValid year (fromInteger month) (fromInteger day)
diff --git a/src/Emanote/Model/Calendar/Parser.hs b/src/Emanote/Model/Calendar/Parser.hs
new file mode 100644
--- /dev/null
+++ b/src/Emanote/Model/Calendar/Parser.hs
@@ -0,0 +1,32 @@
+module Emanote.Model.Calendar.Parser where
+
+import Data.Time.Calendar (Day, fromGregorianValid)
+import Emanote.Route (LMLRoute)
+import Emanote.Route qualified as R
+import Relude
+import Text.Megaparsec qualified as M
+import Text.Megaparsec.Char qualified as M
+
+parseRouteDay :: LMLRoute -> Maybe Day
+parseRouteDay =
+  M.parseMaybe parse . R.withLmlRoute R.routeBaseName
+  where
+    parse :: M.Parsec Void Text Day
+    parse = do
+      let asInt = maybe (fail "Not an int") pure . readMaybe
+      -- Year
+      year <- asInt =<< replicateM 4 M.digitChar
+      void $ M.string "-"
+      -- Month
+      month <- asInt =<< replicateM 2 M.digitChar
+      void $ M.string "-"
+      -- Day
+      day <- asInt =<< replicateM 2 M.digitChar
+      -- Optional suffix (ignored)
+      void
+        $ optional
+        $ do
+          void $ M.oneOf ['-', '_', ' ']
+          void M.takeRest
+      maybe (fail "Not a date") pure
+        $ fromGregorianValid year (fromInteger month) (fromInteger day)
diff --git a/src/Emanote/Model/Graph.hs b/src/Emanote/Model/Graph.hs
--- a/src/Emanote/Model/Graph.hs
+++ b/src/Emanote/Model/Graph.hs
@@ -11,48 +11,59 @@
 import Emanote.Model.Link.Resolve qualified as Resolve
 import Emanote.Model.Meta (lookupRouteMeta)
 import Emanote.Model.Note qualified as MN
-import Emanote.Model.Type (Model, modelRels, resolveLmlRoute)
+import Emanote.Model.Note qualified as N
+import Emanote.Model.Type (Model, modelIndexRoute, modelNotes, modelRels, parentLmlRoute)
 import Emanote.Route qualified as R
-import Emanote.Route.ModelRoute (ModelRoute)
+import Emanote.Route.SiteRoute qualified as SR
 import Optics.Operators as Lens ((^.))
 import Relude hiding (empty)
 import Text.Pandoc.Definition qualified as B
 
 -- TODO: Do breadth-first instead of depth-first
-modelFolgezettelAncestorTree :: ModelRoute -> Model -> Forest R.LMLRoute
-modelFolgezettelAncestorTree r0 model =
-  fst $ usingState mempty $ go r0
+modelFolgezettelAncestorTree :: Model -> R.LMLRoute -> Forest R.LMLRoute
+modelFolgezettelAncestorTree model =
+  fst . usingState mempty . go
   where
-    go :: (MonadState (Set ModelRoute) m) => ModelRoute -> m (Forest R.LMLRoute)
-    go r = do
-      let folgezettelBacklinks =
-            backlinkRels r model
-              & filter (isFolgezettel . (^. Rel.relTo))
-              <&> (^. Rel.relFrom)
-          -- Handle reverse folgezettel links here
-          folgezettelFrontlinks =
-            frontlinkRels r model
-              & mapMaybe (lookupWikiLink <=< selectReverseFolgezettel . (^. Rel.relTo))
-          -- Folders are automatically made a folgezettel
-          folgezettelFolder =
-            maybeToList $ do
-              (_, lmlR) <- leftToMaybe (R.modelRouteCase r)
-              guard $ lookupRouteMeta True ("emanote" :| ["folder-folgezettel"]) lmlR model
-              parentLmlRoute model lmlR
-          folgezettelParents =
-            mconcat
-              [ folgezettelBacklinks
-              , folgezettelFrontlinks
-              , folgezettelFolder
-              ]
-      fmap catMaybes . forM folgezettelParents $ \parentR -> do
-        let parentModelR = R.ModelRoute_LML R.LMLView_Html parentR
-        gets (parentModelR `Set.member`) >>= \case
-          True -> pure Nothing
+    go :: (MonadState (Set R.LMLRoute) m) => R.LMLRoute -> m (Forest R.LMLRoute)
+    go r =
+      fmap catMaybes . forM (folgezettelParentsFor model r) $ \parentR -> do
+        gets (parentR `Set.member`) >>= \case
+          True -> pure Nothing -- already visited
           False -> do
-            modify $ Set.insert parentModelR
-            sub <- go parentModelR
+            modify $ Set.insert parentR
+            sub <- go parentR
             pure $ Just $ Node parentR sub
+
+folgezettelParentsFor :: Model -> R.LMLRoute -> [R.LMLRoute]
+folgezettelParentsFor model r = do
+  let folgezettelBacklinks =
+        backlinkRels r model
+          & filter (isFolgezettel . (^. Rel.relTo))
+          <&> (^. Rel.relFrom)
+      -- Handle reverse folgezettel links (`#[[..]]`) here
+      folgezettelFrontlinks =
+        frontlinkRels r model
+          & mapMaybe
+            ( \rel ->
+                lookupNoteByWikiLink model (rel ^. Rel.relFrom)
+                  <=< selectReverseFolgezettel
+                  . (^. Rel.relTo)
+                  $ rel
+            )
+      -- Folders are automatically made a folgezettel
+      folgezettelFolder =
+        maybeToList $ do
+          guard $ folderFolgezettelEnabledFor model r
+          parentLmlRoute model r
+      folgezettelParents =
+        ordNub
+          $ mconcat
+            [ folgezettelBacklinks
+            , folgezettelFrontlinks
+            , folgezettelFolder
+            ]
+   in folgezettelParents
+  where
     isFolgezettel = \case
       Rel.URTWikiLink (WL.WikiLinkBranch, _wl) ->
         True
@@ -62,37 +73,113 @@
     selectReverseFolgezettel = \case
       Rel.URTWikiLink (WL.WikiLinkTag, wl) -> Just wl
       _ -> Nothing
-    lookupWikiLink :: WL.WikiLink -> Maybe R.LMLRoute
-    lookupWikiLink wl = do
-      (_, note) <- leftToMaybe <=< getFound $ Resolve.resolveWikiLinkMustExist model wl
-      pure $ note ^. MN.noteRoute
-    getFound :: Rel.ResolvedRelTarget a -> Maybe a
-    getFound = \case
-      Rel.RRTFound x -> Just x
+
+folgezettelChildrenFor :: Model -> R.LMLRoute -> [R.LMLRoute]
+folgezettelChildrenFor model r = do
+  let folgezettelBacklinks =
+        backlinkRels r model
+          & filter (isReverseFolgezettel . (^. Rel.relTo))
+          <&> (^. Rel.relFrom)
+      folgezettelFrontlinks =
+        frontlinkRels r model
+          & mapMaybe
+            ( \rel ->
+                lookupNoteByWikiLink model (rel ^. Rel.relFrom)
+                  <=< selectFolgezettel
+                  . (^. Rel.relTo)
+                  $ rel
+            )
+      -- Folders are automatically made a folgezettel
+      folgezettelFolderChildren :: [R.LMLRoute] =
+        if folderFolgezettelEnabledFor model r
+          then
+            let isIndexRoute = r == modelIndexRoute model
+                parentR :: Maybe (R.R 'R.Folder) = if isIndexRoute then Nothing else Just (R.withLmlRoute coerce r)
+                allowed route = not isIndexRoute || (route /= r) -- Exclude index.md from being a children of itself
+                notes = Ix.toList $ (model ^. modelNotes) @= parentR
+                rs = notes <&> (^. MN.noteRoute) & filter allowed
+             in rs
+          else []
+      folgezettelChildren =
+        ordNub
+          $ mconcat
+            [ folgezettelBacklinks
+            , folgezettelFrontlinks
+            , folgezettelFolderChildren
+            ]
+   in folgezettelChildren
+  where
+    isReverseFolgezettel = \case
+      Rel.URTWikiLink (WL.WikiLinkTag, _wl) ->
+        True
+      _ ->
+        False
+    selectFolgezettel :: Rel.UnresolvedRelTarget -> Maybe WL.WikiLink
+    selectFolgezettel = \case
+      Rel.URTWikiLink (WL.WikiLinkBranch, wl) -> Just wl
       _ -> Nothing
 
-{- | Return the route to parent folder (unless indexRoute is passed).
+{- | Returns a tree of all folgezettel notes, starting from the given route.
 
-  This will return the existing note (.org or .md) if possible. Otherwise
-  fallback to .md even if missing.
+If a note has two parents, that note will be positioned in *both* the sub-trees.
+
+Cycles are discarded.
+
+Returns the tree, while considering unvisited (disconnected) notes as sibling trees.
+
+`fromRoute` node itself is ignored fro the returned tree.
 -}
-parentLmlRoute :: Model -> R.LMLRoute -> Maybe R.LMLRoute
-parentLmlRoute model r = do
-  pr <- do
-    let lmlR = R.lmlRouteCase r
-    -- Root index do not have a parent folder.
-    guard $ lmlR /= Left R.indexRoute && lmlR /= Right R.indexRoute
-    -- Consider the index route as parent folder for all
-    -- top-level notes.
-    pure $ fromMaybe R.indexRoute $ R.withLmlRoute R.routeParent r
-  pure $ resolveLmlRoute model . coerce $ pr
+folgezettelTreesFrom :: Model -> R.LMLRoute -> Forest R.LMLRoute
+folgezettelTreesFrom model fromRoute =
+  snd $ usingState (mempty :: Forest R.LMLRoute) $ do
+    let loop fromR rs = do
+          let (tree@(Node _ children), unvisited) = usingState rs $ go Set.empty fromR
+          if fromR == fromRoute
+            then modify (<> children) -- ignore `fromRoute` itself
+            else modify (<> one tree)
+          case nonEmpty (Set.toList unvisited) of
+            Nothing -> pass
+            Just ne -> loop (head ne) unvisited
+    loop fromRoute allRoutes
+  where
+    allRoutes = Set.fromList $ fmap N._noteRoute $ Ix.toList $ model ^. modelNotes
+    -- Run in a state monad of unvisited routes, taking visited routes as argument.
+    go :: (MonadState (Set R.LMLRoute) m) => Set R.LMLRoute -> R.LMLRoute -> m (Tree R.LMLRoute)
+    go visitedRoutes route
+      | route `Set.member` visitedRoutes = do
+          modify $ Set.delete route
+          pure $ Node route []
+      | otherwise = do
+          modify $ Set.delete route
+          let children = folgezettelChildrenFor model route
+          cs <- go (Set.insert route visitedRoutes) `traverse` children
+          pure $ Node route cs
 
-modelLookupBacklinks :: ModelRoute -> Model -> [(R.LMLRoute, NonEmpty [B.Block])]
+folderFolgezettelEnabledFor :: Model -> R.LMLRoute -> Bool
+folderFolgezettelEnabledFor model r =
+  lookupRouteMeta defaultValue ("emanote" :| ["folder-folgezettel"]) r model
+  where
+    -- We don't treat the top-level folder as folgezettel, to support the "flat
+    -- list of notes" use case (popularized by original neuron).
+    defaultValue = r /= modelIndexRoute model
+
+lookupNoteByWikiLink :: Model -> R.LMLRoute -> WL.WikiLink -> Maybe R.LMLRoute
+lookupNoteByWikiLink model currentRoute wl = do
+  (_, note) <- leftToMaybe <=< getFound $ Resolve.resolveWikiLinkMustExist model currentRoute wl
+  pure $ note ^. MN.noteRoute
+  where
+    getFound :: Rel.ResolvedRelTarget a -> Maybe a
+    getFound = \case
+      Rel.RRTFound x -> Just x
+      _ -> Nothing
+
+modelLookupBacklinks :: R.LMLRoute -> Model -> [(R.LMLRoute, NonEmpty [B.Block])]
 modelLookupBacklinks r model =
-  sortOn (Calendar.backlinkSortKey model . fst) $
-    groupNE $
-      backlinkRels r model <&> \rel ->
-        (rel ^. Rel.relFrom, rel ^. Rel.relCtx)
+  sortOn (Calendar.backlinkSortKey model . fst)
+    $ groupNE
+    $ backlinkRels r model
+    <&> \rel ->
+      (rel ^. Rel.relFrom, rel ^. Rel.relCtx)
   where
     groupNE :: forall a b. (Ord a) => [(a, b)] -> [(a, NonEmpty b)]
     groupNE =
@@ -104,13 +191,23 @@
             Nothing -> Map.insert x (one y) m
             Just ys -> Map.insert x (ys <> one y) m
 
-backlinkRels :: ModelRoute -> Model -> [Rel.Rel]
+-- | Rels pointing *to* this route
+backlinkRels :: R.LMLRoute -> Model -> [Rel.Rel]
 backlinkRels r model =
-  let allPossibleLinks = Rel.unresolvedRelsTo r
-   in Ix.toList $ (model ^. modelRels) @+ allPossibleLinks
+  let allPossibleLinks = Rel.unresolvedRelsTo $ toModelRoute r
+      rels = Ix.toList $ (model ^. modelRels) @+ allPossibleLinks
+   in filter isUnambiguousBacklink rels
+  where
+    toModelRoute = R.ModelRoute_LML R.LMLView_Html
+    -- Check that 'rel' points to 'r' even after resolving any ambiguous wiki links
+    isUnambiguousBacklink rel = isJust $ do
+      SR.SiteRoute_ResourceRoute (SR.ResourceRoute_LML _ r') <-
+        Rel.getResolved $ Resolve.resolveRel model rel
+      guard $ r == r'
+      pass
 
-frontlinkRels :: ModelRoute -> Model -> [Rel.Rel]
+-- | Rels pointing *from* this route
+frontlinkRels :: R.LMLRoute -> Model -> [Rel.Rel]
 frontlinkRels r model =
   maybeToMonoid $ do
-    (_, lmlR) <- leftToMaybe $ R.modelRouteCase r
-    pure $ Ix.toList $ (model ^. modelRels) @= lmlR
+    pure $ Ix.toList $ (model ^. modelRels) @= r
diff --git a/src/Emanote/Model/Link/Rel.hs b/src/Emanote/Model/Link/Rel.hs
--- a/src/Emanote/Model/Link/Rel.hs
+++ b/src/Emanote/Model/Link/Rel.hs
@@ -67,17 +67,19 @@
   where
     extractLinks :: Map Text (NonEmpty ([(Text, Text)], [B.Block])) -> IxRel
     extractLinks m =
-      Ix.fromList $
-        flip concatMap (Map.toList m) $ \(url, instances) -> do
+      Ix.fromList
+        $ flip concatMap (Map.toList m)
+        $ \(url, instances) -> do
           flip mapMaybe (toList instances) $ \(attrs, ctx) -> do
             let parentR = R.withLmlRoute R.routeParent $ note ^. noteRoute
             (target, _manchor) <- parseUnresolvedRelTarget parentR attrs url
             pure $ Rel (note ^. noteRoute) target ctx
 
+-- | Return all possible `UnresolvedRelTarget`s to the resource indexed by this `ModelRoute`.
 unresolvedRelsTo :: ModelRoute -> [UnresolvedRelTarget]
 unresolvedRelsTo r =
   let allowedWikiLinks = WL.allowedWikiLinks . R.unRoute
-      wls = either (\(_, r') -> R.withLmlRoute allowedWikiLinks r') allowedWikiLinks $ R.modelRouteCase r
+      wls = either (R.withLmlRoute allowedWikiLinks . snd) allowedWikiLinks $ R.modelRouteCase r
    in (URTWikiLink <$> toList wls)
         <> [URTResource r]
 
@@ -103,8 +105,8 @@
 
 relocateRelUrlUnder :: Maybe FilePath -> FilePath -> FilePath
 relocateRelUrlUnder mbase fp =
-  normalizeIgnoringSymlinks $
-    case mbase of
+  normalizeIgnoringSymlinks
+    $ case mbase of
       Nothing -> fp
       Just x -> x </> fp
 
@@ -138,6 +140,14 @@
   deriving stock (Eq, Show, Ord, Functor, Generic)
   deriving anyclass (ToJSON)
 
+getResolved :: ResolvedRelTarget a -> Maybe a
+getResolved = \case
+  RRTFound x -> Just x
+  _ -> Nothing
+
+-- This 'a' is either
+-- - Note, or
+-- - Either (LMLView, Note) StaticFile
 resolvedRelTargetFromCandidates :: [a] -> ResolvedRelTarget a
 resolvedRelTargetFromCandidates xs =
   case nonEmpty xs of
@@ -147,3 +157,12 @@
       RRTFound x
     Just xs' ->
       RRTAmbiguous xs'
+
+-- | Try to resolve the RRTAmbiguous using the given function.
+withAmbiguityResolvedMaybe ::
+  (NonEmpty a -> Maybe a) ->
+  ResolvedRelTarget a ->
+  ResolvedRelTarget a
+withAmbiguityResolvedMaybe f = \case
+  x@(RRTAmbiguous xs) -> maybe x RRTFound $ f xs
+  x -> x
diff --git a/src/Emanote/Model/Link/Resolve.hs b/src/Emanote/Model/Link/Resolve.hs
--- a/src/Emanote/Model/Link/Resolve.hs
+++ b/src/Emanote/Model/Link/Resolve.hs
@@ -1,6 +1,7 @@
 module Emanote.Model.Link.Resolve where
 
 import Commonmark.Extensions.WikiLink qualified as WL
+import Data.List.NonEmpty qualified as NE
 import Emanote.Model.Link.Rel qualified as Rel
 import Emanote.Model.Note qualified as MN
 import Emanote.Model.StaticFile qualified as SF
@@ -8,28 +9,60 @@
 import Emanote.Model.Type qualified as M
 import Emanote.Route qualified as R
 import Emanote.Route.SiteRoute qualified as SR
+import Optics.Core ((^.))
 import Relude
 
+resolveRel :: Model -> Rel.Rel -> Rel.ResolvedRelTarget SR.SiteRoute
+resolveRel model rel =
+  resolveUnresolvedRelTarget model (rel ^. Rel.relFrom) (rel ^. Rel.relTo)
+
 resolveUnresolvedRelTarget ::
   Model ->
+  -- | Current note route; used to resolve ambiguous links
+  R.LMLRoute ->
   Rel.UnresolvedRelTarget ->
   Rel.ResolvedRelTarget SR.SiteRoute
-resolveUnresolvedRelTarget model = \case
+resolveUnresolvedRelTarget model currentRoute = \case
   Rel.URTWikiLink (_wlType, wl) -> do
-    resolveWikiLinkMustExist model wl
+    resolveWikiLinkMustExist model currentRoute wl
       <&> resourceSiteRoute
   Rel.URTResource r ->
     resolveModelRoute model r
       <&> resourceSiteRoute
   Rel.URTVirtual virtualRoute -> do
-    Rel.RRTFound $
-      SR.SiteRoute_VirtualRoute
+    Rel.RRTFound
+      $ SR.SiteRoute_VirtualRoute
         virtualRoute
 
 resolveWikiLinkMustExist ::
-  Model -> WL.WikiLink -> Rel.ResolvedRelTarget (Either (R.LMLView, MN.Note) SF.StaticFile)
-resolveWikiLinkMustExist model wl =
-  Rel.resolvedRelTargetFromCandidates $ M.modelWikiLinkTargets wl model
+  Model ->
+  -- | Current note route; used to resolve ambiguous links
+  R.LMLRoute ->
+  WL.WikiLink ->
+  Rel.ResolvedRelTarget (Either (R.LMLView, MN.Note) SF.StaticFile)
+resolveWikiLinkMustExist model currentRoute wl =
+  Rel.resolvedRelTargetFromCandidates (M.modelWikiLinkTargets wl model)
+    & resolveAmb
+  where
+    resolveAmb = Rel.withAmbiguityResolvedMaybe (resolveAmbiguity currentRoute)
+
+{- | Resolve ambiguity by selecting the closest common ancestor.
+
+This enables us to merge different notebooks (with similar note filenames) at
+the top-level.
+-}
+resolveAmbiguity ::
+  R.LMLRoute ->
+  NonEmpty (Either (R.LMLView, MN.Note) SF.StaticFile) ->
+  Maybe (Either (R.LMLView, MN.Note) SF.StaticFile)
+resolveAmbiguity (R.withLmlRoute coerce -> currentRoute) candidates = do
+  -- A function to compute the common ancestor with `currentRoute`
+  let f = R.commonAncestor currentRoute . either (R.withLmlRoute coerce . MN._noteRoute . snd) SF._staticFileRoute
+  let (a :| as) = NE.sortWith (Down . f) candidates
+  -- If the next candidate has the same common ancestor, we have a true
+  -- ambiguity. Bail out in that case.
+  guard $ viaNonEmpty (f . head) as /= Just (f a)
+  pure a
 
 resolveModelRoute ::
   Model -> R.ModelRoute -> Rel.ResolvedRelTarget (Either (R.LMLView, MN.Note) SF.StaticFile)
diff --git a/src/Emanote/Model/Note.hs b/src/Emanote/Model/Note.hs
--- a/src/Emanote/Model/Note.hs
+++ b/src/Emanote/Model/Note.hs
@@ -5,17 +5,19 @@
 
 module Emanote.Model.Note where
 
-import Commonmark.Extensions.WikiLink (plainify)
 import Commonmark.Extensions.WikiLink qualified as WL
 import Control.Monad.Logger (MonadLogger)
 import Control.Monad.Writer (MonadWriter (tell), WriterT, runWriterT)
 import Data.Aeson qualified as Aeson
 import Data.Aeson.Optics qualified as AO
+import Data.Char (isDigit)
 import Data.Default (Default (def))
 import Data.IxSet.Typed (Indexable (..), IxSet, ixFun, ixList)
 import Data.IxSet.Typed qualified as Ix
 import Data.Map.Strict qualified as Map
 import Data.Text qualified as T
+import Data.Time.Calendar (toGregorian)
+import Emanote.Model.Calendar.Parser qualified as Calendar
 import Emanote.Model.Note.Filter (applyPandocFilters)
 import Emanote.Model.SData qualified as SData
 import Emanote.Model.Title qualified as Tit
@@ -25,17 +27,22 @@
 import Emanote.Route qualified as R
 import Emanote.Route.Ext (FileType (Folder))
 import Emanote.Route.R (R)
+import Emanote.Source.Loc (Loc)
 import Network.URI.Slug (Slug)
 import Optics.Core ((%), (.~))
 import Optics.TH (makeLenses)
 import Relude
-import System.FilePath ((</>))
-import Text.Pandoc (runPure)
+import System.FilePath (takeFileName, (</>))
+import Text.Pandoc (readerExtensions, runPure)
 import Text.Pandoc.Builder qualified as B
 import Text.Pandoc.Definition (Pandoc (..))
+import Text.Pandoc.Extensions
 import Text.Pandoc.Readers.Org (readOrg)
 import Text.Pandoc.Scripting (ScriptingEngine)
 import Text.Pandoc.Walk qualified as W
+import Text.Parsec qualified as P
+import Text.Printf (printf)
+import UnliftIO.Directory (doesPathExist)
 
 data Feed = Feed
   { _feedEnable :: Bool
@@ -47,6 +54,8 @@
 
 data Note = Note
   { _noteRoute :: R.LMLRoute
+  , _noteSource :: Maybe (Loc, FilePath)
+  -- ^ The layer from which this note came. Nothing if the note was auto-generated.
   , _noteDoc :: Pandoc
   , _noteMeta :: Aeson.Value
   , _noteTitle :: Tit.Title
@@ -72,7 +81,7 @@
    , -- Ancestor folder routes
      RAncestor
    , -- Parent folder
-     R 'R.Folder
+     Maybe (R 'R.Folder)
    , -- Tag
      HT.Tag
    , -- Alias route for this note. Can be "foo" or "foo/bar".
@@ -89,7 +98,7 @@
       (ixFun $ one . noteHtmlRoute)
       (ixFun $ maybeToList . noteXmlRoute)
       (ixFun noteAncestors)
-      (ixFun $ maybeToList . noteParent)
+      (ixFun $ one . noteParent)
       (ixFun noteTags)
       (ixFun $ maybeToList . noteSlug)
 
@@ -101,7 +110,10 @@
   where
     routeSelfRefs :: R.LMLRoute -> NonEmpty WL.WikiLink
     routeSelfRefs =
-      fmap snd
+      fromList
+        . ordNub
+        . toList
+        . fmap snd
         . R.withLmlRoute (WL.allowedWikiLinks . R.unRoute)
 
 noteAncestors :: Note -> [RAncestor]
@@ -113,7 +125,7 @@
 
 hasChildNotes :: R 'Folder -> IxNote -> Bool
 hasChildNotes r =
-  not . Ix.null . Ix.getEQ r
+  not . Ix.null . Ix.getEQ (Just r)
 
 noteTags :: Note -> [HT.Tag]
 noteTags =
@@ -149,8 +161,9 @@
             getPandocTitle doc
           R.LMLRoute_Org _ ->
             getPandocMetaTitle doc
-   in fromMaybe (doc, fileNameTitle) $
-        fmap (doc,) yamlNoteTitle <|> fmap (withoutH1 doc,) notePandocTitle
+   in fromMaybe (doc, fileNameTitle)
+        $ fmap (doc,) yamlNoteTitle
+        <|> fmap (withoutH1 doc,) notePandocTitle
   where
     getPandocTitle :: Pandoc -> Maybe Tit.Title
     getPandocTitle =
@@ -208,15 +221,17 @@
         [ folderListingQuery
         , -- TODO: Ideally, we should use semantic tags, like <aside> (rather
           -- than <div>), to render these non-relevant content.
-          B.Div (cls "emanote:placeholder-message") . one . B.Para $
-            [ B.Str
-                "Note: To override the auto-generated content here, create a file named one of: "
-            , -- TODO: or, .org
-              B.Span (cls "font-mono text-sm") $
-                one $
-                  B.Str $
-                    oneOfLmlFilenames r
-            ]
+          B.Div (cls "emanote:placeholder-message")
+            . one
+            . B.Para
+            $ [ B.Str
+                  "Note: To override the auto-generated content here, create a file named one of: "
+              , -- TODO: or, .org
+                B.Span (cls "font-mono text-sm")
+                  $ one
+                  $ B.Str
+                  $ oneOfLmlFilenames r
+              ]
         ]
    in mkEmptyNoteWith (R.defaultLmlRoute r) placeHolder
   where
@@ -229,17 +244,18 @@
 
 missingNote :: R.R ext -> Text -> Note
 missingNote route404 urlPath =
-  mkEmptyNoteWith (R.defaultLmlRoute route404) $
-    one $
-      B.Para
-        [ B.Str "No note has the URL "
-        , B.Code B.nullAttr $ "/" <> urlPath
-        , -- TODO: org
-          B.Span (cls "font-mono text-sm") $
-            one $
-              B.Str $
-                ". You may create a file with that name, ie. one of: " <> oneOfLmlFilenames route404
-        ]
+  mkEmptyNoteWith (R.defaultLmlRoute route404)
+    $ one
+    $ B.Para
+      [ B.Str "No note has the URL "
+      , B.Code B.nullAttr $ "/" <> urlPath
+      , -- TODO: org
+        B.Span (cls "font-mono text-sm")
+          $ one
+          $ B.Str
+          $ ". You may create a file with that name, ie. one of: "
+          <> oneOfLmlFilenames route404
+      ]
 
 oneOfLmlFilenames :: R ext -> Text
 oneOfLmlFilenames r =
@@ -249,35 +265,36 @@
 
 ambiguousNoteURL :: FilePath -> NonEmpty R.LMLRoute -> Note
 ambiguousNoteURL urlPath rs =
-  mkEmptyNoteWith (head rs) $
-    [ B.Para
-        [ B.Str "The URL "
-        , B.Code B.nullAttr $ toText urlPath
-        , B.Str " is ambiguous, as more than one note (see list below) use it. To fix this, specify a different slug for these notes:"
-        ]
-    ]
-      <> one candidates
+  mkEmptyNoteWith (head rs)
+    $ [ B.Para
+          [ B.Str "The URL "
+          , B.Code B.nullAttr $ toText urlPath
+          , B.Str " is ambiguous, as more than one note (see list below) use it. To fix this, specify a different slug for these notes:"
+          ]
+      ]
+    <> one candidates
   where
     candidates :: B.Block
     candidates =
-      B.BulletList $
-        toList rs <&> \(R.lmlRouteCase -> r) ->
+      B.BulletList
+        $ toList rs
+        <&> \(R.lmlRouteCase -> r) ->
           [ B.Plain $ one $ B.Str "  "
           , B.Plain $ one $ B.Code B.nullAttr $ show r
           ]
 
 mkEmptyNoteWith :: R.LMLRoute -> [B.Block] -> Note
 mkEmptyNoteWith someR (Pandoc mempty -> doc) =
-  mkNoteWith someR doc meta mempty
+  mkNoteWith someR Nothing doc meta mempty
   where
     meta = Aeson.Null
 
-mkNoteWith :: R.LMLRoute -> Pandoc -> Aeson.Value -> [Text] -> Note
-mkNoteWith r doc' meta errs =
+mkNoteWith :: R.LMLRoute -> Maybe (Loc, FilePath) -> Pandoc -> Aeson.Value -> [Text] -> Note
+mkNoteWith r src doc' meta errs =
   let (doc'', tit) = queryNoteTitle r doc' meta
       feed = queryNoteFeed meta
       doc = if null errs then doc'' else pandocPrepend (errorDiv errs) doc''
-   in Note r doc meta tit errs feed
+   in Note r src doc meta tit errs feed
   where
     -- Prepend to block to the beginning of a Pandoc document (never before H1)
     pandocPrepend :: B.Block -> Pandoc -> Pandoc
@@ -295,32 +312,54 @@
   forall m.
   (MonadIO m, MonadLogger m) =>
   ScriptingEngine ->
-  FilePath ->
+  [FilePath] ->
   R.LMLRoute ->
-  FilePath ->
+  (Loc, FilePath) ->
   Text ->
   m Note
-parseNote scriptingEngine pluginBaseDir r fp s = do
+parseNote scriptingEngine pluginBaseDir r src@(_, fp) s = do
   ((doc, meta), errs) <- runWriterT $ do
     case r of
       R.LMLRoute_Md _ ->
-        parseNoteMarkdown scriptingEngine pluginBaseDir fp s
+        parseNoteMarkdown scriptingEngine pluginBaseDir r fp s
       R.LMLRoute_Org _ -> do
         parseNoteOrg s
-  pure $ mkNoteWith r doc meta errs
+  let metaWithDateFromPath = case P.parse dateParser mempty (takeFileName fp) of
+        Left _ -> meta
+        Right date -> SData.modifyAeson (pure "date") (Just . fromMaybe (Aeson.String date)) meta
+  pure $ mkNoteWith r (Just src) doc metaWithDateFromPath errs
+  where
+    dateParser = do
+      year <- replicateM 4 P.digit
+      _ <- P.char '-'
+      month <- replicateM 2 P.digit
+      _ <- P.char '-'
+      day <- replicateM 2 P.digit
+      _ <- P.satisfy (not . isDigit)
+      pure $ toText $ mconcat [year, "-", month, "-", day]
 
 parseNoteOrg :: (MonadWriter [Text] m) => Text -> m (Pandoc, Aeson.Value)
 parseNoteOrg s =
-  case runPure $ readOrg def s of
+  case runPure $ readOrg readerOpts s of
     Left err -> do
       tell [show err]
       pure (mempty, defaultFrontMatter)
     Right doc ->
       -- TODO: Merge Pandoc's Meta in here?
       pure (preparePandoc doc, defaultFrontMatter)
+  where
+    readerOpts = def {readerExtensions = extensionsFromList (exts)}
+    exts = [Ext_auto_identifiers]
 
-parseNoteMarkdown :: (MonadIO m, MonadLogger m) => ScriptingEngine -> FilePath -> FilePath -> Text -> WriterT [Text] m (Pandoc, Aeson.Value)
-parseNoteMarkdown scriptingEngine pluginBaseDir fp md = do
+parseNoteMarkdown ::
+  (MonadIO m, MonadLogger m) =>
+  ScriptingEngine ->
+  [FilePath] ->
+  R.LMLRoute ->
+  FilePath ->
+  Text ->
+  WriterT [Text] m (Pandoc, Aeson.Value)
+parseNoteMarkdown scriptingEngine pluginBaseDir r fp md = do
   case Markdown.parseMarkdown fp md of
     Left err -> do
       tell [err]
@@ -330,9 +369,21 @@
       --
       -- Some are user-defined; some builtin. They operate on Pandoc, or the
       -- frontmatter meta.
-      let filterPaths = (pluginBaseDir </>) <$> SData.lookupAeson @[FilePath] mempty ("pandoc" :| ["filters"]) frontmatter
+      filterPaths <- fmap catMaybes $ forM (SData.lookupAeson @[FilePath] mempty ("pandoc" :| ["filters"]) frontmatter) $ \p -> do
+        res :: [FilePath] <- flip mapMaybeM pluginBaseDir $ \baseDir -> do
+          doesPathExist (baseDir </> p) >>= \case
+            False -> do
+              pure Nothing
+            True ->
+              pure $ Just $ baseDir </> p
+        case res of
+          [] -> do
+            tell [toText $ "Pandoc filter " <> p <> " not found in any of: " <> show pluginBaseDir]
+            pure Nothing
+          (x : _) -> pure $ Just x
+
       doc <- applyPandocFilters scriptingEngine filterPaths $ preparePandoc doc'
-      let meta = applyNoteMetaFilters doc frontmatter
+      let meta = applyNoteMetaFilters doc r frontmatter
       pure (doc, meta)
   where
     withAesonDefault default_ mv =
@@ -343,25 +394,39 @@
 defaultFrontMatter =
   Aeson.toJSON $ Map.fromList @Text @[Text] $ one ("tags", [])
 
-applyNoteMetaFilters :: Pandoc -> Aeson.Value -> Aeson.Value
-applyNoteMetaFilters doc =
-  addTagsFromBody
+applyNoteMetaFilters :: Pandoc -> R.LMLRoute -> Aeson.Value -> Aeson.Value
+applyNoteMetaFilters doc r =
+  addTagsFromMarkdown
     >>> addDescriptionFromBody
     >>> addImageFromBody
   where
-    -- Merge frontmatter tags with inline tags in Pandoc document.
     -- DESIGN: In retrospect, this is like a Pandoc lua filter?
-    addTagsFromBody frontmatter =
+    addTagsFromMarkdown frontmatter =
       frontmatter
-        & AO.key "tags" % AO._Array
-          .~ ( fromList . fmap Aeson.toJSON $
-                ordNub $
-                  SData.lookupAeson @[HT.Tag] mempty (one "tags") frontmatter
-                    <> HT.inlineTagsInPandoc doc
-             )
+        & AO.key "tags"
+        % AO._Array
+        .~ ( fromList
+              . fmap Aeson.toJSON
+              $ ordNub
+              $ mconcat
+                [ tagsFromFrontmatter frontmatter
+                , -- Include inline tags from note body
+                  tagsFromBody
+                , -- Include tags for daily notes
+                  tagsForDailyNote
+                ]
+           )
+    tagsFromFrontmatter =
+      SData.lookupAeson @[HT.Tag] mempty (one "tags")
+    tagsFromBody = HT.inlineTagsInPandoc doc
+    tagsForDailyNote = maybe mempty dayTags $ Calendar.parseRouteDay r
+    dayTags day =
+      let (y, m, _d) = toGregorian day
+          pad2 = toText @String . printf "%02d"
+       in [HT.Tag $ "calendar/" <> show y <> "/" <> pad2 m]
     addDescriptionFromBody =
       overrideAesonText ("page" :| ["description"]) $ \case
-        B.Para is -> [plainify is]
+        B.Para is -> [WL.plainify is]
         _ -> mempty
     -- FIXME this doesn't take splice rendering into account. Specifically,
     -- `![[foo.jpeg]]` is not handled at all.
@@ -371,13 +436,13 @@
         _ -> mempty
     overrideAesonText :: forall a. (W.Walkable a Pandoc) => NonEmpty Text -> (a -> [Text]) -> Aeson.Value -> Aeson.Value
     overrideAesonText key f frontmatter =
-      SData.mergeAesons $
-        frontmatter
-          :| maybeToList
-            ( do
-                guard $ "" == SData.lookupAeson @Text "" key frontmatter
-                val <- viaNonEmpty head $ W.query f doc
-                pure $ SData.oneAesonText (toList key) val
-            )
+      SData.mergeAesons
+        $ frontmatter
+        :| maybeToList
+          ( do
+              guard $ "" == SData.lookupAeson @Text "" key frontmatter
+              val <- viaNonEmpty head $ W.query f doc
+              pure $ SData.oneAesonText (toList key) val
+          )
 
 makeLenses ''Note
diff --git a/src/Emanote/Model/Query.hs b/src/Emanote/Model/Query.hs
--- a/src/Emanote/Model/Query.hs
+++ b/src/Emanote/Model/Query.hs
@@ -4,6 +4,7 @@
 import Data.IxSet.Typed qualified as Ix
 import Data.Text qualified as T
 import Emanote.Model.Calendar qualified as Calendar
+import Emanote.Model.Graph qualified as G
 import Emanote.Model.Note (Note)
 import Emanote.Model.Note qualified as N
 import Emanote.Model.Type (Model, modelNotes, modelTags)
@@ -22,6 +23,8 @@
   | QueryByTagPattern TagPattern
   | QueryByPath FilePath
   | QueryByPathPattern FilePattern
+  | QueryFolgezettelChildren
+  | QueryFolgezettelParents
   deriving stock (Eq)
 
 instance Show.Show Query where
@@ -34,6 +37,10 @@
       "Pages under path '/" <> p <> "'"
     QueryByPathPattern pat ->
       "Pages matching path '" <> pat <> "'"
+    QueryFolgezettelChildren ->
+      "Folgezettel children"
+    QueryFolgezettelParents ->
+      "Folgezettel parents"
 
 parseQuery :: Text -> Maybe Query
 parseQuery = do
@@ -49,15 +56,17 @@
   (M.string "tag:#" *> fmap (QueryByTag . HT.Tag . T.strip) M.takeRest)
     <|> (M.string "tag:" *> fmap (QueryByTagPattern . HT.mkTagPattern . T.strip) M.takeRest)
     <|> (M.string "path:" *> fmap (fromUserPath . T.strip) M.takeRest)
+    <|> (M.string "children:." $> QueryFolgezettelChildren)
+    <|> (M.string "parents:." $> QueryFolgezettelParents)
   where
     fromUserPath s =
       if
-          | "*" `T.isInfixOf` s ->
-              QueryByPathPattern (toString s)
-          | "/" `T.isPrefixOf` s ->
-              QueryByPath (toString $ T.drop 1 s)
-          | otherwise ->
-              QueryByPathPattern (toString $ "**/" <> s <> "/**")
+        | "*" `T.isInfixOf` s ->
+            QueryByPathPattern (toString s)
+        | "/" `T.isPrefixOf` s ->
+            QueryByPath (toString $ T.drop 1 s)
+        | otherwise ->
+            QueryByPathPattern (toString $ "**/" <> s <> "/**")
 
 runQuery :: R.LMLRoute -> Model -> Query -> [Note]
 runQuery currentRoute model =
@@ -77,9 +86,15 @@
        in flip mapMaybe notes $ \note -> do
             guard $ pat ?== R.withLmlRoute R.encodeRoute (note ^. N.noteRoute)
             pure note
+    QueryFolgezettelChildren ->
+      let rs = G.folgezettelChildrenFor model currentRoute
+       in Ix.toList $ (model ^. modelNotes) @+ rs
+    QueryFolgezettelParents ->
+      let rs = G.folgezettelParentsFor model currentRoute
+       in Ix.toList $ (model ^. modelNotes) @+ rs
   where
-    -- Resolve the ./ prefix which will for substituting "$PWD" in current
-    -- note's route context.
+    -- Resolve the ./ prefix substituting it with "$PWD" in current note's route
+    -- context.
     resolveDotInFilePattern (toText -> pat) =
       if "./" `T.isPrefixOf` pat
         then
diff --git a/src/Emanote/Model/SData.hs b/src/Emanote/Model/SData.hs
--- a/src/Emanote/Model/SData.hs
+++ b/src/Emanote/Model/SData.hs
@@ -66,6 +66,22 @@
       Aeson.Error _ -> Nothing
       Aeson.Success b -> pure b
 
+-- | Modify a key inside the aeson Value
+modifyAeson :: NonEmpty KM.Key -> (Maybe Aeson.Value -> Maybe Aeson.Value) -> Aeson.Value -> Aeson.Value
+modifyAeson (k :| ks) f meta =
+  case nonEmpty ks of
+    Nothing ->
+      withObject meta $ \obj ->
+        runIdentity $ KM.alterF (pure . f) k obj
+    Just ks' ->
+      withObject meta $ \obj ->
+        runIdentity $ KM.alterF @Identity (\mv -> Identity $ modifyAeson ks' f <$> mv) k obj
+  where
+    withObject :: Aeson.Value -> (Aeson.Object -> Aeson.Object) -> Aeson.Value
+    withObject v g = case v of
+      Aeson.Object x -> Aeson.Object $ g x
+      x -> x
+
 oneAesonText :: [Text] -> Text -> Aeson.Value
 oneAesonText k v =
   case nonEmpty k of
diff --git a/src/Emanote/Model/StaticFile.hs b/src/Emanote/Model/StaticFile.hs
--- a/src/Emanote/Model/StaticFile.hs
+++ b/src/Emanote/Model/StaticFile.hs
@@ -76,18 +76,18 @@
 readStaticFileInfo fp readFilePath = do
   let extension = toText (takeExtension fp)
   if
-      | extension `elem` imageExts ->
-          pure $ Just StaticFileInfoImage
-      | extension `elem` videoExts ->
-          pure $ Just StaticFileInfoVideo
-      | extension `elem` audioExts ->
-          pure $ Just StaticFileInfoAudio
-      | extension == ".pdf" ->
-          pure $ Just StaticFileInfoPDF
-      | Just lang <- Map.lookup extension codeExts -> do
-          code <- readFilePath fp
-          pure $ Just $ StaticFileInfoCode lang code
-      | otherwise -> return Nothing
+    | extension `elem` imageExts ->
+        pure $ Just StaticFileInfoImage
+    | extension `elem` videoExts ->
+        pure $ Just StaticFileInfoVideo
+    | extension `elem` audioExts ->
+        pure $ Just StaticFileInfoAudio
+    | extension == ".pdf" ->
+        pure $ Just StaticFileInfoPDF
+    | Just lang <- Map.lookup extension codeExts -> do
+        code <- readFilePath fp
+        pure $ Just $ StaticFileInfoCode lang code
+    | otherwise -> return Nothing
   where
     imageExts = [".jpg", ".jpeg", ".png", ".svg", ".gif", ".bmp", ".webp"]
     videoExts = [".mp4", ".webm", ".ogv"]
diff --git a/src/Emanote/Model/Stork.hs b/src/Emanote/Model/Stork.hs
--- a/src/Emanote/Model/Stork.hs
+++ b/src/Emanote/Model/Stork.hs
@@ -32,17 +32,18 @@
 
 storkFiles :: Model -> [File]
 storkFiles model =
-  let baseDir = Loc.locPath . Loc.primaryLayer $ model ^. M.modelLayers
-   in Ix.toList (model ^. M.modelNotes) <&> \note ->
-        let fp = ((baseDir </>) $ R.withLmlRoute R.encodeRoute $ note ^. N.noteRoute)
-            ft = case note ^. N.noteRoute of
-              R.LMLRoute_Md _ -> FileType_Markdown
-              R.LMLRoute_Org _ -> FileType_PlainText
-         in File
-              fp
-              (SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, note ^. N.noteRoute))
-              (Tit.toPlain $ note ^. N.noteTitle)
-              ft
+  flip mapMaybe (Ix.toList (model ^. M.modelNotes)) $ \note -> do
+    baseDir <- fst . Loc.locPath . fst <$> note ^. N.noteSource
+    let fp = ((baseDir </>) $ R.withLmlRoute R.encodeRoute $ note ^. N.noteRoute)
+        ft = case note ^. N.noteRoute of
+          R.LMLRoute_Md _ -> FileType_Markdown
+          R.LMLRoute_Org _ -> FileType_PlainText
+    pure
+      $ File
+        fp
+        (SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, note ^. N.noteRoute))
+        (Tit.toPlain $ note ^. N.noteTitle)
+        ft
 
 frontmatterHandling :: Model -> Handling
 frontmatterHandling model =
diff --git a/src/Emanote/Model/Stork/Index.hs b/src/Emanote/Model/Stork/Index.hs
--- a/src/Emanote/Model/Stork/Index.hs
+++ b/src/Emanote/Model/Stork/Index.hs
@@ -65,8 +65,8 @@
 runStork config = do
   let storkToml = handleTomlandBug $ Toml.encode configCodec config
   (_, !index, _) <-
-    liftIO $
-      readProcessWithExitCode
+    liftIO
+      $ readProcessWithExitCode
         storkBin
         -- NOTE: Cannot use "--output -" due to bug in Rust or Stork:
         -- https://github.com/jameslittle230/stork/issues/262
@@ -132,26 +132,26 @@
 configCodec =
   Config
     <$> Toml.table inputCodec "input"
-      .= configInput
+    .= configInput
   where
     inputCodec :: TomlCodec Input
     inputCodec =
       Input
         <$> Toml.list fileCodec "files"
-          .= inputFiles
+        .= inputFiles
         <*> Toml.diwrap (handlingCodec "frontmatter_handling")
-          .= inputFrontmatterHandling
+        .= inputFrontmatterHandling
     fileCodec :: TomlCodec File
     fileCodec =
       File
         <$> Toml.string "path"
-          .= filePath
+        .= filePath
         <*> Toml.text "url"
-          .= fileUrl
+        .= fileUrl
         <*> Toml.text "title"
-          .= fileTitle
+        .= fileTitle
         <*> Toml.diwrap (filetypeCodec "filetype")
-          .= fileFiletype
+        .= fileFiletype
     handlingCodec :: Toml.Key -> TomlCodec Handling
     handlingCodec = textBy showHandling parseHandling
       where
diff --git a/src/Emanote/Model/Task.hs b/src/Emanote/Model/Task.hs
--- a/src/Emanote/Model/Task.hs
+++ b/src/Emanote/Model/Task.hs
@@ -44,8 +44,9 @@
 noteTasks :: Note -> IxTask
 noteTasks note =
   let taskListItems = TaskList.queryTasks $ note ^. N.noteDoc
-   in Ix.fromList $
-        zip [1 ..] taskListItems <&> \(idx, (checked, doc)) ->
+   in Ix.fromList
+        $ zip [1 ..] taskListItems
+        <&> \(idx, (checked, doc)) ->
           Task (note ^. N.noteRoute) idx doc checked
 
 makeLenses ''Task
diff --git a/src/Emanote/Model/Toc.hs b/src/Emanote/Model/Toc.hs
new file mode 100644
--- /dev/null
+++ b/src/Emanote/Model/Toc.hs
@@ -0,0 +1,68 @@
+module Emanote.Model.Toc where
+
+import Commonmark.Extensions.WikiLink qualified as WL
+import Data.Map.Syntax ((##))
+import Data.Tree (Tree (Node))
+import Data.Tree qualified as Tree
+import Heist qualified as H
+import Heist.Extra (runCustomNode)
+import Heist.Extra.Splices.Pandoc (RenderCtx (rootNode))
+import Heist.Interpreted qualified as HI
+import Relude
+import Text.Pandoc
+import Text.XmlHtml qualified as X
+
+type Toc = Tree.Forest DocHeading
+
+data DocHeading = DocHeading
+  { headingId :: Text
+  , headingName :: Text
+  }
+  deriving stock (Show, Eq)
+
+-- | Collect the heading and their level
+pandocToHeadings :: Pandoc -> [(Int, DocHeading)]
+pandocToHeadings (Pandoc _ blocks) = mapMaybe toHeading blocks
+  where
+    toHeading block = case block of
+      Header hlvl (oid, _, _) inlines -> Just (hlvl, DocHeading oid (WL.plainify inlines))
+      _ -> Nothing
+
+-- | Create the Toc
+newToc :: Pandoc -> Toc
+newToc = goInit . pandocToHeadings
+  where
+    goInit xs = go [] (maybe 1 (fst . head) $ nonEmpty xs) xs
+    go acc lvl ((headingLvl, heading) : rest)
+      | lvl == headingLvl =
+          let
+            -- collect following headings that are childs
+            childs = go [] (lvl + 1) rest
+            newAcc = Tree.Node heading childs : acc
+            childCount = sum $ map length childs
+           in
+            go newAcc lvl (drop childCount rest)
+    go acc _ _ = reverse acc
+
+-- Note: this is inspired by 'Heist.Extra.Splices.Pandoc.Footnotes.renderFootnotesWith'
+renderToc :: RenderCtx -> Toc -> HI.Splice Identity
+renderToc ctx toc =
+  fromMaybe (pure []) $ do
+    renderNode <- viaNonEmpty head $ maybe [] (X.childElementsTag "Toc") $ rootNode ctx
+    Just
+      $ runCustomNode renderNode
+      $ do
+        "toc:entry" ## (HI.runChildrenWith . (tocSplices ctx)) `foldMapM` toc
+
+tocSplices :: RenderCtx -> Tree DocHeading -> H.Splices (HI.Splice Identity)
+tocSplices ctx (Node heading childs) = do
+  "toc:title" ## HI.textSplice (headingName heading)
+  "toc:anchor" ## HI.textSplice (headingId heading)
+  "toc:childs" ## renderToc ctx childs
+
+-- | Return True only if the Toc has either has two or more headings (regardless of nesting levels)
+tocUnnecessaryToRender :: Toc -> Bool
+tocUnnecessaryToRender = \case
+  [] -> True
+  [Node _ []] -> True
+  _ -> False
diff --git a/src/Emanote/Model/Type.hs b/src/Emanote/Model/Type.hs
--- a/src/Emanote/Model/Type.hs
+++ b/src/Emanote/Model/Type.hs
@@ -10,10 +10,8 @@
 import Data.IxSet.Typed ((@=))
 import Data.IxSet.Typed qualified as Ix
 import Data.Map.Strict qualified as Map
-import Data.Some (Some)
 import Data.Time (UTCTime)
-import Data.Tree (Tree)
-import Data.Tree.Path qualified as PathTree
+import Data.Tree (Forest)
 import Data.UUID (UUID)
 import Ema.CLI qualified
 import Emanote.Model.Link.Rel (IxRel)
@@ -41,7 +39,6 @@
 import Emanote.Route.SiteRoute.Type (SiteRoute)
 import Emanote.Source.Loc (Loc)
 import Heist.Extra.TemplateState (TemplateState)
-import Network.URI.Slug (Slug)
 import Optics.Core (Prism')
 import Optics.Operators ((%~), (.~), (^.))
 import Optics.TH (makeLenses)
@@ -53,7 +50,7 @@
 data ModelT encF = Model
   { _modelStatus :: Status
   , _modelLayers :: Set Loc
-  , _modelEmaCLIAction :: Some Ema.CLI.Action
+  , _modelEmaCLIAction :: Ema.CLI.Action
   , _modelRoutePrism :: encF (Prism' FilePath SiteRoute)
   , _modelPandocRenderers :: EmanotePandocRenderers Model LMLRoute
   -- ^ Dictates how exactly to render `Pandoc` to Heist nodes.
@@ -65,9 +62,11 @@
   , _modelSData :: IxSData
   , _modelStaticFiles :: IxStaticFile
   , _modelTasks :: IxTask
-  , _modelNav :: [Tree Slug]
+  -- ^ A tree (forest) of all notes, based on their folder hierarchy.
   , _modelHeistTemplate :: TemplateState
   , _modelStorkIndex :: Stork.IndexVar
+  , _modelFolgezettelTree :: Forest R.LMLRoute
+  -- ^ Folgezettel tree computed once for each update to model.
   }
   deriving stock (Generic)
 
@@ -95,9 +94,27 @@
   let _modelRoutePrism = Identity enc
    in Model {..}
 
-emptyModel :: Set Loc -> Some Ema.CLI.Action -> EmanotePandocRenderers Model LMLRoute -> Bool -> UUID -> Stork.IndexVar -> ModelEma
-emptyModel layers act ren ctw instanceId =
-  Model Status_Loading layers act (Const ()) ren ctw instanceId Ix.empty Ix.empty Ix.empty Ix.empty mempty mempty def
+emptyModel :: Set Loc -> Ema.CLI.Action -> EmanotePandocRenderers Model LMLRoute -> Bool -> UUID -> Stork.IndexVar -> ModelEma
+emptyModel layers act ren ctw instanceId storkVar =
+  Model
+    { _modelStatus = Status_Loading
+    , _modelLayers = layers
+    , _modelEmaCLIAction = act
+    , _modelRoutePrism = Const ()
+    , _modelPandocRenderers = ren
+    , _modelCompileTailwind = ctw
+    , _modelInstanceID = instanceId
+    , -- Inject a placeholder `index.md` to account for the use case of emanote
+      -- being run on an empty directory.
+      _modelNotes = Ix.empty & injectRoot
+    , _modelRels = Ix.empty
+    , _modelSData = Ix.empty
+    , _modelStaticFiles = Ix.empty
+    , _modelTasks = Ix.empty
+    , _modelHeistTemplate = def
+    , _modelStorkIndex = storkVar
+    , _modelFolgezettelTree = mempty
+    }
 
 modelReadyForView :: ModelT f -> ModelT f
 modelReadyForView =
@@ -115,12 +132,10 @@
           >>> injectAncestors (N.noteAncestors note)
           >>> dropRedundantAncestor r
        )
-    >>> modelRels
-      %~ updateIxMulti r (Rel.noteRels note)
-    >>> modelTasks
-      %~ updateIxMulti r (Task.noteTasks note)
-    >>> modelNav
-      %~ PathTree.treeInsertPath (R.withLmlRoute R.unRoute r)
+      >>> modelRels
+    %~ updateIxMulti r (Rel.noteRels note)
+      >>> modelTasks
+    %~ updateIxMulti r (Task.noteTasks note)
   where
     r = note ^. N.noteRoute
 
@@ -151,36 +166,31 @@
   maybe injectRoot injectAncestor
 
 injectRoot :: IxNote -> IxNote
-injectRoot ns =
-  case resolveLmlRouteIfExists ns idxR of
-    Just _ -> ns
-    Nothing ->
-      let r = R.defaultLmlRoute idxR
-       in Ix.updateIx r (N.ancestorPlaceholderNote $ coerce idxR) ns
-  where
-    idxR = R.indexRoute
+injectRoot =
+  injectAncestorPlaceholder R.indexRoute
 
 injectAncestor :: N.RAncestor -> IxNote -> IxNote
-injectAncestor (N.unRAncestor -> folderR) ns =
-  case resolveLmlRouteIfExists ns folderR of
+injectAncestor =
+  injectAncestorPlaceholder . N.unRAncestor
+
+injectAncestorPlaceholder :: R ext -> IxNote -> IxNote
+injectAncestorPlaceholder r ns =
+  case resolveLmlRouteIfExists ns r of
     Just _ -> ns
     Nothing ->
-      let r = R.defaultLmlRoute folderR
-       in Ix.updateIx r (N.ancestorPlaceholderNote folderR) ns
+      Ix.updateIx (R.defaultLmlRoute r) (N.ancestorPlaceholderNote $ coerce r) ns
 
 modelDeleteNote :: LMLRoute -> ModelT f -> ModelT f
 modelDeleteNote k model =
   model
     & modelNotes
-      %~ ( Ix.deleteIx k
-            >>> restoreAncestor (N.RAncestor <$> mFolderR)
-         )
-    & modelRels
-      %~ deleteIxMulti k
-    & modelTasks
-      %~ deleteIxMulti k
-    & modelNav
-      %~ maybe (PathTree.treeDeletePath (R.withLmlRoute R.unRoute k)) (const id) mFolderR
+    %~ ( Ix.deleteIx k
+          >>> restoreAncestor (N.RAncestor <$> mFolderR)
+       )
+      & modelRels
+    %~ deleteIxMulti k
+      & modelTasks
+    %~ deleteIxMulti k
   where
     -- If the note being deleted is $folder.md *and* folder/ has .md files, this
     -- will be `Just folderRoute`.
@@ -261,9 +271,9 @@
   _ -> Nothing
   where
     resolvedTarget =
-      Rel.resolvedRelTargetFromCandidates $
-        N.lookupNotesByXmlRoute r $
-          _modelNotes model
+      Rel.resolvedRelTargetFromCandidates
+        $ N.lookupNotesByXmlRoute r
+        $ _modelNotes model
 
 modelLookupTitle :: LMLRoute -> ModelT f -> Tit.Title
 modelLookupTitle r =
@@ -273,11 +283,13 @@
 modelWikiLinkTargets :: WL.WikiLink -> Model -> [Either (R.LMLView, Note) StaticFile]
 modelWikiLinkTargets wl model =
   let notes =
-        Ix.toList $
-          (model ^. modelNotes) @= wl
+        Ix.toList
+          $ (model ^. modelNotes)
+          @= wl
       staticFiles =
-        Ix.toList $
-          (model ^. modelStaticFiles) @= wl
+        Ix.toList
+          $ (model ^. modelStaticFiles)
+          @= wl
    in fmap Right staticFiles <> fmap Left ((R.LMLView_Html,) <$> notes)
 
 modelLookupStaticFileByRoute :: R 'AnyExt -> ModelT f -> Maybe StaticFile
@@ -294,14 +306,16 @@
 
 modelNoteMetas :: Model -> Map LMLRoute (Tit.Title, LMLRoute, Aeson.Value)
 modelNoteMetas model =
-  Map.fromList $
-    Ix.toList (_modelNotes model) <&> \note ->
+  Map.fromList
+    $ Ix.toList (_modelNotes model)
+    <&> \note ->
       (note ^. N.noteRoute, (note ^. N.noteTitle, note ^. N.noteRoute, note ^. N.noteMeta))
 
 modelNoteErrors :: Model -> Map LMLRoute [Text]
 modelNoteErrors model =
-  Map.fromList $
-    flip mapMaybe (Ix.toList (_modelNotes model)) $ \note -> do
+  Map.fromList
+    $ flip mapMaybe (Ix.toList (_modelNotes model))
+    $ \note -> do
       let errs = note ^. N.noteErrors
       guard $ not $ null errs
       pure (note ^. N.noteRoute, errs)
@@ -328,3 +342,19 @@
       , N.lookupNotesByRoute (R.LMLRoute_Md $ coerce r) notes
       ]
   pure $ note ^. N.noteRoute
+
+{- | Return the route to parent folder (unless indexRoute is passed).
+
+  This will return the existing note (.org or .md) if possible. Otherwise
+  fallback to .md even if missing.
+-}
+parentLmlRoute :: Model -> R.LMLRoute -> Maybe R.LMLRoute
+parentLmlRoute model r = do
+  pr <- do
+    let lmlR = R.lmlRouteCase r
+    -- Root index do not have a parent folder.
+    guard $ lmlR /= Left R.indexRoute && lmlR /= Right R.indexRoute
+    -- Consider the index route as parent folder for all
+    -- top-level notes.
+    pure $ fromMaybe R.indexRoute $ R.withLmlRoute R.routeParent r
+  pure $ resolveLmlRoute model . coerce $ pr
diff --git a/src/Emanote/Pandoc/BuiltinFilters.hs b/src/Emanote/Pandoc/BuiltinFilters.hs
--- a/src/Emanote/Pandoc/BuiltinFilters.hs
+++ b/src/Emanote/Pandoc/BuiltinFilters.hs
@@ -23,10 +23,10 @@
   W.walk $ \case
     inline@(B.Span attr is) ->
       if
-          | Just inlineTag <- HT.getTagFromInline inline ->
-              B.Span attr [B.Link mempty is (tagUrl inlineTag, "Tag")]
-          | otherwise ->
-              inline
+        | Just inlineTag <- HT.getTagFromInline inline ->
+            B.Span attr [B.Link mempty is (tagUrl inlineTag, "Tag")]
+        | otherwise ->
+            inline
     x ->
       x
   where
diff --git a/src/Emanote/Pandoc/Link.hs b/src/Emanote/Pandoc/Link.hs
--- a/src/Emanote/Pandoc/Link.hs
+++ b/src/Emanote/Pandoc/Link.hs
@@ -22,7 +22,7 @@
   _ ->
     Nothing
 
-{- | Given an inline that is known to be an InlineRef, reconstruct and return
+{- | Given an inline that is known to be an `InlineRef`, reconstruct and return
  its orginal Markdown source.
 -}
 unParseLink :: (HasCallStack) => B.Inline -> Text
diff --git a/src/Emanote/Pandoc/Markdown/Parser.hs b/src/Emanote/Pandoc/Markdown/Parser.hs
--- a/src/Emanote/Pandoc/Markdown/Parser.hs
+++ b/src/Emanote/Pandoc/Markdown/Parser.hs
@@ -14,19 +14,20 @@
 
 parseMarkdown :: FilePath -> Text -> Either Text (Maybe Aeson.Value, Pandoc)
 parseMarkdown =
-  parseMarkdownWithFrontMatter @Aeson.Value $
+  parseMarkdownWithFrontMatter @Aeson.Value
+    $
     -- As the commonmark documentation states, pipeTableSpec should be placed after
     -- fancyListSpec and defaultSyntaxSpec to avoid bad results when parsing
     -- non-table lines.
     -- see https://github.com/jgm/commonmark-hs/issues/52
     baseExtsSansPipeTable
-      <> gfmExtensionsSansPipeTable
-      <> CE.pipeTableSpec
-      <> WL.wikilinkSpec
-      -- ASK: Can we conditionally disable this?
-      -- cf. https://github.com/srid/emanote/issues/167
-      <> IT.hashTagSpec
-      <> IH.highlightSpec
+    <> gfmExtensionsSansPipeTable
+    <> CE.pipeTableSpec
+    <> WL.wikilinkSpec
+    -- ASK: Can we conditionally disable this?
+    -- cf. https://github.com/srid/emanote/issues/167
+    <> IT.hashTagSpec
+    <> IH.highlightSpec
   where
     baseExtsSansPipeTable =
       mconcat
diff --git a/src/Emanote/Pandoc/Renderer.hs b/src/Emanote/Pandoc/Renderer.hs
--- a/src/Emanote/Pandoc/Renderer.hs
+++ b/src/Emanote/Pandoc/Renderer.hs
@@ -55,13 +55,15 @@
   Splices.mkRenderCtx
     classRules
     ( \ctx blk ->
-        asum $
-          pandocBlockRenderers <&> \f ->
+        asum
+          $ pandocBlockRenderers
+          <&> \f ->
             f model nr ctx x blk
     )
     ( \ctx blk ->
-        asum $
-          pandocInlineRenderers <&> \f ->
+        asum
+          $ pandocInlineRenderers
+          <&> \f ->
             f model nr ctx x blk
     )
 
diff --git a/src/Emanote/Pandoc/Renderer/Callout.hs b/src/Emanote/Pandoc/Renderer/Callout.hs
new file mode 100644
--- /dev/null
+++ b/src/Emanote/Pandoc/Renderer/Callout.hs
@@ -0,0 +1,114 @@
+{-# LANGUAGE RecordWildCards #-}
+
+{- |  Obsidian-style callouts
+
+  TODO: Should we switch to using the commonmark-hs parser here? cf. https://github.com/jgm/commonmark-hs/pull/135
+-}
+module Emanote.Pandoc.Renderer.Callout (
+  calloutResolvingSplice,
+
+  -- * For tests
+  CalloutType (..),
+  Callout (..),
+  parseCalloutType,
+) where
+
+import Data.Default (Default (def))
+import Data.Map.Syntax ((##))
+import Data.Text qualified as T
+import Emanote.Model (Model)
+import Emanote.Model.Title qualified as Tit
+import Emanote.Pandoc.Renderer (PandocBlockRenderer)
+import Emanote.Route (LMLRoute)
+import Heist.Extra qualified as HE
+import Heist.Extra.Splices.Pandoc qualified as HP
+import Heist.Interpreted qualified as HI
+import Relude
+import Text.Casing qualified
+import Text.Megaparsec qualified as M
+import Text.Megaparsec.Char qualified as M
+import Text.Pandoc.Definition qualified as B
+
+calloutResolvingSplice :: PandocBlockRenderer Model LMLRoute
+calloutResolvingSplice _model _nr ctx _noteRoute blk = do
+  B.BlockQuote blks <- pure blk
+  callout <- parseCallout blks
+  let calloutType = T.toLower $ unCalloutType $ type_ callout
+  pure $ do
+    tpl <- HE.lookupHtmlTemplateMust $ "/templates/filters/callout/" <> encodeUtf8 calloutType
+    HE.runCustomTemplate tpl $ do
+      "callout:type" ## HI.textSplice calloutType
+      "callout:title" ## Tit.titleSplice ctx id $ Tit.fromInlines (title callout)
+      "callout:body" ## HP.pandocSplice ctx $ B.Pandoc mempty (body callout)
+      "query" ##
+        HI.textSplice (show blks)
+
+{- | Obsidian callout type
+
+TODO: Add the rest, from https://help.obsidian.md/Editing+and+formatting/Callouts#Supported%20types
+-}
+newtype CalloutType = CalloutType {unCalloutType :: Text}
+  deriving stock (Eq, Ord, Show)
+
+instance Default CalloutType where
+  def = CalloutType "note"
+
+data Callout = Callout
+  { type_ :: CalloutType
+  , title :: [B.Inline]
+  , body :: [B.Block]
+  }
+  deriving stock (Eq, Ord, Show)
+
+-- | Parse `Callout` from blockquote blocks
+parseCallout :: [B.Block] -> Maybe Callout
+parseCallout = parseObsidianCallout
+
+-- | Parse according to https://help.obsidian.md/Editing+and+formatting/Callouts
+parseObsidianCallout :: [B.Block] -> Maybe Callout
+parseObsidianCallout blks = do
+  B.Para (B.Str calloutType : inlines) : body' <- pure blks
+  type_ <- parseCalloutType calloutType
+  let (title', mFirstPara) = disrespectSoftbreak inlines
+      title = if null title' then defaultTitle type_ else title'
+      body = maybe body' (: body') mFirstPara
+  pure $ Callout {..}
+  where
+    defaultTitle :: CalloutType -> [B.Inline]
+    defaultTitle t =
+      let calloutTitle = toText $ Text.Casing.pascal $ toString $ unCalloutType t
+       in [B.Str calloutTitle]
+
+{- | If there is a `B.SoftBreak`, treat it as paragraph break.
+
+We do this to support Obsidian callouts where the first paragraph can start
+immediately after the callout heading without a newline break in between.
+-}
+disrespectSoftbreak :: [B.Inline] -> ([B.Inline], Maybe B.Block)
+disrespectSoftbreak = \case
+  [] -> ([], Nothing)
+  (B.SoftBreak : rest) -> ([], Just (B.Para rest))
+  (x : xs) ->
+    let (a, b) = disrespectSoftbreak xs
+     in (x : a, b)
+
+-- | Parse, for example, "[!tip]" into 'Tip'.
+parseCalloutType :: Text -> Maybe CalloutType
+parseCalloutType =
+  rightToMaybe . parse parser "<callout:type>"
+  where
+    parser :: M.Parsec Void Text CalloutType
+    parser = do
+      void $ M.string "[!"
+      s <- T.toLower . toText <$> M.some (M.alphaNumChar <|> M.char '-' <|> M.char '_' <|> M.char '/')
+      void $ M.string "]"
+      maybe (fail "Unknown") pure $ parseType s
+    parseType :: Text -> Maybe CalloutType
+    parseType s' = do
+      let s = T.strip s'
+      guard $ not $ T.null s
+      pure $ CalloutType s
+    parse :: M.Parsec Void Text a -> String -> Text -> Either Text a
+    parse p fn =
+      first (toText . M.errorBundlePretty)
+        . M.parse (p <* M.eof) fn
diff --git a/src/Emanote/Pandoc/Renderer/Embed.hs b/src/Emanote/Pandoc/Renderer/Embed.hs
--- a/src/Emanote/Pandoc/Renderer/Embed.hs
+++ b/src/Emanote/Pandoc/Renderer/Embed.hs
@@ -9,9 +9,10 @@
 import Emanote.Model.StaticFile (CodeLanguage (..), StaticFileInfo (..), staticFileInfoTemplateName)
 import Emanote.Model.StaticFile qualified as SF
 import Emanote.Model.Title qualified as Tit
+import Emanote.Model.Toc (newToc, renderToc)
 import Emanote.Pandoc.Link qualified as Link
 import Emanote.Pandoc.Renderer (PandocBlockRenderer, PandocInlineRenderer)
-import Emanote.Pandoc.Renderer.Url qualified as RenderedUrl
+import Emanote.Pandoc.Renderer.Url qualified as RendererUrl
 import Emanote.Route.ModelRoute qualified as R
 import Emanote.Route.R qualified as R
 import Emanote.Route.SiteRoute qualified as SF
@@ -34,8 +35,8 @@
   -- TODO: Use anchor to embed a section?
   (Rel.URTWikiLink (WL.WikiLinkEmbed, wl), _mAnchor) <-
     Rel.parseUnresolvedRelTarget parentR (otherAttrs <> one ("title", tit)) url
-  let rRel = Resolve.resolveWikiLinkMustExist model wl
-  RenderedUrl.renderSomeInlineRefWith Resolve.resourceSiteRoute (is, (url, tit)) rRel model ctx inl $ \case
+  let rRel = Resolve.resolveWikiLinkMustExist model noteRoute wl
+  RendererUrl.renderSomeInlineRefWith Resolve.resourceSiteRoute (is, (url, tit)) rRel model ctx inl $ \case
     Left (R.LMLView_Html, r) -> embedResourceRoute model ctx r
     Right sf
       | isJust (SF._staticFileInfo sf) ->
@@ -51,8 +52,8 @@
   (Rel.URTResource mr, _mAnchor) <-
     Rel.parseUnresolvedRelTarget parentR (otherAttrs <> one ("title", tit)) url
   let rRel = Resolve.resolveModelRoute model mr
-  RenderedUrl.renderSomeInlineRefWith Resolve.resourceSiteRoute (is, (url, tit)) rRel model ctx inl $
-    either (const Nothing) (embedStaticFileRoute model $ WL.plainify is)
+  RendererUrl.renderSomeInlineRefWith Resolve.resourceSiteRoute (is, (url, tit)) rRel model ctx inl
+    $ either (const Nothing) (embedStaticFileRoute model $ WL.plainify is)
 
 embedInlineWikiLinkResolvingSplice :: PandocInlineRenderer Model R.LMLRoute
 embedInlineWikiLinkResolvingSplice model _nf ctx noteRoute inl = do
@@ -60,9 +61,9 @@
   guard $ inlRef == Link.InlineLink
   let parentR = R.withLmlRoute R.routeParent noteRoute
   (Rel.URTWikiLink (WL.WikiLinkEmbed, wl), _mAnchor) <- Rel.parseUnresolvedRelTarget parentR (otherAttrs <> one ("title", tit)) url
-  let rRel = Resolve.resolveWikiLinkMustExist model wl
-  RenderedUrl.renderSomeInlineRefWith Resolve.resourceSiteRoute (is, (url, tit)) rRel model ctx inl $
-    either (const Nothing) (embedStaticFileRoute model $ show wl)
+  let rRel = Resolve.resolveWikiLinkMustExist model noteRoute wl
+  RendererUrl.renderSomeInlineRefWith Resolve.resourceSiteRoute (is, (url, tit)) rRel model ctx inl
+    $ either (const Nothing) (embedStaticFileRoute model $ show wl)
 
 runEmbedTemplate :: ByteString -> H.Splices (HI.Splice Identity) -> HI.Splice Identity
 runEmbedTemplate name splices = do
@@ -76,6 +77,8 @@
     "ema:note:url" ## HI.textSplice (SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, note ^. MN.noteRoute))
     "ema:note:pandoc" ##
       pandocSplice ctx (note ^. MN.noteDoc)
+    "ema:note:toc" ##
+      renderToc ctx (newToc $ note ^. MN.noteDoc)
 
 embedStaticFileRoute :: Model -> Text -> SF.StaticFile -> Maybe (HI.Splice Identity)
 embedStaticFileRoute model altText staticFile = do
diff --git a/src/Emanote/Pandoc/Renderer/Url.hs b/src/Emanote/Pandoc/Renderer/Url.hs
--- a/src/Emanote/Pandoc/Renderer/Url.hs
+++ b/src/Emanote/Pandoc/Renderer/Url.hs
@@ -31,7 +31,7 @@
   (inlRef, attr@(id', cls, otherAttrs), is, (url, tit)) <- Link.parseInlineRef inl
   let parentR = R.withLmlRoute R.routeParent noteRoute
   (uRel, mAnchor) <- Rel.parseUnresolvedRelTarget parentR (otherAttrs <> one ("title", tit)) url
-  let rRel = Resolve.resolveUnresolvedRelTarget model uRel
+  let rRel = Resolve.resolveUnresolvedRelTarget model noteRoute uRel
   renderSomeInlineRefWith id (is, (url, tit)) rRel model ctx inl $ \sr ->
     case inlRef of
       Link.InlineLink -> do
@@ -76,14 +76,15 @@
                 ]
             )
         details <-
-          HP.rpInline ctx $
+          HP.rpInline ctx
+            $
             -- FIXME: This aside is meaningless for non-wikilink links (regular
             -- Markdown links)
-            B.Span ("", ["emanote:error:aside"], []) $
-              one $
-                tooltip "Find notes containing this broken link" $
-                  one $
-                    B.Link B.nullAttr (one $ B.Emph $ one $ B.Str "backlinks") (url, "")
+            B.Span ("", ["emanote:error:aside"], [])
+            $ one
+            $ tooltip "Find notes containing this broken link"
+            $ one
+            $ B.Link B.nullAttr (one $ B.Emph $ one $ B.Str "backlinks") (url, "")
         if M.inLiveServer model
           then pure $ raw <> details
           else pure raw
@@ -91,20 +92,24 @@
       pure $ do
         raw <- HP.rpInline ctx (tooltip "Link is ambiguous" [B.Strikeout $ one $ B.Str $ Link.unParseLink origInl, B.Str "❗"])
         candidates <-
-          fmap mconcat . sequence $
-            toList srs
-              <&> \(getSr -> sr) -> do
-                let (rp, _) = M.withoutRoutePrism model
-                    srRoute = toText $ review rp sr
-                    (_newIs, (newUrl, isNotEmaLink)) = replaceLinkNodeWithRoute model sr (is, srRoute)
-                    linkAttr = [openInNewTabAttr | M.inLiveServer model && isNotEmaLink]
-                    newIs = one $ B.Str $ show sr
-                HP.rpInline ctx $
-                  B.Span ("", ["emanote:error:aside"], []) $
-                    one $
-                      tooltip (show sr <> " -> " <> srRoute) $
-                        one $
-                          B.Link ("", mempty, linkAttr) newIs (newUrl, tit)
+          fmap
+            mconcat
+            ( mapM
+                ( \(getSr -> sr) -> do
+                    let (rp, _) = M.withoutRoutePrism model
+                        srRoute = toText $ review rp sr
+                        (_newIs, (newUrl, isNotEmaLink)) = replaceLinkNodeWithRoute model sr (is, srRoute)
+                        linkAttr = [openInNewTabAttr | M.inLiveServer model && isNotEmaLink]
+                        newIs = one $ B.Str $ show sr
+                    HP.rpInline ctx
+                      $ B.Span ("", ["emanote:error:aside"], [])
+                      $ one
+                      $ tooltip (show sr <> " -> " <> srRoute)
+                      $ one
+                      $ B.Link ("", mempty, linkAttr) newIs (newUrl, tit)
+                )
+                (toList srs)
+            )
         if M.inLiveServer model
           then pure $ raw <> candidates
           else pure raw
@@ -140,10 +145,11 @@
     nonEmptyLinkInlines :: Model -> Text -> Maybe SR.SiteRoute -> [B.Inline] -> [B.Inline]
     nonEmptyLinkInlines model' url' mr = \case
       [] ->
-        toList $
-          nonEmptyInlines url $
-            fromMaybe [] $
-              siteRouteDefaultInnerText model' url' =<< mr
+        toList
+          $ nonEmptyInlines url
+          $ fromMaybe []
+          $ siteRouteDefaultInnerText model' url'
+          =<< mr
       x -> x
 
 -- | Ensure that inlines list is non-empty, using the provided singleton value if necessary.
diff --git a/src/Emanote/Route/ModelRoute.hs b/src/Emanote/Route/ModelRoute.hs
--- a/src/Emanote/Route/ModelRoute.hs
+++ b/src/Emanote/Route/ModelRoute.hs
@@ -104,5 +104,5 @@
 mkLMLRouteFromKnownFilePath :: LML -> FilePath -> Maybe LMLRoute
 mkLMLRouteFromKnownFilePath lmlType fp =
   case lmlType of
-    Md -> fmap LMLRoute_Md (R.mkRouteFromFilePath fp)
-    Org -> fmap LMLRoute_Org (R.mkRouteFromFilePath fp)
+    Md -> fmap LMLRoute_Md (R.mkRouteFromFilePath' True fp)
+    Org -> fmap LMLRoute_Org (R.mkRouteFromFilePath' True fp)
diff --git a/src/Emanote/Route/R.hs b/src/Emanote/Route/R.hs
--- a/src/Emanote/Route/R.hs
+++ b/src/Emanote/Route/R.hs
@@ -22,15 +22,26 @@
 
 instance (HasExt ext) => Show (R ext) where
   show r =
-    toString $
-      "R[/" <> encodeRoute r <> "]"
+    toString
+      $ "R[/"
+      <> encodeRoute r
+      <> "]"
 
 -- | Convert foo/bar.<ext> to a @R@
 mkRouteFromFilePath :: forall a (ext :: FileType a). (HasExt ext) => FilePath -> Maybe (R ext)
-mkRouteFromFilePath fp = do
+mkRouteFromFilePath = mkRouteFromFilePath' False
+
+{- | Like `mkRouteFromFilePath` but drops the last slug if it's "index"
+
+Behaves like `mkRouteFromFilePath` for top-level files.
+-}
+mkRouteFromFilePath' :: forall a (ext :: FileType a). (HasExt ext) => Bool -> FilePath -> Maybe (R ext)
+mkRouteFromFilePath' dropIndex fp = do
   base <- withoutKnownExt @_ @ext fp
-  let slugs = fromString . toString . T.dropWhileEnd (== '/') . toText <$> splitPath base
-  viaNonEmpty R slugs
+  slugs <- nonEmpty $ fromString . toString . T.dropWhileEnd (== '/') . toText <$> splitPath base
+  if dropIndex && length slugs > 1 && last slugs == "index"
+    then viaNonEmpty R $ init slugs
+    else pure $ R slugs
 
 mkRouteFromSlugs :: NonEmpty Slug -> R ext
 mkRouteFromSlugs =
@@ -52,7 +63,7 @@
 -- | The base name of the route without its parent path.
 routeBaseName :: R ext -> Text
 routeBaseName =
-  Slug.unSlug . head . NE.reverse . unRoute
+  Slug.unSlug . last . unRoute
 
 routeParent :: R ext -> Maybe (R 'Folder)
 routeParent =
@@ -81,6 +92,21 @@
 
 indexRoute :: R ext
 indexRoute = R $ "index" :| []
+
+-- | Return the common ancestor of the two routes
+commonAncestor ::
+  forall ext ext1 ext2.
+  R ext1 ->
+  R ext2 ->
+  Maybe (R ext)
+commonAncestor (R (x :| xs)) (R (y :| ys)) =
+  R <$> if x == y then Just (x :| go xs ys) else Nothing
+  where
+    go :: [Slug] -> [Slug] -> [Slug]
+    go (a : as) (b : bs) =
+      if a == b then a : go as bs else []
+    go _ _ =
+      []
 
 -- | Convert a route to filepath
 encodeRoute :: forall a (ft :: FileType a). (HasExt ft) => R ft -> FilePath
diff --git a/src/Emanote/Route/SiteRoute.hs b/src/Emanote/Route/SiteRoute.hs
--- a/src/Emanote/Route/SiteRoute.hs
+++ b/src/Emanote/Route/SiteRoute.hs
@@ -1,6 +1,7 @@
 module Emanote.Route.SiteRoute (
   SiteRoute (..),
   VirtualRoute (..),
+  ExportFormat (..),
   ResourceRoute (..),
   decodeVirtualRoute,
   noteFileSiteRoute,
diff --git a/src/Emanote/Route/SiteRoute/Class.hs b/src/Emanote/Route/SiteRoute/Class.hs
--- a/src/Emanote/Route/SiteRoute/Class.hs
+++ b/src/Emanote/Route/SiteRoute/Class.hs
@@ -40,32 +40,38 @@
 emanoteGeneratableRoutes :: ModelEma -> [SiteRoute]
 emanoteGeneratableRoutes model =
   let htmlRoutes =
-        model ^. M.modelNotes
-          & Ix.toList
-          <&> noteFileSiteRoute'
+        model
+          ^. M.modelNotes
+            & Ix.toList
+            <&> noteFileSiteRoute'
       feedRoutes =
-        model ^. M.modelNotes
-          & Ix.toList
-          & filter N.noteHasFeed
-          <&> noteFeedSiteRoute
+        model
+          ^. M.modelNotes
+            & Ix.toList
+            & filter N.noteHasFeed
+            <&> noteFeedSiteRoute
       staticRoutes =
         let includeFile f =
               not (LiveServerFile.isLiveServerFile f)
-                || (f == LiveServerFile.tailwindFullCssPath && not (model ^. M.modelCompileTailwind))
-         in model ^. M.modelStaticFiles
-              & Ix.toList
-              & filter (includeFile . R.encodeRoute . SF._staticFileRoute)
-              <&> staticFileSiteRoute
+                || (f == LiveServerFile.tailwindFullJsPath && not (model ^. M.modelCompileTailwind))
+         in model
+              ^. M.modelStaticFiles
+                & Ix.toList
+                & filter (includeFile . R.encodeRoute . SF._staticFileRoute)
+                <&> staticFileSiteRoute
       virtualRoutes :: [VirtualRoute] =
         let tags = fst <$> M.modelTags model
             tagPaths =
-              Set.fromList $
-                ([] :) $ -- [] Triggers generation of main tag index.
-                  concat $
-                    tags <&> \(HT.deconstructTag -> tagPath) ->
+              Set.fromList
+                $ ([] :)
+                $ concatMap -- [] Triggers generation of main tag index.
+                  ( \(HT.deconstructTag -> tagPath) ->
                       NE.filter (not . null) $ NE.inits tagPath
+                  )
+                  tags
          in VirtualRoute_Index
-              : VirtualRoute_Export
+              : VirtualRoute_Export ExportFormat_Metadata
+              : VirtualRoute_Export ExportFormat_Content
               : VirtualRoute_StorkIndex
               : VirtualRoute_TaskIndex
               : (VirtualRoute_TagIndex <$> toList tagPaths)
@@ -165,17 +171,35 @@
     staticResourceRoute :: (StaticFileRoute, FilePath) -> ResourceRoute
     staticResourceRoute = uncurry ResourceRoute_StaticFile
 
--- | Like `siteRouteUrl` but avoids any dynamism in the URL
+{- | Generate the static URL for a site route, including special handling for html-proofer compatibility.
+
+This function builds static URLs by:
+1. Getting the base URL using the configured URL strategy (pretty vs direct)
+2. For home routes that would result in empty URLs, using the template's baseUrl instead
+   to avoid empty href attributes that cause issues with HTML validation tools like html-proofer
+3. Handling all route types: resource routes (notes, static files), virtual routes, missing/ambiguous routes
+-}
 siteRouteUrlStatic :: (HasCallStack) => Model -> SiteRoute -> Text
-siteRouteUrlStatic model =
-  Ema.routeUrlWith (urlStrategy model) rp
+siteRouteUrlStatic model sr =
+  -- For the home route, if the base URL is empty,
+  -- use baseUrl from template to avoid empty href attributes which can
+  -- cause issues with HTML validation tools like html-proofer
+  if url == ""
+    then getBaseUrl model
+    else url
   where
     (rp, _) = M.withoutRoutePrism model
 
+    url = Ema.routeUrlWith (urlStrategy model) rp sr
+
+    getBaseUrl :: Model -> Text
+    getBaseUrl m =
+      Model.lookupRouteMeta "/" ("template" :| ["baseUrl"]) (M.modelIndexRoute m) m
+
+-- | Like siteRouteUrlStatic but live-server friendly
 siteRouteUrl :: (HasCallStack) => Model -> SiteRoute -> Text
 siteRouteUrl model sr =
-  siteRouteUrlStatic model sr
-    <> siteRouteQuery
+  siteRouteUrlStatic model sr <> siteRouteQuery
   where
     siteRouteQuery =
       maybe "" (("?t=" <>) . toText . formatTime defaultTimeLocale "%s") staticFileModifiedTime
diff --git a/src/Emanote/Route/SiteRoute/Type.hs b/src/Emanote/Route/SiteRoute/Type.hs
--- a/src/Emanote/Route/SiteRoute/Type.hs
+++ b/src/Emanote/Route/SiteRoute/Type.hs
@@ -3,6 +3,7 @@
 module Emanote.Route.SiteRoute.Type (
   SiteRoute (..),
   VirtualRoute (..),
+  ExportFormat (..),
   ResourceRoute (..),
   decodeVirtualRoute,
   encodeVirtualRoute,
@@ -18,11 +19,17 @@
 import Relude hiding (show)
 import Text.Show (show)
 
+data ExportFormat
+  = ExportFormat_Metadata
+  | ExportFormat_Content
+  deriving stock (Eq, Ord, Show, Generic)
+  deriving anyclass (ToJSON)
+
 -- | A route to a virtual resource (not in `Model`)
 data VirtualRoute
   = VirtualRoute_Index
   | VirtualRoute_TagIndex [HT.TagNode]
-  | VirtualRoute_Export
+  | VirtualRoute_Export ExportFormat
   | VirtualRoute_StorkIndex
   | VirtualRoute_TaskIndex
   deriving stock (Eq, Ord, Show, Generic)
@@ -65,7 +72,7 @@
 decodeVirtualRoute fp =
   (VirtualRoute_Index <$ decodeIndexR fp)
     <|> (VirtualRoute_TagIndex <$> decodeTagIndexR fp)
-    <|> (VirtualRoute_Export <$ decodeExportR fp)
+    <|> (VirtualRoute_Export <$> decodeExportR fp)
     <|> (VirtualRoute_StorkIndex <$ decodeStorkIndexR fp)
     <|> (VirtualRoute_TaskIndex <$ decodeTaskIndexR fp)
 
@@ -74,10 +81,13 @@
   "-" :| ["all"] <- pure $ R.unRoute $ R.decodeHtmlRoute fp
   pass
 
-decodeExportR :: FilePath -> Maybe ()
+decodeExportR :: FilePath -> Maybe ExportFormat
 decodeExportR fp = do
-  "-" :| ["export.json"] <- R.unRoute <$> R.decodeAnyRoute fp
-  pass
+  "-" :| [file] <- R.unRoute <$> R.decodeAnyRoute fp
+  case file of
+    "export.json" -> pure ExportFormat_Metadata
+    "export.md" -> pure ExportFormat_Content
+    _ -> Nothing
 
 decodeStorkIndexR :: FilePath -> Maybe ()
 decodeStorkIndexR fp = do
@@ -102,12 +112,17 @@
     R.encodeRoute $ encodeTagIndexR tagNodes
   VirtualRoute_Index ->
     R.encodeRoute $ R.R @() @'Ext.Html $ "-" :| ["all"]
-  VirtualRoute_Export ->
-    R.encodeRoute $ R.R @Ext.SourceExt @'Ext.AnyExt $ "-" :| ["export.json"]
+  VirtualRoute_Export exportFormat ->
+    R.encodeRoute $ R.R @Ext.SourceExt @'Ext.AnyExt $ "-" :| [encodeExportR exportFormat]
   VirtualRoute_StorkIndex ->
     R.encodeRoute $ R.R @Ext.SourceExt @'Ext.AnyExt $ "-" :| ["stork.st"]
   VirtualRoute_TaskIndex ->
     R.encodeRoute $ R.R @() @'Ext.Html $ "-" :| ["tasks"]
+
+encodeExportR :: ExportFormat -> Slug.Slug
+encodeExportR = \case
+  ExportFormat_Metadata -> fromString "export.json"
+  ExportFormat_Content -> fromString "export.md"
 
 encodeTagIndexR :: [HT.TagNode] -> R.R 'Ext.Html
 encodeTagIndexR tagNodes =
diff --git a/src/Emanote/Source/Dynamic.hs b/src/Emanote/Source/Dynamic.hs
--- a/src/Emanote/Source/Dynamic.hs
+++ b/src/Emanote/Source/Dynamic.hs
@@ -13,7 +13,6 @@
 import Control.Monad.Logger (MonadLogger, MonadLoggerIO)
 import Data.Map.Strict qualified as Map
 import Data.Set qualified as Set
-import Data.Some (Some)
 import Data.UUID.V4 qualified as UUID
 import Ema (Dynamic (..))
 import Ema.CLI qualified
@@ -51,12 +50,12 @@
 
  The bulk of logic for building the Dynamic is in `Patch.hs`.
 -}
-emanoteSiteInput :: (MonadUnliftIO m, MonadLoggerIO m) => Some Ema.CLI.Action -> EmanoteConfig -> m (Dynamic m Model.ModelEma)
+emanoteSiteInput :: (MonadUnliftIO m, MonadLoggerIO m) => Ema.CLI.Action -> EmanoteConfig -> m (Dynamic m Model.ModelEma)
 emanoteSiteInput cliAct EmanoteConfig {..} = do
   defaultLayer <- Loc.defaultLayer <$> liftIO Paths_emanote.getDataDir
   instanceId <- liftIO UUID.nextRandom
   storkIndex <- Stork.newIndex
-  let layers = Loc.userLayers (CLI.layers _emanoteConfigCli) <> one defaultLayer
+  let layers = Loc.userLayers ((CLI.path &&& CLI.mountPoint) <$> CLI.layers _emanoteConfigCli) <> one defaultLayer
       initialModel = Model.emptyModel layers cliAct _emanoteConfigPandocRenderers _emanoteCompileTailwind instanceId storkIndex
   scriptingEngine <- getEngine
   Dynamic
diff --git a/src/Emanote/Source/Loc.hs b/src/Emanote/Source/Loc.hs
--- a/src/Emanote/Source/Loc.hs
+++ b/src/Emanote/Source/Loc.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE DeriveAnyClass #-}
+
 -- | Notebook location
 module Emanote.Source.Loc (
   -- * Type
@@ -10,13 +12,14 @@
   -- * Using a `Loc`
   locResolve,
   locPath,
+  locMountPoint,
 
   -- * Dealing with layers of locs
-  LocLayers,
-  primaryLayer,
+  userLayersToSearch,
 ) where
 
 import Data.Set qualified as Set
+import Deriving.Aeson qualified as Aeson
 import Relude
 import System.FilePath ((</>))
 
@@ -25,39 +28,45 @@
  The order here matters. Top = higher precedence.
 -}
 data Loc
-  = -- | The Int argument specifies the precedence (lower value = higher precedence)
-    LocUser Int FilePath
+  = -- | The Int argument specifies the precedence (lower value = higher precedence). The last argument is "mount point"
+    LocUser Int FilePath (Maybe FilePath)
   | -- | The default location (ie., emanote default layer)
     LocDefault FilePath
-  deriving stock (Eq, Ord, Show)
-
-type LocLayers = Set Loc
+  deriving stock (Eq, Ord, Show, Generic)
+  deriving anyclass (Aeson.ToJSON)
 
-{- | Return the "primary" `LocUser` layer (that which are not overrides).
+{- | List of user layers, highest precedent being at first.
 
- Assumes that the user has put it always by last; i.e, `-L foo;primary/layer`.
+This is useful to delay searching for content in layers.
 -}
-primaryLayer :: (HasCallStack) => LocLayers -> Loc
-primaryLayer =
-  Set.findMax . Set.filter isUserLayer
-  where
-    isUserLayer = \case
-      LocUser _ _ -> True
-      _ -> False
+userLayersToSearch :: Set Loc -> [FilePath]
+userLayersToSearch =
+  mapMaybe
+    ( \case
+        LocUser _ fp _ -> Just fp
+        LocDefault _ -> Nothing
+    )
+    . Set.toAscList
 
 defaultLayer :: FilePath -> Loc
 defaultLayer = LocDefault
 
-userLayers :: NonEmpty FilePath -> Set Loc
+userLayers :: NonEmpty (FilePath, Maybe FilePath) -> Set Loc
 userLayers paths =
-  fromList $
-    zip [1 ..] (toList paths) <&> uncurry LocUser
+  fromList
+    $ zip [1 ..] (toList paths)
+    <&> (\(a, (b, c)) -> LocUser a b c)
 
 -- | Return the effective path of a file.
 locResolve :: (Loc, FilePath) -> FilePath
-locResolve (loc, fp) = locPath loc </> fp
+locResolve (loc, fp) = fst (locPath loc) </> fp
 
-locPath :: Loc -> FilePath
+locPath :: Loc -> (FilePath, Maybe FilePath)
 locPath = \case
-  LocUser _ fp -> fp
-  LocDefault fp -> fp
+  LocUser _ fp m -> (fp, m)
+  LocDefault fp -> (fp, Nothing)
+
+locMountPoint :: Loc -> Maybe FilePath
+locMountPoint = \case
+  LocUser _ _ mountPoint -> mountPoint
+  LocDefault _ -> Nothing
diff --git a/src/Emanote/Source/Patch.hs b/src/Emanote/Source/Patch.hs
--- a/src/Emanote/Source/Patch.hs
+++ b/src/Emanote/Source/Patch.hs
@@ -22,7 +22,7 @@
   logD,
  )
 import Emanote.Route qualified as R
-import Emanote.Source.Loc (Loc, LocLayers, locPath, locResolve, primaryLayer)
+import Emanote.Source.Loc (Loc, locResolve, userLayersToSearch)
 import Emanote.Source.Pattern (filePatterns, ignorePatterns)
 import Heist.Extra.TemplateState qualified as T
 import Optics.Operators ((%~))
@@ -36,7 +36,7 @@
 -- | Map a filesystem change to the corresponding model change.
 patchModel ::
   (MonadIO m, MonadLogger m, MonadLoggerIO m) =>
-  LocLayers ->
+  Set Loc ->
   (N.Note -> N.Note) ->
   Stork.IndexVar ->
   -- | Lua scripting engine
@@ -59,7 +59,7 @@
 -- | Map a filesystem change to the corresponding model change.
 patchModel' ::
   (MonadIO m, MonadLogger m) =>
-  LocLayers ->
+  Set Loc ->
   (N.Note -> N.Note) ->
   Stork.IndexVar ->
   -- | Lua scripting engine
@@ -90,19 +90,15 @@
 
           case action of
             UM.Refresh refreshAction overlays -> do
-              let fpAbs = locResolve $ head overlays
-                  -- TODO: This should automatically be computed, instead of being passed.
-                  -- We need access to the model though! With dependency management to boot.
-                  -- Until this, `layers` is threaded through as a hack.
-                  currentLayerPath = locPath $ primaryLayer layers
-              s <- readRefreshedFile refreshAction fpAbs
-              note <- N.parseNote scriptingEngine currentLayerPath r fpAbs (decodeUtf8 s)
+              let fpAbs = head overlays
+              s <- readRefreshedFile refreshAction $ locResolve fpAbs
+              note <- N.parseNote scriptingEngine (userLayersToSearch layers) r fpAbs (decodeUtf8 s)
               pure $ M.modelInsertNote $ noteF note
             UM.Delete -> do
               log $ "Removing note: " <> toText fp
               pure $ M.modelDeleteNote r
     R.Yaml ->
-      case R.mkRouteFromFilePath fp of
+      case R.mkRouteFromFilePath' True fp of
         Nothing ->
           pure id
         Just r -> case action of
@@ -111,9 +107,9 @@
               let fpAbs = locResolve overlay
               traverseToSnd (readRefreshedFile refreshAction) fpAbs
             sData <-
-              liftIO $
-                either (throwIO . BadInput) pure $
-                  SD.parseSDataCascading r yamlContents
+              liftIO
+                $ either (throwIO . BadInput) pure
+                $ SD.parseSDataCascading r yamlContents
             pure $ M.modelInsertData sData
           UM.Delete -> do
             log $ "Removing data: " <> toText fp
diff --git a/src/Emanote/Source/Pattern.hs b/src/Emanote/Source/Pattern.hs
--- a/src/Emanote/Source/Pattern.hs
+++ b/src/Emanote/Source/Pattern.hs
@@ -7,16 +7,16 @@
 filePattern :: (HasCallStack) => R.FileType R.SourceExt -> FilePath
 filePattern = \case
   R.LMLType R.Md ->
-    R.withExt @_ @('R.LMLType 'R.Md) $
-      "**/*"
+    R.withExt @_ @('R.LMLType 'R.Md)
+      $ "**/*"
   R.LMLType R.Org ->
-    R.withExt @_ @('R.LMLType 'R.Org) $
-      "**/*"
+    R.withExt @_ @('R.LMLType 'R.Org)
+      $ "**/*"
   R.Yaml ->
     R.withExt @_ @'R.Yaml "**/*"
   R.HeistTpl ->
-    R.withExt @_ @'R.HeistTpl $
-      "**/*"
+    R.withExt @_ @'R.HeistTpl
+      $ "**/*"
   R.AnyExt ->
     "**"
 
diff --git a/src/Emanote/View/Common.hs b/src/Emanote/View/Common.hs
--- a/src/Emanote/View/Common.hs
+++ b/src/Emanote/View/Common.hs
@@ -10,13 +10,14 @@
   TemplateRenderCtx (..),
   mkTemplateRenderCtx,
   defaultRouteMeta,
-) where
+)
+where
 
 import Data.Aeson.Types qualified as Aeson
 import Data.Map.Syntax ((##))
 import Data.Text qualified as T
 import Data.Version (showVersion)
-import Ema qualified
+import Ema.Server.Common qualified as Ema
 import Emanote.Model.Meta qualified as Meta
 import Emanote.Model.SData qualified as SData
 import Emanote.Model.Title qualified as Tit
@@ -53,7 +54,7 @@
   }
 
 {- | Create the context in which Heist templates (notably `pandoc.tpl`) will be
- rendered.
+rendered.
 -}
 mkTemplateRenderCtx ::
   -- | Current model.
@@ -121,8 +122,9 @@
   -- Add tailwind css shim
   "tailwindCssShim" ##
     do
-      pure . RX.renderHtmlNodes $
-        if M.inLiveServer model || not (model ^. M.modelCompileTailwind)
+      pure
+        . RX.renderHtmlNodes
+        $ if M.inLiveServer model || not (model ^. M.modelCompileTailwind)
           then do
             -- Twind shim doesn't reliably work in dev server mode. Let's just use the
             -- tailwind CDN.
@@ -138,22 +140,13 @@
     HI.textSplice (toText $ showVersion Paths_emanote.version)
   "ema:metadata" ##
     HJ.bindJson meta
-  "ema:title" ## withCtx $ \ctx ->
-    Tit.titleSplice ctx id routeTitle
+  "ema:title" ##
+    withCtx
+      $ \ctx ->
+        Tit.titleSplice ctx id routeTitle
   -- <head>'s <title> cannot contain HTML
   "ema:titleFull" ##
     Tit.titleSpliceNoHtml routeTitleFull
-  -- `ema:homeUrl` is normally `""`; but if Emanote is being served from an URL
-  -- prefix, it would be "/foo/" (with a slash at the end). This allows you to
-  -- just concatanate homeUrl with a relative URL path (no slash in between), to
-  -- get the full URL. The reason there is no slash in between is to account for
-  -- the usual case of homeUrl being an empty string.
-  "ema:homeUrl" ##
-    ( let homeR = SR.lmlSiteRoute (R.LMLView_Html, M.modelIndexRoute model)
-          homeUrl' = SR.siteRouteUrl model homeR
-          homeUrl = if homeUrl' /= "" then homeUrl' <> "/" else homeUrl'
-       in HI.textSplice homeUrl
-    )
   "ema:indexUrl" ##
     HI.textSplice (SR.siteRouteUrl model SR.indexRoute)
   "ema:tagIndexUrl" ##
@@ -166,10 +159,10 @@
         -- Also: more-head.tpl is the one place where this is hardcoded.
         let staticFolder = "_emanote-static"
             itUrl =
-              SR.siteRouteUrl model $
-                SR.staticFileSiteRoute $
-                  fromMaybe (error "no _emanote-static?") $
-                    M.modelLookupStaticFile (staticFolder </> "inverted-tree.css") model
+              SR.siteRouteUrl model
+                $ SR.staticFileSiteRoute
+                $ fromMaybe (error "no _emanote-static?")
+                $ M.modelLookupStaticFile (staticFolder </> "inverted-tree.css") model
             staticFolderUrl = fst $ T.breakOn "/inverted-tree.css" itUrl
             -- Deal with a silly Firefox bug https://github.com/srid/emanote/issues/340
             --
@@ -192,13 +185,13 @@
     cannotBeCached url = url <> "?instanceId=" <> show (model ^. M.modelInstanceID)
     cachedTailwindCdn = do
       let localCdnUrl =
-            SR.siteRouteUrl model $
-              SR.staticFileSiteRoute $
-                LiveServerFiles.tailwindCssFile model
-      H.link
-        ! A.href (H.toValue localCdnUrl)
-        ! A.rel "stylesheet"
-        ! A.type_ "text/css"
+            SR.siteRouteUrl model
+              $ SR.staticFileSiteRoute
+              $ LiveServerFiles.tailwindJsFile model
+      H.script
+        ! H.customAttribute "data-ema-skip" "true"
+        ! A.src (H.toValue localCdnUrl)
+        $ mempty
 
 renderModelTemplate :: Model -> Tmpl.TemplateName -> H.Splices (HI.Splice Identity) -> LByteString
 renderModelTemplate model templateName =
diff --git a/src/Emanote/View/Export.hs b/src/Emanote/View/Export.hs
--- a/src/Emanote/View/Export.hs
+++ b/src/Emanote/View/Export.hs
@@ -1,95 +1,21 @@
-{-# LANGUAGE DeriveAnyClass #-}
-
+-- | Export an Emanote notebook to external formats.
 module Emanote.View.Export (
-  renderGraphExport,
-  Link (..),
-  modelRels,
+  ExportFormat (..),
+  renderExport,
 ) where
 
-import Data.Aeson (ToJSON)
-import Data.Aeson qualified as Aeson
-import Data.Map.Strict qualified as Map
 import Emanote.Model (Model)
-import Emanote.Model qualified as M
-import Emanote.Model.Graph qualified as G
-import Emanote.Model.Link.Rel qualified as Rel
-import Emanote.Model.Link.Resolve qualified as Resolve
-import Emanote.Model.Title qualified as Tit
-import Emanote.Route (LMLRoute)
-import Emanote.Route qualified as R
-import Emanote.Route.SiteRoute qualified as SR
-import Emanote.Route.SiteRoute.Class (lmlSiteRoute)
-import Optics.Operators ((^.))
+import Emanote.Route.SiteRoute.Type (ExportFormat (..))
+import Emanote.View.Export.Content
+import Emanote.View.Export.JSON
 import Relude
 
-data Export = Export
-  { version :: Word
-  , files :: Map Text SourceFile
-  }
-  deriving stock (Generic, Show)
-  deriving anyclass (ToJSON)
-
-currentVersion :: Word
-currentVersion = 1
-
--- | A source file in `Model`
-data SourceFile = SourceFile
-  { title :: Text
-  , filePath :: Text
-  , parentNote :: Maybe Text
-  , url :: Text
-  , meta :: Aeson.Value
-  , links :: [Link]
-  }
-  deriving stock (Generic, Show)
-  deriving anyclass (ToJSON)
-
-data Link = Link
-  { unresolvedRelTarget :: Rel.UnresolvedRelTarget
-  , resolvedRelTarget :: Rel.ResolvedRelTarget Text
-  }
-  deriving stock (Generic, Eq, Ord, Show)
-  deriving anyclass (ToJSON)
-
-renderGraphExport :: Model -> LByteString
-renderGraphExport model =
-  let notes_ =
-        M.modelNoteMetas model
-          & Map.mapKeys lmlRouteKey
-          & Map.map
-            ( \(tit, r, meta_) ->
-                let k = lmlRouteKey r
-                 in SourceFile
-                      (Tit.toPlain tit)
-                      k
-                      (toText . lmlSourcePath <$> G.parentLmlRoute model r)
-                      (SR.siteRouteUrl model $ lmlSiteRoute (R.LMLView_Html, r))
-                      meta_
-                      (fromMaybe [] $ Map.lookup k rels)
-            )
-      rels = modelRels model & Map.mapKeys lmlRouteKey
-      export = Export currentVersion notes_
-   in Aeson.encode export
-
-modelRels :: Model -> Map LMLRoute [Link]
-modelRels model =
-  Map.fromListWith (<>) $
-    M.modelNoteRels model <&> \rel ->
-      let from_ = rel ^. Rel.relFrom
-          to_ = rel ^. Rel.relTo
-          toTarget =
-            Resolve.resolveUnresolvedRelTarget model to_
-              <&> SR.siteRouteUrlStatic model
-       in (from_, one $ Link to_ toTarget)
-
--- An unique key to represent this LMLRoute in the exported JSON
---
--- We use the source path consistently.
-lmlRouteKey :: LMLRoute -> Text
-lmlRouteKey =
-  toText . R.withLmlRoute R.encodeRoute
-
--- Path of the LML note
-lmlSourcePath :: LMLRoute -> FilePath
-lmlSourcePath =
-  R.withLmlRoute R.encodeRoute
+-- | Render the specified export format to LByteString
+renderExport :: ExportFormat -> Model -> IO LByteString
+renderExport exportFormat model =
+  case exportFormat of
+    ExportFormat_Metadata -> do
+      pure $ renderJSONExport model
+    ExportFormat_Content -> do
+      content <- renderContentExport model
+      pure $ encodeUtf8 content
diff --git a/src/Emanote/View/Export/Content.hs b/src/Emanote/View/Export/Content.hs
new file mode 100644
--- /dev/null
+++ b/src/Emanote/View/Export/Content.hs
@@ -0,0 +1,108 @@
+{-# LANGUAGE QuasiQuotes #-}
+
+-- | Content export functionality for Emanote notebooks.
+module Emanote.View.Export.Content (
+  renderContentExport,
+  exportNote,
+  generateNoteHeader,
+  readNoteContent,
+  noteDelimiter,
+  llmPromptTemplate,
+) where
+
+import Commonmark.Extensions.WikiLink qualified as WL
+import Data.Text qualified as T
+import Emanote.Model (Model)
+import Emanote.Model qualified as M
+import Emanote.Model.Note qualified as Note
+import Emanote.Model.Title qualified as Tit
+import Emanote.Route qualified as R
+import Emanote.Route.SiteRoute qualified as SR
+import Emanote.Route.SiteRoute.Class (lmlSiteRoute)
+import Emanote.Source.Loc (locResolve)
+import Emanote.View.Export.JSON (getBaseUrlFromModel, lmlSourcePath)
+import NeatInterpolation (text)
+import Optics.Operators ((^.))
+import Relude
+
+-- | Delimiter used to separate notes in content export
+noteDelimiter :: Text
+noteDelimiter = "==="
+
+-- | LLM prompt template for content export
+llmPromptTemplate :: Text -> Text -> Text
+llmPromptTemplate urlHelpText baseUrlText =
+  [text|
+  <!-- LLM PROMPT: This document contains all notes from an Emanote notebook.
+  Each note is separated by '${noteDelimiter}' delimiters and includes metadata headers.
+  - Source: The original file path in the notebook
+  ${urlHelpText}
+  - Title: The note's title
+  - Wikilinks: All possible ways to reference this note using [[wikilink]] syntax
+
+  When referencing notes, you can use any of the wikilinks provided.
+  ${baseUrlText}
+  -->
+  |]
+    <> "\n\n"
+
+-- | Export all notes to a single Markdown file, separated by delimiters
+renderContentExport :: Model -> IO Text
+renderContentExport model = do
+  let mBaseUrl = getBaseUrlFromModel model
+  let notes_ = model ^. M.modelNotes
+      noteList = sortOn (lmlSourcePath . Note._noteRoute) $ toList notes_
+  exportedNotes <- catMaybes <$> mapM (exportNote model) noteList
+  let urlHelpText = case mBaseUrl of
+        Just _ -> "- URL: The full URL where this note can be accessed"
+        Nothing -> "- URL: Not included (no base URL configured)"
+      baseUrlText = case mBaseUrl of
+        Just baseUrl -> "The base URL is: " <> baseUrl
+        Nothing -> "No base URL configured (set page.siteUrl in notebook config)"
+      llmPrompt = llmPromptTemplate urlHelpText baseUrlText
+  pure $ llmPrompt <> T.intercalate ("\n\n" <> noteDelimiter <> "\n\n") exportedNotes
+
+-- | Generate note header with metadata
+generateNoteHeader :: Model -> Note.Note -> Text
+generateNoteHeader model note =
+  let route = Note._noteRoute note
+      sourcePath = lmlSourcePath route
+      noteTitle = Tit.toPlain $ Note._noteTitle note
+      wikilinks = Note.noteSelfRefs note
+      wikilinkTexts = toList $ fmap (toText . (show :: WL.WikiLink -> String)) wikilinks
+      wikilinkList = T.intercalate ", " wikilinkTexts
+      sourcePathText = toText sourcePath
+      mBaseUrl = getBaseUrlFromModel model
+   in case mBaseUrl of
+        Just baseUrl ->
+          let noteUrl = baseUrl <> "/" <> toText (SR.siteRouteUrlStatic model $ lmlSiteRoute (R.LMLView_Html, route))
+           in [text|
+             <!-- Source: ${sourcePathText} -->
+             <!-- URL: ${noteUrl} -->
+             <!-- Title: ${noteTitle} -->
+             <!-- Wikilinks: ${wikilinkList} -->
+             |]
+                <> "\n\n"
+        Nothing ->
+          [text|
+          <!-- Source: ${sourcePathText} -->
+          <!-- Title: ${noteTitle} -->
+          <!-- Wikilinks: ${wikilinkList} -->
+          |]
+            <> "\n\n"
+
+-- | Read note content from file
+readNoteContent :: Note.Note -> IO (Maybe Text)
+readNoteContent note =
+  case Note._noteSource note of
+    Nothing -> pure Nothing -- Note has no source file (auto-generated)
+    Just locAndFile -> do
+      let actualFilePath = locResolve locAndFile
+      markdownContent <- decodeUtf8 <$> readFileBS actualFilePath
+      pure $ Just markdownContent
+
+-- | Export a single note with metadata header
+exportNote :: Model -> Note.Note -> IO (Maybe Text)
+exportNote model note = do
+  mContent <- readNoteContent note
+  pure $ fmap (generateNoteHeader model note <>) mContent
diff --git a/src/Emanote/View/Export/JSON.hs b/src/Emanote/View/Export/JSON.hs
new file mode 100644
--- /dev/null
+++ b/src/Emanote/View/Export/JSON.hs
@@ -0,0 +1,114 @@
+{-# LANGUAGE DeriveAnyClass #-}
+
+-- | JSON export functionality for Emanote notebooks.
+module Emanote.View.Export.JSON (
+  Export (..),
+  SourceFile (..),
+  Link (..),
+  renderJSONExport,
+  modelRels,
+  currentVersion,
+  lmlRouteKey,
+  lmlSourcePath,
+  getBaseUrlFromModel,
+) where
+
+import Data.Aeson (ToJSON)
+import Data.Aeson qualified as Aeson
+import Data.Map.Strict qualified as Map
+import Emanote.Model (Model)
+import Emanote.Model qualified as M
+import Emanote.Model.Link.Rel qualified as Rel
+import Emanote.Model.Link.Resolve qualified as Resolve
+import Emanote.Model.Meta (getEffectiveRouteMeta)
+import Emanote.Model.SData (lookupAeson)
+import Emanote.Model.Title qualified as Tit
+import Emanote.Route (LMLRoute)
+import Emanote.Route qualified as R
+import Emanote.Route.SiteRoute qualified as SR
+import Emanote.Route.SiteRoute.Class (lmlSiteRoute)
+import Optics.Operators ((^.))
+import Relude
+
+-- | A JSON export of the notebook
+data Export = Export
+  { version :: Word
+  -- ^ This JSON's schema version
+  , files :: Map Text SourceFile
+  }
+  deriving stock (Generic, Show)
+  deriving anyclass (ToJSON)
+
+currentVersion :: Word
+currentVersion = 1
+
+-- | A source file in `Model`
+data SourceFile = SourceFile
+  { title :: Text
+  , filePath :: Text
+  , parentNote :: Maybe Text
+  , url :: Text
+  , meta :: Aeson.Value
+  , links :: [Link]
+  }
+  deriving stock (Generic, Show)
+  deriving anyclass (ToJSON)
+
+data Link = Link
+  { unresolvedRelTarget :: Rel.UnresolvedRelTarget
+  , resolvedRelTarget :: Rel.ResolvedRelTarget Text
+  }
+  deriving stock (Generic, Eq, Ord, Show)
+  deriving anyclass (ToJSON)
+
+--- | Export the notebook's metadata (not content) to JSON format.
+renderJSONExport :: Model -> LByteString
+renderJSONExport model =
+  let notes_ =
+        M.modelNoteMetas model
+          & Map.mapKeys lmlRouteKey
+          & Map.map
+            ( \(tit, r, meta_) ->
+                let k = lmlRouteKey r
+                 in SourceFile
+                      (Tit.toPlain tit)
+                      k
+                      (toText . lmlSourcePath <$> M.parentLmlRoute model r)
+                      (SR.siteRouteUrl model $ lmlSiteRoute (R.LMLView_Html, r))
+                      meta_
+                      (fromMaybe [] $ Map.lookup k rels)
+            )
+      rels = modelRels model & Map.mapKeys lmlRouteKey
+      export = Export currentVersion notes_
+   in Aeson.encode export
+
+modelRels :: Model -> Map LMLRoute [Link]
+modelRels model =
+  Map.fromListWith (<>)
+    $ M.modelNoteRels model
+    <&> \rel ->
+      let from_ = rel ^. Rel.relFrom
+          to_ = rel ^. Rel.relTo
+          toTarget =
+            Resolve.resolveUnresolvedRelTarget model from_ to_
+              <&> SR.siteRouteUrlStatic model
+       in (from_, one $ Link to_ toTarget)
+
+-- An unique key to represent this LMLRoute in the exported JSON
+--
+-- We use the source path consistently.
+lmlRouteKey :: LMLRoute -> Text
+lmlRouteKey =
+  toText . R.withLmlRoute R.encodeRoute
+
+-- Path of the LML note
+lmlSourcePath :: LMLRoute -> FilePath
+lmlSourcePath =
+  R.withLmlRoute R.encodeRoute
+
+-- | Get base URL from model configuration (returns Nothing if not configured)
+getBaseUrlFromModel :: Model -> Maybe Text
+getBaseUrlFromModel model =
+  let indexRoute = M.modelIndexRoute model
+      feedMeta = getEffectiveRouteMeta indexRoute model
+   in lookupAeson Nothing ("page" :| ["siteUrl"]) feedMeta
diff --git a/src/Emanote/View/Feed.hs b/src/Emanote/View/Feed.hs
--- a/src/Emanote/View/Feed.hs
+++ b/src/Emanote/View/Feed.hs
@@ -81,8 +81,8 @@
       let feedMeta :: Aeson.Value
           feedMeta = getEffectiveRouteMeta (_noteRoute baseNote) model
       let mFeedUrl :: Maybe Text
-          mFeedUrl = lookupAeson Nothing ("feed" :| ["siteUrl"]) feedMeta
-      feedUrl <- maybeToRight "index.yaml or note doesn't have feed.siteUrl" mFeedUrl
+          mFeedUrl = lookupAeson Nothing ("page" :| ["siteUrl"]) feedMeta
+      feedUrl <- maybeToRight "index.yaml or note doesn't have page.siteUrl" mFeedUrl
 
       -- process the notes
       let noteUrl note =
diff --git a/src/Emanote/View/LiveServerFiles.hs b/src/Emanote/View/LiveServerFiles.hs
--- a/src/Emanote/View/LiveServerFiles.hs
+++ b/src/Emanote/View/LiveServerFiles.hs
@@ -1,8 +1,9 @@
 module Emanote.View.LiveServerFiles (
   isLiveServerFile,
-  tailwindFullCssPath,
-  tailwindCssFile,
-) where
+  tailwindFullJsPath,
+  tailwindJsFile,
+)
+where
 
 import Data.Text qualified as T
 import Emanote.Model.StaticFile (StaticFile)
@@ -14,13 +15,13 @@
 baseDir :: FilePath
 baseDir = "_emanote-live-server"
 
-tailwindFullCssPath :: FilePath
-tailwindFullCssPath = baseDir <> "/tailwind/2.2.2/tailwind.min.css"
+tailwindFullJsPath :: FilePath
+tailwindFullJsPath = baseDir <> "/tailwind/tailwind.cdn.js"
 
 isLiveServerFile :: FilePath -> Bool
 isLiveServerFile (toText -> fp) =
   toText baseDir `T.isPrefixOf` fp
 
-tailwindCssFile :: M.Model -> StaticFile
-tailwindCssFile model =
-  fromMaybe (error "model not ready?") $ M.modelLookupStaticFile tailwindFullCssPath model
+tailwindJsFile :: M.Model -> StaticFile
+tailwindJsFile model =
+  fromMaybe (error "model not ready?") $ M.modelLookupStaticFile tailwindFullJsPath model
diff --git a/src/Emanote/View/TagIndex.hs b/src/Emanote/View/TagIndex.hs
--- a/src/Emanote/View/TagIndex.hs
+++ b/src/Emanote/View/TagIndex.hs
@@ -87,23 +87,23 @@
     "ema:tag:url" ## HI.textSplice (SR.siteRouteUrl model $ SR.tagIndexRoute tagPath)
     let parents = maybe [] (inits . init) $ nonEmpty (tagIndexPath tagIdx)
     "ema:tagcrumbs" ##
-      Splices.listSplice parents "ema:each-crumb" $
-        \crumb -> do
+      Splices.listSplice parents "ema:each-crumb"
+        $ \crumb -> do
           let crumbTitle = maybe "/" (HT.unTagNode . last) . nonEmpty $ crumb
               crumbUrl = SR.siteRouteUrl model $ SR.tagIndexRoute crumb
           "ema:tagcrumb:title" ## HI.textSplice crumbTitle
           "ema:tagcrumb:url" ## HI.textSplice crumbUrl
     "ema:childTags" ##
-      Splices.listSplice (tagIndexChildren tagIdx) "ema:each-childTag" $
-        \childTag -> do
+      Splices.listSplice (tagIndexChildren tagIdx) "ema:each-childTag"
+        $ \childTag -> do
           let childIndex = mkTagIndex model (toList . fst $ childTag)
           "ema:childTag:title" ## HI.textSplice (tagNodesText $ fst childTag)
           "ema:childTag:url" ## HI.textSplice (SR.siteRouteUrl model $ SR.tagIndexRoute (toList $ fst childTag))
           "ema:childTag:count-note" ## HI.textSplice (show (length $ snd childTag))
           "ema:childTag:count-tag" ## HI.textSplice (show (length $ tagIndexChildren childIndex))
     "ema:notes" ##
-      Splices.listSplice (tagIndexNotes tagIdx) "ema:each-note" $
-        \note ->
+      Splices.listSplice (tagIndexNotes tagIdx) "ema:each-note"
+        $ \note ->
           PF.noteSpliceMap (withInlineCtx tCtx) model note
 
 tagNodesText :: NonEmpty HT.TagNode -> Text
diff --git a/src/Emanote/View/TaskIndex.hs b/src/Emanote/View/TaskIndex.hs
--- a/src/Emanote/View/TaskIndex.hs
+++ b/src/Emanote/View/TaskIndex.hs
@@ -23,10 +23,12 @@
 
 mkTaskIndex :: Model -> TaskIndex
 mkTaskIndex model =
-  TaskIndex . Map.map NE.sort $
-    Map.fromListWith (<>) $
-      filter (not . Task._taskChecked) (Ix.toList $ model ^. M.modelTasks) <&> \task ->
-        (task ^. Task.taskRoute, one task)
+  TaskIndex
+    . Map.map NE.sort
+    $ Map.fromListWith (<>)
+    $ filter (not . Task._taskChecked) (Ix.toList $ model ^. M.modelTasks)
+    <&> \task ->
+      (task ^. Task.taskRoute, one task)
 
 renderTasks :: Model -> LByteString
 renderTasks model = do
@@ -42,8 +44,9 @@
       taskSplice task = do
         let r = task ^. Task.taskRoute
         -- TODO: reuse note splice
-        "task:description" ## Common.withInlineCtx tCtx $ \ctx ->
-          Splices.pandocSplice ctx $ B.Pandoc mempty $ one $ B.Plain $ task ^. Task.taskDescription
+        "task:description" ##
+          Common.withInlineCtx tCtx $ \ctx ->
+            Splices.pandocSplice ctx $ B.Pandoc mempty $ one $ B.Plain $ task ^. Task.taskDescription
         "note:title" ## Common.titleSplice tCtx (M.modelLookupTitle r model)
         "note:url" ## HI.textSplice (SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, r))
 
diff --git a/src/Emanote/View/Template.hs b/src/Emanote/View/Template.hs
--- a/src/Emanote/View/Template.hs
+++ b/src/Emanote/View/Template.hs
@@ -3,10 +3,10 @@
 import Control.Monad.Logger (MonadLoggerIO)
 import Data.Aeson.Types qualified as Aeson
 import Data.List (partition)
-import Data.List.NonEmpty qualified as NE
 import Data.Map.Syntax ((##))
+import Data.Set qualified as Set
 import Data.Text qualified as T
-import Data.Tree.Path qualified as PathTree
+import Data.Tree qualified as Tree
 import Ema qualified
 import Emanote.Model (Model, ModelEma)
 import Emanote.Model qualified as M
@@ -16,12 +16,13 @@
 import Emanote.Model.Note qualified as MN
 import Emanote.Model.SData qualified as SData
 import Emanote.Model.Stork (renderStorkIndex)
+import Emanote.Model.Toc (newToc, renderToc, tocUnnecessaryToRender)
 import Emanote.Route qualified as R
 import Emanote.Route.SiteRoute (SiteRoute)
 import Emanote.Route.SiteRoute qualified as SR
 import Emanote.Route.SiteRoute.Class (indexRoute)
 import Emanote.View.Common qualified as C
-import Emanote.View.Export (renderGraphExport)
+import Emanote.View.Export (renderExport)
 import Emanote.View.Feed (feedDiscoveryLink, renderFeed)
 import Emanote.View.TagIndex qualified as TagIndex
 import Emanote.View.TaskIndex qualified as TaskIndex
@@ -65,25 +66,27 @@
           pure prefix
 
 render :: (MonadIO m, MonadLoggerIO m) => Model -> SR.SiteRoute -> m (Ema.Asset LByteString)
-render m sr =
-  let setErrorPageMeta =
-        MN.noteMeta .~ SData.mergeAesons (withTemplateName "/templates/error" :| [withSiteTitle "Emanote Error"])
-   in case sr of
-        SR.SiteRoute_MissingR urlPath -> do
-          let hereRoute = R.decodeHtmlRoute urlPath
-              note404 =
-                MN.missingNote hereRoute (toText urlPath)
-                  & setErrorPageMeta
-                  & MN.noteTitle .~ "! Missing link"
-          pure $ Ema.AssetGenerated Ema.Html $ renderLmlHtml m note404
-        SR.SiteRoute_AmbiguousR urlPath notes -> do
-          let noteAmb =
-                MN.ambiguousNoteURL urlPath notes
-                  & setErrorPageMeta
-                  & MN.noteTitle .~ "! Ambiguous link"
-          pure $ Ema.AssetGenerated Ema.Html $ renderLmlHtml m noteAmb
-        SR.SiteRoute_ResourceRoute r -> pure $ renderResourceRoute m r
-        SR.SiteRoute_VirtualRoute r -> renderVirtualRoute m r
+render m = \case
+  SR.SiteRoute_MissingR urlPath -> do
+    let hereRoute = R.decodeHtmlRoute urlPath
+        note404 =
+          MN.missingNote hereRoute (toText urlPath)
+            & setErrorPageMeta
+            & MN.noteTitle
+            .~ "! Missing link"
+    pure $ Ema.AssetGenerated Ema.Html $ renderLmlHtml m note404
+  SR.SiteRoute_AmbiguousR urlPath notes -> do
+    let noteAmb =
+          MN.ambiguousNoteURL urlPath notes
+            & setErrorPageMeta
+            & MN.noteTitle
+            .~ "! Ambiguous link"
+    pure $ Ema.AssetGenerated Ema.Html $ renderLmlHtml m noteAmb
+  SR.SiteRoute_ResourceRoute r -> pure $ renderResourceRoute m r
+  SR.SiteRoute_VirtualRoute r -> renderVirtualRoute m r
+  where
+    setErrorPageMeta =
+      MN.noteMeta .~ SData.mergeAesons (withTemplateName "/templates/error" :| [withSiteTitle "Emanote Error"])
 
 renderResourceRoute :: Model -> SR.ResourceRoute -> Ema.Asset LByteString
 renderResourceRoute m = \case
@@ -107,8 +110,9 @@
     pure $ Ema.AssetGenerated Ema.Html $ TagIndex.renderTagIndex m mtag
   SR.VirtualRoute_Index ->
     pure $ Ema.AssetGenerated Ema.Html $ renderSRIndex m
-  SR.VirtualRoute_Export ->
-    pure $ Ema.AssetGenerated Ema.Other $ renderGraphExport m
+  SR.VirtualRoute_Export exportFormat -> do
+    content <- liftIO $ renderExport exportFormat m
+    pure $ Ema.AssetGenerated Ema.Other content
   SR.VirtualRoute_StorkIndex ->
     Ema.AssetGenerated Ema.Other <$> renderStorkIndex m
   SR.VirtualRoute_TaskIndex ->
@@ -120,18 +124,35 @@
       tCtx = C.mkTemplateRenderCtx model r meta
   C.renderModelTemplate model "templates/special/index" $ do
     C.commonSplices ($ emptyRenderCtx) model meta "Index"
-    routeTreeSplice tCtx Nothing model
+    routeTreeSplices tCtx Nothing model
 
 loaderHead :: LByteString
 loaderHead =
   "<em style='font-size: 400%; border-bottom: 1px solid; margin-bottom: 4em; '>Union mounting notebook layers; please wait ...</em>"
 
+patchMeta :: Aeson.Value -> Aeson.Value
+patchMeta meta =
+  -- Convert relative to absolute URLs in "page.image", because some sites
+  -- (Twitter) require "og:image" to be absolute.
+  SData.modifyAeson
+    ("page" :| ["image"])
+    ( \case
+        Just (Aeson.String v)
+          | not (":" `T.isInfixOf` v) && siteUrl /= "" ->
+              Just $ Aeson.String $ siteUrl <> "/" <> v
+        x -> x
+    )
+    meta
+  where
+    siteUrl = SData.lookupAeson @Text "" ("page" :| ["siteUrl"]) meta
+
 renderLmlHtml :: Model -> MN.Note -> LByteString
 renderLmlHtml model note = do
   let r = note ^. MN.noteRoute
-      meta = Meta.getEffectiveRouteMetaWith (note ^. MN.noteMeta) r model
-      ctx = C.mkTemplateRenderCtx model r meta
-      templateName = lookupTemplateName meta
+      meta = patchMeta $ Meta.getEffectiveRouteMetaWith (note ^. MN.noteMeta) r model
+      toc = newToc $ note ^. MN.noteDoc
+      sourcePath = fromMaybe (R.withLmlRoute R.encodeRoute r) $ do
+        fmap snd $ note ^. MN.noteSource
       -- Force a doctype into the generated HTML as a workaround for Heist
       -- discarding it. See: https://github.com/srid/emanote/issues/216
       withDoctype = ("<!DOCTYPE html>\n" <>)
@@ -139,101 +160,118 @@
         if M.inLiveServer model && model ^. M.modelStatus == M.Status_Loading
           then (loaderHead <>)
           else id
-  withDoctype . withLoadingMessage . C.renderModelTemplate model templateName $ do
+  withDoctype . withLoadingMessage . C.renderModelTemplate model (lookupTemplateName meta) $ do
+    let ctx = C.mkTemplateRenderCtx model r meta
     C.commonSplices (C.withLinkInlineCtx ctx) model meta (note ^. MN.noteTitle)
-    let backlinksSplice (bs :: [(R.LMLRoute, NonEmpty [B.Block])]) =
-          Splices.listSplice bs "backlink" $
-            \(source, contexts) -> do
-              let bnote = fromMaybe (error "backlink note missing - impossible") $ M.modelLookupNoteByRoute' source model
-                  bmeta = Meta.getEffectiveRouteMetaWith (bnote ^. MN.noteMeta) source model
-                  bctx = C.mkTemplateRenderCtx model source bmeta
-              -- TODO: reuse note splice
-              "backlink:note:title" ## C.titleSplice bctx (M.modelLookupTitle source model)
-              "backlink:note:url" ## HI.textSplice (SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, source))
-              "backlink:note:contexts" ## Splices.listSplice (toList contexts) "context" $ \backlinkCtx -> do
-                let ctxDoc = Pandoc mempty $ one $ B.Div B.nullAttr backlinkCtx
-                "context:body" ## C.withInlineCtx bctx $ \ctx' ->
-                  Splices.pandocSplice ctx' ctxDoc
+    -- Template flags
+    forM_ ["uptree", "breadcrumbs", "sidebar", "toc"] $ \flag -> do
+      let hasFlag' = Meta.lookupRouteMeta @Bool False ("template" :| [flag, "enable"]) r model
+          hasFlag = if flag == "toc" then hasFlag' && not (tocUnnecessaryToRender toc) else hasFlag'
+      "ema:has:" <> flag ## Heist.ifElseISplice hasFlag
     -- Sidebar navigation
-    routeTreeSplice ctx (Just r) model
+    routeTreeSplices ctx (Just r) model
     "ema:breadcrumbs" ##
       C.routeBreadcrumbs ctx model r
     -- Note stuff
     "ema:note:title" ##
       C.titleSplice ctx (note ^. MN.noteTitle)
-    let modelRoute = R.ModelRoute_LML R.LMLView_Html r
     "ema:note:source-path" ##
-      HI.textSplice (toText . R.withLmlRoute R.encodeRoute $ r)
+      HI.textSplice
+        $ toText sourcePath
     "ema:note:url" ##
       HI.textSplice (SR.siteRouteUrl model . SR.lmlSiteRoute $ (R.LMLView_Html, r))
-    "emaNoteFeedUrl"
-      ## pure
+    "emaNoteFeedUrl" ##
+      pure
         . RX.renderHtmlNodes
-      $ if MN.noteHasFeed note
-        then feedDiscoveryLink model note
-        else mempty
+        $ if MN.noteHasFeed note
+          then feedDiscoveryLink model note
+          else mempty
     "ema:note:backlinks" ##
-      backlinksSplice (G.modelLookupBacklinks modelRoute model)
-    let (backlinksDaily, backlinksNoDaily) = partition (Calendar.isDailyNote . fst) $ G.modelLookupBacklinks modelRoute model
+      backlinksSplice model (G.modelLookupBacklinks r model)
+    let (backlinksDaily, backlinksNoDaily) = partition (Calendar.isDailyNote . fst) $ G.modelLookupBacklinks r model
     "ema:note:backlinks:daily" ##
-      backlinksSplice backlinksDaily
+      backlinksSplice model backlinksDaily
     "ema:note:backlinks:nodaily" ##
-      backlinksSplice backlinksNoDaily
-    let folgeAnc = G.modelFolgezettelAncestorTree modelRoute model
+      backlinksSplice model backlinksNoDaily
+    let folgeAnc = G.modelFolgezettelAncestorTree model r
     "ema:note:uptree" ##
-      Splices.treeSplice (\_ _ -> ()) folgeAnc $
-        \(last -> nodeRoute) children -> do
+      Splices.treeSplice (\_ _ -> ()) folgeAnc
+        $ \(last -> nodeRoute) children -> do
           "node:text" ## C.titleSplice ctx $ M.modelLookupTitle nodeRoute model
           "node:url" ## HI.textSplice $ SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, nodeRoute)
           "tree:open" ## Heist.ifElseISplice (not . null $ children)
     "ema:note:uptree:nonempty" ## Heist.ifElseISplice (not . null $ folgeAnc)
     "ema:note:pandoc" ##
-      C.withBlockCtx ctx $
-        \ctx' ->
+      C.withBlockCtx ctx
+        $ \ctx' ->
           Splices.pandocSplice ctx' (note ^. MN.noteDoc)
+    "ema:note:toc" ##
+      C.withBlockCtx ctx
+        $ \ctx' ->
+          renderToc ctx' toc
 
--- | If there is no 'current route', all sub-trees are marked as active/open.
-routeTreeSplice ::
-  (Monad n) =>
-  C.TemplateRenderCtx n ->
-  Maybe R.LMLRoute ->
-  Model ->
-  H.Splices (HI.Splice Identity)
-routeTreeSplice tCtx mr model = do
+backlinksSplice :: Model -> [(R.LMLRoute, NonEmpty [B.Block])] -> HI.Splice Identity
+backlinksSplice model (bs :: [(R.LMLRoute, NonEmpty [B.Block])]) =
+  Splices.listSplice bs "backlink"
+    $ \(source, contexts) -> do
+      let bnote = fromMaybe (error "backlink note missing - impossible") $ M.modelLookupNoteByRoute' source model
+          bmeta = Meta.getEffectiveRouteMetaWith (bnote ^. MN.noteMeta) source model
+          bctx = C.mkTemplateRenderCtx model source bmeta
+      -- TODO: reuse note splice
+      "backlink:note:title" ## C.titleSplice bctx (M.modelLookupTitle source model)
+      "backlink:note:url" ## HI.textSplice (SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, source))
+      "backlink:note:contexts" ##
+        Splices.listSplice (toList contexts) "context"
+          $ \backlinkCtx -> do
+            let ctxDoc = Pandoc mempty $ one $ B.Div B.nullAttr backlinkCtx
+            "context:body" ##
+              C.withInlineCtx bctx
+                $ \ctx' ->
+                  Splices.pandocSplice ctx' ctxDoc
+
+{- | Heist splice for the sidebar tree.
+
+If there is no 'current route', all sub-trees are marked as active/open.
+-}
+routeTreeSplices :: (Monad n) => C.TemplateRenderCtx n -> Maybe R.LMLRoute -> Model -> H.Splices (HI.Splice Identity)
+routeTreeSplices tCtx mCurrentRoute model = do
   "ema:route-tree" ##
-    ( let tree = PathTree.treeDeleteChild "index" $ model ^. M.modelNav
-          getFoldersFirst tr =
-            Meta.lookupRouteMeta @Bool False ("template" :| ["sidebar", "folders-first"]) tr model
-          getOrder path children =
-            let tr = mkLmlRoute path
-                isLeaf = null children
-                priority = if getFoldersFirst tr && isLeaf then 1 else 0 :: Int
-             in ( priority
-                , Meta.lookupRouteMeta @Int 0 (one "order") tr model
-                , tr
-                )
-          getCollapsed tr =
-            Meta.lookupRouteMeta @Bool True ("template" :| ["sidebar", "collapsed"]) tr model
-          mkLmlRoute =
-            M.resolveLmlRoute model . R.mkRouteFromSlugs
-          lmlRouteSlugs = R.withLmlRoute R.unRoute
-       in Splices.treeSplice getOrder tree $ \(mkLmlRoute -> nodeRoute) children -> do
-            "node:text" ## C.titleSplice tCtx $ M.modelLookupTitle nodeRoute model
-            "node:url" ## HI.textSplice $ SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, nodeRoute)
-            let isActiveNode = Just nodeRoute == mr
-                isActiveTree =
-                  -- Active tree checking is applicable only when there is an
-                  -- active route (i.e., mr is a Just)
-                  flip (maybe True) mr $ \r ->
-                    toList (lmlRouteSlugs nodeRoute) `NE.isPrefixOf` lmlRouteSlugs r
-                openTree =
-                  isActiveTree -- Active tree is always open
-                    || not (getCollapsed nodeRoute)
-            "node:active" ## Heist.ifElseISplice isActiveNode
-            "node:terminal" ## Heist.ifElseISplice (null children)
-            "tree:childrenCount" ## HI.textSplice (show $ length children)
-            "tree:open" ## Heist.ifElseISplice openTree
-    )
+    Splices.treeSplice getOrder (model ^. M.modelFolgezettelTree)
+      $ \(last -> nodeRoute) children -> do
+        let shortTitle = Meta.lookupRouteMeta @(Maybe Text) Nothing ("short-title" :| []) nodeRoute model
+        "node:text" ## maybe (C.titleSplice tCtx $ M.modelLookupTitle nodeRoute model) HI.textSplice shortTitle
+        "node:url" ## HI.textSplice $ SR.siteRouteUrl model $ SR.lmlSiteRoute (R.LMLView_Html, nodeRoute)
+        let isActiveNode = Just nodeRoute == mCurrentRoute
+            isActiveTree =
+              -- Active tree checking is applicable only when there is an
+              -- active route (i.e., mr is a Just)
+              flip (maybe True) mCurrentRoute $ \r ->
+                -- FIXME: Performance! (exponential complexity)
+                let folgeAnc = Set.fromList $ concatMap Tree.flatten $ G.modelFolgezettelAncestorTree model r
+                    isFolgeAnc = Set.member nodeRoute folgeAnc
+                 in r == nodeRoute || isFolgeAnc
+            openTree =
+              isActiveTree -- Active tree is always open
+                || not (getCollapsed nodeRoute)
+        "node:active" ## Heist.ifElseISplice isActiveNode
+        "node:activeTree" ## Heist.ifElseISplice isActiveTree
+        "node:terminal" ## Heist.ifElseISplice (null children)
+        "tree:childrenCount" ## HI.textSplice (show $ length children)
+        "tree:open" ## Heist.ifElseISplice openTree
+        "has-current-route" ## Heist.ifElseISplice (isJust mCurrentRoute)
+  where
+    getFoldersFirst tr =
+      Meta.lookupRouteMeta @Bool False ("template" :| ["sidebar", "folders-first"]) tr model
+    getOrder path children =
+      let tr = last path
+          isLeaf = null children
+          priority = if getFoldersFirst tr && isLeaf then 1 else 0 :: Int
+       in ( priority
+          , Meta.lookupRouteMeta @Int 0 (one "order") tr model
+          , tr
+          )
+    getCollapsed tr =
+      Meta.lookupRouteMeta @Bool True ("template" :| ["sidebar", "collapsed"]) tr model
 
 lookupTemplateName :: (ConvertUtf8 Text b) => Aeson.Value -> b
 lookupTemplateName meta =
diff --git a/test/Emanote/Model/TocSpec.hs b/test/Emanote/Model/TocSpec.hs
new file mode 100644
--- /dev/null
+++ b/test/Emanote/Model/TocSpec.hs
@@ -0,0 +1,34 @@
+module Emanote.Model.TocSpec where
+
+import Control.Monad.Writer (runWriterT)
+import Data.Tree
+import Emanote.Model.Note (parseNoteOrg)
+import Emanote.Model.Toc
+import Relude
+import Test.Hspec
+
+spec :: Spec
+spec = do
+  describe "basic-toc" $ do
+    it "create toc tree" $ do
+      ((doc, _), []) <- runWriterT $ parseNoteOrg demo
+      (fmap headingName <$> newToc doc)
+        `shouldBe` [ Node
+                      { rootLabel = "h1 1"
+                      , subForest =
+                          [ Node {rootLabel = "h2 1", subForest = []}
+                          , Node {rootLabel = "h2 2", subForest = []}
+                          ]
+                      }
+                   , Node {rootLabel = "h1 2", subForest = []}
+                   ]
+  where
+    demo =
+      unlines
+        [ "* h1  1"
+        , "** h2 1"
+        , "** h2 2"
+        , "* h1  2"
+        , -- this is ignored because of missing h2 heading
+          "*** h3 1"
+        ]
diff --git a/test/Emanote/Pandoc/Renderer/CalloutSpec.hs b/test/Emanote/Pandoc/Renderer/CalloutSpec.hs
new file mode 100644
--- /dev/null
+++ b/test/Emanote/Pandoc/Renderer/CalloutSpec.hs
@@ -0,0 +1,15 @@
+module Emanote.Pandoc.Renderer.CalloutSpec where
+
+import Emanote.Pandoc.Renderer.Callout
+import Hedgehog
+import Relude
+import Test.Hspec
+import Test.Hspec.Hedgehog
+
+spec :: Spec
+spec = do
+  describe "callout" $ do
+    it "type" . hedgehog $ do
+      parseCalloutType "[!tip]" === Just Tip
+      parseCalloutType "[!Note]" === Just Note
+      parseCalloutType "[!INFO]" === Just Info
diff --git a/test/Emanote/Route/RSpec.hs b/test/Emanote/Route/RSpec.hs
new file mode 100644
--- /dev/null
+++ b/test/Emanote/Route/RSpec.hs
@@ -0,0 +1,69 @@
+module Emanote.Route.RSpec where
+
+import Emanote.Route.Ext
+import Emanote.Route.R
+import Hedgehog
+import Relude
+import Test.Hspec
+import Test.Hspec.Hedgehog
+
+type SomeExt = ('LMLType 'Md)
+
+spec :: Spec
+spec = do
+  mkRouteFromFilePathSpec
+  routeInitsSpec
+
+mkRouteFromFilePathSpec :: Spec
+mkRouteFromFilePathSpec = describe "mkRouteFromFilePath" $ do
+  describe "basic" $ do
+    it "index route" . hedgehog $ do
+      mkRouteFromFilePath @_ @SomeExt "index.md" === Just indexRoute
+    it "single slug" . hedgehog $ do
+      mkRouteFromFilePath "foo.md" === Just r1
+    it "two slugs" . hedgehog $ do
+      mkRouteFromFilePath "foo/bar.md" === Just r2
+    it "three slugs" . hedgehog $ do
+      mkRouteFromFilePath "foo/bar/qux.md" === Just r3
+  describe "dropIndex" $ do
+    it "index route" . hedgehog $ do
+      mkRouteFromFilePath' True "index.md" === Just rIndex
+    it "single slug" . hedgehog $ do
+      mkRouteFromFilePath' True "foo.md" === Just r1
+    it "two slugs" . hedgehog $ do
+      mkRouteFromFilePath' True "foo/index.md" === Just r1
+    it "three slugs" . hedgehog $ do
+      mkRouteFromFilePath' True "foo/bar/index.md" === Just r2
+
+routeInitsSpec :: Spec
+routeInitsSpec = describe "routeInits" $ do
+  describe "basic" $ do
+    it "index route returns itself" . hedgehog $ do
+      routeInits rIndex === one rIndex
+    it "single slug returns index and itself" . hedgehog $ do
+      routeInits r1 === rIndex :| [r1]
+    it "two slugs returns index, first slug, and itself" . hedgehog $ do
+      routeInits r2 === rIndex :| [r1, r2]
+    it "three slugs returns index, first slug, second slug, and itself" . hedgehog $ do
+      routeInits r3 === rIndex :| [r1, r2, r3]
+
+r1 :: R ('LMLType 'Md)
+r1 = R $ "foo" :| []
+
+r1Index :: R ('LMLType 'Md)
+r1Index = R $ "foo" :| ["index"]
+
+r2 :: R ('LMLType 'Md)
+r2 = R $ "foo" :| ["bar"]
+
+r2Index :: R ('LMLType 'Md)
+r2Index = R $ "foo" :| ["bar", "index"]
+
+r3 :: R ('LMLType 'Md)
+r3 = R $ "foo" :| ["bar", "qux"]
+
+r3Index :: R ('LMLType 'Md)
+r3Index = R $ "foo" :| ["bar", "qux", "index"]
+
+rIndex :: R ('LMLType 'Md)
+rIndex = R $ "index" :| []
