detached 54cdd9d

wip

commit
54cdd9d41f6cef0aef394c1fb084fe632b0eb788
author
bamen · · 2025-06-01 21:38 UTC
committer
bamen · · 2025-06-01 18:01 UTC
parent
c1e4589
signature
unsigned
1607 files · +178060 -7862
M .gitignore +7 -2
@@ -1,9 +1,10 @@
11 .env
2-node_modules/
2+# Node.js/Bun specific (removed)
3+# node_modules/
34 *tmp/
45 tmp/*
56 config.yml
6-bun.lockb
7+# bun.lockb
78 *.log
89 *.txt
910 *sync-conflict*
@@ -16,3 +17,7 @@ setup.sh
1617 sqlite.db
1718 .vscode/
1819 admin-ui/
20+
21+# Standalone Tailwind/DaisyUI
22+tailwindcss
23+daisyui.js
M .goreleaser.yaml +1 -1
@@ -4,7 +4,7 @@ before:
44 hooks:
55 - go mod tidy
66 - templ generate
7- - bun run build:css
7+ - tailwindcss -i internal/webui/public/assets/css/custom.css -o internal/webui/public/assets/css/tailwind.css
88
99 release:
1010 draft: true
M Makefile +1 -1
@@ -38,7 +38,7 @@ build: build-css build-templ
3838 # Build CSS with tailwindcss
3939 build-css:
4040 @echo "Building CSS with tailwindcss..."
41- @bun run build:css
41+ @tailwindcss -i internal/webui/public/assets/css/custom.css -o internal/webui/public/assets/css/tailwind.css
4242 @echo "CSS built successfully"
4343
4444 # Generate Go code from templ templates
M internal/httpserve/handlers/container_crud.go +34 -22
@@ -1,8 +1,8 @@
11 package handlers
22
33 import (
4+ "encoding/json"
45 "fmt"
5- "net/http"
66 "strings"
77
88 "github.com/bnema/gordon/internal/server"
@@ -126,25 +126,6 @@ func CreateContainerFullGET(c echo.Context, a *server.App) error {
126126 func CreateContainerPOST(c echo.Context, a *server.App) error {
127127 log.Debug("CreateContainerPOST handler called")
128128
129- // Retrieve the ShortID of the image from the URL
130- ShortID := c.Param("ID")
131- log.Debug("Received ShortID for container creation:", "ShortID", ShortID)
132-
133- // Convert the ShortID to a full image ID
134- imageID, err := FromShortIDToImageID(ShortID)
135- if err != nil {
136- log.Error("Error converting ShortID to full image ID:", "error", err)
137- return sendError(c, err)
138- }
139- log.Debug("Converted ShortID to full image ID:", "imageID", imageID)
140-
141- // Get the image info
142- _, err = docker.GetImageInfo(imageID)
143- if err != nil {
144- log.Error("Error getting image info:", "error", err)
145- return sendError(c, err)
146- }
147-
148129 // Retrieve all form parameters
149130 formParams, err := c.FormParams()
150131 if err != nil {
@@ -165,6 +146,22 @@ func CreateContainerPOST(c echo.Context, a *server.App) error {
165146 }
166147 }
167148
149+ // Get the full image ID directly from the sanitized form inputs
150+ imageID, ok := sanitizedInputs["image_id"]
151+ if !ok || imageID == "" {
152+ log.Error("Full image ID not found in form submission")
153+ // You might want to return a more specific error message to the user here
154+ return sendError(c, fmt.Errorf("missing image ID in form submission"))
155+ }
156+ log.Debug("Retrieved full image ID from form:", "imageID", imageID)
157+
158+ // Get the image info (Optional but good practice: verify the image ID still exists)
159+ _, err = docker.GetImageInfo(imageID)
160+ if err != nil {
161+ log.Error("Error getting image info:", "error", err)
162+ return sendError(c, err)
163+ }
164+
168165 cmdParams, err := cmdparams.FromInputsToCmdParams(sanitizedInputs, a)
169166 if err != nil {
170167 return sendError(c, err)
@@ -229,6 +226,21 @@ func CreateContainerPOST(c echo.Context, a *server.App) error {
229226 log.Info("Skipping proxy setup as requested", "container_id", containerID, "container_name", containerName)
230227 }
231228
232- // Redirect to the container list page
233- return c.Redirect(http.StatusSeeOther, fmt.Sprintf("%s/containers", a.Config.Admin.Path))
229+ // Prepare success message payload
230+ successPayload := map[string]string{
231+ "level": "success",
232+ "message": fmt.Sprintf("Container '%s' created successfully.", containerName),
233+ }
234+ jsonPayload, err := json.Marshal(successPayload)
235+ if err != nil {
236+ // Log the error, but proceed with redirect as container creation was likely successful
237+ log.Error("Failed to marshal success payload for HX-Trigger", "error", err)
238+ } else {
239+ c.Response().Header().Set("HX-Trigger", fmt.Sprintf(`{"showMessage": %s}`, string(jsonPayload)))
240+ }
241+
242+ // Render a success message fragment instead of redirecting
243+ renderer := render.NewTemplRenderer(a)
244+ successMsg := fmt.Sprintf("Container '%s' created successfully.", containerName)
245+ return renderer.RenderTempl(c, templcomponents.Success(successMsg)) // Use the correct Success component
234246 }
M internal/httpserve/handlers/container_management.go +101 -5
@@ -224,12 +224,108 @@ func ImageManagerPrune(c echo.Context, a *server.App) error {
224224 lastPruneResult.mutex.Unlock()
225225 }()
226226
227- // Immediately return 202 Accepted to the client
228- c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML) // Set appropriate content type if needed for HTMX
227+ // Immediately return a placeholder that initiates polling
228+ // Note: We need to modify imagelist.templ to handle this response properly
229+ // For now, just return 202 Accepted and indicate work started.
230+ // The actual polling trigger will be added in the template.
229231 c.Response().WriteHeader(http.StatusAccepted)
230- // Optionally, return a message or updated component indicating the process has started
231- // For now, just return a simple message in the response body
232- return c.String(http.StatusAccepted, "Image pruning started in the background.")
232+ // We'll return a small snippet that the template swap can use
233+ // This snippet should include the polling mechanism itself.
234+ // Example (needs refinement in the template):
235+ return c.HTML(http.StatusAccepted, `<div id="prune-status-poller" hx-get="/htmx/image-manager/prune-status" hx-trigger="load, every 3s" hx-target="#prune-status-poller" hx-swap="outerHTML">Pruning images in background... Checking status.</div>`)
236+}
237+
238+// ImageManagerPruneStatus checks the status of a background prune operation
239+func ImageManagerPruneStatus(c echo.Context, a *server.App) error {
240+ lastPruneResult.mutex.Lock()
241+ defer lastPruneResult.mutex.Unlock()
242+
243+ // If prune is not done, return an empty response or keep the poller active
244+ if !lastPruneResult.Done {
245+ // Returning 204 No Content will stop polling if using hx-swap="none"
246+ // However, our poller replaces itself, so we just return the same polling div
247+ // or an updated status message within it.
248+ // Let's keep the existing poller HTML but maybe update the text slightly.
249+ return c.HTML(http.StatusOK, `<div id="prune-status-poller" hx-get="/htmx/image-manager/prune-status" hx-trigger="every 3s" hx-target="#prune-status-poller" hx-swap="outerHTML">Still pruning... Checking status.</div>`)
250+ }
251+
252+ // Prune is done, prepare the final response
253+ logger.Info("Prune complete, preparing final response for poller.")
254+
255+ // Prepare JSON payload for HX-Trigger toast message
256+ var level string
257+ if lastPruneResult.Success {
258+ level = "success"
259+ } else {
260+ level = "error"
261+ }
262+ payload := map[string]string{"level": level, "message": lastPruneResult.Message}
263+ jsonPayload, marshalErr := json.Marshal(payload)
264+ if marshalErr != nil {
265+ logger.Error("Failed to marshal prune result payload for poller", "error", marshalErr)
266+ // Handle marshalling error - maybe return an error component
267+ } else {
268+ c.Response().Header().Set("HX-Trigger", fmt.Sprintf(`{"showMessage": %s}`, string(jsonPayload)))
269+ }
270+
271+ // Reset the flag *after* preparing the response
272+ lastPruneResult.Done = false
273+ message := lastPruneResult.Message // Store message before resetting if needed
274+ success := lastPruneResult.Success
275+ // Reset message/success if needed, or maybe they are only relevant for the toast
276+ // lastPruneResult.Message = ""
277+ // lastPruneResult.Success = false
278+
279+ // Fetch the updated image list (copy logic from ImageManagerComponent)
280+ images, listErr := docker.ListContainerImages()
281+ if listErr != nil {
282+ logger.Error("Failed to list images after prune for poller", "error", listErr)
283+ // Return an error FRAGMENT instead of a full page.
284+ // HX-Trigger for the prune status itself was already set.
285+ pruneStatusMsg := "Prune finished but failed to refresh list."
286+ if !success { // Add prune status detail if it also failed
287+ pruneStatusMsg = fmt.Sprintf("Prune status: %s. Failed to refresh list.", message)
288+ }
289+ return c.HTML(http.StatusOK, fmt.Sprintf("<div class='alert alert-error'>%s Error: %v. Please refresh manually.</div>", pruneStatusMsg, listErr))
290+ }
291+
292+ var humanReadableImages []components.HumanReadableImage
293+ for _, img := range images {
294+ shortID := img.ID[7:19]
295+ safelyInteractWithIDMap(Update, shortID, img.ID)
296+ createdStr := humanize.TimeAgo(time.Unix(img.Created, 0))
297+ sizeStr := humanize.BytesToReadableSize(img.Size)
298+ var repository, tag string
299+ repoTag := "<none>:<none>"
300+ if len(img.RepoTags) > 0 {
301+ repoTag = img.RepoTags[0]
302+ parts := strings.Split(repoTag, ":")
303+ if len(parts) == 2 {
304+ repository = parts[0]
305+ tag = parts[1]
306+ } else {
307+ repository = repoTag
308+ tag = "latest"
309+ }
310+ }
311+ humanReadableImages = append(humanReadableImages, components.HumanReadableImage{
312+ ID: img.ID,
313+ ShortID: shortID,
314+ Created: createdStr,
315+ Size: sizeStr,
316+ Name: repoTag,
317+ RepoDigests: img.RepoDigests,
318+ RepoTags: img.RepoTags,
319+ Repository: repository,
320+ Tag: tag,
321+ })
322+ }
323+
324+ // Render the final ImageList component to replace the poller
325+ renderer := render.NewTemplRenderer(a)
326+ component := components.ImageList(humanReadableImages)
327+ logger.Debug("Rendering final ImageList for poller")
328+ return renderer.RenderTempl(c, component)
233329 }
234330
235331 // ContainerManagerComponent handles the /container-manager route
M internal/httpserve/handlers/container_transactions.go +9 -0
@@ -24,6 +24,15 @@ func generateOrderedYAML(infoMap map[string]interface{}) (string, error) {
2424 continue
2525 }
2626
27+ // Special handling for empty Ports and Volumes maps
28+ if key == "Ports" || key == "Volumes" {
29+ if mapVal, ok := value.(map[string]string); ok && len(mapVal) == 0 {
30+ yamlString += key + ": []\n" // Output as empty list instead of map
31+ continue // Skip normal marshalling for this key
32+ }
33+ }
34+
35+ // Default marshalling for other keys or non-empty maps
2736 yamlBytes, err := yaml.Marshal(map[string]interface{}{key: value})
2837 if err != nil {
2938 return "", err
M internal/httpserve/handlers/login.go +4 -4
@@ -81,12 +81,12 @@ func StartOAuthGithub(c echo.Context, a *server.App) error {
8181 return fmt.Errorf("could not extend session expiration: %w", err)
8282 }
8383
84- // Explicitly mark the session as online since we've validated it
85- logger.Info("Marking existing session as online", "sessionID", sessionID)
84+ // Explicitly mark the session as active since we've validated it
85+ logger.Info("Marking existing session as active", "sessionID", sessionID)
8686 err = queries.MarkSessionActive(a.DB, sessionID)
8787 if err != nil {
88- logger.Error("Failed to mark session as online", "error", err, "sessionID", sessionID)
89- return fmt.Errorf("failed to mark session online: %w", err)
88+ logger.Error("Failed to mark session as active", "error", err, "sessionID", sessionID)
89+ return fmt.Errorf("failed to mark session active: %w", err)
9090 }
9191
9292 logger.Info("Session is valid and extended. Redirecting to admin panel")
M internal/proxy/core.go +6 -0
@@ -218,6 +218,12 @@ func (p *Proxy) Close() {
218218
219219 // requestDomainCertificate requests a certificate for a domain
220220 func (p *Proxy) requestDomainCertificate(domainName string) error {
221+ // If certificate acquisition is globally skipped, do nothing.
222+ if p.config.SkipCertificates {
223+ logger.Debug("Skipping certificate request because SkipCertificates is true", "domain", domainName)
224+ return nil
225+ }
226+
221227 logger.Debug("Requesting certificate for domain", "domain", domainName)
222228
223229 // Check if we're already processing this domain
M internal/proxy/middleware.go +15 -16
@@ -1,7 +1,6 @@
11 package proxy
22
33 import (
4- "fmt"
54 "net"
65 "net/http"
76 "strings"
@@ -114,7 +113,7 @@ func (p *Proxy) setupMiddleware() {
114113 }
115114
116115 // Add middleware to log incoming headers (for debugging Cloudflare detection)
117- p.httpsServer.Use(logHeadersMiddleware())
116+ // p.httpsServer.Use(logHeadersMiddleware())
118117
119118 // --- Rate Limiting Setup (Domain Only Now) ---
120119 if p.config.EnableRateLimit {
@@ -250,17 +249,17 @@ func (p *Proxy) createRequestIDMiddleware() echo.MiddlewareFunc {
250249 }
251250
252251 // logHeadersMiddleware creates a middleware function to log request headers
253-func logHeadersMiddleware() echo.MiddlewareFunc {
254- return func(next echo.HandlerFunc) echo.HandlerFunc {
255- return func(c echo.Context) error {
256- // Log all headers at DEBUG level
257- headerStrings := []string{}
258- for k, v := range c.Request().Header {
259- headerStrings = append(headerStrings, fmt.Sprintf("%s: %s", k, strings.Join(v, ",")))
260- }
261- logger.Debug("Incoming Request Headers", "request_id", c.Get(RequestIDKey), "headers", strings.Join(headerStrings, " | "))
262-
263- return next(c)
264- }
265- }
266-}
252+// func logHeadersMiddleware() echo.MiddlewareFunc {
253+// return func(next echo.HandlerFunc) echo.HandlerFunc {
254+// return func(c echo.Context) error {
255+// // Log all headers at DEBUG level
256+// headerStrings := []string{}
257+// for k, v := range c.Request().Header {
258+// headerStrings = append(headerStrings, fmt.Sprintf("%s: %s", k, strings.Join(v, ",")))
259+// }
260+// logger.Debug("Incoming Request Headers", "request_id", c.Get(RequestIDKey), "headers", strings.Join(headerStrings, " | "))
261+
262+// return next(c)
263+// }
264+// }
265+// }
M internal/proxy/routes.go +38 -4
@@ -1196,19 +1196,53 @@ func (p *Proxy) StartContainerEventListener() error {
11961196 } else {
11971197 // Even if IP is the same, make sure the route is active
11981198 if !route.Active {
1199- logger.Info("Reactivating route for restarted container",
1199+ logger.Info("Attempting to reactivate route for restarted container",
12001200 "container_id", containerID,
12011201 "container_name", containerName,
12021202 "domain", domain)
12031203
1204- // Just reuse ForceUpdateRouteIP with the same IP to activate the route
1205- p.ForceUpdateRouteIP(domain, containerIP)
1204+ // --- Add Health Check Before Activation ---
1205+ target := net.JoinHostPort(containerIP, route.ContainerPort)
1206+ maxRetries := 5
1207+ retryDelay := 2 * time.Second
1208+ healthy := false
1209+ for i := 0; i < maxRetries; i++ {
1210+ conn, err := net.DialTimeout("tcp", target, 1*time.Second)
1211+ if err == nil {
1212+ conn.Close()
1213+ healthy = true
1214+ logger.Info("Container health check successful", "target", target, "attempt", i+1)
1215+ break
1216+ }
1217+ logger.Debug("Container health check failed, retrying...",
1218+ "target", target,
1219+ "attempt", i+1,
1220+ "error", err)
1221+ time.Sleep(retryDelay)
1222+ }
1223+ // --- End Health Check ---
1224+
1225+ if healthy {
1226+ logger.Info("Container is healthy, proceeding with route activation", "domain", domain)
1227+ // Just reuse ForceUpdateRouteIP with the same IP to activate the route
1228+ err := p.ForceUpdateRouteIP(domain, containerIP)
1229+ if err != nil {
1230+ logger.Error("Failed to activate route after health check",
1231+ "domain", domain,
1232+ "error", err)
1233+ }
1234+ } else {
1235+ logger.Warn("Container did not become healthy after retries, route remains inactive",
1236+ "domain", domain,
1237+ "target", target)
1238+ // Route remains inactive, periodic check might pick it up later
1239+ }
12061240 }
12071241 }
12081242 }
12091243 }
12101244
1211- // Call the standard recreation handler for additional checks
1245+ // Call the standard recreation handler for additional checks (might add the route if missing)
12121246 p.HandleContainerRecreation(containerID, containerName, containerIP)
12131247 }()
12141248 }
M internal/templating/cmdparams/from_inputs.go +21 -2
@@ -23,6 +23,9 @@ func FromInputsToCmdParams(inputs map[string]string, a *server.App) (docker.Cont
2323 }
2424 }
2525
26+ // Retrieve proxy port from the correct input key
27+ proxyPortValue := inputs["container_port"] // Changed from proxy_port
28+
2629 params := docker.ContainerCommandParams{
2730 IsSSL: inputs["container_protocol"] == "https",
2831 ContainerName: inputs["container_name"],
@@ -31,14 +34,30 @@ func FromInputsToCmdParams(inputs map[string]string, a *server.App) (docker.Cont
3134 ImageName: inputs["image_name"],
3235 ImageID: inputs["image_id"],
3336 Restart: inputs["restart"],
34- ProxyPort: inputs["proxy_port"],
37+ ProxyPort: proxyPortValue, // Assign the retrieved value
3538 Volumes: volumeSlice,
3639 Environment: environmentSlice,
3740 Network: a.Config.ContainerEngine.Network,
3841 PortMappings: portMappings,
42+ // Labels will be populated below
43+ }
44+
45+ // Initialize Labels slice if nil
46+ if params.Labels == nil {
47+ params.Labels = []string{}
3948 }
4049
41- err = SetupProxyRoute(&params, params.ProxyPort, a)
50+ // Add standard labels and the proxy port label
51+ params.Labels = append(params.Labels,
52+ fmt.Sprintf("gordon.managed=true"),
53+ fmt.Sprintf("gordon.domain=%s.%s", params.ServiceName, params.Domain),
54+ fmt.Sprintf("gordon.proxy.ssl=%t", params.IsSSL),
55+ fmt.Sprintf("gordon.proxy.port=%s", proxyPortValue), // Add the proxy port label
56+ )
57+
58+ // SetupProxyRoute might need adjustment if it relies on params.ProxyPort directly
59+ // Assuming SetupProxyRoute uses the passed proxyPortValue or reads labels
60+ err = SetupProxyRoute(&params, proxyPortValue, a) // Pass the correct port value
4261 if err != nil {
4362 return docker.ContainerCommandParams{}, fmt.Errorf("error setting up proxy route: %w", err)
4463 }
M internal/templating/models/templ/components/containerlist.templ +3 -3
@@ -1,14 +1,14 @@
11 package components
22
33 import (
4- "github.com/docker/docker/api/types"
4+ "github.com/docker/docker/api/types/container"
55 "strconv"
66 )
77
88 // ContainerList displays a list of containers
9-templ ContainerList(containers []types.Container, noContainer bool) {
9+templ ContainerList(containers []container.Summary, noContainer bool) {
1010 <!-- Container list using daisyUI components -->
11- <div class="card w-full bg-base-300">
11+ <div class="card w-full bg-base-100">
1212 <div class="card-body p-4">
1313
1414 <!-- Action buttons -->
M internal/templating/models/templ/components/containerlist_templ.go +3 -3 generated file: collapsed
M internal/templating/models/templ/components/createcontainer.templ +2 -1
@@ -21,7 +21,7 @@ type ContainerFormData struct {
2121 templ CreateContainerForm(data ContainerFormData) {
2222 <div class="flex flex-col md:flex-row space-y-4 md:space-y-0 md:space-x-4 flex-grow">
2323 <!-- Left Side: Docker Run Options -->
24- <div class="flex-grow card p-6">
24+ <div class="flex-grow card p-6 bg-base-100">
2525 <h2 class="card-title pb-4">Deploy a container based on { data.ImageName }</h2>
2626 if data.ErrorMessage != "" {
2727 <div class="alert alert-error">
@@ -36,6 +36,7 @@ templ CreateContainerForm(data ContainerFormData) {
3636 hx-swap="innerHTML"
3737 hx-target={ "#create-form-target-" + data.ShortID }>
3838 <!-- Image Name -->
39+ <input type="hidden" name="image_id" value={ data.ImageID } />
3940 <div class="grid grid-cols-1 md:grid-cols-3 gap-4 pb-4">
4041 <div class="md:col-span-1">
4142 <label class="label">
M internal/templating/models/templ/components/createcontainer_templ.go +42 -29 generated file: collapsed
M internal/templating/models/templ/components/imagelist.templ +1 -1
@@ -21,7 +21,7 @@ type HumanReadableImage struct {
2121 // ImageList displays a list of images
2222 templ ImageList(images []HumanReadableImage) {
2323 <!-- Image list using daisyUI components -->
24- <div class="card w-full bg-base-300">
24+ <div class="card w-full bg-base-100">
2525 <div class="card-body p-4">
2626
2727 <!-- Action buttons -->
M internal/templating/models/templ/components/imagelist_templ.go +1 -1 generated file: collapsed
M internal/templating/models/templ/components/navbar.templ +1 -1
@@ -3,7 +3,7 @@ package components
33 // Navbar is a menu component for navigation
44 templ Navbar(buildVersion string, adminPath string, userSettingsURL string, logoutURL string) {
55 <!-- DaisyUI Navbar -->
6- <div class="navbar bg-base-200 shadow-lg fixed top-0 z-50">
6+ <div class="navbar bg-base-100 shadow-lg fixed top-0 z-50">
77 <div class="navbar-start">
88 <div class="flex items-center">
99 <h1 class="gordon-title text-2xl md:text-3xl text-primary tracking-tighter px-4">
M internal/templating/models/templ/components/navbar_templ.go +1 -1 generated file: collapsed
M internal/templating/models/templ/components/success.templ +1 -1
@@ -4,7 +4,7 @@ package components
44 templ Success(message string) {
55 <div
66 id="success"
7- class="flex text-indigo-600 content-center justify-center items-center w-full h-full">
7+ class="flex text-success content-center justify-center items-center w-full h-full">
88 <p class="text-2xl text-center">
99 if message != "" {
1010 { message }
M internal/templating/models/templ/components/success_templ.go +1 -1 generated file: collapsed
M internal/templating/models/templ/layouts/admin_layout.templ +1 -1
@@ -7,7 +7,7 @@ templ AdminLayout(title string, buildVersion string, adminPath string, userSetti
77 <!DOCTYPE html>
88 <html lang="en" data-theme="gordon-dark">
99 @components.Header(title)
10- <body class="min-h-screen bg-base-100">
10+ <body class="min-h-screen bg-base-250">
1111 @components.Navbar(buildVersion, adminPath, userSettingsURL, logoutURL)
1212
1313 <!-- Main content starts after navbar height -->
M internal/templating/models/templ/layouts/admin_layout_templ.go +1 -1 generated file: collapsed
M internal/templating/models/templ/layouts/base.templ +1 -1
@@ -8,7 +8,7 @@ templ Base(title string) {
88 <!DOCTYPE html>
99 <html lang="en">
1010 @components.Header(title)
11- <body class="min-h-screen bg-base-100">
11+ <body class="min-h-screen bg-base-200">
1212 { children... }
1313 @components.Footer()
1414 </body>
M internal/templating/models/templ/layouts/base_templ.go +1 -1 generated file: collapsed
M internal/templating/models/templ/pages/admin/install.templ +1 -1
@@ -13,7 +13,7 @@ templ InstallPage(title string, version string) {
1313 >
1414 <div class="circle-shadow flex justify-center w-100">
1515 <img
16- src="/assets/imgs/gordon-mascot-hq-trsp.png"
16+ src="/assets/imgs/gordon-mascot-mq-trsp.png"
1717 alt="logo"
1818 class="sm:h-24 h-32 xl:h-48"
1919 />
M internal/templating/models/templ/pages/admin/install_templ.go +1 -1 generated file: collapsed
M internal/templating/models/templ/pages/admin/manager.templ +2 -2
@@ -17,7 +17,7 @@ templ ManagerPage(title string, buildVersion string, adminPath string, userSetti
1717 </div>
1818
1919 <!-- Stats overview -->
20- <div class="stats shadow mb-6 w-full bg-base-300">
20+ <div class="stats shadow mb-6 w-full bg-base-100">
2121 <div class="stat">
2222 <div class="stat-figure text-primary">
2323 <span class="iconf text-3xl">󰡨</span>
@@ -38,7 +38,7 @@ templ ManagerPage(title string, buildVersion string, adminPath string, userSetti
3838 </div>
3939
4040 <!-- Tabs for containers and images -->
41- <div role="tablist" class="tabs tabs-boxed mb-4">
41+ <div role="tablist" class="tabs tabs-border mb-4">
4242 <input type="radio" name="my_tabs" role="tab" class="tab" aria-label="Containers" id="containers-tab" checked />
4343 <div role="tabpanel" class="tab-content p-0 bg-base-300">
4444 <!-- Container manager section -->
M internal/templating/models/templ/pages/admin/manager_templ.go +2 -2 generated file: collapsed
M internal/templating/models/templ/pages/errors/errors.templ +2 -5
@@ -16,13 +16,10 @@ templ NotFoundPage(data ErrorPageData) {
1616 @layouts.Base(data.Title) {
1717 <div class="flex flex-col items-center justify-center min-h-screen p-4">
1818 <div class="flex flex-col items-center mb-8">
19- <img src="/assets/imgs/gordon-mascot-hq-trsp.png" alt="Gordon Mascot" class="w-64 h-64 mb-4" />
19+ <img src="/assets/imgs/gordon-mascot-mq-trsp.png" alt="Gordon Mascot" class="w-64 mb-4" />
2020 <h1 class="text-4xl font-bold text-error">404</h1>
2121 <h2 class="text-2xl mb-2">Page Not Found</h2>
2222 <p class="text-center text-base-content opacity-70 max-w-md mb-8">{ data.Message }</p>
23- <a href={ templ.URL(data.AdminPath) } class="btn btn-primary">
24- <span class="iconf mr-2">🏠</span> Go Home
25- </a>
2623 </div>
2724 </div>
2825 }
@@ -33,7 +30,7 @@ templ ForbiddenPage(data ErrorPageData) {
3330 @layouts.Base(data.Title) {
3431 <div class="flex flex-col items-center justify-center min-h-screen p-4">
3532 <div class="flex flex-col items-center mb-8">
36- <img src="/assets/imgs/gordon-mascot-hq-trsp.png" alt="Gordon Mascot" class="w-64 h-64 mb-4" />
33+ <img src="/assets/imgs/gordon-mascot-mq-trsp.png" alt="Gordon Mascot" class="w-64 h-64 mb-4" />
3734 <h1 class="text-4xl font-bold text-error">403</h1>
3835 <h2 class="text-2xl mb-2">Access Forbidden</h2>
3936 <p class="text-center text-base-content opacity-70 max-w-md mb-8">{ data.Message }</p>
M internal/templating/models/templ/pages/errors/errors_templ.go +16 -25 generated file: collapsed
M internal/webui/public/assets/css/custom.css +22 -103
@@ -1,123 +1,42 @@
1-/**
2- * Path: internal/ui/public/assets/css/custom.css
3- *
4- * @format
5- */
6-
7-/* Embeded path : assets/css/cutsom.css */
8-
91 @import "tailwindcss";
10-@plugin "daisyui";
11-
12-/* Custom DaisyUI theme */
2+/* Custom DaisyUI theme - Defined in tailwind.config.js */
133 @plugin "daisyui/theme" {
144 name: "gordon-dark";
155 default: true;
166 prefersdark: true;
177 color-scheme: "dark";
18- --color-base-100: oklch(28% 0.091 267.935);
19- --color-base-200: oklch(20% 0.042 265.755);
20- --color-base-300: oklch(13% 0.028 261.692);
21- --color-base-content: oklch(93% 0.034 272.788);
22- --color-primary: oklch(87% 0 0);
23- --color-primary-content: oklch(14% 0 0);
24- --color-secondary: oklch(80% 0.105 251.813);
25- --color-secondary-content: oklch(28% 0.091 267.935);
26- --color-accent: oklch(80% 0.105 251.813);
27- --color-accent-content: oklch(28% 0.091 267.935);
28- --color-neutral: oklch(37% 0.034 259.733);
29- --color-neutral-content: oklch(98% 0.002 247.839);
8+ --color-base-100: oklch(14% 0 0);
9+ --color-base-200: oklch(21% 0.006 285.885);
10+ --color-base-250: oklch(21% 0.006 285.885);
11+ --color-base-300: oklch(26% 0 0);
12+ --color-base-content: oklch(97% 0.001 106.424);
13+ --color-primary: oklch(44% 0.043 257.281);
14+ --color-primary-content: oklch(98% 0.003 247.858);
15+ --color-secondary: oklch(66% 0.179 58.318);
16+ --color-secondary-content: oklch(98% 0.022 95.277);
17+ --color-accent: oklch(60% 0.118 184.704);
18+ --color-accent-content: oklch(98% 0.014 180.72);
19+ --color-neutral: oklch(42% 0.199 265.638);
20+ --color-neutral-content: oklch(98% 0.001 106.423);
3021 --color-info: oklch(68% 0.169 237.323);
3122 --color-info-content: oklch(97% 0.013 236.62);
32- --color-success: oklch(70% 0.14 182.503);
33- --color-success-content: oklch(98% 0.014 180.72);
34- --color-warning: oklch(76% 0.188 70.08);
35- --color-warning-content: oklch(98% 0.022 95.277);
23+ --color-success: oklch(69% 0.17 162.48);
24+ --color-success-content: oklch(97% 0.021 166.113);
25+ --color-warning: oklch(70% 0.213 47.604);
26+ --color-warning-content: oklch(98% 0.016 73.684);
3627 --color-error: oklch(64% 0.246 16.439);
3728 --color-error-content: oklch(96% 0.015 12.422);
38- --radius-selector: 0rem;
39- --radius-field: 0rem;
40- --radius-box: 0rem;
29+ --radius-selector: 1rem;
30+ --radius-field: 0.5rem;
31+ --radius-box: 1rem;
4132 --size-selector: 0.25rem;
42- --size-field: 0.25rem;
33+ --size-field: 0.21875rem;
4334 --border: 1px;
4435 --depth: 0;
4536 --noise: 0;
4637 }
4738
4839
49-/* Custom component classes */
50-@layer components {
51- /* Button styles */
52- .btn-primary {
53- @apply flex w-full justify-center border border-transparent bg-indigo-600 px-4 py-2 text-sm font-medium text-white hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2;
54- }
55-
56- .btn-secondary {
57- @apply flex w-full justify-center border border-secondary bg-secondary px-4 py-2 text-sm font-medium text-secondary-content hover:bg-secondary/90 focus:outline-none focus:ring-2 focus:ring-secondary focus:ring-offset-2;
58- }
59-
60- .btn-danger {
61- @apply flex w-full justify-center border border-transparent bg-red-600 px-4 py-2 text-sm font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2;
62- }
63-
64- /* Alert styles */
65- .alert-error {
66- @apply bg-red-50 p-4 dark:bg-red-900/20;
67- }
68-
69- .alert-error-icon {
70- @apply h-5 w-5 text-red-400;
71- }
72-
73- .alert-error-text {
74- @apply text-sm font-medium text-red-800 dark:text-red-300;
75- }
76-
77- .alert-success {
78- @apply bg-green-50 p-4 dark:bg-green-900/20;
79- }
80-
81- .alert-success-icon {
82- @apply h-5 w-5 text-green-400;
83- }
84-
85- .alert-success-text {
86- @apply text-sm font-medium text-green-800 dark:text-green-300;
87- }
88-
89- /* Card styles */
90- .card {
91- @apply bg-base-100 p-4 shadow mb-4;
92- }
93-
94- .card-header {
95- @apply text-lg font-semibold text-indigo-600 mb-2;
96- }
97-
98- /* Background styles */
99- .bg-app {
100- @apply bg-base-300;
101- }
102-
103- .bg-sidebar {
104- @apply bg-indigo-900;
105- }
106-
107- .bg-card {
108- @apply bg-base-100;
109- }
110-
111- /* Text styles */
112- .text-title {
113- @apply text-indigo-600 font-semibold;
114- }
115-
116- .text-subtitle {
117- @apply text-indigo-500;
118- }
119-}
120-
12140 /* Import IBM Plex Fonts */
12241 @font-face {
12342 font-family: "IBMPlexSans-Bold";
M internal/webui/public/assets/css/tailwind.css +474 -7547
@@ -1,4 +1,4 @@
1-/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */
1+/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */
22 @layer theme, base, components, utilities;
33 @layer theme {
44 :root, :host {
@@ -6,31 +6,16 @@
66 "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
77 --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
88 "Courier New", monospace;
9- --color-red-50: oklch(0.971 0.013 17.38);
10- --color-red-300: oklch(0.808 0.114 19.571);
11- --color-red-400: oklch(0.704 0.191 22.216);
129 --color-red-500: oklch(0.637 0.237 25.331);
13- --color-red-600: oklch(0.577 0.245 27.325);
14- --color-red-700: oklch(0.505 0.213 27.518);
15- --color-red-800: oklch(0.444 0.177 26.899);
16- --color-red-900: oklch(0.396 0.141 25.723);
17- --color-green-50: oklch(0.982 0.018 155.826);
18- --color-green-300: oklch(0.871 0.15 154.449);
19- --color-green-400: oklch(0.792 0.209 151.711);
2010 --color-green-500: oklch(0.723 0.219 149.579);
21- --color-green-800: oklch(0.448 0.119 151.328);
22- --color-green-900: oklch(0.393 0.095 152.535);
2311 --color-blue-500: oklch(0.623 0.214 259.815);
12+ --color-blue-700: oklch(0.488 0.243 264.376);
2413 --color-indigo-50: oklch(0.962 0.018 272.314);
2514 --color-indigo-100: oklch(0.93 0.034 272.788);
2615 --color-indigo-500: oklch(0.585 0.233 277.117);
2716 --color-indigo-600: oklch(0.511 0.262 276.966);
28- --color-indigo-700: oklch(0.457 0.24 277.023);
2917 --color-indigo-800: oklch(0.398 0.195 277.366);
30- --color-indigo-900: oklch(0.359 0.144 278.697);
31- --color-gray-50: oklch(0.985 0.002 247.839);
32- --color-gray-300: oklch(0.872 0.01 258.338);
33- --color-gray-700: oklch(0.373 0.034 259.733);
18+ --color-gray-100: oklch(0.967 0.003 264.542);
3419 --color-black: #000;
3520 --color-white: #fff;
3621 --spacing: 0.25rem;
@@ -39,6 +24,8 @@
3924 --text-xs--line-height: calc(1 / 0.75);
4025 --text-sm: 0.875rem;
4126 --text-sm--line-height: calc(1.25 / 0.875);
27+ --text-base: 1rem;
28+ --text-base--line-height: calc(1.5 / 1);
4229 --text-lg: 1.125rem;
4330 --text-lg--line-height: calc(1.75 / 1.125);
4431 --text-xl: 1.25rem;
@@ -51,7 +38,6 @@
5138 --text-4xl--line-height: calc(2.5 / 2.25);
5239 --text-5xl: 3rem;
5340 --text-5xl--line-height: 1;
54- --font-weight-medium: 500;
5541 --font-weight-semibold: 600;
5642 --font-weight-bold: 700;
5743 --tracking-tighter: -0.05em;
@@ -220,7278 +206,616 @@
220206 }
221207 }
222208 @layer utilities {
223- .diff {
224- position: relative;
225- display: grid;
226- width: 100%;
227- overflow: hidden;
228- webkit-user-select: none;
229- user-select: none;
230- direction: ltr;
231- container-type: inline-size;
232- grid-template-columns: auto 1fr;
233- &:focus-visible, &:has(.diff-item-1:focus) {
234- outline-style: var(--tw-outline-style);
235- outline-width: 2px;
236- outline-offset: 1px;
237- outline-color: var(--color-base-content);
238- }
239- &:focus-visible {
240- outline-style: var(--tw-outline-style);
241- outline-width: 2px;
242- outline-offset: 1px;
243- outline-color: var(--color-base-content);
244- .diff-resizer {
245- min-width: 90cqi;
246- max-width: 90cqi;
247- }
248- }
249- &:has(.diff-item-2:focus-visible) {
250- outline-style: var(--tw-outline-style);
251- outline-width: 2px;
252- outline-offset: 1px;
253- .diff-resizer {
254- min-width: 10cqi;
255- max-width: 10cqi;
256- }
257- }
258- @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
259- &:focus {
260- .diff-resizer {
261- min-width: 10cqi;
262- max-width: 10cqi;
263- }
264- }
265- &:has(.diff-item-1:focus) {
266- .diff-resizer {
267- min-width: 90cqi;
268- max-width: 90cqi;
269- }
270- }
271- }
272- }
273- .modal {
274- pointer-events: none;
275- visibility: hidden;
276- position: fixed;
277- inset: calc(0.25rem * 0);
278- margin: calc(0.25rem * 0);
279- display: grid;
280- height: 100%;
281- max-height: none;
282- width: 100%;
283- max-width: none;
284- align-items: center;
285- justify-items: center;
286- background-color: transparent;
287- padding: calc(0.25rem * 0);
288- color: inherit;
289- overflow-x: hidden;
290- transition: transform 0.3s ease-out, visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;
291- overflow-y: hidden;
292- overscroll-behavior: contain;
293- z-index: 999;
294- &::backdrop {
295- display: none;
296- }
297- &.modal-open, &[open], &:target {
298- background-color: oklch(0% 0 0/ 0.4);
299- transition: transform 0.3s ease-out, background-color 0.3s ease-out, opacity 0.1s ease-out;
300- pointer-events: auto;
301- visibility: visible;
302- opacity: 100%;
303- .modal-box {
304- translate: 0 0;
305- scale: 1;
306- opacity: 1;
307- }
308- }
309- @starting-style {
310- &.modal-open, &[open], &:target {
311- visibility: hidden;
312- opacity: 0%;
313- }
314- }
315- }
316- .drawer-side {
317- pointer-events: none;
318- visibility: hidden;
319- position: fixed;
320- inset-inline-start: calc(0.25rem * 0);
321- top: calc(0.25rem * 0);
322- grid-column-start: 1;
323- grid-row-start: 1;
324- display: grid;
325- width: 100%;
326- grid-template-columns: repeat(1, minmax(0, 1fr));
327- grid-template-rows: repeat(1, minmax(0, 1fr));
328- align-items: flex-start;
329- justify-items: start;
330- overflow-x: hidden;
331- overflow-y: hidden;
332- overscroll-behavior: contain;
333- opacity: 0%;
334- transition: opacity 0.2s ease-out 0.1s allow-discrete, visibility 0.3s ease-out 0.1s allow-discrete;
335- height: 100vh;
336- height: 100dvh;
337- > .drawer-overlay {
338- position: sticky;
339- top: calc(0.25rem * 0);
340- cursor: pointer;
341- place-self: stretch;
342- background-color: oklch(0% 0 0 / 40%);
343- }
344- > * {
345- grid-column-start: 1;
346- grid-row-start: 1;
347- }
348- > *:not(.drawer-overlay) {
349- will-change: transform;
350- transition: translate 0.3s ease-out;
351- translate: -100%;
352- [dir="rtl"] & {
353- translate: 100%;
354- }
355- }
356- }
357- .drawer-open {
358- > .drawer-side {
359- overflow-y: auto;
360- }
361- > .drawer-toggle {
362- display: none;
363- & ~ .drawer-side {
364- pointer-events: auto;
365- visibility: visible;
366- position: sticky;
367- display: block;
368- width: auto;
369- overscroll-behavior: auto;
370- opacity: 100%;
371- & > .drawer-overlay {
372- cursor: default;
373- background-color: transparent;
374- }
375- & > *:not(.drawer-overlay) {
376- translate: 0%;
377- [dir="rtl"] & {
378- translate: 0%;
379- }
380- }
381- }
382- &:checked ~ .drawer-side {
383- pointer-events: auto;
384- visibility: visible;
385- }
386- }
387- }
388- .modal-toggle {
389- position: fixed;
390- height: calc(0.25rem * 0);
391- width: calc(0.25rem * 0);
392- appearance: none;
393- opacity: 0%;
394- &:checked + .modal {
395- pointer-events: auto;
396- visibility: visible;
397- opacity: 100%;
398- background-color: oklch(0% 0 0/ 0.4);
399- .modal-box {
400- translate: 0 0;
401- scale: 1;
402- opacity: 1;
403- }
404- }
405- @starting-style {
406- &:checked + .modal {
407- visibility: hidden;
408- opacity: 0%;
409- }
410- }
411- }
412- .drawer-toggle {
413- position: fixed;
414- height: calc(0.25rem * 0);
415- width: calc(0.25rem * 0);
416- appearance: none;
417- opacity: 0%;
418- &:checked {
419- & ~ .drawer-side {
420- pointer-events: auto;
421- visibility: visible;
422- overflow-y: auto;
423- opacity: 100%;
424- & > *:not(.drawer-overlay) {
425- translate: 0%;
426- }
427- }
428- }
429- &:focus-visible ~ .drawer-content label.drawer-button {
430- outline: 2px solid;
431- outline-offset: 2px;
432- }
433- }
434- .tooltip {
435- position: relative;
436- display: inline-block;
437- --tt-bg: var(--color-neutral);
438- --tt-off: calc(100% + 0.5rem);
439- --tt-tail: calc(100% + 1px + 0.25rem);
440- > :where(.tooltip-content), &[data-tip]:before {
441- position: absolute;
442- max-width: 20rem;
443- border-radius: var(--radius-field);
444- padding-inline: calc(0.25rem * 2);
445- padding-block: calc(0.25rem * 1);
446- text-align: center;
447- white-space: normal;
448- color: var(--color-neutral-content);
449- opacity: 0%;
450- font-size: 0.875rem;
451- line-height: 1.25em;
452- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;
453- background-color: var(--tt-bg);
454- width: max-content;
455- pointer-events: none;
456- z-index: 1;
457- --tw-content: attr(data-tip);
458- content: var(--tw-content);
459- }
460- &:after {
461- position: absolute;
462- position: absolute;
463- opacity: 0%;
464- background-color: var(--tt-bg);
465- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;
466- content: "";
467- pointer-events: none;
468- width: 0.625rem;
469- height: 0.25rem;
470- display: block;
471- mask-repeat: no-repeat;
472- mask-position: -1px 0;
473- --mask-tooltip: url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");
474- mask-image: var(--mask-tooltip);
475- }
476- &.tooltip-open, &[data-tip]:hover, &:hover, &:has(:focus-visible) {
477- > .tooltip-content, &[data-tip]:before, &:after {
478- opacity: 100%;
479- --tt-pos: 0rem;
480- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0ms;
481- }
482- }
483- > .tooltip-content, &[data-tip]:before {
484- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
485- inset: auto auto var(--tt-off) 50%;
486- }
487- &:after {
488- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
489- inset: auto auto var(--tt-tail) 50%;
490- }
491- }
492- .tab {
493- position: relative;
494- display: inline-flex;
495- cursor: pointer;
496- appearance: none;
497- flex-wrap: wrap;
498- align-items: center;
499- justify-content: center;
500- text-align: center;
501- webkit-user-select: none;
502- user-select: none;
503- &:hover {
504- @media (hover: hover) {
505- color: var(--color-base-content);
506- }
507- }
508- --tab-p: 1rem;
509- --tab-bg: var(--color-base-100);
510- --tab-border-color: var(--color-base-300);
511- --tab-radius-ss: 0;
512- --tab-radius-se: 0;
513- --tab-radius-es: 0;
514- --tab-radius-ee: 0;
515- --tab-order: 0;
516- --tab-radius-min: calc(0.75rem - var(--border));
517- border-color: #0000;
518- order: var(--tab-order);
519- height: calc(var(--size-field, 0.25rem) * 10);
520- font-size: 0.875rem;
521- padding-inline-start: var(--tab-p);
522- padding-inline-end: var(--tab-p);
523- &:is(input[type="radio"]) {
524- min-width: fit-content;
525- &:after {
526- content: attr(aria-label);
527- }
528- }
529- &:is(label) {
530- position: relative;
531- input {
532- position: absolute;
533- inset: calc(0.25rem * 0);
534- cursor: pointer;
535- appearance: none;
536- opacity: 0%;
537- }
538- }
539- &:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"]) {
540- & + .tab-content {
541- display: block;
542- height: 100%;
543- }
544- }
545- &:not(:checked, label:has(:checked), :hover, .tab-active, [aria-selected="true"]) {
546- color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
547- }
548- &:not(input):empty {
549- flex-grow: 1;
550- cursor: default;
551- }
552- &:focus {
553- --tw-outline-style: none;
554- outline-style: none;
555- @media (forced-colors: active) {
556- outline: 2px solid transparent;
557- outline-offset: 2px;
558- }
559- }
560- &:focus-visible, &:is(label:has(:checked:focus-visible)) {
561- outline: 2px solid currentColor;
562- outline-offset: -5px;
563- }
564- &[disabled] {
565- pointer-events: none;
566- opacity: 40%;
567- }
568- }
569- .menu {
570- display: flex;
571- width: fit-content;
572- flex-direction: column;
573- flex-wrap: wrap;
574- padding: calc(0.25rem * 2);
575- --menu-active-fg: var(--color-neutral-content);
576- --menu-active-bg: var(--color-neutral);
577- font-size: 0.875rem;
578- :where(li ul) {
579- position: relative;
580- margin-inline-start: calc(0.25rem * 4);
581- padding-inline-start: calc(0.25rem * 2);
582- white-space: nowrap;
583- &:before {
584- position: absolute;
585- inset-inline-start: calc(0.25rem * 0);
586- top: calc(0.25rem * 3);
587- bottom: calc(0.25rem * 3);
588- background-color: var(--color-base-content);
589- opacity: 10%;
590- width: var(--border);
591- content: "";
592- }
593- }
594- :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
595- display: none;
596- }
597- :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
598- display: grid;
599- grid-auto-flow: column;
600- align-content: flex-start;
601- align-items: center;
602- gap: calc(0.25rem * 2);
603- border-radius: var(--radius-field);
604- padding-inline: calc(0.25rem * 3);
605- padding-block: calc(0.25rem * 1.5);
606- text-align: start;
607- transition-property: color, background-color, box-shadow;
608- transition-duration: 0.2s;
609- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
610- grid-auto-columns: minmax(auto, max-content) auto max-content;
611- text-wrap: balance;
612- user-select: none;
613- }
614- :where(li > details > summary) {
615- --tw-outline-style: none;
616- outline-style: none;
617- @media (forced-colors: active) {
618- outline: 2px solid transparent;
619- outline-offset: 2px;
620- }
621- &::-webkit-details-marker {
622- display: none;
623- }
624- }
625- :where(li > details > summary), :where(li > .menu-dropdown-toggle) {
626- &:after {
627- justify-self: flex-end;
628- display: block;
629- height: 0.375rem;
630- width: 0.375rem;
631- rotate: -135deg;
632- translate: 0 -1px;
633- transition-property: rotate, translate;
634- transition-duration: 0.2s;
635- content: "";
636- transform-origin: 50% 50%;
637- box-shadow: 2px 2px inset;
638- pointer-events: none;
639- }
640- }
641- :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
642- rotate: 45deg;
643- translate: 0 1px;
644- }
645- :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) {
646- &.menu-focus, &:focus-visible {
647- cursor: pointer;
648- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
649- color: var(--color-base-content);
650- --tw-outline-style: none;
651- outline-style: none;
652- @media (forced-colors: active) {
653- outline: 2px solid transparent;
654- outline-offset: 2px;
655- }
656- }
657- }
658- :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) {
659- cursor: pointer;
660- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
661- --tw-outline-style: none;
662- outline-style: none;
663- @media (forced-colors: active) {
664- outline: 2px solid transparent;
665- outline-offset: 2px;
666- }
667- box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;
668- }
669- :where(li:empty) {
670- background-color: var(--color-base-content);
671- opacity: 10%;
672- margin: 0.5rem 1rem;
673- height: 1px;
674- }
675- :where(li) {
676- position: relative;
677- display: flex;
678- flex-shrink: 0;
679- flex-direction: column;
680- flex-wrap: wrap;
681- align-items: stretch;
682- .badge {
683- justify-self: flex-end;
684- }
685- & > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active {
686- --tw-outline-style: none;
687- outline-style: none;
688- @media (forced-colors: active) {
689- outline: 2px solid transparent;
690- outline-offset: 2px;
691- }
692- color: var(--menu-active-fg);
693- background-color: var(--menu-active-bg);
694- background-size: auto, calc(var(--noise) * 100%);
695- background-image: none, var(--fx-noise);
696- &:not(&:active) {
697- box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
698- }
699- }
700- &.menu-disabled {
701- pointer-events: none;
702- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
703- }
704- }
705- .dropdown:focus-within {
706- .menu-dropdown-toggle:after {
707- rotate: 45deg;
708- translate: 0 1px;
709- }
710- }
711- .dropdown-content {
712- margin-top: calc(0.25rem * 2);
713- padding: calc(0.25rem * 2);
714- &:before {
715- display: none;
716- }
717- }
718- }
719- .floating-label {
720- position: relative;
721- display: block;
722- input {
723- display: block;
724- &::placeholder {
725- transition: top 0.1s ease-out, translate 0.1s ease-out, scale 0.1s ease-out, opacity 0.1s ease-out;
726- }
727- }
728- textarea {
729- &::placeholder {
730- transition: top 0.1s ease-out, translate 0.1s ease-out, scale 0.1s ease-out, opacity 0.1s ease-out;
731- }
732- }
733- > span {
734- position: absolute;
735- inset-inline-start: calc(0.25rem * 3);
736- z-index: 1;
737- background-color: var(--color-base-100);
738- padding-inline: calc(0.25rem * 1);
739- opacity: 0%;
740- font-size: 0.875rem;
741- top: calc(var(--size-field, 0.25rem) * 10 / 2);
742- line-height: 1;
743- border-radius: 2px;
744- pointer-events: none;
745- translate: 0 -50%;
746- transition: top 0.1s ease-out, translate 0.1s ease-out, scale 0.1s ease-out, opacity 0.1s ease-out;
747- }
748- &:focus-within, &:not(:has(input:placeholder-shown, textarea:placeholder-shown)) {
749- ::placeholder {
750- opacity: 0%;
751- top: 0;
752- translate: -12.5% calc(-50% - 0.125em);
753- scale: 0.75;
754- pointer-events: auto;
755- }
756- > span {
757- opacity: 100%;
758- top: 0;
759- translate: -12.5% calc(-50% - 0.125em);
760- scale: 0.75;
761- pointer-events: auto;
762- }
763- }
764- &:has(:disabled, [disabled]) {
765- > span {
766- opacity: 0%;
767- }
768- }
769- &:has(.input-xs, .select-xs, .textarea-xs) span {
770- font-size: 0.6875rem;
771- top: calc(var(--size-field, 0.25rem) * 6 / 2);
772- }
773- &:has(.input-sm, .select-sm, .textarea-sm) span {
774- font-size: 0.75rem;
775- top: calc(var(--size-field, 0.25rem) * 8 / 2);
776- }
777- &:has(.input-md, .select-md, .textarea-md) span {
778- font-size: 0.875rem;
779- top: calc(var(--size-field, 0.25rem) * 10 / 2);
780- }
781- &:has(.input-lg, .select-lg, .textarea-lg) span {
782- font-size: 1.125rem;
783- top: calc(var(--size-field, 0.25rem) * 12 / 2);
784- }
785- &:has(.input-xl, .select-xl, .textarea-xl) span {
786- font-size: 1.375rem;
787- top: calc(var(--size-field, 0.25rem) * 14 / 2);
788- }
789- }
790- .collapse-arrow {
791- > .collapse-title:after {
792- position: absolute;
793- display: block;
794- height: 0.5rem;
795- width: 0.5rem;
796- transform: translateY(-100%) rotate(45deg);
797- transition-property: all;
798- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
799- transition-duration: 0.2s;
800- top: 1.9rem;
801- inset-inline-end: 1.4rem;
802- content: "";
803- transform-origin: 75% 75%;
804- box-shadow: 2px 2px;
805- pointer-events: none;
806- }
807- }
808- .collapse-plus {
809- > .collapse-title:after {
810- position: absolute;
811- display: block;
812- height: 0.5rem;
813- width: 0.5rem;
814- transition-property: all;
815- transition-duration: 300ms;
816- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
817- top: 0.9rem;
818- inset-inline-end: 1.4rem;
819- content: "+";
820- pointer-events: none;
821- }
822- }
823- .diff-item-2 {
824- position: relative;
825- grid-column-start: 1;
826- grid-row-start: 1;
827- &:after {
828- pointer-events: none;
829- position: absolute;
830- top: calc(1/2 * 100%);
831- right: 1px;
832- bottom: calc(0.25rem * 0);
833- z-index: 2;
834- border-radius: calc(infinity * 1px);
835- background-color: color-mix(in oklab, var(--color-base-100) 50%, transparent);
836- width: 1.2rem;
837- height: 1.8rem;
838- border: 2px solid var(--color-base-100);
839- content: "";
840- outline: 1px solid color-mix(in oklab, var(--color-base-content) 5%, #0000);
841- outline-offset: -3px;
842- backdrop-filter: blur(8px);
843- box-shadow: 0 1px 2px 0 oklch(0% 0 0 / 0.1);
844- translate: 50% -50%;
845- }
846- > * {
847- pointer-events: none;
848- position: absolute;
849- top: calc(0.25rem * 0);
850- bottom: calc(0.25rem * 0);
851- left: calc(0.25rem * 0);
852- height: 100%;
853- width: 100cqi;
854- max-width: none;
855- object-fit: cover;
856- object-position: center;
857- }
858- @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
859- &:after {
860- content: none;
861- }
862- }
863- }
864- .pika-single {
865- &:is(div) {
866- user-select: none;
867- font-size: 0.75rem;
868- z-index: 999;
869- display: inline-block;
870- position: relative;
871- color: var(--color-base-content);
872- background-color: var(--color-base-100);
873- border-radius: var(--radius-box);
874- border: var(--border) solid var(--color-base-200);
875- padding: 0.5rem;
876- &:before,
877- &:after {
878- content: "";
879- display: table;
880- }
881- &:after {
882- clear: both;
883- }
884- &.is-hidden {
885- display: none;
886- }
887- &.is-bound {
888- position: absolute;
889- }
890- .pika-lendar {
891- css-float: left;
892- }
893- .pika-title {
894- position: relative;
895- text-align: center;
896- select {
897- cursor: pointer;
898- position: absolute;
899- z-index: 999;
900- margin: 0;
901- left: 0;
902- top: 5px;
903- opacity: 0;
904- }
905- }
906- .pika-label {
907- display: inline-block;
908- position: relative;
909- z-index: 999;
910- overflow: hidden;
911- margin: 0;
912- padding: 5px 3px;
913- background-color: var(--color-base-100);
914- }
915- .pika-prev,
916- .pika-next {
917- display: block;
918- cursor: pointer;
919- position: absolute;
920- top: 0;
921- outline: none;
922- border: 0;
923- width: 2.25rem;
924- height: 2.25rem;
925- color: #0000;
926- font-size: 1.2em;
927- border-radius: var(--radius-field);
928- &:hover {
929- background-color: var(--color-base-200);
930- }
931- &.is-disabled {
932- cursor: default;
933- opacity: 0.2;
934- }
935- &:before {
936- display: inline-block;
937- width: 2.25rem;
938- height: 2.25rem;
939- line-height: 2.25;
940- color: var(--color-base-content);
941- }
942- }
943- .pika-prev {
944- left: 0;
945- &:before {
946- content: "‹";
947- }
948- }
949- .pika-next {
950- right: 0;
951- &:before {
952- content: "›";
953- }
954- }
955- .pika-select {
956- display: inline-block;
957- }
958- .pika-table {
959- width: 100%;
960- border-collapse: collapse;
961- border-spacing: 0;
962- border: 0;
963- th,
964- td {
965- padding: 0;
966- }
967- th {
968- opacity: 0.6;
969- text-align: center;
970- width: 2.25rem;
971- height: 2.25rem;
972- }
973- }
974- .pika-button {
975- cursor: pointer;
976- display: block;
977- outline: none;
978- border: 0;
979- margin: 0;
980- width: 2.25rem;
981- height: 2.25rem;
982- padding: 5px;
983- text-align: right;
984- text-align: center;
985- }
986- .pika-week {
987- color: var(--color-base-content);
988- }
989- .is-today {
990- .pika-button {
991- background: var(--color-primary);
992- color: var(--color-primary-content);
993- }
994- }
995- .is-selected,
996- .has-event {
997- .pika-button {
998- &,
999- &:hover {
1000- color: var(--color-base-100);
1001- background-color: var(--color-base-content);
1002- border-radius: var(--radius-field);
1003- }
1004- }
1005- }
1006- .has-event {
1007- .pika-button {
1008- background: var(--color-base-primary);
1009- }
1010- }
1011- .is-disabled,
1012- .is-inrange {
1013- .pika-button {
1014- background: var(--color-base-primary);
1015- }
1016- }
1017- .is-startrange {
1018- .pika-button {
1019- color: var(--color-base-100);
1020- background: var(--color-base-content);
1021- border-radius: var(--radius-field);
1022- }
1023- }
1024- .is-endrange {
1025- .pika-button {
1026- color: var(--color-base-100);
1027- background: var(--color-base-content);
1028- border-radius: var(--radius-field);
1029- }
1030- }
1031- .is-disabled {
1032- .pika-button {
1033- pointer-events: none;
1034- cursor: default;
1035- color: var(--color-base-content);
1036- opacity: 0.3;
1037- }
1038- }
1039- .is-outside-current-month {
1040- .pika-button {
1041- color: var(--color-base-content);
1042- opacity: 0.3;
1043- }
1044- }
1045- .is-selection-disabled {
1046- pointer-events: none;
1047- cursor: default;
1048- }
1049- .pika-button:hover,
1050- .pika-row.pick-whole-week:hover .pika-button {
1051- color: var(--color-base-content);
1052- background-color: var(--color-base-200);
1053- border-radius: var(--radius-field);
1054- }
1055- .pika-table abbr {
1056- text-decoration: none;
1057- font-weight: normal;
1058- }
1059- }
1060- }
1061- .diff-item-1 {
1062- position: relative;
1063- z-index: 1;
1064- grid-column-start: 1;
1065- grid-row-start: 1;
1066- overflow: hidden;
1067- border-right: 2px solid var(--color-base-100);
1068- > * {
1069- pointer-events: none;
1070- position: absolute;
1071- top: calc(0.25rem * 0);
1072- bottom: calc(0.25rem * 0);
1073- left: calc(0.25rem * 0);
1074- height: 100%;
1075- width: 100cqi;
1076- max-width: none;
1077- object-fit: cover;
1078- object-position: center;
1079- }
1080- }
1081- .dock {
1082- position: fixed;
1083- right: calc(0.25rem * 0);
1084- bottom: calc(0.25rem * 0);
1085- left: calc(0.25rem * 0);
1086- z-index: 1;
1087- display: flex;
1088- width: 100%;
1089- flex-direction: row;
1090- align-items: center;
1091- justify-content: space-around;
1092- background-color: var(--color-base-100);
1093- padding: calc(0.25rem * 2);
1094- color: currentColor;
1095- border-top: 0.5px solid color-mix(in oklab, var(--color-base-content) 5%, #0000);
1096- height: 4rem;
1097- height: calc(4rem + env(safe-area-inset-bottom));
1098- padding-bottom: env(safe-area-inset-bottom);
1099- > * {
1100- position: relative;
1101- margin-bottom: calc(0.25rem * 2);
1102- display: flex;
1103- height: 100%;
1104- max-width: calc(0.25rem * 32);
1105- flex-shrink: 1;
1106- flex-basis: 100%;
1107- cursor: pointer;
1108- flex-direction: column;
1109- align-items: center;
1110- justify-content: center;
1111- gap: 1px;
1112- border-radius: var(--radius-box);
1113- background-color: transparent;
1114- transition: opacity 0.2s ease-out;
1115- &:where(.dock-active) {
1116- &:after {
1117- content: "";
1118- position: absolute;
1119- height: calc(0.25rem * 1);
1120- width: calc(0.25rem * 10);
1121- border-radius: calc(infinity * 1px);
1122- background-color: currentColor;
1123- bottom: 0.2rem;
1124- border-top: 3px solid;
1125- }
1126- }
1127- @media (hover: hover) {
1128- &:hover {
1129- opacity: 80%;
1130- }
1131- }
1132- &[aria-disabled="true"], &[disabled] {
1133- &, &:hover {
1134- pointer-events: none;
1135- color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
1136- opacity: 100%;
1137- }
1138- }
1139- .dock-label {
1140- font-size: 0.6875rem;
1141- }
1142- }
1143- }
1144- .dropdown {
1145- position: relative;
1146- display: inline-block;
1147- position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);
1148- & > *:not(summary):focus {
1149- --tw-outline-style: none;
1150- outline-style: none;
1151- @media (forced-colors: active) {
1152- outline: 2px solid transparent;
1153- outline-offset: 2px;
1154- }
1155- }
1156- .dropdown-content {
1157- position: absolute;
1158- }
1159- &:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) {
1160- .dropdown-content {
1161- display: none;
1162- transform-origin: top;
1163- opacity: 0%;
1164- scale: 95%;
1165- }
1166- }
1167- &[popover], .dropdown-content {
1168- z-index: 999;
1169- animation: dropdown 0.2s;
1170- transition-property: opacity, scale, display;
1171- transition-behavior: allow-discrete;
1172- transition-duration: 0.2s;
1173- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1174- }
1175- @starting-style {
1176- &[popover], .dropdown-content {
1177- scale: 95%;
1178- opacity: 0;
1179- }
1180- }
1181- &.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within {
1182- > [tabindex]:first-child {
1183- pointer-events: none;
1184- }
1185- .dropdown-content {
1186- opacity: 100%;
1187- }
1188- }
1189- &.dropdown-hover:hover {
1190- .dropdown-content {
1191- opacity: 100%;
1192- scale: 100%;
1193- }
1194- }
1195- &:is(details) {
1196- summary {
1197- &::-webkit-details-marker {
1198- display: none;
1199- }
1200- }
1201- }
1202- &.dropdown-open, &:focus, &:focus-within {
1203- .dropdown-content {
1204- scale: 100%;
1205- }
1206- }
1207- &:where([popover]) {
1208- background: #0000;
1209- }
1210- &[popover] {
1211- position: fixed;
1212- color: inherit;
1213- @supports not (position-area: bottom) {
1214- margin: auto;
1215- &.dropdown-open:not(:popover-open) {
1216- display: none;
1217- transform-origin: top;
1218- opacity: 0%;
1219- scale: 95%;
1220- }
1221- &::backdrop {
1222- background-color: color-mix(in oklab, #000 30%, #0000);
1223- }
1224- }
1225- &:not(.dropdown-open, :popover-open) {
1226- display: none;
1227- transform-origin: top;
1228- opacity: 0%;
1229- scale: 95%;
1230- }
1231- }
1232- }
1233- .btn {
1234- display: inline-flex;
1235- flex-shrink: 0;
1236- cursor: pointer;
1237- flex-wrap: nowrap;
1238- align-items: center;
1239- justify-content: center;
1240- gap: calc(0.25rem * 1.5);
1241- text-align: center;
1242- vertical-align: middle;
1243- outline-offset: 2px;
1244- webkit-user-select: none;
1245- user-select: none;
1246- padding-inline: var(--btn-p);
1247- color: var(--btn-fg);
1248- --tw-prose-links: var(--btn-fg);
1249- height: var(--size);
1250- font-size: var(--fontsize, 0.875rem);
1251- font-weight: 600;
1252- outline-color: var(--btn-color, var(--color-base-content));
1253- transition-property: color, background-color, border-color, box-shadow;
1254- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
1255- transition-duration: 0.2s;
1256- border-start-start-radius: var(--join-ss, var(--radius-field));
1257- border-start-end-radius: var(--join-se, var(--radius-field));
1258- border-end-start-radius: var(--join-es, var(--radius-field));
1259- border-end-end-radius: var(--join-ee, var(--radius-field));
1260- background-color: var(--btn-bg);
1261- background-size: auto, calc(var(--noise) * 100%);
1262- background-image: none, var(--btn-noise);
1263- border-width: var(--border);
1264- border-style: solid;
1265- border-color: var(--btn-border);
1266- text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
1267- box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
1268- --size: calc(var(--size-field, 0.25rem) * 10);
1269- --btn-bg: var(--btn-color, var(--color-base-200));
1270- --btn-fg: var(--color-base-content);
1271- --btn-p: 1rem;
1272- --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
1273- --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
1274- 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
1275- --btn-noise: var(--fx-noise);
1276- .prose & {
1277- text-decoration-line: none;
1278- }
1279- @media (hover: hover) {
1280- &:hover {
1281- --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
1282- }
1283- }
1284- &:focus-visible {
1285- outline-width: 2px;
1286- outline-style: solid;
1287- }
1288- &:active:not(.btn-active) {
1289- translate: 0 0.5px;
1290- --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
1291- --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
1292- --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
1293- }
1294- &:is(:disabled, [disabled], .btn-disabled) {
1295- &:not(.btn-link, .btn-ghost) {
1296- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
1297- box-shadow: none;
1298- }
1299- pointer-events: none;
1300- --btn-border: #0000;
1301- --btn-noise: none;
1302- --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
1303- @media (hover: hover) {
1304- &:hover {
1305- pointer-events: none;
1306- background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);
1307- --btn-border: #0000;
1308- --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
1309- }
1310- }
1311- }
1312- &:is(input[type="checkbox"], input[type="radio"]) {
1313- appearance: none;
1314- &::after {
1315- content: attr(aria-label);
1316- }
1317- }
1318- &:where(input:checked:not(.filter .btn)) {
1319- --btn-color: var(--color-primary);
1320- --btn-fg: var(--color-primary-content);
1321- isolation: isolate;
1322- }
1323- }
1324- .loading {
1325- pointer-events: none;
1326- display: inline-block;
1327- aspect-ratio: 1 / 1;
1328- background-color: currentColor;
1329- vertical-align: middle;
1330- width: calc(var(--size-selector, 0.25rem) * 6);
1331- mask-size: 100%;
1332- mask-repeat: no-repeat;
1333- mask-position: center;
1334- mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
1335- }
1336- .tab-disabled {
1337- pointer-events: none;
1338- opacity: 40%;
1339- }
1340- .react-day-picker {
1341- user-select: none;
1342- background-color: var(--color-base-100);
1343- border-radius: var(--radius-box);
1344- border: var(--border) solid var(--color-base-200);
1345- font-size: 0.75rem;
1346- display: inline-block;
1347- position: relative;
1348- overflow: clip;
1349- &[dir="rtl"] {
1350- .rdp-nav {
1351- .rdp-chevron {
1352- transform-origin: 50%;
1353- transform: rotate(180deg);
1354- }
1355- }
1356- }
1357- * {
1358- box-sizing: border-box;
1359- }
1360- .rdp-day {
1361- width: 2.25rem;
1362- height: 2.25rem;
1363- text-align: center;
1364- }
1365- .rdp-day_button {
1366- cursor: pointer;
1367- font: inherit;
1368- color: inherit;
1369- width: 2.25rem;
1370- height: 2.25rem;
1371- border: 2px solid #0000;
1372- border-radius: var(--radius-field);
1373- background: 0 0;
1374- justify-content: center;
1375- align-items: center;
1376- margin: 0;
1377- padding: 0;
1378- display: flex;
1379- &:disabled {
1380- cursor: revert;
1381- }
1382- &:hover {
1383- background-color: var(--color-base-200);
1384- }
1385- }
1386- .rdp-caption_label {
1387- z-index: 1;
1388- white-space: nowrap;
1389- border: 0;
1390- align-items: center;
1391- display: inline-flex;
1392- position: relative;
1393- }
1394- .rdp-button_next {
1395- border-radius: var(--radius-field);
1396- &:hover {
1397- background-color: var(--color-base-200);
1398- }
1399- }
1400- .rdp-button_previous {
1401- border-radius: var(--radius-field);
1402- &:hover {
1403- background-color: var(--color-base-200);
1404- }
1405- }
1406- .rdp-button_next,
1407- .rdp-button_previous {
1408- cursor: pointer;
1409- font: inherit;
1410- color: inherit;
1411- appearance: none;
1412- width: 2.25rem;
1413- height: 2.25rem;
1414- background: 0 0;
1415- border: none;
1416- justify-content: center;
1417- align-items: center;
1418- margin: 0;
1419- padding: 0;
1420- display: inline-flex;
1421- position: relative;
1422- &:disabled {
1423- cursor: revert;
1424- opacity: 0.5;
1425- }
1426- }
1427- .rdp-chevron {
1428- fill: var(--color-base-content);
1429- width: 1rem;
1430- height: 1rem;
1431- display: inline-block;
1432- }
1433- .rdp-dropdowns {
1434- align-items: center;
1435- gap: 0.5rem;
1436- display: inline-flex;
1437- position: relative;
1438- }
1439- .rdp-dropdown {
1440- z-index: 2;
1441- opacity: 0;
1442- appearance: none;
1443- cursor: inherit;
1444- line-height: inherit;
1445- border: none;
1446- width: 100%;
1447- margin: 0;
1448- padding: 0;
1449- position: absolute;
1450- inset-block: 0;
1451- inset-inline-start: 0;
1452- &:focus-visible {
1453- ~ .rdp-caption_label {
1454- outline: 5px auto highlight;
1455- outline: 5px auto -webkit-focus-ring-color;
1456- }
1457- }
1458- }
1459- .rdp-dropdown_root {
1460- align-items: center;
1461- display: inline-flex;
1462- position: relative;
1463- &[data-disabled="true"] {
1464- .rdp-chevron {
1465- opacity: 0.5;
1466- }
1467- }
1468- }
1469- .rdp-month_caption {
1470- height: 2.75rem;
1471- font-size: 0.75rem;
1472- font-weight: inherit;
1473- place-content: center;
1474- display: flex;
1475- }
1476- .rdp-months {
1477- gap: 2rem;
1478- flex-wrap: wrap;
1479- max-width: fit-content;
1480- padding: 0.5rem;
1481- display: flex;
1482- position: relative;
1483- }
1484- .rdp-month_grid {
1485- border-collapse: collapse;
1486- }
1487- .rdp-nav {
1488- height: 2.75rem;
1489- inset-block-start: 0;
1490- inset-inline-end: 0;
1491- justify-content: space-between;
1492- align-items: center;
1493- width: 100%;
1494- padding-inline: 0.5rem;
1495- display: flex;
1496- position: absolute;
1497- top: 0.25rem;
1498- }
1499- .rdp-weekday {
1500- opacity: 0.6;
1501- padding: 0.5rem 0rem;
1502- text-align: center;
1503- font-size: smaller;
1504- font-weight: 500;
1505- }
1506- .rdp-week_number {
1507- opacity: 0.6;
1508- height: 2.25rem;
1509- width: 2.25rem;
1510- border: none;
1511- border-radius: 100%;
1512- text-align: center;
1513- font-size: small;
1514- font-weight: 400;
1515- }
1516- .rdp-today:not(.rdp-outside) {
1517- .rdp-day_button {
1518- background: var(--color-primary);
1519- color: var(--color-primary-content);
1520- }
1521- }
1522- .rdp-selected {
1523- font-weight: inherit;
1524- font-size: 0.75rem;
1525- .rdp-day_button {
1526- color: var(--color-base-100);
1527- background-color: var(--color-base-content);
1528- border-radius: var(--radius-field);
1529- border: none;
1530- &:hover {
1531- background-color: var(--color-base-content);
1532- }
1533- }
1534- }
1535- .rdp-outside {
1536- opacity: 0.75;
1537- }
1538- .rdp-disabled {
1539- opacity: 0.5;
1540- }
1541- .rdp-hidden {
1542- visibility: hidden;
1543- color: var(--color-base-content);
1544- }
1545- .rdp-range_start {
1546- .rdp-day_button {
1547- border-radius: var(--radius-field) 0 0 var(--radius-field);
1548- }
1549- }
1550- .rdp-range_start .rdp-day_button {
1551- background-color: var(--color-base-content);
1552- color: var(--color-base-content);
1553- }
1554- .rdp-range_middle {
1555- background-color: var(--color-base-200);
1556- }
1557- .rdp-range_middle .rdp-day_button {
1558- border: unset;
1559- border-radius: unset;
1560- color: inherit;
1561- }
1562- .rdp-range_end {
1563- color: var(--color-base-content);
1564- .rdp-day_button {
1565- border-radius: 0 var(--radius-field) var(--radius-field) 0;
1566- }
1567- }
1568- .rdp-range_end .rdp-day_button {
1569- color: var(--color-base-content);
1570- background-color: var(--color-base-content);
1571- }
1572- .rdp-range_start.rdp-range_end {
1573- background: revert;
1574- }
1575- .rdp-focusable {
1576- cursor: pointer;
1577- }
1578- .rdp-footer {
1579- border-top: var(--border) solid var(--color-base-200);
1580- padding: 0.5rem;
1581- }
1582- }
1583- .collapse {
1584- &:not(td, tr, colgroup) {
1585- visibility: visible;
1586- }
1587- position: relative;
1588- display: grid;
1589- overflow: hidden;
1590- border-radius: var(--radius-box, 1rem);
1591- width: 100%;
1592- grid-template-rows: max-content 0fr;
1593- transition: grid-template-rows 0.2s;
1594- > input:is([type="checkbox"], [type="radio"]) {
1595- grid-column-start: 1;
1596- grid-row-start: 1;
1597- appearance: none;
1598- opacity: 0;
1599- z-index: 1;
1600- width: 100%;
1601- padding: 1rem;
1602- padding-inline-end: 3rem;
1603- min-height: 3.75rem;
1604- transition: background-color 0.2s ease-out;
1605- }
1606- &:is([open], :focus:not(.collapse-close)),
1607- &:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) {
1608- grid-template-rows: max-content 1fr;
1609- }
1610- &:is([open], :focus:not(.collapse-close)) > .collapse-content,
1611- &:not(.collapse-close)
1612- > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
1613- visibility: visible;
1614- min-height: fit-content;
1615- }
1616- &:focus-visible,
1617- &:has(> input:is([type="checkbox"], [type="radio"]):focus-visible) {
1618- outline-color: var(--color-base-content);
1619- outline-style: solid;
1620- outline-width: 2px;
1621- outline-offset: 2px;
1622- }
1623- &:not(.collapse-close) {
1624- > input[type="checkbox"],
1625- > input[type="radio"]:not(:checked),
1626- > .collapse-title {
1627- cursor: pointer;
1628- }
1629- }
1630- &:focus:not(.collapse-close, .collapse[open]) > .collapse-title {
1631- cursor: unset;
1632- }
1633- &:is([open], :focus:not(.collapse-close)) > :where(.collapse-content),
1634- &:not(.collapse-close)
1635- > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
1636- padding-bottom: 1rem;
1637- transition: padding 0.2s ease-out,
1638- background-color 0.2s ease-out;
1639- }
1640- &:is([open]) {
1641- &.collapse-arrow {
1642- > .collapse-title:after {
1643- transform: translateY(-50%) rotate(225deg);
1644- }
1645- }
1646- }
1647- &.collapse-open {
1648- &.collapse-arrow {
1649- > .collapse-title:after {
1650- transform: translateY(-50%) rotate(225deg);
1651- }
1652- }
1653- &.collapse-plus {
1654- > .collapse-title:after {
1655- content: "−";
1656- }
1657- }
1658- }
1659- &.collapse-arrow:focus:not(.collapse-close) {
1660- > .collapse-title:after {
1661- transform: translateY(-50%) rotate(225deg);
1662- }
1663- }
1664- &.collapse-arrow:not(.collapse-close) {
1665- > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
1666- transform: translateY(-50%) rotate(225deg);
1667- }
1668- }
1669- &[open] {
1670- &.collapse-plus {
1671- > .collapse-title:after {
1672- content: "−";
1673- }
1674- }
1675- }
1676- &.collapse-plus:focus:not(.collapse-close) {
1677- > .collapse-title:after {
1678- content: "−";
1679- }
1680- }
1681- &.collapse-plus:not(.collapse-close) {
1682- > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
1683- content: "−";
1684- }
1685- }
1686- &:is(details) {
1687- width: 100%;
1688- & summary {
1689- position: relative;
1690- display: block;
1691- &::-webkit-details-marker {
1692- display: none;
1693- }
1694- }
1695- }
1696- &:is(details) summary {
1697- outline: none;
1698- }
1699- }
1700- .collapse-content {
1701- grid-column-start: 1;
1702- grid-row-start: 1;
1703- visibility: hidden;
1704- grid-column-start: 1;
1705- grid-row-start: 2;
1706- min-height: 0;
1707- transition: visibility 0.2s;
1708- transition: padding 0.2s ease-out,
1709- background-color 0.2s ease-out;
1710- padding-left: 1rem;
1711- padding-right: 1rem;
1712- cursor: unset;
1713- }
1714- .validator {
1715- &:user-valid, &:has(:user-valid) {
1716- &, &:focus, &:checked, &[aria-checked="true"], &:focus-within {
1717- --input-color: var(--color-success);
1718- }
1719- }
1720- &:user-invalid, &:has(:user-invalid) {
1721- &, &:focus, &:checked, &[aria-checked="true"], &:focus-within {
1722- --input-color: var(--color-error);
1723- }
1724- & ~ .validator-hint {
1725- visibility: visible;
1726- display: block;
1727- color: var(--color-error);
1728- }
1729- }
1730- & ~ .validator-hint {
1731- visibility: hidden;
1732- }
1733- }
1734- .collapse-open {
1735- grid-template-rows: max-content 1fr;
1736- > .collapse-content {
1737- visibility: visible;
1738- min-height: fit-content;
1739- padding-bottom: 1rem;
1740- transition: padding 0.2sease-out,
1741- background-color 0.2sease-out;
1742- }
1743- }
1744- .collapse {
1745- visibility: collapse;
1746- }
1747- .visible {
1748- visibility: visible;
1749- }
1750- .tabs-lift {
1751- --tabs-height: auto;
1752- --tabs-direction: row;
1753- > .tab {
1754- --tab-border: 0 0 var(--border) 0;
1755- --tab-radius-ss: min(var(--radius-field), var(--tab-radius-min));
1756- --tab-radius-se: min(var(--radius-field), var(--tab-radius-min));
1757- --tab-radius-es: 0;
1758- --tab-radius-ee: 0;
1759- --tab-paddings: var(--border) var(--tab-p) 0 var(--tab-p);
1760- --tab-border-colors: #0000 #0000 var(--tab-border-color) #0000;
1761- --tab-corner-width: calc(100% + min(var(--radius-field), var(--tab-radius-min)) * 2);
1762- --tab-corner-height: min(var(--radius-field), var(--tab-radius-min));
1763- --tab-corner-position: top left, top right;
1764- border-width: var(--tab-border);
1765- border-start-start-radius: var(--tab-radius-ss);
1766- border-start-end-radius: var(--tab-radius-se);
1767- border-end-start-radius: var(--tab-radius-es);
1768- border-end-end-radius: var(--tab-radius-ee);
1769- padding: var(--tab-paddings);
1770- border-color: var(--tab-border-colors);
1771- &:is(.tab-active, [aria-selected="true"]):not(.tab-disabled, [disabled]), &:is(input:checked, label:has(:checked)) {
1772- --tab-border: var(--border) var(--border) 0 var(--border);
1773- --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000
1774- var(--tab-border-color);
1775- --tab-paddings: 0 calc(var(--tab-p) - var(--border)) var(--border)
1776- calc(var(--tab-p) - var(--border));
1777- --tab-inset: auto auto 0 auto;
1778- --tab-grad: calc(69% - var(--border));
1779- --radius-start: radial-gradient(
1780- circle at top left,
1781- #0000 var(--tab-grad),
1782- var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
1783- var(--tab-border-color) calc(var(--tab-grad) + var(--border)),
1784- var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)
1785- );
1786- --radius-end: radial-gradient(
1787- circle at top right,
1788- #0000 var(--tab-grad),
1789- var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
1790- var(--tab-border-color) calc(var(--tab-grad) + var(--border)),
1791- var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)
1792- );
1793- background-color: var(--tab-bg);
1794- &:before {
1795- z-index: 1;
1796- content: "";
1797- display: block;
1798- position: absolute;
1799- width: var(--tab-corner-width);
1800- height: var(--tab-corner-height);
1801- background-position: var(--tab-corner-position);
1802- background-image: var(--radius-start), var(--radius-end);
1803- background-size: min(var(--radius-field), var(--tab-radius-min)) min(var(--radius-field), var(--tab-radius-min));
1804- background-repeat: no-repeat;
1805- inset: var(--tab-inset);
1806- }
1807- &:first-child:before {
1808- --radius-start: none;
1809- }
1810- [dir="rtl"] &:first-child:before {
1811- transform: rotateY(180deg);
1812- }
1813- &:last-child:before {
1814- --radius-end: none;
1815- }
1816- [dir="rtl"] &:last-child:before {
1817- transform: rotateY(180deg);
1818- }
1819- }
1820- }
1821- &:has(.tab-content) {
1822- > .tab:first-child {
1823- &:not(.tab-active, [aria-selected="true"]) {
1824- --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000
1825- var(--tab-border-color);
1826- }
1827- }
1828- }
1829- .tab-content {
1830- --tabcontent-margin: calc(-1 * var(--border)) 0 0 0;
1831- --tabcontent-radius-ss: 0;
1832- --tabcontent-radius-se: var(--radius-box);
1833- --tabcontent-radius-es: var(--radius-box);
1834- --tabcontent-radius-ee: var(--radius-box);
1835- }
1836- :checked, label:has(:checked), :is(.tab-active, [aria-selected="true"]) {
1837- & + .tab-content {
1838- &:nth-child(1), &:nth-child(n + 3) {
1839- --tabcontent-radius-ss: var(--radius-box);
1840- }
1841- }
1842- }
1843- }
1844- .radial-progress {
1845- position: relative;
1846- display: inline-grid;
1847- height: var(--size);
1848- width: var(--size);
1849- place-content: center;
1850- border-radius: calc(infinity * 1px);
1851- background-color: transparent;
1852- vertical-align: middle;
1853- box-sizing: content-box;
1854- --value: 0;
1855- --size: 5rem;
1856- --thickness: calc(var(--size) / 10);
1857- --radialprogress: calc(var(--value) * 1%);
1858- transition: --radialprogress 0.3s linear;
1859- &:before {
1860- position: absolute;
1861- inset: calc(0.25rem * 0);
1862- border-radius: calc(infinity * 1px);
1863- content: "";
1864- background: radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);
1865- webkit-mask: radial-gradient( farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + 0.5px - var(--thickness)) );
1866- mask: radial-gradient( farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + 0.5px - var(--thickness)) );
1867- }
1868- &:after {
1869- position: absolute;
1870- border-radius: calc(infinity * 1px);
1871- background-color: currentColor;
1872- transition: transform 0.3s linear;
1873- content: "";
1874- inset: calc(50% - var(--thickness) / 2);
1875- transform: rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));
1876- }
1877- }
1878- .list {
1879- display: flex;
1880- flex-direction: column;
1881- font-size: 0.875rem;
1882- :where(.list-row) {
1883- --list-grid-cols: minmax(0, auto) 1fr;
1884- position: relative;
1885- display: grid;
1886- grid-auto-flow: column;
1887- gap: calc(0.25rem * 4);
1888- border-radius: var(--radius-box);
1889- padding: calc(0.25rem * 4);
1890- word-break: break-word;
1891- grid-template-columns: var(--list-grid-cols);
1892- &:has(.list-col-grow:nth-child(1)) {
1893- --list-grid-cols: 1fr;
1894- }
1895- &:has(.list-col-grow:nth-child(2)) {
1896- --list-grid-cols: minmax(0, auto) 1fr;
1897- }
1898- &:has(.list-col-grow:nth-child(3)) {
1899- --list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
1900- }
1901- &:has(.list-col-grow:nth-child(4)) {
1902- --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
1903- }
1904- &:has(.list-col-grow:nth-child(5)) {
1905- --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
1906- }
1907- &:has(.list-col-grow:nth-child(6)) {
1908- --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto)
1909- minmax(0, auto) 1fr;
1910- }
1911- :not(.list-col-wrap) {
1912- grid-row-start: 1;
1913- }
1914- }
1915- & > :not(:last-child) {
1916- &.list-row, .list-row {
1917- &:after {
1918- content: "";
1919- border-bottom: var(--border) solid;
1920- inset-inline: var(--radius-box);
1921- position: absolute;
1922- bottom: calc(0.25rem * 0);
1923- border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
1924- }
1925- }
1926- }
1927- }
1928- .toast {
1929- position: fixed;
1930- inset-inline-start: auto;
1931- inset-inline-end: calc(0.25rem * 0);
1932- top: auto;
1933- bottom: calc(0.25rem * 0);
1934- margin: calc(0.25rem * 4);
1935- display: flex;
1936- min-width: fit-content;
1937- flex-direction: column;
1938- gap: calc(0.25rem * 2);
1939- background-color: transparent;
1940- white-space: nowrap;
1941- translate: var(--toast-x, 0) var(--toast-y, 0);
1942- & > * {
1943- animation: toast 0.25s ease-out;
1944- }
1945- &:where(.toast-start) {
1946- inset-inline-start: calc(0.25rem * 0);
1947- inset-inline-end: auto;
1948- --toast-x: 0;
1949- }
1950- &:where(.toast-center) {
1951- inset-inline-start: calc(1/2 * 100%);
1952- inset-inline-end: calc(1/2 * 100%);
1953- --toast-x: -50%;
1954- }
1955- &:where(.toast-end) {
1956- inset-inline-start: auto;
1957- inset-inline-end: calc(0.25rem * 0);
1958- --toast-x: 0;
1959- }
1960- &:where(.toast-bottom) {
1961- top: auto;
1962- bottom: calc(0.25rem * 0);
1963- --toast-y: 0;
1964- }
1965- &:where(.toast-middle) {
1966- top: calc(1/2 * 100%);
1967- bottom: auto;
1968- --toast-y: -50%;
1969- }
1970- &:where(.toast-top) {
1971- top: calc(0.25rem * 0);
1972- bottom: auto;
1973- --toast-y: 0;
1974- }
1975- }
1976- .toggle {
1977- border: var(--border) solid currentColor;
1978- color: var(--input-color);
1979- position: relative;
1980- display: inline-grid;
1981- flex-shrink: 0;
1982- cursor: pointer;
1983- appearance: none;
1984- place-content: center;
1985- vertical-align: middle;
1986- webkit-user-select: none;
1987- user-select: none;
1988- grid-template-columns: 0fr 1fr 1fr;
1989- --radius-selector-max: calc(
1990- var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
1991- );
1992- border-radius: calc( var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)) );
1993- padding: var(--toggle-p);
1994- box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
1995- transition: color 0.3s, grid-template-columns 0.2s;
1996- --input-color: color-mix(in oklab, var(--color-base-content) 50%, #0000);
1997- --toggle-p: 0.1875rem;
1998- --size: calc(var(--size-selector, 0.25rem) * 6);
1999- width: calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);
2000- height: var(--size);
2001- > * {
2002- z-index: 1;
2003- grid-column: span 1 / span 1;
2004- grid-column-start: 2;
2005- grid-row-start: 1;
2006- height: 100%;
2007- cursor: pointer;
2008- appearance: none;
2009- background-color: transparent;
2010- padding: calc(0.25rem * 0.5);
2011- transition: opacity 0.2s, rotate 0.4s;
2012- border: none;
2013- &:focus {
2014- --tw-outline-style: none;
2015- outline-style: none;
2016- @media (forced-colors: active) {
2017- outline: 2px solid transparent;
2018- outline-offset: 2px;
2019- }
2020- }
2021- &:nth-child(2) {
2022- color: var(--color-base-100);
2023- rotate: 0deg;
2024- }
2025- &:nth-child(3) {
2026- color: var(--color-base-100);
2027- opacity: 0%;
2028- rotate: -15deg;
2029- }
2030- }
2031- &:has(:checked) {
2032- > :nth-child(2) {
2033- opacity: 0%;
2034- rotate: 15deg;
2035- }
2036- > :nth-child(3) {
2037- opacity: 100%;
2038- rotate: 0deg;
2039- }
2040- }
2041- &:before {
2042- position: relative;
2043- inset-inline-start: calc(0.25rem * 0);
2044- grid-column-start: 2;
2045- grid-row-start: 1;
2046- aspect-ratio: 1 / 1;
2047- height: 100%;
2048- border-radius: var(--radius-selector);
2049- background-color: currentColor;
2050- translate: 0;
2051- --tw-content: "";
2052- content: var(--tw-content);
2053- transition: background-color 0.1s, translate 0.2s, inset-inline-start 0.2s;
2054- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000);
2055- background-size: auto, calc(var(--noise) * 100%);
2056- background-image: none, var(--fx-noise);
2057- }
2058- @media (forced-colors: active) {
2059- &:before {
2060- outline-style: var(--tw-outline-style);
2061- outline-width: 1px;
2062- outline-offset: calc(1px * -1);
2063- }
2064- }
2065- @media print {
2066- &:before {
2067- outline: 0.25rem solid;
2068- outline-offset: -1rem;
2069- }
2070- }
2071- &:focus-visible, &:has(:focus-visible) {
2072- outline: 2px solid currentColor;
2073- outline-offset: 2px;
2074- }
2075- &:checked, &[aria-checked="true"], &:has(> input:checked) {
2076- grid-template-columns: 1fr 1fr 0fr;
2077- background-color: var(--color-base-100);
2078- --input-color: var(--color-base-content);
2079- &:before {
2080- background-color: currentColor;
2081- }
2082- @starting-style {
2083- &:before {
2084- opacity: 0;
2085- }
2086- }
2087- }
2088- &:indeterminate {
2089- grid-template-columns: 0.5fr 1fr 0.5fr;
2090- }
2091- &:disabled {
2092- cursor: not-allowed;
2093- opacity: 30%;
2094- &:before {
2095- background-color: transparent;
2096- border: var(--border) solid currentColor;
2097- }
2098- }
2099- }
2100- .input {
2101- cursor: text;
2102- border: var(--border) solid #0000;
2103- position: relative;
2104- display: inline-flex;
2105- flex-shrink: 1;
2106- appearance: none;
2107- align-items: center;
2108- gap: calc(0.25rem * 2);
2109- background-color: var(--color-base-100);
2110- padding-inline: calc(0.25rem * 3);
2111- vertical-align: middle;
2112- white-space: nowrap;
2113- width: clamp(3rem, 20rem, 100%);
2114- height: var(--size);
2115- font-size: 0.875rem;
2116- border-start-start-radius: var(--join-ss, var(--radius-field));
2117- border-start-end-radius: var(--join-se, var(--radius-field));
2118- border-end-start-radius: var(--join-es, var(--radius-field));
2119- border-end-end-radius: var(--join-ee, var(--radius-field));
2120- border-color: var(--input-color);
2121- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
2122- --size: calc(var(--size-field, 0.25rem) * 10);
2123- --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
2124- &:where(input) {
2125- display: inline-flex;
2126- }
2127- :where(input) {
2128- display: inline-flex;
2129- height: 100%;
2130- width: 100%;
2131- appearance: none;
2132- background-color: transparent;
2133- border: none;
2134- &:focus, &:focus-within {
2135- --tw-outline-style: none;
2136- outline-style: none;
2137- @media (forced-colors: active) {
2138- outline: 2px solid transparent;
2139- outline-offset: 2px;
2140- }
2141- }
2142- }
2143- &:focus, &:focus-within {
2144- --input-color: var(--color-base-content);
2145- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
2146- outline: 2px solid var(--input-color);
2147- outline-offset: 2px;
2148- isolation: isolate;
2149- }
2150- &:has(> input[disabled]), &:is(:disabled, [disabled]) {
2151- cursor: not-allowed;
2152- border-color: var(--color-base-200);
2153- background-color: var(--color-base-200);
2154- color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
2155- &::placeholder {
2156- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
2157- }
2158- box-shadow: none;
2159- }
2160- &:has(> input[disabled]) > input[disabled] {
2161- cursor: not-allowed;
2162- }
2163- &::-webkit-date-and-time-value {
2164- text-align: inherit;
2165- }
2166- &[type="number"] {
2167- &::-webkit-inner-spin-button {
2168- margin-block: calc(0.25rem * -3);
2169- margin-inline-end: calc(0.25rem * -3);
2170- }
2171- }
2172- &::-webkit-calendar-picker-indicator {
2173- position: absolute;
2174- inset-inline-end: 0.75em;
2175- }
2176- }
2177- .indicator {
2178- position: relative;
2179- display: inline-flex;
2180- width: max-content;
2181- :where(.indicator-item) {
2182- z-index: 1;
2183- position: absolute;
2184- white-space: nowrap;
2185- top: var(--inidicator-t, 0);
2186- bottom: var(--inidicator-b, auto);
2187- left: var(--inidicator-s, auto);
2188- right: var(--inidicator-e, 0);
2189- translate: var(--inidicator-x, 50%) var(--indicator-y, -50%);
2190- }
2191- }
2192- .table {
2193- font-size: 0.875rem;
2194- position: relative;
2195- width: 100%;
2196- border-radius: var(--radius-box);
2197- text-align: left;
2198- &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
2199- text-align: right;
2200- }
2201- tr.row-hover {
2202- &, &:nth-child(even) {
2203- &:hover {
2204- @media (hover: hover) {
2205- background-color: var(--color-base-200);
2206- }
2207- }
2208- }
2209- }
2210- :where(th, td) {
2211- padding-inline: calc(0.25rem * 4);
2212- padding-block: calc(0.25rem * 3);
2213- vertical-align: middle;
2214- }
2215- :where(thead, tfoot) {
2216- white-space: nowrap;
2217- color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
2218- font-size: 0.875rem;
2219- font-weight: 600;
2220- }
2221- :where(tfoot) {
2222- border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
2223- }
2224- :where(.table-pin-rows thead tr) {
2225- position: sticky;
2226- top: calc(0.25rem * 0);
2227- z-index: 1;
2228- background-color: var(--color-base-100);
2229- }
2230- :where(.table-pin-rows tfoot tr) {
2231- position: sticky;
2232- bottom: calc(0.25rem * 0);
2233- z-index: 1;
2234- background-color: var(--color-base-100);
2235- }
2236- :where(.table-pin-cols tr th) {
2237- position: sticky;
2238- right: calc(0.25rem * 0);
2239- left: calc(0.25rem * 0);
2240- background-color: var(--color-base-100);
2241- }
2242- :where(thead tr, tbody tr:not(:last-child)) {
2243- border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
2244- }
2245- }
2246- .avatar-offline {
2247- &:before {
2248- content: "";
2249- position: absolute;
2250- z-index: 1;
2251- display: block;
2252- border-radius: calc(infinity * 1px);
2253- background-color: var(--color-base-300);
2254- outline: 2px solid var(--color-base-100);
2255- width: 15%;
2256- height: 15%;
2257- top: 7%;
2258- right: 7%;
2259- }
2260- }
2261- .avatar-online {
2262- &:before {
2263- content: "";
2264- position: absolute;
2265- z-index: 1;
2266- display: block;
2267- border-radius: calc(infinity * 1px);
2268- background-color: var(--color-success);
2269- outline: 2px solid var(--color-base-100);
2270- width: 15%;
2271- height: 15%;
2272- top: 7%;
2273- right: 7%;
2274- }
2275- }
2276- .steps {
2277- display: inline-grid;
2278- grid-auto-flow: column;
2279- overflow: hidden;
2280- overflow-x: auto;
2281- counter-reset: step;
2282- grid-auto-columns: 1fr;
2283- .step {
2284- display: grid;
2285- grid-template-columns: repeat(1, minmax(0, 1fr));
2286- grid-template-columns: auto;
2287- grid-template-rows: repeat(2, minmax(0, 1fr));
2288- grid-template-rows: 40px 1fr;
2289- place-items: center;
2290- text-align: center;
2291- min-width: 4rem;
2292- --step-bg: var(--color-base-300);
2293- --step-fg: var(--color-base-content);
2294- &:before {
2295- top: calc(0.25rem * 0);
2296- grid-column-start: 1;
2297- grid-row-start: 1;
2298- height: calc(0.25rem * 2);
2299- width: 100%;
2300- border: 1px solid;
2301- color: var(--step-bg);
2302- background-color: var(--step-bg);
2303- --tw-content: "";
2304- content: var(--tw-content);
2305- margin-inline-start: -100%;
2306- }
2307- > .step-icon, &:not(:has(.step-icon)):after {
2308- content: counter(step);
2309- counter-increment: step;
2310- z-index: 1;
2311- color: var(--step-fg);
2312- background-color: var(--step-bg);
2313- border: 1px solid var(--step-bg);
2314- position: relative;
2315- grid-column-start: 1;
2316- grid-row-start: 1;
2317- display: grid;
2318- height: calc(0.25rem * 8);
2319- width: calc(0.25rem * 8);
2320- place-items: center;
2321- place-self: center;
2322- border-radius: calc(infinity * 1px);
2323- }
2324- &:first-child:before {
2325- content: none;
2326- }
2327- &[data-content]:after {
2328- content: attr(data-content);
2329- }
2330- }
2331- .step-neutral {
2332- + .step-neutral:before, &:after, > .step-icon {
2333- --step-bg: var(--color-neutral);
2334- --step-fg: var(--color-neutral-content);
2335- }
2336- }
2337- .step-primary {
2338- + .step-primary:before, &:after, > .step-icon {
2339- --step-bg: var(--color-primary);
2340- --step-fg: var(--color-primary-content);
2341- }
2342- }
2343- .step-secondary {
2344- + .step-secondary:before, &:after, > .step-icon {
2345- --step-bg: var(--color-secondary);
2346- --step-fg: var(--color-secondary-content);
2347- }
2348- }
2349- .step-accent {
2350- + .step-accent:before, &:after, > .step-icon {
2351- --step-bg: var(--color-accent);
2352- --step-fg: var(--color-accent-content);
2353- }
2354- }
2355- .step-info {
2356- + .step-info:before, &:after, > .step-icon {
2357- --step-bg: var(--color-info);
2358- --step-fg: var(--color-info-content);
2359- }
2360- }
2361- .step-success {
2362- + .step-success:before, &:after, > .step-icon {
2363- --step-bg: var(--color-success);
2364- --step-fg: var(--color-success-content);
2365- }
2366- }
2367- .step-warning {
2368- + .step-warning:before, &:after, > .step-icon {
2369- --step-bg: var(--color-warning);
2370- --step-fg: var(--color-warning-content);
2371- }
2372- }
2373- .step-error {
2374- + .step-error:before, &:after, > .step-icon {
2375- --step-bg: var(--color-error);
2376- --step-fg: var(--color-error-content);
2377- }
2378- }
2379- }
2380- .diff-resizer {
2381- position: relative;
2382- top: calc(1/2 * 100%);
2383- z-index: 1;
2384- grid-column-start: 1;
2385- grid-row-start: 1;
2386- height: calc(0.25rem * 2);
2387- width: 50cqi;
2388- max-width: calc(100cqi - 1rem);
2389- min-width: 1rem;
2390- resize: horizontal;
2391- overflow: hidden;
2392- opacity: 0%;
2393- transform: scaleY(3) translate(0.35rem, 0.08rem);
2394- cursor: ew-resize;
2395- transform-origin: 100% 100%;
2396- clip-path: inset(calc(100% - 0.75rem) 0 0 calc(100% - 0.75rem));
2397- transition: min-width 0.3s ease-out, max-width 0.3s ease-out;
2398- }
2399- .range {
2400- appearance: none;
2401- webkit-appearance: none;
2402- --range-thumb: var(--color-base-100);
2403- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
2404- --range-progress: currentColor;
2405- --range-fill: 1;
2406- --range-p: 0.25rem;
2407- --range-bg: color-mix(in oklab, currentColor 10%, #0000);
2408- cursor: pointer;
2409- overflow: hidden;
2410- background-color: transparent;
2411- vertical-align: middle;
2412- width: clamp(3rem, 20rem, 100%);
2413- --radius-selector-max: calc(
2414- var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
2415- );
2416- border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
2417- border: none;
2418- height: var(--range-thumb-size);
2419- [dir="rtl"] & {
2420- --range-dir: -1;
2421- }
2422- &:focus {
2423- outline: none;
2424- }
2425- &:focus-visible {
2426- outline: 2px solid;
2427- outline-offset: 2px;
2428- }
2429- &::-webkit-slider-runnable-track {
2430- width: 100%;
2431- background-color: var(--range-bg);
2432- border-radius: var(--radius-selector);
2433- height: calc(var(--range-thumb-size) * 0.5);
2434- }
2435- @media (forced-colors: active) {
2436- &::-webkit-slider-runnable-track {
2437- border: 1px solid;
2438- }
2439- }
2440- @media (forced-colors: active) {
2441- &::-moz-range-track {
2442- border: 1px solid;
2443- }
2444- }
2445- &::-webkit-slider-thumb {
2446- position: relative;
2447- box-sizing: border-box;
2448- border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
2449- background-color: currentColor;
2450- height: var(--range-thumb-size);
2451- width: var(--range-thumb-size);
2452- border: var(--range-p) solid;
2453- appearance: none;
2454- webkit-appearance: none;
2455- top: 50%;
2456- color: var(--range-progress);
2457- transform: translateY(-50%);
2458- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
2459- }
2460- &::-moz-range-track {
2461- width: 100%;
2462- background-color: var(--range-bg);
2463- border-radius: var(--radius-selector);
2464- height: calc(var(--range-thumb-size) * 0.5);
2465- }
2466- &::-moz-range-thumb {
2467- position: relative;
2468- box-sizing: border-box;
2469- border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
2470- background-color: currentColor;
2471- height: var(--range-thumb-size);
2472- width: var(--range-thumb-size);
2473- border: var(--range-p) solid;
2474- top: 50%;
2475- color: var(--range-progress);
2476- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
2477- }
2478- &:disabled {
2479- cursor: not-allowed;
2480- opacity: 30%;
2481- }
2482- }
2483- .countdown {
2484- display: inline-flex;
2485- &.countdown {
2486- line-height: 1em;
2487- }
2488- & > * {
2489- display: inline-block;
2490- overflow-y: hidden;
2491- height: 1em;
2492- &:before {
2493- position: relative;
2494- content: "00\A 01\A 02\A 03\A 04\A 05\A 06\A 07\A 08\A 09\A 10\A 11\A 12\A 13\A 14\A 15\A 16\A 17\A 18\A 19\A 20\A 21\A 22\A 23\A 24\A 25\A 26\A 27\A 28\A 29\A 30\A 31\A 32\A 33\A 34\A 35\A 36\A 37\A 38\A 39\A 40\A 41\A 42\A 43\A 44\A 45\A 46\A 47\A 48\A 49\A 50\A 51\A 52\A 53\A 54\A 55\A 56\A 57\A 58\A 59\A 60\A 61\A 62\A 63\A 64\A 65\A 66\A 67\A 68\A 69\A 70\A 71\A 72\A 73\A 74\A 75\A 76\A 77\A 78\A 79\A 80\A 81\A 82\A 83\A 84\A 85\A 86\A 87\A 88\A 89\A 90\A 91\A 92\A 93\A 94\A 95\A 96\A 97\A 98\A 99\A";
2495- white-space: pre;
2496- top: calc(var(--value) * -1em);
2497- text-align: center;
2498- transition: all 1s cubic-bezier(1, 0, 0, 1);
2499- }
2500- }
2501- }
2502- .tabs-border {
2503- .tab {
2504- --tab-border-color: #0000 #0000 var(--tab-border-color) #0000;
2505- position: relative;
2506- border-radius: var(--radius-field);
2507- &:before {
2508- --tw-content: "";
2509- content: var(--tw-content);
2510- background-color: var(--tab-border-color);
2511- transition: background-color 0.2s ease;
2512- width: 80%;
2513- height: 3px;
2514- border-radius: var(--radius-field);
2515- bottom: 0;
2516- left: 10%;
2517- position: absolute;
2518- }
2519- &:is(.tab-active, [aria-selected="true"]):not(.tab-disabled, [disabled]), &:is(input:checked), &:is(label:has(:checked)) {
2520- &:before {
2521- --tab-border-color: currentColor;
2522- border-top: 3px solid;
2523- }
2524- }
2525- }
2526- }
2527- .chat-bubble {
2528- position: relative;
2529- display: block;
2530- width: fit-content;
2531- border-radius: var(--radius-field);
2532- background-color: var(--color-base-300);
2533- padding-inline: calc(0.25rem * 4);
2534- padding-block: calc(0.25rem * 2);
2535- color: var(--color-base-content);
2536- grid-row-end: 3;
2537- min-height: 2rem;
2538- min-width: 2.5rem;
2539- max-width: 90%;
2540- &:before {
2541- position: absolute;
2542- bottom: calc(0.25rem * 0);
2543- height: calc(0.25rem * 3);
2544- width: calc(0.25rem * 3);
2545- background-color: inherit;
2546- content: "";
2547- mask-repeat: no-repeat;
2548- mask-image: var(--mask-chat);
2549- mask-position: 0px -1px;
2550- mask-size: 13px;
2551- }
2552- }
2553- .timeline {
2554- position: relative;
2555- display: flex;
2556- > li {
2557- position: relative;
2558- display: grid;
2559- flex-shrink: 0;
2560- align-items: center;
2561- grid-template-rows: var(--timeline-row-start, minmax(0, 1fr)) auto var( --timeline-row-end, minmax(0, 1fr) );
2562- grid-template-columns: var(--timeline-col-start, minmax(0, 1fr)) auto var( --timeline-col-end, minmax(0, 1fr) );
2563- > hr {
2564- border: none;
2565- width: 100%;
2566- &:first-child {
2567- grid-column-start: 1;
2568- grid-row-start: 2;
2569- }
2570- &:last-child {
2571- grid-column-start: 3;
2572- grid-column-end: none;
2573- grid-row-start: 2;
2574- grid-row-end: auto;
2575- }
2576- @media print {
2577- border: 0.1px solid var(--color-base-300);
2578- }
2579- }
2580- }
2581- :where(hr) {
2582- height: calc(0.25rem * 1);
2583- background-color: var(--color-base-300);
2584- }
2585- &:has(.timeline-middle hr) {
2586- &:first-child {
2587- border-start-start-radius: 0;
2588- border-end-start-radius: 0;
2589- border-start-end-radius: var(--radius-selector);
2590- border-end-end-radius: var(--radius-selector);
2591- }
2592- &:last-child {
2593- border-start-start-radius: var(--radius-selector);
2594- border-end-start-radius: var(--radius-selector);
2595- border-start-end-radius: 0;
2596- border-end-end-radius: 0;
2597- }
2598- }
2599- &:not(:has(.timeline-middle)) {
2600- :first-child hr:last-child {
2601- border-start-start-radius: var(--radius-selector);
2602- border-end-start-radius: var(--radius-selector);
2603- border-start-end-radius: 0;
2604- border-end-end-radius: 0;
2605- }
2606- :last-child hr:first-child {
2607- border-start-start-radius: 0;
2608- border-end-start-radius: 0;
2609- border-start-end-radius: var(--radius-selector);
2610- border-end-end-radius: var(--radius-selector);
2611- }
2612- }
2613- }
2614- .card {
2615- position: relative;
2616- display: flex;
2617- flex-direction: column;
2618- border-radius: var(--radius-box);
2619- outline-width: 2px;
2620- transition: outline 0.2s ease-in-out;
2621- outline: 0 solid #0000;
2622- outline-offset: 2px;
2623- &:focus {
2624- --tw-outline-style: none;
2625- outline-style: none;
2626- @media (forced-colors: active) {
2627- outline: 2px solid transparent;
2628- outline-offset: 2px;
2629- }
2630- }
2631- &:focus-visible {
2632- outline-color: currentColor;
2633- }
2634- :where(figure:first-child) {
2635- overflow: hidden;
2636- border-start-start-radius: inherit;
2637- border-start-end-radius: inherit;
2638- border-end-start-radius: unset;
2639- border-end-end-radius: unset;
2640- }
2641- :where(figure:last-child) {
2642- overflow: hidden;
2643- border-start-start-radius: unset;
2644- border-start-end-radius: unset;
2645- border-end-start-radius: inherit;
2646- border-end-end-radius: inherit;
2647- }
2648- &:where(.card-border) {
2649- border: var(--border) solid var(--color-base-200);
2650- }
2651- &:where(.card-dash) {
2652- border: var(--border) dashed var(--color-base-200);
2653- }
2654- &.image-full {
2655- display: grid;
2656- &:before {
2657- position: relative;
2658- grid-column-start: 1;
2659- grid-row-start: 1;
2660- border-radius: var(--radius-box);
2661- background-color: var(--color-neutral);
2662- opacity: 75%;
2663- content: "";
2664- }
2665- > * {
2666- grid-column-start: 1;
2667- grid-row-start: 1;
2668- }
2669- > .card-body {
2670- position: relative;
2671- color: var(--color-neutral-content);
2672- }
2673- :where(figure) {
2674- overflow: hidden;
2675- border-radius: inherit;
2676- }
2677- > figure img {
2678- height: 100%;
2679- object-fit: cover;
2680- }
2681- }
2682- figure {
2683- display: flex;
2684- align-items: center;
2685- justify-content: center;
2686- }
2687- &:has(> input:is(input[type="checkbox"], input[type="radio"])) {
2688- cursor: pointer;
2689- user-select: none;
2690- }
2691- &:has(> :checked) {
2692- outline: 2px solid currentColor;
2693- }
2694- }
2695- .swap {
2696- position: relative;
2697- display: inline-grid;
2698- cursor: pointer;
2699- place-content: center;
2700- vertical-align: middle;
2701- webkit-user-select: none;
2702- user-select: none;
2703- input {
2704- appearance: none;
2705- border: none;
2706- }
2707- > * {
2708- grid-column-start: 1;
2709- grid-row-start: 1;
2710- transition-property: transform, rotate, opacity;
2711- transition-duration: 0.2s;
2712- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
2713- }
2714- .swap-on, .swap-indeterminate, input:indeterminate ~ .swap-on {
2715- opacity: 0%;
2716- }
2717- input:is(:checked, :indeterminate) {
2718- & ~ .swap-off {
2719- opacity: 0%;
2720- }
2721- }
2722- input:checked ~ .swap-on, input:indeterminate ~ .swap-indeterminate {
2723- opacity: 100%;
2724- }
2725- }
2726- .collapse-title {
2727- grid-column-start: 1;
2728- grid-row-start: 1;
2729- position: relative;
2730- width: 100%;
2731- padding: 1rem;
2732- padding-inline-end: 3rem;
2733- min-height: 3.75rem;
2734- transition: background-color 0.2s ease-out;
2735- }
2736- .mockup-browser {
2737- position: relative;
2738- overflow: hidden;
2739- overflow-x: auto;
2740- border-radius: var(--radius-box);
2741- pre[data-prefix] {
2742- &:before {
2743- content: attr(data-prefix);
2744- display: inline-block;
2745- text-align: right;
2746- }
2747- }
2748- .mockup-browser-toolbar {
2749- margin-block: calc(0.25rem * 3);
2750- display: inline-flex;
2751- width: 100%;
2752- align-items: center;
2753- padding-right: 1.4em;
2754- &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
2755- flex-direction: row-reverse;
2756- }
2757- &:before {
2758- content: "";
2759- margin-right: 4.8rem;
2760- display: inline-block;
2761- aspect-ratio: 1 / 1;
2762- height: calc(0.25rem * 3);
2763- border-radius: calc(infinity * 1px);
2764- opacity: 30%;
2765- box-shadow: 1.4em 0, 2.8em 0, 4.2em 0;
2766- }
2767- .input {
2768- margin-inline: auto;
2769- display: flex;
2770- height: 100%;
2771- align-items: center;
2772- gap: calc(0.25rem * 2);
2773- overflow: hidden;
2774- background-color: var(--color-base-200);
2775- text-overflow: ellipsis;
2776- white-space: nowrap;
2777- font-size: 0.75rem;
2778- direction: ltr;
2779- &:before {
2780- content: "";
2781- width: calc(0.25rem * 4);
2782- height: calc(0.25rem * 4);
2783- opacity: 30%;
2784- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor' class='size-4'%3E%3Cpath fill-rule='evenodd' d='M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");
2785- }
2786- }
2787- }
2788- }
2789- .select {
2790- border: var(--border) solid #0000;
2791- position: relative;
2792- display: inline-flex;
2793- flex-shrink: 1;
2794- appearance: none;
2795- align-items: center;
2796- gap: calc(0.25rem * 1.5);
2797- background-color: var(--color-base-100);
2798- padding-inline-start: calc(0.25rem * 4);
2799- padding-inline-end: calc(0.25rem * 7);
2800- vertical-align: middle;
2801- width: clamp(3rem, 20rem, 100%);
2802- height: var(--size);
2803- font-size: 0.875rem;
2804- border-start-start-radius: var(--join-ss, var(--radius-field));
2805- border-start-end-radius: var(--join-se, var(--radius-field));
2806- border-end-start-radius: var(--join-es, var(--radius-field));
2807- border-end-end-radius: var(--join-ee, var(--radius-field));
2808- background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
2809- background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);
2810- background-size: 4px 4px, 4px 4px;
2811- background-repeat: no-repeat;
2812- text-overflow: ellipsis;
2813- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
2814- border-color: var(--input-color);
2815- --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
2816- --size: calc(var(--size-field, 0.25rem) * 10);
2817- [dir="rtl"] & {
2818- background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);
2819- }
2820- select {
2821- margin-inline-start: calc(0.25rem * -4);
2822- margin-inline-end: calc(0.25rem * -7);
2823- width: calc(100% + 2.75rem);
2824- appearance: none;
2825- padding-inline-start: calc(0.25rem * 4);
2826- padding-inline-end: calc(0.25rem * 7);
2827- height: calc(100% - 2px);
2828- background: inherit;
2829- border-radius: inherit;
2830- border-style: none;
2831- &:focus, &:focus-within {
2832- --tw-outline-style: none;
2833- outline-style: none;
2834- @media (forced-colors: active) {
2835- outline: 2px solid transparent;
2836- outline-offset: 2px;
2837- }
2838- }
2839- &:not(:last-child) {
2840- margin-inline-end: calc(0.25rem * -5.5);
2841- background-image: none;
2842- }
2843- }
2844- &:focus, &:focus-within {
2845- --input-color: var(--color-base-content);
2846- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
2847- outline: 2px solid var(--input-color);
2848- outline-offset: 2px;
2849- }
2850- &:has(> select[disabled]), &:is(:disabled, [disabled]) {
2851- cursor: not-allowed;
2852- border-color: var(--color-base-200);
2853- background-color: var(--color-base-200);
2854- color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
2855- &::placeholder {
2856- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
2857- }
2858- }
2859- &:has(> select[disabled]) > select[disabled] {
2860- cursor: not-allowed;
2861- }
2862- }
2863- .menu-horizontal {
2864- display: inline-flex;
2865- flex-direction: row;
2866- & > li:not(.menu-title) > details > ul {
2867- position: absolute;
2868- margin-inline-start: calc(0.25rem * 0);
2869- margin-top: calc(0.25rem * 4);
2870- padding-block: calc(0.25rem * 2);
2871- padding-inline-end: calc(0.25rem * 2);
2872- }
2873- & > li > details > ul {
2874- &:before {
2875- content: none;
2876- }
2877- }
2878- :where(& > li:not(.menu-title) > details > ul) {
2879- border-radius: var(--radius-box);
2880- background-color: var(--color-base-100);
2881- box-shadow: 0 1px 3px 0 oklch(0% 0 0/0.1), 0 1px 2px -1px oklch(0% 0 0/0.1);
2882- }
2883- }
2884- .menu-vertical {
2885- display: inline-flex;
2886- flex-direction: column;
2887- & > li:not(.menu-title) > details > ul {
2888- position: relative;
2889- margin-inline-start: calc(0.25rem * 4);
2890- margin-top: calc(0.25rem * 0);
2891- padding-block: calc(0.25rem * 0);
2892- padding-inline-end: calc(0.25rem * 0);
2893- }
2894- }
2895- .mockup-code {
2896- position: relative;
2897- overflow: hidden;
2898- overflow-x: auto;
2899- border-radius: var(--radius-box);
2900- background-color: var(--color-neutral);
2901- padding-block: calc(0.25rem * 5);
2902- color: var(--color-neutral-content);
2903- font-size: 0.875rem;
2904- direction: ltr;
2905- &:before {
2906- content: "";
2907- margin-bottom: calc(0.25rem * 4);
2908- display: block;
2909- height: calc(0.25rem * 3);
2910- width: calc(0.25rem * 3);
2911- border-radius: calc(infinity * 1px);
2912- opacity: 30%;
2913- box-shadow: 1.4em 0, 2.8em 0, 4.2em 0;
2914- }
2915- pre {
2916- padding-right: calc(0.25rem * 5);
2917- &:before {
2918- content: "";
2919- margin-right: 2ch;
2920- }
2921- &[data-prefix] {
2922- &:before {
2923- content: attr(data-prefix);
2924- display: inline-block;
2925- width: calc(0.25rem * 8);
2926- text-align: right;
2927- opacity: 50%;
2928- }
2929- }
2930- }
2931- }
2932- .mockup-window {
2933- position: relative;
2934- display: flex;
2935- flex-direction: column;
2936- overflow: hidden;
2937- overflow-x: auto;
2938- border-radius: var(--radius-box);
2939- padding-top: calc(0.25rem * 5);
2940- &:before {
2941- content: "";
2942- margin-bottom: calc(0.25rem * 4);
2943- display: block;
2944- aspect-ratio: 1 / 1;
2945- height: calc(0.25rem * 3);
2946- flex-shrink: 0;
2947- align-self: flex-start;
2948- border-radius: calc(infinity * 1px);
2949- opacity: 30%;
2950- box-shadow: 1.4em 0, 2.8em 0, 4.2em 0;
2951- }
2952- [dir="rtl"] &:before {
2953- align-self: flex-end;
2954- }
2955- pre[data-prefix] {
2956- &:before {
2957- content: attr(data-prefix);
2958- display: inline-block;
2959- text-align: right;
2960- }
2961- }
2962- }
2963- .avatar {
2964- position: relative;
2965- display: inline-flex;
2966- vertical-align: middle;
2967- & > div {
2968- display: block;
2969- aspect-ratio: 1 / 1;
2970- overflow: hidden;
2971- }
2972- img {
2973- height: 100%;
2974- width: 100%;
2975- object-fit: cover;
2976- }
2977- }
2978- .checkbox {
2979- border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
2980- position: relative;
2981- flex-shrink: 0;
2982- cursor: pointer;
2983- appearance: none;
2984- border-radius: var(--radius-selector);
2985- padding: calc(0.25rem * 1);
2986- vertical-align: middle;
2987- color: var(--color-base-content);
2988- box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
2989- transition: background-color 0.2s, box-shadow 0.2s;
2990- --size: calc(var(--size-selector, 0.25rem) * 6);
2991- width: var(--size);
2992- height: var(--size);
2993- background-size: auto, calc(var(--noise) * 100%);
2994- background-image: none, var(--fx-noise);
2995- &:before {
2996- --tw-content: "";
2997- content: var(--tw-content);
2998- display: block;
2999- width: 100%;
3000- height: 100%;
3001- rotate: 45deg;
3002- background-color: currentColor;
3003- opacity: 0%;
3004- transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
3005- transition-delay: 0.1s;
3006- clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
3007- box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
3008- font-size: 1rem;
3009- line-height: 0.75;
3010- }
3011- &:focus-visible {
3012- outline: 2px solid var(--input-color, currentColor);
3013- outline-offset: 2px;
3014- }
3015- &:checked, &[aria-checked="true"] {
3016- background-color: var(--input-color, #0000);
3017- box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
3018- &:before {
3019- clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
3020- opacity: 100%;
3021- }
3022- @media (forced-colors: active) {
3023- &:before {
3024- rotate: 0deg;
3025- background-color: transparent;
3026- --tw-content: "✔︎";
3027- clip-path: none;
3028- }
3029- }
3030- @media print {
3031- &:before {
3032- rotate: 0deg;
3033- background-color: transparent;
3034- --tw-content: "✔︎";
3035- clip-path: none;
3036- }
3037- }
3038- }
3039- &:indeterminate {
3040- &:before {
3041- rotate: 0deg;
3042- opacity: 100%;
3043- translate: 0 -35%;
3044- clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
3045- }
3046- }
3047- &:disabled {
3048- cursor: not-allowed;
3049- opacity: 20%;
3050- }
3051- }
3052- .radio {
3053- position: relative;
3054- flex-shrink: 0;
3055- cursor: pointer;
3056- appearance: none;
3057- border-radius: calc(infinity * 1px);
3058- padding: calc(0.25rem * 1);
3059- vertical-align: middle;
3060- border: var(--border) solid var(--input-color, color-mix(in srgb, currentColor 20%, #0000));
3061- box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset;
3062- --size: calc(var(--size-selector, 0.25rem) * 6);
3063- width: var(--size);
3064- height: var(--size);
3065- color: var(--input-color, currentColor);
3066- &:before {
3067- display: block;
3068- width: 100%;
3069- height: 100%;
3070- border-radius: calc(infinity * 1px);
3071- --tw-content: "";
3072- content: var(--tw-content);
3073- background-size: auto, calc(var(--noise) * 100%);
3074- background-image: none, var(--fx-noise);
3075- }
3076- &:focus-visible {
3077- outline: 2px solid currentColor;
3078- }
3079- &:checked, &[aria-checked="true"] {
3080- animation: radio 0.2s ease-out;
3081- border-color: currentColor;
3082- background-color: var(--color-base-100);
3083- &:before {
3084- background-color: currentColor;
3085- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
3086- }
3087- @media (forced-colors: active) {
3088- &:before {
3089- outline-style: var(--tw-outline-style);
3090- outline-width: 1px;
3091- outline-offset: calc(1px * -1);
3092- }
3093- }
3094- @media print {
3095- &:before {
3096- outline: 0.25rem solid;
3097- outline-offset: -1rem;
3098- }
3099- }
3100- }
3101- &:disabled {
3102- cursor: not-allowed;
3103- opacity: 20%;
3104- }
3105- }
3106- .rating {
3107- position: relative;
3108- display: inline-flex;
3109- vertical-align: middle;
3110- & input {
3111- border: none;
3112- appearance: none;
3113- }
3114- :where(*) {
3115- animation: rating 0.25s ease-out;
3116- height: calc(0.25rem * 6);
3117- width: calc(0.25rem * 6);
3118- border-radius: 0;
3119- background-color: var(--color-base-content);
3120- opacity: 20%;
3121- &:is(input) {
3122- cursor: pointer;
3123- }
3124- }
3125- & .rating-hidden {
3126- width: calc(0.25rem * 2);
3127- background-color: transparent;
3128- }
3129- input[type="radio"]:checked {
3130- background-image: none;
3131- }
3132- * {
3133- &:checked, &[aria-checked="true"], &[aria-current="true"], &:has(~ *:checked, ~ *[aria-checked="true"], ~ *[aria-current="true"]) {
3134- opacity: 100%;
3135- }
3136- &:focus-visible {
3137- transition: scale 0.2s ease-out;
3138- scale: 1.1;
3139- }
3140- }
3141- & *:active:focus {
3142- animation: none;
3143- scale: 1.1;
3144- }
3145- &.rating-xs :where(*:not(.rating-hidden)) {
3146- width: calc(0.25rem * 4);
3147- height: calc(0.25rem * 4);
3148- }
3149- &.rating-sm :where(*:not(.rating-hidden)) {
3150- width: calc(0.25rem * 5);
3151- height: calc(0.25rem * 5);
3152- }
3153- &.rating-md :where(*:not(.rating-hidden)) {
3154- width: calc(0.25rem * 6);
3155- height: calc(0.25rem * 6);
3156- }
3157- &.rating-lg :where(*:not(.rating-hidden)) {
3158- width: calc(0.25rem * 7);
3159- height: calc(0.25rem * 7);
3160- }
3161- &.rating-xl :where(*:not(.rating-hidden)) {
3162- width: calc(0.25rem * 8);
3163- height: calc(0.25rem * 8);
3164- }
3165- }
3166- .drawer {
3167- position: relative;
3168- display: grid;
3169- width: 100%;
3170- grid-auto-columns: max-content auto;
3171- }
3172- .stats {
3173- position: relative;
3174- display: inline-grid;
3175- grid-auto-flow: column;
3176- overflow-x: auto;
3177- border-radius: var(--radius-box);
3178- }
3179- .progress {
3180- position: relative;
3181- height: calc(0.25rem * 2);
3182- width: 100%;
3183- appearance: none;
3184- overflow: hidden;
3185- border-radius: var(--radius-box);
3186- background-color: color-mix(in oklab, currentColor 20%, transparent);
3187- color: var(--color-base-content);
3188- &:indeterminate {
3189- background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
3190- background-size: 200%;
3191- background-position-x: 15%;
3192- animation: progress 5s ease-in-out infinite;
3193- @supports (-moz-appearance: none) {
3194- &::-moz-progress-bar {
3195- background-color: transparent;
3196- background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
3197- background-size: 200%;
3198- background-position-x: 15%;
3199- animation: progress 5s ease-in-out infinite;
3200- }
3201- }
3202- }
3203- @supports (-moz-appearance: none) {
3204- &::-moz-progress-bar {
3205- border-radius: var(--radius-box);
3206- background-color: currentColor;
3207- }
3208- }
3209- @supports (-webkit-appearance: none) {
3210- &::-webkit-progress-bar {
3211- border-radius: var(--radius-box);
3212- background-color: transparent;
3213- }
3214- &::-webkit-progress-value {
3215- border-radius: var(--radius-box);
3216- background-color: currentColor;
3217- }
3218- }
3219- }
3220- .absolute {
3221- position: absolute;
3222- }
3223- .fixed {
3224- position: fixed;
3225- }
3226- .relative {
3227- position: relative;
3228- }
3229- .static {
3230- position: static;
3231- }
3232- .sticky {
3233- position: sticky;
3234- }
3235- .tooltip-bottom {
3236- > .tooltip-content, &[data-tip]:before {
3237- transform: translateX(-50%) translateY(var(--tt-pos, -0.25rem));
3238- inset: var(--tt-off) auto auto 50%;
3239- }
3240- &:after {
3241- transform: translateX(-50%) translateY(var(--tt-pos, -0.25rem)) rotate(180deg);
3242- inset: var(--tt-tail) auto auto 50%;
3243- }
3244- }
3245- .tooltip-left {
3246- > .tooltip-content, &[data-tip]:before {
3247- transform: translateX(calc(var(--tt-pos, 0.25rem) - 0.25rem)) translateY(-50%);
3248- inset: 50% var(--tt-off) auto auto;
3249- }
3250- &:after {
3251- transform: translateX(var(--tt-pos, 0.25rem)) translateY(-50%) rotate(-90deg);
3252- inset: 50% calc(var(--tt-tail) + 1px) auto auto;
3253- }
3254- }
3255- .tooltip-right {
3256- > .tooltip-content, &[data-tip]:before {
3257- transform: translateX(calc(var(--tt-pos, -0.25rem) + 0.25rem)) translateY(-50%);
3258- inset: 50% auto auto var(--tt-off);
3259- }
3260- &:after {
3261- transform: translateX(var(--tt-pos, -0.25rem)) translateY(-50%) rotate(90deg);
3262- inset: 50% auto auto calc(var(--tt-tail) + 1px);
3263- }
3264- }
3265- .tooltip-top {
3266- > .tooltip-content, &[data-tip]:before {
3267- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
3268- inset: auto auto var(--tt-off) 50%;
3269- }
3270- &:after {
3271- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
3272- inset: auto auto var(--tt-tail) 50%;
3273- }
3274- }
3275- .dropdown-right {
3276- --anchor-h: right;
3277- --anchor-v: span-bottom;
3278- .dropdown-content {
3279- inset-inline-start: 100%;
3280- top: calc(0.25rem * 0);
3281- bottom: auto;
3282- transform-origin: left;
3283- }
3284- }
3285- .chat-end {
3286- place-items: end;
3287- grid-template-columns: 1fr auto;
3288- .chat-header {
3289- grid-column-start: 1;
3290- }
3291- .chat-footer {
3292- grid-column-start: 1;
3293- }
3294- .chat-image {
3295- grid-column-start: 2;
3296- }
3297- .chat-bubble {
3298- grid-column-start: 1;
3299- border-end-end-radius: 0;
3300- &:before {
3301- transform: rotateY(180deg);
3302- inset-inline-start: 100%;
3303- }
3304- [dir="rtl"] &:before {
3305- transform: rotateY(0deg);
3306- }
3307- }
3308- }
3309- .chat-start {
3310- place-items: start;
3311- grid-template-columns: auto 1fr;
3312- .chat-header {
3313- grid-column-start: 2;
3314- }
3315- .chat-footer {
3316- grid-column-start: 2;
3317- }
3318- .chat-image {
3319- grid-column-start: 1;
3320- }
3321- .chat-bubble {
3322- grid-column-start: 2;
3323- border-end-start-radius: 0;
3324- &:before {
3325- transform: rotateY(0deg);
3326- inset-inline-start: -0.75rem;
3327- }
3328- [dir="rtl"] &:before {
3329- transform: rotateY(180deg);
3330- }
3331- }
3332- }
3333- .dropdown-left {
3334- --anchor-h: left;
3335- --anchor-v: span-bottom;
3336- .dropdown-content {
3337- inset-inline-end: 100%;
3338- top: calc(0.25rem * 0);
3339- bottom: auto;
3340- transform-origin: right;
3341- }
3342- }
3343- .dropdown-center {
3344- --anchor-h: center;
3345- :where(.dropdown-content) {
3346- inset-inline-end: calc(1/2 * 100%);
3347- translate: 50% 0;
3348- }
3349- &.dropdown-left {
3350- --anchor-h: left;
3351- --anchor-v: center;
3352- .dropdown-content {
3353- top: auto;
3354- bottom: calc(1/2 * 100%);
3355- translate: 0 50%;
3356- }
3357- }
3358- &.dropdown-right {
3359- --anchor-h: right;
3360- --anchor-v: center;
3361- .dropdown-content {
3362- top: auto;
3363- bottom: calc(1/2 * 100%);
3364- translate: 0 50%;
3365- }
3366- }
3367- }
3368- .dropdown-end {
3369- --anchor-h: span-left;
3370- :where(.dropdown-content) {
3371- inset-inline-end: calc(0.25rem * 0);
3372- translate: 0 0;
3373- }
3374- &.dropdown-left {
3375- --anchor-h: left;
3376- --anchor-v: span-top;
3377- .dropdown-content {
3378- top: auto;
3379- bottom: calc(0.25rem * 0);
3380- }
3381- }
3382- &.dropdown-right {
3383- --anchor-h: right;
3384- --anchor-v: span-top;
3385- .dropdown-content {
3386- top: auto;
3387- bottom: calc(0.25rem * 0);
3388- }
3389- }
3390- }
3391- .dropdown-start {
3392- --anchor-h: span-right;
3393- :where(.dropdown-content) {
3394- inset-inline-end: auto;
3395- }
3396- &.dropdown-left {
3397- --anchor-h: left;
3398- --anchor-v: span-bottom;
3399- .dropdown-content {
3400- top: calc(0.25rem * 0);
3401- bottom: auto;
3402- }
3403- }
3404- &.dropdown-right {
3405- --anchor-h: right;
3406- --anchor-v: span-bottom;
3407- .dropdown-content {
3408- top: calc(0.25rem * 0);
3409- bottom: auto;
3410- }
3411- }
3412- }
3413- .dropdown-bottom {
3414- --anchor-v: bottom;
3415- .dropdown-content {
3416- top: 100%;
3417- bottom: auto;
3418- transform-origin: top;
3419- }
3420- }
3421- .dropdown-top {
3422- --anchor-v: top;
3423- .dropdown-content {
3424- top: auto;
3425- bottom: 100%;
3426- transform-origin: bottom;
3427- }
3428- }
3429- .top-0 {
3430- top: calc(var(--spacing) * 0);
3431- }
3432- .top-4 {
3433- top: calc(var(--spacing) * 4);
3434- }
3435- .right-4 {
3436- right: calc(var(--spacing) * 4);
3437- }
3438- .dock-sm {
3439- height: calc(0.25rem * 14);
3440- height: 3.5rem;
3441- height: calc(3.5rem + env(safe-area-inset-bottom));
3442- .dock-active {
3443- &:after {
3444- bottom: -0.1rem;
3445- }
3446- }
3447- .dock-label {
3448- font-size: 0.625rem;
3449- }
3450- }
3451- .dock-lg {
3452- height: 4.5rem;
3453- height: calc(4.5rem + env(safe-area-inset-bottom));
3454- .dock-active {
3455- &:after {
3456- bottom: 0.4rem;
3457- }
3458- }
3459- .dock-label {
3460- font-size: 0.6875rem;
3461- }
3462- }
3463- .dock-xl {
3464- height: 5rem;
3465- height: calc(5rem + env(safe-area-inset-bottom));
3466- .dock-active {
3467- &:after {
3468- bottom: 0.4rem;
3469- }
3470- }
3471- .dock-label {
3472- font-size: 0.75rem;
3473- }
3474- }
3475- .dock-xs {
3476- height: 3rem;
3477- height: calc(3rem + env(safe-area-inset-bottom));
3478- .dock-active {
3479- &:after {
3480- bottom: -0.1rem;
3481- }
3482- }
3483- .dock-label {
3484- font-size: 0.625rem;
3485- }
3486- }
3487- .bottom-4 {
3488- bottom: calc(var(--spacing) * 4);
3489- }
3490- .file-input {
3491- cursor: pointer;
3492- cursor: pointer;
3493- border: var(--border) solid #0000;
3494- display: inline-flex;
3495- appearance: none;
3496- align-items: center;
3497- background-color: var(--color-base-100);
3498- vertical-align: middle;
3499- webkit-user-select: none;
3500- user-select: none;
3501- width: clamp(3rem, 20rem, 100%);
3502- height: var(--size);
3503- padding-inline-end: 0.75rem;
3504- font-size: 0.875rem;
3505- line-height: 2;
3506- border-start-start-radius: var(--join-ss, var(--radius-field));
3507- border-start-end-radius: var(--join-se, var(--radius-field));
3508- border-end-start-radius: var(--join-es, var(--radius-field));
3509- border-end-end-radius: var(--join-ee, var(--radius-field));
3510- border-color: var(--input-color);
3511- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
3512- --size: calc(var(--size-field, 0.25rem) * 10);
3513- --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
3514- &::file-selector-button {
3515- margin-inline-end: calc(0.25rem * 4);
3516- cursor: pointer;
3517- padding-inline: calc(0.25rem * 4);
3518- webkit-user-select: none;
3519- user-select: none;
3520- height: calc(100% + var(--border) * 2);
3521- margin-block: calc(var(--border) * -1);
3522- margin-inline-start: calc(var(--border) * -1);
3523- font-size: 0.875rem;
3524- color: var(--btn-fg);
3525- border-width: var(--border);
3526- border-style: solid;
3527- border-color: var(--btn-border);
3528- border-start-start-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));
3529- border-end-start-radius: calc(var(--join-es, var(--radius-field) - var(--border)));
3530- font-weight: 600;
3531- background-color: var(--btn-bg);
3532- background-size: calc(var(--noise) * 100%);
3533- background-image: var(--btn-noise);
3534- text-shadow: 0 0.5px oklch(1 0 0 / calc(var(--depth) * 0.15));
3535- box-shadow: 0 0.5px 0 0.5px color-mix( in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000 ) inset, var(--btn-shadow);
3536- --size: calc(var(--size-field, 0.25rem) * 10);
3537- --btn-bg: var(--btn-color, var(--color-base-200));
3538- --btn-fg: var(--color-base-content);
3539- --btn-border: color-mix(in oklab, var(--btn-bg), #000 5%);
3540- --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000),
3541- 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000);
3542- --btn-noise: var(--fx-noise);
3543- }
3544- &:focus {
3545- --input-color: var(--color-base-content);
3546- box-shadow: 0 1px color-mix(in oklab, var(--input-color) 10%, #0000);
3547- outline: 2px solid var(--input-color);
3548- outline-offset: 2px;
3549- isolation: isolate;
3550- }
3551- &:has(> input[disabled]), &:is(:disabled, [disabled]) {
3552- cursor: not-allowed;
3553- border-color: var(--color-base-200);
3554- background-color: var(--color-base-200);
3555- &::placeholder {
3556- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
3557- }
3558- box-shadow: none;
3559- color: color-mix(in oklch, var(--color-base-content) 20%, #0000);
3560- &::file-selector-button {
3561- cursor: not-allowed;
3562- border-color: var(--color-base-200);
3563- background-color: var(--color-base-200);
3564- --btn-border: #0000;
3565- --btn-noise: none;
3566- --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
3567- }
3568- }
3569- }
3570- .hero-content {
3571- isolation: isolate;
3572- display: flex;
3573- max-width: 80rem;
3574- align-items: center;
3575- justify-content: center;
3576- gap: calc(0.25rem * 4);
3577- padding: calc(0.25rem * 4);
3578- }
3579- .textarea {
3580- border: var(--border) solid #0000;
3581- min-height: calc(0.25rem * 20);
3582- flex-shrink: 1;
3583- appearance: none;
3584- border-radius: var(--radius-field);
3585- background-color: var(--color-base-100);
3586- padding-block: calc(0.25rem * 2);
3587- vertical-align: middle;
3588- width: clamp(3rem, 20rem, 100%);
3589- padding-inline-start: 0.75rem;
3590- padding-inline-end: 0.75rem;
3591- font-size: 0.875rem;
3592- border-color: var(--input-color);
3593- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
3594- --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
3595- textarea {
3596- appearance: none;
3597- background-color: transparent;
3598- border: none;
3599- &:focus, &:focus-within {
3600- --tw-outline-style: none;
3601- outline-style: none;
3602- @media (forced-colors: active) {
3603- outline: 2px solid transparent;
3604- outline-offset: 2px;
3605- }
3606- }
3607- }
3608- &:focus, &:focus-within {
3609- --input-color: var(--color-base-content);
3610- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
3611- outline: 2px solid var(--input-color);
3612- outline-offset: 2px;
3613- isolation: isolate;
3614- }
3615- &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {
3616- cursor: not-allowed;
3617- border-color: var(--color-base-200);
3618- background-color: var(--color-base-200);
3619- color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
3620- &::placeholder {
3621- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
3622- }
3623- box-shadow: none;
3624- }
3625- &:has(> textarea[disabled]) > textarea[disabled] {
3626- cursor: not-allowed;
3627- }
3628- }
3629- .btn-active {
3630- --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
3631- --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
3632- isolation: isolate;
3633- }
3634- .isolate {
3635- isolation: isolate;
3636- }
3637- .mockup-phone-camera {
3638- grid-column: 1/1;
3639- grid-row: 1/1;
3640- background: #000;
3641- height: 32px;
3642- width: 126px;
3643- border-radius: 17px;
3644- z-index: 1;
3645- margin-top: 6px;
3646- }
3647- .stack {
3648- display: inline-grid;
3649- grid-template-columns: 3px 4px 1fr 4px 3px;
3650- grid-template-rows: 3px 4px 1fr 4px 3px;
3651- & > * {
3652- height: 100%;
3653- width: 100%;
3654- &:nth-child(n + 2) {
3655- width: 100%;
3656- opacity: 70%;
3657- }
3658- &:nth-child(2) {
3659- z-index: 2;
3660- opacity: 90%;
3661- }
3662- &:nth-child(1) {
3663- z-index: 3;
3664- width: 100%;
3665- }
3666- }
3667- &, &.stack-bottom {
3668- > * {
3669- grid-column: 3 / 4;
3670- grid-row: 3 / 6;
3671- &:nth-child(2) {
3672- grid-column: 2 / 5;
3673- grid-row: 2 / 5;
3674- }
3675- &:nth-child(1) {
3676- grid-column: 1 / 6;
3677- grid-row: 1 / 4;
3678- }
3679- }
3680- }
3681- &.stack-top {
3682- > * {
3683- grid-column: 3 / 4;
3684- grid-row: 1 / 4;
3685- &:nth-child(2) {
3686- grid-column: 2 / 5;
3687- grid-row: 2 / 5;
3688- }
3689- &:nth-child(1) {
3690- grid-column: 1 / 6;
3691- grid-row: 3 / 6;
3692- }
3693- }
3694- }
3695- &.stack-start {
3696- > * {
3697- grid-column: 1 / 4;
3698- grid-row: 3 / 4;
3699- &:nth-child(2) {
3700- grid-column: 2 / 5;
3701- grid-row: 2 / 5;
3702- }
3703- &:nth-child(1) {
3704- grid-column: 3 / 6;
3705- grid-row: 1 / 6;
3706- }
3707- }
3708- }
3709- &.stack-end {
3710- > * {
3711- grid-column: 3 / 6;
3712- grid-row: 3 / 4;
3713- &:nth-child(2) {
3714- grid-column: 2 / 5;
3715- grid-row: 2 / 5;
3716- }
3717- &:nth-child(1) {
3718- grid-column: 1 / 4;
3719- grid-row: 1 / 6;
3720- }
3721- }
3722- }
3723- }
3724- .stack\! {
3725- display: inline-grid !important;
3726- grid-template-columns: 3px 4px 1fr 4px 3px !important;
3727- grid-template-rows: 3px 4px 1fr 4px 3px !important;
3728- & > * {
3729- height: 100% !important;
3730- width: 100% !important;
3731- &:nth-child(n + 2) {
3732- width: 100% !important;
3733- opacity: 70% !important;
3734- }
3735- &:nth-child(2) {
3736- z-index: 2 !important;
3737- opacity: 90% !important;
3738- }
3739- &:nth-child(1) {
3740- z-index: 3 !important;
3741- width: 100% !important;
3742- }
3743- }
3744- &, &.stack-bottom {
3745- > * {
3746- grid-column: 3 / 4 !important;
3747- grid-row: 3 / 6 !important;
3748- &:nth-child(2) {
3749- grid-column: 2 / 5 !important;
3750- grid-row: 2 / 5 !important;
3751- }
3752- &:nth-child(1) {
3753- grid-column: 1 / 6 !important;
3754- grid-row: 1 / 4 !important;
3755- }
3756- }
3757- }
3758- &.stack-top {
3759- > * {
3760- grid-column: 3 / 4 !important;
3761- grid-row: 1 / 4 !important;
3762- &:nth-child(2) {
3763- grid-column: 2 / 5 !important;
3764- grid-row: 2 / 5 !important;
3765- }
3766- &:nth-child(1) {
3767- grid-column: 1 / 6 !important;
3768- grid-row: 3 / 6 !important;
3769- }
3770- }
3771- }
3772- &.stack-start {
3773- > * {
3774- grid-column: 1 / 4 !important;
3775- grid-row: 3 / 4 !important;
3776- &:nth-child(2) {
3777- grid-column: 2 / 5 !important;
3778- grid-row: 2 / 5 !important;
3779- }
3780- &:nth-child(1) {
3781- grid-column: 3 / 6 !important;
3782- grid-row: 1 / 6 !important;
3783- }
3784- }
3785- }
3786- &.stack-end {
3787- > * {
3788- grid-column: 3 / 6 !important;
3789- grid-row: 3 / 4 !important;
3790- &:nth-child(2) {
3791- grid-column: 2 / 5 !important;
3792- grid-row: 2 / 5 !important;
3793- }
3794- &:nth-child(1) {
3795- grid-column: 1 / 4 !important;
3796- grid-row: 1 / 6 !important;
3797- }
3798- }
3799- }
3800- }
3801- .modal-backdrop {
3802- grid-column-start: 1;
3803- grid-row-start: 1;
3804- display: grid;
3805- align-self: stretch;
3806- justify-self: stretch;
3807- color: transparent;
3808- z-index: -1;
3809- button {
3810- cursor: pointer;
3811- }
3812- }
3813- .z-50 {
3814- z-index: 50;
3815- }
3816- .z-\[1\] {
3817- z-index: 1;
3818- }
3819- .tab-content {
3820- order: var(--tabcontent-order);
3821- display: none;
3822- border-color: transparent;
3823- --tabcontent-radius-ss: 0;
3824- --tabcontent-radius-se: 0;
3825- --tabcontent-radius-es: 0;
3826- --tabcontent-radius-ee: 0;
3827- --tabcontent-order: 1;
3828- width: 100%;
3829- margin: var(--tabcontent-margin);
3830- border-width: var(--border);
3831- border-start-start-radius: var(--tabcontent-radius-ss);
3832- border-start-end-radius: var(--tabcontent-radius-se);
3833- border-end-start-radius: var(--tabcontent-radius-es);
3834- border-end-end-radius: var(--tabcontent-radius-ee);
3835- }
3836- .mockup-phone-display {
3837- grid-column: 1/1;
3838- grid-row: 1/1;
3839- overflow: hidden;
3840- border-radius: 49px;
3841- width: 390px;
3842- height: 845px;
3843- }
3844- .timeline-end {
3845- grid-column-start: 1;
3846- grid-column-end: 4;
3847- grid-row-start: 3;
3848- grid-row-end: 4;
3849- margin: calc(0.25rem * 1);
3850- align-self: flex-start;
3851- justify-self: center;
3852- }
3853- .timeline-start {
3854- grid-column-start: 1;
3855- grid-column-end: 4;
3856- grid-row-start: 1;
3857- grid-row-end: 2;
3858- margin: calc(0.25rem * 1);
3859- align-self: flex-end;
3860- justify-self: center;
3861- }
3862- .timeline-horizontal {
3863- flex-direction: row;
3864- > li {
3865- align-items: center;
3866- > hr {
3867- height: calc(0.25rem * 1);
3868- width: 100%;
3869- &:first-child {
3870- grid-column-start: 1;
3871- grid-row-start: 2;
3872- }
3873- &:last-child {
3874- grid-column-start: 3;
3875- grid-column-end: none;
3876- grid-row-start: 2;
3877- grid-row-end: auto;
3878- }
3879- }
3880- }
3881- .timeline-start {
3882- grid-column-start: 1;
3883- grid-column-end: 4;
3884- grid-row-start: 1;
3885- grid-row-end: 2;
3886- align-self: flex-end;
3887- justify-self: center;
3888- }
3889- .timeline-end {
3890- grid-column-start: 1;
3891- grid-column-end: 4;
3892- grid-row-start: 3;
3893- grid-row-end: 4;
3894- align-self: flex-start;
3895- justify-self: center;
3896- }
3897- &:has(.timeline-middle) {
3898- > li {
3899- > hr {
3900- &:first-child {
3901- border-start-start-radius: 0;
3902- border-end-start-radius: 0;
3903- border-start-end-radius: var(--radius-selector);
3904- border-end-end-radius: var(--radius-selector);
3905- }
3906- &:last-child {
3907- border-start-start-radius: var(--radius-selector);
3908- border-end-start-radius: var(--radius-selector);
3909- border-start-end-radius: 0;
3910- border-end-end-radius: 0;
3911- }
3912- }
3913- }
3914- }
3915- &:not(:has(.timeline-middle)) {
3916- :first-child {
3917- > hr:last-child {
3918- border-start-start-radius: var(--radius-selector);
3919- border-end-start-radius: var(--radius-selector);
3920- border-start-end-radius: 0;
3921- border-end-end-radius: 0;
3922- }
3923- }
3924- :last-child {
3925- > hr:first-child {
3926- border-start-start-radius: 0;
3927- border-end-start-radius: 0;
3928- border-start-end-radius: var(--radius-selector);
3929- border-end-end-radius: var(--radius-selector);
3930- }
3931- }
3932- }
3933- }
3934- .timeline-vertical {
3935- flex-direction: column;
3936- > li {
3937- justify-items: center;
3938- --timeline-row-start: minmax(0, 1fr);
3939- --timeline-row-end: minmax(0, 1fr);
3940- > hr {
3941- height: 100%;
3942- width: calc(0.25rem * 1);
3943- &:first-child {
3944- grid-column-start: 2;
3945- grid-row-start: 1;
3946- }
3947- &:last-child {
3948- grid-column-start: 2;
3949- grid-column-end: auto;
3950- grid-row-start: 3;
3951- grid-row-end: none;
3952- }
3953- }
3954- }
3955- .timeline-start {
3956- grid-column-start: 1;
3957- grid-column-end: 2;
3958- grid-row-start: 1;
3959- grid-row-end: 4;
3960- align-self: center;
3961- justify-self: flex-end;
3962- }
3963- .timeline-end {
3964- grid-column-start: 3;
3965- grid-column-end: 4;
3966- grid-row-start: 1;
3967- grid-row-end: 4;
3968- align-self: center;
3969- justify-self: flex-start;
3970- }
3971- &:has(.timeline-middle) {
3972- > li {
3973- > hr {
3974- &:first-child {
3975- border-top-left-radius: 0;
3976- border-top-right-radius: 0;
3977- border-bottom-right-radius: var(--radius-selector);
3978- border-bottom-left-radius: var(--radius-selector);
3979- }
3980- &:last-child {
3981- border-top-left-radius: var(--radius-selector);
3982- border-top-right-radius: var(--radius-selector);
3983- border-bottom-right-radius: 0;
3984- border-bottom-left-radius: 0;
3985- }
3986- }
3987- }
3988- }
3989- &:not(:has(.timeline-middle)) {
3990- :first-child {
3991- > hr:last-child {
3992- border-top-left-radius: var(--radius-selector);
3993- border-top-right-radius: var(--radius-selector);
3994- border-bottom-right-radius: 0;
3995- border-bottom-left-radius: 0;
3996- }
3997- }
3998- :last-child {
3999- > hr:first-child {
4000- border-top-left-radius: 0;
4001- border-top-right-radius: 0;
4002- border-bottom-right-radius: var(--radius-selector);
4003- border-bottom-left-radius: var(--radius-selector);
4004- }
4005- }
4006- }
4007- &.timeline-snap-icon {
4008- > li {
4009- --timeline-col-start: minmax(0, 1fr);
4010- --timeline-row-start: 0.5rem;
4011- }
4012- }
4013- }
4014- .timeline-compact {
4015- --timeline-row-start: 0;
4016- .timeline-start {
4017- grid-column-start: 1;
4018- grid-column-end: 4;
4019- grid-row-start: 3;
4020- grid-row-end: 4;
4021- align-self: flex-start;
4022- justify-self: center;
4023- }
4024- li:has(.timeline-start) {
4025- .timeline-end {
4026- grid-column-start: none;
4027- grid-row-start: auto;
4028- }
4029- }
4030- &.timeline-vertical {
4031- > li {
4032- --timeline-col-start: 0;
4033- }
4034- .timeline-start {
4035- grid-column-start: 3;
4036- grid-column-end: 4;
4037- grid-row-start: 1;
4038- grid-row-end: 4;
4039- align-self: center;
4040- justify-self: flex-start;
4041- }
4042- li:has(.timeline-start) {
4043- .timeline-end {
4044- grid-column-start: auto;
4045- grid-row-start: none;
4046- }
4047- }
4048- }
4049- }
4050- .stat-figure {
4051- grid-column-start: 2;
4052- grid-row: span 3 / span 3;
4053- grid-row-start: 1;
4054- place-self: center;
4055- justify-self: flex-end;
4056- }
4057- .hero {
4058- display: grid;
4059- width: 100%;
4060- place-items: center;
4061- background-size: cover;
4062- background-position: center;
4063- & > * {
4064- grid-column-start: 1;
4065- grid-row-start: 1;
4066- }
4067- }
4068- .hero-overlay {
4069- grid-column-start: 1;
4070- grid-row-start: 1;
4071- height: 100%;
4072- width: 100%;
4073- background-color: color-mix(in oklab, var(--color-neutral) 50%, transparent);
4074- }
4075- .modal-box {
4076- grid-column-start: 1;
4077- grid-row-start: 1;
4078- max-height: 100vh;
4079- width: calc(11/12 * 100%);
4080- max-width: 32rem;
4081- background-color: var(--color-base-100);
4082- padding: calc(0.25rem * 6);
4083- transition: translate 0.3s ease-out, scale 0.3s ease-out, opacity 0.2s ease-out 0.05s, box-shadow 0.3s ease-out;
4084- border-top-left-radius: var(--modal-tl, var(--radius-box));
4085- border-top-right-radius: var(--modal-tr, var(--radius-box));
4086- border-bottom-left-radius: var(--modal-bl, var(--radius-box));
4087- border-bottom-right-radius: var(--modal-br, var(--radius-box));
4088- scale: 95%;
4089- opacity: 0;
4090- box-shadow: oklch(0% 0 0/ 0.25) 0px 25px 50px -12px;
4091- overflow-y: auto;
4092- overscroll-behavior: contain;
4093- }
4094- .drawer-content {
4095- grid-column-start: 2;
4096- grid-row-start: 1;
4097- min-width: calc(0.25rem * 0);
4098- }
4099- .timeline-middle {
4100- grid-column-start: 2;
4101- grid-row-start: 2;
4102- }
4103- .drawer-end {
4104- grid-auto-columns: auto max-content;
4105- > .drawer-toggle {
4106- & ~ .drawer-content {
4107- grid-column-start: 1;
4108- }
4109- & ~ .drawer-side {
4110- grid-column-start: 2;
4111- justify-items: end;
4112- }
4113- & ~ .drawer-side > *:not(.drawer-overlay) {
4114- translate: 100%;
4115- [dir="rtl"] & {
4116- translate: -100%;
4117- }
4118- }
4119- &:checked ~ .drawer-side > *:not(.drawer-overlay) {
4120- translate: 0%;
4121- }
4122- }
4123- }
4124- .stat-value {
4125- grid-column-start: 1;
4126- white-space: nowrap;
4127- font-size: 2rem;
4128- font-weight: 800;
4129- }
4130- .stat-desc {
4131- grid-column-start: 1;
4132- white-space: nowrap;
4133- color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
4134- font-size: 0.75rem;
4135- }
4136- .stat-title {
4137- grid-column-start: 1;
4138- white-space: nowrap;
4139- color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
4140- font-size: 0.75rem;
4141- }
4142- .stat-actions {
4143- grid-column-start: 1;
4144- white-space: nowrap;
4145- }
4146- .chat-image {
4147- grid-row: span 2 / span 2;
4148- align-self: flex-end;
4149- }
4150- .chat-footer {
4151- grid-row-start: 3;
4152- display: flex;
4153- gap: calc(0.25rem * 1);
4154- font-size: 0.6875rem;
4155- }
4156- .chat-header {
4157- grid-row-start: 1;
4158- display: flex;
4159- gap: calc(0.25rem * 1);
4160- font-size: 0.6875rem;
4161- }
4162- .list-col-wrap {
4163- grid-row-start: 2;
4164- }
4165- .container {
4166- width: 100%;
4167- @media (width >= 40rem) {
4168- max-width: 40rem;
4169- }
4170- @media (width >= 48rem) {
4171- max-width: 48rem;
4172- }
4173- @media (width >= 64rem) {
4174- max-width: 64rem;
4175- }
4176- @media (width >= 80rem) {
4177- max-width: 80rem;
4178- }
4179- @media (width >= 96rem) {
4180- max-width: 96rem;
4181- }
4182- }
4183- .divider {
4184- display: flex;
4185- height: calc(0.25rem * 4);
4186- flex-direction: row;
4187- align-items: center;
4188- align-self: stretch;
4189- white-space: nowrap;
4190- margin: var(--divider-m, 1rem 0);
4191- &:before, &:after {
4192- content: "";
4193- height: calc(0.25rem * 0.5);
4194- width: 100%;
4195- flex-grow: 1;
4196- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
4197- }
4198- @media print {
4199- &:before, &:after {
4200- border: 0.5px solid;
4201- }
4202- }
4203- &:not(:empty) {
4204- gap: calc(0.25rem * 4);
4205- }
4206- }
4207- .filter {
4208- display: flex;
4209- flex-wrap: wrap;
4210- input[type="radio"] {
4211- width: auto;
4212- }
4213- input {
4214- overflow: hidden;
4215- opacity: 100%;
4216- scale: 1;
4217- transition: margin 0.1s, opacity 0.3s, padding 0.3s, border-width 0.1s;
4218- &:not(:last-child) {
4219- margin-inline-end: calc(0.25rem * 1);
4220- }
4221- &.filter-reset {
4222- aspect-ratio: 1 / 1;
4223- &::after {
4224- content: "×";
4225- }
4226- }
4227- }
4228- &:not(:has(input:checked:not(.filter-reset))) {
4229- .filter-reset, input[type="reset"] {
4230- scale: 0;
4231- border-width: 0;
4232- margin-inline: calc(0.25rem * 0);
4233- width: calc(0.25rem * 0);
4234- padding-inline: calc(0.25rem * 0);
4235- opacity: 0%;
4236- }
4237- }
4238- &:has(input:checked:not(.filter-reset)) {
4239- input:not(:checked, .filter-reset, input[type="reset"]) {
4240- scale: 0;
4241- border-width: 0;
4242- margin-inline: calc(0.25rem * 0);
4243- width: calc(0.25rem * 0);
4244- padding-inline: calc(0.25rem * 0);
4245- opacity: 0%;
4246- }
4247- }
4248- }
4249- .mx-auto {
4250- margin-inline: auto;
4251- }
4252- .file-input-ghost {
4253- background-color: transparent;
4254- transition: background-color 0.2s;
4255- box-shadow: none;
4256- border-color: #0000;
4257- &::file-selector-button {
4258- margin-inline-start: calc(0.25rem * 0);
4259- margin-inline-end: calc(0.25rem * 4);
4260- height: 100%;
4261- cursor: pointer;
4262- padding-inline: calc(0.25rem * 4);
4263- webkit-user-select: none;
4264- user-select: none;
4265- margin-block: 0;
4266- border-start-end-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));
4267- border-end-end-radius: calc(var(--join-es, var(--radius-field) - var(--border)));
4268- }
4269- &:focus, &:focus-within {
4270- background-color: var(--color-base-100);
4271- color: var(--color-base-content);
4272- border-color: #0000;
4273- box-shadow: none;
4274- }
4275- }
4276- .input-lg {
4277- --size: calc(var(--size-field, 0.25rem) * 12);
4278- font-size: 1.125rem;
4279- &[type="number"] {
4280- &::-webkit-inner-spin-button {
4281- margin-block: calc(0.25rem * -3);
4282- margin-inline-end: calc(0.25rem * -3);
4283- }
4284- }
4285- }
4286- .input-md {
4287- --size: calc(var(--size-field, 0.25rem) * 10);
4288- font-size: 0.875rem;
4289- &[type="number"] {
4290- &::-webkit-inner-spin-button {
4291- margin-block: calc(0.25rem * -3);
4292- margin-inline-end: calc(0.25rem * -3);
4293- }
4294- }
4295- }
4296- .input-sm {
4297- --size: calc(var(--size-field, 0.25rem) * 8);
4298- font-size: 0.75rem;
4299- &[type="number"] {
4300- &::-webkit-inner-spin-button {
4301- margin-block: calc(0.25rem * -2);
4302- margin-inline-end: calc(0.25rem * -3);
4303- }
4304- }
4305- }
4306- .input-xl {
4307- --size: calc(var(--size-field, 0.25rem) * 14);
4308- font-size: 1.375rem;
4309- &[type="number"] {
4310- &::-webkit-inner-spin-button {
4311- margin-block: calc(0.25rem * -4);
4312- margin-inline-end: calc(0.25rem * -3);
4313- }
4314- }
4315- }
4316- .input-xs {
4317- --size: calc(var(--size-field, 0.25rem) * 6);
4318- font-size: 0.6875rem;
4319- &[type="number"] {
4320- &::-webkit-inner-spin-button {
4321- margin-block: calc(0.25rem * -1);
4322- margin-inline-end: calc(0.25rem * -3);
4323- }
4324- }
4325- }
4326- .my-4 {
4327- margin-block: calc(var(--spacing) * 4);
4328- }
4329- .label {
4330- display: inline-flex;
4331- align-items: center;
4332- gap: calc(0.25rem * 1.5);
4333- white-space: nowrap;
4334- color: color-mix(in oklab, currentColor 60%, transparent);
4335- &:has(input) {
4336- cursor: pointer;
4337- }
4338- &:is(.input > *, .select > *) {
4339- display: flex;
4340- height: calc(100% - 0.5rem);
4341- align-items: center;
4342- padding-inline: calc(0.25rem * 3);
4343- white-space: nowrap;
4344- font-size: inherit;
4345- &:first-child {
4346- margin-inline-start: calc(0.25rem * -3);
4347- margin-inline-end: calc(0.25rem * 3);
4348- border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
4349- }
4350- &:last-child {
4351- margin-inline-start: calc(0.25rem * 3);
4352- margin-inline-end: calc(0.25rem * -3);
4353- border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
4354- }
4355- }
4356- }
4357- .steps-vertical {
4358- grid-auto-rows: 1fr;
4359- grid-auto-flow: row;
4360- .step {
4361- display: grid;
4362- grid-template-columns: repeat(2, minmax(0, 1fr));
4363- grid-template-columns: 40px 1fr;
4364- grid-template-rows: repeat(1, minmax(0, 1fr));
4365- grid-template-rows: auto;
4366- gap: 0.5rem;
4367- min-height: 4rem;
4368- justify-items: start;
4369- &:before {
4370- height: 100%;
4371- width: calc(0.25rem * 2);
4372- translate: -50% -50%;
4373- margin-inline-start: 50%;
4374- }
4375- [dir="rtl"] &:before {
4376- translate: 50% -50%;
4377- }
4378- }
4379- }
4380- .steps-horizontal {
4381- grid-auto-columns: 1fr;
4382- display: inline-grid;
4383- grid-auto-flow: column;
4384- overflow: hidden;
4385- overflow-x: auto;
4386- .step {
4387- display: grid;
4388- grid-template-columns: repeat(1, minmax(0, 1fr));
4389- grid-template-columns: auto;
4390- grid-template-rows: repeat(2, minmax(0, 1fr));
4391- grid-template-rows: 40px 1fr;
4392- place-items: center;
4393- text-align: center;
4394- min-width: 4rem;
4395- &:before {
4396- height: calc(0.25rem * 2);
4397- width: 100%;
4398- translate: 0;
4399- content: "";
4400- margin-inline-start: -100%;
4401- }
4402- [dir="rtl"] &:before {
4403- translate: 0;
4404- }
4405- }
4406- }
4407- .join-horizontal {
4408- flex-direction: row;
4409- > .join-item:first-child {
4410- --join-ss: var(--radius-field);
4411- --join-se: 0;
4412- --join-es: var(--radius-field);
4413- --join-ee: 0;
4414- }
4415- :first-child:not(:last-child) {
4416- .join-item {
4417- --join-ss: var(--radius-field);
4418- --join-se: 0;
4419- --join-es: var(--radius-field);
4420- --join-ee: 0;
4421- }
4422- }
4423- > .join-item:last-child {
4424- --join-ss: 0;
4425- --join-se: var(--radius-field);
4426- --join-es: 0;
4427- --join-ee: var(--radius-field);
4428- }
4429- :last-child:not(:first-child) {
4430- .join-item {
4431- --join-ss: 0;
4432- --join-se: var(--radius-field);
4433- --join-es: 0;
4434- --join-ee: var(--radius-field);
4435- }
4436- }
4437- > .join-item:only-child {
4438- --join-ss: var(--radius-field);
4439- --join-se: var(--radius-field);
4440- --join-es: var(--radius-field);
4441- --join-ee: var(--radius-field);
4442- }
4443- :only-child {
4444- .join-item {
4445- --join-ss: var(--radius-field);
4446- --join-se: var(--radius-field);
4447- --join-es: var(--radius-field);
4448- --join-ee: var(--radius-field);
4449- }
4450- }
4451- .join-item {
4452- &:where(*:not(:first-child)) {
4453- margin-inline-start: calc(var(--border, 1px) * -1);
4454- margin-block-start: 0;
4455- }
4456- }
4457- }
4458- .join-vertical {
4459- flex-direction: column;
4460- > .join-item:first-child {
4461- --join-ss: var(--radius-field);
4462- --join-se: var(--radius-field);
4463- --join-es: 0;
4464- --join-ee: 0;
4465- }
4466- :first-child:not(:last-child) {
4467- .join-item {
4468- --join-ss: var(--radius-field);
4469- --join-se: var(--radius-field);
4470- --join-es: 0;
4471- --join-ee: 0;
4472- }
4473- }
4474- > .join-item:last-child {
4475- --join-ss: 0;
4476- --join-se: 0;
4477- --join-es: var(--radius-field);
4478- --join-ee: var(--radius-field);
4479- }
4480- :last-child:not(:first-child) {
4481- .join-item {
4482- --join-ss: 0;
4483- --join-se: 0;
4484- --join-es: var(--radius-field);
4485- --join-ee: var(--radius-field);
4486- }
4487- }
4488- > .join-item:only-child {
4489- --join-ss: var(--radius-field);
4490- --join-se: var(--radius-field);
4491- --join-es: var(--radius-field);
4492- --join-ee: var(--radius-field);
4493- }
4494- :only-child {
4495- .join-item {
4496- --join-ss: var(--radius-field);
4497- --join-se: var(--radius-field);
4498- --join-es: var(--radius-field);
4499- --join-ee: var(--radius-field);
4500- }
4501- }
4502- .join-item {
4503- &:where(*:not(:first-child)) {
4504- margin-inline-start: 0;
4505- margin-block-start: calc(var(--border, 1px) * -1);
4506- }
4507- }
4508- }
4509- .join-item {
4510- &:where(*:not(:first-child)) {
4511- margin-inline-start: calc(var(--border, 1px) * -1);
4512- margin-block-start: 0;
4513- }
4514- }
4515- .modal-action {
4516- margin-top: calc(0.25rem * 6);
4517- display: flex;
4518- justify-content: flex-end;
4519- gap: calc(0.25rem * 2);
4520- }
4521- .validator-hint {
4522- margin-top: calc(0.25rem * 2);
4523- font-size: var(--text-xs);
4524- line-height: var(--tw-leading, var(--text-xs--line-height));
4525- }
4526- .mt-2 {
4527- margin-top: calc(var(--spacing) * 2);
4528- }
4529- .mt-4 {
4530- margin-top: calc(var(--spacing) * 4);
4531- }
4532- .mt-8 {
4533- margin-top: calc(var(--spacing) * 8);
4534- }
4535- .breadcrumbs {
4536- max-width: 100%;
4537- overflow-x: auto;
4538- padding-block: calc(0.25rem * 2);
4539- > menu, > ul, > ol {
4540- display: flex;
4541- min-height: min-content;
4542- align-items: center;
4543- white-space: nowrap;
4544- > li {
4545- display: flex;
4546- align-items: center;
4547- > * {
4548- display: flex;
4549- cursor: pointer;
4550- align-items: center;
4551- gap: calc(0.25rem * 2);
4552- &:hover {
4553- @media (hover: hover) {
4554- text-decoration-line: underline;
4555- }
4556- }
4557- &:focus {
4558- --tw-outline-style: none;
4559- outline-style: none;
4560- @media (forced-colors: active) {
4561- outline: 2px solid transparent;
4562- outline-offset: 2px;
4563- }
4564- }
4565- &:focus-visible {
4566- outline: 2px solid currentColor;
4567- outline-offset: 2px;
4568- }
4569- }
4570- & + *:before {
4571- content: "";
4572- margin-right: calc(0.25rem * 3);
4573- margin-left: calc(0.25rem * 2);
4574- display: block;
4575- height: calc(0.25rem * 1.5);
4576- width: calc(0.25rem * 1.5);
4577- opacity: 40%;
4578- rotate: 45deg;
4579- border-top: 1px solid;
4580- border-right: 1px solid;
4581- background-color: #0000;
4582- }
4583- [dir="rtl"] & + *:before {
4584- rotate: -135deg;
4585- }
4586- }
4587- }
4588- }
4589- .mr-1 {
4590- margin-right: calc(var(--spacing) * 1);
4591- }
4592- .mr-2 {
4593- margin-right: calc(var(--spacing) * 2);
4594- }
4595- .fieldset-legend {
4596- margin-bottom: calc(0.25rem * -1);
4597- display: flex;
4598- align-items: center;
4599- justify-content: space-between;
4600- gap: calc(0.25rem * 2);
4601- padding-block: calc(0.25rem * 2);
4602- color: var(--color-base-content);
4603- font-weight: 600;
4604- }
4605- .footer-title {
4606- margin-bottom: calc(0.25rem * 2);
4607- text-transform: uppercase;
4608- opacity: 60%;
4609- font-weight: 600;
4610- }
4611- .mb-2 {
4612- margin-bottom: calc(var(--spacing) * 2);
4613- }
4614- .mb-4 {
4615- margin-bottom: calc(var(--spacing) * 4);
4616- }
4617- .mb-6 {
4618- margin-bottom: calc(var(--spacing) * 6);
4619- }
4620- .mb-8 {
4621- margin-bottom: calc(var(--spacing) * 8);
4622- }
4623- .ml-2 {
4624- margin-left: calc(var(--spacing) * 2);
4625- }
4626- .ml-6 {
4627- margin-left: calc(var(--spacing) * 6);
4628- }
4629- .ml-10 {
4630- margin-left: calc(var(--spacing) * 10);
4631- }
4632- .ml-auto {
4633- margin-left: auto;
4634- }
4635- .carousel-item {
4636- box-sizing: content-box;
4637- display: flex;
4638- flex: none;
4639- scroll-snap-align: start;
4640- }
4641- .status {
4642- display: inline-block;
4643- aspect-ratio: 1 / 1;
4644- width: calc(0.25rem * 2);
4645- height: calc(0.25rem * 2);
4646- border-radius: var(--radius-selector);
4647- background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
4648- background-position: center;
4649- background-repeat: no-repeat;
4650- vertical-align: middle;
4651- color: color-mix(in oklab, var(--color-black) 30%, transparent);
4652- background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 );
4653- box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
4654- }
4655- .badge {
4656- display: inline-flex;
4657- align-items: center;
4658- justify-content: center;
4659- gap: calc(0.25rem * 2);
4660- border-radius: var(--radius-selector);
4661- vertical-align: middle;
4662- color: var(--badge-fg);
4663- border: var(--border) solid var(--badge-color, var(--color-base-200));
4664- font-size: 0.875rem;
4665- width: fit-content;
4666- padding-inline: calc(0.25rem * 3 - var(--border));
4667- background-size: auto, calc(var(--noise) * 100%);
4668- background-image: none, var(--fx-noise);
4669- background-color: var(--badge-bg);
4670- --badge-bg: var(--badge-color, var(--color-base-100));
4671- --badge-fg: var(--color-base-content);
4672- --size: calc(var(--size-selector, 0.25rem) * 6);
4673- height: var(--size);
4674- &.badge-outline {
4675- --badge-fg: var(--badge-color);
4676- --badge-bg: #0000;
4677- background-image: none;
4678- }
4679- &.badge-dash {
4680- --badge-fg: var(--badge-color);
4681- --badge-bg: #0000;
4682- border-style: dashed;
4683- background-image: none;
4684- }
4685- &.badge-soft {
4686- color: var(--badge-color, var(--color-base-content));
4687- background-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 8%, var(--color-base-100) );
4688- border-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 10%, var(--color-base-100) );
4689- background-image: none;
4690- }
4691- }
4692- .kbd {
4693- display: inline-flex;
4694- align-items: center;
4695- justify-content: center;
4696- border-radius: var(--radius-field);
4697- background-color: var(--color-base-200);
4698- vertical-align: middle;
4699- padding-left: 0.5em;
4700- padding-right: 0.5em;
4701- border: var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000);
4702- border-bottom: calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000);
4703- --size: calc(var(--size-selector, 0.25rem) * 6);
4704- font-size: 0.875rem;
4705- height: var(--size);
4706- min-width: var(--size);
4707- }
4708- .tabs {
4709- display: flex;
4710- flex-wrap: wrap;
4711- --tabs-height: auto;
4712- --tabs-direction: row;
4713- height: var(--tabs-height);
4714- flex-direction: var(--tabs-direction);
4715- }
4716- .navbar {
4717- display: flex;
4718- width: 100%;
4719- align-items: center;
4720- padding: 0.5rem;
4721- min-height: 4rem;
4722- }
4723- .footer {
4724- display: grid;
4725- width: 100%;
4726- grid-auto-flow: row;
4727- place-items: start;
4728- column-gap: calc(0.25rem * 4);
4729- row-gap: calc(0.25rem * 10);
4730- font-size: 0.875rem;
4731- line-height: 1.25rem;
4732- & > * {
4733- display: grid;
4734- place-items: start;
4735- gap: calc(0.25rem * 2);
4736- }
4737- &.footer-center {
4738- grid-auto-flow: column dense;
4739- place-items: center;
4740- text-align: center;
4741- & > * {
4742- place-items: center;
4743- }
4744- }
4745- }
4746- .stat {
4747- display: inline-grid;
4748- width: 100%;
4749- column-gap: calc(0.25rem * 4);
4750- padding-inline: calc(0.25rem * 6);
4751- padding-block: calc(0.25rem * 4);
4752- grid-template-columns: repeat(1, 1fr);
4753- &:not(:last-child) {
4754- border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);
4755- border-block-end: none;
4756- }
4757- }
4758- .navbar-end {
4759- display: inline-flex;
4760- align-items: center;
4761- width: 50%;
4762- justify-content: flex-end;
4763- }
4764- .navbar-start {
4765- display: inline-flex;
4766- align-items: center;
4767- width: 50%;
4768- justify-content: flex-start;
4769- }
4770- .card-body {
4771- display: flex;
4772- flex: auto;
4773- flex-direction: column;
4774- gap: calc(0.25rem * 2);
4775- padding: var(--card-p, 1.5rem);
4776- font-size: var(--card-fs, 0.875rem);
4777- :where(p) {
4778- flex-grow: 1;
4779- }
4780- }
4781- .navbar-center {
4782- display: inline-flex;
4783- align-items: center;
4784- flex-shrink: 0;
4785- }
4786- .fieldset-label {
4787- display: flex;
4788- align-items: center;
4789- gap: calc(0.25rem * 1.5);
4790- color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
4791- &:has(input) {
4792- cursor: pointer;
4793- }
4794- }
4795- .carousel {
4796- display: inline-flex;
4797- overflow-x: scroll;
4798- scroll-snap-type: x mandatory;
4799- scroll-behavior: smooth;
4800- scrollbar-width: none;
4801- &::-webkit-scrollbar {
4802- display: none;
4803- }
4804- }
4805- .alert {
4806- display: grid;
4807- align-items: center;
4808- gap: calc(0.25rem * 4);
4809- border-radius: var(--radius-box);
4810- padding-inline: calc(0.25rem * 4);
4811- padding-block: calc(0.25rem * 3);
4812- color: var(--color-base-content);
4813- background-color: var(--alert-color, var(--color-base-200));
4814- justify-content: start;
4815- justify-items: start;
4816- grid-auto-flow: column;
4817- grid-template-columns: auto minmax(auto, 1fr);
4818- text-align: start;
4819- border: var(--border) solid var(--color-base-200);
4820- font-size: 0.875rem;
4821- line-height: 1.25rem;
4822- background-size: auto, calc(var(--noise) * 100%);
4823- background-image: none, var(--fx-noise);
4824- box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
4825- &.alert-outline {
4826- background-color: transparent;
4827- color: var(--alert-color);
4828- box-shadow: none;
4829- background-image: none;
4830- }
4831- &.alert-dash {
4832- background-color: transparent;
4833- color: var(--alert-color);
4834- border-style: dashed;
4835- box-shadow: none;
4836- background-image: none;
4837- }
4838- &.alert-soft {
4839- color: var(--alert-color, var(--color-base-content));
4840- background: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100) );
4841- border-color: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 10%, var(--color-base-100) );
4842- box-shadow: none;
4843- background-image: none;
4844- }
4845- }
4846- .fieldset {
4847- display: grid;
4848- gap: calc(0.25rem * 1.5);
4849- padding-block: calc(0.25rem * 1);
4850- font-size: 0.75rem;
4851- grid-template-columns: 1fr;
4852- grid-auto-rows: max-content;
4853- }
4854- .card-actions {
4855- display: flex;
4856- flex-wrap: wrap;
4857- align-items: flex-start;
4858- gap: calc(0.25rem * 2);
4859- }
4860- .avatar-placeholder {
4861- & > div {
4862- display: flex;
4863- align-items: center;
4864- justify-content: center;
4865- }
4866- }
4867- .card-title {
4868- display: flex;
4869- align-items: center;
4870- gap: calc(0.25rem * 2);
4871- font-size: var(--cardtitle-fs, 1.125rem);
4872- font-weight: 600;
4873- }
4874- .join {
4875- display: inline-flex;
4876- align-items: stretch;
4877- --join-ss: 0;
4878- --join-se: 0;
4879- --join-es: 0;
4880- --join-ee: 0;
4881- :where(.join-item) {
4882- border-start-start-radius: var(--join-ss, 0);
4883- border-start-end-radius: var(--join-se, 0);
4884- border-end-start-radius: var(--join-es, 0);
4885- border-end-end-radius: var(--join-ee, 0);
4886- * {
4887- --join-ss: var(--radius-field);
4888- --join-se: var(--radius-field);
4889- --join-es: var(--radius-field);
4890- --join-ee: var(--radius-field);
4891- }
4892- }
4893- > .join-item:where(:first-child) {
4894- --join-ss: var(--radius-field);
4895- --join-se: 0;
4896- --join-es: var(--radius-field);
4897- --join-ee: 0;
4898- }
4899- :first-child:not(:last-child) {
4900- :where(.join-item) {
4901- --join-ss: var(--radius-field);
4902- --join-se: 0;
4903- --join-es: var(--radius-field);
4904- --join-ee: 0;
4905- }
4906- }
4907- > .join-item:where(:last-child) {
4908- --join-ss: 0;
4909- --join-se: var(--radius-field);
4910- --join-es: 0;
4911- --join-ee: var(--radius-field);
4912- }
4913- :last-child:not(:first-child) {
4914- :where(.join-item) {
4915- --join-ss: 0;
4916- --join-se: var(--radius-field);
4917- --join-es: 0;
4918- --join-ee: var(--radius-field);
4919- }
4920- }
4921- > .join-item:where(:only-child) {
4922- --join-ss: var(--radius-field);
4923- --join-se: var(--radius-field);
4924- --join-es: var(--radius-field);
4925- --join-ee: var(--radius-field);
4926- }
4927- :only-child {
4928- :where(.join-item) {
4929- --join-ss: var(--radius-field);
4930- --join-se: var(--radius-field);
4931- --join-es: var(--radius-field);
4932- --join-ee: var(--radius-field);
4933- }
4934- }
4935- }
4936- .mockup-phone {
4937- display: inline-grid;
4938- justify-items: center;
4939- border: 6px solid #6b6b6b;
4940- border-radius: 65px;
4941- background-color: #000;
4942- padding: 11px;
4943- overflow: hidden;
4944- }
4945- .chat {
4946- display: grid;
4947- column-gap: calc(0.25rem * 3);
4948- padding-block: calc(0.25rem * 1);
4949- }
4950- .avatar-group {
4951- display: flex;
4952- overflow: hidden;
4953- :where(.avatar) {
4954- overflow: hidden;
4955- border-radius: calc(infinity * 1px);
4956- border: 4px solid var(--color-base-100);
4957- }
4958- }
4959- .prose {
4960- :root & {
4961- --tw-prose-body: color-mix(in oklab, var(--color-base-content) 80%, #0000);
4962- --tw-prose-headings: var(--color-base-content);
4963- --tw-prose-lead: var(--color-base-content);
4964- --tw-prose-links: var(--color-base-content);
4965- --tw-prose-bold: var(--color-base-content);
4966- --tw-prose-counters: var(--color-base-content);
4967- --tw-prose-bullets: color-mix(in oklab, var(--color-base-content) 50%, #0000);
4968- --tw-prose-hr: color-mix(in oklab, var(--color-base-content) 20%, #0000);
4969- --tw-prose-quotes: var(--color-base-content);
4970- --tw-prose-quote-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
4971- --tw-prose-captions: color-mix(in oklab, var(--color-base-content) 50%, #0000);
4972- --tw-prose-code: var(--color-base-content);
4973- --tw-prose-pre-code: var(--color-neutral-content);
4974- --tw-prose-pre-bg: var(--color-neutral);
4975- --tw-prose-th-borders: color-mix(in oklab, var(--color-base-content) 50%, #0000);
4976- --tw-prose-td-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
4977- --tw-prose-kbd: color-mix(in oklab, var(--color-base-content) 80%, #0000);
4978- :where(code):not(pre > code) {
4979- background-color: var(--color-base-200);
4980- border-radius: var(--radius-selector);
4981- border: var(--border) solid var(--color-base-300);
4982- padding-inline: 0.5em;
4983- font-weight: inherit;
4984- &:before,
4985- &:after {
4986- display: none;
4987- }
4988- }
4989- }
4990- }
4991- .mask {
4992- display: inline-block;
4993- vertical-align: middle;
4994- mask-size: contain;
4995- mask-repeat: no-repeat;
4996- mask-position: center;
4997- }
4998- .block {
4999- display: block;
5000- }
5001- .contents {
5002- display: contents;
5003- }
5004- .flex {
5005- display: flex;
5006- }
5007- .grid {
5008- display: grid;
5009- }
5010- .hidden {
5011- display: none;
5012- }
5013- .inline {
5014- display: inline;
5015- }
5016- .inline-block {
5017- display: inline-block;
5018- }
5019- .inline-flex {
5020- display: inline-flex;
5021- }
5022- .inline-grid {
5023- display: inline-grid;
5024- }
5025- .table {
5026- display: table;
5027- }
5028- .modal-bottom {
5029- place-items: end;
5030- :where(.modal-box) {
5031- height: auto;
5032- width: 100%;
5033- max-width: none;
5034- max-height: calc(100vh - 5em);
5035- translate: 0 100%;
5036- scale: 1;
5037- --modal-tl: var(--radius-box);
5038- --modal-tr: var(--radius-box);
5039- --modal-bl: 0;
5040- --modal-br: 0;
5041- }
5042- }
5043- .modal-end {
5044- place-items: end;
5045- :where(.modal-box) {
5046- height: 100vh;
5047- max-height: none;
5048- width: auto;
5049- max-width: none;
5050- translate: 100% 0;
5051- scale: 1;
5052- --modal-tl: var(--radius-box);
5053- --modal-tr: 0;
5054- --modal-bl: var(--radius-box);
5055- --modal-br: 0;
5056- }
5057- }
5058- .modal-middle {
5059- place-items: center;
5060- :where(.modal-box) {
5061- height: auto;
5062- width: calc(11/12 * 100%);
5063- max-width: 32rem;
5064- max-height: calc(100vh - 5em);
5065- translate: 0 2%;
5066- scale: 98%;
5067- --modal-tl: var(--radius-box);
5068- --modal-tr: var(--radius-box);
5069- --modal-bl: var(--radius-box);
5070- --modal-br: var(--radius-box);
5071- }
5072- }
5073- .modal-start {
5074- place-items: start;
5075- :where(.modal-box) {
5076- height: 100vh;
5077- max-height: none;
5078- width: auto;
5079- max-width: none;
5080- translate: -100% 0;
5081- scale: 1;
5082- --modal-tl: 0;
5083- --modal-tr: var(--radius-box);
5084- --modal-bl: 0;
5085- --modal-br: var(--radius-box);
5086- }
5087- }
5088- .modal-top {
5089- place-items: start;
5090- :where(.modal-box) {
5091- height: auto;
5092- width: 100%;
5093- max-width: none;
5094- max-height: calc(100vh - 5em);
5095- translate: 0 -100%;
5096- scale: 1;
5097- --modal-tl: 0;
5098- --modal-tr: 0;
5099- --modal-bl: var(--radius-box);
5100- --modal-br: var(--radius-box);
5101- }
5102- }
5103- .card-side {
5104- align-items: stretch;
5105- flex-direction: row;
5106- :where(figure:first-child) {
5107- overflow: hidden;
5108- border-start-start-radius: inherit;
5109- border-start-end-radius: unset;
5110- border-end-start-radius: inherit;
5111- border-end-end-radius: unset;
5112- }
5113- :where(figure:last-child) {
5114- overflow: hidden;
5115- border-start-start-radius: unset;
5116- border-start-end-radius: inherit;
5117- border-end-start-radius: unset;
5118- border-end-end-radius: inherit;
5119- }
5120- figure > * {
5121- max-width: unset;
5122- }
5123- :where(figure > *) {
5124- width: 100%;
5125- height: 100%;
5126- object-fit: cover;
5127- }
5128- }
5129- .divider-horizontal {
5130- --divider-m: 0 1rem;
5131- &.divider {
5132- height: auto;
5133- width: calc(0.25rem * 4);
5134- flex-direction: column;
5135- &:before {
5136- height: 100%;
5137- width: calc(0.25rem * 0.5);
5138- }
5139- &:after {
5140- height: 100%;
5141- width: calc(0.25rem * 0.5);
5142- }
5143- }
5144- }
5145- .divider-vertical {
5146- --divider-m: 1rem 0;
5147- &.divider {
5148- height: calc(0.25rem * 4);
5149- width: auto;
5150- flex-direction: row;
5151- &:before {
5152- height: calc(0.25rem * 0.5);
5153- width: 100%;
5154- }
5155- &:after {
5156- height: calc(0.25rem * 0.5);
5157- width: 100%;
5158- }
5159- }
5160- }
5161- .btn-circle {
5162- border-radius: calc(infinity * 1px);
5163- padding-inline: calc(0.25rem * 0);
5164- width: var(--size);
5165- height: var(--size);
5166- }
5167- .btn-square {
5168- padding-inline: calc(0.25rem * 0);
5169- width: var(--size);
5170- height: var(--size);
5171- }
5172- .size-4 {
5173- width: calc(var(--spacing) * 4);
5174- height: calc(var(--spacing) * 4);
5175- }
5176- .status-lg {
5177- width: calc(0.25rem * 3);
5178- height: calc(0.25rem * 3);
5179- }
5180- .status-md {
5181- width: calc(0.25rem * 2);
5182- height: calc(0.25rem * 2);
5183- }
5184- .status-sm {
5185- width: calc(0.25rem * 1);
5186- height: calc(0.25rem * 1);
5187- }
5188- .status-xl {
5189- width: calc(0.25rem * 4);
5190- height: calc(0.25rem * 4);
5191- }
5192- .status-xs {
5193- width: calc(0.25rem * 0.5);
5194- height: calc(0.25rem * 0.5);
5195- }
5196- .tabs-lg {
5197- :where(.tab) {
5198- height: calc(var(--size-field, 0.25rem) * 12);
5199- font-size: 1.125rem;
5200- --tab-p: 1rem;
5201- --tab-radius-min: calc(1.5rem - var(--border));
5202- }
5203- }
5204- .tabs-md {
5205- :where(.tab) {
5206- height: calc(var(--size-field, 0.25rem) * 10);
5207- font-size: 0.875rem;
5208- --tab-p: 0.75rem;
5209- --tab-radius-min: calc(0.75rem - var(--border));
5210- }
5211- }
5212- .tabs-sm {
5213- :where(.tab) {
5214- height: calc(var(--size-field, 0.25rem) * 8);
5215- font-size: 0.875rem;
5216- --tab-p: 0.5rem;
5217- --tab-radius-min: calc(0.5rem - var(--border));
5218- }
5219- }
5220- .tabs-xl {
5221- :where(.tab) {
5222- height: calc(var(--size-field, 0.25rem) * 14);
5223- font-size: 1.125rem;
5224- --tab-p: 1.25rem;
5225- --tab-radius-min: calc(2rem - var(--border));
5226- }
5227- }
5228- .tabs-xs {
5229- :where(.tab) {
5230- height: calc(var(--size-field, 0.25rem) * 6);
5231- font-size: 0.75rem;
5232- --tab-p: 0.375rem;
5233- --tab-radius-min: calc(0.5rem - var(--border));
5234- }
5235- }
5236- .dock-md {
5237- height: 4rem;
5238- height: calc(4rem + env(safe-area-inset-bottom));
5239- .dock-label {
5240- font-size: 0.6875rem;
5241- }
5242- }
5243- .h-5 {
5244- height: calc(var(--spacing) * 5);
5245- }
5246- .h-6 {
5247- height: calc(var(--spacing) * 6);
5248- }
5249- .h-8 {
5250- height: calc(var(--spacing) * 8);
5251- }
5252- .h-32 {
5253- height: calc(var(--spacing) * 32);
5254- }
5255- .h-44 {
5256- height: calc(var(--spacing) * 44);
5257- }
5258- .h-64 {
5259- height: calc(var(--spacing) * 64);
5260- }
5261- .h-96 {
5262- height: calc(var(--spacing) * 96);
5263- }
5264- .h-full {
5265- height: 100%;
5266- }
5267- .min-h-screen {
5268- min-height: 100vh;
5269- }
5270- .btn-wide {
5271- width: 100%;
5272- max-width: calc(0.25rem * 64);
5273- }
5274- .cally {
5275- font-size: 0.7rem;
5276- &::part(container) {
5277- padding: 0.5rem 1rem;
5278- user-select: none;
5279- }
5280- ::part(th) {
5281- font-weight: normal;
5282- block-size: auto;
5283- }
5284- &::part(header) {
5285- direction: ltr;
5286- }
5287- ::part(head) {
5288- opacity: 0.5;
5289- font-size: 0.7rem;
5290- }
5291- &::part(button) {
5292- border-radius: var(--radius-field);
5293- border: none;
5294- padding: 0.5rem;
5295- background: #0000;
5296- }
5297- &::part(button):hover {
5298- background: var(--color-base-200);
5299- }
5300- ::part(day) {
5301- border-radius: var(--radius-field);
5302- font-size: 0.7rem;
5303- }
5304- ::part(button day today) {
5305- background: var(--color-primary);
5306- color: var(--color-primary-content);
5307- }
5308- ::part(selected) {
5309- color: var(--color-base-100);
5310- background: var(--color-base-content);
5311- border-radius: var(--radius-field);
5312- }
5313- ::part(range-inner) {
5314- border-radius: 0;
5315- }
5316- ::part(range-start) {
5317- border-start-end-radius: 0;
5318- border-end-end-radius: 0;
5319- }
5320- ::part(range-end) {
5321- border-start-start-radius: 0;
5322- border-end-start-radius: 0;
5323- }
5324- ::part(range-start range-end) {
5325- border-radius: var(--radius-field);
5326- }
5327- calendar-month {
5328- width: 100%;
5329- }
5330- }
5331- .rating-half {
5332- :where(*:not(.rating-hidden)) {
5333- width: calc(0.25rem * 3);
5334- }
5335- &.rating-xs *:not(.rating-hidden) {
5336- width: calc(0.25rem * 2);
5337- }
5338- &.rating-sm *:not(.rating-hidden) {
5339- width: calc(0.25rem * 2.5);
5340- }
5341- &.rating-md *:not(.rating-hidden) {
5342- width: calc(0.25rem * 3);
5343- }
5344- &.rating-lg *:not(.rating-hidden) {
5345- width: .875rem;
5346- }
5347- &.rating-xl *:not(.rating-hidden) {
5348- width: calc(0.25rem * 4);
5349- }
5350- }
5351- .btn-block {
5352- width: 100%;
5353- }
5354- .loading-lg {
5355- width: calc(var(--size-selector, 0.25rem) * 7);
5356- }
5357- .loading-md {
5358- width: calc(var(--size-selector, 0.25rem) * 6);
5359- }
5360- .loading-sm {
5361- width: calc(var(--size-selector, 0.25rem) * 5);
5362- }
5363- .loading-xl {
5364- width: calc(var(--size-selector, 0.25rem) * 8);
5365- }
5366- .loading-xs {
5367- width: calc(var(--size-selector, 0.25rem) * 4);
5368- }
5369- .w-2\/3 {
5370- width: calc(2/3 * 100%);
5371- }
5372- .w-5 {
5373- width: calc(var(--spacing) * 5);
5374- }
5375- .w-6 {
5376- width: calc(var(--spacing) * 6);
5377- }
5378- .w-8 {
5379- width: calc(var(--spacing) * 8);
5380- }
5381- .w-40 {
5382- width: calc(var(--spacing) * 40);
5383- }
5384- .w-52 {
5385- width: calc(var(--spacing) * 52);
5386- }
5387- .w-64 {
5388- width: calc(var(--spacing) * 64);
5389- }
5390- .w-100 {
5391- width: calc(var(--spacing) * 100);
5392- }
5393- .w-full {
5394- width: 100%;
5395- }
5396- .max-w-md {
5397- max-width: var(--container-md);
5398- }
5399- .flex-shrink {
5400- flex-shrink: 1;
5401- }
5402- .shrink-0 {
5403- flex-shrink: 0;
5404- }
5405- .flex-grow {
5406- flex-grow: 1;
5407- }
5408- .border-collapse {
5409- border-collapse: collapse;
5410- }
5411- .swap-rotate {
5412- .swap-on, input:indeterminate ~ .swap-on {
5413- rotate: 45deg;
5414- }
5415- input:is(:checked, :indeterminate) ~ .swap-on, &.swap-active .swap-on {
5416- rotate: 0deg;
5417- }
5418- input:is(:checked, :indeterminate) ~ .swap-off, &.swap-active .swap-off {
5419- rotate: calc(45deg * -1);
5420- }
5421- }
5422- .swap-flip {
5423- transform-style: preserve-3d;
5424- perspective: 20rem;
5425- .swap-on, .swap-indeterminate, input:indeterminate ~ .swap-on {
5426- transform: rotateY(180deg);
5427- backface-visibility: hidden;
5428- opacity: 100%;
5429- }
5430- input:is(:checked, :indeterminate) ~ .swap-on, &.swap-active .swap-on {
5431- transform: rotateY(0deg);
5432- }
5433- input:is(:checked, :indeterminate) ~ .swap-off, &.swap-active .swap-off {
5434- transform: rotateY(-180deg);
5435- backface-visibility: hidden;
5436- opacity: 100%;
5437- }
5438- }
5439- .transform {
5440- transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
5441- }
5442- .skeleton {
5443- border-radius: var(--radius-box);
5444- background-color: var(--color-base-300);
5445- @media (prefers-reduced-motion: reduce) {
5446- transition-duration: 15s;
5447- }
5448- will-change: background-position;
5449- animation: skeleton 1.8s ease-in-out infinite;
5450- background-image: linear-gradient( 105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100% );
5451- background-size: 200% auto;
5452- background-repeat: no-repeat;
5453- background-position-x: -50%;
5454- }
5455- .animate-spin {
5456- animation: var(--animate-spin);
5457- }
5458- .link {
5459- cursor: pointer;
5460- text-decoration-line: underline;
5461- &:focus {
5462- --tw-outline-style: none;
5463- outline-style: none;
5464- @media (forced-colors: active) {
5465- outline: 2px solid transparent;
5466- outline-offset: 2px;
5467- }
5468- }
5469- &:focus-visible {
5470- outline: 2px solid currentColor;
5471- outline-offset: 2px;
5472- }
5473- }
5474- .cursor-pointer {
5475- cursor: pointer;
5476- }
5477- .resize {
5478- resize: both;
5479- }
5480- .carousel-horizontal {
5481- flex-direction: row;
5482- overflow-x: scroll;
5483- scroll-snap-type: x mandatory;
5484- }
5485- .carousel-vertical {
5486- flex-direction: column;
5487- overflow-y: scroll;
5488- scroll-snap-type: y mandatory;
5489- }
5490- .carousel-center {
5491- .carousel-item {
5492- scroll-snap-align: center;
5493- }
5494- }
5495- .carousel-end {
5496- .carousel-item {
5497- scroll-snap-align: end;
5498- }
5499- }
5500- .carousel-start {
5501- .carousel-item {
5502- scroll-snap-align: start;
5503- }
5504- }
5505- .list-disc {
5506- list-style-type: disc;
5507- }
5508- .alert-horizontal {
5509- justify-content: start;
5510- justify-items: start;
5511- grid-auto-flow: column;
5512- grid-template-columns: auto minmax(auto, 1fr);
5513- text-align: start;
5514- }
5515- .alert-vertical {
5516- justify-content: center;
5517- justify-items: center;
5518- grid-auto-flow: row;
5519- grid-template-columns: auto;
5520- text-align: center;
5521- }
5522- .stats-horizontal {
5523- grid-auto-flow: column;
5524- overflow-x: auto;
5525- .stat:not(:last-child) {
5526- border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);
5527- border-block-end: none;
5528- }
5529- }
5530- .stats-vertical {
5531- grid-auto-flow: row;
5532- overflow-y: auto;
5533- .stat:not(:last-child) {
5534- border-inline-end: none;
5535- border-block-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);
5536- }
5537- }
5538- .footer-horizontal {
5539- grid-auto-flow: column;
5540- &.footer-center {
5541- grid-auto-flow: row dense;
5542- }
5543- }
5544- .footer-vertical {
5545- grid-auto-flow: row;
5546- &.footer-center {
5547- grid-auto-flow: column dense;
5548- }
5549- }
5550- .grid-flow-col {
5551- grid-auto-flow: column;
5552- }
5553- .grid-cols-1 {
5554- grid-template-columns: repeat(1, minmax(0, 1fr));
5555- }
5556- .flex-col {
5557- flex-direction: column;
5558- }
5559- .flex-wrap {
5560- flex-wrap: wrap;
5561- }
5562- .content-center {
5563- align-content: center;
5564- }
5565- .items-center {
5566- align-items: center;
5567- }
5568- .items-start {
5569- align-items: flex-start;
5570- }
5571- .justify-between {
5572- justify-content: space-between;
5573- }
5574- .justify-center {
5575- justify-content: center;
5576- }
5577- .justify-end {
5578- justify-content: flex-end;
5579- }
5580- .justify-start {
5581- justify-content: flex-start;
5582- }
5583- .gap-2 {
5584- gap: calc(var(--spacing) * 2);
5585- }
5586- .gap-3 {
5587- gap: calc(var(--spacing) * 3);
5588- }
5589- .gap-4 {
5590- gap: calc(var(--spacing) * 4);
5591- }
5592- .space-y-2 {
5593- :where(& > :not(:last-child)) {
5594- --tw-space-y-reverse: 0;
5595- margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
5596- margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
5597- }
5598- }
5599- .space-y-4 {
5600- :where(& > :not(:last-child)) {
5601- --tw-space-y-reverse: 0;
5602- margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
5603- margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
5604- }
5605- }
5606- .tabs-box {
5607- background-color: var(--color-base-200);
5608- padding: calc(0.25rem * 1);
5609- border-radius: calc( var(--radius-field) + min(0.25rem, calc(var(--radius-field) + var(--radius-field) + var(--radius-field))) );
5610- box-shadow: 0 -0.5px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0.5px oklch(0% 0 0 / calc(var(--depth) * 0.05)) inset;
5611- .tab {
5612- border-radius: var(--radius-field);
5613- border-style: none;
5614- &:focus-visible, &:is(label:has(:checked:focus-visible)) {
5615- outline-offset: 2px;
5616- }
5617- }
5618- :is(.tab-active, [aria-selected="true"]):not(.tab-disabled, [disabled]), :is(input:checked), :is(label:has(:checked)) {
5619- background-color: var(--tab-bg, var(--color-base-100));
5620- box-shadow: 0 1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000);
5621- @media (forced-colors: active) {
5622- border: 1px solid;
5623- }
5624- }
5625- }
5626- .timeline-box {
5627- border: var(--border) solid;
5628- border-radius: var(--radius-box);
5629- border-color: var(--color-base-300);
5630- background-color: var(--color-base-100);
5631- padding-inline: calc(0.25rem * 4);
5632- padding-block: calc(0.25rem * 2);
5633- font-size: 0.75rem;
5634- box-shadow: 0 1px 2px 0 oklch(0% 0 0/0.05);
5635- }
5636- .menu-lg {
5637- :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
5638- border-radius: var(--radius-field);
5639- padding-inline: calc(0.25rem * 4);
5640- padding-block: calc(0.25rem * 1.5);
5641- font-size: 1.125rem;
5642- }
5643- .menu-title {
5644- padding-inline: calc(0.25rem * 6);
5645- padding-block: calc(0.25rem * 3);
5646- }
5647- }
5648- .menu-md {
5649- :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
5650- border-radius: var(--radius-field);
5651- padding-inline: calc(0.25rem * 3);
5652- padding-block: calc(0.25rem * 1.5);
5653- font-size: 0.875rem;
5654- }
5655- .menu-title {
5656- padding-inline: calc(0.25rem * 3);
5657- padding-block: calc(0.25rem * 2);
5658- }
5659- }
5660- .menu-sm {
5661- :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
5662- border-radius: var(--radius-field);
5663- padding-inline: calc(0.25rem * 2.5);
5664- padding-block: calc(0.25rem * 1);
5665- font-size: 0.75rem;
5666- }
5667- .menu-title {
5668- padding-inline: calc(0.25rem * 3);
5669- padding-block: calc(0.25rem * 2);
5670- }
5671- }
5672- .menu-xl {
5673- :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
5674- border-radius: var(--radius-field);
5675- padding-inline: calc(0.25rem * 5);
5676- padding-block: calc(0.25rem * 1.5);
5677- font-size: 1.375rem;
5678- }
5679- .menu-title {
5680- padding-inline: calc(0.25rem * 6);
5681- padding-block: calc(0.25rem * 3);
5682- }
5683- }
5684- .menu-xs {
5685- :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
5686- border-radius: var(--radius-field);
5687- padding-inline: calc(0.25rem * 2);
5688- padding-block: calc(0.25rem * 1);
5689- font-size: 0.6875rem;
5690- }
5691- .menu-title {
5692- padding-inline: calc(0.25rem * 2);
5693- padding-block: calc(0.25rem * 1);
5694- }
5695- }
5696- .rounded-box {
5697- border-radius: var(--radius-box);
5698- }
5699- .rounded-box {
5700- border-radius: var(--radius-box);
5701- }
5702- .rounded-field {
5703- border-radius: var(--radius-field);
5704- }
5705- .rounded-field {
5706- border-radius: var(--radius-field);
5707- }
5708- .rounded-full {
5709- border-radius: calc(infinity * 1px);
5710- }
5711- .rounded-md {
5712- border-radius: var(--radius-md);
5713- }
5714- .rounded-selector {
5715- border-radius: var(--radius-selector);
5716- }
5717- .rounded-selector {
5718- border-radius: var(--radius-selector);
5719- }
5720- .rounded-sm {
5721- border-radius: var(--radius-sm);
5722- }
5723- .rounded-t-box {
5724- border-top-left-radius: var(--radius-box);
5725- border-top-right-radius: var(--radius-box);
5726- }
5727- .rounded-t-box {
5728- border-top-left-radius: var(--radius-box);
5729- border-top-right-radius: var(--radius-box);
5730- }
5731- .rounded-t-field {
5732- border-top-left-radius: var(--radius-field);
5733- border-top-right-radius: var(--radius-field);
5734- }
5735- .rounded-t-field {
5736- border-top-left-radius: var(--radius-field);
5737- border-top-right-radius: var(--radius-field);
5738- }
5739- .rounded-t-selector {
5740- border-top-left-radius: var(--radius-selector);
5741- border-top-right-radius: var(--radius-selector);
5742- }
5743- .rounded-t-selector {
5744- border-top-left-radius: var(--radius-selector);
5745- border-top-right-radius: var(--radius-selector);
5746- }
5747- .rounded-l-box {
5748- border-top-left-radius: var(--radius-box);
5749- border-bottom-left-radius: var(--radius-box);
5750- }
5751- .rounded-l-box {
5752- border-top-left-radius: var(--radius-box);
5753- border-bottom-left-radius: var(--radius-box);
5754- }
5755- .rounded-l-field {
5756- border-top-left-radius: var(--radius-field);
5757- border-bottom-left-radius: var(--radius-field);
5758- }
5759- .rounded-l-field {
5760- border-top-left-radius: var(--radius-field);
5761- border-bottom-left-radius: var(--radius-field);
5762- }
5763- .rounded-l-selector {
5764- border-top-left-radius: var(--radius-selector);
5765- border-bottom-left-radius: var(--radius-selector);
5766- }
5767- .rounded-l-selector {
5768- border-top-left-radius: var(--radius-selector);
5769- border-bottom-left-radius: var(--radius-selector);
5770- }
5771- .rounded-tl-box {
5772- border-top-left-radius: var(--radius-box);
5773- }
5774- .rounded-tl-box {
5775- border-top-left-radius: var(--radius-box);
5776- }
5777- .rounded-tl-field {
5778- border-top-left-radius: var(--radius-field);
5779- }
5780- .rounded-tl-field {
5781- border-top-left-radius: var(--radius-field);
5782- }
5783- .rounded-tl-selector {
5784- border-top-left-radius: var(--radius-selector);
5785- }
5786- .rounded-tl-selector {
5787- border-top-left-radius: var(--radius-selector);
5788- }
5789- .rounded-r-box {
5790- border-top-right-radius: var(--radius-box);
5791- border-bottom-right-radius: var(--radius-box);
5792- }
5793- .rounded-r-box {
5794- border-top-right-radius: var(--radius-box);
5795- border-bottom-right-radius: var(--radius-box);
5796- }
5797- .rounded-r-field {
5798- border-top-right-radius: var(--radius-field);
5799- border-bottom-right-radius: var(--radius-field);
5800- }
5801- .rounded-r-field {
5802- border-top-right-radius: var(--radius-field);
5803- border-bottom-right-radius: var(--radius-field);
5804- }
5805- .rounded-r-selector {
5806- border-top-right-radius: var(--radius-selector);
5807- border-bottom-right-radius: var(--radius-selector);
5808- }
5809- .rounded-r-selector {
5810- border-top-right-radius: var(--radius-selector);
5811- border-bottom-right-radius: var(--radius-selector);
5812- }
5813- .rounded-tr-box {
5814- border-top-right-radius: var(--radius-box);
5815- }
5816- .rounded-tr-box {
5817- border-top-right-radius: var(--radius-box);
5818- }
5819- .rounded-tr-field {
5820- border-top-right-radius: var(--radius-field);
5821- }
5822- .rounded-tr-field {
5823- border-top-right-radius: var(--radius-field);
5824- }
5825- .rounded-tr-selector {
5826- border-top-right-radius: var(--radius-selector);
5827- }
5828- .rounded-tr-selector {
5829- border-top-right-radius: var(--radius-selector);
5830- }
5831- .rounded-b-box {
5832- border-bottom-left-radius: var(--radius-box);
5833- border-bottom-right-radius: var(--radius-box);
5834- }
5835- .rounded-b-box {
5836- border-bottom-right-radius: var(--radius-box);
5837- border-bottom-left-radius: var(--radius-box);
5838- }
5839- .rounded-b-field {
5840- border-bottom-left-radius: var(--radius-field);
5841- border-bottom-right-radius: var(--radius-field);
5842- }
5843- .rounded-b-field {
5844- border-bottom-right-radius: var(--radius-field);
5845- border-bottom-left-radius: var(--radius-field);
5846- }
5847- .rounded-b-selector {
5848- border-bottom-left-radius: var(--radius-selector);
5849- border-bottom-right-radius: var(--radius-selector);
5850- }
5851- .rounded-b-selector {
5852- border-bottom-right-radius: var(--radius-selector);
5853- border-bottom-left-radius: var(--radius-selector);
5854- }
5855- .rounded-br-box {
5856- border-bottom-right-radius: var(--radius-box);
5857- }
5858- .rounded-br-box {
5859- border-bottom-right-radius: var(--radius-box);
5860- }
5861- .rounded-br-field {
5862- border-bottom-right-radius: var(--radius-field);
5863- }
5864- .rounded-br-field {
5865- border-bottom-right-radius: var(--radius-field);
5866- }
5867- .rounded-br-selector {
5868- border-bottom-right-radius: var(--radius-selector);
5869- }
5870- .rounded-br-selector {
5871- border-bottom-right-radius: var(--radius-selector);
5872- }
5873- .rounded-bl-box {
5874- border-bottom-left-radius: var(--radius-box);
5875- }
5876- .rounded-bl-box {
5877- border-bottom-left-radius: var(--radius-box);
5878- }
5879- .rounded-bl-field {
5880- border-bottom-left-radius: var(--radius-field);
5881- }
5882- .rounded-bl-field {
5883- border-bottom-left-radius: var(--radius-field);
5884- }
5885- .rounded-bl-selector {
5886- border-bottom-left-radius: var(--radius-selector);
5887- }
5888- .rounded-bl-selector {
5889- border-bottom-left-radius: var(--radius-selector);
5890- }
5891- .border {
5892- border-style: var(--tw-border-style);
5893- border-width: 1px;
5894- }
5895- .btn-dash {
5896- &:not( .btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled, :checked ) {
5897- --btn-shadow: "";
5898- border-style: dashed;
5899- --btn-bg: #0000;
5900- --btn-fg: var(--btn-color);
5901- --btn-border: var(--btn-color);
5902- --btn-noise: none;
5903- }
5904- }
5905- .badge-ghost {
5906- border-color: var(--color-base-200);
5907- background-color: var(--color-base-200);
5908- color: var(--color-base-content);
5909- background-image: none;
5910- }
5911- .select-ghost {
5912- background-color: transparent;
5913- transition: background-color 0.2s;
5914- box-shadow: none;
5915- border-color: #0000;
5916- &:focus, &:focus-within {
5917- background-color: var(--color-base-100);
5918- color: var(--color-base-content);
5919- border-color: #0000;
5920- box-shadow: none;
5921- }
5922- }
5923- .input-ghost {
5924- background-color: transparent;
5925- box-shadow: none;
5926- border-color: #0000;
5927- &:focus, &:focus-within {
5928- background-color: var(--color-base-100);
5929- color: var(--color-base-content);
5930- border-color: #0000;
5931- box-shadow: none;
5932- }
5933- }
5934- .textarea-ghost {
5935- background-color: transparent;
5936- box-shadow: none;
5937- border-color: #0000;
5938- &:focus, &:focus-within {
5939- background-color: var(--color-base-100);
5940- color: var(--color-base-content);
5941- border-color: #0000;
5942- box-shadow: none;
5943- }
5944- }
5945- .alert-error {
5946- border-color: var(--color-error);
5947- color: var(--color-error-content);
5948- --alert-color: var(--color-error);
5949- }
5950- .alert-info {
5951- border-color: var(--color-info);
5952- color: var(--color-info-content);
5953- --alert-color: var(--color-info);
5954- }
5955- .alert-success {
5956- border-color: var(--color-success);
5957- color: var(--color-success-content);
5958- --alert-color: var(--color-success);
5959- }
5960- .alert-warning {
5961- border-color: var(--color-warning);
5962- color: var(--color-warning-content);
5963- --alert-color: var(--color-warning);
5964- }
5965- .glass {
5966- border: none;
5967- backdrop-filter: blur(var(--glass-blur, 40px));
5968- background-color: #0000;
5969- background-image: linear-gradient(
5970- 135deg,
5971- oklch(100% 0 0 / var(--glass-opacity, 30%)) 0%,
5972- oklch(0% 0 0 / 0%) 100%
5973- ),
5974- linear-gradient(
5975- var(--glass-reflect-degree, 100deg),
5976- oklch(100% 0 0 / var(--glass-reflect-opacity, 5%)) 25%,
5977- oklch(0% 0 0 / 0%) 25%
5978- );
5979- box-shadow: 0 0 0 1px oklch(100% 0 0 / var(--glass-border-opacity, 20%)) inset,
5980- 0 0 0 2px oklch(0% 0 0 / 5%);
5981- text-shadow: 0 1px oklch(0% 0 0 / var(--glass-text-shadow-opacity, 5%));
5982- }
5983- .chat-bubble-accent {
5984- background-color: var(--color-accent);
5985- color: var(--color-accent-content);
5986- }
5987- .chat-bubble-error {
5988- background-color: var(--color-error);
5989- color: var(--color-error-content);
5990- }
5991- .chat-bubble-info {
5992- background-color: var(--color-info);
5993- color: var(--color-info-content);
5994- }
5995- .chat-bubble-neutral {
5996- background-color: var(--color-neutral);
5997- color: var(--color-neutral-content);
5998- }
5999- .chat-bubble-primary {
6000- background-color: var(--color-primary);
6001- color: var(--color-primary-content);
6002- }
6003- .chat-bubble-secondary {
6004- background-color: var(--color-secondary);
6005- color: var(--color-secondary-content);
6006- }
6007- .chat-bubble-success {
6008- background-color: var(--color-success);
6009- color: var(--color-success-content);
6010- }
6011- .chat-bubble-warning {
6012- background-color: var(--color-warning);
6013- color: var(--color-warning-content);
6014- }
6015- .status-accent {
6016- background-color: var(--color-accent);
6017- color: var(--color-accent);
6018- }
6019- .status-error {
6020- background-color: var(--color-error);
6021- color: var(--color-error);
6022- }
6023- .status-info {
6024- background-color: var(--color-info);
6025- color: var(--color-info);
6026- }
6027- .status-neutral {
6028- background-color: var(--color-neutral);
6029- color: var(--color-neutral);
6030- }
6031- .status-primary {
6032- background-color: var(--color-primary);
6033- color: var(--color-primary);
6034- }
6035- .status-secondary {
6036- background-color: var(--color-secondary);
6037- color: var(--color-secondary);
6038- }
6039- .status-success {
6040- background-color: var(--color-success);
6041- color: var(--color-success);
6042- }
6043- .status-warning {
6044- background-color: var(--color-warning);
6045- color: var(--color-warning);
6046- }
6047- .table-zebra {
6048- tbody {
6049- tr {
6050- &:nth-child(even) {
6051- background-color: var(--color-base-200);
6052- :where(.table-pin-cols tr th) {
6053- background-color: var(--color-base-200);
6054- }
6055- }
6056- &.row-hover {
6057- &, &:nth-child(even) {
6058- &:hover {
6059- @media (hover: hover) {
6060- background-color: var(--color-base-300);
6061- }
6062- }
6063- }
6064- }
6065- }
6066- }
6067- }
6068- .bg-base-100 {
6069- background-color: var(--color-base-100);
6070- }
6071- .bg-base-200 {
6072- background-color: var(--color-base-200);
6073- }
6074- .bg-base-300 {
6075- background-color: var(--color-base-300);
6076- }
6077- .bg-blue-500 {
6078- background-color: var(--color-blue-500);
6079- }
6080- .bg-green-500 {
6081- background-color: var(--color-green-500);
6082- }
6083- .bg-indigo-50 {
6084- background-color: var(--color-indigo-50);
6085- }
6086- .bg-indigo-100 {
6087- background-color: var(--color-indigo-100);
6088- }
6089- .bg-indigo-500 {
6090- background-color: var(--color-indigo-500);
6091- }
6092- .bg-red-500 {
6093- background-color: var(--color-red-500);
6094- }
6095- .divider-accent {
6096- &:before, &:after {
6097- background-color: var(--color-accent);
6098- }
6099- }
6100- .divider-error {
6101- &:before, &:after {
6102- background-color: var(--color-error);
6103- }
6104- }
6105- .divider-info {
6106- &:before, &:after {
6107- background-color: var(--color-info);
6108- }
6109- }
6110- .divider-neutral {
6111- &:before, &:after {
6112- background-color: var(--color-neutral);
6113- }
6114- }
6115- .divider-primary {
6116- &:before, &:after {
6117- background-color: var(--color-primary);
6118- }
6119- }
6120- .divider-secondary {
6121- &:before, &:after {
6122- background-color: var(--color-secondary);
6123- }
6124- }
6125- .divider-success {
6126- &:before, &:after {
6127- background-color: var(--color-success);
6128- }
6129- }
6130- .divider-warning {
6131- &:before, &:after {
6132- background-color: var(--color-warning);
6133- }
6134- }
6135- .stroke-current {
6136- stroke: currentColor;
6137- }
6138- .checkbox-lg {
6139- padding: 0.3125rem;
6140- --size: calc(var(--size-selector, 0.25rem) * 7);
6141- }
6142- .checkbox-md {
6143- padding: 0.25rem;
6144- --size: calc(var(--size-selector, 0.25rem) * 6);
6145- }
6146- .checkbox-sm {
6147- padding: 0.1875rem;
6148- --size: calc(var(--size-selector, 0.25rem) * 5);
6149- }
6150- .checkbox-xl {
6151- padding: 0.375rem;
6152- --size: calc(var(--size-selector, 0.25rem) * 8);
6153- }
6154- .checkbox-xs {
6155- padding: 0.125rem;
6156- --size: calc(var(--size-selector, 0.25rem) * 4);
6157- }
6158- .radio-lg {
6159- padding: 0.3125rem;
6160- &:is([type="radio"]) {
6161- --size: calc(var(--size-selector, 0.25rem) * 7);
6162- }
6163- }
6164- .radio-md {
6165- padding: 0.25rem;
6166- &:is([type="radio"]) {
6167- --size: calc(var(--size-selector, 0.25rem) * 6);
6168- }
6169- }
6170- .radio-sm {
6171- padding: 0.1875rem;
6172- &:is([type="radio"]) {
6173- --size: calc(var(--size-selector, 0.25rem) * 5);
6174- }
6175- }
6176- .radio-xl {
6177- padding: 0.375rem;
6178- &:is([type="radio"]) {
6179- --size: calc(var(--size-selector, 0.25rem) * 8);
6180- }
6181- }
6182- .radio-xs {
6183- padding: 0.125rem;
6184- &:is([type="radio"]) {
6185- --size: calc(var(--size-selector, 0.25rem) * 4);
6186- }
6187- }
6188- .p-0 {
6189- padding: calc(var(--spacing) * 0);
6190- }
6191- .p-2 {
6192- padding: calc(var(--spacing) * 2);
6193- }
6194- .p-3 {
6195- padding: calc(var(--spacing) * 3);
6196- }
6197- .p-4 {
6198- padding: calc(var(--spacing) * 4);
6199- }
6200- .p-6 {
6201- padding: calc(var(--spacing) * 6);
6202- }
6203- .menu-title {
6204- padding-inline: calc(0.25rem * 3);
6205- padding-block: calc(0.25rem * 2);
6206- color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
6207- font-size: 0.875rem;
6208- font-weight: 600;
6209- }
6210- .table-lg {
6211- :not(thead, tfoot) tr {
6212- font-size: 1.125rem;
6213- }
6214- :where(th, td) {
6215- padding-inline: calc(0.25rem * 5);
6216- padding-block: calc(0.25rem * 4);
6217- }
6218- }
6219- .table-md {
6220- :not(thead, tfoot) tr {
6221- font-size: 0.875rem;
6222- }
6223- :where(th, td) {
6224- padding-inline: calc(0.25rem * 4);
6225- padding-block: calc(0.25rem * 3);
6226- }
6227- }
6228- .table-sm {
6229- :not(thead, tfoot) tr {
6230- font-size: 0.75rem;
6231- }
6232- :where(th, td) {
6233- padding-inline: calc(0.25rem * 3);
6234- padding-block: calc(0.25rem * 2);
6235- }
6236- }
6237- .table-xl {
6238- :not(thead, tfoot) tr {
6239- font-size: 1.375rem;
6240- }
6241- :where(th, td) {
6242- padding-inline: calc(0.25rem * 6);
6243- padding-block: calc(0.25rem * 5);
6244- }
6245- }
6246- .table-xs {
6247- :not(thead, tfoot) tr {
6248- font-size: 0.6875rem;
6249- }
6250- :where(th, td) {
6251- padding-inline: calc(0.25rem * 2);
6252- padding-block: calc(0.25rem * 1);
6253- }
6254- }
6255- .badge-lg {
6256- --size: calc(var(--size-selector, 0.25rem) * 7);
6257- font-size: 1rem;
6258- padding-inline: calc(0.25rem * 3.5 - var(--border));
6259- }
6260- .badge-md {
6261- --size: calc(var(--size-selector, 0.25rem) * 6);
6262- font-size: 0.875rem;
6263- padding-inline: calc(0.25rem * 3 - var(--border));
6264- }
6265- .badge-sm {
6266- --size: calc(var(--size-selector, 0.25rem) * 5);
6267- font-size: 0.75rem;
6268- padding-inline: calc(0.25rem * 2.5 - var(--border));
6269- }
6270- .badge-xl {
6271- --size: calc(var(--size-selector, 0.25rem) * 8);
6272- font-size: 1.125rem;
6273- padding-inline: calc(0.25rem * 4 - var(--border));
6274- }
6275- .badge-xs {
6276- --size: calc(var(--size-selector, 0.25rem) * 4);
6277- font-size: 0.625rem;
6278- padding-inline: calc(0.25rem * 2 - var(--border));
6279- }
6280- .px-1 {
6281- padding-inline: calc(var(--spacing) * 1);
6282- }
6283- .px-4 {
6284- padding-inline: calc(var(--spacing) * 4);
6285- }
6286- .py-4 {
6287- padding-block: calc(var(--spacing) * 4);
6288- }
6289- .py-6 {
6290- padding-block: calc(var(--spacing) * 6);
6291- }
6292- .file-input-xl {
6293- padding-inline-end: calc(0.25rem * 6);
6294- --size: calc(var(--size-field, 0.25rem) * 14);
6295- font-size: 1.125rem;
6296- line-height: 3rem;
6297- &::file-selector-button {
6298- font-size: 1.375rem;
6299- }
6300- }
6301- .pt-20 {
6302- padding-top: calc(var(--spacing) * 20);
6303- }
6304- .pr-1 {
6305- padding-right: calc(var(--spacing) * 1);
6306- }
6307- .pb-4 {
6308- padding-bottom: calc(var(--spacing) * 4);
6309- }
6310- .text-center {
6311- text-align: center;
6312- }
6313- .font-mono {
6314- font-family: var(--font-mono);
6315- }
6316- .file-input-lg {
6317- --size: calc(var(--size-field, 0.25rem) * 12);
6318- font-size: 1.125rem;
6319- line-height: 2.5rem;
6320- &::file-selector-button {
6321- font-size: 1.125rem;
6322- }
6323- }
6324- .file-input-md {
6325- --size: calc(var(--size-field, 0.25rem) * 10);
6326- font-size: 0.875rem;
6327- line-height: 2;
6328- &::file-selector-button {
6329- font-size: 0.875rem;
6330- }
6331- }
6332- .file-input-sm {
6333- --size: calc(var(--size-field, 0.25rem) * 8);
6334- font-size: 0.75rem;
6335- line-height: 1.5rem;
6336- &::file-selector-button {
6337- font-size: 0.75rem;
6338- }
6339- }
6340- .file-input-xs {
6341- --size: calc(var(--size-field, 0.25rem) * 6);
6342- font-size: 0.6875rem;
6343- line-height: 1rem;
6344- &::file-selector-button {
6345- font-size: 0.6875rem;
6346- }
6347- }
6348- .text-2xl {
6349- font-size: var(--text-2xl);
6350- line-height: var(--tw-leading, var(--text-2xl--line-height));
6351- }
6352- .text-3xl {
6353- font-size: var(--text-3xl);
6354- line-height: var(--tw-leading, var(--text-3xl--line-height));
6355- }
6356- .text-4xl {
6357- font-size: var(--text-4xl);
6358- line-height: var(--tw-leading, var(--text-4xl--line-height));
6359- }
6360- .text-5xl {
6361- font-size: var(--text-5xl);
6362- line-height: var(--tw-leading, var(--text-5xl--line-height));
6363- }
6364- .text-lg {
6365- font-size: var(--text-lg);
6366- line-height: var(--tw-leading, var(--text-lg--line-height));
6367- }
6368- .text-sm {
6369- font-size: var(--text-sm);
6370- line-height: var(--tw-leading, var(--text-sm--line-height));
6371- }
6372- .text-xl {
6373- font-size: var(--text-xl);
6374- line-height: var(--tw-leading, var(--text-xl--line-height));
6375- }
6376- .text-xs {
6377- font-size: var(--text-xs);
6378- line-height: var(--tw-leading, var(--text-xs--line-height));
6379- }
6380- .kbd-lg {
6381- --size: calc(var(--size-selector, 0.25rem) * 7);
6382- font-size: 1rem;
6383- }
6384- .kbd-md {
6385- --size: calc(var(--size-selector, 0.25rem) * 6);
6386- font-size: 0.875rem;
6387- }
6388- .kbd-sm {
6389- --size: calc(var(--size-selector, 0.25rem) * 5);
6390- font-size: 0.75rem;
209+ .\@container {
210+ container-type: inline-size;
6391211 }
6392- .kbd-xl {
6393- --size: calc(var(--size-selector, 0.25rem) * 8);
6394- font-size: 1.125rem;
212+ .collapse {
213+ visibility: collapse;
6395214 }
6396- .kbd-xs {
6397- --size: calc(var(--size-selector, 0.25rem) * 4);
6398- font-size: 0.625rem;
215+ .invisible {
216+ visibility: hidden;
6399217 }
6400- .select-lg {
6401- --size: calc(var(--size-field, 0.25rem) * 12);
6402- font-size: 1.125rem;
218+ .visible {
219+ visibility: visible;
6403220 }
6404- .select-md {
6405- --size: calc(var(--size-field, 0.25rem) * 10);
6406- font-size: 0.875rem;
221+ .absolute {
222+ position: absolute;
6407223 }
6408- .select-sm {
6409- --size: calc(var(--size-field, 0.25rem) * 8);
6410- font-size: 0.75rem;
224+ .fixed {
225+ position: fixed;
6411226 }
6412- .select-xl {
6413- --size: calc(var(--size-field, 0.25rem) * 14);
6414- font-size: 1.375rem;
227+ .relative {
228+ position: relative;
6415229 }
6416- .select-xs {
6417- --size: calc(var(--size-field, 0.25rem) * 6);
6418- font-size: 0.6875rem;
230+ .static {
231+ position: static;
6419232 }
6420- .textarea-lg {
6421- font-size: 1.125rem;
233+ .sticky {
234+ position: sticky;
6422235 }
6423- .textarea-md {
6424- font-size: 0.875rem;
236+ .start-1 {
237+ inset-inline-start: calc(var(--spacing) * 1);
6425238 }
6426- .textarea-sm {
6427- font-size: 0.75rem;
239+ .top-0 {
240+ top: calc(var(--spacing) * 0);
6428241 }
6429- .textarea-xl {
6430- font-size: 1.375rem;
242+ .top-4 {
243+ top: calc(var(--spacing) * 4);
6431244 }
6432- .textarea-xs {
6433- font-size: 0.6875rem;
245+ .right-4 {
246+ right: calc(var(--spacing) * 4);
6434247 }
6435- .font-bold {
6436- --tw-font-weight: var(--font-weight-bold);
6437- font-weight: var(--font-weight-bold);
248+ .bottom-4 {
249+ bottom: calc(var(--spacing) * 4);
6438250 }
6439- .font-semibold {
6440- --tw-font-weight: var(--font-weight-semibold);
6441- font-weight: var(--font-weight-semibold);
251+ .isolate {
252+ isolation: isolate;
6442253 }
6443- .tracking-tighter {
6444- --tw-tracking: var(--tracking-tighter);
6445- letter-spacing: var(--tracking-tighter);
254+ .z-50 {
255+ z-index: 50;
6446256 }
6447- .text-wrap {
6448- text-wrap: wrap;
257+ .z-\[1\] {
258+ z-index: 1;
6449259 }
6450- .file-input-accent {
6451- --btn-color: var(--color-accent);
6452- &::file-selector-button {
6453- color: var(--color-accent-content);
6454- }
6455- &, &:focus, &:focus-within {
6456- --input-color: var(--color-accent);
260+ .container {
261+ width: 100%;
262+ @media (width >= 40rem) {
263+ max-width: 40rem;
6457264 }
6458- }
6459- .file-input-error {
6460- --btn-color: var(--color-error);
6461- &::file-selector-button {
6462- color: var(--color-error-content);
265+ @media (width >= 48rem) {
266+ max-width: 48rem;
6463267 }
6464- &, &:focus, &:focus-within {
6465- --input-color: var(--color-error);
268+ @media (width >= 64rem) {
269+ max-width: 64rem;
6466270 }
6467- }
6468- .file-input-info {
6469- --btn-color: var(--color-info);
6470- &::file-selector-button {
6471- color: var(--color-info-content);
271+ @media (width >= 80rem) {
272+ max-width: 80rem;
6472273 }
6473- &, &:focus, &:focus-within {
6474- --input-color: var(--color-info);
274+ @media (width >= 96rem) {
275+ max-width: 96rem;
6475276 }
6476277 }
6477- .file-input-neutral {
6478- --btn-color: var(--color-neutral);
6479- &::file-selector-button {
6480- color: var(--color-neutral-content);
6481- }
6482- &, &:focus, &:focus-within {
6483- --input-color: var(--color-neutral);
6484- }
278+ .mx-auto {
279+ margin-inline: auto;
6485280 }
6486- .file-input-primary {
6487- --btn-color: var(--color-primary);
6488- &::file-selector-button {
6489- color: var(--color-primary-content);
6490- }
6491- &, &:focus, &:focus-within {
6492- --input-color: var(--color-primary);
6493- }
281+ .my-4 {
282+ margin-block: calc(var(--spacing) * 4);
6494283 }
6495- .file-input-secondary {
6496- --btn-color: var(--color-secondary);
6497- &::file-selector-button {
6498- color: var(--color-secondary-content);
6499- }
6500- &, &:focus, &:focus-within {
6501- --input-color: var(--color-secondary);
6502- }
284+ .mt-2 {
285+ margin-top: calc(var(--spacing) * 2);
6503286 }
6504- .file-input-success {
6505- --btn-color: var(--color-success);
6506- &::file-selector-button {
6507- color: var(--color-success-content);
6508- }
6509- &, &:focus, &:focus-within {
6510- --input-color: var(--color-success);
6511- }
287+ .mt-4 {
288+ margin-top: calc(var(--spacing) * 4);
6512289 }
6513- .file-input-warning {
6514- --btn-color: var(--color-warning);
6515- &::file-selector-button {
6516- color: var(--color-warning-content);
6517- }
6518- &, &:focus, &:focus-within {
6519- --input-color: var(--color-warning);
6520- }
290+ .mt-8 {
291+ margin-top: calc(var(--spacing) * 8);
6521292 }
6522- .checkbox-accent {
6523- color: var(--color-accent-content);
6524- --input-color: var(--color-accent);
293+ .mr-1 {
294+ margin-right: calc(var(--spacing) * 1);
6525295 }
6526- .checkbox-error {
6527- color: var(--color-error-content);
6528- --input-color: var(--color-error);
296+ .mr-2 {
297+ margin-right: calc(var(--spacing) * 2);
6529298 }
6530- .checkbox-info {
6531- color: var(--color-info-content);
6532- --input-color: var(--color-info);
299+ .mb-2 {
300+ margin-bottom: calc(var(--spacing) * 2);
6533301 }
6534- .checkbox-neutral {
6535- color: var(--color-neutral-content);
6536- --input-color: var(--color-neutral);
302+ .mb-4 {
303+ margin-bottom: calc(var(--spacing) * 4);
6537304 }
6538- .checkbox-primary {
6539- color: var(--color-primary-content);
6540- --input-color: var(--color-primary);
305+ .mb-6 {
306+ margin-bottom: calc(var(--spacing) * 6);
6541307 }
6542- .checkbox-secondary {
6543- color: var(--color-secondary-content);
6544- --input-color: var(--color-secondary);
308+ .mb-8 {
309+ margin-bottom: calc(var(--spacing) * 8);
6545310 }
6546- .checkbox-success {
6547- color: var(--color-success-content);
6548- --input-color: var(--color-success);
311+ .ml-2 {
312+ margin-left: calc(var(--spacing) * 2);
6549313 }
6550- .checkbox-warning {
6551- color: var(--color-warning-content);
6552- --input-color: var(--color-warning);
314+ .ml-6 {
315+ margin-left: calc(var(--spacing) * 6);
6553316 }
6554- .link-accent {
6555- color: var(--color-accent);
6556- @media (hover: hover) {
6557- &:hover {
6558- color: color-mix(in oklab, var(--color-accent) 80%, #000);
6559- }
6560- }
317+ .ml-10 {
318+ margin-left: calc(var(--spacing) * 10);
6561319 }
6562- .link-error {
6563- color: var(--color-error);
6564- @media (hover: hover) {
6565- &:hover {
6566- color: color-mix(in oklab, var(--color-error) 80%, #000);
6567- }
6568- }
320+ .ml-auto {
321+ margin-left: auto;
6569322 }
6570- .link-info {
6571- color: var(--color-info);
6572- @media (hover: hover) {
6573- &:hover {
6574- color: color-mix(in oklab, var(--color-info) 80%, #000);
6575- }
6576- }
323+ .block {
324+ display: block;
6577325 }
6578- .link-neutral {
6579- color: var(--color-neutral);
6580- @media (hover: hover) {
6581- &:hover {
6582- color: color-mix(in oklab, var(--color-neutral) 80%, #000);
6583- }
6584- }
326+ .block\! {
327+ display: block !important;
6585328 }
6586- .link-primary {
6587- color: var(--color-primary);
6588- @media (hover: hover) {
6589- &:hover {
6590- color: color-mix(in oklab, var(--color-primary) 80%, #000);
6591- }
6592- }
329+ .contents {
330+ display: contents;
6593331 }
6594- .link-secondary {
6595- color: var(--color-secondary);
6596- @media (hover: hover) {
6597- &:hover {
6598- color: color-mix(in oklab, var(--color-secondary) 80%, #000);
6599- }
6600- }
332+ .contents\! {
333+ display: contents !important;
6601334 }
6602- .link-success {
6603- color: var(--color-success);
6604- @media (hover: hover) {
6605- &:hover {
6606- color: color-mix(in oklab, var(--color-success) 80%, #000);
6607- }
6608- }
335+ .flex {
336+ display: flex;
6609337 }
6610- .link-warning {
6611- color: var(--color-warning);
6612- @media (hover: hover) {
6613- &:hover {
6614- color: color-mix(in oklab, var(--color-warning) 80%, #000);
6615- }
6616- }
338+ .flow-root {
339+ display: flow-root;
340+ }
341+ .grid {
342+ display: grid;
343+ }
344+ .hidden {
345+ display: none;
6617346 }
6618- .range-accent {
6619- color: var(--color-accent);
6620- --range-thumb: var(--color-accent-content);
347+ .inline {
348+ display: inline;
349+ }
350+ .inline-block {
351+ display: inline-block;
6621352 }
6622- .range-error {
6623- color: var(--color-error);
6624- --range-thumb: var(--color-error-content);
353+ .inline-flex {
354+ display: inline-flex;
6625355 }
6626- .range-info {
6627- color: var(--color-info);
6628- --range-thumb: var(--color-info-content);
356+ .inline-grid {
357+ display: inline-grid;
6629358 }
6630- .range-neutral {
6631- color: var(--color-neutral);
6632- --range-thumb: var(--color-neutral-content);
359+ .list-item {
360+ display: list-item;
6633361 }
6634- .range-primary {
6635- color: var(--color-primary);
6636- --range-thumb: var(--color-primary-content);
362+ .table {
363+ display: table;
6637364 }
6638- .range-secondary {
6639- color: var(--color-secondary);
6640- --range-thumb: var(--color-secondary-content);
365+ .table-caption {
366+ display: table-caption;
6641367 }
6642- .range-success {
6643- color: var(--color-success);
6644- --range-thumb: var(--color-success-content);
368+ .table-cell {
369+ display: table-cell;
6645370 }
6646- .range-warning {
6647- color: var(--color-warning);
6648- --range-thumb: var(--color-warning-content);
371+ .table-column {
372+ display: table-column;
6649373 }
6650- .tooltip-accent {
6651- --tt-bg: var(--color-accent);
6652- > .tooltip-content, &[data-tip]:before {
6653- color: var(--color-accent-content);
6654- }
374+ .table-column-group {
375+ display: table-column-group;
6655376 }
6656- .tooltip-error {
6657- --tt-bg: var(--color-error);
6658- > .tooltip-content, &[data-tip]:before {
6659- color: var(--color-error-content);
6660- }
377+ .table-footer-group {
378+ display: table-footer-group;
6661379 }
6662- .tooltip-info {
6663- --tt-bg: var(--color-info);
6664- > .tooltip-content, &[data-tip]:before {
6665- color: var(--color-info-content);
6666- }
380+ .table-header-group {
381+ display: table-header-group;
6667382 }
6668- .tooltip-primary {
6669- --tt-bg: var(--color-primary);
6670- > .tooltip-content, &[data-tip]:before {
6671- color: var(--color-primary-content);
6672- }
383+ .table-row {
384+ display: table-row;
6673385 }
6674- .tooltip-secondary {
6675- --tt-bg: var(--color-secondary);
6676- > .tooltip-content, &[data-tip]:before {
6677- color: var(--color-secondary-content);
6678- }
386+ .table-row-group {
387+ display: table-row-group;
6679388 }
6680- .tooltip-success {
6681- --tt-bg: var(--color-success);
6682- > .tooltip-content, &[data-tip]:before {
6683- color: var(--color-success-content);
6684- }
389+ .size-4 {
390+ width: calc(var(--spacing) * 4);
391+ height: calc(var(--spacing) * 4);
6685392 }
6686- .tooltip-warning {
6687- --tt-bg: var(--color-warning);
6688- > .tooltip-content, &[data-tip]:before {
6689- color: var(--color-warning-content);
6690- }
393+ .h-5 {
394+ height: calc(var(--spacing) * 5);
6691395 }
6692- .progress-accent {
6693- color: var(--color-accent);
396+ .h-6 {
397+ height: calc(var(--spacing) * 6);
6694398 }
6695- .progress-error {
6696- color: var(--color-error);
399+ .h-8 {
400+ height: calc(var(--spacing) * 8);
6697401 }
6698- .progress-info {
6699- color: var(--color-info);
402+ .h-32 {
403+ height: calc(var(--spacing) * 32);
6700404 }
6701- .progress-neutral {
6702- color: var(--color-neutral);
405+ .h-44 {
406+ height: calc(var(--spacing) * 44);
6703407 }
6704- .progress-primary {
6705- color: var(--color-primary);
408+ .h-64 {
409+ height: calc(var(--spacing) * 64);
6706410 }
6707- .progress-secondary {
6708- color: var(--color-secondary);
411+ .h-96 {
412+ height: calc(var(--spacing) * 96);
6709413 }
6710- .progress-success {
6711- color: var(--color-success);
414+ .h-full {
415+ height: 100%;
6712416 }
6713- .progress-warning {
6714- color: var(--color-warning);
417+ .min-h-screen {
418+ min-height: 100vh;
6715419 }
6716- .text-base-content {
6717- color: var(--color-base-content);
420+ .w-2\/3 {
421+ width: calc(2/3 * 100%);
6718422 }
6719- .text-base-content\/70 {
6720- color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
423+ .w-5 {
424+ width: calc(var(--spacing) * 5);
6721425 }
6722- .text-error {
6723- color: var(--color-error);
426+ .w-6 {
427+ width: calc(var(--spacing) * 6);
6724428 }
6725- .text-indigo-600 {
6726- color: var(--color-indigo-600);
429+ .w-8 {
430+ width: calc(var(--spacing) * 8);
6727431 }
6728- .text-indigo-800 {
6729- color: var(--color-indigo-800);
432+ .w-40 {
433+ width: calc(var(--spacing) * 40);
6730434 }
6731- .text-info {
6732- color: var(--color-info);
435+ .w-52 {
436+ width: calc(var(--spacing) * 52);
6733437 }
6734- .text-primary {
6735- color: var(--color-primary);
438+ .w-64 {
439+ width: calc(var(--spacing) * 64);
6736440 }
6737- .text-secondary {
6738- color: var(--color-secondary);
441+ .w-100 {
442+ width: calc(var(--spacing) * 100);
6739443 }
6740- .text-success {
6741- color: var(--color-success);
444+ .w-full {
445+ width: 100%;
6742446 }
6743- .text-warning {
6744- color: var(--color-warning);
447+ .max-w-md {
448+ max-width: var(--container-md);
6745449 }
6746- .text-white {
6747- color: var(--color-white);
450+ .flex-shrink {
451+ flex-shrink: 1;
6748452 }
6749- .uppercase {
6750- text-transform: uppercase;
453+ .shrink {
454+ flex-shrink: 1;
6751455 }
6752- .btn-link {
6753- text-decoration-line: underline;
6754- outline-color: currentColor;
6755- --btn-border: #0000;
6756- --btn-bg: #0000;
6757- --btn-fg: var(--color-primary);
6758- --btn-noise: none;
6759- --btn-shadow: "";
6760- &:is(.btn-active, :hover, :active:focus, :focus-visible) {
6761- text-decoration-line: underline;
6762- --btn-border: #0000;
6763- --btn-bg: #0000;
6764- }
456+ .shrink-0 {
457+ flex-shrink: 0;
6765458 }
6766- .link-hover {
6767- text-decoration-line: none;
6768- &:hover {
6769- @media (hover: hover) {
6770- text-decoration-line: underline;
6771- }
6772- }
459+ .flex-grow {
460+ flex-grow: 1;
6773461 }
6774- .underline {
6775- text-decoration-line: underline;
462+ .grow {
463+ flex-grow: 1;
6776464 }
6777- .swap-active {
6778- .swap-off {
6779- opacity: 0%;
6780- }
6781- .swap-on {
6782- opacity: 100%;
6783- }
465+ .border-collapse {
466+ border-collapse: collapse;
6784467 }
6785- .opacity-0 {
6786- opacity: 0%;
468+ .transform {
469+ transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
6787470 }
6788- .opacity-50 {
6789- opacity: 50%;
471+ .animate-spin {
472+ animation: var(--animate-spin);
6790473 }
6791- .opacity-70 {
6792- opacity: 70%;
474+ .cursor-pointer {
475+ cursor: pointer;
6793476 }
6794- .shadow {
6795- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
6796- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
477+ .resize {
478+ resize: both;
6797479 }
6798- .shadow-lg {
6799- --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
6800- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
480+ .list-disc {
481+ list-style-type: disc;
6801482 }
6802- .shadow-md {
6803- --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
6804- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
483+ .grid-flow-col {
484+ grid-auto-flow: column;
6805485 }
6806- .shadow-xl {
6807- --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
6808- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
486+ .grid-cols-1 {
487+ grid-template-columns: repeat(1, minmax(0, 1fr));
6809488 }
6810- .outline {
6811- outline-style: var(--tw-outline-style);
6812- outline-width: 1px;
489+ .flex-col {
490+ flex-direction: column;
6813491 }
6814- .btn-ghost {
6815- &:not(.btn-active, :hover, :active:focus, :focus-visible) {
6816- --btn-shadow: "";
6817- --btn-bg: #0000;
6818- --btn-border: #0000;
6819- --btn-noise: none;
6820- &:not(:disabled, [disabled], .btn-disabled) {
6821- outline-color: currentColor;
6822- --btn-fg: currentColor;
6823- }
6824- }
492+ .flex-wrap {
493+ flex-wrap: wrap;
6825494 }
6826- .blur {
6827- --tw-blur: blur(8px);
6828- filter: 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,);
495+ .content-center {
496+ align-content: center;
6829497 }
6830- .drop-shadow-xl {
6831- --tw-drop-shadow: drop-shadow(var(--drop-shadow-xl));
6832- filter: 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,);
498+ .items-center {
499+ align-items: center;
6833500 }
6834- .filter {
6835- filter: 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,);
501+ .items-start {
502+ align-items: flex-start;
6836503 }
6837- .backdrop-filter {
6838- -webkit-backdrop-filter: 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,);
6839- backdrop-filter: 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,);
504+ .justify-between {
505+ justify-content: space-between;
6840506 }
6841- .transition {
6842- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
6843- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
6844- transition-duration: var(--tw-duration, var(--default-transition-duration));
507+ .justify-center {
508+ justify-content: center;
6845509 }
6846- .transition-opacity {
6847- transition-property: opacity;
6848- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
6849- transition-duration: var(--tw-duration, var(--default-transition-duration));
510+ .justify-end {
511+ justify-content: flex-end;
6850512 }
6851- .duration-300 {
6852- --tw-duration: 300ms;
6853- transition-duration: 300ms;
513+ .justify-start {
514+ justify-content: flex-start;
6854515 }
6855- .ease-in {
6856- --tw-ease: var(--ease-in);
6857- transition-timing-function: var(--ease-in);
516+ .gap-2 {
517+ gap: calc(var(--spacing) * 2);
6858518 }
6859- .ease-in-out {
6860- --tw-ease: var(--ease-in-out);
6861- transition-timing-function: var(--ease-in-out);
519+ .gap-3 {
520+ gap: calc(var(--spacing) * 3);
6862521 }
6863- .ease-out {
6864- --tw-ease: var(--ease-out);
6865- transition-timing-function: var(--ease-out);
522+ .gap-4 {
523+ gap: calc(var(--spacing) * 4);
6866524 }
6867- .tabs-bottom {
6868- --tabs-height: auto;
6869- --tabs-direction: row;
6870- .tab {
6871- --tab-order: 1;
6872- --tab-border: var(--border) 0 0 0;
6873- --tab-radius-ss: 0;
6874- --tab-radius-se: 0;
6875- --tab-radius-es: min(var(--radius-field), var(--tab-radius-min));
6876- --tab-radius-ee: min(var(--radius-field), var(--tab-radius-min));
6877- --tab-border-colors: var(--tab-border-color) #0000 #0000 #0000;
6878- --tab-paddings: 0 var(--tab-p) var(--border) var(--tab-p);
6879- --tab-corner-width: calc(100% + min(var(--radius-field), var(--tab-radius-min)) * 2);
6880- --tab-corner-height: min(var(--radius-field), var(--tab-radius-min));
6881- --tab-corner-position: top left, top right;
6882- &:is(.tab-active, [aria-selected="true"]):not(.tab-disabled, [disabled]), &:is(input:checked), &:is(label:has(:checked)) {
6883- --tab-border: 0 var(--border) var(--border) var(--border);
6884- --tab-border-colors: #0000 var(--tab-border-color) var(--tab-border-color)
6885- var(--tab-border-color);
6886- --tab-paddings: var(--border) calc(var(--tab-p) - var(--border)) 0
6887- calc(var(--tab-p) - var(--border));
6888- --tab-inset: 0 auto auto auto;
6889- --radius-start: radial-gradient(
6890- circle at bottom left,
6891- #0000 var(--tab-grad),
6892- var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
6893- var(--tab-border-color) calc(var(--tab-grad) + var(--border)),
6894- var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)
6895- );
6896- --radius-end: radial-gradient(
6897- circle at bottom right,
6898- #0000 var(--tab-grad),
6899- var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
6900- var(--tab-border-color) calc(var(--tab-grad) + var(--border)),
6901- var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)
6902- );
6903- }
6904- }
6905- &:has(.tab-content) {
6906- > .tab:first-child {
6907- &:not(.tab-active, [aria-selected="true"]) {
6908- --tab-border-colors: #0000 var(--tab-border-color) var(--tab-border-color)
6909- var(--tab-border-color);
6910- }
6911- }
6912- }
6913- .tab-content {
6914- --tabcontent-order: 0;
6915- --tabcontent-margin: 0 0 calc(-1 * var(--border)) 0;
6916- --tabcontent-radius-ss: var(--radius-box);
6917- --tabcontent-radius-se: var(--radius-box);
6918- --tabcontent-radius-es: 0;
6919- --tabcontent-radius-ee: var(--radius-box);
6920- }
6921- :checked, :is(label:has(:checked)), :is(.tab-active, [aria-selected="true"]) {
6922- & + .tab-content:not(:nth-child(2)) {
6923- --tabcontent-radius-es: var(--radius-box);
6924- }
525+ .space-y-2 {
526+ :where(& > :not(:last-child)) {
527+ --tw-space-y-reverse: 0;
528+ margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
529+ margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
6925530 }
6926531 }
6927- .tabs-top {
6928- --tabs-height: auto;
6929- --tabs-direction: row;
6930- .tab {
6931- --tab-order: 0;
6932- --tab-border: 0 0 var(--border) 0;
6933- --tab-radius-ss: min(var(--radius-field), var(--tab-radius-min));
6934- --tab-radius-se: min(var(--radius-field), var(--tab-radius-min));
6935- --tab-radius-es: 0;
6936- --tab-radius-ee: 0;
6937- --tab-paddings: var(--border) var(--tab-p) 0 var(--tab-p);
6938- --tab-border-colors: #0000 #0000 var(--tab-border-color) #0000;
6939- --tab-corner-width: calc(100% + min(var(--radius-field), var(--tab-radius-min)) * 2);
6940- --tab-corner-height: min(var(--radius-field), var(--tab-radius-min));
6941- --tab-corner-position: top left, top right;
6942- &:is(.tab-active, [aria-selected="true"]):not(.tab-disabled, [disabled]), &:is(input:checked), &:is(label:has(:checked)) {
6943- --tab-border: var(--border) var(--border) 0 var(--border);
6944- --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000
6945- var(--tab-border-color);
6946- --tab-paddings: 0 calc(var(--tab-p) - var(--border)) var(--border)
6947- calc(var(--tab-p) - var(--border));
6948- --tab-inset: auto auto 0 auto;
6949- --radius-start: radial-gradient(
6950- circle at top left,
6951- #0000 var(--tab-grad),
6952- var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
6953- var(--tab-border-color) calc(var(--tab-grad) + var(--border)),
6954- var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)
6955- );
6956- --radius-end: radial-gradient(
6957- circle at top right,
6958- #0000 var(--tab-grad),
6959- var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
6960- var(--tab-border-color) calc(var(--tab-grad) + var(--border)),
6961- var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)
6962- );
6963- }
6964- }
6965- &:has(.tab-content) {
6966- > .tab:first-child {
6967- &:not(.tab-active, [aria-selected="true"]) {
6968- --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000
6969- var(--tab-border-color);
6970- }
6971- }
6972- }
6973- .tab-content {
6974- --tabcontent-order: 1;
6975- --tabcontent-margin: calc(-1 * var(--border)) 0 0 0;
6976- --tabcontent-radius-ss: 0;
6977- --tabcontent-radius-se: var(--radius-box);
6978- --tabcontent-radius-es: var(--radius-box);
6979- --tabcontent-radius-ee: var(--radius-box);
6980- }
6981- :checked, label:has(:checked), :is(.tab-active, [aria-selected="true"]) {
6982- & + .tab-content {
6983- &:nth-child(1), &:nth-child(n + 3) {
6984- --tabcontent-radius-ss: var(--radius-box);
6985- }
6986- }
532+ .space-y-4 {
533+ :where(& > :not(:last-child)) {
534+ --tw-space-y-reverse: 0;
535+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
536+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
6987537 }
6988538 }
6989- .btn-outline {
6990- &:not( .btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled, :checked ) {
6991- --btn-shadow: "";
6992- --btn-bg: #0000;
6993- --btn-fg: var(--btn-color);
6994- --btn-border: var(--btn-color);
6995- --btn-noise: none;
6996- }
539+ .self-end {
540+ align-self: flex-end;
6997541 }
6998- .btn-soft {
6999- &:not(.btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled) {
7000- --btn-shadow: "";
7001- --btn-fg: var(--btn-color, var(--color-base-content));
7002- --btn-bg: color-mix(
7003- in oklab,
7004- var(--btn-color, var(--color-base-content)) 8%,
7005- var(--color-base-100)
7006- );
7007- --btn-border: color-mix(
7008- in oklab,
7009- var(--btn-color, var(--color-base-content)) 10%,
7010- var(--color-base-100)
7011- );
7012- --btn-noise: none;
7013- }
542+ .self-start {
543+ align-self: flex-start;
7014544 }
7015- .indicator-center {
7016- --inidicator-s: 50%;
7017- --inidicator-e: 50%;
7018- --inidicator-x: -50%;
7019- [dir="rtl"] & {
7020- --inidicator-x: 50%;
7021- }
545+ .truncate {
546+ overflow: hidden;
547+ text-overflow: ellipsis;
548+ white-space: nowrap;
7022549 }
7023- .mask-half-1 {
7024- mask-size: 200%;
7025- mask-position: left;
7026- mask-position: left;
7027- &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
7028- mask-position: right;
7029- }
550+ .rounded {
551+ border-radius: 0.25rem;
7030552 }
7031- .mask-half-2 {
7032- mask-size: 200%;
7033- mask-position: right;
7034- mask-position: right;
7035- &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
7036- mask-position: left;
7037- }
553+ .rounded-full {
554+ border-radius: calc(infinity * 1px);
7038555 }
7039- .btn-lg {
7040- --fontsize: 1.125rem;
7041- --btn-p: 1.25rem;
7042- --size: calc(var(--size-field, 0.25rem) * 12);
7043- }
7044- .btn-md {
7045- --fontsize: 0.875rem;
7046- --btn-p: 1rem;
7047- --size: calc(var(--size-field, 0.25rem) * 10);
7048- }
7049- .btn-sm {
7050- --fontsize: 0.75rem;
7051- --btn-p: 0.75rem;
7052- --size: calc(var(--size-field, 0.25rem) * 8);
7053- }
7054- .btn-xl {
7055- --fontsize: 1.375rem;
7056- --btn-p: 1.5rem;
7057- --size: calc(var(--size-field, 0.25rem) * 14);
7058- }
7059- .btn-xs {
7060- --fontsize: 0.6875rem;
7061- --btn-p: 0.5rem;
7062- --size: calc(var(--size-field, 0.25rem) * 6);
7063- }
7064- .card-lg {
7065- .card-body {
7066- --card-p: 2rem;
7067- --card-fs: 1rem;
7068- }
7069- .card-title {
7070- --cardtitle-fs: 1.25rem;
7071- }
556+ .rounded-md {
557+ border-radius: var(--radius-md);
7072558 }
7073- .card-md {
7074- .card-body {
7075- --card-p: 1.5rem;
7076- --card-fs: 0.875rem;
7077- }
7078- .card-title {
7079- --cardtitle-fs: 1.125rem;
7080- }
559+ .rounded-sm {
560+ border-radius: var(--radius-sm);
7081561 }
7082- .card-sm {
7083- .card-body {
7084- --card-p: 1rem;
7085- --card-fs: 0.75rem;
7086- }
7087- .card-title {
7088- --cardtitle-fs: 1rem;
7089- }
562+ .border {
563+ border-style: var(--tw-border-style);
564+ border-width: 1px;
7090565 }
7091- .card-xl {
7092- .card-body {
7093- --card-p: 2.5rem;
7094- --card-fs: 1.125rem;
7095- }
7096- .card-title {
7097- --cardtitle-fs: 1.375rem;
7098- }
566+ .bg-blue-500 {
567+ background-color: var(--color-blue-500);
7099568 }
7100- .card-xs {
7101- .card-body {
7102- --card-p: 0.5rem;
7103- --card-fs: 0.6875rem;
7104- }
7105- .card-title {
7106- --cardtitle-fs: 0.875rem;
7107- }
569+ .bg-blue-700 {
570+ background-color: var(--color-blue-700);
7108571 }
7109- .indicator-bottom {
7110- --inidicator-t: auto;
7111- --inidicator-b: 0;
7112- --indicator-y: 50%;
7113- }
7114- .indicator-end {
7115- --inidicator-s: auto;
7116- --inidicator-e: 0;
7117- --inidicator-x: 50%;
7118- }
7119- .indicator-middle {
7120- --inidicator-t: 50%;
7121- --inidicator-b: 50%;
7122- --indicator-y: -50%;
7123- }
7124- .indicator-start {
7125- --inidicator-s: 0;
7126- --inidicator-e: auto;
7127- --inidicator-x: -50%;
7128- }
7129- .indicator-top {
7130- --inidicator-t: 0;
7131- --inidicator-b: auto;
7132- --indicator-y: -50%;
7133- }
7134- .badge-accent {
7135- --badge-color: var(--color-accent);
7136- --badge-fg: var(--color-accent-content);
7137- }
7138- .badge-error {
7139- --badge-color: var(--color-error);
7140- --badge-fg: var(--color-error-content);
7141- }
7142- .badge-info {
7143- --badge-color: var(--color-info);
7144- --badge-fg: var(--color-info-content);
7145- }
7146- .badge-neutral {
7147- --badge-color: var(--color-neutral);
7148- --badge-fg: var(--color-neutral-content);
7149- }
7150- .badge-primary {
7151- --badge-color: var(--color-primary);
7152- --badge-fg: var(--color-primary-content);
7153- }
7154- .badge-secondary {
7155- --badge-color: var(--color-secondary);
7156- --badge-fg: var(--color-secondary-content);
7157- }
7158- .badge-success {
7159- --badge-color: var(--color-success);
7160- --badge-fg: var(--color-success-content);
7161- }
7162- .badge-warning {
7163- --badge-color: var(--color-warning);
7164- --badge-fg: var(--color-warning-content);
7165- }
7166- .btn-accent {
7167- --btn-color: var(--color-accent);
7168- --btn-fg: var(--color-accent-content);
7169- }
7170- .btn-error {
7171- --btn-color: var(--color-error);
7172- --btn-fg: var(--color-error-content);
7173- }
7174- .btn-info {
7175- --btn-color: var(--color-info);
7176- --btn-fg: var(--color-info-content);
7177- }
7178- .btn-neutral {
7179- --btn-color: var(--color-neutral);
7180- --btn-fg: var(--color-neutral-content);
7181- }
7182- .btn-primary {
7183- --btn-color: var(--color-primary);
7184- --btn-fg: var(--color-primary-content);
7185- }
7186- .btn-secondary {
7187- --btn-color: var(--color-secondary);
7188- --btn-fg: var(--color-secondary-content);
7189- }
7190- .btn-success {
7191- --btn-color: var(--color-success);
7192- --btn-fg: var(--color-success-content);
7193- }
7194- .btn-warning {
7195- --btn-color: var(--color-warning);
7196- --btn-fg: var(--color-warning-content);
7197- }
7198- .timeline-snap-icon {
7199- > li {
7200- --timeline-col-start: 0.5rem;
7201- --timeline-row-start: minmax(0, 1fr);
7202- }
572+ .bg-green-500 {
573+ background-color: var(--color-green-500);
7203574 }
7204- .toggle-lg {
7205- &:is([type="checkbox"]), &:has([type="checkbox"]) {
7206- --toggle-p: 0.25rem;
7207- --size: calc(var(--size-selector, 0.25rem) * 7);
7208- }
575+ .bg-indigo-50 {
576+ background-color: var(--color-indigo-50);
7209577 }
7210- .toggle-md {
7211- &:is([type="checkbox"]), &:has([type="checkbox"]) {
7212- --toggle-p: 0.1875rem;
7213- --size: calc(var(--size-selector, 0.25rem) * 6);
7214- }
578+ .bg-indigo-100 {
579+ background-color: var(--color-indigo-100);
7215580 }
7216- .toggle-sm {
7217- &:is([type="checkbox"]), &:has([type="checkbox"]) {
7218- --toggle-p: 0.125rem;
7219- --size: calc(var(--size-selector, 0.25rem) * 5);
7220- }
581+ .bg-indigo-500 {
582+ background-color: var(--color-indigo-500);
7221583 }
7222- .toggle-xl {
7223- &:is([type="checkbox"]), &:has([type="checkbox"]) {
7224- --toggle-p: 0.3125rem;
7225- --size: calc(var(--size-selector, 0.25rem) * 8);
7226- }
584+ .bg-red-500 {
585+ background-color: var(--color-red-500);
7227586 }
7228- .toggle-xs {
7229- &:is([type="checkbox"]), &:has([type="checkbox"]) {
7230- --toggle-p: 0.0625rem;
7231- --size: calc(var(--size-selector, 0.25rem) * 4);
7232- }
587+ .bg-white {
588+ background-color: var(--color-white);
7233589 }
7234- .\[image\:tag\] {
7235- image: tag;
590+ .stroke-current {
591+ stroke: currentColor;
7236592 }
7237- .input-accent {
7238- &, &:focus, &:focus-within {
7239- --input-color: var(--color-accent);
7240- }
593+ .p-0 {
594+ padding: calc(var(--spacing) * 0);
7241595 }
7242- .input-error {
7243- &, &:focus, &:focus-within {
7244- --input-color: var(--color-error);
7245- }
596+ .p-2 {
597+ padding: calc(var(--spacing) * 2);
7246598 }
7247- .input-info {
7248- &, &:focus, &:focus-within {
7249- --input-color: var(--color-info);
7250- }
599+ .p-3 {
600+ padding: calc(var(--spacing) * 3);
7251601 }
7252- .input-neutral {
7253- &, &:focus, &:focus-within {
7254- --input-color: var(--color-neutral);
7255- }
602+ .p-4 {
603+ padding: calc(var(--spacing) * 4);
7256604 }
7257- .input-primary {
7258- &, &:focus, &:focus-within {
7259- --input-color: var(--color-primary);
7260- }
605+ .p-6 {
606+ padding: calc(var(--spacing) * 6);
7261607 }
7262- .input-secondary {
7263- &, &:focus, &:focus-within {
7264- --input-color: var(--color-secondary);
7265- }
608+ .px-1 {
609+ padding-inline: calc(var(--spacing) * 1);
7266610 }
7267- .input-success {
7268- &, &:focus, &:focus-within {
7269- --input-color: var(--color-success);
7270- }
611+ .px-4 {
612+ padding-inline: calc(var(--spacing) * 4);
7271613 }
7272- .input-warning {
7273- &, &:focus, &:focus-within {
7274- --input-color: var(--color-warning);
7275- }
614+ .py-2 {
615+ padding-block: calc(var(--spacing) * 2);
7276616 }
7277- .loading-ball {
7278- mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E");
617+ .py-4 {
618+ padding-block: calc(var(--spacing) * 4);
7279619 }
7280- .loading-bars {
7281- mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E");
620+ .py-6 {
621+ padding-block: calc(var(--spacing) * 6);
7282622 }
7283- .loading-dots {
7284- mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E");
623+ .pt-20 {
624+ padding-top: calc(var(--spacing) * 20);
7285625 }
7286- .loading-infinity {
7287- mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E");
626+ .pr-1 {
627+ padding-right: calc(var(--spacing) * 1);
7288628 }
7289- .loading-ring {
7290- mask-image: url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
629+ .pb-4 {
630+ padding-bottom: calc(var(--spacing) * 4);
7291631 }
7292- .loading-spinner {
7293- mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
632+ .text-center {
633+ text-align: center;
7294634 }
7295- .mask-circle {
7296- mask-image: url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e");
635+ .text-justify {
636+ text-align: justify;
7297637 }
7298- .mask-decagon {
7299- mask-image: url("data:image/svg+xml,%3csvg width='192' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 0 58.779 19.098 36.327 50v61.804l-36.327 50L96 200l-58.779-19.098-36.327-50V69.098l36.327-50z' fill-rule='evenodd'/%3e%3c/svg%3e");
638+ .font-mono {
639+ font-family: var(--font-mono);
7300640 }
7301- .mask-diamond {
7302- mask-image: url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m100 0 100 100-100 100L0 100z' fill-rule='evenodd'/%3e%3c/svg%3e");
641+ .text-2xl {
642+ font-size: var(--text-2xl);
643+ line-height: var(--tw-leading, var(--text-2xl--line-height));
7303644 }
7304- .mask-heart {
7305- mask-image: url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");
645+ .text-3xl {
646+ font-size: var(--text-3xl);
647+ line-height: var(--tw-leading, var(--text-3xl--line-height));
7306648 }
7307- .mask-hexagon {
7308- mask-image: url("data:image/svg+xml,%3csvg width='182' height='201' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M.3 65.486c0-9.196 6.687-20.063 14.211-25.078l61.86-35.946c8.36-5.016 20.899-5.016 29.258 0l61.86 35.946c8.36 5.015 14.211 15.882 14.211 25.078v71.055c0 9.196-6.687 20.063-14.211 25.079l-61.86 35.945c-8.36 4.18-20.899 4.18-29.258 0L14.51 161.62C6.151 157.44.3 145.737.3 136.54V65.486Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");
649+ .text-4xl {
650+ font-size: var(--text-4xl);
651+ line-height: var(--tw-leading, var(--text-4xl--line-height));
7309652 }
7310- .mask-hexagon-2 {
7311- mask-image: url("data:image/svg+xml,%3csvg width='200' height='182' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M64.786 181.4c-9.196 0-20.063-6.687-25.079-14.21L3.762 105.33c-5.016-8.36-5.016-20.9 0-29.259l35.945-61.86C44.723 5.851 55.59 0 64.786 0h71.055c9.196 0 20.063 6.688 25.079 14.211l35.945 61.86c4.18 8.36 4.18 20.899 0 29.258l-35.945 61.86c-4.18 8.36-15.883 14.211-25.079 14.211H64.786Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");
653+ .text-5xl {
654+ font-size: var(--text-5xl);
655+ line-height: var(--tw-leading, var(--text-5xl--line-height));
7312656 }
7313- .mask-pentagon {
7314- mask-image: url("data:image/svg+xml,%3csvg width='192' height='181' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 0 95.106 69.098-36.327 111.804H37.22L.894 69.098z' fill-rule='evenodd'/%3e%3c/svg%3e");
657+ .text-base {
658+ font-size: var(--text-base);
659+ line-height: var(--tw-leading, var(--text-base--line-height));
7315660 }
7316- .mask-squircle {
7317- mask-image: url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 0C20 0 0 20 0 100s20 100 100 100 100-20 100-100S180 0 100 0Z'/%3e%3c/svg%3e");
661+ .text-lg {
662+ font-size: var(--text-lg);
663+ line-height: var(--tw-leading, var(--text-lg--line-height));
7318664 }
7319- .mask-star {
7320- mask-image: url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");
665+ .text-sm {
666+ font-size: var(--text-sm);
667+ line-height: var(--tw-leading, var(--text-sm--line-height));
7321668 }
7322- .mask-star-2 {
7323- mask-image: url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");
669+ .text-xl {
670+ font-size: var(--text-xl);
671+ line-height: var(--tw-leading, var(--text-xl--line-height));
7324672 }
7325- .mask-triangle {
7326- mask-image: url("data:image/svg+xml,%3csvg width='174' height='149' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m87 148.476-86.603.185L43.86 74.423 87 0l43.14 74.423 43.463 74.238z' fill-rule='evenodd'/%3e%3c/svg%3e");
673+ .text-xs {
674+ font-size: var(--text-xs);
675+ line-height: var(--tw-leading, var(--text-xs--line-height));
7327676 }
7328- .mask-triangle-2 {
7329- mask-image: url("data:image/svg+xml,%3csvg width='174' height='150' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m87 .738 86.603-.184-43.463 74.238L87 149.214 43.86 74.792.397.554z' fill-rule='evenodd'/%3e%3c/svg%3e");
677+ .font-bold {
678+ --tw-font-weight: var(--font-weight-bold);
679+ font-weight: var(--font-weight-bold);
7330680 }
7331- .mask-triangle-3 {
7332- mask-image: url("data:image/svg+xml,%3csvg width='150' height='174' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m149.369 87.107.185 86.603-74.239-43.463L.893 87.107l74.422-43.14L149.554.505z' fill-rule='evenodd'/%3e%3c/svg%3e");
681+ .font-semibold {
682+ --tw-font-weight: var(--font-weight-semibold);
683+ font-weight: var(--font-weight-semibold);
7333684 }
7334- .mask-triangle-4 {
7335- mask-image: url("data:image/svg+xml,%3csvg width='150' height='174' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M.631 87.107.446.505l74.239 43.462 74.422 43.14-74.422 43.14L.446 173.71z' fill-rule='evenodd'/%3e%3c/svg%3e");
685+ .tracking-tighter {
686+ --tw-tracking: var(--tracking-tighter);
687+ letter-spacing: var(--tracking-tighter);
7336688 }
7337- .radio-accent {
7338- --input-color: var(--color-accent);
689+ .text-wrap {
690+ text-wrap: wrap;
7339691 }
7340- .radio-error {
7341- --input-color: var(--color-error);
692+ .break-all {
693+ word-break: break-all;
7342694 }
7343- .radio-info {
7344- --input-color: var(--color-info);
695+ .text-black {
696+ color: var(--color-black);
7345697 }
7346- .radio-neutral {
7347- --input-color: var(--color-neutral);
698+ .text-gray-100 {
699+ color: var(--color-gray-100);
7348700 }
7349- .radio-primary {
7350- --input-color: var(--color-primary);
701+ .text-indigo-600 {
702+ color: var(--color-indigo-600);
7351703 }
7352- .radio-secondary {
7353- --input-color: var(--color-secondary);
704+ .text-indigo-800 {
705+ color: var(--color-indigo-800);
7354706 }
7355- .radio-success {
7356- --input-color: var(--color-success);
707+ .text-white {
708+ color: var(--color-white);
7357709 }
7358- .radio-warning {
7359- --input-color: var(--color-warning);
710+ .capitalize {
711+ text-transform: capitalize;
7360712 }
7361- .range-lg {
7362- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 7);
713+ .lowercase {
714+ text-transform: lowercase;
7363715 }
7364- .range-md {
7365- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
716+ .uppercase {
717+ text-transform: uppercase;
7366718 }
7367- .range-sm {
7368- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 5);
719+ .italic {
720+ font-style: italic;
7369721 }
7370- .range-xl {
7371- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 8);
722+ .line-through {
723+ text-decoration-line: line-through;
7372724 }
7373- .range-xs {
7374- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 4);
725+ .overline {
726+ text-decoration-line: overline;
7375727 }
7376- .select-accent {
7377- &, &:focus, &:focus-within {
7378- --input-color: var(--color-accent);
7379- }
728+ .underline {
729+ text-decoration-line: underline;
7380730 }
7381- .select-error {
7382- &, &:focus, &:focus-within {
7383- --input-color: var(--color-error);
7384- }
731+ .opacity-0 {
732+ opacity: 0%;
7385733 }
7386- .select-info {
7387- &, &:focus, &:focus-within {
7388- --input-color: var(--color-info);
7389- }
734+ .opacity-50 {
735+ opacity: 50%;
7390736 }
7391- .select-neutral {
7392- &, &:focus, &:focus-within {
7393- --input-color: var(--color-neutral);
7394- }
737+ .opacity-70 {
738+ opacity: 70%;
7395739 }
7396- .select-primary {
7397- &, &:focus, &:focus-within {
7398- --input-color: var(--color-primary);
7399- }
740+ .shadow {
741+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
742+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7400743 }
7401- .select-secondary {
7402- &, &:focus, &:focus-within {
7403- --input-color: var(--color-secondary);
7404- }
744+ .shadow-lg {
745+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
746+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7405747 }
7406- .select-success {
7407- &, &:focus, &:focus-within {
7408- --input-color: var(--color-success);
7409- }
748+ .shadow-md {
749+ --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
750+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7410751 }
7411- .select-warning {
7412- &, &:focus, &:focus-within {
7413- --input-color: var(--color-warning);
7414- }
752+ .shadow-xl {
753+ --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
754+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7415755 }
7416- .textarea-accent {
7417- &, &:focus, &:focus-within {
7418- --input-color: var(--color-accent);
7419- }
756+ .outline {
757+ outline-style: var(--tw-outline-style);
758+ outline-width: 1px;
7420759 }
7421- .textarea-error {
7422- &, &:focus, &:focus-within {
7423- --input-color: var(--color-error);
7424- }
760+ .blur {
761+ --tw-blur: blur(8px);
762+ filter: 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,);
7425763 }
7426- .textarea-info {
7427- &, &:focus, &:focus-within {
7428- --input-color: var(--color-info);
7429- }
764+ .drop-shadow {
765+ --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow( 0 1px 1px rgb(0 0 0 / 0.06));
766+ filter: 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,);
7430767 }
7431- .textarea-neutral {
7432- &, &:focus, &:focus-within {
7433- --input-color: var(--color-neutral);
7434- }
768+ .drop-shadow-xl {
769+ --tw-drop-shadow: drop-shadow(var(--drop-shadow-xl));
770+ filter: 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,);
7435771 }
7436- .textarea-primary {
7437- &, &:focus, &:focus-within {
7438- --input-color: var(--color-primary);
7439- }
772+ .grayscale {
773+ --tw-grayscale: grayscale(100%);
774+ filter: 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,);
7440775 }
7441- .textarea-secondary {
7442- &, &:focus, &:focus-within {
7443- --input-color: var(--color-secondary);
7444- }
776+ .invert {
777+ --tw-invert: invert(100%);
778+ filter: 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,);
7445779 }
7446- .textarea-success {
7447- &, &:focus, &:focus-within {
7448- --input-color: var(--color-success);
7449- }
780+ .sepia {
781+ --tw-sepia: sepia(100%);
782+ filter: 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,);
7450783 }
7451- .textarea-warning {
7452- &, &:focus, &:focus-within {
7453- --input-color: var(--color-warning);
7454- }
784+ .filter {
785+ filter: 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,);
7455786 }
7456- .toggle-accent {
7457- &:checked, &[aria-checked="true"] {
7458- --input-color: var(--color-accent);
7459- }
787+ .backdrop-filter {
788+ -webkit-backdrop-filter: 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,);
789+ backdrop-filter: 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,);
7460790 }
7461- .toggle-error {
7462- &:checked, &[aria-checked="true"] {
7463- --input-color: var(--color-error);
7464- }
791+ .transition {
792+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
793+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
794+ transition-duration: var(--tw-duration, var(--default-transition-duration));
7465795 }
7466- .toggle-info {
7467- &:checked, &[aria-checked="true"] {
7468- --input-color: var(--color-info);
7469- }
796+ .transition-opacity {
797+ transition-property: opacity;
798+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
799+ transition-duration: var(--tw-duration, var(--default-transition-duration));
7470800 }
7471- .toggle-neutral {
7472- &:checked, &[aria-checked="true"] {
7473- --input-color: var(--color-neutral);
7474- }
801+ .duration-300 {
802+ --tw-duration: 300ms;
803+ transition-duration: 300ms;
7475804 }
7476- .toggle-primary {
7477- &:checked, &[aria-checked="true"] {
7478- --input-color: var(--color-primary);
7479- }
805+ .ease-in {
806+ --tw-ease: var(--ease-in);
807+ transition-timing-function: var(--ease-in);
7480808 }
7481- .toggle-secondary {
7482- &:checked, &[aria-checked="true"] {
7483- --input-color: var(--color-secondary);
7484- }
809+ .ease-in-out {
810+ --tw-ease: var(--ease-in-out);
811+ transition-timing-function: var(--ease-in-out);
7485812 }
7486- .toggle-success {
7487- &:checked, &[aria-checked="true"] {
7488- --input-color: var(--color-success);
7489- }
813+ .ease-out {
814+ --tw-ease: var(--ease-out);
815+ transition-timing-function: var(--ease-out);
7490816 }
7491- .toggle-warning {
7492- &:checked, &[aria-checked="true"] {
7493- --input-color: var(--color-warning);
7494- }
817+ .\[image\:tag\] {
818+ image: tag;
7495819 }
7496820 .sm\:h-24 {
7497821 @media (width >= 40rem) {
@@ -7631,192 +955,16 @@
7631955 line-height: var(--tw-leading, var(--text-5xl--line-height));
7632956 }
7633957 }
7634-}
7635-@layer components {
7636- .btn-primary {
7637- display: flex;
7638- width: 100%;
7639- justify-content: center;
7640- border-style: var(--tw-border-style);
7641- border-width: 1px;
7642- border-color: transparent;
7643- background-color: var(--color-indigo-600);
7644- padding-inline: calc(var(--spacing) * 4);
7645- padding-block: calc(var(--spacing) * 2);
7646- font-size: var(--text-sm);
7647- line-height: var(--tw-leading, var(--text-sm--line-height));
7648- --tw-font-weight: var(--font-weight-medium);
7649- font-weight: var(--font-weight-medium);
7650- color: var(--color-white);
7651- &:hover {
7652- @media (hover: hover) {
7653- background-color: var(--color-indigo-700);
7654- }
7655- }
7656- &:focus {
7657- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);
7658- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7659- }
7660- &:focus {
7661- --tw-ring-color: var(--color-indigo-500);
7662- }
7663- &:focus {
7664- --tw-ring-offset-width: 2px;
7665- --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
7666- }
7667- &:focus {
7668- --tw-outline-style: none;
7669- outline-style: none;
7670- }
7671- }
7672- .btn-secondary {
7673- display: flex;
7674- width: 100%;
7675- justify-content: center;
7676- border-style: var(--tw-border-style);
7677- border-width: 1px;
7678- border-color: var(--color-gray-300);
7679- background-color: var(--color-white);
7680- padding-inline: calc(var(--spacing) * 4);
7681- padding-block: calc(var(--spacing) * 2);
7682- font-size: var(--text-sm);
7683- line-height: var(--tw-leading, var(--text-sm--line-height));
7684- --tw-font-weight: var(--font-weight-medium);
7685- font-weight: var(--font-weight-medium);
7686- color: var(--color-gray-700);
7687- &:hover {
7688- @media (hover: hover) {
7689- background-color: var(--color-gray-50);
7690- }
7691- }
7692- &:focus {
7693- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);
7694- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7695- }
7696- &:focus {
7697- --tw-ring-color: var(--color-indigo-500);
7698- }
7699- &:focus {
7700- --tw-ring-offset-width: 2px;
7701- --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
7702- }
7703- &:focus {
7704- --tw-outline-style: none;
7705- outline-style: none;
7706- }
7707- }
7708- .btn-danger {
7709- display: flex;
7710- width: 100%;
7711- justify-content: center;
7712- border-style: var(--tw-border-style);
7713- border-width: 1px;
7714- border-color: transparent;
7715- background-color: var(--color-red-600);
7716- padding-inline: calc(var(--spacing) * 4);
7717- padding-block: calc(var(--spacing) * 2);
7718- font-size: var(--text-sm);
7719- line-height: var(--tw-leading, var(--text-sm--line-height));
7720- --tw-font-weight: var(--font-weight-medium);
7721- font-weight: var(--font-weight-medium);
7722- color: var(--color-white);
7723- &:hover {
7724- @media (hover: hover) {
7725- background-color: var(--color-red-700);
7726- }
7727- }
7728- &:focus {
7729- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);
7730- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7731- }
7732- &:focus {
7733- --tw-ring-color: var(--color-red-500);
7734- }
7735- &:focus {
7736- --tw-ring-offset-width: 2px;
7737- --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
7738- }
7739- &:focus {
7740- --tw-outline-style: none;
7741- outline-style: none;
7742- }
7743- }
7744- .alert-error {
7745- background-color: var(--color-red-50);
7746- padding: calc(var(--spacing) * 4);
7747- @media (prefers-color-scheme: dark) {
7748- background-color: color-mix(in oklab, var(--color-red-900) 20%, transparent);
7749- }
7750- }
7751- .alert-error-icon {
7752- height: calc(var(--spacing) * 5);
7753- width: calc(var(--spacing) * 5);
7754- color: var(--color-red-400);
7755- }
7756- .alert-error-text {
7757- font-size: var(--text-sm);
7758- line-height: var(--tw-leading, var(--text-sm--line-height));
7759- --tw-font-weight: var(--font-weight-medium);
7760- font-weight: var(--font-weight-medium);
7761- color: var(--color-red-800);
7762- @media (prefers-color-scheme: dark) {
7763- color: var(--color-red-300);
7764- }
7765- }
7766- .alert-success {
7767- background-color: var(--color-green-50);
7768- padding: calc(var(--spacing) * 4);
958+ .dark\:bg-black {
7769959 @media (prefers-color-scheme: dark) {
7770- background-color: color-mix(in oklab, var(--color-green-900) 20%, transparent);
960+ background-color: var(--color-black);
7771961 }
7772962 }
7773- .alert-success-icon {
7774- height: calc(var(--spacing) * 5);
7775- width: calc(var(--spacing) * 5);
7776- color: var(--color-green-400);
7777- }
7778- .alert-success-text {
7779- font-size: var(--text-sm);
7780- line-height: var(--tw-leading, var(--text-sm--line-height));
7781- --tw-font-weight: var(--font-weight-medium);
7782- font-weight: var(--font-weight-medium);
7783- color: var(--color-green-800);
963+ .dark\:text-white {
7784964 @media (prefers-color-scheme: dark) {
7785- color: var(--color-green-300);
965+ color: var(--color-white);
7786966 }
7787967 }
7788- .card {
7789- margin-bottom: calc(var(--spacing) * 4);
7790- background-color: var(--color-white);
7791- padding: calc(var(--spacing) * 4);
7792- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
7793- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
7794- }
7795- .card-header {
7796- margin-bottom: calc(var(--spacing) * 2);
7797- font-size: var(--text-lg);
7798- line-height: var(--tw-leading, var(--text-lg--line-height));
7799- --tw-font-weight: var(--font-weight-semibold);
7800- font-weight: var(--font-weight-semibold);
7801- color: var(--color-indigo-600);
7802- }
7803- .bg-app {
7804- background-color: var(--color-indigo-50);
7805- }
7806- .bg-sidebar {
7807- background-color: var(--color-indigo-900);
7808- }
7809- .bg-card {
7810- background-color: var(--color-white);
7811- }
7812- .text-title {
7813- --tw-font-weight: var(--font-weight-semibold);
7814- font-weight: var(--font-weight-semibold);
7815- color: var(--color-indigo-600);
7816- }
7817- .text-subtitle {
7818- color: var(--color-indigo-500);
7819- }
7820968 }
7821969 @font-face {
7822970 font-family: "IBMPlexSans-Bold";
@@ -7904,258 +1052,36 @@
79041052 .JetBrainsMonoBoldNF, .iconfb {
79051053 font-family: "JetBrainsMono-Nerd-Font-Bold", sans-serif;
79061054 }
7907-@layer base {
7908- :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
7909- color-scheme: light;
7910- --color-base-100: oklch(100% 0 0);
7911- --color-base-200: oklch(98% 0 0);
7912- --color-base-300: oklch(95% 0 0);
7913- --color-base-content: oklch(21% 0.006 285.885);
7914- --color-primary: oklch(45% 0.24 277.023);
7915- --color-primary-content: oklch(93% 0.034 272.788);
7916- --color-secondary: oklch(65% 0.241 354.308);
7917- --color-secondary-content: oklch(94% 0.028 342.258);
7918- --color-accent: oklch(77% 0.152 181.912);
7919- --color-accent-content: oklch(38% 0.063 188.416);
7920- --color-neutral: oklch(14% 0.005 285.823);
7921- --color-neutral-content: oklch(92% 0.004 286.32);
7922- --color-info: oklch(74% 0.16 232.661);
7923- --color-info-content: oklch(29% 0.066 243.157);
7924- --color-success: oklch(76% 0.177 163.223);
7925- --color-success-content: oklch(37% 0.077 168.94);
7926- --color-warning: oklch(82% 0.189 84.429);
7927- --color-warning-content: oklch(41% 0.112 45.904);
7928- --color-error: oklch(71% 0.194 13.428);
7929- --color-error-content: oklch(27% 0.105 12.094);
7930- --radius-selector: 0.5rem;
7931- --radius-field: 0.25rem;
7932- --radius-box: 0.5rem;
7933- --size-selector: 0.25rem;
7934- --size-field: 0.25rem;
7935- --border: 1px;
7936- --depth: 1;
7937- --noise: 0;
7938- }
7939-}
7940-@layer base {
7941- @media (prefers-color-scheme: dark) {
7942- :root {
7943- color-scheme: dark;
7944- --color-base-100: oklch(25.33% 0.016 252.42);
7945- --color-base-200: oklch(23.26% 0.014 253.1);
7946- --color-base-300: oklch(21.15% 0.012 254.09);
7947- --color-base-content: oklch(97.807% 0.029 256.847);
7948- --color-primary: oklch(58% 0.233 277.117);
7949- --color-primary-content: oklch(96% 0.018 272.314);
7950- --color-secondary: oklch(65% 0.241 354.308);
7951- --color-secondary-content: oklch(94% 0.028 342.258);
7952- --color-accent: oklch(77% 0.152 181.912);
7953- --color-accent-content: oklch(38% 0.063 188.416);
7954- --color-neutral: oklch(14% 0.005 285.823);
7955- --color-neutral-content: oklch(92% 0.004 286.32);
7956- --color-info: oklch(74% 0.16 232.661);
7957- --color-info-content: oklch(29% 0.066 243.157);
7958- --color-success: oklch(76% 0.177 163.223);
7959- --color-success-content: oklch(37% 0.077 168.94);
7960- --color-warning: oklch(82% 0.189 84.429);
7961- --color-warning-content: oklch(41% 0.112 45.904);
7962- --color-error: oklch(71% 0.194 13.428);
7963- --color-error-content: oklch(27% 0.105 12.094);
7964- --radius-selector: 0.5rem;
7965- --radius-field: 0.25rem;
7966- --radius-box: 0.5rem;
7967- --size-selector: 0.25rem;
7968- --size-field: 0.25rem;
7969- --border: 1px;
7970- --depth: 1;
7971- --noise: 0;
7972- }
7973- }
7974-}
7975-@layer base {
7976- :root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
7977- color-scheme: light;
7978- --color-base-100: oklch(100% 0 0);
7979- --color-base-200: oklch(98% 0 0);
7980- --color-base-300: oklch(95% 0 0);
7981- --color-base-content: oklch(21% 0.006 285.885);
7982- --color-primary: oklch(45% 0.24 277.023);
7983- --color-primary-content: oklch(93% 0.034 272.788);
7984- --color-secondary: oklch(65% 0.241 354.308);
7985- --color-secondary-content: oklch(94% 0.028 342.258);
7986- --color-accent: oklch(77% 0.152 181.912);
7987- --color-accent-content: oklch(38% 0.063 188.416);
7988- --color-neutral: oklch(14% 0.005 285.823);
7989- --color-neutral-content: oklch(92% 0.004 286.32);
7990- --color-info: oklch(74% 0.16 232.661);
7991- --color-info-content: oklch(29% 0.066 243.157);
7992- --color-success: oklch(76% 0.177 163.223);
7993- --color-success-content: oklch(37% 0.077 168.94);
7994- --color-warning: oklch(82% 0.189 84.429);
7995- --color-warning-content: oklch(41% 0.112 45.904);
7996- --color-error: oklch(71% 0.194 13.428);
7997- --color-error-content: oklch(27% 0.105 12.094);
7998- --radius-selector: 0.5rem;
7999- --radius-field: 0.25rem;
8000- --radius-box: 0.5rem;
8001- --size-selector: 0.25rem;
8002- --size-field: 0.25rem;
8003- --border: 1px;
8004- --depth: 1;
8005- --noise: 0;
8006- }
8007-}
8008-@layer base {
8009- :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
8010- color-scheme: dark;
8011- --color-base-100: oklch(25.33% 0.016 252.42);
8012- --color-base-200: oklch(23.26% 0.014 253.1);
8013- --color-base-300: oklch(21.15% 0.012 254.09);
8014- --color-base-content: oklch(97.807% 0.029 256.847);
8015- --color-primary: oklch(58% 0.233 277.117);
8016- --color-primary-content: oklch(96% 0.018 272.314);
8017- --color-secondary: oklch(65% 0.241 354.308);
8018- --color-secondary-content: oklch(94% 0.028 342.258);
8019- --color-accent: oklch(77% 0.152 181.912);
8020- --color-accent-content: oklch(38% 0.063 188.416);
8021- --color-neutral: oklch(14% 0.005 285.823);
8022- --color-neutral-content: oklch(92% 0.004 286.32);
8023- --color-info: oklch(74% 0.16 232.661);
8024- --color-info-content: oklch(29% 0.066 243.157);
8025- --color-success: oklch(76% 0.177 163.223);
8026- --color-success-content: oklch(37% 0.077 168.94);
8027- --color-warning: oklch(82% 0.189 84.429);
8028- --color-warning-content: oklch(41% 0.112 45.904);
8029- --color-error: oklch(71% 0.194 13.428);
8030- --color-error-content: oklch(27% 0.105 12.094);
8031- --radius-selector: 0.5rem;
8032- --radius-field: 0.25rem;
8033- --radius-box: 0.5rem;
8034- --size-selector: 0.25rem;
8035- --size-field: 0.25rem;
8036- --border: 1px;
8037- --depth: 1;
8038- --noise: 0;
8039- }
8040-}
8041-@layer base {
8042- @property --radialprogress {
8043- syntax: "<percentage>";
8044- inherits: true;
8045- initial-value: 0%;
8046- }
8047-}
8048-@layer base {
8049- :root {
8050- scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
8051- }
8052-}
8053-@layer base {
8054- :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not([class*="drawer-open"]) > .drawer-toggle:checked ) {
8055- overflow: hidden;
8056- }
8057-}
8058-@layer base {
8059- :root,
8060-[data-theme] {
8061- background-color: var(--root-bg, var(--color-base-100));
8062- color: var(--color-base-content);
8063- }
8064-}
8065-@layer base {
8066- :root {
8067- --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
8068- }
8069- .chat {
8070- --mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");
8071- }
8072-}
8073-@layer base {
8074- :where(
8075- :root:has(
8076- .modal-open,
8077- .modal[open],
8078- .modal:target,
8079- .modal-toggle:checked,
8080- .drawer:not(.drawer-open) > .drawer-toggle:checked
8081- )
8082-) {
8083- scrollbar-gutter: stable;
8084- background-image: linear-gradient(var(--color-base-100), var(--color-base-100));
8085- --root-bg: color-mix(in srgb, var(--color-base-100), oklch(0% 0 0) 40%);
8086- }
8087-}
8088-@keyframes skeleton {
8089- 0% {
8090- background-position: 150%;
8091- }
8092- 100% {
8093- background-position: -50%;
8094- }
8095-}
8096-@keyframes progress {
8097- 50% {
8098- background-position-x: -115%;
8099- }
8100-}
8101-@keyframes radio {
8102- 0% {
8103- padding: 5px;
8104- }
8105- 50% {
8106- padding: 3px;
8107- }
8108-}
8109-@keyframes dropdown {
8110- 0% {
8111- opacity: 0;
8112- }
8113-}
8114-@keyframes rating {
8115- 0%, 40% {
8116- scale: 1.1;
8117- filter: brightness(1.05) contrast(1.05);
8118- }
8119-}
8120-@keyframes toast {
8121- 0% {
8122- scale: 0.9;
8123- opacity: 0;
8124- }
8125- 100% {
8126- scale: 1;
8127- opacity: 1;
8128- }
8129-}
81301055 @layer base {
81311056 @media (prefers-color-scheme: dark) {
81321057 :root {
81331058 color-scheme: dark;
8134- --color-base-100: oklch(28% 0.091 267.935);
8135- --color-base-200: oklch(13% 0.028 261.692);
8136- --color-base-300: oklch(20% 0.042 265.755);
8137- --color-base-content: oklch(93% 0.034 272.788);
8138- --color-primary: oklch(87% 0 0);
8139- --color-primary-content: oklch(14% 0 0);
8140- --color-secondary: oklch(80% 0.105 251.813);
8141- --color-secondary-content: oklch(28% 0.091 267.935);
8142- --color-accent: oklch(80% 0.105 251.813);
8143- --color-accent-content: oklch(28% 0.091 267.935);
8144- --color-neutral: oklch(37% 0.034 259.733);
8145- --color-neutral-content: oklch(98% 0.002 247.839);
1059+ --color-base-100: oklch(14% 0 0);
1060+ --color-base-200: oklch(21% 0.006 285.885);
1061+ --color-base-250: oklch(21% 0.006 285.885);
1062+ --color-base-300: oklch(26% 0 0);
1063+ --color-base-content: oklch(97% 0.001 106.424);
1064+ --color-primary: oklch(44% 0.043 257.281);
1065+ --color-primary-content: oklch(98% 0.003 247.858);
1066+ --color-secondary: oklch(66% 0.179 58.318);
1067+ --color-secondary-content: oklch(98% 0.022 95.277);
1068+ --color-accent: oklch(60% 0.118 184.704);
1069+ --color-accent-content: oklch(98% 0.014 180.72);
1070+ --color-neutral: oklch(42% 0.199 265.638);
1071+ --color-neutral-content: oklch(98% 0.001 106.423);
81461072 --color-info: oklch(68% 0.169 237.323);
81471073 --color-info-content: oklch(97% 0.013 236.62);
8148- --color-success: oklch(70% 0.14 182.503);
8149- --color-success-content: oklch(98% 0.014 180.72);
8150- --color-warning: oklch(76% 0.188 70.08);
8151- --color-warning-content: oklch(98% 0.022 95.277);
1074+ --color-success: oklch(69% 0.17 162.48);
1075+ --color-success-content: oklch(97% 0.021 166.113);
1076+ --color-warning: oklch(70% 0.213 47.604);
1077+ --color-warning-content: oklch(98% 0.016 73.684);
81521078 --color-error: oklch(64% 0.246 16.439);
81531079 --color-error-content: oklch(96% 0.015 12.422);
8154- --radius-selector: 0rem;
8155- --radius-field: 0rem;
8156- --radius-box: 0rem;
1080+ --radius-selector: 1rem;
1081+ --radius-field: 0.5rem;
1082+ --radius-box: 1rem;
81571083 --size-selector: 0.25rem;
8158- --size-field: 0.25rem;
1084+ --size-field: 0.21875rem;
81591085 --border: 1px;
81601086 --depth: 0;
81611087 --noise: 0;
@@ -8165,31 +1091,32 @@
81651091 @layer base {
81661092 :where(:root),:root:has(input.theme-controller[value=gordon-dark]:checked),[data-theme="gordon-dark"] {
81671093 color-scheme: dark;
8168- --color-base-100: oklch(28% 0.091 267.935);
8169- --color-base-200: oklch(13% 0.028 261.692);
8170- --color-base-300: oklch(20% 0.042 265.755);
8171- --color-base-content: oklch(93% 0.034 272.788);
8172- --color-primary: oklch(87% 0 0);
8173- --color-primary-content: oklch(14% 0 0);
8174- --color-secondary: oklch(80% 0.105 251.813);
8175- --color-secondary-content: oklch(28% 0.091 267.935);
8176- --color-accent: oklch(80% 0.105 251.813);
8177- --color-accent-content: oklch(28% 0.091 267.935);
8178- --color-neutral: oklch(37% 0.034 259.733);
8179- --color-neutral-content: oklch(98% 0.002 247.839);
1094+ --color-base-100: oklch(14% 0 0);
1095+ --color-base-200: oklch(21% 0.006 285.885);
1096+ --color-base-250: oklch(21% 0.006 285.885);
1097+ --color-base-300: oklch(26% 0 0);
1098+ --color-base-content: oklch(97% 0.001 106.424);
1099+ --color-primary: oklch(44% 0.043 257.281);
1100+ --color-primary-content: oklch(98% 0.003 247.858);
1101+ --color-secondary: oklch(66% 0.179 58.318);
1102+ --color-secondary-content: oklch(98% 0.022 95.277);
1103+ --color-accent: oklch(60% 0.118 184.704);
1104+ --color-accent-content: oklch(98% 0.014 180.72);
1105+ --color-neutral: oklch(42% 0.199 265.638);
1106+ --color-neutral-content: oklch(98% 0.001 106.423);
81801107 --color-info: oklch(68% 0.169 237.323);
81811108 --color-info-content: oklch(97% 0.013 236.62);
8182- --color-success: oklch(70% 0.14 182.503);
8183- --color-success-content: oklch(98% 0.014 180.72);
8184- --color-warning: oklch(76% 0.188 70.08);
8185- --color-warning-content: oklch(98% 0.022 95.277);
1109+ --color-success: oklch(69% 0.17 162.48);
1110+ --color-success-content: oklch(97% 0.021 166.113);
1111+ --color-warning: oklch(70% 0.213 47.604);
1112+ --color-warning-content: oklch(98% 0.016 73.684);
81861113 --color-error: oklch(64% 0.246 16.439);
81871114 --color-error-content: oklch(96% 0.015 12.422);
8188- --radius-selector: 0rem;
8189- --radius-field: 0rem;
8190- --radius-box: 0rem;
1115+ --radius-selector: 1rem;
1116+ --radius-field: 0.5rem;
1117+ --radius-box: 1rem;
81911118 --size-selector: 0.25rem;
8192- --size-field: 0.25rem;
1119+ --size-field: 0.21875rem;
81931120 --border: 1px;
81941121 --depth: 0;
81951122 --noise: 0;
A node_modules/.bin/cssesc +1 -0 generated file: collapsed
A node_modules/.bin/glob +1 -0 generated file: collapsed
A node_modules/.bin/jiti +1 -0 generated file: collapsed
A node_modules/.bin/nanoid +1 -0 generated file: collapsed
A node_modules/.bin/node-which +1 -0 generated file: collapsed
A node_modules/.bin/prettier +1 -0 generated file: collapsed
A node_modules/.bin/resolve +1 -0 generated file: collapsed
A node_modules/.bin/sucrase +1 -0 generated file: collapsed
A node_modules/.bin/sucrase-node +1 -0 generated file: collapsed
A node_modules/.bin/tailwind +1 -0 generated file: collapsed
A node_modules/.bin/yaml +1 -0 generated file: collapsed
A node_modules/.svelte2tsx-language-server-files/svelte-native-jsx.d.ts +32 -0 generated file: collapsed
A node_modules/.svelte2tsx-language-server-files/svelte-shims-v4.d.ts +287 -0 generated file: collapsed
A node_modules/@alloc/quick-lru/index.d.ts +128 -0 generated file: collapsed
A node_modules/@alloc/quick-lru/index.js +263 -0 generated file: collapsed
A node_modules/@alloc/quick-lru/license +9 -0 generated file: collapsed
A node_modules/@alloc/quick-lru/package.json +43 -0 generated file: collapsed
A node_modules/@alloc/quick-lru/readme.md +139 -0 generated file: collapsed
A node_modules/@isaacs/cliui/README.md +143 -0 generated file: collapsed
A node_modules/@isaacs/cliui/build/index.cjs +317 -0 generated file: collapsed
A node_modules/@isaacs/cliui/build/index.d.cts +43 -0 generated file: collapsed
A node_modules/@isaacs/cliui/build/lib/index.js +302 -0 generated file: collapsed
A node_modules/@isaacs/cliui/index.mjs +14 -0 generated file: collapsed
A node_modules/@isaacs/cliui/package.json +86 -0 generated file: collapsed
A node_modules/@jridgewell/gen-mapping/LICENSE +19 -0 generated file: collapsed
A node_modules/@jridgewell/gen-mapping/README.md +227 -0 generated file: collapsed
A node_modules/@jridgewell/gen-mapping/package.json +76 -0 generated file: collapsed
A node_modules/@jridgewell/resolve-uri/LICENSE +19 -0 generated file: collapsed
A node_modules/@jridgewell/resolve-uri/README.md +40 -0 generated file: collapsed
A node_modules/@jridgewell/resolve-uri/package.json +69 -0 generated file: collapsed
A node_modules/@jridgewell/set-array/LICENSE +19 -0 generated file: collapsed
A node_modules/@jridgewell/set-array/README.md +37 -0 generated file: collapsed
A node_modules/@jridgewell/set-array/package.json +65 -0 generated file: collapsed
A node_modules/@jridgewell/sourcemap-codec/LICENSE +21 -0 generated file: collapsed
A node_modules/@jridgewell/sourcemap-codec/README.md +264 -0 generated file: collapsed
A node_modules/@jridgewell/sourcemap-codec/package.json +75 -0 generated file: collapsed
A node_modules/@jridgewell/trace-mapping/LICENSE +19 -0 generated file: collapsed
A node_modules/@jridgewell/trace-mapping/README.md +257 -0 generated file: collapsed
A node_modules/@jridgewell/trace-mapping/package.json +77 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/LICENSE +21 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/README.md +171 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/constants.js +17 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/index.js +26 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/settings.js +24 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0 generated file: collapsed
A node_modules/@nodelib/fs.scandir/package.json +44 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/LICENSE +21 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/README.md +126 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/index.js +26 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/settings.js +16 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/out/types/index.js +2 -0 generated file: collapsed
A node_modules/@nodelib/fs.stat/package.json +37 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/LICENSE +21 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/README.md +215 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/index.js +34 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/settings.js +26 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/out/types/index.js +2 -0 generated file: collapsed
A node_modules/@nodelib/fs.walk/package.json +44 -0 generated file: collapsed
A node_modules/@parcel/watcher-linux-x64-glibc/LICENSE +21 -0 generated file: collapsed
A node_modules/@parcel/watcher-linux-x64-glibc/README.md +1 -0 generated file: collapsed
A node_modules/@parcel/watcher-linux-x64-glibc/package.json +33 -0 generated file: collapsed
A node_modules/@parcel/watcher-linux-x64-glibc/watcher.node +0 -0 binary file: no text diff

binary file: no text diff

A node_modules/@parcel/watcher-linux-x64-musl/LICENSE +21 -0 generated file: collapsed
A node_modules/@parcel/watcher-linux-x64-musl/README.md +1 -0 generated file: collapsed
A node_modules/@parcel/watcher-linux-x64-musl/package.json +33 -0 generated file: collapsed
A node_modules/@parcel/watcher-linux-x64-musl/watcher.node +0 -0 binary file: no text diff

binary file: no text diff

A node_modules/@parcel/watcher/LICENSE +21 -0 generated file: collapsed
A node_modules/@parcel/watcher/README.md +135 -0 generated file: collapsed
A node_modules/@parcel/watcher/binding.gyp +93 -0 generated file: collapsed
A node_modules/@parcel/watcher/index.d.ts +49 -0 generated file: collapsed
A node_modules/@parcel/watcher/index.js +41 -0 generated file: collapsed
A node_modules/@parcel/watcher/index.js.flow +48 -0 generated file: collapsed
A node_modules/@parcel/watcher/node_modules/.bin/detect-libc +1 -0 generated file: collapsed
A node_modules/@parcel/watcher/node_modules/detect-libc/.npmignore +7 -0 generated file: collapsed
A node_modules/@parcel/watcher/node_modules/detect-libc/LICENSE +201 -0 generated file: collapsed
A node_modules/@parcel/watcher/node_modules/detect-libc/README.md +78 -0 generated file: collapsed
A node_modules/@parcel/watcher/node_modules/detect-libc/bin/detect-libc.js +18 -0 generated file: collapsed
A node_modules/@parcel/watcher/node_modules/detect-libc/lib/detect-libc.js +92 -0 generated file: collapsed
A node_modules/@parcel/watcher/node_modules/detect-libc/package.json +35 -0 generated file: collapsed
A node_modules/@parcel/watcher/package.json +88 -0 generated file: collapsed
A node_modules/@parcel/watcher/scripts/build-from-source.js +13 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Backend.cc +182 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Backend.hh +37 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Debounce.cc +113 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Debounce.hh +49 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/DirTree.cc +152 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/DirTree.hh +50 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Event.hh +109 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Glob.cc +22 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Glob.hh +34 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/PromiseRunner.hh +101 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Signal.hh +46 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Watcher.cc +237 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/Watcher.hh +73 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/binding.cc +268 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/kqueue/KqueueBackend.cc +306 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/kqueue/KqueueBackend.hh +35 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/linux/InotifyBackend.cc +232 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/linux/InotifyBackend.hh +34 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/macos/FSEventsBackend.cc +338 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/macos/FSEventsBackend.hh +20 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/shared/BruteForceBackend.cc +41 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/shared/BruteForceBackend.hh +25 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/unix/fts.cc +50 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/unix/legacy.cc +77 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/wasm/WasmBackend.cc +132 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/wasm/WasmBackend.hh +34 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/wasm/include.h +74 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/watchman/BSER.cc +302 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/watchman/BSER.hh +69 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/watchman/IPC.hh +175 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/watchman/WatchmanBackend.cc +338 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/watchman/WatchmanBackend.hh +35 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/windows/WindowsBackend.cc +282 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/windows/WindowsBackend.hh +18 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/windows/win_utils.cc +44 -0 generated file: collapsed
A node_modules/@parcel/watcher/src/windows/win_utils.hh +11 -0 generated file: collapsed
A node_modules/@parcel/watcher/wrapper.js +77 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/.editorconfig +14 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/CHANGELOG.md +147 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/LICENSE +201 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/README.md +413 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/examples/is-default-value.js +25 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js +35 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/examples/negate.js +43 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/examples/no-repeated-options.js +31 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/examples/ordered-options.mjs +41 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js +26 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/index.js +396 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/internal/errors.js +47 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/internal/primordials.js +393 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/internal/util.js +14 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/internal/validators.js +89 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/package.json +36 -0 generated file: collapsed
A node_modules/@pkgjs/parseargs/utils.js +198 -0 generated file: collapsed
A node_modules/@tailwindcss/cli/LICENSE +21 -0 generated file: collapsed
A node_modules/@tailwindcss/cli/README.md +40 -0 generated file: collapsed
A node_modules/@tailwindcss/cli/package.json +41 -0 generated file: collapsed
A node_modules/@tailwindcss/node/LICENSE +21 -0 generated file: collapsed
A node_modules/@tailwindcss/node/README.md +40 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/.bin/jiti +1 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/LICENSE +21 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/README.md +235 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti-cli.mjs +34 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti-hooks.mjs +117 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti-native.mjs +121 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti-register.d.mts +1 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti-register.mjs +4 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti.cjs +23 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti.d.cts +8 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti.d.mts +8 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/jiti.mjs +22 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/lib/types.d.ts +260 -0 generated file: collapsed
A node_modules/@tailwindcss/node/node_modules/jiti/package.json +134 -0 generated file: collapsed
A node_modules/@tailwindcss/node/package.json +44 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide-linux-x64-gnu/LICENSE +21 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide-linux-x64-gnu/README.md +3 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide-linux-x64-gnu/package.json +30 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide-linux-x64-gnu/tailwindcss-oxide.linux-x64-gnu.node +0 -0 binary file: no text diff

binary file: no text diff

A node_modules/@tailwindcss/oxide-linux-x64-musl/LICENSE +21 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide-linux-x64-musl/README.md +3 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide-linux-x64-musl/package.json +30 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide-linux-x64-musl/tailwindcss-oxide.linux-x64-musl.node +0 -0 binary file: no text diff

binary file: no text diff

A node_modules/@tailwindcss/oxide/LICENSE +21 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide/index.d.ts +37 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide/index.js +315 -0 generated file: collapsed
A node_modules/@tailwindcss/oxide/package.json +63 -0 generated file: collapsed
A node_modules/@tailwindcss/postcss/LICENSE +21 -0 generated file: collapsed
A node_modules/@tailwindcss/postcss/README.md +40 -0 generated file: collapsed
A node_modules/@tailwindcss/postcss/package.json +47 -0 generated file: collapsed
A node_modules/ansi-regex/index.d.ts +33 -0 generated file: collapsed
A node_modules/ansi-regex/index.js +10 -0 generated file: collapsed
A node_modules/ansi-regex/license +9 -0 generated file: collapsed
A node_modules/ansi-regex/package.json +61 -0 generated file: collapsed
A node_modules/ansi-regex/readme.md +60 -0 generated file: collapsed
A node_modules/ansi-styles/index.d.ts +236 -0 generated file: collapsed
A node_modules/ansi-styles/index.js +223 -0 generated file: collapsed
A node_modules/ansi-styles/license +9 -0 generated file: collapsed
A node_modules/ansi-styles/package.json +54 -0 generated file: collapsed
A node_modules/ansi-styles/readme.md +173 -0 generated file: collapsed
A node_modules/any-promise/.jshintrc +4 -0 generated file: collapsed
A node_modules/any-promise/.npmignore +7 -0 generated file: collapsed
A node_modules/any-promise/LICENSE +19 -0 generated file: collapsed
A node_modules/any-promise/README.md +161 -0 generated file: collapsed
A node_modules/any-promise/implementation.d.ts +3 -0 generated file: collapsed
A node_modules/any-promise/implementation.js +1 -0 generated file: collapsed
A node_modules/any-promise/index.d.ts +73 -0 generated file: collapsed
A node_modules/any-promise/index.js +1 -0 generated file: collapsed
A node_modules/any-promise/loader.js +78 -0 generated file: collapsed
A node_modules/any-promise/optional.js +6 -0 generated file: collapsed
A node_modules/any-promise/package.json +45 -0 generated file: collapsed
A node_modules/any-promise/register-shim.js +18 -0 generated file: collapsed
A node_modules/any-promise/register.d.ts +17 -0 generated file: collapsed
A node_modules/any-promise/register.js +94 -0 generated file: collapsed
A node_modules/any-promise/register/bluebird.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/bluebird.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/es6-promise.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/es6-promise.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/lie.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/lie.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/native-promise-only.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/native-promise-only.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/pinkie.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/pinkie.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/promise.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/promise.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/q.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/q.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/rsvp.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/rsvp.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/vow.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/vow.js +2 -0 generated file: collapsed
A node_modules/any-promise/register/when.d.ts +1 -0 generated file: collapsed
A node_modules/any-promise/register/when.js +2 -0 generated file: collapsed
A node_modules/anymatch/LICENSE +15 -0 generated file: collapsed
A node_modules/anymatch/README.md +87 -0 generated file: collapsed
A node_modules/anymatch/index.d.ts +20 -0 generated file: collapsed
A node_modules/anymatch/index.js +104 -0 generated file: collapsed
A node_modules/anymatch/package.json +48 -0 generated file: collapsed
A node_modules/arg/LICENSE.md +21 -0 generated file: collapsed
A node_modules/arg/README.md +317 -0 generated file: collapsed
A node_modules/arg/index.d.ts +44 -0 generated file: collapsed
A node_modules/arg/index.js +195 -0 generated file: collapsed
A node_modules/arg/package.json +28 -0 collapsed to keep the page light
A node_modules/balanced-match/.github/FUNDING.yml +2 -0 collapsed to keep the page light
A node_modules/balanced-match/LICENSE.md +21 -0 collapsed to keep the page light
A node_modules/balanced-match/README.md +97 -0 collapsed to keep the page light
A node_modules/balanced-match/index.js +62 -0 collapsed to keep the page light
A node_modules/balanced-match/package.json +48 -0 collapsed to keep the page light
A node_modules/binary-extensions/binary-extensions.json +263 -0 collapsed to keep the page light
A node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0 collapsed to keep the page light
A node_modules/binary-extensions/index.d.ts +14 -0 collapsed to keep the page light
A node_modules/binary-extensions/index.js +1 -0 collapsed to keep the page light
A node_modules/binary-extensions/license +10 -0 collapsed to keep the page light
A node_modules/binary-extensions/package.json +40 -0 collapsed to keep the page light
A node_modules/binary-extensions/readme.md +25 -0 collapsed to keep the page light
A node_modules/brace-expansion/.github/FUNDING.yml +2 -0 collapsed to keep the page light
A node_modules/brace-expansion/LICENSE +21 -0 collapsed to keep the page light
A node_modules/brace-expansion/README.md +135 -0 collapsed to keep the page light
A node_modules/brace-expansion/index.js +203 -0 collapsed to keep the page light
A node_modules/brace-expansion/package.json +46 -0 collapsed to keep the page light
A node_modules/braces/LICENSE +21 -0 collapsed to keep the page light
A node_modules/braces/README.md +586 -0 collapsed to keep the page light
A node_modules/braces/index.js +170 -0 collapsed to keep the page light
A node_modules/braces/lib/compile.js +60 -0 collapsed to keep the page light
A node_modules/braces/lib/constants.js +57 -0 collapsed to keep the page light
A node_modules/braces/lib/expand.js +113 -0 collapsed to keep the page light
A node_modules/braces/lib/parse.js +331 -0 collapsed to keep the page light
A node_modules/braces/lib/stringify.js +32 -0 collapsed to keep the page light
A node_modules/braces/lib/utils.js +122 -0 collapsed to keep the page light
A node_modules/braces/package.json +77 -0 collapsed to keep the page light
A node_modules/camelcase-css/README.md +27 -0 collapsed to keep the page light
A node_modules/camelcase-css/index-es5.js +24 -0 collapsed to keep the page light
A node_modules/camelcase-css/index.js +30 -0 collapsed to keep the page light
A node_modules/camelcase-css/license +21 -0 collapsed to keep the page light
A node_modules/camelcase-css/package.json +34 -0 collapsed to keep the page light
A node_modules/caniuse-lite/LICENSE +395 -0 collapsed to keep the page light
A node_modules/caniuse-lite/README.md +6 -0 collapsed to keep the page light
A node_modules/caniuse-lite/package.json +34 -0 collapsed to keep the page light
A node_modules/chokidar/LICENSE +21 -0 collapsed to keep the page light
A node_modules/chokidar/README.md +308 -0 collapsed to keep the page light
A node_modules/chokidar/index.js +973 -0 collapsed to keep the page light
A node_modules/chokidar/lib/constants.js +66 -0 collapsed to keep the page light
A node_modules/chokidar/lib/fsevents-handler.js +526 -0 collapsed to keep the page light
A node_modules/chokidar/lib/nodefs-handler.js +654 -0 collapsed to keep the page light
A node_modules/chokidar/node_modules/glob-parent/CHANGELOG.md +110 -0 collapsed to keep the page light
A node_modules/chokidar/node_modules/glob-parent/LICENSE +15 -0 collapsed to keep the page light
A node_modules/chokidar/node_modules/glob-parent/README.md +137 -0 collapsed to keep the page light
A node_modules/chokidar/node_modules/glob-parent/index.js +42 -0 collapsed to keep the page light
A node_modules/chokidar/node_modules/glob-parent/package.json +48 -0 collapsed to keep the page light
A node_modules/chokidar/package.json +70 -0 collapsed to keep the page light
A node_modules/chokidar/types/index.d.ts +192 -0 collapsed to keep the page light
A node_modules/color-convert/CHANGELOG.md +54 -0 collapsed to keep the page light
A node_modules/color-convert/LICENSE +21 -0 collapsed to keep the page light
A node_modules/color-convert/README.md +68 -0 collapsed to keep the page light
A node_modules/color-convert/conversions.js +839 -0 collapsed to keep the page light
A node_modules/color-convert/index.js +81 -0 collapsed to keep the page light
A node_modules/color-convert/package.json +48 -0 collapsed to keep the page light
A node_modules/color-convert/route.js +97 -0 collapsed to keep the page light
A node_modules/color-name/LICENSE +8 -0 collapsed to keep the page light
A node_modules/color-name/README.md +11 -0 collapsed to keep the page light
A node_modules/color-name/index.js +152 -0 collapsed to keep the page light
A node_modules/color-name/package.json +28 -0 collapsed to keep the page light
A node_modules/commander/CHANGELOG.md +436 -0 collapsed to keep the page light
A node_modules/commander/LICENSE +22 -0 collapsed to keep the page light
A node_modules/commander/Readme.md +713 -0 collapsed to keep the page light
A node_modules/commander/index.js +1649 -0 collapsed to keep the page light
A node_modules/commander/package.json +41 -0 collapsed to keep the page light
A node_modules/commander/typings/index.d.ts +311 -0 collapsed to keep the page light
A node_modules/cross-spawn/CHANGELOG.md +130 -0 collapsed to keep the page light
A node_modules/cross-spawn/LICENSE +21 -0 collapsed to keep the page light
A node_modules/cross-spawn/README.md +96 -0 collapsed to keep the page light
A node_modules/cross-spawn/index.js +39 -0 collapsed to keep the page light
A node_modules/cross-spawn/lib/enoent.js +59 -0 collapsed to keep the page light
A node_modules/cross-spawn/lib/parse.js +91 -0 collapsed to keep the page light
A node_modules/cross-spawn/lib/util/escape.js +45 -0 collapsed to keep the page light
A node_modules/cross-spawn/lib/util/readShebang.js +23 -0 collapsed to keep the page light
A node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0 collapsed to keep the page light
A node_modules/cross-spawn/package.json +73 -0 collapsed to keep the page light
A node_modules/cssesc/README.md +201 -0 collapsed to keep the page light
A node_modules/cssesc/bin/cssesc +116 -0 collapsed to keep the page light
A node_modules/cssesc/cssesc.js +110 -0 collapsed to keep the page light
A node_modules/cssesc/man/cssesc.1 +70 -0 collapsed to keep the page light
A node_modules/cssesc/package.json +51 -0 collapsed to keep the page light
A node_modules/daisyui/LICENSE +21 -0 collapsed to keep the page light
A node_modules/daisyui/README.md +37 -0 collapsed to keep the page light
A node_modules/daisyui/base/properties.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/properties/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/base/properties/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/reset.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootcolor.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootcolor/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootcolor/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootscrollgutter.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootscrollgutter/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootscrollgutter/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootscrolllock.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootscrolllock/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/base/rootscrolllock/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/scrollbar.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/scrollbar/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/base/scrollbar/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/svg.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/base/svg/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/base/svg/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/chunks.css +73 -0 collapsed to keep the page light
A node_modules/daisyui/colors/properties-extended.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/colors/properties.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/colors/responsive-extended.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/colors/responsive.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/colors/states-extended.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/colors/states.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/alert.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/alert/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/alert/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/avatar.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/avatar/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/avatar/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/badge.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/badge/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/badge/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/breadcrumbs.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/breadcrumbs/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/breadcrumbs/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/button.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/button/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/button/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/calendar.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/calendar/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/calendar/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/card.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/card/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/card/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/carousel.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/carousel/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/carousel/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/chat.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/chat/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/chat/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/checkbox.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/checkbox/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/checkbox/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/collapse.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/collapse/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/collapse/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/countdown.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/countdown/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/countdown/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/diff.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/diff/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/diff/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/divider.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/divider/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/divider/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/dock.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/dock/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/dock/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/drawer.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/drawer/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/drawer/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/dropdown.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/dropdown/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/dropdown/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/fieldset.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/fieldset/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/fieldset/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/fileinput.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/fileinput/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/fileinput/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/filter.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/filter/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/filter/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/footer.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/footer/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/footer/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/hero.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/hero/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/hero/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/indicator.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/indicator/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/indicator/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/input.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/input/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/input/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/kbd.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/kbd/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/kbd/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/label.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/label/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/label/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/link.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/link/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/link/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/list.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/list/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/list/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/loading.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/loading/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/loading/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/mask.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/mask/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/mask/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/menu.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/menu/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/menu/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/mockup.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/mockup/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/mockup/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/modal.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/modal/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/modal/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/navbar.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/navbar/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/navbar/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/progress.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/progress/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/progress/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/radialprogress.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/radialprogress/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/radialprogress/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/radio.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/radio/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/radio/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/range.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/range/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/range/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/rating.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/rating/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/rating/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/select.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/select/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/select/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/skeleton.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/skeleton/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/skeleton/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/stack.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/stack/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/stack/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/stat.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/stat/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/stat/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/status.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/status/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/status/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/steps.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/steps/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/steps/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/swap.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/swap/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/swap/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/tab.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/tab/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/tab/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/table.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/table/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/table/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/textarea.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/textarea/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/textarea/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/timeline.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/timeline/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/timeline/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/toast.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/toast/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/toast/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/toggle.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/toggle/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/toggle/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/tooltip.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/tooltip/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/tooltip/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/validator.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/components/validator/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/components/validator/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/daisyui.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/functions/addPrefix.js +156 -0 collapsed to keep the page light
A node_modules/daisyui/functions/plugin.js +11 -0 collapsed to keep the page light
A node_modules/daisyui/functions/pluginOptionsHandler.js +86 -0 collapsed to keep the page light
A node_modules/daisyui/functions/themeOrder.js +37 -0 collapsed to keep the page light
A node_modules/daisyui/functions/variables.js +29 -0 collapsed to keep the page light
A node_modules/daisyui/imports.js +68 -0 collapsed to keep the page light
A node_modules/daisyui/index.js +51 -0 collapsed to keep the page light
A node_modules/daisyui/package.json +72 -0 collapsed to keep the page light
A node_modules/daisyui/theme/abyss.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/abyss/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/abyss/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/acid.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/acid/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/acid/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/aqua.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/aqua/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/aqua/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/autumn.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/autumn/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/autumn/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/black.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/black/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/black/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/bumblebee.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/bumblebee/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/bumblebee/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/business.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/business/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/business/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/caramellatte.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/caramellatte/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/caramellatte/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cmyk.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cmyk/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cmyk/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/coffee.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/coffee/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/coffee/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/corporate.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/corporate/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/corporate/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cupcake.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cupcake/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cupcake/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cyberpunk.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cyberpunk/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/cyberpunk/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dark.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dark/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dark/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dim.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dim/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dim/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dracula.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dracula/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/dracula/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/emerald.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/emerald/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/emerald/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/fantasy.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/fantasy/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/fantasy/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/forest.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/forest/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/forest/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/garden.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/garden/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/garden/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/halloween.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/halloween/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/halloween/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/index.js +48 -0 collapsed to keep the page light
A node_modules/daisyui/theme/lemonade.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/lemonade/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/lemonade/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/light.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/light/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/light/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/lofi.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/lofi/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/lofi/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/luxury.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/luxury/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/luxury/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/night.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/night/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/night/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/nord.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/nord/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/nord/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/object.d.ts +74 -0 collapsed to keep the page light
A node_modules/daisyui/theme/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/pastel.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/pastel/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/pastel/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/retro.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/retro/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/retro/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/silk.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/silk/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/silk/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/sunset.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/sunset/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/sunset/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/synthwave.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/synthwave/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/synthwave/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/valentine.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/valentine/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/valentine/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/winter.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/winter/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/winter/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/theme/wireframe.css +31 -0 collapsed to keep the page light
A node_modules/daisyui/theme/wireframe/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/theme/wireframe/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/themes.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/glass.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/glass/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/glass/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/join.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/join/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/join/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/radius.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/radius/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/radius/object.js +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/typography.css +1 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/typography/index.js +7 -0 collapsed to keep the page light
A node_modules/daisyui/utilities/typography/object.js +1 -0 collapsed to keep the page light
A node_modules/detect-libc/LICENSE +201 -0 collapsed to keep the page light
A node_modules/detect-libc/README.md +163 -0 collapsed to keep the page light
A node_modules/detect-libc/index.d.ts +14 -0 collapsed to keep the page light
A node_modules/detect-libc/lib/detect-libc.js +267 -0 collapsed to keep the page light
A node_modules/detect-libc/lib/filesystem.js +41 -0 collapsed to keep the page light
A node_modules/detect-libc/lib/process.js +24 -0 collapsed to keep the page light
A node_modules/detect-libc/package.json +40 -0 collapsed to keep the page light
A node_modules/didyoumean/LICENSE +14 -0 collapsed to keep the page light
A node_modules/didyoumean/README.md +134 -0 collapsed to keep the page light
A node_modules/didyoumean/didYouMean-1.2.1.js +274 -0 collapsed to keep the page light
A node_modules/didyoumean/didYouMean-1.2.1.min.js +17 -0 collapsed to keep the page light
A node_modules/didyoumean/package.json +27 -0 collapsed to keep the page light
A node_modules/dlv/README.md +76 -0 collapsed to keep the page light
A node_modules/dlv/index.js +7 -0 collapsed to keep the page light
A node_modules/dlv/package.json +30 -0 collapsed to keep the page light
A node_modules/dotenv/CHANGELOG.md +488 -0 collapsed to keep the page light
A node_modules/dotenv/LICENSE +23 -0 collapsed to keep the page light
A node_modules/dotenv/README-es.md +448 -0 collapsed to keep the page light
A node_modules/dotenv/README.md +651 -0 collapsed to keep the page light
A node_modules/dotenv/config.d.ts +1 -0 collapsed to keep the page light
A node_modules/dotenv/config.js +9 -0 collapsed to keep the page light
A node_modules/dotenv/lib/cli-options.js +11 -0 collapsed to keep the page light
A node_modules/dotenv/lib/env-options.js +24 -0 collapsed to keep the page light
A node_modules/dotenv/lib/main.d.ts +153 -0 collapsed to keep the page light
A node_modules/dotenv/lib/main.js +361 -0 collapsed to keep the page light
A node_modules/dotenv/package.json +61 -0 collapsed to keep the page light
A node_modules/eastasianwidth/README.md +32 -0 collapsed to keep the page light
A node_modules/eastasianwidth/eastasianwidth.js +311 -0 collapsed to keep the page light
A node_modules/eastasianwidth/package.json +18 -0 collapsed to keep the page light
A node_modules/emoji-regex/README.md +137 -0 collapsed to keep the page light
A node_modules/emoji-regex/RGI_Emoji.d.ts +5 -0 collapsed to keep the page light
A node_modules/emoji-regex/RGI_Emoji.js +6 -0 collapsed to keep the page light
A node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +5 -0 collapsed to keep the page light
A node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0 collapsed to keep the page light
A node_modules/emoji-regex/es2015/index.d.ts +5 -0 collapsed to keep the page light
A node_modules/emoji-regex/es2015/index.js +6 -0 collapsed to keep the page light
A node_modules/emoji-regex/es2015/text.d.ts +5 -0 collapsed to keep the page light
A node_modules/emoji-regex/es2015/text.js +6 -0 collapsed to keep the page light
A node_modules/emoji-regex/index.d.ts +5 -0 collapsed to keep the page light
A node_modules/emoji-regex/index.js +6 -0 collapsed to keep the page light
A node_modules/emoji-regex/package.json +52 -0 collapsed to keep the page light
A node_modules/emoji-regex/text.d.ts +5 -0 collapsed to keep the page light
A node_modules/emoji-regex/text.js +6 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/LICENSE +20 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/README.md +183 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/AliasFieldPlugin.js +108 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/AliasPlugin.js +183 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/AppendPlugin.js +49 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/CachedInputFileSystem.js +664 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js +53 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ConditionalPlugin.js +59 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js +98 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/DescriptionFileUtils.js +201 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js +63 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js +200 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js +101 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/FileExistsPlugin.js +58 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js +223 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js +75 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/JoinRequestPlugin.js +45 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/LogInfoPlugin.js +54 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/MainFieldPlugin.js +90 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js +9 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js +87 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js +49 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/NextPlugin.js +33 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ParsePlugin.js +76 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/PnpPlugin.js +133 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/Resolver.js +800 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ResolverFactory.js +728 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/RestrictionsPlugin.js +70 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/ResultPlugin.js +42 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/RootsPlugin.js +69 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/SelfReferencePlugin.js +82 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/SymlinkPlugin.js +100 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js +220 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/TryNextPlugin.js +41 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js +112 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/UseFilePlugin.js +55 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/createInnerContext.js +46 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/forEachBail.js +50 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/getInnerRequest.js +36 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/getPaths.js +45 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/index.js +203 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/util/entrypoints.js +573 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/util/identifier.js +69 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/util/module-browser.js +8 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/util/path.js +203 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/lib/util/process-browser.js +22 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/package.json +72 -0 collapsed to keep the page light
A node_modules/enhanced-resolve/types.d.ts +1135 -0 collapsed to keep the page light
A node_modules/fast-glob/LICENSE +21 -0 collapsed to keep the page light
A node_modules/fast-glob/README.md +830 -0 collapsed to keep the page light
A node_modules/fast-glob/node_modules/glob-parent/CHANGELOG.md +110 -0 collapsed to keep the page light
A node_modules/fast-glob/node_modules/glob-parent/LICENSE +15 -0 collapsed to keep the page light
A node_modules/fast-glob/node_modules/glob-parent/README.md +137 -0 collapsed to keep the page light
A node_modules/fast-glob/node_modules/glob-parent/index.js +42 -0 collapsed to keep the page light
A node_modules/fast-glob/node_modules/glob-parent/package.json +48 -0 collapsed to keep the page light
A node_modules/fast-glob/out/index.d.ts +40 -0 collapsed to keep the page light
A node_modules/fast-glob/out/index.js +102 -0 collapsed to keep the page light
A node_modules/fast-glob/out/managers/tasks.d.ts +22 -0 collapsed to keep the page light
A node_modules/fast-glob/out/managers/tasks.js +110 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/async.d.ts +9 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/async.js +23 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/filters/deep.js +62 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/filters/entry.d.ts +16 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/filters/entry.js +63 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/filters/error.js +15 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/matchers/partial.js +38 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/provider.d.ts +19 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/provider.js +48 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/stream.d.ts +11 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/stream.js +31 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/sync.d.ts +9 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/sync.js +23 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0 collapsed to keep the page light
A node_modules/fast-glob/out/providers/transformers/entry.js +26 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/async.d.ts +10 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/async.js +35 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/reader.d.ts +15 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/reader.js +33 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/stream.d.ts +14 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/stream.js +55 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/sync.d.ts +12 -0 collapsed to keep the page light
A node_modules/fast-glob/out/readers/sync.js +43 -0 collapsed to keep the page light
A node_modules/fast-glob/out/settings.d.ts +164 -0 collapsed to keep the page light
A node_modules/fast-glob/out/settings.js +59 -0 collapsed to keep the page light
A node_modules/fast-glob/out/types/index.d.ts +31 -0 collapsed to keep the page light
A node_modules/fast-glob/out/types/index.js +2 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/array.d.ts +2 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/array.js +22 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/errno.d.ts +2 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/errno.js +7 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/fs.d.ts +4 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/fs.js +19 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/index.d.ts +8 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/index.js +17 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/path.d.ts +13 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/path.js +68 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/pattern.d.ts +47 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/pattern.js +188 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/stream.d.ts +4 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/stream.js +17 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/string.d.ts +2 -0 collapsed to keep the page light
A node_modules/fast-glob/out/utils/string.js +11 -0 collapsed to keep the page light
A node_modules/fast-glob/package.json +81 -0 collapsed to keep the page light
A node_modules/fastq/.github/dependabot.yml +11 -0 collapsed to keep the page light
A node_modules/fastq/.github/workflows/ci.yml +75 -0 collapsed to keep the page light
A node_modules/fastq/LICENSE +13 -0 collapsed to keep the page light
A node_modules/fastq/README.md +306 -0 collapsed to keep the page light
A node_modules/fastq/bench.js +66 -0 collapsed to keep the page light
A node_modules/fastq/example.js +14 -0 collapsed to keep the page light
A node_modules/fastq/example.mjs +11 -0 collapsed to keep the page light
A node_modules/fastq/index.d.ts +38 -0 collapsed to keep the page light
A node_modules/fastq/package.json +53 -0 collapsed to keep the page light
A node_modules/fastq/queue.js +311 -0 collapsed to keep the page light
A node_modules/fastq/test/example.ts +83 -0 collapsed to keep the page light
A node_modules/fastq/test/promise.js +248 -0 collapsed to keep the page light
A node_modules/fastq/test/test.js +642 -0 collapsed to keep the page light
A node_modules/fastq/test/tsconfig.json +11 -0 collapsed to keep the page light
A node_modules/fill-range/LICENSE +21 -0 collapsed to keep the page light
A node_modules/fill-range/README.md +237 -0 collapsed to keep the page light
A node_modules/fill-range/index.js +248 -0 collapsed to keep the page light
A node_modules/fill-range/package.json +74 -0 collapsed to keep the page light
A node_modules/foreground-child/LICENSE +15 -0 collapsed to keep the page light
A node_modules/foreground-child/README.md +128 -0 collapsed to keep the page light
A node_modules/foreground-child/package.json +111 -0 collapsed to keep the page light
A node_modules/function-bind/.eslintrc +21 -0 collapsed to keep the page light
A node_modules/function-bind/.github/FUNDING.yml +12 -0 collapsed to keep the page light
A node_modules/function-bind/.github/SECURITY.md +3 -0 collapsed to keep the page light
A node_modules/function-bind/.nycrc +13 -0 collapsed to keep the page light
A node_modules/function-bind/CHANGELOG.md +136 -0 collapsed to keep the page light
A node_modules/function-bind/LICENSE +20 -0 collapsed to keep the page light
A node_modules/function-bind/README.md +46 -0 collapsed to keep the page light
A node_modules/function-bind/implementation.js +84 -0 collapsed to keep the page light
A node_modules/function-bind/index.js +5 -0 collapsed to keep the page light
A node_modules/function-bind/package.json +87 -0 collapsed to keep the page light
A node_modules/function-bind/test/.eslintrc +9 -0 collapsed to keep the page light
A node_modules/function-bind/test/index.js +252 -0 collapsed to keep the page light
A node_modules/glob-parent/LICENSE +15 -0 collapsed to keep the page light
A node_modules/glob-parent/README.md +134 -0 collapsed to keep the page light
A node_modules/glob-parent/index.js +75 -0 collapsed to keep the page light
A node_modules/glob-parent/package.json +54 -0 collapsed to keep the page light
A node_modules/glob/LICENSE +15 -0 collapsed to keep the page light
A node_modules/glob/README.md +1265 -0 collapsed to keep the page light
A node_modules/glob/package.json +99 -0 collapsed to keep the page light
A node_modules/graceful-fs/LICENSE +15 -0 collapsed to keep the page light
A node_modules/graceful-fs/README.md +143 -0 collapsed to keep the page light
A node_modules/graceful-fs/clone.js +23 -0 collapsed to keep the page light
A node_modules/graceful-fs/graceful-fs.js +448 -0 collapsed to keep the page light
A node_modules/graceful-fs/legacy-streams.js +118 -0 collapsed to keep the page light
A node_modules/graceful-fs/package.json +53 -0 collapsed to keep the page light
A node_modules/graceful-fs/polyfills.js +355 -0 collapsed to keep the page light
A node_modules/hasown/.eslintrc +5 -0 collapsed to keep the page light
A node_modules/hasown/.github/FUNDING.yml +12 -0 collapsed to keep the page light
A node_modules/hasown/.nycrc +13 -0 collapsed to keep the page light
A node_modules/hasown/CHANGELOG.md +40 -0 collapsed to keep the page light
A node_modules/hasown/LICENSE +21 -0 collapsed to keep the page light
A node_modules/hasown/README.md +40 -0 collapsed to keep the page light
A node_modules/hasown/index.d.ts +3 -0 collapsed to keep the page light
A node_modules/hasown/index.js +8 -0 collapsed to keep the page light
A node_modules/hasown/package.json +92 -0 collapsed to keep the page light
A node_modules/hasown/tsconfig.json +6 -0 collapsed to keep the page light
A node_modules/is-binary-path/index.d.ts +17 -0 collapsed to keep the page light
A node_modules/is-binary-path/index.js +7 -0 collapsed to keep the page light
A node_modules/is-binary-path/license +9 -0 collapsed to keep the page light
A node_modules/is-binary-path/package.json +40 -0 collapsed to keep the page light
A node_modules/is-binary-path/readme.md +34 -0 collapsed to keep the page light
A node_modules/is-core-module/.eslintrc +18 -0 collapsed to keep the page light
A node_modules/is-core-module/.nycrc +9 -0 collapsed to keep the page light
A node_modules/is-core-module/CHANGELOG.md +205 -0 collapsed to keep the page light
A node_modules/is-core-module/LICENSE +20 -0 collapsed to keep the page light
A node_modules/is-core-module/README.md +40 -0 collapsed to keep the page light
A node_modules/is-core-module/core.json +161 -0 collapsed to keep the page light
A node_modules/is-core-module/index.js +69 -0 collapsed to keep the page light
A node_modules/is-core-module/package.json +76 -0 collapsed to keep the page light
A node_modules/is-core-module/test/index.js +154 -0 collapsed to keep the page light
A node_modules/is-extglob/LICENSE +21 -0 collapsed to keep the page light
A node_modules/is-extglob/README.md +107 -0 collapsed to keep the page light
A node_modules/is-extglob/index.js +20 -0 collapsed to keep the page light
A node_modules/is-extglob/package.json +69 -0 collapsed to keep the page light
A node_modules/is-fullwidth-code-point/index.d.ts +17 -0 collapsed to keep the page light
A node_modules/is-fullwidth-code-point/index.js +50 -0 collapsed to keep the page light
A node_modules/is-fullwidth-code-point/license +9 -0 collapsed to keep the page light
A node_modules/is-fullwidth-code-point/package.json +42 -0 collapsed to keep the page light
A node_modules/is-fullwidth-code-point/readme.md +39 -0 collapsed to keep the page light
A node_modules/is-glob/LICENSE +21 -0 collapsed to keep the page light
A node_modules/is-glob/README.md +206 -0 collapsed to keep the page light
A node_modules/is-glob/index.js +150 -0 collapsed to keep the page light
A node_modules/is-glob/package.json +81 -0 collapsed to keep the page light
A node_modules/is-number/LICENSE +21 -0 collapsed to keep the page light
A node_modules/is-number/README.md +187 -0 collapsed to keep the page light
A node_modules/is-number/index.js +18 -0 collapsed to keep the page light
A node_modules/is-number/package.json +82 -0 collapsed to keep the page light
A node_modules/isexe/.npmignore +2 -0 collapsed to keep the page light
A node_modules/isexe/LICENSE +15 -0 collapsed to keep the page light
A node_modules/isexe/README.md +51 -0 collapsed to keep the page light
A node_modules/isexe/index.js +57 -0 collapsed to keep the page light
A node_modules/isexe/mode.js +41 -0 collapsed to keep the page light
A node_modules/isexe/package.json +31 -0 collapsed to keep the page light
A node_modules/isexe/test/basic.js +221 -0 collapsed to keep the page light
A node_modules/isexe/windows.js +42 -0 collapsed to keep the page light
A node_modules/jackspeak/LICENSE.md +55 -0 collapsed to keep the page light
A node_modules/jackspeak/README.md +357 -0 collapsed to keep the page light
A node_modules/jackspeak/package.json +95 -0 collapsed to keep the page light
A node_modules/jiti/LICENSE +21 -0 collapsed to keep the page light
A node_modules/jiti/README.md +235 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti-cli.mjs +34 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti-hooks.mjs +117 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti-native.mjs +121 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti-register.d.mts +1 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti-register.mjs +4 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti.cjs +23 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti.d.cts +8 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti.d.mts +8 -0 collapsed to keep the page light
A node_modules/jiti/lib/jiti.mjs +22 -0 collapsed to keep the page light
A node_modules/jiti/lib/types.d.ts +260 -0 collapsed to keep the page light
A node_modules/jiti/package.json +134 -0 collapsed to keep the page light
A node_modules/lightningcss-linux-x64-gnu/LICENSE +373 -0 collapsed to keep the page light
A node_modules/lightningcss-linux-x64-gnu/README.md +1 -0 collapsed to keep the page light
A node_modules/lightningcss-linux-x64-gnu/lightningcss.linux-x64-gnu.node +0 -0 binary file: no text diff

binary file: no text diff

A node_modules/lightningcss-linux-x64-gnu/package.json +37 -0 collapsed to keep the page light
A node_modules/lightningcss-linux-x64-musl/LICENSE +373 -0 collapsed to keep the page light
A node_modules/lightningcss-linux-x64-musl/README.md +1 -0 collapsed to keep the page light
A node_modules/lightningcss-linux-x64-musl/lightningcss.linux-x64-musl.node +0 -0 binary file: no text diff

binary file: no text diff

A node_modules/lightningcss-linux-x64-musl/package.json +37 -0 collapsed to keep the page light
A node_modules/lightningcss/LICENSE +373 -0 collapsed to keep the page light
A node_modules/lightningcss/README.md +105 -0 collapsed to keep the page light
A node_modules/lightningcss/node/ast.d.ts +9716 -0 collapsed to keep the page light
A node_modules/lightningcss/node/ast.js.flow +10346 -0 collapsed to keep the page light
A node_modules/lightningcss/node/browserslistToTargets.js +48 -0 collapsed to keep the page light
A node_modules/lightningcss/node/composeVisitors.js +442 -0 collapsed to keep the page light
A node_modules/lightningcss/node/flags.js +28 -0 collapsed to keep the page light
A node_modules/lightningcss/node/index.d.ts +477 -0 collapsed to keep the page light
A node_modules/lightningcss/node/index.js +28 -0 collapsed to keep the page light
A node_modules/lightningcss/node/index.js.flow +824 -0 collapsed to keep the page light
A node_modules/lightningcss/node/index.mjs +4 -0 collapsed to keep the page light
A node_modules/lightningcss/node/targets.d.ts +40 -0 collapsed to keep the page light
A node_modules/lightningcss/node/targets.js.flow +39 -0 collapsed to keep the page light
A node_modules/lightningcss/package.json +109 -0 collapsed to keep the page light
A node_modules/lilconfig/LICENSE +21 -0 collapsed to keep the page light
A node_modules/lilconfig/package.json +42 -0 collapsed to keep the page light
A node_modules/lilconfig/readme.md +98 -0 collapsed to keep the page light
A node_modules/lilconfig/src/index.d.ts +54 -0 collapsed to keep the page light
A node_modules/lilconfig/src/index.js +460 -0 collapsed to keep the page light
A node_modules/lines-and-columns/LICENSE +21 -0 collapsed to keep the page light
A node_modules/lines-and-columns/README.md +33 -0 collapsed to keep the page light
A node_modules/lines-and-columns/build/index.d.ts +13 -0 collapsed to keep the page light
A node_modules/lines-and-columns/build/index.js +62 -0 collapsed to keep the page light
A node_modules/lines-and-columns/package.json +49 -0 collapsed to keep the page light
A node_modules/lru-cache/LICENSE +15 -0 collapsed to keep the page light
A node_modules/lru-cache/README.md +331 -0 collapsed to keep the page light
A node_modules/lru-cache/package.json +116 -0 collapsed to keep the page light
A node_modules/merge2/LICENSE +21 -0 collapsed to keep the page light
A node_modules/merge2/README.md +144 -0 collapsed to keep the page light
A node_modules/merge2/index.js +144 -0 collapsed to keep the page light
A node_modules/merge2/package.json +43 -0 collapsed to keep the page light
A node_modules/micromatch/LICENSE +21 -0 collapsed to keep the page light
A node_modules/micromatch/README.md +1024 -0 collapsed to keep the page light
A node_modules/micromatch/index.js +474 -0 collapsed to keep the page light
A node_modules/micromatch/package.json +119 -0 collapsed to keep the page light
A node_modules/minimatch/LICENSE +15 -0 collapsed to keep the page light
A node_modules/minimatch/README.md +454 -0 collapsed to keep the page light
A node_modules/minimatch/package.json +82 -0 collapsed to keep the page light
A node_modules/minipass/LICENSE +15 -0 collapsed to keep the page light
A node_modules/minipass/README.md +825 -0 collapsed to keep the page light
A node_modules/minipass/package.json +82 -0 collapsed to keep the page light
A node_modules/mri/index.d.ts +21 -0 collapsed to keep the page light
A node_modules/mri/lib/index.js +119 -0 collapsed to keep the page light
A node_modules/mri/lib/index.mjs +119 -0 collapsed to keep the page light
A node_modules/mri/license.md +21 -0 collapsed to keep the page light
A node_modules/mri/package.json +43 -0 collapsed to keep the page light
A node_modules/mri/readme.md +166 -0 collapsed to keep the page light
A node_modules/mz/HISTORY.md +66 -0 collapsed to keep the page light
A node_modules/mz/LICENSE +22 -0 collapsed to keep the page light
A node_modules/mz/README.md +106 -0 collapsed to keep the page light
A node_modules/mz/child_process.js +8 -0 collapsed to keep the page light
A node_modules/mz/crypto.js +9 -0 collapsed to keep the page light
A node_modules/mz/dns.js +16 -0 collapsed to keep the page light
A node_modules/mz/fs.js +62 -0 collapsed to keep the page light
A node_modules/mz/index.js +8 -0 collapsed to keep the page light
A node_modules/mz/package.json +44 -0 collapsed to keep the page light
A node_modules/mz/readline.js +64 -0 collapsed to keep the page light
A node_modules/mz/zlib.js +13 -0 collapsed to keep the page light
A node_modules/nanoid/LICENSE +20 -0 collapsed to keep the page light
A node_modules/nanoid/README.md +554 -0 collapsed to keep the page light
A node_modules/nanoid/async/index.browser.cjs +69 -0 collapsed to keep the page light
A node_modules/nanoid/async/index.browser.js +69 -0 collapsed to keep the page light
A node_modules/nanoid/async/index.cjs +71 -0 collapsed to keep the page light
A node_modules/nanoid/async/index.d.ts +56 -0 collapsed to keep the page light
A node_modules/nanoid/async/index.js +71 -0 collapsed to keep the page light
A node_modules/nanoid/async/index.native.js +57 -0 collapsed to keep the page light
A node_modules/nanoid/async/package.json +12 -0 collapsed to keep the page light
A node_modules/nanoid/bin/nanoid.cjs +55 -0 collapsed to keep the page light
A node_modules/nanoid/index.browser.cjs +72 -0 collapsed to keep the page light
A node_modules/nanoid/index.browser.js +72 -0 collapsed to keep the page light
A node_modules/nanoid/index.cjs +85 -0 collapsed to keep the page light
A node_modules/nanoid/index.d.cts +91 -0 collapsed to keep the page light
A node_modules/nanoid/index.d.ts +91 -0 collapsed to keep the page light
A node_modules/nanoid/index.js +85 -0 collapsed to keep the page light
A node_modules/nanoid/nanoid.js +1 -0 collapsed to keep the page light
A node_modules/nanoid/non-secure/index.cjs +34 -0 collapsed to keep the page light
A node_modules/nanoid/non-secure/index.d.ts +33 -0 collapsed to keep the page light
A node_modules/nanoid/non-secure/index.js +34 -0 collapsed to keep the page light
A node_modules/nanoid/non-secure/package.json +6 -0 collapsed to keep the page light
A node_modules/nanoid/package.json +88 -0 collapsed to keep the page light
A node_modules/nanoid/url-alphabet/index.cjs +7 -0 collapsed to keep the page light
A node_modules/nanoid/url-alphabet/index.js +7 -0 collapsed to keep the page light
A node_modules/nanoid/url-alphabet/package.json +6 -0 collapsed to keep the page light
A node_modules/node-addon-api/LICENSE.md +9 -0 collapsed to keep the page light
A node_modules/node-addon-api/README.md +319 -0 collapsed to keep the page light
A node_modules/node-addon-api/common.gypi +20 -0 collapsed to keep the page light
A node_modules/node-addon-api/except.gypi +25 -0 collapsed to keep the page light
A node_modules/node-addon-api/index.js +12 -0 collapsed to keep the page light
A node_modules/node-addon-api/napi-inl.deprecated.h +186 -0 collapsed to keep the page light
A node_modules/node-addon-api/napi-inl.h +6607 -0 collapsed to keep the page light
A node_modules/node-addon-api/napi.h +3201 -0 collapsed to keep the page light
A node_modules/node-addon-api/node_addon_api.gyp +32 -0 collapsed to keep the page light
A node_modules/node-addon-api/node_api.gyp +9 -0 collapsed to keep the page light
A node_modules/node-addon-api/noexcept.gypi +26 -0 collapsed to keep the page light
A node_modules/node-addon-api/nothing.c +0 -0

no textual change.

A node_modules/node-addon-api/package-support.json +21 -0 collapsed to keep the page light
A node_modules/node-addon-api/package.json +480 -0 collapsed to keep the page light
A node_modules/node-addon-api/tools/README.md +73 -0 collapsed to keep the page light
A node_modules/node-addon-api/tools/check-napi.js +99 -0 collapsed to keep the page light
A node_modules/node-addon-api/tools/clang-format.js +71 -0 collapsed to keep the page light
A node_modules/node-addon-api/tools/conversion.js +301 -0 collapsed to keep the page light
A node_modules/node-addon-api/tools/eslint-format.js +79 -0 collapsed to keep the page light
A node_modules/normalize-path/LICENSE +21 -0 collapsed to keep the page light
A node_modules/normalize-path/README.md +127 -0 collapsed to keep the page light
A node_modules/normalize-path/index.js +35 -0 collapsed to keep the page light
A node_modules/normalize-path/package.json +77 -0 collapsed to keep the page light
A node_modules/object-assign/index.js +90 -0 collapsed to keep the page light
A node_modules/object-assign/license +21 -0 collapsed to keep the page light
A node_modules/object-assign/package.json +42 -0 collapsed to keep the page light
A node_modules/object-assign/readme.md +61 -0 collapsed to keep the page light
A node_modules/object-hash/LICENSE +22 -0 collapsed to keep the page light
A node_modules/object-hash/index.js +453 -0 collapsed to keep the page light
A node_modules/object-hash/package.json +53 -0 collapsed to keep the page light
A node_modules/object-hash/readme.markdown +198 -0 collapsed to keep the page light
A node_modules/package-json-from-dist/LICENSE.md +63 -0 collapsed to keep the page light
A node_modules/package-json-from-dist/README.md +110 -0 collapsed to keep the page light
A node_modules/package-json-from-dist/package.json +68 -0 collapsed to keep the page light
A node_modules/path-key/index.d.ts +40 -0 collapsed to keep the page light
A node_modules/path-key/index.js +16 -0 collapsed to keep the page light
A node_modules/path-key/license +9 -0 collapsed to keep the page light
A node_modules/path-key/package.json +39 -0 collapsed to keep the page light
A node_modules/path-key/readme.md +61 -0 collapsed to keep the page light
A node_modules/path-parse/LICENSE +21 -0 collapsed to keep the page light
A node_modules/path-parse/README.md +42 -0 collapsed to keep the page light
A node_modules/path-parse/index.js +75 -0 collapsed to keep the page light
A node_modules/path-parse/package.json +33 -0 collapsed to keep the page light
A node_modules/path-scurry/LICENSE.md +55 -0 collapsed to keep the page light
A node_modules/path-scurry/README.md +636 -0 collapsed to keep the page light
A node_modules/path-scurry/package.json +89 -0 collapsed to keep the page light
A node_modules/picocolors/LICENSE +15 -0 collapsed to keep the page light
A node_modules/picocolors/README.md +21 -0 collapsed to keep the page light
A node_modules/picocolors/package.json +25 -0 collapsed to keep the page light
A node_modules/picocolors/picocolors.browser.js +4 -0 collapsed to keep the page light
A node_modules/picocolors/picocolors.d.ts +5 -0 collapsed to keep the page light
A node_modules/picocolors/picocolors.js +75 -0 collapsed to keep the page light
A node_modules/picocolors/types.d.ts +51 -0 collapsed to keep the page light
A node_modules/picomatch/CHANGELOG.md +136 -0 collapsed to keep the page light
A node_modules/picomatch/LICENSE +21 -0 collapsed to keep the page light
A node_modules/picomatch/README.md +708 -0 collapsed to keep the page light
A node_modules/picomatch/index.js +3 -0 collapsed to keep the page light
A node_modules/picomatch/lib/constants.js +179 -0 collapsed to keep the page light
A node_modules/picomatch/lib/parse.js +1091 -0 collapsed to keep the page light
A node_modules/picomatch/lib/picomatch.js +342 -0 collapsed to keep the page light
A node_modules/picomatch/lib/scan.js +391 -0 collapsed to keep the page light
A node_modules/picomatch/lib/utils.js +64 -0 collapsed to keep the page light
A node_modules/picomatch/package.json +81 -0 collapsed to keep the page light
A node_modules/pify/index.js +68 -0 collapsed to keep the page light
A node_modules/pify/license +21 -0 collapsed to keep the page light
A node_modules/pify/package.json +48 -0 collapsed to keep the page light
A node_modules/pify/readme.md +119 -0 collapsed to keep the page light
A node_modules/pirates/LICENSE +21 -0 collapsed to keep the page light
A node_modules/pirates/README.md +69 -0 collapsed to keep the page light
A node_modules/pirates/index.d.ts +82 -0 collapsed to keep the page light
A node_modules/pirates/lib/index.js +139 -0 collapsed to keep the page light
A node_modules/pirates/package.json +74 -0 collapsed to keep the page light
A node_modules/postcss-import/LICENSE +20 -0 collapsed to keep the page light
A node_modules/postcss-import/README.md +244 -0 collapsed to keep the page light
A node_modules/postcss-import/index.js +420 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/assign-layer-names.js +17 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/data-url.js +17 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/join-layer.js +9 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/join-media.js +28 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/load-content.js +12 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/parse-statements.js +172 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/process-content.js +59 -0 collapsed to keep the page light
A node_modules/postcss-import/lib/resolve-id.js +42 -0 collapsed to keep the page light
A node_modules/postcss-import/package.json +65 -0 collapsed to keep the page light
A node_modules/postcss-js/LICENSE +20 -0 collapsed to keep the page light
A node_modules/postcss-js/README.md +22 -0 collapsed to keep the page light
A node_modules/postcss-js/async.js +15 -0 collapsed to keep the page light
A node_modules/postcss-js/index.js +11 -0 collapsed to keep the page light
A node_modules/postcss-js/index.mjs +8 -0 collapsed to keep the page light
A node_modules/postcss-js/objectifier.js +85 -0 collapsed to keep the page light
A node_modules/postcss-js/package.json +42 -0 collapsed to keep the page light
A node_modules/postcss-js/parser.js +104 -0 collapsed to keep the page light
A node_modules/postcss-js/process-result.js +11 -0 collapsed to keep the page light
A node_modules/postcss-js/sync.js +12 -0 collapsed to keep the page light
A node_modules/postcss-load-config/LICENSE +20 -0 collapsed to keep the page light
A node_modules/postcss-load-config/README.md +466 -0 collapsed to keep the page light
A node_modules/postcss-load-config/node_modules/lilconfig/LICENSE +21 -0 collapsed to keep the page light
A node_modules/postcss-load-config/node_modules/lilconfig/package.json +42 -0 collapsed to keep the page light
A node_modules/postcss-load-config/node_modules/lilconfig/readme.md +98 -0 collapsed to keep the page light
A node_modules/postcss-load-config/node_modules/lilconfig/src/index.d.ts +54 -0 collapsed to keep the page light
A node_modules/postcss-load-config/node_modules/lilconfig/src/index.js +457 -0 collapsed to keep the page light
A node_modules/postcss-load-config/package.json +54 -0 collapsed to keep the page light
A node_modules/postcss-load-config/src/index.d.ts +65 -0 collapsed to keep the page light
A node_modules/postcss-load-config/src/index.js +185 -0 collapsed to keep the page light
A node_modules/postcss-load-config/src/options.js +47 -0 collapsed to keep the page light
A node_modules/postcss-load-config/src/plugins.js +85 -0 collapsed to keep the page light
A node_modules/postcss-load-config/src/req.js +10 -0 collapsed to keep the page light
A node_modules/postcss-nested/LICENSE +20 -0 collapsed to keep the page light
A node_modules/postcss-nested/README.md +85 -0 collapsed to keep the page light
A node_modules/postcss-nested/index.d.ts +41 -0 collapsed to keep the page light
A node_modules/postcss-nested/index.js +361 -0 collapsed to keep the page light
A node_modules/postcss-nested/package.json +34 -0 collapsed to keep the page light
A node_modules/postcss-selector-parser/API.md +872 -0 collapsed to keep the page light
A node_modules/postcss-selector-parser/CHANGELOG.md +549 -0 collapsed to keep the page light
A node_modules/postcss-selector-parser/LICENSE-MIT +22 -0 collapsed to keep the page light
A node_modules/postcss-selector-parser/README.md +49 -0 collapsed to keep the page light
A node_modules/postcss-selector-parser/package.json +80 -0 collapsed to keep the page light
A node_modules/postcss-selector-parser/postcss-selector-parser.d.ts +555 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/LICENSE +22 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/README.md +263 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/lib/index.d.ts +177 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/lib/index.js +28 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/lib/parse.js +321 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/lib/stringify.js +48 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/lib/unit.js +120 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/lib/walk.js +22 -0 collapsed to keep the page light
A node_modules/postcss-value-parser/package.json +58 -0 collapsed to keep the page light
A node_modules/postcss/LICENSE +20 -0 collapsed to keep the page light
A node_modules/postcss/README.md +28 -0 collapsed to keep the page light
A node_modules/postcss/lib/at-rule.d.ts +140 -0 collapsed to keep the page light
A node_modules/postcss/lib/at-rule.js +25 -0 collapsed to keep the page light
A node_modules/postcss/lib/comment.d.ts +68 -0 collapsed to keep the page light
A node_modules/postcss/lib/comment.js +13 -0 collapsed to keep the page light
A node_modules/postcss/lib/container.d.ts +480 -0 collapsed to keep the page light
A node_modules/postcss/lib/container.js +447 -0 collapsed to keep the page light
A node_modules/postcss/lib/css-syntax-error.d.ts +248 -0 collapsed to keep the page light
A node_modules/postcss/lib/css-syntax-error.js +133 -0 collapsed to keep the page light
A node_modules/postcss/lib/declaration.d.ts +151 -0 collapsed to keep the page light
A node_modules/postcss/lib/declaration.js +24 -0 collapsed to keep the page light
A node_modules/postcss/lib/document.d.ts +69 -0 collapsed to keep the page light
A node_modules/postcss/lib/document.js +33 -0 collapsed to keep the page light
A node_modules/postcss/lib/fromJSON.d.ts +9 -0 collapsed to keep the page light
A node_modules/postcss/lib/fromJSON.js +54 -0 collapsed to keep the page light
A node_modules/postcss/lib/input.d.ts +206 -0 collapsed to keep the page light
A node_modules/postcss/lib/input.js +251 -0 collapsed to keep the page light
A node_modules/postcss/lib/lazy-result.d.ts +190 -0 collapsed to keep the page light
A node_modules/postcss/lib/lazy-result.js +550 -0 collapsed to keep the page light
A node_modules/postcss/lib/list.d.ts +60 -0 collapsed to keep the page light
A node_modules/postcss/lib/list.js +58 -0 collapsed to keep the page light
A node_modules/postcss/lib/map-generator.js +368 -0 collapsed to keep the page light
A node_modules/postcss/lib/no-work-result.d.ts +46 -0 collapsed to keep the page light
A node_modules/postcss/lib/no-work-result.js +138 -0 collapsed to keep the page light
A node_modules/postcss/lib/node.d.ts +541 -0 collapsed to keep the page light
A node_modules/postcss/lib/node.js +434 -0 collapsed to keep the page light
A node_modules/postcss/lib/parse.d.ts +9 -0 collapsed to keep the page light
A node_modules/postcss/lib/parse.js +42 -0 collapsed to keep the page light
A node_modules/postcss/lib/parser.js +611 -0 collapsed to keep the page light
A node_modules/postcss/lib/postcss.d.mts +69 -0 collapsed to keep the page light
A node_modules/postcss/lib/postcss.d.ts +458 -0 collapsed to keep the page light
A node_modules/postcss/lib/postcss.js +101 -0 collapsed to keep the page light
A node_modules/postcss/lib/postcss.mjs +30 -0 collapsed to keep the page light
A node_modules/postcss/lib/previous-map.d.ts +81 -0 collapsed to keep the page light
A node_modules/postcss/lib/previous-map.js +144 -0 collapsed to keep the page light
A node_modules/postcss/lib/processor.d.ts +115 -0 collapsed to keep the page light
A node_modules/postcss/lib/processor.js +67 -0 collapsed to keep the page light
A node_modules/postcss/lib/result.d.ts +205 -0 collapsed to keep the page light
A node_modules/postcss/lib/result.js +42 -0 collapsed to keep the page light
A node_modules/postcss/lib/root.d.ts +87 -0 collapsed to keep the page light
A node_modules/postcss/lib/root.js +61 -0 collapsed to keep the page light
A node_modules/postcss/lib/rule.d.ts +126 -0 collapsed to keep the page light
A node_modules/postcss/lib/rule.js +27 -0 collapsed to keep the page light
A node_modules/postcss/lib/stringifier.d.ts +46 -0 collapsed to keep the page light
A node_modules/postcss/lib/stringifier.js +353 -0 collapsed to keep the page light
A node_modules/postcss/lib/stringify.d.ts +9 -0 collapsed to keep the page light
A node_modules/postcss/lib/stringify.js +11 -0 collapsed to keep the page light
A node_modules/postcss/lib/symbols.js +5 -0 collapsed to keep the page light
A node_modules/postcss/lib/terminal-highlight.js +70 -0 collapsed to keep the page light
A node_modules/postcss/lib/tokenize.js +266 -0 collapsed to keep the page light
A node_modules/postcss/lib/warn-once.js +13 -0 collapsed to keep the page light
A node_modules/postcss/lib/warning.d.ts +147 -0 collapsed to keep the page light
A node_modules/postcss/lib/warning.js +37 -0 collapsed to keep the page light
A node_modules/postcss/package.json +88 -0 collapsed to keep the page light
A node_modules/prettier-plugin-tailwindcss/LICENSE +21 -0 collapsed to keep the page light
A node_modules/prettier-plugin-tailwindcss/README.md +174 -0 collapsed to keep the page light
A node_modules/prettier-plugin-tailwindcss/package.json +144 -0 collapsed to keep the page light
A node_modules/prettier/LICENSE +7 -0 collapsed to keep the page light
A node_modules/prettier/README.md +108 -0 collapsed to keep the page light
A node_modules/prettier/THIRD-PARTY-NOTICES.md +4416 -0 collapsed to keep the page light
A node_modules/prettier/bin/prettier.cjs +68 -0 collapsed to keep the page light
A node_modules/prettier/doc.d.ts +254 -0 collapsed to keep the page light
A node_modules/prettier/doc.js +1261 -0 collapsed to keep the page light
A node_modules/prettier/doc.mjs +1233 -0 collapsed to keep the page light
A node_modules/prettier/index.cjs +682 -0 collapsed to keep the page light
A node_modules/prettier/index.d.ts +956 -0 collapsed to keep the page light
A node_modules/prettier/index.mjs +22242 -0 collapsed to keep the page light
A node_modules/prettier/internal/cli.mjs +4873 -0 collapsed to keep the page light
A node_modules/prettier/package.json +200 -0 collapsed to keep the page light
A node_modules/prettier/plugins/acorn.d.ts +6 -0 collapsed to keep the page light
A node_modules/prettier/plugins/acorn.js +15 -0 collapsed to keep the page light
A node_modules/prettier/plugins/acorn.mjs +15 -0 collapsed to keep the page light
A node_modules/prettier/plugins/angular.d.ts +8 -0 collapsed to keep the page light
A node_modules/prettier/plugins/angular.js +2 -0 collapsed to keep the page light
A node_modules/prettier/plugins/angular.mjs +2 -0 collapsed to keep the page light
A node_modules/prettier/plugins/babel.d.ts +18 -0 collapsed to keep the page light
A node_modules/prettier/plugins/babel.js +15 -0 collapsed to keep the page light
A node_modules/prettier/plugins/babel.mjs +15 -0 collapsed to keep the page light
A node_modules/prettier/plugins/estree.d.ts +1 -0 collapsed to keep the page light
A node_modules/prettier/plugins/estree.js +36 -0 collapsed to keep the page light
A node_modules/prettier/plugins/estree.mjs +36 -0 collapsed to keep the page light
A node_modules/prettier/plugins/flow.d.ts +5 -0 collapsed to keep the page light
A node_modules/prettier/plugins/flow.js +19 -0 collapsed to keep the page light
A node_modules/prettier/plugins/flow.mjs +19 -0 collapsed to keep the page light
A node_modules/prettier/plugins/glimmer.d.ts +5 -0 collapsed to keep the page light
A node_modules/prettier/plugins/glimmer.js +30 -0 collapsed to keep the page light
A node_modules/prettier/plugins/glimmer.mjs +30 -0 collapsed to keep the page light
A node_modules/prettier/plugins/graphql.d.ts +5 -0 collapsed to keep the page light
A node_modules/prettier/plugins/graphql.js +29 -0 collapsed to keep the page light
A node_modules/prettier/plugins/graphql.mjs +29 -0 collapsed to keep the page light
A node_modules/prettier/plugins/html.d.ts +8 -0 collapsed to keep the page light
A node_modules/prettier/plugins/html.js +22 -0 collapsed to keep the page light
A node_modules/prettier/plugins/html.mjs +22 -0 collapsed to keep the page light
A node_modules/prettier/plugins/markdown.d.ts +7 -0 collapsed to keep the page light
A node_modules/prettier/plugins/markdown.js +63 -0 collapsed to keep the page light
A node_modules/prettier/plugins/markdown.mjs +63 -0 collapsed to keep the page light
A node_modules/prettier/plugins/meriyah.d.ts +5 -0 collapsed to keep the page light
A node_modules/prettier/plugins/meriyah.js +4 -0 collapsed to keep the page light
A node_modules/prettier/plugins/meriyah.mjs +4 -0 collapsed to keep the page light
A node_modules/prettier/plugins/postcss.d.ts +7 -0 collapsed to keep the page light
A node_modules/prettier/plugins/postcss.js +54 -0 collapsed to keep the page light
A node_modules/prettier/plugins/postcss.mjs +54 -0 collapsed to keep the page light
A node_modules/prettier/plugins/typescript.d.ts +5 -0 collapsed to keep the page light
A node_modules/prettier/plugins/typescript.js +20 -0 collapsed to keep the page light
A node_modules/prettier/plugins/typescript.mjs +20 -0 collapsed to keep the page light
A node_modules/prettier/plugins/yaml.d.ts +5 -0 collapsed to keep the page light
A node_modules/prettier/plugins/yaml.js +161 -0 collapsed to keep the page light
A node_modules/prettier/plugins/yaml.mjs +161 -0 collapsed to keep the page light
A node_modules/prettier/standalone.d.ts +33 -0 collapsed to keep the page light
A node_modules/prettier/standalone.js +39 -0 collapsed to keep the page light
A node_modules/prettier/standalone.mjs +39 -0 collapsed to keep the page light
A node_modules/queue-microtask/LICENSE +20 -0 collapsed to keep the page light
A node_modules/queue-microtask/README.md +90 -0 collapsed to keep the page light
A node_modules/queue-microtask/index.d.ts +2 -0 collapsed to keep the page light
A node_modules/queue-microtask/index.js +9 -0 collapsed to keep the page light
A node_modules/queue-microtask/package.json +55 -0 collapsed to keep the page light
A node_modules/read-cache/LICENSE +20 -0 collapsed to keep the page light
A node_modules/read-cache/README.md +46 -0 collapsed to keep the page light
A node_modules/read-cache/index.js +78 -0 collapsed to keep the page light
A node_modules/read-cache/package.json +34 -0 collapsed to keep the page light
A node_modules/readdirp/LICENSE +21 -0 collapsed to keep the page light
A node_modules/readdirp/README.md +122 -0 collapsed to keep the page light
A node_modules/readdirp/index.d.ts +43 -0 collapsed to keep the page light
A node_modules/readdirp/index.js +287 -0 collapsed to keep the page light
A node_modules/readdirp/package.json +122 -0 collapsed to keep the page light
A node_modules/resolve/.editorconfig +37 -0 collapsed to keep the page light
A node_modules/resolve/.eslintrc +65 -0 collapsed to keep the page light
A node_modules/resolve/.github/FUNDING.yml +12 -0 collapsed to keep the page light
A node_modules/resolve/LICENSE +21 -0 collapsed to keep the page light
A node_modules/resolve/SECURITY.md +3 -0 collapsed to keep the page light
A node_modules/resolve/async.js +3 -0 collapsed to keep the page light
A node_modules/resolve/bin/resolve +50 -0 collapsed to keep the page light
A node_modules/resolve/example/async.js +5 -0 collapsed to keep the page light
A node_modules/resolve/example/sync.js +3 -0 collapsed to keep the page light
A node_modules/resolve/index.js +6 -0 collapsed to keep the page light
A node_modules/resolve/lib/async.js +329 -0 collapsed to keep the page light
A node_modules/resolve/lib/caller.js +8 -0 collapsed to keep the page light
A node_modules/resolve/lib/core.js +12 -0 collapsed to keep the page light
A node_modules/resolve/lib/core.json +158 -0 collapsed to keep the page light
A node_modules/resolve/lib/homedir.js +24 -0 collapsed to keep the page light
A node_modules/resolve/lib/is-core.js +5 -0 collapsed to keep the page light
A node_modules/resolve/lib/node-modules-paths.js +42 -0 collapsed to keep the page light
A node_modules/resolve/lib/normalize-options.js +10 -0 collapsed to keep the page light
A node_modules/resolve/lib/sync.js +208 -0 collapsed to keep the page light
A node_modules/resolve/package.json +72 -0 collapsed to keep the page light
A node_modules/resolve/readme.markdown +301 -0 collapsed to keep the page light
A node_modules/resolve/sync.js +3 -0 collapsed to keep the page light
A node_modules/resolve/test/core.js +88 -0 collapsed to keep the page light
A node_modules/resolve/test/dotdot.js +29 -0 collapsed to keep the page light
A node_modules/resolve/test/dotdot/abc/index.js +2 -0 collapsed to keep the page light
A node_modules/resolve/test/dotdot/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/faulty_basedir.js +29 -0 collapsed to keep the page light
A node_modules/resolve/test/filter.js +34 -0 collapsed to keep the page light
A node_modules/resolve/test/filter_sync.js +33 -0 collapsed to keep the page light
A node_modules/resolve/test/home_paths.js +127 -0 collapsed to keep the page light
A node_modules/resolve/test/home_paths_sync.js +114 -0 collapsed to keep the page light
A node_modules/resolve/test/mock.js +315 -0 collapsed to keep the page light
A node_modules/resolve/test/mock_sync.js +214 -0 collapsed to keep the page light
A node_modules/resolve/test/module_dir.js +56 -0 collapsed to keep the page light
A node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0 collapsed to keep the page light
A node_modules/resolve/test/node-modules-paths.js +143 -0 collapsed to keep the page light
A node_modules/resolve/test/node_path.js +70 -0 collapsed to keep the page light
A node_modules/resolve/test/node_path/x/aaa/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/node_path/x/ccc/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/node_path/y/bbb/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/node_path/y/ccc/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/nonstring.js +9 -0 collapsed to keep the page light
A node_modules/resolve/test/pathfilter.js +75 -0 collapsed to keep the page light
A node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0

no textual change.

A node_modules/resolve/test/precedence.js +23 -0 collapsed to keep the page light
A node_modules/resolve/test/precedence/aaa.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/precedence/aaa/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/precedence/aaa/main.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/precedence/bbb.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/precedence/bbb/main.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver.js +597 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/baz/doom.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/baz/package.json +4 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/baz/quux.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/browser_field/a.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/browser_field/b.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/browser_field/package.json +5 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/cup.coffee +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/dot_main/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/dot_main/package.json +3 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/false_main/index.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/false_main/package.json +4 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/foo.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/invalid_main/package.json +7 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/mug.coffee +0 -0

no textual change.

A node_modules/resolve/test/resolver/mug.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/multirepo/package.json +20 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/other_path/root.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/quux/foo/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/same_names/foo.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0

no textual change.

A node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0

no textual change.

A node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver/without_basedir/main.js +5 -0 collapsed to keep the page light
A node_modules/resolve/test/resolver_sync.js +730 -0 collapsed to keep the page light
A node_modules/resolve/test/shadowed_core.js +54 -0 collapsed to keep the page light
A node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0

no textual change.

A node_modules/resolve/test/subdirs.js +13 -0 collapsed to keep the page light
A node_modules/resolve/test/symlinks.js +176 -0 collapsed to keep the page light
A node_modules/reusify/.coveralls.yml +1 -0 collapsed to keep the page light
A node_modules/reusify/.travis.yml +28 -0 collapsed to keep the page light
A node_modules/reusify/LICENSE +22 -0 collapsed to keep the page light
A node_modules/reusify/README.md +145 -0 collapsed to keep the page light
A node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0 collapsed to keep the page light
A node_modules/reusify/benchmarks/fib.js +13 -0 collapsed to keep the page light
A node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0 collapsed to keep the page light
A node_modules/reusify/package.json +45 -0 collapsed to keep the page light
A node_modules/reusify/reusify.js +33 -0 collapsed to keep the page light
A node_modules/reusify/test.js +66 -0 collapsed to keep the page light
A node_modules/run-parallel/LICENSE +20 -0 collapsed to keep the page light
A node_modules/run-parallel/README.md +85 -0 collapsed to keep the page light
A node_modules/run-parallel/index.js +51 -0 collapsed to keep the page light
A node_modules/run-parallel/package.json +58 -0 collapsed to keep the page light
A node_modules/shebang-command/index.js +19 -0 collapsed to keep the page light
A node_modules/shebang-command/license +9 -0 collapsed to keep the page light
A node_modules/shebang-command/package.json +34 -0 collapsed to keep the page light
A node_modules/shebang-command/readme.md +34 -0 collapsed to keep the page light
A node_modules/shebang-regex/index.d.ts +22 -0 collapsed to keep the page light
A node_modules/shebang-regex/index.js +2 -0 collapsed to keep the page light
A node_modules/shebang-regex/license +9 -0 collapsed to keep the page light
A node_modules/shebang-regex/package.json +35 -0 collapsed to keep the page light
A node_modules/shebang-regex/readme.md +33 -0 collapsed to keep the page light
A node_modules/signal-exit/README.md +74 -0 collapsed to keep the page light
A node_modules/signal-exit/package.json +106 -0 collapsed to keep the page light
A node_modules/source-map-js/LICENSE +28 -0 collapsed to keep the page light
A node_modules/source-map-js/README.md +765 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/array-set.js +121 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/base64-vlq.js +140 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/base64.js +67 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/binary-search.js +111 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/mapping-list.js +79 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/quick-sort.js +132 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/source-map-consumer.js +1188 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/source-map-generator.js +444 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/source-node.d.ts +1 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/source-node.js +413 -0 collapsed to keep the page light
A node_modules/source-map-js/lib/util.js +594 -0 collapsed to keep the page light
A node_modules/source-map-js/package.json +71 -0 collapsed to keep the page light
A node_modules/source-map-js/source-map.d.ts +104 -0 collapsed to keep the page light
A node_modules/source-map-js/source-map.js +8 -0 collapsed to keep the page light
A node_modules/string-width-cjs/index.d.ts +29 -0 collapsed to keep the page light
A node_modules/string-width-cjs/index.js +47 -0 collapsed to keep the page light
A node_modules/string-width-cjs/license +9 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/emoji-regex/README.md +73 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +6 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +6 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/emoji-regex/index.d.ts +23 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/emoji-regex/index.js +6 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/emoji-regex/package.json +50 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/emoji-regex/text.js +6 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/index.d.ts +17 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/index.js +4 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/license +9 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/node_modules/ansi-regex/index.d.ts +37 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/node_modules/ansi-regex/index.js +10 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/node_modules/ansi-regex/license +9 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/node_modules/ansi-regex/package.json +55 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +78 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/package.json +54 -0 collapsed to keep the page light
A node_modules/string-width-cjs/node_modules/strip-ansi/readme.md +46 -0 collapsed to keep the page light
A node_modules/string-width-cjs/package.json +56 -0 collapsed to keep the page light
A node_modules/string-width-cjs/readme.md +50 -0 collapsed to keep the page light
A node_modules/string-width/index.d.ts +29 -0 collapsed to keep the page light
A node_modules/string-width/index.js +54 -0 collapsed to keep the page light
A node_modules/string-width/license +9 -0 collapsed to keep the page light
A node_modules/string-width/package.json +59 -0 collapsed to keep the page light
A node_modules/string-width/readme.md +67 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/index.d.ts +17 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/index.js +4 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/license +9 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.d.ts +37 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +10 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +9 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +55 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/node_modules/ansi-regex/readme.md +78 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/package.json +54 -0 collapsed to keep the page light
A node_modules/strip-ansi-cjs/readme.md +46 -0 collapsed to keep the page light
A node_modules/strip-ansi/index.d.ts +15 -0 collapsed to keep the page light
A node_modules/strip-ansi/index.js +14 -0 collapsed to keep the page light
A node_modules/strip-ansi/license +9 -0 collapsed to keep the page light
A node_modules/strip-ansi/package.json +57 -0 collapsed to keep the page light
A node_modules/strip-ansi/readme.md +41 -0 collapsed to keep the page light
A node_modules/sucrase/LICENSE +21 -0 collapsed to keep the page light
A node_modules/sucrase/README.md +295 -0 collapsed to keep the page light
A node_modules/sucrase/bin/sucrase +3 -0 collapsed to keep the page light
A node_modules/sucrase/bin/sucrase-node +18 -0 collapsed to keep the page light
A node_modules/sucrase/package.json +88 -0 collapsed to keep the page light
A node_modules/sucrase/register/index.js +1 -0 collapsed to keep the page light
A node_modules/sucrase/register/js.js +1 -0 collapsed to keep the page light
A node_modules/sucrase/register/jsx.js +1 -0 collapsed to keep the page light
A node_modules/sucrase/register/ts-legacy-module-interop.js +1 -0 collapsed to keep the page light
A node_modules/sucrase/register/ts.js +1 -0 collapsed to keep the page light
A node_modules/sucrase/register/tsx-legacy-module-interop.js +1 -0 collapsed to keep the page light
A node_modules/sucrase/register/tsx.js +1 -0 collapsed to keep the page light
A node_modules/sucrase/ts-node-plugin/index.js +83 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/README.md +42 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/browser.js +3 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/index.js +9 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/package.json +70 -0 collapsed to keep the page light
A node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0 collapsed to keep the page light
A node_modules/tapable/LICENSE +21 -0 collapsed to keep the page light
A node_modules/tapable/README.md +296 -0 collapsed to keep the page light
A node_modules/tapable/lib/AsyncParallelBailHook.js +85 -0 collapsed to keep the page light
A node_modules/tapable/lib/AsyncParallelHook.js +37 -0 collapsed to keep the page light
A node_modules/tapable/lib/AsyncSeriesBailHook.js +42 -0 collapsed to keep the page light
A node_modules/tapable/lib/AsyncSeriesHook.js +37 -0 collapsed to keep the page light
A node_modules/tapable/lib/AsyncSeriesLoopHook.js +37 -0 collapsed to keep the page light
A node_modules/tapable/lib/AsyncSeriesWaterfallHook.js +47 -0 collapsed to keep the page light
A node_modules/tapable/lib/Hook.js +175 -0 collapsed to keep the page light
A node_modules/tapable/lib/HookCodeFactory.js +468 -0 collapsed to keep the page light
A node_modules/tapable/lib/HookMap.js +61 -0 collapsed to keep the page light
A node_modules/tapable/lib/MultiHook.js +54 -0 collapsed to keep the page light
A node_modules/tapable/lib/SyncBailHook.js +51 -0 collapsed to keep the page light
A node_modules/tapable/lib/SyncHook.js +46 -0 collapsed to keep the page light
A node_modules/tapable/lib/SyncLoopHook.js +46 -0 collapsed to keep the page light
A node_modules/tapable/lib/SyncWaterfallHook.js +57 -0 collapsed to keep the page light
A node_modules/tapable/lib/index.js +19 -0 collapsed to keep the page light
A node_modules/tapable/lib/util-browser.js +16 -0 collapsed to keep the page light
A node_modules/tapable/package.json +44 -0 collapsed to keep the page light
A node_modules/tapable/tapable.d.ts +116 -0 collapsed to keep the page light
A node_modules/thenify-all/History.md +11 -0 collapsed to keep the page light
A node_modules/thenify-all/LICENSE +22 -0 collapsed to keep the page light
A node_modules/thenify-all/README.md +66 -0 collapsed to keep the page light
A node_modules/thenify-all/index.js +73 -0 collapsed to keep the page light
A node_modules/thenify-all/package.json +34 -0 collapsed to keep the page light
A node_modules/thenify/History.md +11 -0 collapsed to keep the page light
A node_modules/thenify/LICENSE +22 -0 collapsed to keep the page light
A node_modules/thenify/README.md +120 -0 collapsed to keep the page light
A node_modules/thenify/index.js +77 -0 collapsed to keep the page light
A node_modules/thenify/package.json +31 -0 collapsed to keep the page light
A node_modules/to-regex-range/LICENSE +21 -0 collapsed to keep the page light
A node_modules/to-regex-range/README.md +305 -0 collapsed to keep the page light
A node_modules/to-regex-range/index.js +288 -0 collapsed to keep the page light
A node_modules/to-regex-range/package.json +88 -0 collapsed to keep the page light
A node_modules/ts-interface-checker/LICENSE +201 -0 collapsed to keep the page light
A node_modules/ts-interface-checker/README.md +185 -0 collapsed to keep the page light
A node_modules/ts-interface-checker/package.json +60 -0 collapsed to keep the page light
A node_modules/util-deprecate/History.md +16 -0 collapsed to keep the page light
A node_modules/util-deprecate/LICENSE +24 -0 collapsed to keep the page light
A node_modules/util-deprecate/README.md +53 -0 collapsed to keep the page light
A node_modules/util-deprecate/browser.js +67 -0 collapsed to keep the page light
A node_modules/util-deprecate/node.js +6 -0 collapsed to keep the page light
A node_modules/util-deprecate/package.json +27 -0 collapsed to keep the page light
A node_modules/which/CHANGELOG.md +166 -0 collapsed to keep the page light
A node_modules/which/LICENSE +15 -0 collapsed to keep the page light
A node_modules/which/README.md +54 -0 collapsed to keep the page light
A node_modules/which/bin/node-which +52 -0 collapsed to keep the page light
A node_modules/which/package.json +43 -0 collapsed to keep the page light
A node_modules/which/which.js +125 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/index.js +216 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/license +9 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.d.ts +345 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.js +163 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/ansi-styles/license +9 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/ansi-styles/package.json +56 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/ansi-styles/readme.md +152 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/index.d.ts +29 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/index.js +47 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/license +9 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex/README.md +73 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex/es2015/index.js +6 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex/es2015/text.js +6 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex/index.d.ts +23 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex/index.js +6 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex/package.json +50 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex/text.js +6 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/package.json +56 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/string-width/readme.md +50 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.d.ts +17 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +4 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +9 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/node_modules/ansi-regex/index.d.ts +37 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/node_modules/ansi-regex/index.js +10 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/node_modules/ansi-regex/license +9 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/node_modules/ansi-regex/package.json +55 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +78 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +54 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/node_modules/strip-ansi/readme.md +46 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/package.json +62 -0 collapsed to keep the page light
A node_modules/wrap-ansi-cjs/readme.md +91 -0 collapsed to keep the page light
A node_modules/wrap-ansi/index.d.ts +41 -0 collapsed to keep the page light
A node_modules/wrap-ansi/index.js +214 -0 collapsed to keep the page light
A node_modules/wrap-ansi/license +9 -0 collapsed to keep the page light
A node_modules/wrap-ansi/package.json +69 -0 collapsed to keep the page light
A node_modules/wrap-ansi/readme.md +91 -0 collapsed to keep the page light
A node_modules/yaml/LICENSE +13 -0 collapsed to keep the page light
A node_modules/yaml/README.md +169 -0 collapsed to keep the page light
A node_modules/yaml/bin.mjs +11 -0 collapsed to keep the page light
A node_modules/yaml/browser/index.js +5 -0 collapsed to keep the page light
A node_modules/yaml/browser/package.json +3 -0 collapsed to keep the page light
A node_modules/yaml/package.json +96 -0 collapsed to keep the page light
A node_modules/yaml/util.js +2 -0 collapsed to keep the page light
D package.json +0 -17 collapsed to keep the page light
M tailwind.config.js +9 -56 collapsed to keep the page light

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close