From 12fd3c04ca37143e2ac18aa5a0c688817d73133d Mon Sep 17 00:00:00 2001 From: CamZawacki Date: Wed, 20 May 2026 16:09:54 +0100 Subject: [PATCH] Added a basic homepage --- .air.toml | 4 +- cmd/admin/main.go | 4 +- cmd/web/main.go | 8 +- config/config.yaml | 4 +- docker-compose.yml | 2 +- go.mod | 13 +- go.sum | 27 +++ {pkg => internal}/context/context.go | 0 {pkg => internal}/context/context_test.go | 0 {pkg => internal}/form/form.go | 2 +- {pkg => internal}/form/form_test.go | 4 +- {pkg => internal}/form/submission.go | 2 +- {pkg => internal}/form/submission_test.go | 2 +- {pkg => internal}/handlers/admin.go | 16 +- {pkg => internal}/handlers/auth.go | 22 +-- {pkg => internal}/handlers/cache.go | 10 +- {pkg => internal}/handlers/contact.go | 10 +- {pkg => internal}/handlers/error.go | 6 +- {pkg => internal}/handlers/files.go | 10 +- {pkg => internal}/handlers/handlers.go | 2 +- {pkg => internal}/handlers/handlers_test.go | 0 {pkg => internal}/handlers/pages.go | 10 +- {pkg => internal}/handlers/pages_test.go | 2 +- {pkg => internal}/handlers/router.go | 6 +- {pkg => internal}/handlers/router_test.go | 2 +- {pkg => internal}/handlers/search.go | 8 +- {pkg => internal}/handlers/task.go | 14 +- {pkg => internal}/htmx/htmx.go | 2 +- {pkg => internal}/htmx/htmx_test.go | 4 +- {pkg => internal}/log/log.go | 2 +- {pkg => internal}/log/log_test.go | 2 +- {pkg => internal}/middleware/auth.go | 10 +- {pkg => internal}/middleware/auth_test.go | 4 +- {pkg => internal}/middleware/cache.go | 0 {pkg => internal}/middleware/cache_test.go | 2 +- {pkg => internal}/middleware/config.go | 2 +- {pkg => internal}/middleware/config_test.go | 4 +- {pkg => internal}/middleware/entity.go | 2 +- {pkg => internal}/middleware/entity_test.go | 4 +- {pkg => internal}/middleware/log.go | 2 +- {pkg => internal}/middleware/log_test.go | 4 +- .../middleware/middleware_test.go | 4 +- {pkg => internal}/middleware/session.go | 2 +- {pkg => internal}/middleware/session_test.go | 4 +- {pkg => internal}/msg/msg.go | 4 +- {pkg => internal}/msg/msg_test.go | 2 +- {pkg => internal}/pager/pager.go | 0 {pkg => internal}/pager/pager_test.go | 2 +- {pkg => internal}/redirect/redirect.go | 2 +- {pkg => internal}/redirect/redirect_test.go | 4 +- {pkg => internal}/routenames/names.go | 0 {pkg => internal}/services/auth.go | 4 +- {pkg => internal}/services/auth_test.go | 0 {pkg => internal}/services/cache.go | 0 {pkg => internal}/services/cache_test.go | 0 {pkg => internal}/services/container.go | 2 +- {pkg => internal}/services/container_test.go | 0 {pkg => internal}/services/mail.go | 2 +- {pkg => internal}/services/mail_test.go | 0 {pkg => internal}/services/services_test.go | 2 +- {pkg => internal}/services/validator.go | 0 {pkg => internal}/services/validator_test.go | 0 {pkg => internal}/session/session.go | 2 +- {pkg => internal}/session/session_test.go | 0 {pkg => internal}/tasks/example.go | 6 +- {pkg => internal}/tasks/register.go | 2 +- {pkg => internal}/tests/tests.go | 2 +- {pkg => internal}/ui/cache/cache.go | 2 +- {pkg => internal}/ui/cache/cache_test.go | 0 {pkg => internal}/ui/components/alerts.go | 6 +- {pkg => internal}/ui/components/data.go | 0 {pkg => internal}/ui/components/form.go | 4 +- {pkg => internal}/ui/components/head.go | 2 +- {pkg => internal}/ui/components/htmx.go | 2 +- {pkg => internal}/ui/components/nav.go | 23 ++- {pkg => internal}/ui/components/styles.go | 0 {pkg => internal}/ui/components/tabs.go | 0 {pkg => internal}/ui/emails/auth.go | 4 +- {pkg => internal}/ui/forms/admin_entity.go | 6 +- .../ui/forms/admin_entity_delete.go | 6 +- {pkg => internal}/ui/forms/cache.go | 8 +- {pkg => internal}/ui/forms/contact.go | 8 +- {pkg => internal}/ui/forms/file.go | 6 +- {pkg => internal}/ui/forms/forgot_password.go | 8 +- {pkg => internal}/ui/forms/login.go | 8 +- {pkg => internal}/ui/forms/register.go | 8 +- {pkg => internal}/ui/forms/reset_password.go | 6 +- {pkg => internal}/ui/forms/task.go | 8 +- {pkg => internal}/ui/icons/icons.go | 2 +- {pkg => internal}/ui/layouts/auth.go | 4 +- internal/ui/layouts/primary.go | 42 ++++ {pkg => internal}/ui/models/file.go | 0 {pkg => internal}/ui/models/post.go | 6 +- {pkg => internal}/ui/models/search_result.go | 0 {pkg => internal}/ui/pages/about.go | 8 +- {pkg => internal}/ui/pages/admin_entity.go | 10 +- {pkg => internal}/ui/pages/auth.go | 6 +- {pkg => internal}/ui/pages/cache.go | 6 +- {pkg => internal}/ui/pages/contact.go | 8 +- {pkg => internal}/ui/pages/error.go | 6 +- {pkg => internal}/ui/pages/file.go | 10 +- internal/ui/pages/home.go | 63 ++++++ {pkg => internal}/ui/pages/search.go | 6 +- {pkg => internal}/ui/pages/task.go | 8 +- {pkg => internal}/ui/request.go | 4 +- {pkg => internal}/ui/request_test.go | 6 +- {pkg => internal}/ui/ui.go | 0 {pkg => internal}/ui/ui_test.go | 0 pkg/ui/layouts/primary.go | 181 ------------------ pkg/ui/pages/home.go | 107 ----------- public/static/main.css | 4 +- public/static/me2.webp | Bin 0 -> 145726 bytes tailwind.css | 38 +++- 113 files changed, 414 insertions(+), 506 deletions(-) rename {pkg => internal}/context/context.go (100%) rename {pkg => internal}/context/context_test.go (100%) rename {pkg => internal}/form/form.go (96%) rename {pkg => internal}/form/form_test.go (92%) rename {pkg => internal}/form/submission.go (97%) rename {pkg => internal}/form/submission_test.go (96%) rename {pkg => internal}/handlers/admin.go (92%) rename {pkg => internal}/handlers/auth.go (93%) rename {pkg => internal}/handlers/cache.go (82%) rename {pkg => internal}/handlers/contact.go (78%) rename {pkg => internal}/handlers/error.go (81%) rename {pkg => internal}/handlers/files.go (82%) rename {pkg => internal}/handlers/handlers.go (93%) rename {pkg => internal}/handlers/handlers_test.go (100%) rename {pkg => internal}/handlers/pages.go (79%) rename {pkg => internal}/handlers/pages_test.go (89%) rename {pkg => internal}/handlers/router.go (92%) rename {pkg => internal}/handlers/router_test.go (97%) rename {pkg => internal}/handlers/search.go (78%) rename {pkg => internal}/handlers/task.go (74%) rename {pkg => internal}/htmx/htmx.go (98%) rename {pkg => internal}/htmx/htmx_test.go (94%) rename {pkg => internal}/log/log.go (90%) rename {pkg => internal}/log/log_test.go (85%) rename {pkg => internal}/middleware/auth.go (92%) rename {pkg => internal}/middleware/auth_test.go (97%) rename {pkg => internal}/middleware/cache.go (100%) rename {pkg => internal}/middleware/cache_test.go (89%) rename {pkg => internal}/middleware/config.go (87%) rename {pkg => internal}/middleware/config_test.go (80%) rename {pkg => internal}/middleware/entity.go (94%) rename {pkg => internal}/middleware/entity_test.go (81%) rename {pkg => internal}/middleware/log.go (97%) rename {pkg => internal}/middleware/log_test.go (95%) rename {pkg => internal}/middleware/middleware_test.go (84%) rename {pkg => internal}/middleware/session.go (88%) rename {pkg => internal}/middleware/session_test.go (82%) rename {pkg => internal}/msg/msg.go (95%) rename {pkg => internal}/msg/msg_test.go (93%) rename {pkg => internal}/pager/pager.go (100%) rename {pkg => internal}/pager/pager_test.go (96%) rename {pkg => internal}/redirect/redirect.go (97%) rename {pkg => internal}/redirect/redirect_test.go (94%) rename {pkg => internal}/routenames/names.go (100%) rename {pkg => internal}/services/auth.go (98%) rename {pkg => internal}/services/auth_test.go (100%) rename {pkg => internal}/services/cache.go (100%) rename {pkg => internal}/services/cache_test.go (100%) rename {pkg => internal}/services/container.go (99%) rename {pkg => internal}/services/container_test.go (100%) rename {pkg => internal}/services/mail.go (98%) rename {pkg => internal}/services/mail_test.go (100%) rename {pkg => internal}/services/services_test.go (92%) rename {pkg => internal}/services/validator.go (100%) rename {pkg => internal}/services/validator_test.go (100%) rename {pkg => internal}/session/session.go (91%) rename {pkg => internal}/session/session_test.go (100%) rename {pkg => internal}/tasks/example.go (90%) rename {pkg => internal}/tasks/register.go (74%) rename {pkg => internal}/tests/tests.go (97%) rename {pkg => internal}/ui/cache/cache.go (98%) rename {pkg => internal}/ui/cache/cache_test.go (100%) rename {pkg => internal}/ui/components/alerts.go (87%) rename {pkg => internal}/ui/components/data.go (100%) rename {pkg => internal}/ui/components/form.go (97%) rename {pkg => internal}/ui/components/head.go (94%) rename {pkg => internal}/ui/components/htmx.go (93%) rename {pkg => internal}/ui/components/nav.go (72%) rename {pkg => internal}/ui/components/styles.go (100%) rename {pkg => internal}/ui/components/tabs.go (100%) rename {pkg => internal}/ui/emails/auth.go (80%) rename {pkg => internal}/ui/forms/admin_entity.go (94%) rename {pkg => internal}/ui/forms/admin_entity_delete.go (75%) rename {pkg => internal}/ui/forms/cache.go (84%) rename {pkg => internal}/ui/forms/contact.go (84%) rename {pkg => internal}/ui/forms/file.go (73%) rename {pkg => internal}/ui/forms/forgot_password.go (75%) rename {pkg => internal}/ui/forms/login.go (84%) rename {pkg => internal}/ui/forms/register.go (87%) rename {pkg => internal}/ui/forms/reset_password.go (84%) rename {pkg => internal}/ui/forms/task.go (81%) rename {pkg => internal}/ui/icons/icons.go (99%) rename {pkg => internal}/ui/layouts/auth.go (85%) create mode 100644 internal/ui/layouts/primary.go rename {pkg => internal}/ui/models/file.go (100%) rename {pkg => internal}/ui/models/post.go (85%) rename {pkg => internal}/ui/models/search_result.go (100%) rename {pkg => internal}/ui/pages/about.go (90%) rename {pkg => internal}/ui/pages/admin_entity.go (89%) rename {pkg => internal}/ui/pages/auth.go (85%) rename {pkg => internal}/ui/pages/cache.go (57%) rename {pkg => internal}/ui/pages/contact.go (83%) rename {pkg => internal}/ui/pages/error.go (81%) rename {pkg => internal}/ui/pages/file.go (77%) create mode 100644 internal/ui/pages/home.go rename {pkg => internal}/ui/pages/search.go (65%) rename {pkg => internal}/ui/pages/task.go (81%) rename {pkg => internal}/ui/request.go (97%) rename {pkg => internal}/ui/request_test.go (93%) rename {pkg => internal}/ui/ui.go (100%) rename {pkg => internal}/ui/ui_test.go (100%) delete mode 100644 pkg/ui/layouts/primary.go delete mode 100644 pkg/ui/pages/home.go create mode 100644 public/static/me2.webp diff --git a/.air.toml b/.air.toml index c2953af..f1eefe4 100644 --- a/.air.toml +++ b/.air.toml @@ -9,13 +9,13 @@ tmp_dir = "tmp" delay = 1000 exclude_dir = ["assets", "tmp", "vendor", "testdata", "uploads", "dbs", "public"] exclude_file = [] - exclude_regex = ["_test.go"] + exclude_regex = ["_test.go",".go~",".html~", ".gohtml~", ".#.*"] exclude_unchanged = false follow_symlink = false full_bin = "" include_dir = [] include_ext = ["go", "tpl", "tmpl", "html", "css"] - include_file = [] + include_file = ["static/css/tailwind.css"] kill_delay = "0s" log = "build-errors.log" poll = false diff --git a/cmd/admin/main.go b/cmd/admin/main.go index 046a587..e13ca24 100644 --- a/cmd/admin/main.go +++ b/cmd/admin/main.go @@ -6,8 +6,8 @@ import ( "fmt" "os" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/services" ) // main creates a new admin user with the email passed in via the flag. diff --git a/cmd/web/main.go b/cmd/web/main.go index 7d143d7..29eed31 100644 --- a/cmd/web/main.go +++ b/cmd/web/main.go @@ -9,10 +9,10 @@ import ( "os" "os/signal" - "github.com/camzawacki/personal-site/pkg/handlers" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/tasks" + "github.com/camzawacki/personal-site/internal/handlers" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/tasks" ) func main() { diff --git a/config/config.yaml b/config/config.yaml index 06ce5e4..7510c1f 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,6 +1,6 @@ http: hostname: "" - port: 8000 + port: 8001 readTimeout: "5s" writeTimeout: "10s" idleTimeout: "2m" @@ -14,7 +14,7 @@ app: name: "Pagoda" # We manually set this rather than using the HTTP settings in order to build absolute URLs for users # since it's likely your app's HTTP settings are not identical to what is exposed by your server. - host: "http://localhost:8000" + host: "http://localhost:8001" environment: "local" # Change this on any live environments. encryptionKey: "?E(G+KbPeShVmYq3t6w9z$C&F)J@McQf" diff --git a/docker-compose.yml b/docker-compose.yml index 1c25846..8d876e0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: - PAGODA_APP_ENVIRONMENT=production - PAGODA_APP_HOST=camzalewski.com - PAGODA_HTTP_HOSTNAME=0.0.0.0 - - PAGODA_HTTP_PORT=8000 + - PAGODA_HTTP_PORT=8001 - PAGODA_APP_ENCRYPTIONKEY=${ENCRYPTION_KEY} volumes: - sqlite_data:/app/dbs diff --git a/go.mod b/go.mod index 0960776..0a5ffea 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/camzawacki/personal-site go 1.24.6 require ( - entgo.io/ent v0.14.5 + entgo.io/ent v0.14.6 github.com/PuerkitoBio/goquery v1.10.3 github.com/go-playground/validator/v10 v10.29.0 github.com/golang-jwt/jwt/v5 v5.3.0 @@ -26,8 +26,12 @@ require ( github.com/andybalholm/cascadia v1.3.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/bmatcuk/doublestar v1.3.4 // indirect + github.com/clipperhouse/displaywidth v0.6.2 // indirect + github.com/clipperhouse/stringish v0.1.1 // indirect + github.com/clipperhouse/uax29/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dolthub/maphash v0.1.0 // indirect + github.com/fatih/color v1.18.0 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/gabriel-vasile/mimetype v1.4.12 // indirect github.com/gammazero/deque v1.2.0 // indirect @@ -39,16 +43,23 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/gorilla/securecookie v1.1.2 // indirect github.com/hashicorp/hcl/v2 v2.24.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.19 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 // indirect + github.com/olekukonko/errors v1.1.0 // indirect + github.com/olekukonko/ll v0.1.4-0.20260115111900-9e59c2286df0 // indirect + github.com/olekukonko/tablewriter v1.1.3 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/sagikazarmark/locafero v0.12.0 // indirect github.com/spf13/cast v1.10.0 // indirect + github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect diff --git a/go.sum b/go.sum index 134f800..f314c55 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ ariga.io/atlas v0.38.0 h1:MwbtwVtDWJFq+ECyeTAz2ArvewDnpeiw/t/sgNdDsdo= ariga.io/atlas v0.38.0/go.mod h1:D7XMK6ei3GvfDqvzk+2VId78j77LdqHrqPOWamn51/s= entgo.io/ent v0.14.5 h1:Rj2WOYJtCkWyFo6a+5wB3EfBRP0rnx1fMk6gGA0UUe4= entgo.io/ent v0.14.5/go.mod h1:zTzLmWtPvGpmSwtkaayM2cm5m819NdM7z7tYPq3vN0U= +entgo.io/ent v0.14.6 h1:/f2696BpwuWAEEG6PVGWflg6+Inrpq4pRWuNlWz/Skk= +entgo.io/ent v0.14.6/go.mod h1:z46QBUdGC+BATwsedbDuREfSS0oSCV+csdEYlL4p73s= github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/PuerkitoBio/goquery v1.10.3 h1:pFYcNSqHxBD06Fpj/KsbStFRsgRATgnf3LeXiUkhzPo= @@ -14,10 +16,19 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0= github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= +github.com/clipperhouse/displaywidth v0.6.2 h1:ZDpTkFfpHOKte4RG5O/BOyf3ysnvFswpyYrV7z2uAKo= +github.com/clipperhouse/displaywidth v0.6.2/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o= +github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= +github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= +github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= +github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dolthub/maphash v0.1.0 h1:bsQ7JsF4FkkWyrP3oCnFJgrCUAFbFf3kOl4L/QxPDyQ= github.com/dolthub/maphash v0.1.0/go.mod h1:gkg4Ch4CdCDu5h6PMriVLawB7koZ+5ijb9puGMV50a4= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= @@ -57,6 +68,8 @@ github.com/gorilla/sessions v1.4.0 h1:kpIYOp/oi6MG/p5PgxApU8srsSw9tuFbt46Lt7auzq github.com/gorilla/sessions v1.4.0/go.mod h1:FLWm50oby91+hl7p/wRxDth9bWSuk0qVL2emc7lT5ik= github.com/hashicorp/hcl/v2 v2.24.0 h1:2QJdZ454DSsYGoaE6QheQZjtKZSUs9Nh2izTWiwQxvE= github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -74,6 +87,8 @@ github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHP github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= +github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs= github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/maypok86/otter v1.2.4 h1:HhW1Pq6VdJkmWwcZZq19BlEQkHtI8xgsQzBVXJU0nfc= @@ -82,18 +97,30 @@ github.com/mikestefanello/backlite v0.6.0 h1:kpQKxR5NGHWvtAZuR0AsEZo95g967FY9fnU github.com/mikestefanello/backlite v0.6.0/go.mod h1:gx6UKLUQY5OVXQkIm3AzNkyPn9OzoKHKuwM4JGrY4tQ= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 h1:zrbMGy9YXpIeTnGj4EljqMiZsIcE09mmF8XsD5AYOJc= +github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6/go.mod h1:rEKTHC9roVVicUIfZK7DYrdIoM0EOr8mK1Hj5s3JjH0= +github.com/olekukonko/errors v1.1.0 h1:RNuGIh15QdDenh+hNvKrJkmxxjV4hcS50Db478Ou5sM= +github.com/olekukonko/errors v1.1.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y= +github.com/olekukonko/ll v0.1.4-0.20260115111900-9e59c2286df0 h1:jrYnow5+hy3WRDCBypUFvVKNSPPCdqgSXIE9eJDD8LM= +github.com/olekukonko/ll v0.1.4-0.20260115111900-9e59c2286df0/go.mod h1:b52bVQRRPObe+yyBl0TxNfhesL0nedD4Cht0/zx55Ew= +github.com/olekukonko/tablewriter v1.1.3 h1:VSHhghXxrP0JHl+0NnKid7WoEmd9/urKRJLysb70nnA= +github.com/olekukonko/tablewriter v1.1.3/go.mod h1:9VU0knjhmMkXjnMKrZ3+L2JhhtsQ/L38BbL3CRNE8tM= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.12.0 h1:/NQhBAkUb4+fH1jivKHWusDYFjMOOKU88eegjfxfHb4= github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= diff --git a/pkg/context/context.go b/internal/context/context.go similarity index 100% rename from pkg/context/context.go rename to internal/context/context.go diff --git a/pkg/context/context_test.go b/internal/context/context_test.go similarity index 100% rename from pkg/context/context_test.go rename to internal/context/context_test.go diff --git a/pkg/form/form.go b/internal/form/form.go similarity index 96% rename from pkg/form/form.go rename to internal/form/form.go index e9e468e..7aba378 100644 --- a/pkg/form/form.go +++ b/internal/form/form.go @@ -2,7 +2,7 @@ package form import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/context" + "github.com/camzawacki/personal-site/internal/context" ) // Form represents a form that can be submitted and validated. diff --git a/pkg/form/form_test.go b/internal/form/form_test.go similarity index 92% rename from pkg/form/form_test.go rename to internal/form/form_test.go index c2a3c3e..3747fbe 100644 --- a/pkg/form/form_test.go +++ b/internal/form/form_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/form/submission.go b/internal/form/submission.go similarity index 97% rename from pkg/form/submission.go rename to internal/form/submission.go index c27acc8..42b87ff 100644 --- a/pkg/form/submission.go +++ b/internal/form/submission.go @@ -5,7 +5,7 @@ import ( "net/http" "github.com/go-playground/validator/v10" - "github.com/camzawacki/personal-site/pkg/context" + "github.com/camzawacki/personal-site/internal/context" "github.com/labstack/echo/v4" ) diff --git a/pkg/form/submission_test.go b/internal/form/submission_test.go similarity index 96% rename from pkg/form/submission_test.go rename to internal/form/submission_test.go index 6700197..d591539 100644 --- a/pkg/form/submission_test.go +++ b/internal/form/submission_test.go @@ -8,7 +8,7 @@ import ( "github.com/go-playground/validator/v10" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/services" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/handlers/admin.go b/internal/handlers/admin.go similarity index 92% rename from pkg/handlers/admin.go rename to internal/handlers/admin.go index 8fa0c47..2c7c83e 100644 --- a/pkg/handlers/admin.go +++ b/internal/handlers/admin.go @@ -11,14 +11,14 @@ import ( "github.com/mikestefanello/backlite/ui" "github.com/camzawacki/personal-site/ent" "github.com/camzawacki/personal-site/ent/admin" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/middleware" - "github.com/camzawacki/personal-site/pkg/msg" - "github.com/camzawacki/personal-site/pkg/pager" - "github.com/camzawacki/personal-site/pkg/redirect" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/middleware" + "github.com/camzawacki/personal-site/internal/msg" + "github.com/camzawacki/personal-site/internal/pager" + "github.com/camzawacki/personal-site/internal/redirect" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/ui/pages" ) type Admin struct { diff --git a/pkg/handlers/auth.go b/internal/handlers/auth.go similarity index 93% rename from pkg/handlers/auth.go rename to internal/handlers/auth.go index 88ee967..d5da88f 100644 --- a/pkg/handlers/auth.go +++ b/internal/handlers/auth.go @@ -9,17 +9,17 @@ import ( "github.com/camzawacki/personal-site/config" "github.com/camzawacki/personal-site/ent" "github.com/camzawacki/personal-site/ent/user" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/middleware" - "github.com/camzawacki/personal-site/pkg/msg" - "github.com/camzawacki/personal-site/pkg/redirect" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/ui/emails" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/middleware" + "github.com/camzawacki/personal-site/internal/msg" + "github.com/camzawacki/personal-site/internal/redirect" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/ui/emails" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/pages" ) type Auth struct { diff --git a/pkg/handlers/cache.go b/internal/handlers/cache.go similarity index 82% rename from pkg/handlers/cache.go rename to internal/handlers/cache.go index 186f228..fc5970f 100644 --- a/pkg/handlers/cache.go +++ b/internal/handlers/cache.go @@ -5,11 +5,11 @@ import ( "time" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/pages" ) type Cache struct { diff --git a/pkg/handlers/contact.go b/internal/handlers/contact.go similarity index 78% rename from pkg/handlers/contact.go rename to internal/handlers/contact.go index e9f032b..0997117 100644 --- a/pkg/handlers/contact.go +++ b/internal/handlers/contact.go @@ -5,11 +5,11 @@ import ( "github.com/go-playground/validator/v10" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/pages" ) type Contact struct { diff --git a/pkg/handlers/error.go b/internal/handlers/error.go similarity index 81% rename from pkg/handlers/error.go rename to internal/handlers/error.go index ee95923..a509320 100644 --- a/pkg/handlers/error.go +++ b/internal/handlers/error.go @@ -4,9 +4,9 @@ import ( "net/http" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/ui/pages" ) type Error struct{} diff --git a/pkg/handlers/files.go b/internal/handlers/files.go similarity index 82% rename from pkg/handlers/files.go rename to internal/handlers/files.go index ec3176c..212c7ae 100644 --- a/pkg/handlers/files.go +++ b/internal/handlers/files.go @@ -6,11 +6,11 @@ import ( "time" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/msg" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/ui/models" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/msg" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/ui/models" + "github.com/camzawacki/personal-site/internal/ui/pages" "github.com/spf13/afero" ) diff --git a/pkg/handlers/handlers.go b/internal/handlers/handlers.go similarity index 93% rename from pkg/handlers/handlers.go rename to internal/handlers/handlers.go index af9a527..4f96371 100644 --- a/pkg/handlers/handlers.go +++ b/internal/handlers/handlers.go @@ -5,7 +5,7 @@ import ( "net/http" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/services" ) var handlers []Handler diff --git a/pkg/handlers/handlers_test.go b/internal/handlers/handlers_test.go similarity index 100% rename from pkg/handlers/handlers_test.go rename to internal/handlers/handlers_test.go diff --git a/pkg/handlers/pages.go b/internal/handlers/pages.go similarity index 79% rename from pkg/handlers/pages.go rename to internal/handlers/pages.go index 5b2346e..ed00b8d 100644 --- a/pkg/handlers/pages.go +++ b/internal/handlers/pages.go @@ -4,11 +4,11 @@ import ( "fmt" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/pager" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/ui/models" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/pager" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/ui/models" + "github.com/camzawacki/personal-site/internal/ui/pages" ) type Pages struct{} diff --git a/pkg/handlers/pages_test.go b/internal/handlers/pages_test.go similarity index 89% rename from pkg/handlers/pages_test.go rename to internal/handlers/pages_test.go index 1157914..6b372ab 100644 --- a/pkg/handlers/pages_test.go +++ b/internal/handlers/pages_test.go @@ -4,7 +4,7 @@ import ( "net/http" "testing" - "github.com/camzawacki/personal-site/pkg/routenames" + "github.com/camzawacki/personal-site/internal/routenames" "github.com/stretchr/testify/assert" ) diff --git a/pkg/handlers/router.go b/internal/handlers/router.go similarity index 92% rename from pkg/handlers/router.go rename to internal/handlers/router.go index 305a06e..9bece75 100644 --- a/pkg/handlers/router.go +++ b/internal/handlers/router.go @@ -7,9 +7,9 @@ import ( "github.com/gorilla/sessions" "github.com/labstack/echo/v4" echomw "github.com/labstack/echo/v4/middleware" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/middleware" - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/middleware" + "github.com/camzawacki/personal-site/internal/services" files "github.com/camzawacki/personal-site/public" ) diff --git a/pkg/handlers/router_test.go b/internal/handlers/router_test.go similarity index 97% rename from pkg/handlers/router_test.go rename to internal/handlers/router_test.go index d23691a..d6b1b0e 100644 --- a/pkg/handlers/router_test.go +++ b/internal/handlers/router_test.go @@ -9,7 +9,7 @@ import ( "testing" "github.com/camzawacki/personal-site/config" - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/services" "github.com/PuerkitoBio/goquery" "github.com/stretchr/testify/assert" diff --git a/pkg/handlers/search.go b/internal/handlers/search.go similarity index 78% rename from pkg/handlers/search.go rename to internal/handlers/search.go index 7f4f441..7e13722 100644 --- a/pkg/handlers/search.go +++ b/internal/handlers/search.go @@ -5,10 +5,10 @@ import ( "math/rand" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/ui/models" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/ui/models" + "github.com/camzawacki/personal-site/internal/ui/pages" ) type Search struct{} diff --git a/pkg/handlers/task.go b/internal/handlers/task.go similarity index 74% rename from pkg/handlers/task.go rename to internal/handlers/task.go index f419d41..1b3fd88 100644 --- a/pkg/handlers/task.go +++ b/internal/handlers/task.go @@ -5,16 +5,16 @@ import ( "time" "github.com/mikestefanello/backlite" - "github.com/camzawacki/personal-site/pkg/msg" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/pages" + "github.com/camzawacki/personal-site/internal/msg" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/pages" "github.com/go-playground/validator/v10" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/tasks" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/tasks" ) type Task struct { diff --git a/pkg/htmx/htmx.go b/internal/htmx/htmx.go similarity index 98% rename from pkg/htmx/htmx.go rename to internal/htmx/htmx.go index 9b13790..b9563a5 100644 --- a/pkg/htmx/htmx.go +++ b/internal/htmx/htmx.go @@ -4,7 +4,7 @@ import ( "net/http" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/context" + "github.com/camzawacki/personal-site/internal/context" ) // Request headers: https://htmx.org/docs/#request-headers diff --git a/pkg/htmx/htmx_test.go b/internal/htmx/htmx_test.go similarity index 94% rename from pkg/htmx/htmx_test.go rename to internal/htmx/htmx_test.go index 5856756..57c63e1 100644 --- a/pkg/htmx/htmx_test.go +++ b/internal/htmx/htmx_test.go @@ -4,8 +4,8 @@ import ( "net/http" "testing" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" diff --git a/pkg/log/log.go b/internal/log/log.go similarity index 90% rename from pkg/log/log.go rename to internal/log/log.go index 65c2fdb..880f398 100644 --- a/pkg/log/log.go +++ b/internal/log/log.go @@ -4,7 +4,7 @@ import ( "log/slog" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/context" + "github.com/camzawacki/personal-site/internal/context" ) // Set sets a logger in the context. diff --git a/pkg/log/log_test.go b/internal/log/log_test.go similarity index 85% rename from pkg/log/log_test.go rename to internal/log/log_test.go index 69ca659..dcfe0e7 100644 --- a/pkg/log/log_test.go +++ b/internal/log/log_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" ) diff --git a/pkg/middleware/auth.go b/internal/middleware/auth.go similarity index 92% rename from pkg/middleware/auth.go rename to internal/middleware/auth.go index 26ed4a4..be3a8df 100644 --- a/pkg/middleware/auth.go +++ b/internal/middleware/auth.go @@ -6,11 +6,11 @@ import ( "strconv" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/msg" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/msg" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/services" "github.com/labstack/echo/v4" ) diff --git a/pkg/middleware/auth_test.go b/internal/middleware/auth_test.go similarity index 97% rename from pkg/middleware/auth_test.go rename to internal/middleware/auth_test.go index c6eb9f9..2d56b8d 100644 --- a/pkg/middleware/auth_test.go +++ b/internal/middleware/auth_test.go @@ -7,8 +7,8 @@ import ( "testing" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/require" diff --git a/pkg/middleware/cache.go b/internal/middleware/cache.go similarity index 100% rename from pkg/middleware/cache.go rename to internal/middleware/cache.go diff --git a/pkg/middleware/cache_test.go b/internal/middleware/cache_test.go similarity index 89% rename from pkg/middleware/cache_test.go rename to internal/middleware/cache_test.go index 8929542..7aea379 100644 --- a/pkg/middleware/cache_test.go +++ b/internal/middleware/cache_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" ) diff --git a/pkg/middleware/config.go b/internal/middleware/config.go similarity index 87% rename from pkg/middleware/config.go rename to internal/middleware/config.go index f494874..e4a8324 100644 --- a/pkg/middleware/config.go +++ b/internal/middleware/config.go @@ -3,7 +3,7 @@ package middleware import ( "github.com/labstack/echo/v4" "github.com/camzawacki/personal-site/config" - "github.com/camzawacki/personal-site/pkg/context" + "github.com/camzawacki/personal-site/internal/context" ) // Config stores the configuration in the request so it can be accessed by the ui. diff --git a/pkg/middleware/config_test.go b/internal/middleware/config_test.go similarity index 80% rename from pkg/middleware/config_test.go rename to internal/middleware/config_test.go index 97c50ce..6ae6dfd 100644 --- a/pkg/middleware/config_test.go +++ b/internal/middleware/config_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/camzawacki/personal-site/config" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/middleware/entity.go b/internal/middleware/entity.go similarity index 94% rename from pkg/middleware/entity.go rename to internal/middleware/entity.go index 782df47..adc31a2 100644 --- a/pkg/middleware/entity.go +++ b/internal/middleware/entity.go @@ -7,7 +7,7 @@ import ( "github.com/camzawacki/personal-site/ent" "github.com/camzawacki/personal-site/ent/user" - "github.com/camzawacki/personal-site/pkg/context" + "github.com/camzawacki/personal-site/internal/context" "github.com/labstack/echo/v4" ) diff --git a/pkg/middleware/entity_test.go b/internal/middleware/entity_test.go similarity index 81% rename from pkg/middleware/entity_test.go rename to internal/middleware/entity_test.go index 12bbfb2..6bf5662 100644 --- a/pkg/middleware/entity_test.go +++ b/internal/middleware/entity_test.go @@ -5,8 +5,8 @@ import ( "testing" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/middleware/log.go b/internal/middleware/log.go similarity index 97% rename from pkg/middleware/log.go rename to internal/middleware/log.go index e29f343..c14499b 100644 --- a/pkg/middleware/log.go +++ b/internal/middleware/log.go @@ -6,7 +6,7 @@ import ( "time" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/log" + "github.com/camzawacki/personal-site/internal/log" ) // SetLogger initializes a logger for the current request and stores it in the context. diff --git a/pkg/middleware/log_test.go b/internal/middleware/log_test.go similarity index 95% rename from pkg/middleware/log_test.go rename to internal/middleware/log_test.go index 7c1225e..11e1d12 100644 --- a/pkg/middleware/log_test.go +++ b/internal/middleware/log_test.go @@ -7,8 +7,8 @@ import ( "github.com/labstack/echo/v4" echomw "github.com/labstack/echo/v4/middleware" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/require" "github.com/stretchr/testify/assert" diff --git a/pkg/middleware/middleware_test.go b/internal/middleware/middleware_test.go similarity index 84% rename from pkg/middleware/middleware_test.go rename to internal/middleware/middleware_test.go index 19a4670..ed28583 100644 --- a/pkg/middleware/middleware_test.go +++ b/internal/middleware/middleware_test.go @@ -6,8 +6,8 @@ import ( "github.com/camzawacki/personal-site/config" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/services" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/services" + "github.com/camzawacki/personal-site/internal/tests" ) var ( diff --git a/pkg/middleware/session.go b/internal/middleware/session.go similarity index 88% rename from pkg/middleware/session.go rename to internal/middleware/session.go index 87d89a2..e9b9108 100644 --- a/pkg/middleware/session.go +++ b/internal/middleware/session.go @@ -4,7 +4,7 @@ import ( "github.com/gorilla/context" "github.com/gorilla/sessions" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/session" + "github.com/camzawacki/personal-site/internal/session" ) // Session sets the session storage in the request context diff --git a/pkg/middleware/session_test.go b/internal/middleware/session_test.go similarity index 82% rename from pkg/middleware/session_test.go rename to internal/middleware/session_test.go index ffb9fba..3646178 100644 --- a/pkg/middleware/session_test.go +++ b/internal/middleware/session_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/gorilla/sessions" - "github.com/camzawacki/personal-site/pkg/session" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/session" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/msg/msg.go b/internal/msg/msg.go similarity index 95% rename from pkg/msg/msg.go rename to internal/msg/msg.go index 37bd731..db70921 100644 --- a/pkg/msg/msg.go +++ b/internal/msg/msg.go @@ -3,8 +3,8 @@ package msg import ( "github.com/gorilla/sessions" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/session" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/session" ) // Type is a message type. diff --git a/pkg/msg/msg_test.go b/internal/msg/msg_test.go similarity index 93% rename from pkg/msg/msg_test.go rename to internal/msg/msg_test.go index 02c908b..2febd38 100644 --- a/pkg/msg/msg_test.go +++ b/internal/msg/msg_test.go @@ -3,7 +3,7 @@ package msg import ( "testing" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/pager/pager.go b/internal/pager/pager.go similarity index 100% rename from pkg/pager/pager.go rename to internal/pager/pager.go diff --git a/pkg/pager/pager_test.go b/internal/pager/pager_test.go similarity index 96% rename from pkg/pager/pager_test.go rename to internal/pager/pager_test.go index 62c6601..2cb3e78 100644 --- a/pkg/pager/pager_test.go +++ b/internal/pager/pager_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" ) diff --git a/pkg/redirect/redirect.go b/internal/redirect/redirect.go similarity index 97% rename from pkg/redirect/redirect.go rename to internal/redirect/redirect.go index 67c8395..15f3618 100644 --- a/pkg/redirect/redirect.go +++ b/internal/redirect/redirect.go @@ -7,7 +7,7 @@ import ( "net/url" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/htmx" + "github.com/camzawacki/personal-site/internal/htmx" ) // Redirect is a helper to perform HTTP redirects. diff --git a/pkg/redirect/redirect_test.go b/internal/redirect/redirect_test.go similarity index 94% rename from pkg/redirect/redirect_test.go rename to internal/redirect/redirect_test.go index 728b0f2..2fff7ee 100644 --- a/pkg/redirect/redirect_test.go +++ b/internal/redirect/redirect_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/htmx" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/htmx" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/routenames/names.go b/internal/routenames/names.go similarity index 100% rename from pkg/routenames/names.go rename to internal/routenames/names.go diff --git a/pkg/services/auth.go b/internal/services/auth.go similarity index 98% rename from pkg/services/auth.go rename to internal/services/auth.go index 82dedd9..891e269 100644 --- a/pkg/services/auth.go +++ b/internal/services/auth.go @@ -12,8 +12,8 @@ import ( "github.com/camzawacki/personal-site/ent" "github.com/camzawacki/personal-site/ent/passwordtoken" "github.com/camzawacki/personal-site/ent/user" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/session" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/session" "github.com/labstack/echo/v4" "golang.org/x/crypto/bcrypt" diff --git a/pkg/services/auth_test.go b/internal/services/auth_test.go similarity index 100% rename from pkg/services/auth_test.go rename to internal/services/auth_test.go diff --git a/pkg/services/cache.go b/internal/services/cache.go similarity index 100% rename from pkg/services/cache.go rename to internal/services/cache.go diff --git a/pkg/services/cache_test.go b/internal/services/cache_test.go similarity index 100% rename from pkg/services/cache_test.go rename to internal/services/cache_test.go diff --git a/pkg/services/container.go b/internal/services/container.go similarity index 99% rename from pkg/services/container.go rename to internal/services/container.go index a35dafa..e1d2b13 100644 --- a/pkg/services/container.go +++ b/internal/services/container.go @@ -15,7 +15,7 @@ import ( "github.com/mikestefanello/backlite" "github.com/camzawacki/personal-site/config" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/log" + "github.com/camzawacki/personal-site/internal/log" "github.com/spf13/afero" // Required by ent. diff --git a/pkg/services/container_test.go b/internal/services/container_test.go similarity index 100% rename from pkg/services/container_test.go rename to internal/services/container_test.go diff --git a/pkg/services/mail.go b/internal/services/mail.go similarity index 98% rename from pkg/services/mail.go rename to internal/services/mail.go index e84ed11..a574548 100644 --- a/pkg/services/mail.go +++ b/internal/services/mail.go @@ -5,7 +5,7 @@ import ( "errors" "github.com/camzawacki/personal-site/config" - "github.com/camzawacki/personal-site/pkg/log" + "github.com/camzawacki/personal-site/internal/log" "maragu.dev/gomponents" "github.com/labstack/echo/v4" diff --git a/pkg/services/mail_test.go b/internal/services/mail_test.go similarity index 100% rename from pkg/services/mail_test.go rename to internal/services/mail_test.go diff --git a/pkg/services/services_test.go b/internal/services/services_test.go similarity index 92% rename from pkg/services/services_test.go rename to internal/services/services_test.go index 0f5d916..2f01df0 100644 --- a/pkg/services/services_test.go +++ b/internal/services/services_test.go @@ -6,7 +6,7 @@ import ( "github.com/camzawacki/personal-site/config" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/tests" "github.com/labstack/echo/v4" ) diff --git a/pkg/services/validator.go b/internal/services/validator.go similarity index 100% rename from pkg/services/validator.go rename to internal/services/validator.go diff --git a/pkg/services/validator_test.go b/internal/services/validator_test.go similarity index 100% rename from pkg/services/validator_test.go rename to internal/services/validator_test.go diff --git a/pkg/session/session.go b/internal/session/session.go similarity index 91% rename from pkg/session/session.go rename to internal/session/session.go index 631b86e..65d132d 100644 --- a/pkg/session/session.go +++ b/internal/session/session.go @@ -5,7 +5,7 @@ import ( "github.com/gorilla/sessions" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/context" + "github.com/camzawacki/personal-site/internal/context" ) // ErrStoreNotFound indicates that the session store was not present in the context diff --git a/pkg/session/session_test.go b/internal/session/session_test.go similarity index 100% rename from pkg/session/session_test.go rename to internal/session/session_test.go diff --git a/pkg/tasks/example.go b/internal/tasks/example.go similarity index 90% rename from pkg/tasks/example.go rename to internal/tasks/example.go index 846e5f6..478b284 100644 --- a/pkg/tasks/example.go +++ b/internal/tasks/example.go @@ -5,10 +5,10 @@ import ( "time" "github.com/mikestefanello/backlite" - "github.com/camzawacki/personal-site/pkg/routenames" + "github.com/camzawacki/personal-site/internal/routenames" - "github.com/camzawacki/personal-site/pkg/log" - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/log" + "github.com/camzawacki/personal-site/internal/services" ) // ExampleTask is an example implementation of backlite.Task. diff --git a/pkg/tasks/register.go b/internal/tasks/register.go similarity index 74% rename from pkg/tasks/register.go rename to internal/tasks/register.go index 648b8e3..5bb393e 100644 --- a/pkg/tasks/register.go +++ b/internal/tasks/register.go @@ -1,7 +1,7 @@ package tasks import ( - "github.com/camzawacki/personal-site/pkg/services" + "github.com/camzawacki/personal-site/internal/services" ) // Register registers all task queues with the task client. diff --git a/pkg/tests/tests.go b/internal/tests/tests.go similarity index 97% rename from pkg/tests/tests.go rename to internal/tests/tests.go index 9b6e1d8..fb8a31f 100644 --- a/pkg/tests/tests.go +++ b/internal/tests/tests.go @@ -11,7 +11,7 @@ import ( "time" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/session" + "github.com/camzawacki/personal-site/internal/session" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/ui/cache/cache.go b/internal/ui/cache/cache.go similarity index 98% rename from pkg/ui/cache/cache.go rename to internal/ui/cache/cache.go index 7a2c4e1..95f365b 100644 --- a/pkg/ui/cache/cache.go +++ b/internal/ui/cache/cache.go @@ -4,7 +4,7 @@ import ( "bytes" "sync" - "github.com/camzawacki/personal-site/pkg/log" + "github.com/camzawacki/personal-site/internal/log" "maragu.dev/gomponents" ) diff --git a/pkg/ui/cache/cache_test.go b/internal/ui/cache/cache_test.go similarity index 100% rename from pkg/ui/cache/cache_test.go rename to internal/ui/cache/cache_test.go diff --git a/pkg/ui/components/alerts.go b/internal/ui/components/alerts.go similarity index 87% rename from pkg/ui/components/alerts.go rename to internal/ui/components/alerts.go index 8b41636..66c97d3 100644 --- a/pkg/ui/components/alerts.go +++ b/internal/ui/components/alerts.go @@ -1,9 +1,9 @@ package components import ( - "github.com/camzawacki/personal-site/pkg/msg" - "github.com/camzawacki/personal-site/pkg/ui" - "github.com/camzawacki/personal-site/pkg/ui/icons" + "github.com/camzawacki/personal-site/internal/msg" + "github.com/camzawacki/personal-site/internal/ui" + "github.com/camzawacki/personal-site/internal/ui/icons" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/components/data.go b/internal/ui/components/data.go similarity index 100% rename from pkg/ui/components/data.go rename to internal/ui/components/data.go diff --git a/pkg/ui/components/form.go b/internal/ui/components/form.go similarity index 97% rename from pkg/ui/components/form.go rename to internal/ui/components/form.go index 83a854e..e7ad33b 100644 --- a/pkg/ui/components/form.go +++ b/internal/ui/components/form.go @@ -1,8 +1,8 @@ package components import ( - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/ui" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/ui" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/components/head.go b/internal/ui/components/head.go similarity index 94% rename from pkg/ui/components/head.go rename to internal/ui/components/head.go index e8d6fcc..01bc043 100644 --- a/pkg/ui/components/head.go +++ b/internal/ui/components/head.go @@ -3,7 +3,7 @@ package components import ( "strings" - "github.com/camzawacki/personal-site/pkg/ui" + "github.com/camzawacki/personal-site/internal/ui" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/components/htmx.go b/internal/ui/components/htmx.go similarity index 93% rename from pkg/ui/components/htmx.go rename to internal/ui/components/htmx.go index 704859a..613e522 100644 --- a/pkg/ui/components/htmx.go +++ b/internal/ui/components/htmx.go @@ -3,7 +3,7 @@ package components import ( "fmt" - "github.com/camzawacki/personal-site/pkg/ui" + "github.com/camzawacki/personal-site/internal/ui" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/components/nav.go b/internal/ui/components/nav.go similarity index 72% rename from pkg/ui/components/nav.go rename to internal/ui/components/nav.go index c2bcc5c..5e70a69 100644 --- a/pkg/ui/components/nav.go +++ b/internal/ui/components/nav.go @@ -3,13 +3,32 @@ package components import ( "fmt" - "github.com/camzawacki/personal-site/pkg/pager" - "github.com/camzawacki/personal-site/pkg/ui" + "github.com/camzawacki/personal-site/internal/pager" + "github.com/camzawacki/personal-site/internal/ui" . "maragu.dev/gomponents" . "maragu.dev/gomponents/components" . "maragu.dev/gomponents/html" ) +func NavLink(r *ui.Request, title, routeName string, disabled bool, routeParams ...any) Node { + href := r.Path(routeName, routeParams...) + var link Node + if disabled { + link = Span( + Class("text-xl text-base-content/40"), + Text(title), + ) + } else { + link = A( + Class("text-xl hover:underline cursor-pointer"), + Href(href), + Text(title), + ) + } + return link + +} + func MenuLink(r *ui.Request, icon Node, title, routeName string, routeParams ...any) Node { href := r.Path(routeName, routeParams...) diff --git a/pkg/ui/components/styles.go b/internal/ui/components/styles.go similarity index 100% rename from pkg/ui/components/styles.go rename to internal/ui/components/styles.go diff --git a/pkg/ui/components/tabs.go b/internal/ui/components/tabs.go similarity index 100% rename from pkg/ui/components/tabs.go rename to internal/ui/components/tabs.go diff --git a/pkg/ui/emails/auth.go b/internal/ui/emails/auth.go similarity index 80% rename from pkg/ui/emails/auth.go rename to internal/ui/emails/auth.go index 06c2ae9..21f389f 100644 --- a/pkg/ui/emails/auth.go +++ b/internal/ui/emails/auth.go @@ -2,8 +2,8 @@ package emails import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/admin_entity.go b/internal/ui/forms/admin_entity.go similarity index 94% rename from pkg/ui/forms/admin_entity.go rename to internal/ui/forms/admin_entity.go index 547db5a..bbb6c61 100644 --- a/pkg/ui/forms/admin_entity.go +++ b/internal/ui/forms/admin_entity.go @@ -6,9 +6,9 @@ import ( "entgo.io/ent/schema/field" "github.com/camzawacki/personal-site/ent/admin" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/admin_entity_delete.go b/internal/ui/forms/admin_entity_delete.go similarity index 75% rename from pkg/ui/forms/admin_entity_delete.go rename to internal/ui/forms/admin_entity_delete.go index c4f65e0..90d39bd 100644 --- a/pkg/ui/forms/admin_entity_delete.go +++ b/internal/ui/forms/admin_entity_delete.go @@ -4,9 +4,9 @@ import ( "net/http" "github.com/camzawacki/personal-site/ent/admin" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/cache.go b/internal/ui/forms/cache.go similarity index 84% rename from pkg/ui/forms/cache.go rename to internal/ui/forms/cache.go index af7935a..519de63 100644 --- a/pkg/ui/forms/cache.go +++ b/internal/ui/forms/cache.go @@ -3,10 +3,10 @@ package forms import ( "net/http" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/contact.go b/internal/ui/forms/contact.go similarity index 84% rename from pkg/ui/forms/contact.go rename to internal/ui/forms/contact.go index 92f2eff..3ebba2f 100644 --- a/pkg/ui/forms/contact.go +++ b/internal/ui/forms/contact.go @@ -3,10 +3,10 @@ package forms import ( "net/http" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/file.go b/internal/ui/forms/file.go similarity index 73% rename from pkg/ui/forms/file.go rename to internal/ui/forms/file.go index a523856..3eca2da 100644 --- a/pkg/ui/forms/file.go +++ b/internal/ui/forms/file.go @@ -3,9 +3,9 @@ package forms import ( "net/http" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/forgot_password.go b/internal/ui/forms/forgot_password.go similarity index 75% rename from pkg/ui/forms/forgot_password.go rename to internal/ui/forms/forgot_password.go index 2b8bbbd..9b33bad 100644 --- a/pkg/ui/forms/forgot_password.go +++ b/internal/ui/forms/forgot_password.go @@ -3,10 +3,10 @@ package forms import ( "net/http" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/login.go b/internal/ui/forms/login.go similarity index 84% rename from pkg/ui/forms/login.go rename to internal/ui/forms/login.go index bc14626..0641622 100644 --- a/pkg/ui/forms/login.go +++ b/internal/ui/forms/login.go @@ -3,10 +3,10 @@ package forms import ( "net/http" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/register.go b/internal/ui/forms/register.go similarity index 87% rename from pkg/ui/forms/register.go rename to internal/ui/forms/register.go index 43f2800..0a83f1e 100644 --- a/pkg/ui/forms/register.go +++ b/internal/ui/forms/register.go @@ -3,10 +3,10 @@ package forms import ( "net/http" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/reset_password.go b/internal/ui/forms/reset_password.go similarity index 84% rename from pkg/ui/forms/reset_password.go rename to internal/ui/forms/reset_password.go index 3a96f13..74b7b60 100644 --- a/pkg/ui/forms/reset_password.go +++ b/internal/ui/forms/reset_password.go @@ -3,9 +3,9 @@ package forms import ( "net/http" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/forms/task.go b/internal/ui/forms/task.go similarity index 81% rename from pkg/ui/forms/task.go rename to internal/ui/forms/task.go index 7f2b610..672a563 100644 --- a/pkg/ui/forms/task.go +++ b/internal/ui/forms/task.go @@ -4,10 +4,10 @@ import ( "fmt" "net/http" - "github.com/camzawacki/personal-site/pkg/form" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/form" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/icons/icons.go b/internal/ui/icons/icons.go similarity index 99% rename from pkg/ui/icons/icons.go rename to internal/ui/icons/icons.go index 5af035d..b6b9385 100644 --- a/pkg/ui/icons/icons.go +++ b/internal/ui/icons/icons.go @@ -3,7 +3,7 @@ package icons import ( "fmt" - "github.com/camzawacki/personal-site/pkg/ui/cache" + "github.com/camzawacki/personal-site/internal/ui/cache" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/layouts/auth.go b/internal/ui/layouts/auth.go similarity index 85% rename from pkg/ui/layouts/auth.go rename to internal/ui/layouts/auth.go index efaa394..49e8e0b 100644 --- a/pkg/ui/layouts/auth.go +++ b/internal/ui/layouts/auth.go @@ -1,8 +1,8 @@ package layouts import ( - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/internal/ui/layouts/primary.go b/internal/ui/layouts/primary.go new file mode 100644 index 0000000..e0e98c5 --- /dev/null +++ b/internal/ui/layouts/primary.go @@ -0,0 +1,42 @@ +package layouts + +import ( + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" + . "maragu.dev/gomponents" + . "maragu.dev/gomponents/html" +) + +func Primary(r *ui.Request, content Node) Node { + return Doctype( + HTML( + Lang("en"), + Data("theme", "light"), + Head( + Metatags(r), + CSS(), + JS(), + ), + Body( + Nav( + Class("navbar bg-base-100 border-b border-gray-200 p-5 justify-center"), + Div( + Class("flex items-center"), + NavLink(r, "Cam Zalewaki", routenames.Home, false), + Span(Class("divider divider-horizontal")), + NavLink(r, "Writing", routenames.About, true), + Span(Class("divider divider-horizontal")), + NavLink(r, "Projects", routenames.About, true), + Span(Class("divider divider-horizontal")), + NavLink(r, "Misc", routenames.About, true), + Span(Class("divider divider-horizontal")), + NavLink(r, "About", routenames.About, true), + ), + ), + content, + HtmxListeners(r), + ), + ), + ) +} diff --git a/pkg/ui/models/file.go b/internal/ui/models/file.go similarity index 100% rename from pkg/ui/models/file.go rename to internal/ui/models/file.go diff --git a/pkg/ui/models/post.go b/internal/ui/models/post.go similarity index 85% rename from pkg/ui/models/post.go rename to internal/ui/models/post.go index 748e148..ea74f75 100644 --- a/pkg/ui/models/post.go +++ b/internal/ui/models/post.go @@ -3,9 +3,9 @@ package models import ( "fmt" - "github.com/camzawacki/personal-site/pkg/pager" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" + "github.com/camzawacki/personal-site/internal/pager" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/models/search_result.go b/internal/ui/models/search_result.go similarity index 100% rename from pkg/ui/models/search_result.go rename to internal/ui/models/search_result.go diff --git a/pkg/ui/pages/about.go b/internal/ui/pages/about.go similarity index 90% rename from pkg/ui/pages/about.go rename to internal/ui/pages/about.go index 7ce5965..cfdafef 100644 --- a/pkg/ui/pages/about.go +++ b/internal/ui/pages/about.go @@ -2,10 +2,10 @@ package pages import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/ui" - "github.com/camzawacki/personal-site/pkg/ui/cache" - . "github.com/camzawacki/personal-site/pkg/ui/components" - "github.com/camzawacki/personal-site/pkg/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui" + "github.com/camzawacki/personal-site/internal/ui/cache" + . "github.com/camzawacki/personal-site/internal/ui/components" + "github.com/camzawacki/personal-site/internal/ui/layouts" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/pages/admin_entity.go b/internal/ui/pages/admin_entity.go similarity index 89% rename from pkg/ui/pages/admin_entity.go rename to internal/ui/pages/admin_entity.go index 0024cd1..056819c 100644 --- a/pkg/ui/pages/admin_entity.go +++ b/internal/ui/pages/admin_entity.go @@ -6,11 +6,11 @@ import ( "github.com/labstack/echo/v4" "github.com/camzawacki/personal-site/ent/admin" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/layouts" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/layouts" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/pages/auth.go b/internal/ui/pages/auth.go similarity index 85% rename from pkg/ui/pages/auth.go rename to internal/ui/pages/auth.go index 2fd2c0a..c2146dc 100644 --- a/pkg/ui/pages/auth.go +++ b/internal/ui/pages/auth.go @@ -2,9 +2,9 @@ package pages import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/ui" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/layouts" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/pages/cache.go b/internal/ui/pages/cache.go similarity index 57% rename from pkg/ui/pages/cache.go rename to internal/ui/pages/cache.go index bcea2d4..a304bcf 100644 --- a/pkg/ui/pages/cache.go +++ b/internal/ui/pages/cache.go @@ -2,9 +2,9 @@ package pages import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/ui" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/layouts" ) func UpdateCache(ctx echo.Context, form *forms.Cache) error { diff --git a/pkg/ui/pages/contact.go b/internal/ui/pages/contact.go similarity index 83% rename from pkg/ui/pages/contact.go rename to internal/ui/pages/contact.go index b23456e..2730a19 100644 --- a/pkg/ui/pages/contact.go +++ b/internal/ui/pages/contact.go @@ -2,10 +2,10 @@ package pages import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/layouts" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/pages/error.go b/internal/ui/pages/error.go similarity index 81% rename from pkg/ui/pages/error.go rename to internal/ui/pages/error.go index 252513b..f2937b7 100644 --- a/pkg/ui/pages/error.go +++ b/internal/ui/pages/error.go @@ -4,9 +4,9 @@ import ( "net/http" "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - "github.com/camzawacki/personal-site/pkg/ui/layouts" + "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + "github.com/camzawacki/personal-site/internal/ui/layouts" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/pages/file.go b/internal/ui/pages/file.go similarity index 77% rename from pkg/ui/pages/file.go rename to internal/ui/pages/file.go index 79a6f5d..f947479 100644 --- a/pkg/ui/pages/file.go +++ b/internal/ui/pages/file.go @@ -2,11 +2,11 @@ package pages import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/layouts" - "github.com/camzawacki/personal-site/pkg/ui/models" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui/models" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/internal/ui/pages/home.go b/internal/ui/pages/home.go new file mode 100644 index 0000000..fa4121d --- /dev/null +++ b/internal/ui/pages/home.go @@ -0,0 +1,63 @@ +package pages + +import ( + "github.com/labstack/echo/v4" + // "github.com/camzawacki/personal-site/internal/routenames" + "github.com/camzawacki/personal-site/internal/ui" + // . "github.com/camzawacki/personal-site/internal/ui/components" + // "github.com/camzawacki/personal-site/internal/ui/icons" + "github.com/camzawacki/personal-site/internal/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui/models" + . "maragu.dev/gomponents" + . "maragu.dev/gomponents/html" +) + +func Home(ctx echo.Context, posts *models.Posts) error { + r := ui.NewRequest(ctx) + r.Metatags.Description = "This is my homepage." + r.Metatags.Keywords = []string{"Software", "Coding", "Projects", "Homepage"} + + img := Div( + Class("w-full h-full flex justify-center"), + Div( + Class("bg-blue-100 size-92 object-contain overflow-hidden rounded-4xl"), + Img( + Src(ui.StaticFile("me2.webp")), + ), + ), + ) + // tabs := cache.SetIfNotExists("pages.about.Tabs", func() Node { + + banner := Div( + Class("w-full py-4 bg-red-100 text-center text-lg"), + Text("This website is currently under construction. For an older version, see "), + A( + Class("underline"), + Href("https://camzawacki.com"), + Text("camzawacki.com"), + ), + ) + + education := Div( + Class("prose-xl"), + H2(Text("Education")), + Ul(Class("list-disc pl-3"), + Li(Text("PhD Electrical Engineering")), + Li(Text("MS Robotics")), + Li(Text("BS Mechanical Engineering & Computer Science")), + ), + ) + + content := Div( + Class("flex flex-col p-5 mx-10 gap-2"), + img, + Div(Class("w-full divider")), + banner, + Div( + Class("mx-auto w-160"), + education, + ), + ) + + return r.Render(layouts.Primary, content) +} diff --git a/pkg/ui/pages/search.go b/internal/ui/pages/search.go similarity index 65% rename from pkg/ui/pages/search.go rename to internal/ui/pages/search.go index 89426a0..8696585 100644 --- a/pkg/ui/pages/search.go +++ b/internal/ui/pages/search.go @@ -2,9 +2,9 @@ package pages import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/ui" - "github.com/camzawacki/personal-site/pkg/ui/layouts" - "github.com/camzawacki/personal-site/pkg/ui/models" + "github.com/camzawacki/personal-site/internal/ui" + "github.com/camzawacki/personal-site/internal/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui/models" . "maragu.dev/gomponents" ) diff --git a/pkg/ui/pages/task.go b/internal/ui/pages/task.go similarity index 81% rename from pkg/ui/pages/task.go rename to internal/ui/pages/task.go index eeb42df..558a934 100644 --- a/pkg/ui/pages/task.go +++ b/internal/ui/pages/task.go @@ -2,10 +2,10 @@ package pages import ( "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" - "github.com/camzawacki/personal-site/pkg/ui/forms" - "github.com/camzawacki/personal-site/pkg/ui/layouts" + "github.com/camzawacki/personal-site/internal/ui" + . "github.com/camzawacki/personal-site/internal/ui/components" + "github.com/camzawacki/personal-site/internal/ui/forms" + "github.com/camzawacki/personal-site/internal/ui/layouts" . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" ) diff --git a/pkg/ui/request.go b/internal/ui/request.go similarity index 97% rename from pkg/ui/request.go rename to internal/ui/request.go index 7c1231d..66e8e74 100644 --- a/pkg/ui/request.go +++ b/internal/ui/request.go @@ -4,8 +4,8 @@ import ( "github.com/labstack/echo/v4" "github.com/camzawacki/personal-site/config" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/htmx" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/htmx" "maragu.dev/gomponents" ) diff --git a/pkg/ui/request_test.go b/internal/ui/request_test.go similarity index 93% rename from pkg/ui/request_test.go rename to internal/ui/request_test.go index 5d8319b..1a70c3c 100644 --- a/pkg/ui/request_test.go +++ b/internal/ui/request_test.go @@ -6,9 +6,9 @@ import ( "github.com/labstack/echo/v4" "github.com/camzawacki/personal-site/config" "github.com/camzawacki/personal-site/ent" - "github.com/camzawacki/personal-site/pkg/context" - "github.com/camzawacki/personal-site/pkg/htmx" - "github.com/camzawacki/personal-site/pkg/tests" + "github.com/camzawacki/personal-site/internal/context" + "github.com/camzawacki/personal-site/internal/htmx" + "github.com/camzawacki/personal-site/internal/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "maragu.dev/gomponents" diff --git a/pkg/ui/ui.go b/internal/ui/ui.go similarity index 100% rename from pkg/ui/ui.go rename to internal/ui/ui.go diff --git a/pkg/ui/ui_test.go b/internal/ui/ui_test.go similarity index 100% rename from pkg/ui/ui_test.go rename to internal/ui/ui_test.go diff --git a/pkg/ui/layouts/primary.go b/pkg/ui/layouts/primary.go deleted file mode 100644 index 180b50e..0000000 --- a/pkg/ui/layouts/primary.go +++ /dev/null @@ -1,181 +0,0 @@ -package layouts - -import ( - "github.com/camzawacki/personal-site/ent/admin" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - "github.com/camzawacki/personal-site/pkg/ui/cache" - . "github.com/camzawacki/personal-site/pkg/ui/components" - "github.com/camzawacki/personal-site/pkg/ui/icons" - . "maragu.dev/gomponents" - . "maragu.dev/gomponents/html" -) - -func Primary(r *ui.Request, content Node) Node { - return Doctype( - HTML( - Lang("en"), - Data("theme", "dark"), - Head( - Metatags(r), - CSS(), - JS(), - ), - Body( - Div( - Class("drawer lg:drawer-open"), - Input( - ID("sidebar"), - Type("checkbox"), - Class("drawer-toggle"), - ), - Div( - Class("drawer-content flex flex-col p-7 prose-base"), - If(len(r.Title) > 0, H1(Text(r.Title))), - FlashMessages(r), - content, - Label( - For("sidebar"), - Class("btn btn-primary drawer-button lg:hidden"), - Text("Open drawer"), - ), - ), - sidebarMenu(r), - ), - searchModal(r), - HtmxListeners(r), - ), - ), - ) -} - -func search() Node { - return cache.SetIfNotExists("layout.search", func() Node { - return Div( - Class("ml-2"), - Attr("x-data", ""), - Label( - Class("input"), - icons.MagnifyingGlass(), - Input( - Type("search"), - Class("grow"), - Placeholder("Search"), - Attr("@click", "search_modal.showModal();"), - ), - ), - - ) - }) -} - -func searchModal(r *ui.Request) Node { - return cache.SetIfNotExists("layout.searchModal", func() Node { - return Dialog( - ID("search_modal"), - Class("modal"), - Div( - Class("modal-box"), - Form( - Method("dialog"), - Button( - Class("btn btn-sm btn-circle btn-ghost absolute right-2 top-2"), - Text("✕"), - ), - ), - H3( - Class("text-lg font-bold mb-2"), - Text("Search"), - ), - Input( - Attr("hx-get", r.Path(routenames.Search)), - Attr("hx-trigger", "keyup changed delay:500ms"), - Attr("hx-target", "#results"), - Name("query"), - Class("input w-full"), - Type("search"), - Placeholder("Search..."), - ), - Ul( - ID("results"), - Class("list"), - ), - ), - Form( - Method("dialog"), - Class("modal-backdrop"), - Button( - Text("close"), - ), - ), - ) - }) -} - -func sidebarMenu(r *ui.Request) Node { - header := func(text string) Node { - return Li( - Class("menu-title mt-3 uppercase"), - Span(Text(text)), - ) - } - - adminSubMenu := func() Node { - entityTypeLinks := make(Group, len(admin.GetEntityTypes())) - for _, n := range admin.GetEntityTypes() { - entityTypeLinks = append( - entityTypeLinks, - MenuLink(r, icons.PencilSquare(), n.GetName(), routenames.AdminEntityList(n.GetName())), - ) - } - - return Group{ - header("Entities"), - entityTypeLinks, - header("Monitoring"), - Li( - A( - icons.CircleStack(), - Href(r.Path(routenames.AdminTasks)), - Text("Tasks"), - Target("_blank"), - ), - ), - } - } - - return Div( - Class("drawer-side"), - Label( - For("sidebar"), - Aria("label", "close sidebar"), - Class("drawer-overlay"), - ), - Div( - Class("menu bg-base-200 text-base-content min-h-full w-80 p-4"), - Div( - Class("w-2/3 mx-auto mt-3 mb-10"), - Img( - Src(ui.StaticFile("logo.png")), - ), - ), - search(), - Ul( - HxBoost(), - header("General"), - MenuLink(r, icons.Home(), "Dashboard", routenames.Home), - MenuLink(r, icons.Info(), "About", routenames.About), - MenuLink(r, icons.Mail(), "Contact", routenames.Contact), - MenuLink(r, icons.Archive(), "Cache", routenames.Cache), - MenuLink(r, icons.CircleStack(), "Task", routenames.Task), - MenuLink(r, icons.Document(), "Files", routenames.Files), - header("Account"), - If(r.IsAuth, MenuLink(r, icons.Exit(), "Logout", routenames.Logout)), - If(!r.IsAuth, MenuLink(r, icons.Enter(), "Login", routenames.Login)), - If(!r.IsAuth, MenuLink(r, icons.UserPlus(), "Register", routenames.Register)), - If(!r.IsAuth, MenuLink(r, icons.QuestionCircle(), "Forgot password", routenames.ForgotPasswordSubmit)), - Iff(r.IsAdmin, adminSubMenu), - ), - ), - ) -} diff --git a/pkg/ui/pages/home.go b/pkg/ui/pages/home.go deleted file mode 100644 index ab9be39..0000000 --- a/pkg/ui/pages/home.go +++ /dev/null @@ -1,107 +0,0 @@ -package pages - -import ( - "github.com/labstack/echo/v4" - "github.com/camzawacki/personal-site/pkg/routenames" - "github.com/camzawacki/personal-site/pkg/ui" - . "github.com/camzawacki/personal-site/pkg/ui/components" - "github.com/camzawacki/personal-site/pkg/ui/icons" - "github.com/camzawacki/personal-site/pkg/ui/layouts" - "github.com/camzawacki/personal-site/pkg/ui/models" - . "maragu.dev/gomponents" - . "maragu.dev/gomponents/html" -) - -func Home(ctx echo.Context, posts *models.Posts) error { - r := ui.NewRequest(ctx) - r.Metatags.Description = "This is the home page." - r.Metatags.Keywords = []string{"Software", "Coding", "Go"} - - // This pages helps to illustrate the different options you can take when using HTMX to introduce interactivity - // to your web application. The following three options are available, but here, we're opting for the first one. - // 1) Highly-optimized and progressive enhancement: - // This is highly-optimized because the server is doing the least amount of work possible, only rendering - // the least amount possible based on the incoming request. It's possible that even your route handler would - // want to check the HTMX request in order to limit what it does. With HTMX, it's possible to still return a - // normal, full page, but use hx-select to pluck out only the part you want to re-render. It requires some extra - // condition checks and code but performance is improved. Progressive enhancement refers to having a fully - // functional web app, even if JS was disabled, but providing the enhancement if JS is enabled. All of these - // examples should continue to work fine without JS. - // 2) Not optimized and progressive enhancement: - // As mentioned previously, you can remove all of these conditions, re-render the entire page for every request, - // and rely on HTMX's hx-select to only replace what you want to (ie, the posts). - // 3) Optimized and partial renderings: - // You could have a separate route that is only for fetching posts while paging, and that would render only - // that partial HTML, which HTMX would then use to inject in to this page. - - headerMsg := func() Node { - return Group{ - Stats( - Stat{ - Title: "User name", - Value: func() string { - if r.IsAuth { - return r.AuthUser.Name - } - return "(not logged in)" - }(), - Description: "The logged in user's name", - Icon: icons.UserCircle(), - }, - Stat{ - Title: "Admin status", - Value: func() string { - if r.IsAdmin { - return "Administrator" - } - return "Non-administrator" - }(), - Description: "Use `make admin` to create an admin account", - Icon: icons.LockClosed(), - }, - Stat{ - Title: "GitHub Stars", - Value: "2,500+", - Description: "Star if you like Pagoda", - Icon: icons.Star(), - }, - ), - H2(Text("Recent posts")), - Span(Text("Below is an example of both paging and AJAX fetching using HTMX")), - } - } - - cards := func() Node { - return Div( - Class("flex w-full gap-2 mt-5"), - Card(CardParams{ - Title: "Serving files", - Body: Group{ - Text("In the example posts above, check how the file URL contains a cache-buster query parameter which changes only when the app is restarted. "), - Text("Static files also contain cache-control headers which are configured via middleware."), - }, - Color: ColorWarning, - Size: SizeSmall, - }), - Card(CardParams{ - Title: "Documentation", - Body: Group{ - Text("Have you read through the entire documentation? If not, you may be missing functionality or have questions. "), - }, - Footer: Group{ - ButtonLink(ColorNeutral, "https://github.com/camzawacki/personal-site?tab=readme-ov-file#table-of-contents", "Learn more"), - }, - Color: ColorNeutral, - Size: SizeSmall, - }), - ) - } - - g := Group{ - Iff(r.Htmx.Target != "posts", headerMsg), - posts.Render(r.Path(routenames.Home)), - Iff(r.Htmx.Target != "posts", cards), - } - - return r.Render(layouts.Primary, g) -} diff --git a/public/static/main.css b/public/static/main.css index cec6d1e..d488300 100644 --- a/public/static/main.css +++ b/public/static/main.css @@ -1,2 +1,2 @@ -/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-thin:100;--font-weight-semibold:600;--font-weight-bold:700;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@property --radialprogress{syntax: ""; inherits: true; initial-value: 0%;}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}:root{--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")}:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not([class*=drawer-open])>.drawer-toggle:checked){overflow:hidden}:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){scrollbar-gutter:stable;background-image:linear-gradient(var(--color-base-100),var(--color-base-100));--root-bg:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){--root-bg:color-mix(in srgb,var(--color-base-100),oklch(0% 0 0) 40%)}}:where(.modal[open],.modal-open,.modal-toggle:checked+.modal):not(.modal-start,.modal-end){scrollbar-gutter:stable}:root,[data-theme]{background-color:var(--root-bg,var(--color-base-100));color:var(--color-base-content)}:root:has(input.theme-controller[value=custom-theme]:checked),[data-theme=custom-theme]{color-scheme:normal}}@layer components;@layer utilities{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:translate .3s ease-out,visibility .3s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;overscroll-behavior:contain;z-index:999;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:hidden}.modal::backdrop{display:none}.modal.modal-open,.modal[open],.modal:target{pointer-events:auto;visibility:visible;opacity:1;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target) .modal-box{opacity:1;translate:0;scale:1}@starting-style{.modal.modal-open,.modal[open],.modal:target{visibility:hidden;opacity:0}}.drawer-side{pointer-events:none;visibility:hidden;z-index:1;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete,visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0;overflow:hidden}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:1rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));order:var(--tab-order);height:var(--tab-height);border-color:#0000;padding-inline-start:var(--tab-p);padding-inline-end:var(--tab-p);font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{content:attr(aria-label)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true]))+.tab-content{height:calc(100% - var(--tab-height) + var(--border));display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :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).menu-focus,.menu :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):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :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).menu-focus,.menu :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):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :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).menu-focus,.menu :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):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :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).menu-focus,.menu :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):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :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){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :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){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :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){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :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){outline-offset:2px;outline:2px solid #0000}}.menu :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){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth)*3px)-2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%))inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000)}}.btn{--btn-noise:var(--fx-noise)}.prose .btn{text-decoration-line:none}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible{isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0)}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){box-shadow:none}.btn:is(:disabled,[disabled],.btn-disabled){pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled){--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}@media (hover:hover){.btn:is(:disabled,[disabled],.btn-disabled):hover{pointer-events:none;background-color:var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{background-color:color-mix(in oklab,var(--color-neutral)20%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-border:#0000;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio]):after{content:attr(aria-label)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border)0;--tab-radius-ss:min(var(--radius-field),var(--tab-radius-min));--tab-radius-se:min(var(--radius-field),var(--tab-radius-min));--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border)var(--tab-p)0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color)#0000;--tab-corner-width:calc(100% + min(var(--radius-field),var(--tab-radius-min))*2);--tab-corner-height:min(var(--radius-field),var(--tab-radius-min));--tab-corner-position:top left,top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border)var(--border)0 var(--border);--tab-border-colors:var(--tab-border-color)var(--tab-border-color)#0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border))var(--border)calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--tab-grad:calc(69% - var(--border));--radius-start:radial-gradient(circle at top left,#0000 var(--tab-grad),var(--tab-border-color)calc(var(--tab-grad) + .25px),var(--tab-border-color)calc(var(--tab-grad) + var(--border)),var(--tab-bg)calc(var(--tab-grad) + var(--border) + .25px));--radius-end:radial-gradient(circle at top right,#0000 var(--tab-grad),var(--tab-border-color)calc(var(--tab-grad) + .25px),var(--tab-border-color)calc(var(--tab-grad) + var(--border)),var(--tab-bg)calc(var(--tab-grad) + var(--border) + .25px));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start),var(--radius-end);background-size:min(var(--radius-field),var(--tab-radius-min))min(var(--radius-field),var(--tab-radius-min));inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true]){--tab-border-colors:var(--tab-border-color)var(--tab-border-color)#0000 var(--tab-border-color)}.tabs-lift .tab-content{--tabcontent-margin:calc(-1*var(--border))0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list{flex-direction:column;font-size:.875rem;display:flex}.list :where(.list-row){--list-grid-cols:minmax(0,auto)1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}.list :where(.list-row):has(.list-col-grow:first-child){--list-grid-cols:1fr}.list :where(.list-row):has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row) :not(.list-col-wrap){grid-row-start:1}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border)solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content)5%,transparent)}}.input{cursor:text;border:var(--border)solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{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)*.1))inset}}.input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-block}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}.input:has(>input[disabled]),.input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]){box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.table{border-radius:var(--radius-box);text-align:left;width:100%;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot){border-top:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot){border-top:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem)*6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab,currentColor 10%,#0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor,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));background-color:currentColor;position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.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))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor,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));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.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))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border)solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;text-overflow:ellipsis;box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:1rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.select{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)*.1))inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.select{--size:calc(var(--size-field,.25rem)*10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}.select select{appearance:none;background:inherit;border-radius:inherit;border-style:none;width:calc(100% + 2.75rem);height:calc(100% - 2px);margin-inline:-1rem -1.75rem;padding-inline:1rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}.select:has(>select[disabled]),.select:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card:where(.card-border){border:var(--border)solid var(--color-base-200)}.card:where(.card-dash){border:var(--border)dashed var(--color-base-200)}.card.image-full{display:grid}.card.image-full>*{grid-row-start:1;grid-column-start:1}.card.image-full>.card-body{color:var(--color-neutral-content);position:relative}.card.image-full :where(figure){border-radius:inherit;overflow:hidden}.card.image-full>figure img{object-fit:cover;filter:brightness(28%);height:100%}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.checkbox{border:var(--border)solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border)solid var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 0 #0000 inset,0 0 #0000;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0/calc(var(--depth)*.1))inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:none}.checkbox:disabled{cursor:not-allowed;opacity:.2}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border)solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border)solid var(--input-color,color-mix(in srgb,currentColor 20%,#0000))}}.radio{box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1))inset;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor;animation:.2s ease-out radio}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px*-1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.radio:disabled{cursor:not-allowed;opacity:.2}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.absolute{position:absolute}.relative{position:relative}.static{position:static}.top-2{top:calc(var(--spacing)*2)}.right-2{right:calc(var(--spacing)*2)}.file-input{cursor:pointer;cursor:pointer;border:var(--border)solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;width:clamp(3rem,20rem,100%);height:var(--size);border-color:var(--input-color);box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));align-items:center;padding-inline-end:.75rem;font-size:.875rem;line-height:2;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.file-input{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)*.1))inset}}.file-input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.file-input::file-selector-button{cursor:pointer;webkit-user-select:none;-webkit-user-select:none;user-select:none;height:calc(100% + var(--border)*2);margin-inline-end:1rem;margin-block:calc(var(--border)*-1);color:var(--btn-fg);border-width:var(--border);border-style:solid;border-color:var(--btn-border);background-color:var(--btn-bg);background-size:calc(var(--noise)*100%);background-image:var(--btn-noise);text-shadow:0 .5px oklch(1 0 0/calc(var(--depth)*.15));box-shadow:0 .5px 0 .5px white inset,var(--btn-shadow);border-start-start-radius:calc(var(--join-ss,var(--radius-field) - var(--border)));border-end-start-radius:calc(var(--join-es,var(--radius-field) - var(--border)));margin-inline-start:calc(var(--border)*-1);padding-inline:1rem;font-size:.875rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{box-shadow:0 .5px 0 .5px color-mix(in oklab,color-mix(in oklab,white 30%,var(--btn-bg))calc(var(--depth)*20%),#0000)inset,var(--btn-shadow)}}.file-input::file-selector-button{--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-border:color-mix(in oklab,var(--btn-bg),#000 5%)}}.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)30%,#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)30%,#0000)}}.file-input::file-selector-button{--btn-noise:var(--fx-noise)}.file-input:focus{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.file-input:focus{box-shadow:0 1px color-mix(in oklab,var(--input-color)10%,#0000)}}.file-input:focus{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){box-shadow:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){color:color-mix(in oklch,var(--color-base-content)20%,#0000)}}:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::file-selector-button{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::file-selector-button{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}.hero-content{isolation:isolate;justify-content:center;align-items:center;gap:1rem;max-width:80rem;padding:1rem;display:flex}.textarea{border:var(--border)solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;touch-action:manipulation;border-color:var(--input-color);width:clamp(3rem,20rem,100%);min-height:5rem;box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem;font-size:.875rem}@supports (color:color-mix(in lab, red, red)){.textarea{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)*.1))inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:0;--tabcontent-radius-se:0;--tabcontent-radius-es:0;--tabcontent-radius-ee:0;--tabcontent-order:1;width:100%;margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.hero{background-position:50%;background-size:cover;place-items:center;width:100%;display:grid}.hero>*{grid-row-start:1;grid-column-start:1}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:95%;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.mx-auto{margin-inline:auto}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab,currentColor 60%,transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.join-item:where(:not(:first-child,:disabled,[disabled],.btn-disabled)){margin-block-start:0;margin-inline-start:calc(var(--border,1px)*-1)}.join-item:where(:is(:disabled,[disabled],.btn-disabled)){border-width:var(--border,1px)0 var(--border,1px)var(--border,1px)}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.888889em;font-size:2.25em;line-height:1.11111}.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:1em;font-size:1.5em;line-height:1.33333}.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;line-height:1.6}.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-size:.875em}.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;line-height:1.71429}.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(.prose-base>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose-base>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3em;margin-bottom:3em}.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.71429}.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.ml-2{margin-left:calc(var(--spacing)*2)}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:#0000004d}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}}.status{background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border)solid var(--badge-color,var(--color-base-200));width:fit-content;padding-inline:calc(.25rem*3 - var(--border));background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem)*10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border)dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border)dashed color-mix(in oklab,currentColor 10%,#0000)}}.stat:not(:last-child){border-block-end:none}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.alert{border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;border:var(--border)solid var(--color-base-200);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08))inset,0 1px #000,0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08));grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.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)*.08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.alert.alert-outline{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none}.alert.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.alert.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert.alert-soft{background:color-mix(in oklab,var(--alert-color,var(--color-base-content))8%,var(--color-base-100))}}.alert.alert-soft{border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert.alert-soft{border-color:color-mix(in oklab,var(--alert-color,var(--color-base-content))10%,var(--color-base-100))}}.alert.alert-soft{box-shadow:none;background-image:none}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-5{height:calc(var(--spacing)*5)}.h-24{height:calc(var(--spacing)*24)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2\/3{width:66.6667%}.w-5{width:calc(var(--spacing)*5)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-full{width:100%}.grow{flex-grow:1}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.alert-error{border-color:var(--color-error);color:var(--color-error-content);--alert-color:var(--color-error)}.alert-info{border-color:var(--color-info);color:var(--color-info-content);--alert-color:var(--color-info)}.alert-success{border-color:var(--color-success);color:var(--color-success-content);--alert-color:var(--color-success)}.alert-warning{border-color:var(--color-warning);color:var(--color-warning-content);--alert-color:var(--color-warning)}.border-base-300{border-color:var(--color-base-300)}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.bg-accent{background-color:var(--color-accent)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200{background-color:var(--color-base-200)}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary{background-color:var(--color-primary)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.menu-title{color:var(--color-base-content);padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.menu-title{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}.menu-title{font-size:.875rem;font-weight:600}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/50{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/50{color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.text-error{color:var(--color-error)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-success-content{color:var(--color-success-content)}.text-warning-content{color:var(--color-warning-content)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-fg:var(--color-primary);--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000;text-decoration-line:underline}@media (hover:none){.btn-link:hover:not(.btn-active,:active,:focus-visible,:disabled,[disabled],.btn-disabled){text-decoration-line:none}}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible):not(:disabled,[disabled],.btn-disabled){--btn-fg:currentColor;outline-color:currentColor}@media (hover:none){.btn-ghost:hover:not(.btn-active,:active,:focus-visible,:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none;--btn-fg:currentColor}}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.card-lg .card-body{--card-p:2rem;--card-fs:1rem}.card-lg .card-title{--cardtitle-fs:1.25rem}.card-md .card-body{--card-p:1.5rem;--card-fs:.875rem}.card-md .card-title{--cardtitle-fs:1.125rem}.card-sm .card-body{--card-p:1rem;--card-fs:.75rem}.card-sm .card-title{--cardtitle-fs:1rem}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}@media (min-width:64rem){.lg\:drawer-open>.drawer-side{overflow-y:auto}.lg\:drawer-open>.drawer-toggle{display:none}.lg\:drawer-open>.drawer-toggle~.drawer-side{pointer-events:auto;visibility:visible;overscroll-behavior:auto;opacity:1;width:auto;display:block;position:sticky}.lg\:drawer-open>.drawer-toggle~.drawer-side>.drawer-overlay{cursor:default;background-color:#0000}.lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] :is(.lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:0%}.lg\:drawer-open>.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible}.lg\:hidden{display:none}}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes progress{50%{background-position-x:-115%}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes dropdown{0%{opacity:0}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000} \ No newline at end of file +/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-blue-100:oklch(93.2% .032 255.585);--color-gray-200:oklch(92.8% .006 264.531);--color-black:#000;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-thin:100;--font-weight-semibold:600;--font-weight-bold:700;--radius-4xl:2rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:not(span){overflow:var(--page-overflow)}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(98% .003 60.858);--color-base-200:oklch(92% .006 60.531);--color-base-300:oklch(70% .015 60.067);--color-base-content:oklch(20% .042 265.755);--color-primary:oklch(36.6% .111 265.522);--color-primary-content:oklch(96% .029 272.314);--color-secondary:oklch(50% .095 242.749);--color-secondary-content:oklch(97% .014 254.604);--color-accent:oklch(32.8% .196 20.4);--color-accent-content:oklch(97% .021 166.113);--color-neutral:oklch(37% .044 257.287);--color-neutral-content:oklch(98% .003 247.858);--color-info:oklch(62% .107 259.815);--color-info-content:oklch(97% .014 254.604);--color-success:oklch(76% .124 130.85);--color-success-content:oklch(98% .031 120.757);--color-warning:oklch(76% .106 70.08);--color-warning-content:oklch(98% .022 95.277);--color-error:oklch(63% .145 25.331);--color-error-content:oklch(97% .013 17.38);--radius-selector:.5rem;--radius-field:.5rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1.5px;--depth:1;--noise:1}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{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) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .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) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .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) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{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) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.file-input{cursor:pointer;cursor:pointer;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;width:clamp(3rem,20rem,100%);height:var(--size);border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));align-items:center;padding-inline-end:.75rem;font-size:.875rem;line-height:2;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.file-input{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) * .1)) inset}}.file-input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.file-input::file-selector-button{cursor:pointer;webkit-user-select:none;-webkit-user-select:none;user-select:none;height:calc(100% + var(--border) * 2);margin-inline-end:1rem;margin-block:calc(var(--border) * -1);color:var(--btn-fg);border-width:var(--border);border-style:solid;border-color:var(--btn-border);background-color:var(--btn-bg);background-size:calc(var(--noise) * 100%);background-image:var(--btn-noise);text-shadow:0 .5px oklch(1 0 0 / calc(var(--depth) * .15));box-shadow:0 .5px 0 .5px white inset, var(--btn-shadow);border-start-start-radius:calc(var(--join-ss,var(--radius-field) - var(--border)));border-end-start-radius:calc(var(--join-es,var(--radius-field) - var(--border)));margin-inline-start:calc(var(--border) * -1);padding-inline:1rem;font-size:.875rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{box-shadow:0 .5px 0 .5px color-mix(in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000) inset, var(--btn-shadow)}}.file-input::file-selector-button{--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-border:color-mix(in oklab, var(--btn-bg), #000 5%)}}.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000)}}.file-input::file-selector-button{--btn-noise:var(--fx-noise)}.file-input:focus{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.file-input:focus{box-shadow:0 1px color-mix(in oklab, var(--input-color) 10%, #0000)}}.file-input:focus{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){box-shadow:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){color:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::file-selector-button{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::file-selector-button{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.hero-content{isolation:isolate;justify-content:center;align-items:center;gap:1rem;max-width:80rem;padding:1rem;display:flex}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{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) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.hero{background-position:50%;background-size:cover;place-items:center;width:100%;display:grid}.hero>*{grid-row-start:1;grid-column-start:1}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .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) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}@layer daisyui.l1.l2{.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}:where(.navbar){position:relative}.divider-horizontal{--divider-m:0 1rem}.divider-horizontal.divider{flex-direction:column;width:1rem;height:auto}.divider-horizontal.divider:before,.divider-horizontal.divider:after{width:.125rem;height:100%}:where(:not(ul,details,.menu-title,.btn)).menu-active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:where(:not(ul,details,.menu-title,.btn)).menu-active{outline-offset:2px;outline:2px solid #0000}}:where(:not(ul,details,.menu-title,.btn)).menu-active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.card-lg .card-body{--card-p:2rem;--card-fs:1rem}.card-lg .card-title{--cardtitle-fs:1.25rem}.card-md .card-body{--card-p:1.5rem;--card-fs:.875rem}.card-md .card-title{--cardtitle-fs:1.125rem}.card-sm .card-body{--card-p:1rem;--card-fs:.75rem}.card-sm .card-title{--cardtitle-fs:1rem}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}}.absolute{position:absolute}.relative{position:relative}.static{position:static}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>:where(:focus,:has(:focus)){z-index:1}@media (hover:hover){.join>:where(.btn:hover,:has(.btn:hover)){isolation:isolate}}.mx-10{margin-inline:calc(var(--spacing) * 10)}.mx-auto{margin-inline:auto}.join-item:where(:not(:first-child,:disabled,[disabled],.btn-disabled)){margin-block-start:0;margin-inline-start:calc(var(--border,1px) * -1)}.join-item:where(:is(:disabled,[disabled],.btn-disabled)){border-width:var(--border,1px) 0 var(--border,1px) var(--border,1px)}.prose-xl{font-size:1.25rem;line-height:1.8}.prose-xl :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em;margin-bottom:1.2em}.prose-xl :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1em;margin-bottom:1em;font-size:1.2em;line-height:1.5}.prose-xl :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1.06667em}.prose-xl :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.857143em;font-size:2.8em;line-height:1}.prose-xl :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.888889em;font-size:1.8em;line-height:1.11111}.prose-xl :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.666667em;font-size:1.5em;line-height:1.33333}.prose-xl :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.8em;margin-bottom:.6em;line-height:1.6}.prose-xl :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-xl :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-xl :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-xl :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-xl :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.25em;padding-inline-end:.4em;padding-bottom:.25em;border-radius:.3125rem;padding-inline-start:.4em;font-size:.9em}.prose-xl :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-xl :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.861111em}.prose-xl :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-xl :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:1.11111em;padding-inline-end:1.33333em;padding-bottom:1.11111em;border-radius:.5rem;margin-top:2em;margin-bottom:2em;padding-inline-start:1.33333em;font-size:.9em;line-height:1.77778}.prose-xl :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-xl :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em;margin-bottom:1.2em;padding-inline-start:1.6em}.prose-xl :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;margin-bottom:.6em}.prose-xl :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-xl :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.prose-xl :where(.prose-xl>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8em;margin-bottom:.8em}.prose-xl :where(.prose-xl>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose-xl>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(.prose-xl>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose-xl>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8em;margin-bottom:.8em}.prose-xl :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em;margin-bottom:1.2em}.prose-xl :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;padding-inline-start:1.6em}.prose-xl :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8em;margin-bottom:2.8em}.prose-xl :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-xl :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-xl :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-xl :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-xl :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.55556}.prose-xl :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.666667em;padding-bottom:.888889em;padding-inline-start:.666667em}.prose-xl :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-xl :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-xl :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.888889em;padding-inline-end:.666667em;padding-bottom:.888889em;padding-inline-start:.666667em}.prose-xl :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-xl :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-xl :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-xl :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-xl :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1em;font-size:.9em;line-height:1.55556}.prose-xl :where(.prose-xl>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-xl :where(.prose-xl>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-92{width:calc(var(--spacing) * 92);height:calc(var(--spacing) * 92)}.h-5{height:calc(var(--spacing) * 5)}.h-24{height:calc(var(--spacing) * 24)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-2\/3{width:66.6667%}.w-5{width:calc(var(--spacing) * 5)}.w-96{width:calc(var(--spacing) * 96)}.w-160{width:calc(var(--spacing) * 160)}.w-full{width:100%}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-base-300{border-color:var(--color-base-300)}.border-gray-200{border-color:var(--color-gray-200)}.bg-accent{background-color:var(--color-accent)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200{background-color:var(--color-base-200)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary{background-color:var(--color-primary)}.bg-red-100{background-color:var(--color-red-100)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.py-4{padding-block:calc(var(--spacing) * 4)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.text-accent-content{color:var(--color-accent-content)}.text-base-content\/40{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/40{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.text-base-content\/50{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/50{color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.text-error{color:var(--color-error)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-success-content{color:var(--color-success-content)}.text-warning-content{color:var(--color-warning-content)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}@layer daisyui.l1{.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}}.underline{text-decoration-line:underline}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}}@keyframes menu{0%{opacity:0}}@keyframes dropdown{0%{opacity:0}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes progress{50%{background-position-x:-115%}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000} \ No newline at end of file diff --git a/public/static/me2.webp b/public/static/me2.webp new file mode 100644 index 0000000000000000000000000000000000000000..f2c9f97471abcf5962c5b912d3ea65a9aff0418e GIT binary patch literal 145726 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
  • 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%0D$dwN{@xmw>VY* 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 iEeg2q1Mc&xdNY6Mcc9izX8vqyGM0PR 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 V|Nk=ZpGOe53;Hg{8~uRszX0AUM?e4o literal 0 HcmV?d00001 diff --git a/tailwind.css b/tailwind.css index fd80716..2bc1c5e 100644 --- a/tailwind.css +++ b/tailwind.css @@ -1,9 +1,43 @@ @import "tailwindcss" source(none); @plugin "@tailwindcss/typography"; -@source "./pkg/ui/**/*.{go}"; +@source "./internal/ui/**/*.{go}"; @plugin "./daisyui.js"; /* Optional for custom themes – Docs: https://daisyui.com/docs/themes/#how-to-add-a-new-custom-theme */ @plugin "./daisyui-theme.js"{ /* custom theme here */ -} \ No newline at end of file + + name: "light"; + default: false; + prefersdark: false; + color-scheme: "light"; + --color-base-100: oklch(98% 0.003 60.858); + --color-base-200: oklch(92% 0.006 60.531); + --color-base-300: oklch(70% 0.015 60.067); + --color-base-content: oklch(20% 0.042 265.755); + --color-primary: oklch(36.6% 0.111 265.522); + --color-primary-content: oklch(96% 0.029 272.314); + --color-secondary: oklch(50% 0.095 242.749); + --color-secondary-content: oklch(97% 0.014 254.604); + --color-accent: oklch(32.8% 0.196 20.400); + --color-accent-content: oklch(97% 0.021 166.113); + --color-neutral: oklch(37% 0.044 257.287); + --color-neutral-content: oklch(98% 0.003 247.858); + --color-info: oklch(62% 0.107 259.815); + --color-info-content: oklch(97% 0.014 254.604); + --color-success: oklch(76% 0.124 130.850); + --color-success-content: oklch(98% 0.031 120.757); + --color-warning: oklch(76% 0.106 70.080); + --color-warning-content: oklch(98% 0.022 95.277); + --color-error: oklch(63% 0.145 25.331); + --color-error-content: oklch(97% 0.013 17.38); + --radius-selector: 0.5rem; + --radius-field: 0.5rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1.5px; + --depth: 1; + --noise: 1; + +}